@punks/backend-entity-manager 0.0.164 → 0.0.166

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.
@@ -8,6 +8,9 @@ import { IEntitiesDeleteResult } from "../../../abstractions/repository";
8
8
  import { QueryClauseBuilder } from "./queryClauseBuilder";
9
9
  import { BooleanFacetsType, FacetType, NumberFacetsType, StringFacetsType } from "./facets";
10
10
  import { QueryBuilderOperation } from "../../../templates/queryBuilder";
11
+ export type FacetRelations = {
12
+ columns: string[];
13
+ };
11
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> {
12
15
  private readonly services;
13
16
  private repository;
@@ -32,11 +35,16 @@ export declare abstract class TypeOrmQueryBuilder<TEntity extends ObjectLiteral,
32
35
  protected countQueryResults(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<number>;
33
36
  protected abstract buildSortingClause(request: TEntitySearchParameters): FindOptionsOrder<TEntity>;
34
37
  protected abstract buildWhereClause(request: TEntitySearchParameters): FindOptionsWhere<TEntity>[] | FindOptionsWhere<TEntity>;
38
+ protected buildTextSearchClause(request: TEntitySearchParameters): FindOptionsWhere<TEntity>[] | FindOptionsWhere<TEntity>;
35
39
  protected abstract buildContextFilter(context?: IAuthenticationContext<TUserContext>): FindOptionsWhere<TEntity>[] | FindOptionsWhere<TEntity>;
36
40
  protected abstract calculateFacets(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<TFacets>;
37
- protected calculateFacet<TField extends keyof TEntity, TValue>(field: TField, request: TEntitySearchParameters, context: IAuthenticationContext<TUserContext> | undefined): Promise<FacetType<TValue>>;
38
- protected calculateStringFieldFacets(field: keyof TEntity, request: TEntitySearchParameters, context: IAuthenticationContext<TUserContext> | undefined): Promise<StringFacetsType>;
39
- protected calculateNumericFieldFacets(field: keyof TEntity, request: TEntitySearchParameters, context: IAuthenticationContext<TUserContext> | undefined): Promise<NumberFacetsType>;
40
- protected calculateBooleanFieldFacets(field: keyof TEntity, request: TEntitySearchParameters, context: IAuthenticationContext<TUserContext> | undefined): Promise<BooleanFacetsType>;
41
+ protected calculateFacet<TField extends keyof TEntity, TValue>(field: TField, request: TEntitySearchParameters, context: IAuthenticationContext<TUserContext> | undefined, relations?: FacetRelations): Promise<FacetType<TValue>>;
42
+ protected calculateStringFieldFacets(field: keyof TEntity, request: TEntitySearchParameters, context: IAuthenticationContext<TUserContext> | undefined, relations?: FacetRelations): Promise<StringFacetsType>;
43
+ protected calculateNumericFieldFacets(field: keyof TEntity, request: TEntitySearchParameters, context: IAuthenticationContext<TUserContext> | undefined, relations?: FacetRelations): Promise<NumberFacetsType>;
44
+ protected calculateBooleanFieldFacets(field: keyof TEntity, request: TEntitySearchParameters, context: IAuthenticationContext<TUserContext> | undefined, relations?: FacetRelations): Promise<BooleanFacetsType>;
41
45
  protected getRepository(): TypeOrmRepository<TEntity, unknown>;
46
+ private buildSearchRelations;
47
+ private buildWhere;
48
+ private mergeWhereClauses;
49
+ private mergeWheres;
42
50
  }
@@ -1,11 +1,13 @@
1
1
  import { AppOrganizationEntity } from "./appOrganization.entity";
2
2
  import { IMultiOrganizationEntity } from "../../../../../extensions";
3
+ import { FooEntity } from "./foo.entity";
3
4
  export declare class CrmContactEntity implements IMultiOrganizationEntity {
4
5
  id: string;
5
6
  email: string;
6
7
  firstName: string;
7
8
  lastName: string;
8
9
  organization: AppOrganizationEntity;
10
+ foos?: FooEntity[];
9
11
  createdOn: Date;
10
12
  updatedOn: Date;
11
13
  }
@@ -1,4 +1,5 @@
1
1
  import { AppTenantEntity } from "./appTenant.entity";
2
+ import { CrmContactEntity } from "./crmContact.entity";
2
3
  export type FooEntityId = string;
3
4
  export declare class FooEntity {
4
5
  id: FooEntityId;
@@ -6,5 +7,6 @@ export declare class FooEntity {
6
7
  uid?: string;
7
8
  age?: number;
8
9
  tenant?: AppTenantEntity;
10
+ contact: CrmContactEntity;
9
11
  updatedOn: Date;
10
12
  }
@@ -6,6 +6,7 @@ import { EntityManagerRegistry } from "../../../../ioc/registry";
6
6
  import { AppUserContext, AppAuthContext } from "../../infrastructure/authentication";
7
7
  export declare class FooQueryBuilder extends NestTypeOrmQueryBuilder<FooEntity, FooEntityId, FooSearchParameters, FooSorting, FooFacets, AppUserContext> {
8
8
  constructor(registry: EntityManagerRegistry);
9
+ protected buildTextSearchClause(request: FooSearchParameters): FindOptionsWhere<FooEntity> | FindOptionsWhere<FooEntity>[];
9
10
  protected buildContextFilter(context?: AppAuthContext | undefined): FindOptionsWhere<FooEntity> | FindOptionsWhere<FooEntity>[];
10
11
  protected buildSortingClause(request: FooSearchParameters): FindOptionsOrder<FooEntity>;
11
12
  protected buildWhereClause(request: FooSearchParameters): FindOptionsWhere<FooEntity> | FindOptionsWhere<FooEntity>[];
package/dist/index.d.ts CHANGED
@@ -2254,6 +2254,9 @@ type StringFacetsType = FacetType<string>;
2254
2254
  type NumberFacetsType = FacetType<number>;
2255
2255
  type BooleanFacetsType = FacetType<boolean>;
2256
2256
 
2257
+ type FacetRelations = {
2258
+ columns: string[];
2259
+ };
2257
2260
  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> {
2258
2261
  private readonly services;
2259
2262
  private repository;
@@ -2278,13 +2281,18 @@ declare abstract class TypeOrmQueryBuilder<TEntity extends ObjectLiteral, TEntit
2278
2281
  protected countQueryResults(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<number>;
2279
2282
  protected abstract buildSortingClause(request: TEntitySearchParameters): FindOptionsOrder<TEntity>;
2280
2283
  protected abstract buildWhereClause(request: TEntitySearchParameters): FindOptionsWhere<TEntity>[] | FindOptionsWhere<TEntity>;
2284
+ protected buildTextSearchClause(request: TEntitySearchParameters): FindOptionsWhere<TEntity>[] | FindOptionsWhere<TEntity>;
2281
2285
  protected abstract buildContextFilter(context?: IAuthenticationContext<TUserContext>): FindOptionsWhere<TEntity>[] | FindOptionsWhere<TEntity>;
2282
2286
  protected abstract calculateFacets(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<TFacets>;
2283
- protected calculateFacet<TField extends keyof TEntity, TValue>(field: TField, request: TEntitySearchParameters, context: IAuthenticationContext<TUserContext> | undefined): Promise<FacetType<TValue>>;
2284
- protected calculateStringFieldFacets(field: keyof TEntity, request: TEntitySearchParameters, context: IAuthenticationContext<TUserContext> | undefined): Promise<StringFacetsType>;
2285
- protected calculateNumericFieldFacets(field: keyof TEntity, request: TEntitySearchParameters, context: IAuthenticationContext<TUserContext> | undefined): Promise<NumberFacetsType>;
2286
- protected calculateBooleanFieldFacets(field: keyof TEntity, request: TEntitySearchParameters, context: IAuthenticationContext<TUserContext> | undefined): Promise<BooleanFacetsType>;
2287
+ protected calculateFacet<TField extends keyof TEntity, TValue>(field: TField, request: TEntitySearchParameters, context: IAuthenticationContext<TUserContext> | undefined, relations?: FacetRelations): Promise<FacetType<TValue>>;
2288
+ protected calculateStringFieldFacets(field: keyof TEntity, request: TEntitySearchParameters, context: IAuthenticationContext<TUserContext> | undefined, relations?: FacetRelations): Promise<StringFacetsType>;
2289
+ protected calculateNumericFieldFacets(field: keyof TEntity, request: TEntitySearchParameters, context: IAuthenticationContext<TUserContext> | undefined, relations?: FacetRelations): Promise<NumberFacetsType>;
2290
+ protected calculateBooleanFieldFacets(field: keyof TEntity, request: TEntitySearchParameters, context: IAuthenticationContext<TUserContext> | undefined, relations?: FacetRelations): Promise<BooleanFacetsType>;
2287
2291
  protected getRepository(): TypeOrmRepository<TEntity, unknown>;
2292
+ private buildSearchRelations;
2293
+ private buildWhere;
2294
+ private mergeWhereClauses;
2295
+ private mergeWheres;
2288
2296
  }
2289
2297
 
2290
2298
  declare abstract class NestTypeOrmQueryBuilder<TEntity extends ObjectLiteral, TEntityId, TEntitySearchParameters extends IEntitySearchParameters<TEntity, TSorting, number>, TSorting extends SortingType, TFacets extends IEntityFacets, TUserContext> extends TypeOrmQueryBuilder<TEntity, TEntityId, TEntitySearchParameters, TSorting, TFacets, TUserContext> {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@punks/backend-entity-manager",
3
- "version": "0.0.164",
3
+ "version": "0.0.166",
4
4
  "description": "",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -100,6 +100,7 @@
100
100
  "ts",
101
101
  "tsx",
102
102
  "js"
103
- ]
103
+ ],
104
+ "testTimeout": 100000
104
105
  }
105
106
  }