package com.zioinfo.kintex.auth.dto;

import com.zioinfo.kintex.auth.EventRole;

import java.util.Map;

/**
 * {@code GET /api/auth/me} 응답 — 기존 {@code KintexPrincipal} 필드의 <b>상위집합</b>(순증).
 * 웹은 기존 필드(userId·displayName·eventRoles·hallManager·roleCode·tenantId)를 그대로 읽고(회귀 0),
 * 모바일 {@code MePrincipal} 은 email·phone·deptId·photoUrl 순증 필드를 표시에 사용한다.
 * 민감 컬럼(password_hash·otp_secret)은 절대 포함하지 않는다(계약 §0-3).
 *
 * @param photoUrl 프로필 사진이 있으면 서빙 URL, 없으면 null(모바일 이니셜 폴백).
 */
public record MeResponse(
        String userId,
        String displayName,
        Map<String, EventRole> eventRoles,
        boolean hallManager,
        String roleCode,
        String tenantId,
        String email,
        String phone,
        String deptId,
        String photoUrl
) {
}
