@punks/backend-entity-manager 0.0.226 → 0.0.228

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.
@@ -14,6 +14,7 @@ export interface IEntitiesFindQuery<TEntity, TEntitySearchParameters extends IEn
14
14
  execute(request: {
15
15
  filters?: TEntitySearchParameters["filters"];
16
16
  sorting?: TEntitySearchParameters["sorting"];
17
+ relations?: TEntitySearchParameters["relations"];
17
18
  }): Promise<TEntity>;
18
19
  }
19
20
  export interface IEntityExistsQuery<TEntity, TEntityFilters extends ISearchFilters> {
@@ -30,6 +31,7 @@ export interface IEntitiesQueryBuilder<TEntity, TEntityId, TEntitySearchParamete
30
31
  find(request?: {
31
32
  filters?: TEntitySearchParameters["filters"];
32
33
  sorting?: TEntitySearchParameters["sorting"];
34
+ relations?: TEntitySearchParameters["relations"];
33
35
  }, context?: IAuthenticationContext<TUserContext>): Promise<TEntity>;
34
36
  search(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<IEntitiesSearchResults<TEntity, TEntitySearchParameters, TEntity, TSorting, TCursor, TFacets>>;
35
37
  exists(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext>): Promise<boolean>;
@@ -20,6 +20,12 @@ export type StringFilter = {
20
20
  notIn?: string[];
21
21
  notLike?: string;
22
22
  };
23
+ export type IdFilter = {
24
+ in?: string[];
25
+ eq?: string;
26
+ ne?: string;
27
+ notIn?: string[];
28
+ };
23
29
  export type EnumFilter<T> = {
24
30
  in?: T[];
25
31
  eq?: T;
@@ -26,6 +26,7 @@ export declare abstract class TypeOrmQueryBuilder<TEntity extends ObjectLiteral,
26
26
  find(request: {
27
27
  filters?: TEntitySearchParameters["filters"];
28
28
  sorting?: TEntitySearchParameters["sorting"];
29
+ relations?: TEntitySearchParameters["relations"];
29
30
  }, context?: IAuthenticationContext<TUserContext>): Promise<TEntity>;
30
31
  search(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<IEntitiesSearchResults<TEntity, TEntitySearchParameters, TEntity, TSorting, number, TFacets>>;
31
32
  protected getFieldDistinctValues<T>(field: keyof TEntity, request: TEntitySearchParameters, context: IAuthenticationContext<TUserContext> | undefined): Promise<T[]>;
@@ -1,7 +1,8 @@
1
1
  import { FindOperator } from "typeorm";
2
- import { BooleanFilter, DateFilter, EnumFilter, NumericFilter, StringFilter } from "./clause";
2
+ import { BooleanFilter, DateFilter, EnumFilter, IdFilter, NumericFilter, StringFilter } from "./clause";
3
3
  export declare class QueryClauseBuilder {
4
4
  enumFilter<T>(filter: EnumFilter<T>): FindOperator<T>;
5
+ idFilter(filter: IdFilter): FindOperator<string>;
5
6
  stringFilter(filter: StringFilter): FindOperator<string>;
6
7
  numericFilter(filter: NumericFilter): FindOperator<number>;
7
8
  dateFilter(filter: DateFilter): FindOperator<Date>;
package/dist/esm/index.js CHANGED
@@ -2866,6 +2866,22 @@ class QueryClauseBuilder {
2866
2866
  }
2867
2867
  return And(...clauses);
2868
2868
  }
2869
+ idFilter(filter) {
2870
+ const clauses = [];
2871
+ if (!!filter?.in) {
2872
+ clauses.push(In(filter.in));
2873
+ }
2874
+ if (!!filter?.eq) {
2875
+ clauses.push(Equal(filter.eq));
2876
+ }
2877
+ if (!!filter?.ne) {
2878
+ clauses.push(Not(Equal(filter.ne)));
2879
+ }
2880
+ if (!!filter?.notIn) {
2881
+ clauses.push(Not(In(filter.notIn)));
2882
+ }
2883
+ return And(...clauses);
2884
+ }
2869
2885
  stringFilter(filter) {
2870
2886
  const clauses = [];
2871
2887
  if (!!filter?.gte) {
@@ -3022,6 +3038,7 @@ class TypeOrmQueryBuilder extends QueryBuilderBase {
3022
3038
  paging: {
3023
3039
  pageSize: 1,
3024
3040
  },
3041
+ relations: request.relations,
3025
3042
  }, context);
3026
3043
  return results[0];
3027
3044
  }