feat: project permissions loading

This commit is contained in:
MihailRis
2025-12-08 19:21:50 +03:00
committed by ShiftyX1
parent 6fca6eab56
commit 8831d676d4
2 changed files with 17 additions and 0 deletions
+15
View File
@@ -11,10 +11,15 @@ static debug::Logger logger("project");
Project::~Project() = default;
dv::value Project::serialize() const {
auto permissionsList = dv::list();
for (const auto& perm : permissions) {
permissionsList.add(perm);
}
return dv::object({
{"name", name},
{"title", title},
{"base_packs", dv::to_value(basePacks)},
{"permissions", std::move(permissionsList)}
});
}
@@ -22,6 +27,16 @@ void Project::deserialize(const dv::value& src) {
src.at("name").get(name);
src.at("title").get(title);
dv::get(src, "base_packs", basePacks);
if (src.has("permissions")) {
std::vector<std::string> perms;
dv::get(src, "permissions", perms);
permissions = std::set<std::string>(perms.begin(), perms.end());
}
logger.info() << "permissions: ";
for (const auto& perm : permissions) {
logger.info() << " - " << perm;
}
}
void Project::loadProjectClientScript() {