@omnia/fx
Version:
Provide Omnia Fx typings and tooling for clientside Omnia development.
58 lines (57 loc) • 2.53 kB
TypeScript
import { PermissionBinding, GuidValue, SecurityContextParamRegistrationHandler, IMessageBusTopicSubscription, RoleResourceEvaluator, RolePermissionEvaluator, RolePermissionSettingWithContextParam } from "../../models";
export declare class PermissionService {
private securityService;
private omniaContext;
private overridenRulesBindingIdentity;
private resourceEvaluators;
private permissionEvaluators;
private registeredKey;
private context;
private NonAppInstanceKey;
private permissionBindings;
private loadAppInstancePermissionBindingsPromises;
private loadContextPermissionPromises;
private loadRulePromise;
private get contextChangedMsgBus();
constructor();
registerResourceEvaluator(roleId: GuidValue, evaluator: RoleResourceEvaluator): void;
registerPermissionEvaluator(roleId: GuidValue, evaluator: RolePermissionEvaluator): void;
ensureContextParam(key: string): SecurityContextParamRegistrationHandler;
get onPermissionContextChanged(): IMessageBusTopicSubscription<void>;
getPermissionBindings(roleIds: Array<string>, contextParams?: {
[key: string]: string | number;
}): Promise<{
[roleId: string]: PermissionBinding[];
}>;
hasPermissionForRole(roleId: GuidValue, contextParams?: {
[key: string]: string | number;
}): Promise<boolean>;
hasPermissionForRoles(roleIds: GuidValue[], contextParams?: {
[key: string]: string | number;
}): Promise<boolean>;
addOrUpdatePermissionBindings(rolePermissionSettingWithParam: RolePermissionSettingWithContextParam, contextParams?: {
[key: string]: string | number;
}, serviceId?: GuidValue): Promise<void>;
clearCache(): void;
private getMergedContextParams;
private getContextHash;
private ensurePermissionsForContext;
private getPermissionForContext;
private evaluateRoles;
private evaluateRequiredRoles;
private evaluateWithSystemDefinedRulesBindings;
private evaluateRole;
private evaluateCustomPermissionEvaluatorRole;
private evaluateSystemDefinedRuleRoles;
private evaluateSecurityRules;
private evaluateWithIdentityBindings;
private ensureLoadPermissionBindings;
private ensureLoadRules;
private resolveRoleResources;
private getResourceInfo;
private getCustomRoleResource;
private getContextParamsWithLowerKey;
private ensureRegisterBusinessProfileContextParam;
private ensureRegisterAppInstanceContextParam;
private getRoleIdKey;
}