-
Notifications
You must be signed in to change notification settings - Fork 1
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
[๐ Feature] ํ์ ๋ผ์ธ์ฉ ๋ชฉํ ์กฐํ API ๊ฐ๋ฐ - Pagination ๋ฐฉ์ offset ๊ธฐ๋ฐ์ผ๋ก ๋ณ๊ฒฝ #243
Conversation
Pagination ๋ฐฉ์ Offset ๊ธฐ๋ฐ์ผ๋ก ๋ฐ๋๊ฒ ๋ ์ด์ ๊ฐ ๊ถ๊ธํฉ๋๋ค! ํน์ ์ค๋ช ํด์ฃผ์ค ์ ์์๊น์? ์ ๊ฐ ํ์ด์ง๋ค์ด์ ๋ฐฉ์์ ๋ํด ์ ๋ชจ๋ฅด์ง๋ง, ์ค๋ ์์นจ ๋ณด๋ด์ฃผ์ จ๋ ์๋ฃ์๋ ๋ฌดํ ์คํฌ๋กค ์ํฉ์์ ์ปค์ ๊ธฐ๋ฐ ๊ตฌํ์ด ์ข๋ค๋ ์ด์ผ๊ธฐ๋ฅผ ๋ดค๋ ๊ฒ ๊ฐ์ ์ง๋ฌธ ๋๋ฆฝ๋๋ค ใ ใ |
@binary-ho |
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.
๐
return PaginationResult.from( | ||
lifeMap.goals.size, | ||
goals.transform { | ||
goals.map { |
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.
์ฌ๊ธฐ ๋ณต๋ถํ๋ค๊ฐ ์๋ ๋ฐํ์ชฝ์ด๋ ์ค๋ณต์ฝ๋ ๋๋ฏ~~
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.
์!!! ใ
ใ
ใ
ใ
ใ
ใ
๊ฐ์ฌํฉ๋๋ค ๐
val contents: List<T>, | ||
val nextCursor: CursorType?, | ||
val nextCursor: Long?, |
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.
next๊ฐ ์๋ ๊ฒฝ์ฐ๋ ์ฒซํ์ด์ง๋ฅผ ๋ปํ๋๊ฑด๊ฐ?
๋ง์ฝ ์ฒซํ์ด์ง๋ผ๋ฉด LONG MAX(MIN) VALUE ์ ํ ๋นํ๋๊ฑด ์ด๋จ๊น?
์ต๋ํ null ์ ํ์ฉํ์ง ์๋ ๋ฐฉํฅ์ผ๋ก๊ฐ๋๊ฒ ์ข์๊ฒ๊ฐ์~~
null ์ด ๋ค์ด๊ฐ๋ ๊ฒฝ์ฐ๋ผ๋ฉด ์ด์ฉ์์๊ณ ใ ใ
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.
ํ์ฌ pagination ์์ฒญ์ ๊ฒฐ๊ณผ๊ฐ ๋ง์ง๋ง ํ์ด์ง์ผ ๊ฒฝ์ฐ(isLast = true) nextCursor๋ฅผ null๋ก ๋ณด๋ด๊ณ ์๋ ์ํฉ์
๋๋ค!
๋ง์ฝ null์ด ์๋ ๊ฐ์ ๋ฃ๋๋ค๋ฉด -1? ๊ณผ ๊ฐ์ ๊ฐ์ผ๋ก nextCursor๊ฐ ์๋ค๋ ๊ฑธ ๋ํ๋ผ ์ ์์ ๊ฒ ๊ฐ์ต๋๋ค.
null์ด๋ -1 ํน์ ๋ค๋ฅธ ๊ฐ ์ค์ ํ๋ ์ฌ์ฉํ๋ฉด ์ข์ ๊ฒ ๊ฐ์๋ฐ ์๊ฒฌ ๋ถํ๋๋ฆฝ๋๋ค~!
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.
LGTM!
* feat: remove forward header optiion * refactor : birth ๊ด๋ จ ์ ์ ์ ๋ณด ์ ๋ฐ์ดํธ API์ birth๋ฅผ nullable๋ก ๋ณ๊ฒฝ (#206) (#207) * feat(#209): spring security authorization_request_not_found ์์ (#210) * [๐ Feature] Goal ๋๊ธ API ๊ฐ๋ฐ (#208) * feat : ๋๊ธ ์ํฐํฐ์ repository ์์ฑ (#196) * feat : Goal ๋๊ธ ์ค๋ฆ์ฐจ์ ์ ์ฒด ์กฐํ ๋ฉ์๋ ๊ตฌํ (#196) * feat : Goal ๋๊ธ ์์ฑ ์ญ์ ๋ฉ์๋ ๊ตฌํ (#196) * feat : Goal์ ๋ง์ง๋ง ๋๊ธ Read ์๊ฐ์ ์ ์ฅํ๋ GoalCommentReadTime ๊ตฌํ (#196) * feat : Goal์ ์์ฑ์๊ฐ ์ฝ์ง ์์ ๋๊ธ์ด ์๋์ง ํ์ธํ๋ ๋ฉ์๋ ๊ตฌํ (#196) * feat : ๋น๋๊ธฐ์ ์ผ๋ก ๋ง์ง๋ง ๋๊ธ ํ์ธ ์๊ฐ์ updateํ๋ ๋ฉ์๋ ๊ตฌํ (#196) * ktlint formatting * refactor : ๋ง์ง๋ง ๋๊ธ Read ์๊ฐ์ ๋ถ๋ฆฌ๋ ํ ์ด๋ธ์ด ์๋ Goal์ด ๊ฐ๋๋ก ๋ณ๊ฒฝ (#196) * feat : ๋๊ธ ์กฐํ์ ์์ฒญ์๊ฐ Goal์ ์ฃผ์ธ์ด๋ผ๋ฉด comment read time์ updateํ๋ ์ด๋ฒคํธ ๋ฐํ (#196) * test : Goal ํ๋ ์ถ๊ฐ์ ๋ฐ๋ฅธ ํ ์คํธ ์ฝ๋ ๋ณ๊ฒฝ (#196) * refactor : CoreApiException์ด ์ง์ errorMessage๋ฅผ ์ ๋ ฅ ๋ฐ์ ์ ์๋๋ก ๋ณ๊ฒฝ (#196) * refactor : Comment๊ฐ ์ค์ค๋ก ์ ํ ์กฐ๊ฑด์ ๊ฒ์ฆํ๋๋ก ๋ณ๊ฒฝ (#196) * refactor : CommentService์ ํ๋๋ค์ private ์ ๊ทผ ์ ํ์ ์ถ๊ฐ (#196) * refactor : comment require ์กฐ๊ฑด ์ ์ (#196) * refactor : ๋ถํ์ํ ํธ๋์ญ์ ์ ํ ๋ฐ Transactional ์ด๋ฒคํธ ๋ฆฌ์ค๋ ์ ๊ฑฐ (#196) * refactor : ๋ถํ์ํ Goal ์กฐํ ์ฟผ๋ฆฌ ์ ๊ฑฐ (#196) * test : Comment ๊ด๋ จ ๊ธฐ๋ฅ ํตํฉ ํ ์คํธ ์ฝ๋ ์์ฑ (#196) * ktlint formatting * refactor : getAllByGoalId ๋ฉ์๋์ ์ด๋ฆ์ ์ญํ ์ ๋ง๊ฒ findAllByGoalId๋ก ๋ณ๊ฒฝ (#196) * feat : ๋๊ธ API ๊ตฌํ (#196) * chore : ์๋ชป ์์ฑ๋ ๋ฉ์๋ ์ด๋ฆ ๋ณ๊ฒฝ (#196) * refactor : DTO ํจํค์ง ๋ณ๊ฒฝ (#196) * refactor : comments์์ goal์ ๊บผ๋ผ ๋, first ๋ฉ์๋ ํ์ฉ (#196) * refactor : ๋ถํ์ํ @async ์ด๋ ธํ ์ด์ ์ ๊ฑฐ (#196) * refactor : findAllByGoalId ๊ฐ๋ ์ฑ ๊ฐ์ (#196) * refactor : Emoji API Restfulํ๊ฒ ๊ฐ์ (#196) (#215) * [๐ Issue ] Emoji Count ์์ ๋ฐ Count ๊ด๋ จ ๋ก์ง ๊ฐ์ (#213) * refactor(#211): count๊ด๋ จ eventListener ๋จ์ผ componentํ * feat(#211): emoji count ํ ์ด๋ธ ์ถ๊ฐ ๋ฐ count๊ด๋ จ event application lock ์ ์ฉ * feat(#211): add goal count event์ exclusive runner ์ ์ฉ * refactor: event ๊ฐ์ ํจํค์ง๋ก ์ด๋ * feat: lock ์ ์ฉ ์์ ๋น๋๊ธฐ ์ด๋ฒคํธ ์คํ Thread๋ก ๋ณ๊ฒฝ * refactor: event ๋ค์ด๋ฐ ์ปจ๋ฒค์ ์ ์ฉ * fix: key์ ๋งคํ๋ lock ๋๊ธฐ thread๊ฐ ์๋ค๋ฉด map์์ ์ ๊ฑฐ * [๐ Issue] ๋ฆฌํฉํ ๋ง ์ด์ ํ ํ๋ฆฟ ์ธํ (#220) * chore : ๋ฆฌํฉํ ๋ง ์ด์ ํ ํ๋ฆฟ ์ธํ * chore : ๊ธฐํ-์ด์ ๊ธฐ๋ณธ ์์ฑ ์ ๋ชฉ์ ๋ถํ์ํ ๋์ด์ฐ๊ธฐ ์ ๊ฑฐ * [๐ ๏ธ Refactor] Goal Emoji API ์๋ต์ "์ด๋ชจ์ง๋ฅผ ๋๋ฅธ ์ฌ๋ ์" ์ถ๊ฐ (#221) * refactor : Goal์ ๋ฐ์ ์กฐํ API์ ๋ฐ์ํ ์ฌ๋ ์ ๊ฐ ์ถ๊ฐ (#218) * test : Goal ๋ฐ์ ์กฐํ API ๋ฐ์ํ ์ฌ๋ ์ ๊ฐ์ด ์ ํํ์ง ํ์ธํ๋ ํ ์คํธ ์์ฑ (#218) * [๐ ๏ธ Refactor] IsMyReaction์ ํ์ธํ ๋ Username์ด ์๋ id๋ก ํ์ธํ๊ธฐ (#219) * refactor : IsMyReaction์ ํ์ธํ ๋ Username์ด ์๋ id๋ก ํ์ธํ๋๋ก ๋ณ๊ฒฝ (#217) * merge with develop * [๐ Bug] authorization_request_not_found ์ค๋ฅ (#216) * feat(#209): spring security authorization_request_not_found ์์ * fix: AuthorizationRequestRepository cookie ๊ธฐ๋ฐ์์ state parameter ๊ธฐ๋ฐ์ผ๋ก ๋ณ๊ฒฝ * fix: AuthorizationRequestRepository remove ๋ฉ์๋์ ๋ช ์์ ์ธ ์ญ์ ์ถ๊ฐ * fix: AuthorizationRequestRepository oauthRequestStorage ๋ฐ์ดํฐ ๋ช ์์ ์ญ์ ๋ก์ง ์ ๊ฑฐ * refact(#171): add emoji count * feat(#171): ํผ๋์ ์ด๋ชจ์ง๋ฐ ๋ด๊ฐ ๋๋ฅธ ์ด๋ชจ์ง ์ถ๊ฐ * chore(#171): ktlint * chore(#171): ์ฌ์ฉํ์ง ์๋ ์ฝ๋ ์ญ์ * chore(#171): ktlint * [๐ ๏ธ Refactor] ๋๊ธ ์๋ต์ ๋๊ธ ๊ฐฏ์ ์ถ๊ฐ (#225) * refactor : Goal์ ๋ฌ๋ฆฐ ๋๊ธ ์๋ต์ ๋๊ธ ๊ฐฏ์ ์ถ๊ฐ (#224) * test : Goal์ ๋ฌ๋ฆฐ ๋๊ธ ์๋ต์ด ๋๊ธ ๊ฐฏ์๋ฅผ ๋ฐํํ๋ ๊ฒ์ ํ์ธํ๋ ํ ์คํธ ์ฝ๋ ์์ฑ (#224) * ktlint formatting * refact(#171): edit field name * [๐ ๏ธ Refactor] RunnerLock ํ๋ ๋ณ์๋ช ๋ณ๊ฒฝ ๏ฟฝ+ Security Uri ์์ํ + H2 ์น ์ฝ์์ฉ WebSecurityCustomizer ์ ๊ฑฐ (#226) * refactor: RunnerLock ๋ด๋ถ ํ๋ ๋ณ์๋ช ๋ณ๊ฒฝ * refactor: security permitall uri ์์ํ * [๐ ๏ธ Refactor] ๋๊ธ ์กฐํ API ์๋ต์ "๋ด ์ง๋ ํ์ธ" key-value ์ถ๊ฐ (#230) * refactor : CommentsResponse์ ์์ ์ ๋ชฉํ์ธ์ง ํ์ธํ๋ isMyGoal ํ๋ ์ถ๊ฐ (#229) * test : CommentsResponse๋ฅผ ํตํด ์์ ์ ๋ชฉํ์ธ์ง ํ์ธํ ์ ์๋์ง ๊ฒ์ฆํ๋ ํ ์คํธ ์ฝ๋ ์์ฑ (#229) * feat(#232): add title field * [๐ ๏ธ Refactor] ํ๋ก์ ํธ ๊ตฌ์กฐ ๋ณ๊ฒฝ (1๋ฒ, 3๋ฒ ์ ์๋ง ๋ณ๊ฒฝ) (#234) * refactor(#235): pagination ๊ณตํตํ + cheering squad ๊ณตํต pagination ์ ์ฉ * [๐ ๏ธ Refactor] ์๋ชป ์์ฑ๋ ์ฝ์ง ์์ ๋๊ธ ์กฐํ ์ฟผ๋ฆฌ ์ฌ๋ฐ๋ฅด๊ฒ ์ ์ (#237) * refactor : CommentsResponse์ ์์ ์ ๋ชฉํ์ธ์ง ํ์ธํ๋ isMyGoal ํ๋ ์ถ๊ฐ (#229) * test : CommentsResponse๋ฅผ ํตํด ์์ ์ ๋ชฉํ์ธ์ง ํ์ธํ ์ ์๋์ง ๊ฒ์ฆํ๋ ํ ์คํธ ์ฝ๋ ์์ฑ (#229) * refactor : exist new comment ์ฟผ๋ฆฌ๋ฅผ id์ ์๊ฐ์ผ๋ก ๊ฒ์ํ๋๋ก ๋ณ๊ฒฝ (#236) * refactor : ์ฟผ๋ฆฌ๊ฐ Goal Id๋ฅผ ์ฌ์ฉํ๋๋ก ๋ณ๊ฒฝ (#236) * test : ๋ณธ์ธ์ Goal๋ง ์กฐํํ๋์ง ๊ฒ์ฆํ๋ ํ ์คํธ ์ถ๊ฐ ์์ฑ (#236) * feat: pagination ๊ณตํต response ์ถ๊ฐ + cheering squad ์กฐํ๋ฅผ ์ํ queryRepository ์ถ๊ฐ * feat(#235): comment count ์ํฐํฐ ์ถ๊ฐ + comment create/delete event ์์ฑ * feat(#235): ๋ชฉํ ํ์๋ผ์ธ ํ์ด์ง ์กฐํ API ์์ * fix: dev ํ๊ฒฝ ๋ก๊ทธ์ธ callback ์ redirect uri ๋ณ๊ฒฝ * chore: apply lint * refactor: CheererRepository ๋ฏธ์ฌ์ฉ ๋ฉ์๋ ์ ๊ฑฐ * refactor: TriFunction @FunctionalInterface ์ ์ฉ * refactor(#235): PR ์ฝ๋ฉํธ ๋ฐ์ * [๐ Feature] ํ์ ๋ผ์ธ์ฉ ๋ชฉํ ์กฐํ API ๊ฐ๋ฐ (#240) * refactor(#235): pagination ๊ณตํตํ + cheering squad ๊ณตํต pagination ์ ์ฉ * feat: pagination ๊ณตํต response ์ถ๊ฐ + cheering squad ์กฐํ๋ฅผ ์ํ queryRepository ์ถ๊ฐ * feat(#235): comment count ์ํฐํฐ ์ถ๊ฐ + comment create/delete event ์์ฑ * feat(#235): ๋ชฉํ ํ์๋ผ์ธ ํ์ด์ง ์กฐํ API ์์ * fix: dev ํ๊ฒฝ ๋ก๊ทธ์ธ callback ์ redirect uri ๋ณ๊ฒฝ * chore: apply lint * refactor: CheererRepository ๋ฏธ์ฌ์ฉ ๋ฉ์๋ ์ ๊ฑฐ * refactor: TriFunction @FunctionalInterface ์ ์ฉ * refactor(#235): PR ์ฝ๋ฉํธ ๋ฐ์ * hotfix(#235): ํ์ธ ํ์๋ผ์ธ ์กฐํ API ์ถ๊ฐ * chore: apply klint * [๐ ๏ธ Refactor] ํ์ ๋ผ์ธ API ์์ ๋ฆฌํฉํ ๋ง (#241) * delete: ์ ์ ์ ๋ณด๋ฅผ ํ์ฉํ ํ์๋ผ์ธ ์กฐํ API ์ญ์ * refactor: PaginationResult.transform() ์ฌ์ฉ ๋ฐฉ์ lamda ํํ๋ก ํต์ผ * refactor: ๋ฉ์๋ ๋ก์ง์ ๋ฐ๋ผ get, find ๋ช ์นญ ๊ตฌ๋ถ * refactor: lamda body ๋ด ์๋ต ๊ฐ๋ฅํ parameter ์๋ต * refactor: ๋ฉ์๋๋ช ๋ด ๋ถ์ ํํ ๋จ์ด ์ ๊ฑฐ(findGoalTimelineCountMap -> findGoalCountMap) * refactor: associateWith ๋ฉ์๋ ํ์ฉ * refactor: PaginationResult total๊ฐ Long์ผ๋ก ๋ค์ ๋ณ๊ฒฝ * hotfix: dev login redirect url ์์ * hotfix: login redirect url referer ๊ธฐ์ค ๋ถ๊ธฐ ์ฒ๋ฆฌ * hotfix: login redirect url referer ๊ธฐ์ค ๋ถ๊ธฐ ์ฒ๋ฆฌ ์กฐ๊ฑด ์ถ๊ฐ * hotfix: login redirect url referer ๊ธฐ์ค ๋ถ๊ธฐ ์ฒ๋ฆฌ ์ ๊ฑฐ * [๐ Feature] ํ์ ๋ผ์ธ์ฉ ๋ชฉํ ์กฐํ API ๊ฐ๋ฐ - Cursor Deadline์ผ๋ก ๋ณ๊ฒฝ (#242) * delete: ์ ์ ์ ๋ณด๋ฅผ ํ์ฉํ ํ์๋ผ์ธ ์กฐํ API ์ญ์ * refactor: PaginationResult.transform() ์ฌ์ฉ ๋ฐฉ์ lamda ํํ๋ก ํต์ผ * refactor: ๋ฉ์๋ ๋ก์ง์ ๋ฐ๋ผ get, find ๋ช ์นญ ๊ตฌ๋ถ * refactor: lamda body ๋ด ์๋ต ๊ฐ๋ฅํ parameter ์๋ต * refactor: ๋ฉ์๋๋ช ๋ด ๋ถ์ ํํ ๋จ์ด ์ ๊ฑฐ(findGoalTimelineCountMap -> findGoalCountMap) * refactor: associateWith ๋ฉ์๋ ํ์ฉ * refactor: PaginationResult total๊ฐ Long์ผ๋ก ๋ค์ ๋ณ๊ฒฝ * fix: ๋ชฉํ ํผ๋ ์กฐํ API deadline ์ญ์์ผ๋ก ์ ๋ ฌ ์กฐํ * chore: apply lint * fix: goals ํ ์ด๋ธ์ index ์์ * refactor: pagination cusorId type Any -> Generic์ผ๋ก ๋ณ๊ฒฝ * [๐ Feature] ํ์ ๋ผ์ธ์ฉ ๋ชฉํ ์กฐํ API ๊ฐ๋ฐ - Pagination ๋ฐฉ์ offset ๊ธฐ๋ฐ์ผ๋ก ๋ณ๊ฒฝ (#243) * delete: ์ ์ ์ ๋ณด๋ฅผ ํ์ฉํ ํ์๋ผ์ธ ์กฐํ API ์ญ์ * refactor: PaginationResult.transform() ์ฌ์ฉ ๋ฐฉ์ lamda ํํ๋ก ํต์ผ * refactor: ๋ฉ์๋ ๋ก์ง์ ๋ฐ๋ผ get, find ๋ช ์นญ ๊ตฌ๋ถ * refactor: lamda body ๋ด ์๋ต ๊ฐ๋ฅํ parameter ์๋ต * refactor: ๋ฉ์๋๋ช ๋ด ๋ถ์ ํํ ๋จ์ด ์ ๊ฑฐ(findGoalTimelineCountMap -> findGoalCountMap) * refactor: associateWith ๋ฉ์๋ ํ์ฉ * refactor: PaginationResult total๊ฐ Long์ผ๋ก ๋ค์ ๋ณ๊ฒฝ * fix: ๋ชฉํ ํผ๋ ์กฐํ API deadline ์ญ์์ผ๋ก ์ ๋ ฌ ์กฐํ * chore: apply lint * fix: goals ํ ์ด๋ธ์ index ์์ * refactor: pagination cusorId type Any -> Generic์ผ๋ก ๋ณ๊ฒฝ * fix: ํ์ ๋ผ์ธ ๋ชฉํ ์กฐํ API paging ์ฒ๋ฆฌ ๋ฐฉ์ offset์ผ๋ก ๋ณ๊ฒฝ * refactor: cursor ๊ธฐ๋ฐ pagination ๊ณตํต ๋ชจ๋ cursor type long์ผ๋ก ํต์ผ * refactor: pagination ๊ณตํต ๋ชจ๋ cursor์ offset ๊ตฌ๋ถ * refactor: ๋ฏธ์ฌ์ฉ ์ฝ๋ ๋ฐ ์๋ฏธ ์๋ ์ค๋ณต ์ฝ๋ ์ญ์ * hotfix: global exception config ๋ด NoSuchElementException ์ค์ ์์ * [๐ Issue] dev api ๋ก๊ทธ์ธ ์์ฒญ ์์น์ ๋ฐ๋ผ redirect url ๋ณํ (#245) * delete: ์ ์ ์ ๋ณด๋ฅผ ํ์ฉํ ํ์๋ผ์ธ ์กฐํ API ์ญ์ * refactor: PaginationResult.transform() ์ฌ์ฉ ๋ฐฉ์ lamda ํํ๋ก ํต์ผ * refactor: ๋ฉ์๋ ๋ก์ง์ ๋ฐ๋ผ get, find ๋ช ์นญ ๊ตฌ๋ถ * refactor: lamda body ๋ด ์๋ต ๊ฐ๋ฅํ parameter ์๋ต * refactor: ๋ฉ์๋๋ช ๋ด ๋ถ์ ํํ ๋จ์ด ์ ๊ฑฐ(findGoalTimelineCountMap -> findGoalCountMap) * refactor: associateWith ๋ฉ์๋ ํ์ฉ * refactor: PaginationResult total๊ฐ Long์ผ๋ก ๋ค์ ๋ณ๊ฒฝ * fix: ๋ชฉํ ํผ๋ ์กฐํ API deadline ์ญ์์ผ๋ก ์ ๋ ฌ ์กฐํ * chore: apply lint * fix: goals ํ ์ด๋ธ์ index ์์ * refactor: pagination cusorId type Any -> Generic์ผ๋ก ๋ณ๊ฒฝ * fix: ํ์ ๋ผ์ธ ๋ชฉํ ์กฐํ API paging ์ฒ๋ฆฌ ๋ฐฉ์ offset์ผ๋ก ๋ณ๊ฒฝ * refactor: cursor ๊ธฐ๋ฐ pagination ๊ณตํต ๋ชจ๋ cursor type long์ผ๋ก ํต์ผ * refactor: pagination ๊ณตํต ๋ชจ๋ cursor์ offset ๊ตฌ๋ถ * feat(#244): dev api ๋ก๊ทธ์ธ ์์ฒญ ์์น์ ๋ฐ๋ผ redirect url ๋ณํ * chore: apply lint * fix: @value(spring.profiles.active) default๊ฐ ์ถ๊ฐ * refactor: ์ฝ๋ ๋ฆฌ๋ทฐ ๋ฐ์(#245) * chore: encryptํ๋ ๋ฐ์ดํฐ ์ญ์ * chore: encrypted test properties ์ญ์ * chore: referer ์ ์ฅ/์กฐํ logging ์ถ๊ฐ * chore: logging ์ ๊ฑฐ * fix: getReferer ๋ฉ์๋ referer๊ฐ null์ผ ๊ฒฝ์ฐ Empty String ๋ฐํ * [๐ Bug] ํ์๋ผ์ธ ๊ด๋ จ ๋ฒ๊ทธ ์์ (#248) * fix: timeline ์กฐํ ์ ๋ชฉํ ์์ผ๋ฉด early return * feat: ์ ์ ์ ๋ณด ๊ธฐ๋ฐ ํ์ ๋ผ์ธ ์กฐํ API ์์ * fix: ๋ชฉํ ์ญ์ ์ LifeMapCount goalCount ํ๋ -1 ์ฒ๋ฆฌ * refactor: timeline ์กฐํ api ๋ด ๋ชฉํ ๊ฐ์ ์กฐํ ์ฟผ๋ฆฌ ๋ณ๊ฒฝ * feat(#171): edit comment count * chore: ktlint * refactor : Comment์ Emoji์ Goal Delete Casacade ์์ฑ ์ถ๊ฐ (#246) (#249) * refactor : ์์ ์ Goal์ ๋ฌ๋ฆฐ Comment ์ญ์ ๋ฅผ ํ์ฉํ๋๋ก ๋ณ๊ฒฝ (#251) (#252) * bug(#254): ํ์๋ผ์ธ ์กฐํ API ๋ด ์ฝ๋ฉํธ ๊ฐ์ ์กฐํ ์ฟผ๋ฆฌ ์ค๋ฅ ์์ * feat : ์ด๋ชจ์ง ์ถ๊ฐ ์ ์ ๊ฐ์ ์ด๋ชจ์ง๊ฐ ์กด์ฌํ๋์ง ํ์ธํ๋ ๋ฉ์๋ ์์ฑ (#253) (#256) * refactor : ๋ชจ๋ Emoji ์กฐํ API์์ ์ผ๊ด๋๊ฒ Emoji id ์์๋ก ์ ๋ ฌํด ์๋ตํ๋๋ก ๋ณ๊ฒฝ (#257) * refactor : ๋ถํ์ํ ์ ๋ ฌ ์ ๊ฑฐ - MySQL Clustered Index๋ก ์ธํด ์ด๋ฏธ pk ์ ๋ ฌ ๋์ด ์๋ค (#257) * fix : ํผ๋ ์กฐํ (#259) * feat(#171): ๋ชฉํ ์์ฑ์ ๊ธฐ๋ณธ ๋๊ธ ๊ฐ์ ์ถ๊ฐ * chore(#171): ktlint * feat(#171): ๊ธฐ๋ณธ ์นด์ดํธ ์ถ๊ฐ * chore: ktlint * refact(#171): ๋ณ์ ์ญ์ --------- Co-authored-by: ManHyuk <[email protected]> Co-authored-by: binary_ho <[email protected]>
๐ Issue
๐ฏ ์ด๋ค ์์ ์ ํ๋์ง
๐ ์ํฅ๋ฒ์ (๋ชจ๋)
Resolves: # See also: #