pub struct Drawing {
pub id: Uuid,
pub shape_type: DrawingShapeType,
pub add_date: Option<NaiveDate>,
pub remove_date: Option<NaiveDate>,
pub rotation: f32,
pub scale_x: f32,
pub scale_y: f32,
pub x: i32,
pub y: i32,
pub properties: Value,
pub layer_id: Uuid,
pub notes: String,
}
Fields§
§id: Uuid
§shape_type: DrawingShapeType
§add_date: Option<NaiveDate>
§remove_date: Option<NaiveDate>
§rotation: f32
§scale_x: f32
§scale_y: f32
§x: i32
§y: i32
§properties: Value
§layer_id: Uuid
§notes: String
Implementations§
source§impl Drawing
impl Drawing
sourcepub async fn find(
map_id: i32,
conn: &mut AsyncPgConnection,
) -> QueryResult<Vec<Self>>
pub async fn find( map_id: i32, conn: &mut AsyncPgConnection, ) -> QueryResult<Vec<Self>>
sourcepub async fn find_in_layer(
layer_id: Uuid,
conn: &mut AsyncPgConnection,
) -> QueryResult<Vec<Self>>
pub async fn find_in_layer( layer_id: Uuid, conn: &mut AsyncPgConnection, ) -> QueryResult<Vec<Self>>
sourcepub async fn create(
drawings: Vec<Self>,
conn: &mut AsyncPgConnection,
) -> QueryResult<Vec<Self>>
pub async fn create( drawings: Vec<Self>, conn: &mut AsyncPgConnection, ) -> QueryResult<Vec<Self>>
sourcepub async fn update(
drawing_updates: Vec<UpdateDrawing>,
conn: &mut AsyncPgConnection,
) -> QueryResult<Vec<Self>>
pub async fn update( drawing_updates: Vec<UpdateDrawing>, conn: &mut AsyncPgConnection, ) -> QueryResult<Vec<Self>>
sourcefn do_update(
updates: Vec<UpdateDrawing>,
conn: &mut AsyncPgConnection,
) -> Vec<impl Future<Output = QueryResult<Self>>>
fn do_update( updates: Vec<UpdateDrawing>, conn: &mut AsyncPgConnection, ) -> Vec<impl Future<Output = QueryResult<Self>>>
Helper that performs the actual update of the drawings.
sourcepub async fn delete_by_ids(
ids: Vec<Uuid>,
conn: &mut AsyncPgConnection,
) -> QueryResult<usize>
pub async fn delete_by_ids( ids: Vec<Uuid>, conn: &mut AsyncPgConnection, ) -> QueryResult<usize>
Trait Implementations§
source§impl<'ident> Identifiable for &'ident Drawing
impl<'ident> Identifiable for &'ident Drawing
source§impl<'insert> Insertable<table> for &'insert Drawing
impl<'insert> Insertable<table> for &'insert Drawing
source§type Values = <(Option<Grouped<Eq<id, <&'insert Uuid as AsExpression<<id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<shape_type, <&'insert DrawingShapeType as AsExpression<<shape_type as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<add_date, <&'insert NaiveDate as AsExpression<<add_date as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<remove_date, <&'insert NaiveDate as AsExpression<<remove_date as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<rotation, <&'insert f32 as AsExpression<<rotation as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<scale_x, <&'insert f32 as AsExpression<<scale_x as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<scale_y, <&'insert f32 as AsExpression<<scale_y as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<x, <&'insert i32 as AsExpression<<x as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<y, <&'insert i32 as AsExpression<<y as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<properties, <&'insert Value as AsExpression<<properties as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<layer_id, <&'insert Uuid as AsExpression<<layer_id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<notes, <&'insert String as AsExpression<<notes 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<shape_type, <&'insert DrawingShapeType as AsExpression<<shape_type as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<add_date, <&'insert NaiveDate as AsExpression<<add_date as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<remove_date, <&'insert NaiveDate as AsExpression<<remove_date as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<rotation, <&'insert f32 as AsExpression<<rotation as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<scale_x, <&'insert f32 as AsExpression<<scale_x as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<scale_y, <&'insert f32 as AsExpression<<scale_y as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<x, <&'insert i32 as AsExpression<<x as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<y, <&'insert i32 as AsExpression<<y as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<properties, <&'insert Value as AsExpression<<properties as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<layer_id, <&'insert Uuid as AsExpression<<layer_id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<notes, <&'insert String as AsExpression<<notes 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<shape_type, &'insert DrawingShapeType>>, Option<Eq<add_date, &'insert NaiveDate>>, Option<Eq<remove_date, &'insert NaiveDate>>, Option<Eq<rotation, &'insert f32>>, Option<Eq<scale_x, &'insert f32>>, Option<Eq<scale_y, &'insert f32>>, Option<Eq<x, &'insert i32>>, Option<Eq<y, &'insert i32>>, Option<Eq<properties, &'insert Value>>, Option<Eq<layer_id, &'insert Uuid>>, Option<Eq<notes, &'insert String>>) as Insertable<table>>::Values
fn values( self, ) -> <(Option<Eq<id, &'insert Uuid>>, Option<Eq<shape_type, &'insert DrawingShapeType>>, Option<Eq<add_date, &'insert NaiveDate>>, Option<Eq<remove_date, &'insert NaiveDate>>, Option<Eq<rotation, &'insert f32>>, Option<Eq<scale_x, &'insert f32>>, Option<Eq<scale_y, &'insert f32>>, Option<Eq<x, &'insert i32>>, Option<Eq<y, &'insert i32>>, Option<Eq<properties, &'insert Value>>, Option<Eq<layer_id, &'insert Uuid>>, Option<Eq<notes, &'insert String>>) 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 Drawing
impl Insertable<table> for Drawing
source§type Values = <(Option<Grouped<Eq<id, <Uuid as AsExpression<<id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<shape_type, <DrawingShapeType as AsExpression<<shape_type as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<add_date, <NaiveDate as AsExpression<<add_date as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<remove_date, <NaiveDate as AsExpression<<remove_date as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<rotation, <f32 as AsExpression<<rotation as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<scale_x, <f32 as AsExpression<<scale_x as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<scale_y, <f32 as AsExpression<<scale_y as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<x, <i32 as AsExpression<<x as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<y, <i32 as AsExpression<<y as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<properties, <Value as AsExpression<<properties as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<layer_id, <Uuid as AsExpression<<layer_id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<notes, <String as AsExpression<<notes 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<shape_type, <DrawingShapeType as AsExpression<<shape_type as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<add_date, <NaiveDate as AsExpression<<add_date as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<remove_date, <NaiveDate as AsExpression<<remove_date as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<rotation, <f32 as AsExpression<<rotation as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<scale_x, <f32 as AsExpression<<scale_x as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<scale_y, <f32 as AsExpression<<scale_y as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<x, <i32 as AsExpression<<x as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<y, <i32 as AsExpression<<y as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<properties, <Value as AsExpression<<properties as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<layer_id, <Uuid as AsExpression<<layer_id as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<notes, <String as AsExpression<<notes 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<shape_type, DrawingShapeType>>, Option<Eq<add_date, NaiveDate>>, Option<Eq<remove_date, NaiveDate>>, Option<Eq<rotation, f32>>, Option<Eq<scale_x, f32>>, Option<Eq<scale_y, f32>>, Option<Eq<x, i32>>, Option<Eq<y, i32>>, Option<Eq<properties, Value>>, Option<Eq<layer_id, Uuid>>, Option<Eq<notes, String>>) as Insertable<table>>::Values
fn values( self, ) -> <(Option<Eq<id, Uuid>>, Option<Eq<shape_type, DrawingShapeType>>, Option<Eq<add_date, NaiveDate>>, Option<Eq<remove_date, NaiveDate>>, Option<Eq<rotation, f32>>, Option<Eq<scale_x, f32>>, Option<Eq<scale_y, f32>>, Option<Eq<x, i32>>, Option<Eq<y, i32>>, Option<Eq<properties, Value>>, Option<Eq<layer_id, Uuid>>, Option<Eq<notes, String>>) 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 Drawing
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 Drawing
source§impl TryFrom<Drawing> for DrawingDto
impl TryFrom<Drawing> for DrawingDto
source§impl TryFrom<DrawingDto> for Drawing
impl TryFrom<DrawingDto> for Drawing
source§type Error = ServiceError
type Error = ServiceError
The type returned in the event of a conversion error.
impl UndecoratedInsertRecord<table> for Drawing
Auto Trait Implementations§
impl Freeze for Drawing
impl RefUnwindSafe for Drawing
impl Send for Drawing
impl Sync for Drawing
impl Unpin for Drawing
impl UnwindSafe for Drawing
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§unsafe fn clone_to_uninit(&self, dst: *mut T)
unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)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.