-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
* feat: 골 도메인 및 레포지토리 추가 * feat: 골 추가 기능 로직 구현 * feat: 골 시작일, 종료일 타입 포맷 로직 구현 * test: 골 추가 로직 테스트 성공 * feat: 전역 예외처리 객체 추가 * refactor: 빌더 및 개행 수정 * refactor: 객체 생성자 빌더로 수정 * feat: 404, 500 페이지에 대한 예외처리 * feat: 골 팀 도메인 클래스 생성 및 연관관계 매핑 * feat: 골 팀 생성 로직 * feat: return 개행 추가 * feat: 골 팀에 골 정보 저장하는 로직 * feat: 골에 골 팀 정보 업데이트 * refactor: 사용하지 않는 패키지 삭제 * test: 골 팀 등록 포함해 골 추가 테스트 통과 * feat: 골 등록시 발생하는 예외사항 처리 * feat: 사용하지 않는 패키지 정리 * chore: 테스트에 사용할 lombok 의존성 추가 * fix: 골 등록 시 시작날짜, 종료날짜, 골 날짜 수가 null값으로 들어가는 오류 수정 * feat: 요청 dto 및 응답 dto 생성 * feat: 요청 dto 및 응답 dto 생성 * refactor: goal 데이터 구조 변경에 따른 builder 구조 변경 * feat: 골 생성 요청 dto 및 응답 dto 생성 * refactor: 컨벤션 수정 * feat: rest docs 위한 util 추가 * feat: 골 추가 * feat: 골 추가 컨트롤러 테스트 통과 * feat: 골 추가 시 필요한 유저 정보 추가 * feat: 발생할 수 있는 예외 처리 * rename: 골 생성 성공 테스트명 변경 * feat: 골 팀 리스트 유효성 검증 추가 * refactor: 필요하지 않은 예외 던지기 삭제 * fix: 예외처리시 조건 수정 * test: 골 생성시 예외처리에 대한 실패 테스트 * feat: 골 팀 레포지토리 생성 및 저장하는 코드 추가 * refactor: 골 팀 cascadeType 변경 * refactor: controller와 client 사이의 dto에 JsonProperty 추가 * chore: java test fixtures 추가 * feat: 생성자 from 메서드 추가 * feat: goal 검색 결과 컨트롤러로 전달하는 dto 추가 * feat: goal 도메인 수정 * feat: controller와 client가 주고받는 goal dto들 수정 * feat: 골 저장 및 골 팀 저장 메서드 수정 * fix: 컨벤션 수정 * feat: 골 팀 도메인 수정 * refactor: 컨벤션 수정 * feat: CustomException을 위한 블루밍 글로벌 익셉션 생성 * feat: 날짜 포맷 파싱 커스텀 익셉션 * refactor: 골 유효성 검증 메서드 리팩토링 * refactor: 골 생성 컨트롤러 예외처리 리팩토링 * feat: 골 추가에 대한 예외처리 * feat: 골 추가에 대한 예외처리 * feat: 골 도메인 삭제여부 컬럼명 변경 * feat: 날짜 포맷 파싱 예외처리 * feat: 예외 메시지 enum 처리 * refactor: 골 생성 컨트롤러 리팩토링 * refactor: 골 생성 컨트롤러 리팩토링 * refactor: 골 생성 시 예외처리 테스트 리팩토링 * refactor: 골 생성시 예외처리 리팩토링 * refactor: 골 생성시 예외처리 리팩토링 * feat: 골 추가 컨트롤러 테스트 * feat: JsonProperty명 수정 * refactor: 변수 설정 변경 * test: 골 생성 테스트 통과 * refactor: 현재 불필요한 골 레포지토리에 대한 테스트 클래스 삭제 * refactor: 컨벤션 및 로직 수정사항 수정 완료 * refactor: 날짜 데이터 형식 포맷 추가 * refactor: 메서드 파라미터 final로 설정 * style: when & then 표기 통일 * ci: #8 git submodule을 통한 개발 환경 설정 파일 추가 (#10) * ci: #16 Github Actions를 이용한 자동 검증 및 자동 배포 추가 (#17) * ci: CD 스크립트 추가 * chore: JaCoCo 설정 추가 * chore: SonarCloud 설정 추가 * ci: CI 스크립트 추가 * ci: jacocoTestCoverage를 수행하도록 수정 * ci: SonarCloud 설정 추가 * ci: 서브모듈 설정 추가 * ci: 테스트를 위해 sonarcloud 설정 제거 * ci: 테스트를 위한 리소스 파일 추가 * ci: SonarCloud 설정 추가 * fix: �Github Actions에서 CD 스크립트에서 오류가 나는 문제 해결 (#22) * ci: 서브모듈을 위한 토큰 정보 수정 * ci: 서브모듈 위치 변경 * feat: #5 소셜 로그인 기능 추가 (#6) * feat: oauth 타입 추가 * feat: 카카오를 통한 사용자 정보 요청 기능 추가 * feat: oauth 아이디와 타입을 통해 사용자 조회 기능 추가 * feat: jwt 토큰 생성 및 추출 기능 추가 * feat: 인증 서비스 추가 * feat: 소셜을 통한 로그인 컨트롤러 추가 * docs: 문서 최신화 * feat: 사용자 삭제 필드 추가 및 사용자가 삭제되지 않은 사용자 여부 조회 메서드 추가 * feat: jwt 토큰으로 통한 로그인 기능 추가 * style: 메서드 오탈자 수정 * refactor: 카카오 정보 받기에서 닉네임 제거 * feat: refresh 토큰을 통해 access 토큰을 생성하는 기능 추가 * feat: refresh 토큰을 통해 access 토큰을 생성 컨트롤러 추가 * feat: 사용자 정보 조회 기능 추가 * test: 테스트 설정 수정 * feat: 사용자 정보 조회 컨트롤러 추가 * feat: 테마 색상 추가 * feat: 테마 색상 목록 조회 기능 추가 * refactor: 서비스 트랜잭션 readOnly 옵션 추가 * test: 테마 색상 테스트 추가 * feat: 테마 색상 목록 조회 컨트롤러 추가 * refactor: 사용자 도메인에서 테마 색상을 사용하도록 수정 * feat: 사용자 정보 수정 기능 추가 * feat: 사용자 정보 수정 기능 컨트롤러 추가 * rename: 파일명 수정 * test: 사용자 정보 수정 예외 테스트 추가 * test: 테스트 시 타입도 검증되도록 수정 * docs: 버전에 대한 문서 추가 * docs: api 문서 최신화 * feat: auditing을 통한 사용자 정보 생성 및 마지막 수정 시간 필드 추가 * test: 컨벤션에 따라 nested 제거 * test: 컨벤션에 따라 fixture 패키지 제거 * rename: 예외 dto 패키지 추가 * refactor: 로그 레벨 변경 * refactor: 예외 메시지에 대해 enum 클래스로 관리하도록 수정 * fix: auditing을 위한 configuration 추가 * test: autowire로 수정 * fix: 로그인 시 문제가 생기는 부분 수정 - 이메일 nullable이 가능하도록 수정 - JwtProperties의 변수명이 잘못된 문제 수정 * fix: 잘못된 HTTP Method 수정 - AuthenticationController의 요청들을 모두 POST로 변경 * fix: 누락된 transactional 설정 추가 * docs: api 문서 최신화 * test: 오탈자 수정 * fix: 색상 코드가 없는 부분에 대한 문제 해결 및 잘못된 반환 처리에 대한 문제 해결 - 사용자 정보 수정 시 색상 이름으로 수정한 후 사용자 정보 반환 시 코드로 반환해야 하는 데, 색상 이름으로 반환하도록 한 문제에 대한 테스트도 수정 * fix: 이메일이 자동으로 입력되지 않는 문제 해결 * chore: h2 콘솔을 위한 라이브러리 추가 * ci: 서브모듈 업데이트 * test: 실패하는 테스트 해결 EnableJpaAuditing에 대한 configuration 클래스를 import 하도록 수정 * refactor: 통일성을 위한 URL 수정 * test: 불필요한 필드 제거 * docs: api 문서 최신화 * test: 사용자 서비스 클래스의 불충분한 테스트 추가 * refacotr: 동일한 의미의 예외 병합 * refactor: 불필요한 코드 제거 * test: 인증 서비스 클래스의 불충분한 테스트 추가 * style: 메서드 네이밍 컨벤션 적용 * chore: 테스트에 사용할 lombok 의존성 추가 * ci: 브랜치 최신화 및 충돌 해결 * refactor: 사용하지 않는 메서드 삭제 * refactor: requestDto에서 골 아이디 삭제 * ci: 브랜치 최신화 및 충돌 해결 * ci: 브랜치 최신화 및 충돌 해결 * feat: 골 관리자 추가 * test: 골 관리자 추가에 따른 테스트 코드 리팩토링 * test: 골 관리자 추가에 따른 테스트 코드 리팩토링 * test: 골 관리자 추가에 따른 테스트 코드 리팩토링 * feat: 골 조회 기능 추가 * refactor: 도메인 및 dto 변수명 수정 * refactor: Exception 파일 수정 * refactor: 필요없는 파일 삭제 * refactor: dto 및 도메인 필드명 수정 * refactor: dto 및 도메인 필드명 수정 * refactor: 골 기간에 대한 필드 Value Object로 수정 * refactor: 골 날짜수 에러 메시지 수정 * feat: 골 추가 시 예외처리 추가 * refactor: 골 기간을 Value Object로 변경하면서 생긴 수정사항 수정 * docs: api 문서 최신화 * refactor: dto 변수 type 변경 * refactor: 날짜 데이터 파싱 * test: 단일 골 조회 테스트 성공 * docs: api 문서화 업데이트 * refactor: 사용자 id가 유효한지 확인하는 로직 리팩토링 * test: 골 추가 관련 예외처리 테스트 완료 * test: 골 단일 조회 관련 예외처리 테스트 완료 * refactor: 컨벤션에 따른 dto명 수정 * refactor: 골 제목 길이 제한 * refactor: 골 메모 null 값 허용하지 않고 빈값이 들어가도록 설정 * refactor: 현재 진행 중인 골 날짜 수 필드 생성 * test: 현재 진행중인 골 필드 생성 후 테스트 * refactor: 단일 골 상세조회 dto명 수정 * docs: api 문서화 업데이트 * refactor: 단일 골 조회에서 골 참여자 이름 및 색상 정보까지 조회하도록 수정 * test: 단일 골 조회에서 골 참여자 정보까지 조회 테스트 * docs: api 문서 업데이트 * feat: 현재 로그인한 사용자가 참여한 모든 골 조회 * test: 현재 로그인한 사용자가 참여한 모든 골 조회 테스트 * docs: api 문서 최신화 업데이트 * refactor: 현재 진행중인 골 날짜수가 전체 골 날짜수를 넘지 않도록 수정 * refactor: 골 생성 및 골 기간 설정 예외처리 수정 * test: 골 생성 및 골 기간 설정 예외처리 테스트 * style: 개행 컨벤션 수정 * docs: api 문서 최신화 * refactor: 컨벤션에 맞게 수정 * refactor: 골 기간 유효성 검증 리팩토링 * refactor: 컨벤션에 맞게 수정 * refactor: 날짜 데이터 검증 추가 * feat: 연관관계 편의 메서드 추가 * refactor: 골 조회 쿼리 수정 * refactor: 골 관련 dto 구조 수정 * refactor: 컨벤션 및 쿼리 수정에 따른 기타 수정 * refactor: 컨벤션에 따른 메서드명 수정 * refactor: 컨벤션에 따른 수정 * fix: 현재 로그인한 사용자가 참여중인 골 목록 조회 테스트 오류 수정 * fix: 현재 로그인한 사용자가 참여중인 골 목록 조회 테스트 오류 수정 * feat: 골 참여자 목록이 5명 초과인 경우 골 생성 불가 * refactor: 브랜치 최신화에 따른 수정 * test: 골 참여자 리스트 5명 초과시 골 생성 불가 테스트 * refactor: 컨벤션에 따른 수정 * refactor: 컨벤션에 따른 수정 * refactor: 컨벤션에 따른 수정 * refactor: 컨벤션에 따른 수정 * fix: 날짜 검증에 따른 테스트 오류 수정 * docs: api 문서 최신화 --------- Co-authored-by: 제이미 <[email protected]>
- Loading branch information
Showing
35 changed files
with
3,279 additions
and
6 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -35,3 +35,6 @@ include::themecolor.adoc[] | |
|
||
== 친구 | ||
include::friend.adoc[] | ||
|
||
== 골 | ||
include::goal.adoc[] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
=== 새로운 골 추가 | ||
==== 요청 | ||
operation::goal-controller-test/골_생성을_요청하면_새로운_골을_생성한다[snippets='http-request,request-headers,request-fields'] | ||
==== 응답 | ||
operation::goal-controller-test/골_생성을_요청하면_새로운_골을_생성한다[snippets='http-response,response-body'] | ||
|
||
=== 단일 골 정보 조회 | ||
==== 요청 | ||
operation::goal-controller-test/골_아이디로_조회하면_해당_골의_정보를_반환한다[snippets='http-request,path-parameters,request-headers'] | ||
==== 응답 | ||
operation::goal-controller-test/골_아이디로_조회하면_해당_골의_정보를_반환한다[snippets='http-response,response-body,response-fields'] | ||
|
||
=== 현재 로그인한 사용자가 참여한 모든 골 조회 | ||
==== 요청 | ||
operation::goal-controller-test/현재_로그인한_사용자가_참여한_모든_골을_조회한다[snippets='http-request,request-headers'] | ||
==== 응답 | ||
operation::goal-controller-test/현재_로그인한_사용자가_참여한_모든_골을_조회한다[snippets='http-response,response-body,response-fields'] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
70 changes: 70 additions & 0 deletions
70
src/main/java/com/backend/blooming/goal/application/GoalService.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,70 @@ | ||
package com.backend.blooming.goal.application; | ||
|
||
import com.backend.blooming.goal.application.dto.CreateGoalDto; | ||
import com.backend.blooming.goal.application.dto.ReadAllGoalDto; | ||
import com.backend.blooming.goal.application.dto.ReadGoalDetailDto; | ||
import com.backend.blooming.goal.application.exception.NotFoundGoalException; | ||
import com.backend.blooming.goal.domain.Goal; | ||
import com.backend.blooming.goal.infrastructure.repository.GoalRepository; | ||
import com.backend.blooming.user.application.exception.NotFoundUserException; | ||
import com.backend.blooming.user.domain.User; | ||
import com.backend.blooming.user.infrastructure.repository.UserRepository; | ||
import lombok.RequiredArgsConstructor; | ||
import org.springframework.stereotype.Service; | ||
import org.springframework.transaction.annotation.Transactional; | ||
|
||
import java.util.List; | ||
|
||
@Service | ||
@Transactional | ||
@RequiredArgsConstructor | ||
public class GoalService { | ||
|
||
private final GoalRepository goalRepository; | ||
private final UserRepository userRepository; | ||
|
||
public Long createGoal(final CreateGoalDto createGoalDto) { | ||
final Goal goal = persistGoal(createGoalDto); | ||
|
||
return goal.getId(); | ||
} | ||
|
||
private Goal persistGoal(final CreateGoalDto createGoalDto) { | ||
final User user = getValidUser(createGoalDto.managerId()); | ||
final List<User> users = createGoalDto.teamUserIds() | ||
.stream() | ||
.map(this::getValidUser) | ||
.toList(); | ||
|
||
final Goal goal = Goal.builder() | ||
.name(createGoalDto.name()) | ||
.memo(createGoalDto.memo()) | ||
.startDate(createGoalDto.startDate()) | ||
.endDate(createGoalDto.endDate()) | ||
.managerId(user.getId()) | ||
.users(users) | ||
.build(); | ||
|
||
return goalRepository.save(goal); | ||
} | ||
|
||
private User getValidUser(final Long userId) { | ||
return userRepository.findByIdAndDeletedIsFalse(userId) | ||
.orElseThrow(NotFoundUserException::new); | ||
} | ||
|
||
@Transactional(readOnly = true) | ||
public ReadGoalDetailDto readGoalDetailById(final Long goalId) { | ||
final Goal goal = goalRepository.findByIdAndDeletedIsFalse(goalId) | ||
.orElseThrow(NotFoundGoalException::new); | ||
|
||
return ReadGoalDetailDto.from(goal); | ||
} | ||
|
||
@Transactional(readOnly = true) | ||
public ReadAllGoalDto readAllGoalByUserId(final Long userId) { | ||
final List<Goal> goals = goalRepository.findAllByUserIdAndDeletedIsFalse(userId); | ||
|
||
return ReadAllGoalDto.from(goals); | ||
} | ||
} |
29 changes: 29 additions & 0 deletions
29
src/main/java/com/backend/blooming/goal/application/dto/CreateGoalDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,29 @@ | ||
package com.backend.blooming.goal.application.dto; | ||
|
||
import com.backend.blooming.goal.presentation.dto.request.CreateGoalRequest; | ||
|
||
import java.time.LocalDate; | ||
import java.util.List; | ||
|
||
public record CreateGoalDto( | ||
String name, | ||
String memo, | ||
LocalDate startDate, | ||
LocalDate endDate, | ||
Long managerId, | ||
List<Long> teamUserIds | ||
) { | ||
|
||
public static CreateGoalDto of( | ||
final CreateGoalRequest request, | ||
final Long managerId) { | ||
return new CreateGoalDto( | ||
request.name(), | ||
request.memo(), | ||
request.startDate(), | ||
request.endDate(), | ||
managerId, | ||
request.teamUserIds() | ||
); | ||
} | ||
} |
55 changes: 55 additions & 0 deletions
55
src/main/java/com/backend/blooming/goal/application/dto/ReadAllGoalDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
package com.backend.blooming.goal.application.dto; | ||
|
||
import com.backend.blooming.goal.domain.Goal; | ||
import com.backend.blooming.goal.domain.GoalTeam; | ||
import com.backend.blooming.themecolor.domain.ThemeColor; | ||
|
||
import java.time.LocalDate; | ||
import java.util.List; | ||
|
||
public record ReadAllGoalDto(List<GoalInfoDto> goalInfoDtos) { | ||
|
||
public static ReadAllGoalDto from(final List<Goal> goals) { | ||
final List<GoalInfoDto> goalInfoDtos = goals.stream() | ||
.map(GoalInfoDto::from) | ||
.toList(); | ||
|
||
return new ReadAllGoalDto(goalInfoDtos); | ||
} | ||
|
||
public record GoalInfoDto( | ||
Long id, | ||
String name, | ||
LocalDate startDate, | ||
LocalDate endDate, | ||
long days, | ||
List<GoalTeamWithUserInfoDto> goalTeamWithUserInfoDtos) { | ||
|
||
public static GoalInfoDto from(final Goal goal) { | ||
final List<GoalTeamWithUserInfoDto> goalTeamWithUserInfoDtos = goal.getTeams() | ||
.stream() | ||
.map(GoalTeamWithUserInfoDto::from) | ||
.toList(); | ||
|
||
return new GoalInfoDto( | ||
goal.getId(), | ||
goal.getName(), | ||
goal.getGoalTerm().getStartDate(), | ||
goal.getGoalTerm().getEndDate(), | ||
goal.getGoalTerm().getDays(), | ||
goalTeamWithUserInfoDtos | ||
); | ||
} | ||
|
||
public record GoalTeamWithUserInfoDto(Long id, String name, ThemeColor color) { | ||
|
||
public static GoalTeamWithUserInfoDto from(final GoalTeam goalTeam) { | ||
return new GoalTeamWithUserInfoDto( | ||
goalTeam.getUser().getId(), | ||
goalTeam.getUser().getName(), | ||
goalTeam.getUser().getColor() | ||
); | ||
} | ||
} | ||
} | ||
} |
50 changes: 50 additions & 0 deletions
50
src/main/java/com/backend/blooming/goal/application/dto/ReadGoalDetailDto.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,50 @@ | ||
package com.backend.blooming.goal.application.dto; | ||
|
||
import com.backend.blooming.goal.domain.Goal; | ||
import com.backend.blooming.goal.domain.GoalTeam; | ||
import com.backend.blooming.themecolor.domain.ThemeColor; | ||
|
||
import java.time.LocalDate; | ||
import java.util.List; | ||
|
||
public record ReadGoalDetailDto( | ||
Long id, | ||
String name, | ||
String memo, | ||
LocalDate startDate, | ||
LocalDate endDate, | ||
long days, | ||
Long managerId, | ||
List<GoalTeamWithUserInfoDto> GoalTeamWithUserInfo | ||
) { | ||
|
||
public static ReadGoalDetailDto from(final Goal goal) { | ||
final List<GoalTeamWithUserInfoDto> goalTeamWithUserInfoDtos = goal.getTeams() | ||
.stream() | ||
.map(GoalTeamWithUserInfoDto::from) | ||
.toList(); | ||
|
||
return new ReadGoalDetailDto( | ||
goal.getId(), | ||
goal.getName(), | ||
goal.getMemo(), | ||
goal.getGoalTerm().getStartDate(), | ||
goal.getGoalTerm().getEndDate(), | ||
goal.getGoalTerm().getDays(), | ||
goal.getManagerId(), | ||
goalTeamWithUserInfoDtos | ||
); | ||
} | ||
|
||
public record GoalTeamWithUserInfoDto(Long id, String name, ThemeColor color, String statusMessage) { | ||
|
||
public static GoalTeamWithUserInfoDto from(final GoalTeam goalTeam) { | ||
return new GoalTeamWithUserInfoDto( | ||
goalTeam.getId(), | ||
goalTeam.getUser().getName(), | ||
goalTeam.getUser().getColor(), | ||
goalTeam.getUser().getStatusMessage() | ||
); | ||
} | ||
} | ||
} |
46 changes: 46 additions & 0 deletions
46
src/main/java/com/backend/blooming/goal/application/exception/InvalidGoalException.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,46 @@ | ||
package com.backend.blooming.goal.application.exception; | ||
|
||
import com.backend.blooming.exception.BloomingException; | ||
import com.backend.blooming.exception.ExceptionMessage; | ||
|
||
public class InvalidGoalException extends BloomingException { | ||
|
||
private InvalidGoalException(final ExceptionMessage exceptionMessage) { | ||
super(exceptionMessage); | ||
} | ||
|
||
public static class InvalidInvalidGoalStartDay extends InvalidGoalException { | ||
|
||
public InvalidInvalidGoalStartDay() { | ||
super(ExceptionMessage.INVALID_GOAL_START_DAY); | ||
} | ||
} | ||
|
||
public static class InvalidInvalidGoalEndDay extends InvalidGoalException { | ||
|
||
public InvalidInvalidGoalEndDay() { | ||
super(ExceptionMessage.INVALID_GOAL_END_DAY); | ||
} | ||
} | ||
|
||
public static class InvalidInvalidGoalPeriod extends InvalidGoalException { | ||
|
||
public InvalidInvalidGoalPeriod() { | ||
super(ExceptionMessage.INVALID_GOAL_PERIOD); | ||
} | ||
} | ||
|
||
public static class InvalidInvalidGoalDays extends InvalidGoalException { | ||
|
||
public InvalidInvalidGoalDays() { | ||
super(ExceptionMessage.INVALID_GOAL_DAYS); | ||
} | ||
} | ||
|
||
public static class InvalidInvalidUsersSize extends InvalidGoalException { | ||
|
||
public InvalidInvalidUsersSize() { | ||
super(ExceptionMessage.INVALID_GOAL_DAYS); | ||
} | ||
} | ||
} |
11 changes: 11 additions & 0 deletions
11
src/main/java/com/backend/blooming/goal/application/exception/NotFoundGoalException.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package com.backend.blooming.goal.application.exception; | ||
|
||
import com.backend.blooming.exception.BloomingException; | ||
import com.backend.blooming.exception.ExceptionMessage; | ||
|
||
public class NotFoundGoalException extends BloomingException { | ||
|
||
public NotFoundGoalException() { | ||
super(ExceptionMessage.GOAL_NOT_FOUND); | ||
} | ||
} |
11 changes: 11 additions & 0 deletions
11
src/main/java/com/backend/blooming/goal/application/exception/NotFoundGoalTeamException.java
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
package com.backend.blooming.goal.application.exception; | ||
|
||
import com.backend.blooming.exception.BloomingException; | ||
import com.backend.blooming.exception.ExceptionMessage; | ||
|
||
public class NotFoundGoalTeamException extends BloomingException { | ||
|
||
public NotFoundGoalTeamException() { | ||
super(ExceptionMessage.GOAL_NOT_FOUND); | ||
} | ||
} |
Oops, something went wrong.