diff --git a/webapi/src/main/scala/org/knora/webapi/slice/admin/repo/service/KnoraProjectRepoLive.scala b/webapi/src/main/scala/org/knora/webapi/slice/admin/repo/service/KnoraProjectRepoLive.scala index 79dec23fb8..17f32ac091 100644 --- a/webapi/src/main/scala/org/knora/webapi/slice/admin/repo/service/KnoraProjectRepoLive.scala +++ b/webapi/src/main/scala/org/knora/webapi/slice/admin/repo/service/KnoraProjectRepoLive.scala @@ -24,12 +24,14 @@ import org.knora.webapi.slice.admin.repo.rdf.Vocabulary import org.knora.webapi.slice.admin.repo.service.KnoraProjectRepoLive.ProjectQueries import org.knora.webapi.slice.common.repo.rdf.Errors.RdfError import org.knora.webapi.slice.common.repo.rdf.RdfResource +import org.knora.webapi.store.cache.CacheService import org.knora.webapi.store.triplestore.api.TriplestoreService import org.knora.webapi.store.triplestore.api.TriplestoreService.Queries.Construct import org.knora.webapi.store.triplestore.api.TriplestoreService.Queries.Update final case class KnoraProjectRepoLive( private val triplestore: TriplestoreService, + private val cacheService: CacheService, ) extends KnoraProjectRepo { override def findAll(): Task[List[KnoraProject]] = @@ -108,8 +110,8 @@ final case class KnoraProjectRepoLive( } override def save(project: KnoraProject): Task[KnoraProject] = - triplestore.query(ProjectQueries.save(project)).as(project) - + cacheService.clearCache() *> + triplestore.query(ProjectQueries.save(project)).as(project) } object KnoraProjectRepoLive { diff --git a/webapi/src/test/scala/org/knora/webapi/slice/admin/repo/service/KnoraProjectRepoLiveSpec.scala b/webapi/src/test/scala/org/knora/webapi/slice/admin/repo/service/KnoraProjectRepoLiveSpec.scala index 3102db1d6d..5773d8c37f 100644 --- a/webapi/src/test/scala/org/knora/webapi/slice/admin/repo/service/KnoraProjectRepoLiveSpec.scala +++ b/webapi/src/test/scala/org/knora/webapi/slice/admin/repo/service/KnoraProjectRepoLiveSpec.scala @@ -24,6 +24,7 @@ import org.knora.webapi.slice.admin.domain.model.KnoraProject.Shortcode import org.knora.webapi.slice.admin.domain.model.KnoraProject.Shortname import org.knora.webapi.slice.admin.domain.model.KnoraProject.Status import org.knora.webapi.slice.admin.domain.model.RestrictedView +import org.knora.webapi.store.cache.CacheService import org.knora.webapi.store.triplestore.api.TriplestoreServiceInMemory object KnoraProjectRepoLiveSpec extends ZIOSpecDefault { @@ -131,5 +132,5 @@ object KnoraProjectRepoLiveSpec extends ZIOSpecDefault { }, ), ), - ).provide(KnoraProjectRepoLive.layer, TriplestoreServiceInMemory.emptyLayer, StringFormatter.test) + ).provide(KnoraProjectRepoLive.layer, TriplestoreServiceInMemory.emptyLayer, CacheService.layer, StringFormatter.test) }