@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.
- package/dist/cjs/index.js +13 -0
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/integrations/repository/typeorm/permissionsChecker.d.ts +5 -0
- package/dist/cjs/types/integrations/repository/typeorm/queryBuilder.d.ts +2 -0
- package/dist/cjs/types/platforms/nest/authentication/entityAuthorizationMiddleware.d.ts +2 -0
- package/dist/esm/index.js +13 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/integrations/repository/typeorm/permissionsChecker.d.ts +5 -0
- package/dist/esm/types/integrations/repository/typeorm/queryBuilder.d.ts +2 -0
- package/dist/esm/types/platforms/nest/authentication/entityAuthorizationMiddleware.d.ts +2 -0
- package/dist/index.d.ts +7 -0
- package/package.json +1 -1
|
@@ -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>;
|