package com.social.media.application.campaign.command;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;

/**
 * Create Automation Campaign Command
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CreateAutomationCampaignCommand {
    private Long companyId;
    private Long socialAccountId;
    private String name;
    private String description;
    private String campaignType;
    
    // Target Configuration
    private List<String> targetUsers;
    private List<String> targetHashtags;
    private List<String> targetLocations;
    private List<String> excludeUsers;
    
    // Action Configuration
    private List<String> actions;
    private List<String> commentTemplates;
    private List<String> dmTemplates;
    private List<String> customMessages;
    private Integer actionsPerUser;
    
    // Schedule Configuration
    private LocalDateTime startDate;
    private LocalDateTime endDate;
    private Integer dailyLimit;
    private Integer hourlyLimit;
    private Integer actionsPerHour;
    private Integer delayBetweenActions;
    
    // Filter Criteria
    private Integer minFollowers;
    private Integer maxFollowers;
    private Integer accountAge;
    private Double engagementRate;
}
