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<'update> AsChangeset for &'update Item
impl<'update> AsChangeset for &'update Item
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 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<'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 UnwindSafe for Item
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§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, 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.