diff --git a/Sources/src/main/kotlin/allin/model/User.kt b/Sources/src/main/kotlin/allin/model/User.kt index 5a67d1b..62504f3 100644 --- a/Sources/src/main/kotlin/allin/model/User.kt +++ b/Sources/src/main/kotlin/allin/model/User.kt @@ -3,7 +3,7 @@ package allin.model import kotlinx.serialization.Serializable @Serializable -data class User(val username: String, val email: String, val password: String, var nbCoins: Int) +data class User(val username: String, val email: String, val password: String, var nbCoins: Int = 1000) @Serializable -data class CheckUser(val username: String,val password: String) \ No newline at end of file +data class CheckUser(val login: String,val password: String) \ No newline at end of file diff --git a/Sources/src/main/kotlin/allin/routing/UserRouter.kt b/Sources/src/main/kotlin/allin/routing/UserRouter.kt index a1a35e0..a51e3c2 100644 --- a/Sources/src/main/kotlin/allin/routing/UserRouter.kt +++ b/Sources/src/main/kotlin/allin/routing/UserRouter.kt @@ -20,26 +20,29 @@ fun Application.UserRouter() { route("/users/register"){ post { - val newUser = call.receive() - users.add(newUser) - call.respond(HttpStatusCode.Created, newUser) + val TempUser = call.receive() + val user = users.find { it.username == TempUser.username || it.email == TempUser.email } + if(user == null) { + users.add(TempUser) + call.respond(HttpStatusCode.Created, TempUser) + } + call.respond(HttpStatusCode.Conflict) } } - route("/users/login"){ + route("/users/login") { post { val checkUser = call.receive() - val user = users.find { it.username == checkUser.username } - if (user != null) { - if(user.password==checkUser.password) - call.respond(HttpStatusCode.fromValue(200),user) - else call.respond(HttpStatusCode.NotFound) + val user = users.find { it.username == checkUser.login || it.email == checkUser.login } + if (user != null && user.password == checkUser.password) { + call.respond(HttpStatusCode.OK, user) } else { call.respond(HttpStatusCode.NotFound) } } } + route("/users/{username}") { get { val username = call.parameters["username"]