Skip to content

Commit 94a139b

Browse files
authored
Gson as content negotiator (#26)
* remove gson serializer * remove gson serializer from exceptions * remove gson serializer from test * remove gson serializer from configs * remove gson serializer from integration tests * add gson as content negotiator * add quality badges
1 parent f9e074b commit 94a139b

File tree

24 files changed

+99
-114
lines changed

24 files changed

+99
-114
lines changed

README.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22

33
Here lays a Kotlin web project with Ktor framework, Postgres database, and JWT Authentication.
44

5+
[![Quality Gate Status](https://sonarcloud.io/api/project_badges/measure?project=fractalliter_ktor-postgres-backend&metric=alert_status)](https://sonarcloud.io/summary/new_code?id=fractalliter_ktor-postgres-backend)
6+
[![Bugs](https://sonarcloud.io/api/project_badges/measure?project=fractalliter_ktor-postgres-backend&metric=bugs)](https://sonarcloud.io/summary/new_code?id=fractalliter_ktor-postgres-backend)
7+
[![Code Smells](https://sonarcloud.io/api/project_badges/measure?project=fractalliter_ktor-postgres-backend&metric=code_smells)](https://sonarcloud.io/summary/new_code?id=fractalliter_ktor-postgres-backend)
8+
[![Duplicated Lines (%)](https://sonarcloud.io/api/project_badges/measure?project=fractalliter_ktor-postgres-backend&metric=duplicated_lines_density)](https://sonarcloud.io/summary/new_code?id=fractalliter_ktor-postgres-backend)
9+
[![Vulnerabilities](https://sonarcloud.io/api/project_badges/measure?project=fractalliter_ktor-postgres-backend&metric=vulnerabilities)](https://sonarcloud.io/summary/new_code?id=fractalliter_ktor-postgres-backend)
10+
511
The project comprises the following ingredients:
612

713
- [Ktor](https://ktor.io/) server

build.gradle.kts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ val kotlin_version: String by project
33
val logback_version: String by project
44
val exposed_version: String by project
55
val database_driver_version: String by project
6-
val gson_version: String by project
76
val jbcrypt_version: String by project
87
val hikaricp_version: String by project
98
val redis_version: String by project
@@ -51,14 +50,14 @@ dependencies {
5150
implementation("org.jetbrains.exposed:exposed-jdbc:$exposed_version")
5251
// add database driver below, default is postgres
5352
implementation("org.postgresql:postgresql:$database_driver_version")
54-
implementation("com.google.code.gson:gson:$gson_version")
5553
implementation("org.mindrot:jbcrypt:$jbcrypt_version")
5654
implementation("io.github.crackthecodeabhi:kreds:$redis_version")
5755
implementation("com.zaxxer:HikariCP:$hikaricp_version")
56+
implementation("io.ktor:ktor-client-content-negotiation:$ktor_version")
5857
implementation("io.ktor:ktor-server-content-negotiation-jvm:$ktor_version")
5958
implementation("io.ktor:ktor-client-content-negotiation:$ktor_version")
6059
implementation("io.ktor:ktor-server-core-jvm:$ktor_version")
61-
implementation("io.ktor:ktor-serialization-kotlinx-json-jvm:$ktor_version")
60+
implementation("io.ktor:ktor-serialization-gson:$ktor_version")
6261
implementation("io.ktor:ktor-server-netty-jvm:$ktor_version")
6362
implementation("io.ktor:ktor-server-auth:$ktor_version")
6463
implementation("io.ktor:ktor-server-status-pages:$ktor_version")

gradle.properties

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ kotlin.code.style=official
55
exposed_version=0.37.3
66
# Postgresql driver version, it can be any db driver. Also change the equivalent dependency
77
database_driver_version=42.5.1
8-
gson_version=2.9.0
98
jbcrypt_version=0.4
109
hikaricp_version=5.0.1
1110
redis_version=0.8

src/main/kotlin/com/personia/dao/node/NodeDaoFacade.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.personia.dao.node
22

3-
import com.personia.models.Node
3+
import com.personia.dto.Node
44

55
interface NodeDaoFacade {
66
suspend fun allConnections(): List<Node>

src/main/kotlin/com/personia/dao/node/NodeDaoImpl.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.personia.dao.node
22

33
import com.personia.dao.DatabaseFactory.dbQuery
4-
import com.personia.models.Node
4+
import com.personia.dto.Node
55
import com.personia.models.Nodes
66
import org.jetbrains.exposed.sql.*
77

src/main/kotlin/com/personia/dao/user/UserDaoFacade.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package com.personia.dao.user
22

3-
import com.personia.models.User
3+
import com.personia.dto.User
44

55
interface UserDaoFacade {
66
suspend fun createUser(user: User): User?

src/main/kotlin/com/personia/dao/user/UserDaoImpl.kt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
package com.personia.dao.user
22

33
import com.personia.dao.DatabaseFactory.dbQuery
4-
import com.personia.models.User
4+
import com.personia.dto.User
55
import com.personia.models.Users
66
import org.jetbrains.exposed.sql.ResultRow
77
import org.jetbrains.exposed.sql.insert
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.personia.dto
2+
3+
import kotlinx.serialization.Serializable
4+
5+
@Serializable
6+
data class Exception(val message: String?, val code: Int)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.personia.dto
2+
3+
import kotlinx.serialization.Serializable
4+
5+
@Serializable
6+
data class Node(val id: Int, val name: String, val supervisor: String)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
package com.personia.dto
2+
3+
import kotlinx.serialization.Serializable
4+
5+
@Serializable
6+
data class Token(val token: String)

0 commit comments

Comments
 (0)