@punks/backend-entity-manager 0.0.105 → 0.0.107

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 (74) hide show
  1. package/dist/cjs/index.js +10 -0
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/platforms/nest/__test__/server/app/appDirectories/appDirectory.actions.d.ts +8 -0
  4. package/dist/cjs/types/platforms/nest/__test__/server/app/appDirectories/appDirectory.controller.d.ts +17 -0
  5. package/dist/cjs/types/platforms/nest/__test__/server/app/appDirectories/appDirectory.converter.d.ts +9 -0
  6. package/dist/cjs/types/platforms/nest/__test__/server/app/appDirectories/appDirectory.dto.d.ts +43 -0
  7. package/dist/cjs/types/platforms/nest/__test__/server/app/appDirectories/appDirectory.module.d.ts +2 -0
  8. package/dist/cjs/types/platforms/nest/__test__/server/app/setup/templates/tenant-initialize/index.d.ts +3 -1
  9. package/dist/cjs/types/platforms/nest/__test__/server/app/setup/templates/tenant-initialize/models.d.ts +5 -0
  10. package/dist/cjs/types/platforms/nest/__test__/server/database/core/entities/appDirectory.entity.d.ts +13 -0
  11. package/dist/cjs/types/platforms/nest/__test__/server/database/core/entities/appTenant.entity.d.ts +2 -0
  12. package/dist/cjs/types/platforms/nest/__test__/server/database/core/entities/appUser.entity.d.ts +2 -0
  13. package/dist/cjs/types/platforms/nest/__test__/server/database/core/entities.d.ts +2 -1
  14. package/dist/cjs/types/platforms/nest/__test__/server/database/core/index.d.ts +4 -0
  15. package/dist/cjs/types/platforms/nest/__test__/server/database/core/repositories/appDirectory.repository.d.ts +7 -0
  16. package/dist/cjs/types/platforms/nest/__test__/server/database/core/repositories.d.ts +2 -1
  17. package/dist/cjs/types/platforms/nest/__test__/server/entities/appDirectories/appDirectory.adapter.d.ts +7 -0
  18. package/dist/cjs/types/platforms/nest/__test__/server/entities/appDirectories/appDirectory.authentication.d.ts +11 -0
  19. package/dist/cjs/types/platforms/nest/__test__/server/entities/appDirectories/appDirectory.manager.d.ts +7 -0
  20. package/dist/cjs/types/platforms/nest/__test__/server/entities/appDirectories/appDirectory.models.d.ts +16 -0
  21. package/dist/cjs/types/platforms/nest/__test__/server/entities/appDirectories/appDirectory.module.d.ts +2 -0
  22. package/dist/cjs/types/platforms/nest/__test__/server/entities/appDirectories/appDirectory.query.d.ts +13 -0
  23. package/dist/cjs/types/platforms/nest/__test__/server/entities/appDirectories/appDirectory.serializer.d.ts +6 -0
  24. package/dist/cjs/types/platforms/nest/__test__/server/entities/appDirectories/appDirectory.types.d.ts +68 -0
  25. package/dist/cjs/types/platforms/nest/__test__/server/entities/appUsers/appUser.models.d.ts +2 -0
  26. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/authentication/providers/context/index.d.ts +4 -1
  27. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/authentication/providers/users/index.d.ts +4 -1
  28. package/dist/cjs/types/platforms/nest/__test__/server/infrastructure/authentication/types.d.ts +1 -1
  29. package/dist/cjs/types/platforms/nest/__test__/server/shared/interceptors/files.d.ts +3 -0
  30. package/dist/cjs/types/platforms/nest/extensions/authentication/abstractions/index.d.ts +6 -0
  31. package/dist/cjs/types/platforms/nest/extensions/multi-tenancy/abstractions/models.d.ts +6 -0
  32. package/dist/cjs/types/platforms/nest/extensions/multi-tenancy/symbols/index.d.ts +1 -0
  33. package/dist/cjs/types/platforms/nest/services/session/index.d.ts +2 -0
  34. package/dist/esm/index.js +10 -0
  35. package/dist/esm/index.js.map +1 -1
  36. package/dist/esm/types/platforms/nest/__test__/server/app/appDirectories/appDirectory.actions.d.ts +8 -0
  37. package/dist/esm/types/platforms/nest/__test__/server/app/appDirectories/appDirectory.controller.d.ts +17 -0
  38. package/dist/esm/types/platforms/nest/__test__/server/app/appDirectories/appDirectory.converter.d.ts +9 -0
  39. package/dist/esm/types/platforms/nest/__test__/server/app/appDirectories/appDirectory.dto.d.ts +43 -0
  40. package/dist/esm/types/platforms/nest/__test__/server/app/appDirectories/appDirectory.module.d.ts +2 -0
  41. package/dist/esm/types/platforms/nest/__test__/server/app/setup/templates/tenant-initialize/index.d.ts +3 -1
  42. package/dist/esm/types/platforms/nest/__test__/server/app/setup/templates/tenant-initialize/models.d.ts +5 -0
  43. package/dist/esm/types/platforms/nest/__test__/server/database/core/entities/appDirectory.entity.d.ts +13 -0
  44. package/dist/esm/types/platforms/nest/__test__/server/database/core/entities/appTenant.entity.d.ts +2 -0
  45. package/dist/esm/types/platforms/nest/__test__/server/database/core/entities/appUser.entity.d.ts +2 -0
  46. package/dist/esm/types/platforms/nest/__test__/server/database/core/entities.d.ts +2 -1
  47. package/dist/esm/types/platforms/nest/__test__/server/database/core/index.d.ts +4 -0
  48. package/dist/esm/types/platforms/nest/__test__/server/database/core/repositories/appDirectory.repository.d.ts +7 -0
  49. package/dist/esm/types/platforms/nest/__test__/server/database/core/repositories.d.ts +2 -1
  50. package/dist/esm/types/platforms/nest/__test__/server/entities/appDirectories/appDirectory.adapter.d.ts +7 -0
  51. package/dist/esm/types/platforms/nest/__test__/server/entities/appDirectories/appDirectory.authentication.d.ts +11 -0
  52. package/dist/esm/types/platforms/nest/__test__/server/entities/appDirectories/appDirectory.manager.d.ts +7 -0
  53. package/dist/esm/types/platforms/nest/__test__/server/entities/appDirectories/appDirectory.models.d.ts +16 -0
  54. package/dist/esm/types/platforms/nest/__test__/server/entities/appDirectories/appDirectory.module.d.ts +2 -0
  55. package/dist/esm/types/platforms/nest/__test__/server/entities/appDirectories/appDirectory.query.d.ts +13 -0
  56. package/dist/esm/types/platforms/nest/__test__/server/entities/appDirectories/appDirectory.serializer.d.ts +6 -0
  57. package/dist/esm/types/platforms/nest/__test__/server/entities/appDirectories/appDirectory.types.d.ts +68 -0
  58. package/dist/esm/types/platforms/nest/__test__/server/entities/appUsers/appUser.models.d.ts +2 -0
  59. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/authentication/providers/context/index.d.ts +4 -1
  60. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/authentication/providers/users/index.d.ts +4 -1
  61. package/dist/esm/types/platforms/nest/__test__/server/infrastructure/authentication/types.d.ts +1 -1
  62. package/dist/esm/types/platforms/nest/__test__/server/shared/interceptors/files.d.ts +3 -0
  63. package/dist/esm/types/platforms/nest/extensions/authentication/abstractions/index.d.ts +6 -0
  64. package/dist/esm/types/platforms/nest/extensions/multi-tenancy/abstractions/models.d.ts +6 -0
  65. package/dist/esm/types/platforms/nest/extensions/multi-tenancy/symbols/index.d.ts +1 -0
  66. package/dist/esm/types/platforms/nest/services/session/index.d.ts +2 -0
  67. package/dist/index.d.ts +15 -1
  68. package/package.json +1 -1
  69. /package/dist/cjs/types/platforms/nest/__test__/server/app/setup/templates/instance-initialize/{pipeline.test.d.ts → instance-initialize.pipeline.test.d.ts} +0 -0
  70. /package/dist/cjs/types/platforms/nest/__test__/server/app/setup/templates/organization-register/{pipeline.test.d.ts → organization-register.pipeline.test.d.ts} +0 -0
  71. /package/dist/cjs/types/platforms/nest/__test__/server/app/setup/templates/tenant-initialize/{pipeline.test.d.ts → tenant-initialize.pipeline.test.d.ts} +0 -0
  72. /package/dist/esm/types/platforms/nest/__test__/server/app/setup/templates/instance-initialize/{pipeline.test.d.ts → instance-initialize.pipeline.test.d.ts} +0 -0
  73. /package/dist/esm/types/platforms/nest/__test__/server/app/setup/templates/organization-register/{pipeline.test.d.ts → organization-register.pipeline.test.d.ts} +0 -0
  74. /package/dist/esm/types/platforms/nest/__test__/server/app/setup/templates/tenant-initialize/{pipeline.test.d.ts → tenant-initialize.pipeline.test.d.ts} +0 -0
@@ -0,0 +1,8 @@
1
+ import { EntityManagerRegistry, NestEntityActions } from "../../../../../..";
2
+ import { AppDirectoryCreateDto, AppDirectoryDto, AppDirectoryListItemDto, AppDirectoryUpdateDto } from "./appDirectory.dto";
3
+ import { AppDirectoryEntity } from "../../database/core/entities/appDirectory.entity";
4
+ import { AppDirectoryCursor, AppDirectoryEntityId, AppDirectoryFacets, AppDirectorySorting } from "../../entities/appDirectories/appDirectory.models";
5
+ import { AppDirectoryDeleteParameters, AppDirectorySearchParameters } from "../../entities/appDirectories/appDirectory.types";
6
+ export declare class AppDirectoryActions extends NestEntityActions<AppDirectoryEntity, AppDirectoryEntityId, AppDirectoryCreateDto, AppDirectoryUpdateDto, AppDirectoryDto, AppDirectoryListItemDto, AppDirectoryDeleteParameters, AppDirectorySearchParameters, AppDirectorySorting, AppDirectoryCursor, AppDirectoryFacets> {
7
+ constructor(registry: EntityManagerRegistry);
8
+ }
@@ -0,0 +1,17 @@
1
+ /// <reference types="multer" />
2
+ import { EntitySerializationFormat } from "../../../../../..";
3
+ import { AppDirectoryActions } from "./appDirectory.actions";
4
+ import { AppDirectoryCreateDto, AppDirectoryDto, AppDirectoryExportRequest, AppDirectoryExportResponse, AppDirectorySampleDownloadRequest, AppDirectorySampleDownloadResponse, AppDirectorySearchRequest, AppDirectorySearchResponse, AppDirectoryUpdateDto, AppDirectoryVersionsSearchRequest, AppDirectoryVersionsSearchResponse } from "./appDirectory.dto";
5
+ export declare class AppDirectoryController {
6
+ private readonly actions;
7
+ constructor(actions: AppDirectoryActions);
8
+ item(id: string): Promise<AppDirectoryDto | undefined>;
9
+ create(data: AppDirectoryCreateDto): Promise<AppDirectoryDto>;
10
+ update(id: string, item: AppDirectoryUpdateDto): Promise<AppDirectoryDto>;
11
+ delete(id: string): Promise<void>;
12
+ search(request: AppDirectorySearchRequest): Promise<AppDirectorySearchResponse>;
13
+ import(format: EntitySerializationFormat, file: Express.Multer.File): Promise<void>;
14
+ export(request: AppDirectoryExportRequest): Promise<AppDirectoryExportResponse>;
15
+ sampleDownload(request: AppDirectorySampleDownloadRequest): Promise<AppDirectorySampleDownloadResponse>;
16
+ versions(request: AppDirectoryVersionsSearchRequest): Promise<AppDirectoryVersionsSearchResponse>;
17
+ }
@@ -0,0 +1,9 @@
1
+ import { IEntityConverter } from "../../../../../..";
2
+ import { AppDirectoryCreateDto, AppDirectoryDto, AppDirectoryListItemDto, AppDirectoryUpdateDto } from "./appDirectory.dto";
3
+ import { AppDirectoryEntity } from "../../database/core/entities/appDirectory.entity";
4
+ export declare class AppDirectoryConverter implements IEntityConverter<AppDirectoryEntity, AppDirectoryDto, AppDirectoryListItemDto, AppDirectoryCreateDto, AppDirectoryUpdateDto> {
5
+ toListItemDto(entity: AppDirectoryEntity): AppDirectoryListItemDto;
6
+ toEntityDto(entity: AppDirectoryEntity): AppDirectoryDto;
7
+ createDtoToEntity(input: AppDirectoryCreateDto): Partial<AppDirectoryEntity>;
8
+ updateDtoToEntity(input: AppDirectoryUpdateDto): Partial<AppDirectoryEntity>;
9
+ }
@@ -0,0 +1,43 @@
1
+ import { EntitySerializationFormat } from "../../../../../..";
2
+ import { AppDirectorySearchParameters, AppDirectorySearchResults, AppDirectoryVersionsSearchParameters, AppDirectoryVersionsSearchResults } from "../../entities/appDirectories/appDirectory.types";
3
+ export declare class AppDirectoryDto {
4
+ id: string;
5
+ createdOn: Date;
6
+ updatedOn: Date;
7
+ }
8
+ export declare class AppDirectoryListItemDto {
9
+ id: string;
10
+ }
11
+ export declare class AppDirectoryCreateDto {
12
+ }
13
+ export declare class AppDirectoryUpdateDto {
14
+ id: string;
15
+ }
16
+ export declare class AppDirectorySearchRequest {
17
+ params: AppDirectorySearchParameters;
18
+ }
19
+ export declare class AppDirectorySearchResponse extends AppDirectorySearchResults<AppDirectoryListItemDto> {
20
+ items: AppDirectoryListItemDto[];
21
+ }
22
+ export declare class AppDirectoryEntitiesExportOptions {
23
+ format: EntitySerializationFormat;
24
+ }
25
+ export declare class AppDirectoryExportRequest {
26
+ options: AppDirectoryEntitiesExportOptions;
27
+ filter?: AppDirectorySearchParameters;
28
+ }
29
+ export declare class AppDirectoryExportResponse {
30
+ downloadUrl: string;
31
+ }
32
+ export declare class AppDirectorySampleDownloadRequest {
33
+ format: EntitySerializationFormat;
34
+ }
35
+ export declare class AppDirectorySampleDownloadResponse {
36
+ downloadUrl: string;
37
+ }
38
+ export declare class AppDirectoryVersionsSearchRequest {
39
+ params: AppDirectoryVersionsSearchParameters;
40
+ }
41
+ export declare class AppDirectoryVersionsSearchResponse extends AppDirectoryVersionsSearchResults<AppDirectoryListItemDto> {
42
+ items: AppDirectoryListItemDto[];
43
+ }
@@ -0,0 +1,2 @@
1
+ export declare class AppDirectoryAppModule {
2
+ }
@@ -5,9 +5,11 @@ import { AppAuthContext } from "../../../../infrastructure/authentication";
5
5
  import { AppTenantEntityManager } from "../../../../entities/appTenants/appTenant.manager";
6
6
  import { TenantInitializeRequest, TenantInitializeResponse } from "./models";
7
7
  import { AuthenticationService } from "../../../../../../extensions";
8
+ import { AppDirectoryEntityManager } from "../../../../entities/appDirectories/appDirectory.manager";
8
9
  export declare class TenantInitializeTemplate extends NestPipelineTemplate<TenantInitializeRequest, TenantInitializeResponse, AppAuthContext> {
9
10
  private readonly auth;
10
11
  private readonly tenants;
11
- constructor(auth: AuthenticationService, tenants: AppTenantEntityManager);
12
+ private readonly directories;
13
+ constructor(auth: AuthenticationService, tenants: AppTenantEntityManager, directories: AppDirectoryEntityManager);
12
14
  protected buildTemplate(builder: IPipelineTemplateBuilder<TenantInitializeRequest, AppAuthContext>): PipelineDefinition<TenantInitializeRequest, TenantInitializeResponse, AppAuthContext>;
13
15
  }
@@ -2,6 +2,10 @@ export declare class TenantInitializeInfo {
2
2
  name: string;
3
3
  uid: string;
4
4
  }
5
+ export declare class DirectoryInitializeInfo {
6
+ name: string;
7
+ uid: string;
8
+ }
5
9
  export declare class TenantAdmin {
6
10
  email: string;
7
11
  firstName: string;
@@ -10,6 +14,7 @@ export declare class TenantAdmin {
10
14
  }
11
15
  export declare class TenantInitializeRequest {
12
16
  tenant: TenantInitializeInfo;
17
+ directory: DirectoryInitializeInfo;
13
18
  defaultAdmin: TenantAdmin;
14
19
  }
15
20
  export declare class TenantInitializeResponse {
@@ -0,0 +1,13 @@
1
+ import { AppTenantEntity } from "./appTenant.entity";
2
+ import { AppUserEntity } from "./appUser.entity";
3
+ import { IAppDirectory } from "../../../../../extensions";
4
+ export declare class AppDirectoryEntity implements IAppDirectory {
5
+ id: string;
6
+ uid: string;
7
+ name: string;
8
+ default: boolean;
9
+ tenant: AppTenantEntity;
10
+ users?: AppUserEntity[];
11
+ createdOn: Date;
12
+ updatedOn: Date;
13
+ }
@@ -1,11 +1,13 @@
1
1
  import { AppOrganizationEntity } from "./appOrganization.entity";
2
2
  import { AppUserEntity } from "./appUser.entity";
3
+ import { AppDirectoryEntity } from "./appDirectory.entity";
3
4
  export declare class AppTenantEntity {
4
5
  id: string;
5
6
  uid: string;
6
7
  name: string;
7
8
  organizations?: AppOrganizationEntity[];
8
9
  users?: AppUserEntity[];
10
+ directories?: AppDirectoryEntity[];
9
11
  createdOn: Date;
10
12
  updatedOn: Date;
11
13
  }
@@ -3,6 +3,7 @@ import { AppUserProfileEntity } from "./appUserProfile.entity";
3
3
  import { AppUserRoleEntity } from "./appUserRole.entity";
4
4
  import { AppUserGroupMemberEntity } from "./appUserGroupMember.entity";
5
5
  import { AppTenantEntity } from "./appTenant.entity";
6
+ import { AppDirectoryEntity } from "./appDirectory.entity";
6
7
  export declare class AppUserEntity {
7
8
  id: string;
8
9
  uid?: string;
@@ -18,6 +19,7 @@ export declare class AppUserEntity {
18
19
  userRoles?: AppUserRoleEntity[];
19
20
  userGroups?: AppUserGroupMemberEntity[];
20
21
  tenant: AppTenantEntity;
22
+ directory: AppDirectoryEntity;
21
23
  organization: AppOrganizationEntity;
22
24
  createdOn: Date;
23
25
  updatedOn: Date;
@@ -10,4 +10,5 @@ import { AppUserGroupMemberEntity } from "./entities/appUserGroupMember.entity";
10
10
  import { AppUserProfileEntity } from "./entities/appUserProfile.entity";
11
11
  import { AppUserRoleEntity } from "./entities/appUserRole.entity";
12
12
  import { AppEntityVersionEntity } from "./entities/appEntityVersion.entity";
13
- export declare const CoreDatabaseEntities: (typeof AppUserProfileEntity | typeof AppRoleEntity | typeof AppUserRoleEntity | typeof AppUserEntity | typeof AppUserGroupEntity | typeof AppOrganizationEntity | typeof AppUserGroupMemberEntity | typeof AppTenantEntity | typeof AppCompanyEntity | typeof AppDivisionEntity | typeof AppEntityVersionEntity | typeof FooEntity)[];
13
+ import { AppDirectoryEntity } from "./entities/appDirectory.entity";
14
+ export declare const CoreDatabaseEntities: (typeof AppUserProfileEntity | typeof AppRoleEntity | typeof AppUserRoleEntity | typeof AppUserEntity | typeof AppUserGroupEntity | typeof AppOrganizationEntity | typeof AppUserGroupMemberEntity | typeof AppDirectoryEntity | typeof AppTenantEntity | typeof AppCompanyEntity | typeof AppDivisionEntity | typeof AppEntityVersionEntity | typeof FooEntity)[];
@@ -12,12 +12,16 @@ import { AppUserProfileEntity } from "./entities/appUserProfile.entity";
12
12
  import { AppUserRoleEntity } from "./entities/appUserRole.entity";
13
13
  import { DynamicModule } from "@nestjs/common";
14
14
  import { AppEntityVersionEntity } from "./entities/appEntityVersion.entity";
15
+ import { AppDirectoryEntity } from "./entities/appDirectory.entity";
15
16
  export declare const mockDatabaseProviders: (dataSource: DataSource) => ({
16
17
  provide: string | Function;
17
18
  useValue: import("typeorm").Repository<AppCompanyEntity>;
18
19
  } | {
19
20
  provide: string | Function;
20
21
  useValue: import("typeorm").Repository<AppDivisionEntity>;
22
+ } | {
23
+ provide: string | Function;
24
+ useValue: import("typeorm").Repository<AppDirectoryEntity>;
21
25
  } | {
22
26
  provide: string | Function;
23
27
  useValue: import("typeorm").Repository<AppEntityVersionEntity>;
@@ -0,0 +1,7 @@
1
+ import { Repository } from "typeorm";
2
+ import { AppDirectoryEntity } from "../entities/appDirectory.entity";
3
+ import { NestTypeOrmRepository } from "../../../../../integrations";
4
+ import { AppDirectoryEntityId } from "../../../entities/appDirectories/appDirectory.models";
5
+ export declare class AppDirectoryRepository extends NestTypeOrmRepository<AppDirectoryEntity, AppDirectoryEntityId> {
6
+ constructor(repository: Repository<AppDirectoryEntity>);
7
+ }
@@ -1,4 +1,5 @@
1
1
  import { AppCompanyRepository } from "./repositories/appCompany.repository";
2
+ import { AppDirectoryRepository } from "./repositories/appDirectory.repository";
2
3
  import { AppDivisionRepository } from "./repositories/appDivision.repository";
3
4
  import { AppEntityVersionRepository } from "./repositories/appEntityVersion.repository";
4
5
  import { AppOrganizationRepository } from "./repositories/appOrganization.repository";
@@ -10,4 +11,4 @@ import { AppUserGroupMemberRepository } from "./repositories/appUserGroupMember.
10
11
  import { AppUserProfileRepository } from "./repositories/appUserProfile.repository";
11
12
  import { AppUserRoleRepository } from "./repositories/appUserRole.repository";
12
13
  import { FooRepository } from "./repositories/foo.repository";
13
- export declare const CoreDatabaseRepositories: (typeof AppCompanyRepository | typeof AppDivisionRepository | typeof AppEntityVersionRepository | typeof AppOrganizationRepository | typeof AppRoleRepository | typeof AppTenantRepository | typeof AppUserRepository | typeof AppUserGroupRepository | typeof AppUserGroupMemberRepository | typeof AppUserProfileRepository | typeof AppUserRoleRepository | typeof FooRepository)[];
14
+ export declare const CoreDatabaseRepositories: (typeof AppCompanyRepository | typeof AppDirectoryRepository | typeof AppDivisionRepository | typeof AppEntityVersionRepository | typeof AppOrganizationRepository | typeof AppRoleRepository | typeof AppTenantRepository | typeof AppUserRepository | typeof AppUserGroupRepository | typeof AppUserGroupMemberRepository | typeof AppUserProfileRepository | typeof AppUserRoleRepository | typeof FooRepository)[];
@@ -0,0 +1,7 @@
1
+ import { DeepPartial, IEntityAdapter } from "../../../../../..";
2
+ import { AppDirectoryEntity } from "../../database/core/entities/appDirectory.entity";
3
+ import { AppDirectoryCreateData, AppDirectoryUpdateData } from "./appDirectory.models";
4
+ export declare class AppDirectoryAdapter implements IEntityAdapter<AppDirectoryEntity, AppDirectoryCreateData, AppDirectoryUpdateData> {
5
+ createDataToEntity(data: AppDirectoryCreateData): DeepPartial<AppDirectoryEntity>;
6
+ updateDataToEntity(data: AppDirectoryUpdateData): DeepPartial<AppDirectoryEntity>;
7
+ }
@@ -0,0 +1,11 @@
1
+ import { IAuthorizationResult } from "../../../../../..";
2
+ import { AppAuthContext, AppEntityAuthorizationMiddlewareBase } from "../../infrastructure/authentication/index";
3
+ import { AppDirectoryEntity } from "../../database/core/entities/appDirectory.entity";
4
+ export declare class AppDirectoryAuthMiddleware extends AppEntityAuthorizationMiddlewareBase<AppDirectoryEntity> {
5
+ canSearch(context: AppAuthContext): Promise<IAuthorizationResult>;
6
+ canRead(entity: Partial<AppDirectoryEntity>, context: AppAuthContext): Promise<IAuthorizationResult>;
7
+ canCreate(entity: Partial<AppDirectoryEntity>, context: AppAuthContext): Promise<IAuthorizationResult>;
8
+ canUpdate(entity: Partial<AppDirectoryEntity>, context: AppAuthContext): Promise<IAuthorizationResult>;
9
+ canDelete(entity: Partial<AppDirectoryEntity>, context: AppAuthContext): Promise<IAuthorizationResult>;
10
+ canDeleteItems(context: AppAuthContext): Promise<IAuthorizationResult>;
11
+ }
@@ -0,0 +1,7 @@
1
+ import { NestEntityManager, EntityManagerRegistry } from "../../../../../..";
2
+ import { AppDirectoryCreateData, AppDirectoryCursor, AppDirectoryEntityId, AppDirectoryFacets, AppDirectorySorting, AppDirectoryUpdateData } from "./appDirectory.models";
3
+ import { AppDirectorySearchParameters, AppDirectoryDeleteParameters } from "./appDirectory.types";
4
+ import { AppDirectoryEntity } from "../../database/core/entities/appDirectory.entity";
5
+ export declare class AppDirectoryEntityManager extends NestEntityManager<AppDirectoryEntity, AppDirectoryEntityId, AppDirectoryCreateData, AppDirectoryUpdateData, AppDirectoryDeleteParameters, AppDirectorySearchParameters, AppDirectorySorting, AppDirectoryCursor, AppDirectoryFacets> {
6
+ constructor(registry: EntityManagerRegistry);
7
+ }
@@ -0,0 +1,16 @@
1
+ import { DeepPartial } from "../../../../../..";
2
+ import { AppDirectoryEntity } from "../../database/core/entities/appDirectory.entity";
3
+ export type AppDirectoryEntityId = string;
4
+ export type AppDirectoryCreateData = DeepPartial<Omit<AppDirectoryEntity, "id">>;
5
+ export type AppDirectoryUpdateData = DeepPartial<Omit<AppDirectoryEntity, "id">>;
6
+ export declare enum AppDirectorySorting {
7
+ Name = "Name"
8
+ }
9
+ export type AppDirectoryCursor = number;
10
+ export declare class AppDirectorySearchFilters {
11
+ uid?: string;
12
+ tenantUid?: string;
13
+ default?: boolean;
14
+ }
15
+ export declare class AppDirectoryFacets {
16
+ }
@@ -0,0 +1,2 @@
1
+ export declare class AppDirectoryEntityModule {
2
+ }
@@ -0,0 +1,13 @@
1
+ import { FindOptionsOrder, FindOptionsWhere } from "typeorm";
2
+ import { IAuthenticationContext, EntityManagerRegistry, NestTypeOrmQueryBuilder } from "../../../../../..";
3
+ import { AppDirectoryEntity } from "../../database/core/entities/appDirectory.entity";
4
+ import { AppDirectoryFacets, AppDirectorySorting } from "./appDirectory.models";
5
+ import { AppDirectorySearchParameters } from "./appDirectory.types";
6
+ import { AppAuthContext } from "../../infrastructure/authentication/types";
7
+ export declare class AppDirectoryQueryBuilder extends NestTypeOrmQueryBuilder<AppDirectoryEntity, AppDirectorySearchParameters, AppDirectorySorting, AppDirectoryFacets, AppAuthContext> {
8
+ constructor(registry: EntityManagerRegistry);
9
+ protected buildContextFilter(context?: IAuthenticationContext<AppAuthContext>): FindOptionsWhere<AppDirectoryEntity> | FindOptionsWhere<AppDirectoryEntity>[];
10
+ protected buildSortingClause(request: AppDirectorySearchParameters): FindOptionsOrder<AppDirectoryEntity>;
11
+ protected buildWhereClause(request: AppDirectorySearchParameters): FindOptionsWhere<AppDirectoryEntity> | FindOptionsWhere<AppDirectoryEntity>[];
12
+ protected calculateFacets(request: AppDirectorySearchParameters, context?: IAuthenticationContext<AppAuthContext>): Promise<AppDirectoryFacets>;
13
+ }
@@ -0,0 +1,6 @@
1
+ import { NestEntitySerializer, EntityManagerRegistry, EntitySerializerSheetDefinition } from "../../../../../..";
2
+ import { AppDirectoryEntity } from "../../database/core/entities/appDirectory.entity";
3
+ export declare class AppDirectorySerializer extends NestEntitySerializer<AppDirectoryEntity, string> {
4
+ constructor(registry: EntityManagerRegistry);
5
+ protected getDefinition(): EntitySerializerSheetDefinition<AppDirectoryEntity>;
6
+ }
@@ -0,0 +1,68 @@
1
+ import { IEntitiesDeleteParameters, IEntitiesSearchResults, IEntitiesSearchResultsPaging, IEntitySearchParameters, IFullTextQuery, ISearchOptions, ISearchRequestPaging, ISearchSorting, ISearchSortingField, IEntityVersionsSearchParameters, IEntityVersionsResultsPaging, IEntityVersionsSearchResults, SortDirection } from "../../../../../..";
2
+ import { AppDirectorySorting, AppDirectoryCursor, AppDirectorySearchFilters, AppDirectoryFacets } from "./appDirectory.models";
3
+ import { EntityVersionsCursor, EntityVersionsFilters, EntityVersionsReference, EntityVersionsSorting } from "../../shared/api/versioning";
4
+ export declare class AppDirectorySearchSortingField implements ISearchSortingField<AppDirectorySorting> {
5
+ field: AppDirectorySorting;
6
+ direction: SortDirection;
7
+ }
8
+ export declare class AppDirectoryQuerySorting implements ISearchSorting<AppDirectorySorting> {
9
+ fields: AppDirectorySearchSortingField[];
10
+ }
11
+ export declare class AppDirectoryQueryPaging implements ISearchRequestPaging<AppDirectoryCursor> {
12
+ cursor?: AppDirectoryCursor;
13
+ pageSize: number;
14
+ }
15
+ export declare class AppDirectorySearchOptions implements ISearchOptions {
16
+ includeFacets?: boolean;
17
+ }
18
+ export declare class AppDirectoryFullTextQuery implements IFullTextQuery {
19
+ term: string;
20
+ fields?: string[];
21
+ }
22
+ export declare class AppDirectorySearchParameters implements IEntitySearchParameters<AppDirectorySorting, AppDirectoryCursor> {
23
+ query?: AppDirectoryFullTextQuery;
24
+ filters?: AppDirectorySearchFilters;
25
+ sorting?: AppDirectoryQuerySorting;
26
+ paging?: AppDirectoryQueryPaging;
27
+ options?: AppDirectorySearchOptions;
28
+ }
29
+ export declare class AppDirectorySearchResultsPaging implements IEntitiesSearchResultsPaging<AppDirectoryCursor> {
30
+ pageIndex: number;
31
+ pageSize: number;
32
+ totPageItems: number;
33
+ totPages: number;
34
+ totItems: number;
35
+ nextPageCursor?: AppDirectoryCursor;
36
+ currentPageCursor?: AppDirectoryCursor;
37
+ prevPageCursor?: AppDirectoryCursor;
38
+ }
39
+ export declare class AppDirectorySearchResults<TResult> implements IEntitiesSearchResults<AppDirectorySearchParameters, TResult, AppDirectorySorting, AppDirectoryCursor, AppDirectoryFacets> {
40
+ request: AppDirectorySearchParameters;
41
+ facets?: AppDirectoryFacets;
42
+ paging?: AppDirectorySearchResultsPaging;
43
+ items: TResult[];
44
+ }
45
+ export declare class AppDirectoryDeleteParameters implements IEntitiesDeleteParameters<AppDirectorySorting> {
46
+ filters?: AppDirectorySearchFilters;
47
+ sorting?: AppDirectoryQuerySorting;
48
+ }
49
+ export declare class AppDirectoryVersionsSearchParameters implements IEntityVersionsSearchParameters<AppDirectoryCursor> {
50
+ entity: EntityVersionsReference;
51
+ filters?: EntityVersionsFilters;
52
+ sorting?: EntityVersionsSorting;
53
+ paging?: EntityVersionsCursor<AppDirectoryCursor>;
54
+ }
55
+ export declare class AppDirectoryVersionsResultsPaging implements IEntityVersionsResultsPaging<AppDirectoryCursor> {
56
+ pageIndex: number;
57
+ pageSize: number;
58
+ totPageItems: number;
59
+ totPages: number;
60
+ totItems: number;
61
+ nextPageCursor?: AppDirectoryCursor;
62
+ currentPageCursor?: AppDirectoryCursor;
63
+ prevPageCursor?: AppDirectoryCursor;
64
+ }
65
+ export declare class AppDirectoryVersionsSearchResults<TResult> implements IEntityVersionsSearchResults<TResult, AppDirectoryCursor> {
66
+ paging?: AppDirectoryVersionsResultsPaging;
67
+ items: TResult[];
68
+ }
@@ -13,6 +13,8 @@ export declare class AppUserSearchFilters {
13
13
  organizationUid?: string;
14
14
  tenantId?: string;
15
15
  tenantUid?: string;
16
+ directoryId?: string;
17
+ directoryUid?: string;
16
18
  }
17
19
  export declare enum AppUserSorting {
18
20
  Name = "Name"
@@ -1,5 +1,8 @@
1
1
  import { AppAuthContext } from "../../types";
2
- import { IAuthenticationContext, IAuthenticationContextProvider } from "../../../../../../../..";
2
+ import { AppSessionService, IAuthenticationContext, IAuthenticationContextProvider } from "../../../../../../../..";
3
3
  export declare class AppAuthContextProvider implements IAuthenticationContextProvider<AppAuthContext> {
4
+ private readonly appSessionService;
5
+ constructor(appSessionService: AppSessionService);
4
6
  getContext(): Promise<IAuthenticationContext<AppAuthContext>>;
7
+ private getRequestAuth;
5
8
  }
@@ -6,18 +6,21 @@ import { AppOrganizationEntityManager } from "../../../../entities/appOrganizati
6
6
  import { AppUserProfileEntityManager } from "../../../../entities/appUserProfiles/appUserProfile.manager";
7
7
  import { AuthUserRegistrationData } from "../../models";
8
8
  import { AppTenantEntityManager } from "../../../../entities/appTenants/appTenant.manager";
9
+ import { AppDirectoryEntityManager } from "../../../../entities/appDirectories/appDirectory.manager";
9
10
  export declare class AuthUserService implements IAuthUserService<AppUserEntity, AppUserContext, AuthUserRegistrationData> {
10
11
  private readonly userManager;
11
12
  private readonly userProfileManager;
12
13
  private readonly organizationsManager;
14
+ private readonly directoriesManager;
13
15
  private readonly tenantsManager;
14
- constructor(userManager: AppUserEntityManager, userProfileManager: AppUserProfileEntityManager, organizationsManager: AppOrganizationEntityManager, tenantsManager: AppTenantEntityManager);
16
+ constructor(userManager: AppUserEntityManager, userProfileManager: AppUserProfileEntityManager, organizationsManager: AppOrganizationEntityManager, directoriesManager: AppDirectoryEntityManager, tenantsManager: AppTenantEntityManager);
15
17
  getById(id: string): Promise<AppUserEntity>;
16
18
  getByEmail(email: string, context?: AppUserContext | undefined): Promise<AppUserEntity>;
17
19
  getByUserName(userName: string, context?: AppUserContext | undefined): Promise<AppUserEntity>;
18
20
  update(id: string, data: Partial<AppUserEntity>): Promise<void>;
19
21
  delete(id: string): Promise<void>;
20
22
  create(email: string, userName: string, data: AuthUserRegistrationData, context?: AppUserContext | undefined): Promise<AppUserEntity>;
23
+ private resolveTenantDefaultDirectory;
21
24
  private resolveOrganization;
22
25
  private resolveTenant;
23
26
  }
@@ -5,7 +5,7 @@ export type AppUserInfo = {
5
5
  lastName: string;
6
6
  };
7
7
  export type AppUserContext = {
8
- organizationUid?: string;
8
+ organizationUid: string;
9
9
  tenantUid: string;
10
10
  };
11
11
  export declare class AppAuthContext implements IAuthenticationContext<AppUserContext> {
@@ -0,0 +1,3 @@
1
+ import { MulterOptions } from "@nestjs/platform-express/multer/interfaces/multer-options.interface";
2
+ export declare const ApiFile: () => PropertyDecorator;
3
+ export declare function ApiBodyFile(fieldName?: string, required?: boolean, localOptions?: MulterOptions): <TFunction extends Function, Y>(target: object | TFunction, propertyKey?: string | symbol | undefined, descriptor?: TypedPropertyDescriptor<Y> | undefined) => void;
@@ -9,10 +9,16 @@ export interface IAuthUserProfile {
9
9
  firstName: string;
10
10
  lastName: string;
11
11
  }
12
+ export interface IAuthUserTenant {
13
+ id: string;
14
+ uid: string;
15
+ name: string;
16
+ }
12
17
  export interface IAuthUserOrganization {
13
18
  id: string;
14
19
  uid: string;
15
20
  name: string;
21
+ tenant: IAuthUserTenant;
16
22
  }
17
23
  export interface IAuthUser {
18
24
  id: string;
@@ -1,3 +1,8 @@
1
+ export interface IAppDirectory {
2
+ id: string;
3
+ uid: string;
4
+ name: string;
5
+ }
1
6
  export interface IAppTenant {
2
7
  id: string;
3
8
  uid: string;
@@ -34,6 +39,7 @@ export interface IAppUser {
34
39
  disabled: boolean;
35
40
  profile: IAppUserProfile;
36
41
  tenant: IAppTenant;
42
+ directory: IAppDirectory;
37
43
  organization?: IAppOrganization;
38
44
  }
39
45
  export interface IAppUserGroup {
@@ -7,4 +7,5 @@ export declare const MultiTenancyEntities: {
7
7
  User: string;
8
8
  UserGroup: string;
9
9
  UserRole: string;
10
+ Directory: string;
10
11
  };
@@ -5,5 +5,7 @@ export declare class AppSessionService {
5
5
  setValue<T>(key: string, value: T): void;
6
6
  clearValue(key: string): void;
7
7
  getRequest(): import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>>;
8
+ retrieveRequest(): import("express").Request<import("express-serve-static-core").ParamsDictionary, any, any, import("qs").ParsedQs, Record<string, any>> | undefined;
9
+ private retrieveSession;
8
10
  private getSession;
9
11
  }
package/dist/esm/index.js CHANGED
@@ -2467,6 +2467,16 @@ let AppSessionService = class AppSessionService {
2467
2467
  getRequest() {
2468
2468
  return this.getSession().request;
2469
2469
  }
2470
+ retrieveRequest() {
2471
+ return this.retrieveSession()?.request;
2472
+ }
2473
+ retrieveSession() {
2474
+ const store = sessionStorage.getStore();
2475
+ if (!store) {
2476
+ return undefined;
2477
+ }
2478
+ return store;
2479
+ }
2470
2480
  getSession() {
2471
2481
  const store = sessionStorage.getStore();
2472
2482
  if (!store) {