사용자 계정 관리 기능 구현 및 API 오류 수정

- 사용자 로그인 인증정보 관리 기능 구현 (이메일/휴대폰 추가/삭제)
- 사용자 추가 기능 구현 (실시간 ID 중복 검증 포함)
- 사용자 목록 조회 기능 구현
- API 엔드포인트 오류 수정 (userExistsUserid: GET → POST, URL 경로 수정)
- TypeScript 타입 오류 수정 (UseQueryOptions, UserCreateParams/Response)
- 이메일/휴대폰 형식 검증 및 중복 방지 로직 추가

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Jay Sheen
2025-09-25 09:10:38 +09:00
parent 3f404366cb
commit 5e1f24c8b8
18 changed files with 1148 additions and 207 deletions

View File

@@ -12,6 +12,8 @@ export enum AccountUserTabKeys {
export interface AccountUserTabProps {
activeTab: AccountUserTabKeys;
tid: string;
mid?: string;
usrid?: string;
};
export interface AuthItem {
useYn?: boolean;
@@ -19,13 +21,16 @@ export interface AuthItem {
tid?: string;
};
export interface UserManageAuthListProps {
authItems: Array<AuthItem>
userItems: Array<any>;
mid: string;
};
export interface UserManageAuthItemProps extends AuthItem {
usrid?: string;
mid?: string;
};
export interface UserLoginAuthInfoWrapProps {
tid: string;
mid: string;
usrid: string;
};
export interface UserAccountAuthWrapProps {
tid: string;
@@ -40,4 +45,72 @@ export interface UserAccountAuthPermListProps {
};
export interface UserAccountAuthPermItemProps extends PermItem {
tid: string;
};
};
export interface VerificationItem {
type: string;
contact: string;
}
export interface UserCreateRequest {
mid: string;
usrid: string;
password?: string;
loginRange: string;
verifications: Array<VerificationItem>;
}
export interface UserCreateResponse {
status: boolean;
error?: {
root: string;
errKey: string;
code: string;
message: string;
timestamp: string;
details: Record<string, string>;
};
data?: {
user: {
usrid: string;
mid: string;
gid: string;
aid: string;
pw: string;
authCd: string;
status: string;
regDt: string;
memo: string;
changeDt: string;
failCnt: number;
oldPw1: string;
oldPw2: string;
oldPw3: string;
oldPw4: string;
worker: string;
loginCd: string;
pwWorkIp: string;
pwCheckYn: string;
loginFailDt: string;
loginFailTm: string;
loginFailIp: string;
desaYn: string;
desaAccType: string;
desaAccIp: string;
desaProcType: string;
desaFormat: string;
desaSvcCl: string;
emailAuth1: string;
emailAuth2: string;
emailAuth3: string;
authDt: string;
authTm: string;
userAidGroupYn: string;
userAidGroupId: string;
subNm: string;
subLevel: string;
multiAccessYn: string;
duplicateAccessYn: string;
};
};
}