package com.saas.admin.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Map;

/**
 * DTO for starting a Vapi.ai call
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class StartVapiCallDTO {
    
    @NotBlank(message = "Assistant ID is required")
    @Size(max = 200, message = "Assistant ID must be less than 200 characters")
    private String assistantId;
    
    @NotBlank(message = "Customer phone number is required")
    @Pattern(regexp = "^\\+[1-9]\\d{1,14}$", message = "Phone number must be in E.164 format (e.g., +33612345678)")
    private String customerNumber;
    
    @Size(max = 50, message = "Phone number ID must be less than 50 characters")
    private String phoneNumberId;
    
    private Map<String, Object> assistantOverrides;
}
