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>> 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>> 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>> 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>> 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>
fn insert_into(self, table: T) -> InsertStatement<T, Self::Values>
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>> 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>> 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>> 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>> 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>
fn insert_into(self, table: T) -> InsertStatement<T, Self::Values>
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 Freeze for Users
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> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moresource§impl<T> IntoSql for T
impl<T> IntoSql for T
source§fn into_sql<T>(self) -> Self::Expression
fn into_sql<T>(self) -> Self::Expression
Convert
self
to an expression for Diesel’s query builder. Read moresource§fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expression
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<'conn, 'query>(
self,
conn: &'conn mut Conn,
) -> <Conn as AsyncConnection>::ExecuteFuture<'conn, 'query>
fn execute<'conn, 'query>( self, conn: &'conn mut Conn, ) -> <Conn as AsyncConnection>::ExecuteFuture<'conn, 'query>
Executes the given command, returning the number of rows affected. Read more
source§fn load<'query, 'conn, U>(
self,
conn: &'conn mut Conn,
) -> AndThen<Self::LoadFuture<'conn>, TryCollect<Self::Stream<'conn>, Vec<U>>, fn(_: Self::Stream<'conn>) -> TryCollect<Self::Stream<'conn>, Vec<U>>>
fn load<'query, 'conn, U>( self, conn: &'conn mut Conn, ) -> AndThen<Self::LoadFuture<'conn>, TryCollect<Self::Stream<'conn>, Vec<U>>, fn(_: Self::Stream<'conn>) -> TryCollect<Self::Stream<'conn>, Vec<U>>>
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>>>>, fn(_: (Option<Result<U, Error>>, Pin<Box<Self::Stream<'conn>>>)) -> Result<U, Error>>, fn(_: Self::Stream<'conn>) -> Map<StreamFuture<Pin<Box<Self::Stream<'conn>>>>, fn(_: (Option<Result<U, Error>>, Pin<Box<Self::Stream<'conn>>>)) -> Result<U, Error>>>
fn get_result<'query, 'conn, U>( self, conn: &'conn mut Conn, ) -> AndThen<Self::LoadFuture<'conn>, Map<StreamFuture<Pin<Box<Self::Stream<'conn>>>>, fn(_: (Option<Result<U, Error>>, Pin<Box<Self::Stream<'conn>>>)) -> Result<U, Error>>, fn(_: Self::Stream<'conn>) -> Map<StreamFuture<Pin<Box<Self::Stream<'conn>>>>, fn(_: (Option<Result<U, Error>>, Pin<Box<Self::Stream<'conn>>>)) -> Result<U, Error>>>
Runs the command, and returns the affected row. Read more
source§fn get_results<'query, 'conn, U>(
self,
conn: &'conn mut Conn,
) -> AndThen<Self::LoadFuture<'conn>, TryCollect<Self::Stream<'conn>, Vec<U>>, fn(_: Self::Stream<'conn>) -> TryCollect<Self::Stream<'conn>, Vec<U>>>
fn get_results<'query, 'conn, U>( self, conn: &'conn mut Conn, ) -> AndThen<Self::LoadFuture<'conn>, TryCollect<Self::Stream<'conn>, Vec<U>>, fn(_: Self::Stream<'conn>) -> TryCollect<Self::Stream<'conn>, Vec<U>>>
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>>>>, fn(_: (Option<Result<U, Error>>, Pin<Box<<Self::Output as LoadQuery<'query, Conn, U>>::Stream<'conn>>>)) -> 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>>>>, fn(_: (Option<Result<U, Error>>, Pin<Box<<Self::Output as LoadQuery<'query, Conn, U>>::Stream<'conn>>>)) -> Result<U, Error>>>
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>>>>, fn(_: (Option<Result<U, Error>>, Pin<Box<<Self::Output as LoadQuery<'query, Conn, U>>::Stream<'conn>>>)) -> 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>>>>, fn(_: (Option<Result<U, Error>>, Pin<Box<<Self::Output as LoadQuery<'query, Conn, U>>::Stream<'conn>>>)) -> Result<U, Error>>>
Attempts to load a single record. Read more
source§impl<T, ST, DB> StaticallySizedRow<ST, DB> for T
impl<T, ST, DB> StaticallySizedRow<ST, DB> for T
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.