-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Origin/null 311 divide user db #29
Origin/null 311 divide user db #29
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์ผ๋จ ์น์ธ์ ํ์ง๋ง comment์ ๋ต๋ณ ๊ผญ ๋ฌ์์ฃผ์ธ์! ๋ต์ด ๊ถ๊ธํฉ๋๋ค.
) { | ||
ChildMemosTagsResponse childMemosTagsResponse = memoTagService.getChildMemosTags( | ||
parentTagId, | ||
parentTagName, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ํ๊ทธ ์ด๋ฆ์ผ๋ก ํด๋ ๋๋์? ์ ํฌ ์ ์๋ ํ๊ทธ ์ค๋ณต์ด(๊ฐ์ ๋จ๊ณ๊ฐ ์๋) ์์ ์ ์์ด์ name์ผ๋ก ์ ํ๋ ๊ฑธ๋ก ์๊ณ ์์๋๋ฐ, ์ด๋ฌ๋ฉด ์ถฉ๋ ์ ๋๋์?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
๊ทธ๋์ ํด๋น๋ถ๋ถ์ ai๋จ๊ณผ ์์ํด๋ณด๊ณ ์์ ๋ ์์ ์ ๋๋ค. ํ์ฌ๋ ๋ค๋ฅธ ๋ธ๋์น์ ์ฌ๋ผ๊ฐ๊ณ , develop์ ์ฌ๋ผ๊ฐ๋๋ ์์ ๋ ์ํ๋ก ์ฌ๋ผ๊ฐ ๊ฒ ์ ๋๋ค.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
์ด๊ฑฐ๋ ์ ๊ฐ ์ ์ ๋ณ๋ก๋ ์ด๋ฆ์ ์ค๋ณต์ด ์์์ ๋ณด์ฅํด ๋๋ฆฌ๊ฒ ์ฌ์ต๋๋ค..
public Tag getTagByName(String parentTagName, String userId) { | ||
return tagRepository.findByNameAndUserId(parentTagName, userId) | ||
.orElseThrow(() -> new TagNotFoundException("ํ๊ทธ๋ฅผ ์ฐพ์ง ๋ชปํ์ต๋๋ค: " + parentTagName)); | ||
} | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
name์ผ๋ก ๊ฐ์ ธ์ค๋๊ฑฐ๋ฉด ๋์ค์ ์ํด ์ธ๋ฑ์ฑ์ ํ์ ์ผ๋ ๊ฑฐ์์. ์ฟผ๋ฆฌ์ ์ธ๋ฑ์ค๋ฅผ ์ด๋ค๊ณ ๋ช ์๋ฅผ ํด์ผ๋ ๊ฒ๋๋ค.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
๊ทธ๊ฑด ๋ชฐ๋๋ค์.
ํ๊ทธ ์ด๋ฆ์ด ์ ๋ํฌํ๊ฒ ํ์ค์๋์ง์์ผ๋ฉด id๋ก ํ์ง์์๊น๋ ์ถ์ต๋๋ค.
๋ง์ํด์ฃผ์ ๋๋ก tagId๋ฅผ userId๋ก ๋๊ฑฐ๋, name๊ณผ userId๋ก ๊ฒ์ํ๊ฑฐ๋, api๋ฅผ ๋ถ๋ฆฌํ๊ฑฐ๋ ํ ๊ฒ๊ฐ์ต๋๋ค. ๋ค์ ์ค๋ฅ ์ ๊ฑฐ pr์์ ์ ์ฉํด๋ณด๊ณ ๋ง์๋๋ฆฌ๊ฒ ์ต๋๋ค.
* refactor: controller๋ณ๊ฒฝ * refactor: api doc ๋ณ๊ฒฝ * feat: dto ์์ฑ ๋ฐ ์์ * chore: ๋๋ ํ ๋ฆฌ๋ช ๋ณ๊ฒฝ * refactor: ์๋น์ค ์ฝ๋ ์์ 1 * chore: model ์์ฑ ๋ฐ ์์ * chore: inner dto ์์ * refactor: ๋ฉ๋ชจ ์ถ๊ฐ, ํ๊ทธ ์ถ๊ฐ ๋ฆฌํฉํฐ๋ง * refactor: ๋จ์ผ/๋ณต์ ๋ฉ๋ชจ ์ถ๊ฐ ๋ฐ ๋ฆฌํฉํฐ๋ง * chore: tag์ถ๊ฐ ์ฐจ๋จ * chore: AI ๋ช ์นญ ๋ณ๊ฒฝ * chore: ์ค๋ฅ ์์ * refactor: ๋ฉ๋ชจ ๊ฒ์, ์ ๋ฐ์ดํธ ์์ * chore: ์ค๋ฅ ํด๊ฒฐ * chore: ai ์๋ฒ ์ค๋ฅ ํด๊ฒฐ * refactor: ai ์๋ํฌ์ธํธ ๋ณ๊ฒฝ ๋ฐ์ * chore: ๋ฉ๋ชจ์ ํ๊ทธ ์ถ๊ฐ ๊ธฐ๋ฅ ์ญ์ * chore: ๋ฉ๋ชจ์ ์ฐ๊ฒฐ๋ ํ๊ทธ ์ฐพ๋ ๋ฉ์๋ ์ถ๊ฐ * chore: ์ค๋๊น ์ ๊ฑฐ * chore: ํด๋๋ช ๋ณ๊ฒฝ * feat: ํ์ด์ง๋ค์ด์ ๊ตฌํ * fix: ๋ฃจํธ ํ๊ทธ api์ ๊ฑฐ * chore: ์ฌ์ฉ์ํ๋ import๋ฌธ, class ์ญ์ * fix: ai api ์์ * chore: ์์ ์ ์ ์์ด๋ ์ถ๊ฐ * feat: ํ์๊ฐ์ ์ ๋ฃจํธํ๊ทธ ์์ฑ ๊ธฐ๋ฅ ์ถ๊ฐ * refactor: id๋ฅผ UUIDํ์์ผ๋ก ๋ณ๊ฒฝ * refactor: builderํ์ ๋์ ์์ฑ์ ์ฌ์ฉ * chore: UUID ๋ณ๊ฒฝ ์ ์ฒด ์ ์ฉ * chore: ai code review ํ๊ฒฝ๊ฐ ์์ * fix: ํผ๋๋ฐฑ ๋ฐ์1 * fix: ๋ฉ๋ชจ ์ถ๊ฐ ์ค๋ฅ ์์ * Origin/null 311 divide user db (#29) * feat: ํ ํฐ์ ์ ์ id ์ถ๊ฐ * feat: controller์ userId ๋งค๊ฐ๋ณ์ ์ถ๊ฐ * feat: user๋ณ๋ก ๋ฐ์ดํฐ ์ ๊ทผ ๋ถ๋ฆฌ * fix: ai์ฝ๋๋ฆฌ๋ทฐ ์ ํ * fix: ai ์ฝ๋๋ฆฌ๋ทฐ ์์ * fix: ai ์ฝ๋๋ฆฌ๋ทฐ ์์ 2 * fix: ai ์ฝ๋๋ฆฌ๋ทฐ ์์ 3 * fix: ai ์ฝ๋๋ฆฌ๋ทฐ ์์ 4 * fix: ai์ฝ๋๋ฆฌ๋ทฐ reopen์์๋ง ์ ์ฉ * fix: ๋ฉ๋ชจ ์ถ๊ฐ ์ค๋ฅ ์์ * refactor: api doc ์์ * chore: ํด๋์ค๋ช ๋ณ๊ฒฝ * chore: user api ์์ * fix: ์ค๋ฅ ํด๊ฒฐ
* feat: ์์ค ์ฝ๋ ์์ฑ * docs: gitignoreํ์ผ ์์ฑ * feat: ๋ฉ๋ชจ ์์ฑ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ธ ์ฒ๋ฆฌ ๊ธฐ๋ฅ ์ถ๊ฐ * fix: swagger tags๋ฆฌ์คํธ ์์ * refactor: 1์ฐจ ํผ๋๋ฐฑ ๋ฐ์ * chore: ์๋ฌ ๋ฉ์ธ์ง ์์ * chore: ๋ถํ์ํ ์ค๋๊น ์ ๊ฑฐ * feat: ๋ฉ๋ชจ ์ ์ฅ ๊ฒ์ ๊ธฐ๋ฅ ์์ฑ (#2) * docs: gitignoreํ์ผ ์์ฑ * feat: ๋ฉ๋ชจ ์์ฑ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ธ ์ฒ๋ฆฌ ๊ธฐ๋ฅ ์ถ๊ฐ * fix: swagger tags๋ฆฌ์คํธ ์์ * refactor: 1์ฐจ ํผ๋๋ฐฑ ๋ฐ์ * chore: ์๋ฌ ๋ฉ์ธ์ง ์์ * refactor: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ, ๋ฆฌํฉํฐ๋ง * refactor: swagger ๋ฆฌํฉํฐ๋ง * refactor: restTemplate ๋ฆฌํฉํฐ๋ง * feat: ๋ฉ๋ชจ ์์ , ์ญ์ ๊ธฐ๋ฅ ์ถ๊ฐ (#4) * docs: gitignoreํ์ผ ์์ฑ * feat: ๋ฉ๋ชจ ์์ฑ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ธ ์ฒ๋ฆฌ ๊ธฐ๋ฅ ์ถ๊ฐ * fix: swagger tags๋ฆฌ์คํธ ์์ * refactor: 1์ฐจ ํผ๋๋ฐฑ ๋ฐ์ * chore: ์๋ฌ ๋ฉ์ธ์ง ์์ * chore: ๋ถํ์ํ ์ค๋๊น ์ ๊ฑฐ * refactor: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ, ๋ฆฌํฉํฐ๋ง * refactor: swagger ๋ฆฌํฉํฐ๋ง * refactor: restTemplate ๋ฆฌํฉํฐ๋ง * feat: ๋ฉ๋ชจ ์์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๋ฉ๋ชจ ์ญ์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: swagger memo api, cors ์์ฑ * refactor: docker file ์์ * docs: dockerfile ์์ * docs: git ignore ์์ * feat: ํ๊ฒฝ๋ณ์ ์ถ๊ฐ * feat: ์๋๋ฐฐํฌ ์ค์ * refactor: git ignore ์์ * fix: dockerfile ์ค๋ฅ ์์ * fix: dockerfile ์ค๋ฅ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * docs: ํ์คํฌ ์ ์ ํ์ผ ์ถ๊ฐ * docs: ํ์คํฌ ์ ์ ํ์ผ ์ถ๊ฐ * NULL-124-์์ฐ์ด์๋ต-๋ฉ๋ชจ์ ์ฒด์กฐํ (#6) * refactor: ์ฝ๋ ๋ฆฌํฉํฐ๋ง * refactor: AI๋ฉ๋ชจ ์๋ต ์ฒ๋ฆฌ ์์ * refactor: AI๋ฉ๋ชจ ์์ฒญ ์์ * feat: ๋ฉ๋ชจ ๊ฒ์ ์์ฐ์ด ์๋ต ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๋ฉ๋ชจ ์ ์ฒด ์กฐํ ๊ธฐ๋ฅ ์ถ๊ฐ * docs: dev.yml git ignore์ ์ถ๊ฐ * fix: ๋ฉ๋ชจ ๊ฒ์ ํ์ ์์ * docs: ํ์คํฌ ์ ์ ํ์ผ ์ถ๊ฐ * fix: ์ * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * feat: ํ๊ฒฝ๋ณ์ ์ถ๊ฐ * fix: git ignore ์์ * fix: ๋๋ ํ ๋ฆฌ ์ญ์ * Revert "fix: git ignore ์์ " This reverts commit 50e25fe. * fix: ํ๊ฒฝ๋ณ์ ์ ๊ฑฐ * fix: ํ๊ฒฝ๋ณ์ ์ถ๊ฐ * Revert "fix: ์ํฌํ๋ก์ฐ ์์ " This reverts commit 0dc8077. * fix: git ignore ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * Revert "fix: ์ํฌํ๋ก์ฐ ์์ " This reverts commit 6e78804. * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ํ์คํฌ ์ ์ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ํ์คํฌ ์ ์ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ํ์คํฌ ์ ์ ์์ * fix: ์์ ์ ์ ์์ * fix: ์์ ์ ์ ์์ * fix: task ์ ์ ์์ * NULL-162-db-integrate (#8) * refactor: ๋ฉ๋ชจ, ํ๊ทธ ์ํฐํฐ ์ ์ * refactor: DTO ํ๋ ์์ * refactor: ๋ฉ๋ชจ ์ถ๊ฐ, ์ฐพ๊ธฐ ๊ธฐ๋ฅ ๋ฆฌํฉํฐ๋ง * chore: swaggger text ์์ * feat: cors ๊ฒฝ๋ก ์ถ๊ฐ * chore: tag ์ํฐํฐ ๊ฒฝ๋ก ์์ * fix: ์ค๋ฅ ์์ * fix: ํ์คํธ ์ ์ ์์ * fix: swagger 403 ์ค๋ฅ ์์ * NULL-169-be-memo-findAll-update-delete-swagger (#9) * feat: cors ๊ฒฝ๋ก ์ถ๊ฐ * refactor: ๋ฉ๋ชจ ์ ์ฒด์กฐํ, ์ญ์ ๋ฆฌํฉํฐ๋ง * refactor: ๋ฉ๋ชจ ์์ ๊ธฐ๋ฅ ๋ฆฌํฉํฐ๋ง * fix: ๋ฉ๋ชจ ์ฐพ๊ธฐ ์คํจ ์ค๋ฅ ์ํ์ฝ๋ ๋ณ๊ฒฝ * fix: ํ์คํธ ์ ์ ์์ * fix: ํ์คํฌ ์ ์ ์์ * fix: ํ์คํฌ ์ ์ ์์ * fix: ํ์คํฌ ์ ์ ์์ * feat: health check ์ถ๊ฐ * feat: health check ์ถ๊ฐ * feat: health check ์ถ๊ฐ * feat: health check ์ถ๊ฐ * fix: ํ์คํฌ ์ ์ ์์ * feat: ๋ฆฌ๋ทฐ์ด owner์ง์ * NULL-167-second-tag (#10) * refactor: 1์ฐจ ๋ฆฌํฉํฐ๋ง * refactor: 2์ฐจ ๋ฆฌํฉํฐ๋ง * feat: 2์ฐจ ํ๊ทธ ์์ฑ, ์ญ์ ๊ตฌํ * feat: ํ๊ทธid๋ก ๋ฉ๋ชจ ์กฐํ ๊ธฐ๋ฅ ๊ตฌํ * refactor: enumํ์ ๋ณ๊ฒฝ, childTagId๋ช ์ * chore: ๋ฉ์๋๋ช ๋ณ๊ฒฝ * feat: ํด๋์ค ํ๋ ๊ธฐ๋ณธ๊ฐ ์ค์ * fix: ๋น๋ ์ด๊ธฐํ ์์ * fix: test yml ์์ * NULL-197-get-tags (#11) * feat: ํ๊ทธ ์ ์ฒด ์กฐํ ์ถ๊ฐ * feat: api ๋ฌธ์ ์ถ๊ฐ * fix: json enum ์ง๋ ฌํ ์ฒ๋ฆฌ * feat: 2์ฐจ ํ๊ทธ ๋ฐํ (#12) * refactor: DTO ์ค๋ณต ํ๋ ๋ฆฌํฉํฐ๋ง (#13) * NULL-200-tags-depth (#14) * feat: tag ํ๋์ depth ์ถ๊ฐ * feat: tag ๊ณ์ธต๋ณ ์กฐํ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ai ์๋ฒ ์ฐ๋ ์ ๊น์ง ์์ ํธ์ถ ์ฒ๋ฆฌ * feat: ํ๊ฒฝ๋ณ์ ๋ณ๊ฒฝ * feat: task ์ ์ ์์ * NULL-200-tag-crud (#16) * feat: ํ๊ทธ crud controller ์์ฑ * feat: ํ๊ทธ ์์ฑ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ํ๊ทธ ์์ ์ญ์ ๊ธฐ๋ฅ ์ถ๊ฐ * fix: 1์ฐจ ํผ๋๋ฐฑ ๋ฐ์ * NULL-203-refactor-and-objectmapper (#18) * refactor: ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ ๋ณ๊ฒฝ * refactor: dto ๋ฆฌํฉํฐ๋ง * refactor: object mapper ์ ์ฉ * NULL-232-JWT (#19) * feat: jwt๋ก๊ทธ์ธ ํ์๊ฐ์ ๊ตฌํ * feat: yml ์ฒ๋ฆฌ * refactor: dto ์์ * refactor: ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ ๋ณ๊ฒฝ * feat: ๋ฆฌํ๋ ์ ํ ํฐ ๊ธฐ๋ฅ ๊ตฌํ * feat: ์ค๋ณต ์ด๋ฉ์ผ ์ฒ๋ฆฌ ๋ฐ ํค๋ ํ ํฐ ์ฒ๋ฆฌ * feat: ์ค์จ๊ฑฐ jwt ์ธ์ฆ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: DTO ์ด๋ ธํ ์ด์ ์ถ๊ฐ * feat: api ๋ฌธ์ ์ถ๊ฐ * feat: ์ ์ ์ปฌ๋ ์ ์กฐ๊ฑด ์ถ๊ฐ * fix: problem ์ฒ๋ฆฌ * refactor: bearer์ฒดํฌ ํจ์ ์ถ๊ฐ * fix: ํผ๋๋ฐฑ ๋ฐ์ * fix: config ์์ * fix: ymlํ์ผ ์์ (#21) * feat: secrets ์ถ๊ฐ * refactor: jwtUtil ์์ * NULL-254-memo-tag-schema (#20) * fix: cors ์ ํ * fix: timestamp ์ถ๊ฐ * feat: memo-tag-relation ์ถ๊ฐ * feat: memo-tag ์ปฌ๋ ์ ์์ * refactor: ์ ์ฒด ๋ก์ง ์์ * chore: ๋ถํ์ํ ํจ์ ์ ๊ฑฐ * feat: ํ๋๋ช ๋ณ๊ฒฝ * chore: ๊ฐํ ์ถ๊ฐ * NULL-232-JWT (#19) * feat: jwt๋ก๊ทธ์ธ ํ์๊ฐ์ ๊ตฌํ * feat: yml ์ฒ๋ฆฌ * refactor: dto ์์ * refactor: ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ ๋ณ๊ฒฝ * feat: ๋ฆฌํ๋ ์ ํ ํฐ ๊ธฐ๋ฅ ๊ตฌํ * feat: ์ค๋ณต ์ด๋ฉ์ผ ์ฒ๋ฆฌ ๋ฐ ํค๋ ํ ํฐ ์ฒ๋ฆฌ * feat: ์ค์จ๊ฑฐ jwt ์ธ์ฆ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: DTO ์ด๋ ธํ ์ด์ ์ถ๊ฐ * feat: api ๋ฌธ์ ์ถ๊ฐ * feat: ์ ์ ์ปฌ๋ ์ ์กฐ๊ฑด ์ถ๊ฐ * fix: problem ์ฒ๋ฆฌ * refactor: bearer์ฒดํฌ ํจ์ ์ถ๊ฐ * fix: ํผ๋๋ฐฑ ๋ฐ์ * fix: config ์์ * fix: ymlํ์ผ ์์ (#21) * feat: secrets ์ถ๊ฐ * refactor: jwtUtil ์์ * refactor: globalExceptionHandler ๋๋ ํ ๋ฆฌ ์์น ๋ณ๊ฒฝ * Revert "refactor: jwtUtil ์์ " This reverts commit 0a531a6. * Revert "chore: ๊ฐํ ์ถ๊ฐ" This reverts commit 44e5f8d. * N๏ฟฝULL-231-create-kakao-memos (#22) * feat: kakao-memos-craete contoller ์ถ๊ฐ * feat: service ๋ก์ง ๊ตฌํ * feat: resttemplate ๋ฐ dto ์์ฑ * Null 269 fix logic (#23) * fix: ์ด์ ๋ณ๊ฒฝ์ฌํญ ์ ์ฅ * fix: ์์ธ ๋ฉ์ธ์ง ์์ * feat: ํ๊ทธ์ ์์ ํ๊ทธ๋ฅผ ์ฌ๊ท์ ์ผ๋ก ๋ค์ด๊ฐ๋ฉฐ ๋ฉ๋ชจ ์กฐํ ๊ธฐ๋ฅ ๊ตฌํ * feat: error code ์ถ๊ฐ * chore: ๋น๋ฐ๋ฒํธ ์๋ฌ ๋ฉ์ธ์ง ๋ณ๊ฒฝ * feat: CI ๋์ * feature/CI-test (#24) * chore: import ์ ๊ฑฐ * chore: import ์์ * Null 283 response refactor (#25) * chore: ์คํ ๋ฐ ์ค๋๊น ์์ * chore: json snakecase * feat: ๋ฉ๋ชจ imageUrls ์์ฒญ๊ณผ ์์ฑ/์์ ์ผ์ ์๋ต ์ถ๊ฐ * feat: mongoConfig ์ถ๊ฐ(์์ฑ/์์ ์ผ์ ์๋ ์์ฑ) * chore: ๋ถํ์ํ import ์ ๊ฑฐ * feat: ๋ฉ๋ชจ ์ด๋ฏธ์ง ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์์ฑ/์์ ์ผ์ ์ถ๊ฐ * Null 292 email memo list (#26) * refactor: ํ์ผ url๋ก ์ฒ๋ฆฌํ๋๋ก ๋ก์ง ์์ * feat: cors ai server ์ถ๊ฐ * chore: ๋ถํ์ํ ํจ์,ํด๋์ค ์ ๊ฑฐ * feat: type ์ถ์ถ ์ถ๊ฐ * feat: ai ์ฝ๋ ๋ฆฌ๋ทฐ ์ถ๊ฐ (#27) * Null 295 api docs refactor and pagination (#28) * refactor: controller๋ณ๊ฒฝ * refactor: api doc ๋ณ๊ฒฝ * feat: dto ์์ฑ ๋ฐ ์์ * chore: ๋๋ ํ ๋ฆฌ๋ช ๋ณ๊ฒฝ * refactor: ์๋น์ค ์ฝ๋ ์์ 1 * chore: model ์์ฑ ๋ฐ ์์ * chore: inner dto ์์ * refactor: ๋ฉ๋ชจ ์ถ๊ฐ, ํ๊ทธ ์ถ๊ฐ ๋ฆฌํฉํฐ๋ง * refactor: ๋จ์ผ/๋ณต์ ๋ฉ๋ชจ ์ถ๊ฐ ๋ฐ ๋ฆฌํฉํฐ๋ง * chore: tag์ถ๊ฐ ์ฐจ๋จ * chore: AI ๋ช ์นญ ๋ณ๊ฒฝ * chore: ์ค๋ฅ ์์ * refactor: ๋ฉ๋ชจ ๊ฒ์, ์ ๋ฐ์ดํธ ์์ * chore: ์ค๋ฅ ํด๊ฒฐ * chore: ai ์๋ฒ ์ค๋ฅ ํด๊ฒฐ * refactor: ai ์๋ํฌ์ธํธ ๋ณ๊ฒฝ ๋ฐ์ * chore: ๋ฉ๋ชจ์ ํ๊ทธ ์ถ๊ฐ ๊ธฐ๋ฅ ์ญ์ * chore: ๋ฉ๋ชจ์ ์ฐ๊ฒฐ๋ ํ๊ทธ ์ฐพ๋ ๋ฉ์๋ ์ถ๊ฐ * chore: ์ค๋๊น ์ ๊ฑฐ * chore: ํด๋๋ช ๋ณ๊ฒฝ * feat: ํ์ด์ง๋ค์ด์ ๊ตฌํ * fix: ๋ฃจํธ ํ๊ทธ api์ ๊ฑฐ * chore: ์ฌ์ฉ์ํ๋ import๋ฌธ, class ์ญ์ * fix: ai api ์์ * chore: ์์ ์ ์ ์์ด๋ ์ถ๊ฐ * feat: ํ์๊ฐ์ ์ ๋ฃจํธํ๊ทธ ์์ฑ ๊ธฐ๋ฅ ์ถ๊ฐ * refactor: id๋ฅผ UUIDํ์์ผ๋ก ๋ณ๊ฒฝ * refactor: builderํ์ ๋์ ์์ฑ์ ์ฌ์ฉ * chore: UUID ๋ณ๊ฒฝ ์ ์ฒด ์ ์ฉ * chore: ai code review ํ๊ฒฝ๊ฐ ์์ * fix: ํผ๋๋ฐฑ ๋ฐ์1 * fix: ๋ฉ๋ชจ ์ถ๊ฐ ์ค๋ฅ ์์ * Origin/null 311 divide user db (#29) * feat: ํ ํฐ์ ์ ์ id ์ถ๊ฐ * feat: controller์ userId ๋งค๊ฐ๋ณ์ ์ถ๊ฐ * feat: user๋ณ๋ก ๋ฐ์ดํฐ ์ ๊ทผ ๋ถ๋ฆฌ * fix: ai์ฝ๋๋ฆฌ๋ทฐ ์ ํ * fix: ai ์ฝ๋๋ฆฌ๋ทฐ ์์ * fix: ai ์ฝ๋๋ฆฌ๋ทฐ ์์ 2 * fix: ai ์ฝ๋๋ฆฌ๋ทฐ ์์ 3 * fix: ai ์ฝ๋๋ฆฌ๋ทฐ ์์ 4 * fix: ai์ฝ๋๋ฆฌ๋ทฐ reopen์์๋ง ์ ์ฉ * fix: ๋ฉ๋ชจ ์ถ๊ฐ ์ค๋ฅ ์์ * refactor: api doc ์์ * chore: ํด๋์ค๋ช ๋ณ๊ฒฝ * chore: user api ์์ * fix: ์ค๋ฅ ํด๊ฒฐ * fix: health check (#30) * fix: health check ์์ * fix: ai server uri ์์ * feat: git ignore์ yml ์ถ๊ฐ * feat: secret manager์์ yml ์ฝ์ด์ค๊ธฐ ์ถ๊ฐ * fix: actions ์ค๋ฅ ํด๊ฒฐ * fix: actions ์ค๋ฅ ํด๊ฒฐ * Null 352 feedback refactor (#31) * refactor: ์ด๋ฒคํธ ๋ฆฌ์ค๋ ์์น ๋ณ๊ฒฝ * chore: ๋๋ ํ ๋ฆฌ๋ช ๋ณ๊ฒฝ * refactor: ํ๊ทธ ์ฃ์ง, ๋ฆด๋ ์ด์ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ ๋ณ๊ฒฝ * chore: ์์ userId ์์ * refactor: CD_stage ์์ * refactor: CD_stage ์์ * chore: task definition json ํ์ผ ์ด๋ฆ ๋ณ๊ฒฝ * Null 359 recent memos (#32) * chore: ํด๋์ค๋ช ๋ณ๊ฒฝ * refactor: ํ์ด์ง๋ค์ด์ ์์ * fix: ํ๊ทธ๋ณ ๋ฉ๋ชจ ๋ฆฌ์คํธ ์กฐํ ์ค๋ฅ ์์ * feat: ์ ๋ ฌ ๊ธฐ์ค ์ถ๊ฐ * Null 358 email verfication (#33) * feat: api doc ์์ฑ ๋ฐ ์ค์ ํ์ผ ์์ * feat: dto ๋ฐ controller ์์ฑ * feat: ์ด๋ฉ์ผ ์ ์ก ๊ธฐ๋ฅ ๊ตฌํ * feat: DB ๋ฐ ์์ธ์ฒ๋ฆฌ ๊ตฌํ * fix: test yml ์์ * refactor: dto ๋ฐ ์์ธ ์์ * feat: ์ ์ ์ ๋ณด์ ์ด๋ฆ, ์ ํ๋ฒํธ ์ถ๊ฐ * NULL-354 feat: ๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ, ํํด ๊ธฐ๋ฅ ์ถ๊ฐ * chore: ํด๋ํฐ ๋ฒํธ ์ ๋ณด ์ญ์ * fix: ์ค๋ฅ ์์ * fix: ํผ๋๋ฐฑ ๋ฐ์1 * fix: ํผ๋๋ฐฑ ๋ฐ์2 - ํ์ ํํด์ ๋ชจ๋ ๋ฐ์ดํฐ ์ญ์ * fix: ํผ๋๋ฐฑ ์ ์ฉ 3 * fix: ์ด๋ฉ์ผ ์ค๋ณต ์ฒดํฌ ์ถ๊ฐ * fix: ํ์๊ฐ์ , ๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ ์ ์ด๋ฉ์ผ ์ฒดํฌ ์ถ๊ฐ * fix: ํผ๋๋ฐฑ ๋ฐ์ 4 * Null 363 refactor (#34) * fix: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * refactor: objectsํจ์๋ก ํต์ผ * refactor: ์ฝ๋ ๋ฆฌํฉํฐ๋ง * refactor: ๋ค์ด๋ฐ ๋ณ๊ฒฝ * refactor: ๊ตฌ์ฑ ๊ฐ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * refactor: ํด๋๋ช ๋ณ๊ฒฝ * fix: test ๊ตฌ์ฑ ๊ฐ ์์ * fix: ํํฐ์ฒด์ธ ์ค๋ฅ ํด๊ฒฐ * fix: ํํฐ์ฒด์ธ ์ค๋ฅ ํด๊ฒฐ * Null 391 exception refactor (#36) * feat: ์๋ฌ ํธ๋ค๋ฌ ๊ฐํธ * refactor: ์ปค์คํ ์์ธ๋ก ๋ณ๊ฒฝ * refactor: jwt ์์ธ ์์ * refactor: resttemplate ์์ธ ์์ * NULL-393 fix: 403 ์๋ฌ ํด๊ฒฐ * refactor: ์๋ฌ ์ฝ๋ ์์ * fix: ์ค๋ฒ๋ผ์ด๋ฉ ๋ฌธ์ ํด๊ฒฐ * fix: errorcode to string * Null 384 asynchronous memo tag (#35) * fix: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * refactor: objectsํจ์๋ก ํต์ผ * refactor: ์ฝ๋ ๋ฆฌํฉํฐ๋ง * refactor: ๋ค์ด๋ฐ ๋ณ๊ฒฝ * refactor: ๊ตฌ์ฑ ๊ฐ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * refactor: ํด๋๋ช ๋ณ๊ฒฝ * fix: test ๊ตฌ์ฑ ๊ฐ ์์ * feat: ๋ฉํ๋ฐ์ดํฐ ํ๋ ์ถ๊ฐ * refactor: ๊ฒ์ ๊ธฐ๋ฅ ๋ฆฌํฉํฐ๋ง * feat: ํ๊ทธ ๋ฐํ ๊ตฌํ * feat: ๋ฉ๋ชจ ํ๊ทธ ๊ตฌ์กฐ ์์ฒญ ๋ก์ง ์์ฑ * feat: ๋ฉ๋ชจ ํ๊ทธ ๊ตฌ์กฐ ์์ฑ ๋ก์ง ์์ฑ * NULL-395 fix: ํ์ด์ง๋ค์ด์ ๊ธฐ๋ณธ ์์ฑ์ ์ค๋ฅ ์์ * feat: ๋ฉ๋ชจ ํ๊ทธ ๊ตฌ์กฐ ์์ฑ ๋น๋๊ธฐ ์ฒ๋ฆฌ * fix: ๋น๋๊ธฐ ์ค๋ฅ ์ฒ๋ฆฌ ๋ฐ ์ด๋ฒคํธ ๋ฆฌ์ค๋ ์์ * chore: ๋ถํ์ํ ๋๋ฒ๊น ์ถ๋ ฅ ์ ๊ฑฐ * refactor: ๋ค์ด๋ฐ ์์ * fix: 401์๋ฌ๊ฐ 500์ผ๋ก ๋จ๋ ๋ฌธ์ ํด๊ฒฐ * refactor: ๋งค๊ฐ๋ณ์ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * Null 383 hotfix memo authorization (#37) * chore: import ์ ๊ฑฐ * fix: ๋ฉ๋ชจ ์ ์ฅ ์ค๋ฅ ์์ * refactor: ์๋ฌ ์๋ต ์์ * refactor: ์ธ์ฆ ๊ด๋ จ ์๋ฌ ์๋ต ์์ * chore: ๋๋ ํ ๋ฆฌ ์์น ๋ณ๊ฒฝ ๋ฐ ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ๋น๋๊ธฐ ๋ฉ์๋ ์๋ฌ ํธ๋ค๋ง ์ถ๊ฐ * chore: ํ๋ ์ ๊ฑฐ * chore: ๋๋ ํ ๋ฆฌ ์์น ๋ณ๊ฒฝ * chore: ์ค๋๊น ์์ * Null 322 feat logging (#38) * refactor: CI ์์ * fix: CI ์์ * fix: CI ์์ * fix: CI ์์ * feat: memo service ๋ก๊น ์ถ๊ฐ * rafactor: ์๋ฌ detail ์์ * feat: memoTagRelation service ๋ก๊น ์ถ๊ฐ * feat: tag๊ด๋ จ service ๋ก๊น ์ถ๊ฐ * feat: user service ๋ก๊น ์ถ๊ฐ * refactor: user service ๋ฆฌํฉํฐ๋ง * Null 386 search history (#39) * refactor: CI ์์ * fix: CI ์์ * fix: CI ์์ * fix: CI ์์ * feat: memo service ๋ก๊น ์ถ๊ฐ * rafactor: ์๋ฌ detail ์์ * feat: memoTagRelation service ๋ก๊น ์ถ๊ฐ * feat: tag๊ด๋ จ service ๋ก๊น ์ถ๊ฐ * feat: user service ๋ก๊น ์ถ๊ฐ * refactor: user service ๋ฆฌํฉํฐ๋ง * refactor: ๋ค์ด๋ฐ ๋ฐ ์์ฐ๋ ์ํ์ฝ๋ ์ ๊ฑฐ * feat: search history controller ์ถ๊ฐ * feat: service repo ์ถ๊ฐ * feat: ๋ก๊น ์ถ๊ฐ * chore: ๋ถํ์ํ import ์ ๊ฑฐ * chore: ๋ณ์๋ช ๋ณ๊ฒฝ * fix: ์ด๋ฉ์ผ ์ค๋ณต ์์ฒญ์ ์ค๋ฅ ์์ (#41) * Null 412 get user info (#42) * fix: ์ด๋ฉ์ผ ์ค๋ฅ ์์ * feat: api doc ์ถ๊ฐ ๋ฐ profile image url ํ๋ ์ถ๊ฐ * feat: ์ ์ ์ ๋ณด ์กฐํ ๊ธฐ๋ฅ ์ถ๊ฐ * feat:์ ์ ์ ๋ณด ์ ๋ฐ์ดํธ ๊ธฐ๋ฅ ์ถ๊ฐ * fix: ์ด๋ฉ์ผ ์ธ์ฆ ์ค๋ฅ ์์ * fix: ์ด๋ฉ์ผ ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#43) * Null 402 ํ์ผ ์ถ๊ฐ์ url ๋ฐํ ๊ธฐ๋ฅ ์ถ๊ฐ (#40) * refactor: ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ ๋ณ๊ฒฝ * feat: ์ด๋ฏธ์ง ์ถ๊ฐ์ url ๋ฐํ ๊ธฐ๋ฅ ์ถ๊ฐ * test: ํ ์คํธ yml ์์ * feat: ๋ฉ๋ชจ ์ถ๊ฐ์ ๋ด์ฉ, ์ด๋ฏธ์ง ๊ฒ์ฆ ์ปค์คํ ์ ๋ํ ์ด์ ์ถ๊ฐ * Null 421 feature metadata embedding (#44) * feat: ๋ฉํ๋ฐ์ดํฐ ์๋ฒ ๋ฉ ์ถ๊ฐ * refactor: ์ด๋ฉ์ผ ๋ฉ๋ชจ ๋ถ๋ฌ์ค๊ธฐ ์์ ์ญ์ * feat: image urls ํ๋ ์ถ๊ฐ * Null 430 refactor pagination (#45) * refactor: ํ๊ทธ๋ณ ๋ฉ๋ชจ ํ์ด์ง ์กฐํ ์์ * refactor: ํ๊ทธ๋ณ ์์ ํ๊ทธ ๋ฉ๋ชจ ํ์ด์ง ์กฐํ ์์ * reafactor: tag service ์์ * refactor: ํผ๋๋ฐฑ ๋ฐ์ * Null 424 prod cd (#47) * feat: prod cd ์ถ๊ฐ * chore: stage cd ์์ * chore: ๋ธ๋์น ๋ณ๊ฒฝ * chore: stage task definition ์์ * Null 422 hotfix pagination (#48) * fix: json snake case * fix: ํ์ฌ ํ๊ทธ ๋ฉ๋ชจ๋ ๋งํฌ๋ ๊ฒ๋ง ์ ๊ณต๋๋๋ก ์์ * chore: ํจ์๋ช ์์ * chore: ๋ณ์๋ช ์์ * chore: json snake case ์์ * fix: ์์ํ๊ทธ์ ์์ํ๊ทธ ๋ฐํ * fix: ๋ ์ง ์ญ์ ์ ๋ ฌ ์์ * Null 400 rabbitmq ๋์ ๋ฐ ๋ฉ๋ชจ ์์ฐจ์ฒ๋ฆฌ (#46) * feat: rabbitmq ๋์ ๋ฐ ๋ฉ๋ชจํ๊ทธ ๊ตฌ์กฐ ์์ฑ์ ์ ์ฉ * Null 424 prod cd (#47) * feat: prod cd ์ถ๊ฐ * chore: stage cd ์์ * chore: ๋ธ๋์น ๋ณ๊ฒฝ * chore: stage task definition ์์ * Null 422 hotfix pagination (#48) * fix: json snake case * fix: ํ์ฌ ํ๊ทธ ๋ฉ๋ชจ๋ ๋งํฌ๋ ๊ฒ๋ง ์ ๊ณต๋๋๋ก ์์ * chore: ํจ์๋ช ์์ * chore: ๋ณ์๋ช ์์ * chore: json snake case ์์ * fix: ์์ํ๊ทธ์ ์์ํ๊ทธ ๋ฐํ * fix: ํผ๋๋ฐฑ ๋ฐ์ * fix: ๋ ์ง ์ญ์ ์ ๋ ฌ ์์ * chore: ๋ถํ์ํ ๋น๋๊ธฐ ์ด๋ฒคํธ๋ฆฌ์ค๋ ์ ๊ฑฐ * feat: ์คํจ์ ๋ฉ์์ง dlx๋ก ์ ์ก * fix: test yml ์์ * feat: ๋ค์ค ํ์ผ ์ ๋ก๋ ์ถ๊ฐ * Null 457 feature file type validation (#49) * feat: ํ์ผ ํ์ ๊ฒ์ฆ ์ปค์คํ ์ ๋ํ ์ด์ ์ถ๊ฐ * feat: ์ปค์คํ ์ ๋ํ ์ด์ ์ ์ฉ * feat: ๊ฒ์ฆ๋ก์ง ์์ ๋ฐ ์ ์ฉ * refactor: ํ์ผ ํ์ ์์ * Null 447 refactor pagination (#50) * refactor: ํ๊ทธ ๋ฆด๋ ์ด์ ์ ๊ฑฐ * refactor: ๋ฉ๋ชจ ํ์ด์ง๋ค์ด์ ๋ฆฌํฉํฐ๋ง * refactor: ํ๊ทธ ํ์ด์ง๋ค์ด์ ๋ฆฌํฉํฐ๋ง * Null 457 feature file type validation (#49) * feat: ํ์ผ ํ์ ๊ฒ์ฆ ์ปค์คํ ์ ๋ํ ์ด์ ์ถ๊ฐ * feat: ์ปค์คํ ์ ๋ํ ์ด์ ์ ์ฉ * feat: ๊ฒ์ฆ๋ก์ง ์์ ๋ฐ ์ ์ฉ * refactor: ํ์ผ ํ์ ์์ * fix: ํผ๋๋ฐฑ ๋ฐ์ * chore: ์ค๋๊น ์ ๊ฑฐ * refactor: ๋ฐฐ์น ์ฒ๋ฆฌํ๋๋ก ์์ * chore: ์ฃผ์ ์ถ๊ฐ * chore: ๋ค์ด๋ฐ ๋ณ๊ฒฝ * chore: root tag ์ฒ๋ฆฌ * fix: ๋ฉ๋ชจ ์์ฑ์ ์ด๋ฏธ์ง ์์ด๋ ์ฌ๋ผ๊ฐ๋๋ก ์์ * Null 418 feature memo tag deletion (#51) * refactor: ํ๊ทธ ์ญ์ ๋ก์ง ๋ฆฌํฉํฐ๋ง * chore: ์ค๋๊น ์์ * chore: ๋ฉ๋ชจ id๊ธฐ๋ฐ ์ญ์ ๋ก ์์ * refactor: ๋ฉ๋ชจ ์ฒ๋ฆฌ ๋ก์ง ๋ฆฌํฉํฐ๋ง (#52) * fix: ๊น ์ถฉ๋ ํด๊ฒฐ * refactor: stack ๋์ queue ์ฌ์ฉ * refactor: linkedํ๊ทธ ํ๋ฒ์ ์ฒ๋ฆฌ * chore: ํผ๋๋ฐฑ ๋ฐ์ * fix: ๋ฉ๋ชจ ์ถ๊ฐ ์ ๋ฆด๋ ์ด์ ์์ฑ ์ค๋ฅ ์์ (#53) * chore: ํ์ ์๋ ๋๋ฒ๊น ๊ธฐ๋ก ์ญ์ * Null 522 hotfix delete tag (#54) * fix: ํ๊ทธ ์ญ์ ์ ํ๊ทธ ์ฃ์ง ์ ๋ฐ์ดํธ ์๋์ด ๋ฐ์ํ๋ ์ค๋ฅ ์์ * fix: reverse tag edge ๋๊ธฐํ * fix: ํ์๊ฐ์ ์ tag edge ์์ฑ (#55) * Null 476 update memo metadata (#56) * feat: ๋ฉ๋ชจ ์ ๋ฐ์ดํธ ์ ๋ฉํ๋ฐ์ดํฐ ์ถ๊ฐ * feat: ๋ฉ๋ชจ api valid ์ถ๊ฐ * fix: ๋น๋ฐ๋ฒํธ ํน์๋ฌธ์ ๋ณ๊ฒฝ * fix: ํผ๋๋ฐฑ ๋ฐ์ * Null 476 update memo metadata (#58) * fix: ํผ๋๋ฐฑ ๋ฐ์ 2 * fix: ๋ฉ๋ชจ ์ ๋ฐ์ดํธ ์์ * fix: ํ๊ทธ ํ๋ฒ์ ์ ์ฅํ๋๋ก ์์ * chore: ๋ฃจํธํ๊ทธ ์๋ฒ ๋ฉ ์ ๊ฑฐ * fix: url ์์ * Null 474 feature child tags (#59) * feat: api doc & controller ์์ฑ * feat: service ๋ก์ง ์ถ๊ฐ * chore: ๋ณ์๋ช ๋ณ๊ฒฝ * fix: ๋ฃจํธํ๊ทธ์ ์์ ํ๊ทธ ๋ฐํ (#61) * Null 468 delete file (#63) * feat: api doc & controller ์์ฑ * feat: service ๋ก์ง ์ถ๊ฐ * chore: ๋ณ์๋ช ๋ณ๊ฒฝ * refactor: ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ ๋ฆฌํฉํฐ๋ง * feat: rabbitmq producer & consumer & message ์์ฑ * feat: ์์กด์ฑ ์ ๋ฐ์ดํธ * feat: ํ์ผ ์ญ์ ๋ก์ง ์ถ๊ฐ ๋ฐ rabbit mq ์ค์ ๊ฐ ๋ณ๊ฒฝ * feat: ๋ฉ๋ชจ ์ ๋ฐ์ดํธ ์ ํ์ผ ์ญ์ ๋ก์ง ์ถ๊ฐ * feat: ํ๊ทธ ๋ฐ ๋ฉ๋ชจ ์ญ์ ์ ํ์ผ ์ญ์ ๋ก์ง ์ถ๊ฐ * fix: s3 key ์์ * feat: ์ ์ ์ ์ ์ฒด ํ์ผ ์ญ์ ๋ก์ง ์ถ๊ฐ * fix: test yml ์์ * fix: ์ค๋ฅ ์์ * fix: test yml์์ * Null 473 feature memo update new tags (#64) * feat: api doc & controller ์์ฑ * feat: service ๋ก์ง ์ถ๊ฐ * chore: ๋ณ์๋ช ๋ณ๊ฒฝ * refactor: ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ ๋ฆฌํฉํฐ๋ง * feat: rabbitmq producer & consumer & message ์์ฑ * feat: ์์กด์ฑ ์ ๋ฐ์ดํธ * feat: ํ์ผ ์ญ์ ๋ก์ง ์ถ๊ฐ ๋ฐ rabbit mq ์ค์ ๊ฐ ๋ณ๊ฒฝ * feat: ๋ฉ๋ชจ ์ ๋ฐ์ดํธ ์ ํ์ผ ์ญ์ ๋ก์ง ์ถ๊ฐ * feat: ํ๊ทธ ๋ฐ ๋ฉ๋ชจ ์ญ์ ์ ํ์ผ ์ญ์ ๋ก์ง ์ถ๊ฐ * fix: s3 key ์์ * feat: ์ ์ ์ ์ ์ฒด ํ์ผ ์ญ์ ๋ก์ง ์ถ๊ฐ * fix: test yml ์์ * feat: ๋ฉ๋ชจ ์์ ๋ฐ ํ๊ทธ ์ฌ์์ฑ api doc & controller & dto ์์ฑ * feat: ๋ฉ๋ชจ ์์ ๋ก์ง ์ถ๊ฐ * feat: snack case๋ก ๋ณ๊ฒฝ * feat: ์ ์ ๋ํดํธ ํ๋กํ ์ด๋ฏธ์ง ์ถ๊ฐ * fix: ํผ๋๋ฐฑ ๋ฐ์ * chore: ๋ค์ด๋ฐ ๋ณ๊ฒฝ * chore: ๋ค์ด๋ฐ ๋ณ๊ฒฝ * hotfix: ํ ํฐ ํ์ฉ * hotfix: ํ ํฐ ํ์ฉ * fix: cors properties ์์ * fix: cors ์์ * fix: cors ์์ * Null 553 divide search api (#65) * feat: api doc & controller & dto ์ถ๊ฐ * feat: service ai๊ธฐ๋ฐ ๋ฉ๋ชจ ๊ฒ์ ๋ก์ง ๊ตฌํ * feat: resttemplate ai๊ธฐ๋ฐ ๋ฉ๋ชจ ๊ฒ์ ๋ก์ง ๊ตฌํ * feat: resttemplate db๊ธฐ๋ฐ ๋ฉ๋ชจ ๊ฒ์ ๋ก์ง ๊ตฌํ * feat: ๊ฒ์ ํ์คํ ๋ฆฌ ๋ก์ง ๊ตฌํ * chore: camel case ์์ * chore: ์์ฑ๋ช ์์ * chore: ๊ณตํต ๋ก์ง ํจ์ํ * fix: ์ ์ฝ์กฐ๊ฑด ์์ * Null 557 feature voice url (#66) * feat: ๋ฉํ๋ฐ์ดํฐ ํ๋ ์ถ๊ฐ * feat: ์์ฑ ๋ฉ๋ชจ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ฝ์กฐ๊ฑด ์์ * feat: ์์ฑ ํ์ผ ์ญ์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๋ฉ๋ชจ ์ญ์ ์ ์์ฑ ํ์ผ๋ ์ญ์ ์ถ๊ฐ * feat: ์์ฑ ํ์ผ ํ์์ ์ถ๊ฐ * Null 535 feature distribution lock (#67) * git rebase * feat: ๋ฉ๋ชจ ์ญ์ ์ ์์ฑ ํ์ผ๋ ์ญ์ ์ถ๊ฐ * feat: redisson ๊ธฐ๋ณธ ์ธํ * temp * NULL-536-feat: ๋ฉ๋ชจ ์ ๋ฆฌ ๋ถ์ฐ์ฒ๋ฆฌ๋ฝ ๊ตฌํ * feat: redis password ์ ์ฉ ๋ฐ test yml ์์ * fix: ํ์ผ ์ญ์ ํ๋ ์์ * fix: test yml ์์ * fix: ํผ๋๋ฐฑ ๋ฐ์ * Null 566 hotfix delete tag (#69) * chore: ๋ก๊น ๋ณ๊ฒฝ * fix: ํ๊ทธ ์ญ์ ์ ์ค๋ฅ ์์ * fix: ํ๊ทธ ์ญ์ ์ ์ค๋ฅ ์์ * Null 426 feature add memos (#68) * feat: api doc & controller & dto ์ถ๊ฐ * fix: ํผ๋๋ฐฑ ๋ฐ์ * feat: ๋น๋๊ธฐ ์๋ฌ ํธ๋ค๋ง ์ถ๊ฐ * feat: email๋ก ๋ฉ๋ชจ ๋ฆฌ์คํธ ์ถ๊ฐ ๊ธฐ๋ฅ ์์ฑ * fix: ๋น๋๊ธฐ ์๋ฌ ํธ๋ค๋ง ์์ (#70) * fix: jackson๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ ์๋์ง ์์ ํ๋๋ฅผ json์ java ๊ฐ์ฒด๋ก ๋ณํ์ ์ค๋ฅ ์์ (#71) * Null 585 hotfix update memo tags (#72) * chore: ์๋ฌ ๋ฉ์ธ์ง ๋ณ๊ฒฝ * fix: json ํ๋ snake type์ผ๋ก ์์ * fix: ๋ฉ๋ชจ upsert๋ก ์์ * feat: history ๋ฐํ์ id๋ ๋ฐํ (#73) * Null 618 faeture get parent tags (#74) * chore: ๊ฒ์ํ์คํ ๋ฆฌ ์กฐํ์ ์ฟผ๋ฆฌ ์ญ์ * feat: api doc & controller ์์ฑ * feat: ์กฐ์ ํ๊ทธ ์กฐํ ๋ก์ง ์์ฑ * feat: ํ๊ทธ ์๋ต์ ๋ฉํ๋ฐ์ดํฐ ์ถ๊ฐ (#75) * feat: ํ๊ทธ ์๋ต์ ๋ฉํ๋ฐ์ดํฐ ์ถ๊ฐ * feat: ํ๊ทธ ์ฌ์์ฑ ์์๋ ๋ฉํ๋ฐ์ดํฐ ๋ฐํ ์ถ๊ฐ * fix: ๊ฒ์ ํ์คํ ๋ฆฌ ์กฐํ ์ค๋ฅ ์์ (#76) * Null 656 feature create memo tag (#77) * feat: api doc & controller & dto ์ถ๊ฐ * feat: ์์ํ๊ทธ ์์ฑ ์ถ๊ฐ * feat: ํน์ ํ๊ทธ๋ฅผ ๊ฐ์ง ๋ฉ๋ชจ ์์ฑ ์ถ๊ฐ * chore: uri & ๋ฉ์๋๋ช ๋ณ๊ฒฝ
* feat: ์์ค ์ฝ๋ ์์ฑ * docs: gitignoreํ์ผ ์์ฑ * feat: ๋ฉ๋ชจ ์์ฑ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ธ ์ฒ๋ฆฌ ๊ธฐ๋ฅ ์ถ๊ฐ * fix: swagger tags๋ฆฌ์คํธ ์์ * refactor: 1์ฐจ ํผ๋๋ฐฑ ๋ฐ์ * chore: ์๋ฌ ๋ฉ์ธ์ง ์์ * chore: ๋ถํ์ํ ์ค๋๊น ์ ๊ฑฐ * feat: ๋ฉ๋ชจ ์ ์ฅ ๊ฒ์ ๊ธฐ๋ฅ ์์ฑ (#2) * docs: gitignoreํ์ผ ์์ฑ * feat: ๋ฉ๋ชจ ์์ฑ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ธ ์ฒ๋ฆฌ ๊ธฐ๋ฅ ์ถ๊ฐ * fix: swagger tags๋ฆฌ์คํธ ์์ * refactor: 1์ฐจ ํผ๋๋ฐฑ ๋ฐ์ * chore: ์๋ฌ ๋ฉ์ธ์ง ์์ * refactor: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ, ๋ฆฌํฉํฐ๋ง * refactor: swagger ๋ฆฌํฉํฐ๋ง * refactor: restTemplate ๋ฆฌํฉํฐ๋ง * feat: ๋ฉ๋ชจ ์์ , ์ญ์ ๊ธฐ๋ฅ ์ถ๊ฐ (#4) * docs: gitignoreํ์ผ ์์ฑ * feat: ๋ฉ๋ชจ ์์ฑ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์์ธ ์ฒ๋ฆฌ ๊ธฐ๋ฅ ์ถ๊ฐ * fix: swagger tags๋ฆฌ์คํธ ์์ * refactor: 1์ฐจ ํผ๋๋ฐฑ ๋ฐ์ * chore: ์๋ฌ ๋ฉ์ธ์ง ์์ * chore: ๋ถํ์ํ ์ค๋๊น ์ ๊ฑฐ * refactor: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ, ๋ฆฌํฉํฐ๋ง * refactor: swagger ๋ฆฌํฉํฐ๋ง * refactor: restTemplate ๋ฆฌํฉํฐ๋ง * feat: ๋ฉ๋ชจ ์์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๋ฉ๋ชจ ์ญ์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: swagger memo api, cors ์์ฑ * refactor: docker file ์์ * docs: dockerfile ์์ * docs: git ignore ์์ * feat: ํ๊ฒฝ๋ณ์ ์ถ๊ฐ * feat: ์๋๋ฐฐํฌ ์ค์ * refactor: git ignore ์์ * fix: dockerfile ์ค๋ฅ ์์ * fix: dockerfile ์ค๋ฅ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * docs: ํ์คํฌ ์ ์ ํ์ผ ์ถ๊ฐ * docs: ํ์คํฌ ์ ์ ํ์ผ ์ถ๊ฐ * NULL-124-์์ฐ์ด์๋ต-๋ฉ๋ชจ์ ์ฒด์กฐํ (#6) * refactor: ์ฝ๋ ๋ฆฌํฉํฐ๋ง * refactor: AI๋ฉ๋ชจ ์๋ต ์ฒ๋ฆฌ ์์ * refactor: AI๋ฉ๋ชจ ์์ฒญ ์์ * feat: ๋ฉ๋ชจ ๊ฒ์ ์์ฐ์ด ์๋ต ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๋ฉ๋ชจ ์ ์ฒด ์กฐํ ๊ธฐ๋ฅ ์ถ๊ฐ * docs: dev.yml git ignore์ ์ถ๊ฐ * fix: ๋ฉ๋ชจ ๊ฒ์ ํ์ ์์ * docs: ํ์คํฌ ์ ์ ํ์ผ ์ถ๊ฐ * fix: ์ * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * feat: ํ๊ฒฝ๋ณ์ ์ถ๊ฐ * fix: git ignore ์์ * fix: ๋๋ ํ ๋ฆฌ ์ญ์ * Revert "fix: git ignore ์์ " This reverts commit 50e25fe. * fix: ํ๊ฒฝ๋ณ์ ์ ๊ฑฐ * fix: ํ๊ฒฝ๋ณ์ ์ถ๊ฐ * Revert "fix: ์ํฌํ๋ก์ฐ ์์ " This reverts commit 0dc8077. * fix: git ignore ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * Revert "fix: ์ํฌํ๋ก์ฐ ์์ " This reverts commit 6e78804. * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ํ์คํฌ ์ ์ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ํ์คํฌ ์ ์ ์์ * fix: ์ํฌํ๋ก์ฐ ์์ * fix: ํ์คํฌ ์ ์ ์์ * fix: ์์ ์ ์ ์์ * fix: ์์ ์ ์ ์์ * fix: task ์ ์ ์์ * NULL-162-db-integrate (#8) * refactor: ๋ฉ๋ชจ, ํ๊ทธ ์ํฐํฐ ์ ์ * refactor: DTO ํ๋ ์์ * refactor: ๋ฉ๋ชจ ์ถ๊ฐ, ์ฐพ๊ธฐ ๊ธฐ๋ฅ ๋ฆฌํฉํฐ๋ง * chore: swaggger text ์์ * feat: cors ๊ฒฝ๋ก ์ถ๊ฐ * chore: tag ์ํฐํฐ ๊ฒฝ๋ก ์์ * fix: ์ค๋ฅ ์์ * fix: ํ์คํธ ์ ์ ์์ * fix: swagger 403 ์ค๋ฅ ์์ * NULL-169-be-memo-findAll-update-delete-swagger (#9) * feat: cors ๊ฒฝ๋ก ์ถ๊ฐ * refactor: ๋ฉ๋ชจ ์ ์ฒด์กฐํ, ์ญ์ ๋ฆฌํฉํฐ๋ง * refactor: ๋ฉ๋ชจ ์์ ๊ธฐ๋ฅ ๋ฆฌํฉํฐ๋ง * fix: ๋ฉ๋ชจ ์ฐพ๊ธฐ ์คํจ ์ค๋ฅ ์ํ์ฝ๋ ๋ณ๊ฒฝ * fix: ํ์คํธ ์ ์ ์์ * fix: ํ์คํฌ ์ ์ ์์ * fix: ํ์คํฌ ์ ์ ์์ * fix: ํ์คํฌ ์ ์ ์์ * feat: health check ์ถ๊ฐ * feat: health check ์ถ๊ฐ * feat: health check ์ถ๊ฐ * feat: health check ์ถ๊ฐ * fix: ํ์คํฌ ์ ์ ์์ * feat: ๋ฆฌ๋ทฐ์ด owner์ง์ * NULL-167-second-tag (#10) * refactor: 1์ฐจ ๋ฆฌํฉํฐ๋ง * refactor: 2์ฐจ ๋ฆฌํฉํฐ๋ง * feat: 2์ฐจ ํ๊ทธ ์์ฑ, ์ญ์ ๊ตฌํ * feat: ํ๊ทธid๋ก ๋ฉ๋ชจ ์กฐํ ๊ธฐ๋ฅ ๊ตฌํ * refactor: enumํ์ ๋ณ๊ฒฝ, childTagId๋ช ์ * chore: ๋ฉ์๋๋ช ๋ณ๊ฒฝ * feat: ํด๋์ค ํ๋ ๊ธฐ๋ณธ๊ฐ ์ค์ * fix: ๋น๋ ์ด๊ธฐํ ์์ * fix: test yml ์์ * NULL-197-get-tags (#11) * feat: ํ๊ทธ ์ ์ฒด ์กฐํ ์ถ๊ฐ * feat: api ๋ฌธ์ ์ถ๊ฐ * fix: json enum ์ง๋ ฌํ ์ฒ๋ฆฌ * feat: 2์ฐจ ํ๊ทธ ๋ฐํ (#12) * refactor: DTO ์ค๋ณต ํ๋ ๋ฆฌํฉํฐ๋ง (#13) * NULL-200-tags-depth (#14) * feat: tag ํ๋์ depth ์ถ๊ฐ * feat: tag ๊ณ์ธต๋ณ ์กฐํ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ai ์๋ฒ ์ฐ๋ ์ ๊น์ง ์์ ํธ์ถ ์ฒ๋ฆฌ * feat: ํ๊ฒฝ๋ณ์ ๋ณ๊ฒฝ * feat: task ์ ์ ์์ * NULL-200-tag-crud (#16) * feat: ํ๊ทธ crud controller ์์ฑ * feat: ํ๊ทธ ์์ฑ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ํ๊ทธ ์์ ์ญ์ ๊ธฐ๋ฅ ์ถ๊ฐ * fix: 1์ฐจ ํผ๋๋ฐฑ ๋ฐ์ * NULL-203-refactor-and-objectmapper (#18) * refactor: ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ ๋ณ๊ฒฝ * refactor: dto ๋ฆฌํฉํฐ๋ง * refactor: object mapper ์ ์ฉ * NULL-232-JWT (#19) * feat: jwt๋ก๊ทธ์ธ ํ์๊ฐ์ ๊ตฌํ * feat: yml ์ฒ๋ฆฌ * refactor: dto ์์ * refactor: ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ ๋ณ๊ฒฝ * feat: ๋ฆฌํ๋ ์ ํ ํฐ ๊ธฐ๋ฅ ๊ตฌํ * feat: ์ค๋ณต ์ด๋ฉ์ผ ์ฒ๋ฆฌ ๋ฐ ํค๋ ํ ํฐ ์ฒ๋ฆฌ * feat: ์ค์จ๊ฑฐ jwt ์ธ์ฆ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: DTO ์ด๋ ธํ ์ด์ ์ถ๊ฐ * feat: api ๋ฌธ์ ์ถ๊ฐ * feat: ์ ์ ์ปฌ๋ ์ ์กฐ๊ฑด ์ถ๊ฐ * fix: problem ์ฒ๋ฆฌ * refactor: bearer์ฒดํฌ ํจ์ ์ถ๊ฐ * fix: ํผ๋๋ฐฑ ๋ฐ์ * fix: config ์์ * fix: ymlํ์ผ ์์ (#21) * feat: secrets ์ถ๊ฐ * refactor: jwtUtil ์์ * NULL-254-memo-tag-schema (#20) * fix: cors ์ ํ * fix: timestamp ์ถ๊ฐ * feat: memo-tag-relation ์ถ๊ฐ * feat: memo-tag ์ปฌ๋ ์ ์์ * refactor: ์ ์ฒด ๋ก์ง ์์ * chore: ๋ถํ์ํ ํจ์ ์ ๊ฑฐ * feat: ํ๋๋ช ๋ณ๊ฒฝ * chore: ๊ฐํ ์ถ๊ฐ * NULL-232-JWT (#19) * feat: jwt๋ก๊ทธ์ธ ํ์๊ฐ์ ๊ตฌํ * feat: yml ์ฒ๋ฆฌ * refactor: dto ์์ * refactor: ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ ๋ณ๊ฒฝ * feat: ๋ฆฌํ๋ ์ ํ ํฐ ๊ธฐ๋ฅ ๊ตฌํ * feat: ์ค๋ณต ์ด๋ฉ์ผ ์ฒ๋ฆฌ ๋ฐ ํค๋ ํ ํฐ ์ฒ๋ฆฌ * feat: ์ค์จ๊ฑฐ jwt ์ธ์ฆ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: DTO ์ด๋ ธํ ์ด์ ์ถ๊ฐ * feat: api ๋ฌธ์ ์ถ๊ฐ * feat: ์ ์ ์ปฌ๋ ์ ์กฐ๊ฑด ์ถ๊ฐ * fix: problem ์ฒ๋ฆฌ * refactor: bearer์ฒดํฌ ํจ์ ์ถ๊ฐ * fix: ํผ๋๋ฐฑ ๋ฐ์ * fix: config ์์ * fix: ymlํ์ผ ์์ (#21) * feat: secrets ์ถ๊ฐ * refactor: jwtUtil ์์ * refactor: globalExceptionHandler ๋๋ ํ ๋ฆฌ ์์น ๋ณ๊ฒฝ * Revert "refactor: jwtUtil ์์ " This reverts commit 0a531a6. * Revert "chore: ๊ฐํ ์ถ๊ฐ" This reverts commit 44e5f8d. * N๏ฟฝULL-231-create-kakao-memos (#22) * feat: kakao-memos-craete contoller ์ถ๊ฐ * feat: service ๋ก์ง ๊ตฌํ * feat: resttemplate ๋ฐ dto ์์ฑ * Null 269 fix logic (#23) * fix: ์ด์ ๋ณ๊ฒฝ์ฌํญ ์ ์ฅ * fix: ์์ธ ๋ฉ์ธ์ง ์์ * feat: ํ๊ทธ์ ์์ ํ๊ทธ๋ฅผ ์ฌ๊ท์ ์ผ๋ก ๋ค์ด๊ฐ๋ฉฐ ๋ฉ๋ชจ ์กฐํ ๊ธฐ๋ฅ ๊ตฌํ * feat: error code ์ถ๊ฐ * chore: ๋น๋ฐ๋ฒํธ ์๋ฌ ๋ฉ์ธ์ง ๋ณ๊ฒฝ * feat: CI ๋์ * feature/CI-test (#24) * chore: import ์ ๊ฑฐ * chore: import ์์ * Null 283 response refactor (#25) * chore: ์คํ ๋ฐ ์ค๋๊น ์์ * chore: json snakecase * feat: ๋ฉ๋ชจ imageUrls ์์ฒญ๊ณผ ์์ฑ/์์ ์ผ์ ์๋ต ์ถ๊ฐ * feat: mongoConfig ์ถ๊ฐ(์์ฑ/์์ ์ผ์ ์๋ ์์ฑ) * chore: ๋ถํ์ํ import ์ ๊ฑฐ * feat: ๋ฉ๋ชจ ์ด๋ฏธ์ง ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ ์์ฑ/์์ ์ผ์ ์ถ๊ฐ * Null 292 email memo list (#26) * refactor: ํ์ผ url๋ก ์ฒ๋ฆฌํ๋๋ก ๋ก์ง ์์ * feat: cors ai server ์ถ๊ฐ * chore: ๋ถํ์ํ ํจ์,ํด๋์ค ์ ๊ฑฐ * feat: type ์ถ์ถ ์ถ๊ฐ * feat: ai ์ฝ๋ ๋ฆฌ๋ทฐ ์ถ๊ฐ (#27) * Null 295 api docs refactor and pagination (#28) * refactor: controller๋ณ๊ฒฝ * refactor: api doc ๋ณ๊ฒฝ * feat: dto ์์ฑ ๋ฐ ์์ * chore: ๋๋ ํ ๋ฆฌ๋ช ๋ณ๊ฒฝ * refactor: ์๋น์ค ์ฝ๋ ์์ 1 * chore: model ์์ฑ ๋ฐ ์์ * chore: inner dto ์์ * refactor: ๋ฉ๋ชจ ์ถ๊ฐ, ํ๊ทธ ์ถ๊ฐ ๋ฆฌํฉํฐ๋ง * refactor: ๋จ์ผ/๋ณต์ ๋ฉ๋ชจ ์ถ๊ฐ ๋ฐ ๋ฆฌํฉํฐ๋ง * chore: tag์ถ๊ฐ ์ฐจ๋จ * chore: AI ๋ช ์นญ ๋ณ๊ฒฝ * chore: ์ค๋ฅ ์์ * refactor: ๋ฉ๋ชจ ๊ฒ์, ์ ๋ฐ์ดํธ ์์ * chore: ์ค๋ฅ ํด๊ฒฐ * chore: ai ์๋ฒ ์ค๋ฅ ํด๊ฒฐ * refactor: ai ์๋ํฌ์ธํธ ๋ณ๊ฒฝ ๋ฐ์ * chore: ๋ฉ๋ชจ์ ํ๊ทธ ์ถ๊ฐ ๊ธฐ๋ฅ ์ญ์ * chore: ๋ฉ๋ชจ์ ์ฐ๊ฒฐ๋ ํ๊ทธ ์ฐพ๋ ๋ฉ์๋ ์ถ๊ฐ * chore: ์ค๋๊น ์ ๊ฑฐ * chore: ํด๋๋ช ๋ณ๊ฒฝ * feat: ํ์ด์ง๋ค์ด์ ๊ตฌํ * fix: ๋ฃจํธ ํ๊ทธ api์ ๊ฑฐ * chore: ์ฌ์ฉ์ํ๋ import๋ฌธ, class ์ญ์ * fix: ai api ์์ * chore: ์์ ์ ์ ์์ด๋ ์ถ๊ฐ * feat: ํ์๊ฐ์ ์ ๋ฃจํธํ๊ทธ ์์ฑ ๊ธฐ๋ฅ ์ถ๊ฐ * refactor: id๋ฅผ UUIDํ์์ผ๋ก ๋ณ๊ฒฝ * refactor: builderํ์ ๋์ ์์ฑ์ ์ฌ์ฉ * chore: UUID ๋ณ๊ฒฝ ์ ์ฒด ์ ์ฉ * chore: ai code review ํ๊ฒฝ๊ฐ ์์ * fix: ํผ๋๋ฐฑ ๋ฐ์1 * fix: ๋ฉ๋ชจ ์ถ๊ฐ ์ค๋ฅ ์์ * Origin/null 311 divide user db (#29) * feat: ํ ํฐ์ ์ ์ id ์ถ๊ฐ * feat: controller์ userId ๋งค๊ฐ๋ณ์ ์ถ๊ฐ * feat: user๋ณ๋ก ๋ฐ์ดํฐ ์ ๊ทผ ๋ถ๋ฆฌ * fix: ai์ฝ๋๋ฆฌ๋ทฐ ์ ํ * fix: ai ์ฝ๋๋ฆฌ๋ทฐ ์์ * fix: ai ์ฝ๋๋ฆฌ๋ทฐ ์์ 2 * fix: ai ์ฝ๋๋ฆฌ๋ทฐ ์์ 3 * fix: ai ์ฝ๋๋ฆฌ๋ทฐ ์์ 4 * fix: ai์ฝ๋๋ฆฌ๋ทฐ reopen์์๋ง ์ ์ฉ * fix: ๋ฉ๋ชจ ์ถ๊ฐ ์ค๋ฅ ์์ * refactor: api doc ์์ * chore: ํด๋์ค๋ช ๋ณ๊ฒฝ * chore: user api ์์ * fix: ์ค๋ฅ ํด๊ฒฐ * fix: health check (#30) * fix: health check ์์ * fix: ai server uri ์์ * feat: git ignore์ yml ์ถ๊ฐ * feat: secret manager์์ yml ์ฝ์ด์ค๊ธฐ ์ถ๊ฐ * fix: actions ์ค๋ฅ ํด๊ฒฐ * fix: actions ์ค๋ฅ ํด๊ฒฐ * Null 352 feedback refactor (#31) * refactor: ์ด๋ฒคํธ ๋ฆฌ์ค๋ ์์น ๋ณ๊ฒฝ * chore: ๋๋ ํ ๋ฆฌ๋ช ๋ณ๊ฒฝ * refactor: ํ๊ทธ ์ฃ์ง, ๋ฆด๋ ์ด์ ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ ๋ณ๊ฒฝ * chore: ์์ userId ์์ * refactor: CD_stage ์์ * refactor: CD_stage ์์ * chore: task definition json ํ์ผ ์ด๋ฆ ๋ณ๊ฒฝ * Null 359 recent memos (#32) * chore: ํด๋์ค๋ช ๋ณ๊ฒฝ * refactor: ํ์ด์ง๋ค์ด์ ์์ * fix: ํ๊ทธ๋ณ ๋ฉ๋ชจ ๋ฆฌ์คํธ ์กฐํ ์ค๋ฅ ์์ * feat: ์ ๋ ฌ ๊ธฐ์ค ์ถ๊ฐ * Null 358 email verfication (#33) * feat: api doc ์์ฑ ๋ฐ ์ค์ ํ์ผ ์์ * feat: dto ๋ฐ controller ์์ฑ * feat: ์ด๋ฉ์ผ ์ ์ก ๊ธฐ๋ฅ ๊ตฌํ * feat: DB ๋ฐ ์์ธ์ฒ๋ฆฌ ๊ตฌํ * fix: test yml ์์ * refactor: dto ๋ฐ ์์ธ ์์ * feat: ์ ์ ์ ๋ณด์ ์ด๋ฆ, ์ ํ๋ฒํธ ์ถ๊ฐ * NULL-354 feat: ๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ, ํํด ๊ธฐ๋ฅ ์ถ๊ฐ * chore: ํด๋ํฐ ๋ฒํธ ์ ๋ณด ์ญ์ * fix: ์ค๋ฅ ์์ * fix: ํผ๋๋ฐฑ ๋ฐ์1 * fix: ํผ๋๋ฐฑ ๋ฐ์2 - ํ์ ํํด์ ๋ชจ๋ ๋ฐ์ดํฐ ์ญ์ * fix: ํผ๋๋ฐฑ ์ ์ฉ 3 * fix: ์ด๋ฉ์ผ ์ค๋ณต ์ฒดํฌ ์ถ๊ฐ * fix: ํ์๊ฐ์ , ๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ ์ ์ด๋ฉ์ผ ์ฒดํฌ ์ถ๊ฐ * fix: ํผ๋๋ฐฑ ๋ฐ์ 4 * Null 363 refactor (#34) * fix: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * refactor: objectsํจ์๋ก ํต์ผ * refactor: ์ฝ๋ ๋ฆฌํฉํฐ๋ง * refactor: ๋ค์ด๋ฐ ๋ณ๊ฒฝ * refactor: ๊ตฌ์ฑ ๊ฐ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * refactor: ํด๋๋ช ๋ณ๊ฒฝ * fix: test ๊ตฌ์ฑ ๊ฐ ์์ * fix: ํํฐ์ฒด์ธ ์ค๋ฅ ํด๊ฒฐ * fix: ํํฐ์ฒด์ธ ์ค๋ฅ ํด๊ฒฐ * Null 391 exception refactor (#36) * feat: ์๋ฌ ํธ๋ค๋ฌ ๊ฐํธ * refactor: ์ปค์คํ ์์ธ๋ก ๋ณ๊ฒฝ * refactor: jwt ์์ธ ์์ * refactor: resttemplate ์์ธ ์์ * NULL-393 fix: 403 ์๋ฌ ํด๊ฒฐ * refactor: ์๋ฌ ์ฝ๋ ์์ * fix: ์ค๋ฒ๋ผ์ด๋ฉ ๋ฌธ์ ํด๊ฒฐ * fix: errorcode to string * Null 384 asynchronous memo tag (#35) * fix: ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * refactor: objectsํจ์๋ก ํต์ผ * refactor: ์ฝ๋ ๋ฆฌํฉํฐ๋ง * refactor: ๋ค์ด๋ฐ ๋ณ๊ฒฝ * refactor: ๊ตฌ์ฑ ๊ฐ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * refactor: ํด๋๋ช ๋ณ๊ฒฝ * fix: test ๊ตฌ์ฑ ๊ฐ ์์ * feat: ๋ฉํ๋ฐ์ดํฐ ํ๋ ์ถ๊ฐ * refactor: ๊ฒ์ ๊ธฐ๋ฅ ๋ฆฌํฉํฐ๋ง * feat: ํ๊ทธ ๋ฐํ ๊ตฌํ * feat: ๋ฉ๋ชจ ํ๊ทธ ๊ตฌ์กฐ ์์ฒญ ๋ก์ง ์์ฑ * feat: ๋ฉ๋ชจ ํ๊ทธ ๊ตฌ์กฐ ์์ฑ ๋ก์ง ์์ฑ * NULL-395 fix: ํ์ด์ง๋ค์ด์ ๊ธฐ๋ณธ ์์ฑ์ ์ค๋ฅ ์์ * feat: ๋ฉ๋ชจ ํ๊ทธ ๊ตฌ์กฐ ์์ฑ ๋น๋๊ธฐ ์ฒ๋ฆฌ * fix: ๋น๋๊ธฐ ์ค๋ฅ ์ฒ๋ฆฌ ๋ฐ ์ด๋ฒคํธ ๋ฆฌ์ค๋ ์์ * chore: ๋ถํ์ํ ๋๋ฒ๊น ์ถ๋ ฅ ์ ๊ฑฐ * refactor: ๋ค์ด๋ฐ ์์ * fix: 401์๋ฌ๊ฐ 500์ผ๋ก ๋จ๋ ๋ฌธ์ ํด๊ฒฐ * refactor: ๋งค๊ฐ๋ณ์ ๋ค์ด๋ฐ ๋ณ๊ฒฝ * Null 383 hotfix memo authorization (#37) * chore: import ์ ๊ฑฐ * fix: ๋ฉ๋ชจ ์ ์ฅ ์ค๋ฅ ์์ * refactor: ์๋ฌ ์๋ต ์์ * refactor: ์ธ์ฆ ๊ด๋ จ ์๋ฌ ์๋ต ์์ * chore: ๋๋ ํ ๋ฆฌ ์์น ๋ณ๊ฒฝ ๋ฐ ๋ถํ์ํ ์ฝ๋ ์ ๊ฑฐ * feat: ๋น๋๊ธฐ ๋ฉ์๋ ์๋ฌ ํธ๋ค๋ง ์ถ๊ฐ * chore: ํ๋ ์ ๊ฑฐ * chore: ๋๋ ํ ๋ฆฌ ์์น ๋ณ๊ฒฝ * chore: ์ค๋๊น ์์ * Null 322 feat logging (#38) * refactor: CI ์์ * fix: CI ์์ * fix: CI ์์ * fix: CI ์์ * feat: memo service ๋ก๊น ์ถ๊ฐ * rafactor: ์๋ฌ detail ์์ * feat: memoTagRelation service ๋ก๊น ์ถ๊ฐ * feat: tag๊ด๋ จ service ๋ก๊น ์ถ๊ฐ * feat: user service ๋ก๊น ์ถ๊ฐ * refactor: user service ๋ฆฌํฉํฐ๋ง * Null 386 search history (#39) * refactor: CI ์์ * fix: CI ์์ * fix: CI ์์ * fix: CI ์์ * feat: memo service ๋ก๊น ์ถ๊ฐ * rafactor: ์๋ฌ detail ์์ * feat: memoTagRelation service ๋ก๊น ์ถ๊ฐ * feat: tag๊ด๋ จ service ๋ก๊น ์ถ๊ฐ * feat: user service ๋ก๊น ์ถ๊ฐ * refactor: user service ๋ฆฌํฉํฐ๋ง * refactor: ๋ค์ด๋ฐ ๋ฐ ์์ฐ๋ ์ํ์ฝ๋ ์ ๊ฑฐ * feat: search history controller ์ถ๊ฐ * feat: service repo ์ถ๊ฐ * feat: ๋ก๊น ์ถ๊ฐ * chore: ๋ถํ์ํ import ์ ๊ฑฐ * chore: ๋ณ์๋ช ๋ณ๊ฒฝ * fix: ์ด๋ฉ์ผ ์ค๋ณต ์์ฒญ์ ์ค๋ฅ ์์ (#41) * Null 412 get user info (#42) * fix: ์ด๋ฉ์ผ ์ค๋ฅ ์์ * feat: api doc ์ถ๊ฐ ๋ฐ profile image url ํ๋ ์ถ๊ฐ * feat: ์ ์ ์ ๋ณด ์กฐํ ๊ธฐ๋ฅ ์ถ๊ฐ * feat:์ ์ ์ ๋ณด ์ ๋ฐ์ดํธ ๊ธฐ๋ฅ ์ถ๊ฐ * fix: ์ด๋ฉ์ผ ์ธ์ฆ ์ค๋ฅ ์์ * fix: ์ด๋ฉ์ผ ๋น๋ฌธ์์ด ๊ฒ์ฆ ์ถ๊ฐ (#43) * Null 402 ํ์ผ ์ถ๊ฐ์ url ๋ฐํ ๊ธฐ๋ฅ ์ถ๊ฐ (#40) * refactor: ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ ๋ณ๊ฒฝ * feat: ์ด๋ฏธ์ง ์ถ๊ฐ์ url ๋ฐํ ๊ธฐ๋ฅ ์ถ๊ฐ * test: ํ ์คํธ yml ์์ * feat: ๋ฉ๋ชจ ์ถ๊ฐ์ ๋ด์ฉ, ์ด๋ฏธ์ง ๊ฒ์ฆ ์ปค์คํ ์ ๋ํ ์ด์ ์ถ๊ฐ * Null 421 feature metadata embedding (#44) * feat: ๋ฉํ๋ฐ์ดํฐ ์๋ฒ ๋ฉ ์ถ๊ฐ * refactor: ์ด๋ฉ์ผ ๋ฉ๋ชจ ๋ถ๋ฌ์ค๊ธฐ ์์ ์ญ์ * feat: image urls ํ๋ ์ถ๊ฐ * Null 430 refactor pagination (#45) * refactor: ํ๊ทธ๋ณ ๋ฉ๋ชจ ํ์ด์ง ์กฐํ ์์ * refactor: ํ๊ทธ๋ณ ์์ ํ๊ทธ ๋ฉ๋ชจ ํ์ด์ง ์กฐํ ์์ * reafactor: tag service ์์ * refactor: ํผ๋๋ฐฑ ๋ฐ์ * Null 424 prod cd (#47) * feat: prod cd ์ถ๊ฐ * chore: stage cd ์์ * chore: ๋ธ๋์น ๋ณ๊ฒฝ * chore: stage task definition ์์ * Null 422 hotfix pagination (#48) * fix: json snake case * fix: ํ์ฌ ํ๊ทธ ๋ฉ๋ชจ๋ ๋งํฌ๋ ๊ฒ๋ง ์ ๊ณต๋๋๋ก ์์ * chore: ํจ์๋ช ์์ * chore: ๋ณ์๋ช ์์ * chore: json snake case ์์ * fix: ์์ํ๊ทธ์ ์์ํ๊ทธ ๋ฐํ * fix: ๋ ์ง ์ญ์ ์ ๋ ฌ ์์ * Null 400 rabbitmq ๋์ ๋ฐ ๋ฉ๋ชจ ์์ฐจ์ฒ๋ฆฌ (#46) * feat: rabbitmq ๋์ ๋ฐ ๋ฉ๋ชจํ๊ทธ ๊ตฌ์กฐ ์์ฑ์ ์ ์ฉ * Null 424 prod cd (#47) * feat: prod cd ์ถ๊ฐ * chore: stage cd ์์ * chore: ๋ธ๋์น ๋ณ๊ฒฝ * chore: stage task definition ์์ * Null 422 hotfix pagination (#48) * fix: json snake case * fix: ํ์ฌ ํ๊ทธ ๋ฉ๋ชจ๋ ๋งํฌ๋ ๊ฒ๋ง ์ ๊ณต๋๋๋ก ์์ * chore: ํจ์๋ช ์์ * chore: ๋ณ์๋ช ์์ * chore: json snake case ์์ * fix: ์์ํ๊ทธ์ ์์ํ๊ทธ ๋ฐํ * fix: ํผ๋๋ฐฑ ๋ฐ์ * fix: ๋ ์ง ์ญ์ ์ ๋ ฌ ์์ * chore: ๋ถํ์ํ ๋น๋๊ธฐ ์ด๋ฒคํธ๋ฆฌ์ค๋ ์ ๊ฑฐ * feat: ์คํจ์ ๋ฉ์์ง dlx๋ก ์ ์ก * fix: test yml ์์ * feat: ๋ค์ค ํ์ผ ์ ๋ก๋ ์ถ๊ฐ * Null 457 feature file type validation (#49) * feat: ํ์ผ ํ์ ๊ฒ์ฆ ์ปค์คํ ์ ๋ํ ์ด์ ์ถ๊ฐ * feat: ์ปค์คํ ์ ๋ํ ์ด์ ์ ์ฉ * feat: ๊ฒ์ฆ๋ก์ง ์์ ๋ฐ ์ ์ฉ * refactor: ํ์ผ ํ์ ์์ * Null 447 refactor pagination (#50) * refactor: ํ๊ทธ ๋ฆด๋ ์ด์ ์ ๊ฑฐ * refactor: ๋ฉ๋ชจ ํ์ด์ง๋ค์ด์ ๋ฆฌํฉํฐ๋ง * refactor: ํ๊ทธ ํ์ด์ง๋ค์ด์ ๋ฆฌํฉํฐ๋ง * Null 457 feature file type validation (#49) * feat: ํ์ผ ํ์ ๊ฒ์ฆ ์ปค์คํ ์ ๋ํ ์ด์ ์ถ๊ฐ * feat: ์ปค์คํ ์ ๋ํ ์ด์ ์ ์ฉ * feat: ๊ฒ์ฆ๋ก์ง ์์ ๋ฐ ์ ์ฉ * refactor: ํ์ผ ํ์ ์์ * fix: ํผ๋๋ฐฑ ๋ฐ์ * chore: ์ค๋๊น ์ ๊ฑฐ * refactor: ๋ฐฐ์น ์ฒ๋ฆฌํ๋๋ก ์์ * chore: ์ฃผ์ ์ถ๊ฐ * chore: ๋ค์ด๋ฐ ๋ณ๊ฒฝ * chore: root tag ์ฒ๋ฆฌ * fix: ๋ฉ๋ชจ ์์ฑ์ ์ด๋ฏธ์ง ์์ด๋ ์ฌ๋ผ๊ฐ๋๋ก ์์ * Null 418 feature memo tag deletion (#51) * refactor: ํ๊ทธ ์ญ์ ๋ก์ง ๋ฆฌํฉํฐ๋ง * chore: ์ค๋๊น ์์ * chore: ๋ฉ๋ชจ id๊ธฐ๋ฐ ์ญ์ ๋ก ์์ * refactor: ๋ฉ๋ชจ ์ฒ๋ฆฌ ๋ก์ง ๋ฆฌํฉํฐ๋ง (#52) * fix: ๊น ์ถฉ๋ ํด๊ฒฐ * refactor: stack ๋์ queue ์ฌ์ฉ * refactor: linkedํ๊ทธ ํ๋ฒ์ ์ฒ๋ฆฌ * chore: ํผ๋๋ฐฑ ๋ฐ์ * fix: ๋ฉ๋ชจ ์ถ๊ฐ ์ ๋ฆด๋ ์ด์ ์์ฑ ์ค๋ฅ ์์ (#53) * chore: ํ์ ์๋ ๋๋ฒ๊น ๊ธฐ๋ก ์ญ์ * Null 522 hotfix delete tag (#54) * fix: ํ๊ทธ ์ญ์ ์ ํ๊ทธ ์ฃ์ง ์ ๋ฐ์ดํธ ์๋์ด ๋ฐ์ํ๋ ์ค๋ฅ ์์ * fix: reverse tag edge ๋๊ธฐํ * fix: ํ์๊ฐ์ ์ tag edge ์์ฑ (#55) * Null 476 update memo metadata (#56) * feat: ๋ฉ๋ชจ ์ ๋ฐ์ดํธ ์ ๋ฉํ๋ฐ์ดํฐ ์ถ๊ฐ * feat: ๋ฉ๋ชจ api valid ์ถ๊ฐ * fix: ๋น๋ฐ๋ฒํธ ํน์๋ฌธ์ ๋ณ๊ฒฝ * fix: ํผ๋๋ฐฑ ๋ฐ์ * Null 476 update memo metadata (#58) * fix: ํผ๋๋ฐฑ ๋ฐ์ 2 * fix: ๋ฉ๋ชจ ์ ๋ฐ์ดํธ ์์ * fix: ํ๊ทธ ํ๋ฒ์ ์ ์ฅํ๋๋ก ์์ * chore: ๋ฃจํธํ๊ทธ ์๋ฒ ๋ฉ ์ ๊ฑฐ * fix: url ์์ * Null 474 feature child tags (#59) * feat: api doc & controller ์์ฑ * feat: service ๋ก์ง ์ถ๊ฐ * chore: ๋ณ์๋ช ๋ณ๊ฒฝ * fix: ๋ฃจํธํ๊ทธ์ ์์ ํ๊ทธ ๋ฐํ (#61) * Null 468 delete file (#63) * feat: api doc & controller ์์ฑ * feat: service ๋ก์ง ์ถ๊ฐ * chore: ๋ณ์๋ช ๋ณ๊ฒฝ * refactor: ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ ๋ฆฌํฉํฐ๋ง * feat: rabbitmq producer & consumer & message ์์ฑ * feat: ์์กด์ฑ ์ ๋ฐ์ดํธ * feat: ํ์ผ ์ญ์ ๋ก์ง ์ถ๊ฐ ๋ฐ rabbit mq ์ค์ ๊ฐ ๋ณ๊ฒฝ * feat: ๋ฉ๋ชจ ์ ๋ฐ์ดํธ ์ ํ์ผ ์ญ์ ๋ก์ง ์ถ๊ฐ * feat: ํ๊ทธ ๋ฐ ๋ฉ๋ชจ ์ญ์ ์ ํ์ผ ์ญ์ ๋ก์ง ์ถ๊ฐ * fix: s3 key ์์ * feat: ์ ์ ์ ์ ์ฒด ํ์ผ ์ญ์ ๋ก์ง ์ถ๊ฐ * fix: test yml ์์ * fix: ์ค๋ฅ ์์ * fix: test yml์์ * Null 473 feature memo update new tags (#64) * feat: api doc & controller ์์ฑ * feat: service ๋ก์ง ์ถ๊ฐ * chore: ๋ณ์๋ช ๋ณ๊ฒฝ * refactor: ๋๋ ํ ๋ฆฌ ๊ตฌ์กฐ ๋ฆฌํฉํฐ๋ง * feat: rabbitmq producer & consumer & message ์์ฑ * feat: ์์กด์ฑ ์ ๋ฐ์ดํธ * feat: ํ์ผ ์ญ์ ๋ก์ง ์ถ๊ฐ ๋ฐ rabbit mq ์ค์ ๊ฐ ๋ณ๊ฒฝ * feat: ๋ฉ๋ชจ ์ ๋ฐ์ดํธ ์ ํ์ผ ์ญ์ ๋ก์ง ์ถ๊ฐ * feat: ํ๊ทธ ๋ฐ ๋ฉ๋ชจ ์ญ์ ์ ํ์ผ ์ญ์ ๋ก์ง ์ถ๊ฐ * fix: s3 key ์์ * feat: ์ ์ ์ ์ ์ฒด ํ์ผ ์ญ์ ๋ก์ง ์ถ๊ฐ * fix: test yml ์์ * feat: ๋ฉ๋ชจ ์์ ๋ฐ ํ๊ทธ ์ฌ์์ฑ api doc & controller & dto ์์ฑ * feat: ๋ฉ๋ชจ ์์ ๋ก์ง ์ถ๊ฐ * feat: snack case๋ก ๋ณ๊ฒฝ * feat: ์ ์ ๋ํดํธ ํ๋กํ ์ด๋ฏธ์ง ์ถ๊ฐ * fix: ํผ๋๋ฐฑ ๋ฐ์ * chore: ๋ค์ด๋ฐ ๋ณ๊ฒฝ * chore: ๋ค์ด๋ฐ ๋ณ๊ฒฝ * hotfix: ํ ํฐ ํ์ฉ * hotfix: ํ ํฐ ํ์ฉ * fix: cors properties ์์ * fix: cors ์์ * fix: cors ์์ * Null 553 divide search api (#65) * feat: api doc & controller & dto ์ถ๊ฐ * feat: service ai๊ธฐ๋ฐ ๋ฉ๋ชจ ๊ฒ์ ๋ก์ง ๊ตฌํ * feat: resttemplate ai๊ธฐ๋ฐ ๋ฉ๋ชจ ๊ฒ์ ๋ก์ง ๊ตฌํ * feat: resttemplate db๊ธฐ๋ฐ ๋ฉ๋ชจ ๊ฒ์ ๋ก์ง ๊ตฌํ * feat: ๊ฒ์ ํ์คํ ๋ฆฌ ๋ก์ง ๊ตฌํ * chore: camel case ์์ * chore: ์์ฑ๋ช ์์ * chore: ๊ณตํต ๋ก์ง ํจ์ํ * fix: ์ ์ฝ์กฐ๊ฑด ์์ * Null 557 feature voice url (#66) * feat: ๋ฉํ๋ฐ์ดํฐ ํ๋ ์ถ๊ฐ * feat: ์์ฑ ๋ฉ๋ชจ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ์ ์ฝ์กฐ๊ฑด ์์ * feat: ์์ฑ ํ์ผ ์ญ์ ๊ธฐ๋ฅ ์ถ๊ฐ * feat: ๋ฉ๋ชจ ์ญ์ ์ ์์ฑ ํ์ผ๋ ์ญ์ ์ถ๊ฐ * feat: ์์ฑ ํ์ผ ํ์์ ์ถ๊ฐ * Null 535 feature distribution lock (#67) * git rebase * feat: ๋ฉ๋ชจ ์ญ์ ์ ์์ฑ ํ์ผ๋ ์ญ์ ์ถ๊ฐ * feat: redisson ๊ธฐ๋ณธ ์ธํ * temp * NULL-536-feat: ๋ฉ๋ชจ ์ ๋ฆฌ ๋ถ์ฐ์ฒ๋ฆฌ๋ฝ ๊ตฌํ * feat: redis password ์ ์ฉ ๋ฐ test yml ์์ * fix: ํ์ผ ์ญ์ ํ๋ ์์ * fix: test yml ์์ * fix: ํผ๋๋ฐฑ ๋ฐ์ * Null 566 hotfix delete tag (#69) * chore: ๋ก๊น ๋ณ๊ฒฝ * fix: ํ๊ทธ ์ญ์ ์ ์ค๋ฅ ์์ * fix: ํ๊ทธ ์ญ์ ์ ์ค๋ฅ ์์ * Null 426 feature add memos (#68) * feat: api doc & controller & dto ์ถ๊ฐ * fix: ํผ๋๋ฐฑ ๋ฐ์ * feat: ๋น๋๊ธฐ ์๋ฌ ํธ๋ค๋ง ์ถ๊ฐ * feat: email๋ก ๋ฉ๋ชจ ๋ฆฌ์คํธ ์ถ๊ฐ ๊ธฐ๋ฅ ์์ฑ * fix: ๋น๋๊ธฐ ์๋ฌ ํธ๋ค๋ง ์์ (#70) * fix: jackson๋ผ์ด๋ธ๋ฌ๋ฆฌ์์ ์ ์๋์ง ์์ ํ๋๋ฅผ json์ java ๊ฐ์ฒด๋ก ๋ณํ์ ์ค๋ฅ ์์ (#71) * Null 585 hotfix update memo tags (#72) * chore: ์๋ฌ ๋ฉ์ธ์ง ๋ณ๊ฒฝ * fix: json ํ๋ snake type์ผ๋ก ์์ * fix: ๋ฉ๋ชจ upsert๋ก ์์ * feat: history ๋ฐํ์ id๋ ๋ฐํ (#73) * Null 618 faeture get parent tags (#74) * chore: ๊ฒ์ํ์คํ ๋ฆฌ ์กฐํ์ ์ฟผ๋ฆฌ ์ญ์ * feat: api doc & controller ์์ฑ * feat: ์กฐ์ ํ๊ทธ ์กฐํ ๋ก์ง ์์ฑ * feat: ํ๊ทธ ์๋ต์ ๋ฉํ๋ฐ์ดํฐ ์ถ๊ฐ (#75) * feat: ํ๊ทธ ์๋ต์ ๋ฉํ๋ฐ์ดํฐ ์ถ๊ฐ * feat: ํ๊ทธ ์ฌ์์ฑ ์์๋ ๋ฉํ๋ฐ์ดํฐ ๋ฐํ ์ถ๊ฐ * fix: ๊ฒ์ ํ์คํ ๋ฆฌ ์กฐํ ์ค๋ฅ ์์ (#76) * Null 656 feature create memo tag (#77) * feat: api doc & controller & dto ์ถ๊ฐ * feat: ์์ํ๊ทธ ์์ฑ ์ถ๊ฐ * feat: ํน์ ํ๊ทธ๋ฅผ ๊ฐ์ง ๋ฉ๋ชจ ์์ฑ ์ถ๊ฐ * chore: uri & ๋ฉ์๋๋ช ๋ณ๊ฒฝ * fix: ์ ํจํ mime type ๊ฒ์ฌ ์์ (#79) * Null 628 refactor search history (#80) * chore: ๋๋ ํ ๋ฆฌ ์์น ๋ณ๊ฒฝ * refactor: ๊ฒ์์ regex ์์ฐ๋๊ฒ ๋ฐ์ * refactor: ๊ฒ์์ ๋ฉ๋ชจ ์กฐํํ ๋ ์์๋๋ก ๋์ค๋๋ก ์์ * refactor: ๋ฉ๋ชจ ํ์คํ ๋ฆฌ ์ ์ฅ์ ์๋ต ๋ฉ๋ชจids๋ก ์ ์ฅํ๊ฒ ์์ * refactor: ๋ฉ๋ชจ ํ์คํ ๋ฆฌ ์กฐํ ์์ * refactor: ๋ฉ๋ชจ ํ์คํ ๋ฆฌ ์กฐํ ์๋ ๊ฐ์ * fix: ๊ฒ์ ํ์คํ ๋ฆฌ ์ ์ฅ์ memoIds null์ผ๊ฒฝ์ฐ ๋น๋ฐฐ์ด๋ก ๋ณํ * fix: ๋ฃจํธ ํ๊ทธ id๊ฐ ๋๋๋ก ์์
๐ ์์ ๋ด์ฉ
๐ฌ ๋ฆฌ๋ทฐ ์ค์ ์ฌํญ