fix: fix policy map and others
Change the functions about check policy to get better extension Change-Id: Ia42ac8669fadc8b6037e4adf5470d53084c6528f
This commit is contained in:
parent
979d41ffba
commit
0a7e61521e
@ -79,7 +79,7 @@ export const policyMap = {
|
|||||||
'instance:create',
|
'instance:create',
|
||||||
'instance:delete',
|
'instance:delete',
|
||||||
'instance:backups',
|
'instance:backups',
|
||||||
'instance:delete',
|
'instance:resize',
|
||||||
'instance:extension',
|
'instance:extension',
|
||||||
'instance:guest_log_list',
|
'instance:guest_log_list',
|
||||||
'configuration:',
|
'configuration:',
|
||||||
@ -88,9 +88,9 @@ export const policyMap = {
|
|||||||
],
|
],
|
||||||
};
|
};
|
||||||
|
|
||||||
export const convertPolicyMap = () => {
|
export const convertPolicyMap = (map) => {
|
||||||
const newObj = {};
|
const newObj = {};
|
||||||
Object.entries(policyMap).forEach(([key, value]) => {
|
Object.entries(map).forEach(([key, value]) => {
|
||||||
value.forEach((v) => {
|
value.forEach((v) => {
|
||||||
if (newObj[v]) {
|
if (newObj[v]) {
|
||||||
// eslint-disable-next-line no-console
|
// eslint-disable-next-line no-console
|
||||||
@ -102,8 +102,8 @@ export const convertPolicyMap = () => {
|
|||||||
return newObj;
|
return newObj;
|
||||||
};
|
};
|
||||||
|
|
||||||
export const changeToActualPolicy = (rule) => {
|
export const changeToActualPolicy = (rule, map) => {
|
||||||
const policies = convertPolicyMap();
|
const policies = convertPolicyMap(map);
|
||||||
if (policies[rule]) {
|
if (policies[rule]) {
|
||||||
return `${policies[rule]}:${rule}`;
|
return `${policies[rule]}:${rule}`;
|
||||||
}
|
}
|
||||||
@ -127,7 +127,9 @@ export const checkPolicyRule = (rule, actionName, isAliasPolicy) => {
|
|||||||
if (!rule) {
|
if (!rule) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
const actualRule = isAliasPolicy ? rule : changeToActualPolicy(rule);
|
const actualRule = isAliasPolicy
|
||||||
|
? rule
|
||||||
|
: changeToActualPolicy(rule, policyMap);
|
||||||
const item = globalRootStore.policies.find((it) => it.rule === actualRule);
|
const item = globalRootStore.policies.find((it) => it.rule === actualRule);
|
||||||
if (!item) {
|
if (!item) {
|
||||||
// eslint-disable-next-line no-console
|
// eslint-disable-next-line no-console
|
||||||
|
Loading…
Reference in New Issue
Block a user