Rename findVersionsByVersionId to findSiblingVersions

This commit is contained in:
2021-09-30 00:52:09 +02:00
parent 1a62c5ec9a
commit 2f3a2f9b8e
3 changed files with 6 additions and 4 deletions

View File

@@ -37,7 +37,7 @@ class ArticleAccessControl(private val articleRepo: ArticleRepository) : AccessC
if (subject.createdBy.id == citizen.id) {
/* The creator must be the same of the creator of preview version of article */
val lastVersionId = articleRepo
.findVersionsByVersionId(1, 1, subject.versionId)
.findSiblingVersions(1, 1, subject)
.result
.firstOrNull()?.createdBy?.id

View File

@@ -1,5 +1,6 @@
package fr.dcproject.component.article.database
import fr.dcproject.common.entity.VersionableId
import fr.postgresjson.connexion.Paginated
import fr.postgresjson.connexion.Requester
import fr.postgresjson.entity.Parameter
@@ -19,10 +20,10 @@ class ArticleRepository(override var requester: Requester) : RepositoryI {
.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
.getFunction("find_articles_versions_by_version_id")
.select(page, limit, "version_id" to versionId)
.select(page, limit, "version_id" to article.versionId)
}
fun find(

View File

@@ -4,6 +4,7 @@ import fr.dcproject.common.security.AccessDecision.DENIED
import fr.dcproject.common.security.AccessDecision.GRANTED
import fr.dcproject.component.article.ArticleAccessControl
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.auth.database.User
import fr.dcproject.component.auth.database.UserCreator
@@ -48,7 +49,7 @@ internal class `Article Access Control` {
private fun getRepo(article: ArticleForListing): ArticleRepo {
return mockk {
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)
}
}