aboutsummaryrefslogtreecommitdiffstats
path: root/util
diff options
context:
space:
mode:
Diffstat (limited to 'util')
-rw-r--r--util/roles.lua13
1 files changed, 13 insertions, 0 deletions
diff --git a/util/roles.lua b/util/roles.lua
index 24444c3d..e7f22c12 100644
--- a/util/roles.lua
+++ b/util/roles.lua
@@ -73,6 +73,19 @@ local function new(base_config, overrides)
return setmetatable(new_role, role_mt);
end
+function role_mt:__freeze()
+ local t = {
+ id = self.id;
+ name = self.name;
+ description = self.description;
+ default = self.default;
+ priority = self.priority;
+ inherits = self.inherits;
+ permissions = self[permissions_key];
+ };
+ return t;
+end
+
function role_methods:clone(overrides)
return new(self, overrides);
end