# Struct pages::db::Database

source · [−]

    pub struct Database {
        pub pool: PgPool,
    }

## Fields

`pool: PgPool`

## Implementations

source

### impl Database

source

#### pub async fn migrate(&self) -> Result<(), ServiceError>

source

#### pub async fn ping(&self) -> bool

source

#### pub async fn register(&self, p: &Register<'_>) -> Result<(), ServiceError>

register a new user

source

#### pub async fn delete_user(&self, username: &str) -> Result<(), ServiceError>

delete a user

source

#### pub async fn username_exists(&self, username: &str) -> Result<bool, ServiceError>

check if username exists

source

#### pub async fn get_email(&self, username: &str) -> Result<String, ServiceError>

get user email

source

#### pub async fn email_exists(&self, email: &str) -> Result<bool, ServiceError>

check if email exists

source

#### pub async fn update_email(&self, p: &UpdateEmail<'_>) -> Result<(), ServiceError>

update a user’s email

source

#### pub async fn get_password(&self, l: &Login<'_>) -> Result<NameHash, ServiceError>

get a user’s password

source

#### pub async fn update_password(&self, p: &NameHash) -> Result<(), ServiceError>

update user’s password

source

#### pub async fn update_username(
&self,
current: &str,
new: &str
) -> Result<(), ServiceError>

update username

source

#### pub async fn add_site(&self, msg: &Site) -> Result<(), ServiceError>

source

#### pub async fn get_site_from_pub_id(
&self,
pub_id: Uuid,
owner: String
) -> Result<Site, ServiceError>

source

#### pub async fn get_site_from_secret(
&self,
site_secret: &str
) -> Result<Site, ServiceError>

source

#### pub async fn get_site(
&self,
owner: &str,
hostname: &str
) -> Result<Site, ServiceError>

source

#### pub async fn list_all_sites(
&self,
owner: &str
) -> Result<Vec<Site>, ServiceError>

source

#### pub async fn delete_site(
&self,
owner: &str,
hostname: &str
) -> Result<(), ServiceError>

source

#### pub async fn hostname_exists(&self, hostname: &str) -> Result<bool, ServiceError>

check if hostname exists

source

#### async fn event_type_exists(&self, event: &Event) -> Result<bool, ServiceError>

check if event type exists

source

#### async fn create_event_type(&self) -> Result<(), ServiceError>

source

#### pub async fn log_event(
&self,
hostname: &str,
event: &Event
) -> Result<Uuid, ServiceError>

source

#### pub async fn get_event(
&self,
hostname: &str,
event_id: &Uuid
) -> Result<LibrePagesEvent, ServiceError>

source

#### pub async fn get_latest_update_event(
&self,
hostname: &str
) -> Result<Option<LibrePagesEvent>, ServiceError>

source

#### async fn get_latest_event_of_type(
&self,
hostname: &str,
event_type: &Event
) -> Result<Option<LibrePagesEvent>, ServiceError>

source

#### pub async fn list_all_site_events(
&self,
hostname: &str
) -> Result<Vec<LibrePagesEvent>, ServiceError>

## Trait Implementations

source

### impl Clone for Database

source

#### fn clone(&self) -> Database

Returns a copy of the value. Read more
1.0.0 · source

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

Performs copy-assignment from `source`. Read more

## Auto Trait Implementations

### impl !RefUnwindSafe for Database

### impl Send for Database

### impl Sync for Database

### impl Unpin for Database

### impl !UnwindSafe for Database

## Blanket Implementations

source

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

source

#### fn type_id(&self) -> TypeId

Gets the `TypeId` of `self`. Read more
source

### impl<T> Borrow<T> for Twhere
T: ?Sized,

const: unstable · source

#### fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source

### impl<T> BorrowMut<T> for Twhere
T: ?Sized,

const: unstable · source

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

Mutably borrows from an owned value. Read more
source

### impl<T> From<T> for T

const: unstable · 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 Twhere
U: From<T>,

const: unstable · 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<T> for T

#### type Output = T

Should always be `Self`
source

### impl<T> ToOwned for Twhere
T: Clone,

#### 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 Twhere
U: Into<T>,

#### type Error = Infallible

The type returned in the event of a conversion error.
const: unstable · source

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

Performs the conversion.
source

### impl<T, U> TryInto<U> for Twhere
U: TryFrom<T>,

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

The type returned in the event of a conversion error.
const: unstable · source

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

Performs the conversion.

### impl<V, T> VZip<V> for Twhere
V: MultiLane<T>,

#### fn vzip(self) -> V

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