feat: 회원가입 + 테넌트 생성 통합 API 추가 (/api/v1/register)
- 사용자 등록 + 테넌트 생성 + 시스템 관리자 권한 자동 부여 - 사업자번호 조건부 검증 (active 테넌트만 unique) - 글로벌 메뉴 자동 복제 (parent_id 매핑 알고리즘) - DB 트랜잭션으로 전체 프로세스 원자성 보장 추가: - RegisterRequest: FormRequest 검증 (conditional unique) - RegisterService: 9-step 통합 비즈니스 로직 - RegisterController: ApiResponse::handle() 패턴 - RegisterApi: 완전한 Swagger 문서 수정: - MenusStep: 글로벌 메뉴 복제 로직 구현 - message.php: 'registered' 키 추가 - error.php: 4개 에러 메시지 추가 - routes/api.php: POST /api/v1/register 라우트 SAM API Rules 준수: - Service-First, FormRequest, i18n, Swagger, DB Transaction
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
<?php
|
||||
|
||||
/**
|
||||
* 시스템/도메인 에러 메시지 (클라이언트 피드백용 고정 문자열)
|
||||
* - DB 데이터 아님
|
||||
@@ -8,22 +9,26 @@
|
||||
return [
|
||||
|
||||
// 4xx 공통
|
||||
'not_found' => '존재하지 않는 URI 또는 데이터입니다.', // 404 일반
|
||||
'tenant_id' => '활성 테넌트가 없습니다.', // 400 (Service::tenantId() 미설정)
|
||||
'not_found' => '존재하지 않는 URI 또는 데이터입니다.', // 404 일반
|
||||
'tenant_id' => '활성 테넌트가 없습니다.', // 400 (Service::tenantId() 미설정)
|
||||
'unauthenticated' => '인증에 실패했습니다.', // 401
|
||||
'forbidden' => '요청에 대한 권한이 없습니다.', // 403
|
||||
'forbidden' => '요청에 대한 권한이 없습니다.', // 403
|
||||
'bad_request' => '잘못된 요청입니다.', // 400 (검증 외 일반 케이스)
|
||||
|
||||
// 검증/파라미터
|
||||
'validation_failed' => '요청 데이터 검증에 실패했습니다.', // 422
|
||||
'missing_parameter' => '필수 파라미터가 누락되었습니다.', // 400
|
||||
'business_num_format' => '사업자등록번호 형식이 올바르지 않습니다 (000-00-00000)',
|
||||
'business_num_duplicate_active' => '이미 등록된 사업자등록번호입니다 (정식 서비스 업체)',
|
||||
'user_id_format' => '아이디는 영문, 숫자, _, - 만 사용할 수 있습니다',
|
||||
'phone_format' => '전화번호 형식이 올바르지 않습니다',
|
||||
|
||||
// 리소스별 (선택: :resource 자리표시자 사용)
|
||||
'not_found_resource' => ':resource 정보를 찾을 수 없습니다.', // 예: __('error.not_found_resource', ['resource' => '제품'])
|
||||
|
||||
// 비즈니스 규칙
|
||||
'duplicate' => '중복된 데이터가 존재합니다.',
|
||||
'conflict' => '요청이 현재 상태와 충돌합니다.', // 409
|
||||
'duplicate' => '중복된 데이터가 존재합니다.',
|
||||
'conflict' => '요청이 현재 상태와 충돌합니다.', // 409
|
||||
'state_invalid' => '현재 상태에서는 처리할 수 없습니다.', // 409/400
|
||||
|
||||
// 서버 오류
|
||||
|
||||
Reference in New Issue
Block a user