use derive_builder::Builder; use diesel::prelude::{Identifiable, Queryable, QueryableByName, Selectable}; use crate::actualbudget_date::ActualbudgetDate; #[derive( Builder, Debug, PartialEq, Eq, Identifiable, QueryableByName, Queryable, Selectable, Clone, )] #[diesel(table_name = crate::actualbudget_schema::v_transactions)] pub struct ActualbudgetTransaction { pub id: String, pub is_parent: bool, pub is_child: bool, pub parent_id: Option, pub account_id: String, pub category_id: Option, pub amount: i32, pub payee: Option, pub notes: Option, pub date: ActualbudgetDate, pub transfer_id: Option, pub starting_balance_flag: i32, } impl ActualbudgetTransaction { pub fn is_starting_balance(&self) -> bool { self.starting_balance_flag != 0 } }