-
Notifications
You must be signed in to change notification settings - Fork 0
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
๐ง Security ๊ด๋ จ ์ฃผ์ ์ถ๊ฐ #61
Labels
chore
๊ธฐํ ์์
Comments
hoyun06
added a commit
that referenced
this issue
Sep 25, 2023
hoyun06
added a commit
that referenced
this issue
Sep 25, 2023
hoyun06
added a commit
that referenced
this issue
Sep 25, 2023
hoyun06
added a commit
that referenced
this issue
Sep 25, 2023
hoyun06
added a commit
that referenced
this issue
Sep 25, 2023
hoyun06
added a commit
that referenced
this issue
Sep 25, 2023
hoyun06
added a commit
that referenced
this issue
Sep 25, 2023
hoyun06
added a commit
that referenced
this issue
Sep 25, 2023
hoyun06
added a commit
that referenced
this issue
Sep 25, 2023
Sangwook02
pushed a commit
that referenced
this issue
Sep 25, 2023
* 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)
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: chosw1002@naver.com <chosw1002@naver.com> * 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: chosw1002@naver.com <chosw1002@naver.com> * 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 <82208159+Sangwook02@users.noreply.github.com> * 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 <qwqw8019@naver.com> Co-authored-by: hoyun06 <hoyun06@gmail.com> * 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: chosw1002@naver.com <chosw1002@naver.com> * 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: chosw1002@naver.com <chosw1002@naver.com> Co-authored-by: Cho Sangwook <82208159+Sangwook02@users.noreply.github.com> * 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: chosw1002@naver.com <chosw1002@naver.com> * 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 <82208159+Sangwook02@users.noreply.github.com> * 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 <82208159+Sangwook02@users.noreply.github.com> * 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 <82208159+Sangwook02@users.noreply.github.com> * 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 <82208159+Sangwook02@users.noreply.github.com> * 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 <82208159+Sangwook02@users.noreply.github.com> * docs: ๊ฐ๋ฐ ์๋ฒ CI/CD (#260) (#261) --------- Co-authored-by: Cho Sangwook <82208159+Sangwook02@users.noreply.github.com> Co-authored-by: Lee-sh98 <55966515+Lee-sh98@users.noreply.github.com> Co-authored-by: chosw1002@naver.com <chosw1002@naver.com> Co-authored-by: leesh <qwqw8019@naver.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Description
Todo
The text was updated successfully, but these errors were encountered: