feat: Swagger 문서 전면 수정 및 ClientGroup 자동 복원 기능 추가

- CommonComponents.php: ApiResponse/ErrorResponse 글로벌 스키마 수정
  - property="status" → property="success" (boolean)
  - property="data" → property="error" (object with code/details)

- AuthApi, AdminApi, UserApi: 개별 응답 스키마 수정
  - signup(): allOf 구조로 변경
  - index(): Laravel LengthAwarePaginator 구조 적용
  - updateMe(): Member schema 참조로 변경

- PermissionApi, MaterialApi, DepartmentApi: 로컬 스키마 재정의 제거

- ClientGroupService: 삭제된 데이터 자동 복원 기능 구현
  - store(): withTrashed()로 삭제된 데이터 확인 후 restore()
  - update(): 삭제된 코드 존재 시 에러 반환

- ClientApi: client_group_id 필드 추가
  - Client, ClientCreateRequest, ClientUpdateRequest 스키마에 추가

- lang/ko/error.php, lang/en/error.php: 에러 메시지 추가
  - duplicate_code, has_clients, code_exists_in_deleted

- Swagger 문서 재생성 및 검증 완료
This commit is contained in:
2025-10-14 09:10:52 +09:00
parent b6f36cc967
commit c5ea6d189a
13 changed files with 448 additions and 318 deletions

View File

@@ -26,8 +26,8 @@
* @OA\Schema(
* schema="ApiResponse",
* type="object",
* @OA\Property(property="status", type="string", example="success"),
* @OA\Property(property="message", type="string", example="처리되었습니다."),
* @OA\Property(property="success", type="boolean", example=true),
* @OA\Property(property="message", type="string", example="요청 성공"),
* @OA\Property(property="data", nullable=true)
* )
*
@@ -98,8 +98,13 @@
* type="object",
* description="공통 에러 응답 포맷",
* @OA\Property(property="success", type="boolean", example=false),
* @OA\Property(property="message", type="string", example="에러 메시지"),
* @OA\Property(property="data", type="string", nullable=true, example=null)
* @OA\Property(property="message", type="string", example="요청 실패"),
* @OA\Property(
* property="error",
* type="object",
* @OA\Property(property="code", type="integer", example=400),
* @OA\Property(property="details", nullable=true, example=null)
* )
* )
*/
class CommonComponents {}