package com.social.media.domain.campaign.valueobject;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * Action Configuration Value Object
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class ActionConfiguration {
    private List<ActionType> allowedActions;
    private ActionSequence actionSequence;
    private Integer actionsPerUser;
    private List<String> commentTemplates;
    private List<String> dmTemplates;
    private List<String> customMessages;
    
    @Data
    @Builder
    @NoArgsConstructor
    @AllArgsConstructor
    public static class ActionSequence {
        private List<ActionType> sequence;
        private Integer delayBetweenActions;
        private Boolean randomOrder;
    }
    
    public boolean hasCommentTemplates() {
        return commentTemplates != null && !commentTemplates.isEmpty();
    }
    
    public boolean hasDmTemplates() {
        return dmTemplates != null && !dmTemplates.isEmpty();
    }
    
    public boolean hasCustomMessages() {
        return customMessages != null && !customMessages.isEmpty();
    }
}
