@punks/backend-entity-manager 0.0.460 → 0.0.461

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.
@@ -5,6 +5,7 @@ import { SortingType } from "./common";
5
5
  import { EntitiesExportInput, EntitiesExportResult, EntitiesSampleDownloadOptions, EntitiesSampleDownloadResult } from "./export";
6
6
  import { EntitiesImportInput, EntitiesImportResult } from "./import";
7
7
  import { EntitiesParseInput, EntitiesParseResult } from "./parse";
8
+ import { IEntitiesSearchQueryOptions, IEntityGetQueryOptions } from "./queries";
8
9
  import { IEntitySearchParameters, ISearchFilters } from "./searchParameters";
9
10
  import { IEntityFacets } from "./searchResults";
10
11
  export interface IEntityCreateAction<TEntity, TEntityCreateDto, TEntityDto> {
@@ -16,13 +17,10 @@ export interface IEntityDeleteAction<TEntity, TEntityId> {
16
17
  export interface IEntitiesDeleteAction<TEntity, TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TSorting> {
17
18
  execute(params: TEntitiesDeleteParameters): Promise<void>;
18
19
  }
19
- export interface IEntityGetAction<TEntity, TEntityId, TEntityDto> {
20
- execute(id: TEntityId): Promise<TEntityDto | undefined>;
20
+ export interface IEntityGetActionOptions<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>> extends IEntityGetQueryOptions<TEntity, TEntitySearchParameters> {
21
21
  }
22
- export interface IEntityGetAction<TEntity, TEntityId, TEntityDto> {
23
- execute(id: TEntityId, options?: {
24
- relations?: string[];
25
- }): Promise<TEntityDto | undefined>;
22
+ export interface IEntityGetAction<TEntity, TEntityId, TEntityDto, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>> {
23
+ execute(id: TEntityId, options?: IEntityGetActionOptions<TEntity, TEntitySearchParameters>): Promise<TEntityDto | undefined>;
26
24
  }
27
25
  export interface IEntityExistsAction<TEntity, TEntityFilters extends ISearchFilters> {
28
26
  execute(filters: TEntityFilters): Promise<boolean>;
@@ -36,8 +34,10 @@ export interface IEntityUpdateAction<TEntity, TEntityId, TEntityUpdateDto, TEnti
36
34
  export interface IEntityUpsertAction<TEntity, TEntityId, TEntityUpdateDto, TEntityDto> {
37
35
  execute(id: TEntityId, input: TEntityUpdateDto): Promise<TEntityDto>;
38
36
  }
37
+ export interface IEntitiesSearchActionOptions<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>> extends IEntitiesSearchQueryOptions<TEntity, TEntitySearchParameters> {
38
+ }
39
39
  export interface IEntitiesSearchAction<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> {
40
- execute(request: TEntitySearchParameters): Promise<IEntitiesSearchResults<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>>;
40
+ execute(request: TEntitySearchParameters, options?: IEntitiesSearchActionOptions<TEntity, TEntitySearchParameters>): Promise<IEntitiesSearchResults<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>>;
41
41
  }
42
42
  export interface IEntitiesExportAction<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor> {
43
43
  execute<TPayload = unknown>(input: EntitiesExportInput<TEntity, TEntitySearchParameters, TSorting, TCursor, TPayload>): Promise<EntitiesExportResult>;
@@ -55,7 +55,7 @@ export interface IEntityVersionsSearchAction<TEntity, TEntityVersionDto, TCursor
55
55
  execute(request: IEntityVersionsSearchRequest<TCursor>): Promise<IEntityVersionsSearchResponse<TEntityVersionDto, TCursor>>;
56
56
  }
57
57
  export interface IEntityActions<TEntity, TEntityId, TEntityCreateDto, TEntityUpdateDto, TEntityDto, TEntityListItemDto, TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> {
58
- get get(): IEntityGetAction<TEntity, TEntityId, TEntityDto>;
58
+ get get(): IEntityGetAction<TEntity, TEntityId, TEntityDto, TEntitySearchParameters>;
59
59
  get search(): IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>;
60
60
  get exists(): IEntityExistsAction<TEntity, NonNullable<TEntitySearchParameters["filters"]>>;
61
61
  get count(): IEntitiesCountAction<TEntity, NonNullable<TEntitySearchParameters["filters"]>>;
@@ -4,7 +4,7 @@ import { IEntitiesCountQuery, IEntitiesFindQuery, IEntitiesSearchQuery, IEntityE
4
4
  import { IEntitySearchParameters } from "./searchParameters";
5
5
  import { IEntityFacets } from "./searchResults";
6
6
  export interface IEntityManager<TEntity, TEntityId, TEntityCreateData, TEntityUpdateData, TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> {
7
- get get(): IEntityGetQuery<TEntity, TEntityId>;
7
+ get get(): IEntityGetQuery<TEntity, TEntityId, TEntitySearchParameters>;
8
8
  get search(): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
9
9
  get find(): IEntitiesFindQuery<TEntity, TEntitySearchParameters, TSorting, TCursor>;
10
10
  get exists(): IEntityExistsQuery<TEntity, NonNullable<TEntitySearchParameters["filters"]>>;
@@ -4,11 +4,17 @@ import { SortingType } from "./common";
4
4
  import { IEntitiesDeleteResult } from "./repository";
5
5
  import { IEntitySearchParameters, ISearchFilters } from "./searchParameters";
6
6
  import { IEntityFacets } from "./searchResults";
7
+ export interface IEntitiesSearchQueryOptions<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>> {
8
+ relations?: TEntitySearchParameters["relations"];
9
+ }
7
10
  export interface IEntitiesSearchQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> {
8
- execute(request: TEntitySearchParameters): Promise<IEntitiesSearchResults<TEntity, TEntitySearchParameters, TEntity, TSorting, TCursor, TFacets>>;
11
+ execute(request: TEntitySearchParameters, options?: IEntitiesSearchQueryOptions<TEntity, TEntitySearchParameters>): Promise<IEntitiesSearchResults<TEntity, TEntitySearchParameters, TEntity, TSorting, TCursor, TFacets>>;
12
+ }
13
+ export interface IEntityGetQueryOptions<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>> {
14
+ relations?: TEntitySearchParameters["relations"];
9
15
  }
10
- export interface IEntityGetQuery<TEntity, TEntityId> {
11
- execute(id: TEntityId): Promise<TEntity | undefined>;
16
+ export interface IEntityGetQuery<TEntity, TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>> {
17
+ execute(id: TEntityId, options?: IEntityGetQueryOptions<TEntity, TEntitySearchParameters>): Promise<TEntity | undefined>;
12
18
  }
13
19
  export interface IEntitiesFindQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor> {
14
20
  execute(request: {
@@ -27,7 +33,7 @@ export interface IEntityVersionsSearchQuery<TEntity, TCursor> {
27
33
  execute(params: IEntityVersionsSearchParameters<TCursor>): Promise<IEntityVersionsSearchResults<TEntity, TCursor>>;
28
34
  }
29
35
  export interface IEntitiesQueryBuilder<TEntity, TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TUserContext> {
30
- get(id: TEntityId, context?: IAuthenticationContext<TUserContext>): Promise<TEntity | undefined>;
36
+ get(id: TEntityId, context?: IAuthenticationContext<TUserContext>, options?: IEntityGetQueryOptions<TEntity, TEntitySearchParameters>): Promise<TEntity | undefined>;
31
37
  find(request?: {
32
38
  filters?: TEntitySearchParameters["filters"];
33
39
  sorting?: TEntitySearchParameters["sorting"];
@@ -1,6 +1,7 @@
1
1
  import { IEntityGetAction } from "../abstractions/actions";
2
+ import { IEntitySearchParameters } from "../abstractions/searchParameters";
2
3
  import { EntityServiceLocator } from "../providers/services";
3
- export declare class EntityGetAction<TEntity, TEntityId, TEntityDto> implements IEntityGetAction<TEntity, TEntityId, TEntityDto> {
4
+ export declare class EntityGetAction<TEntity, TEntityId, TEntityDto, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>> implements IEntityGetAction<TEntity, TEntityId, TEntityDto, TEntitySearchParameters> {
4
5
  private readonly services;
5
6
  constructor(services: EntityServiceLocator<TEntity, TEntityId>);
6
7
  execute(id: TEntityId): Promise<TEntityDto | undefined>;
@@ -12,7 +12,7 @@ export declare class EntityManager<TEntity, TEntityId, TEntityCreateData, TEntit
12
12
  get exists(): IEntityExistsQuery<TEntity, NonNullable<TEntitySearchParameters["filters"]>>;
13
13
  get count(): IEntitiesCountQuery<TEntity, NonNullable<TEntitySearchParameters["filters"]>>;
14
14
  get deleteItems(): IEntitiesDeleteCommand<TEntity, TEntitiesDeleteParameters, TSorting>;
15
- get get(): IEntityGetQuery<TEntity, TEntityId>;
15
+ get get(): IEntityGetQuery<TEntity, TEntityId, TEntitySearchParameters>;
16
16
  get search(): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
17
17
  get find(): IEntitiesFindQuery<TEntity, TEntitySearchParameters, TSorting, TCursor>;
18
18
  get version(): IEntityVersionCommand<TEntity, TEntityId>;
@@ -33,7 +33,7 @@ export declare class EntityActions<TEntity, TEntityId, TEntityCreateDto, TEntity
33
33
  get exists(): IEntityExistsAction<TEntity, NonNullable<TEntitySearchParameters["filters"]>>;
34
34
  get count(): IEntitiesCountAction<TEntity, NonNullable<TEntitySearchParameters["filters"]>>;
35
35
  get deleteItems(): IEntitiesDeleteAction<TEntity, TEntitiesDeleteParameters, TSorting>;
36
- get get(): IEntityGetAction<TEntity, TEntityId, TEntityDto>;
36
+ get get(): IEntityGetAction<TEntity, TEntityId, TEntityDto, TEntitySearchParameters>;
37
37
  get search(): IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>;
38
38
  get create(): IEntityCreateAction<TEntity, TEntityCreateDto, TEntityDto>;
39
39
  get update(): IEntityUpdateAction<TEntity, TEntityId, TEntityUpdateDto, TEntityDto>;
@@ -10,13 +10,14 @@ import { BooleanFacetsType, FacetType, NumberFacetsType, FacetBuilderInput, Stri
10
10
  import { QueryBuilderOperation } from "../../../templates/queryBuilder";
11
11
  import { ChildrenMap } from "./traverse";
12
12
  import { PermissionsChecker } from "./permissionsChecker";
13
+ import { IEntityGetQueryOptions } from "../../../abstractions/queries";
13
14
  export declare abstract class TypeOrmQueryBuilder<TEntity extends ObjectLiteral, TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, number>, TSorting extends SortingType, TFacets extends IEntityFacets, TUserContext> extends QueryBuilderBase<TEntity, TEntityId, TEntitySearchParameters, TSorting, number, TFacets, TUserContext> {
14
15
  private readonly services;
15
16
  private repository;
16
17
  protected clause: QueryClauseBuilder;
17
18
  protected permissions: PermissionsChecker<TUserContext>;
18
19
  constructor(services: EntityServiceLocator<TEntity, unknown>);
19
- get(id: TEntityId, context?: IAuthenticationContext<TUserContext>): Promise<TEntity | undefined>;
20
+ get(id: TEntityId, context?: IAuthenticationContext<TUserContext>, options?: IEntityGetQueryOptions<TEntity, TEntitySearchParameters>): Promise<TEntity | undefined>;
20
21
  exists(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext> | undefined): Promise<boolean>;
21
22
  count(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext> | undefined): Promise<number>;
22
23
  delete(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext> | undefined): Promise<IEntitiesDeleteResult>;
@@ -107,8 +107,8 @@ export declare class EntitiesServiceLocator {
107
107
  resolveSnapshotService<TEntity, TEntityId>(entityName: string): IEntitySnapshotService<TEntityId, unknown> | undefined;
108
108
  resolveAuthorizationMiddleware<TEntity, TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(entityName: string): IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext> | undefined;
109
109
  registerAuthorizationMiddleware<TEntity, TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(entityName: string, instance: IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext>): void;
110
- resolveGetQuery<TEntity, TEntityId>(entityName: string): IEntityGetQuery<TEntity, TEntityId>;
111
- registerGetQuery<TEntity, TEntityId>(entityName: string, instance: IEntityGetQuery<TEntity, TEntityId>): void;
110
+ resolveGetQuery<TEntity, TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>>(entityName: string): IEntityGetQuery<TEntity, TEntityId, TEntitySearchParameters>;
111
+ registerGetQuery<TEntity, TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>>(entityName: string, instance: IEntityGetQuery<TEntity, TEntityId, TEntitySearchParameters>): void;
112
112
  resolveSearchQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(entityName: string): IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>;
113
113
  registerSearchQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(entityName: string, instance: IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets>): void;
114
114
  resolveFindQuery<TEntity, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor>(entityName: string): IEntitiesFindQuery<TEntity, TEntitySearchParameters, TSorting, TCursor>;
@@ -141,8 +141,8 @@ export declare class EntitiesServiceLocator {
141
141
  registerParseCommand<TEntity>(entityName: string, instance: IEntitiesParseCommand<TEntity>): void;
142
142
  resolveSampleDownloadCommand<TEntity>(entityName: string): IEntitiesSampleDownloadCommand<TEntity>;
143
143
  registerSampleDownloadCommand<TEntity>(entityName: string, instance: IEntitiesSampleDownloadCommand<TEntity>): void;
144
- resolveGetAction<TEntity, TEntityId, TEntityDto>(entityName: string): IEntityGetAction<TEntity, TEntityId, TEntityDto>;
145
- registerGetAction<TEntity, TEntityId, TEntityDto>(entityName: string, instance: IEntityGetAction<TEntity, TEntityId, TEntityDto>): void;
144
+ resolveGetAction<TEntity, TEntityId, TEntityDto, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>>(entityName: string): IEntityGetAction<TEntity, TEntityId, TEntityDto, TEntitySearchParameters>;
145
+ registerGetAction<TEntity, TEntityId, TEntityDto, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>>(entityName: string, instance: IEntityGetAction<TEntity, TEntityId, TEntityDto, TEntitySearchParameters>): void;
146
146
  resolveExistsAction<TEntity, TEntityFilters extends ISearchFilters>(entityName: string): IEntityExistsAction<TEntity, TEntityFilters>;
147
147
  registerExistsAction<TEntity, TEntityFilters extends ISearchFilters>(entityName: string, instance: IEntityExistsAction<TEntity, TEntityFilters>): void;
148
148
  resolveCountAction<TEntity, TEntityFilters extends ISearchFilters>(entityName: string): IEntitiesCountAction<TEntity, TEntityFilters>;
@@ -37,7 +37,7 @@ export declare class EntityServiceLocator<TEntity, TEntityId> {
37
37
  resolveSnapshotService<TEntity, TEntityId>(): IEntitySnapshotService<TEntityId, unknown> | undefined;
38
38
  resolveAdapter<TEntityCreateData, TEntityUpdateData>(): IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData> | undefined;
39
39
  resolveAuthorizationMiddleware<TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(): IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext> | undefined;
40
- resolveGetQuery<TEntityId>(): IEntityGetQuery<TEntity, TEntityId>;
40
+ resolveGetQuery<TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>>(): IEntityGetQuery<TEntity, TEntityId, TEntitySearchParameters>;
41
41
  resolveExistsQuery<TEntityFilters extends ISearchFilters>(): IEntityExistsQuery<TEntity, TEntityFilters>;
42
42
  resolveCountQuery<TEntityFilters extends ISearchFilters>(): IEntitiesCountQuery<TEntity, TEntityFilters>;
43
43
  resolveVersionsSearchQuery<TCursor>(): IEntityVersionsSearchQuery<TEntity, TCursor>;
@@ -54,7 +54,7 @@ export declare class EntityServiceLocator<TEntity, TEntityId> {
54
54
  resolveImportCommand(): IEntitiesImportCommand<TEntity>;
55
55
  resolveParseCommand(): IEntitiesParseCommand<TEntity>;
56
56
  resolveExportCommand<TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor>(): IEntitiesExportCommand<TEntity, TEntitySearchParameters, TSorting, TCursor>;
57
- resolveGetAction<TEntityId, TEntityDto>(): IEntityGetAction<TEntity, TEntityId, TEntityDto>;
57
+ resolveGetAction<TEntityId, TEntityDto, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>>(): IEntityGetAction<TEntity, TEntityId, TEntityDto, TEntitySearchParameters>;
58
58
  resolveExistsAction<TEntityFilters extends ISearchFilters>(): IEntityExistsAction<TEntity, TEntityFilters>;
59
59
  resolveCountAction<TEntityFilters extends ISearchFilters>(): IEntitiesCountAction<TEntity, TEntityFilters>;
60
60
  resolveSearchAction<TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TEntityListItemDto, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets>(): IEntitiesSearchAction<TEntity, TEntitySearchParameters, TEntityListItemDto, TSorting, TCursor, TFacets>;
@@ -1,9 +1,10 @@
1
- import { IEntityGetQuery } from "../abstractions/queries";
1
+ import { IEntityGetQuery, IEntityGetQueryOptions } from "../abstractions/queries";
2
+ import { IEntitySearchParameters } from "../abstractions/searchParameters";
2
3
  import { EntityServiceLocator } from "../providers/services";
3
- export declare class EntityGetQuery<TEntity, TEntityId> implements IEntityGetQuery<TEntity, TEntityId> {
4
+ export declare class EntityGetQuery<TEntity, TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TEntity, unknown, unknown>> implements IEntityGetQuery<TEntity, TEntityId, TEntitySearchParameters> {
4
5
  private readonly services;
5
6
  constructor(services: EntityServiceLocator<TEntity, TEntityId>);
6
- execute(id: TEntityId): Promise<TEntity | undefined>;
7
+ execute(id: TEntityId, options?: IEntityGetQueryOptions<TEntity, TEntitySearchParameters>): Promise<TEntity | undefined>;
7
8
  private authorize;
8
9
  private getContext;
9
10
  }
@@ -1,13 +1,13 @@
1
1
  import { IEntityFacets } from "../abstractions";
2
2
  import { SortingType } from "../abstractions/common";
3
- import { IEntitiesSearchQuery } from "../abstractions/queries";
3
+ import { IEntitiesSearchQuery, IEntitiesSearchQueryOptions } from "../abstractions/queries";
4
4
  import { IEntitySearchParameters } from "../abstractions/searchParameters";
5
5
  import { IEntitiesSearchResults } from "../models";
6
6
  import { EntityServiceLocator } from "../providers/services";
7
7
  export declare class EntitiesSearchQuery<TEntity, TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TUserContext> implements IEntitiesSearchQuery<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets> {
8
8
  private readonly services;
9
9
  constructor(services: EntityServiceLocator<TEntity, TEntityId>);
10
- execute(request: TEntitySearchParameters): Promise<IEntitiesSearchResults<TEntity, TEntitySearchParameters, TEntity, TSorting, TCursor, TFacets>>;
10
+ execute(request: TEntitySearchParameters, options?: IEntitiesSearchQueryOptions<TEntity, TEntitySearchParameters>): Promise<IEntitiesSearchResults<TEntity, TEntitySearchParameters, TEntity, TSorting, TCursor, TFacets>>;
11
11
  private getContext;
12
12
  private filterAllowedEntities;
13
13
  private authorizeSearch;
package/dist/esm/index.js CHANGED
@@ -674,7 +674,9 @@ class EntityUpdateAction {
674
674
  await this.services
675
675
  .resolveUpdateCommand()
676
676
  .execute(id, updateInput);
677
- const entity = await this.services.resolveGetQuery().execute(id);
677
+ const entity = await this.services
678
+ .resolveGetQuery()
679
+ .execute(id);
678
680
  if (!entity) {
679
681
  throw new Error(`Newly created entity not found with id ${id}`);
680
682
  }
@@ -706,7 +708,9 @@ class EntityUpsertAction {
706
708
  await this.services
707
709
  .resolveUpsertCommand()
708
710
  .execute(id, updateInput);
709
- const entity = await this.services.resolveGetQuery().execute(id);
711
+ const entity = await this.services
712
+ .resolveGetQuery()
713
+ .execute(id);
710
714
  if (!entity) {
711
715
  throw new Error(`Newly created entity not found with id ${id}`);
712
716
  }
@@ -2293,11 +2297,11 @@ class EntityGetQuery {
2293
2297
  constructor(services) {
2294
2298
  this.services = services;
2295
2299
  }
2296
- async execute(id) {
2300
+ async execute(id, options) {
2297
2301
  const context = await this.getContext();
2298
2302
  const entity = await this.services
2299
2303
  .resolveQueryBuilder()
2300
- .get(id, context);
2304
+ .get(id, context, options);
2301
2305
  if (entity) {
2302
2306
  await this.authorize(entity);
2303
2307
  }
@@ -2331,11 +2335,14 @@ class EntitiesSearchQuery {
2331
2335
  constructor(services) {
2332
2336
  this.services = services;
2333
2337
  }
2334
- async execute(request) {
2338
+ async execute(request, options) {
2335
2339
  const context = await this.getContext();
2336
2340
  await this.authorizeSearch(context);
2337
2341
  const queryBuilder = this.services.resolveQueryBuilder();
2338
- const result = await queryBuilder.search(request, context);
2342
+ const result = await queryBuilder.search({
2343
+ ...request,
2344
+ relations: options?.relations ?? request.relations,
2345
+ }, context);
2339
2346
  const filteredEntities = await this.filterAllowedEntities(result.items, context);
2340
2347
  return {
2341
2348
  ...result,
@@ -3815,9 +3822,10 @@ class TypeOrmQueryBuilder extends QueryBuilderBase {
3815
3822
  this.clause = new QueryClauseBuilder();
3816
3823
  this.permissions = new PermissionsChecker();
3817
3824
  }
3818
- async get(id, context) {
3825
+ async get(id, context, options) {
3819
3826
  return await this.getRepository().get(id, {
3820
- relations: this.getRelationsToLoad(undefined, context, QueryBuilderOperation.Get),
3827
+ relations: options?.relations ??
3828
+ this.getRelationsToLoad(undefined, context, QueryBuilderOperation.Get),
3821
3829
  });
3822
3830
  }
3823
3831
  async exists(filters, context) {