Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weโ€™ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[๐ŸŒŽ Feature] ํƒ€์ž„ ๋ผ์ธ์šฉ ๋ชฉํ‘œ ์กฐํšŒ API ๊ฐœ๋ฐœ - Pagination ๋ฐฉ์‹ offset ๊ธฐ๋ฐ˜์œผ๋กœ ๋ณ€๊ฒฝ #243

Merged
merged 18 commits into from
Mar 28, 2024

Conversation

egg528
Copy link
Member

@egg528 egg528 commented Mar 27, 2024

๐Ÿ“’ Issue

๐ŸŽฏ ์–ด๋–ค ์ž‘์—…์„ ํ–ˆ๋Š”์ง€

  • ํƒ€์ž„ ๋ผ์ธ์šฉ ๋ชฉํ‘œ ์กฐํšŒ API Pagination ๋ฐฉ์‹ offset ๊ธฐ๋ฐ˜์œผ๋กœ ๋ณ€๊ฒฝ

๐ŸŒ ์˜ํ–ฅ๋ฒ”์œ„ (๋ชจ๋“ˆ)

  • application/api

Resolves: # See also: #

egg528 added 17 commits March 24, 2024 11:34
@egg528 egg528 self-assigned this Mar 27, 2024
@binary-ho
Copy link
Member

Pagination ๋ฐฉ์‹ Offset ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ”๋€Œ๊ฒŒ ๋œ ์ด์œ ๊ฐ€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค! ํ˜น์‹œ ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ์„๊นŒ์š”?

์ œ๊ฐ€ ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋ฐฉ์‹์— ๋Œ€ํ•ด ์ž˜ ๋ชจ๋ฅด์ง€๋งŒ, ์˜ค๋Š˜ ์•„์นจ ๋ณด๋‚ด์ฃผ์…จ๋˜ ์ž๋ฃŒ์—๋Š” ๋ฌดํ•œ ์Šคํฌ๋กค ์ƒํ™ฉ์—์„  ์ปค์„œ ๊ธฐ๋ฐ˜ ๊ตฌํ˜„์ด ์ข‹๋‹ค๋Š” ์ด์•ผ๊ธฐ๋ฅผ ๋ดค๋˜ ๊ฒƒ ๊ฐ™์•„ ์งˆ๋ฌธ ๋“œ๋ฆฝ๋‹ˆ๋‹ค ใ…Žใ…Ž

@egg528
Copy link
Member Author

egg528 commented Mar 27, 2024

Pagination ๋ฐฉ์‹ Offset ๊ธฐ๋ฐ˜์œผ๋กœ ๋ฐ”๋€Œ๊ฒŒ ๋œ ์ด์œ ๊ฐ€ ๊ถ๊ธˆํ•ฉ๋‹ˆ๋‹ค! ํ˜น์‹œ ์„ค๋ช…ํ•ด์ฃผ์‹ค ์ˆ˜ ์žˆ์„๊นŒ์š”?

์ œ๊ฐ€ ํŽ˜์ด์ง€๋„ค์ด์…˜ ๋ฐฉ์‹์— ๋Œ€ํ•ด ์ž˜ ๋ชจ๋ฅด์ง€๋งŒ, ์˜ค๋Š˜ ์•„์นจ ๋ณด๋‚ด์ฃผ์…จ๋˜ ์ž๋ฃŒ์—๋Š” ๋ฌดํ•œ ์Šคํฌ๋กค ์ƒํ™ฉ์—์„  ์ปค์„œ ๊ธฐ๋ฐ˜ ๊ตฌํ˜„์ด ์ข‹๋‹ค๋Š” ์ด์•ผ๊ธฐ๋ฅผ ๋ดค๋˜ ๊ฒƒ ๊ฐ™์•„ ์งˆ๋ฌธ ๋“œ๋ฆฝ๋‹ˆ๋‹ค ใ…Žใ…Ž

@binary-ho
CursorId๊ฐ€ ์ค‘๋ณต์ด ์žˆ์„ ๊ฒฝ์šฐ Cursor ๋ฐฉ์‹์€ ์‚ฌ์šฉํ•  ์ˆ˜๊ฐ€ ์—†์–ด์„œ ๋ถ€๋“์ดํ•˜๊ฒŒ OffSet ๋ฐฉ์‹์œผ๋กœ ๋ฐ”๊พธ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค! (deadline๊ฐ’ ์ค‘๋ณต์ด ๋งŽ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค)
๋˜ํ•œ ๋ชฉํ‘œ์˜ ๊ฐœ์ˆ˜๋Š” life_map_id ๋‹น 50๊ฐœ๋กœ ์ œํ•œ๋˜์–ด ์žˆ์–ด OffSet ๋ฐฉ์‹๋„ ํฌ๊ฒŒ ๋ถ€๋‹ด์ด ์—†์ง€ ์•Š์„๊นŒ ํ•˜๋Š” ์ƒ๊ฐ๋„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค ใ…Žใ…Ž

Copy link
Collaborator

@ManHyuk ManHyuk left a 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 {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

์—ฌ๊ธฐ ๋ณต๋ถ™ํ•˜๋‹ค๊ฐ€ ์•„๋ž˜ ๋ฐ˜ํ™˜์ชฝ์ด๋ž‘ ์ค‘๋ณต์ฝ”๋“œ ๋œ๋“ฏ~~

Copy link
Member Author

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?,
Copy link
Collaborator

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 ์ด ๋“ค์–ด๊ฐ€๋Š” ๊ฒฝ์šฐ๋ผ๋ฉด ์–ด์ฉ”์ˆ˜์—†๊ณ  ใ…Žใ…Ž

Copy link
Member Author

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 ํ˜น์€ ๋‹ค๋ฅธ ๊ฐ’ ์ค‘์— ํ•˜๋‚˜ ์‚ฌ์šฉํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์€๋ฐ ์˜๊ฒฌ ๋ถ€ํƒ๋“œ๋ฆฝ๋‹ˆ๋‹ค~!

Copy link
Member

@binary-ho binary-ho left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@egg528 egg528 merged commit ca23a69 into develop Mar 28, 2024
1 check passed
@egg528 egg528 deleted the feature/#235 branch March 28, 2024 13:08
egg528 added a commit that referenced this pull request Apr 26, 2024
* 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]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants