aboutsummaryrefslogtreecommitdiff
path: root/crates/secd/src/auth/z
diff options
context:
space:
mode:
authorbenj <benj@rse8.com>2023-06-12 15:39:10 -0700
committerbenj <benj@rse8.com>2023-06-12 15:39:10 -0700
commit3406b370fe290559ff2445097a380d6f48d0f9af (patch)
tree3e62ca57d6426fd2507950a4fe434fc06491fcd6 /crates/secd/src/auth/z
parentb3ba31a1572ecec38115385fafe4a4e87ca39361 (diff)
downloadsecdiam-3406b370fe290559ff2445097a380d6f48d0f9af.tar
secdiam-3406b370fe290559ff2445097a380d6f48d0f9af.tar.gz
secdiam-3406b370fe290559ff2445097a380d6f48d0f9af.tar.bz2
secdiam-3406b370fe290559ff2445097a380d6f48d0f9af.tar.lz
secdiam-3406b370fe290559ff2445097a380d6f48d0f9af.tar.xz
secdiam-3406b370fe290559ff2445097a380d6f48d0f9af.tar.zst
secdiam-3406b370fe290559ff2445097a380d6f48d0f9af.zip
🤮: add check_list_namespaces as a temporary hack while using spice
Diffstat (limited to '')
-rw-r--r--crates/secd/src/auth/z/mod.rs23
1 files changed, 17 insertions, 6 deletions
diff --git a/crates/secd/src/auth/z/mod.rs b/crates/secd/src/auth/z/mod.rs
index d663e65..d64f674 100644
--- a/crates/secd/src/auth/z/mod.rs
+++ b/crates/secd/src/auth/z/mod.rs
@@ -32,13 +32,24 @@ impl Authorization for Secd {
Ok(spice.check_permission(r).await?)
}
- async fn expand(&self) -> Result<(), SecdError> {
- todo!()
- }
- async fn read(&self) -> Result<(), SecdError> {
- todo!()
+ async fn check_list_namespaces(
+ &self,
+ ns: &Namespace,
+ subj: &Subject,
+ relation: &Relation,
+ ) -> Result<Vec<Uuid>, SecdError> {
+ let spice = self
+ .spice
+ .clone()
+ .expect("TODO: only supports postgres right now");
+ Ok(spice
+ .lookup_resources(ns, relation, subj)
+ .await?
+ .iter()
+ .map(|e| Uuid::parse_str(e).unwrap())
+ .collect())
}
- async fn watch(&self) -> Result<(), SecdError> {
+ async fn check_list_subjects(&self) -> Result<Vec<i32>, SecdError> {
unimplemented!()
}
async fn write(&self, ts: &[Relationship]) -> Result<(), SecdError> {