Skip to main content

Basileus

Struct Basileus 

Source
pub struct Basileus {
    pub config: Config,
    /* private fields */
}
Expand description

Entry point for the library.

Fields§

§config: Config

Configurations.

Implementations§

Source§

impl Basileus

Source

pub async fn exist_pass(&self, user: &str) -> Result<bool, Error>

Whether a user has defined a password for authorization.

Source

pub async fn update_pass( &self, user: &str, pass: &str, ) -> Result<(), UpdatePassError>

Update password for specified user.

Source

pub async fn verify_pass( &self, user: &str, pass: &str, ) -> Result<bool, VerifyPassError>

Verify given password for user.

Source

pub async fn delete_pass(&self, user: &str) -> Result<(), DeletePassError>

Delete a user’s password.

Source§

impl Basileus

Source

pub async fn get_perm(&self, user: &str) -> Result<Perm, GetPermError>

Get permissions the user holds, i.e. group names.

Source

pub async fn check_perm( &self, user: &str, req: &Perm, ) -> Result<bool, CheckPermError>

Check if the user has specified permission.

Source

pub async fn set_perm( &self, user: &str, perm: &Perm, ) -> Result<(), SetPermError>

Sets a user’s permission.

Source

pub async fn give_perm( &self, user: &str, perm: &Perm, ) -> Result<(), GivePermError>

Gives new permissions to specified user.

Source

pub async fn revoke_perm( &self, user: &str, perm: &Perm, ) -> Result<(), RevokePermError>

Revoke a user’s certain permissions. This does not result in an error if the permission does not currently exist.

Source§

impl Basileus

Source

pub async fn pkce_auth_req( &self, user: &str, pass: &str, code_challenge: CodeChallenge, ) -> Result<String, PkceAuthError>

Handle a PKCE authorization request.

If the authorization is successful, returns a base64URL-encoded authorization code.

Source

pub fn pkce_token_req( &self, code: &str, code_verifier: &str, ) -> Result<String, PkceTokenError>

Handle a PKCE access token request.

A successful request requires a valid previously issued authorization code (through Self::pkce_auth_req) and a matching code verifier.

Returns the token if successful.

Source§

impl Basileus

Source

pub fn issue_token(&self, user: &str) -> String

Issue a new token to the specified user.

Source

pub fn invalidate_token(&self, token: &str)

Invalidate a token.

Source

pub fn invalidate_user_token(&self, user: &str)

Invalidate all tokens related to user.

Source

pub fn expire_token(&self, duration: Duration)

Make all tokens older than duration expire.

Source

pub fn verify_token(&self, token: &str) -> Option<String>

Verify token, return the user it belongs to if successful.

Source§

impl Basileus

Source

pub async fn exist_user(&self, user: &str) -> Result<bool, Error>

Check whether a user currently exists.

Source

pub async fn create_user(&self, user: &str) -> Result<(), CreateUserError>

Create a new user.

Source

pub async fn delete_user(&self, user: &str) -> Result<(), DeleteUserError>

Delete a user.

Source§

impl Basileus

Source

pub async fn new(config: Config) -> Result<Self, Error>

Initialize the library, creating the database if missing.

Source

pub async fn user_cnt(&self) -> Result<i64, Error>

Count the number of users.

Auto Trait Implementations§

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more