Refactors Citizen into component

Refactor CitizenVoter
Split citizens routes
This commit is contained in:
2021-01-14 15:07:59 +01:00
parent a1c1accc87
commit 6a8c5bf717
63 changed files with 404 additions and 346 deletions

View File

@@ -0,0 +1,23 @@
package fr.dcproject.component.citizen.routes
import fr.dcproject.citizenOrNull
import fr.dcproject.component.citizen.Citizen
import fr.dcproject.component.citizen.CitizenVoter
import fr.dcproject.voter.assert
import io.ktor.application.*
import io.ktor.locations.*
import io.ktor.response.*
import io.ktor.routing.*
@KtorExperimentalLocationsAPI
@Location("/citizens/{citizen}")
class CitizenRequest(val citizen: Citizen)
@KtorExperimentalLocationsAPI
fun Route.getOneCitizen(voter: CitizenVoter) {
get<CitizenRequest> {
voter.assert { canView(it.citizen, citizenOrNull) }
call.respond(it.citizen)
}
}