summaryrefslogtreecommitdiff
path: root/transformers/actualbudget_transformer/actualbudget_models/src/actualbudget_transaction.rs
blob: d6270dadf31351fe1ddb53245de07ef71c208348 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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<String>,
    pub account_id: String,
    pub category_id: Option<String>,
    pub amount: i32,
    pub payee: Option<String>,
    pub notes: Option<String>,
    pub date: ActualbudgetDate,
    pub transfer_id: Option<String>,
    pub starting_balance_flag: i32,
}

impl ActualbudgetTransaction {
    pub fn is_starting_balance(&self) -> bool {
        self.starting_balance_flag != 0
    }
}