From 09512b13c7ba821b56b391119f88d1ee5f265fa2 Mon Sep 17 00:00:00 2001 From: rlawngjs0313 Date: Fri, 15 Aug 2025 02:31:50 +0900 Subject: [PATCH 1/6] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor:=20=EB=A6=AC?= =?UTF-8?q?=EB=8B=A4=EC=9D=B4=EB=A0=89=ED=8A=B8=20URI=20=EB=8F=84=EB=A9=94?= =?UTF-8?q?=EC=9D=B8=20=EB=B3=80=EA=B2=BD=20(localhost=20->=20web.vecoserv?= =?UTF-8?q?ice.shop)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Veco/domain/github/controller/GitHubRestController.java | 2 +- .../Veco/domain/slack/controller/SlackController.java | 2 +- .../global/auth/oauth2/handler/OAuth2SuccessHandler.java | 2 +- .../java/com/example/Veco/global/config/SecurityConfig.java | 6 +++--- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/example/Veco/domain/github/controller/GitHubRestController.java b/src/main/java/com/example/Veco/domain/github/controller/GitHubRestController.java index 27c06ac9..5a9bacdc 100644 --- a/src/main/java/com/example/Veco/domain/github/controller/GitHubRestController.java +++ b/src/main/java/com/example/Veco/domain/github/controller/GitHubRestController.java @@ -22,7 +22,7 @@ public class GitHubRestController implements GitHubSwaggerDocs { private final GitHubService gitHubService; private final GitHubRepositoryService gitHubRepositoryService; - private static final String FRONTEND_URL = "http://localhost:5173"; + private static final String FRONTEND_URL = "https://web.vecoservice.shop"; @Hidden @GetMapping("/github/installation/callback") diff --git a/src/main/java/com/example/Veco/domain/slack/controller/SlackController.java b/src/main/java/com/example/Veco/domain/slack/controller/SlackController.java index ff103e40..4b8c40fe 100644 --- a/src/main/java/com/example/Veco/domain/slack/controller/SlackController.java +++ b/src/main/java/com/example/Veco/domain/slack/controller/SlackController.java @@ -45,7 +45,7 @@ public RedirectView installApp( @RequestParam String state ){ Long teamId = slackCommandService.installApp(code, state); - String URL = "http://localhost:5173/slack/complete?teamId="+teamId; + String URL = "https://web.vecoservice.shop/slack/complete?teamId="+teamId; return new RedirectView(URL); } } diff --git a/src/main/java/com/example/Veco/global/auth/oauth2/handler/OAuth2SuccessHandler.java b/src/main/java/com/example/Veco/global/auth/oauth2/handler/OAuth2SuccessHandler.java index 0d645649..ac0d9f6a 100644 --- a/src/main/java/com/example/Veco/global/auth/oauth2/handler/OAuth2SuccessHandler.java +++ b/src/main/java/com/example/Veco/global/auth/oauth2/handler/OAuth2SuccessHandler.java @@ -72,7 +72,7 @@ public void onAuthenticationSuccess( memberCommandService.saveMember(member); // 로딩 화면으로 리다이렉트 - redirectURL = UriComponentsBuilder.fromUriString("http://localhost:5173/onboarding/loading") + redirectURL = UriComponentsBuilder.fromUriString("https://web.vecoservice.shop/onboarding/loading") .build() .encode(StandardCharsets.UTF_8) .toUriString(); diff --git a/src/main/java/com/example/Veco/global/config/SecurityConfig.java b/src/main/java/com/example/Veco/global/config/SecurityConfig.java index 914db25a..ab5eacce 100644 --- a/src/main/java/com/example/Veco/global/config/SecurityConfig.java +++ b/src/main/java/com/example/Veco/global/config/SecurityConfig.java @@ -50,7 +50,7 @@ protected SecurityFilterChain configure(HttpSecurity http) throws Exception { .httpBasic(AbstractHttpConfigurer::disable) .formLogin(AbstractHttpConfigurer::disable) .addFilterBefore(jwtAuthFilter(), UsernamePasswordAuthenticationFilter.class) - .logout(logout -> logout.logoutSuccessUrl("http://localhost:5173/onboarding")) + .logout(logout -> logout.logoutSuccessUrl("https://web.vecoservice.shop/onboarding")) .sessionManagement(session -> session .sessionCreationPolicy(SessionCreationPolicy.STATELESS)) .oauth2Login(oauth2 -> oauth2 @@ -58,13 +58,13 @@ protected SecurityFilterChain configure(HttpSecurity http) throws Exception { .authorizationRequestRepository(new HttpSessionOAuth2AuthorizationRequestRepository()) .authorizationRequestResolver(customAuthorizationRequestResolver) ) - .loginPage("http://localhost:5173/onboarding") + .loginPage("https://web.vecoservice.shop/onboarding") .successHandler(oAuth2SuccessHandler) .userInfoEndpoint(userInfo -> userInfo.userService(customOAuth2UserService)) .failureHandler((request, response, exception) -> { // 로그인 실패 시 처리 로직 log.error("OAuth2 로그인 실패: {}", exception.getMessage()); - response.sendRedirect("http://localhost:5173/onboarding"); + response.sendRedirect("https://web.vecoservice.shop/onboarding"); }) ); return http.build(); From 0ab965cacc22872715684f153d18f842d8e4a5eb Mon Sep 17 00:00:00 2001 From: rlawngjs0313 Date: Fri, 15 Aug 2025 03:03:35 +0900 Subject: [PATCH 2/6] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor:=20=EB=A6=AC?= =?UTF-8?q?=EB=8B=A4=EC=9D=B4=EB=A0=89=ED=8A=B8=20URI=20=EB=8F=84=EB=A9=94?= =?UTF-8?q?=EC=9D=B8=20=EB=B3=80=EA=B2=BD=20(veco-eight.vercel.app=20->=20?= =?UTF-8?q?web.vecoservice.shop)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../workspace/service/WorkspaceCommandServiceImpl.java | 2 +- .../domain/workspace/service/WorkspaceQueryServiceImpl.java | 6 +----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/example/Veco/domain/workspace/service/WorkspaceCommandServiceImpl.java b/src/main/java/com/example/Veco/domain/workspace/service/WorkspaceCommandServiceImpl.java index a8f7ba6d..64a6370a 100644 --- a/src/main/java/com/example/Veco/domain/workspace/service/WorkspaceCommandServiceImpl.java +++ b/src/main/java/com/example/Veco/domain/workspace/service/WorkspaceCommandServiceImpl.java @@ -148,7 +148,7 @@ public WorkspaceResponseDTO.CreateWorkspaceResponseDto createWorkspace(Member me String slug = slugGenerator.generate(request.getWorkspaceName()); String token = inviteTokenGenerator.generate(); String invitePassword = invitePasswordGenerator.generate(); - String workspaceUrl = "https://veco-eight.vercel.app/" + slug; + String workspaceUrl = "https://web.vecoservice.shop/" + slug; String inviteUrl = workspaceUrl + "/invite?token=" + token; // 4. 워크스페이스 생성 diff --git a/src/main/java/com/example/Veco/domain/workspace/service/WorkspaceQueryServiceImpl.java b/src/main/java/com/example/Veco/domain/workspace/service/WorkspaceQueryServiceImpl.java index be3d6be4..27884abd 100644 --- a/src/main/java/com/example/Veco/domain/workspace/service/WorkspaceQueryServiceImpl.java +++ b/src/main/java/com/example/Veco/domain/workspace/service/WorkspaceQueryServiceImpl.java @@ -1,6 +1,5 @@ package com.example.Veco.domain.workspace.service; -import com.example.Veco.domain.mapping.entity.MemberTeam; import com.example.Veco.domain.mapping.repository.MemberTeamRepository; import com.example.Veco.domain.member.entity.Member; import com.example.Veco.domain.member.repository.MemberRepository; @@ -9,7 +8,6 @@ import com.example.Veco.domain.team.repository.TeamRepository; import com.example.Veco.domain.workspace.converter.WorkspaceConverter; import com.example.Veco.domain.workspace.dto.TeamMemberCountDto; -import com.example.Veco.domain.workspace.dto.WorkspaceRequestDTO; import com.example.Veco.domain.workspace.dto.WorkspaceResponseDTO; import com.example.Veco.domain.workspace.entity.WorkSpace; import com.example.Veco.domain.workspace.error.WorkspaceErrorStatus; @@ -17,9 +15,7 @@ import com.example.Veco.domain.workspace.repository.WorkspaceQueryDslRepository; import com.example.Veco.domain.workspace.repository.WorkspaceRepository; import com.example.Veco.domain.workspace.util.SlugGenerator; -import com.example.Veco.global.apiPayload.exception.VecoException; import lombok.RequiredArgsConstructor; -import org.springframework.beans.factory.annotation.Value; import org.springframework.data.domain.Page; import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; @@ -101,6 +97,6 @@ public List getWorkspaceMember public String createPreviewUrl(String workspaceName) { String slug = slugGenerator.generate(workspaceName); - return "https://veco-eight.vercel.app/" + slug ; + return "https://web.vecoservice.shop/" + slug ; } } \ No newline at end of file From 23aaac5f49a3f3bc2bc04fa7361854adaaceba3e Mon Sep 17 00:00:00 2001 From: rlawngjs0313 Date: Fri, 15 Aug 2025 13:33:50 +0900 Subject: [PATCH 3/6] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor:=20=ED=95=84?= =?UTF-8?q?=EC=9A=94=EC=97=86=EB=8A=94=20API=20=EC=88=A8=EA=B9=80=20?= =?UTF-8?q?=EC=B2=98=EB=A6=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Veco/global/healthcheck/HealthCheckController.java | 2 ++ .../java/com/example/Veco/test/TestDataController.java | 8 ++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/example/Veco/global/healthcheck/HealthCheckController.java b/src/main/java/com/example/Veco/global/healthcheck/HealthCheckController.java index 7c892552..86796418 100644 --- a/src/main/java/com/example/Veco/global/healthcheck/HealthCheckController.java +++ b/src/main/java/com/example/Veco/global/healthcheck/HealthCheckController.java @@ -1,5 +1,6 @@ package com.example.Veco.global.healthcheck; +import io.swagger.v3.oas.annotations.Hidden; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @@ -7,6 +8,7 @@ public class HealthCheckController { @GetMapping("/healthcheck") + @Hidden public String healthcheck() { return "OK"; } diff --git a/src/main/java/com/example/Veco/test/TestDataController.java b/src/main/java/com/example/Veco/test/TestDataController.java index 23a388e0..1369851a 100644 --- a/src/main/java/com/example/Veco/test/TestDataController.java +++ b/src/main/java/com/example/Veco/test/TestDataController.java @@ -12,14 +12,17 @@ import com.example.Veco.domain.member.repository.MemberRepository; import com.example.Veco.domain.team.entity.Team; import com.example.Veco.domain.team.repository.TeamRepository; -import com.example.Veco.global.enums.*; +import com.example.Veco.global.enums.Category; +import com.example.Veco.global.enums.ExtServiceType; +import com.example.Veco.global.enums.Priority; +import com.example.Veco.global.enums.State; +import io.swagger.v3.oas.annotations.Hidden; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.time.LocalDate; -import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; @@ -43,6 +46,7 @@ public class TestDataController { private AssigmentRepository assignmentRepository; @PostMapping("/insert-test-data") + @Hidden public String insertTestData() { try { // 1. Member 테스트 데이터 From 6986d78c308bfffb8404c9a71aeecb1c36d5f45e Mon Sep 17 00:00:00 2001 From: rlawngjs0313 Date: Fri, 15 Aug 2025 20:01:03 +0900 Subject: [PATCH 4/6] =?UTF-8?q?=F0=9F=90=9B=20hotfix:=20=EC=9D=B4=EC=8A=88?= =?UTF-8?q?=20=EC=83=9D=EC=84=B1=20=EC=8B=9C,=20Goal=20=EC=97=AC=EB=B6=80?= =?UTF-8?q?=20=EB=B3=80=EA=B2=BD=20(=ED=95=84=EC=88=98=20->=20=EC=84=A0?= =?UTF-8?q?=ED=83=9D)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../issue/service/command/IssueCommandServiceImpl.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/example/Veco/domain/issue/service/command/IssueCommandServiceImpl.java b/src/main/java/com/example/Veco/domain/issue/service/command/IssueCommandServiceImpl.java index d038caca..6b49d496 100644 --- a/src/main/java/com/example/Veco/domain/issue/service/command/IssueCommandServiceImpl.java +++ b/src/main/java/com/example/Veco/domain/issue/service/command/IssueCommandServiceImpl.java @@ -1,8 +1,6 @@ package com.example.Veco.domain.issue.service.command; import com.example.Veco.domain.goal.entity.Goal; -import com.example.Veco.domain.goal.exception.GoalException; -import com.example.Veco.domain.goal.exception.code.GoalErrorCode; import com.example.Veco.domain.goal.repository.GoalRepository; import com.example.Veco.domain.issue.converter.IssueConverter; import com.example.Veco.domain.issue.dto.IssueReqDTO; @@ -128,8 +126,10 @@ public IssueResponseDTO.CreateIssue createIssue(AuthUser user, Long teamId, Issu .orElseThrow(() -> new MemberHandler(MemberErrorStatus._FORBIDDEN)); // 목표 존재 검증 - Goal goal = goalRepository.findById(dto.goalId()).orElseThrow(()-> - new GoalException(GoalErrorCode.NOT_FOUND)); + Goal goal = null; + if (dto.goalId() != null) { + goal = goalRepository.findById(dto.goalId()).orElse(null); + } RLock lock = redissonClient.getLock("lock:issue:" + teamId); Long issueId; From 034ab8bdc89d3ce5a02cd41347296d08a02c24c0 Mon Sep 17 00:00:00 2001 From: rlawngjs0313 Date: Fri, 15 Aug 2025 21:37:32 +0900 Subject: [PATCH 5/6] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor:=20=EB=AA=A9?= =?UTF-8?q?=ED=91=9C,=20=EC=9D=B4=EC=8A=88,=20=EC=99=B8=EB=B6=80=EC=9D=B4?= =?UTF-8?q?=EC=8A=88=20=EB=82=B4=EC=9A=A9=20=ED=83=80=EC=9E=85=20=EB=B3=80?= =?UTF-8?q?=EA=B2=BD=20(varchar=20->=20TEXT)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/example/Veco/domain/external/entity/External.java | 2 +- src/main/java/com/example/Veco/domain/goal/entity/Goal.java | 2 +- src/main/java/com/example/Veco/domain/issue/entity/Issue.java | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/example/Veco/domain/external/entity/External.java b/src/main/java/com/example/Veco/domain/external/entity/External.java index f9dec9c0..1c9af182 100644 --- a/src/main/java/com/example/Veco/domain/external/entity/External.java +++ b/src/main/java/com/example/Veco/domain/external/entity/External.java @@ -40,7 +40,7 @@ public class External extends BaseEntity { @Column(name = "title", nullable = false) private String title; - @Column(name = "description") + @Column(name = "description", columnDefinition = "TEXT") @Builder.Default private String description = ""; diff --git a/src/main/java/com/example/Veco/domain/goal/entity/Goal.java b/src/main/java/com/example/Veco/domain/goal/entity/Goal.java index 4df463a8..6aa82969 100644 --- a/src/main/java/com/example/Veco/domain/goal/entity/Goal.java +++ b/src/main/java/com/example/Veco/domain/goal/entity/Goal.java @@ -36,7 +36,7 @@ public class Goal extends BaseEntity { @Column(name = "title", nullable = false) private String title; - @Column(name = "content") + @Column(name = "content", columnDefinition = "TEXT") @Builder.Default private String content = ""; diff --git a/src/main/java/com/example/Veco/domain/issue/entity/Issue.java b/src/main/java/com/example/Veco/domain/issue/entity/Issue.java index 0c93d6cc..25eeb4e8 100644 --- a/src/main/java/com/example/Veco/domain/issue/entity/Issue.java +++ b/src/main/java/com/example/Veco/domain/issue/entity/Issue.java @@ -33,7 +33,7 @@ public class Issue extends BaseEntity { @Column(name = "title", nullable = false) private String title; - @Column(name = "content") + @Column(name = "content", columnDefinition = "TEXT") @Builder.Default private String content = ""; From 49d472939e032142724281765f1a807cbf794d67 Mon Sep 17 00:00:00 2001 From: rlawngjs0313 Date: Fri, 15 Aug 2025 22:34:22 +0900 Subject: [PATCH 6/6] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor:=20=EC=9D=B4?= =?UTF-8?q?=EB=AF=B8=EC=A7=80=20=EC=82=AC=EC=A7=84=20profile/=20=ED=8F=B4?= =?UTF-8?q?=EB=8D=94=EC=97=90=20=EC=82=BD=EC=9E=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../domain/member/service/MemberCommandServiceImpl.java | 8 +------- 1 file changed, 1 insertion(+), 7 deletions(-) diff --git a/src/main/java/com/example/Veco/domain/member/service/MemberCommandServiceImpl.java b/src/main/java/com/example/Veco/domain/member/service/MemberCommandServiceImpl.java index f0eed7bd..46926e89 100644 --- a/src/main/java/com/example/Veco/domain/member/service/MemberCommandServiceImpl.java +++ b/src/main/java/com/example/Veco/domain/member/service/MemberCommandServiceImpl.java @@ -15,17 +15,11 @@ import com.example.Veco.global.aws.util.S3Util; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.security.core.Authentication; -import org.springframework.security.oauth2.client.OAuth2AuthorizedClient; import org.springframework.security.oauth2.client.OAuth2AuthorizedClientService; -import org.springframework.security.oauth2.core.user.OAuth2User; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; -import java.util.List; -import java.util.Objects; - @Service @RequiredArgsConstructor @Slf4j @@ -54,7 +48,7 @@ public Member updateProfileImage(MultipartFile file, Member member) { } // S3 업로드 및 URL 생성 - String uploadedPath = s3Util.uploadFile(file, null); + String uploadedPath = s3Util.uploadFile(file, "profile/"); String imageUrl = s3Util.getImageUrl(uploadedPath); // DB 업데이트