package com.owrawww.domain;

import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.time.LocalDateTime;

@Getter
@Setter
@NoArgsConstructor
public class Careers {

    private Long id;

    @NotBlank(message = "성명을 입력해주세요.")
    private String name;

    @NotBlank(message = "이메일을 입력해주세요.")
    @Email(message = "올바른 이메일 형식이 아닙니다.")
    private String email;

    @NotBlank(message = "연락처를 입력해주세요.")
    @Pattern(regexp = "^[0-9\\-+\\s]{7,20}$", message = "연락처 형식이 올바르지 않습니다.")
    private String tel;

    @NotBlank(message = "지원분야를 선택해주세요.")
    private String dept;

    @NotBlank(message = "제목을 입력해주세요.")
    private String title;

    @NotBlank(message = "내용을 입력해주세요.")
    private String content;

    private LocalDateTime createdAt;
    private String code;
    private String type;
    private String comment;
    private Integer topCode;
    private Integer leftCode;
    private Integer subGubun;
    private Integer depth;
    private String solutionGubun;
    private String orgFileName; // 원본 파일명 (업로드 시 클라이언트에서 전달받은 이름 확장자제외)
    private String fileName;   // 원본 파일명
    private String filePath;   // 저장 경로 (DB 기록용)
    private String fileType;   // MIME 타입 (예: application/pdf, image/jpeg 등)
    private String telHash;    // SHA-256(솔트+tel) - 검색/중복체크용
    private String emailHash;  // SHA-256(솔트+email) - 검색/중복체크용

}
