api reports

Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
This commit is contained in:
Vincenzo Scamporlino
2023-02-17 10:51:02 +01:00
parent 5632097f92
commit d7ef962073
2 changed files with 31 additions and 15 deletions
+3
View File
@@ -84,6 +84,9 @@ export class NotAllowedError extends CustomErrorBase {}
// @public
export class NotFoundError extends CustomErrorBase {}
// @public
export class NotImplementedError extends CustomErrorBase {}
// @public
export class NotModifiedError extends CustomErrorBase {}
+28 -15
View File
@@ -111,26 +111,34 @@ export const createConditionTransformer: <
permissionRules: [...TRules],
) => ConditionTransformer<TQuery>;
// @public
export const createIsAuthorized: <TResource, TQuery>(
rules: PermissionRule<TResource, TQuery, string, PermissionRuleParams>[],
) => (decision: PolicyDecision, resource: TResource | undefined) => boolean;
// @public
export const createPermissionIntegrationRouter: <
TResourceType extends string,
TResource,
>(options: {
>(
options: CreatePermissionIntegrationRouterOptions<TResourceType, TResource>,
) => express.Router;
// @public
export type CreatePermissionIntegrationRouterOptions<
TResourceType extends string,
TResource,
> =
| {
permissions: Array<Permission>;
}
| CreatePermissionIntegrationRouterResourceOptions<TResourceType, TResource>;
// @public
export type CreatePermissionIntegrationRouterResourceOptions<
TResourceType extends string,
TResource,
> = {
resourceType: TResourceType;
permissions?: Permission[] | undefined;
rules: PermissionRule<
TResource,
any,
NoInfer<TResourceType>,
PermissionRuleParams
>[];
getResources: (resourceRefs: string[]) => Promise<(TResource | undefined)[]>;
}) => express.Router;
permissions?: Array<Permission>;
rules: PermissionRule<TResource, any, NoInfer<TResourceType>>[];
getResources?: GetResourcesFn<TResource>;
};
// @public
export const createPermissionRule: <
@@ -142,6 +150,11 @@ export const createPermissionRule: <
rule: PermissionRule<TResource, TQuery, TResourceType, TParams>,
) => PermissionRule<TResource, TQuery, TResourceType, TParams>;
// @public
export type GetResourcesFn<TResource> = (
resourceRefs: string[],
) => Promise<Array<TResource | undefined>>;
// @alpha
export const isAndCriteria: <T>(
criteria: PermissionCriteria<T>,