Finance manager
Лабораторна робота №2 - Документація коду
Loading...
Searching...
No Matches
Database.h
Go to the documentation of this file.
1#pragma once
2#include <string>
3#include <vector>
4#include <map>
5#include "Transaction.h"
6
23class Database {
24public:
25 std::string dbName;
26 std::string dbPath;
27 std::map<std::string, Transaction> txStore;
28
34 bool persistTransaction(const Transaction &tx);
35
41 bool persistAccount(const std::string & /*accountId*/);
42
48 bool backup(const std::string &targetPath);
49
55 bool restore(const std::string &sourcePath);
56
62 bool encryptData(const std::string & /*passphrase*/);
63
68 std::vector<Transaction> queryTransactions() const;
69};
70
71
76 txStore[tx.id] = tx;
77 return true;
78}
79
80inline bool Database::persistAccount(const std::string & /*accountId*/) { return true; }
81inline bool Database::backup(const std::string & /*targetPath*/) { return true; }
82inline bool Database::restore(const std::string & /*sourcePath*/) { return true; }
83inline bool Database::encryptData(const std::string & /*passphrase*/) { return true; }
84
88inline std::vector<Transaction> Database::queryTransactions() const {
89 std::vector<Transaction> out;
90 out.reserve(txStore.size());
91 for (const auto &kv : txStore) {
92 out.push_back(kv.second);
93 }
94 return out;
95}
Оголошення класу Transaction, що представляє одну фінансову операцію.
Простий клас бази даних, що працює в оперативній пам'яті.
Definition Database.h:23
bool restore(const std::string &sourcePath)
Відновлює базу даних з резервної копії. (Наразі заглушка)
Definition Database.h:82
std::string dbName
Назва бази даних (напр., "user_profile").
Definition Database.h:25
std::string dbPath
Шлях до файлу бази даних (якщо вона зберігається на диску).
Definition Database.h:26
std::vector< Transaction > queryTransactions() const
Запитує всі транзакції зі сховища.
Definition Database.h:88
bool encryptData(const std::string &)
Шифрує файл бази даних. (Наразі заглушка)
Definition Database.h:83
bool backup(const std::string &targetPath)
Створює резервну копію бази даних. (Наразі заглушка)
Definition Database.h:81
std::map< std::string, Transaction > txStore
In-memory сховище транзакцій (ID -> Об'єкт).
Definition Database.h:27
bool persistTransaction(const Transaction &tx)
Зберігає або оновлює транзакцію у txStore.
Definition Database.h:75
bool persistAccount(const std::string &)
Зберігає новий акаунт. (Наразі заглушка)
Definition Database.h:80
Представляє одну фінансову операцію (дохід, витрата тощо).
Definition Transaction.h:22
std::string id
Унікальний ідентифікатор транзакції.
Definition Transaction.h:25