@punks/backend-entity-manager 0.0.97 → 0.0.98

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 (38) hide show
  1. package/dist/cjs/index.js +29 -10
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/__test__/providers/typeorm/queries/foo.d.ts +1 -1
  4. package/dist/cjs/types/integrations/repository/typeorm/facets.d.ts +7 -0
  5. package/dist/cjs/types/integrations/repository/typeorm/queryBuilder.d.ts +4 -1
  6. package/dist/cjs/types/integrations/repository/typeorm/repository.d.ts +1 -0
  7. package/dist/cjs/types/platforms/nest/__test__/server/entities/appCompanies/appCompany.query.d.ts +1 -1
  8. package/dist/cjs/types/platforms/nest/__test__/server/entities/appDivisions/appDivision.query.d.ts +1 -1
  9. package/dist/cjs/types/platforms/nest/__test__/server/entities/appOrganizations/appOrganization.query.d.ts +1 -1
  10. package/dist/cjs/types/platforms/nest/__test__/server/entities/appRoles/appRole.query.d.ts +1 -1
  11. package/dist/cjs/types/platforms/nest/__test__/server/entities/appTenants/appTenant.query.d.ts +1 -1
  12. package/dist/cjs/types/platforms/nest/__test__/server/entities/appUserGroupMembers/appUserGroupMember.query.d.ts +1 -1
  13. package/dist/cjs/types/platforms/nest/__test__/server/entities/appUserGroups/appUserGroup.query.d.ts +1 -1
  14. package/dist/cjs/types/platforms/nest/__test__/server/entities/appUserProfiles/appUserProfile.query.d.ts +1 -1
  15. package/dist/cjs/types/platforms/nest/__test__/server/entities/appUserRoles/appUserRole.query.d.ts +1 -1
  16. package/dist/cjs/types/platforms/nest/__test__/server/entities/appUsers/appUser.query.d.ts +1 -1
  17. package/dist/cjs/types/platforms/nest/__test__/server/entities/foos/foo.models.d.ts +2 -0
  18. package/dist/cjs/types/platforms/nest/__test__/server/entities/foos/foo.query.d.ts +1 -1
  19. package/dist/esm/index.js +29 -10
  20. package/dist/esm/index.js.map +1 -1
  21. package/dist/esm/types/__test__/providers/typeorm/queries/foo.d.ts +1 -1
  22. package/dist/esm/types/integrations/repository/typeorm/facets.d.ts +7 -0
  23. package/dist/esm/types/integrations/repository/typeorm/queryBuilder.d.ts +4 -1
  24. package/dist/esm/types/integrations/repository/typeorm/repository.d.ts +1 -0
  25. package/dist/esm/types/platforms/nest/__test__/server/entities/appCompanies/appCompany.query.d.ts +1 -1
  26. package/dist/esm/types/platforms/nest/__test__/server/entities/appDivisions/appDivision.query.d.ts +1 -1
  27. package/dist/esm/types/platforms/nest/__test__/server/entities/appOrganizations/appOrganization.query.d.ts +1 -1
  28. package/dist/esm/types/platforms/nest/__test__/server/entities/appRoles/appRole.query.d.ts +1 -1
  29. package/dist/esm/types/platforms/nest/__test__/server/entities/appTenants/appTenant.query.d.ts +1 -1
  30. package/dist/esm/types/platforms/nest/__test__/server/entities/appUserGroupMembers/appUserGroupMember.query.d.ts +1 -1
  31. package/dist/esm/types/platforms/nest/__test__/server/entities/appUserGroups/appUserGroup.query.d.ts +1 -1
  32. package/dist/esm/types/platforms/nest/__test__/server/entities/appUserProfiles/appUserProfile.query.d.ts +1 -1
  33. package/dist/esm/types/platforms/nest/__test__/server/entities/appUserRoles/appUserRole.query.d.ts +1 -1
  34. package/dist/esm/types/platforms/nest/__test__/server/entities/appUsers/appUser.query.d.ts +1 -1
  35. package/dist/esm/types/platforms/nest/__test__/server/entities/foos/foo.models.d.ts +2 -0
  36. package/dist/esm/types/platforms/nest/__test__/server/entities/foos/foo.query.d.ts +1 -1
  37. package/dist/index.d.ts +8 -1
  38. package/package.json +1 -1
@@ -8,5 +8,5 @@ export declare class FooQueryBuilder extends TypeOrmQueryBuilder<FooEntity, FooS
8
8
  constructor(services: EntityServiceLocator<FooEntity, string>);
9
9
  protected buildContextFilter(context?: IAuthenticationContext<unknown> | undefined): FindOptionsWhere<FooEntity> | FindOptionsWhere<FooEntity>[];
10
10
  protected buildWhereClause(request: FooSearchParameters): FindOptionsWhere<FooEntity> | FindOptionsWhere<FooEntity>[];
11
- protected calculateFacets(request: FooSearchParameters): Promise<FooFacets | undefined>;
11
+ protected calculateFacets(request: FooSearchParameters): Promise<FooFacets>;
12
12
  }
@@ -0,0 +1,7 @@
1
+ export type Facet<T> = {
2
+ values: T[];
3
+ };
4
+ export type StringFacets = Facet<string>;
5
+ export type NumberFacets = Facet<number>;
6
+ export type BooleanFacets = Facet<boolean>;
7
+ export type DateFacets = Facet<Date>;
@@ -6,6 +6,7 @@ import { TypeOrmRepository } from "./repository";
6
6
  import { EntityServiceLocator } from "../../../providers/services";
7
7
  import { IEntitiesDeleteResult } from "../../../abstractions/repository";
8
8
  import { QueryClauseBuilder } from "./queryClauseBuilder";
9
+ import { Facet } from "./facets";
9
10
  export declare abstract class TypeOrmQueryBuilder<TEntity extends ObjectLiteral, TEntitySearchParameters extends IEntitySearchParameters<TSorting, number>, TSorting extends SortingType, TFacets extends IEntityFacets, TUserContext> extends QueryBuilderBase<TEntity, TEntitySearchParameters, TSorting, number, TFacets, TUserContext> {
10
11
  private readonly services;
11
12
  private repository;
@@ -15,6 +16,7 @@ export declare abstract class TypeOrmQueryBuilder<TEntity extends ObjectLiteral,
15
16
  count(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext> | undefined): Promise<number>;
16
17
  delete(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext> | undefined): Promise<IEntitiesDeleteResult>;
17
18
  search(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<IEntitiesSearchResults<TEntitySearchParameters, TEntity, TSorting, number, TFacets>>;
19
+ protected getFieldFacet(): Promise<void>;
18
20
  protected findPagedQueryResults(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<TEntity[]>;
19
21
  protected getRelationsToLoad(request: TEntitySearchParameters, context: IAuthenticationContext<TUserContext> | undefined): FindOptionsRelations<TEntity> | undefined;
20
22
  protected buildPagingParameters(request: TEntitySearchParameters): {
@@ -24,6 +26,7 @@ export declare abstract class TypeOrmQueryBuilder<TEntity extends ObjectLiteral,
24
26
  protected countQueryResults(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<number>;
25
27
  protected abstract buildWhereClause(request: TEntitySearchParameters): FindOptionsWhere<TEntity>[] | FindOptionsWhere<TEntity>;
26
28
  protected abstract buildContextFilter(context?: IAuthenticationContext<TUserContext>): FindOptionsWhere<TEntity>[] | FindOptionsWhere<TEntity>;
27
- protected abstract calculateFacets(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<TFacets | undefined>;
29
+ protected abstract calculateFacets(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<TFacets>;
30
+ protected calculateFacet<TField extends keyof TEntity, TValue>(field: TField, request: TEntitySearchParameters, context: IAuthenticationContext<TUserContext> | undefined): Promise<Facet<TValue>>;
28
31
  protected getRepository(): TypeOrmRepository<TEntity, unknown>;
29
32
  }
@@ -8,6 +8,7 @@ export declare class TypeOrmRepository<TEntity extends ObjectLiteral, TEntityId>
8
8
  private readonly logger;
9
9
  constructor(innerRepository: Repository<TEntity>);
10
10
  getInnerRepository(): Repository<TEntity>;
11
+ distinct<TField extends keyof TEntity, TValue>(field: TField, condition: FindManyOptions<TEntity>): Promise<any[]>;
11
12
  exists(id: TEntityId): Promise<boolean>;
12
13
  existsBy(condition: FindOneOptions<TEntity>): Promise<boolean>;
13
14
  get(id: TEntityId): Promise<TEntity | undefined>;
@@ -7,5 +7,5 @@ export declare class AppCompanyQueryBuilder extends NestTypeOrmQueryBuilder<AppC
7
7
  constructor(registry: EntityManagerRegistry);
8
8
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<AppCompanyEntity> | FindOptionsWhere<AppCompanyEntity>[];
9
9
  protected buildWhereClause(request: AppCompanySearchParameters): FindOptionsWhere<AppCompanyEntity> | FindOptionsWhere<AppCompanyEntity>[];
10
- protected calculateFacets(request: AppCompanySearchParameters): Promise<AppCompanyFacets | undefined>;
10
+ protected calculateFacets(request: AppCompanySearchParameters): Promise<AppCompanyFacets>;
11
11
  }
@@ -7,5 +7,5 @@ export declare class AppDivisionQueryBuilder extends NestTypeOrmQueryBuilder<App
7
7
  constructor(registry: EntityManagerRegistry);
8
8
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<AppDivisionEntity> | FindOptionsWhere<AppDivisionEntity>[];
9
9
  protected buildWhereClause(request: AppDivisionSearchParameters): FindOptionsWhere<AppDivisionEntity> | FindOptionsWhere<AppDivisionEntity>[];
10
- protected calculateFacets(request: AppDivisionSearchParameters): Promise<AppDivisionFacets | undefined>;
10
+ protected calculateFacets(request: AppDivisionSearchParameters): Promise<AppDivisionFacets>;
11
11
  }
@@ -7,5 +7,5 @@ export declare class AppOrganizationQueryBuilder extends NestTypeOrmQueryBuilder
7
7
  constructor(registry: EntityManagerRegistry);
8
8
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<AppOrganizationEntity> | FindOptionsWhere<AppOrganizationEntity>[];
9
9
  protected buildWhereClause(request: AppOrganizationSearchParameters): FindOptionsWhere<AppOrganizationEntity> | FindOptionsWhere<AppOrganizationEntity>[];
10
- protected calculateFacets(request: AppOrganizationSearchParameters): Promise<AppOrganizationFacets | undefined>;
10
+ protected calculateFacets(request: AppOrganizationSearchParameters): Promise<AppOrganizationFacets>;
11
11
  }
@@ -7,6 +7,6 @@ export declare class AppRoleQueryBuilder extends NestTypeOrmQueryBuilder<AppRole
7
7
  constructor(registry: EntityManagerRegistry);
8
8
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<AppRoleEntity> | FindOptionsWhere<AppRoleEntity>[];
9
9
  protected buildWhereClause(request: AppRoleSearchParameters, context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<AppRoleEntity> | FindOptionsWhere<AppRoleEntity>[];
10
- protected calculateFacets(request: AppRoleSearchParameters): Promise<AppRoleFacets | undefined>;
10
+ protected calculateFacets(request: AppRoleSearchParameters): Promise<AppRoleFacets>;
11
11
  protected getRelationsToLoad(request: AppRoleSearchParameters, context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsRelations<AppRoleEntity> | undefined;
12
12
  }
@@ -7,5 +7,5 @@ export declare class AppTenantQueryBuilder extends NestTypeOrmQueryBuilder<AppTe
7
7
  constructor(registry: EntityManagerRegistry);
8
8
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<AppTenantEntity> | FindOptionsWhere<AppTenantEntity>[];
9
9
  protected buildWhereClause(request: AppTenantSearchParameters): FindOptionsWhere<AppTenantEntity> | FindOptionsWhere<AppTenantEntity>[];
10
- protected calculateFacets(request: AppTenantSearchParameters): Promise<AppTenantFacets | undefined>;
10
+ protected calculateFacets(request: AppTenantSearchParameters): Promise<AppTenantFacets>;
11
11
  }
@@ -7,5 +7,5 @@ export declare class AppUserGroupMemberQueryBuilder extends NestTypeOrmQueryBuil
7
7
  constructor(registry: EntityManagerRegistry);
8
8
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<AppUserGroupMemberEntity> | FindOptionsWhere<AppUserGroupMemberEntity>[];
9
9
  protected buildWhereClause(request: AppUserGroupMemberSearchParameters): FindOptionsWhere<AppUserGroupMemberEntity> | FindOptionsWhere<AppUserGroupMemberEntity>[];
10
- protected calculateFacets(request: AppUserGroupMemberSearchParameters): Promise<AppUserGroupMemberFacets | undefined>;
10
+ protected calculateFacets(request: AppUserGroupMemberSearchParameters): Promise<AppUserGroupMemberFacets>;
11
11
  }
@@ -7,5 +7,5 @@ export declare class AppUserGroupQueryBuilder extends NestTypeOrmQueryBuilder<Ap
7
7
  constructor(registry: EntityManagerRegistry);
8
8
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<AppUserGroupEntity> | FindOptionsWhere<AppUserGroupEntity>[];
9
9
  protected buildWhereClause(request: AppUserGroupSearchParameters): FindOptionsWhere<AppUserGroupEntity> | FindOptionsWhere<AppUserGroupEntity>[];
10
- protected calculateFacets(request: AppUserGroupSearchParameters): Promise<AppUserGroupFacets | undefined>;
10
+ protected calculateFacets(request: AppUserGroupSearchParameters): Promise<AppUserGroupFacets>;
11
11
  }
@@ -7,5 +7,5 @@ export declare class AppUserProfileQueryBuilder extends NestTypeOrmQueryBuilder<
7
7
  constructor(registry: EntityManagerRegistry);
8
8
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<AppUserProfileEntity> | FindOptionsWhere<AppUserProfileEntity>[];
9
9
  protected buildWhereClause(request: AppUserProfileSearchParameters): FindOptionsWhere<AppUserProfileEntity> | FindOptionsWhere<AppUserProfileEntity>[];
10
- protected calculateFacets(request: AppUserProfileSearchParameters): Promise<AppUserProfileFacets | undefined>;
10
+ protected calculateFacets(request: AppUserProfileSearchParameters): Promise<AppUserProfileFacets>;
11
11
  }
@@ -7,6 +7,6 @@ export declare class AppUserRoleQueryBuilder extends NestTypeOrmQueryBuilder<App
7
7
  constructor(registry: EntityManagerRegistry);
8
8
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<AppUserRoleEntity> | FindOptionsWhere<AppUserRoleEntity>[];
9
9
  protected buildWhereClause(request: AppUserRoleSearchParameters): FindOptionsWhere<AppUserRoleEntity> | FindOptionsWhere<AppUserRoleEntity>[];
10
- protected calculateFacets(request: AppUserRoleSearchParameters): Promise<AppUserRoleFacets | undefined>;
10
+ protected calculateFacets(request: AppUserRoleSearchParameters): Promise<AppUserRoleFacets>;
11
11
  protected getRelationsToLoad(request: AppUserRoleSearchParameters, context: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsRelations<AppUserRoleEntity> | undefined;
12
12
  }
@@ -7,5 +7,5 @@ export declare class AppUserQueryBuilder extends NestTypeOrmQueryBuilder<AppUser
7
7
  constructor(registry: EntityManagerRegistry);
8
8
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<AppUserEntity> | FindOptionsWhere<AppUserEntity>[];
9
9
  protected buildWhereClause(request: AppUserSearchParameters): FindOptionsWhere<AppUserEntity> | FindOptionsWhere<AppUserEntity>[];
10
- protected calculateFacets(request: AppUserSearchParameters): Promise<AppUserFacets | undefined>;
10
+ protected calculateFacets(request: AppUserSearchParameters): Promise<AppUserFacets>;
11
11
  }
@@ -2,6 +2,7 @@ import { IEntitySearchParameters, ISearchSorting, ISearchSortingField, SortDirec
2
2
  import { IEntitiesSearchResults, IEntitiesSearchResultsPaging } from "../../../../../../models";
3
3
  import { FooEntity } from "../../database/core/entities/foo.entity";
4
4
  import { IEntitiesDeleteParameters } from "../../../../../../abstractions/commands";
5
+ import { NumberFacets } from "../../../../../../integrations/repository/typeorm/facets";
5
6
  export type FooEntityId = string;
6
7
  export type FooCreateData = Partial<FooEntity>;
7
8
  export type FooUpdateData = Partial<FooEntity>;
@@ -9,6 +10,7 @@ export interface FooSearchParameters extends IEntitySearchParameters<FooSorting,
9
10
  filters?: FooSearchFilters;
10
11
  }
11
12
  export interface FooFacets {
13
+ age: NumberFacets;
12
14
  }
13
15
  export interface FooSearchFilters {
14
16
  minAge?: number;
@@ -10,5 +10,5 @@ export declare class FooQueryBuilder extends NestTypeOrmQueryBuilder<FooEntity,
10
10
  protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext> | undefined): FindOptionsWhere<FooEntity> | FindOptionsWhere<FooEntity>[];
11
11
  protected buildWhereClause(request: FooSearchParameters): FindOptionsWhere<FooEntity> | FindOptionsWhere<FooEntity>[];
12
12
  private buildAgeWhereClause;
13
- protected calculateFacets(request: FooSearchParameters, context?: IAuthenticationContext<AppAuthContext>): Promise<FooFacets | undefined>;
13
+ protected calculateFacets(request: FooSearchParameters, context?: IAuthenticationContext<AppAuthContext>): Promise<FooFacets>;
14
14
  }
package/dist/index.d.ts CHANGED
@@ -1852,6 +1852,7 @@ declare class TypeOrmRepository<TEntity extends ObjectLiteral, TEntityId> implem
1852
1852
  private readonly logger;
1853
1853
  constructor(innerRepository: Repository<TEntity>);
1854
1854
  getInnerRepository(): Repository<TEntity>;
1855
+ distinct<TField extends keyof TEntity, TValue>(field: TField, condition: FindManyOptions<TEntity>): Promise<any[]>;
1855
1856
  exists(id: TEntityId): Promise<boolean>;
1856
1857
  existsBy(condition: FindOneOptions<TEntity>): Promise<boolean>;
1857
1858
  get(id: TEntityId): Promise<TEntity | undefined>;
@@ -1908,6 +1909,10 @@ declare class QueryClauseBuilder {
1908
1909
  boolFilter(filter: BooleanFilter): FindOperator<boolean>;
1909
1910
  }
1910
1911
 
1912
+ type Facet<T> = {
1913
+ values: T[];
1914
+ };
1915
+
1911
1916
  declare abstract class TypeOrmQueryBuilder<TEntity extends ObjectLiteral, TEntitySearchParameters extends IEntitySearchParameters<TSorting, number>, TSorting extends SortingType, TFacets extends IEntityFacets, TUserContext> extends QueryBuilderBase<TEntity, TEntitySearchParameters, TSorting, number, TFacets, TUserContext> {
1912
1917
  private readonly services;
1913
1918
  private repository;
@@ -1917,6 +1922,7 @@ declare abstract class TypeOrmQueryBuilder<TEntity extends ObjectLiteral, TEntit
1917
1922
  count(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext> | undefined): Promise<number>;
1918
1923
  delete(filters: NonNullable<TEntitySearchParameters["filters"]>, context?: IAuthenticationContext<TUserContext> | undefined): Promise<IEntitiesDeleteResult>;
1919
1924
  search(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<IEntitiesSearchResults<TEntitySearchParameters, TEntity, TSorting, number, TFacets>>;
1925
+ protected getFieldFacet(): Promise<void>;
1920
1926
  protected findPagedQueryResults(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<TEntity[]>;
1921
1927
  protected getRelationsToLoad(request: TEntitySearchParameters, context: IAuthenticationContext<TUserContext> | undefined): FindOptionsRelations<TEntity> | undefined;
1922
1928
  protected buildPagingParameters(request: TEntitySearchParameters): {
@@ -1926,7 +1932,8 @@ declare abstract class TypeOrmQueryBuilder<TEntity extends ObjectLiteral, TEntit
1926
1932
  protected countQueryResults(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<number>;
1927
1933
  protected abstract buildWhereClause(request: TEntitySearchParameters): FindOptionsWhere<TEntity>[] | FindOptionsWhere<TEntity>;
1928
1934
  protected abstract buildContextFilter(context?: IAuthenticationContext<TUserContext>): FindOptionsWhere<TEntity>[] | FindOptionsWhere<TEntity>;
1929
- protected abstract calculateFacets(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<TFacets | undefined>;
1935
+ protected abstract calculateFacets(request: TEntitySearchParameters, context?: IAuthenticationContext<TUserContext>): Promise<TFacets>;
1936
+ protected calculateFacet<TField extends keyof TEntity, TValue>(field: TField, request: TEntitySearchParameters, context: IAuthenticationContext<TUserContext> | undefined): Promise<Facet<TValue>>;
1930
1937
  protected getRepository(): TypeOrmRepository<TEntity, unknown>;
1931
1938
  }
1932
1939
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@punks/backend-entity-manager",
3
- "version": "0.0.97",
3
+ "version": "0.0.98",
4
4
  "description": "",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",