Skip to content

Commit

Permalink
CI CD ํ•ด๊ฒฐ (#148)
Browse files Browse the repository at this point in the history
* [master] Week10 conflict fix ๋ฒ„์ „ (#136)

* feat : build.gradle : MySQL ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat : application.yml : AWS RDS ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ์ •๋ณด๋ฅผ ํฌํ•จ.

* chore: ์„ค์ • ํŒŒ์ผ ์ˆ˜์ •

* feat: ๊ณตํ†ต ์—”ํ‹ฐํ‹ฐ ์ž‘์„ฑ
- ์‹๋ณ„์ž, ์ƒ์„ฑ/์ˆ˜์ •์ผ์ž, ์‚ญ์ œ ์ƒํƒœ๊ฐ’ ๋“ฑ์˜ ๊ณตํ†ต ํ•„๋“œ๋ฅผ baseEntity๋กœ ์ •์˜

* feat: ์ฐจํŠธ ์—”ํ‹ฐํ‹ฐ ์ž‘์„ฑ

* feat: ์ฐจํŠธ ์‹ ์ฒดํ™œ๋™ ์—”ํ‹ฐํ‹ฐ ์ž‘์„ฑ
- ์ฒญ๊ฒฐ, ์‹์‚ฌ ๊ด€๋ จ ํ•„๋“œ๋Š” ์ž„๋ฒ ๋””๋“œ ํƒ€์ž…์œผ๋กœ ์„ ์–ธ

* feat: chart-bodyNote ์—ฐ๊ด€๊ด€๊ณ„ ์„ค์ •
- chart์™€ ์‹ ์ฒดํ™œ๋™(bodyNote)๋Š” ์ผ๋Œ€์ผ ์—ฐ๊ด€๊ด€๊ณ„ ์„ค์ •

* feat: ์‹ ์ฒด ํ™œ๋™ ๊ด€๋ จ ์ž„๋ฒ ๋””๋“œ ํƒ€์ž… ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* feat: ์ฐจํŠธ ์„ธ๋ถ€ํ•ญ๋ชฉ - ๊ฐ„ํ˜ธ ํ™œ๋™ ์—”ํ‹ฐํ‹ฐ ์ž‘์„ฑ
- ํ˜ˆ์•• ๊ด€๋ จ ํ•„๋“œ๋Š” ์ž„๋ฒ ๋””๋“œ ํƒ€์ž…์œผ๋กœ ๊ด€๋ฆฌ

* chore: ์‹ ์ฒดํ™œ๋™ ์—”ํ‹ฐํ‹ฐ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* feat: ์ฐจํŠธ- ๊ฐ„ํ˜ธํ™œ๋™ ์—ฐ๊ด€๊ด€๊ณ„ ์„ค์ •

* feat: ์ธ์ง€ ํ›ˆ๋ จ ์—”ํ‹ฐํ‹ฐ ์ž‘์„ฑ

* feat: ์ฐจํŠธ - ์ธ์ง€ ํ›ˆ๋ จ ์—”ํ‹ฐํ‹ฐ ์—ฐ๊ด€๊ด€๊ณ„ ์„ค์ •

* chore: ๋ถˆํ•„์š”ํ•œ ์ปฌ๋Ÿผ ์†์„ฑ ์‚ญ์ œ

* chore: ๊ฐ„ํ˜ธํ™œ๋™ ์—”ํ‹ฐํ‹ฐ ์ƒ์† ์ˆ˜์ •
- baseEntity ์ƒ์†

* build : H2 database ์ถ”๊ฐ€

๋กœ์ปฌ ํ…Œ์ŠคํŠธ ์šฉ๋„

* build: ์Šคํ”„๋ง ๋ฒ„์ „ ์ˆ˜์ •

* chore: ๋งˆ์ง€๋ง‰ ๊ฐœํ–‰ ์ถ”๊ฐ€

* chore: ๋งˆ์ง€๋ง‰ ๊ฐœํ–‰ ์ถ”๊ฐ€

* feat: baseEntity ์‚ญ์ œ ํ•จ์ˆ˜ ์ถ”๊ฐ€

* feat: baseEntity ์ƒํƒœ๊ฐ’ ํ•„๋“œ๋ช… ๋ณ€๊ฒฝ

* save

* Feat: ์š”์–‘๋ณดํ˜ธ์‚ฌ CRUD (#7)

* fix: API ์ฃผ์†Œ ์ˆ˜์ •

* feat: ๋Œ๋ด„๋Œ€์ƒ์ž CRUD (#6)

* feat: ์š”์–‘๋ณดํ˜ธ์‚ฌ ID ๊ฒ€์ฆ ์ถ”๊ฐ€

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: ์ผ๋ถ€ ๋ฉ”์„ธ์ง€ ๋ณ€๊ฒฝ

* refactor: DTO ๋ถ„๋ฆฌ

* refactor: chart ๋„๋ฉ”์ธ ์ผ๋ถ€ ๋ณ€๊ฒฝ

* [๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ๋ณดํ˜ธ์ž ๋„๋ฉ”์ธ CRUD (#15)

* feat: guardians

* feat: #8 guardians ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: chart ๋„๋ฉ”์ธ ๋ถ€๋ถ„ ์ˆ˜์ •

* refactor: guardian ํด๋” ๋ถ„๋ฆฌ, exception ๋“ฑ ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* fix: chart is_active ์ˆ˜์ •

* build : JWT test secret key ์ถ”๊ฐ€

* feat : ์ธ์ฆ์„ ์œ„ํ•œ user entity ์ถ”๊ฐ€

* feat : jwt ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat : security config ์ถ”๊ฐ€

* feat : ์ธ์ฆ ๊ด€๋ จ ์„œ๋น„์Šค ์ถ”๊ฐ€

* feat : ๋กœ๊ทธ์ธ ํ•„ํ„ฐ ์ถ”๊ฐ€

* delete : ๋ถˆํ•„์š” ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค ์‚ญ์ œ

* fix : ๋ถˆํ•„์š” import ์ œ๊ฑฐ, JwtFilter ์˜ค๋ฅ˜ ์ˆ˜์ •

* feat: ์ƒํƒœ๊ฐ’ ํ•„๋“œ๋ช… ์ˆ˜์ •

* feat: chat ์—”ํ‹ฐํ‹ฐ์— ์ƒํƒœ ๊ด€๋ จ ํ•„๋“œ ์ถ”๊ฐ€

* feat: chart- ์ธ์ง€๊ด€๋ฆฌ ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€
- chart ์—”ํ‹ฐํ‹ฐ์™€ ์ผ๋Œ€์ผ ์—ฐ๊ด€๊ด€๊ณ„ ์„ค์ •

* feat: ์‹ ์ฒด ํ™œ๋™ ์—”ํ‹ฐํ‹ฐ์—์„œ ์™ธ์ถœ ์—ฌ๋ถ€ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* feat: ์‹ ์ฒด ํ™œ๋™ ์„ธ๋ถ€ ์กฐํšŒ dto ์ž‘์„ฑ

* feat: ์‹ ์ฒด ํ™œ๋™ ์„ธ๋ถ€ ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* feat: ๊ฐ„ํ˜ธ ๊ด€๋ฆฌ ์„ธ๋ถ€ ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* refactor: chart ๊ด€๋ จ response๋Š” ๋ณ„๋„ ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

* feat: ์ธ์ง€ ๊ด€๋ฆฌ ์„ธ๋ถ€ ์กฐํšŒ dto ์ž‘์„ฑ

* feat-chart ๊ณ ๋‚˜๋ จ ์—”ํ‹ฐํ‹ฐ์— comment ์ถ”๊ฐ€

* chore: ๋ถˆํ•„์š”ํ•œ import๋ฌธ ์‚ญ์ œ

* feat: ํšŒ๋ณต ํ›ˆ๋ จ response dto ์ž‘์„ฑ

* feat: chart detail response dto ์ž‘์„ฑ

* refactor: ๋„๋ฉ”์ธ ๋ณ„ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝ

* feat: chartController ์ž‘์„ฑ
- ํ™˜์ž id๋กœ ์ผ์ง€ ์ „์ฒด ์กฐํšŒ ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ํ™˜์ž id๋กœ ์ผ์ง€ ์ „์ฒด ์กฐํšŒ ํ•จ์ˆ˜์— pagable ์ถ”๊ฐ€

* feat: chartRepository ์ž‘์„ฑ
- ํ™˜์ž id๋กœ ์ผ๊ธฐ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: util ํด๋ž˜์Šค ์ƒ์„ฑ
- default_page_size ์„ ์–ธ

* feat: chart ๊ด€๋ จ response ์ „์ฒด์— builder ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* feat: chart ๊ด€๋ จ ์—”ํ‹ฐํ‹ฐ ์ „๋ถ€์— getter ์ถ”๊ฐ€

* chore: ํ•„๋“œ๋ช… ์นด๋ฉœ ์ผ€์ด์Šค๋กœ ํ†ต์ผ

* feat: ChartDetailResponse ๊ฐ์ฒด ์ƒ์„ฑ ํ•จ์ˆ˜ ๊ตฌํ˜„
- ์„ธ๋ถ€ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ DTO ์ƒ์„ฑ ํ›„ ChartDetailResponse ๊ฐ์ฒด์— ๋„ฃ์Œ

* feat: chartService ์ž‘์„ฑ
- ํ™˜์žid๋ฅผ ํ†ตํ•ด ์ผ์ง€ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐจํŠธid๋กœ ์ฐจํŠธ ์„ธ๋ถ€ ์กฐํšŒ api ๊ตฌํ˜„

* fix: ์ฐจํŠธ ํŠน์ด์‚ฌํ•ญ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ
- ๊ธฐ์กด String์—์„œ TEXT ์ž๋ฃŒํ˜•์œผ๋กœ ๋ณ€๊ฒฝ

* ๊ณ„์ธต ๋ถ„๋ฆฌ, ํ…Œ์ด๋ธ”๋ช…์„ ์ œ์™ธํ•˜๊ณ  ์ „๋ถ€ ๋‹จ์ˆ˜ํ˜• ์ฒ˜๋ฆฌ, ๊ฐ„๋‹จํ•œ ๋ฆฌํŒฉํ† ๋ง ์ž‘์—… (#24)

* feat :
1. ๋„๋ฉ”์ธ ๋‹จ์œ„๋กœ ๊ณ„์ธต ๋ถ„๋ฆฌ
2. ํ…Œ์ด๋ธ”๋ช…์„ ์ œ์™ธํ•˜๊ณ  ์ „๋ถ€ ๋‹จ์ˆ˜ํ˜•์œผ๋กœ ๋ฐ”๊พธ๊ธฐ
3. ๊ฐ„๋‹จํ•œ ๋ฆฌํŒฉํ† ๋ง

* feat : ๋ณดํ˜ธ์ž, ์š”์–‘๋ณดํ˜ธ์‚ฌ ์•„์ด๋”” ๋น„๋ฒˆ ์ถ”๊ฐ€

* refactor : ํ˜œ์—ฐ๋‹˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ „๋ถ€ ๋ฐ˜์˜

* refactor : ํ˜œ์—ฐ๋‹˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ „๋ถ€ ๋ฐ˜์˜ - 2

* refactor : ์ƒ์„ฑ์ž ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor : ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* ๊ณ„์ธต ๋ถ„๋ฆฌ, ํ…Œ์ด๋ธ”๋ช…์„ ์ œ์™ธํ•˜๊ณ  ์ „๋ถ€ ๋‹จ์ˆ˜ํ˜• ์ฒ˜๋ฆฌ, ๊ฐ„๋‹จํ•œ ๋ฆฌํŒฉํ† ๋ง ์ž‘์—… (#24)

* feat :
1. ๋„๋ฉ”์ธ ๋‹จ์œ„๋กœ ๊ณ„์ธต ๋ถ„๋ฆฌ
2. ํ…Œ์ด๋ธ”๋ช…์„ ์ œ์™ธํ•˜๊ณ  ์ „๋ถ€ ๋‹จ์ˆ˜ํ˜•์œผ๋กœ ๋ฐ”๊พธ๊ธฐ
3. ๊ฐ„๋‹จํ•œ ๋ฆฌํŒฉํ† ๋ง

* feat : ๋ณดํ˜ธ์ž, ์š”์–‘๋ณดํ˜ธ์‚ฌ ์•„์ด๋”” ๋น„๋ฒˆ ์ถ”๊ฐ€

* refactor : ํ˜œ์—ฐ๋‹˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ „๋ถ€ ๋ฐ˜์˜

* refactor : ํ˜œ์—ฐ๋‹˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ „๋ถ€ ๋ฐ˜์˜ - 2

* refactor : ์ƒ์„ฑ์ž ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor : ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat(security): ๊ถŒํ•œ Role ์ถ”๊ฐ€

* feat : ๋ณดํ˜ธ์ž ํšŒ์›๊ฐ€์ž… ์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ+์•”ํ˜ธํ™” ์ถ”๊ฐ€

GuardianService์—์„œ ํŒจ์Šค์›Œ๋“œ ์•”ํ˜ธํ™”๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

* feat : SecurityConfig ์ž„์‹œ ์„ธํŒ… ์ถ”๊ฐ€

๊ด€๋ฆฌ์ž ๋„๋ฉ”์ธ์ด ์—†์œผ๋ฏ€๋กœ permit all ๋กœ ์„ค์ •

* test : ๋ณดํ˜ธ์ž ํšŒ์›๊ฐ€์ž… + ๋น„๋ฐ€๋ฒˆํ˜ธ ์•”ํ˜ธํ™” ํ…Œ์ŠคํŠธ

* feat : ๋ณดํ˜ธ์ž ๋กœ๊ทธ์ธ ์ถ”๊ฐ€ + ๊ถŒํ•œ ์„ค์ •

* refactor: ๋ณดํ˜ธ์ž, ์š”์–‘์‚ฌ api controller ๋ถ„๋ฆฌ

* feat: ์ฐจํŠธ ์‚ญ์ œ api ๊ตฌํ˜„

* refactor: reseponse ์ „์ฒด record ํƒ€์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* feat: chart request ์ž‘์„ฑ

* feat: ์—”ํ‹ฐํ‹ฐ mapper ๊ตฌํ˜„

* feat: ChartMapper์— id ignore ์˜ต์…˜ ์ถ”๊ฐ€

* Revert "feat: ChartMapper์— id ignore ์˜ต์…˜ ์ถ”๊ฐ€"

This reverts commit ae92004.

* feat: ๊ฐ•์ฒ ๋ฉ˜ํ† ๋‹˜ ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ฐ˜์˜, chart์ œ์™ธ (#28)

* refactor : ๋ถˆํ•„์š” ํด๋ž˜์Šค ์‚ญ์ œ

* feat : config jwt ์ ์šฉ๋œ ์ƒํƒœ๋กœ ์ˆ˜์ •

* feat : JWT + security userdetails ์„ค์ •

* feat : ๋ณดํ˜ธ์ž ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test : ๋ณดํ˜ธ์ž ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ - swagger

* feat : ๊ธฐ์กด ๋ณดํ˜ธ์ž ๋„๋ฉ”์ธ ์ผ๋ถ€ ์ˆ˜์ • (๊ถŒํ•œ ๊ฒ€์‚ฌ, ID ์กฐํšŒ)

* refactor : ๋ถˆํ•„์š” ํ•„๋“œ ์‚ญ์ œ

* bug : security ๊ถŒํ•œ ์„ค์ • ๋ฌธ์ œ ๋ฐœ์ƒ

* feat: MapStruct ์‚ฌ์šฉ์„ ์œ„ํ•œ getter,setter ์ถ”๊ฐ€

* feat: chart ํ•„๋“œ ์„ธ๋ถ€ ๋งคํ•‘ ๋ช…์‹œ

* test: MapStruct ๋งคํ•‘ ํ™•์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ์‚ฌ์šฉ์ž์— ๋”ฐ๋ฅธ api prefix ๊ตฌ๋ถ„

* merge: week4์™€ merge

* feat: ์ฐจํŠธ ์ž‘์„ฑ api ๊ตฌํ˜„

* feat: ์ฐจํŠธ ์ˆ˜์ • api ๊ตฌํ˜„

* fix : Role ๋ฌธ์ œ ํ•ด๊ฒฐ

* feat : ์ปจํŠธ๋กค๋Ÿฌ ๊ถŒํ•œ ๊ฒ€์‚ฌ ์ถ”๊ฐ€

* feat : ๋น„๋ฐ€๋ฒˆํ˜ธ ๋กœ์ง ์ถ”๊ฐ€

* refactor : ๋ถˆํ•„์š” ๋กœ๊ทธ ์ œ๊ฑฐ

* feat : ์—ญํ• ์— ๋”ฐ๋ฅธ ๊ถŒํ•œ ๋ถ€์—ฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat : ์ „ํ™”๋ฒˆํ˜ธ ์กฐํšŒ ๋ช…์‹œ์  ์ถ”๊ฐ€

* fix : ๋ถˆํ•„์š” import์ œ๊ฑฐ, ํฌ๋ฉงํŒ…

* feat : careworker ๋กœ๊ทธ์ธ ๊ถŒํ•œ ํ—ˆ์šฉ

* fix : ๋กœ๊ทธ์ธ ์Šคํ”„๋ง ๋ฒ„์ „์œผ๋กœ ๋ณ€๊ฒฝ

* fix : careworker ์ปจํŠธ๋กค๋Ÿฌ ๊ถŒํ•œ์ˆ˜์ •

* fix : appversion ๋ถ€๋ถ„ ์™€์ผ๋“œ์นด๋“œ ์ ์šฉ

* fix : valid ์ถ”๊ฐ€

* fix : bulid ํŒจํ„ด ์ œ๊ฑฐ

* fix : careworker ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ ์ค‘๋ณต ๊ฒ€์‚ฌ

* @RestControllerAdvice๋ฅผ ์ด์šฉํ•œ ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๋ฐ logging ์„ค์ • (#30)

* feat: ์˜ˆ์™ธ์ฒ˜๋ฆฌ(#26)

* comment: message ํ†ต์ผ

* refactor: ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ฐ˜์˜ 1

* refactor: ์ฝ”๋“œ๋ฆฌ๋ทฐ ๋ฐ˜์˜ 2

* comment : ๊ฐœํ–‰ ์กฐ์ ˆ

* feat : ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๋กœ์ง ์ถ”๊ฐ€

* feat : ํ† ํฐ ๋งŒ๋ฃŒ error ์ถ”๊ฐ€

* feat : ํ† ํฐ ๋งŒ๋ฃŒ ๊ฒ€์‚ฌ ์ถ”๊ฐ€

* [๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์š”์–‘์› ๋„๋ฉ”์ธ CRUD (#41)

* feat : ์ ‘๊ทผ๊ถŒํ•œ ๊ด€๋ จ ์ปค์Šคํ…€ ํ•„ํ„ฐ ํ‘œํ˜„์‹ ์ถ”๊ฐ€

๊ทธ์— ๋งž์ถฐ์„œ BaseUserDetails์— Id์™€ getRole ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* save : ์ž„์‹œ careworker ์ €์žฅ

* chore : LoginController ํ†ต์ผ๋กœ ์ธํ•œ ์‚ญ์ œ

* chore : root ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

* build : ์„ค์ •๊ฐ’ ๋ถ„๋ฆฌ

* chore : ์š”์–‘์› Role ์ถ”๊ฐ€

* feat : ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* chore : ๋ถˆํ•„์š” test ์‚ญ์ œ

* fix : ์ž˜๋ชป๋œ wildcard ์‚ฌ์šฉ ์ˆ˜์ •

* ์ฐจํŠธ CRUD ๊ตฌํ˜„, ๊ณตํ†ต Response ํฌ๋งท ์ž‘์„ฑ (#33)

* feat: ์ƒํƒœ๊ฐ’ ํ•„๋“œ๋ช… ์ˆ˜์ •

* feat: chat ์—”ํ‹ฐํ‹ฐ์— ์ƒํƒœ ๊ด€๋ จ ํ•„๋“œ ์ถ”๊ฐ€

* feat: chart- ์ธ์ง€๊ด€๋ฆฌ ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€
- chart ์—”ํ‹ฐํ‹ฐ์™€ ์ผ๋Œ€์ผ ์—ฐ๊ด€๊ด€๊ณ„ ์„ค์ •

* feat: ์‹ ์ฒด ํ™œ๋™ ์—”ํ‹ฐํ‹ฐ์—์„œ ์™ธ์ถœ ์—ฌ๋ถ€ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* feat: ์‹ ์ฒด ํ™œ๋™ ์„ธ๋ถ€ ์กฐํšŒ dto ์ž‘์„ฑ

* feat: ์‹ ์ฒด ํ™œ๋™ ์„ธ๋ถ€ ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* feat: ๊ฐ„ํ˜ธ ๊ด€๋ฆฌ ์„ธ๋ถ€ ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* refactor: chart ๊ด€๋ จ response๋Š” ๋ณ„๋„ ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

* feat: ์ธ์ง€ ๊ด€๋ฆฌ ์„ธ๋ถ€ ์กฐํšŒ dto ์ž‘์„ฑ

* feat-chart ๊ณ ๋‚˜๋ จ ์—”ํ‹ฐํ‹ฐ์— comment ์ถ”๊ฐ€

* chore: ๋ถˆํ•„์š”ํ•œ import๋ฌธ ์‚ญ์ œ

* feat: ํšŒ๋ณต ํ›ˆ๋ จ response dto ์ž‘์„ฑ

* feat: chart detail response dto ์ž‘์„ฑ

* refactor: ๋„๋ฉ”์ธ ๋ณ„ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝ

* feat: chartController ์ž‘์„ฑ
- ํ™˜์ž id๋กœ ์ผ์ง€ ์ „์ฒด ์กฐํšŒ ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ํ™˜์ž id๋กœ ์ผ์ง€ ์ „์ฒด ์กฐํšŒ ํ•จ์ˆ˜์— pagable ์ถ”๊ฐ€

* feat: chartRepository ์ž‘์„ฑ
- ํ™˜์ž id๋กœ ์ผ๊ธฐ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: util ํด๋ž˜์Šค ์ƒ์„ฑ
- default_page_size ์„ ์–ธ

* feat: chart ๊ด€๋ จ response ์ „์ฒด์— builder ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* feat: chart ๊ด€๋ จ ์—”ํ‹ฐํ‹ฐ ์ „๋ถ€์— getter ์ถ”๊ฐ€

* chore: ํ•„๋“œ๋ช… ์นด๋ฉœ ์ผ€์ด์Šค๋กœ ํ†ต์ผ

* feat: ChartDetailResponse ๊ฐ์ฒด ์ƒ์„ฑ ํ•จ์ˆ˜ ๊ตฌํ˜„
- ์„ธ๋ถ€ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ DTO ์ƒ์„ฑ ํ›„ ChartDetailResponse ๊ฐ์ฒด์— ๋„ฃ์Œ

* feat: chartService ์ž‘์„ฑ
- ํ™˜์žid๋ฅผ ํ†ตํ•ด ์ผ์ง€ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐจํŠธid๋กœ ์ฐจํŠธ ์„ธ๋ถ€ ์กฐํšŒ api ๊ตฌํ˜„

* fix: ์ฐจํŠธ ํŠน์ด์‚ฌํ•ญ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ
- ๊ธฐ์กด String์—์„œ TEXT ์ž๋ฃŒํ˜•์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: ๋ณดํ˜ธ์ž, ์š”์–‘์‚ฌ api controller ๋ถ„๋ฆฌ

* feat: ์ฐจํŠธ ์‚ญ์ œ api ๊ตฌํ˜„

* refactor: reseponse ์ „์ฒด record ํƒ€์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* feat: chart request ์ž‘์„ฑ

* feat: ์—”ํ‹ฐํ‹ฐ mapper ๊ตฌํ˜„

* feat: ChartMapper์— id ignore ์˜ต์…˜ ์ถ”๊ฐ€

* Revert "feat: ChartMapper์— id ignore ์˜ต์…˜ ์ถ”๊ฐ€"

This reverts commit ae92004.

* feat: MapStruct ์‚ฌ์šฉ์„ ์œ„ํ•œ getter,setter ์ถ”๊ฐ€

* feat: chart ํ•„๋“œ ์„ธ๋ถ€ ๋งคํ•‘ ๋ช…์‹œ

* test: MapStruct ๋งคํ•‘ ํ™•์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ์‚ฌ์šฉ์ž์— ๋”ฐ๋ฅธ api prefix ๊ตฌ๋ถ„

* merge: week4์™€ merge

* feat: ์ฐจํŠธ ์ž‘์„ฑ api ๊ตฌํ˜„

* feat: ์ฐจํŠธ ์ˆ˜์ • api ๊ตฌํ˜„

* feat: ๊ณตํ†ต response ํฌ๋งท ์ž‘์„ฑ

* chore: ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์‚ญ์ œ

* refactor: chart ๊ด€๋ จ api response ํ˜•์‹ ์ˆ˜์ •
- ๊ณตํ†ต ํฌ๋งท์œผ๋กœ ๋ณ€๊ฒฝ

* refactor: api prefix ํ”„๋กœํผํ‹ฐ ๊ฐ’์œผ๋กœ ๋ณ€๊ฒฝ

* feat : ๋กœ๊ทธ์ธ endpoint ํ†ต์ผ

custom provider ์ถ”๊ฐ€ ์ง„ํ–‰

* chore : ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ถˆ์ผ์น˜ ์˜ค๋ฅ˜ ์ถ”๊ฐ€ ์™ธ

์ผ๋ฐ˜์ ์ธ ๊ฐœํ–‰์กฐ์ ˆ

* fix : ๋กœ๊ทธ์ธ ๊ณผ์ • ๋กœ๊ทธ์ธ ๋ถˆ๊ฐ€ ๋ฌธ์ œ ํ•ด๊ฒฐ

@value ์–ด๋…ธํ…Œ์ด์…˜ ์•ž์— "/" ํŠน์ˆ˜๋ฌธ์ž๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ์–ด์„œ ํ—ค๋” ๋ณ€ํ™˜์—์„œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด ๊ฒƒ์ด์˜€์Œ.

* [์š”์–‘๋ณดํ˜ธ์‚ฌ / ๋ณดํ˜ธ์ž] Line messaging API๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์•Œ๋ฆผ ์„œ๋น„์Šค ๊ตฌํ˜„ํ•˜๊ธฐ (#42)

* feat : ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat : line api ์˜์กด์„ฑ ์ถ”๊ฐ€ ๋ฐ exception ๋””๋ ‰ํ† ๋ฆฌ ์œ„์น˜ ๋ณ€๊ฒฝ

* feat : ์›ฐ์ปด ๋ฉ”์‹œ์ง€ ๋ฐ ์‚ฌ์šฉ์ž ์ž…๋ ฅ ๋ฉ”์‹œ์ง€ ๋ฐ›๊ธฐ ์™„๋ฃŒ!!

* feat : ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ ๊ตฌํ˜„ ์™„๋ฃŒ!!

* refactor : Stranger ์›ฐ์ปด ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ

* refactor : ๋””๋ ‰ํ† ๋ฆฌ ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor : 30๋ถ„ ๋‹จ์œ„๋„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ๋ณ€๊ฒฝ, ์›ฐ์ปด ๋ฉ”์‹œ์ง€ ๋ณ€๊ฒฝ

* refactor : unfollow ์ด๋ฒคํŠธ ๋Œ€์ฒ˜

* [๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์š”์–‘์› ๋„๋ฉ”์ธ CRUD (#39)

* feat: ์š”์–‘์› ๋„๋ฉ”์ธ

* refactor: admin์—์„œ developer๋กœ ๋ณ€๊ฒฝ

* refactor: developer -> admin

* refactor: admin->institution ์š”์–‘์›์ด ๊ด€๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„

* refactor : ํŒŒ์ผ ๋ถ„๋ฆฌ

* refactor : baseEntity ์œ„์น˜ ๋ณ€๊ฒฝ

* feat : ๊ธฐ๋ณธ๊ฐ’ ์ดˆ๊ธฐํ™”

* feat : ๊ธฐ๋ณธ๊ฐ’ ์ดˆ๊ธฐํ™”

* refactor : ์ „ํ™”๋ฒˆํ˜ธ ์ž…๋ ฅ ๋กœ์ง ๊ตฌ์ฒดํ™”

* refactor : Optional ์ œ๊ฑฐ

* refactor : ์˜ˆ์™ธ ์ผ€์ด์Šค ๋Œ€์ฒ˜

* refactor : ๋ฉ”์„œ๋“œ ๋ถ„๋ฆฌ

* refactor : mapper ๋ฆฌํŒฉํ† ๋ง

* refactor : ์ˆœํ™˜ ์ฐธ์กฐ ํ•ด๊ฒฐ

* refactor : ๋””๋ ‰ํ† ๋ฆฌ๋ช… ์ •์˜

* test : ํ…Œ์ŠคํŠธ ์™„๋ฃŒ!

* refactor : private์œผ๋กœ ๋ฐ”๊พธ๊ธฐ

---------

Co-authored-by: hyyyh0x <141637975+hyyyh0x@users.noreply.github.com>

* chore : ๋ถˆํ•„์š” ํด๋ž˜์Šค ์‚ญ์ œ

* feat : Principal ๋‚ด๋ถ€ InstitutionNumber ์ถ”๊ฐ€

* feat : ๊ถŒํ™˜ํ™•์ธ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* chore : ๊ฐœํ–‰์กฐ์ ˆ, ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore : merge ๋ฌธ์ œ ํ•ด๊ฒฐ

* ๋Œ๋ด„๋Œ€์ƒ์ž/๋ณดํ˜ธ์ž/์š”์–‘๋ณดํ˜ธ์‚ฌ ๋ฐ์ดํ„ฐ ํŒŒ์ผ ์ž…์ถœ๋ ฅ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#49)

* feat: ์—‘์…€ ์ •๋ณด ์ฒ˜๋ฆฌ (#34)

* fix: ํ˜•์‹ ๋ฐ˜ํ™˜ ์ˆ˜์ • (#34)

* feat: ์‹œํŠธ์ด๋ฆ„ ๋ฐ ํ•ญ๋ชฉ ์ด๋ฆ„ ํ•œ๊ธ€๋กœ ๋ณ€๊ฒฝ (#34)

* feat: ์„œ๋น„์Šค ๋กœ์ง ๋ถ„๋ฆฌ(#34)

* chore : ๋ถˆํ•„์š” ์ฃผ์„ ์‚ญ์ œ

* chore : getter ์ˆ˜์ •, ๊ฐœํ–‰์กฐ์ ˆ

* chore : ๊ฐœํ–‰์กฐ์ ˆ, ๋ชจํ˜ธํ•œ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* chore : ์‹œํฌ๋ฆฟํ‚ค ์ˆ˜์ •, ์ด์ „๋ฒ„์ „ ์„œ๋น„์Šค ์ œ๊ฑฐ

* Week6 ์ตœ์ข… PR (#51)

* build : H2 database ์ถ”๊ฐ€

๋กœ์ปฌ ํ…Œ์ŠคํŠธ ์šฉ๋„

* save

* build : JWT test secret key ์ถ”๊ฐ€

* feat : ์ธ์ฆ์„ ์œ„ํ•œ user entity ์ถ”๊ฐ€

* feat : jwt ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat : security config ์ถ”๊ฐ€

* feat : ์ธ์ฆ ๊ด€๋ จ ์„œ๋น„์Šค ์ถ”๊ฐ€

* feat : ๋กœ๊ทธ์ธ ํ•„ํ„ฐ ์ถ”๊ฐ€

* delete : ๋ถˆํ•„์š” ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค ์‚ญ์ œ

* fix : ๋ถˆํ•„์š” import ์ œ๊ฑฐ, JwtFilter ์˜ค๋ฅ˜ ์ˆ˜์ •

* ๊ณ„์ธต ๋ถ„๋ฆฌ, ํ…Œ์ด๋ธ”๋ช…์„ ์ œ์™ธํ•˜๊ณ  ์ „๋ถ€ ๋‹จ์ˆ˜ํ˜• ์ฒ˜๋ฆฌ, ๊ฐ„๋‹จํ•œ ๋ฆฌํŒฉํ† ๋ง ์ž‘์—… (#24)

* feat :
1. ๋„๋ฉ”์ธ ๋‹จ์œ„๋กœ ๊ณ„์ธต ๋ถ„๋ฆฌ
2. ํ…Œ์ด๋ธ”๋ช…์„ ์ œ์™ธํ•˜๊ณ  ์ „๋ถ€ ๋‹จ์ˆ˜ํ˜•์œผ๋กœ ๋ฐ”๊พธ๊ธฐ
3. ๊ฐ„๋‹จํ•œ ๋ฆฌํŒฉํ† ๋ง

* feat : ๋ณดํ˜ธ์ž, ์š”์–‘๋ณดํ˜ธ์‚ฌ ์•„์ด๋”” ๋น„๋ฒˆ ์ถ”๊ฐ€

* refactor : ํ˜œ์—ฐ๋‹˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ „๋ถ€ ๋ฐ˜์˜

* refactor : ํ˜œ์—ฐ๋‹˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ „๋ถ€ ๋ฐ˜์˜ - 2

* refactor : ์ƒ์„ฑ์ž ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor : ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat(security): ๊ถŒํ•œ Role ์ถ”๊ฐ€

* feat : ๋ณดํ˜ธ์ž ํšŒ์›๊ฐ€์ž… ์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ+์•”ํ˜ธํ™” ์ถ”๊ฐ€

GuardianService์—์„œ ํŒจ์Šค์›Œ๋“œ ์•”ํ˜ธํ™”๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

* feat : SecurityConfig ์ž„์‹œ ์„ธํŒ… ์ถ”๊ฐ€

๊ด€๋ฆฌ์ž ๋„๋ฉ”์ธ์ด ์—†์œผ๋ฏ€๋กœ permit all ๋กœ ์„ค์ •

* test : ๋ณดํ˜ธ์ž ํšŒ์›๊ฐ€์ž… + ๋น„๋ฐ€๋ฒˆํ˜ธ ์•”ํ˜ธํ™” ํ…Œ์ŠคํŠธ

* feat : ๋ณดํ˜ธ์ž ๋กœ๊ทธ์ธ ์ถ”๊ฐ€ + ๊ถŒํ•œ ์„ค์ •

* refactor : ๋ถˆํ•„์š” ํด๋ž˜์Šค ์‚ญ์ œ

* feat : config jwt ์ ์šฉ๋œ ์ƒํƒœ๋กœ ์ˆ˜์ •

* feat : JWT + security userdetails ์„ค์ •

* feat : ๋ณดํ˜ธ์ž ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test : ๋ณดํ˜ธ์ž ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ - swagger

* feat : ๊ธฐ์กด ๋ณดํ˜ธ์ž ๋„๋ฉ”์ธ ์ผ๋ถ€ ์ˆ˜์ • (๊ถŒํ•œ ๊ฒ€์‚ฌ, ID ์กฐํšŒ)

* refactor : ๋ถˆํ•„์š” ํ•„๋“œ ์‚ญ์ œ

* bug : security ๊ถŒํ•œ ์„ค์ • ๋ฌธ์ œ ๋ฐœ์ƒ

* fix : Role ๋ฌธ์ œ ํ•ด๊ฒฐ

* feat : ์ปจํŠธ๋กค๋Ÿฌ ๊ถŒํ•œ ๊ฒ€์‚ฌ ์ถ”๊ฐ€

* feat : ๋น„๋ฐ€๋ฒˆํ˜ธ ๋กœ์ง ์ถ”๊ฐ€

* refactor : ๋ถˆํ•„์š” ๋กœ๊ทธ ์ œ๊ฑฐ

* feat : ์—ญํ• ์— ๋”ฐ๋ฅธ ๊ถŒํ•œ ๋ถ€์—ฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat : ์ „ํ™”๋ฒˆํ˜ธ ์กฐํšŒ ๋ช…์‹œ์  ์ถ”๊ฐ€

* fix : ๋ถˆํ•„์š” import์ œ๊ฑฐ, ํฌ๋ฉงํŒ…

* feat : careworker ๋กœ๊ทธ์ธ ๊ถŒํ•œ ํ—ˆ์šฉ

* fix : ๋กœ๊ทธ์ธ ์Šคํ”„๋ง ๋ฒ„์ „์œผ๋กœ ๋ณ€๊ฒฝ

* fix : careworker ์ปจํŠธ๋กค๋Ÿฌ ๊ถŒํ•œ์ˆ˜์ •

* fix : appversion ๋ถ€๋ถ„ ์™€์ผ๋“œ์นด๋“œ ์ ์šฉ

* fix : valid ์ถ”๊ฐ€

* fix : bulid ํŒจํ„ด ์ œ๊ฑฐ

* fix : careworker ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ ์ค‘๋ณต ๊ฒ€์‚ฌ

* comment : ๊ฐœํ–‰ ์กฐ์ ˆ

* feat : ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๋กœ์ง ์ถ”๊ฐ€

* feat : ํ† ํฐ ๋งŒ๋ฃŒ error ์ถ”๊ฐ€

* feat : ํ† ํฐ ๋งŒ๋ฃŒ ๊ฒ€์‚ฌ ์ถ”๊ฐ€

* feat : ์ ‘๊ทผ๊ถŒํ•œ ๊ด€๋ จ ์ปค์Šคํ…€ ํ•„ํ„ฐ ํ‘œํ˜„์‹ ์ถ”๊ฐ€

๊ทธ์— ๋งž์ถฐ์„œ BaseUserDetails์— Id์™€ getRole ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* save : ์ž„์‹œ careworker ์ €์žฅ

* chore : LoginController ํ†ต์ผ๋กœ ์ธํ•œ ์‚ญ์ œ

* chore : root ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

* build : ์„ค์ •๊ฐ’ ๋ถ„๋ฆฌ

* chore : ์š”์–‘์› Role ์ถ”๊ฐ€

* feat : ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* chore : ๋ถˆํ•„์š” test ์‚ญ์ œ

* fix : ์ž˜๋ชป๋œ wildcard ์‚ฌ์šฉ ์ˆ˜์ •

* feat : ๋กœ๊ทธ์ธ endpoint ํ†ต์ผ

custom provider ์ถ”๊ฐ€ ์ง„ํ–‰

* chore : ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ถˆ์ผ์น˜ ์˜ค๋ฅ˜ ์ถ”๊ฐ€ ์™ธ

์ผ๋ฐ˜์ ์ธ ๊ฐœํ–‰์กฐ์ ˆ

* fix : ๋กœ๊ทธ์ธ ๊ณผ์ • ๋กœ๊ทธ์ธ ๋ถˆ๊ฐ€ ๋ฌธ์ œ ํ•ด๊ฒฐ

@value ์–ด๋…ธํ…Œ์ด์…˜ ์•ž์— "/" ํŠน์ˆ˜๋ฌธ์ž๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ์–ด์„œ ํ—ค๋” ๋ณ€ํ™˜์—์„œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด ๊ฒƒ์ด์˜€์Œ.

* chore : ๋ถˆํ•„์š” ํด๋ž˜์Šค ์‚ญ์ œ

* feat : Principal ๋‚ด๋ถ€ InstitutionNumber ์ถ”๊ฐ€

* feat : ๊ถŒํ™˜ํ™•์ธ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* chore : ๊ฐœํ–‰์กฐ์ ˆ, ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore : merge ๋ฌธ์ œ ํ•ด๊ฒฐ

* ๋Œ๋ด„๋Œ€์ƒ์ž/๋ณดํ˜ธ์ž/์š”์–‘๋ณดํ˜ธ์‚ฌ ๋ฐ์ดํ„ฐ ํŒŒ์ผ ์ž…์ถœ๋ ฅ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#49)

* feat: ์—‘์…€ ์ •๋ณด ์ฒ˜๋ฆฌ (#34)

* fix: ํ˜•์‹ ๋ฐ˜ํ™˜ ์ˆ˜์ • (#34)

* feat: ์‹œํŠธ์ด๋ฆ„ ๋ฐ ํ•ญ๋ชฉ ์ด๋ฆ„ ํ•œ๊ธ€๋กœ ๋ณ€๊ฒฝ (#34)

* feat: ์„œ๋น„์Šค ๋กœ์ง ๋ถ„๋ฆฌ(#34)

* chore : ๋ถˆํ•„์š” ์ฃผ์„ ์‚ญ์ œ

* chore : getter ์ˆ˜์ •, ๊ฐœํ–‰์กฐ์ ˆ

* chore : ๊ฐœํ–‰์กฐ์ ˆ, ๋ชจํ˜ธํ•œ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* chore : ์‹œํฌ๋ฆฟํ‚ค ์ˆ˜์ •, ์ด์ „๋ฒ„์ „ ์„œ๋น„์Šค ์ œ๊ฑฐ

---------

Co-authored-by: ๊น€ํƒœ์œค <77539625+pykido@users.noreply.github.com>
Co-authored-by: Jinsol Lee <purnsol1001@naver.com>

* fix: chart ๊ด€๋ จ ์—”ํ‹ฐํ‹ฐ cascade ์„ค์ •

* ์ฐจํŠธ ์ž‘์„ฑ ์˜ค๋ฅ˜ ์ˆ˜์ • (#54)

* build : H2 database ์ถ”๊ฐ€

๋กœ์ปฌ ํ…Œ์ŠคํŠธ ์šฉ๋„

* save

* build : JWT test secret key ์ถ”๊ฐ€

* feat : ์ธ์ฆ์„ ์œ„ํ•œ user entity ์ถ”๊ฐ€

* feat : jwt ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat : security config ์ถ”๊ฐ€

* feat : ์ธ์ฆ ๊ด€๋ จ ์„œ๋น„์Šค ์ถ”๊ฐ€

* feat : ๋กœ๊ทธ์ธ ํ•„ํ„ฐ ์ถ”๊ฐ€

* delete : ๋ถˆํ•„์š” ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค ์‚ญ์ œ

* fix : ๋ถˆํ•„์š” import ์ œ๊ฑฐ, JwtFilter ์˜ค๋ฅ˜ ์ˆ˜์ •

* feat: ์ƒํƒœ๊ฐ’ ํ•„๋“œ๋ช… ์ˆ˜์ •

* feat: chat ์—”ํ‹ฐํ‹ฐ์— ์ƒํƒœ ๊ด€๋ จ ํ•„๋“œ ์ถ”๊ฐ€

* feat: chart- ์ธ์ง€๊ด€๋ฆฌ ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€
- chart ์—”ํ‹ฐํ‹ฐ์™€ ์ผ๋Œ€์ผ ์—ฐ๊ด€๊ด€๊ณ„ ์„ค์ •

* feat: ์‹ ์ฒด ํ™œ๋™ ์—”ํ‹ฐํ‹ฐ์—์„œ ์™ธ์ถœ ์—ฌ๋ถ€ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* feat: ์‹ ์ฒด ํ™œ๋™ ์„ธ๋ถ€ ์กฐํšŒ dto ์ž‘์„ฑ

* feat: ์‹ ์ฒด ํ™œ๋™ ์„ธ๋ถ€ ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* feat: ๊ฐ„ํ˜ธ ๊ด€๋ฆฌ ์„ธ๋ถ€ ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* refactor: chart ๊ด€๋ จ response๋Š” ๋ณ„๋„ ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

* feat: ์ธ์ง€ ๊ด€๋ฆฌ ์„ธ๋ถ€ ์กฐํšŒ dto ์ž‘์„ฑ

* feat-chart ๊ณ ๋‚˜๋ จ ์—”ํ‹ฐํ‹ฐ์— comment ์ถ”๊ฐ€

* chore: ๋ถˆํ•„์š”ํ•œ import๋ฌธ ์‚ญ์ œ

* feat: ํšŒ๋ณต ํ›ˆ๋ จ response dto ์ž‘์„ฑ

* feat: chart detail response dto ์ž‘์„ฑ

* refactor: ๋„๋ฉ”์ธ ๋ณ„ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝ

* feat: chartController ์ž‘์„ฑ
- ํ™˜์ž id๋กœ ์ผ์ง€ ์ „์ฒด ์กฐํšŒ ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ํ™˜์ž id๋กœ ์ผ์ง€ ์ „์ฒด ์กฐํšŒ ํ•จ์ˆ˜์— pagable ์ถ”๊ฐ€

* feat: chartRepository ์ž‘์„ฑ
- ํ™˜์ž id๋กœ ์ผ๊ธฐ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: util ํด๋ž˜์Šค ์ƒ์„ฑ
- default_page_size ์„ ์–ธ

* feat: chart ๊ด€๋ จ response ์ „์ฒด์— builder ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* feat: chart ๊ด€๋ จ ์—”ํ‹ฐํ‹ฐ ์ „๋ถ€์— getter ์ถ”๊ฐ€

* chore: ํ•„๋“œ๋ช… ์นด๋ฉœ ์ผ€์ด์Šค๋กœ ํ†ต์ผ

* feat: ChartDetailResponse ๊ฐ์ฒด ์ƒ์„ฑ ํ•จ์ˆ˜ ๊ตฌํ˜„
- ์„ธ๋ถ€ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ DTO ์ƒ์„ฑ ํ›„ ChartDetailResponse ๊ฐ์ฒด์— ๋„ฃ์Œ

* feat: chartService ์ž‘์„ฑ
- ํ™˜์žid๋ฅผ ํ†ตํ•ด ์ผ์ง€ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐจํŠธid๋กœ ์ฐจํŠธ ์„ธ๋ถ€ ์กฐํšŒ api ๊ตฌํ˜„

* fix: ์ฐจํŠธ ํŠน์ด์‚ฌํ•ญ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ
- ๊ธฐ์กด String์—์„œ TEXT ์ž๋ฃŒํ˜•์œผ๋กœ ๋ณ€๊ฒฝ

* ๊ณ„์ธต ๋ถ„๋ฆฌ, ํ…Œ์ด๋ธ”๋ช…์„ ์ œ์™ธํ•˜๊ณ  ์ „๋ถ€ ๋‹จ์ˆ˜ํ˜• ์ฒ˜๋ฆฌ, ๊ฐ„๋‹จํ•œ ๋ฆฌํŒฉํ† ๋ง ์ž‘์—… (#24)

* feat :
1. ๋„๋ฉ”์ธ ๋‹จ์œ„๋กœ ๊ณ„์ธต ๋ถ„๋ฆฌ
2. ํ…Œ์ด๋ธ”๋ช…์„ ์ œ์™ธํ•˜๊ณ  ์ „๋ถ€ ๋‹จ์ˆ˜ํ˜•์œผ๋กœ ๋ฐ”๊พธ๊ธฐ
3. ๊ฐ„๋‹จํ•œ ๋ฆฌํŒฉํ† ๋ง

* feat : ๋ณดํ˜ธ์ž, ์š”์–‘๋ณดํ˜ธ์‚ฌ ์•„์ด๋”” ๋น„๋ฒˆ ์ถ”๊ฐ€

* refactor : ํ˜œ์—ฐ๋‹˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ „๋ถ€ ๋ฐ˜์˜

* refactor : ํ˜œ์—ฐ๋‹˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ „๋ถ€ ๋ฐ˜์˜ - 2

* refactor : ์ƒ์„ฑ์ž ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor : ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat(security): ๊ถŒํ•œ Role ์ถ”๊ฐ€

* feat : ๋ณดํ˜ธ์ž ํšŒ์›๊ฐ€์ž… ์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ+์•”ํ˜ธํ™” ์ถ”๊ฐ€

GuardianService์—์„œ ํŒจ์Šค์›Œ๋“œ ์•”ํ˜ธํ™”๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

* feat : SecurityConfig ์ž„์‹œ ์„ธํŒ… ์ถ”๊ฐ€

๊ด€๋ฆฌ์ž ๋„๋ฉ”์ธ์ด ์—†์œผ๋ฏ€๋กœ permit all ๋กœ ์„ค์ •

* test : ๋ณดํ˜ธ์ž ํšŒ์›๊ฐ€์ž… + ๋น„๋ฐ€๋ฒˆํ˜ธ ์•”ํ˜ธํ™” ํ…Œ์ŠคํŠธ

* feat : ๋ณดํ˜ธ์ž ๋กœ๊ทธ์ธ ์ถ”๊ฐ€ + ๊ถŒํ•œ ์„ค์ •

* refactor: ๋ณดํ˜ธ์ž, ์š”์–‘์‚ฌ api controller ๋ถ„๋ฆฌ

* feat: ์ฐจํŠธ ์‚ญ์ œ api ๊ตฌํ˜„

* refactor: reseponse ์ „์ฒด record ํƒ€์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* feat: chart request ์ž‘์„ฑ

* feat: ์—”ํ‹ฐํ‹ฐ mapper ๊ตฌํ˜„

* feat: ChartMapper์— id ignore ์˜ต์…˜ ์ถ”๊ฐ€

* Revert "feat: ChartMapper์— id ignore ์˜ต์…˜ ์ถ”๊ฐ€"

This reverts commit ae92004.

* refactor : ๋ถˆํ•„์š” ํด๋ž˜์Šค ์‚ญ์ œ

* feat : config jwt ์ ์šฉ๋œ ์ƒํƒœ๋กœ ์ˆ˜์ •

* feat : JWT + security userdetails ์„ค์ •

* feat : ๋ณดํ˜ธ์ž ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test : ๋ณดํ˜ธ์ž ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ - swagger

* feat : ๊ธฐ์กด ๋ณดํ˜ธ์ž ๋„๋ฉ”์ธ ์ผ๋ถ€ ์ˆ˜์ • (๊ถŒํ•œ ๊ฒ€์‚ฌ, ID ์กฐํšŒ)

* refactor : ๋ถˆํ•„์š” ํ•„๋“œ ์‚ญ์ œ

* bug : security ๊ถŒํ•œ ์„ค์ • ๋ฌธ์ œ ๋ฐœ์ƒ

* feat: MapStruct ์‚ฌ์šฉ์„ ์œ„ํ•œ getter,setter ์ถ”๊ฐ€

* feat: chart ํ•„๋“œ ์„ธ๋ถ€ ๋งคํ•‘ ๋ช…์‹œ

* test: MapStruct ๋งคํ•‘ ํ™•์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ์‚ฌ์šฉ์ž์— ๋”ฐ๋ฅธ api prefix ๊ตฌ๋ถ„

* merge: week4์™€ merge

* feat: ์ฐจํŠธ ์ž‘์„ฑ api ๊ตฌํ˜„

* feat: ์ฐจํŠธ ์ˆ˜์ • api ๊ตฌํ˜„

* fix : Role ๋ฌธ์ œ ํ•ด๊ฒฐ

* feat : ์ปจํŠธ๋กค๋Ÿฌ ๊ถŒํ•œ ๊ฒ€์‚ฌ ์ถ”๊ฐ€

* feat : ๋น„๋ฐ€๋ฒˆํ˜ธ ๋กœ์ง ์ถ”๊ฐ€

* refactor : ๋ถˆํ•„์š” ๋กœ๊ทธ ์ œ๊ฑฐ

* feat : ์—ญํ• ์— ๋”ฐ๋ฅธ ๊ถŒํ•œ ๋ถ€์—ฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat : ์ „ํ™”๋ฒˆํ˜ธ ์กฐํšŒ ๋ช…์‹œ์  ์ถ”๊ฐ€

* fix : ๋ถˆํ•„์š” import์ œ๊ฑฐ, ํฌ๋ฉงํŒ…

* feat : careworker ๋กœ๊ทธ์ธ ๊ถŒํ•œ ํ—ˆ์šฉ

* fix : ๋กœ๊ทธ์ธ ์Šคํ”„๋ง ๋ฒ„์ „์œผ๋กœ ๋ณ€๊ฒฝ

* fix : careworker ์ปจํŠธ๋กค๋Ÿฌ ๊ถŒํ•œ์ˆ˜์ •

* fix : appversion ๋ถ€๋ถ„ ์™€์ผ๋“œ์นด๋“œ ์ ์šฉ

* fix : valid ์ถ”๊ฐ€

* fix : bulid ํŒจํ„ด ์ œ๊ฑฐ

* fix : careworker ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ ์ค‘๋ณต ๊ฒ€์‚ฌ

* comment : ๊ฐœํ–‰ ์กฐ์ ˆ

* feat : ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๋กœ์ง ์ถ”๊ฐ€

* feat : ํ† ํฐ ๋งŒ๋ฃŒ error ์ถ”๊ฐ€

* feat : ํ† ํฐ ๋งŒ๋ฃŒ ๊ฒ€์‚ฌ ์ถ”๊ฐ€

* feat : ์ ‘๊ทผ๊ถŒํ•œ ๊ด€๋ จ ์ปค์Šคํ…€ ํ•„ํ„ฐ ํ‘œํ˜„์‹ ์ถ”๊ฐ€

๊ทธ์— ๋งž์ถฐ์„œ BaseUserDetails์— Id์™€ getRole ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* save : ์ž„์‹œ careworker ์ €์žฅ

* chore : LoginController ํ†ต์ผ๋กœ ์ธํ•œ ์‚ญ์ œ

* chore : root ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

* build : ์„ค์ •๊ฐ’ ๋ถ„๋ฆฌ

* chore : ์š”์–‘์› Role ์ถ”๊ฐ€

* feat : ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* chore : ๋ถˆํ•„์š” test ์‚ญ์ œ

* fix : ์ž˜๋ชป๋œ wildcard ์‚ฌ์šฉ ์ˆ˜์ •

* feat : ๋กœ๊ทธ์ธ endpoint ํ†ต์ผ

custom provider ์ถ”๊ฐ€ ์ง„ํ–‰

* chore : ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ถˆ์ผ์น˜ ์˜ค๋ฅ˜ ์ถ”๊ฐ€ ์™ธ

์ผ๋ฐ˜์ ์ธ ๊ฐœํ–‰์กฐ์ ˆ

* fix : ๋กœ๊ทธ์ธ ๊ณผ์ • ๋กœ๊ทธ์ธ ๋ถˆ๊ฐ€ ๋ฌธ์ œ ํ•ด๊ฒฐ

@value ์–ด๋…ธํ…Œ์ด์…˜ ์•ž์— "/" ํŠน์ˆ˜๋ฌธ์ž๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ์–ด์„œ ํ—ค๋” ๋ณ€ํ™˜์—์„œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด ๊ฒƒ์ด์˜€์Œ.

* chore : ๋ถˆํ•„์š” ํด๋ž˜์Šค ์‚ญ์ œ

* feat : Principal ๋‚ด๋ถ€ InstitutionNumber ์ถ”๊ฐ€

* feat : ๊ถŒํ™˜ํ™•์ธ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* chore : ๊ฐœํ–‰์กฐ์ ˆ, ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore : merge ๋ฌธ์ œ ํ•ด๊ฒฐ

* ๋Œ๋ด„๋Œ€์ƒ์ž/๋ณดํ˜ธ์ž/์š”์–‘๋ณดํ˜ธ์‚ฌ ๋ฐ์ดํ„ฐ ํŒŒ์ผ ์ž…์ถœ๋ ฅ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#49)

* feat: ์—‘์…€ ์ •๋ณด ์ฒ˜๋ฆฌ (#34)

* fix: ํ˜•์‹ ๋ฐ˜ํ™˜ ์ˆ˜์ • (#34)

* feat: ์‹œํŠธ์ด๋ฆ„ ๋ฐ ํ•ญ๋ชฉ ์ด๋ฆ„ ํ•œ๊ธ€๋กœ ๋ณ€๊ฒฝ (#34)

* feat: ์„œ๋น„์Šค ๋กœ์ง ๋ถ„๋ฆฌ(#34)

* chore : ๋ถˆํ•„์š” ์ฃผ์„ ์‚ญ์ œ

* chore : getter ์ˆ˜์ •, ๊ฐœํ–‰์กฐ์ ˆ

* chore : ๊ฐœํ–‰์กฐ์ ˆ, ๋ชจํ˜ธํ•œ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* chore : ์‹œํฌ๋ฆฟํ‚ค ์ˆ˜์ •, ์ด์ „๋ฒ„์ „ ์„œ๋น„์Šค ์ œ๊ฑฐ

* fix: chart ๊ด€๋ จ ์—”ํ‹ฐํ‹ฐ cascade ์„ค์ •

---------

Co-authored-by: mac <20j.code@gmail.com>
Co-authored-by: ๊น€ํƒœ์œค <77539625+pykido@users.noreply.github.com>
Co-authored-by: Jinsol Lee <purnsol1001@naver.com>
Co-authored-by: 20jcode <109460399+20jcode@users.noreply.github.com>

* fix: ChartDetailResponse ๋ณ€๊ฒฝ
- conditionDisease ํ•ญ๋ชฉ ์ถ”๊ฐ€

* chore : Repository ์กด์žฌํ™•์ธ ๋ฉ”์†Œ๋“œ๋ช… ๋ณ€๊ฒฝ (#56)

* fix: ๋ถˆํ•„์š”ํ•œ ๊ถŒํ•œ ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore : Repository ์กด์žฌํ™•์ธ ๋ฉ”์†Œ๋“œ๋ช… ๋ณ€๊ฒฝ ๋กค๋ฐฑ

* build: redis ๊ด€๋ จ ์„ค์ • ์ถ”๊ฐ€

* feat: redis config ์„ค์ •

* test: redis ์—ฐ๊ฒฐ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* refactor: Jwt ๊ธฐ๋ณธ ์ •๋ณด JwtUtil๋กœ ๋ถ„๋ฆฌ
- ๊ธฐ์กด application-secret.yml์— ์žˆ๋˜ ๋ณ€์ˆ˜๋ฅผ JwtUtil๋กœ ์ด๋™

* feat: jwt ํ† ํฐ ์ƒ์„ฑ ์‹œ issuer ์ถ”๊ฐ€

* feat: redis์— refresh ํ† ํฐ ์ €์žฅ, ์กฐํšŒ, ์‚ญ์ œ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ํ† ํฐ ์ƒ์„ฑ ์‹œ ์‚ฌ์šฉํ•  TokenDTO ์ž‘์„ฑ
- refresh token, access token

* feat: TokenDTO ํ•„๋“œ ์ˆ˜์ •
- email์—์„œ username์œผ๋กœ ์ˆ˜์ •

* feat: refresh ํ† ํฐ ์ƒ์„ฑ ๊ตฌํ˜„
- ์•ก์„ธ์Šค ํ† ํฐ๊ณผ ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ์„ ํ•œ ๋ฒˆ์— ์ƒ์„ฑ

* feat: access, refresh ํ† ํฐ ์ƒ์„ฑ ํ•จ์ˆ˜ ์ ์šฉ
- service,controller์— TokenDTO ์‘๋‹ต์œผ๋กœ ๋ณ€๊ฒฝ

* feat: refresh ํ† ํฐ ๊ด€๋ จ exception code ์„ ์–ธ

* feat: ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ ํ•จ์ˆ˜ ๊ตฌํ˜„
- redis์— ํ† ํฐ ์กฐํšŒ๋กœ ํ† ํฐ ์œ ํšจ์„ฑ ๊ฒ€์ฆ

* feat: refresh ํ† ํฐ์œผ๋กœ ์žฌ๋ฐœ๊ธ‰ api ๊ตฌํ˜„

* feat: blackList access token redis์— ์ €์žฅ, ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* refactor: auth ๊ด€๋ จ api ์ˆ˜์ •
- v1/login์—์„œ v1/auth/login์œผ๋กœ ์ˆ˜์ •

* feat: ์‹œํ๋ฆฌํ‹ฐ config ์ˆ˜์ •
- ๊ถŒํ•œ์ด ํ•„์š”์—†๋Š” url์— ํ† ํฐ ์žฌ๋ฐœ๊ธ‰ api ์ถ”๊ฐ€

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ๊ตฌํ˜„
- ๋กœ๊ทธ์•„์›ƒ ์‹œ ์•ก์„ธ์Šค ํ† ํฐ ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ์— ๋“ฑ๋ก
- ๋กœ๊ทธ์•„์›ƒ ์‹œ ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ๋ ˆ๋””์Šค์—์„œ ์‚ญ์ œ

* feat: ๋กœ๊ทธ์•„์›ƒ ๊ธฐ๋Šฅ ์ˆ˜์ •
- ์œ ์ € ์ •๋ณด ์กฐํšŒ ๋กœ์ง ์ถ”๊ฐ€

* feat: ๋ ˆ๋””์Šค์— ํ† ํฐ ์ €์žฅ ์‹œ ํ‚ค ๋กœ์ง ๋ณ€๊ฒฝ
- ๊ธฐ์กด userName์—์„œ role+userName์œผ๋กœ ๋ณ€๊ฒฝ

* feat: ๋กœ๊ทธ์•„์›ƒ api ๊ตฌํ˜„

* feat: redis ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ ์กฐํšŒ ๋กœ์ง ๋ณ€๊ฒฝ
- ๋‹จ์ˆœ ์กฐํšŒ ๋Œ€์‹  ํ† ํฐ๊ฐ’ ๋น„๊ต ํ›„ boolean ๊ฐ’ ๋ฐ˜ํ™˜

* feat: ์•ก์„ธ์Šค ํ† ํฐ์œผ๋กœ ์œ ์ € ์กฐํšŒ์‹œ ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€
- ํ•ด๋‹น ์•ก์„ธ์Šค ํ† ํฐ์ด ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ์— ๋“ฑ๋ก๋˜์–ด ์žˆ๋Š”์ง€ ํ™•์ธ

* feat: ํ† ํฐ prefix ๊ฒ€์ฆ ๋กœ์ง ์ถ”๊ฐ€

* feat: security ์ธ์ฆ ์˜ค๋ฅ˜ ์ฒ˜๋ฆฌ filter ๊ตฌํ˜„

* feat: jwtFilter์—์„œ ์ธ์ฆ ์˜ค๋ฅ˜ ์‹œ ์˜ค๋ฅ˜ ๋˜์ง€๊ธฐ

* feat: SecurityConfig์— ์ธ์ฆ ์˜ค๋ฅ˜ handler filter ์ถ”๊ฐ€

* feat: token_prefix ๊ฒ€์ฆ ์ถ”๊ฐ€

* feat: ์œ ํšจํ•œ ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ์ด ์•„๋‹ ๊ฒฝ์šฐ ๋ฆฌํ”„๋ ˆ์‹œ ํ† ํฐ ์‚ญ์ œ

* fix: ๋ธ”๋ž™๋ฆฌ์ŠคํŠธ ํ† ํฐ ์œ ํšจ์‹œ๊ฐ„ ์ˆ˜์ •

* Week7 ์ตœ์ข… PR (#64)

* build : H2 database ์ถ”๊ฐ€

๋กœ์ปฌ ํ…Œ์ŠคํŠธ ์šฉ๋„

* save

* build : JWT test secret key ์ถ”๊ฐ€

* feat : ์ธ์ฆ์„ ์œ„ํ•œ user entity ์ถ”๊ฐ€

* feat : jwt ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat : security config ์ถ”๊ฐ€

* feat : ์ธ์ฆ ๊ด€๋ จ ์„œ๋น„์Šค ์ถ”๊ฐ€

* feat : ๋กœ๊ทธ์ธ ํ•„ํ„ฐ ์ถ”๊ฐ€

* delete : ๋ถˆํ•„์š” ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค ์‚ญ์ œ

* fix : ๋ถˆํ•„์š” import ์ œ๊ฑฐ, JwtFilter ์˜ค๋ฅ˜ ์ˆ˜์ •

* feat: ์ƒํƒœ๊ฐ’ ํ•„๋“œ๋ช… ์ˆ˜์ •

* feat: chat ์—”ํ‹ฐํ‹ฐ์— ์ƒํƒœ ๊ด€๋ จ ํ•„๋“œ ์ถ”๊ฐ€

* feat: chart- ์ธ์ง€๊ด€๋ฆฌ ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€
- chart ์—”ํ‹ฐํ‹ฐ์™€ ์ผ๋Œ€์ผ ์—ฐ๊ด€๊ด€๊ณ„ ์„ค์ •

* feat: ์‹ ์ฒด ํ™œ๋™ ์—”ํ‹ฐํ‹ฐ์—์„œ ์™ธ์ถœ ์—ฌ๋ถ€ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* feat: ์‹ ์ฒด ํ™œ๋™ ์„ธ๋ถ€ ์กฐํšŒ dto ์ž‘์„ฑ

* feat: ์‹ ์ฒด ํ™œ๋™ ์„ธ๋ถ€ ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* feat: ๊ฐ„ํ˜ธ ๊ด€๋ฆฌ ์„ธ๋ถ€ ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* refactor: chart ๊ด€๋ จ response๋Š” ๋ณ„๋„ ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

* feat: ์ธ์ง€ ๊ด€๋ฆฌ ์„ธ๋ถ€ ์กฐํšŒ dto ์ž‘์„ฑ

* feat-chart ๊ณ ๋‚˜๋ จ ์—”ํ‹ฐํ‹ฐ์— comment ์ถ”๊ฐ€

* chore: ๋ถˆํ•„์š”ํ•œ import๋ฌธ ์‚ญ์ œ

* feat: ํšŒ๋ณต ํ›ˆ๋ จ response dto ์ž‘์„ฑ

* feat: chart detail response dto ์ž‘์„ฑ

* refactor: ๋„๋ฉ”์ธ ๋ณ„ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝ

* feat: chartController ์ž‘์„ฑ
- ํ™˜์ž id๋กœ ์ผ์ง€ ์ „์ฒด ์กฐํšŒ ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ํ™˜์ž id๋กœ ์ผ์ง€ ์ „์ฒด ์กฐํšŒ ํ•จ์ˆ˜์— pagable ์ถ”๊ฐ€

* feat: chartRepository ์ž‘์„ฑ
- ํ™˜์ž id๋กœ ์ผ๊ธฐ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: util ํด๋ž˜์Šค ์ƒ์„ฑ
- default_page_size ์„ ์–ธ

* feat: chart ๊ด€๋ จ response ์ „์ฒด์— builder ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* feat: chart ๊ด€๋ จ ์—”ํ‹ฐํ‹ฐ ์ „๋ถ€์— getter ์ถ”๊ฐ€

* chore: ํ•„๋“œ๋ช… ์นด๋ฉœ ์ผ€์ด์Šค๋กœ ํ†ต์ผ

* feat: ChartDetailResponse ๊ฐ์ฒด ์ƒ์„ฑ ํ•จ์ˆ˜ ๊ตฌํ˜„
- ์„ธ๋ถ€ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ DTO ์ƒ์„ฑ ํ›„ ChartDetailResponse ๊ฐ์ฒด์— ๋„ฃ์Œ

* feat: chartService ์ž‘์„ฑ
- ํ™˜์žid๋ฅผ ํ†ตํ•ด ์ผ์ง€ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐจํŠธid๋กœ ์ฐจํŠธ ์„ธ๋ถ€ ์กฐํšŒ api ๊ตฌํ˜„

* fix: ์ฐจํŠธ ํŠน์ด์‚ฌํ•ญ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ
- ๊ธฐ์กด String์—์„œ TEXT ์ž๋ฃŒํ˜•์œผ๋กœ ๋ณ€๊ฒฝ

* ๊ณ„์ธต ๋ถ„๋ฆฌ, ํ…Œ์ด๋ธ”๋ช…์„ ์ œ์™ธํ•˜๊ณ  ์ „๋ถ€ ๋‹จ์ˆ˜ํ˜• ์ฒ˜๋ฆฌ, ๊ฐ„๋‹จํ•œ ๋ฆฌํŒฉํ† ๋ง ์ž‘์—… (#24)

* feat :
1. ๋„๋ฉ”์ธ ๋‹จ์œ„๋กœ ๊ณ„์ธต ๋ถ„๋ฆฌ
2. ํ…Œ์ด๋ธ”๋ช…์„ ์ œ์™ธํ•˜๊ณ  ์ „๋ถ€ ๋‹จ์ˆ˜ํ˜•์œผ๋กœ ๋ฐ”๊พธ๊ธฐ
3. ๊ฐ„๋‹จํ•œ ๋ฆฌํŒฉํ† ๋ง

* feat : ๋ณดํ˜ธ์ž, ์š”์–‘๋ณดํ˜ธ์‚ฌ ์•„์ด๋”” ๋น„๋ฒˆ ์ถ”๊ฐ€

* refactor : ํ˜œ์—ฐ๋‹˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ „๋ถ€ ๋ฐ˜์˜

* refactor : ํ˜œ์—ฐ๋‹˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ „๋ถ€ ๋ฐ˜์˜ - 2

* refactor : ์ƒ์„ฑ์ž ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor : ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat(security): ๊ถŒํ•œ Role ์ถ”๊ฐ€

* feat : ๋ณดํ˜ธ์ž ํšŒ์›๊ฐ€์ž… ์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ+์•”ํ˜ธํ™” ์ถ”๊ฐ€

GuardianService์—์„œ ํŒจ์Šค์›Œ๋“œ ์•”ํ˜ธํ™”๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

* feat : SecurityConfig ์ž„์‹œ ์„ธํŒ… ์ถ”๊ฐ€

๊ด€๋ฆฌ์ž ๋„๋ฉ”์ธ์ด ์—†์œผ๋ฏ€๋กœ permit all ๋กœ ์„ค์ •

* test : ๋ณดํ˜ธ์ž ํšŒ์›๊ฐ€์ž… + ๋น„๋ฐ€๋ฒˆํ˜ธ ์•”ํ˜ธํ™” ํ…Œ์ŠคํŠธ

* feat : ๋ณดํ˜ธ์ž ๋กœ๊ทธ์ธ ์ถ”๊ฐ€ + ๊ถŒํ•œ ์„ค์ •

* refactor: ๋ณดํ˜ธ์ž, ์š”์–‘์‚ฌ api controller ๋ถ„๋ฆฌ

* feat: ์ฐจํŠธ ์‚ญ์ œ api ๊ตฌํ˜„

* refactor: reseponse ์ „์ฒด record ํƒ€์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* feat: chart request ์ž‘์„ฑ

* feat: ์—”ํ‹ฐํ‹ฐ mapper ๊ตฌํ˜„

* feat: ChartMapper์— id ignore ์˜ต์…˜ ์ถ”๊ฐ€

* Revert "feat: ChartMapper์— id ignore ์˜ต์…˜ ์ถ”๊ฐ€"

This reverts commit ae92004.

* refactor : ๋ถˆํ•„์š” ํด๋ž˜์Šค ์‚ญ์ œ

* feat : config jwt ์ ์šฉ๋œ ์ƒํƒœ๋กœ ์ˆ˜์ •

* feat : JWT + security userdetails ์„ค์ •

* feat : ๋ณดํ˜ธ์ž ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test : ๋ณดํ˜ธ์ž ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ - swagger

* feat : ๊ธฐ์กด ๋ณดํ˜ธ์ž ๋„๋ฉ”์ธ ์ผ๋ถ€ ์ˆ˜์ • (๊ถŒํ•œ ๊ฒ€์‚ฌ, ID ์กฐํšŒ)

* refactor : ๋ถˆํ•„์š” ํ•„๋“œ ์‚ญ์ œ

* bug : security ๊ถŒํ•œ ์„ค์ • ๋ฌธ์ œ ๋ฐœ์ƒ

* feat: MapStruct ์‚ฌ์šฉ์„ ์œ„ํ•œ getter,setter ์ถ”๊ฐ€

* feat: chart ํ•„๋“œ ์„ธ๋ถ€ ๋งคํ•‘ ๋ช…์‹œ

* test: MapStruct ๋งคํ•‘ ํ™•์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ์‚ฌ์šฉ์ž์— ๋”ฐ๋ฅธ api prefix ๊ตฌ๋ถ„

* merge: week4์™€ merge

* feat: ์ฐจํŠธ ์ž‘์„ฑ api ๊ตฌํ˜„

* feat: ์ฐจํŠธ ์ˆ˜์ • api ๊ตฌํ˜„

* fix : Role ๋ฌธ์ œ ํ•ด๊ฒฐ

* feat : ์ปจํŠธ๋กค๋Ÿฌ ๊ถŒํ•œ ๊ฒ€์‚ฌ ์ถ”๊ฐ€

* feat : ๋น„๋ฐ€๋ฒˆํ˜ธ ๋กœ์ง ์ถ”๊ฐ€

* refactor : ๋ถˆํ•„์š” ๋กœ๊ทธ ์ œ๊ฑฐ

* feat : ์—ญํ• ์— ๋”ฐ๋ฅธ ๊ถŒํ•œ ๋ถ€์—ฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat : ์ „ํ™”๋ฒˆํ˜ธ ์กฐํšŒ ๋ช…์‹œ์  ์ถ”๊ฐ€

* fix : ๋ถˆํ•„์š” import์ œ๊ฑฐ, ํฌ๋ฉงํŒ…

* feat : careworker ๋กœ๊ทธ์ธ ๊ถŒํ•œ ํ—ˆ์šฉ

* fix : ๋กœ๊ทธ์ธ ์Šคํ”„๋ง ๋ฒ„์ „์œผ๋กœ ๋ณ€๊ฒฝ

* fix : careworker ์ปจํŠธ๋กค๋Ÿฌ ๊ถŒํ•œ์ˆ˜์ •

* fix : appversion ๋ถ€๋ถ„ ์™€์ผ๋“œ์นด๋“œ ์ ์šฉ

* fix : valid ์ถ”๊ฐ€

* fix : bulid ํŒจํ„ด ์ œ๊ฑฐ

* fix : careworker ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ ์ค‘๋ณต ๊ฒ€์‚ฌ

* comment : ๊ฐœํ–‰ ์กฐ์ ˆ

* feat : ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๋กœ์ง ์ถ”๊ฐ€

* feat : ํ† ํฐ ๋งŒ๋ฃŒ error ์ถ”๊ฐ€

* feat : ํ† ํฐ ๋งŒ๋ฃŒ ๊ฒ€์‚ฌ ์ถ”๊ฐ€

* feat : ์ ‘๊ทผ๊ถŒํ•œ ๊ด€๋ จ ์ปค์Šคํ…€ ํ•„ํ„ฐ ํ‘œํ˜„์‹ ์ถ”๊ฐ€

๊ทธ์— ๋งž์ถฐ์„œ BaseUserDetails์— Id์™€ getRole ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* save : ์ž„์‹œ careworker ์ €์žฅ

* chore : LoginController ํ†ต์ผ๋กœ ์ธํ•œ ์‚ญ์ œ

* chore : root ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

* build : ์„ค์ •๊ฐ’ ๋ถ„๋ฆฌ

* chore : ์š”์–‘์› Role ์ถ”๊ฐ€

* feat : ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* chore : ๋ถˆํ•„์š” test ์‚ญ์ œ

* fix : ์ž˜๋ชป๋œ wildcard ์‚ฌ์šฉ ์ˆ˜์ •

* feat : ๋กœ๊ทธ์ธ endpoint ํ†ต์ผ

custom provider ์ถ”๊ฐ€ ์ง„ํ–‰

* chore : ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ถˆ์ผ์น˜ ์˜ค๋ฅ˜ ์ถ”๊ฐ€ ์™ธ

์ผ๋ฐ˜์ ์ธ ๊ฐœํ–‰์กฐ์ ˆ

* fix : ๋กœ๊ทธ์ธ ๊ณผ์ • ๋กœ๊ทธ์ธ ๋ถˆ๊ฐ€ ๋ฌธ์ œ ํ•ด๊ฒฐ

@value ์–ด๋…ธํ…Œ์ด์…˜ ์•ž์— "/" ํŠน์ˆ˜๋ฌธ์ž๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ์–ด์„œ ํ—ค๋” ๋ณ€ํ™˜์—์„œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด ๊ฒƒ์ด์˜€์Œ.

* chore : ๋ถˆํ•„์š” ํด๋ž˜์Šค ์‚ญ์ œ

* feat : Principal ๋‚ด๋ถ€ InstitutionNumber ์ถ”๊ฐ€

* feat : ๊ถŒํ™˜ํ™•์ธ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* chore : ๊ฐœํ–‰์กฐ์ ˆ, ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore : merge ๋ฌธ์ œ ํ•ด๊ฒฐ

* ๋Œ๋ด„๋Œ€์ƒ์ž/๋ณดํ˜ธ์ž/์š”์–‘๋ณดํ˜ธ์‚ฌ ๋ฐ์ดํ„ฐ ํŒŒ์ผ ์ž…์ถœ๋ ฅ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#49)

* feat: ์—‘์…€ ์ •๋ณด ์ฒ˜๋ฆฌ (#34)

* fix: ํ˜•์‹ ๋ฐ˜ํ™˜ ์ˆ˜์ • (#34)

* feat: ์‹œํŠธ์ด๋ฆ„ ๋ฐ ํ•ญ๋ชฉ ์ด๋ฆ„ ํ•œ๊ธ€๋กœ ๋ณ€๊ฒฝ (#34)

* feat: ์„œ๋น„์Šค ๋กœ์ง ๋ถ„๋ฆฌ(#34)

* chore : ๋ถˆํ•„์š” ์ฃผ์„ ์‚ญ์ œ

* chore : getter ์ˆ˜์ •, ๊ฐœํ–‰์กฐ์ ˆ

* chore : ๊ฐœํ–‰์กฐ์ ˆ, ๋ชจํ˜ธํ•œ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* chore : ์‹œํฌ๋ฆฟํ‚ค ์ˆ˜์ •, ์ด์ „๋ฒ„์ „ ์„œ๋น„์Šค ์ œ๊ฑฐ

* fix: chart ๊ด€๋ จ ์—”ํ‹ฐํ‹ฐ cascade ์„ค์ •

* ์ฐจํŠธ ์ž‘์„ฑ ์˜ค๋ฅ˜ ์ˆ˜์ • (#54)

* build : H2 database ์ถ”๊ฐ€

๋กœ์ปฌ ํ…Œ์ŠคํŠธ ์šฉ๋„

* save

* build : JWT test secret key ์ถ”๊ฐ€

* feat : ์ธ์ฆ์„ ์œ„ํ•œ user entity ์ถ”๊ฐ€

* feat : jwt ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat : security config ์ถ”๊ฐ€

* feat : ์ธ์ฆ ๊ด€๋ จ ์„œ๋น„์Šค ์ถ”๊ฐ€

* feat : ๋กœ๊ทธ์ธ ํ•„ํ„ฐ ์ถ”๊ฐ€

* delete : ๋ถˆํ•„์š” ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค ์‚ญ์ œ

* fix : ๋ถˆํ•„์š” import ์ œ๊ฑฐ, JwtFilter ์˜ค๋ฅ˜ ์ˆ˜์ •

* feat: ์ƒํƒœ๊ฐ’ ํ•„๋“œ๋ช… ์ˆ˜์ •

* feat: chat ์—”ํ‹ฐํ‹ฐ์— ์ƒํƒœ ๊ด€๋ จ ํ•„๋“œ ์ถ”๊ฐ€

* feat: chart- ์ธ์ง€๊ด€๋ฆฌ ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€
- chart ์—”ํ‹ฐํ‹ฐ์™€ ์ผ๋Œ€์ผ ์—ฐ๊ด€๊ด€๊ณ„ ์„ค์ •

* feat: ์‹ ์ฒด ํ™œ๋™ ์—”ํ‹ฐํ‹ฐ์—์„œ ์™ธ์ถœ ์—ฌ๋ถ€ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* feat: ์‹ ์ฒด ํ™œ๋™ ์„ธ๋ถ€ ์กฐํšŒ dto ์ž‘์„ฑ

* feat: ์‹ ์ฒด ํ™œ๋™ ์„ธ๋ถ€ ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* feat: ๊ฐ„ํ˜ธ ๊ด€๋ฆฌ ์„ธ๋ถ€ ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* refactor: chart ๊ด€๋ จ response๋Š” ๋ณ„๋„ ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

* feat: ์ธ์ง€ ๊ด€๋ฆฌ ์„ธ๋ถ€ ์กฐํšŒ dto ์ž‘์„ฑ

* feat-chart ๊ณ ๋‚˜๋ จ ์—”ํ‹ฐํ‹ฐ์— comment ์ถ”๊ฐ€

* chore: ๋ถˆํ•„์š”ํ•œ import๋ฌธ ์‚ญ์ œ

* feat: ํšŒ๋ณต ํ›ˆ๋ จ response dto ์ž‘์„ฑ

* feat: chart detail response dto ์ž‘์„ฑ

* refactor: ๋„๋ฉ”์ธ ๋ณ„ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝ

* feat: chartController ์ž‘์„ฑ
- ํ™˜์ž id๋กœ ์ผ์ง€ ์ „์ฒด ์กฐํšŒ ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ํ™˜์ž id๋กœ ์ผ์ง€ ์ „์ฒด ์กฐํšŒ ํ•จ์ˆ˜์— pagable ์ถ”๊ฐ€

* feat: chartRepository ์ž‘์„ฑ
- ํ™˜์ž id๋กœ ์ผ๊ธฐ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: util ํด๋ž˜์Šค ์ƒ์„ฑ
- default_page_size ์„ ์–ธ

* feat: chart ๊ด€๋ จ response ์ „์ฒด์— builder ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* feat: chart ๊ด€๋ จ ์—”ํ‹ฐํ‹ฐ ์ „๋ถ€์— getter ์ถ”๊ฐ€

* chore: ํ•„๋“œ๋ช… ์นด๋ฉœ ์ผ€์ด์Šค๋กœ ํ†ต์ผ

* feat: ChartDetailResponse ๊ฐ์ฒด ์ƒ์„ฑ ํ•จ์ˆ˜ ๊ตฌํ˜„
- ์„ธ๋ถ€ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ DTO ์ƒ์„ฑ ํ›„ ChartDetailResponse ๊ฐ์ฒด์— ๋„ฃ์Œ

* feat: chartService ์ž‘์„ฑ
- ํ™˜์žid๋ฅผ ํ†ตํ•ด ์ผ์ง€ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐจํŠธid๋กœ ์ฐจํŠธ ์„ธ๋ถ€ ์กฐํšŒ api ๊ตฌํ˜„

* fix: ์ฐจํŠธ ํŠน์ด์‚ฌํ•ญ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ
- ๊ธฐ์กด String์—์„œ TEXT ์ž๋ฃŒํ˜•์œผ๋กœ ๋ณ€๊ฒฝ

* ๊ณ„์ธต ๋ถ„๋ฆฌ, ํ…Œ์ด๋ธ”๋ช…์„ ์ œ์™ธํ•˜๊ณ  ์ „๋ถ€ ๋‹จ์ˆ˜ํ˜• ์ฒ˜๋ฆฌ, ๊ฐ„๋‹จํ•œ ๋ฆฌํŒฉํ† ๋ง ์ž‘์—… (#24)

* feat :
1. ๋„๋ฉ”์ธ ๋‹จ์œ„๋กœ ๊ณ„์ธต ๋ถ„๋ฆฌ
2. ํ…Œ์ด๋ธ”๋ช…์„ ์ œ์™ธํ•˜๊ณ  ์ „๋ถ€ ๋‹จ์ˆ˜ํ˜•์œผ๋กœ ๋ฐ”๊พธ๊ธฐ
3. ๊ฐ„๋‹จํ•œ ๋ฆฌํŒฉํ† ๋ง

* feat : ๋ณดํ˜ธ์ž, ์š”์–‘๋ณดํ˜ธ์‚ฌ ์•„์ด๋”” ๋น„๋ฒˆ ์ถ”๊ฐ€

* refactor : ํ˜œ์—ฐ๋‹˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ „๋ถ€ ๋ฐ˜์˜

* refactor : ํ˜œ์—ฐ๋‹˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ „๋ถ€ ๋ฐ˜์˜ - 2

* refactor : ์ƒ์„ฑ์ž ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor : ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat(security): ๊ถŒํ•œ Role ์ถ”๊ฐ€

* feat : ๋ณดํ˜ธ์ž ํšŒ์›๊ฐ€์ž… ์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ+์•”ํ˜ธํ™” ์ถ”๊ฐ€

GuardianService์—์„œ ํŒจ์Šค์›Œ๋“œ ์•”ํ˜ธํ™”๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

* feat : SecurityConfig ์ž„์‹œ ์„ธํŒ… ์ถ”๊ฐ€

๊ด€๋ฆฌ์ž ๋„๋ฉ”์ธ์ด ์—†์œผ๋ฏ€๋กœ permit all ๋กœ ์„ค์ •

* test : ๋ณดํ˜ธ์ž ํšŒ์›๊ฐ€์ž… + ๋น„๋ฐ€๋ฒˆํ˜ธ ์•”ํ˜ธํ™” ํ…Œ์ŠคํŠธ

* feat : ๋ณดํ˜ธ์ž ๋กœ๊ทธ์ธ ์ถ”๊ฐ€ + ๊ถŒํ•œ ์„ค์ •

* refactor: ๋ณดํ˜ธ์ž, ์š”์–‘์‚ฌ api controller ๋ถ„๋ฆฌ

* feat: ์ฐจํŠธ ์‚ญ์ œ api ๊ตฌํ˜„

* refactor: reseponse ์ „์ฒด record ํƒ€์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* feat: chart request ์ž‘์„ฑ

* feat: ์—”ํ‹ฐํ‹ฐ mapper ๊ตฌํ˜„

* feat: ChartMapper์— id ignore ์˜ต์…˜ ์ถ”๊ฐ€

* Revert "feat: ChartMapper์— id ignore ์˜ต์…˜ ์ถ”๊ฐ€"

This reverts commit ae92004.

* refactor : ๋ถˆํ•„์š” ํด๋ž˜์Šค ์‚ญ์ œ

* feat : config jwt ์ ์šฉ๋œ ์ƒํƒœ๋กœ ์ˆ˜์ •

* feat : JWT + security userdetails ์„ค์ •

* feat : ๋ณดํ˜ธ์ž ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test : ๋ณดํ˜ธ์ž ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ - swagger

* feat : ๊ธฐ์กด ๋ณดํ˜ธ์ž ๋„๋ฉ”์ธ ์ผ๋ถ€ ์ˆ˜์ • (๊ถŒํ•œ ๊ฒ€์‚ฌ, ID ์กฐํšŒ)

* refactor : ๋ถˆํ•„์š” ํ•„๋“œ ์‚ญ์ œ

* bug : security ๊ถŒํ•œ ์„ค์ • ๋ฌธ์ œ ๋ฐœ์ƒ

* feat: MapStruct ์‚ฌ์šฉ์„ ์œ„ํ•œ getter,setter ์ถ”๊ฐ€

* feat: chart ํ•„๋“œ ์„ธ๋ถ€ ๋งคํ•‘ ๋ช…์‹œ

* test: MapStruct ๋งคํ•‘ ํ™•์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ์‚ฌ์šฉ์ž์— ๋”ฐ๋ฅธ api prefix ๊ตฌ๋ถ„

* merge: week4์™€ merge

* feat: ์ฐจํŠธ ์ž‘์„ฑ api ๊ตฌํ˜„

* feat: ์ฐจํŠธ ์ˆ˜์ • api ๊ตฌํ˜„

* fix : Role ๋ฌธ์ œ ํ•ด๊ฒฐ

* feat : ์ปจํŠธ๋กค๋Ÿฌ ๊ถŒํ•œ ๊ฒ€์‚ฌ ์ถ”๊ฐ€

* feat : ๋น„๋ฐ€๋ฒˆํ˜ธ ๋กœ์ง ์ถ”๊ฐ€

* refactor : ๋ถˆํ•„์š” ๋กœ๊ทธ ์ œ๊ฑฐ

* feat : ์—ญํ• ์— ๋”ฐ๋ฅธ ๊ถŒํ•œ ๋ถ€์—ฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat : ์ „ํ™”๋ฒˆํ˜ธ ์กฐํšŒ ๋ช…์‹œ์  ์ถ”๊ฐ€

* fix : ๋ถˆํ•„์š” import์ œ๊ฑฐ, ํฌ๋ฉงํŒ…

* feat : careworker ๋กœ๊ทธ์ธ ๊ถŒํ•œ ํ—ˆ์šฉ

* fix : ๋กœ๊ทธ์ธ ์Šคํ”„๋ง ๋ฒ„์ „์œผ๋กœ ๋ณ€๊ฒฝ

* fix : careworker ์ปจํŠธ๋กค๋Ÿฌ ๊ถŒํ•œ์ˆ˜์ •

* fix : appversion ๋ถ€๋ถ„ ์™€์ผ๋“œ์นด๋“œ ์ ์šฉ

* fix : valid ์ถ”๊ฐ€

* fix : bulid ํŒจํ„ด ์ œ๊ฑฐ

* fix : careworker ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ ์ค‘๋ณต ๊ฒ€์‚ฌ

* comment : ๊ฐœํ–‰ ์กฐ์ ˆ

* feat : ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๋กœ์ง ์ถ”๊ฐ€

* feat : ํ† ํฐ ๋งŒ๋ฃŒ error ์ถ”๊ฐ€

* feat : ํ† ํฐ ๋งŒ๋ฃŒ ๊ฒ€์‚ฌ ์ถ”๊ฐ€

* feat : ์ ‘๊ทผ๊ถŒํ•œ ๊ด€๋ จ ์ปค์Šคํ…€ ํ•„ํ„ฐ ํ‘œํ˜„์‹ ์ถ”๊ฐ€

๊ทธ์— ๋งž์ถฐ์„œ BaseUserDetails์— Id์™€ getRole ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* save : ์ž„์‹œ careworker ์ €์žฅ

* chore : LoginController ํ†ต์ผ๋กœ ์ธํ•œ ์‚ญ์ œ

* chore : root ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

* build : ์„ค์ •๊ฐ’ ๋ถ„๋ฆฌ

* chore : ์š”์–‘์› Role ์ถ”๊ฐ€

* feat : ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* chore : ๋ถˆํ•„์š” test ์‚ญ์ œ

* fix : ์ž˜๋ชป๋œ wildcard ์‚ฌ์šฉ ์ˆ˜์ •

* feat : ๋กœ๊ทธ์ธ endpoint ํ†ต์ผ

custom provider ์ถ”๊ฐ€ ์ง„ํ–‰

* chore : ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ถˆ์ผ์น˜ ์˜ค๋ฅ˜ ์ถ”๊ฐ€ ์™ธ

์ผ๋ฐ˜์ ์ธ ๊ฐœํ–‰์กฐ์ ˆ

* fix : ๋กœ๊ทธ์ธ ๊ณผ์ • ๋กœ๊ทธ์ธ ๋ถˆ๊ฐ€ ๋ฌธ์ œ ํ•ด๊ฒฐ

@value ์–ด๋…ธํ…Œ์ด์…˜ ์•ž์— "/" ํŠน์ˆ˜๋ฌธ์ž๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ์–ด์„œ ํ—ค๋” ๋ณ€ํ™˜์—์„œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด ๊ฒƒ์ด์˜€์Œ.

* chore : ๋ถˆํ•„์š” ํด๋ž˜์Šค ์‚ญ์ œ

* feat : Principal ๋‚ด๋ถ€ InstitutionNumber ์ถ”๊ฐ€

* feat : ๊ถŒํ™˜ํ™•์ธ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* chore : ๊ฐœํ–‰์กฐ์ ˆ, ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore : merge ๋ฌธ์ œ ํ•ด๊ฒฐ

* ๋Œ๋ด„๋Œ€์ƒ์ž/๋ณดํ˜ธ์ž/์š”์–‘๋ณดํ˜ธ์‚ฌ ๋ฐ์ดํ„ฐ ํŒŒ์ผ ์ž…์ถœ๋ ฅ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#49)

* feat: ์—‘์…€ ์ •๋ณด ์ฒ˜๋ฆฌ (#34)

* fix: ํ˜•์‹ ๋ฐ˜ํ™˜ ์ˆ˜์ • (#34)

* feat: ์‹œํŠธ์ด๋ฆ„ ๋ฐ ํ•ญ๋ชฉ ์ด๋ฆ„ ํ•œ๊ธ€๋กœ ๋ณ€๊ฒฝ (#34)

* feat: ์„œ๋น„์Šค ๋กœ์ง ๋ถ„๋ฆฌ(#34)

* chore : ๋ถˆํ•„์š” ์ฃผ์„ ์‚ญ์ œ

* chore : getter ์ˆ˜์ •, ๊ฐœํ–‰์กฐ์ ˆ

* chore : ๊ฐœํ–‰์กฐ์ ˆ, ๋ชจํ˜ธํ•œ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* chore : ์‹œํฌ๋ฆฟํ‚ค ์ˆ˜์ •, ์ด์ „๋ฒ„์ „ ์„œ๋น„์Šค ์ œ๊ฑฐ

* fix: chart ๊ด€๋ จ ์—”ํ‹ฐํ‹ฐ cascade ์„ค์ •

---------

Co-authored-by: mac <20j.code@gmail.com>
Co-authored-by: ๊น€ํƒœ์œค <77539625+pykido@users.noreply.github.com>
Co-authored-by: Jinsol Lee <purnsol1001@naver.com>
Co-authored-by: 20jcode <109460399+20jcode@users.noreply.github.com>

* fix: ChartDetailResponse ๋ณ€๊ฒฝ
- conditionDisease ํ•ญ๋ชฉ ์ถ”๊ฐ€

* chore : Repository ์กด์žฌํ™•์ธ ๋ฉ”์†Œ๋“œ๋ช… ๋ณ€๊ฒฝ (#56)

* fix: ๋ถˆํ•„์š”ํ•œ ๊ถŒํ•œ ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore : Repository ์กด์žฌํ™•์ธ ๋ฉ”์†Œ๋“œ๋ช… ๋ณ€๊ฒฝ ๋กค๋ฐฑ

---------

Co-authored-by: Yoo KyeongMi <yookyungmi02@gmail.com>
Co-authored-by: ๊น€ํƒœ์œค <77539625+pykido@users.noreply.github.com>
Co-authored-by: Jinsol Lee <purnsol1001@naver.com>
Co-authored-by: Yoo KyeongMi <89245114+yooookm@users.noreply.github.com>

* chore: ์•”ํ˜ธํ™” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ์ƒ์ˆ˜ ์ฒ˜๋ฆฌ

* refactor: ํ•„์š”์—†๋Š” try-catch ์ œ๊ฑฐ

* [๊ธด๊ธ‰] : ๋กœ๊ทธ์ธ๋œ ๋ฉค๋ฒ„ ์—”ํ‹ฐํ‹ฐ ๋ฐ›๋Š” ์ปค์Šคํ…€์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€ (#67)

* feat : custom auth member ์–ด๋…ธํ…Œ์ด์…˜ ๋งŒ๋“ค๊ธฐ

* feat : custom auth member ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

GuardianController์—์„œ ํ…Œ์ŠคํŠธ ํ•ด๋ณด์•˜์Šต๋‹ˆ๋‹ค.
์ฐธ๊ณ ํ•˜์‹œ๋ฉด ๋  ๋“ฏ ํ•ฉ๋‹ˆ๋‹น !!!

* Swagger ๊ตฌํ˜„ (#66)

* build : H2 database ์ถ”๊ฐ€

๋กœ์ปฌ ํ…Œ์ŠคํŠธ ์šฉ๋„

* save

* build : JWT test secret key ์ถ”๊ฐ€

* feat : ์ธ์ฆ์„ ์œ„ํ•œ user entity ์ถ”๊ฐ€

* feat : jwt ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat : security config ์ถ”๊ฐ€

* feat : ์ธ์ฆ ๊ด€๋ จ ์„œ๋น„์Šค ์ถ”๊ฐ€

* feat : ๋กœ๊ทธ์ธ ํ•„ํ„ฐ ์ถ”๊ฐ€

* delete : ๋ถˆํ•„์š” ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค ์‚ญ์ œ

* fix : ๋ถˆํ•„์š” import ์ œ๊ฑฐ, JwtFilter ์˜ค๋ฅ˜ ์ˆ˜์ •

* feat: ์ƒํƒœ๊ฐ’ ํ•„๋“œ๋ช… ์ˆ˜์ •

* feat: chat ์—”ํ‹ฐํ‹ฐ์— ์ƒํƒœ ๊ด€๋ จ ํ•„๋“œ ์ถ”๊ฐ€

* feat: chart- ์ธ์ง€๊ด€๋ฆฌ ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€
- chart ์—”ํ‹ฐํ‹ฐ์™€ ์ผ๋Œ€์ผ ์—ฐ๊ด€๊ด€๊ณ„ ์„ค์ •

* feat: ์‹ ์ฒด ํ™œ๋™ ์—”ํ‹ฐํ‹ฐ์—์„œ ์™ธ์ถœ ์—ฌ๋ถ€ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* feat: ์‹ ์ฒด ํ™œ๋™ ์„ธ๋ถ€ ์กฐํšŒ dto ์ž‘์„ฑ

* feat: ์‹ ์ฒด ํ™œ๋™ ์„ธ๋ถ€ ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* feat: ๊ฐ„ํ˜ธ ๊ด€๋ฆฌ ์„ธ๋ถ€ ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* refactor: chart ๊ด€๋ จ response๋Š” ๋ณ„๋„ ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

* feat: ์ธ์ง€ ๊ด€๋ฆฌ ์„ธ๋ถ€ ์กฐํšŒ dto ์ž‘์„ฑ

* feat-chart ๊ณ ๋‚˜๋ จ ์—”ํ‹ฐํ‹ฐ์— comment ์ถ”๊ฐ€

* chore: ๋ถˆํ•„์š”ํ•œ import๋ฌธ ์‚ญ์ œ

* feat: ํšŒ๋ณต ํ›ˆ๋ จ response dto ์ž‘์„ฑ

* feat: chart detail response dto ์ž‘์„ฑ

* refactor: ๋„๋ฉ”์ธ ๋ณ„ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝ

* feat: chartController ์ž‘์„ฑ
- ํ™˜์ž id๋กœ ์ผ์ง€ ์ „์ฒด ์กฐํšŒ ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ํ™˜์ž id๋กœ ์ผ์ง€ ์ „์ฒด ์กฐํšŒ ํ•จ์ˆ˜์— pagable ์ถ”๊ฐ€

* feat: chartRepository ์ž‘์„ฑ
- ํ™˜์ž id๋กœ ์ผ๊ธฐ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: util ํด๋ž˜์Šค ์ƒ์„ฑ
- default_page_size ์„ ์–ธ

* feat: chart ๊ด€๋ จ response ์ „์ฒด์— builder ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* feat: chart ๊ด€๋ จ ์—”ํ‹ฐํ‹ฐ ์ „๋ถ€์— getter ์ถ”๊ฐ€

* chore: ํ•„๋“œ๋ช… ์นด๋ฉœ ์ผ€์ด์Šค๋กœ ํ†ต์ผ

* feat: ChartDetailResponse ๊ฐ์ฒด ์ƒ์„ฑ ํ•จ์ˆ˜ ๊ตฌํ˜„
- ์„ธ๋ถ€ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ DTO ์ƒ์„ฑ ํ›„ ChartDetailResponse ๊ฐ์ฒด์— ๋„ฃ์Œ

* feat: chartService ์ž‘์„ฑ
- ํ™˜์žid๋ฅผ ํ†ตํ•ด ์ผ์ง€ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐจํŠธid๋กœ ์ฐจํŠธ ์„ธ๋ถ€ ์กฐํšŒ api ๊ตฌํ˜„

* fix: ์ฐจํŠธ ํŠน์ด์‚ฌํ•ญ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ
- ๊ธฐ์กด String์—์„œ TEXT ์ž๋ฃŒํ˜•์œผ๋กœ ๋ณ€๊ฒฝ

* ๊ณ„์ธต ๋ถ„๋ฆฌ, ํ…Œ์ด๋ธ”๋ช…์„ ์ œ์™ธํ•˜๊ณ  ์ „๋ถ€ ๋‹จ์ˆ˜ํ˜• ์ฒ˜๋ฆฌ, ๊ฐ„๋‹จํ•œ ๋ฆฌํŒฉํ† ๋ง ์ž‘์—… (#24)

* feat :
1. ๋„๋ฉ”์ธ ๋‹จ์œ„๋กœ ๊ณ„์ธต ๋ถ„๋ฆฌ
2. ํ…Œ์ด๋ธ”๋ช…์„ ์ œ์™ธํ•˜๊ณ  ์ „๋ถ€ ๋‹จ์ˆ˜ํ˜•์œผ๋กœ ๋ฐ”๊พธ๊ธฐ
3. ๊ฐ„๋‹จํ•œ ๋ฆฌํŒฉํ† ๋ง

* feat : ๋ณดํ˜ธ์ž, ์š”์–‘๋ณดํ˜ธ์‚ฌ ์•„์ด๋”” ๋น„๋ฒˆ ์ถ”๊ฐ€

* refactor : ํ˜œ์—ฐ๋‹˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ „๋ถ€ ๋ฐ˜์˜

* refactor : ํ˜œ์—ฐ๋‹˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ „๋ถ€ ๋ฐ˜์˜ - 2

* refactor : ์ƒ์„ฑ์ž ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor : ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat(security): ๊ถŒํ•œ Role ์ถ”๊ฐ€

* feat : ๋ณดํ˜ธ์ž ํšŒ์›๊ฐ€์ž… ์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ+์•”ํ˜ธํ™” ์ถ”๊ฐ€

GuardianService์—์„œ ํŒจ์Šค์›Œ๋“œ ์•”ํ˜ธํ™”๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

* feat : SecurityConfig ์ž„์‹œ ์„ธํŒ… ์ถ”๊ฐ€

๊ด€๋ฆฌ์ž ๋„๋ฉ”์ธ์ด ์—†์œผ๋ฏ€๋กœ permit all ๋กœ ์„ค์ •

* test : ๋ณดํ˜ธ์ž ํšŒ์›๊ฐ€์ž… + ๋น„๋ฐ€๋ฒˆํ˜ธ ์•”ํ˜ธํ™” ํ…Œ์ŠคํŠธ

* feat : ๋ณดํ˜ธ์ž ๋กœ๊ทธ์ธ ์ถ”๊ฐ€ + ๊ถŒํ•œ ์„ค์ •

* refactor: ๋ณดํ˜ธ์ž, ์š”์–‘์‚ฌ api controller ๋ถ„๋ฆฌ

* feat: ์ฐจํŠธ ์‚ญ์ œ api ๊ตฌํ˜„

* refactor: reseponse ์ „์ฒด record ํƒ€์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* feat: chart request ์ž‘์„ฑ

* feat: ์—”ํ‹ฐํ‹ฐ mapper ๊ตฌํ˜„

* feat: ChartMapper์— id ignore ์˜ต์…˜ ์ถ”๊ฐ€

* Revert "feat: ChartMapper์— id ignore ์˜ต์…˜ ์ถ”๊ฐ€"

This reverts commit ae92004.

* refactor : ๋ถˆํ•„์š” ํด๋ž˜์Šค ์‚ญ์ œ

* feat : config jwt ์ ์šฉ๋œ ์ƒํƒœ๋กœ ์ˆ˜์ •

* feat : JWT + security userdetails ์„ค์ •

* feat : ๋ณดํ˜ธ์ž ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test : ๋ณดํ˜ธ์ž ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ - swagger

* feat : ๊ธฐ์กด ๋ณดํ˜ธ์ž ๋„๋ฉ”์ธ ์ผ๋ถ€ ์ˆ˜์ • (๊ถŒํ•œ ๊ฒ€์‚ฌ, ID ์กฐํšŒ)

* refactor : ๋ถˆํ•„์š” ํ•„๋“œ ์‚ญ์ œ

* bug : security ๊ถŒํ•œ ์„ค์ • ๋ฌธ์ œ ๋ฐœ์ƒ

* feat: MapStruct ์‚ฌ์šฉ์„ ์œ„ํ•œ getter,setter ์ถ”๊ฐ€

* feat: chart ํ•„๋“œ ์„ธ๋ถ€ ๋งคํ•‘ ๋ช…์‹œ

* test: MapStruct ๋งคํ•‘ ํ™•์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ์‚ฌ์šฉ์ž์— ๋”ฐ๋ฅธ api prefix ๊ตฌ๋ถ„

* merge: week4์™€ merge

* feat: ์ฐจํŠธ ์ž‘์„ฑ api ๊ตฌํ˜„

* feat: ์ฐจํŠธ ์ˆ˜์ • api ๊ตฌํ˜„

* fix : Role ๋ฌธ์ œ ํ•ด๊ฒฐ

* feat : ์ปจํŠธ๋กค๋Ÿฌ ๊ถŒํ•œ ๊ฒ€์‚ฌ ์ถ”๊ฐ€

* feat : ๋น„๋ฐ€๋ฒˆํ˜ธ ๋กœ์ง ์ถ”๊ฐ€

* refactor : ๋ถˆํ•„์š” ๋กœ๊ทธ ์ œ๊ฑฐ

* feat : ์—ญํ• ์— ๋”ฐ๋ฅธ ๊ถŒํ•œ ๋ถ€์—ฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat : ์ „ํ™”๋ฒˆํ˜ธ ์กฐํšŒ ๋ช…์‹œ์  ์ถ”๊ฐ€

* fix : ๋ถˆํ•„์š” import์ œ๊ฑฐ, ํฌ๋ฉงํŒ…

* feat : careworker ๋กœ๊ทธ์ธ ๊ถŒํ•œ ํ—ˆ์šฉ

* fix : ๋กœ๊ทธ์ธ ์Šคํ”„๋ง ๋ฒ„์ „์œผ๋กœ ๋ณ€๊ฒฝ

* fix : careworker ์ปจํŠธ๋กค๋Ÿฌ ๊ถŒํ•œ์ˆ˜์ •

* fix : appversion ๋ถ€๋ถ„ ์™€์ผ๋“œ์นด๋“œ ์ ์šฉ

* fix : valid ์ถ”๊ฐ€

* fix : bulid ํŒจํ„ด ์ œ๊ฑฐ

* fix : careworker ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ ์ค‘๋ณต ๊ฒ€์‚ฌ

* comment : ๊ฐœํ–‰ ์กฐ์ ˆ

* feat : ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๋กœ์ง ์ถ”๊ฐ€

* feat : ํ† ํฐ ๋งŒ๋ฃŒ error ์ถ”๊ฐ€

* feat : ํ† ํฐ ๋งŒ๋ฃŒ ๊ฒ€์‚ฌ ์ถ”๊ฐ€

* [๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์š”์–‘์› ๋„๋ฉ”์ธ CRUD (#39)

* feat: ์š”์–‘์› ๋„๋ฉ”์ธ

* refactor: admin์—์„œ developer๋กœ ๋ณ€๊ฒฝ

* refactor: developer -> admin

* refactor: admin->institution ์š”์–‘์›์ด ๊ด€๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„

* feat : ์ ‘๊ทผ๊ถŒํ•œ ๊ด€๋ จ ์ปค์Šคํ…€ ํ•„ํ„ฐ ํ‘œํ˜„์‹ ์ถ”๊ฐ€

๊ทธ์— ๋งž์ถฐ์„œ BaseUserDetails์— Id์™€ getRole ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* save : ์ž„์‹œ careworker ์ €์žฅ

* chore : LoginController ํ†ต์ผ๋กœ ์ธํ•œ ์‚ญ์ œ

* chore : root ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

* build : ์„ค์ •๊ฐ’ ๋ถ„๋ฆฌ

* chore : ์š”์–‘์› Role ์ถ”๊ฐ€

* feat : ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* chore : ๋ถˆํ•„์š” test ์‚ญ์ œ

* fix : ์ž˜๋ชป๋œ wildcard ์‚ฌ์šฉ ์ˆ˜์ •

* feat : ๋กœ๊ทธ์ธ endpoint ํ†ต์ผ

custom provider ์ถ”๊ฐ€ ์ง„ํ–‰

* chore : ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ถˆ์ผ์น˜ ์˜ค๋ฅ˜ ์ถ”๊ฐ€ ์™ธ

์ผ๋ฐ˜์ ์ธ ๊ฐœํ–‰์กฐ์ ˆ

* fix : ๋กœ๊ทธ์ธ ๊ณผ์ • ๋กœ๊ทธ์ธ ๋ถˆ๊ฐ€ ๋ฌธ์ œ ํ•ด๊ฒฐ

@value ์–ด๋…ธํ…Œ์ด์…˜ ์•ž์— "/" ํŠน์ˆ˜๋ฌธ์ž๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ์–ด์„œ ํ—ค๋” ๋ณ€ํ™˜์—์„œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด ๊ฒƒ์ด์˜€์Œ.

* chore : ๋ถˆํ•„์š” ํด๋ž˜์Šค ์‚ญ์ œ

* feat : Principal ๋‚ด๋ถ€ InstitutionNumber ์ถ”๊ฐ€

* feat : ๊ถŒํ™˜ํ™•์ธ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* chore : ๊ฐœํ–‰์กฐ์ ˆ, ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore : merge ๋ฌธ์ œ ํ•ด๊ฒฐ

* ๋Œ๋ด„๋Œ€์ƒ์ž/๋ณดํ˜ธ์ž/์š”์–‘๋ณดํ˜ธ์‚ฌ ๋ฐ์ดํ„ฐ ํŒŒ์ผ ์ž…์ถœ๋ ฅ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#49)

* feat: ์—‘์…€ ์ •๋ณด ์ฒ˜๋ฆฌ (#34)

* fix: ํ˜•์‹ ๋ฐ˜ํ™˜ ์ˆ˜์ • (#34)

* feat: ์‹œํŠธ์ด๋ฆ„ ๋ฐ ํ•ญ๋ชฉ ์ด๋ฆ„ ํ•œ๊ธ€๋กœ ๋ณ€๊ฒฝ (#34)

* feat: ์„œ๋น„์Šค ๋กœ์ง ๋ถ„๋ฆฌ(#34)

* chore : ๋ถˆํ•„์š” ์ฃผ์„ ์‚ญ์ œ

* chore : getter ์ˆ˜์ •, ๊ฐœํ–‰์กฐ์ ˆ

* chore : ๊ฐœํ–‰์กฐ์ ˆ, ๋ชจํ˜ธํ•œ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* chore : ์‹œํฌ๋ฆฟํ‚ค ์ˆ˜์ •, ์ด์ „๋ฒ„์ „ ์„œ๋น„์Šค ์ œ๊ฑฐ

* fix: chart ๊ด€๋ จ ์—”ํ‹ฐํ‹ฐ cascade ์„ค์ •

* ์ฐจํŠธ ์ž‘์„ฑ ์˜ค๋ฅ˜ ์ˆ˜์ • (#54)

* build : H2 database ์ถ”๊ฐ€

๋กœ์ปฌ ํ…Œ์ŠคํŠธ ์šฉ๋„

* save

* build : JWT test secret key ์ถ”๊ฐ€

* feat : ์ธ์ฆ์„ ์œ„ํ•œ user entity ์ถ”๊ฐ€

* feat : jwt ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat : security config ์ถ”๊ฐ€

* feat : ์ธ์ฆ ๊ด€๋ จ ์„œ๋น„์Šค ์ถ”๊ฐ€

* feat : ๋กœ๊ทธ์ธ ํ•„ํ„ฐ ์ถ”๊ฐ€

* delete : ๋ถˆํ•„์š” ํ…Œ์ŠคํŠธ ํด๋ž˜์Šค ์‚ญ์ œ

* fix : ๋ถˆํ•„์š” import ์ œ๊ฑฐ, JwtFilter ์˜ค๋ฅ˜ ์ˆ˜์ •

* feat: ์ƒํƒœ๊ฐ’ ํ•„๋“œ๋ช… ์ˆ˜์ •

* feat: chat ์—”ํ‹ฐํ‹ฐ์— ์ƒํƒœ ๊ด€๋ จ ํ•„๋“œ ์ถ”๊ฐ€

* feat: chart- ์ธ์ง€๊ด€๋ฆฌ ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€
- chart ์—”ํ‹ฐํ‹ฐ์™€ ์ผ๋Œ€์ผ ์—ฐ๊ด€๊ด€๊ณ„ ์„ค์ •

* feat: ์‹ ์ฒด ํ™œ๋™ ์—”ํ‹ฐํ‹ฐ์—์„œ ์™ธ์ถœ ์—ฌ๋ถ€ ๊ฐ์ฒด ๋ถ„๋ฆฌ

* feat: ์‹ ์ฒด ํ™œ๋™ ์„ธ๋ถ€ ์กฐํšŒ dto ์ž‘์„ฑ

* feat: ์‹ ์ฒด ํ™œ๋™ ์„ธ๋ถ€ ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* feat: ๊ฐ„ํ˜ธ ๊ด€๋ฆฌ ์„ธ๋ถ€ ์กฐํšŒ dto ์ƒ์„ฑ์ž ์ถ”๊ฐ€

* refactor: chart ๊ด€๋ จ response๋Š” ๋ณ„๋„ ํŒจํ‚ค์ง€๋กœ ๋ถ„๋ฆฌ

* feat: ์ธ์ง€ ๊ด€๋ฆฌ ์„ธ๋ถ€ ์กฐํšŒ dto ์ž‘์„ฑ

* feat-chart ๊ณ ๋‚˜๋ จ ์—”ํ‹ฐํ‹ฐ์— comment ์ถ”๊ฐ€

* chore: ๋ถˆํ•„์š”ํ•œ import๋ฌธ ์‚ญ์ œ

* feat: ํšŒ๋ณต ํ›ˆ๋ จ response dto ์ž‘์„ฑ

* feat: chart detail response dto ์ž‘์„ฑ

* refactor: ๋„๋ฉ”์ธ ๋ณ„ ํŒจํ‚ค์ง€ ๊ตฌ์กฐ๋กœ ๋ณ€๊ฒฝ

* feat: chartController ์ž‘์„ฑ
- ํ™˜์ž id๋กœ ์ผ์ง€ ์ „์ฒด ์กฐํšŒ ํ•จ์ˆ˜ ๊ตฌํ˜„

* feat: ํ™˜์ž id๋กœ ์ผ์ง€ ์ „์ฒด ์กฐํšŒ ํ•จ์ˆ˜์— pagable ์ถ”๊ฐ€

* feat: chartRepository ์ž‘์„ฑ
- ํ™˜์ž id๋กœ ์ผ๊ธฐ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: util ํด๋ž˜์Šค ์ƒ์„ฑ
- default_page_size ์„ ์–ธ

* feat: chart ๊ด€๋ จ response ์ „์ฒด์— builder ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* feat: chart ๊ด€๋ จ ์—”ํ‹ฐํ‹ฐ ์ „๋ถ€์— getter ์ถ”๊ฐ€

* chore: ํ•„๋“œ๋ช… ์นด๋ฉœ ์ผ€์ด์Šค๋กœ ํ†ต์ผ

* feat: ChartDetailResponse ๊ฐ์ฒด ์ƒ์„ฑ ํ•จ์ˆ˜ ๊ตฌํ˜„
- ์„ธ๋ถ€ ํ•ญ๋ชฉ์— ๋Œ€ํ•œ DTO ์ƒ์„ฑ ํ›„ ChartDetailResponse ๊ฐ์ฒด์— ๋„ฃ์Œ

* feat: chartService ์ž‘์„ฑ
- ํ™˜์žid๋ฅผ ํ†ตํ•ด ์ผ์ง€ ์ „์ฒด ์กฐํšŒ ๊ธฐ๋Šฅ ๊ตฌํ˜„

* feat: ์ฐจํŠธid๋กœ ์ฐจํŠธ ์„ธ๋ถ€ ์กฐํšŒ api ๊ตฌํ˜„

* fix: ์ฐจํŠธ ํŠน์ด์‚ฌํ•ญ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ
- ๊ธฐ์กด String์—์„œ TEXT ์ž๋ฃŒํ˜•์œผ๋กœ ๋ณ€๊ฒฝ

* ๊ณ„์ธต ๋ถ„๋ฆฌ, ํ…Œ์ด๋ธ”๋ช…์„ ์ œ์™ธํ•˜๊ณ  ์ „๋ถ€ ๋‹จ์ˆ˜ํ˜• ์ฒ˜๋ฆฌ, ๊ฐ„๋‹จํ•œ ๋ฆฌํŒฉํ† ๋ง ์ž‘์—… (#24)

* feat :
1. ๋„๋ฉ”์ธ ๋‹จ์œ„๋กœ ๊ณ„์ธต ๋ถ„๋ฆฌ
2. ํ…Œ์ด๋ธ”๋ช…์„ ์ œ์™ธํ•˜๊ณ  ์ „๋ถ€ ๋‹จ์ˆ˜ํ˜•์œผ๋กœ ๋ฐ”๊พธ๊ธฐ
3. ๊ฐ„๋‹จํ•œ ๋ฆฌํŒฉํ† ๋ง

* feat : ๋ณดํ˜ธ์ž, ์š”์–‘๋ณดํ˜ธ์‚ฌ ์•„์ด๋”” ๋น„๋ฒˆ ์ถ”๊ฐ€

* refactor : ํ˜œ์—ฐ๋‹˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ „๋ถ€ ๋ฐ˜์˜

* refactor : ํ˜œ์—ฐ๋‹˜ ์ฝ”๋“œ ๋ฆฌ๋ทฐ ์ „๋ถ€ ๋ฐ˜์˜ - 2

* refactor : ์ƒ์„ฑ์ž ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* refactor : ์ฝ”๋“œ ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat(security): ๊ถŒํ•œ Role ์ถ”๊ฐ€

* feat : ๋ณดํ˜ธ์ž ํšŒ์›๊ฐ€์ž… ์‹œ ๋น„๋ฐ€๋ฒˆํ˜ธ ์ž…๋ ฅ+์•”ํ˜ธํ™” ์ถ”๊ฐ€

GuardianService์—์„œ ํŒจ์Šค์›Œ๋“œ ์•”ํ˜ธํ™”๋ฅผ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

* feat : SecurityConfig ์ž„์‹œ ์„ธํŒ… ์ถ”๊ฐ€

๊ด€๋ฆฌ์ž ๋„๋ฉ”์ธ์ด ์—†์œผ๋ฏ€๋กœ permit all ๋กœ ์„ค์ •

* test : ๋ณดํ˜ธ์ž ํšŒ์›๊ฐ€์ž… + ๋น„๋ฐ€๋ฒˆํ˜ธ ์•”ํ˜ธํ™” ํ…Œ์ŠคํŠธ

* feat : ๋ณดํ˜ธ์ž ๋กœ๊ทธ์ธ ์ถ”๊ฐ€ + ๊ถŒํ•œ ์„ค์ •

* refactor: ๋ณดํ˜ธ์ž, ์š”์–‘์‚ฌ api controller ๋ถ„๋ฆฌ

* feat: ์ฐจํŠธ ์‚ญ์ œ api ๊ตฌํ˜„

* refactor: reseponse ์ „์ฒด record ํƒ€์ž…์œผ๋กœ ๋ณ€๊ฒฝ

* feat: chart request ์ž‘์„ฑ

* feat: ์—”ํ‹ฐํ‹ฐ mapper ๊ตฌํ˜„

* feat: ChartMapper์— id ignore ์˜ต์…˜ ์ถ”๊ฐ€

* Revert "feat: ChartMapper์— id ignore ์˜ต์…˜ ์ถ”๊ฐ€"

This reverts commit ae92004.

* refactor : ๋ถˆํ•„์š” ํด๋ž˜์Šค ์‚ญ์ œ

* feat : config jwt ์ ์šฉ๋œ ์ƒํƒœ๋กœ ์ˆ˜์ •

* feat : JWT + security userdetails ์„ค์ •

* feat : ๋ณดํ˜ธ์ž ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* test : ๋ณดํ˜ธ์ž ํšŒ์›๊ฐ€์ž… ๋ฐ ๋กœ๊ทธ์ธ ํ…Œ์ŠคํŠธ - swagger

* feat : ๊ธฐ์กด ๋ณดํ˜ธ์ž ๋„๋ฉ”์ธ ์ผ๋ถ€ ์ˆ˜์ • (๊ถŒํ•œ ๊ฒ€์‚ฌ, ID ์กฐํšŒ)

* refactor : ๋ถˆํ•„์š” ํ•„๋“œ ์‚ญ์ œ

* bug : security ๊ถŒํ•œ ์„ค์ • ๋ฌธ์ œ ๋ฐœ์ƒ

* feat: MapStruct ์‚ฌ์šฉ์„ ์œ„ํ•œ getter,setter ์ถ”๊ฐ€

* feat: chart ํ•„๋“œ ์„ธ๋ถ€ ๋งคํ•‘ ๋ช…์‹œ

* test: MapStruct ๋งคํ•‘ ํ™•์ธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ์‚ฌ์šฉ์ž์— ๋”ฐ๋ฅธ api prefix ๊ตฌ๋ถ„

* merge: week4์™€ merge

* feat: ์ฐจํŠธ ์ž‘์„ฑ api ๊ตฌํ˜„

* feat: ์ฐจํŠธ ์ˆ˜์ • api ๊ตฌํ˜„

* fix : Role ๋ฌธ์ œ ํ•ด๊ฒฐ

* feat : ์ปจํŠธ๋กค๋Ÿฌ ๊ถŒํ•œ ๊ฒ€์‚ฌ ์ถ”๊ฐ€

* feat : ๋น„๋ฐ€๋ฒˆํ˜ธ ๋กœ์ง ์ถ”๊ฐ€

* refactor : ๋ถˆํ•„์š” ๋กœ๊ทธ ์ œ๊ฑฐ

* feat : ์—ญํ• ์— ๋”ฐ๋ฅธ ๊ถŒํ•œ ๋ถ€์—ฌ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* feat : ์ „ํ™”๋ฒˆํ˜ธ ์กฐํšŒ ๋ช…์‹œ์  ์ถ”๊ฐ€

* fix : ๋ถˆํ•„์š” import์ œ๊ฑฐ, ํฌ๋ฉงํŒ…

* feat : careworker ๋กœ๊ทธ์ธ ๊ถŒํ•œ ํ—ˆ์šฉ

* fix : ๋กœ๊ทธ์ธ ์Šคํ”„๋ง ๋ฒ„์ „์œผ๋กœ ๋ณ€๊ฒฝ

* fix : careworker ์ปจํŠธ๋กค๋Ÿฌ ๊ถŒํ•œ์ˆ˜์ •

* fix : appversion ๋ถ€๋ถ„ ์™€์ผ๋“œ์นด๋“œ ์ ์šฉ

* fix : valid ์ถ”๊ฐ€

* fix : bulid ํŒจํ„ด ์ œ๊ฑฐ

* fix : careworker ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ ์ค‘๋ณต ๊ฒ€์‚ฌ

* comment : ๊ฐœํ–‰ ์กฐ์ ˆ

* feat : ์˜ˆ์™ธ์ฒ˜๋ฆฌ ๋กœ์ง ์ถ”๊ฐ€

* feat : ํ† ํฐ ๋งŒ๋ฃŒ error ์ถ”๊ฐ€

* feat : ํ† ํฐ ๋งŒ๋ฃŒ ๊ฒ€์‚ฌ ์ถ”๊ฐ€

* feat : ์ ‘๊ทผ๊ถŒํ•œ ๊ด€๋ จ ์ปค์Šคํ…€ ํ•„ํ„ฐ ํ‘œํ˜„์‹ ์ถ”๊ฐ€

๊ทธ์— ๋งž์ถฐ์„œ BaseUserDetails์— Id์™€ getRole ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* save : ์ž„์‹œ careworker ์ €์žฅ

* chore : LoginController ํ†ต์ผ๋กœ ์ธํ•œ ์‚ญ์ œ

* chore : root ๊ฒฝ๋กœ ๋ณ€๊ฒฝ

* build : ์„ค์ •๊ฐ’ ๋ถ„๋ฆฌ

* chore : ์š”์–‘์› Role ์ถ”๊ฐ€

* feat : ๋กœ๊ทธ์ธ ๊ธฐ๋Šฅ ์ถ”๊ฐ€

* chore : ๋ถˆํ•„์š” test ์‚ญ์ œ

* fix : ์ž˜๋ชป๋œ wildcard ์‚ฌ์šฉ ์ˆ˜์ •

* feat : ๋กœ๊ทธ์ธ endpoint ํ†ต์ผ

custom provider ์ถ”๊ฐ€ ์ง„ํ–‰

* chore : ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ถˆ์ผ์น˜ ์˜ค๋ฅ˜ ์ถ”๊ฐ€ ์™ธ

์ผ๋ฐ˜์ ์ธ ๊ฐœํ–‰์กฐ์ ˆ

* fix : ๋กœ๊ทธ์ธ ๊ณผ์ • ๋กœ๊ทธ์ธ ๋ถˆ๊ฐ€ ๋ฌธ์ œ ํ•ด๊ฒฐ

@value ์–ด๋…ธํ…Œ์ด์…˜ ์•ž์— "/" ํŠน์ˆ˜๋ฌธ์ž๊ฐ€ ๋“ค์–ด๊ฐ€ ์žˆ์–ด์„œ ํ—ค๋” ๋ณ€ํ™˜์—์„œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด ๊ฒƒ์ด์˜€์Œ.

* chore : ๋ถˆํ•„์š” ํด๋ž˜์Šค ์‚ญ์ œ

* feat : Principal ๋‚ด๋ถ€ InstitutionNumber ์ถ”๊ฐ€

* feat : ๊ถŒํ™˜ํ™•์ธ ์ปค์Šคํ…€ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* chore : ๊ฐœํ–‰์กฐ์ ˆ, ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* chore : merge ๋ฌธ์ œ ํ•ด๊ฒฐ

* ๋Œ๋ด„๋Œ€์ƒ์ž/๋ณดํ˜ธ์ž/์š”์–‘๋ณดํ˜ธ์‚ฌ ๋ฐ์ดํ„ฐ ํŒŒ์ผ ์ž…์ถœ๋ ฅ ๊ธฐ๋Šฅ ๊ตฌํ˜„ (#49)

* feat: ์—‘์…€ ์ •๋ณด ์ฒ˜๋ฆฌ (#34)

* fix: ํ˜•์‹ ๋ฐ˜ํ™˜ ์ˆ˜์ • (#34)

* feat: ์‹œํŠธ์ด๋ฆ„ ๋ฐ ํ•ญ๋ชฉ ์ด๋ฆ„ ํ•œ๊ธ€๋กœ ๋ณ€๊ฒฝ (#34)

* feat: ์„œ๋น„์Šค ๋กœ์ง ๋ถ„๋ฆฌ(#34)

* chore : ๋ถˆํ•„์š” ์ฃผ์„ ์‚ญ์ œ

* chore : getter ์ˆ˜์ •, ๊ฐœํ–‰์กฐ์ ˆ

* chore : ๊ฐœํ–‰์กฐ์ ˆ, ๋ชจํ˜ธํ•œ ๋ณ€์ˆ˜๋ช… ๋ณ€๊ฒฝ

* chore : ์‹œํฌ๋ฆฟํ‚ค ์ˆ˜์ •, ์ด์ „๋ฒ„์ „ ์„œ๋น„์Šค ์ œ๊ฑฐ

* fix: chart ๊ด€๋ จ ์—”ํ‹ฐํ‹ฐ cascade ์„ค์ •

---------

Co-authored-by: mac <20j.code@gmail.com>
Co-authored-by: ๊น€ํƒœ์œค <77539625+pykido@users.noreply.github.com>
Co-authored-by: Jinsol Lee <purnsol1001@naver.com>
Co-authored-by: 20jcode <109460399+20jcode@users.noreply.github.com>

* fix: ChartDetailResponse ๋ณ€๊ฒฝ
- conditionDisease ํ•ญ๋ชฉ ์ถ”๊ฐ€

* chore : Repository ์กด์žฌํ™•์ธ ๋ฉ”์†Œ๋“œ๋ช… ๋ณ€๊ฒฝ (#56)

* fix: ๋ถˆํ•„์š”ํ•œ ๊ถŒํ•œ ์–ด๋…ธํ…Œ์ด์…˜ ์ œ๊ฑฐ

* feat: openai summarization(7์ผ์น˜)

* feat: swagger-ui

* feat: swagger-ui ๋น ์ง„ ๋‚ด์šฉ

* refactor: Swagger๊ฐ€ ์•„๋‹Œ, ํ•„์š”์—†๋Š” ๋‚ด์šฉ ์‚ญ์ œํ•˜๊ธฐ

* refactor: Swagger๊ฐ€ ์•„๋‹Œ, ํ•„์š”์—†๋Š” ๋‚ด์šฉ ์‚ญ์ œํ•˜๊ธฐ

* refactor: Swagger๊ฐ€ ์•„๋‹Œ, ํ•„์š”์—†๋Š” ๋‚ด์šฉ ์‚ญ์ œํ•˜๊ธฐ

* feat: swagger์— security ์ถ”๊ฐ€

---------

Co-authored-by: mac <20j.code@gmail.com>
Co-authored-by: Yoo KyeongMi <yookyungmi02@gmail.com>
Co-authored-by: ๊น€ํƒœ์œค <77539625+pykido@users.noreply.github.com>
Co-authored-by: Jinsol Lee <purnsol1001@naver.com>
Co-authored-by: 20jcode <109460399+20jcode@users.noreply.github.com>
Co-authored-by: Yoo KyeongMi <89245114+yooookm@users.noreply.github.com>

* docs: ๋กœ๊ทธ์ธ ๊ด€๋ จ api swagger ๋ช…์„ธ ์ถ”๊ฐ€

* feat: ์ฐจํŠธ ์ž‘์„ฑ request ๋ณ€๊ฒฝ
- ๊ธฐ์กด recipient ๊ฐ์ฒด์—์„œ recipientId๋กœ ๋ณ€๊ฒฝ
- id๋กœ recipient ๊ฐ์ฒด ์ฐพ๊ธฐ

* Refactor: recipient, careworker (#68)

* refactor: recipient, careworker

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ1

* refactor: ์ฝ”๋“œ ๋ฆฌ๋ทฐ2

* refactor: guardian, institution ์ˆ˜์ • (#69)

* feat: BodyManagement ํ•„๋“œ ์ˆ˜์ •

* feat: BodyManagement ๊ด€๋ จ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ˆ˜์ •

* feat: BodyManagement ํ•„๋“œ ์ˆ˜์ •์— ๋”ฐ๋ฅธ req/res ์ˆ˜์ •

* docs: BodyManagementRequest swagger ๋ช…์„ธ ์ˆ˜์ •

* fix: res jsonProperty ์ˆ˜์ •
- ๊ธฐ์กด ๋ณ€์ˆ˜๋ช…์œผ๋กœ ๋ฐ˜ํ™˜

* test: chartMapperTest๋ฅผ ์œ„ํ•œ yml ํŒŒ์ผ ์ž‘์„ฑ

* feat: CognitiveManagement ํ•„๋“œ ์ถ”๊ฐ€
- ๋ง๋ฒ— ๋ฐ ๊ฒฉ๋ ค ์‚ฌํ•ญ ํ•„๋“œ ์ถ”๊ฐ€
- req/res ๋ณ€๊ฒฝ

* feat: NursingManagement ํ•„๋“œ ์ถ”๊ฐ€
- ๊ฑด๊ฐ• ๊ด€๋ฆฌ, ๊ฐ„ํ˜ธ ๊ด€๋ฆฌ, ์‘๊ธ‰ ๊ด€๋ฆฌ ํ•„๋“œ ์ถ”๊ฐ€
- req/res ๋ณ€๊ฒฝ

* test: ๋ฐ”๋€ chart ์—”ํ‹ฐํ‹ฐ์— ๋”ฐ๋ผ test ์ฝ”๋“œ ๋ณ€๊ฒฝ

* feat: RecoveryTraining ํ•„๋“œ ์ถ”๊ฐ€
- ์ธ์ง€ ๊ธฐ๋Šฅ ํ›ˆ๋ จ, ๋ฌผ๋ฆฌ ์น˜๋ฃŒ ์ œ๊ณต ์—ฌ๋ถ€ ์ถ”๊ฐ€
- req/res ๋ณ€๊ฒฝ
- test ์ฝ”๋“œ ๋ณ€๊ฒฝ

* LLM์„ ํ™œ์šฉํ•˜์—ฌ ๋Œ๋ด„๋Œ€์ƒ์ž๋ณ„ ์ฐจํŠธ ์š”์•ฝํ•˜๊ธฐ (#59)

* [๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์š”์–‘์› ๋„๋ฉ”์ธ CRUD (#39)

* feat: ์š”์–‘์› ๋„๋ฉ”์ธ

* refactor: admin์—์„œ developer๋กœ ๋ณ€๊ฒฝ

* refactor: developer -> admin

* refactor: admin->institution ์š”์–‘์›์ด ๊ด€๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„

* feat: openai summarization(7์ผ์น˜)

* [๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€] ์š”์–‘์› ๋„๋ฉ”์ธ CRUD (#39)

* feat: ์š”์–‘์› ๋„๋ฉ”์ธ

* refactor: admin์—์„œ developer๋กœ ๋ณ€๊ฒฝ

* refactor: developer -> admin

* refactor: admin->institution ์š”์–‘์›์ด ๊ด€๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„

* feat: openai summarization(7์ผ์น˜)

* feat: swagger, openAi

* ์š”์–‘๋ณดํ˜ธ์‚ฌ ๋งˆ์ดํŽ˜์ด์ง€ ๊ด€๋ จ API ๊ตฌํ˜„ + refactor ์—‘์…€ + refactor ์š”์–‘๋ณดํ˜ธ์‚ฌ ๋Œ๋ด„๋Œ€์ƒ์ž (#77)

* feat: careworker ๋งˆ์ดํŽ˜์ด์ง€, refactor recipient

* feat: adminController ์ถ”๊ฐ€

* refactor: Excel

* feat: ๊ทผ๋ฌด์ผ '์š”์ผ'๋กœ ์„ค์ •

* fix: ์š”์ผ java.time.dayofweek ์‚ฌ์šฉ

* refactor: List, ApiUtil, LoginInstitution ํ†ต์ผ

* feat: RecipientGuandianConstroller, ์ˆ˜์ •๊ถŒํ•œ๋“ค ์„ธ๋ถ„ํ™”

* feat: Excel ๊ถŒํ•œ ์ถ”๊ฐ€

* summarization api refactor (#78)

* feat: summary db์— ์ €์žฅ

* refactor: ์•ˆ์“ฐ๋Š” import๋ฌธ ์‚ญ์ œ

* refactor: ํ•„์š”์—†๋Š” import ์‚ญ์ œ, id๊ฐ’ ๋ฐ›์•„์˜ค๊ธฐ ์ˆ˜์ •

* refactor: summarization ์ˆ˜์ •

* feat: ์š”์•ฝ tag ์ถ”๊ฐ€

* refactor: responseํ†ต์ผ

* feat: guardian, institution ์‘๋‹ต ํ†ต์ผ, controller๋ถ„๋ฆฌ (#88)

* Week 10 PR ํ•ฉ์น˜๊ธฐ (#89)

* docs : ์‹œํ๋ฆฌํ‹ฐ ์„ค๋ช…

* chore : ๊ฒฝ๋กœ ์ˆ˜์ •

* feat : ์ปค์Šคํ…€ ์ธ์ฆ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* feat : ๋ณดํ˜ธ์ž ๊ธฐ๊ด€ID ์ถ”๊ฐ€

* chore : ๊ตฌ๋ฒ„์ „ ์‚ญ์ œ

* chore : ์ถฉ๋Œํ•ด๊ฒฐ

* feat : JwtProvider ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* chore : ๊ฐœํ–‰ ์กฐ์ ˆ

* chore : ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* save : test ์ถ”๊ฐ€

* chore : secret ํ‚ค ์ˆจ๊ธฐ๊ธฐ

* test : Careworker ํ…Œ์ŠคํŠธ ์‹คํŒจ

* chore : Todo ์ž‘์„ฑ

* chore : ์ถฉ๋Œ ์ˆ˜์ •

* chore : ๋ถˆํ•„์š” ์ฃผ์„ ์ œ๊ฑฐ

* docs : ๊ถŒํ•œ ๊ฒ€์‚ฌ ํŒŒ๋ผ๋ฏธํ„ฐ ์ฃผ์„ ์ถ”๊ฐ€

* chore : ๋งค๊ฐœ๋ณ€์ˆ˜ ํƒ€์ž… ๋ณ€๊ฒฝ, enum ํด๋ž˜์Šค ์ฃผ์„ ์ถ”๊ฐ€

* feat : Null ์ฒดํฌ + role ํ™•์ธ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* save

* chore : ์œ„์น˜ ๋ณ€๊ฒฝ

* test : ๊ถŒํ•œ ํ™•์ธ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test : ํ†ตํ•ฉํ…Œ์ŠคํŠธ ๋ชจ๋“ˆ ์ถ”๊ฐ€์ค‘

* refactor: guardian, institution ์ˆ˜์ •

* chore : merge ์ถฉ๋Œํ•ด๊ฒฐ

* feat : ์„œ๋ฒ„ ๊ด€๋ฆฌ์ž ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* chore : ์ปดํŒŒ์ผ ์—๋Ÿฌ ์ˆ˜์ •

* chore : Requset DTO ์ด๋ฆ„ ํ†ต์ผ

* chore : ์„œ๋ฒ„๊ด€๋ฆฌ์ž ์—”ํ‹ฐํ‹ฐ ์ˆ˜์ •

* feat : ํ†ตํ•ฉ testmodule ์ถ”๊ฐ€

* feat : test๋ชจ๋“ˆ ์™„์„ฑ + spring ํ…Œ์ŠคํŠธ config ์ถ”๊ฐ€

* feat : ์„œ๋ฒ„ ๊ด€๋ฆฌ์ž ์ปจํŠธ๋กค๋Ÿฌ ์ถ”๊ฐ€ ๋ฐ ์„œ๋น„์Šค ์ผ๋ถ€ ์ˆ˜์ •

* chore : ๋ณดํ˜ธ์ž ๋„๋ฉ”์ธ ์ผ๋ถ€ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix : jwt header ํŒŒ์‹ฑ ์˜ค๋ฅ˜ ์ˆ˜์ •

* feat : ๊ถŒํ•œํ™•์ธ ๋กœ์ง AOP ์ ์šฉ

* test : adminํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

ํ˜„์žฌ test context๊ฐ„์— ์„œ๋กœ ๋…๋ฆฝ๋˜์ง€์•Š์€ ๋ฌธ์ œ ๋ฐœ์ƒ

* fix : ํ…Œ์ŠคํŠธ ๊ฐ„์— ๋…๋ฆฝ์„ฑ ์œ ์ง€ ์ถ”๊ฐ€

* test : ์š”์–‘์› ์ •๋ณด ๋ณ€๊ฒฝ ์ถ”๊ฐ€

response์—์„œ id๊ฐ’์„ ๋„˜๊ธฐ๋„๋ก ์„ค์ •ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

* feat : EntityMapper ์ถ”๊ฐ€

entity <-> dto ๋ณ€ํ™˜๊ธฐ๋Šฅ ์ œ๊ณต

* test : ์š”์–‘์› ์ถ”๊ฐ€ ๋ฐ ๊ถŒํ•œ ๊ฒ€์‚ฌ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test : ์š”์–‘๋ณดํ˜ธ์‚ฌ ๋“ฑ๋ก, ์š”์–‘๋ณดํ˜ธ์‚ฌ๊ฐ€ ์š”์–‘์› ์ปจํŠธ๋กค๋Ÿฌ ์ ‘๊ทผ ์ฐจ๋‹จ ํ…Œ์ŠคํŠธ

* fix : ์ปดํŒŒ์ผ error ํ•ด๊ฒฐ

* fix : ์ผ๋ถ€ ํ…Œ์ŠคํŠธ error ์ˆ˜์ •

---------

Co-authored-by: hyyyh0x <hyyyh0x@gmail.com>

* Admin ์ถ”๊ฐ€, ๋กœ๊ทธ์ธ ์„ฑ๊ณต test (#90)

* docs : ์‹œํ๋ฆฌํ‹ฐ ์„ค๋ช…

* chore : ๊ฒฝ๋กœ ์ˆ˜์ •

* feat : ์ปค์Šคํ…€ ์ธ์ฆ ์–ด๋…ธํ…Œ์ด์…˜ ์ถ”๊ฐ€

* feat : ๋ณดํ˜ธ์ž ๊ธฐ๊ด€ID ์ถ”๊ฐ€

* chore : ๊ตฌ๋ฒ„์ „ ์‚ญ์ œ

* chore : ์ถฉ๋Œํ•ด๊ฒฐ

* feat : JwtProvider ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* chore : ๊ฐœํ–‰ ์กฐ์ ˆ

* chore : ๋ฉ”์„œ๋“œ ์ด๋ฆ„ ๋ณ€๊ฒฝ

* save : test ์ถ”๊ฐ€

* chore : secret ํ‚ค ์ˆจ๊ธฐ๊ธฐ

* test : Careworker ํ…Œ์ŠคํŠธ ์‹คํŒจ

* chore : Todo ์ž‘์„ฑ

* chore : ์ถฉ๋Œ ์ˆ˜์ •

* chore : ๋ถˆํ•„์š” ์ฃผ์„ ์ œ๊ฑฐ

* docs : ๊ถŒํ•œ ๊ฒ€์‚ฌ ํŒŒ๋ผ๋ฏธํ„ฐ ์ฃผ์„ ์ถ”๊ฐ€

* chore : ๋งค๊ฐœ๋ณ€์ˆ˜ ํƒ€์ž… ๋ณ€๊ฒฝ, enum ํด๋ž˜์Šค ์ฃผ์„ ์ถ”๊ฐ€

* feat : Null ์ฒดํฌ + role ํ™•์ธ ๋ฉ”์„œ๋“œ ์ถ”๊ฐ€

* save

* chore : ์œ„์น˜ ๋ณ€๊ฒฝ

* test : ๊ถŒํ•œ ํ™•์ธ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test : ํ†ตํ•ฉํ…Œ์ŠคํŠธ ๋ชจ๋“ˆ ์ถ”๊ฐ€์ค‘

* refactor: guardian, institution ์ˆ˜์ •

* chore : merge ์ถฉ๋Œํ•ด๊ฒฐ

* feat : ์„œ๋ฒ„ ๊ด€๋ฆฌ์ž ์—”ํ‹ฐํ‹ฐ ์ถ”๊ฐ€

* chore : ์ปดํŒŒ์ผ ์—๋Ÿฌ ์ˆ˜์ •

* chore : Requset DTO ์ด๋ฆ„ ํ†ต์ผ

* chore : ์„œ๋ฒ„๊ด€๋ฆฌ์ž ์—”ํ‹ฐํ‹ฐ ์ˆ˜์ •

* feat : ํ†ตํ•ฉ testmodule ์ถ”๊ฐ€

* feat : test๋ชจ๋“ˆ ์™„์„ฑ + spring ํ…Œ์ŠคํŠธ config ์ถ”๊ฐ€

* feat : ์„œ๋ฒ„ ๊ด€๋ฆฌ์ž ์ปจํŠธ๋กค๋Ÿฌ ์ถ”๊ฐ€ ๋ฐ ์„œ๋น„์Šค ์ผ๋ถ€ ์ˆ˜์ •

* chore : ๋ณดํ˜ธ์ž ๋„๋ฉ”์ธ ์ผ๋ถ€ ์˜ค๋ฅ˜ ์ˆ˜์ •

* fix : jwt header ํŒŒ์‹ฑ ์˜ค๋ฅ˜ ์ˆ˜์ •

* feat : ๊ถŒํ•œํ™•์ธ ๋กœ์ง AOP ์ ์šฉ

* test : adminํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ถ”๊ฐ€

ํ˜„์žฌ test context๊ฐ„์— ์„œ๋กœ ๋…๋ฆฝ๋˜์ง€์•Š์€ ๋ฌธ์ œ ๋ฐœ์ƒ

* fix : ํ…Œ์ŠคํŠธ ๊ฐ„์— ๋…๋ฆฝ์„ฑ ์œ ์ง€ ์ถ”๊ฐ€

* test : ์š”์–‘์› ์ •๋ณด ๋ณ€๊ฒฝ ์ถ”๊ฐ€

response์—์„œ id๊ฐ’์„ ๋„˜๊ธฐ๋„๋ก ์„ค์ •ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

* feat : EntityMapper ์ถ”๊ฐ€

entity <-> dto ๋ณ€ํ™˜๊ธฐ๋Šฅ ์ œ๊ณต

* test : ์š”์–‘์› ์ถ”๊ฐ€ ๋ฐ ๊ถŒํ•œ ๊ฒ€์‚ฌ ํ…Œ์ŠคํŠธ ์ถ”๊ฐ€

* test : ์š”์–‘๋ณดํ˜ธ์‚ฌ ๋“ฑ๋ก, ์š”์–‘๋ณดํ˜ธ์‚ฌ๊ฐ€ ์š”์–‘์› ์ปจํŠธ๋กค๋Ÿฌ ์ ‘๊ทผ ์ฐจ๋‹จ ํ…Œ์ŠคํŠธ

* fix : ์ปดํŒŒ์ผ error ํ•ด๊ฒฐ

* fix : ์ผ๋ถ€ ํ…Œ์ŠคํŠธ error ์ˆ˜์ •

* fix : jwt config ์˜ค๋ฅ˜ ํ•ด๊ฒฐ

* test : admin ๊ณ„์ • ์ถ”๊ฐ€, ๋กœ๊ทธ์ธ

* test : admin ๊ณ„์ • ์ถ”๊ฐ€ ์ปจํŠธ๋กค๋Ÿฌ (์ž„์‹œ)

---------

Co-authored-by: hyyyh0x <hyyyh0x@gmail.com>

* refactor : ๊ฐ„๋‹จํ•œ ์ˆ˜์ • (#91)

* api ๋ฒ„๊ทธ ์ˆ˜์ • ์™„๋ฃŒ (#114)

* refactor: guardianExcel (#117)

* ์ฐจํŠธ api ๊ถŒํ•œ ๊ฒ€์ฆ ์ถ”๊ฐ€ (#118)

* merge

* fix: chart ํ•„๋“œ ์ž๋ฃŒํ˜• ๋ณ€๊ฒฝ
- ๋ชจ๋‘ string, boolean์œผ๋กœ ํ†ต์ผ

* fix: pagable ์ถ”๊ฐ€

* feat: chartOverViewResponse ์ƒ์„ฑ

* feat: chartOverViewResponse mapper ์ถ”๊ฐ€

* test: chartOverViewResponse mapper ํ…Œ์ŠคํŠธ์ฝ”๋“œ ์ž‘์„ฑ

* feat: ์ฐจํŠธ ์ „์ฒด ์กฐํšŒ์‹œ chartOverViewResponse ์ ์šฉ

* feat: chartResponse ์—๋Ÿฌ ์ฒ˜๋ฆฌ

* fix : admin add ์˜ค๋ฅ˜ ์ˆ˜์ •

* refactor : ๋กœ๊ทธ์ธ ๋ฆฌํŒฉํ† ๋ง (#92)

* refactor: summary ์ˆ˜์ • (#93)

* feat: ์š”์–‘๋ณดํ˜ธ์‚ฌ ์ฐจํŠธ api ๊ถŒํ•œ ๊ฒ€์ฆ ์ถ”๊ฐ€

* feat: ๋ณดํ˜ธ์ž ์ฐจํŠธ api ๊ถŒํ•œ ๊ฒ€์ฆ ์ถ”๊ฐ€

* docs: ์ฐจํŠธ api swagger ์ˆ˜์ •

* fix: LoginCareWorker ์–ด๋…ธํ…Œ์ด์…˜ ์ˆ˜์ •

* fix: LoginCareWorker ์–ด๋…ธํ…Œ์ด์…˜ ์ˆ˜์ •

---------

Co-authored-by: mac <20j.code@gmail.com>
Co-authored-by: ๊น€ํƒœ์œค <77539625+pykido@users.noreply.github.com>
Co-authored-by: hyyyh0x <141637975+hyyyh0x@users.noreply.github.com>

* [์ฐจํŠธ ์ž…๋ ฅ ๊ธฐ๋Šฅ] OCR + S3 + presigned url๋กœ ๊ตฌํ˜„ํ•˜๊ธฐ (#86)

* refactor : ์•Œ๋ฆผ ์˜ˆ์•ฝ ์ˆ˜์ • ๋ถ€๋ถ„ ์‚ญ์ œํ•˜๊ธฐ

* feat : ์•Œ๋ฆผ ์ „์šฉ ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ

* feat : ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat : sqs ์„œ๋น„์Šค ๋ถ™์ด๊ณ  ํ…Œ์ŠคํŠธํ•˜๊ธฐ

* feat : sqs ์„œ๋น„์Šค ํ†ต์ผํ™”

* feat : ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€์—์„œ ์š”์–‘๋ณดํ˜ธ์‚ฌ ์ถ”๊ฐ€ํ•  ๋•Œ ์•Œ๋žŒ ํ…Œ์ด๋ธ”๋„ ์ถ”๊ฐ€ํ•˜๊ธฐ

* refactor : ์Šค์ผ€์ฅด๋Ÿฌ ์ฝ”๋“œ ์ˆ˜์ •ํ•˜๊ธฐ

* feat : ์š”์–‘๋ณดํ˜ธ์‚ฌ ์„ฑ๊ณต!!!

* feat : ๋‹ค์Œ ๊ทผ๋ฌด์ผ์— ๋ณด๋‚ผ ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ ์ž‘์„ฑ

* feat : ์š”์–‘๋ณดํ˜ธ์‚ฌ ๋กœ์ง ์™„์„ฑ

* refactor : ๋””๋ ‰ํ† ๋ฆฌ ์œ„์น˜ ๋ณ€๊ฒฝ

* feat : coolsms ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat : sms ๋ฌธ์ž ๋ฉ”์‹œ์ง€ api ์—ฐ๊ฒฐ ์™„๋ฃŒ

* feat : Presigned Url ์ƒ์„ฑ ๋ฐ ํ…Œ์ŠคํŠธ ์™„๋ฃŒ

* feat : ํ‚ค๊ฐ’๊ณผ presigned url์„ OcrData ํ…Œ์ด๋ธ”์— ์ €์žฅํ•ด์ฃผ๊ธฐ

* feat : Naver Clova OCR API๋ฅผ ํ†ตํ•˜์—ฌ ํ…์ŠคํŠธ ์ถ”์ถœ ์„ฑ๊ณต

* feat : Naver Clova OCR API๋ฅผ ํ†ตํ•˜์—ฌ ํ‘œ ์ถ”์ถœ ์„ฑ๊ณต

* refactor : Presigned URL ์ƒ์„ฑ ๋ฐ ๋ฐ˜ํ™˜ ๋กœ์ง ์ˆ˜์ •

* refactor : OCR ์ธ์‹ ๊ณผ์ • ์ˆ˜์ •

* refactor : ๊ฐ„๋‹จํ•œ ์ˆ˜์ •

* refactor : excel ํŒŒ์ผ ์ด์ „

* refactor : ์ด๋ฆ„ ์ˆ˜์ •

* refactor : ์—‘์…€ ํŒŒ์ผ ์ด์ „

* refactor : 4. Chart API๊นŒ์ง€ ํ™•์ธ ์™„๋ฃŒ

* refactor : ์ˆจ๊ธฐ๊ธฐ

* refactor : OCR Test ์™„๋ฃŒ!!!

* feat : CORS ํ•ด๊ฒฐ!!! (#121)

* ๋ฐฐํฌ ๋ณ€๊ฒฝ์‚ฌํ•ญ ์ˆ˜์ •!! (#122)

* feat : health-check ์ถ”๊ฐ€ ๋ฐ CORS ํ•ด๊ฒฐ

* feat : health-check end point ์ˆ˜์ •

* refactor : health-check api ์ˆ˜์ • (#123)

* refactor: response์— id๋„ฃ๊ธฐ (#119)

* refactor: response์— id๋„ฃ๊ธฐ

* refactor: guardian ์ˆ˜์ •

* refactor: parameter hidden true

* refactor: @Schema์™€ validate

* [์š”์–‘์›]-๋Œ๋ด„๋Œ€์ƒ์ž ๊ด€๋ฆฌ(์ผ๋ถ€๊ถŒํ•œ ํ•ด๊ฒฐํ•„์š”) (#124)

* refactor: excel ์„ฑ๊ณต

* feat: CareworkerController๋“ค ๊ถŒํ•œ ๋ถ€์—ฌ

* feat: ์š”์–‘์›-๋Œ๋ด„๋Œ€์ƒ์ž ๊ด€๋ฆฌ ๋นผ๊ณ  ๋‹ค ์„ฑ๊ณต

* fix: ์ผ๋ถ€ ๊ถŒํ•œ ์ฃผ์„ ์ฒ˜๋ฆฌ

* fix: guardian institution๊ด€๋ จ (#126)

* [์š”์–‘๋ณดํ˜ธ์‚ฌ/๋ณดํ˜ธ์ž] coolSMS API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ SMS ์•Œ๋ฆผ ๊ธฐ๋Šฅ ๊ตฌํ˜„ํ•˜๊ธฐ (#87)

* refactor : ์•Œ๋ฆผ ์˜ˆ์•ฝ ์ˆ˜์ • ๋ถ€๋ถ„ ์‚ญ์ œํ•˜๊ธฐ

* feat : ์•Œ๋ฆผ ์ „์šฉ ํ…Œ์ด๋ธ” ๋งŒ๋“ค๊ธฐ

* feat : ๋ฆฌ๋ทฐ ๋ฐ˜์˜

* feat : sqs ์„œ๋น„์Šค ๋ถ™์ด๊ณ  ํ…Œ์ŠคํŠธํ•˜๊ธฐ

* feat : sqs ์„œ๋น„์Šค ํ†ต์ผํ™”

* feat : ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€์—์„œ ์š”์–‘๋ณดํ˜ธ์‚ฌ ์ถ”๊ฐ€ํ•  ๋•Œ ์•Œ๋žŒ ํ…Œ์ด๋ธ”๋„ ์ถ”๊ฐ€ํ•˜๊ธฐ

* refactor : ์Šค์ผ€์ฅด๋Ÿฌ ์ฝ”๋“œ ์ˆ˜์ •ํ•˜๊ธฐ

* feat : ์š”์–‘๋ณดํ˜ธ์‚ฌ ์„ฑ๊ณต!!!

* feat : ๋‹ค์Œ ๊ทผ๋ฌด์ผ์— ๋ณด๋‚ผ ์•Œ๋ฆผ ๋ฉ”์‹œ์ง€ ์ž‘์„ฑ

* feat : ์š”์–‘๋ณดํ˜ธ์‚ฌ ๋กœ์ง ์™„์„ฑ

* refactor : ๋””๋ ‰ํ† ๋ฆฌ ์œ„์น˜ ๋ณ€๊ฒฝ

* feat : coolsms ์˜์กด์„ฑ ์ถ”๊ฐ€

* feat : sms ๋ฌธ์ž ๋ฉ”์‹œ์ง€ api ์—ฐ๊ฒฐ ์™„๋ฃŒ

* refactor : ๊ฐ„๋‹จํ•œ ์ˆ˜์ •

* refactor : excel ํด๋” ์œ„์น˜ ๋ณ€๊ฒฝ

* refactor : update ์ˆ˜์ •

* feat : line url ๊ฒฝ๋กœ ์—ด์–ด๋‘๊ธฐ

* refactor : ์•Œ๋žŒ ํ…Œ์ด๋ธ” ๋˜ํ•œ ์ˆ˜์ •ํ•˜๊ธฐ

* feat : Line messaging ๊ธฐ๋Šฅ ์™„์„ฑํ•˜์˜€์Œ

* auth ๋ฌธ์ œ ํ•ด๊ฒฐ + Test ์ฝ”๋“œ ์ถ”๊ฐ€ (#129)

* test : ๊ด€๋ฆฌ์ž - ์š”์–‘์› CRUD

* test : ๊ด€๋ฆฌ์ž - ์š”์–‘์› CRUD

* test : ๊ด€๋ฆฌ์ž - ์š”์–‘๋ณดํ˜ธ์‚ฌ CRUD

* fix: careworker request ์ˆ˜์ •

* save

* fix : ๊ถŒํ•œ๊ฒ€์‚ฌ๋กœ์ง ์˜ค๋ฅ˜ ์ˆ˜์ • + ํ…Œ์ŠคํŠธ

* fix: recipient request ์ˆ˜์ •

* chore : ๋ถˆํ•„์š” JWT ๋กœ๊ทธ ์‚ญ์ œ

* feat : @Login ํŒŒ๋ผ๋ฏธํ„ฐ ์‚ฌ์šฉ ์‹œ ๊ถŒํ•œ ๊ฒ€์‚ฌ ๋กœ์ง ์ถ”๊ฐ€

* fix : ํ…Œ์ŠคํŠธ ์‹œ ์š”์–‘์› ๋ฒˆํ˜ธ ์ถฉ๋Œ ์ˆ˜์ •

* fix : ๊ตฌ๋ฒ„์ „ ํ…Œ์ŠคํŠธ ์ œ๊ฑฐ

* feat : ๊ถŒํ•œ ๊ฒ€์‚ฌ ์ถ”๊ฐ€

* fix : ๋กœ๊ทธ์ธ๋˜์ง€ ์•Š์€ ์‚ฌ์šฉ์ž์˜ ๊ถŒํ•œ ํ•„์š” ๋ฉ”์†Œ๋“œ ์ ‘๊ทผ ์ฐจ๋‹จ ๋กœ์ง ์ˆ˜์ •

* fix : ๊ถŒํ•œ ๊ฒ€์‚ฌ ์‹œ null ํŒŒ๋ผ๋ฏธํ„ฐ ์ฒ˜๋ฆฌ ์ถ”๊ฐ€

---------

Co-authored-by: mogld <143364802+mogld@users.noreply.github.com>

* CORS ํ•ด๊ฒฐ (#128)

* refactor : CORS ํ•ด๊ฒฐ

* refactor : CORS ํ•ด๊ฒฐ!!!!

* refactor: CR"U"D request (#130)

* refactor: ์ผ๋‹จ CRUD request ์ตœ์ข…์ˆ˜์ •

* refactor: ์ˆ˜์ •2

* refactor: ์ˆ˜์ •๋

* refactor: guardianInstitution ๊ถŒํ•œ ์ถ”๊ฐ€, ์ฝ”๋“œ ์ •๋ฆฌ, ์š”์•ฝ API ์ˆ˜์ • (#131)

* fix: guardian institution๊ด€๋ จ

* refactor: guardian ๊ถŒํ•œ ์ถ”๊ฐ€, database.yml ์ˆ˜์ •

* refactor: ์ฝ”๋“œ ๋ ๊ณต๋ฐฑ ์ถ”๊ฐ€, ๋ถˆํ•„์š”ํ•œ ๊ฐœํ–‰ ์‚ญ์ œ

* refactor: ์š”์•ฝ ๊ฐ’ ์œ„์น˜ ์ˆ˜์ •

---------

Co-authored-by: pykido <animoto1@naver.com>
Co-authored-by: ๊น€ํƒœ์œค <77539625+pykido@users.noreply.github.com>
Co-authored-by: Yoo KyeongMi <yookyungmi02@gmail.com>
Co-authored-by: Yoo KyeongMi <89245114+yooookm@users.noreply.github.com>
Co-authored-by: mogld <143364802+mogld@users.noreply.github.com>
Co-authored-by: hyyyh0x <141637975+hyyyh0x@users.noreply.github.com>
Co-authored-by: Jinsol Lee <purnsol1001@naver.com>
Co-authored-by: hyyyh0x <hyyyh0x@gmail.com>

* feat : ์ตœ์ข… ์ˆ˜์ •

---------

Co-authored-by: 20jcode <109460399+20jcode@users.noreply.github.com>
Co-authored-by: Yoo KyeongMi <yookyungmi02@gmail.com>
Co-authored-by: Yoo KyeongMi <89245114+yooookm@users.noreply.github.com>
Co-authored-by: mogld <143364802+mogld@users.noreply.github.com>
Co-authored-by: hyyyh0x <141637975+hyyyh0x@users.noreply.github.com>
Co-authored-by: Jinsol Lee <purnsol1001@naver.com>
Co-authored-by: hyyyh0x <hyyyh0x@gmail.com>
  • Loading branch information
8 people authored Nov 15, 2024
1 parent 0314be3 commit 30e6af3
Show file tree
Hide file tree
Showing 6 changed files with 188 additions and 53 deletions.
101 changes: 48 additions & 53 deletions .github/workflows/gradle.yml
Original file line number Diff line number Diff line change
@@ -1,74 +1,69 @@
name: Java CI and Deploy to AWS EC2
name: Java CI and Deploy to AWS EC2 (Mock Docker Deployment)

on:
push:
branches: [ "Week10" ]
pull_request:
branches: [ "Week10" ]
branches: [ "readme" ]

jobs:
build:
runs-on: ubuntu-latest
permissions:
contents: read

steps:
- uses: actions/checkout@v4
- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'

- name: Setup Gradle
uses: gradle/actions/setup-gradle@af1da67850ed9a4cedd57bfd976089dd991e2582

- name: Build with Gradle Wrapper
run: ./gradlew clean build

deploy:
runs-on: ubuntu-latest
needs: build
environment: production
permissions:
contents: read

steps:
- uses: actions/checkout@v4

- name: Set up JDK 17
uses: actions/setup-java@v4
with:
java-version: '17'
distribution: 'temurin'

- name: Decode and save .pem file
- name: Save SSH key
env:
EC2_SSH_KEY_BASE64: ${{ secrets.EC2_SSH_KEY_BASE64 }}
EC2_SSH_KEY: ${{ secrets.EC2_SSH_KEY }}
run: |
echo "$EC2_SSH_KEY_BASE64" | base64 -d > ec2-key.pem
echo "$EC2_SSH_KEY" > ec2-key.pem
chmod 600 ec2-key.pem
- name: Upload JAR to EC2
- name: Upload source code to EC2
env:
EC2_HOST: ${{ secrets.EC2_HOST }}
EC2_USER: ${{ secrets.EC2_USER }}
run: |
scp -i ec2-key.pem -o StrictHostKeyChecking=no ./build/libs/your-app.jar $EC2_USER@$EC2_HOST:~/app/your-app.jar
- name: Restart Application on EC2
scp -i ec2-key.pem -o StrictHostKeyChecking=no -r ./* $EC2_USER@$EC2_HOST:/home/$EC2_USER/app
- name: Mock Build and Deploy on EC2
env:
EC2_HOST: ${{ secrets.EC2_HOST }}
EC2_USER: ${{ secrets.EC2_USER }}
run: |
ssh -i ec2-key.pem -o StrictHostKeyChecking=no $EC2_USER@$EC2_HOST << 'EOF'
# ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ Java ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ
echo "ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ Java ํ”„๋กœ์„ธ์Šค ์ข…๋ฃŒ ์ค‘..."
pkill -f 'java' || echo "์ข…๋ฃŒํ•  Java ํ”„๋กœ์„ธ์Šค ์—†์Œ"
# ์ƒˆ๋กœ์šด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‹คํ–‰
JAR_FILE="dbdr-0.0.1-SNAPSHOT.jar"
echo "์ƒˆ๋กœ์šด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค: $JAR_FILE"
nohup java -jar ~/app/$JAR_FILE --server.port=8080 > ~/app/app.log 2>&1 &
# ์‹คํ–‰ ํ™•์ธ
sleep 10
echo "์ƒˆ๋กœ ์‹คํ–‰๋œ Java ํ”„๋กœ์„ธ์Šค:"
pgrep -f 'java'
MOCK=true
# ๋นŒ๋“œ ๋‹จ๊ณ„
if [ "$MOCK" = true ]; then
echo "EC2์—์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋นŒ๋“œ ์ค‘..."
echo "./gradlew clean build -x test"
else
./gradlew clean build -x test
fi
# Docker ์ด๋ฏธ์ง€ ๋นŒ๋“œ ๋‹จ๊ณ„
if [ "$MOCK" = true ]; then
echo "Docker ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•˜๋Š” ์ค‘..."
echo "docker build -t care-app:latest ."
else
docker build -t care-app:latest .
fi
# ๊ธฐ์กด ์ปจํ…Œ์ด๋„ˆ ์ค‘์ง€ ๋ฐ ์‚ญ์ œ
if [ "$MOCK" = true ]; then
echo "๊ธฐ์กด Docker ์ปจํ…Œ์ด๋„ˆ ์ค‘์ง€ ๋ฐ ์‚ญ์ œ ์ค‘..."
echo "docker stop care-app-container || true"
echo "docker rm care-app-container || true"
else
docker stop care-app-container || true
docker rm care-app-container || true
fi
# ์ƒˆ Docker ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰
if [ "$MOCK" = true ]; then
echo "์ƒˆ๋กœ์šด Docker ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰ ์ค‘..."
echo "docker run -d --name care-app-container -v /home/$EC2_USER/app/config/application-secret.yml:/app/config/application-secret.yml -p 8080:8080 care-app:latest"
else
docker run -d --name care-app-container -v /home/$EC2_USER/app/config/application-secret.yml:/app/config/application-secret.yml -p 8080:8080 care-app:latest
fi
echo "๋ฐฐํฌ ์™„๋ฃŒ"
EOF
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
package dbdr.domain.core.messaging.service;

public interface MessagingService {
void sendMessageToUser(String userId, String message);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
package dbdr.domain.guardian.dto.request;

import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import java.time.LocalTime;

public record GuardianAlertTimeRequest(
@Schema(description = "๋ณดํ˜ธ์ž์˜ ์ด๋ฆ„", example = "๋ฐ•์ค€ํ˜‘")
@NotBlank(message = "์ด๋ฆ„์€ ํ•„์ˆ˜ ํ•ญ๋ชฉ์ž…๋‹ˆ๋‹ค.")
String name,

@Schema(description = "๋ณดํ˜ธ์ž์˜ ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ", example = "01012341234")
@NotBlank(message = "ํœด๋Œ€ํฐ ๋ฒˆํ˜ธ๋Š” ํ•„์ˆ˜ ํ•ญ๋ชฉ์ž…๋‹ˆ๋‹ค.")
@Pattern(regexp = "010\\d{8}", message = "010XXXXXXXX ํ˜•์‹์œผ๋กœ ์ž…๋ ฅํ•ด์ฃผ์„ธ์š”.")
String phone,

@Schema(description = "๋ณดํ˜ธ์ž์˜ ์•Œ๋ฆผ ์‹œ๊ฐ„", example = "18:00:00")
@NotNull(message = "์•Œ๋žŒ ์‹œ๊ฐ„์€ ํ•„์ˆ˜ ํ•ญ๋ชฉ์ž…๋‹ˆ๋‹ค.")
LocalTime alertTime
) {
}
39 changes: 39 additions & 0 deletions src/main/java/dbdr/exception/ApplicationError.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
package dbdr.exception;

import lombok.AllArgsConstructor;
import lombok.Getter;
import org.springframework.http.HttpStatus;

@AllArgsConstructor
@Getter
public enum ApplicationError {

//Auth
ROLE_NOT_FOUND(HttpStatus.NOT_FOUND, "ํ•ด๋‹น ์œ ์ €๊ฐ€ ROLE์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์Šต๋‹ˆ๋‹ค."),
ACCESS_NOT_ALLOWED(HttpStatus.FORBIDDEN, "์ ‘๊ทผ ๊ถŒํ•œ์ด ์—†์Šต๋‹ˆ๋‹ค."),

// Guardian (๋ณดํ˜ธ์ž)
GUARDIAN_NOT_FOUND(HttpStatus.NOT_FOUND, "ํ•ด๋‹น ๋ณดํ˜ธ์ž๋ฅผ ์ฐพ์„ ์ˆ˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค."),

// Careworker (์š”์–‘๋ณดํ˜ธ์‚ฌ)
CAREWORKER_NOT_FOUND(HttpStatus.NOT_FOUND, "ํ•ด๋‹น ์š”์–‘๋ณดํ˜ธ์‚ฌ๋ฅผ ์ฐพ์„ ์ˆ˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค."),

// Recipient (๋Œ๋ด„๋Œ€์ƒ์ž)
RECIPIENT_NOT_FOUND(HttpStatus.NOT_FOUND, "ํ•ด๋‹น ๋Œ๋ด„๋Œ€์ƒ์ž๋ฅผ ์ฐพ์„ ์ˆ˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค."),

// Institution (์š”์–‘์›)
INSTITUTION_NOT_FOUND(HttpStatus.NOT_FOUND, "ํ•ด๋‹น ์š”์–‘์›์„ ์ฐพ์„ ์ˆ˜๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค."),

// ๊ณตํ†ต
DUPLICATE_EMAIL(HttpStatus.CONFLICT, "์ด๋ฏธ ์กด์žฌํ•˜๋Š” ์ด๋ฉ”์ผ์ž…๋‹ˆ๋‹ค."),
DUPLICATE_PHONE(HttpStatus.CONFLICT, "์ด๋ฏธ ์กด์žฌํ•˜๋Š” ์ „ํ™”๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค."),
DUPLICATE_CARE_NUMBER(HttpStatus.CONFLICT, "์ด๋ฏธ ์กด์žฌํ•˜๋Š” ์žฅ๊ธฐ์š”์–‘๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค."),
DUPLICATE_INSTITUTION_NUMBER(HttpStatus.CONFLICT, "์ด๋ฏธ ์กด์žฌํ•˜๋Š” ์š”์–‘๊ธฐ๊ด€๋ฒˆํ˜ธ์ž…๋‹ˆ๋‹ค."),
INVALID_INPUT(HttpStatus.BAD_REQUEST, "์ž˜๋ชป๋œ ์ž…๋ ฅ๊ฐ’์ž…๋‹ˆ๋‹ค."),

// ์‹œ์Šคํ…œ
DATABASE_ERROR(HttpStatus.INTERNAL_SERVER_ERROR, "๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฒ˜๋ฆฌ ์ค‘ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.");

private final HttpStatus status;
private final String message;
}
58 changes: 58 additions & 0 deletions src/main/java/dbdr/security/info.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
# ์‹œํ๋ฆฌํ‹ฐ flow ์ •๋ฆฌ

## 1. ์‚ฌ์šฉ์ž ๋กœ๊ทธ์ธ ์‹œ๋„ ์‹œ

1. ์‚ฌ์šฉ์ž์˜ ๋กœ๊ทธ์ธ์€ SecurityConfig์—์„œ ```authorize.requestMatchers("/*/login/*").permitAll()``` ์— ์˜ํ•ด
์ปจํŠธ๋กค๋Ÿฌ๋กœ ์ธ์ฆ์—†์ด ํ†ต๊ณผํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

2. LoginController์—์„œ LoginService๋กœ ๋กœ๊ทธ์ธ ์‹œ๋„๋ฅผ ์œ„์ž„ํ•ฉ๋‹ˆ๋‹ค.

3. LoginService์—์„œ๋Š” UserDetails์„ ๊ตฌํ˜„ํ•œ BaseUserDetails ์š”์ฒญ์ž์˜ request์ •๋ณด๋ฅผ ์ด์šฉํ•ด ์ƒ์„ฑํ•˜๊ณ 
์ด๋ฅผ ์ด์šฉํ•ด UsernamePasswordAuthenticationToken์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

4. UsernamePasswordAuthenticationToken์€ ์Šคํ”„๋ง ์‹œํ๋ฆฌํ‹ฐ์—์„œ ์ œ๊ณตํ•˜๋Š” ์ธ์ฆ๊ฐ์ฒด๋กœ ์‚ฌ์šฉ์ž์˜ ์•„์ด๋””์™€ ๋น„๋ฐ€๋ฒˆํ˜ธ๋ฅผ ์บก์Šํ™”ํ•˜์—ฌ
AuthenticationManager์—๊ฒŒ ์ „๋‹ฌํ•ฉ๋‹ˆ๋‹ค.

5. AuthenticationManagerBuilder๋ฅผ ํ†ตํ•ด ์ƒ์„ฑ๋œ AuthenticationManager๋Š” ์ธ์ฆ์„ ์œ„์ž„๋ฐ›์€ ProviderManager์—๊ฒŒ
ํ•ด๋‹น ์ธ์ฆ์š”์ฒญ์„ ๋ณด๋‚ด๊ฒŒ ๋˜๋Š”๋ฐ, ์ด๋–„ ProviderManager๋Š” BaseAuthenticationProvider์—๊ฒŒ ์ธ์ฆ์„ ์œ„์ž„ํ•ฉ๋‹ˆ๋‹ค.

(์—ฌ๊ธฐ์„œ BaseAuthenticationProvider๋Š” AuthenticationProvider๋ฅผ ๊ตฌํ˜„ํ•œ ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค. SecurityConfig๋ฅผ ๋ณด๋ฉด ํ•ด๋‹น ๊ฐ์ฒด๋ฅผ
๋“ฑ๋กํ•˜๊ณ  ์žˆ๋Š” ๋ชจ์Šต ```http.authenticationProvider(baseAuthenticationProvider())```์„ ๋ณผ ์ˆ˜ ์žˆ์–ด์š”!!)

6. ๋”ฐ๋ผ์„œ ์‹ค์งˆ์ ์ธ ์ธ์ฆ์€ BaseAuthenticationProvider์—์„œ ์ด๋ฃจ์–ด์ง€๊ฒŒ ๋˜๋Š”๋ฐ, ์ด๋•Œ BaseAuthenticationProvider๋Š”
์ „๋‹ฌ๋ฐ›์€ ๊ฐ์ฒด๋ฅผ ์ด์šฉํ•ด์„œ ์‹ค์ œ DB๋ฅผ ์กฐํšŒ ํ›„ ์ธ์ฆ์„ ์ง„ํ–‰ํ•˜๊ณ  ์ธ์ฆ ์„ฑ๊ณต ์‹œ UsernamePasswordAuthenticationToken์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

7. ์ธ์ฆ์ด ์„ฑ๊ณตํ•˜๋ฉด, ๋‹ค์‹œ ์ปจํŠธ๋กค๋Ÿฌ๋กœ ๋„˜์–ด์™€์„œ JWT ํ† ํฐ์„ ์ƒ์„ฑํ•˜์—ฌ ํด๋ผ์ด์–ธํŠธ์—๊ฒŒ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

## 2. ์‚ฌ์šฉ์ž์˜ ๊ถŒํ•œํ™•์ธ

1. ์‚ฌ์šฉ์ž์˜ ๊ถŒํ•œํ™•์ธ์€ SecurityConfig์—์„œ ```http.anyRequest().authenticated();``` ์— ์˜ํ•ด ๋™์ž‘ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

2. ```.addFilterBefore(new JwtFilter(jwtProvider), UsernamePasswordAuthenticationFilter.class)``` ์— ์˜ํ•ด
JwtFilter๊ฐ€ UsernamePasswordAuthenticationFilter ์•ž์— ์œ„์น˜ํ•˜๊ฒŒ ๋˜์–ด, ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์ด ๋“ค์–ด์˜ค๋ฉด JwtFilter์—์„œ
JWT ํ† ํฐ์„ ํ™•์ธํ•˜๊ณ  ์ด๋ฅผ ์ด์šฉํ•ด์„œ ์‚ฌ์šฉ์ž๋ฅผ ํ™•์ธํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

3. ํ•ด๋‹น ํ•„ํ„ฐ์—์„œ๋Š” jwt ํ† ํฐ์„ ๋””์ฝ”๋”ฉํ•˜์—ฌ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ BaseUserDetailsService์— ๋„˜๊ฒจ ํ™•์ธํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

4. BaseUserDetailsService์—์„œ๋Š” ์‚ฌ์šฉ์ž์˜ ์ •๋ณด๋ฅผ ํ™œ์šฉํ•ด์„œ DB์— ์กฐํšŒ ํ›„ ์„ฑ๊ณตํ•œ๋‹ค๋ฉด
```private BaseUserDetails securityRegister(Long id, String username, String password, Role role)```
๋ฉ”์†Œ๋“œ์—์„œ securityContextHolder์— ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ๋“ฑ๋กํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

---
## 3. ์™œ Why? jwt?

์ œ๊ฐ€ ์•Œ๊ธฐ๋กœ๋Š” session ๋ฐฉ์‹์—์„œ๋Š” ์ฒ˜์Œ ๋กœ๊ทธ์ธ ์‹œ์—๋Š” ์„ธ์…˜์— ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๊ณ ,
์ดํ›„ ์š”์ฒญ ์‹œ ์„ธ์…˜์„ ํ™•์ธํ•˜์—ฌ ์‚ฌ์šฉ์ž๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐฉ์‹์ธ ๊ฒƒ์œผ๋กœ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํŠน์ •ํ•œ ์‚ฌ์šฉ์ž๊ฐ€ ๋กœ๊ทธ์ธ ์ดํ›„ ์š”์ฒญ์„ ํ•  ๋•Œ, SeucirtyContextHolder์— ์‚ฌ์šฉ์ž ์ •๋ณด๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์—
์ด๋ฅผ ๋น„๊ตํ•˜๋Š” ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰๋˜๋ฉฐ, ์ด๋•Œ๋Š” ์ธ์ฆ ์ •๋ณด๋ฅผ ์„œ๋ฒ„์—์„œ ๊ด€๋ฆฌํ•˜๊ณ  ์„ธ์…˜ ์ฟ ํ‚ค๋ฅผ ์ด์šฉํ•ด์„œ ํด๋ผ์ด์–ธํŠธ์™€ ์ƒํ˜ธ์ž‘์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

ํ•˜์ง€๋งŒ ์„ธ์…˜ ์ธ์ฆ์— ๋ฆฌ์†Œ์Šค ์†Œ๋น„๊ฐ€ ์‹ฌํ•˜๋‹ค๋Š” ๋‹จ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
๋˜ํ•œ ์„œ๋ฒ„ ํ™•์žฅ์„ฑ์„ ๋–จ์–ด๋œจ๋ฆฌ๊ฒŒ ๋˜๋Š”๋ฐ, ์ €ํฌ ์„œ๋น„์Šค ํŠน์„ฑ ์ƒ

1. ์š”์–‘๋ณดํ˜ธ์‚ฌ์˜ ์ฐจํŠธ ์ž…๋ ฅ ๋“ฑ์€ ๋น„์ •๊ธฐ์ ์œผ๋กœ ํŠน์ • ์‹œ๊ฐ„์— ๋ชฐ๋ ค์„œ ๋ฐœ์ƒํ•  ํ™•๋ฅ ์ด ๋†’๊ณ 
2. ์•Œ๋ฆผ์„œ๋น„์Šค ๋“ฑ๋„ ์ด์™€ ๊ฐ™์ด ๋Œ€๋ถ€๋ถ„์˜ ์‚ฌ์šฉ์ž๊ฐ€ Default ์„ค์ •์„ ์‚ฌ์šฉํ•  ํ™•๋ฅ ์ด ๋†’์•„ ํŠน์ • ์‹œ๊ฐ„์— ๋ชฐ๋ฆด ๊ฒƒ์ด๋ผ ์˜ˆ์ƒ๋ฉ๋‹ˆ๋‹ค.

์ฆ‰, ํŠน์ • ์‹œ๊ฐ„์—๋งŒ ํŠธ๋ž˜ํ”ฝ์ด ์ฆ๊ฐ€ํ•  ๊ฒƒ์œผ๋กœ ์ถ”์ธก๋˜๋ฉฐ, ์ด๋•Œ Scale-out ์ „๋žต์„ ์ทจํ•  ํ™•๋ฅ ์ด ๋†’๊ณ ,
statelessํ•œ ์„œ๋ฒ„๋ฅผ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•˜๋‹ค๊ณ  ํŒ๋‹จ๋˜์–ด ์„ธ์…˜ ๋ฐฉ์‹์€ ์ ํ•ฉํ•˜์ง€ ์•Š๋‹ค๊ณ  ํŒ๋‹จํ•˜์˜€์Šต๋‹ˆ๋‹ค.
๋”ฐ๋ผ์„œ JWT ๋ฐฉ์‹์„ ์„ ํƒํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
15 changes: 15 additions & 0 deletions src/test/java/dbdr/testhelper/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# ํ…Œ์ŠคํŠธ ํ—ฌํผ ์‚ฌ์šฉ๋ฒ•

ํ…Œ์ŠคํŠธ ํ—ฌํผ๋Š” ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ž‘์„ฑ ์‹œ E2E ํ…Œ์ŠคํŠธ ์ž‘์„ฑ์„ ๋•๊ณ , ๊ธฐ๋ณธ์ ์ธ ๋„๋ฉ”์ธ๋“ค์„ DB์— ๋“ฑ๋ก์‹œํ‚ฌ ๋•Œ ํ•„์š”ํ•œ
์ˆœ์„œ์— ๋Œ€ํ•œ ๋ณด์žฅ์„ ๋•๊ธฐ ์œ„ํ•ด ์ž‘์„ฑ๋œ ํด๋ž˜์Šค์ž…๋‹ˆ๋‹ค.

## ์‚ฌ์šฉ๋ฒ•

"TestHelperFactory" ๋ฅผ ํ†ตํ•ด์„œ TestHelper๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

TestHelper๋Š” RestClient๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด์žˆ์œผ๋ฉฐ Entity ๊ฐ์ฒด๋ฅผ ํ†ตํ•ด์„œ ๋กœ๊ทธ์ธ ์‹œ Header์— ํ•„์š”ํ•œ ์ •๋ณด๋ฅผ
์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•ด์ค๋‹ˆ๋‹ค.

์ฒ˜์Œ TestHelperFactory์—์„œ ํ…Œ์ŠคํŠธ ์‹œ ํ•„์š”ํ•œ ์—”ํ‹ฐํ‹ฐ๋“ค์„ ๋“ฑ๋ก์‹œ์ผœ์ฃผ๋ฉด, ์—”ํ‹ฐํ‹ฐ ์ƒ์„ฑ ์ˆœ์„œ๋ฅผ ๊ณ ๋ฏผํ•  ํ•„์š”์—†์ด ํ•ด๋‹น ๋ถ€๋ถ„์„ ์ž๋™์œผ๋กœ
์ฒ˜๋ฆฌํ•ด์ฃผ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

0 comments on commit 30e6af3

Please sign in to comment.