Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

✨ AWS EC2, RDS 연결 #93

Open
Sangwook02 opened this issue Oct 4, 2023 · 0 comments
Open

✨ AWS EC2, RDS 연결 #93

Sangwook02 opened this issue Oct 4, 2023 · 0 comments
Labels
feature 기능 생성, 추가 작업

Comments

@Sangwook02
Copy link
Member

Description

AWS에 서비스를 배포합니다.

Todo

  • EC2 인스턴스 생성
  • DB 인스턴스 생성
  • DB 인스턴스에 연결

Reference

AWS 설명서

@Sangwook02 Sangwook02 added the feature 기능 생성, 추가 작업 label Oct 4, 2023
Sangwook02 added a commit that referenced this issue Oct 10, 2023
Sangwook02 added a commit that referenced this issue Oct 10, 2023
Sangwook02 added a commit that referenced this issue Oct 10, 2023
Sangwook02 added a commit that referenced this issue Oct 10, 2023
* chore: postgresql 연결 (#93)

* chore: jpa 설정 변경 (#93)

* refactor: 회원가입 요청에 JWT validation을 적용하지 않도록 수정 (#93)

* fix: anonymous 사용자의 User 모델의 username 필드가 null이 되지 않도록 수정 (#93)

* remove: h2Console 제거 (#93)

* refactor: 회원가입 후 access token 재발급 (#93) (#169)

* remove: 불필요한 todo 제거
hoyun06 added a commit that referenced this issue Nov 26, 2023
* feat: 헬스장 관련 정보 (#5) (#6)

* feat: SidoArea.java 도메인 생성 (#5)

* feat: SiggArea.java 도메인 생성 (#5)

* feat: EmdArea.java 도메인 생성 (#5)

* feat: Gym.java 도메인 생성 (#5)

* feat: Gym의 주소 관련 repository 생성 (#5)

* feat: Gym의 주소 관련 service 생성 (#5)

* feat: Gym의 repository 생성 (#5)

* feat: Gym의 service 생성 (#5)

* 회원, 기능제안, 크레딧, 에러 리포트 (#4) (#7)

* feat: 도메인 객체 개발 완료(다른 파트와의 연관관계는 누락) (#4)

* feat: Report의 repository생성 (#4)

* feat: Proposal의 repository생성 (#4)

* feat: Credit의 repository생성 (#4)

* feat: Authority의 repository생성 (#4)

* feat: User의 repository생성 (#4)

* feat: User의 Service생성 (#4)

* feat: Report의 Service생성 (#4)

* feat: Proposal의 Service생성 (#4)

* feat: Credit의 Service생성 (#4)

* feat: Authority의 Service생성 (#4)

* feat: 기존 모든 도메인 클래스의 GeneratedValue 어노테이션에 누락된 strategy 속성 추가 (#4)

* feat: Credit의 기존 컬럼명을 credit_year 와 credit_month 로 변경. User의 email 필드에 @Email 추가. (#4)

* refactor: 헬스장 관련 정보 (#5) (#9)

* feat: SidoArea.java 도메인 생성 (#5)

* feat: SiggArea.java 도메인 생성 (#5)

* feat: EmdArea.java 도메인 생성 (#5)

* feat: Gym.java 도메인 생성 (#5)

* feat: Gym의 주소 관련 repository 생성 (#5)

* feat: Gym의 주소 관련 service 생성 (#5)

* feat: Gym의 repository 생성 (#5)

* feat: Gym의 service 생성 (#5)

* rename: 주소 정보 파일 구조 수정 (#5)

* refactor: repository에 data jpa 적용 (#5)

* feat: 예약, 루틴 관련 기능 (#3) (#8)

* feat: add Equipment domain (#3)

* feat: add EquipmentGym domain (#3)

* feat: add Reservation domain (#3)

* feat: add Routine domain (#3)

* feat: add Equipment Repository (#3)

* feat: add EquipmentGym Repository (#3)

* feat: add Reservation Repository (#3)

* feat: add Routine Repository (#3)

* feat: add EquipmentRoutine Repository (#3)

* feat: add Equipment service (#3)

* feat: add EquipmentGym service (#3)

* feat: add Reservation service (#3)

* feat: add Routine service (#3)

* feat: add EquipmentRoutine service (#3)

* feat: apply reviews (#3)

모든 Data 어노테이션을 Getter로 수정
Convert Equipment.time(Long) into duration(Duration)
@joincolumn의 nullable=false 적용
Enumerated 적용
Routine.count 변수의 final 키워드 삭제

* feat: correct JoinColumn in Equipment (#3)

name 추가

* Rename: Purpose.part 변수명 변경 (#3)

part -> description

* feat: correct ID type in EquipmentRepository (#3)

* chore: 불필요한 파일 삭제, Duration 타입 옵션 제거 (#10, #12) (#13)

* remove: location 잔여 파일 제거 (#10)

* chore: columnDefinition="INTERVAL"옵션 제거 (#11)

* feat: 회원, 기능제안, 크레딧, 에러 리포트 (#4) (#11)

* feat: 도메인 객체 개발 완료(다른 파트와의 연관관계는 누락) (#4)

* feat: Report의 repository생성 (#4)

* feat: Proposal의 repository생성 (#4)

* feat: Credit의 repository생성 (#4)

* feat: Authority의 repository생성 (#4)

* feat: User의 repository생성 (#4)

* feat: User의 Service생성 (#4)

* feat: Report의 Service생성 (#4)

* feat: Proposal의 Service생성 (#4)

* feat: Credit의 Service생성 (#4)

* feat: Authority의 Service생성 (#4)

* feat: 기존 모든 도메인 클래스의 GeneratedValue 어노테이션에 누락된 strategy 속성 추가 (#4)

* feat: Credit의 기존 컬럼명을 credit_year 와 credit_month 로 변경. User의 email 필드에 @Email 추가. (#4)

* feat: User.java에 필드값 변경할 수 있는 update 메소드 작성. UserRepository.java에 기본적인 CRUD 메소드 작성. (#4)

* feat: User.java와 UserRepository.java에 프로필 사진 관련 내용 추가. (#4)

* feat: CreditRepository.java에 조회 메소드들 추가. (#4)

* feat: AuthorityRepository.java에 조회 메소드들 추가. (#4)

* feat: Authority.java, Credit.java, Proposal.java, Report.java에 양방향 관계를 위한 연관관계 편의 메소드 추가. (#4)

* feat: CreateReportRequestDto.java와 CreateProposalRequestDto.java 생성. Report.java와 Proposal.java에 @builder 적용. (#4)

* feat: ReportService.java와 ProposalService.java에 기본적인 저장 및 조회 메소드들 추가. (#4)

* feat: Authority.java에 Credit 클래스와의 양방향 연관관계를 위한 연관관계 편의 메소드 작성. @onetomany 어노테이션에 속성으로 cascade와 orphanRemoval 추가. (#4)

* feat: Credit.java에 @builder 추가. Credit 인스턴스를 생성하는 static 생성 메소드 추가. Credit 객체 생성할 때 초기 amount 값을 설정해 주는 필드 추가(@transient 사용). 기존에 있었던 Authority 클래스와의 연관관계 편의 메소드 삭제. (#4)

* rename: Proposal.java와 Report.java를 domain 패키지 하위 dev 패키지로 이동. (#4)

* refactor: 중복 파일 제거 (#4)

* refactor: 중복 파일 제거 (#4)

* refactor: @Setter 제거 (#4)

---------

Co-authored-by: [email protected] <[email protected]>

* refactor: 디렉토리 구조 수정 (#14)  (#15)

* refactor: repository 내부 패키지 정리 (#14)

* refactor: service 내부 패키지 정리 (#14)

* refactor: 헬스장 주소 저장 로직의 변경 (#16) (#20)

* remove: location 관련 domain, service, repository 삭제 (#16)

* refactor: 변경된 주소 정보 로직에 따른 address필드 타입 변경 (#16)

* chore: data sql 적용 (#18) (#21)

* chore: ignore 수정 (#18)

data.sql 추가

* chore: application property 수정 (#18)

data.sql 사용을 위한 jpa 관련 부분 추가

* feat: 도메인 클래스에 JPA Auditing 적용 (#19) (#26)

* feat: ReservationApplication.java에 @EnableJpaAuditing 어노테이션 추가. (#19)

* feat: BaseEntity.java 클래스 생성. (#19)

* feat: Authority, Equipment, EquipmentGym, Gym, Reservation, Routine, User 도메인 클래스가 BaseEntity 상속. (#19)

* refactor: BaseEntity를 BaseTimeEntity로 이름 변경. 상속 클래스들의 extends문 변경. (#19)

* refactor: BaseTimeEntity.java를 domain 하위 common 패키지로 이동. (#19)

* refactor: Role Enum에서 STAFF 제거. (#19) (#28)

* feat: 회원의 헬스장 관리 API 구현 (#24) (#29)

* feat: 빌더패턴 생성자 추가 (#24)

* feat:Authority 레포지토리 메소드 구현 (#24)

deleteByUserIdAndGymId
findAuthoritiesByUserId

* feat: 리스트 dto 구현 (#24)

* feat: GymResponseDto 구현 (#24)

* feat: GymRequestDto 구현 (#24)

* feat: GymApiController 구현 (#24)

* feat: AuthorityService 구현 (#24)

* feat: api 엔드포인트 수정, 함수명 변경 (#24)

change
/api/v1/gyms into
/api/v1/gyms/authority

change list into listRegistration

* rename: controller 이름 변경 (#24)

엔드포인트 변경,
@Valid 적용,
GymListResponse 적용

* rename: requestDto 이름 변경 (#24)

GymRequestDto.java ->
AuthorityRequestDto.java

* feat: 함수명 변경, 반환형 변경 (#24)

함수명 변경
list() -> listRegistration()
반환형 변경
ListResponseDto -> GymListResponse

* feat: GymListResponse 구현 (#24)

* remove: ListResponseDto 삭제 (#24)

* feat: 회원의 헬스장 관리 API 구현 (#22) (#30)

* feat: 회원으로 Authority 조회 (#22)

* feat: repository가 반환한 Authority의 Gym 반환 (#22)

* feat: Equipment를 새로 등록하는 service 구현 (#22)

* feat: 입력받은 count만큼 등록 (#22)

* feat: Staff1_Register1에 해당하는 Api 구현 (#22)

* feat: gymId로 Gym 조회 (#22)

* feat: Staff1_List1의 response Dto 생성 (#22)

* feat: Staff1_List1의 Api 생성 (#22)

* feat: Staff1_List1을 위한 EquipmentGym의 service와 repository 구현 (#22)

* feat: Staff1_Modify1을 위한 EquipmentGym의 service 구현 (#22)

* feat: condition 수정을 위한 request Dto 생성 (#22)

* feat: Staff1_Modify1의 Api 구현 (#22)

* feat: Staff1_Register1의 request Dto 생성 (#22)

* refactor: 변수명 변경 (#22)

* refactor: 변수명 변경 (#22)

* feat: 빌더 추가 (#22)

* feat: Staff1의 delete 기능을 위한 request Dto 생성 (#22)

* feat: Staff1_Delete1을 위한 cascade 설정 (#22)

* feat: Staff1_Delete1을 위한 service 구현 (#22)

* feat: Staff1_Delete2을 위한 service 구현 (#22)

* feat: Staff1_Delete1의 Api 구현 (#22)

* feat: Staff1_Delete2의 Api 구현 (#22)

* refactor: cascade 설정을 remove로 한정 (#22)

* refactor: request Dto에 기본 생성자 추가 및 validation 적용 (#22)

* refactor: 누락된 @Valid 추가 (#22)

* refactor: final 설정 추가 및 불필요한 생성자 제거 (#22)

* refactor: Optional 제거하여 null에 대한 책임을 Service에 부여 (#22)

* refactor: Enum 타입에 대한 Validation 제거 (#22)

* refactor: Staff1_Register1의 로직 변경 (#22)

* refactor: EquipmentResponse 생성자 추가 후 Service 로직 수정 (#22)

* refactor: method reference 적용 (#22)

* feat: 전체 헬스장 조회 API 개발 (#25) (#31)

* feat: Gym 객체를 이용하여 GymResponseDto를 만드는 생성자를 GymResponseDto.java에 추가. (#25)

* feat: GYM1_LIST1을 위한 getAllGyms 메소드를 GymService.java에 추가. (#25)

* feat: GYM1_LIST1을 위한 GymApiController.java 생성. (#25)

* chore: GymApiController 내부에 필드와 주석 사이 줄바꿈 수정 (#25)

* refactor: GymResponseDto에 snake case를 위한 @JsonNaming 어노테이션 추가 (#25)

* feat: 회원 관리 API 개발 (#23) (#32)

* feat: STAFF2_USERACCEPT1을 위한 Request Dto 클래스 생성 (#23)

* feat: STAFF2_USERACCEPT1을 위한 Response Dto 클래스 생성 (#23)

* feat: STAFF2_USERACCEPT2를 위한 Response Dto 클래스 생성 (#23)

* feat: STAFF2_USERACCEPT2를 위한 List 데이터를 담는 Response Dto 클래스 생성 (#23)

* feat: STAFF2_USERACCEPT1을 위한 acceptUser 메소드와 STAFF2_USERACCEPT2를 위한 getUserAndAcceptRequestList 메소드를 StaffApiController.java에 추가 (#23)

* feat: STAFF2_USERACCEPT1을 위한 acceptUser 메소드와 STAFF2_USERACCEPT2를 위한 getUserAndAcceptRequestList 메소드를 AuthorityService.java에 추가 (#23)

* feat: STAFF2_USERACCEPT1을 위한 조회 메소드를 AuthorityRepository.java에 추가(STAFF2_USERACCEPT2를 위한 조회 메소드는 기존에 작성된 메소드 활용) (#23)

* feat: Authority.java에 accepted 필드값을 업데이트하는 메소드 추가 (#23)

* rename: UserAndAcceptRequestResponse를 UserAndPendingResponse로 이름 변경 (#23)

* rename: UserAndAcceptRequestListResponse를 UserAndPendingListResponse로 이름 변경 (#23)

* chore: UserAndPendingListResponse 내부 줄바꿈 수정 (#23)

* refactor: Authority 내부 updateAccepted 메소드를 acceptUser 메소드로 변경 (#23)

* refactor: AuthorityRepository 내부 findOneByUserIdAndGymIdAndAccepted 메소드를 제거 (#23)

* refactor: AuthorityService 내부 acceptUser 메소드 내부 로직 변경 (#23)

* chore: Dto 이름에서 Dto 제거 (#39) (#40)

* chore: AuthorityController의 이름을 naming convention에 맞게 수정 (#37) (#41)

* feat: 기구 조회 API 개발 (#33) (#38)

* feat: Equipment를 pk로 조회하는 service 메서드 추가 (#33)

* feat: "/equipments"로 들어오는 세 가지 API 구현 (#33)

* chore: EquipmentApiController.java 주석 추가 (#33)

* feat: EquipmentGymList 조회를 위한 service layer 구현 (#33)

* feat: 기구별 상세정보 조회를 위한 response Dto 구현 (#33)

* feat: pk로 EquipmentGym 조회 (#33)

* feat: EquipmentGym로 Reservation 조회 (#33)

* feat: 기구의 예약 불가능 시간 목록을 조회하는 service 구현 (#33)

* feat: Equipment3_INFO1에 해당하는 api 개발 (#33)

* refactor: 최대 예약 시간을 3 -> 2시간으로 수정 (#33)

* refactor: null에 대한 예외 처리 (#33)

* feat: 회원의 루틴 관련 API 개발 (#34) (#44)

* feat: USER6_ROUTINE1 기능 구현을 위해 RoutineApiController.java 생성 및 registerRoutine 메소드 작성 (#34)

* feat: USER6_ROUTINE1 기능 구현을 위해 RoutineService.java에 registerRoutine과 validateDuplicate 메소드 작성 (#34)

* feat: USER6_ROUTINE1 기능 구현을 위해 RoutineRepository.java에 findByUserAndName 메소드 작성 (#34)

* feat: USER6_ROUTINE1 기능 구현을 위해 EquipmentRoutineService.java에 registerEquipmentRoutine 메소드 작성 (#34)

* feat: USER6_ROUTINE1 기능 구현을 위해 EquipmentRepository.java에 findByIdAndGym 메소드 작성 (#34)

* feat: USER6_ROUTINE1 기능 구현을 위해 EquipmentRoutine.java와 Routine.java에 Builder 적용 (#34)

* feat: USER6_ROUTINE1 기능 구현을 위해 UserService.java에 findOneById 메소드 작성 (#34)

* feat: USER6_ROUTINE1 기능 구현을 위해 Request Dto 클래스들 생성 (#34)

* refactor: RoutineApiController.java 내부 registerRoutine 메소드의 ResponseEntity body에 들어갈 타입을 Long 에서 Void로 변경 (#34)

* feat: USER6_ROUTINE2 기능 구현을 위해 RoutineApiController.java에 updateRoutine 메소드 작성 (#34)

* feat: USER6_ROUTINE2 기능 구현을 위해 RoutineService.java에 updateRoutine과 findById 메소드 작성 (#34)

* feat: USER6_ROUTINE2 기능 구현을 위해 EquipmentRoutineRepository.java에 deleteAllByRoutine 메소드 작성 (#34)

* feat: USER6_ROUTINE2 기능 구현을 위해 Request Dto 생성 (#34)

* feat: USER6_ROUTINE3 기능 구현을 위해 RoutineApiController.java에 getAllRoutinesByUser 메소드 작성 (#34)

* feat: USER6_ROUTINE3 기능 구현을 위해 RoutineService.java에 getAllRoutinesByUser 메소드 작성 (#34)

* feat: USER6_ROUTINE3 기능 구현을 위해 RoutineRepository.java에 findAllByUser 메소드 작성 (#34)

* feat: USER6_ROUTINE3 기능 구현을 위해 Response Dto 클래스들 생성 (#34)

* refactor: RoutineApiController.java 내부 getAllRoutinesByUser 메소드에 주석 추가 및 반환 타입 수정 (#34)

* feat: USER6_ROUTINE4 기능 구현을 위해 RoutineApiController.java에 deleteRoutine 메소드 작성 (#34)

* feat: USER6_ROUTINE4 기능 구현을 위해 RoutineService.java에 deleteRoutine 메소드 작성 (#34)

* feat: USER6_ROUTINE4 기능 구현을 위해 Request Dto 클래스 생성 (#34)

* feat: USER6_ROUTINE5 기능 구현을 위해 RoutineApiController.java에 getRoutineDetail 메소드 작성 (#34)

* feat: USER6_ROUTINE5 기능 구현을 위해 RoutineService.java에 getRoutineDetail 메소드 작성 (#34)

* feat: USER6_ROUTINE5 기능 구현을 위해 EquipmentRoutineRepository.java에 findAllByRoutine 메소드 작성 (#34)

* feat: USER6_ROUTINE5 기능 구현을 위해 Response Dto 클래스들 생성 (#34)

* refactor: RoutineDetailResponse 내부의 name 필드를 routineName으로 변경 (#34)

* refactor: RoutineApiController.java 내부 getRoutineDetail 메소드의 엔드포인트 변경 (#34)

* refactor: Routine.java 내부에 User와의 연관관계를 Authority와의 연관관계로 변경함으로써 발생한 수정 사항들 (#34)

* refactor: RoutineApiController.java 내부 registerRoutine메소드에서 gymId를 쿼리 파라미터로 받는 것으로 수정. 그에 따라 RegisterRoutineRequest.java도 수정 (#34)

* refactor: EquipmentRoutine.java에 order 필드가 추가됨으로써 발생한 수정 사항 (#34)

* refactor: EquipmentRoutine.java 내부 order 필드를 sequence로 이름 변경 및 그에 따른 수정 사항 (#34)

* chore: 주석 수정 및 필드명 변경 (#34)

* refactor: RoutineApiController.java 내부 updateRoutine 메소드 내부 로직 변경에 따른 수정 사항 및 Dto 생성 (#34)

* chore: RoutineApiController, RoutineService에 PR comment 수정 사항 반영 (#34)

* chore: Request/Response Dto 클래스들에 PR comment 수정 사항 반영 (#34)

* chore: AuthorityService, EquipmentRepository, UserService에 PR comment 수정 사항 반영 (#34)

* refactor: USER6_ROUTINE1 API의 endpoint에서 쿼리 파라미터로 받던 gymId를 제거함으로써 생긴 수정 사항 (#34)

* refactor: EquipmentRoutineService 내부에 sequence 체킹 로직 추가 및 private 메소드 추출 작업 (#34)

* chore: 주석 정리 (#34)

* chore: 주석 정리 (#34)

---------

Co-authored-by: [email protected] <[email protected]>

* refactor: getAllOccupiedTimes에서 isAfter를 isBefore로 수정 (#46) (#47)

* feat: 예약 기능 구현 (#35) (#42)

* feat: 기구별 사용 및 반납 메소드 구현(#35)

EquipmentGym.use
EquipmentGym.restore

* feat: 사용 가능한 기구 조회 메소드 구현(#35)

* feat: Reservation 빌더 생성자 구현(#35)

* feat: Reservation 컨트롤러 구현(#35)

* feat: Reservation Request Dto 구현(#35)

* feat: Reservation Response Dto 구현(#35)

* feat: 예약 생성 기능 구현(#35)

* feat: 예약 조회 기능 controller (#35)

* feat: 상세한 예약 정보 조회 dto 구현 (#35)

* feat: ReservationListResponse 구현 (#35)

* feat: 사용자 id를 통한 예약 조회 (#35)

ReservationRepository.findAllByReserverId

* feat: 사용자의 예약 정보 조회 기능 구현 (#35)

* feat: 예약 수정 메소드 구현 (#35)

* feat: 예약 수정 컨트롤러 구현 (#35)

* feat: 예약 수정 requestDto (#35)

* feat: 예약 수정 로직 구현 (#35)

* chore: AuthorityController의 이름을 naming convention에 맞게 수정 (#37) (#41)

* feat: 예약 삭제 컨트롤러 구현 (#35)

* feat: 예약 삭제 로직 구현 (#35)

* refactor: change domain for reservation (#35)

* feat: Sl4j 적용 (#35)

* feat: ReservationRequest validation 강화 (#35)

repetitionNumber에 대해서도 not null validation 적용

* feat: Reservation 컨트롤러 유효성 검사 추가 (#35)

예약 수정 기능의 RequestBody 유효성 검사 추가

* feat: Reservation 수정 리퀘스트 유효성 검사 (#35)

Future validation 적용

* refactor: reservationDetailResponseList 변수화 (#35)

* fest: 시간대 중복 확인 메소드 구현(#35)

* feat: 예약 정보 조회 컨트롤러 쿼리파라미터 적용(#35)

* fix: 예약 생성 및 수정 시 중복 여부 확인, 예약 조회 로직 변경 (#35)

validateReservationOverlap()
- 요청 시간대가 특정 기구(EquipmentGym)의 예약 현황과 겹치면 false 를 반환함

reserve(): 예약 가능한 기구 중 하나에 예약을 진행

update(): 해당 기구의 예약 현황 상 수정 가능하면 예약 수정

listReservation(): 특정 기구의 예약 현황을 조회하도록 수정

* fix: 예약 수정 로직 변경 (#35)

해당 기구에서만 수정이 가능하도록 변경

* refactor: 예약 수정 로직 간소화 (#35)

* feat: ReservationRequest validation 수정 (#35)

startAt, endAt: @future 적용
repetitionNumber: @min 적용

---------

Co-authored-by: Cho Sangwook <[email protected]>

* feat:  루틴으로 예약 API 개발 (#36)  (#51)

* feature: Routine의 equipmentRoutine을 sequence 오름차순으로 조회 (#36)

* feature: Routine의 equipmentRoutine을 조회 (#36)

* feature: Routine으로 예약하기 위한 Dto 추가 (#36)

* refactor: Routine이 아닌 id로 조회하도록 수정 (#36)

* refactor: 메서드로 추출하여 재사용성 높임 (#36)

* feature: Routine 예약을 담당하는 메서드 구현 (#36)

* feat: Routine을 이용한 빠른 예약 Api를 구현 (#36)

* remove: 불필요한 메서드 제거 (#36)

* refactor: 가독성을 위한 변수명 수정 (#36)

* refactor: Dto 필드에 final 부여 및 불필요한 생성자 제거 (#36)

* fix: 사용 가능한 기구가 없다면 사용 시작 시간을 1분 늦추는 로직에서 startAt 뿐만 아니라 endAt도 조정 (#36)

* refactor: success 필드 추가하여 실패한 경우에도 RoutineReservationResponse를 반환하도록 함 (#36)

* refactor: 헬스장 운영 시간 추가 (#48) (#53)

* feat: Gym에 들어갈 임베디드 클래스 생성 (#48)

* refactor: Gym에 임베디드 객체 추가 (#48)

* refactor: ReservationService에 헬스장 운영 시간 체크하는 로직 추가 (#48)

* chore: 메소드에서 static 키워드 제거 (#48)

* chore: 24시간 운영일 경우 필드 설정 관련 주석 추가 (#48)

* chore: isAfterOpenHour와 isBeforeCloseHour를 각각 checkAfterOpenHour와 checkBeforeCloseHour로 수정 (#48)

* refactor: 메소드 이름 변경 (#48)

* fix: 로직 내부 부등호 추가 (#48)

* feat: 마이페이지, 회원 탈퇴 기능(#45) (#54)

* refactor: UserRepository JpaRepository로 변경 (#45)

* feat: user controller 구현 (#45)

* feat: 사용자 정보 수정 기능 구현 (#45)

- add UserService.modify

- refactor UserService.findOneById by refactoring of UserRepository

* feat: 사용자 정보 수정 기능 dto 구현 (#45)

UserSimpleResponse, UserUpdateRequest

* feat: 사용자 정보 조회 컨트롤러 (#45)

* feat: 사용자 정보 조회 응답 dto 구현 (#45)

* feat: 사용자 정보 조회 기능 구현 (#45)

* rename: 사용자 정보 수정 요청 dto 경로 수정 (#45)

* feat: 사용자 탈퇴 기능 컨트롤러 (#45)

* feat: 사용자 탈퇴 기능 구현 (#45)

* feat: user 필드 업데이트 메소드 수정 (#45)

각 업데이트 메소드가 null 값인지 확인하도록 수정

* feat: 사용자 정보 수정 요청 dto 수정 (#45)

각 필드가 nullable 하도록 수정

* refactor: 사용자 정보 반환 dto 변수 수정 (#45)

change id into userId

* refactor: 사용자 당기 크레딧 조회 기능 (#45)

User, Authority 멤버 메소드로 리팩토링

* refactor: 사용자 정보 수정 로직 변경 (#45)

service 에서 요청에 따른 수정 사항 적용하도록 변경

* refactor: revise CreditRepository (#45)

revise implementation of CreditRepository nto JpaRepository

* feat: 사용자 정보 로직 수정(#45)

authority에 따라 수정하도록 변경

* feat: OAuth2와 Jwt를 이용한 인증/인가 기능(#52) (#60)

* refactor: UserRepository에 JpaRepository 적용 (#52)

* docs: security 의존성 추가 (#52)

* feat: implement UserDetails (#52)

* refactor: JpaRepository 적용에 따른 수정 (#52)

* feat: security config 추가 (#52)

* feat: security를 위한 UserDetailService 추가 (#52)

* feat: nickname으로 회원 조회 메서드 생성 (#52)

* docs: security를 위한 의존성 추가 (#52)

* docs: security 비밀키 분리 (#52)

* remove: 불필요한 UserDetailService 제거 (#52)

* feat: OAuth2와 Jwt 적용을 위한 SecurityConfig 구현 (#52)

* refactor: UserDetailService 제거에 따른 수정 (#52)

* feat: CustomOAuth2User 구현 (#52)

* feat: Role에 description 추가 (#52)

* feat: Provider에 description 추가 (#52)

* feat: RefreshToken 구현 (#52)

* feat: RefreshTokenRepository 구현 (#52)

* feat: OAuthHistory domain, repository 구현 (#52)

* feat: Jwt token 발행 Property class 구현 (#52)

* feat: OAuth2 Handler 구현 (#52)

- OAuth2SuccessHandler
- OAuth2FailureHandler

* feat: Jwt token 생성 및 검증 (#52)

* feat: Jwt token 검증 필터 (#52)

* feat: Custom OAuth2UserService 구현 (#52)

loadUser, findOAuthHistory, createdOAuthHistory

* feat: 인증 요청 상태 저장을 위한 쿠키 및 repository (#52)

* fix: getHeader의 name을 authorityId로 수정 (#62) (#63)

* refactor: Authority가 없는 회원의 인가 처리 (#65) (#66)

* feat: 등록된 Gym이 없는 회원의 Authentication을 반환 (#65)

* fix: 변수 type 변경 (#65)

jwt가 서버로 돌아올 때는 Long을 유지하지 못하므로 Integer로 통일

* feat: 등록된 Gym이 없는 회원의 Role을 Guest로 지정 (#65)

* feat: 등록된 Gym이 없는 회원의 TokenAuthenticationFilter 로직 추가 (#65)

* fix: /login에 접근하거나 token없이 /api에 접근하는 경우 필터를 거치지 않도록 수정 (#65)

* refactor: 기구 헬스장에 이름 추가 (#49) (#64)

* refactor: EquipmentGym에 name 필드 추가 (#49)

* refactor: EquipmentGym에 name 필드 추가에 따른 Dto 클래스 수정 (#49)

* refactor: EquipmentGym에 name 필드 추가에 따른 Controller 및 Service 클래스 수정 (#49)

* feat: 코드 스타일 개선 반영 (#67)

* refactor: Optional null 예외 처리 (#43)

* refactor: 반환 인스턴스 할당 제거 (#43)

* refactor: toList 변환 (#43)

* feat: DEV 관련 API 개발 (#57) (#69)

* feat: DevApiController 생성 (#57)

* feat: @builder 적용 및 생성 메소드 추가 (#57)

* refactor: Dto 클래스에 validation 적용 (#57)

* refactor: Service 클래스 save 메소드 수정 (#57)

* refactor: Dto 클래스에 PR comment 내용 반영 및 @NoArgsConstructor 추가 (#57)

* chore: Security 관련 주석 추가 (#61) (#68)

* chore: WebSecurityConfig 주석 추가 (#61)

* chore: CookieUtil 주석 추가 (#61)

* chore: CustomOAuth2User 주석 추가 (#61)

* chore: JwtProperties 주석 추가 (#61)

* chore: OAuth2SuccessHandler 주석 추가 (#61)

* chore: OAuth2UserCustomService 주석 추가 (#61)

* chore: OAuthHistory 주석 추가 (#61)

* chore: TokenAuthenticationFilter 주석 추가 (#61)

* chore: TokenProvider 주석 추가 (#61)

* feat: AWS S3에 이미지 저장 (#55) (#73)

* docs: application.properties에 aws s3 property 추가 (#55)

* docs: build.gradle에 aws s3 client 의존성 추가 (#55)

* feat: aws S3 configuration 생성 (#55)

* feat: 이미지 S3 업로드 메서드 생성 (#55)

* feat: 예약 수정 시 다른 기구 예약 (#50) (#72)

* feat: 기구 종류를 통한 검색 추가 (#50)

* feat: 예약 도메인 메소드 추가 (#50)

- updateRepetitionNumber 구현
- reserveAnother 구현
- updateTime 으로 메소드명 변경

* feat: 예약 컨트롤러 헤더 추가 (#50)

* feat: 예약 수정 기능 변경 (#50)

해당 기구 시간 변경이 불가능 하면 다른 기구 예약을 하도록 변경

* feat: 예약 세트 횟수 변경 기능 (#50)

* feat: 예약 수정 dto 수정 (#50)

예약 세트 횟수 변수 추가

* rename: reserveAnother 메소드 변수명 변경 (#50)

- targetEquipmentGym -> anotherEquipmentGym

* style: 공백 추가 (#50)

* remove: 메소드 재활용에 따른 제거 (#50)

* fix: findAvailableByEquipmentId 쿼리 조건 변경 (#50)

AVAILABLE 조건 제거

* fix: @repository 어노테이션 제거 (#50)

* fix: 2시간 이내의 예약인지 검증 (#50)

validateReservationIn2Hours
reserve, update

* style: private 메소드 위치 조정 (#50)

* refactor: 예약하기 기능 리팩토링 (#50)

- Reservation.create 를 통해 가독성 개선
- 불필요한 파라미터 선언 제거

* fix: 예약하기 기능 save 메소드 누락 수정 (#50)

* feat: 예약 도메인 변경 (#50)

예약 기구 변경 메소드 추가
예약 시간 변경 메소드 분리
불필요한 static 메소드 제거

* feat: 예약 수정 기능 변경 (#50)

예약 시간 변경 메소드 분리하여 적용
다른 기구로 예약 로직 단순화

* feat: 크레딧 관련 API 개발 (#56) (#71)

* feat: CREDIT2에 해당하는 api 개발 (#56)

* feat: gym, year, month로 Credit List 조회 (#56)

* feat: CREDIT2의 response Dto 생성 (#56)

* feat: CREDIT2의 service 구현 (#56)

* feat: credit 부여를 위한 메서드 추가 (#56)

* feat: Authority, year, month로 credit 조회 (#56)

* feat: 시작 태그 필드 추가 (#56)

* feat: 조건 확인 후 credit 추가 메서드 구현 (#56)

* refactor: Pageable을 이용해 상위 10개의 결과만 가져오도록 수정 (#56)

* refactor: credit 부여 조건 수정 (#56)

* style: 불필요한 개행 제거 (#56)

* style: 불필요한 중괄호 제거 (#74) (#76)

* feat: snake case 적용 (#75) (#78)

* feat: kakao 로그인 api 연동 (#52) (#80)

* refactor: UserRepository에 JpaRepository 적용 (#52)

* docs: security 의존성 추가 (#52)

* feat: implement UserDetails (#52)

* refactor: JpaRepository 적용에 따른 수정 (#52)

* feat: security config 추가 (#52)

* feat: security를 위한 UserDetailService 추가 (#52)

* feat: nickname으로 회원 조회 메서드 생성 (#52)

* docs: security를 위한 의존성 추가 (#52)

* docs: security 비밀키 분리 (#52)

* remove: 불필요한 UserDetailService 제거 (#52)

* feat: OAuth2와 Jwt 적용을 위한 SecurityConfig 구현 (#52)

* refactor: UserDetailService 제거에 따른 수정 (#52)

* feat: CustomOAuth2User 구현 (#52)

* feat: Role에 description 추가 (#52)

* feat: Provider에 description 추가 (#52)

* feat: RefreshToken 구현 (#52)

* feat: RefreshTokenRepository 구현 (#52)

* feat: OAuthHistory domain, repository 구현 (#52)

* feat: Jwt token 발행 Property class 구현 (#52)

* feat: OAuth2 Handler 구현 (#52)

- OAuth2SuccessHandler
- OAuth2FailureHandler

* feat: Jwt token 생성 및 검증 (#52)

* feat: Jwt token 검증 필터 (#52)

* feat: Custom OAuth2UserService 구현 (#52)

loadUser, findOAuthHistory, createdOAuthHistory

* feat: 인증 요청 상태 저장을 위한 쿠키 및 repository (#52)

* refactor: 캐스팅 변환을 valueOf로 변경 (#52)

* feat: nfc 태그에 따른 startTagAt update (#83)

* feat: 예약의 태그 시간 update 메서드 구현 (#70)

* feat: 기구 사용 시작 request dto 추가 (#70)

* refactor: LocalDateTime.now()를 static import로 수정하여 가독성 개선 (#70)

* feat: authority와 equipmentGym으로 reservation 조회 메서드 추가(#70)

* feat: startTagAt update 메서드 구현 (#70)

* feat: startTagAt patch api 구현 (#70)

* refactor: startTagAt을 한번만 설정할 수 있도록 로직 변경 (#70)

* refactor: api의 이름을 역할에 맞게 변경 (#70)

* refactor: service의 누락된 역할을 추가 (#70)

* feat: 예약 상태 수정 메서드 추가 (#70)

* feat: Authority 도메인에 credit 획득 횟수 추가 (#79) (#81)

* feat: Authority에 크레딧 획득 횟수 필드 및 관련 메소드 추가 (#79)

* feat: 크레딧 획득 횟수 초기화하는 ScheduleService 생성 (#79)

* feat: scheduling을 위한 annotation 추가 (#79)

* feat: Authority 전체 조회 메소드 추가 (#79)

* feat: CREDIT1_OBTAIN1을 위한 Controller 메소드 추가 (#79)

* feat: CREDIT1_OBTAIN1을 위한 Dto 클래스 생성 (#79)

* feat: Reservation 단일 조회 메소드 추가 (#79)

* refactor: CREDIT1_OBTAIN1을 위한 addCredit 메소드 수정 (#79)

* chore: 누락된 import문 추가 (#79)

* feat: CREDIT1_OBTAIN1에서 필요한 메소드 각 도메인에 추가 (#79)

* refactor: PR comment 수정 사항 반영 (#79)

* feat: 회원 예약 정보 조회 반영 (#77) (#84)

* feat: 회원 예약 정보 조회 컨트롤러 구현 (#77)

* feat: 회원 예약 정보 조회 기능 구현 (#77)

* rename: 회원 예약정보 조회 메소드명 변경 (#77)

* style: 공백 추가 (#77)

* refactor: 본인의 예약 정보 조회 파라미터 변경 (#77)

* refactor: Authority controller 파라미터 변경 및 로직 수정(#85) (#86)

* refactor: authority 조회 기능 파라미터 변경 (#85)

- 컨트롤러 파라미터 변경
- 서비스 파라미터 변경
- 서비스 로직 변경

* refactor: authority 삭제 기능 파라미터 변경 (#85)

- 컨트롤러 파라미터 변경
- 서비스 파라미터 변경
- 서비스 로직 변경
- 레포지토리 함수 추가

* refactor: manager api 접근 허용 Role 설정 (#88) (#89)

* refactor: Role의 description 형식 수정 (#88)

* refactor: header name 수정 (#88)

authorityId -> authority-id

* refactor: manager 관련 api에 대한 접근 제한 (#88)

* feat: 회원 추가 정보 입력 API 개발 (#87) (#91)

* feat: 회원 추가 정보 입력 시 OAuthHistory의 필드 update (#87)

* feat: 회원 추가 정보 입력 시 저장을 위한 User 빌더 (#87)

* feat: 회원 추가 정보 입력 시 저장을 위한 api와 dto (#87)

* feat: 회원 추가 정보 입력 시 저장을 위한 service (#87)

* fix: OAuthHistory 조회 로직 수정 (#90) (#92)

* refactor: remove response body (#94) (#96)

* refactor: reservation 컬렉션의 response 정리 (#94)

* refactor: Authority 로직 응답 삭제 (#94)

* refactor: Credit 로직 응답 삭제 (#94)

* refactor: Staff 로직 response body 삭제 (#94)

* refactor: user 컬렉션의 response 정리 (#94)

* refactor: StaffApiController.acceptUser response body 삭제 (#94)

* refactor: response 정리 (#94)

---------

Co-authored-by: leesh <[email protected]>
Co-authored-by: hoyun06 <[email protected]>

* fix: Credit 획득 로직 오류 처리 (#95) (#97)

* fix: User의 balance update 로직 수정 (#95)

* refactor: 일일 크레딧 획득량 초과시 exception 발생 (#95)

* rename: header의 name을 convention에 맞추어 수정 (#100) (#101)

* refactor: 삭제할 예약을 path variable로 받도록 수정 (#103) (#105)

* refactor: 회원 승인 요청의 응답을 ok가 아닌 created로 변경 (#104) (#106)

* refactor: controller에서 사용자 정보를 header로 받도록 수정 (#109) (#111)

* refactor: userId를 header로 받도록 변경 (#109)

* refactor: authorityId를 header로 받도록 변경 (#109)

* refactor: authorityId만으로 조회하도록 변경 (#109)

* refactor: authorityId를 header로 받도록 변경 (#109)

* rename: request dto를 모두 request로 통일 (#110) (#113)

* refactor: 사용되지 않는 DTO 제거 (#112) (#116)

* remove: 불필요한 dto 제거 (#112)

* refactor: dto 제거에 따른 수정 사항 (#112)

* remove: 사용되지 않는 것들을 제거 (#114) (#115)

* refactor: 크레딧 획득 시 누락된 exception 추가 및 메소드 이름 변경 (#98) (#99)

* refactor: exception 추가 및 메소드 이름 변경 (#98)

* refactor: 메소드 이름 변경 (#98)

* refactor: update 메소드 추출 (#98)

* refactor: update 메소드를 직접 호출하도록 수정 (#98)

* refactor: api endpoint 변경 및 메소드 이름 변경 (#98)

* feat: 마이페이지에 Authority 및 Gym 리스트 추가 (#102) (#108)

* feat: authorityId와 gymName 정보를 담는 Dto 생성 (#102)

* refactor: Dto에 필드 및 생성 메소드 추가 (#102)

* feat: Authority를 AuthorityGymResponse로 변환하는 내용 추가 (#102)

* refactor: 분리됐었던 current authorityId와 gymName을 하나로 통합 (#102)

* refactor: 하나의 current로 통합함에 따른 수정 사항 (#102)

* chore: 줄바꿈 수정 및 코드 위치 조정 (#102)

* rename: staff를 manager로 변경 (#118) (#119)

* chore: parameter의 request dto 이름 통일 (#110) (#120)

* rename: request dto를 모두 request로 통일 (#110)

* rename: requestDto를 request로 통일 (#110)

---------

Co-authored-by: [email protected] <[email protected]>

* refactor: User, Authority에 CASCADE 적용 (#75) (#117)

* chore: User-Id를 user-id로 수정 (#123) (#125)

* refactor: 로그인 후 로직을 수정 (#122) (#124)

* refactor: 로그인 후 로직을 수정 (#122)

* refactor: /api/v1/equipments의 로직 변경 (#126) (#127)

* refactor: gym_id를 authority-id로 변경 (#126)

* chore: 불필요한 어노테이션 제거 (#126)

* remove: 불필요한 메서드 제거 (#126)

* refactor: EquipmentResponse의 필드 추가 (#126)

* refactor: 불필요한 header 제거 (#122)

* refactor: gym_id를 authority-id로 대체 (#128) (#129)

* refactor: Repository 통일 작업 (#130) (#131)

* chore: Repository 어노테이션 제거 (#130)

* refactor: JpaRepository로 변환 (#130)

* refactor: JpaRepository로 변환 (#130)

* refactor: AuthorityRepository를 JpaRepository로 변환함에 따른 변경 사항 (#130)

* feat: 헬스장 조회 기능에 검색 기능 추가 (#133) (#134)

* refactor: 검색 기능 추가에 따른 Controller 수정 (#133)

* refactor: 검색 기능 추가에 따른 수정 사항 (#133)

- GymRepository, GymService

* refactor: GymListResponse에 정적 생성 메소드 추가 (#133)

* feat: logout 구현 (#132) (#135)

* docs: redis 추가 & 설정 (#132)

* refactor: 연관 관계 재설정 및 지연 로딩 제거 (#132)

* refactor: RefreshToken의 저장소를 Redis로 변경 (#132)

* refactor: refreshToken과 accessToken의 생성을 분리 (#132)

* refactor: 외부에서 접근하지 않는 메서드를 private로 변경 (#132)

* feat: logout 핸들러 추가 (#132)

* feat: logout시 refreshToken 삭제 메셔드 (#132)

* refactor: 의존성 주입 및 import 추가 (#132)

* refactor: refreshToken 재발행 로직 추가 (#132)

getAccessToken을 getToken으로 변경

* refactor: refreshToken 재발행 후 필터 거치지 않도록 수정 (#132)

* rename: reserver를 모두 authority로 변경 (#137) (#139)

* rename: camelcase로 변경 (#140) (#142)

* chore: 불필요한 어노테이션 제거 (#141) (#144)

* refactor: 누락된 @Valid 어노테이션 추가 (#145) (#146)

* refactor: Builder를 통한 객체 생성을 정적 생성 메소드 방식으로 변환 (#136) (#138)

* refactor: ReservationListResponse에 정적 생성 메소드 추가에 따른 변경 사항 (#136)

* refactor: EquipmentRoutine에 정적 생성 메소드 추가에 따른 변경 사항 (#136)

* refactor: Routine에 정적 생성 메소드 추가에 따른 변경 사항 (#136)

* refactor: Authority의 정적 팩토리 메서드 생성 및 적용 (#136)

* refactor: UserAndPendingListResponse의 정적 팩토리 메서드 생성 및 적용 (#136)

* refactor: Reservation의 정적 팩토리 메서드 생성 및 적용 (#136)

* refactor: GymListResponse의 정적 팩토리 메서드 생성 및 적용 (#136)

* refactor: RoutineListResponse에 정적 생성 메소드 추가에 따른 변경 사항 (#136)

* refactor: RoutineDetailResponse에 정적 생성 메소드 추가에 따른 변경 사항 (#136)

* refactor: 인라인으로 변경 (#136)

---------

Co-authored-by: [email protected] <[email protected]>
Co-authored-by: Cho Sangwook <[email protected]>

* refactor: 사용하지 않는 반환 제거 (#149) (#150)

* feat: tagAt 기능 추가 (#143) (#148)

* feat: 회원의 최근 출입 태그 기능 추가 (#143)

* refactor: 회원의 최근 출입 태그를 Authority의 필드로 변경 (#143)

* feat: 회원의 최근 태그를 갱신 (#143)

* refactor: authority-id를 사용하도록 변경 (#149)

* chore: 사용하지 않는 의존성 제거 (#153) (#154)

* refactor: toList()를 사용하도록 변경 (#151) (#152)

* refactor: toList()를 사용하도록 변경 (#151)

* chore: 불필요한 개행 제거 (#151)

* chore: 불필요한 import 제거 (#151)

* feat: custom exception 적용 (#107) (#155)

* feat: ErrorCode 생성 (#107)

* feat: CustomException 생성 (#107)

* feat: ExceptionResponse 생성 (#107)

* feat: GlobalExceptionHandler 생성 (#107)

* refactor: RoutineService에 custom exception 적용 (#107)

* refactor: toList 적용 (#107)

* refactor: EquipmentRoutineService custom exception 적용 (#107)

* refactor: 코드 스타일 개선, 인덴트 감소, toList 적용 (#107)

* refactor: UserService Custom Exception 적용 (#107)

* feat: OAuthHistory error code 추가 (#107)

* feat: 이미 승인된 사용자 에러코드 추가 (#107)

* refactor: AuthorityService custom exception 적용 (#107)

* refactor: CreditService custom exception 적용 (#107)

* refactor: EquipmentService custom exception 적용 (#107)

* refactor: 중복된 루틴 이름 에러 코드 추가 (#107)

* refactor: RoutineService custom exception 적용 (#107)

* refactor: 기구 이름 부족 에러 코드 추가 (#107)

* feat: EquipmentGymService custom exception 적용 (#107)

* refactor: AuthorityService custom exception 적용 (#107)

* refactor: 중복 태그 예외 custom exception 적용 (#107)

* refactor: ReservationService custom exception 적용 (#107)

* refactor: Invalid sequence custom exception 적용 (#107)

* refactor: ErrorCode static import (#107)

* refactor: startUse() 리팩토링 (#107)

* feat: 예약 시작 시간과 비교 (#107)

* refactor: TokenAuthenticationFilter custom exception 적용 (#107)

* feat: refresh token not found 에러 코드 추가 (#107)

* feat: UNAUTHORIZED 에러 코드 추가 (#107)

* refactor: TokenProvider custom exception 적용 (#107)

* refactor: ErrorCode static import (#107)

* feat: RuntimeException을 위한 핸들러 추가 (#107)

* style: 개행 추가 및 제거 (#107)

* refactor: custom exception 수정 (#107)

- Error code 변경
- 메시지 수정

* feat: POST, PATCH, DELETE 메소드 내부 본인 확인 로직 추가 (#147) (#156)

* feat: 권한 체크 로직 추가 (#147)

* chore: resolve conflict (#147)

* rename: 파일 구조 변경 (#147)

* refactor: AuthorityCheckService custom exception 적용 (#158) (#159)

* chore: 불필요한 어노테이션 제거 (#141) (#160)

* chore: 불필요한 어노테이션 제거 (#141)

* chore: Credit 내부 불필요한 어노테이션 제거 (#141)

* feat: Credit에 Builder 추가 (#141)

* refactor: EquipmentRoutineService 내부 toList를 Collectors.toList로 변경 (#161) (#162)

* feat: 랭킹 기능 추가 (#157) (#163)

* feat: 사용자의 순위 정보 추가 (#157)

* feat: CreditRanking를 통한 생성자 추가 (#157)

* feat: CreditRanking 구현 (#157)

* feat: Credit에 gym 필드 추가 (#157)

* feat: findAllByGymIdAndYearAndMonth() 추가 (#157)

* refactor: 순위 조회 기능 수정 (#157)

- dense_rank() 사용에 따른 수정
- 사용자 순위 조회 기능 추가

* feat: credit이 없는 사용자에 대한 예외 처리 (#157)

* refactor: rankingList 선언 간소화 (#157)

* feat: access level 적용, allArgsConstructor 삭제 (#157)

* feat: 10위까지 조회하도록 변경, 사용자 등수 조회 메소드 추가 (#157)

* fix: gymId를 gym_id으로 쿼리 수정 (#157)

* style: 코드 스타일 개선 (#157)

* rename: 메소드명 변경 (#157)

* feat: Routine을 사용할 경우 count 증가시키는 로직 추가 (#164) (#166)

* feat: Routine에 count 증가하는 메소드 추가 (#164)

* feat: ReservationService에 count 증가하는 로직 추가 (#164)

* refactor:  User 클래스에서 provider 필드 제거 (#165) (#167)

* refactor: User에서 provider 제거 (#165)

* refactor: User에서 provider 제거함에 따른 변경 사항 (#165)

* chore: postgresql 연결 (#93) (#171)

* chore: postgresql 연결 (#93)

* chore: jpa 설정 변경 (#93)

* refactor: 회원가입 요청에 JWT validation을 적용하지 않도록 수정 (#93)

* fix: anonymous 사용자의 User 모델의 username 필드가 null이 되지 않도록 수정 (#93)

* remove: h2Console 제거 (#93)

* refactor: 회원가입 후 access token 재발급 (#93) (#169)

* remove: 불필요한 todo 제거

* refactor: TokenAuthenticationFilter 내부 로직 수정 (#172) (#173)

* refactor: 필터 내부 로직 변경 (#172)

* refactor: TokenProvider 내부 로직 변경 및 메소드 추출 (#172)

* chore: OAuth2SuccessHandler에 log 추가 (#172)

* chore: UserApiController에 log 추가 (#172)

* feat: AuthorityApiController에 AccessToken 발급 로직 추가 (#172)

* refactor: AuthorityApiController에서 AccessToken 발급함에 따른 변경 사항 (#172)

* refactor: controller의 로직을 service 내부로 이동 (#172)

* refactor: controller의 로직을 service 내부로 이동 (#172)

* chore: 로그 내용 수정 (#172)

---------

Co-authored-by: [email protected] <[email protected]>

* docs: chore 이슈 및 PR 템플릿 반영 (#181)

* docs: 이슈 템플릿 추가

* docs: feature pull request 템플릿 생성

* docs: feature pull request 템플릿 수정

* docs: feature pull request 템플릿 이름 변경

* docs: bug pull request 생성

* docs: feature pull request 템플릿 이름 변경

* docs: pull request 템플릿 일원화

---------

Co-authored-by: Cho Sangwook <[email protected]>

* feat: User modify 실행 시 nickname 변경하면 JWT 새로 발급하는 로직 구현 (#177) (#182)

* refactor: UserApiController 내부 modify 메소드 수정 (#177)

* feat: UserService 내부 JWT 발급 로직 추가 (#177)

* feat: ErrorCode에 DUPLICATE_NICKNAME 추가 (#177)

* feat: UserService에 닉네임 중복 체크 로직 추가 (#177)

* feat: UserService signUp에 닉네임 중복 체크 로직 추가 (#177)

* feat: ReservationService의 checkConditionAndAddCredit 메소드 내부에서 Credit 생성 및 저장하는 부분 추가 (#184) (#185)

* refactor: Builder 어노테이션 접근 제한자 적용 (#189)

* refactor: Builder 어노테이션 접근제한자 적용 (#188)

- Builder annotation에 private 접근 제한자 적용

* feat: 인스턴스 생성을 위한 static method 구현 (#188)

* refactor: 루틴으로 예약 기능 구현 변경 (#188)

- 서비스 반환형 변경
- 컨트롤러 구조 단순화

* refactor: directory 구조 변경 (#175) (#191)

* docs: readme 작성 (#174) (#192)

* docs: README.md 파일 업데이트 (#174)

* docs: README.md PR 수정 사항 반영 (#174)

* chore: 띄어쓰기 추가 (#174)

---------

Co-authored-by: Cho Sangwook <[email protected]>

* refactor: ReservationService를 분리 (#187) (#193)

* refactor: 크레딧에 대한 로직을 CreditService로 이동 (#187)

* refactor: 루틴으로 예약하는 로직을 RoutineService로 이동 (#187)

* refactor: getOneAvailable 메서드를 쿼리로 개선 (#187)

* refactor: EquipmentGym의 condition 업데이트 시 기존에 정의된 메소드 사용하도록 수정 (#190) (#194)

* fix: validateTagAt 메소드 내부 시간 정보 수정 및 TODO 제거 (#195) (#196)

* remove: 불필요한 경로 제거 (#201) (#203)

* refactor: for문을 제거하고 stream으로 대체 (#200) (#204)

* refactor: 영업시간 확인 로직을 gym 도메인으로 이동 (#199) (#205)

* refactor: final 상수를 메서드 밖으로 이동 (#197) (#206)

* move: validateReservationIn2Hours 메소드 내부 상수를 클래스 레벨로 이동 (#197)

* style: 상수와 Repository클래스 사이를 공백으로 구분 (#197)

* refactor: query의 개선을 통해 service의 로직을 단순화합니다. (#202) (#207)

* refactor: query의 개선을 통해 service의 로직을 단순화합니다. (#202)

- repository 메서드 추가
- DTO의 생성 방식 변경

* style: 줄바꿈 제거 (#202)

* refactor: RoutineService updateRoutine 메소드에서 이름 중복 체크 하도록 수정 (#209) (#210)

* refactor: RoutineService updateRoutine메소드에 이름 중복 체크 로직 추가 (#209)

* refactor: validateDuplicate 메소드 내부에서 exception 던지도록 변경 및 그에 따른 반환형 변경 (#209)

* refactor: validateDuplicate 메소드 내부 로직 오류 수정 (#209)

* refactor: EquipmentService registerEquipment 메소드 내부 불필요한 if문 제거 (#211) (#212)

* refactor: EquipmentService registerEquipment메소드 내부 로직 간소화 및 doesExists 메소드 제거 (#211)

* feat: checkExistingEquipment 메소드 추가 및 그에 따른 errorcode 추가 (#211)

* refactor: registerEquipment 메소드 내부에서 기구 중복 체크하도록 수정 (#211)

* refactor: patch 로직 일부를 서비스에서 도메인으로 이동 (#198) (#208)

* refactor: ReservationService update 메소드 내부 null check를 Reservation에게 위임 (#198)

* refactor: UserService modify 메소드 내부 null check를 User에게 위임 (#198)

---------

Co-authored-by: Cho Sangwook <[email protected]>

* fix: resolve conflict (#213) (#214)

* refactor: Reservation의 repetitionNumber를 제거 (#215) (#216)

* refactor: Reservation에서 repetitionNumber 필드 제거 (#215)

* refactor: dto에서 repetitionNumber 필드 제거 (#215)

* refactor: repetitionNumber 제거에 따른 변경 사항을 ReservationService와 RoutineService에 반영 (#215)

* chore: dto 내부에 있는 id 필드를 구체적인 이름으로 변경 (#218) (#219)

* chore: authority 패키지의 ReservationResponse 내부 id를 reservationId로 변경 (#218)

* chore: reservation 패키지의 ReservationResponse 내부 id를 reservationId로 변경 (#218)

* chore: ReservationApiController의 endpoint를 reservations로 수정 (#220) (#221)

* bug: 예약 수정 로직 수정 (#217) (#222)

* feat: 특정 reservation의 상세 조회 기능 추가 (#217)

* feat: 특정 equipmentId를 가진 equipmentGym의 예약 가능 시간 조회 기능 추가 (#217)

* remove: 사용하지 않는 메서드 제거 (#217)

* refactor: 예약 로직 수정 (#217)

* refactor: 수정 로직 변경 (#217)

* refactor: 쿼리 메서드로 변경 (#217)

* refactor: 루틴 수정의 로직 개선 (#223) (#226)

* chore: 메서드의 순서를 변경하여 가독성 개선 (#225) (#227)

* refactor: UserService userDetail 내부 불필요한 method chaining 제거 (#224) (#228)

* feat: user-id만 가진 상태로 마이페이지 접근할 경우에 대한 로직 추가 (#229) (#230)

* feat: UserInfoResponse 생성 (#229)

* refactor: UserDetailResponse를 UserAuthorityInfoResponse로 이름 변경 및 UserInfoResponse를 extend하도록 수정 (#229)

* refactor: UserApiController userDetail 메소드의 매개변수 및 body에 담는 타입 변경 (#229)

* refactor: 매개 변수에 들어오는 id의 null 여부에 따라 실행하는 로직 분리 (#229)

* refactor: UserAuthorityInfoResponse의 정적 생성 메소드 이름 변경 및 그에 따른 수정 사항 반영 (#229)

* refactor: UserApiController userDetail 메소드의 매개변수를 @RequestHeader로 받도록 수정 (#229)

* refactor: UserService userDetail 메소드의 매개변수 변경 및 그에 따른 수정 사항 반영 (#229)

* chore: RoutineApiController findRoutineDetail 메소드의 매개변수 이름을 routineId로 변경 (#233) (#238)

* refactor: 예약 등록 및 수정 api endpoint에서 param을 pathvariable로 수정 (#234) (#239)

* refactor: ReservationApiController reserve 메소드의 RequestParam을 PathVariable로 변경 (#234)

* refactor: ReservationApiController updateReservation 메소드의 RequestParam을 PathVariable로 변경 (#234)

* chore: AuthorityApiController listReservation 메소드 endpoint 변경 (#235) (#240)

* refactor: UserAndPendingResponse 내부 username 필드를 nickname 필드로 변경 (#236) (#241)

* feat: User drop 메소드 내부에 사용자 이메일을 통한 본인 확인 로직 추가 (#237) (#242)

* feat: UserDropRequest 클래스 생성 (#237)

* feat: ErrorCode에 USER_EMAIL_VERIFICATION_FAIL 추가 (#237)

* feat: UserService drop 메소드 내부에 사용자 이메일을 통한 본인 확인 로직 추가 (#237)

* refactor: UserApiController drop 메소드에 변경 사항 반영 (#237)

* feat: email을 통한 본인 확인 로직을 User 클래스 내부로 이동 (#237)

* refactor: 본인 확인 로직의 이동에 따른 변경 사항 반영 (#237)

* chore: EquipmentRoutineService addEquipRoutineInRoutine를 addEquipmentRoutineInRoutine로 수정 (#243) (#244)

* refactor: Authority의 accepted가 false인 경우 authority-id가 필요한 api 접근을 제한하도록 수정 (#245) (#246)

* refactor: AuthorityService register 메소드 내부에서 JWT 발급하는 로직 제거 (#245)

* feat: ErrorCode에 OUTDATED_TOKEN 추가 (#245)

* refactor: TokenAuthenticationFilter에 AuthorityRepository가 추가됨에 따른 변경 사항 반영 (#245)

* feat: CustomExceptionHandlingFilter를 bean으로 등록하는 부분 추가 및 addFilterBefore 메소드 추가 (#245)

* feat: CustomExceptionHandlingFilter 생성 (#245)

* refactor: TokenProvider 로직 수정 및 메소드 분리 (#245)

- validAccessToken 메소드 내부 try/catch 추가
- checkExceptionAndProceed 메소드 추가
- checkAuthorityIdList 메소드 내부 로직 변경
- getUserId, extractAuthorityId 메소드 추출

* refactor: doFilterInternal 내부 validAccessToken호출할 때 넣는 매개 변수 수정 (#245)

* refactor: 사용되지 않는 매개 변수 제거 (#245)

* refactor: 사용되지 않는 throws문 제거 (#245)

* refactor: 사용되지 않는 import문 제거 (#245)

* refactor: TokenProvider checkExceptionAndProceed 메소드의 매개 변수 수정 (#245)

* refactor: ErrorCode의 OUTDATED_TOKEN -> UPDATE_NEEDED_ON_AUTHORITY_ID_LIST로 변경 및 그에 따른 변경 사항 반영 (#245)

* refactor: AuthorityService register메소드 내부 toString -> String.valueOf로 변경 (#245)

* refactor: ErrorCode의 UPDATE_NEEDED_ON_AUTHORITY_ID_LIST -> AUTHORITY_ID_LIST_OUTDATED 변경 및 그에 따른 변경 사항 반영 (#245)

---------

Co-authored-by: Cho Sangwook <[email protected]>

* chore: Enum name convention (#231) (#232)

* chore: Enum name convention (#231)

* chore: 변수명에서는 'type' 제거 (#231)

* resolve: conflict resolve (#231)

* refactor: 엔티티 delete 로직 내부에서 연관관계를 맺은 모든 엔티티들도 같이 삭제하도록 수정 (#178) (#247)

* refactor: Authority 내부 cascade 속성 수정 및 제거 (#178)

- creditList: CascadeType.ALL -> CascadeType.REMOVE
- reservationList: cascade 제거

* feat: Reservation에 removeAuthority 메소드 추가 (#178)

* feat: Authority 삭제 시 관련된 엔티티 모두 제거하는 기능 추가 (#178)

* feat: Proposal,Report에 removeUser 메소드 추가 (#178)

* feat: ProposalRepository,ReportRepository에 findAllByUser 메소드 추가 (#178)

* refactor: User 클래스 필드 cascade 속성 수정 (#178)

- oAuthHistory: cascadeType.REMOVE 추가
- authorityList: cascade 제거

* feat: User 삭제 시 관련된 엔티티 모두 제거하는 기능 추가 (#178)

* feat: Equipment, EquipmentRoutine, EquipmentGym에 deactivated 필드 및 deactivate 메소드 추가 (#178)

* feat: EquipmentRoutineRepository에 findAllByEquipment_Id 메소드 추가 (#178)

* feat: Equipment 비활성화 시 연관된 EquipmentGym, EquipmentRoutine도 비활성화하는 기능 추가 (#178)

* refactor: EquipmentGym 삭제 시 실제로 삭제하지 않고 비활성화 상태로 변경하도록 로직 수정 (#178)

* refactor: Authority 제거 시 Routine을 같이 제거하는데 이때 관련된 EquipmentRoutine도 모두 제거하도록 로직 수정 (#178)

* refactor: User drop에서 관련된 Authority 제거 시 Routine을 같이 제거하는데 이때 관련된 EquipmentRoutine도 모두 제거하도록 로직 수정 (#178)

* refactor: deleteEquipment -> deactivateEquipment로 메소드명 변경 (#178)

* refactor: deleteEquipmentGym -> deactivateEquipmentGym으로 메소드명 변경 (#178)

* refactor: Reservation내부 Authority 필드에 있던 nullable 속성 제거 (#178)

* refactor: Equipment, EquipmentGym, EquipmentRoutine 내부 deactivated 필드 -> active로 이름 변경 (#178)

* refactor: repository 메소드 대신 Equipment 내부 필드 이용하도록 로직 수정 (#178)

* chore: 코드 가독성 개선 (#178)

* refactor: 예약 endpoint의 pathVariable 변경 (#248) (#249)

* refactor: 예약 endpoint의 pathVariable 변경 (#248)

* docs: 이미 차지된 예약에 대한 Exception 추가 (#248)

* refactor: endpoint 변경에 따른 로직 수정 (#248)

* refactor: Routine에 EquipmentRoutine과의 양방향 연관 관계 설정 및 cascade 적용 (#250) (#251)

* feat: Routine에 EquipmentRoutine 리스트 추가 (#250)

* refactor: RoutineService deleteRoutine 메소드 내부 로직 수정 (#250)

* refactor: AuthorityService deleteRelatedRoutines 내부 로직 수정 (#250)

* refactor: UserService deleteRelatedRoutines 내부 로직 수정 (#250)

* refactor: EquipmentRoutineRepository 미사용 메소드 제거 (#250)

* refactor: 변수명 수정 (#250)

* refactor: 인증 로직 변경 (#252) (#253)

* refactor: 인증/인가 로직 변경에 따라 불필요한 클래스 제거 (#252)

* refactor: 인증/인가 로직 변경에 따라 불필요한 security config 제거 (#252)

* feat: 변경된 로직에 따라 token 발행 로직 추가 (#252)

- controller와 service 생성
- dto 생성

* feat: id의 종류 구분을 위한 enum 추가 (#252)

* docs: oauth-client 제거 (#252)

* refactor: notnull constraints를 notblank로 변경 (#252)

* feat: 어드민 페이지 생성 (#254) (#255)

* docs: 타임리프 의존성 추가 (#254)

* docs: 어드민 페이지 template 생성 (#254)

* refactor: 어드민 페이지에 접근 권한 설정 (#254)

* feat: 어드민 페이지 controller 생성 (#254)

* feat: 어드민 페이지 service 생성 (#254)

* feat: User와 Gym으로 Authority 찾는 메서드 추가 (#254)

* feat: 어드민 기능을 위한 dto 생성 (#254)

* feat: Authority에 update메서드 추가 (#254)

* feat: BusinessTime에 update 메서드 추가 (#254)

* feat: BusinessTime에 Builder 메서드 추가 (#254)

* feat: Gym에 Builder 메서드 추가 (#254)

* feat: Gym에 update 메서드 추가 (#254)

* feat: RoleType에 ADMIN 추가 (#254)

* refactor: repository의 메서드 개선을 통해 쿼리 개수 감소 (#254)

user, gym을 각각 조회하고 authority를 조회하던 방식 -> 하나의 쿼리로 처리

* refactor: Builder의 접근 지정자를 private로 변경 (#254)

* refactor: 기존 메서드를 재활용하도록 수정 (#254)

* docs: edit typo (#254)

* refactor: 사용하지 않는 반환 제거 (#254)

* docs: 사용하지 않는 템플릿 제거 (#254)

* refactor: manager 권한 부여의 exception handling (#254)

* bug: OAuth2SuccessHandler에서 admin의 요청만을 처리하도록 수정 (#256)  (#257)

* Revert "refactor: 인증 로직 변경 (#252) (#253)"

This reverts commit d78d5f7.

* refactor: OAuth2SuccessHandler에서 admin의 요청만을 처리하도록 수정 (#256)

- cookie를 이용해 JWT 토큰 전달

* docs: admin과 관련된 ErrorCode 추가 (#256)

* style: 줄바꿈 추가 (#256)

* feat: 일반 로그인 api 추가 (#256)

- controller, service, dto 추가

* feat: RoleType에 ADMIN 추가 (#256)

* feat: DTO의 필드로 사용되는 Enum 추가 (#256)

* feat: 토큰 필터에 admin에 대한 처리 추가 (#256)

* feat: 토큰 서비스에 admin에 대한 처리 추가 (#256)

* feature: 커스텀 ENUM 검증 어노테이션 구현 (#258) (#259)

* docs: 이슈 템플릿 추가

* docs: feature pull request 템플릿 생성

* docs: feature pull request 템플릿 수정

* docs: feature pull request 템플릿 이름 변경

* docs: bug pull request 생성

* docs: feature pull request 템플릿 이름 변경

* docs: pull request 템플릿 일원화

* feat: ProviderType에 대한 JsonCreator 구현

* feat: Enum Custom validation Annotation 구현

* feat: 잘못된 enum 값에 대한 에러 코드 추가

* feat: 잘못된 enum 값에 대한 예외 handler 추가

* feat: Enum Custom validation Annotation 사용

* chore: 불필요한 import 제거

---------

Co-authored-by: Cho Sangwook <[email protected]>

* docs: 개발 서버 CI/CD (#260) (#261)

---------

Co-authored-by: Cho Sangwook <[email protected]>
Co-authored-by: Lee-sh98 <[email protected]>
Co-authored-by: [email protected] <[email protected]>
Co-authored-by: leesh <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature 기능 생성, 추가 작업
Projects
None yet
Development

No branches or pull requests

1 participant