package com.saas.admin.dto;

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

import java.util.Map;

/**
 * DTO for updating an existing Vapi.ai assistant
 * All fields are optional (PATCH semantics)
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class UpdateVapiAssistantDTO {
    
    @Size(max = 200, message = "Name must be less than 200 characters")
    private String name;
    
    @Size(max = 100, message = "Model must be less than 100 characters")
    private String model;
    
    @Size(max = 100, message = "Voice must be less than 100 characters")
    private String voice;
    
    @Size(max = 5000, message = "Prompt must be less than 5000 characters")
    private String prompt;
    
    @Size(max = 500, message = "First message must be less than 500 characters")
    private String firstMessage;
    
    @Size(max = 500, message = "Server URL must be less than 500 characters")
    private String serverUrl;
    
    @Size(max = 200, message = "Server URL secret must be less than 200 characters")
    private String serverUrlSecret;
    
    private Map<String, Object> config;
    
    @Size(max = 50, message = "Status must be less than 50 characters")
    private String status;
}
