From 55ec80c3362a99f5b70653b31f1f89173cac6df8 Mon Sep 17 00:00:00 2001 From: Jinho622 Date: Wed, 20 Aug 2025 02:22:03 +0900 Subject: [PATCH] =?UTF-8?q?feat/#311:=20=EC=9B=8C=ED=81=AC=EC=8A=A4?= =?UTF-8?q?=ED=8E=98=EC=9D=B4=EC=8A=A4=EC=97=90=20=EC=97=B0=EB=8F=99?= =?UTF-8?q?=EB=90=9C=20=EC=9D=B8=EC=8A=A4=ED=83=80=EA=B7=B8=EB=9E=A8=20?= =?UTF-8?q?=EA=B3=84=EC=A0=95=20=EC=A1=B0=ED=9A=8C=ED=95=98=EB=8A=94=20API?= =?UTF-8?q?=20=EA=B5=AC=ED=98=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/SnsEventController.java | 18 ++++++++++++++++++ .../snsEvent/converter/SnsEventConverter.java | 8 ++++++++ .../snsEvent/dto/SnsEventResponseDTO.java | 8 ++++++++ .../snsEvent/service/SnsEventQueryService.java | 2 ++ .../service/SnsEventQueryServiceImpl.java | 12 ++++++++++++ 5 files changed, 48 insertions(+) diff --git a/src/main/java/com/haru/api/domain/snsEvent/controller/SnsEventController.java b/src/main/java/com/haru/api/domain/snsEvent/controller/SnsEventController.java index 03ff0436..aabe6115 100644 --- a/src/main/java/com/haru/api/domain/snsEvent/controller/SnsEventController.java +++ b/src/main/java/com/haru/api/domain/snsEvent/controller/SnsEventController.java @@ -166,4 +166,22 @@ public ApiResponse downloadList( ); } + @Operation( + summary = "워크스페이스에 연동된 인스타그램 계정 조회 API [v1.0 (2025-08-20)]", + description = "# [v1.0 (2025-08-20)](https://www.notion.so/API-21e5da7802c581cca23dff937ac3f155?p=2545da7802c5801299c9f47578ba7d75&pm=s)" + + " 워크스페이스에 연동된 인스타그램 계정을 조회하는 API입니다. Path Variable에 workspaceId를 넣어 요청해주세요." + ) + @GetMapping("/{workspaceId}/instagram") + public ApiResponse getInstagramAccountName( + @PathVariable String workspaceId, + @Parameter(hidden = true) @AuthUser User user, + @Parameter(hidden = true) @AuthWorkspace Workspace workspace + ) { + return ApiResponse.onSuccess( + snsEventQueryService.getInstagramAccountName( + user, + workspace + ) + ); + } } diff --git a/src/main/java/com/haru/api/domain/snsEvent/converter/SnsEventConverter.java b/src/main/java/com/haru/api/domain/snsEvent/converter/SnsEventConverter.java index 7d5dcd61..9a6cac3f 100644 --- a/src/main/java/com/haru/api/domain/snsEvent/converter/SnsEventConverter.java +++ b/src/main/java/com/haru/api/domain/snsEvent/converter/SnsEventConverter.java @@ -99,4 +99,12 @@ public static SnsEventResponseDTO.WinnerResponse toWinnerResponse(Winner winner) .account(winner.getNickname()) .build(); } + + public static SnsEventResponseDTO.getInstagramAccountName toGetInstagramAccountName( + String instagramAccountName + ) { + return SnsEventResponseDTO.getInstagramAccountName.builder() + .instagramAccountName(instagramAccountName) + .build(); + } } diff --git a/src/main/java/com/haru/api/domain/snsEvent/dto/SnsEventResponseDTO.java b/src/main/java/com/haru/api/domain/snsEvent/dto/SnsEventResponseDTO.java index 3640bc43..570b3b79 100644 --- a/src/main/java/com/haru/api/domain/snsEvent/dto/SnsEventResponseDTO.java +++ b/src/main/java/com/haru/api/domain/snsEvent/dto/SnsEventResponseDTO.java @@ -117,4 +117,12 @@ public static class WinnerResponse { public static class ListDownLoadLinkResponse { private String downloadLink; } + + @Getter + @Builder + @NoArgsConstructor + @AllArgsConstructor + public static class getInstagramAccountName { + private String instagramAccountName; + } } diff --git a/src/main/java/com/haru/api/domain/snsEvent/service/SnsEventQueryService.java b/src/main/java/com/haru/api/domain/snsEvent/service/SnsEventQueryService.java index 3c1f0427..2a531543 100644 --- a/src/main/java/com/haru/api/domain/snsEvent/service/SnsEventQueryService.java +++ b/src/main/java/com/haru/api/domain/snsEvent/service/SnsEventQueryService.java @@ -10,4 +10,6 @@ public interface SnsEventQueryService { SnsEventResponseDTO.GetSnsEventListRequest getSnsEventList(User user, Workspace workspace); SnsEventResponseDTO.GetSnsEventRequest getSnsEvent(User user, SnsEvent snsEvent); + + SnsEventResponseDTO.getInstagramAccountName getInstagramAccountName(User user, Workspace workspace); } diff --git a/src/main/java/com/haru/api/domain/snsEvent/service/SnsEventQueryServiceImpl.java b/src/main/java/com/haru/api/domain/snsEvent/service/SnsEventQueryServiceImpl.java index 27bf5255..b606a48f 100644 --- a/src/main/java/com/haru/api/domain/snsEvent/service/SnsEventQueryServiceImpl.java +++ b/src/main/java/com/haru/api/domain/snsEvent/service/SnsEventQueryServiceImpl.java @@ -48,4 +48,16 @@ public SnsEventResponseDTO.GetSnsEventRequest getSnsEvent(User user, SnsEvent sn ); } + + @Override + public SnsEventResponseDTO.getInstagramAccountName getInstagramAccountName(User user, Workspace workspace) { + if (workspace.getInstagramAccountName() == null) { + return SnsEventConverter.toGetInstagramAccountName( + "" + ); + } + return SnsEventConverter.toGetInstagramAccountName( + workspace.getInstagramAccountName() + ); + } }