Releases: tipi-tapi/ai-paint-today-BE
Release 1.3.1
๊ตฌํ ๋ด์ฉ
#314 ํ๋กฌํํธ ์์ฑ์ ์ํด ํธ์ถํ๋ gpt response์ content ๊ธธ์ด 150์ ์ดํ๋ก clamping
- ํ๋กฌํํธ ์์ฑ์ ์ํ gpt api response๋ก ํ๋กฌํํธ๋ฅผ ๋ง๋ค ๋, 150๊ธ์ ์ดํ๋ก clamping
- gpt response๋ clampingํ์ง ์๊ณ ๊ทธ๋๋ก ์ ์ฅ
#315 ์ด๋ฏธ์ง ํ๊ฐ์ review ๊ฐ clamping ์์
- review ๊ฐ์ด ์ซ์๊ฐ ์๋๊ฑฐ๋ ์์ผ๋ฉด ์์ธ ๋ฐํ
- ์ซ์ ๊ฐ์ด 1๋ณด๋ค ์์ผ๋ฉด 1๋ก ๋ณํ
- ์ซ์ ๊ฐ์ด 5๋ณด๋ค ํฌ๋ฉด 5๋ก ๋ณํ
๊ด๋ จ ์ด์
Release 1.3.0
#290 ๋ฌด์ค๋จ ๋ฐฐํฌ ๋์
- cd์ ํ๊ฒฝ๋ณ์ ์ฃผ์ ๋ฐฉ์ ๋ณ๊ฒฝ
- ํ๋กํ ํ์ธ์ ์ํ api ์์ฑ
- ๊ฐ๋ฐ ํ๊ฒฝ์ develop -> local๋ก ๋ณ๊ฒฝ
#291 ์ ํ ์์ ๋ก๊ทธ์ธ ํ์ํํด ์คํจ
- businessException์ message๋ฅผ ์ถ๊ฐํ๋๋ก ๋ณ๊ฒฝ(์๋ฌ ๋ก๊ทธ์ null๊ฐ์ด ๋จ๊ธฐ ๋๋ฌธ)
- ์ ํ ์์ ๋ก๊ทธ์ธ์ ์ด๋ฉ์ผ์ ๋ชป ๋ฐ์ผ๋ฉด ์๋ฌ๋ฅผ ๋์ง๋๋ก ์์
[#293 ํ๋กฌํํธ ์์ฑ์ ์ํ GPT API ํธ์ถ์ ๋ฐฑ๋จ์ผ๋ก ๋ณ๊ฒฝ] [#294 db ํ ์ด๋ธ ๊ตฌ์กฐ ๋ณ๊ฒฝ]
#304 ์ผ๊ธฐ ์์ฑ์ ๋ฐฑ๋จ์์ GPT ํธ์ถํ๋๋ก ๋ณ๊ฒฝ ๋ฐ GPT request, response๋ฅผ db์ ์ ์ฅ
- ์ผ๊ธฐ ์์ฑ API translatedNotes ํ๋ผ๋ฏธํฐ ์ถ๊ฐ
- ๋ง์ฝ translatedNotes์ ๊ฐ์ด ์๋ค๋ฉด ์ด์ ๋ฒ์ ์ผ๋ก ๊ฐ์ฃผํ๊ณ keyword ํ๋ผ๋ฏธํฐ ๊ฐ์ผ๋ก ๋ฐฑ๋จ GPT ํธ์ถ ์์ด ํ๋กฌํํธ ์์ฑ
- prompt ํ ์ด๋ธ์ promptGeneratorType, promptGeneratorContent ์ปฌ๋ผ ์ถ๊ฐ
- karlo request์ prompt๊ฐ 2048์๊ฐ ๋์ด๊ฐ๋ฉด ๋ค๋ฅผ ์๋ฅด๋๋ก ๋ณ๊ฒฝ
#306 ์ผ๊ธฐ ์ฌ์์ฑ์ ๊ธฐ์กด GPT ์์ฒญ ์ ๋ณด๋ฅผ ํฌํจํ๋๋ก ๋ณ๊ฒฝ
- ์ผ๊ธฐ ์ฌ์์ฑ์ ๊ธฐ์กด gpt ํ์คํ ๋ฆฌ๊ฐ ์๋ค๋ฉด gpt ํ์คํ ๋ฆฌ ์์ด gpt ํธ์ถํ๋๋ก ๊ตฌํ
- ์ผ๊ธฐ ์ฌ์์ฑ์ ๊ธฐ์กด gpt ํ์คํ ๋ฆฌ๊ฐ ์๋ค๋ฉด gpt history + gpt regenerate prompt(ํ์'s prompt) + ๋ฒ์ญ๋ ์ผ๊ธฐ๋ก ํธ์ถํ๋๋ก ๊ตฌํ
#307 ์ผ๊ธฐ ํ๋กฌํํธ ์์ฑ์ ์ํด ํธ์ถํ GPT History๋ฅผ ๋ชจ๋ ์ผ๊ธฐ๊ฐ ๊ฐ๋๋ก ๋ณ๊ฒฝ
- GPT Generator Content ์ถ๊ฐ API[admin/add-gpt-generator-content] ์์ฑ
- ๋ช ์์ transaction ์ฃผ์ ์ ์ํ TransactionTemplate ์์ฑ
#310 ํ๋กฌํํธ ์์ฑ์ ์ํด ํธ์ถํ๋ gpt api์ ํ๋ผ๋ฏธํฐ ์ถ๊ฐ ๋ฐ ๋ฌธ์์ด ์ฒ๋ฆฌ ์์
- gpt api ํ๋ผ๋ฏธํฐ ์ถ๊ฐ
- gpt api ์๋ต๊ฐ clamping
Release 1.3.2
Release 1.2.3
#283 ๋ก๊ทธ&๋ชจ๋ํฐ๋ง ์์คํ ๋๋ฒจ๋กญ
- ControllerAdvice์์ ์๋ฌ ํ์ ์ ๋ฐ๋ฅธ ๋ก๊ทธ ๋ ๋ฒจ ์กฐ์
- profile์ด test, prod์ธ ํ๊ฒฝ์์ ๋ก๊ทธ๋ฅผ JSON ํ์์ผ๋ก ์ถ๋ ฅํ๋๋ก ๋ณ๊ฒฝ
#285 R2 ์ปค์คํ ๋๋ฉ์ธ ๋ง๋ฃ
- R2 custom domain์ด ๊ณง ๋ง๋ฃ๋์ด ๊ต์ฒด
- R2 custom domain ํ๊ฒฝ๋ณ์ actions secret ๋ฑ๋ก
What's Changed
- ๊ฐ์ ๋ชฉ๋ก ์กฐํ์ ์์ด๋ก ์๋ต ํต์ผ by @akalswl14 in #279
- ํ๋กฌํํธ ํ๊ฒฝ๋ณ์ํ ๋ฐ ๋ค๊ฑฐํฐ๋ธ ํ๋กฌํํธ ์ถ๊ฐ by @choihuk in #277
- ์ผ๊ธฐ ์กฐํ API์ ์๋ต์ ์์ด๋ก ํต์ผ by @akalswl14 in #281
- Release 1.2.2 by @choihuk in #282
- ๋ก๊ทธ&๋ชจ๋ํฐ๋ง ์์คํ ๋๋ฒจ๋กญ by @choihuk in #284
- R2 ์ปค์คํ ๋๋ฉ์ธ ๋ณ๊ฒฝ by @choihuk in #286
- jackson-databind์ ๋ค๋ฅธ ์์กด์ฑ๊ฐ ๋ฒ์ ์ถฉ๋ ๋ฌธ์ ๋ฐ ์ ํ ์์ ํํด ๋ฌธ์ ํด๊ฒฐ by @choihuk in #288
- jackson-databind์ ๋ค๋ฅธ ์์กด์ฑ๊ฐ ๋ฒ์ ์ถฉ๋ ๋ฌธ์ ๋ฐ ์ ํ ์์ ํํด ๋ฌธ์ ํด๊ฒฐ by @choihuk in #289
Full Changelog: 1.2.1...1.2.3
Release 1.2.1
#264 ํ ์คํธ ์ผ๊ธฐ ์์ฑ API ๊ตฌํ
- [ POST /diary ]: test ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ ์ญ์ (๊ธฐ์กด์ ํ ์คํธ ์ผ๊ธฐ ์์ฑ ๋ก์ง ์ญ์ )
- [ POST /diary/test ]: ํ
์คํธ ์ผ๊ธฐ ์์ฑ API ๊ตฌํ
- TestDiaryController ์์ฑ(prod ํ๋กํ์ด ์๋ ๊ฒฝ์ฐ ํ์ฑํ)
- ํ ์คํธ ์ผ๊ธฐ ์์ฑ ์ ํ๋ผ๋ฏธํฐ ์ถ๊ฐ(prompt, negativePrompt, samples, priorNumInferenceSteps, priorGuidanceScale, seed)
#266 ํ ์คํธ ์ผ๊ธฐ API ํ ์คํธ์ฝ๋ ์์ฑ
#269 [๊ด๋ฆฌ์ ์ผ๊ธฐ ์กฐํ API] ํ ์คํธ ์ผ๊ธฐ๊ฐ ๋ฐํ๋๋๋ก ๊ฐ์
#271 [๊ฐ์ ๋ชฉ๋ก ์กฐํ API] ์๊น ํ๋กฌํํธ ๊ฐ ํ๋ ์ถ๊ฐ
- GetActiveEmotionsResponse Response DTO ๊ฐ์ฒด์ ํ๋ ์ถ๊ฐ
#273 ํ๋กฌํํธ ๊ฐ์ ์์ ์๋ฒ์ ๋ฐ์
๋ณ๊ฒฝ์ฌํญ
- prompt :
๊ฐ์ , ์์, Impressionist oil painting, ์ผ๊ธฐ
- negative :
photo, picture, camera, realistic, filim, movie, real, high quality, Scary, cruel, gross, sensational, solid color, not cute
- ์ธ๋ฐํจ(num_inference_steps) =
100
- ์ธ๋ถ ์์ฑ๋(guidance_scale) =
20
Release 1.2.0
#230 ์ ์ ๊ทธ๋ฆผ ํ๊ฐ(1~5 ์ฌ์ด์ ์ซ์๊ฐ) ๊ตฌํ
- Diary review ์ปฌ๋ผ ์ญ์
- Image review ์ปฌ๋ผ ์์ฑ(1~5 ์ฌ์ด์ String๊ฐ)
#232 ์ด๋ฏธ์ง ์ฌ์์ฑ ๊ตฌํ
์ ์ ํ๋ก์ฐ: ์ผ๊ธฐ ์์ธํ์ด์ง์์ ๋ค์ ๊ทธ๋ฆฌ๊ธฐ ๋ฒํผ ํด๋ฆญ -> (๋ง์ฝ ํฐ์ผ์ด ์๋ค๋ฉด ๊ด๊ณ ๋ฅผ ๋์ฐ๊ณ ) ad reward api ํธ์ถ -> regenerate api ํธ์ถ -> ์ผ๊ธฐ ์กฐํ api ํธ์ถ
- [POST] diary/{id}/regenerate: ์ผ๊ธฐ ์ด๋ฏธ์ง ์ฌ์์ฑ API ์ถ๊ฐ
- ์ผ๊ธฐ ์ด๋ฏธ์ง๋ ์ด์ ์ ์์ฑํ prompt(is_success๊ฐ true์ธ)๋ก ์ฌ์์ฑ
- ์ผ๊ธฐ ์ด๋ฏธ์ง๋ฅผ ์ฌ์์ฑํ๋ฉด ์ฌ์์ฑํ ์ด๋ฏธ์ง๋ฅผ ๋ํ ์ด๋ฏธ์ง๋ก ์ ํ๋๋๋ก ๋ก์ง ์ถ๊ฐ
- [GET] diary/{id}: ์ผ๊ธฐ ์กฐํ API ์์
- ๊ธฐ์กด ๋ก์ง: ์ด๋ฏธ์ง url ํ ๊ฐ ๋ฐํ
- ๋ณ๊ฒฝ๋ ๋ก์ง: isSelected == true์ธ ์ด๋ฏธ์ง url ํ ๊ฐ ๋ฐํ + ์ ์ฒด ์ด๋ฏธ์ง ๋ฆฌ์คํธ ๋ฐํ(์ต์ ์ ์ ๋ ฌ)
#238 Image Generator๋ฅผ Dalle -> Karlo ๊ต์ฒด
- generator ํจํค์ง ๋ด๋ถ์ DallE, Karlo ๋๋ฉ์ธ์ ์ถ๊ฐํ์ฌ Image Generator ์ถ์ํ
- application-kakao ํ์ผ ์ถ๊ฐ
- ImageGeneratorException๋ก ImageGenerator ์์ธ ์ถ์ํ ๋ฐ ErrorCode ํ๋ ์ถ๊ฐ
#247 ์ด๋ฏธ์ง ๊ฐ์ ์ ์ํ ํ๋กฌํํธ ๋ณ๊ฒฝ(emotions -> portrait)
#250 ImageRepository QueryDSL ์ ์ฉ์ ๋ฐ๋ฅธ ์ด๊ด
- ์ด๋ฏธ์ง ๋ ํฌ์งํ ๋ฆฌ ๋ฉ์๋์ deletedAt = null ๋ฐ์
- ๋ถํ์ํ ๋ ํฌ์งํ ๋ฆฌ ๋ฉ์๋ ๋ฐ ์๋น์ค ๋ฉ์๋ ์ญ์
#251 ์ด๋ฏธ์ง ์ญ์ API ์ถ๊ฐ ๋ฐ ์ผ๊ธฐ ์กฐํ API ์์
- [DELETE] /image/{id} : ์ด๋ฏธ์ง ์ญ์ API ์ถ๊ฐ
- SoftDelete๋ก ์ด๋ฏธ์ง ์ญ์ ์ฒ๋ฆฌ
- deleted_at ์ปฌ๋ผ ์ถ๊ฐ ํ์
- queryDSL ๊ธฐ๋ฐ Image Repository ์์ฑ
- [GET] /diary/{id} : ์ผ๊ธฐ ์กฐํ API ์์
- ์ญ์ ๋ ์ด๋ฏธ์ง๋ ์ด๋ฏธ์ง ๋ชฉ๋ก์์ ์ ์ธํ๋ Repository ๋ฉ์๋ ์ฌ์ฉ
- GetImageResponse ํด๋์ค์ ์ด๋ฏธ์ง ID ํ๋ ์ถ๊ฐ
#252 [์๋ณ ์ผ๊ธฐ ๋ฐํ API] ๋ํ ์ด๋ฏธ์ง๊ฐ ๋ฐํ๋์ง ์๋ ๋ฌธ์
- queryDSL + DTO projection์ผ๋ก ์๋ณ ์ผ๊ธฐ ๋ชฉ๋ก ์กฐํํ๋๋ก ๋ณ๊ฒฝ
#254 [์ด๋๋ฏผ ์ผ๊ธฐ ๋ชฉ๋ก API] ์ด๋ฏธ์ง ๋จ์๋ก ๋ณ๊ฒฝ, ์ ์ ํ๊ฐ ์ถ๊ฐ
- [GET] /admin/diaries ๊ด๋ฆฌ์ ์ผ๊ธฐ ๋ชฉ๋ก ์กฐํ API : ์ด๋ฏธ์ง ํ๊ฐ, ์ด๋ฏธ์ง ์์ฑ ์๊ฐ ํ๋ ์ถ๊ฐ
- GetAdminDiaryResponse ์ ์ด๋ฏธ์ง ํ๊ฐ review, ์ด๋ฏธ์ง ์์ฑ ์๊ฐ imageCreatedAt ํ๋ ์ถ๊ฐ
#255 ๋ํ ์ด๋ฏธ์ง ์ค์ API ์ถ๊ฐ
- [PUT] /image/{id} ๋ํ ์ด๋ฏธ์ง ์ค์ API ์ถ๊ฐ
- ValidateImageService์ validateImageById๊ฐ ํธ์ถํ๋ Repository ๋ฉ์๋ ๊ต์ฒด
#258 [์๋ณ ์ผ๊ธฐ ๋ชฉ๋ก API] ๋ํ ์ด๋ฏธ์ง๊ฐ ์์ ๊ฒฝ์ฐ ๋ถ๊ธฐ ์ฒ๋ฆฌ
-
์๋ณ ์ผ๊ธฐ ๋ชฉ๋ก ์กฐํ API ํธ์ถ
(์ดํ ๊ฒ์ฆ ๋ฐ ํ ๋ฌ ๊ฐ์ ์ผ๊ธฐ ์กฐํ ๋ก์ง ๋์) -
ํ ๋ฌ ๊ฐ์ ์ผ๊ธฐ๋ค์ ์ํํ๋ฉด์ ๋ํ ์ด๋ฏธ์ง ์กฐํ
-
(์ํ ์ค) ๋ํ ์ด๋ฏธ์ง๊ฐ ์์ ๊ฒฝ์ฐ ๊ฐ์ฅ ์ต์ ์ด๋ฏธ์ง ์กฐํ
4-1. (์ด๋ฏธ์ง๊ฐ ์์ ๊ฒฝ์ฐ) ํด๋น ์ด๋ฏธ์ง๋ฅผ ๋ํ ์ด๋ฏธ์ง๋ก ์ค์
4-2. (์ด๋ฏธ์ง๊ฐ ์์ ๊ฒฝ์ฐ) ํด๋น ์ผ๊ธฐ๋ ์๋ณ ์ผ๊ธฐ ๋ชฉ๋ก์์ ์ ์ธ (์ข
๋ฃ)
-
๋ํ ์ด๋ฏธ์ง๋ก ์ค์ ํ ์ด๋ฏธ์ง ๋ฐํ
-
ํ ๋ฌ ๊ฐ์ ์ผ๊ธฐ๋ค ๋ฐํ
#261 Karlo API๋ก ๋ฐํ๋ฐ๋ ์ด๋ฏธ์ง ํ์ผ ํ์ ๋ณ๊ฒฝ
- karlo ์ด๋ฏธ์ง ํ์ผ ํ์ฅ์ ๋ณ๊ฒฝ(png -> webp)
Release 1.1.4
#214 OAuthService ๋ฆฌํฉํ ๋ง
- auth ๋๋ฉ์ธ ์๋น์ค๋จ ๋ฆฌํฉํ ๋ง
- #132
- User ์ํฐํฐ email ํ๋ NotNull ์ถ๊ฐ
#207 ํ ์คํธ ์ฝ๋ ์์ฑ
- #208
- User ์ํฐํฐ ์์ฑ์ ๋ฐ ํฉํ ๋ฆฌ ๋ฉ์๋ ์ ๋ฆฌ
- User ์ํฐํฐ email ํ๋ notnull ๋์ ์ผ๋ก ์ธํด ์คํจํ๋ ํ ์คํธ์ฝ๋ ์์ (ํ ์คํธ sql๋ฌธ ์์ )
- auth ๋๋ฉ์ธ ์๋น์ค๋จ ํ ์คํธ์ฝ๋ ์์ฑ
- #226
- dalle rest ์์ฒญ ๋ถ๋ฆฌ(DallERequestService ์ถ๊ฐ)
- dalle ๋๋ฉ์ธ ์๋น์ค๋จ ํ ์คํธ์ฝ๋ ์ถ๊ฐ
- dalle ์ ์ฑ ์๋ฐ ์๋ฌ๊ฐ ์๋ต๋๋ค๋ฉด null์ด ์๋ ์์ธ๋ฅผ ๋ฐํํ๋๋ก ๋ณ๊ฒฝ
#219 ๋ ๋์ค ๋์ ๊ฒํ -> caffeine ๋์
- spring-boot-starter-cache, caffeine ์์กด์ฑ ์ถ๊ฐ
- CaffeineCache ์ค์ ์ถ๊ฐ
- ๋ชจ๋ ๊ฐ์ ์กฐํ์ dto ์บ์ฑ(lan ๊ฐ์ ๋ฐ๋ผ ๋ค๋ฅธ ๊ณณ์ ์ ์ฅ), ๊ฐ์ ์ถ๊ฐ์ ์บ์ฑ๋ dto๋ค ์ญ์
- ๋ ธ์ ์ ๋ฆฌ
๊ฒฐ๊ณผ: ํ๊ท ์๊ฐ ์ธก์ ๊ฒฐ๊ณผ ์บ์ฑ ๊ธฐ๋ฅ ๋์ ์ผ๋ก 130ms์ ๋ ๊ฑธ๋ฆฌ๋ ์์ฒญ์ 50ms์ ๋๋ก ์ค์ผ ์ ์์์ต๋๋ค.
#221 ๊ฐ์ ๋ชฉ๋ก ์กฐํ API์ lan ์ฟผ๋ฆฌ ํ๋ผ๋ฏธํฐ๋ฅผ ENUM์ผ๋ก ์ฒ๋ฆฌ
- ๊ฐ์ ๋ชฉ๋ก ์กฐํ API Language enum ์ ์ฉ
#222 ํ ์คํธ ํ์ผ์ domain ํจํค์ง๋ก ์ด๋
ํ์๊ฐ์ ์ ๋ฌด๋ฃ ์ผ๊ธฐ์์ฑ ํฐ์ผ 7๊ฐ ->1๊ฐ๋ง ๋ฐ๊ธํ๋๋ก ๋ณ๊ฒฝ
Release 1.1.2
#199 S3 ๋ก์ง ์ ๊ฑฐ, R2๋ก์ ์์ ํ ๋ง์ด๊ทธ๋ ์ด์
- ๊ธฐ์กด ๋ฐ์ดํฐ๋ฅผ ๋ชจ๋ ์ด๊ด ์๋ฃํจ์ ๋ฐ๋ผ, S3์ R2 ๋ ๋ค ์ ๋ก๋ํ์ง ์๋๋ก ์์ ํด์ผํ๋ฏ๋ก, S3๋ก ์ ๋ก๋ํ๋ ๋ก์ง ์ ๊ฑฐ ( R2 ๋ก๋ง ์ด๋ฏธ์ง ์ ๋ก๋ )
- Share์ฉ Presigned URL ๋ฐ๊ธ ๋ก์ง์ R2 ๊ธฐ๋ฐ์ผ๋ก ์ฒ๋ฆฌํ๋๋ก ์์ ( S3 ๊ธฐ๋ฐ ์ฒ๋ฆฌ ๋ก์ง ์ ๊ฑฐ )
- S3 ์ค์ ๊ฐ ์ ๊ฑฐ
- ๊ธฐํ ํ ์คํธ ์ฝ๋ ์์
Release 1.1.1
#194 S3 -> R2 ๋ง์ด๊ทธ๋ ์ด์
- R2 ๋ก์ ์ด๋ฏธ์ง ์ ๋ก๋ ๋ก์ง ์ถ๊ฐ
- S3/R2์ ์ ์ฅํ๋ ์ด๋ฏธ์ง ๊ฒฝ๋ก์ ํ๋กํ ์ถ๊ฐ
Release 1.1.0
#143 ๋ชจ๋ํฐ๋ง ํด ๋์
- ํ๋ก๋ฉํ ์ฐ์ค, ๊ทธ๋ผํ๋ ๋์ด ec2 ์๋ฒ ์ถ๊ฐ
- ํ ์คํธ ์๋ฒ ์ธ๋ฐ์ด๋ ๊ท์น์ actuator ํฌํธ ์ถ๊ฐ
- ํ ์คํธ ์๋ฒ์ node exporter ์ถ๊ฐ
#159 ๊ด๋ฆฌ์์ฉ ์ผ๊ธฐ ๋ชฉ๋ก ์กฐํ์, ๊ฐ์ ๊ฐ ํํฐ๋ง ๊ธฐ๋ฅ ์ถ๊ฐ
- queryDSL ๋์
- Repository ํ ์คํธ ํด๋์ค์ queryDSL ์์กด์ฑ ์ถ๊ฐ
- [GET] /admin/diaries ๊ด๋ฆฌ์์ฉ ์ผ๊ธฐ ๋ชฉ๋ก ์กฐํ API
- queryDSL ๊ธฐ๋ฐ์ DiaryRepository์ธ DiaryQueryRepository ์ธํฐํ์ด์ค์ ๊ทธ ๊ตฌํ ํด๋์ค DiaryQueryRepositoryImpl ์ถ๊ฐ
- ๊ด๋ฆฌ์์ฉ ์ผ๊ธฐ ๋ชฉ๋ก ์กฐํ ๋ฉ์๋๋ฅผ queryDSL๊ธฐ๋ฐ์ผ๋ก ๊ต์ฒด
#177 ์ผ๊ธฐ ์์ฑ์, ์ผ๊ธฐ์ ๋ ์ง ์ค๋ณต ์ฌ๋ถ ๊ฒ์ฆ
- [POST] /diary ์ผ๊ธฐ ์์ฑ API - ์ฃผ์ด์ง ๋ ์ง๋ก ์์ฑ๋ ์ผ๊ธฐ๊ฐ ์๋์ง ๊ฒ์ฆ ์ถ๊ฐ
- [GET] /diary/calendar/date ํน์ ๋ ์ง ์ผ๊ธฐ ์กด์ฌ ์ฌ๋ถ ์กฐํ API - getDiaryExistsByDiaryDate ๋ ํฌ์งํ ๋ฆฌ ๋ฉ์๋๋ฅผ ์ฌ์ฉํ๋๋ก ๋ณ๊ฒฝ
#178 ํฐ์ผ ์ ๋ ๋์
-
- Ticket ์ํฐํฐ ์ถ๊ฐ
- TicketType Enum ์ถ๊ฐ
- [POST] /oauth2/google/login, [POST] /oauth2/apple/login : ๊ตฌ๊ธ ๋ก๊ทธ์ธ / ์ ํ ๋ก๊ทธ์ธ ์ ํฐ์ผ 7๊ฐ ๋ฑ๋ก
-
- [POST] /ad ๊ด๊ณ ๊ธฐ๋ก ์์ฑ API : ๊ด๊ณ ์์ฒญ ํ ํฐ์ผ 1์ฅ ๋ถ์ฌ ๊ธฐ๋ฅ ์ถ๊ฐ
-
- CreateDiaryRequest DTO์ userTime(์์ฒญํ๋ ์ ์ ๋ก์ปฌ ์๊ฐ) ์ถ๊ฐ
- GlobalExceptionHandler์์ HttpMessageNotReadableException์ ์ก์ ์ปค์คํ ๋ฉ์์ง๋ฅผ ๋ฐํํ๋๋ก ์ถ๊ฐ
-
- [GET] /diary/limit ์ผ๊ธฐ ์์ฑ ๊ฐ๋ฅ ์ฌ๋ถ ์กฐํ API : ๊ด๊ณ ๊ฐ ์๋, ํฐ์ผ ๊ธฐ๋ฐ์ผ๋ก ์ผ๊ธฐ ์์ฑ ์ ํ์ ๊ฒ์ฆํ๋๋ก ์์
-
- [POST] /diary ์ผ๊ธฐ ์์ฑ API : ์ผ๊ธฐ ์์ฑ ์ ์ฝ ๊ฒ์ฆ์, ๊ด๊ณ ๋ฆฌ์๋๊ฐ ์๋ ํฐ์ผ์ ๊ฒ์ฆํ์ฌ ์ฌ์ฉํ๋๋ก ๊ฐ์