docs: CURRENT_WORKS.md 작업 현황 업데이트
This commit is contained in:
@@ -1,5 +1,91 @@
|
||||
# SAM API 작업 현황
|
||||
|
||||
## 2025-11-27 (수) - ItemMaster API group_id(계층번호) 추가 및 Swagger 보완
|
||||
|
||||
### 작업 목표
|
||||
- FormRequest에 누락된 `group_id` 필드 추가
|
||||
- Swagger 스키마에 `group_id` description="계층번호" 추가
|
||||
- API 문서 정확도 개선
|
||||
|
||||
### 배경
|
||||
- `POST /api/v1/item-master/pages/{pageId}/sections` Swagger 문서 점검 중 `group_id` 누락 발견
|
||||
- Service에서 `$data['group_id'] ?? 1`로 사용하지만 FormRequest와 Swagger에 미정의
|
||||
- `group_id`는 "계층번호"로 통일하여 주석 및 description 작성
|
||||
|
||||
### 수정된 파일 (4개)
|
||||
|
||||
**FormRequest (group_id 필드 추가)**:
|
||||
- `app/Http/Requests/ItemMaster/ItemSectionStoreRequest.php`
|
||||
- `app/Http/Requests/ItemMaster/ItemFieldStoreRequest.php`
|
||||
- `app/Http/Requests/ItemMaster/ItemBomItemStoreRequest.php`
|
||||
|
||||
**Swagger**:
|
||||
- `app/Swagger/v1/ItemMasterApi.php`
|
||||
|
||||
### Swagger 스키마 업데이트 상세
|
||||
|
||||
**모델 스키마 (3개)** - `description="계층번호"` 추가:
|
||||
- `ItemSection`
|
||||
- `ItemField`
|
||||
- `ItemBomItem`
|
||||
|
||||
**Request 스키마 (6개)** - `group_id` 추가 또는 description 추가:
|
||||
- `ItemSectionStoreRequest` - group_id 신규 추가
|
||||
- `ItemFieldStoreRequest` - group_id 신규 추가
|
||||
- `ItemBomItemStoreRequest` - group_id 신규 추가
|
||||
- `IndependentSectionStoreRequest` - description 추가
|
||||
- `IndependentFieldStoreRequest` - description 추가
|
||||
- `IndependentBomItemStoreRequest` - description 추가
|
||||
|
||||
### 12개 EntityRelationship 엔드포인트
|
||||
|
||||
`EntityRelationshipApi.php`에 이미 문서화 완료 확인:
|
||||
- POST/DELETE `/pages/{pageId}/link-section`, `/unlink-section/{sectionId}`
|
||||
- POST/DELETE `/pages/{pageId}/link-field`, `/unlink-field/{fieldId}`
|
||||
- GET `/pages/{pageId}/relationships`, `/structure`
|
||||
- POST/DELETE `/sections/{sectionId}/link-field`, `/unlink-field/{fieldId}`
|
||||
- POST/DELETE `/sections/{sectionId}/link-bom`, `/unlink-bom/{bomId}`
|
||||
- GET `/sections/{sectionId}/relationships`
|
||||
- POST `/relationships/reorder`
|
||||
|
||||
### 검증 결과
|
||||
- Pint 코드 포맷팅: ✅ 통과
|
||||
- Swagger 문서 생성: ✅ 완료
|
||||
|
||||
### Git 커밋
|
||||
```
|
||||
commit 4f78eed
|
||||
feat: ItemMaster API group_id(계층번호) 추가 및 Swagger 보완
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 2025-11-26 (화) - AccessService permission_overrides 테이블 사용으로 수정
|
||||
|
||||
### 주요 작업
|
||||
- API AccessService가 존재하지 않는 테이블(user_permission_overrides, department_permissions)을 참조하던 문제 수정
|
||||
- 실제 DB의 `permission_overrides` 테이블을 사용하도록 수정
|
||||
|
||||
### 수정된 파일:
|
||||
- `app/Services/Authz/AccessService.php`
|
||||
- `hasUserOverride()`: `user_permission_overrides` → `permission_overrides` (model_type='App\Models\Members\User')
|
||||
- `departmentAllows()`: `department_permissions` → `permission_overrides` (model_type='App\Models\Tenants\Department')
|
||||
- 필드명 변경: `is_allowed` → `effect`, `user_id` → `model_id`
|
||||
|
||||
### 기술 상세:
|
||||
**permission_overrides 테이블 구조:**
|
||||
- `model_type`: 폴리모픽 타입 (User, Department)
|
||||
- `model_id`: 대상 ID
|
||||
- `permission_id`: 권한 ID
|
||||
- `effect`: 0=DENY, 1=ALLOW
|
||||
- `effective_from`, `effective_to`: 유효 기간
|
||||
|
||||
### 코드 품질:
|
||||
- ✅ PHP 문법 검사 통과
|
||||
- ✅ Pint 포맷팅 통과
|
||||
|
||||
---
|
||||
|
||||
## 2025-11-26 (화) - Item Master 독립 엔티티 API 추가 ✅ 완료
|
||||
|
||||
### 작업 목표
|
||||
|
||||
Reference in New Issue
Block a user