Skip to main content

Role

Struct Role 

Source
pub struct Role { /* private fields */ }
Expand description

A set of permissions a person can have.

Implementations§

Source§

impl Role

Source

pub fn new(name: impl Into<String>) -> Self

A role with this name, which allows nothing yet.

Source

pub fn name(&self) -> &str

Its name.

Source

pub fn policy(self, policy: PermissionPolicy) -> Self

What it says about what no permission mentions.

Source

pub fn administrative(self) -> Self

It can do everything, and no permission takes anything away from it.

Source

pub fn is_administrative(&self) -> bool

Whether it can do everything.

Source

pub fn can_edit_model(self) -> Self

It can change the application’s model while it runs.

Source

pub fn type_permission( self, entity: impl Into<String>, operations: impl IntoIterator<Item = Operation>, access: Access, ) -> Self

Says this about these operations on every record of an entity.

Source

pub fn object_permission( self, entity: impl Into<String>, criteria: &str, operations: impl IntoIterator<Item = Operation>, access: Access, ) -> Self

Says this about these operations on the records an expression holds for. ?CurrentUserId and ?CurrentUserName are the person. It comes before what is said about the whole entity.

Source

pub fn member_permission( self, entity: impl Into<String>, fields: impl IntoIterator<Item = impl Into<String>>, criteria: Option<&str>, operations: impl IntoIterator<Item = Operation>, access: Access, ) -> Self

Says this about reading or writing these fields, on every record or, with an expression, on those it holds for. It comes before everything else, the expression first.

Source

pub fn navigation_permission( self, item: impl Into<String>, access: Access, ) -> Self

Whether this navigation item or group shows, by its id. An item comes before its group. It only hides: what protects records are the other permissions.

Source

pub fn action_permission( self, action: impl Into<String>, access: Access, ) -> Self

Whether this action exists for it, by its id. A denied one goes away, whatever else says.

Trait Implementations§

Source§

impl Clone for Role

Source§

fn clone(&self) -> Role

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Role

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for Role

Source§

fn default() -> Role

Returns the “default value” for a type. Read more

Auto Trait Implementations§

§

impl Freeze for Role

§

impl RefUnwindSafe for Role

§

impl Send for Role

§

impl Sync for Role

§

impl Unpin for Role

§

impl UnsafeUnpin for Role

§

impl UnwindSafe for Role

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.