feature #9: Create Voter for Article

This commit is contained in:
2019-08-23 09:41:41 +02:00
parent 21b6a525fd
commit 0108d496e0
5 changed files with 154 additions and 27 deletions

View File

@@ -11,10 +11,13 @@ import fr.dcproject.entity.Citizen
import fr.dcproject.entity.Constitution
import fr.dcproject.entity.User
import fr.dcproject.routes.*
import fr.dcproject.security.voter.ArticleVoter
import fr.dcproject.security.voter.AuthorizationVoter
import fr.postgresjson.migration.Migrations
import io.ktor.application.Application
import io.ktor.application.install
import io.ktor.auth.Authentication
import io.ktor.auth.authenticate
import io.ktor.auth.jwt.jwt
import io.ktor.features.AutoHeadResponse
import io.ktor.features.CallLogging
@@ -95,6 +98,12 @@ fun Application.module() {
install(Locations) {
}
install(AuthorizationVoter) {
voters = mutableListOf(
ArticleVoter()
)
}
install(Authentication) {
/**
* Setup the JWT authentication to be used in [Routing].
@@ -131,12 +140,14 @@ fun Application.module() {
}
install(Routing) {
article(get())
auth(get())
citizen(get())
constitution(get())
followArticle(get())
followConstitution(get())
authenticate(optional = true) {
article(get())
auth(get())
citizen(get())
constitution(get())
followArticle(get())
followConstitution(get())
}
}
// TODO move to postgresJson lib