Skip to content

[Feat] 권한 부여·회수 API + USER 캐시 갱신 #18

Description

@kangcheolung

📌 Description

권한 블록 - collection_permissions / document_permissions 부여·회수 API 및 user_document_access_cache 갱신 로직 구현 (F-PERM-03, 04, 05)

✅ To-do

  • CollectionPermissionRepository, DocumentPermissionRepository, UserDocumentAccessCacheRepository
  • CollectionPermissionCommandService
  • DocumentPermissionCommandService
  • UserDocumentAccessCacheService (USER 권한 grant/revoke 시 내부 호출)
  • PermissionController
  • DTO: GrantPermissionRequest, PermissionResponse
  • POST /permissions/collections/{id}
  • DELETE /permissions/collections/{id}/{permId}
  • POST /permissions/documents/{id}
  • ErrorCode: PERMISSION_DENIED 메시지 "접근 권한이 없습니다"로 범용화(기존 ROLE-002 재활용), INVALID_TARGET_TYPE 신규 추가

📒 기타

  • 엔티티(CollectionPermission, DocumentPermission, UserDocumentAccessCache)와 Flyway 마이그레이션(V11, V12, V13)은 이미 완료됨
  • target_type(USER/ROLE/DEPARTMENT)에 따라 user_id/role_id/department_id 중 하나만 채워지는지 애플리케이션 레벨 검증 필요
  • USER 대상 권한만 캐시 갱신, ROLE/DEPARTMENT는 캐시 처리 없음 (live predicate)

Metadata

Metadata

Assignees

Labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions