diff options
| author | benj <benj@rse8.com> | 2023-06-12 15:39:10 -0700 |
|---|---|---|
| committer | benj <benj@rse8.com> | 2023-06-12 15:39:10 -0700 |
| commit | 3406b370fe290559ff2445097a380d6f48d0f9af (patch) | |
| tree | 3e62ca57d6426fd2507950a4fe434fc06491fcd6 /crates/secd/src/auth/z | |
| parent | b3ba31a1572ecec38115385fafe4a4e87ca39361 (diff) | |
| download | secdiam-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.rs | 23 |
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> { |
