Update data.h

- Add skid structure to Database.
- Move projects map from stack to heap.
- Move events vector from stack to heap.
This commit is contained in:
realaltffour 2020-04-01 13:40:28 +03:00
parent 2d85e570ab
commit c01c0665a4
No known key found for this signature in database
GPG Key ID: 05B35E2E8F56C5A6
2 changed files with 16 additions and 6 deletions

View File

@ -32,21 +32,30 @@ void from_json(const json& j, Project& proj) {
j.at("doneDate").get_to(proj.doneDate);
j.at("isDone").get_to(proj.isDone);
}
void to_json(json& j, const Skid& skid) {
j = json{
{"projects", *skid.projects},
{"creationDate", skid.creationDate},
};
}
void from_json(const json& j, Skid& skid) {
j.at("projects").get_to(*skid.projects);
j.at("creationDate").get_to(skid.creationDate);
}
void to_json(json& j, const DB& db) {
j = json{
{"projects", db.projects},
{"projects", *db.projects},
{"creationDate", db.creationDate},
{"lastAccessTime", db.lastAccessTime}
};
}
void from_json(const json& j, DB& db) {
j.at("projects").get_to(db.projects);
j.at("projects").get_to(*db.projects);
j.at("creationDate").get_to(db.creationDate);
j.at("lastAccessTime").get_to(db.lastAccessTime);
}
void writeDB(DB db, const std::string &dest) {
try {
std::ofstream f(dest);

View File

@ -35,7 +35,7 @@ struct Project {
};
struct Skid {
std::vector<Project*> projects = {};
std::vector<Project> *projects = {};
Date creationDate;
};
@ -58,7 +58,7 @@ struct Event {
};
struct EventLog {
std::vector<Event> events;
std::vector<Event> *events;
std::string sha512 = "";
};
@ -66,7 +66,8 @@ struct EventLog {
// Main Database that represents the skidjular directory.
struct DB {
std::map<std::string, Project> projects;
std::map<std::string, Project> *projects;
std::vector<Skid> skids;
EventLog log;
Date creationDate;