Use expressions as validators
This commit is contained in:
1 parent
08e3933c4a
commit
fdda68434b
7 files changed
+87
-90
No files matched your search
+7
-7
@@ -35,7 +35,7 @@ interface Permissions {
|
||||
[resource: string]: {
|
||||
access: number;
|
||||
filter: Expression;
|
||||
validate: { [validator: string]: boolean };
|
||||
validate?: Expression;
|
||||
};
|
||||
};
|
||||
};
|
||||
@@ -351,15 +351,15 @@ function refresh(callback): void {
|
||||
if (!permissions[p.role][p.access])
|
||||
permissions[p.role][p.access] = {};
|
||||
|
||||
const validate = {};
|
||||
permissions[p.role][p.access][p.resource] = {
|
||||
access: p.access,
|
||||
filter: parse(p.filter || "true"),
|
||||
validate: validate
|
||||
filter: parse(p.filter || "true")
|
||||
};
|
||||
|
||||
for (const v of (p.validate || "").split(","))
|
||||
validate[v.trim()] = true;
|
||||
if (p.validate) {
|
||||
permissions[p.role][p.access][p.resource].validate = parse(
|
||||
p.validate
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
resolve(permissions);
|
||||
|
||||
Reference in new issue
Block a user