Add route for get all versions of one article
This commit is contained in:
@@ -23,6 +23,10 @@ object ArticlesPaths {
|
||||
val limit: Int = if (limit > 50) 50 else if (limit < 1) 1 else limit
|
||||
}
|
||||
@Location("/articles/{article}") class ArticleRequest(val article: ArticleEntity)
|
||||
@Location("/articles/{article}/versions") class ArticleVersionsRequest(val article: ArticleEntity, page: Int = 1, limit: Int = 50, val sort: String? = null, val direction: RepositoryI.Direction? = null, val search: String? = null) {
|
||||
val page: Int = if (page < 1) 1 else page
|
||||
val limit: Int = if (limit > 50) 50 else if (limit < 1) 1 else limit
|
||||
}
|
||||
@Location("/articles") class PostArticleRequest
|
||||
}
|
||||
|
||||
@@ -40,6 +44,14 @@ fun Route.article(repo: ArticleRepository) {
|
||||
call.respond(it.article)
|
||||
}
|
||||
|
||||
get<ArticlesPaths.ArticleVersionsRequest> {
|
||||
assertCan(VIEW, it.article)
|
||||
|
||||
val versions = repo.findVerionsByVersionsId(it.page, it.limit, it.article.versionId)
|
||||
|
||||
call.respond(versions)
|
||||
}
|
||||
|
||||
post<ArticlesPaths.PostArticleRequest> {
|
||||
val article = call.receive<ArticleEntity>()
|
||||
article.createdBy = citizen
|
||||
|
||||
Reference in New Issue
Block a user