비밀번호 변경 기능 개선 및 검증 강화

- 비밀번호 변경 페이지에 확인 Dialog 추가 (로그인/거래취소)
- 비밀번호 에러 코드별 상세 메시지 처리
  * INVALID_PASSWORD, UPDATE_PASSWORD_FAIL, PREVIOUS_PASSWORD
  * MERCHANT_INFO_MATCH_PASSWORD, PASSWORD_LENGHT
  * DISALLOWED_CHARACTERS_INCLUDED, DISALLOWED_WHITE_SPACE
  * NOT_ENOUGH_COMPLEXITY, REPEATED_CHARACTER_SEQUENCE
  * COMMON_PASSWORD_DETECTED
- 비밀번호 입력 검증 로직 통합 (validatePassword)
- 이메일/전화번호 마스킹 기능 추가
- 사용자 추가 페이지 에러 처리 개선
- 다국어 메시지 추가 (한국어/영어)

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Jay Sheen
2025-11-17 20:50:53 +09:00
parent 522ccf7464
commit 2d1dd6f9e7
10 changed files with 748 additions and 128 deletions

View File

@@ -37,6 +37,23 @@ export const userCreate = async (params: UserCreateParams): Promise<UserCreateMu
};
try {
const response = await axios.post<UserCreateResponse>(API_URL_USER.userCreate(), params, options);
// 서버 응답이 성공이어도 response.data에 status: false가 있는지 확인
const responseData = response.data as any;
if (responseData?.status === false && responseData?.error) {
return {
status: false,
error: {
root: responseData.error.root || 'USER_CREATE',
errKey: responseData.error.errKey || 'UNKNOWN_ERROR',
code: responseData.error.code || '500',
message: responseData.error.message || 'Unknown error',
timestamp: responseData.error.timestamp || new Date().toISOString(),
details: responseData.error.details || {}
}
};
}
return { status: true, data: response.data };
} catch (error: any) {
return {