package com.social.media.application.socialaccount.command;

import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Size;

import java.util.Map;

/**
 * Command to update an existing social account
 */
public record UpdateSocialAccountCommand(
    @NotBlank(message = "Social account ID is required")
    String socialAccountId,
    
    @Size(max = 255, message = "Display name cannot exceed 255 characters")
    String displayName,
    
    @Size(max = 500, message = "Bio cannot exceed 500 characters")
    String bio,
    
    @Size(max = 255, message = "Location cannot exceed 255 characters")
    String location,
    
    @Size(max = 500, message = "Website cannot exceed 500 characters")
    String website,
    
    @Size(max = 1000, message = "Profile photo URL cannot exceed 1000 characters")
    String profilePhotoUrl,
    
    @Size(max = 20, message = "Contact phone cannot exceed 20 characters")
    String contactPhone,
    
    @Email(message = "Contact email must be valid")
    @Size(max = 320, message = "Contact email cannot exceed 320 characters")
    String contactEmail,
    
    @Size(max = 100, message = "Category cannot exceed 100 characters")
    String category,
    
    Map<String, Object> automationConfig,
    
    String responsibleUserId
) {}

