From 20742b6796777ffce4de4dd98054aadab1089347 Mon Sep 17 00:00:00 2001 From: soonduck-dreams Date: Wed, 24 Dec 2025 17:18:34 +0900 Subject: [PATCH 1/2] =?UTF-8?q?chore:=20=EA=B3=B5=EC=A7=80=EC=82=AC?= =?UTF-8?q?=ED=95=AD=20=EC=9D=B4=EB=AF=B8=EC=A7=80=20object=20key=20prefix?= =?UTF-8?q?=20=EC=88=98=EC=A0=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 이미지 파일 저장 경로를 `announcements`에서 `announcement-images`로 변경 --- .../announcement/application/AdminAnnouncementService.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/org/devkor/apu/saerok_server/domain/admin/announcement/application/AdminAnnouncementService.java b/src/main/java/org/devkor/apu/saerok_server/domain/admin/announcement/application/AdminAnnouncementService.java index 2cb4c13c..b0217a20 100644 --- a/src/main/java/org/devkor/apu/saerok_server/domain/admin/announcement/application/AdminAnnouncementService.java +++ b/src/main/java/org/devkor/apu/saerok_server/domain/admin/announcement/application/AdminAnnouncementService.java @@ -181,7 +181,7 @@ public AnnouncementImagePresignResponse generateImagePresignUrl(String contentTy } String fileName = UUID.randomUUID().toString(); - String objectKey = "announcements/" + fileName; + String objectKey = "announcement-images/" + fileName; String uploadUrl = imageService.generateUploadUrl(objectKey, contentType, 10); String imageUrl = imageDomainService.toUploadImageUrl(objectKey); From dd58e566c289cb83c1e1ab30f678a74a029dcbda Mon Sep 17 00:00:00 2001 From: soonduck-dreams Date: Wed, 24 Dec 2025 17:19:36 +0900 Subject: [PATCH 2/2] =?UTF-8?q?feat:=20=EA=B4=80=EB=A6=AC=EC=9E=90=20?= =?UTF-8?q?=EA=B6=8C=ED=95=9C=20=EB=AA=A9=EB=A1=9D=20=EC=A1=B0=ED=9A=8C=20?= =?UTF-8?q?API=20=EC=B6=94=EA=B0=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 권한 관리 개선을 위해 권한 목록을 조회하는 엔드포인트를 추가 --- .../domain/admin/role/api/AdminRoleController.java | 13 +++++++++++++ .../dto/response/AdminPermissionListResponse.java | 8 ++++++++ .../role/application/AdminRoleQueryService.java | 4 ++++ 3 files changed, 25 insertions(+) create mode 100644 src/main/java/org/devkor/apu/saerok_server/domain/admin/role/api/dto/response/AdminPermissionListResponse.java diff --git a/src/main/java/org/devkor/apu/saerok_server/domain/admin/role/api/AdminRoleController.java b/src/main/java/org/devkor/apu/saerok_server/domain/admin/role/api/AdminRoleController.java index bb187a0a..f5c0c538 100644 --- a/src/main/java/org/devkor/apu/saerok_server/domain/admin/role/api/AdminRoleController.java +++ b/src/main/java/org/devkor/apu/saerok_server/domain/admin/role/api/AdminRoleController.java @@ -14,6 +14,7 @@ import org.devkor.apu.saerok_server.domain.admin.role.api.dto.request.CreateRoleRequest; import org.devkor.apu.saerok_server.domain.admin.role.api.dto.request.UpdateRolePermissionsRequest; import org.devkor.apu.saerok_server.domain.admin.role.api.dto.response.AdminMyRoleResponse; +import org.devkor.apu.saerok_server.domain.admin.role.api.dto.response.AdminPermissionListResponse; import org.devkor.apu.saerok_server.domain.admin.role.api.dto.response.AdminRoleListResponse; import org.devkor.apu.saerok_server.domain.admin.role.api.dto.response.AdminRoleUserListResponse; import org.devkor.apu.saerok_server.domain.admin.role.api.dto.response.AdminUserRoleResponse; @@ -86,6 +87,18 @@ public AdminRoleListResponse listRoles() { return new AdminRoleListResponse(roles); } + @GetMapping("/permissions") + @PreAuthorize("@perm.has('ADMIN_ROLE_WRITE')") + @Operation( + summary = "권한 목록 조회", + security = @SecurityRequirement(name = "bearerAuth"), + responses = @ApiResponse(responseCode = "200", content = @Content(schema = @Schema(implementation = AdminPermissionListResponse.class))) + ) + public AdminPermissionListResponse listPermissions() { + List permissions = mapPermissions(queryService.listPermissions()); + return new AdminPermissionListResponse(permissions); + } + @PostMapping @PreAuthorize("@perm.has('ADMIN_ROLE_WRITE')") @Operation( diff --git a/src/main/java/org/devkor/apu/saerok_server/domain/admin/role/api/dto/response/AdminPermissionListResponse.java b/src/main/java/org/devkor/apu/saerok_server/domain/admin/role/api/dto/response/AdminPermissionListResponse.java new file mode 100644 index 00000000..bdbbc4f5 --- /dev/null +++ b/src/main/java/org/devkor/apu/saerok_server/domain/admin/role/api/dto/response/AdminPermissionListResponse.java @@ -0,0 +1,8 @@ +package org.devkor.apu.saerok_server.domain.admin.role.api.dto.response; + +import java.util.List; + +public record AdminPermissionListResponse( + List permissions +) { +} diff --git a/src/main/java/org/devkor/apu/saerok_server/domain/admin/role/application/AdminRoleQueryService.java b/src/main/java/org/devkor/apu/saerok_server/domain/admin/role/application/AdminRoleQueryService.java index 68f82ad1..af7f291a 100644 --- a/src/main/java/org/devkor/apu/saerok_server/domain/admin/role/application/AdminRoleQueryService.java +++ b/src/main/java/org/devkor/apu/saerok_server/domain/admin/role/application/AdminRoleQueryService.java @@ -88,6 +88,10 @@ public List listRoles() { .toList(); } + public List listPermissions() { + return permissionRepository.findAll(); + } + public record MyRoleInfo(List roles, List permissions) { }