@punks/backend-entity-manager 0.0.22 → 0.0.24

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.
Files changed (115) hide show
  1. package/dist/cjs/index.js +52296 -1181
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/__test__/entity/foo.d.ts +3 -3
  4. package/dist/cjs/types/__test__/providers/typeorm/entity/foo.d.ts +3 -2
  5. package/dist/cjs/types/abstractions/actions.d.ts +2 -2
  6. package/dist/cjs/types/abstractions/authentication.d.ts +9 -0
  7. package/dist/cjs/types/abstractions/authorization.d.ts +6 -5
  8. package/dist/cjs/types/abstractions/configuration.d.ts +6 -2
  9. package/dist/cjs/types/abstractions/index.d.ts +2 -1
  10. package/dist/cjs/types/abstractions/queries.d.ts +5 -4
  11. package/dist/cjs/types/actions/search.d.ts +2 -2
  12. package/dist/cjs/types/authorization/allowAll.d.ts +1 -1
  13. package/dist/cjs/types/index.d.ts +1 -0
  14. package/dist/cjs/types/integrations/repository/typeorm/queryBuilder.d.ts +9 -8
  15. package/dist/cjs/types/models/index.d.ts +1 -1
  16. package/dist/cjs/types/platforms/nest/__test__/server/authentication/index.d.ts +13 -0
  17. package/dist/cjs/types/platforms/nest/__test__/server/entities/foo/authentication.d.ts +10 -0
  18. package/dist/cjs/types/platforms/nest/__test__/server/entities/foo/controller.d.ts +2 -1
  19. package/dist/cjs/types/platforms/nest/__test__/server/entities/foo/dto.d.ts +7 -0
  20. package/dist/cjs/types/platforms/nest/__test__/server/entities/foo/models.d.ts +17 -0
  21. package/dist/cjs/types/platforms/nest/__test__/server/entities/foo/query.d.ts +5 -2
  22. package/dist/cjs/types/platforms/nest/__test__/server/index.d.ts +10 -2
  23. package/dist/cjs/types/platforms/nest/__test__/server/middlewares/index.d.ts +6 -0
  24. package/dist/cjs/types/platforms/nest/__test__/server/session/session.controller.d.ts +9 -0
  25. package/dist/cjs/types/platforms/nest/__test__/tests/base/test_server_session.test.d.ts +1 -0
  26. package/dist/cjs/types/platforms/nest/authentication/entityAuthorizationMiddleware.d.ts +7 -0
  27. package/dist/cjs/types/platforms/nest/authentication/index.d.ts +1 -0
  28. package/dist/cjs/types/platforms/nest/extensions/authentication/abstractions/index.d.ts +2 -0
  29. package/dist/cjs/types/platforms/nest/extensions/authentication/index.d.ts +1 -0
  30. package/dist/cjs/types/platforms/nest/extensions/authentication/module.d.ts +2 -0
  31. package/dist/cjs/types/platforms/nest/extensions/authentication/services/authentication/index.d.ts +3 -0
  32. package/dist/cjs/types/platforms/nest/extensions/authentication/services/index.d.ts +1 -0
  33. package/dist/cjs/types/platforms/nest/extensions/authentication/services/providers.d.ts +2 -0
  34. package/dist/cjs/types/platforms/nest/extensions/index.d.ts +2 -0
  35. package/dist/cjs/types/platforms/nest/extensions/multi-tenancy/abstractions/index.d.ts +39 -0
  36. package/dist/cjs/types/platforms/nest/extensions/multi-tenancy/index.d.ts +1 -0
  37. package/dist/cjs/types/platforms/nest/extensions/multi-tenancy/module.d.ts +2 -0
  38. package/dist/cjs/types/platforms/nest/index.d.ts +6 -0
  39. package/dist/cjs/types/platforms/nest/integrations/typeorm/queryBuilder.d.ts +1 -1
  40. package/dist/cjs/types/platforms/nest/ioc/registry/index.d.ts +1 -1
  41. package/dist/cjs/types/platforms/nest/middlewares/errors-handler/index.d.ts +12 -0
  42. package/dist/cjs/types/platforms/nest/middlewares/index.d.ts +1 -0
  43. package/dist/cjs/types/platforms/nest/plugins/email/index.d.ts +1 -0
  44. package/dist/cjs/types/platforms/nest/plugins/index.d.ts +1 -0
  45. package/dist/cjs/types/platforms/nest/processors/initializer/index.d.ts +2 -0
  46. package/dist/cjs/types/platforms/nest/services/index.d.ts +1 -1
  47. package/dist/cjs/types/platforms/nest/services/providers.d.ts +2 -0
  48. package/dist/cjs/types/platforms/nest/services/session/index.d.ts +9 -0
  49. package/dist/cjs/types/platforms/nest/session/index.d.ts +1 -0
  50. package/dist/cjs/types/platforms/nest/session/middleware.d.ts +6 -0
  51. package/dist/cjs/types/platforms/nest/session/session.d.ts +12 -0
  52. package/dist/cjs/types/platforms/nest/session/storage.d.ts +6 -0
  53. package/dist/cjs/types/providers/services.d.ts +10 -6
  54. package/dist/cjs/types/queries/search.d.ts +5 -3
  55. package/dist/cjs/types/symbols/ioc.d.ts +3 -0
  56. package/dist/cjs/types/templates/queryBuilder.d.ts +5 -5
  57. package/dist/esm/index.js +52284 -1182
  58. package/dist/esm/index.js.map +1 -1
  59. package/dist/esm/types/__test__/entity/foo.d.ts +3 -3
  60. package/dist/esm/types/__test__/providers/typeorm/entity/foo.d.ts +3 -2
  61. package/dist/esm/types/abstractions/actions.d.ts +2 -2
  62. package/dist/esm/types/abstractions/authentication.d.ts +9 -0
  63. package/dist/esm/types/abstractions/authorization.d.ts +6 -5
  64. package/dist/esm/types/abstractions/configuration.d.ts +6 -2
  65. package/dist/esm/types/abstractions/index.d.ts +2 -1
  66. package/dist/esm/types/abstractions/queries.d.ts +5 -4
  67. package/dist/esm/types/actions/search.d.ts +2 -2
  68. package/dist/esm/types/authorization/allowAll.d.ts +1 -1
  69. package/dist/esm/types/index.d.ts +1 -0
  70. package/dist/esm/types/integrations/repository/typeorm/queryBuilder.d.ts +9 -8
  71. package/dist/esm/types/models/index.d.ts +1 -1
  72. package/dist/esm/types/platforms/nest/__test__/server/authentication/index.d.ts +13 -0
  73. package/dist/esm/types/platforms/nest/__test__/server/entities/foo/authentication.d.ts +10 -0
  74. package/dist/esm/types/platforms/nest/__test__/server/entities/foo/controller.d.ts +2 -1
  75. package/dist/esm/types/platforms/nest/__test__/server/entities/foo/dto.d.ts +7 -0
  76. package/dist/esm/types/platforms/nest/__test__/server/entities/foo/models.d.ts +17 -0
  77. package/dist/esm/types/platforms/nest/__test__/server/entities/foo/query.d.ts +5 -2
  78. package/dist/esm/types/platforms/nest/__test__/server/index.d.ts +10 -2
  79. package/dist/esm/types/platforms/nest/__test__/server/middlewares/index.d.ts +6 -0
  80. package/dist/esm/types/platforms/nest/__test__/server/session/session.controller.d.ts +9 -0
  81. package/dist/esm/types/platforms/nest/__test__/tests/base/test_server_session.test.d.ts +1 -0
  82. package/dist/esm/types/platforms/nest/authentication/entityAuthorizationMiddleware.d.ts +7 -0
  83. package/dist/esm/types/platforms/nest/authentication/index.d.ts +1 -0
  84. package/dist/esm/types/platforms/nest/extensions/authentication/abstractions/index.d.ts +2 -0
  85. package/dist/esm/types/platforms/nest/extensions/authentication/index.d.ts +1 -0
  86. package/dist/esm/types/platforms/nest/extensions/authentication/module.d.ts +2 -0
  87. package/dist/esm/types/platforms/nest/extensions/authentication/services/authentication/index.d.ts +3 -0
  88. package/dist/esm/types/platforms/nest/extensions/authentication/services/index.d.ts +1 -0
  89. package/dist/esm/types/platforms/nest/extensions/authentication/services/providers.d.ts +2 -0
  90. package/dist/esm/types/platforms/nest/extensions/index.d.ts +2 -0
  91. package/dist/esm/types/platforms/nest/extensions/multi-tenancy/abstractions/index.d.ts +39 -0
  92. package/dist/esm/types/platforms/nest/extensions/multi-tenancy/index.d.ts +1 -0
  93. package/dist/esm/types/platforms/nest/extensions/multi-tenancy/module.d.ts +2 -0
  94. package/dist/esm/types/platforms/nest/index.d.ts +6 -0
  95. package/dist/esm/types/platforms/nest/integrations/typeorm/queryBuilder.d.ts +1 -1
  96. package/dist/esm/types/platforms/nest/ioc/registry/index.d.ts +1 -1
  97. package/dist/esm/types/platforms/nest/middlewares/errors-handler/index.d.ts +12 -0
  98. package/dist/esm/types/platforms/nest/middlewares/index.d.ts +1 -0
  99. package/dist/esm/types/platforms/nest/plugins/email/index.d.ts +1 -0
  100. package/dist/esm/types/platforms/nest/plugins/index.d.ts +1 -0
  101. package/dist/esm/types/platforms/nest/processors/initializer/index.d.ts +2 -0
  102. package/dist/esm/types/platforms/nest/services/index.d.ts +1 -1
  103. package/dist/esm/types/platforms/nest/services/providers.d.ts +2 -0
  104. package/dist/esm/types/platforms/nest/services/session/index.d.ts +9 -0
  105. package/dist/esm/types/platforms/nest/session/index.d.ts +1 -0
  106. package/dist/esm/types/platforms/nest/session/middleware.d.ts +6 -0
  107. package/dist/esm/types/platforms/nest/session/session.d.ts +12 -0
  108. package/dist/esm/types/platforms/nest/session/storage.d.ts +6 -0
  109. package/dist/esm/types/providers/services.d.ts +10 -6
  110. package/dist/esm/types/queries/search.d.ts +5 -3
  111. package/dist/esm/types/symbols/ioc.d.ts +3 -0
  112. package/dist/esm/types/templates/queryBuilder.d.ts +5 -5
  113. package/dist/index.d.ts +88 -27
  114. package/package.json +15 -8
  115. package/readme.md +30 -0
@@ -1,3 +1,4 @@
1
+ import { IAuthenticationContext, IAuthenticationContextProvider } from "../abstractions";
1
2
  import { IEntitiesSearchAction, IEntityActions, IEntityCreateAction, IEntityDeleteAction, IEntityGetAction, IEntityUpdateAction, IEntityUpsertAction } from "../abstractions/actions";
2
3
  import { IEntityAdapter } from "../abstractions/adapters";
3
4
  import { IEntityAuthorizationMiddleware } from "../abstractions/authorization";
@@ -17,6 +18,7 @@ export declare class EntityServiceLocator<TEntity, TEntityId> {
17
18
  private readonly entityName;
18
19
  constructor(services: EntitiesServiceLocator, entityName: string);
19
20
  getRootServices(): EntitiesServiceLocator;
21
+ resolveAuthenticationContextProvider<TAuthenticationContextProvider extends IAuthenticationContextProvider<TUserContext>, TUserContext>(): TAuthenticationContextProvider;
20
22
  resolveEntityManager(): IEntityManager<TEntity, unknown, unknown, unknown, any, any, unknown, unknown>;
21
23
  resolveEntityActions(): IEntityActions<TEntity, TEntityId, unknown, unknown, unknown, unknown, any, any, unknown, unknown>;
22
24
  resolveRepository<TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>(): IEntityRepository<TEntity, TEntityId, TGetConditions, TFindCondition, TUpdateCondition, TDeleteCondition>;
@@ -29,7 +31,7 @@ export declare class EntityServiceLocator<TEntity, TEntityId> {
29
31
  resolveConnectorsConfiguration(): IConnectorsConfiguration<TEntity>;
30
32
  resolveConverter<TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>(): IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto> | undefined;
31
33
  resolveAdapter<TEntityCreateData, TEntityUpdateData>(): IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData> | undefined;
32
- resolveAuthorizationMiddleware(): IEntityAuthorizationMiddleware<TEntity> | undefined;
34
+ resolveAuthorizationMiddleware<TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(): IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext> | undefined;
33
35
  resolveGetQuery<TEntityId>(): IEntityGetQuery<TEntity, TEntityId>;
34
36
  resolveSearchQuery<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets>(): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
35
37
  resolveCreateCommand<TEntityCreateData>(): IEntityCreateCommand<TEntity, TEntityCreateData>;
@@ -42,7 +44,7 @@ export declare class EntityServiceLocator<TEntity, TEntityId> {
42
44
  resolveUpdateAction<TEntityUpdateData, TEntityDto>(): IEntityUpdateAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>;
43
45
  resolveUpsertAction<TEntityUpdateData, TEntityDto>(): IEntityUpsertAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>;
44
46
  resolveDeleteAction(): IEntityDeleteAction<TEntity, TEntityId>;
45
- resolveQueryBuilder<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets>(): IEntitiesQueryBuilder<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
47
+ resolveQueryBuilder<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets, TUserContext>(): IEntitiesQueryBuilder<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets, TUserContext>;
46
48
  getEntityName(): string;
47
49
  }
48
50
  export declare class EntitiesServiceLocator {
@@ -51,6 +53,8 @@ export declare class EntitiesServiceLocator {
51
53
  getProvider(): ServiceLocator;
52
54
  resolveEventEmitter<TEventEmitter extends IEventEmitter>(): TEventEmitter;
53
55
  registerEventEmitter<TEventEmitter extends IEventEmitter>(instance: TEventEmitter): void;
56
+ resolveAuthenticationContextProvider<TAuthenticationContextProvider extends IAuthenticationContextProvider<TUserContext>, TUserContext>(): TAuthenticationContextProvider;
57
+ registerAuthenticationContextProvider<TAuthenticationContextProvider extends IAuthenticationContextProvider<TUserContext>, TUserContext>(instance: TAuthenticationContextProvider): void;
54
58
  resolveEntityManager<TEntity>(entityName: string): IEntityManager<TEntity, unknown, unknown, unknown, any, any, unknown, unknown>;
55
59
  registerEntityManager<TEntity>(entityName: string, instance: IEntityManager<TEntity, unknown, unknown, unknown, any, any, unknown, unknown>): void;
56
60
  resolveEntityActions<TEntity>(entityName: string): IEntityActions<TEntity, unknown, unknown, unknown, unknown, unknown, any, any, unknown, unknown>;
@@ -75,8 +79,8 @@ export declare class EntitiesServiceLocator {
75
79
  resolveAdapter<TEntity, TEntityCreateData, TEntityUpdateData>(entityName: string): IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData> | undefined;
76
80
  registerConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>(entityName: string, instance: IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>): void;
77
81
  resolveConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>(entityName: string): IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto> | undefined;
78
- resolveAuthorizationMiddleware<TEntity>(entityName: string): IEntityAuthorizationMiddleware<TEntity> | undefined;
79
- registerAuthorizationMiddleware<TEntity>(entityName: string, instance: IEntityAuthorizationMiddleware<TEntity>): void;
82
+ resolveAuthorizationMiddleware<TEntity, TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(entityName: string): IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext> | undefined;
83
+ registerAuthorizationMiddleware<TEntity, TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(entityName: string, instance: IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext>): void;
80
84
  resolveGetQuery<TEntity, TEntityId>(entityName: string): IEntityGetQuery<TEntity, TEntityId>;
81
85
  registerGetQuery<TEntity, TEntityId>(entityName: string, instance: IEntityGetQuery<TEntity, TEntityId>): void;
82
86
  resolveSearchQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets>(entityName: string): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
@@ -101,6 +105,6 @@ export declare class EntitiesServiceLocator {
101
105
  registerUpsertAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>(entityName: string, instance: IEntityUpsertAction<TEntity, TEntityId, TEntityUpdateData, TEntityDto>): void;
102
106
  resolveDeleteAction<TEntity, TEntityId>(entityName: string): IEntityDeleteAction<TEntity, TEntityId>;
103
107
  registerDeleteAction<TEntity, TEntityId>(entityName: string, instance: IEntityDeleteAction<TEntity, TEntityId>): void;
104
- resolveQueryBuilder<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets>(entityName: string): IEntitiesQueryBuilder<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
105
- registerQueryBuilder<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets>(entityName: string, instance: IEntitiesQueryBuilder<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>): void;
108
+ resolveQueryBuilder<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets, TUserContext>(entityName: string): IEntitiesQueryBuilder<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets, TUserContext>;
109
+ registerQueryBuilder<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets, TUserContext>(entityName: string, instance: IEntitiesQueryBuilder<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets, TUserContext>): void;
106
110
  }
@@ -1,10 +1,12 @@
1
1
  import { SortingType } from "../abstractions/common";
2
2
  import { IEntitiesSearchQuery } from "../abstractions/queries";
3
3
  import { IEntitySearchParameters } from "../abstractions/searchParameters";
4
- import { EntitiesSearchResults } from "../models";
4
+ import { IEntitiesSearchResults } from "../models";
5
5
  import { EntityServiceLocator } from "../providers/services";
6
- export declare class EntitiesSearchQuery<TEntity, TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets> implements IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets> {
6
+ export declare class EntitiesSearchQuery<TEntity, TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets, TUserContext> implements IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets> {
7
7
  private readonly services;
8
8
  constructor(services: EntityServiceLocator<TEntity, TEntityId>);
9
- execute(request: TEntitySearchParameters): Promise<EntitiesSearchResults<TEntitySearchParameters, TEntity, TSorting, TCursor, TFacets>>;
9
+ execute(request: TEntitySearchParameters): Promise<IEntitiesSearchResults<TEntitySearchParameters, TEntity, TSorting, TCursor, TFacets>>;
10
+ private getContext;
11
+ private filterAllowedEntities;
10
12
  }
@@ -52,4 +52,7 @@ export declare const GlobalServices: {
52
52
  Events: {
53
53
  IEventEmitter: string;
54
54
  };
55
+ Authentication: {
56
+ IAuthenticationContextProvider: string;
57
+ };
55
58
  };
@@ -1,11 +1,11 @@
1
- import { IEntitiesQueryBuilder, IEntitySearchParameters, ISearchRequestPaging } from "../abstractions";
1
+ import { IAuthenticationContext, IEntitiesQueryBuilder, IEntitySearchParameters, ISearchRequestPaging } from "../abstractions";
2
2
  import { SortingType } from "../abstractions/common";
3
- import { EntitiesSearchResults, EntitiesSearchResultsPaging } from "../models";
4
- export declare abstract class QueryBuilderBase<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets> implements IEntitiesQueryBuilder<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets> {
5
- abstract search(request: TEntitySearchParameters): Promise<EntitiesSearchResults<TEntitySearchParameters, TEntity, TSorting, TCursor, TFacets>>;
3
+ import { IEntitiesSearchResults, IEntitiesSearchResultsPaging } from "../models";
4
+ export declare abstract class QueryBuilderBase<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets, TUserContext> implements IEntitiesQueryBuilder<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets, TUserContext> {
5
+ abstract search(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<IEntitiesSearchResults<TEntitySearchParameters, TEntity, TSorting, TCursor, TFacets>>;
6
6
  protected getIndexBasedPagingResult({ paging, totResults, currentPageResults, }: {
7
7
  paging?: ISearchRequestPaging<number>;
8
8
  totResults: number;
9
9
  currentPageResults: number;
10
- }): EntitiesSearchResultsPaging<number> | undefined;
10
+ }): IEntitiesSearchResultsPaging<number> | undefined;
11
11
  }