createConditionExports()
Home > @backstage/plugin-permission-node > createConditionExports
Creates the recommended condition-related exports for a given plugin based on the built-in PermissionRules it supports.
Signature:
function createConditionExports<TResourceType extends string, TResource, TRules extends Record<string, PermissionRule<TResource, any, TResourceType>>>(options: {
resourceRef: PermissionResourceRef<TResource, any, TResourceType>;
rules: TRules;
}): {
conditions: Conditions<TRules>;
createConditionalDecision: (permission: ResourcePermission<TResourceType>, conditions: PermissionCriteria<PermissionCondition<TResourceType>>) => ConditionalPolicyDecision;
};
Parameters
|
Parameter |
Type |
Description |
|---|---|---|
|
options |
{ resourceRef: PermissionResourceRef<TResource, any, TResourceType>; rules: TRules; } |
{ conditions: Conditions<TRules>; createConditionalDecision: (permission: ResourcePermission<TResourceType>, conditions: PermissionCriteria<PermissionCondition<TResourceType>>) => ConditionalPolicyDecision; }
Remarks
The function returns a conditions object containing a PermissionCondition factory for each of the supplied PermissionRules, along with a createConditionalDecision function which builds the wrapper object needed to enclose conditions when authoring PermissionPolicy implementations.
Plugin authors should generally call this method with all the built-in PermissionRules the plugin supports, and export the resulting conditions object and createConditionalDecision function so that they can be used by PermissionPolicy authors.