Struct rocket_auth::Users [−][src]
The Users
struct is used to query users from the database, as well as to create, modify and delete them.
Implementations
impl Users
[src]
pub fn open_sqlite(path: impl AsRef<Path>) -> Result<Self, Error>
[src]
It creates a Users
instance by connecting it to a redis database.
If the database does not yet exist it will be created. By default,
sessions will be stored on a concurrent HashMap. In order to have persistent sessions see
the method open_redis
.
let users = Users::open_sqlite("database.db")?; rocket::ignite() .manage(users) .launch();
pub fn open_redis(&mut self, path: impl IntoConnectionInfo) -> Result<(), Error>
[src]
Opens a redis connection. It allows for sessions to be stored persistently across different launches.
let mut users = Users::open_sqlite("database.db")?; users.open_redis("redis://127.0.0.1/")?; rocket::ignite() .manage(users) .launch();
pub fn open_postgres(path: &str) -> Result<Self, Error>
[src]
It opens a postgres database connection. I’ve got to admit I haven’t tested this feature yet, so don’t waste your time debugging if it doesn’t work.
let users = Users::open_sqlite("database.db")?; rocket::ignite() .manage(users) .launch();
pub fn get_by_email(&self, email: &str) -> Result<User, Error>
[src]
It querys a user by their email.
#[get("/user-information/<email>")] fn user_information(email: String, users: State<Users>) -> Result<String, Error> { let user = users.get_by_email(&email)?; Ok(format!("{:?}", user)) }
pub fn get_by_id(&self, user_id: u32) -> Result<User, Error>
[src]
It querys a user by their email.
let user = users.get_by_id(3)?; format!("{:?}", user)
pub fn create_user(
&self,
email: &str,
password: &str,
is_admin: bool
) -> Result<(), Error>
[src]
&self,
email: &str,
password: &str,
is_admin: bool
) -> Result<(), Error>
Inserts a new user in the database. It will fail if the user already exists.
#![feature(decl_macro)] #[get("/create_admin/<email>/<password>")] fn create_admin(email: String, password: String, users: State<Users>) -> Result<String, Error> { users.create_user(&email, &password, true)?; Ok("User created successfully".into()) }
pub fn delete(&self, id: u32) -> Result<(), Error>
[src]
Deletes a user from de database. Note that this method won’t delete the session.
To do that use Auth::delete
.
#[get(“/delete_user/
pub fn modify(&self, user: &User) -> Result<(), Error>
[src]
Modifies a user in the database.
let mut user = users.get_by_id(4)?; user.set_email("new@email.com"); user.set_password("new password"); users.modify(&user)?;
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Users
impl Send for Users
impl Sync for Users
impl Unpin for Users
impl !UnwindSafe for Users
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T, I> AsResult<T, I> for T where
I: Input,
I: Input,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Erased for T
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IntoCollection<T> for T
pub fn into_collection<A>(self) -> SmallVec<A> where
A: Array<Item = T>,
A: Array<Item = T>,
pub fn mapped<U, F, A>(self, f: F) -> SmallVec<A> where
A: Array<Item = U>,
F: FnMut(T) -> U,
A: Array<Item = U>,
F: FnMut(T) -> U,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<T> Typeable for T where
T: Any,
T: Any,
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,