Move paths to separated files
This commit is contained in:
@@ -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")
|
||||
|
||||
|
||||
Reference in New Issue
Block a user