From d8d5650cc4d232215dce109f8aa3f0161079bf42 Mon Sep 17 00:00:00 2001 From: mrw1593 Date: Sat, 3 Jun 2023 11:35:22 -0400 Subject: Set up scoping service --- src/scopes/admin.rs | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 src/scopes/admin.rs (limited to 'src/scopes/admin.rs') diff --git a/src/scopes/admin.rs b/src/scopes/admin.rs new file mode 100644 index 0000000..1e13b85 --- /dev/null +++ b/src/scopes/admin.rs @@ -0,0 +1,28 @@ +use std::fmt::{self, Display}; + +use crate::models::{client::Client, user::User}; + +use super::{Action, Scope}; + +#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] +pub struct Admin; + +impl Display for Admin { + fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { + f.write_str("admin") + } +} + +impl Scope for Admin { + fn parse_modifiers(_modifiers: &str) -> Result> { + Ok(Self) + } + + fn has_user_permission(&self, _: &User, _: &Action) -> bool { + true + } + + fn has_client_permission(&self, _: &User, _: &Action) -> bool { + true + } +} -- cgit v1.2.3