From 9656a87fba30997cf4858b9bcb35476dc155f674 Mon Sep 17 00:00:00 2001 From: Omer Bahadiroglu <93478016+ohbahadiroglu@users.noreply.github.com> Date: Sat, 23 Dec 2023 23:39:25 +0300 Subject: [PATCH] post-game relation activated (#627) --- .../src/main/kotlin/com/gamelounge/backend/model/DTO/PostDTO.kt | 2 +- .../com/gamelounge/backend/model/request/CreatePostRequest.kt | 2 ++ .../com/gamelounge/backend/model/request/UpdatePostRequest.kt | 2 ++ .../main/kotlin/com/gamelounge/backend/service/PostService.kt | 2 ++ .../src/main/kotlin/com/gamelounge/backend/util/ConverterDTO.kt | 1 + 5 files changed, 8 insertions(+), 1 deletion(-) diff --git a/app/backend/src/main/kotlin/com/gamelounge/backend/model/DTO/PostDTO.kt b/app/backend/src/main/kotlin/com/gamelounge/backend/model/DTO/PostDTO.kt index 3ae57c53..0d33bcbc 100644 --- a/app/backend/src/main/kotlin/com/gamelounge/backend/model/DTO/PostDTO.kt +++ b/app/backend/src/main/kotlin/com/gamelounge/backend/model/DTO/PostDTO.kt @@ -13,7 +13,7 @@ data class PostDTO( var downvotes: Int = 0, var totalComments: Int = 0, var category: PostCategory = PostCategory.DISCUSSION, - ///var relatedGame: GameDTO? = null, + var relatedGame: GameDTO? = null, var tags: List<TagDTO>? = null ) diff --git a/app/backend/src/main/kotlin/com/gamelounge/backend/model/request/CreatePostRequest.kt b/app/backend/src/main/kotlin/com/gamelounge/backend/model/request/CreatePostRequest.kt index 2eed8fca..80caa1f0 100644 --- a/app/backend/src/main/kotlin/com/gamelounge/backend/model/request/CreatePostRequest.kt +++ b/app/backend/src/main/kotlin/com/gamelounge/backend/model/request/CreatePostRequest.kt @@ -10,6 +10,8 @@ data class CreatePostRequest( val content: String, @JsonProperty("category") val category: PostCategory, + @JsonProperty("gameId") + val gameId: Long? = null, @JsonProperty("tags") val tags: List<String>? = emptyList() ) \ No newline at end of file diff --git a/app/backend/src/main/kotlin/com/gamelounge/backend/model/request/UpdatePostRequest.kt b/app/backend/src/main/kotlin/com/gamelounge/backend/model/request/UpdatePostRequest.kt index e4053aed..fb23909a 100644 --- a/app/backend/src/main/kotlin/com/gamelounge/backend/model/request/UpdatePostRequest.kt +++ b/app/backend/src/main/kotlin/com/gamelounge/backend/model/request/UpdatePostRequest.kt @@ -10,6 +10,8 @@ data class UpdatePostRequest( val content: String?, @JsonProperty("category") val category: PostCategory?, + @JsonProperty("gameId") + val gameId: Long?, @JsonProperty("tags") val tags: List<String>? ) \ No newline at end of file diff --git a/app/backend/src/main/kotlin/com/gamelounge/backend/service/PostService.kt b/app/backend/src/main/kotlin/com/gamelounge/backend/service/PostService.kt index 78ff99c6..78290068 100644 --- a/app/backend/src/main/kotlin/com/gamelounge/backend/service/PostService.kt +++ b/app/backend/src/main/kotlin/com/gamelounge/backend/service/PostService.kt @@ -40,6 +40,7 @@ class PostService( content = post.content, category = post.category, user = user, + relatedGame = post.gameId?.let { gameService.getGame(it) }, postTags = tagService.createAndReturnTagsFromTagNames(post.tags) ?: emptyList() ) return postRepository.save(newPost) @@ -60,6 +61,7 @@ class PostService( post.title = updatedPost.title ?: post.title post.content = updatedPost.content ?: post.content post.category = updatedPost.category ?: post.category + post.relatedGame = updatedPost.gameId?.let { gameService.getGame(it) } ?: post.relatedGame post.postTags = tagService.createAndReturnTagsFromTagNames(updatedPost.tags) ?: post.postTags // TODO diff --git a/app/backend/src/main/kotlin/com/gamelounge/backend/util/ConverterDTO.kt b/app/backend/src/main/kotlin/com/gamelounge/backend/util/ConverterDTO.kt index 341ddd94..b9ad3d41 100644 --- a/app/backend/src/main/kotlin/com/gamelounge/backend/util/ConverterDTO.kt +++ b/app/backend/src/main/kotlin/com/gamelounge/backend/util/ConverterDTO.kt @@ -14,6 +14,7 @@ object ConverterDTO { downvotes = post.downvotes, totalComments = post.totalComments, category = post.category, + relatedGame = post.relatedGame?.let { convertToGameDTO(it) }, tags = convertBulkToTagDTO(post.postTags) ) }