Skip to main content

OrgBackend

Trait OrgBackend 

Source
pub trait OrgBackend: Send + Sync {
Show 13 methods // Required methods fn put_org(&self, org: &Org); fn get_org(&self, id: &str) -> Option<Org>; fn delete_org(&self, id: &str) -> bool; fn list_orgs_for_user(&self, user_id: &str) -> Vec<(Org, OrgRole)>; fn put_membership(&self, m: &Membership); fn get_membership(&self, org_id: &str, user_id: &str) -> Option<Membership>; fn delete_membership(&self, org_id: &str, user_id: &str) -> bool; fn list_members(&self, org_id: &str) -> Vec<Membership>; fn put_invite(&self, inv: &Invite); fn get_invite(&self, id: &str) -> Option<Invite>; fn list_invites(&self, org_id: &str) -> Vec<Invite>; fn delete_invite(&self, id: &str) -> bool; fn invites_by_prefix(&self, prefix: &str) -> Vec<Invite>;
}

Required Methods§

Source

fn put_org(&self, org: &Org)

Source

fn get_org(&self, id: &str) -> Option<Org>

Source

fn delete_org(&self, id: &str) -> bool

Source

fn list_orgs_for_user(&self, user_id: &str) -> Vec<(Org, OrgRole)>

Source

fn put_membership(&self, m: &Membership)

Source

fn get_membership(&self, org_id: &str, user_id: &str) -> Option<Membership>

Source

fn delete_membership(&self, org_id: &str, user_id: &str) -> bool

Source

fn list_members(&self, org_id: &str) -> Vec<Membership>

Source

fn put_invite(&self, inv: &Invite)

Source

fn get_invite(&self, id: &str) -> Option<Invite>

Source

fn list_invites(&self, org_id: &str) -> Vec<Invite>

Source

fn delete_invite(&self, id: &str) -> bool

Source

fn invites_by_prefix(&self, prefix: &str) -> Vec<Invite>

All non-accepted invites whose plaintext starts with prefix. SQL backends use a WHERE token_prefix = $1 AND accepted_at IS NULL SELECT; the in-memory backend scans all invites. Argon2 verify then runs against the candidate set in accept_invite.

Implementors§