Struct Program
pub struct Program {Show 14 fields
pub uuid: Uuid,
pub updt: Option<NaiveDateTime>,
pub updu: Option<Uuid>,
pub ver: Option<i32>,
pub rstatus: Option<RStatus>,
pub title: Option<String>,
pub available_below: Option<Uuid>,
pub status: Option<Status>,
pub parent: Option<Uuid>,
pub visibility: String,
pub copyright: String,
pub license_other: Option<String>,
pub order: i32,
pub logs: Option<Json<Vec<Log>>>,
}
Fields§
§uuid: Uuid
§updt: Option<NaiveDateTime>
§updu: Option<Uuid>
§ver: Option<i32>
§rstatus: Option<RStatus>
§title: Option<String>
§available_below: Option<Uuid>
§status: Option<Status>
§parent: Option<Uuid>
§visibility: String
§copyright: String
§license_other: Option<String>
§order: i32
§logs: Option<Json<Vec<Log>>>
Implementations§
§impl Program
impl Program
pub fn from_request(program_request: ProgramRequest) -> Program
pub fn to_response(&self) -> ProgramResponse
pub fn to_response_with_subfields( &self, sels: Vec<SubjectEducationalLevel>, ) -> ProgramResponse
pub fn to_response_with_sel_responses( &self, sels: Vec<SubjectEducationalLevelResponse>, ) -> ProgramResponse
pub fn to_response_list(programs: Vec<Program>) -> Vec<ProgramResponse>
pub fn to_response_list_with_subfields( programs: Vec<Program>, sels: Vec<SubjectEducationalLevel>, ) -> Vec<ProgramResponse>
Trait Implementations§
§impl<'update> AsChangeset for &'update Program
impl<'update> AsChangeset for &'update Program
§type Changeset = <(Eq<updt, <&'update Option<NaiveDateTime> as AsExpression<<updt as Expression>::SqlType>>::Expression>, Eq<updu, <&'update Option<Uuid> as AsExpression<<updu as Expression>::SqlType>>::Expression>, Eq<ver, <&'update Option<i32> as AsExpression<<ver as Expression>::SqlType>>::Expression>, Eq<rstatus, <&'update Option<RStatus> as AsExpression<<rstatus as Expression>::SqlType>>::Expression>, Eq<title, <&'update Option<String> as AsExpression<<title as Expression>::SqlType>>::Expression>, Eq<available_below, <&'update Option<Uuid> as AsExpression<<available_below as Expression>::SqlType>>::Expression>, Eq<status, <&'update Option<Status> as AsExpression<<status as Expression>::SqlType>>::Expression>, Eq<parent, <&'update Option<Uuid> as AsExpression<<parent as Expression>::SqlType>>::Expression>, Eq<visibility, <&'update String as AsExpression<<visibility as Expression>::SqlType>>::Expression>, Eq<copyright, <&'update String as AsExpression<<copyright as Expression>::SqlType>>::Expression>, Eq<license_other, <&'update Option<String> as AsExpression<<license_other as Expression>::SqlType>>::Expression>, Eq<order, <&'update i32 as AsExpression<<order as Expression>::SqlType>>::Expression>, Eq<logs, <&'update Option<Json<Vec<Log>>> as AsExpression<<logs as Expression>::SqlType>>::Expression>) as AsChangeset>::Changeset
type Changeset = <(Eq<updt, <&'update Option<NaiveDateTime> as AsExpression<<updt as Expression>::SqlType>>::Expression>, Eq<updu, <&'update Option<Uuid> as AsExpression<<updu as Expression>::SqlType>>::Expression>, Eq<ver, <&'update Option<i32> as AsExpression<<ver as Expression>::SqlType>>::Expression>, Eq<rstatus, <&'update Option<RStatus> as AsExpression<<rstatus as Expression>::SqlType>>::Expression>, Eq<title, <&'update Option<String> as AsExpression<<title as Expression>::SqlType>>::Expression>, Eq<available_below, <&'update Option<Uuid> as AsExpression<<available_below as Expression>::SqlType>>::Expression>, Eq<status, <&'update Option<Status> as AsExpression<<status as Expression>::SqlType>>::Expression>, Eq<parent, <&'update Option<Uuid> as AsExpression<<parent as Expression>::SqlType>>::Expression>, Eq<visibility, <&'update String as AsExpression<<visibility as Expression>::SqlType>>::Expression>, Eq<copyright, <&'update String as AsExpression<<copyright as Expression>::SqlType>>::Expression>, Eq<license_other, <&'update Option<String> as AsExpression<<license_other as Expression>::SqlType>>::Expression>, Eq<order, <&'update i32 as AsExpression<<order as Expression>::SqlType>>::Expression>, Eq<logs, <&'update Option<Json<Vec<Log>>> as AsExpression<<logs as Expression>::SqlType>>::Expression>) as AsChangeset>::Changeset
The update statement this type represents
§fn as_changeset(self) -> Self::Changeset
fn as_changeset(self) -> Self::Changeset
Convert
self
into the actual update statement being executed§impl<'update> AsChangeset for Program
impl<'update> AsChangeset for Program
§type Changeset = <(Eq<updt, <Option<NaiveDateTime> as AsExpression<<updt as Expression>::SqlType>>::Expression>, Eq<updu, <Option<Uuid> as AsExpression<<updu as Expression>::SqlType>>::Expression>, Eq<ver, <Option<i32> as AsExpression<<ver as Expression>::SqlType>>::Expression>, Eq<rstatus, <Option<RStatus> as AsExpression<<rstatus as Expression>::SqlType>>::Expression>, Eq<title, <Option<String> as AsExpression<<title as Expression>::SqlType>>::Expression>, Eq<available_below, <Option<Uuid> as AsExpression<<available_below as Expression>::SqlType>>::Expression>, Eq<status, <Option<Status> as AsExpression<<status as Expression>::SqlType>>::Expression>, Eq<parent, <Option<Uuid> as AsExpression<<parent as Expression>::SqlType>>::Expression>, Eq<visibility, <String as AsExpression<<visibility as Expression>::SqlType>>::Expression>, Eq<copyright, <String as AsExpression<<copyright as Expression>::SqlType>>::Expression>, Eq<license_other, <Option<String> as AsExpression<<license_other as Expression>::SqlType>>::Expression>, Eq<order, <i32 as AsExpression<<order as Expression>::SqlType>>::Expression>, Eq<logs, <Option<Json<Vec<Log>>> as AsExpression<<logs as Expression>::SqlType>>::Expression>) as AsChangeset>::Changeset
type Changeset = <(Eq<updt, <Option<NaiveDateTime> as AsExpression<<updt as Expression>::SqlType>>::Expression>, Eq<updu, <Option<Uuid> as AsExpression<<updu as Expression>::SqlType>>::Expression>, Eq<ver, <Option<i32> as AsExpression<<ver as Expression>::SqlType>>::Expression>, Eq<rstatus, <Option<RStatus> as AsExpression<<rstatus as Expression>::SqlType>>::Expression>, Eq<title, <Option<String> as AsExpression<<title as Expression>::SqlType>>::Expression>, Eq<available_below, <Option<Uuid> as AsExpression<<available_below as Expression>::SqlType>>::Expression>, Eq<status, <Option<Status> as AsExpression<<status as Expression>::SqlType>>::Expression>, Eq<parent, <Option<Uuid> as AsExpression<<parent as Expression>::SqlType>>::Expression>, Eq<visibility, <String as AsExpression<<visibility as Expression>::SqlType>>::Expression>, Eq<copyright, <String as AsExpression<<copyright as Expression>::SqlType>>::Expression>, Eq<license_other, <Option<String> as AsExpression<<license_other as Expression>::SqlType>>::Expression>, Eq<order, <i32 as AsExpression<<order as Expression>::SqlType>>::Expression>, Eq<logs, <Option<Json<Vec<Log>>> as AsExpression<<logs as Expression>::SqlType>>::Expression>) as AsChangeset>::Changeset
The update statement this type represents
§fn as_changeset(self) -> Self::Changeset
fn as_changeset(self) -> Self::Changeset
Convert
self
into the actual update statement being executed§impl<'ident> Identifiable for &'ident Program
impl<'ident> Identifiable for &'ident Program
§impl<'insert> Insertable<table> for &'insert Program
impl<'insert> Insertable<table> for &'insert Program
§type Values = <(Option<Eq<uuid, <&'insert Uuid as AsExpression<<uuid as Expression>::SqlType>>::Expression>>, Option<Eq<updt, <&'insert NaiveDateTime as AsExpression<<updt as Expression>::SqlType>>::Expression>>, Option<Eq<updu, <&'insert Uuid as AsExpression<<updu as Expression>::SqlType>>::Expression>>, Option<Eq<ver, <&'insert i32 as AsExpression<<ver as Expression>::SqlType>>::Expression>>, Option<Eq<rstatus, <&'insert RStatus as AsExpression<<rstatus as Expression>::SqlType>>::Expression>>, Option<Eq<title, <&'insert String as AsExpression<<title as Expression>::SqlType>>::Expression>>, Option<Eq<available_below, <&'insert Uuid as AsExpression<<available_below as Expression>::SqlType>>::Expression>>, Option<Eq<status, <&'insert Status as AsExpression<<status as Expression>::SqlType>>::Expression>>, Option<Eq<parent, <&'insert Uuid as AsExpression<<parent as Expression>::SqlType>>::Expression>>, Option<Eq<visibility, <&'insert String as AsExpression<<visibility as Expression>::SqlType>>::Expression>>, Option<Eq<copyright, <&'insert String as AsExpression<<copyright as Expression>::SqlType>>::Expression>>, Option<Eq<license_other, <&'insert String as AsExpression<<license_other as Expression>::SqlType>>::Expression>>, Option<Eq<order, <&'insert i32 as AsExpression<<order as Expression>::SqlType>>::Expression>>, Option<Eq<logs, <&'insert Json<Vec<Log>> as AsExpression<<logs as Expression>::SqlType>>::Expression>>) as Insertable<table>>::Values
type Values = <(Option<Eq<uuid, <&'insert Uuid as AsExpression<<uuid as Expression>::SqlType>>::Expression>>, Option<Eq<updt, <&'insert NaiveDateTime as AsExpression<<updt as Expression>::SqlType>>::Expression>>, Option<Eq<updu, <&'insert Uuid as AsExpression<<updu as Expression>::SqlType>>::Expression>>, Option<Eq<ver, <&'insert i32 as AsExpression<<ver as Expression>::SqlType>>::Expression>>, Option<Eq<rstatus, <&'insert RStatus as AsExpression<<rstatus as Expression>::SqlType>>::Expression>>, Option<Eq<title, <&'insert String as AsExpression<<title as Expression>::SqlType>>::Expression>>, Option<Eq<available_below, <&'insert Uuid as AsExpression<<available_below as Expression>::SqlType>>::Expression>>, Option<Eq<status, <&'insert Status as AsExpression<<status as Expression>::SqlType>>::Expression>>, Option<Eq<parent, <&'insert Uuid as AsExpression<<parent as Expression>::SqlType>>::Expression>>, Option<Eq<visibility, <&'insert String as AsExpression<<visibility as Expression>::SqlType>>::Expression>>, Option<Eq<copyright, <&'insert String as AsExpression<<copyright as Expression>::SqlType>>::Expression>>, Option<Eq<license_other, <&'insert String as AsExpression<<license_other as Expression>::SqlType>>::Expression>>, Option<Eq<order, <&'insert i32 as AsExpression<<order as Expression>::SqlType>>::Expression>>, Option<Eq<logs, <&'insert Json<Vec<Log>> as AsExpression<<logs as Expression>::SqlType>>::Expression>>) as Insertable<table>>::Values
The
VALUES
clause to insert these records Read moreSource§fn insert_into(self, table: T) -> InsertStatement<T, Self::Values>where
Self: Sized,
fn insert_into(self, table: T) -> InsertStatement<T, Self::Values>where
Self: Sized,
Insert
self
into a given table. Read more§impl<'insert> Insertable<table> for Program
impl<'insert> Insertable<table> for Program
§type Values = <(Option<Eq<uuid, <Uuid as AsExpression<<uuid as Expression>::SqlType>>::Expression>>, Option<Eq<updt, <NaiveDateTime as AsExpression<<updt as Expression>::SqlType>>::Expression>>, Option<Eq<updu, <Uuid as AsExpression<<updu as Expression>::SqlType>>::Expression>>, Option<Eq<ver, <i32 as AsExpression<<ver as Expression>::SqlType>>::Expression>>, Option<Eq<rstatus, <RStatus as AsExpression<<rstatus as Expression>::SqlType>>::Expression>>, Option<Eq<title, <String as AsExpression<<title as Expression>::SqlType>>::Expression>>, Option<Eq<available_below, <Uuid as AsExpression<<available_below as Expression>::SqlType>>::Expression>>, Option<Eq<status, <Status as AsExpression<<status as Expression>::SqlType>>::Expression>>, Option<Eq<parent, <Uuid as AsExpression<<parent as Expression>::SqlType>>::Expression>>, Option<Eq<visibility, <String as AsExpression<<visibility as Expression>::SqlType>>::Expression>>, Option<Eq<copyright, <String as AsExpression<<copyright as Expression>::SqlType>>::Expression>>, Option<Eq<license_other, <String as AsExpression<<license_other as Expression>::SqlType>>::Expression>>, Option<Eq<order, <i32 as AsExpression<<order as Expression>::SqlType>>::Expression>>, Option<Eq<logs, <Json<Vec<Log>> as AsExpression<<logs as Expression>::SqlType>>::Expression>>) as Insertable<table>>::Values
type Values = <(Option<Eq<uuid, <Uuid as AsExpression<<uuid as Expression>::SqlType>>::Expression>>, Option<Eq<updt, <NaiveDateTime as AsExpression<<updt as Expression>::SqlType>>::Expression>>, Option<Eq<updu, <Uuid as AsExpression<<updu as Expression>::SqlType>>::Expression>>, Option<Eq<ver, <i32 as AsExpression<<ver as Expression>::SqlType>>::Expression>>, Option<Eq<rstatus, <RStatus as AsExpression<<rstatus as Expression>::SqlType>>::Expression>>, Option<Eq<title, <String as AsExpression<<title as Expression>::SqlType>>::Expression>>, Option<Eq<available_below, <Uuid as AsExpression<<available_below as Expression>::SqlType>>::Expression>>, Option<Eq<status, <Status as AsExpression<<status as Expression>::SqlType>>::Expression>>, Option<Eq<parent, <Uuid as AsExpression<<parent as Expression>::SqlType>>::Expression>>, Option<Eq<visibility, <String as AsExpression<<visibility as Expression>::SqlType>>::Expression>>, Option<Eq<copyright, <String as AsExpression<<copyright as Expression>::SqlType>>::Expression>>, Option<Eq<license_other, <String as AsExpression<<license_other as Expression>::SqlType>>::Expression>>, Option<Eq<order, <i32 as AsExpression<<order as Expression>::SqlType>>::Expression>>, Option<Eq<logs, <Json<Vec<Log>> as AsExpression<<logs as Expression>::SqlType>>::Expression>>) as Insertable<table>>::Values
The
VALUES
clause to insert these records Read moreSource§fn insert_into(self, table: T) -> InsertStatement<T, Self::Values>where
Self: Sized,
fn insert_into(self, table: T) -> InsertStatement<T, Self::Values>where
Self: Sized,
Insert
self
into a given table. Read more§impl MetaFields for Program
impl MetaFields for Program
fn update_fields(&mut self, user_id: Uuid)
fn init_fields(&mut self, user_id: Uuid)
§impl<__DB: Backend, __ST> Queryable<__ST, __DB> for Program
impl<__DB: Backend, __ST> Queryable<__ST, __DB> for Program
§impl<__DB: Backend> QueryableByName<__DB> for Programwhere
Uuid: FromSql<SqlTypeOf<uuid>, __DB>,
Option<NaiveDateTime>: FromSql<SqlTypeOf<updt>, __DB>,
Option<Uuid>: FromSql<SqlTypeOf<updu>, __DB> + FromSql<SqlTypeOf<available_below>, __DB> + FromSql<SqlTypeOf<parent>, __DB>,
Option<i32>: FromSql<SqlTypeOf<ver>, __DB>,
Option<RStatus>: FromSql<SqlTypeOf<rstatus>, __DB>,
Option<String>: FromSql<SqlTypeOf<title>, __DB> + FromSql<SqlTypeOf<license_other>, __DB>,
Option<Status>: FromSql<SqlTypeOf<status>, __DB>,
String: FromSql<SqlTypeOf<visibility>, __DB> + FromSql<SqlTypeOf<copyright>, __DB>,
i32: FromSql<SqlTypeOf<order>, __DB>,
Option<Json<Vec<Log>>>: FromSql<SqlTypeOf<logs>, __DB>,
impl<__DB: Backend> QueryableByName<__DB> for Programwhere
Uuid: FromSql<SqlTypeOf<uuid>, __DB>,
Option<NaiveDateTime>: FromSql<SqlTypeOf<updt>, __DB>,
Option<Uuid>: FromSql<SqlTypeOf<updu>, __DB> + FromSql<SqlTypeOf<available_below>, __DB> + FromSql<SqlTypeOf<parent>, __DB>,
Option<i32>: FromSql<SqlTypeOf<ver>, __DB>,
Option<RStatus>: FromSql<SqlTypeOf<rstatus>, __DB>,
Option<String>: FromSql<SqlTypeOf<title>, __DB> + FromSql<SqlTypeOf<license_other>, __DB>,
Option<Status>: FromSql<SqlTypeOf<status>, __DB>,
String: FromSql<SqlTypeOf<visibility>, __DB> + FromSql<SqlTypeOf<copyright>, __DB>,
i32: FromSql<SqlTypeOf<order>, __DB>,
Option<Json<Vec<Log>>>: FromSql<SqlTypeOf<logs>, __DB>,
impl StructuralPartialEq for Program
impl<'insert> UndecoratedInsertRecord<table> for Program
Auto Trait Implementations§
impl Freeze for Program
impl RefUnwindSafe for Program
impl Send for Program
impl Sync for Program
impl Unpin for Program
impl UnwindSafe for Program
Blanket Implementations§
Source§impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
impl<Src, Scheme> ApproxFrom<Src, Scheme> for Srcwhere
Scheme: ApproxScheme,
Source§fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
fn approx_from(src: Src) -> Result<Src, <Src as ApproxFrom<Src, Scheme>>::Err>
Convert the given value into an approximately equivalent representation.
Source§impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
impl<Dst, Src, Scheme> ApproxInto<Dst, Scheme> for Srcwhere
Dst: ApproxFrom<Src, Scheme>,
Scheme: ApproxScheme,
Source§type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
type Err = <Dst as ApproxFrom<Src, Scheme>>::Err
The error type produced by a failed conversion.
Source§fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
fn approx_into(self) -> Result<Dst, <Src as ApproxInto<Dst, Scheme>>::Err>
Convert the subject into an approximately equivalent representation.
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T, Dst> ConvAsUtil<Dst> for T
impl<T, Dst> ConvAsUtil<Dst> for T
Source§impl<T> ConvUtil for T
impl<T> ConvUtil for T
Source§fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
fn approx_as<Dst>(self) -> Result<Dst, Self::Err>where
Self: Sized + ApproxInto<Dst>,
Approximate the subject to a given type with the default scheme.
Source§fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>
fn approx_as_by<Dst, Scheme>(self) -> Result<Dst, Self::Err>
Approximate the subject to a given type with a specific scheme.
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::Expressionwhere
Self: Sized + AsExpression<T>,
fn into_sql<T>(self) -> Self::Expressionwhere
Self: Sized + AsExpression<T>,
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>,
fn as_sql<'a, T>(&'a self) -> <&'a Self as AsExpression<T>>::Expressionwhere
&'a Self: AsExpression<T>,
Convert
&self
to an expression for Diesel’s query builder. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian()
.Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self
from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self
is actually part of its subset T
(and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset
but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self
to the equivalent element of its superset.