Move comment constitution to component

This commit is contained in:
2021-01-23 22:38:47 +01:00
parent 81e14f1a84
commit bfc0b7e796
27 changed files with 151 additions and 95 deletions

View File

@@ -0,0 +1,27 @@
package fr.dcproject.component.comment.constitution.routes
import fr.dcproject.component.auth.citizenOrNull
import fr.dcproject.component.citizen.Citizen
import fr.dcproject.component.comment.constitution.CommentConstitutionRepository
import fr.dcproject.component.comment.generic.CommentAccessControl
import fr.dcproject.security.assert
import io.ktor.application.call
import io.ktor.locations.KtorExperimentalLocationsAPI
import io.ktor.locations.Location
import io.ktor.locations.get
import io.ktor.response.respond
import io.ktor.routing.Route
@KtorExperimentalLocationsAPI
object GetCitizenCommentConstitution {
@Location("/citizens/{citizen}/comments/constitutions")
class GetCitizenCommentConstitutionRequest(val citizen: Citizen)
fun Route.getCitizenCommentConstitution(repo: CommentConstitutionRepository, ac: CommentAccessControl) {
get<GetCitizenCommentConstitutionRequest> {
val comments = repo.findByCitizen(it.citizen)
ac.assert { canView(comments.result, citizenOrNull) }
call.respond(comments)
}
}
}