1
0
Fork 0
mirror of synced 2024-06-28 11:10:46 +12:00

Transform delete key on input as well as output

This commit is contained in:
Jake Barnby 2022-08-12 23:44:47 +12:00
parent f278517276
commit 5799bf2d62

View file

@ -8,6 +8,8 @@
permissions.map(p => {
let { type, role } = this.parsePermission(p);
type = this.parseInputPermission(type);
let index = -1;
let existing = this.permissions.find((p, idx) => {
if (p.role === role) {
@ -27,12 +29,6 @@
}
});
},
parsePermission(permission) {
let parts = permission.split('(');
let type = parts[0];
let role = parts[1].replace(')', '').replace(' ', '');
return { type, role };
},
addPermission(role, read, create, update, xdelete) {
if (!document.getElementById('role').reportValidity()) return;
if (read) this.rawPermissions.push(`read(${role})`);
@ -59,7 +55,7 @@
if (key === 'role') {
continue;
}
const parsedKey = this.parseKey(key);
const parsedKey = this.parseOutputPermission(key);
if (permission[key]) {
if (!this.rawPermissions.includes(`${parsedKey}(${permission.role})`)) {
this.rawPermissions.push(`${parsedKey}(${permission.role})`);
@ -78,7 +74,21 @@
this.rawPermissions = this.rawPermissions.filter(p => !p.includes(row[0].role));
}
},
parseKey(key) {
parsePermission(permission) {
let parts = permission.split('(');
let type = parts[0];
let role = parts[1].replace(')', '').replace(' ', '');
return { type, role };
},
parseInputPermission(key) {
// Can't bind to a property named delete
if (key === 'delete') {
return 'xdelete';
}
return key;
},
parseOutputPermission(key) {
// Can't bind to a property named delete
if (key === 'xdelete') {
return 'delete';
}