pub struct FishingHistoryEntry {
pub id: i64,
pub user_id: i64,
pub species_id: i32,
pub created_at: DateTime<Utc>,
pub updated_at: DateTime<Utc>,
pub caught_count: i32,
pub sold_count: i32,
pub smallest_catch_size_ratio: f32,
pub largest_catch_size_ratio: f32,
pub last_catch: DateTime<Utc>,
pub first_sell: Option<DateTime<Utc>>,
pub last_sell: Option<DateTime<Utc>>,
}Fields§
§id: i64Primary key of this fishing history entry in the database
user_id: i64The primary key of the user this fishing history entry belongs to
species_id: i32The species ID this fishing history entry is associated with (species are defined in the config)
created_at: DateTime<Utc>When the dataset was created
updated_at: DateTime<Utc>When the dataset was last updated
caught_count: i32How often the specimen of this species was caught by the user
sold_count: i32How often the specimen of this species was sold by the user
smallest_catch_size_ratio: f32Smallest catch size ratio (0-1) relative to species’ min/max size range
largest_catch_size_ratio: f32Largest catch size ratio (0-1) relative to species’ min/max size range
last_catch: DateTime<Utc>When a specimen of this species was last caught
first_sell: Option<DateTime<Utc>>When a specimen of this species was first sold
last_sell: Option<DateTime<Utc>>When a specimen of this species was last sold
Implementations§
Source§impl FishingHistoryEntry
impl FishingHistoryEntry
pub fn get_first_catch(&self) -> DateTime<Utc>
pub fn register_catch( &mut self, total_size_ratio: f32, catch_time: DateTime<Utc>, )
pub fn register_sell(&mut self, sell_time: DateTime<Utc>)
pub fn get_smallest_size_mm( &self, config: Arc<dyn ConfigInterface>, ) -> GameResult<f32>
pub fn get_largest_size_mm( &self, config: Arc<dyn ConfigInterface>, ) -> GameResult<f32>
pub fn get_smallest_weight_g( &self, config: Arc<dyn ConfigInterface>, ) -> GameResult<f32>
pub fn get_largest_weight_g( &self, config: Arc<dyn ConfigInterface>, ) -> GameResult<f32>
Trait Implementations§
Source§impl<'update> AsChangeset for &'update FishingHistoryEntry
impl<'update> AsChangeset for &'update FishingHistoryEntry
Source§type Changeset = <(Grouped<Eq<user_id, <&'update i64 as AsExpression<<user_id as Expression>::SqlType>>::Expression>>, Grouped<Eq<species_id, <&'update i32 as AsExpression<<species_id 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>>, Grouped<Eq<caught_count, <&'update i32 as AsExpression<<caught_count as Expression>::SqlType>>::Expression>>, Grouped<Eq<sold_count, <&'update i32 as AsExpression<<sold_count as Expression>::SqlType>>::Expression>>, Grouped<Eq<smallest_catch_size_ratio, <&'update f32 as AsExpression<<smallest_catch_size_ratio as Expression>::SqlType>>::Expression>>, Grouped<Eq<largest_catch_size_ratio, <&'update f32 as AsExpression<<largest_catch_size_ratio as Expression>::SqlType>>::Expression>>, Grouped<Eq<last_catch, <&'update DateTime<Utc> as AsExpression<<last_catch as Expression>::SqlType>>::Expression>>, Option<Grouped<Eq<first_sell, <&'update DateTime<Utc> as AsExpression<<first_sell as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<last_sell, <&'update DateTime<Utc> as AsExpression<<last_sell 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<species_id, <&'update i32 as AsExpression<<species_id 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>>, Grouped<Eq<caught_count, <&'update i32 as AsExpression<<caught_count as Expression>::SqlType>>::Expression>>, Grouped<Eq<sold_count, <&'update i32 as AsExpression<<sold_count as Expression>::SqlType>>::Expression>>, Grouped<Eq<smallest_catch_size_ratio, <&'update f32 as AsExpression<<smallest_catch_size_ratio as Expression>::SqlType>>::Expression>>, Grouped<Eq<largest_catch_size_ratio, <&'update f32 as AsExpression<<largest_catch_size_ratio as Expression>::SqlType>>::Expression>>, Grouped<Eq<last_catch, <&'update DateTime<Utc> as AsExpression<<last_catch as Expression>::SqlType>>::Expression>>, Option<Grouped<Eq<first_sell, <&'update DateTime<Utc> as AsExpression<<first_sell as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<last_sell, <&'update DateTime<Utc> as AsExpression<<last_sell 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 FishingHistoryEntry
impl AsChangeset for FishingHistoryEntry
Source§type Changeset = <(Grouped<Eq<user_id, <i64 as AsExpression<<user_id as Expression>::SqlType>>::Expression>>, Grouped<Eq<species_id, <i32 as AsExpression<<species_id 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>>, Grouped<Eq<caught_count, <i32 as AsExpression<<caught_count as Expression>::SqlType>>::Expression>>, Grouped<Eq<sold_count, <i32 as AsExpression<<sold_count as Expression>::SqlType>>::Expression>>, Grouped<Eq<smallest_catch_size_ratio, <f32 as AsExpression<<smallest_catch_size_ratio as Expression>::SqlType>>::Expression>>, Grouped<Eq<largest_catch_size_ratio, <f32 as AsExpression<<largest_catch_size_ratio as Expression>::SqlType>>::Expression>>, Grouped<Eq<last_catch, <DateTime<Utc> as AsExpression<<last_catch as Expression>::SqlType>>::Expression>>, Option<Grouped<Eq<first_sell, <DateTime<Utc> as AsExpression<<first_sell as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<last_sell, <DateTime<Utc> as AsExpression<<last_sell as Expression>::SqlType>>::Expression>>>) as AsChangeset>::Changeset
type Changeset = <(Grouped<Eq<user_id, <i64 as AsExpression<<user_id as Expression>::SqlType>>::Expression>>, Grouped<Eq<species_id, <i32 as AsExpression<<species_id 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>>, Grouped<Eq<caught_count, <i32 as AsExpression<<caught_count as Expression>::SqlType>>::Expression>>, Grouped<Eq<sold_count, <i32 as AsExpression<<sold_count as Expression>::SqlType>>::Expression>>, Grouped<Eq<smallest_catch_size_ratio, <f32 as AsExpression<<smallest_catch_size_ratio as Expression>::SqlType>>::Expression>>, Grouped<Eq<largest_catch_size_ratio, <f32 as AsExpression<<largest_catch_size_ratio as Expression>::SqlType>>::Expression>>, Grouped<Eq<last_catch, <DateTime<Utc> as AsExpression<<last_catch as Expression>::SqlType>>::Expression>>, Option<Grouped<Eq<first_sell, <DateTime<Utc> as AsExpression<<first_sell as Expression>::SqlType>>::Expression>>>, Option<Grouped<Eq<last_sell, <DateTime<Utc> as AsExpression<<last_sell 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 Clone for FishingHistoryEntry
impl Clone for FishingHistoryEntry
Source§fn clone(&self) -> FishingHistoryEntry
fn clone(&self) -> FishingHistoryEntry
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for FishingHistoryEntry
impl Debug for FishingHistoryEntry
Source§impl Default for FishingHistoryEntry
impl Default for FishingHistoryEntry
Source§fn default() -> FishingHistoryEntry
fn default() -> FishingHistoryEntry
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for FishingHistoryEntry
impl<'de> Deserialize<'de> for FishingHistoryEntry
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 Model for FishingHistoryEntry
impl Model for FishingHistoryEntry
type Table = table
type PrimaryKeyType = i64
type InsertType = NewFishingHistoryEntry
fn table() -> Self::Table
fn id(&self) -> Self::PrimaryKeyType
Source§impl PartialEq for FishingHistoryEntry
impl PartialEq for FishingHistoryEntry
Source§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 FishingHistoryEntry
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 FishingHistoryEntry
Source§impl Repository<FishingHistoryEntry> for FishingHistoryEntryRepository
impl Repository<FishingHistoryEntry> for FishingHistoryEntryRepository
fn get_db(&self) -> Arc<RwLock<dyn DatabaseInterface>>
fn create( &self, new_entity: NewFishingHistoryEntry, ) -> Result<FishingHistoryEntry, GameRepositoryError>
fn find( &self, id: i64, ) -> Result<Option<FishingHistoryEntry>, GameRepositoryError>
fn save( &self, entity: FishingHistoryEntry, ) -> Result<FishingHistoryEntry, GameRepositoryError>
fn delete( &self, entity: FishingHistoryEntry, ) -> Result<bool, GameRepositoryError>
fn get_connection( &self, ) -> Result<PooledConnection<ConnectionManager<PgConnection>>, GameDatabaseError>
Source§impl<__DB: Backend> Selectable<__DB> for FishingHistoryEntry
impl<__DB: Backend> Selectable<__DB> for FishingHistoryEntry
Source§type SelectExpression = (id, user_id, species_id, created_at, updated_at, caught_count, sold_count, smallest_catch_size_ratio, largest_catch_size_ratio, last_catch, first_sell, last_sell)
type SelectExpression = (id, user_id, species_id, created_at, updated_at, caught_count, sold_count, smallest_catch_size_ratio, largest_catch_size_ratio, last_catch, first_sell, last_sell)
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
Source§impl Serialize for FishingHistoryEntry
impl Serialize for FishingHistoryEntry
impl StructuralPartialEq for FishingHistoryEntry
Auto Trait Implementations§
impl Freeze for FishingHistoryEntry
impl RefUnwindSafe for FishingHistoryEntry
impl Send for FishingHistoryEntry
impl Sync for FishingHistoryEntry
impl Unpin for FishingHistoryEntry
impl UnwindSafe for FishingHistoryEntry
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.