finnow/finnow-api/source/transaction/model.d

43 lines
816 B
D

module transaction.model;
import handy_http_primitives : Optional;
import std.datetime;
import util.money;
struct TransactionVendor {
ulong id;
string name;
string description;
}
struct TransactionCategory {
ulong id;
Optional!ulong parentId;
string name;
string description;
string color;
}
struct Transaction {
ulong id;
/// The time at which the transaction happened.
SysTime timestamp;
/// The time at which the transaction entity was saved.
SysTime addedAt;
ulong amount;
Currency currency;
string description;
Optional!ulong vendorId;
Optional!ulong categoryId;
}
struct TransactionLineItem {
ulong transactionId;
uint idx;
long valuePerItem;
ulong quantity;
string description;
Optional!ulong categoryId;
}