package com.social.media.application.company.command;

import java.util.UUID;

/**
 * Command to update company plan.
 * Follows Command pattern for CQRS implementation.
 */
public record UpdateCompanyPlanCommand(
    UUID companyId,
    String newPlan,
    UUID updatedByUserId
) {
    
    public UpdateCompanyPlanCommand {
        if (companyId == null) {
            throw new IllegalArgumentException("Company ID cannot be null");
        }
        
        if (newPlan == null || newPlan.trim().isEmpty()) {
            throw new IllegalArgumentException("New plan cannot be null or empty");
        }
        
        if (updatedByUserId == null) {
            throw new IllegalArgumentException("Updated by user ID cannot be null");
        }
    }
}
