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

Merge Develop To Main #261

Merged
merged 68 commits into from
Apr 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
68 commits
Select commit Hold shift + click to select a range
9ad8617
feat: remove forward header optiion
ManHyuk Mar 5, 2024
bb412c6
refactor : birth 관련 유저 정보 업데이트 API에 birth를 nullable로 변경 (#206) (#207)
binary-ho Mar 7, 2024
6c19f90
feat(#209): spring security authorization_request_not_found 수정 (#210)
egg528 Mar 10, 2024
73d7b17
[🌎 Feature] Goal 댓글 API 개발 (#208)
binary-ho Mar 12, 2024
ca2b42e
refactor : Emoji API Restful하게 개선 (#196) (#215)
binary-ho Mar 12, 2024
aaba8f4
[🚌 Issue ] Emoji Count 작업 및 Count 관련 로직 개선 (#213)
egg528 Mar 12, 2024
77200b3
[🚌 Issue] 리팩토링 이슈 템플릿 세팅 (#220)
binary-ho Mar 13, 2024
2de704d
[🛠️ Refactor] Goal Emoji API 응답에 "이모지를 누른 사람 수" 추가 (#221)
binary-ho Mar 13, 2024
a138cf7
[🛠️ Refactor] IsMyReaction을 확인할 때 Username이 아닌 id로 확인하기 (#219)
binary-ho Mar 13, 2024
e81cec1
[🆘 Bug] authorization_request_not_found 오류 (#216)
egg528 Mar 13, 2024
9d131e0
fix: AuthorizationRequestRepository oauthRequestStorage 데이터 명시적 삭제 로직 제거
egg528 Mar 13, 2024
270751d
refact(#171): add emoji count
ManHyuk Mar 13, 2024
c89f71f
feat(#171): 피드에 이모지및 내가 누른 이모지 추가
ManHyuk Mar 13, 2024
34622be
chore(#171): ktlint
ManHyuk Mar 13, 2024
dbe0de6
chore(#171): 사용하지 않는 코드 삭제
ManHyuk Mar 13, 2024
e176685
chore(#171): ktlint
ManHyuk Mar 13, 2024
cffabff
[🛠️ Refactor] 댓글 응답에 댓글 갯수 추가 (#225)
binary-ho Mar 14, 2024
db1c7fc
refact(#171): edit field name
ManHyuk Mar 14, 2024
afc3176
Merge pull request #223 from depromeet/feature/#171-refact
ManHyuk Mar 14, 2024
fbfbdec
[🛠️ Refactor] RunnerLock 필드 변수명 변경 + Security Uri 상수화 + H2 웹 콘솔용 Web…
egg528 Mar 15, 2024
36304ff
[🛠️ Refactor] 댓글 조회 API 응답에 "내 지도 확인" key-value 추가 (#230)
binary-ho Mar 16, 2024
b289cab
feat(#232): add title field
ManHyuk Mar 17, 2024
4f5b1f9
Merge pull request #233 from depromeet/feature/#232
ManHyuk Mar 17, 2024
c29cea6
[🛠️ Refactor] 프로젝트 구조 변경 (1번, 3번 제안만 변경) (#234)
egg528 Mar 17, 2024
89ce00d
refactor(#235): pagination 공통화 + cheering squad 공통 pagination 적용
egg528 Mar 20, 2024
cd4a187
[🛠️ Refactor] 잘못 작성된 읽지 않은 댓글 조회 쿼리 올바르게 정정 (#237)
binary-ho Mar 21, 2024
cbe73a0
feat: pagination 공통 response 추가 + cheering squad 조회를 위한 queryReposito…
egg528 Mar 21, 2024
4bb778c
feat(#235): comment count 엔티티 추가 + comment create/delete event 생성
egg528 Mar 21, 2024
0ceffde
feat(#235): 목표 타임라인 페이징 조회 API 작업
egg528 Mar 21, 2024
b9a62b2
fix: dev 환경 로그인 callback 시 redirect uri 변경
egg528 Mar 21, 2024
8086c15
Merge branch 'develop' of github.com:depromeet/amazing3-be into featu…
egg528 Mar 21, 2024
0d95f90
chore: apply lint
egg528 Mar 21, 2024
0c95f36
refactor: CheererRepository 미사용 메서드 제거
egg528 Mar 21, 2024
8efdf16
refactor: TriFunction @FunctionalInterface 적용
egg528 Mar 21, 2024
a1cce96
refactor(#235): PR 코멘트 반영
egg528 Mar 22, 2024
27590d6
[🌎 Feature] 타임 라인용 목표 조회 API 개발 (#240)
egg528 Mar 22, 2024
16c6b80
hotfix(#235): 타인 타임라인 조회 API 추가
egg528 Mar 23, 2024
d5cebcf
chore: apply klint
egg528 Mar 23, 2024
76cf785
Merge branch 'feature/#235' into develop
egg528 Mar 23, 2024
dd13f20
[🛠️ Refactor] 타임 라인 API 작업 리팩토링 (#241)
egg528 Mar 25, 2024
bb317a1
hotfix: dev login redirect url 수정
egg528 Mar 25, 2024
2523956
hotfix: login redirect url referer 기준 분기 처리
egg528 Mar 25, 2024
e72fb1c
hotfix: login redirect url referer 기준 분기 처리 조건 추가
egg528 Mar 26, 2024
232e3dd
hotfix: login redirect url referer 기준 분기 처리 제거
egg528 Mar 26, 2024
dc8a0dc
[🌎 Feature] 타임 라인용 목표 조회 API 개발 - Cursor Deadline으로 변경 (#242)
egg528 Mar 26, 2024
ca23a69
[🌎 Feature] 타임 라인용 목표 조회 API 개발 - Pagination 방식 offset 기반으로 변경 (#243)
egg528 Mar 28, 2024
1093207
hotfix: global exception config 내 NoSuchElementException 설정 수정
egg528 Mar 29, 2024
4f570c2
[🚌 Issue] dev api 로그인 요청 위치에 따라 redirect url 변환 (#245)
egg528 Mar 31, 2024
faf6b77
chore: logging 제거
egg528 Mar 31, 2024
6077ae1
fix: getReferer 메서드 referer값 null일 경우 Empty String 반환
egg528 Mar 31, 2024
43b8f31
[🆘 Bug] 타임라인 관련 버그 수정 (#248)
egg528 Apr 3, 2024
83ea0fa
feat(#171): edit comment count
ManHyuk Apr 4, 2024
abc7ea1
chore: ktlint
ManHyuk Apr 4, 2024
c4dba1a
Merge pull request #250 from depromeet/feature/#171
ManHyuk Apr 5, 2024
78b7956
refactor : Comment와 Emoji에 Goal Delete Casacade 속성 추가 (#246) (#249)
binary-ho Apr 7, 2024
91705a1
refactor : 자신의 Goal에 달린 Comment 삭제를 허용하도록 변경 (#251) (#252)
binary-ho Apr 11, 2024
79f4f7e
bug(#254): 타임라인 조회 API 내 코멘트 개수 조회 쿼리 오류 수정
egg528 Apr 11, 2024
e697dc2
Merge pull request #255 from depromeet/bug/#254
ManHyuk Apr 13, 2024
6495aff
feat : 이모지 추가 전에 같은 이모지가 존재하는지 확인하는 메서드 작성 (#253) (#256)
binary-ho Apr 21, 2024
f8c4993
refactor : 모든 Emoji 조회 API에서 일관되게 Emoji id 순서로 정렬해 응답하도록 변경 (#257)
binary-ho Apr 21, 2024
3c9a3f7
refactor : 불필요한 정렬 제거 - MySQL Clustered Index로 인해 이미 pk 정렬 되어 있다 (#257)
binary-ho Apr 21, 2024
88f1d39
Merge pull request #258 from depromeet/feature/#257
ManHyuk Apr 21, 2024
12e2397
fix : 피드 조회 (#259)
ManHyuk Apr 24, 2024
208050b
feat(#171): 기본 카운트 추가
ManHyuk Apr 24, 2024
c0888fd
chore: ktlint
ManHyuk Apr 24, 2024
2bc8d43
refact(#171): 변수 삭제
ManHyuk Apr 24, 2024
39c9f54
Merge pull request #260 from depromeet/feature/#171
ManHyuk Apr 25, 2024
6771300
Merge branch 'main' into develop
egg528 Apr 26, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/🚌-기타-이슈.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
name: "\U0001F68C 기타 이슈"
about: 기타 작업을 위한 이슈 템플릿
title: "[\U0001F68C Issue ] 작업 내용"
title: "[\U0001F68C Issue] 작업 내용"
labels: ''
assignees: ''

Expand Down
19 changes: 19 additions & 0 deletions .github/ISSUE_TEMPLATE/🛠️-리팩토링.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
name: "\U0001F6E0️ 리팩토링"
about: 리팩토링을 위한 이슈 템플릿
title: "[\U0001F6E0️ Refactor] "
labels: refactor
assignees: ''

---

## 변경할 내용
- 변경 동기와 내용을 정의해주세요
- As-Is와 To-Be를 설명해주세요

## 할 일
- [ ] 작업1
- [ ] 작업2

## 작업 완료 예정일
- 0000.00.00 00시 00분
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import org.springframework.web.bind.annotation.ExceptionHandler
import org.springframework.web.bind.annotation.RestControllerAdvice

@RestControllerAdvice
class GlobalExceptionHandler {
class GlobalExceptionConfig {
private val log: Logger = LoggerFactory.getLogger(javaClass)

@ExceptionHandler(CoreApiException::class)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration

@Configuration
class SpringdocConfig {
class SpringDocsConfig {

@Value("\${springdoc.server.url}")
private lateinit var url: String
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
package io.raemian.admin.dashboard

import io.raemian.admin.dashboard.controller.response.DashboardResponse
import io.raemian.admin.dashboard.model.DashboardResult
import io.raemian.admin.dashboard.service.DashboardService
import io.raemian.admin.support.response.ApiResponse
import io.swagger.v3.oas.annotations.Operation
import org.springframework.http.ResponseEntity
Expand All @@ -15,6 +16,6 @@ class DashboardController(
) {
@Operation(summary = "대시보드 통계 데이터 조회 API")
@GetMapping
fun findAll(): ResponseEntity<ApiResponse<DashboardResponse>> =
fun findAll(): ResponseEntity<ApiResponse<DashboardResult>> =
ResponseEntity.ok(ApiResponse.success(dashboardService.getDashBoard()))
}

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.raemian.admin.dashboard.dto
package io.raemian.admin.dashboard.model

data class ActiveUserStatics(
val perTodayPercent: Double,
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
package io.raemian.admin.dashboard.model

data class DashboardResult(
val userStatics: UserStatics,
val goalStatics: GoalStatics,
val taskStatics: TaskStatics,
val activeUserStatics: ActiveUserStatics,
) {
companion object {
fun from(
userStatics: UserStatics,
goalStatics: GoalStatics,
taskStatics: TaskStatics,
activeUserStatics: ActiveUserStatics,
): DashboardResult {
return DashboardResult(userStatics, goalStatics, taskStatics, activeUserStatics)
}
}
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.raemian.admin.dashboard.dto
package io.raemian.admin.dashboard.model

data class GoalStatics(
val total: Long,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.raemian.admin.dashboard.dto
package io.raemian.admin.dashboard.model

data class TaskStatics(
val total: Long,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
package io.raemian.admin.dashboard.dto
package io.raemian.admin.dashboard.model

data class UserStatics(
val total: Long,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package io.raemian.admin.dashboard
package io.raemian.admin.dashboard.service

import io.raemian.admin.dashboard.controller.response.DashboardResponse
import io.raemian.admin.dashboard.dto.ActiveUserStatics
import io.raemian.admin.dashboard.dto.GoalStatics
import io.raemian.admin.dashboard.dto.TaskStatics
import io.raemian.admin.dashboard.dto.UserStatics
import io.raemian.admin.dashboard.model.ActiveUserStatics
import io.raemian.admin.dashboard.model.DashboardResult
import io.raemian.admin.dashboard.model.GoalStatics
import io.raemian.admin.dashboard.model.TaskStatics
import io.raemian.admin.dashboard.model.UserStatics
import io.raemian.storage.db.core.goal.Goal
import io.raemian.storage.db.core.goal.GoalRepository
import io.raemian.storage.db.core.log.UserLoginLogRepository
Expand All @@ -26,8 +26,8 @@ class DashboardService(
) {

@Transactional(readOnly = true)
fun getDashBoard(): DashboardResponse {
return DashboardResponse.from(
fun getDashBoard(): DashboardResult {
return DashboardResult.from(
getUserStatics(),
getGoalStatics(),
getTaskStatics(),
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
package io.raemian.admin.emoji.controller

import io.raemian.admin.emoji.EmojiService
import io.raemian.admin.emoji.controller.request.CreateEmojiRequest
import io.raemian.admin.emoji.controller.request.UpdateEmojiRequest
import io.raemian.admin.emoji.controller.response.EmojiResponse
import io.raemian.admin.emoji.model.EmojiResult
import io.raemian.admin.emoji.service.EmojiService
import io.raemian.admin.support.response.ApiResponse
import io.swagger.v3.oas.annotations.Operation
import org.springframework.http.MediaType
Expand All @@ -30,7 +30,7 @@ class EmojiController(
@PostMapping(consumes = arrayOf(MediaType.MULTIPART_FORM_DATA_VALUE), produces = arrayOf(MediaType.APPLICATION_JSON_VALUE))
fun create(
@ModelAttribute createEmojiRequest: CreateEmojiRequest,
): ResponseEntity<ApiResponse<EmojiResponse>> {
): ResponseEntity<ApiResponse<EmojiResult>> {
val response = emojiService.create(createEmojiRequest)

return ResponseEntity
Expand All @@ -40,12 +40,12 @@ class EmojiController(

@Operation(summary = "이모지 전체 조회 API")
@GetMapping
fun findAll(): ResponseEntity<ApiResponse<List<EmojiResponse>>> =
fun findAll(): ResponseEntity<ApiResponse<List<EmojiResult>>> =
ResponseEntity.ok(ApiResponse.success(emojiService.findAll()))

@Operation(summary = "이모지 단건 조회 API")
@GetMapping("/{emojiId}")
fun find(@PathVariable emojiId: Long): ResponseEntity<ApiResponse<EmojiResponse>> =
fun find(@PathVariable emojiId: Long): ResponseEntity<ApiResponse<EmojiResult>> =
ResponseEntity.ok(ApiResponse.success(emojiService.find(emojiId)))

@Operation(summary = "이모지 수정 API")
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package io.raemian.admin.emoji.model

import io.raemian.storage.db.core.emoji.Emoji

data class EmojiResult(
val id: Long?,
val name: String,
val url: String,
) {

companion object {
fun from(emoji: Emoji): EmojiResult {
return EmojiResult(emoji.id, emoji.name, emoji.url)
}
}
}
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
package io.raemian.admin.emoji
package io.raemian.admin.emoji.service

import io.raemian.admin.emoji.controller.request.CreateEmojiRequest
import io.raemian.admin.emoji.controller.request.UpdateEmojiRequest
import io.raemian.admin.emoji.controller.response.EmojiResponse
import io.raemian.admin.emoji.model.EmojiResult
import io.raemian.admin.support.error.CoreApiException
import io.raemian.admin.support.error.ErrorType
import io.raemian.image.enums.FileExtensionType
Expand All @@ -22,7 +22,7 @@ class EmojiService(
@Transactional
fun create(
createEmojiRequest: CreateEmojiRequest,
): EmojiResponse {
): EmojiResult {
val fileName = createEmojiRequest.image.originalFilename
validateFileName(fileName)

Expand All @@ -33,22 +33,22 @@ class EmojiService(
)

val emoji = Emoji(createEmojiRequest.name, url)
return EmojiResponse.from(emojiRepository.save(emoji))
return EmojiResult.from(emojiRepository.save(emoji))
}

@Transactional(readOnly = true)
fun findAll(): List<EmojiResponse> =
emojiRepository.findAll().map(EmojiResponse::from)
fun findAll(): List<EmojiResult> =
emojiRepository.findAll().map(EmojiResult::from)

@Transactional(readOnly = true)
fun find(emojiId: Long): EmojiResponse =
EmojiResponse.from(emojiRepository.getById(emojiId))
fun find(emojiId: Long): EmojiResult =
EmojiResult.from(emojiRepository.getById(emojiId))

@Transactional
fun update(
emojiId: Long,
updateEmojiRequest: UpdateEmojiRequest,
): EmojiResponse {
): EmojiResult {
val newFileName = updateEmojiRequest.image.originalFilename
validateFileName(newFileName)

Expand All @@ -61,7 +61,7 @@ class EmojiService(
)

emoji.updateNameAndUrl(updateEmojiRequest.name, url)
return EmojiResponse.from(emojiRepository.save(emoji))
return EmojiResult.from(emojiRepository.save(emoji))
}

@Transactional
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
package io.raemian.admin.lifemap.controller

import io.raemian.admin.lifemap.LifeMapService
import io.raemian.admin.lifemap.controller.response.LifeMapResponse
import io.raemian.admin.lifemap.model.LifeMapResult
import io.raemian.admin.lifemap.service.LifeMapService
import io.raemian.admin.support.response.ApiResponse
import io.swagger.v3.oas.annotations.Operation
import org.springframework.http.ResponseEntity
Expand All @@ -17,6 +17,6 @@ class LifeMapController(
) {
@Operation(summary = "유저 인생 지도 조회 API")
@GetMapping
fun findAllByUsername(@RequestParam userId: Long): ResponseEntity<ApiResponse<LifeMapResponse>> =
fun findAllByUsername(@RequestParam userId: Long): ResponseEntity<ApiResponse<LifeMapResult>> =
ResponseEntity.ok(ApiResponse.success(lifeMapService.findByUserId(userId)))
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
package io.raemian.admin.lifemap.controller.response
package io.raemian.admin.lifemap.model

import io.raemian.storage.db.core.goal.Goal
import io.raemian.storage.db.core.tag.Tag
import io.raemian.storage.db.core.task.Task

data class GoalResponse(
data class GoalResult(
val title: String,
val description: String,
val deadline: String,
Expand All @@ -19,7 +19,7 @@ data class GoalResponse(
goal.deadline.toString(),
goal.sticker.url,
TagInfo(goal.tag),
goal.tasks.map(::TaskInfo),
goal.tasks.map(GoalResult::TaskInfo),
)

data class TagInfo(
Expand Down
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
package io.raemian.admin.lifemap.controller.response
package io.raemian.admin.lifemap.model

import io.raemian.storage.db.core.lifemap.LifeMap

data class LifeMapResponse(
data class LifeMapResult(
val id: Long,
val isPublic: Boolean,
val goals: List<GoalResponse>,
val goals: List<GoalResult>,
val goalsCount: Int,
val viewCount: Long,
val cheeringCount: Long,
) {
constructor(lifeMap: LifeMap, lifeMapCount: Long, cheeringCount: Long) : this(
id = lifeMap.id!!,
isPublic = lifeMap.isPublic,
goals = lifeMap.goals.map(::GoalResponse),
goals = lifeMap.goals.map(::GoalResult),
goalsCount = lifeMap.goals.size,
viewCount = lifeMapCount,
cheeringCount = cheeringCount,
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
package io.raemian.admin.lifemap
package io.raemian.admin.lifemap.service

import io.raemian.admin.lifemap.controller.response.LifeMapResponse
import io.raemian.admin.lifemap.model.LifeMapResult
import io.raemian.storage.db.core.cheer.CheeringRepository
import io.raemian.storage.db.core.lifemap.LifeMapCountRepository
import io.raemian.storage.db.core.lifemap.LifeMapRepository
Expand All @@ -14,7 +14,7 @@ class LifeMapService(
private val lifeMapCountRepository: LifeMapCountRepository,
) {
@Transactional(readOnly = true)
fun findByUserId(userId: Long): LifeMapResponse {
fun findByUserId(userId: Long): LifeMapResult {
val lifeMap = lifeMapRepository.findFirstByUserId(userId)
?: throw NoSuchElementException("존재하지 않는 유저입니다. $userId")

Expand All @@ -24,7 +24,7 @@ class LifeMapService(

val cheeringCount = getCheeringCount(lifeMap.id!!)

return LifeMapResponse(lifeMap, viewCount, cheeringCount)
return LifeMapResult(lifeMap, viewCount, cheeringCount)
}

@Transactional(readOnly = true)
Expand Down
Loading
Loading