Can get current Citizen

This commit is contained in:
2019-10-02 01:28:43 +02:00
parent 9de2c91191
commit fc138790ea
3 changed files with 30 additions and 0 deletions

View File

@@ -1,5 +1,6 @@
package fr.dcproject.routes
import fr.dcproject.citizen
import fr.dcproject.entity.Citizen
import fr.dcproject.security.voter.CitizenVoter.Action.VIEW
import fr.dcproject.security.voter.assertCan
@@ -19,6 +20,7 @@ object CitizenPaths {
val limit: Int = if (limit > 50) 50 else if (limit < 1) 1 else limit
}
@Location("/citizens/{citizen}") class CitizenRequest(val citizen: Citizen)
@Location("/citizens/current") class CurrentCitizenRequest
@Location("/citizens/{citizen}/follows/articles") class CitizenFollowArticleRequest(val citizen: Citizen)
@Location("/citizens/{citizen}/follows/constitutions") class CitizenFollowConstitutionRequest(val citizen: Citizen)
}
@@ -36,4 +38,10 @@ fun Route.citizen(repo: CitizenRepository) {
call.respond(it.citizen)
}
get<CitizenPaths.CurrentCitizenRequest> {
assertCan(VIEW, citizen)
call.respond(citizen)
}
}

View File

@@ -38,6 +38,21 @@ paths:
example:
eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJBdXRoZW50aWNhdGlvbiIsImlzcyI6ImRjLXByb2plY3QuZnIiLCJpZCI6ImQ1NDRhNmE4LWJhYjgtNDU2MC05NWIxLThhZjAyMDNkOTEwNCIsImV4cCI6MTU2NzA3Mzc0Mn0.0VTetv8fZFjVgpJ-bwJpidGNHJUOmgj8vuZcZXzwnLa7TtFwcXWvh3bDPYHqB66nmOfXyM57XnHDbmRwtipCag
/citizens/current:
get:
security:
- JWTAuth: []
summary: Get Citizen
tags:
- citizen
operationId: getCurrentCitizen
responses:
200:
description: The Citizen object
content:
application/json:
schema:
$ref: '#/components/schemas/CitizenResponse'
/citizens/{citizen}:
get:
security: