package com.saas.tenant.dto.request;

import com.saas.tenant.entity.DoctorStatus;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Size;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

@Data
@NoArgsConstructor
@AllArgsConstructor
public class CreateDoctorRequest {

    @NotBlank(message = "First name is required")
    private String firstName;

    @NotBlank(message = "Last name is required")
    private String lastName;

    @NotBlank(message = "Medical specialty is required")
    private String medicalSpecialty;

    private String gender;

    @NotBlank(message = "Department is required")
    private String department;

    private String languagesSpoken; // JSON array string

    private String internalCode;

    private String contractType;

    @NotNull(message = "Status is required")
    private DoctorStatus status;

    @Size(max = 2000, message = "Biography must not exceed 2000 characters")
    private String biography;

    private String medicalActsPerformed; // JSON array string

    @Email(message = "Invalid email format")
    private String email;

    private String phoneNumber;

    private String licenseNumber;
}
