Skip to content

Commit 62cbaeb

Browse files
committed
fix : exclude user principal in docs
1 parent 8b51918 commit 62cbaeb

File tree

11 files changed

+36
-34
lines changed

11 files changed

+36
-34
lines changed

game-service/game-application/app-api/src/main/kotlin/com/grepp/quizy/game/api/global/config/SwaggerConfig.kt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,9 @@ class SwaggerConfig {
6464

6565
@Component
6666
class CustomOperationCustomizer : OperationCustomizer {
67-
6867
override fun customize(operation: Operation, handlerMethod: HandlerMethod): Operation {
69-
// @AuthUser 애노테이션이 적용된 파라미터 제거
7068
operation.parameters?.removeIf { parameter ->
71-
handlerMethod.methodParameters.any { methodParam ->
72-
methodParam.parameterAnnotations.any { it is AuthUser }
73-
}
69+
parameter.name == "userPrincipal" || parameter.name == "principal"
7470
}
7571
return operation
7672
}

matching-service/matching-application/app-api/src/main/kotlin/com/grepp/quizy/matching/api/config/SwaggerConfig.kt

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -64,13 +64,9 @@ class SwaggerConfig {
6464

6565
@Component
6666
class CustomOperationCustomizer : OperationCustomizer {
67-
6867
override fun customize(operation: Operation, handlerMethod: HandlerMethod): Operation {
69-
// @AuthUser 애노테이션이 적용된 파라미터 제거
7068
operation.parameters?.removeIf { parameter ->
71-
handlerMethod.methodParameters.any { methodParam ->
72-
methodParam.parameterAnnotations.any { it is AuthUser }
73-
}
69+
parameter.name == "userPrincipal" || parameter.name == "principal"
7470
}
7571
return operation
7672
}

quiz-service/quiz-application/app-api/build.gradle.kts

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
11
import org.springframework.boot.gradle.tasks.bundling.BootJar
2+
import org.jetbrains.kotlin.gradle.dsl.KotlinCompile
3+
4+
plugins {
5+
kotlin("plugin.noarg") version "2.0.21"
6+
}
7+
8+
noArg {
9+
annotation("com.grepp.quizy.common.NoArg")
10+
}
211

312
dependencies {
413
implementation(project(":common:common-web"))
@@ -14,4 +23,10 @@ dependencies {
1423

1524
tasks.named<BootJar>("bootJar") {
1625
enabled = true
26+
}
27+
28+
tasks {
29+
withType<JavaCompile> {
30+
options.compilerArgs.add("-parameters")
31+
}
1732
}

quiz-service/quiz-application/app-api/src/main/kotlin/com/grepp/quizy/quiz/api/comment/CommentApi.kt

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@ import com.grepp.quizy.quiz.api.comment.dto.CreateCommentRequest
66
import com.grepp.quizy.quiz.domain.comment.*
77
import com.grepp.quizy.quiz.domain.quiz.QuizId
88
import com.grepp.quizy.quiz.domain.user.UserId
9+
import com.grepp.quizy.web.annotation.AuthUser
10+
import com.grepp.quizy.web.dto.UserPrincipal
911
import org.springframework.web.bind.annotation.*
1012

1113
@RestController
@@ -58,8 +60,8 @@ class CommentApi(
5860

5961
@DeleteMapping("/{id}")
6062
fun deleteComment(
61-
@PathVariable id: Long,
62-
userId: Long,
63+
@PathVariable id: Long,
64+
userId: Long,
6365
): ApiResponse<Unit> =
6466
ApiResponse.success(
6567
commentDeleteUseCase.deleteComment(

quiz-service/quiz-application/app-api/src/main/kotlin/com/grepp/quizy/quiz/api/global/config/SwaggerConfig.kt

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.grepp.quizy.quiz.api.global.config
22

3-
import com.grepp.quizy.web.annotation.AuthUser
43
import io.swagger.v3.oas.annotations.OpenAPIDefinition
54
import io.swagger.v3.oas.annotations.info.Info
65
import io.swagger.v3.oas.models.Components
@@ -17,6 +16,7 @@ import org.springframework.context.annotation.Configuration
1716
import org.springframework.stereotype.Component
1817
import org.springframework.web.method.HandlerMethod
1918

19+
2020
@Configuration
2121
@OpenAPIDefinition(info = Info(title = "Quiz API", version = "v1"))
2222
class SwaggerConfig {
@@ -59,13 +59,9 @@ class SwaggerConfig {
5959

6060
@Component
6161
class CustomOperationCustomizer : OperationCustomizer {
62-
6362
override fun customize(operation: Operation, handlerMethod: HandlerMethod): Operation {
64-
// @AuthUser 애노테이션이 적용된 파라미터 제거
6563
operation.parameters?.removeIf { parameter ->
66-
handlerMethod.methodParameters.any { methodParam ->
67-
methodParam.parameterAnnotations.any { it is AuthUser }
68-
}
64+
parameter.name == "userPrincipal" || parameter.name == "principal"
6965
}
7066
return operation
7167
}
Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,15 @@
11
package com.grepp.quizy.quiz.api.like
22

33
import com.grepp.quizy.common.api.ApiResponse
4+
import com.grepp.quizy.quiz.api.like.dto.LikeRequest
45
import com.grepp.quizy.quiz.domain.like.Like
56
import com.grepp.quizy.quiz.domain.like.LikeService
67
import com.grepp.quizy.quiz.domain.quiz.QuizId
78
import com.grepp.quizy.quiz.domain.user.UserId
89
import com.grepp.quizy.web.annotation.AuthUser
910
import com.grepp.quizy.web.dto.UserPrincipal
1011
import io.swagger.v3.oas.annotations.Parameter
11-
import org.springframework.web.bind.annotation.PostMapping
12-
import org.springframework.web.bind.annotation.RequestMapping
13-
import org.springframework.web.bind.annotation.RequestParam
14-
import org.springframework.web.bind.annotation.RestController
12+
import org.springframework.web.bind.annotation.*
1513

1614
@RestController
1715
@RequestMapping("/api/quiz/likes")
@@ -20,9 +18,9 @@ class LikeApi(private val likeService: LikeService) {
2018
@PostMapping
2119
fun toggleLike(
2220
@AuthUser principal: UserPrincipal,
23-
@RequestParam quizId: Long,
21+
@RequestBody request: LikeRequest,
2422
): ApiResponse<Boolean> =
2523
ApiResponse.success(
26-
likeService.toggleLike(Like(quizId = QuizId(quizId), likerId = UserId(principal.value)))
24+
likeService.toggleLike(request.toLike(principal.value))
2725
)
2826
}
Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package com.grepp.quizy.quiz.api.like.dto
22

3+
import com.grepp.quizy.common.NoArg
34
import com.grepp.quizy.quiz.domain.like.Like
45
import com.grepp.quizy.quiz.domain.quiz.QuizId
56
import com.grepp.quizy.quiz.domain.user.UserId
67

7-
data class LikeRequest(val quizId: Long, val userId: Long) {
8+
@NoArg
9+
data class LikeRequest(val quizId: Long) {
810

9-
fun toLike(): Like =
11+
fun toLike(userId: Long): Like =
1012
Like(quizId = QuizId(quizId), likerId = UserId(userId))
1113
}

quiz-service/quiz-application/app-api/src/main/kotlin/com/grepp/quizy/quiz/api/quiz/QuizApi.kt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ import com.grepp.quizy.quiz.domain.quiz.*
99
import com.grepp.quizy.quiz.domain.user.UserId
1010
import com.grepp.quizy.web.annotation.AuthUser
1111
import com.grepp.quizy.web.dto.UserPrincipal
12-
import io.swagger.v3.oas.annotations.Parameter
1312
import org.springframework.web.bind.annotation.DeleteMapping
1413
import org.springframework.web.bind.annotation.GetMapping
1514
import org.springframework.web.bind.annotation.PathVariable
@@ -58,8 +57,8 @@ class QuizApi(
5857
@PutMapping("/{id}")
5958
fun updateQuiz(
6059
@PathVariable id: Long,
61-
@AuthUser userPrincipal: UserPrincipal,
6260
@RequestBody request: UpdateQuizRequest,
61+
@AuthUser userPrincipal: UserPrincipal,
6362
): ApiResponse<QuizResponse> =
6463
ApiResponse.success(
6564
QuizResponse.from(

quiz-service/quiz-infra/src/main/kotlin/com/grepp/quizy/quiz/infra/image/entity/QuizImageEntity.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import com.grepp.quizy.quiz.domain.image.QuizImageId
55
import jakarta.persistence.*
66

77
@Entity
8-
@Table(name = "quiz_image")
8+
@Table(name = "quiz_images")
99
class QuizImageEntity(
1010
@Id @GeneratedValue(strategy = GenerationType.IDENTITY)
1111
val id: Long,

quiz-service/quiz-infra/src/main/kotlin/com/grepp/quizy/quiz/infra/image/repository/QuizImageJpaRepository.kt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@ package com.grepp.quizy.quiz.infra.image.repository
22

33
import com.grepp.quizy.quiz.infra.image.entity.QuizImageEntity
44
import org.springframework.data.jpa.repository.JpaRepository
5+
import org.springframework.data.jpa.repository.Modifying
56
import org.springframework.data.jpa.repository.Query
67

78
interface QuizImageJpaRepository : JpaRepository<QuizImageEntity, Long> {
89

10+
@Modifying
911
@Query("DELETE FROM QuizImageEntity q WHERE q.id IN :ids")
1012
fun deleteByIdIn(ids: List<Long>)
1113
}

0 commit comments

Comments
 (0)