pub struct Users {
pub id: Uuid,
pub salutation: Salutation,
pub title: Option<String>,
pub country: String,
pub phone: Option<String>,
pub website: Option<String>,
pub organization: Option<String>,
pub experience: Option<Experience>,
pub membership: Option<Membership>,
pub member_years: Option<Vec<Option<i32>>>,
pub member_since: Option<NaiveDate>,
pub permacoins: Option<Vec<Option<i32>>>,
}
Expand description
The Users
entity.
Fields§
§id: Uuid
The id of the user from Keycloak.
salutation: Salutation
The preferred salutation of the user.
title: Option<String>
The title(s) of the user.
country: String
The current country of the user.
phone: Option<String>
The phone number of the user.
website: Option<String>
The website of the user.
organization: Option<String>
The organization the user belongs to.
experience: Option<Experience>
The experience level in permaculture of the user.
membership: Option<Membership>
The membership type of the user.
member_years: Option<Vec<Option<i32>>>
A collection of years in which the user was a member.
member_since: Option<NaiveDate>
The date since when the user is a member.
permacoins: Option<Vec<Option<i32>>>
The amount of permacoins the user earned in each year as a member.
Implementations§
Trait Implementations§
source§impl<'ident> Identifiable for &'ident Users
impl<'ident> Identifiable for &'ident Users
source§impl<'insert> Insertable<table> for &'insert Users
impl<'insert> Insertable<table> for &'insert Users
§type Values = <(Option<Grouped<Eq<id, <&'insert Uuid as AsExpression<<id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<salutation, <&'insert Salutation as AsExpression<<salutation as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<title, <&'insert String as AsExpression<<title as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<country, <&'insert String as AsExpression<<country as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<phone, <&'insert String as AsExpression<<phone as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<website, <&'insert String as AsExpression<<website as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<organization, <&'insert String as AsExpression<<organization as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<experience, <&'insert Experience as AsExpression<<experience as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<membership, <&'insert Membership as AsExpression<<membership as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<member_years, <&'insert Vec<Option<i32>, Global> as AsExpression<<member_years as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<member_since, <&'insert NaiveDate as AsExpression<<member_since as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<permacoins, <&'insert Vec<Option<i32>, Global> as AsExpression<<permacoins as Expression>::SqlType>>::Expression>>>) as Insertable<table>>::Values
type Values = <(Option<Grouped<Eq<id, <&'insert Uuid as AsExpression<<id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<salutation, <&'insert Salutation as AsExpression<<salutation as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<title, <&'insert String as AsExpression<<title as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<country, <&'insert String as AsExpression<<country as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<phone, <&'insert String as AsExpression<<phone as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<website, <&'insert String as AsExpression<<website as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<organization, <&'insert String as AsExpression<<organization as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<experience, <&'insert Experience as AsExpression<<experience as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<membership, <&'insert Membership as AsExpression<<membership as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<member_years, <&'insert Vec<Option<i32>, Global> as AsExpression<<member_years as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<member_since, <&'insert NaiveDate as AsExpression<<member_since as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<permacoins, <&'insert Vec<Option<i32>, Global> as AsExpression<<permacoins as Expression>::SqlType>>::Expression>>>) as Insertable<table>>::Values
The
VALUES
clause to insert these records Read moresource§fn values(
self
) -> <(Option<Eq<id, &'insert Uuid>>, Option<Eq<salutation, &'insert Salutation>>, Option<Eq<title, &'insert String>>, Option<Eq<country, &'insert String>>, Option<Eq<phone, &'insert String>>, Option<Eq<website, &'insert String>>, Option<Eq<organization, &'insert String>>, Option<Eq<experience, &'insert Experience>>, Option<Eq<membership, &'insert Membership>>, Option<Eq<member_years, &'insert Vec<Option<i32>>>>, Option<Eq<member_since, &'insert NaiveDate>>, Option<Eq<permacoins, &'insert Vec<Option<i32>>>>) as Insertable<table>>::Values
fn values( self ) -> <(Option<Eq<id, &'insert Uuid>>, Option<Eq<salutation, &'insert Salutation>>, Option<Eq<title, &'insert String>>, Option<Eq<country, &'insert String>>, Option<Eq<phone, &'insert String>>, Option<Eq<website, &'insert String>>, Option<Eq<organization, &'insert String>>, Option<Eq<experience, &'insert Experience>>, Option<Eq<membership, &'insert Membership>>, Option<Eq<member_years, &'insert Vec<Option<i32>>>>, Option<Eq<member_since, &'insert NaiveDate>>, Option<Eq<permacoins, &'insert Vec<Option<i32>>>>) as Insertable<table>>::Values
Construct
Self::Values
Read moresource§fn insert_into(
self,
table: T
) -> InsertStatement<T, Self::Values, Insert, NoReturningClause>where
T: Table,
Self: Sized,
fn insert_into( self, table: T ) -> InsertStatement<T, Self::Values, Insert, NoReturningClause>where T: Table, Self: Sized,
Insert
self
into a given table. Read moresource§impl Insertable<table> for Users
impl Insertable<table> for Users
§type Values = <(Option<Grouped<Eq<id, <Uuid as AsExpression<<id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<salutation, <Salutation as AsExpression<<salutation as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<title, <String as AsExpression<<title as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<country, <String as AsExpression<<country as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<phone, <String as AsExpression<<phone as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<website, <String as AsExpression<<website as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<organization, <String as AsExpression<<organization as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<experience, <Experience as AsExpression<<experience as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<membership, <Membership as AsExpression<<membership as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<member_years, <Vec<Option<i32>, Global> as AsExpression<<member_years as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<member_since, <NaiveDate as AsExpression<<member_since as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<permacoins, <Vec<Option<i32>, Global> as AsExpression<<permacoins as Expression>::SqlType>>::Expression>>>) as Insertable<table>>::Values
type Values = <(Option<Grouped<Eq<id, <Uuid as AsExpression<<id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<salutation, <Salutation as AsExpression<<salutation as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<title, <String as AsExpression<<title as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<country, <String as AsExpression<<country as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<phone, <String as AsExpression<<phone as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<website, <String as AsExpression<<website as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<organization, <String as AsExpression<<organization as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<experience, <Experience as AsExpression<<experience as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<membership, <Membership as AsExpression<<membership as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<member_years, <Vec<Option<i32>, Global> as AsExpression<<member_years as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<member_since, <NaiveDate as AsExpression<<member_since as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<permacoins, <Vec<Option<i32>, Global> as AsExpression<<permacoins as Expression>::SqlType>>::Expression>>>) as Insertable<table>>::Values
The
VALUES
clause to insert these records Read moresource§fn values(
self
) -> <(Option<Eq<id, Uuid>>, Option<Eq<salutation, Salutation>>, Option<Eq<title, String>>, Option<Eq<country, String>>, Option<Eq<phone, String>>, Option<Eq<website, String>>, Option<Eq<organization, String>>, Option<Eq<experience, Experience>>, Option<Eq<membership, Membership>>, Option<Eq<member_years, Vec<Option<i32>>>>, Option<Eq<member_since, NaiveDate>>, Option<Eq<permacoins, Vec<Option<i32>>>>) as Insertable<table>>::Values
fn values( self ) -> <(Option<Eq<id, Uuid>>, Option<Eq<salutation, Salutation>>, Option<Eq<title, String>>, Option<Eq<country, String>>, Option<Eq<phone, String>>, Option<Eq<website, String>>, Option<Eq<organization, String>>, Option<Eq<experience, Experience>>, Option<Eq<membership, Membership>>, Option<Eq<member_years, Vec<Option<i32>>>>, Option<Eq<member_since, NaiveDate>>, Option<Eq<permacoins, Vec<Option<i32>>>>) as Insertable<table>>::Values
Construct
Self::Values
Read moresource§fn insert_into(
self,
table: T
) -> InsertStatement<T, Self::Values, Insert, NoReturningClause>where
T: Table,
Self: Sized,
fn insert_into( self, table: T ) -> InsertStatement<T, Self::Values, Insert, NoReturningClause>where T: Table, Self: Sized,
Insert
self
into a given table. Read moresource§impl<__DB: Backend, __ST0, __ST1, __ST2, __ST3, __ST4, __ST5, __ST6, __ST7, __ST8, __ST9, __ST10, __ST11> Queryable<(__ST0, __ST1, __ST2, __ST3, __ST4, __ST5, __ST6, __ST7, __ST8, __ST9, __ST10, __ST11), __DB> for Userswhere
(Uuid, Salutation, Option<String>, String, Option<String>, Option<String>, Option<String>, Option<Experience>, Option<Membership>, Option<Vec<Option<i32>>>, Option<NaiveDate>, Option<Vec<Option<i32>>>): FromStaticSqlRow<(__ST0, __ST1, __ST2, __ST3, __ST4, __ST5, __ST6, __ST7, __ST8, __ST9, __ST10, __ST11), __DB>,
impl<__DB: Backend, __ST0, __ST1, __ST2, __ST3, __ST4, __ST5, __ST6, __ST7, __ST8, __ST9, __ST10, __ST11> Queryable<(__ST0, __ST1, __ST2, __ST3, __ST4, __ST5, __ST6, __ST7, __ST8, __ST9, __ST10, __ST11), __DB> for Userswhere (Uuid, Salutation, Option<String>, String, Option<String>, Option<String>, Option<String>, Option<Experience>, Option<Membership>, Option<Vec<Option<i32>>>, Option<NaiveDate>, Option<Vec<Option<i32>>>): FromStaticSqlRow<(__ST0, __ST1, __ST2, __ST3, __ST4, __ST5, __ST6, __ST7, __ST8, __ST9, __ST10, __ST11), __DB>,
impl UndecoratedInsertRecord<table> for Users
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§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoSql for T
impl<T> IntoSql for T
source§fn into_sql<T>(self) -> Self::Expressionwhere
Self: AsExpression<T> + Sized,
T: SqlType + TypedExpressionType,
fn into_sql<T>(self) -> Self::Expressionwhere Self: AsExpression<T> + Sized, T: SqlType + TypedExpressionType,
Convert
self
to an expression for Diesel’s query builder. Read moresource§fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expressionwhere
&'a Self: AsExpression<T>,
T: SqlType + TypedExpressionType,
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expressionwhere &'a Self: AsExpression<T>, T: SqlType + TypedExpressionType,
Convert
&self
to an expression for Diesel’s query builder. Read moresource§impl<T, Conn> RunQueryDsl<Conn> for T
impl<T, Conn> RunQueryDsl<Conn> for T
source§fn execute<'query, 'conn>(
self,
conn: &'conn mut Conn
) -> <Conn as AsyncConnection>::ExecuteFuture<'conn, 'query>where
Conn: AsyncConnection + Send,
Self: ExecuteDsl<Conn, <Conn as AsyncConnection>::Backend> + 'query,
fn execute<'query, 'conn>( self, conn: &'conn mut Conn ) -> <Conn as AsyncConnection>::ExecuteFuture<'conn, 'query>where Conn: AsyncConnection + Send, Self: ExecuteDsl<Conn, <Conn as AsyncConnection>::Backend> + 'query,
Executes the given command, returning the number of rows affected. Read more
source§fn load<'query, U, 'conn>(
self,
conn: &'conn mut Conn
) -> AndThen<Self::LoadFuture<'conn>, TryCollect<Self::Stream<'conn>, Vec<U, Global>>, fn(_: Self::Stream<'conn>) -> TryCollect<Self::Stream<'conn>, Vec<U, Global>>>where
U: Send,
Conn: AsyncConnection,
Self: LoadQuery<'query, Conn, U> + 'query,
fn load<'query, U, 'conn>( self, conn: &'conn mut Conn ) -> AndThen<Self::LoadFuture<'conn>, TryCollect<Self::Stream<'conn>, Vec<U, Global>>, fn(_: Self::Stream<'conn>) -> TryCollect<Self::Stream<'conn>, Vec<U, Global>>>where U: Send, Conn: AsyncConnection, Self: LoadQuery<'query, Conn, U> + 'query,
source§fn load_stream<'conn, 'query, U>(
self,
conn: &'conn mut Conn
) -> Self::LoadFuture<'conn>where
Conn: AsyncConnection,
U: 'conn,
Self: LoadQuery<'query, Conn, U> + 'query,
fn load_stream<'conn, 'query, U>( self, conn: &'conn mut Conn ) -> Self::LoadFuture<'conn>where Conn: AsyncConnection, U: 'conn, Self: LoadQuery<'query, Conn, U> + 'query,
source§fn get_result<'query, 'conn, U>(
self,
conn: &'conn mut Conn
) -> AndThen<Self::LoadFuture<'conn>, Map<StreamFuture<Pin<Box<Self::Stream<'conn>, Global>>>, fn(_: (Option<Result<U, Error>>, Pin<Box<Self::Stream<'conn>, Global>>)) -> Result<U, Error>>, fn(_: Self::Stream<'conn>) -> Map<StreamFuture<Pin<Box<Self::Stream<'conn>, Global>>>, fn(_: (Option<Result<U, Error>>, Pin<Box<Self::Stream<'conn>, Global>>)) -> Result<U, Error>>>where
U: Send + 'conn,
Conn: AsyncConnection,
Self: LoadQuery<'query, Conn, U> + 'query,
fn get_result<'query, 'conn, U>( self, conn: &'conn mut Conn ) -> AndThen<Self::LoadFuture<'conn>, Map<StreamFuture<Pin<Box<Self::Stream<'conn>, Global>>>, fn(_: (Option<Result<U, Error>>, Pin<Box<Self::Stream<'conn>, Global>>)) -> Result<U, Error>>, fn(_: Self::Stream<'conn>) -> Map<StreamFuture<Pin<Box<Self::Stream<'conn>, Global>>>, fn(_: (Option<Result<U, Error>>, Pin<Box<Self::Stream<'conn>, Global>>)) -> Result<U, Error>>>where U: Send + 'conn, Conn: AsyncConnection, Self: LoadQuery<'query, Conn, U> + 'query,
Runs the command, and returns the affected row. Read more
source§fn get_results<'query, U, 'conn>(
self,
conn: &'conn mut Conn
) -> AndThen<Self::LoadFuture<'conn>, TryCollect<Self::Stream<'conn>, Vec<U, Global>>, fn(_: Self::Stream<'conn>) -> TryCollect<Self::Stream<'conn>, Vec<U, Global>>>where
U: Send,
Conn: AsyncConnection,
Self: LoadQuery<'query, Conn, U> + 'query,
fn get_results<'query, U, 'conn>( self, conn: &'conn mut Conn ) -> AndThen<Self::LoadFuture<'conn>, TryCollect<Self::Stream<'conn>, Vec<U, Global>>, fn(_: Self::Stream<'conn>) -> TryCollect<Self::Stream<'conn>, Vec<U, Global>>>where U: Send, Conn: AsyncConnection, Self: LoadQuery<'query, Conn, U> + 'query,
Runs the command, returning an
Vec
with the affected rows. Read moresource§fn first<'query, 'conn, U>(
self,
conn: &'conn mut Conn
) -> AndThen<<Self::Output as LoadQuery<'query, Conn, U>>::LoadFuture<'conn>, Map<StreamFuture<Pin<Box<<Self::Output as LoadQuery<'query, Conn, U>>::Stream<'conn>, Global>>>, fn(_: (Option<Result<U, Error>>, Pin<Box<<Self::Output as LoadQuery<'query, Conn, U>>::Stream<'conn>, Global>>)) -> Result<U, Error>>, fn(_: <Self::Output as LoadQuery<'query, Conn, U>>::Stream<'conn>) -> Map<StreamFuture<Pin<Box<<Self::Output as LoadQuery<'query, Conn, U>>::Stream<'conn>, Global>>>, fn(_: (Option<Result<U, Error>>, Pin<Box<<Self::Output as LoadQuery<'query, Conn, U>>::Stream<'conn>, Global>>)) -> Result<U, Error>>>where
U: Send + 'conn,
Conn: AsyncConnection,
Self: LimitDsl,
Self::Output: LoadQuery<'query, Conn, U> + Send + 'query,
fn first<'query, 'conn, U>( self, conn: &'conn mut Conn ) -> AndThen<<Self::Output as LoadQuery<'query, Conn, U>>::LoadFuture<'conn>, Map<StreamFuture<Pin<Box<<Self::Output as LoadQuery<'query, Conn, U>>::Stream<'conn>, Global>>>, fn(_: (Option<Result<U, Error>>, Pin<Box<<Self::Output as LoadQuery<'query, Conn, U>>::Stream<'conn>, Global>>)) -> Result<U, Error>>, fn(_: <Self::Output as LoadQuery<'query, Conn, U>>::Stream<'conn>) -> Map<StreamFuture<Pin<Box<<Self::Output as LoadQuery<'query, Conn, U>>::Stream<'conn>, Global>>>, fn(_: (Option<Result<U, Error>>, Pin<Box<<Self::Output as LoadQuery<'query, Conn, U>>::Stream<'conn>, Global>>)) -> Result<U, Error>>>where U: Send + 'conn, Conn: AsyncConnection, Self: LimitDsl, Self::Output: LoadQuery<'query, Conn, U> + Send + 'query,
Attempts to load a single record. Read more
source§impl<T, ST, DB> StaticallySizedRow<ST, DB> for Twhere
ST: SqlTypeOrSelectable + TupleSize,
T: Queryable<ST, DB>,
DB: Backend,
impl<T, ST, DB> StaticallySizedRow<ST, DB> for Twhere ST: SqlTypeOrSelectable + TupleSize, T: Queryable<ST, DB>, DB: Backend,
source§const FIELD_COUNT: usize = <ST as crate::util::TupleSize>::SIZE
const FIELD_COUNT: usize = <ST as crate::util::TupleSize>::SIZE
The number of fields that this type will consume.