Software /
code /
prosody
Comparison
util/roles.lua @ 12987:2cf8d98d8a28
util.roles: Implement a serialization preparation metamethod
Should be able to roundtrip trough serialization. Also nice for debug
and logging purposes where you might want more details than what the
__tostring method provides.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sun, 26 Mar 2023 13:13:31 +0200 |
parent | 12975:d10957394a3c |
comparison
equal
deleted
inserted
replaced
12986:895a82c5d8d4 | 12987:2cf8d98d8a28 |
---|---|
71 permissions[k] = v; | 71 permissions[k] = v; |
72 end | 72 end |
73 return setmetatable(new_role, role_mt); | 73 return setmetatable(new_role, role_mt); |
74 end | 74 end |
75 | 75 |
76 function role_mt:__freeze() | |
77 local t = { | |
78 id = self.id; | |
79 name = self.name; | |
80 description = self.description; | |
81 default = self.default; | |
82 priority = self.priority; | |
83 inherits = self.inherits; | |
84 permissions = self[permissions_key]; | |
85 }; | |
86 return t; | |
87 end | |
88 | |
76 function role_methods:clone(overrides) | 89 function role_methods:clone(overrides) |
77 return new(self, overrides); | 90 return new(self, overrides); |
78 end | 91 end |
79 | 92 |
80 function role_methods:set_permission(permission_name, policy, overwrite) | 93 function role_methods:set_permission(permission_name, policy, overwrite) |