@punks/backend-entity-manager 0.0.195 → 0.0.197

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,5 @@
1
+ import { IAuthenticationContext } from "../../../abstractions";
2
+ export declare class PermissionsChecker<TUserContext> {
3
+ hasAny(context: IAuthenticationContext<TUserContext>, permissions: string[]): boolean;
4
+ hasAll(context: IAuthenticationContext<TUserContext>, permissions: string[]): boolean;
5
+ }
@@ -9,6 +9,7 @@ import { QueryClauseBuilder } from "./queryClauseBuilder";
9
9
  import { BooleanFacetsType, FacetType, NumberFacetsType, StringFacetsType } from "./facets";
10
10
  import { QueryBuilderOperation } from "../../../templates/queryBuilder";
11
11
  import { ChildrenMap } from "./traverse";
12
+ import { PermissionsChecker } from "./permissionsChecker";
12
13
  export type FacetRelations = {
13
14
  columns: string[];
14
15
  };
@@ -16,6 +17,7 @@ export declare abstract class TypeOrmQueryBuilder<TEntity extends ObjectLiteral,
16
17
  private readonly services;
17
18
  private repository;
18
19
  protected clause: QueryClauseBuilder;
20
+ protected permissions: PermissionsChecker<TUserContext>;
19
21
  constructor(services: EntityServiceLocator<TEntity, unknown>);
20
22
  get(id: TEntityId, context?: IAuthenticationContext<TUserContext>): Promise<TEntity | undefined>;
21
23
  exists(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext> | undefined): Promise<boolean>;
@@ -1,5 +1,7 @@
1
1
  import { IAuthenticationContext, IAuthorizationResult, IEntityAuthorizationMiddleware } from "../../../abstractions";
2
+ import { PermissionsChecker } from "../../../integrations/repository/typeorm/permissionsChecker";
2
3
  export declare abstract class NestEntityAuthorizationMiddleware<TEntity, TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext> implements IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext> {
4
+ protected permissions: PermissionsChecker<TUserContext>;
3
5
  abstract canSearch(context: TAuthenticationContext): Promise<IAuthorizationResult>;
4
6
  abstract canRead(entity: Partial<TEntity>, context: TAuthenticationContext): Promise<IAuthorizationResult>;
5
7
  abstract canCreate(entity: Partial<TEntity>, context: TAuthenticationContext): Promise<IAuthorizationResult>;
package/dist/index.d.ts CHANGED
@@ -1436,6 +1436,11 @@ type ChildrenMap = Record<string, {
1436
1436
  count: number;
1437
1437
  }>;
1438
1438
 
1439
+ declare class PermissionsChecker<TUserContext> {
1440
+ hasAny(context: IAuthenticationContext<TUserContext>, permissions: string[]): boolean;
1441
+ hasAll(context: IAuthenticationContext<TUserContext>, permissions: string[]): boolean;
1442
+ }
1443
+
1439
1444
  type FacetRelations = {
1440
1445
  columns: string[];
1441
1446
  };
@@ -1443,6 +1448,7 @@ declare abstract class TypeOrmQueryBuilder<TEntity extends ObjectLiteral, TEntit
1443
1448
  private readonly services;
1444
1449
  private repository;
1445
1450
  protected clause: QueryClauseBuilder;
1451
+ protected permissions: PermissionsChecker<TUserContext>;
1446
1452
  constructor(services: EntityServiceLocator<TEntity, unknown>);
1447
1453
  get(id: TEntityId, context?: IAuthenticationContext<TUserContext>): Promise<TEntity | undefined>;
1448
1454
  exists(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext> | undefined): Promise<boolean>;
@@ -1484,6 +1490,7 @@ declare abstract class TypeOrmQueryBuilder<TEntity extends ObjectLiteral, TEntit
1484
1490
  }
1485
1491
 
1486
1492
  declare abstract class NestEntityAuthorizationMiddleware<TEntity, TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext> implements IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext> {
1493
+ protected permissions: PermissionsChecker<TUserContext>;
1487
1494
  abstract canSearch(context: TAuthenticationContext): Promise<IAuthorizationResult>;
1488
1495
  abstract canRead(entity: Partial<TEntity>, context: TAuthenticationContext): Promise<IAuthorizationResult>;
1489
1496
  abstract canCreate(entity: Partial<TEntity>, context: TAuthenticationContext): Promise<IAuthorizationResult>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@punks/backend-entity-manager",
3
- "version": "0.0.195",
3
+ "version": "0.0.197",
4
4
  "description": "",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",