namespace Application.Abstractions.Kyc;
///
/// NICE 통합인증 access_token 발급 응답.
/// access_token 자체는 캐시 내부에서만 사용. ticket / iterators 는 result 복호화 시 KDF 입력.
///
public sealed record NiceTokenInfo(
string AccessToken,
string Ticket,
int Iterators,
DateTimeOffset ExpiresAt);
///
/// NICE 인증 URL 발급 응답 — 표준창에 띄울 URL + 이후 result 호출에 필요한 값들.
/// RequestNo / Ticket / Iterators 는 result 호출 시 동일 값 사용 — NiceAuthSession 에 row 단위 보관.
///
public sealed record NiceUrlInfo(
string AuthUrl,
string TransactionId,
string RequestNo,
string Ticket,
int Iterators);
///
/// NICE 인증 결과 복호화 후 사용자 정보.
/// 가이드 §2-3 의 enc_data 평문 JSON 과 1:1 매핑.
/// 휴대폰 인증이 아닐 경우 MobileCo / MobileNo 는 null.
///
public sealed record NiceUserInfo(
string Name,
string Birthdate,
string Gender,
string NationalInfo,
string Ci,
string? Ci2,
string Di,
string? MobileCo,
string? MobileNo);