pub struct Item {
pub id: i64,
pub user_id: i64,
pub type_id: i32,
pub properties: ItemPropertiesContainer,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
}Fields§
§id: i64§user_id: i64§type_id: i32§properties: ItemPropertiesContainer§created_at: DateTime<Utc>§updated_at: DateTime<Utc>Implementations§
Source§impl Item
impl Item
pub fn migrate_properties( &mut self, config: Arc<dyn ConfigInterface>, ) -> ItemEventResult
pub fn use_as_rod( &mut self, config: Arc<dyn ConfigInterface>, ) -> ItemEventResult
pub fn add(&mut self, amount: u64) -> ItemEventResult
pub fn remove(&mut self, amount: u64) -> ItemEventResult
Trait Implementations§
Source§impl AsChangeset for Item
impl AsChangeset for Item
Source§type Changeset = <(Grouped<Eq<user_id, <i64 as AsExpression<<user_id as Expression>::SqlType>>::Expression>>, Grouped<Eq<type_id, <i32 as AsExpression<<type_id as Expression>::SqlType>>::Expression>>, Grouped<Eq<properties, <ItemPropertiesContainer as AsExpression<<properties as Expression>::SqlType>>::Expression>>, Grouped<Eq<created_at, <DateTime<Utc> as AsExpression<<created_at as Expression>::SqlType>>::Expression>>, Grouped<Eq<updated_at, <DateTime<Utc> as AsExpression<<updated_at as Expression>::SqlType>>::Expression>>) as AsChangeset>::Changeset
type Changeset = <(Grouped<Eq<user_id, <i64 as AsExpression<<user_id as Expression>::SqlType>>::Expression>>, Grouped<Eq<type_id, <i32 as AsExpression<<type_id as Expression>::SqlType>>::Expression>>, Grouped<Eq<properties, <ItemPropertiesContainer as AsExpression<<properties as Expression>::SqlType>>::Expression>>, Grouped<Eq<created_at, <DateTime<Utc> as AsExpression<<created_at as Expression>::SqlType>>::Expression>>, Grouped<Eq<updated_at, <DateTime<Utc> as AsExpression<<updated_at as Expression>::SqlType>>::Expression>>) as AsChangeset>::Changeset
The update statement this type represents
Source§fn as_changeset(self) -> <Self as AsChangeset>::Changeset
fn as_changeset(self) -> <Self as AsChangeset>::Changeset
Convert
self into the actual update statement being executedSource§impl<'update> AsChangeset for &'update Itemwhere
(Eq<user_id, &'update i64>, Eq<type_id, &'update i32>, Eq<properties, &'update ItemPropertiesContainer>, Eq<created_at, &'update DateTime<Utc>>, Eq<updated_at, &'update DateTime<Utc>>): AsChangeset,
impl<'update> AsChangeset for &'update Itemwhere
(Eq<user_id, &'update i64>, Eq<type_id, &'update i32>, Eq<properties, &'update ItemPropertiesContainer>, Eq<created_at, &'update DateTime<Utc>>, Eq<updated_at, &'update DateTime<Utc>>): AsChangeset,
Source§type Changeset = <(Grouped<Eq<user_id, <&'update i64 as AsExpression<<user_id as Expression>::SqlType>>::Expression>>, Grouped<Eq<type_id, <&'update i32 as AsExpression<<type_id as Expression>::SqlType>>::Expression>>, Grouped<Eq<properties, <&'update ItemPropertiesContainer as AsExpression<<properties as Expression>::SqlType>>::Expression>>, Grouped<Eq<created_at, <&'update DateTime<Utc> as AsExpression<<created_at as Expression>::SqlType>>::Expression>>, Grouped<Eq<updated_at, <&'update DateTime<Utc> as AsExpression<<updated_at as Expression>::SqlType>>::Expression>>) as AsChangeset>::Changeset
type Changeset = <(Grouped<Eq<user_id, <&'update i64 as AsExpression<<user_id as Expression>::SqlType>>::Expression>>, Grouped<Eq<type_id, <&'update i32 as AsExpression<<type_id as Expression>::SqlType>>::Expression>>, Grouped<Eq<properties, <&'update ItemPropertiesContainer as AsExpression<<properties as Expression>::SqlType>>::Expression>>, Grouped<Eq<created_at, <&'update DateTime<Utc> as AsExpression<<created_at as Expression>::SqlType>>::Expression>>, Grouped<Eq<updated_at, <&'update DateTime<Utc> as AsExpression<<updated_at as Expression>::SqlType>>::Expression>>) as AsChangeset>::Changeset
The update statement this type represents
Source§fn as_changeset(self) -> <Self as AsChangeset>::Changeset
fn as_changeset(self) -> <Self as AsChangeset>::Changeset
Convert
self into the actual update statement being executedSource§impl<'de> Deserialize<'de> for Item
impl<'de> Deserialize<'de> for Item
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl ItemInterface for Item
impl ItemInterface for Item
fn attributes( &self, config: Arc<dyn ConfigInterface>, ) -> Option<Arc<dyn ItemAttributesContainerInterface>>
Source§impl ItemPropertiesContainerInterface for Item
impl ItemPropertiesContainerInterface for Item
fn get_properties(&self) -> &HashMap<ItemPropertiesType, ItemProperties>
fn get_properties_mut( &mut self, ) -> &mut HashMap<ItemPropertiesType, ItemProperties>
fn get_stackable_properties(&self) -> Option<&StackableComponent>
fn get_stackable_properties_mut(&mut self) -> Option<&mut StackableComponent>
fn get_usage_properties(&self) -> Option<&UsageComponent>
fn get_usage_properties_mut(&mut self) -> Option<&mut UsageComponent>
fn set_count(&mut self, count: u64)
fn is_stackable(&self) -> bool
fn has_usage(&self) -> bool
fn get_count(&self) -> Option<u64>
fn get_times_used(&self) -> Option<u64>
fn on_use(&mut self, times: u64)
fn on_add(&mut self, amount: u64)
fn on_remove(&mut self, amount: u64)
fn should_consume(&self) -> bool
Source§impl<__DB: Backend, __ST0, __ST1, __ST2, __ST3, __ST4, __ST5> Queryable<(__ST0, __ST1, __ST2, __ST3, __ST4, __ST5), __DB> for Itemwhere
(i64, i64, i32, ItemPropertiesContainer, DateTime<Utc>, DateTime<Utc>): FromStaticSqlRow<(__ST0, __ST1, __ST2, __ST3, __ST4, __ST5), __DB>,
impl<__DB: Backend, __ST0, __ST1, __ST2, __ST3, __ST4, __ST5> Queryable<(__ST0, __ST1, __ST2, __ST3, __ST4, __ST5), __DB> for Itemwhere
(i64, i64, i32, ItemPropertiesContainer, DateTime<Utc>, DateTime<Utc>): FromStaticSqlRow<(__ST0, __ST1, __ST2, __ST3, __ST4, __ST5), __DB>,
Source§impl Repository<Item> for ItemRepository
impl Repository<Item> for ItemRepository
fn get_db(&self) -> Arc<RwLock<dyn DatabaseInterface>>
fn create(&self, new_entity: NewItem) -> Result<Item, GameRepositoryError>
fn find(&self, id: i64) -> Result<Option<Item>, GameRepositoryError>
fn save(&self, entity: Item) -> Result<Item, GameRepositoryError>
fn delete(&self, entity: Item) -> Result<bool, GameRepositoryError>
fn get_connection( &self, ) -> Result<PooledConnection<ConnectionManager<PgConnection>>, GameDatabaseError>
Source§impl<__DB: Backend> Selectable<__DB> for Item
impl<__DB: Backend> Selectable<__DB> for Item
Source§type SelectExpression = (id, user_id, type_id, properties, created_at, updated_at)
type SelectExpression = (id, user_id, type_id, properties, created_at, updated_at)
The expression you’d like to select. Read more
Source§fn construct_selection() -> Self::SelectExpression
fn construct_selection() -> Self::SelectExpression
Construct an instance of the expression
impl StructuralPartialEq for Item
Auto Trait Implementations§
impl Freeze for Item
impl RefUnwindSafe for Item
impl Send for Item
impl Sync for Item
impl Unpin for Item
impl UnsafeUnpin for Item
impl UnwindSafe for Item
Blanket Implementations§
Source§impl<T> AggregateExpressionMethods for T
impl<T> AggregateExpressionMethods for T
Source§fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
fn aggregate_distinct(self) -> Self::Outputwhere
Self: DistinctDsl,
DISTINCT modifier for aggregate functions Read moreSource§fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
fn aggregate_all(self) -> Self::Outputwhere
Self: AllDsl,
ALL modifier for aggregate functions Read moreSource§fn aggregate_filter<P>(self, f: P) -> Self::Output
fn aggregate_filter<P>(self, f: P) -> Self::Output
Add an aggregate function filter Read more
Source§fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
fn aggregate_order<O>(self, o: O) -> Self::Outputwhere
Self: OrderAggregateDsl<O>,
Add an aggregate function order Read more
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Converts
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>, which can then be
downcast into Box<dyn ConcreteType> where ConcreteType implements Trait.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Converts
Rc<Trait> (where Trait: Downcast) to Rc<Any>, which can then be further
downcast into Rc<ConcreteType> where ConcreteType implements Trait.Source§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
Converts
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Converts
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.Source§impl<T> DowncastSend for T
impl<T> DowncastSend for T
Source§impl<T> DowncastSync for T
impl<T> DowncastSync for T
Source§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 moreimpl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
Source§impl<T, DB> SelectableHelper<DB> for Twhere
T: Selectable<DB>,
DB: Backend,
impl<T, DB> SelectableHelper<DB> for Twhere
T: Selectable<DB>,
DB: Backend,
Source§fn as_select() -> SelectBy<T, DB>
fn as_select() -> SelectBy<T, DB>
Construct a select clause based on a
Selectable implementation. Read moreSource§fn as_returning() -> SelectBy<Self, DB>
fn as_returning() -> SelectBy<Self, DB>
An alias for
as_select that can be used with returning clausesSource§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.
Source§impl<T> WindowExpressionMethods for T
impl<T> WindowExpressionMethods for T
Source§fn over(self) -> Self::Outputwhere
Self: OverDsl,
fn over(self) -> Self::Outputwhere
Self: OverDsl,
Turn a function call into a window function call Read more
Source§fn window_filter<P>(self, f: P) -> Self::Output
fn window_filter<P>(self, f: P) -> Self::Output
Add a filter to the current window function Read more
Source§fn partition_by<E>(self, expr: E) -> Self::Outputwhere
Self: PartitionByDsl<E>,
fn partition_by<E>(self, expr: E) -> Self::Outputwhere
Self: PartitionByDsl<E>,
Add a partition clause to the current window function Read more
Source§fn window_order<E>(self, expr: E) -> Self::Outputwhere
Self: OrderWindowDsl<E>,
fn window_order<E>(self, expr: E) -> Self::Outputwhere
Self: OrderWindowDsl<E>,
Add a order clause to the current window function Read more