5#include <nlohmann/json.hpp>
7using json = nlohmann::json;
37 std::vector<std::string>
tags;
61 std::vector<Transaction>
splitTransaction(
const std::vector<std::pair<double, std::string>>& parts);
119 t.
id = j.value(
"id",
"");
120 t.
amount = j.value(
"amount", 0.0);
121 t.
date = j.value(
"date", 0);
125 t.
currency = j.value(
"currency",
"USD");
127 t.
tags = j.value(
"tags", std::vector<std::string>{});
130 t.
note = j.value(
"note",
"");
138 std::vector<Transaction> out;
139 for (
const auto &p : parts) {
nlohmann::json json
Definition CurrencyConverter.cpp:8
void from_json(const json &j, Transaction &t)
Десеріалізує JSON в об'єкт Transaction.
Definition Transaction.h:118
void to_json(json &j, const Transaction &t)
Серіалізує об'єкт Transaction у формат JSON.
Definition Transaction.h:88
Представляє одну фінансову операцію (дохід, витрата тощо).
Definition Transaction.h:22
void tagTransaction(const std::string &tag)
Додає тег до транзакції.
Definition Transaction.h:148
std::vector< Transaction > splitTransaction(const std::vector< std::pair< double, std::string > > &parts)
Розділяє одну транзакцію на декілька менших.
Definition Transaction.h:137
double exchangeRate
Обмінний курс відносно базової валюти (якщо не 1.0).
Definition Transaction.h:34
void undoTransaction()
Скасовує транзакцію (наразі заглушка).
Definition Transaction.h:150
std::string recurringRule
Правило повторення (напр., "monthly:5" - щомісяця 5-го числа).
Definition Transaction.h:38
std::string accountId
Ідентифікатор рахунку, з якого/на який було здійснено платіж.
Definition Transaction.h:30
std::time_t updatedAt
Час останнього оновлення запису (Unix timestamp).
Definition Transaction.h:44
std::string id
Унікальний ідентифікатор транзакції.
Definition Transaction.h:25
double amount
Сума транзакції (додатна - дохід, від'ємна - витрата).
Definition Transaction.h:26
std::string categoryId
Ідентифікатор категорії (напр., "food", "rent").
Definition Transaction.h:29
std::vector< std::string > tags
Список тегів для фільтрації (напр., "work", "vacation").
Definition Transaction.h:37
std::time_t createdAt
Час створення запису (Unix timestamp).
Definition Transaction.h:43
std::string currency
Код валюти
Definition Transaction.h:33
std::string description
Короткий опис, наданий користувачем.
Definition Transaction.h:28
std::string note
Додаткова розширена примітка.
Definition Transaction.h:40
std::string importedSource
Джерело імпорту (напр., "CSV:monobank.csv").
Definition Transaction.h:39
void addTransaction()
Встановлює час створення транзакції. (Зараз - заглушка).
Definition Transaction.h:135
std::time_t date
Дата та час транзакції (у форматі Unix timestamp).
Definition Transaction.h:27