Rename findVersionsByVersionId to findSiblingVersions #104
@@ -37,7 +37,7 @@ class ArticleAccessControl(private val articleRepo: ArticleRepository) : AccessC
|
|||||||
if (subject.createdBy.id == citizen.id) {
|
if (subject.createdBy.id == citizen.id) {
|
||||||
/* The creator must be the same of the creator of preview version of article */
|
/* The creator must be the same of the creator of preview version of article */
|
||||||
val lastVersionId = articleRepo
|
val lastVersionId = articleRepo
|
||||||
.findVersionsByVersionId(1, 1, subject.versionId)
|
.findSiblingVersions(1, 1, subject)
|
||||||
.result
|
.result
|
||||||
.firstOrNull()?.createdBy?.id
|
.firstOrNull()?.createdBy?.id
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package fr.dcproject.component.article.database
|
package fr.dcproject.component.article.database
|
||||||
|
|
||||||
|
import fr.dcproject.common.entity.VersionableId
|
||||||
import fr.postgresjson.connexion.Paginated
|
import fr.postgresjson.connexion.Paginated
|
||||||
import fr.postgresjson.connexion.Requester
|
import fr.postgresjson.connexion.Requester
|
||||||
import fr.postgresjson.entity.Parameter
|
import fr.postgresjson.entity.Parameter
|
||||||
@@ -19,10 +20,10 @@ class ArticleRepository(override var requester: Requester) : RepositoryI {
|
|||||||
.select(page, limit, "id" to id)
|
.select(page, limit, "id" to id)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun findVersionsByVersionId(page: Int = 1, limit: Int = 50, versionId: UUID): Paginated<ArticleForListing> {
|
fun <A> findSiblingVersions(page: Int = 1, limit: Int = 50, article: A): Paginated<ArticleForListing> where A : VersionableId, A : ArticleI {
|
||||||
return requester
|
return requester
|
||||||
.getFunction("find_articles_versions_by_version_id")
|
.getFunction("find_articles_versions_by_version_id")
|
||||||
.select(page, limit, "version_id" to versionId)
|
.select(page, limit, "version_id" to article.versionId)
|
||||||
}
|
}
|
||||||
|
|
||||||
fun find(
|
fun find(
|
||||||
|
|||||||
@@ -4,6 +4,7 @@ import fr.dcproject.common.security.AccessDecision.DENIED
|
|||||||
import fr.dcproject.common.security.AccessDecision.GRANTED
|
import fr.dcproject.common.security.AccessDecision.GRANTED
|
||||||
import fr.dcproject.component.article.ArticleAccessControl
|
import fr.dcproject.component.article.ArticleAccessControl
|
||||||
import fr.dcproject.component.article.database.ArticleForListing
|
import fr.dcproject.component.article.database.ArticleForListing
|
||||||
|
import fr.dcproject.component.article.database.ArticleForUpdate
|
||||||
import fr.dcproject.component.article.database.ArticleForView
|
import fr.dcproject.component.article.database.ArticleForView
|
||||||
import fr.dcproject.component.auth.database.User
|
import fr.dcproject.component.auth.database.User
|
||||||
import fr.dcproject.component.auth.database.UserCreator
|
import fr.dcproject.component.auth.database.UserCreator
|
||||||
@@ -48,7 +49,7 @@ internal class `Article Access Control` {
|
|||||||
private fun getRepo(article: ArticleForListing): ArticleRepo {
|
private fun getRepo(article: ArticleForListing): ArticleRepo {
|
||||||
return mockk {
|
return mockk {
|
||||||
every { find(1, 1, any()) } returns Paginated(listOf(article), 0, 1, 1)
|
every { find(1, 1, any()) } returns Paginated(listOf(article), 0, 1, 1)
|
||||||
every { findVersionsByVersionId(1, 1, any()) } returns Paginated(listOf(article), 0, 1, 1)
|
every { findSiblingVersions(1, 1, any<ArticleForUpdate>()) } returns Paginated(listOf(article), 0, 1, 1)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user