Commit Graph

34 Commits

Author SHA1 Message Date
f4d663ac4e feat: MaterialApi.php Swagger 점검 및 개선 (Phase 3-2)
- MaterialStoreRequest.php 생성 (검증 로직 분리)
- MaterialUpdateRequest.php 생성 (검증 로직 분리)
- MaterialApi.php 경로 수정 (/api/v1/products/materials)
- MaterialController.php Swagger 주석 제거, FormRequest 적용
- lang/ko/message.php material 메시지 키 추가
- SAM API Development Rules 준수 완료
2025-11-07 02:37:18 +09:00
977207f2fa docs: Swagger 문서 Phase 2 완료 (Auth API 점검)
- AuthApi.php 응답 형식 실제 코드와 일치화
  - logout: {success, message, data} → {message}
  - debug-apikey: description 및 응답 형식 추가

- login API 검증 완료
  - 요청/응답 스키마와 실제 코드 일치 확인
  - user, tenant, menus 구조 정확성 검증

- signup API 중복 확인
  - AuthApi.php와 RegisterApi.php 동일 엔드포인트
  - RegisterApi.php가 더 상세 (테넌트 생성 포함)

- SWAGGER_AUDIT.md 업데이트
  - Phase 2 완료 상태로 변경
  - 발견 이슈 4건 추가 (모두 해결)
2025-11-07 02:15:52 +09:00
9092ce8f93 docs: Swagger 문서 Phase 1 개선
- SAMInfo.php Auth 태그 상세화
  - 인증 흐름 설명 추가 (API Key + Bearer Token)
  - 사용 예시 코드 추가
  - IP 기반 접근 제어 안내 추가

- RegisterApi.php 보안 어노테이션 추가
  - security={"ApiKeyAuth": {}} 설정
  - "Authentication: Not Required" 오류 해결

- SWAGGER_AUDIT.md 작업 추적 문서 생성
  - Phase별 점검 계획 수립
  - 표준 체크리스트 정의
  - 진행 상황 추적 체계 구축
2025-11-06 20:54:23 +09:00
ae527f90e8 feat: 로그인 응답 메뉴에 외부 링크 정보 추가 (is_external, external_url) 2025-11-06 20:00:20 +09:00
e99d3916c1 fix: Swagger 문법 오류 수정 (빈 배열 표현) 2025-11-06 19:55:59 +09:00
410a78d336 feat: 로그인 응답에 사용자/테넌트/메뉴 정보 추가
- MemberService::getUserInfoForLogin() 메서드 추가
  - 사용자 기본 정보 (id, user_id, name, email, phone)
  - 활성 테넌트 정보 (is_default 우선 → is_active 차순)
  - 테넌트 없는 경우 null 반환
  - 추가 테넌트 목록 (other_tenants 배열)
  - 권한 기반 메뉴 필터링 (menu:{id}.view)

- 권한 체크 3단계
  - 기본 Role 권한 (model_has_permissions)
  - Override 권한 (permission_overrides, 시간 제약)
  - 우선순위: deny(-1) > allow(1) > base permission

- ApiController::login() 응답 구조 변경
  - 기존: {message, user_token}
  - 개선: {message, user_token, user, tenant, menus}

- Swagger 문서 업데이트 (AuthApi.php)
  - 테넌트 있는 경우 응답 스키마
  - 테넌트 없는 경우 응답 스키마 (null)
  - 에러 케이스 추가 (400, 401, 404)
2025-11-06 19:54:08 +09:00
cc206fdbed style: Laravel Pint 코드 포맷팅 적용
- PSR-12 스타일 가이드 준수
- 302개 파일 스타일 이슈 자동 수정
- 코드 로직 변경 없음 (포맷팅만)
2025-11-06 17:45:49 +09:00
48e76432ee 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
2025-11-06 17:24:42 +09:00
c5ea6d189a 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 문서 재생성 및 검증 완료
2025-10-14 09:10:52 +09:00
b6f36cc967 feat: ClientGroup 및 Pricing API 완성 및 Swagger 문서 작성
- ClientGroupService 구현: 고객 그룹 관리 비즈니스 로직 (CRUD + toggle)
- ClientGroupController 구현: 6개 REST API 엔드포인트
- PricingController 구현: 5개 가격 관리 API 엔드포인트
- routes/api.php에 client-groups, pricing 라우트 등록
- ClientGroupApi.php Swagger 문서 작성 (OpenAPI 3.0)
- PricingApi.php Swagger 문서 작성 (OpenAPI 3.0)
- l5-swagger 재생성 완료

추가된 파일:
- app/Services/ClientGroupService.php
- app/Http/Controllers/Api/V1/ClientGroupController.php
- app/Http/Controllers/Api/V1/PricingController.php
- app/Swagger/v1/ClientGroupApi.php
- app/Swagger/v1/PricingApi.php

수정된 파일:
- routes/api.php (라우트 11개 추가)
- CURRENT_WORKS.md (작업 내용 문서화)

API 엔드포인트:
- GET/POST/PUT/DELETE /api/v1/client-groups
- GET/POST /api/v1/pricing (show, bulk, upsert 포함)
2025-10-13 22:06:42 +09:00
a6b06be61d feat: 견적 단가 자동 적용 기능 추가
- 고객 그룹별 단가 조정 지원
- 견적 생성 시 자동 단가 조회
- 매출단가만 사용 (매입단가는 경고)
2025-10-13 21:52:34 +09:00
681acb0459 feat: Swagger 문서 업데이트 및 API 그룹화 최적화
- Settings 그룹 API 문서 추가
  * CommonController에 공통 코드 관리 CRUD 문서 작성
  * TenantFieldSettingController에 필드 설정 관리 문서 작성
  * "Settings - Common Codes", "Settings - Fields" 태그로 그룹화

- Products/Materials 통합 문서 업데이트
  * MaterialController에 "Products & Materials - Materials" 태그 적용
  * Products 그룹 내 자재 관리로 통합 구성

- Files API 완전한 Swagger 문서 추가
  * FileController에 누락되었던 전체 API 문서 작성
  * 파일 업로드/조회/삭제/정보조회 모든 엔드포인트 문서화
  * "Files" 태그로 독립적인 그룹 구성

- 새로운 에러 메시지 응답 예제 추가
  * Materials 관련: 중복 코드, 사용 중 삭제 불가, 정보 없음
  * Settings 관련: 중복 공통 코드, 필드 설정 없음, 유효하지 않은 타입
  * Files 관련: 업로드 실패, 파일 크기 초과, 지원하지 않는 형식

- 제거된 BOM 라우트 문서 정리
  * 사용하지 않는 BomApi.php 파일 삭제
  * 기본 BOM 시스템(/v1/boms) 완전 제거로 문서 정합성 확보

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 21:00:31 +09:00
eb42d11f5e feat: BOM 계산 API Swagger 문서 완성 및 오류 수정
- BomCalculationApi.php: 기존 시스템 방식 클래스 형태 Swagger 문서 작성
- BOM Calculation 태그로 5개 API 엔드포인트 완전 문서화
- 요청/응답 스키마, 예시 데이터, 오류 응답 모두 정의
- BomCalculationController.php: ApiResponse 클래스 참조 경로 수정
- App\Http\Resources\ApiResponse → App\Helpers\ApiResponse
- 테스트 데이터 생성으로 완전한 API 테스트 환경 구축

Swagger UI에서 "BOM Calculation" 메뉴로 확인 가능

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

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-24 14:40:51 +09:00
785e367472 feat: 통합 감사 로그 도입 및 조회 API/스케줄러 추가
- DB: 감사 로그 테이블(audit_logs) 마이그레이션 및 인덱스 추가
- Config: audit.php 추가(AUDIT_RETENTION_DAYS, AUDIT_LOG_READS 토글)
- Model/Service: AuditLog 모델, AuditLogger 서비스 생성
- 도메인 훅: ModelVersion.release(released), BomTemplate upsert/update/delete/replaceItems/clone 기록, diff 조회는 설정 기반 기록
- API: GET /api/v1/design/audit-logs 추가(FormRequest/Service/Controller, 필터 page/size/target_type/target_id/action/actor_id/from/to/sort/order)
- Swagger: 감사 로그 조회 문서 추가(Design Audit 태그)
- Console: audit:prune 커맨드 추가 및 스케줄러 매일 03:10 실행 등록(시스템 크론 schedule:run 필요)
- Fix: PruneAuditLogs import 충돌 제거(Google ServiceControl AuditLog 제거)
2025-09-11 14:39:55 +09:00
17fa82c35b feat: Design BOM 템플릿 diff/clone API 및 모델버전 릴리즈 유효성 검사 도입
- Design BOM 템플릿 diff/clone 엔드포인트 추가
- 컨트롤러 검증 로직 FormRequest 분리(DiffRequest/CloneRequest/Upsert/ReplaceItems)
- BomTemplateService에 diffTemplates/cloneTemplate/replaceItems/쇼우 로직 정리
- ModelVersionController createDraft FormRequest 적용 및 서비스 호출 정리
- 모델버전 release 전 유효성 검사(존재/활성/테넌트 일치, qty>0, 중복 금지) 추가
- DB enum 미사용 방침 준수(status 문자열 유지)
- model_versions 인덱스 최적화(tenant_id, model_id, status / 기간 범위)
- Swagger 문서(Design BOM) 및 i18n 메시지 키 추가
2025-09-11 13:39:32 +09:00
d9563c96cb fix : 모델, BOM 구성 수정
- 설계용 모델, BOM 기능 추가
2025-09-05 17:59:34 +09:00
622c4905fa fix : BOM구성 API, DB 작업
- product_components 컬럼 변경
- BOM 구성, 카테고리리스트, BOM트리(재귀)호출 API 개발
2025-09-02 10:08:55 +09:00
52bf8527e2 fix : 카테고리, 제품등록, BOM등록 API (일부 개발 - BOM 추가 작업 필요) 2025-08-25 17:46:34 +09:00
fe7d761bf6 fix : 분류 API 2025-08-22 19:30:05 +09:00
4b6e43ee62 fix : 카테고리 API 2025-08-22 18:08:57 +09:00
ed993476be fix : 자재관리 API (리스트,조회,등록,수정,삭제) 2025-08-21 22:28:34 +09:00
d861465276 fix : 부서,역할,유저 권한 메트릭스 조회 API 2025-08-21 20:48:39 +09:00
3ee7719cbc fix : 부서관리 기능 수정
- Route, Controller, Service, Swagger, DB 수정
- 모델 위치 이동
2025-08-21 18:38:27 +09:00
aa190bf48d fix : 테넌트별 옵션설정 작업
- Tenant Fields
- Tenant Option Groups
- Tenant Option Values
- Tenant Profiles
2025-08-18 19:03:46 +09:00
00569cf4be fix : Auth - 회원가입 추가 2025-08-18 16:37:02 +09:00
73d06e03b0 fix : 권한관리 기능 추가 (각 기능 확인 필요)
- 메뉴관리
- 역할관리
- 부서관리
- 메뉴, 부서, 역할, 유저 - 권한 연동
2025-08-16 03:25:50 +09:00
06197a1366 fix : 테넌트 관리자 사용자 API 추가
- 사용자 목록
- 사용자 생성
- 사용자 단건 조회
- 사용자 수정
- 사용자 삭제(소프트 삭제)
- 활성/비활성 전환
- 삭제 복구
- 비밀번호 초기화

- 수정필요 : 역할부여, 역할 해재
2025-08-16 03:25:42 +09:00
e9d1e42359 fix : Tenant API 추가
- 테넌트 목록 조회
- 테넌트 정보 조회
- 테넌트 정보 수정
- 테넌트 등록
- 테넌트 삭제
- 테넌트 복구
2025-08-14 17:20:28 +09:00
5a622b4137 fix : API - User 화면 개발 2025-08-14 10:30:42 +09:00
be89d149de fix : 회원 관리 API 수정 및 ApiResponse 타입 수정 2025-08-14 09:20:48 +09:00
a1916e8e50 fix : swagger문서파일 분리 2025-08-04 08:35:35 +09:00
c44bca1466 fix : 오류 발생시 json으로 값 전달 및 Swagger 문서 수정 2025-07-26 15:22:09 +09:00
97b7cd4e07 feat : API - 링크 오류 및 BearerAuth 인증 오류 수정 2025-07-24 09:20:39 +09:00
40fca3295e fix : API Version 관리 추가 - 초기에는 v1으로 개발
(cherry picked from commit 09bf8ac599)
2025-07-20 02:12:21 +09:00