Skip to content

Commit 0869efa

Browse files
committed
RebacService::properties_count(): implement
1 parent b628d96 commit 0869efa

File tree

3 files changed

+10
-5
lines changed

3 files changed

+10
-5
lines changed

src/domain/auth-rebac/domain/src/services/rebac_service.rs

+3
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@ use crate::{
1919
DatasetPropertyName,
2020
EntityNotFoundError,
2121
EntityWithRelation,
22+
PropertiesCountError,
2223
PropertyValue,
2324
SetEntityPropertyError,
2425
SubjectEntityRelationsError,
@@ -28,6 +29,8 @@ use crate::{
2829

2930
#[async_trait::async_trait]
3031
pub trait RebacService: Send + Sync {
32+
async fn properties_count(&self) -> Result<usize, PropertiesCountError>;
33+
3134
// Account
3235
async fn set_account_property(
3336
&self,

src/domain/auth-rebac/services/src/rebac_indexer.rs

+2-5
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ use kamu_accounts::{
1919
PredefinedAccountsConfig,
2020
JOB_KAMU_ACCOUNTS_PREDEFINED_ACCOUNTS_REGISTRATOR,
2121
};
22-
use kamu_auth_rebac::{AccountPropertyName, DatasetPropertyName, RebacRepository, RebacService};
22+
use kamu_auth_rebac::{AccountPropertyName, DatasetPropertyName, RebacService};
2323
use kamu_core::DatasetVisibility;
2424
use kamu_datasets::DatasetEntryService;
2525
use kamu_datasets_services::JOB_KAMU_DATASETS_DATASET_ENTRY_INDEXER;
@@ -34,7 +34,6 @@ type PredefinedAccountIdDatasetVisibilityMapping = HashMap<odf::AccountID, Datas
3434
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
3535

3636
pub struct RebacIndexer {
37-
rebac_repo: Arc<dyn RebacRepository>,
3837
rebac_service: Arc<dyn RebacService>,
3938
dataset_entry_service: Arc<dyn DatasetEntryService>,
4039
expensive_account_repo: Arc<dyn ExpensiveAccountRepository>,
@@ -53,14 +52,12 @@ pub struct RebacIndexer {
5352
})]
5453
impl RebacIndexer {
5554
pub fn new(
56-
rebac_repo: Arc<dyn RebacRepository>,
5755
rebac_service: Arc<dyn RebacService>,
5856
dataset_entry_service: Arc<dyn DatasetEntryService>,
5957
expensive_account_repo: Arc<dyn ExpensiveAccountRepository>,
6058
predefined_accounts_config: Arc<PredefinedAccountsConfig>,
6159
) -> Self {
6260
Self {
63-
rebac_repo,
6461
rebac_service,
6562
dataset_entry_service,
6663
expensive_account_repo,
@@ -69,7 +66,7 @@ impl RebacIndexer {
6966
}
7067

7168
async fn has_entities_indexed(&self) -> Result<bool, InternalError> {
72-
let properties_count = self.rebac_repo.properties_count().await.int_err()?;
69+
let properties_count = self.rebac_service.properties_count().await.int_err()?;
7370

7471
Ok(properties_count > 0)
7572
}

src/domain/auth-rebac/services/src/rebac_service_impl.rs

+5
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ use kamu_auth_rebac::{
2828
GetPropertiesError,
2929
InsertEntitiesRelationError,
3030
InsertRelationError,
31+
PropertiesCountError,
3132
PropertyName,
3233
PropertyValue,
3334
RebacRepository,
@@ -56,6 +57,10 @@ impl RebacServiceImpl {
5657

5758
#[async_trait::async_trait]
5859
impl RebacService for RebacServiceImpl {
60+
async fn properties_count(&self) -> Result<usize, PropertiesCountError> {
61+
self.rebac_repo.properties_count().await
62+
}
63+
5964
async fn set_account_property(
6065
&self,
6166
account_id: &odf::AccountID,

0 commit comments

Comments
 (0)