From 7b5d16bfeac526f27bf6be72fae9fd2df9e82a57 Mon Sep 17 00:00:00 2001 From: ttipo Date: Tue, 6 Oct 2026 18:22:20 +0900 Subject: [PATCH] =?UTF-8?q?feat(backend):=20=EC=97=85=EC=B2=B4=20=EA=B3=84?= =?UTF-8?q?=EC=A0=95=EC=9A=A9=20=EC=97=90=EB=9F=AC=20=EC=BD=94=EB=93=9C=20?= =?UTF-8?q?=EB=93=B1=EB=A1=9D=20(ACCOUNT=5F001~003)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - ACCOUNT_001 (409): 이미 사용 중인 아이디 - ACCOUNT_002 (400): 현재 비밀번호 불일치 - ACCOUNT_003 (403): 임시 비밀번호를 바꾸기 전 실적 조회 npm run sync:error-codes 로 프론트엔드·Flutter 사전을 함께 갱신했다. Co-Authored-By: Claude Opus 5.5 --- backend/src/common/errors/error-codes.ts | 13 +++++++++++++ flutter/lib/core/api/error_lexicon.g.dart | 3 +++ .../src/shared/constants/error-codes.generated.ts | 3 +++ 3 files changed, 19 insertions(+) diff --git a/backend/src/common/errors/error-codes.ts b/backend/src/common/errors/error-codes.ts index 3e4ccef..f75b007 100644 --- a/backend/src/common/errors/error-codes.ts +++ b/backend/src/common/errors/error-codes.ts @@ -127,6 +127,19 @@ const DOMAIN_ERROR_CODES = { status: HttpStatus.CONFLICT, message: '같은 이름의 업체가 이미 있습니다.', }, + // 업체 계정 — 최고관리자가 업체마다 만들어 주는 로그인 계정 + ACCOUNT_001: { + status: HttpStatus.CONFLICT, + message: '이미 사용 중인 아이디입니다. 다른 아이디를 입력해 주세요.', + }, + ACCOUNT_002: { + status: HttpStatus.BAD_REQUEST, + message: '현재 비밀번호가 올바르지 않습니다.', + }, + ACCOUNT_003: { + status: HttpStatus.FORBIDDEN, + message: '처음 받은 임시 비밀번호를 변경한 뒤 이용해 주세요.', + }, } as const satisfies Record; export const ERROR_CODES = { diff --git a/flutter/lib/core/api/error_lexicon.g.dart b/flutter/lib/core/api/error_lexicon.g.dart index e81742c..1e95cbe 100644 --- a/flutter/lib/core/api/error_lexicon.g.dart +++ b/flutter/lib/core/api/error_lexicon.g.dart @@ -22,6 +22,9 @@ const Map kErrorCodeMessages = { 'PARTNER_002': '링크가 발급된 업체는 삭제할 수 없습니다. 실적 기록을 지키기 위해 링크를 중지해 주세요.', 'PARTNER_003': '이동 주소는 우리 아임웹 사이트 안의 주소여야 합니다.', 'PARTNER_004': '같은 이름의 업체가 이미 있습니다.', + 'ACCOUNT_001': '이미 사용 중인 아이디입니다. 다른 아이디를 입력해 주세요.', + 'ACCOUNT_002': '현재 비밀번호가 올바르지 않습니다.', + 'ACCOUNT_003': '처음 받은 임시 비밀번호를 변경한 뒤 이용해 주세요.', }; /// 매핑 실패 시 사용하는 폴백 코드 diff --git a/frontend/src/shared/constants/error-codes.generated.ts b/frontend/src/shared/constants/error-codes.generated.ts index 4fae529..fbc2241 100644 --- a/frontend/src/shared/constants/error-codes.generated.ts +++ b/frontend/src/shared/constants/error-codes.generated.ts @@ -22,6 +22,9 @@ export const ERROR_CODE_MESSAGES = { PARTNER_002: '링크가 발급된 업체는 삭제할 수 없습니다. 실적 기록을 지키기 위해 링크를 중지해 주세요.', PARTNER_003: '이동 주소는 우리 아임웹 사이트 안의 주소여야 합니다.', PARTNER_004: '같은 이름의 업체가 이미 있습니다.', + ACCOUNT_001: '이미 사용 중인 아이디입니다. 다른 아이디를 입력해 주세요.', + ACCOUNT_002: '현재 비밀번호가 올바르지 않습니다.', + ACCOUNT_003: '처음 받은 임시 비밀번호를 변경한 뒤 이용해 주세요.', } as const export type ErrorCode = keyof typeof ERROR_CODE_MESSAGES