package com.zioinfo.kintex.auth.dto;

import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.Pattern;
import jakarta.validation.constraints.Size;

/**
 * 마이페이지 프로필 수정 요청(SCR-48). <b>서버 화이트리스트</b>: displayName·phone 만 수정 가능하다.
 * 이메일(로그인 식별자)·부서·역할은 이 경로로 변경할 수 없다(계약 §0-3 · 관리자/조직 관리 소관).
 * userId 는 항상 인증 principal 에서 온다(요청 본문 미수용).
 */
public record ProfileUpdateRequest(
        @NotBlank @Size(min = 1, max = 120) String displayName,
        // 선택 — 숫자/하이픈/공백/괄호/+ 만 허용(형식 관대, 빈 값이면 연락처 삭제).
        @Size(max = 40) @Pattern(regexp = "^[0-9+()\\-\\s]*$", message = "연락처 형식이 올바르지 않습니다.") String phone
) {
}
