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

๐Ÿ”ง ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์˜์กด์„ฑ ์ •๋ฆฌ #114

Closed
Sangwook02 opened this issue Oct 5, 2023 · 0 comments
Assignees
Labels
chore ๊ธฐํƒ€ ์ž‘์—…

Comments

@Sangwook02
Copy link
Member

Sangwook02 commented Oct 5, 2023

Description

์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์˜์กด์„ฑ์„ ์ •๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

Todo

  • ๋ถˆํ•„์š”ํ•œ import ์ œ๊ฑฐ
  • ๋ถˆํ•„์š”ํ•œ parameter ์ œ๊ฑฐ ๋ฐ api ๋ช…์„ธ ์ˆ˜์ •
@Sangwook02 Sangwook02 added the chore ๊ธฐํƒ€ ์ž‘์—… label Oct 5, 2023
@Sangwook02 Sangwook02 self-assigned this Oct 5, 2023
@Sangwook02 Sangwook02 changed the title ๐Ÿ”ง StaffApiController ์ •๋ฆฌ ๐Ÿ”ง ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ์˜์กด์„ฑ ์ •๋ฆฌ Oct 5, 2023
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
Labels
chore ๊ธฐํƒ€ ์ž‘์—…
Projects
None yet
Development

No branches or pull requests

1 participant