package com.social.media.application.socialaccount.command;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;

import java.time.LocalDateTime;
import java.util.List;

/**
 * Command to connect a new social account
 */
public record ConnectSocialAccountCommand(
    @NotBlank(message = "User ID is required")
    String userId,
    
    @NotBlank(message = "Company ID is required")
    String companyId,
    
    @NotBlank(message = "Social network ID is required")
    String socialNetworkId,
    
    @NotBlank(message = "Username is required")
    @Size(max = 100, message = "Username must not exceed 100 characters")
    String username,
    
    @NotBlank(message = "Access token is required")
    String accessToken,
    
    String refreshToken,
    
    String tokenType,
    
    LocalDateTime expiresAt,
    
    List<String> scope
) {}

