linkrs_storage/engine/sync_wrapper/
admin.rs1use super::SyncWrapper;
2use crate::macros::forward_methods;
3use crate::{StorageAdmin, StorageAuthOps, StorageClient};
4use linkrs_core::{Edge, StorageError};
5
6impl<S: StorageClient + 'static> StorageAuthOps for SyncWrapper<S> {
7 forward_methods!(inner;
8 fn change_password(&mut self, info: &linkrs_core::types::PasswordInfo) -> Result<bool, StorageError>;
9 fn create_user(&mut self, info: &linkrs_core::types::UserInfo) -> Result<bool, StorageError>;
10 fn alter_user(&mut self, info: &linkrs_core::types::UserAlterInfo) -> Result<bool, StorageError>;
11 fn drop_user(&mut self, username: &str) -> Result<bool, StorageError>;
12 fn grant_role(
13 &mut self,
14 username: &str,
15 space_id: i64,
16 role: linkrs_core::RoleType,
17 ) -> Result<bool, StorageError>;
18 fn revoke_role(&mut self, username: &str, space_id: i64) -> Result<bool, StorageError>;
19 );
20
21 fn user_exists(&self, username: &str) -> bool {
22 self.inner.user_exists(username)
23 }
24
25 fn list_users(&self) -> Vec<String> {
26 self.inner.list_users()
27 }
28
29 fn get_user(&self, username: &str) -> Option<linkrs_core::types::UserInfo> {
30 self.inner.get_user(username)
31 }
32
33 fn update_last_login(&self, username: &str) -> Result<bool, StorageError> {
34 self.inner.update_last_login(username)
35 }
36
37 fn list_user_roles(&self, username: &str) -> Vec<(i64, linkrs_core::RoleType)> {
38 self.inner.list_user_roles(username)
39 }
40
41 fn list_all_user_roles(&self) -> Vec<(String, Vec<(i64, linkrs_core::RoleType)>)> {
42 self.inner.list_all_user_roles()
43 }
44}
45
46impl<S: StorageClient + 'static> StorageAdmin for SyncWrapper<S> {
47 forward_methods!(inner;
48 fn load_from_disk(&mut self) -> Result<(), StorageError>;
49 fn repair_dangling_edges(&mut self, space: &str) -> Result<usize, StorageError>;
50 );
51
52 forward_methods!(inner;
53 fn save_to_disk(&self) -> Result<(), StorageError>;
54 fn get_storage_stats(&self) -> crate::StorageStats;
55 fn find_dangling_edges(&self, space: &str) -> Result<Vec<Edge>, StorageError>;
56 fn purge_expired(&self, space: &str, target: Option<crate::PurgeTarget<'_>>) -> Result<Vec<crate::TtlPurgeEntry>, StorageError>;
57 fn get_db_path(&self) -> &str;
58 );
59}