use always receiveOrBadRequest
This commit is contained in:
@@ -11,6 +11,7 @@ import fr.dcproject.component.notification.ArticleUpdateNotification
|
|||||||
import fr.dcproject.component.notification.Publisher
|
import fr.dcproject.component.notification.Publisher
|
||||||
import fr.dcproject.component.workgroup.WorkgroupRef
|
import fr.dcproject.component.workgroup.WorkgroupRef
|
||||||
import fr.dcproject.security.assert
|
import fr.dcproject.security.assert
|
||||||
|
import fr.dcproject.utils.receiveOrBadRequest
|
||||||
import io.ktor.application.ApplicationCall
|
import io.ktor.application.ApplicationCall
|
||||||
import io.ktor.application.call
|
import io.ktor.application.call
|
||||||
import io.ktor.locations.KtorExperimentalLocationsAPI
|
import io.ktor.locations.KtorExperimentalLocationsAPI
|
||||||
@@ -39,7 +40,7 @@ object UpsertArticle {
|
|||||||
}
|
}
|
||||||
|
|
||||||
fun Route.upsertArticle(repo: ArticleRepository, publisher: Publisher, ac: ArticleAccessControl) {
|
fun Route.upsertArticle(repo: ArticleRepository, publisher: Publisher, ac: ArticleAccessControl) {
|
||||||
suspend fun ApplicationCall.convertRequestToEntity(): ArticleForUpdate = receive<Input>().run {
|
suspend fun ApplicationCall.convertRequestToEntity(): ArticleForUpdate = receiveOrBadRequest<Input>().run {
|
||||||
ArticleForUpdate(
|
ArticleForUpdate(
|
||||||
id = id ?: UUID.randomUUID(),
|
id = id ?: UUID.randomUUID(),
|
||||||
title = title,
|
title = title,
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ package fr.dcproject.component.auth.routes
|
|||||||
import com.fasterxml.jackson.databind.exc.MismatchedInputException
|
import com.fasterxml.jackson.databind.exc.MismatchedInputException
|
||||||
import fr.dcproject.component.auth.UserRepository
|
import fr.dcproject.component.auth.UserRepository
|
||||||
import fr.dcproject.component.auth.jwt.makeToken
|
import fr.dcproject.component.auth.jwt.makeToken
|
||||||
|
import fr.dcproject.utils.receiveOrBadRequest
|
||||||
import io.ktor.application.call
|
import io.ktor.application.call
|
||||||
import io.ktor.auth.UserPasswordCredential
|
import io.ktor.auth.UserPasswordCredential
|
||||||
import io.ktor.http.HttpStatusCode
|
import io.ktor.http.HttpStatusCode
|
||||||
@@ -22,7 +23,7 @@ object Login {
|
|||||||
fun Route.authLogin(userRepo: UserRepository) {
|
fun Route.authLogin(userRepo: UserRepository) {
|
||||||
post<LoginRequest> {
|
post<LoginRequest> {
|
||||||
try {
|
try {
|
||||||
val credentials = call.receive<UserPasswordCredential>()
|
val credentials = call.receiveOrBadRequest<UserPasswordCredential>()
|
||||||
userRepo.findByCredentials(credentials)?.let { user ->
|
userRepo.findByCredentials(credentials)?.let { user ->
|
||||||
call.respondText(user.makeToken())
|
call.respondText(user.makeToken())
|
||||||
} ?: call.respond(HttpStatusCode.BadRequest, "Username not exist or password is wrong")
|
} ?: call.respond(HttpStatusCode.BadRequest, "Username not exist or password is wrong")
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import fr.dcproject.component.auth.routes.Register.RegisterRequest.Input
|
|||||||
import fr.dcproject.component.citizen.Citizen
|
import fr.dcproject.component.citizen.Citizen
|
||||||
import fr.dcproject.component.citizen.CitizenI
|
import fr.dcproject.component.citizen.CitizenI
|
||||||
import fr.dcproject.component.citizen.CitizenRepository
|
import fr.dcproject.component.citizen.CitizenRepository
|
||||||
|
import fr.dcproject.utils.receiveOrBadRequest
|
||||||
import io.ktor.application.call
|
import io.ktor.application.call
|
||||||
import io.ktor.features.BadRequestException
|
import io.ktor.features.BadRequestException
|
||||||
import io.ktor.http.HttpStatusCode
|
import io.ktor.http.HttpStatusCode
|
||||||
@@ -60,7 +61,7 @@ object Register {
|
|||||||
|
|
||||||
post<RegisterRequest> {
|
post<RegisterRequest> {
|
||||||
try {
|
try {
|
||||||
val citizen = call.receive<Input>().toCitizen()
|
val citizen = call.receiveOrBadRequest<Input>().toCitizen()
|
||||||
val createdCitizen = citizenRepo.insertWithUser(citizen)?.user ?: throw BadRequestException("Bad request")
|
val createdCitizen = citizenRepo.insertWithUser(citizen)?.user ?: throw BadRequestException("Bad request")
|
||||||
call.respondText(createdCitizen.makeToken())
|
call.respondText(createdCitizen.makeToken())
|
||||||
} catch (e: MissingKotlinParameterException) {
|
} catch (e: MissingKotlinParameterException) {
|
||||||
|
|||||||
@@ -2,6 +2,7 @@ package fr.dcproject.component.auth.routes
|
|||||||
|
|
||||||
import fr.dcproject.component.auth.PasswordlessAuth
|
import fr.dcproject.component.auth.PasswordlessAuth
|
||||||
import fr.dcproject.component.auth.routes.Sso.PasswordlessRequest.Input
|
import fr.dcproject.component.auth.routes.Sso.PasswordlessRequest.Input
|
||||||
|
import fr.dcproject.utils.receiveOrBadRequest
|
||||||
import io.ktor.application.call
|
import io.ktor.application.call
|
||||||
import io.ktor.http.HttpStatusCode
|
import io.ktor.http.HttpStatusCode
|
||||||
import io.ktor.locations.KtorExperimentalLocationsAPI
|
import io.ktor.locations.KtorExperimentalLocationsAPI
|
||||||
@@ -23,7 +24,7 @@ object Sso {
|
|||||||
*/
|
*/
|
||||||
fun Route.authPasswordless(passwordlessAuth: PasswordlessAuth) {
|
fun Route.authPasswordless(passwordlessAuth: PasswordlessAuth) {
|
||||||
post<PasswordlessRequest> {
|
post<PasswordlessRequest> {
|
||||||
call.receive<Input>().run {
|
call.receiveOrBadRequest<Input>().run {
|
||||||
try {
|
try {
|
||||||
passwordlessAuth.sendEmail(email, url)
|
passwordlessAuth.sendEmail(email, url)
|
||||||
} catch (e: PasswordlessAuth.EmailNotFound) {
|
} catch (e: PasswordlessAuth.EmailNotFound) {
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import fr.dcproject.component.comment.article.routes.CreateCommentArticle.PostAr
|
|||||||
import fr.dcproject.component.comment.generic.CommentAccessControl
|
import fr.dcproject.component.comment.generic.CommentAccessControl
|
||||||
import fr.dcproject.component.comment.generic.CommentForUpdate
|
import fr.dcproject.component.comment.generic.CommentForUpdate
|
||||||
import fr.dcproject.security.assert
|
import fr.dcproject.security.assert
|
||||||
|
import fr.dcproject.utils.receiveOrBadRequest
|
||||||
import io.ktor.application.ApplicationCall
|
import io.ktor.application.ApplicationCall
|
||||||
import io.ktor.application.call
|
import io.ktor.application.call
|
||||||
import io.ktor.http.HttpStatusCode
|
import io.ktor.http.HttpStatusCode
|
||||||
@@ -27,7 +28,7 @@ object CreateCommentArticle {
|
|||||||
class Input(val content: String)
|
class Input(val content: String)
|
||||||
}
|
}
|
||||||
|
|
||||||
suspend fun PostArticleCommentRequest.getComment(call: ApplicationCall) = call.receive<Input>().run {
|
suspend fun PostArticleCommentRequest.getComment(call: ApplicationCall) = call.receiveOrBadRequest<Input>().run {
|
||||||
CommentForUpdate(
|
CommentForUpdate(
|
||||||
target = article,
|
target = article,
|
||||||
createdBy = call.citizen,
|
createdBy = call.citizen,
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import fr.dcproject.component.comment.generic.CommentForUpdate
|
|||||||
import fr.dcproject.component.comment.generic.CommentRef
|
import fr.dcproject.component.comment.generic.CommentRef
|
||||||
import fr.dcproject.component.comment.generic.CommentRepository
|
import fr.dcproject.component.comment.generic.CommentRepository
|
||||||
import fr.dcproject.security.assert
|
import fr.dcproject.security.assert
|
||||||
|
import fr.dcproject.utils.receiveOrBadRequest
|
||||||
import io.ktor.application.call
|
import io.ktor.application.call
|
||||||
import io.ktor.features.NotFoundException
|
import io.ktor.features.NotFoundException
|
||||||
import io.ktor.http.HttpStatusCode
|
import io.ktor.http.HttpStatusCode
|
||||||
@@ -30,7 +31,7 @@ object CreateCommentChildren {
|
|||||||
post<CreateCommentChildrenRequest> {
|
post<CreateCommentChildrenRequest> {
|
||||||
val parent = repo.findById(it.comment.id) ?: throw NotFoundException("Comment not found")
|
val parent = repo.findById(it.comment.id) ?: throw NotFoundException("Comment not found")
|
||||||
val newComment = CommentForUpdate(
|
val newComment = CommentForUpdate(
|
||||||
content = call.receive<CreateCommentChildrenRequest.Input>().content,
|
content = call.receiveOrBadRequest<CreateCommentChildrenRequest.Input>().content,
|
||||||
createdBy = citizen,
|
createdBy = citizen,
|
||||||
parent = parent
|
parent = parent
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import fr.dcproject.component.constitution.ConstitutionSimple.TitleSimple
|
|||||||
import fr.dcproject.component.constitution.routes.CreateConstitution.PostConstitutionRequest.Input
|
import fr.dcproject.component.constitution.routes.CreateConstitution.PostConstitutionRequest.Input
|
||||||
import fr.dcproject.component.constitution.routes.CreateConstitution.PostConstitutionRequest.Input.Title
|
import fr.dcproject.component.constitution.routes.CreateConstitution.PostConstitutionRequest.Input.Title
|
||||||
import fr.dcproject.security.assert
|
import fr.dcproject.security.assert
|
||||||
|
import fr.dcproject.utils.receiveOrBadRequest
|
||||||
import fr.postgresjson.entity.UuidEntity
|
import fr.postgresjson.entity.UuidEntity
|
||||||
import io.ktor.application.call
|
import io.ktor.application.call
|
||||||
import io.ktor.locations.KtorExperimentalLocationsAPI
|
import io.ktor.locations.KtorExperimentalLocationsAPI
|
||||||
@@ -72,7 +73,7 @@ object CreateConstitution {
|
|||||||
|
|
||||||
fun Route.createConstitution(repo: ConstitutionRepository, ac: ConstitutionAccessControl) {
|
fun Route.createConstitution(repo: ConstitutionRepository, ac: ConstitutionAccessControl) {
|
||||||
post<PostConstitutionRequest> {
|
post<PostConstitutionRequest> {
|
||||||
getNewConstitution(call.receive(), citizen).let {
|
getNewConstitution(call.receiveOrBadRequest(), citizen).let {
|
||||||
ac.assert { canCreate(it, citizenOrNull) }
|
ac.assert { canCreate(it, citizenOrNull) }
|
||||||
repo.upsert(it)
|
repo.upsert(it)
|
||||||
call.respond(it)
|
call.respond(it)
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import fr.dcproject.component.opinion.OpinionAccessControl
|
|||||||
import fr.dcproject.component.opinion.entity.OpinionChoiceRef
|
import fr.dcproject.component.opinion.entity.OpinionChoiceRef
|
||||||
import fr.dcproject.component.opinion.entity.OpinionForUpdate
|
import fr.dcproject.component.opinion.entity.OpinionForUpdate
|
||||||
import fr.dcproject.security.assert
|
import fr.dcproject.security.assert
|
||||||
|
import fr.dcproject.utils.receiveOrBadRequest
|
||||||
import fr.dcproject.utils.toUUID
|
import fr.dcproject.utils.toUUID
|
||||||
import io.ktor.application.call
|
import io.ktor.application.call
|
||||||
import io.ktor.http.HttpStatusCode
|
import io.ktor.http.HttpStatusCode
|
||||||
@@ -34,7 +35,7 @@ object OpinionArticle {
|
|||||||
|
|
||||||
fun Route.setOpinionOnArticle(repo: OpinionArticleRepository, ac: OpinionAccessControl) {
|
fun Route.setOpinionOnArticle(repo: OpinionArticleRepository, ac: OpinionAccessControl) {
|
||||||
put<ArticleOpinion> {
|
put<ArticleOpinion> {
|
||||||
call.receive<ArticleOpinion.Body>().ids.map { id ->
|
call.receiveOrBadRequest<ArticleOpinion.Body>().ids.map { id ->
|
||||||
OpinionForUpdate(
|
OpinionForUpdate(
|
||||||
choice = OpinionChoiceRef(id),
|
choice = OpinionChoiceRef(id),
|
||||||
target = it.article,
|
target = it.article,
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import fr.dcproject.component.vote.VoteAccessControl
|
|||||||
import fr.dcproject.component.vote.VoteArticleRepository
|
import fr.dcproject.component.vote.VoteArticleRepository
|
||||||
import fr.dcproject.component.vote.entity.VoteForUpdate
|
import fr.dcproject.component.vote.entity.VoteForUpdate
|
||||||
import fr.dcproject.security.assert
|
import fr.dcproject.security.assert
|
||||||
|
import fr.dcproject.utils.receiveOrBadRequest
|
||||||
import io.ktor.application.call
|
import io.ktor.application.call
|
||||||
import io.ktor.features.NotFoundException
|
import io.ktor.features.NotFoundException
|
||||||
import io.ktor.http.HttpStatusCode
|
import io.ktor.http.HttpStatusCode
|
||||||
@@ -29,7 +30,7 @@ object PutVoteOnArticle {
|
|||||||
|
|
||||||
fun Route.putVoteOnArticle(repo: VoteArticleRepository, ac: VoteAccessControl, articleRepo: ArticleRepository) {
|
fun Route.putVoteOnArticle(repo: VoteArticleRepository, ac: VoteAccessControl, articleRepo: ArticleRepository) {
|
||||||
put<ArticleVoteRequest> {
|
put<ArticleVoteRequest> {
|
||||||
val input = call.receive<ArticleVoteRequest.Input>()
|
val input = call.receiveOrBadRequest<ArticleVoteRequest.Input>()
|
||||||
val article = articleRepo.findById(it.article.id) ?: throw NotFoundException("Article ${it.article.id} not found")
|
val article = articleRepo.findById(it.article.id) ?: throw NotFoundException("Article ${it.article.id} not found")
|
||||||
val vote = VoteForUpdate(
|
val vote = VoteForUpdate(
|
||||||
target = article,
|
target = article,
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import fr.dcproject.component.vote.VoteAccessControl
|
|||||||
import fr.dcproject.component.vote.VoteCommentRepository
|
import fr.dcproject.component.vote.VoteCommentRepository
|
||||||
import fr.dcproject.component.vote.entity.VoteForUpdate
|
import fr.dcproject.component.vote.entity.VoteForUpdate
|
||||||
import fr.dcproject.security.assert
|
import fr.dcproject.security.assert
|
||||||
|
import fr.dcproject.utils.receiveOrBadRequest
|
||||||
import io.ktor.application.call
|
import io.ktor.application.call
|
||||||
import io.ktor.http.HttpStatusCode
|
import io.ktor.http.HttpStatusCode
|
||||||
import io.ktor.locations.KtorExperimentalLocationsAPI
|
import io.ktor.locations.KtorExperimentalLocationsAPI
|
||||||
@@ -27,7 +28,7 @@ object PutVoteOnComment {
|
|||||||
fun Route.putVoteOnComment(voteCommentRepo: VoteCommentRepository, commentRepo: CommentRepository, ac: VoteAccessControl) {
|
fun Route.putVoteOnComment(voteCommentRepo: VoteCommentRepository, commentRepo: CommentRepository, ac: VoteAccessControl) {
|
||||||
put<CommentVoteRequest> {
|
put<CommentVoteRequest> {
|
||||||
val comment = commentRepo.findById(it.comment)!!
|
val comment = commentRepo.findById(it.comment)!!
|
||||||
val content = call.receive<CommentVoteRequest.Content>()
|
val content = call.receiveOrBadRequest<CommentVoteRequest.Content>()
|
||||||
val vote = VoteForUpdate(
|
val vote = VoteForUpdate(
|
||||||
target = comment,
|
target = comment,
|
||||||
note = content.note,
|
note = content.note,
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ import fr.dcproject.component.vote.VoteConstitutionRepository
|
|||||||
import fr.dcproject.component.vote.entity.VoteForUpdate
|
import fr.dcproject.component.vote.entity.VoteForUpdate
|
||||||
import fr.dcproject.component.vote.routes.VoteConstitution.ConstitutionVoteRequest.Input
|
import fr.dcproject.component.vote.routes.VoteConstitution.ConstitutionVoteRequest.Input
|
||||||
import fr.dcproject.security.assert
|
import fr.dcproject.security.assert
|
||||||
|
import fr.dcproject.utils.receiveOrBadRequest
|
||||||
import io.ktor.application.call
|
import io.ktor.application.call
|
||||||
import io.ktor.features.NotFoundException
|
import io.ktor.features.NotFoundException
|
||||||
import io.ktor.http.HttpStatusCode
|
import io.ktor.http.HttpStatusCode
|
||||||
@@ -32,7 +33,7 @@ object VoteConstitution {
|
|||||||
fun Route.voteConstitution(repo: VoteConstitutionRepository, ac: VoteAccessControl, constitutionRepo: ConstitutionRepository) {
|
fun Route.voteConstitution(repo: VoteConstitutionRepository, ac: VoteAccessControl, constitutionRepo: ConstitutionRepository) {
|
||||||
put<ConstitutionVoteRequest> {
|
put<ConstitutionVoteRequest> {
|
||||||
val constitution = constitutionRepo.findById(it.constitution.id) ?: throw NotFoundException("Unable to find constitution ${it.constitution.id}")
|
val constitution = constitutionRepo.findById(it.constitution.id) ?: throw NotFoundException("Unable to find constitution ${it.constitution.id}")
|
||||||
val content = call.receive<Input>()
|
val content = call.receiveOrBadRequest<Input>()
|
||||||
val vote = VoteForUpdate(
|
val vote = VoteForUpdate(
|
||||||
target = constitution,
|
target = constitution,
|
||||||
note = content.note,
|
note = content.note,
|
||||||
|
|||||||
@@ -7,6 +7,7 @@ import fr.dcproject.component.workgroup.WorkgroupRepository
|
|||||||
import fr.dcproject.component.workgroup.WorkgroupSimple
|
import fr.dcproject.component.workgroup.WorkgroupSimple
|
||||||
import fr.dcproject.component.workgroup.routes.CreateWorkgroup.PostWorkgroupRequest.Input
|
import fr.dcproject.component.workgroup.routes.CreateWorkgroup.PostWorkgroupRequest.Input
|
||||||
import fr.dcproject.security.assert
|
import fr.dcproject.security.assert
|
||||||
|
import fr.dcproject.utils.receiveOrBadRequest
|
||||||
import io.ktor.application.call
|
import io.ktor.application.call
|
||||||
import io.ktor.http.HttpStatusCode
|
import io.ktor.http.HttpStatusCode
|
||||||
import io.ktor.locations.KtorExperimentalLocationsAPI
|
import io.ktor.locations.KtorExperimentalLocationsAPI
|
||||||
@@ -32,7 +33,7 @@ object CreateWorkgroup {
|
|||||||
|
|
||||||
fun Route.createWorkgroup(repo: WorkgroupRepository, ac: WorkgroupAccessControl) {
|
fun Route.createWorkgroup(repo: WorkgroupRepository, ac: WorkgroupAccessControl) {
|
||||||
post<PostWorkgroupRequest> {
|
post<PostWorkgroupRequest> {
|
||||||
call.receive<Input>().run {
|
call.receiveOrBadRequest<Input>().run {
|
||||||
WorkgroupSimple(
|
WorkgroupSimple(
|
||||||
id ?: UUID.randomUUID(),
|
id ?: UUID.randomUUID(),
|
||||||
name,
|
name,
|
||||||
|
|||||||
@@ -5,6 +5,7 @@ import fr.dcproject.component.workgroup.WorkgroupAccessControl
|
|||||||
import fr.dcproject.component.workgroup.WorkgroupRepository
|
import fr.dcproject.component.workgroup.WorkgroupRepository
|
||||||
import fr.dcproject.component.workgroup.routes.EditWorkgroup.PutWorkgroupRequest.Input
|
import fr.dcproject.component.workgroup.routes.EditWorkgroup.PutWorkgroupRequest.Input
|
||||||
import fr.dcproject.security.assert
|
import fr.dcproject.security.assert
|
||||||
|
import fr.dcproject.utils.receiveOrBadRequest
|
||||||
import io.ktor.application.call
|
import io.ktor.application.call
|
||||||
import io.ktor.http.HttpStatusCode
|
import io.ktor.http.HttpStatusCode
|
||||||
import io.ktor.locations.KtorExperimentalLocationsAPI
|
import io.ktor.locations.KtorExperimentalLocationsAPI
|
||||||
@@ -31,7 +32,7 @@ object EditWorkgroup {
|
|||||||
fun Route.editWorkgroup(repo: WorkgroupRepository, ac: WorkgroupAccessControl) {
|
fun Route.editWorkgroup(repo: WorkgroupRepository, ac: WorkgroupAccessControl) {
|
||||||
put<PutWorkgroupRequest> {
|
put<PutWorkgroupRequest> {
|
||||||
repo.findById(it.workgroupId)?.let { old ->
|
repo.findById(it.workgroupId)?.let { old ->
|
||||||
call.receive<Input>().run {
|
call.receiveOrBadRequest<Input>().run {
|
||||||
old.copy(
|
old.copy(
|
||||||
name = name ?: old.name,
|
name = name ?: old.name,
|
||||||
description = description ?: old.description,
|
description = description ?: old.description,
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import fr.dcproject.component.workgroup.WorkgroupAccessControl
|
|||||||
import fr.dcproject.component.workgroup.WorkgroupRepository
|
import fr.dcproject.component.workgroup.WorkgroupRepository
|
||||||
import fr.dcproject.component.workgroup.WorkgroupWithMembersI
|
import fr.dcproject.component.workgroup.WorkgroupWithMembersI
|
||||||
import fr.dcproject.security.assert
|
import fr.dcproject.security.assert
|
||||||
|
import fr.dcproject.utils.receiveOrBadRequest
|
||||||
import io.ktor.application.ApplicationCall
|
import io.ktor.application.ApplicationCall
|
||||||
import io.ktor.application.call
|
import io.ktor.application.call
|
||||||
import io.ktor.http.HttpStatusCode
|
import io.ktor.http.HttpStatusCode
|
||||||
@@ -32,7 +33,7 @@ object AddMemberToWorkgroup {
|
|||||||
}
|
}
|
||||||
|
|
||||||
@KtorExperimentalLocationsAPI
|
@KtorExperimentalLocationsAPI
|
||||||
private suspend fun ApplicationCall.getMembersFromRequest(): List<WorkgroupWithMembersI.Member<CitizenRef>> = receive<WorkgroupsMembersRequest.Input>().map {
|
private suspend fun ApplicationCall.getMembersFromRequest(): List<WorkgroupWithMembersI.Member<CitizenRef>> = receiveOrBadRequest<WorkgroupsMembersRequest.Input>().map {
|
||||||
WorkgroupWithMembersI.Member(
|
WorkgroupWithMembersI.Member(
|
||||||
citizen = it.citizen,
|
citizen = it.citizen,
|
||||||
roles = it.roles
|
roles = it.roles
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import fr.dcproject.component.workgroup.WorkgroupAccessControl
|
|||||||
import fr.dcproject.component.workgroup.WorkgroupRepository
|
import fr.dcproject.component.workgroup.WorkgroupRepository
|
||||||
import fr.dcproject.component.workgroup.WorkgroupWithMembersI
|
import fr.dcproject.component.workgroup.WorkgroupWithMembersI
|
||||||
import fr.dcproject.security.assert
|
import fr.dcproject.security.assert
|
||||||
|
import fr.dcproject.utils.receiveOrBadRequest
|
||||||
import io.ktor.application.ApplicationCall
|
import io.ktor.application.ApplicationCall
|
||||||
import io.ktor.application.call
|
import io.ktor.application.call
|
||||||
import io.ktor.http.HttpStatusCode
|
import io.ktor.http.HttpStatusCode
|
||||||
@@ -31,7 +32,7 @@ object DeleteMembersOfWorkgroup {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private suspend fun ApplicationCall.getMembersFromRequest(): List<WorkgroupWithMembersI.Member<CitizenRef>> = receive<WorkgroupsMembersRequest.Input>().map {
|
private suspend fun ApplicationCall.getMembersFromRequest(): List<WorkgroupWithMembersI.Member<CitizenRef>> = receiveOrBadRequest<WorkgroupsMembersRequest.Input>().map {
|
||||||
WorkgroupWithMembersI.Member(
|
WorkgroupWithMembersI.Member(
|
||||||
citizen = it.citizen,
|
citizen = it.citizen,
|
||||||
roles = it.roles
|
roles = it.roles
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import fr.dcproject.component.workgroup.WorkgroupAccessControl
|
|||||||
import fr.dcproject.component.workgroup.WorkgroupRepository
|
import fr.dcproject.component.workgroup.WorkgroupRepository
|
||||||
import fr.dcproject.component.workgroup.WorkgroupWithMembersI
|
import fr.dcproject.component.workgroup.WorkgroupWithMembersI
|
||||||
import fr.dcproject.security.assert
|
import fr.dcproject.security.assert
|
||||||
|
import fr.dcproject.utils.receiveOrBadRequest
|
||||||
import io.ktor.application.ApplicationCall
|
import io.ktor.application.ApplicationCall
|
||||||
import io.ktor.application.call
|
import io.ktor.application.call
|
||||||
import io.ktor.http.HttpStatusCode
|
import io.ktor.http.HttpStatusCode
|
||||||
@@ -31,7 +32,7 @@ object UpdateMemberOfWorkgroup {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private suspend fun ApplicationCall.getMembersFromRequest(): List<WorkgroupWithMembersI.Member<CitizenRef>> = receive<WorkgroupsMembersRequest.Input>().map {
|
private suspend fun ApplicationCall.getMembersFromRequest(): List<WorkgroupWithMembersI.Member<CitizenRef>> = receiveOrBadRequest<WorkgroupsMembersRequest.Input>().map {
|
||||||
WorkgroupWithMembersI.Member(
|
WorkgroupWithMembersI.Member(
|
||||||
citizen = it.citizen,
|
citizen = it.citizen,
|
||||||
roles = it.roles
|
roles = it.roles
|
||||||
|
|||||||
Reference in New Issue
Block a user