Move paths to separated files

This commit is contained in:
2019-08-26 14:34:18 +02:00
parent b285bad593
commit 0e50921a0a
8 changed files with 87 additions and 75 deletions

View File

@@ -1,12 +1,12 @@
package fr.dcproject.routes
import Paths
import com.fasterxml.jackson.databind.exc.MismatchedInputException
import fr.dcproject.JwtConfig
import io.ktor.application.call
import io.ktor.auth.UserPasswordCredential
import io.ktor.features.BadRequestException
import io.ktor.locations.KtorExperimentalLocationsAPI
import io.ktor.locations.Location
import io.ktor.locations.post
import io.ktor.request.receive
import io.ktor.response.respondText
@@ -16,10 +16,16 @@ import fr.dcproject.entity.Citizen as CitizenEntity
import fr.dcproject.repository.Citizen as CitizenRepository
import fr.dcproject.repository.User as UserRepository
@KtorExperimentalLocationsAPI
object AuthPaths {
@Location("/login") class LoginRequest
@Location("/register") class RegisterRequest
}
@KtorExperimentalLocationsAPI
@KtorExperimentalAPI
fun Route.auth(userRepo: UserRepository, citizenRepo: CitizenRepository) {
post <Paths.LoginRequest> {
post <AuthPaths.LoginRequest> {
try {
val credentials = call.receive<UserPasswordCredential>()
val user = userRepo.findByCredentials(credentials) ?: throw BadRequestException("Username not exist or password is wrong")
@@ -29,7 +35,7 @@ fun Route.auth(userRepo: UserRepository, citizenRepo: CitizenRepository) {
}
}
post <Paths.RegisterRequest> {
post <AuthPaths.RegisterRequest> {
val citizen = call.receive<CitizenEntity>()
val created = citizenRepo.insertWithUser(citizen)?.user ?: throw BadRequestException("Bad request")