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:
parent
2d85e570ab
commit
c01c0665a4
15
src/data.cpp
15
src/data.cpp
|
@ -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);
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in New Issue