Split Entities for remove nullable variables
This commit is contained in:
@@ -1,8 +1,9 @@
|
||||
package fr.dcproject.routes
|
||||
|
||||
import com.fasterxml.jackson.databind.exc.MismatchedInputException
|
||||
import com.fasterxml.jackson.module.kotlin.MissingKotlinParameterException
|
||||
import fr.dcproject.JwtConfig
|
||||
import fr.dcproject.entity.User
|
||||
import fr.dcproject.entity.UserI.Roles.ROLE_USER
|
||||
import fr.dcproject.messages.SsoManager
|
||||
import fr.dcproject.routes.AuthPaths.LoginRequest
|
||||
import fr.dcproject.routes.AuthPaths.RegisterRequest
|
||||
@@ -52,12 +53,14 @@ fun Route.auth(
|
||||
}
|
||||
|
||||
post <RegisterRequest> {
|
||||
val citizen = call.receive<CitizenEntity>()
|
||||
citizen.user?.roles = listOf(User.Roles.ROLE_USER)
|
||||
// TODO implement with validator
|
||||
citizen.email ?: throw BadRequestException("Bad request")
|
||||
val created = citizenRepo.insertWithUser(citizen)?.user ?: throw BadRequestException("Bad request")
|
||||
call.respondText(JwtConfig.makeToken(created))
|
||||
try {
|
||||
val citizen = call.receive<CitizenEntity>()
|
||||
citizen.user.roles = listOf(ROLE_USER)
|
||||
val created = citizenRepo.insertWithUser(citizen)?.user ?: throw BadRequestException("Bad request")
|
||||
call.respondText(JwtConfig.makeToken(created))
|
||||
} catch (e: MissingKotlinParameterException) {
|
||||
call.respond(HttpStatusCode.BadRequest)
|
||||
}
|
||||
}
|
||||
|
||||
post<SsoRequest> {
|
||||
|
||||
@@ -62,7 +62,7 @@ fun Route.citizen(
|
||||
assertCan(CHANGE_PASSWORD, it.citizen)
|
||||
val content = call.receive<ChangePasswordCitizenRequest.Content>()
|
||||
|
||||
val user = it.citizen.user ?: error("Citizen must have User")
|
||||
val user = it.citizen.user
|
||||
|
||||
user.plainPassword = content.password
|
||||
userRepository.changePassword(user)
|
||||
|
||||
@@ -73,7 +73,6 @@ fun Route.comment(repo: CommentRepository) {
|
||||
assertCan(CREATE, newComment)
|
||||
repo.comment(newComment)
|
||||
|
||||
|
||||
call.respond(HttpStatusCode.Created, newComment)
|
||||
}
|
||||
|
||||
@@ -86,4 +85,4 @@ fun Route.comment(repo: CommentRepository) {
|
||||
|
||||
call.respond(HttpStatusCode.OK, comment)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package fr.dcproject.routes
|
||||
|
||||
import fr.dcproject.citizen
|
||||
import fr.dcproject.entity.ArticleRef
|
||||
import fr.dcproject.entity.Citizen
|
||||
import fr.dcproject.security.voter.CommentVoter.Action.CREATE
|
||||
import fr.dcproject.security.voter.CommentVoter.Action.VIEW
|
||||
@@ -14,7 +15,6 @@ import io.ktor.locations.post
|
||||
import io.ktor.request.receive
|
||||
import io.ktor.response.respond
|
||||
import io.ktor.routing.Route
|
||||
import fr.dcproject.entity.Article as ArticleEntity
|
||||
import fr.dcproject.entity.Comment as CommentEntity
|
||||
import fr.dcproject.entity.request.Comment as CommentEntityRequest
|
||||
import fr.dcproject.repository.CommentArticle as CommentArticleRepository
|
||||
@@ -23,7 +23,7 @@ import fr.dcproject.repository.CommentArticle as CommentArticleRepository
|
||||
object CommentArticlePaths {
|
||||
@Location("/articles/{article}/comments")
|
||||
class ArticleCommentRequest(
|
||||
val article: ArticleEntity,
|
||||
val article: ArticleRef,
|
||||
page: Int = 1,
|
||||
limit: Int = 50,
|
||||
val search: String? = null
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package fr.dcproject.routes
|
||||
|
||||
import fr.dcproject.citizen
|
||||
import fr.dcproject.entity.request.Constitution
|
||||
import fr.dcproject.security.voter.ConstitutionVoter.Action.CREATE
|
||||
import fr.dcproject.security.voter.ConstitutionVoter.Action.VIEW
|
||||
import fr.dcproject.security.voter.assertCan
|
||||
@@ -41,8 +42,7 @@ fun Route.constitution(repo: ConstitutionRepository) {
|
||||
}
|
||||
|
||||
post<ConstitutionPaths.PostConstitutionRequest> {
|
||||
val constitution = call.receive<ConstitutionEntity>()
|
||||
constitution.createdBy = citizen
|
||||
val constitution = call.receive<Constitution>().create(citizen)
|
||||
assertCan(CREATE, constitution)
|
||||
|
||||
repo.upsert(constitution)
|
||||
|
||||
Reference in New Issue
Block a user