@punks/backend-entity-manager 0.0.151 → 0.0.152

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 (46) hide show
  1. package/dist/cjs/index.js +12 -5
  2. package/dist/cjs/index.js.map +1 -1
  3. package/dist/cjs/types/__test__/entity/foo.d.ts +2 -2
  4. package/dist/cjs/types/__test__/providers/typeorm/serializer/foo.d.ts +3 -4
  5. package/dist/cjs/types/base/serializer.d.ts +7 -4
  6. package/dist/cjs/types/platforms/nest/__test__/server/entities/appCompanies/appCompany.serializer.d.ts +3 -2
  7. package/dist/cjs/types/platforms/nest/__test__/server/entities/appDirectories/appDirectory.serializer.d.ts +3 -2
  8. package/dist/cjs/types/platforms/nest/__test__/server/entities/appDivisions/appDivision.serializer.d.ts +3 -2
  9. package/dist/cjs/types/platforms/nest/__test__/server/entities/appEmailLogs/appEmailLog.serializer.d.ts +3 -2
  10. package/dist/cjs/types/platforms/nest/__test__/server/entities/appEntityVersions/appEntityVersion.serializer.d.ts +3 -2
  11. package/dist/cjs/types/platforms/nest/__test__/server/entities/appFileReferences/appFileReference.serializer.d.ts +3 -2
  12. package/dist/cjs/types/platforms/nest/__test__/server/entities/appOrganizations/appOrganization.serializer.d.ts +3 -2
  13. package/dist/cjs/types/platforms/nest/__test__/server/entities/appRoles/appRole.serializer.d.ts +3 -2
  14. package/dist/cjs/types/platforms/nest/__test__/server/entities/appTenants/appTenant.serializer.d.ts +3 -2
  15. package/dist/cjs/types/platforms/nest/__test__/server/entities/appUserGroupMembers/appUserGroupMember.serializer.d.ts +3 -2
  16. package/dist/cjs/types/platforms/nest/__test__/server/entities/appUserGroups/appUserGroup.serializer.d.ts +3 -2
  17. package/dist/cjs/types/platforms/nest/__test__/server/entities/appUserProfiles/appUserProfile.serializer.d.ts +3 -2
  18. package/dist/cjs/types/platforms/nest/__test__/server/entities/appUserRoles/appUserRole.serializer.d.ts +3 -2
  19. package/dist/cjs/types/platforms/nest/__test__/server/entities/appUsers/appUser.serializer.d.ts +3 -2
  20. package/dist/cjs/types/platforms/nest/__test__/server/entities/crmContacts/crmContact.serializer.d.ts +3 -2
  21. package/dist/cjs/types/platforms/nest/__test__/server/entities/foos/foo.serializer.d.ts +3 -2
  22. package/dist/cjs/types/platforms/nest/base/entitySerializer.d.ts +1 -1
  23. package/dist/esm/index.js +12 -5
  24. package/dist/esm/index.js.map +1 -1
  25. package/dist/esm/types/__test__/entity/foo.d.ts +2 -2
  26. package/dist/esm/types/__test__/providers/typeorm/serializer/foo.d.ts +3 -4
  27. package/dist/esm/types/base/serializer.d.ts +7 -4
  28. package/dist/esm/types/platforms/nest/__test__/server/entities/appCompanies/appCompany.serializer.d.ts +3 -2
  29. package/dist/esm/types/platforms/nest/__test__/server/entities/appDirectories/appDirectory.serializer.d.ts +3 -2
  30. package/dist/esm/types/platforms/nest/__test__/server/entities/appDivisions/appDivision.serializer.d.ts +3 -2
  31. package/dist/esm/types/platforms/nest/__test__/server/entities/appEmailLogs/appEmailLog.serializer.d.ts +3 -2
  32. package/dist/esm/types/platforms/nest/__test__/server/entities/appEntityVersions/appEntityVersion.serializer.d.ts +3 -2
  33. package/dist/esm/types/platforms/nest/__test__/server/entities/appFileReferences/appFileReference.serializer.d.ts +3 -2
  34. package/dist/esm/types/platforms/nest/__test__/server/entities/appOrganizations/appOrganization.serializer.d.ts +3 -2
  35. package/dist/esm/types/platforms/nest/__test__/server/entities/appRoles/appRole.serializer.d.ts +3 -2
  36. package/dist/esm/types/platforms/nest/__test__/server/entities/appTenants/appTenant.serializer.d.ts +3 -2
  37. package/dist/esm/types/platforms/nest/__test__/server/entities/appUserGroupMembers/appUserGroupMember.serializer.d.ts +3 -2
  38. package/dist/esm/types/platforms/nest/__test__/server/entities/appUserGroups/appUserGroup.serializer.d.ts +3 -2
  39. package/dist/esm/types/platforms/nest/__test__/server/entities/appUserProfiles/appUserProfile.serializer.d.ts +3 -2
  40. package/dist/esm/types/platforms/nest/__test__/server/entities/appUserRoles/appUserRole.serializer.d.ts +3 -2
  41. package/dist/esm/types/platforms/nest/__test__/server/entities/appUsers/appUser.serializer.d.ts +3 -2
  42. package/dist/esm/types/platforms/nest/__test__/server/entities/crmContacts/crmContact.serializer.d.ts +3 -2
  43. package/dist/esm/types/platforms/nest/__test__/server/entities/foos/foo.serializer.d.ts +3 -2
  44. package/dist/esm/types/platforms/nest/base/entitySerializer.d.ts +1 -1
  45. package/dist/index.d.ts +7 -5
  46. package/package.json +1 -1
@@ -74,9 +74,9 @@ export interface FooUpdateDto {
74
74
  };
75
75
  }
76
76
  export type FooSheetItem = FooEntity;
77
- export declare class FooSerializer extends EntitySerializer<FooEntity, FooEntityId, FooSearchParameters, FooSheetItem> {
77
+ export declare class FooSerializer extends EntitySerializer<FooEntity, FooEntityId, FooSearchParameters, FooSheetItem, any> {
78
78
  private readonly repo;
79
- constructor(entityName: string, services: EntityServiceLocator<FooEntity, string>);
79
+ constructor(services: EntityServiceLocator<FooEntity, string>);
80
80
  protected loadEntities(filters?: FooSearchParameters | undefined): Promise<FooEntity[]>;
81
81
  protected convertToSheetItems(entities: FooEntity[]): Promise<FooEntity[]>;
82
82
  protected importItem(item: FooEntity): Promise<FooEntity>;
@@ -1,11 +1,10 @@
1
1
  import { EntitySerializerSheetDefinition } from "../../../../abstractions";
2
2
  import { EntitySerializer } from "../../../../base";
3
+ import { EntityServiceLocator } from "../../../../providers/services";
3
4
  import { FooEntity, FooEntityId } from "../entity/foo";
4
5
  import { FooSearchParameters, FooSheetItem } from "../models/foo";
5
- import { FooTypeOrmRepo } from "../repository/foo";
6
- export declare class FooSerializer extends EntitySerializer<FooEntity, FooEntityId, FooSearchParameters, FooSheetItem> {
7
- private readonly repo;
8
- constructor(entityName: string, repo: FooTypeOrmRepo);
6
+ export declare class FooSerializer extends EntitySerializer<FooEntity, FooEntityId, FooSearchParameters, FooSheetItem, any> {
7
+ constructor(services: EntityServiceLocator<FooEntity, FooEntityId>);
9
8
  protected loadEntities(filters?: FooSearchParameters | undefined): Promise<FooEntity[]>;
10
9
  protected convertToSheetItems(entities: FooEntity[]): Promise<FooEntity[]>;
11
10
  protected importItem(item: FooEntity): Promise<FooEntity>;
@@ -1,10 +1,12 @@
1
1
  /// <reference types="node" />
2
2
  import { EntitySerializationFormat, IEntitySerializer } from "../abstractions";
3
3
  import { EntityExportFile, EntitySerializerSheetDefinition, ImportEntry } from "../abstractions/serializer";
4
- export declare abstract class EntitySerializer<TEntity, TEntityId, TEntitySearchParameters, TSheetItem> implements IEntitySerializer<TEntity, TEntityId, TEntitySearchParameters, TSheetItem> {
5
- protected readonly entityName: string;
4
+ import { EntityServiceLocator } from "../providers/services";
5
+ export declare abstract class EntitySerializer<TEntity, TEntityId, TEntitySearchParameters, TSheetItem, TContext> implements IEntitySerializer<TEntity, TEntityId, TEntitySearchParameters, TSheetItem> {
6
+ protected readonly services: EntityServiceLocator<TEntity, TEntityId>;
6
7
  private readonly logger;
7
- constructor(entityName: string);
8
+ protected readonly entityName: string;
9
+ constructor(services: EntityServiceLocator<TEntity, TEntityId>);
8
10
  export(filters?: TEntitySearchParameters): Promise<TSheetItem[]>;
9
11
  import(items: TSheetItem[]): Promise<void>;
10
12
  parse(data: Buffer, format: EntitySerializationFormat): Promise<ImportEntry<TSheetItem, TEntityId>[]>;
@@ -18,7 +20,8 @@ export declare abstract class EntitySerializer<TEntity, TEntityId, TEntitySearch
18
20
  protected abstract getDefinition(): EntitySerializerSheetDefinition<TSheetItem>;
19
21
  protected abstract loadEntities(filters?: TEntitySearchParameters): Promise<TEntity[]>;
20
22
  protected abstract convertToSheetItems(entities: TEntity[]): Promise<TSheetItem[]>;
21
- protected abstract importItem(item: TSheetItem): Promise<TEntity>;
23
+ protected abstract importItem(item: TSheetItem, context: TContext): Promise<TEntity>;
24
+ protected getContext(): Promise<TContext>;
22
25
  private buildExportFile;
23
26
  private getColumnValue;
24
27
  private buildExportFileName;
@@ -1,10 +1,11 @@
1
1
  import { NestEntitySerializer, EntityManagerRegistry, EntitySerializerSheetDefinition } from "../../../../../..";
2
2
  import { AppCompanyEntity } from "../../database/core/entities/appCompany.entity";
3
+ import { AppAuthContext } from "../../infrastructure/authentication";
3
4
  import { AppCompanyCreateData, AppCompanyCursor, AppCompanyEntityId, AppCompanySearchParameters, AppCompanySheetItem, AppCompanySorting, AppCompanyUpdateData } from "./appCompany.models";
4
- export declare class AppCompanySerializer extends NestEntitySerializer<AppCompanyEntity, AppCompanyEntityId, AppCompanyCreateData, AppCompanyUpdateData, AppCompanySearchParameters, AppCompanySorting, AppCompanyCursor, AppCompanySheetItem> {
5
+ export declare class AppCompanySerializer extends NestEntitySerializer<AppCompanyEntity, AppCompanyEntityId, AppCompanyCreateData, AppCompanyUpdateData, AppCompanySearchParameters, AppCompanySorting, AppCompanyCursor, AppCompanySheetItem, AppAuthContext> {
5
6
  constructor(registry: EntityManagerRegistry);
6
7
  protected loadEntities(filters: AppCompanySearchParameters): Promise<AppCompanyEntity[]>;
7
8
  protected convertToSheetItems(entities: AppCompanyEntity[]): Promise<AppCompanyEntity[]>;
8
- protected importItem(item: AppCompanySheetItem): Promise<AppCompanyEntity>;
9
+ protected importItem(item: AppCompanySheetItem, context: AppAuthContext): Promise<AppCompanyEntity>;
9
10
  protected getDefinition(): EntitySerializerSheetDefinition<AppCompanyEntity>;
10
11
  }
@@ -1,11 +1,12 @@
1
1
  import { NestEntitySerializer, EntityManagerRegistry, EntitySerializerSheetDefinition } from "../../../../../..";
2
2
  import { AppDirectoryEntity, AppDirectoryEntityId } from "../../database/core/entities/appDirectory.entity";
3
+ import { AppAuthContext } from "../../infrastructure/authentication";
3
4
  import { AppDirectoryCreateData, AppDirectoryCursor, AppDirectorySheetItem, AppDirectorySorting, AppDirectoryUpdateData } from "./appDirectory.models";
4
5
  import { AppDirectorySearchParameters } from "./appDirectory.types";
5
- export declare class AppDirectorySerializer extends NestEntitySerializer<AppDirectoryEntity, AppDirectoryEntityId, AppDirectoryCreateData, AppDirectoryUpdateData, AppDirectorySearchParameters, AppDirectorySorting, AppDirectoryCursor, AppDirectorySheetItem> {
6
+ export declare class AppDirectorySerializer extends NestEntitySerializer<AppDirectoryEntity, AppDirectoryEntityId, AppDirectoryCreateData, AppDirectoryUpdateData, AppDirectorySearchParameters, AppDirectorySorting, AppDirectoryCursor, AppDirectorySheetItem, AppAuthContext> {
6
7
  constructor(registry: EntityManagerRegistry);
7
8
  protected loadEntities(filters: AppDirectorySearchParameters): Promise<AppDirectoryEntity[]>;
8
9
  protected convertToSheetItems(entities: AppDirectoryEntity[]): Promise<AppDirectoryEntity[]>;
9
- protected importItem(item: AppDirectorySheetItem): Promise<AppDirectoryEntity>;
10
+ protected importItem(item: AppDirectorySheetItem, context: AppAuthContext): Promise<AppDirectoryEntity>;
10
11
  protected getDefinition(): EntitySerializerSheetDefinition<AppDirectoryEntity>;
11
12
  }
@@ -1,10 +1,11 @@
1
1
  import { NestEntitySerializer, EntityManagerRegistry, EntitySerializerSheetDefinition } from "../../../../../..";
2
2
  import { AppDivisionEntity } from "../../database/core/entities/appDivision.entity";
3
+ import { AppAuthContext } from "../../infrastructure/authentication";
3
4
  import { AppDivisionCreateData, AppDivisionCursor, AppDivisionEntityId, AppDivisionSearchParameters, AppDivisionSheetItem, AppDivisionSorting, AppDivisionUpdateData } from "./appDivision.models";
4
- export declare class AppDivisionSerializer extends NestEntitySerializer<AppDivisionEntity, AppDivisionEntityId, AppDivisionCreateData, AppDivisionUpdateData, AppDivisionSearchParameters, AppDivisionSorting, AppDivisionCursor, AppDivisionSheetItem> {
5
+ export declare class AppDivisionSerializer extends NestEntitySerializer<AppDivisionEntity, AppDivisionEntityId, AppDivisionCreateData, AppDivisionUpdateData, AppDivisionSearchParameters, AppDivisionSorting, AppDivisionCursor, AppDivisionSheetItem, AppAuthContext> {
5
6
  constructor(registry: EntityManagerRegistry);
6
7
  protected loadEntities(filters: AppDivisionSearchParameters): Promise<AppDivisionEntity[]>;
7
8
  protected convertToSheetItems(entities: AppDivisionEntity[]): Promise<AppDivisionEntity[]>;
8
- protected importItem(item: AppDivisionSheetItem): Promise<AppDivisionEntity>;
9
+ protected importItem(item: AppDivisionSheetItem, context: AppAuthContext): Promise<AppDivisionEntity>;
9
10
  protected getDefinition(): EntitySerializerSheetDefinition<AppDivisionEntity>;
10
11
  }
@@ -1,11 +1,12 @@
1
1
  import { NestEntitySerializer, EntityManagerRegistry, EntitySerializerSheetDefinition } from "../../../../../..";
2
2
  import { AppEmailLogEntity, AppEmailLogEntityId } from "../../database/core/entities/appEmailLog.entity";
3
+ import { AppAuthContext } from "../../infrastructure/authentication";
3
4
  import { AppEmailLogCreateData, AppEmailLogCursor, AppEmailLogSheetItem, AppEmailLogSorting, AppEmailLogUpdateData } from "./appEmailLog.models";
4
5
  import { AppEmailLogSearchParameters } from "./appEmailLog.types";
5
- export declare class AppEmailLogSerializer extends NestEntitySerializer<AppEmailLogEntity, AppEmailLogEntityId, AppEmailLogCreateData, AppEmailLogUpdateData, AppEmailLogSearchParameters, AppEmailLogSorting, AppEmailLogCursor, AppEmailLogSheetItem> {
6
+ export declare class AppEmailLogSerializer extends NestEntitySerializer<AppEmailLogEntity, AppEmailLogEntityId, AppEmailLogCreateData, AppEmailLogUpdateData, AppEmailLogSearchParameters, AppEmailLogSorting, AppEmailLogCursor, AppEmailLogSheetItem, AppAuthContext> {
6
7
  constructor(registry: EntityManagerRegistry);
7
8
  protected loadEntities(filters: AppEmailLogSearchParameters): Promise<AppEmailLogEntity[]>;
8
9
  protected convertToSheetItems(entities: AppEmailLogEntity[]): Promise<AppEmailLogSheetItem[]>;
9
- protected importItem(item: AppEmailLogSheetItem): Promise<AppEmailLogEntity>;
10
+ protected importItem(item: AppEmailLogSheetItem, context: AppAuthContext): Promise<AppEmailLogEntity>;
10
11
  protected getDefinition(): EntitySerializerSheetDefinition<AppEmailLogEntity>;
11
12
  }
@@ -1,11 +1,12 @@
1
1
  import { NestEntitySerializer, EntityManagerRegistry, EntitySerializerSheetDefinition } from "../../../../../..";
2
2
  import { AppEntityVersionEntity } from "../../database/core/entities/appEntityVersion.entity";
3
+ import { AppAuthContext } from "../../infrastructure/authentication";
3
4
  import { AppEntityVersionCreateData, AppEntityVersionCursor, AppEntityVersionEntityId, AppEntityVersionSheetItem, AppEntityVersionSorting, AppEntityVersionUpdateData } from "./appEntityVersion.models";
4
5
  import { AppEntityVersionSearchParameters } from "./appEntityVersion.types";
5
- export declare class AppEntityVersionSerializer extends NestEntitySerializer<AppEntityVersionEntity, AppEntityVersionEntityId, AppEntityVersionCreateData, AppEntityVersionUpdateData, AppEntityVersionSearchParameters, AppEntityVersionSorting, AppEntityVersionCursor, AppEntityVersionSheetItem> {
6
+ export declare class AppEntityVersionSerializer extends NestEntitySerializer<AppEntityVersionEntity, AppEntityVersionEntityId, AppEntityVersionCreateData, AppEntityVersionUpdateData, AppEntityVersionSearchParameters, AppEntityVersionSorting, AppEntityVersionCursor, AppEntityVersionSheetItem, AppAuthContext> {
6
7
  constructor(registry: EntityManagerRegistry);
7
8
  protected loadEntities(filters: AppEntityVersionSearchParameters): Promise<AppEntityVersionEntity[]>;
8
9
  protected convertToSheetItems(entities: AppEntityVersionEntity[]): Promise<AppEntityVersionSheetItem[]>;
9
- protected importItem(item: AppEntityVersionSheetItem): Promise<AppEntityVersionEntity>;
10
+ protected importItem(item: AppEntityVersionSheetItem, context: AppAuthContext): Promise<AppEntityVersionEntity>;
10
11
  protected getDefinition(): EntitySerializerSheetDefinition<AppEntityVersionEntity>;
11
12
  }
@@ -1,11 +1,12 @@
1
1
  import { NestEntitySerializer, EntityManagerRegistry, EntitySerializerSheetDefinition } from "../../../../../..";
2
2
  import { AppFileReferenceEntity, AppFileReferenceEntityId } from "../../database/core/entities/appFileReference.entity";
3
+ import { AppAuthContext } from "../../infrastructure/authentication";
3
4
  import { AppFileReferenceCreateData, AppFileReferenceCursor, AppFileReferenceSheetItem, AppFileReferenceSorting, AppFileReferenceUpdateData } from "./appFileReference.models";
4
5
  import { AppFileReferenceSearchParameters } from "./appFileReference.types";
5
- export declare class AppFileReferenceSerializer extends NestEntitySerializer<AppFileReferenceEntity, AppFileReferenceEntityId, AppFileReferenceCreateData, AppFileReferenceUpdateData, AppFileReferenceSearchParameters, AppFileReferenceSorting, AppFileReferenceCursor, AppFileReferenceSheetItem> {
6
+ export declare class AppFileReferenceSerializer extends NestEntitySerializer<AppFileReferenceEntity, AppFileReferenceEntityId, AppFileReferenceCreateData, AppFileReferenceUpdateData, AppFileReferenceSearchParameters, AppFileReferenceSorting, AppFileReferenceCursor, AppFileReferenceSheetItem, AppAuthContext> {
6
7
  constructor(registry: EntityManagerRegistry);
7
8
  protected loadEntities(filters: AppFileReferenceSearchParameters): Promise<AppFileReferenceEntity[]>;
8
9
  protected convertToSheetItems(entities: AppFileReferenceEntity[]): Promise<AppFileReferenceSheetItem[]>;
9
- protected importItem(item: AppFileReferenceSheetItem): Promise<AppFileReferenceEntity>;
10
+ protected importItem(item: AppFileReferenceSheetItem, context: AppAuthContext): Promise<AppFileReferenceEntity>;
10
11
  protected getDefinition(): EntitySerializerSheetDefinition<AppFileReferenceEntity>;
11
12
  }
@@ -1,10 +1,11 @@
1
1
  import { NestEntitySerializer, EntityManagerRegistry, EntitySerializerSheetDefinition } from "../../../../../..";
2
2
  import { AppOrganizationEntity } from "../../database/core/entities/appOrganization.entity";
3
+ import { AppAuthContext } from "../../infrastructure/authentication";
3
4
  import { AppOrganizationCreateData, AppOrganizationCursor, AppOrganizationEntityId, AppOrganizationSearchParameters, AppOrganizationSheetItem, AppOrganizationSorting, AppOrganizationUpdateData } from "./appOrganization.models";
4
- export declare class AppOrganizationSerializer extends NestEntitySerializer<AppOrganizationEntity, AppOrganizationEntityId, AppOrganizationCreateData, AppOrganizationUpdateData, AppOrganizationSearchParameters, AppOrganizationSorting, AppOrganizationCursor, AppOrganizationSheetItem> {
5
+ export declare class AppOrganizationSerializer extends NestEntitySerializer<AppOrganizationEntity, AppOrganizationEntityId, AppOrganizationCreateData, AppOrganizationUpdateData, AppOrganizationSearchParameters, AppOrganizationSorting, AppOrganizationCursor, AppOrganizationSheetItem, AppAuthContext> {
5
6
  constructor(registry: EntityManagerRegistry);
6
7
  protected loadEntities(filters: AppOrganizationSearchParameters): Promise<AppOrganizationEntity[]>;
7
8
  protected convertToSheetItems(entities: AppOrganizationEntity[]): Promise<AppOrganizationEntity[]>;
8
- protected importItem(item: AppOrganizationSheetItem): Promise<AppOrganizationEntity>;
9
+ protected importItem(item: AppOrganizationSheetItem, context: AppAuthContext): Promise<AppOrganizationEntity>;
9
10
  protected getDefinition(): EntitySerializerSheetDefinition<AppOrganizationEntity>;
10
11
  }
@@ -1,10 +1,11 @@
1
1
  import { NestEntitySerializer, EntityManagerRegistry, EntitySerializerSheetDefinition } from "../../../../../..";
2
2
  import { AppRoleEntity } from "../../database/core/entities/appRole.entity";
3
+ import { AppAuthContext } from "../../infrastructure/authentication";
3
4
  import { AppRoleCreateData, AppRoleCursor, AppRoleEntityId, AppRoleSearchParameters, AppRoleSheetItem, AppRoleSorting, AppRoleUpdateData } from "./appRole.models";
4
- export declare class AppRoleSerializer extends NestEntitySerializer<AppRoleEntity, AppRoleEntityId, AppRoleCreateData, AppRoleUpdateData, AppRoleSearchParameters, AppRoleSorting, AppRoleCursor, AppRoleSheetItem> {
5
+ export declare class AppRoleSerializer extends NestEntitySerializer<AppRoleEntity, AppRoleEntityId, AppRoleCreateData, AppRoleUpdateData, AppRoleSearchParameters, AppRoleSorting, AppRoleCursor, AppRoleSheetItem, AppAuthContext> {
5
6
  constructor(registry: EntityManagerRegistry);
6
7
  protected loadEntities(filters: AppRoleSearchParameters): Promise<AppRoleEntity[]>;
7
8
  protected convertToSheetItems(entities: AppRoleEntity[]): Promise<AppRoleEntity[]>;
8
- protected importItem(item: AppRoleSheetItem): Promise<AppRoleEntity>;
9
+ protected importItem(item: AppRoleSheetItem, context: AppAuthContext): Promise<AppRoleEntity>;
9
10
  protected getDefinition(): EntitySerializerSheetDefinition<AppRoleEntity>;
10
11
  }
@@ -1,10 +1,11 @@
1
1
  import { NestEntitySerializer, EntityManagerRegistry, EntitySerializerSheetDefinition } from "../../../../../..";
2
2
  import { AppTenantEntity } from "../../database/core/entities/appTenant.entity";
3
+ import { AppAuthContext } from "../../infrastructure/authentication";
3
4
  import { AppTenantCreateData, AppTenantCursor, AppTenantEntityId, AppTenantSearchParameters, AppTenantSheetItem, AppTenantSorting, AppTenantUpdateData } from "./appTenant.models";
4
- export declare class AppTenantSerializer extends NestEntitySerializer<AppTenantEntity, AppTenantEntityId, AppTenantCreateData, AppTenantUpdateData, AppTenantSearchParameters, AppTenantSorting, AppTenantCursor, AppTenantSheetItem> {
5
+ export declare class AppTenantSerializer extends NestEntitySerializer<AppTenantEntity, AppTenantEntityId, AppTenantCreateData, AppTenantUpdateData, AppTenantSearchParameters, AppTenantSorting, AppTenantCursor, AppTenantSheetItem, AppAuthContext> {
5
6
  constructor(registry: EntityManagerRegistry);
6
7
  protected loadEntities(filters: AppTenantSearchParameters): Promise<AppTenantEntity[]>;
7
8
  protected convertToSheetItems(entities: AppTenantEntity[]): Promise<AppTenantEntity[]>;
8
- protected importItem(item: AppTenantSheetItem): Promise<AppTenantEntity>;
9
+ protected importItem(item: AppTenantSheetItem, context: AppAuthContext): Promise<AppTenantEntity>;
9
10
  protected getDefinition(): EntitySerializerSheetDefinition<AppTenantEntity>;
10
11
  }
@@ -1,10 +1,11 @@
1
1
  import { NestEntitySerializer, EntityManagerRegistry, EntitySerializerSheetDefinition } from "../../../../../..";
2
2
  import { AppUserGroupMemberEntity } from "../../database/core/entities/appUserGroupMember.entity";
3
+ import { AppAuthContext } from "../../infrastructure/authentication";
3
4
  import { AppUserGroupMemberCreateData, AppUserGroupMemberCursor, AppUserGroupMemberEntityId, AppUserGroupMemberSearchParameters, AppUserGroupMemberSheetItem, AppUserGroupMemberSorting, AppUserGroupMemberUpdateData } from "./appUserGroupMember.models";
4
- export declare class AppUserGroupMemberSerializer extends NestEntitySerializer<AppUserGroupMemberEntity, AppUserGroupMemberEntityId, AppUserGroupMemberCreateData, AppUserGroupMemberUpdateData, AppUserGroupMemberSearchParameters, AppUserGroupMemberSorting, AppUserGroupMemberCursor, AppUserGroupMemberSheetItem> {
5
+ export declare class AppUserGroupMemberSerializer extends NestEntitySerializer<AppUserGroupMemberEntity, AppUserGroupMemberEntityId, AppUserGroupMemberCreateData, AppUserGroupMemberUpdateData, AppUserGroupMemberSearchParameters, AppUserGroupMemberSorting, AppUserGroupMemberCursor, AppUserGroupMemberSheetItem, AppAuthContext> {
5
6
  constructor(registry: EntityManagerRegistry);
6
7
  protected loadEntities(filters: AppUserGroupMemberSearchParameters): Promise<AppUserGroupMemberEntity[]>;
7
8
  protected convertToSheetItems(entities: AppUserGroupMemberEntity[]): Promise<AppUserGroupMemberEntity[]>;
8
- protected importItem(item: AppUserGroupMemberSheetItem): Promise<AppUserGroupMemberEntity>;
9
+ protected importItem(item: AppUserGroupMemberSheetItem, context: AppAuthContext): Promise<AppUserGroupMemberEntity>;
9
10
  protected getDefinition(): EntitySerializerSheetDefinition<AppUserGroupMemberEntity>;
10
11
  }
@@ -1,10 +1,11 @@
1
1
  import { NestEntitySerializer, EntityManagerRegistry, EntitySerializerSheetDefinition } from "../../../../../..";
2
2
  import { AppUserGroupEntity } from "../../database/core/entities/appUserGroup.entity";
3
+ import { AppAuthContext } from "../../infrastructure/authentication";
3
4
  import { AppUserGroupCreateData, AppUserGroupCursor, AppUserGroupEntityId, AppUserGroupSearchParameters, AppUserGroupSheetItem, AppUserGroupSorting, AppUserGroupUpdateData } from "./appUserGroup.models";
4
- export declare class AppUserGroupSerializer extends NestEntitySerializer<AppUserGroupEntity, AppUserGroupEntityId, AppUserGroupCreateData, AppUserGroupUpdateData, AppUserGroupSearchParameters, AppUserGroupSorting, AppUserGroupCursor, AppUserGroupSheetItem> {
5
+ export declare class AppUserGroupSerializer extends NestEntitySerializer<AppUserGroupEntity, AppUserGroupEntityId, AppUserGroupCreateData, AppUserGroupUpdateData, AppUserGroupSearchParameters, AppUserGroupSorting, AppUserGroupCursor, AppUserGroupSheetItem, AppAuthContext> {
5
6
  constructor(registry: EntityManagerRegistry);
6
7
  protected loadEntities(filters: AppUserGroupSearchParameters): Promise<AppUserGroupEntity[]>;
7
8
  protected convertToSheetItems(entities: AppUserGroupEntity[]): Promise<AppUserGroupEntity[]>;
8
- protected importItem(item: AppUserGroupSheetItem): Promise<AppUserGroupEntity>;
9
+ protected importItem(item: AppUserGroupSheetItem, context: AppAuthContext): Promise<AppUserGroupEntity>;
9
10
  protected getDefinition(): EntitySerializerSheetDefinition<AppUserGroupEntity>;
10
11
  }
@@ -1,10 +1,11 @@
1
1
  import { NestEntitySerializer, EntityManagerRegistry, EntitySerializerSheetDefinition } from "../../../../../..";
2
2
  import { AppUserProfileEntity } from "../../database/core/entities/appUserProfile.entity";
3
+ import { AppAuthContext } from "../../infrastructure/authentication";
3
4
  import { AppUserProfileCreateData, AppUserProfileCursor, AppUserProfileEntityId, AppUserProfileSearchParameters, AppUserProfileSheetItem, AppUserProfileSorting, AppUserProfileUpdateData } from "./appUserProfile.models";
4
- export declare class AppUserProfileSerializer extends NestEntitySerializer<AppUserProfileEntity, AppUserProfileEntityId, AppUserProfileCreateData, AppUserProfileUpdateData, AppUserProfileSearchParameters, AppUserProfileSorting, AppUserProfileCursor, AppUserProfileSheetItem> {
5
+ export declare class AppUserProfileSerializer extends NestEntitySerializer<AppUserProfileEntity, AppUserProfileEntityId, AppUserProfileCreateData, AppUserProfileUpdateData, AppUserProfileSearchParameters, AppUserProfileSorting, AppUserProfileCursor, AppUserProfileSheetItem, AppAuthContext> {
5
6
  constructor(registry: EntityManagerRegistry);
6
7
  protected loadEntities(filters: AppUserProfileSearchParameters): Promise<AppUserProfileEntity[]>;
7
8
  protected convertToSheetItems(entities: AppUserProfileEntity[]): Promise<AppUserProfileEntity[]>;
8
- protected importItem(item: AppUserProfileSheetItem): Promise<AppUserProfileEntity>;
9
+ protected importItem(item: AppUserProfileSheetItem, context: AppAuthContext): Promise<AppUserProfileEntity>;
9
10
  protected getDefinition(): EntitySerializerSheetDefinition<AppUserProfileEntity>;
10
11
  }
@@ -1,10 +1,11 @@
1
1
  import { NestEntitySerializer, EntityManagerRegistry, EntitySerializerSheetDefinition } from "../../../../../..";
2
2
  import { AppUserRoleEntity } from "../../database/core/entities/appUserRole.entity";
3
+ import { AppAuthContext } from "../../infrastructure/authentication";
3
4
  import { AppUserRoleCreateData, AppUserRoleCursor, AppUserRoleEntityId, AppUserRoleSearchParameters, AppUserRoleSheetItem, AppUserRoleSorting, AppUserRoleUpdateData } from "./appUserRole.models";
4
- export declare class AppUserRoleSerializer extends NestEntitySerializer<AppUserRoleEntity, AppUserRoleEntityId, AppUserRoleCreateData, AppUserRoleUpdateData, AppUserRoleSearchParameters, AppUserRoleSorting, AppUserRoleCursor, AppUserRoleSheetItem> {
5
+ export declare class AppUserRoleSerializer extends NestEntitySerializer<AppUserRoleEntity, AppUserRoleEntityId, AppUserRoleCreateData, AppUserRoleUpdateData, AppUserRoleSearchParameters, AppUserRoleSorting, AppUserRoleCursor, AppUserRoleSheetItem, AppAuthContext> {
5
6
  constructor(registry: EntityManagerRegistry);
6
7
  protected loadEntities(filters: AppUserRoleSearchParameters): Promise<AppUserRoleEntity[]>;
7
8
  protected convertToSheetItems(entities: AppUserRoleEntity[]): Promise<AppUserRoleEntity[]>;
8
- protected importItem(item: AppUserRoleSheetItem): Promise<AppUserRoleEntity>;
9
+ protected importItem(item: AppUserRoleSheetItem, context: AppAuthContext): Promise<AppUserRoleEntity>;
9
10
  protected getDefinition(): EntitySerializerSheetDefinition<AppUserRoleEntity>;
10
11
  }
@@ -1,10 +1,11 @@
1
1
  import { NestEntitySerializer, EntityManagerRegistry, EntitySerializerSheetDefinition } from "../../../../../..";
2
2
  import { AppUserEntity } from "../../database/core/entities/appUser.entity";
3
+ import { AppAuthContext } from "../../infrastructure/authentication";
3
4
  import { AppUserCreateData, AppUserCursor, AppUserEntityId, AppUserSearchParameters, AppUserSheetItem, AppUserSorting, AppUserUpdateData } from "./appUser.models";
4
- export declare class AppUserSerializer extends NestEntitySerializer<AppUserEntity, AppUserEntityId, AppUserCreateData, AppUserUpdateData, AppUserSearchParameters, AppUserSorting, AppUserCursor, AppUserSheetItem> {
5
+ export declare class AppUserSerializer extends NestEntitySerializer<AppUserEntity, AppUserEntityId, AppUserCreateData, AppUserUpdateData, AppUserSearchParameters, AppUserSorting, AppUserCursor, AppUserSheetItem, AppAuthContext> {
5
6
  constructor(registry: EntityManagerRegistry);
6
7
  protected loadEntities(filters: AppUserSearchParameters): Promise<AppUserEntity[]>;
7
8
  protected convertToSheetItems(entities: AppUserEntity[]): Promise<AppUserEntity[]>;
8
- protected importItem(item: AppUserSheetItem): Promise<AppUserEntity>;
9
+ protected importItem(item: AppUserSheetItem, context: AppAuthContext): Promise<AppUserEntity>;
9
10
  protected getDefinition(): EntitySerializerSheetDefinition<AppUserEntity>;
10
11
  }
@@ -1,11 +1,12 @@
1
1
  import { NestEntitySerializer, EntityManagerRegistry, EntitySerializerSheetDefinition } from "../../../../../..";
2
2
  import { CrmContactEntity } from "../../database/core/entities/crmContact.entity";
3
+ import { AppAuthContext } from "../../infrastructure/authentication";
3
4
  import { CrmContactCreateData, CrmContactCursor, CrmContactEntityId, CrmContactSheetItem, CrmContactSorting, CrmContactUpdateData } from "./crmContact.models";
4
5
  import { CrmContactSearchParameters } from "./crmContact.types";
5
- export declare class CrmContactSerializer extends NestEntitySerializer<CrmContactEntity, CrmContactEntityId, CrmContactCreateData, CrmContactUpdateData, CrmContactSearchParameters, CrmContactSorting, CrmContactCursor, CrmContactSheetItem> {
6
+ export declare class CrmContactSerializer extends NestEntitySerializer<CrmContactEntity, CrmContactEntityId, CrmContactCreateData, CrmContactUpdateData, CrmContactSearchParameters, CrmContactSorting, CrmContactCursor, CrmContactSheetItem, AppAuthContext> {
6
7
  constructor(registry: EntityManagerRegistry);
7
8
  protected loadEntities(filters: CrmContactSearchParameters): Promise<CrmContactEntity[]>;
8
9
  protected convertToSheetItems(entities: CrmContactEntity[]): Promise<CrmContactSheetItem[]>;
9
- protected importItem(item: CrmContactSheetItem): Promise<CrmContactEntity>;
10
+ protected importItem(item: CrmContactSheetItem, context: AppAuthContext): Promise<CrmContactEntity>;
10
11
  protected getDefinition(): EntitySerializerSheetDefinition<CrmContactEntity>;
11
12
  }
@@ -1,11 +1,12 @@
1
1
  import { EntityManagerRegistry, EntitySerializerSheetDefinition, NestEntitySerializer } from "../../../../../..";
2
2
  import { FooEntity } from "../../database/core/entities/foo.entity";
3
+ import { AppAuthContext } from "../../infrastructure/authentication";
3
4
  import { FooCreateData, FooCursor, FooEntityId, FooSheetItem, FooSorting, FooUpdateData } from "./foo.models";
4
5
  import { FooSearchParameters } from "./foo.types";
5
- export declare class FooSerializer extends NestEntitySerializer<FooEntity, FooEntityId, FooCreateData, FooUpdateData, FooSearchParameters, FooSorting, FooCursor, FooSheetItem> {
6
+ export declare class FooSerializer extends NestEntitySerializer<FooEntity, FooEntityId, FooCreateData, FooUpdateData, FooSearchParameters, FooSorting, FooCursor, FooSheetItem, AppAuthContext> {
6
7
  constructor(registry: EntityManagerRegistry);
7
8
  protected loadEntities(filters: FooSearchParameters): Promise<FooEntity[]>;
8
9
  protected convertToSheetItems(entities: FooEntity[]): Promise<FooSheetItem[]>;
9
- protected importItem(item: FooSheetItem): Promise<FooEntity>;
10
+ protected importItem(item: FooSheetItem, context: AppAuthContext): Promise<FooEntity>;
10
11
  protected getDefinition(): EntitySerializerSheetDefinition<FooSheetItem>;
11
12
  }
@@ -1,7 +1,7 @@
1
1
  import { IEntityManager, IEntitySearchParameters, SortingType } from "../../../abstractions";
2
2
  import { EntitySerializer } from "../../../base/serializer";
3
3
  import { EntityManagerRegistry } from "../ioc";
4
- export declare abstract class NestEntitySerializer<TEntity, TEntityId, TEntityCreateData, TEntityUpdateData, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TSheetItem> extends EntitySerializer<TEntity, TEntityId, TEntitySearchParameters, TSheetItem> {
4
+ export declare abstract class NestEntitySerializer<TEntity, TEntityId, TEntityCreateData, TEntityUpdateData, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TSheetItem, TContext> extends EntitySerializer<TEntity, TEntityId, TEntitySearchParameters, TSheetItem, TContext> {
5
5
  private readonly registry;
6
6
  constructor(entityName: string, registry: EntityManagerRegistry);
7
7
  protected get manager(): IEntityManager<TEntity, TEntityId, TEntityCreateData, TEntityUpdateData, any, TEntitySearchParameters, TSorting, TCursor, any>;
package/dist/esm/index.js CHANGED
@@ -130,9 +130,10 @@ class EntitySeeder {
130
130
 
131
131
  const DEFAULT_DELIMITER = ";";
132
132
  class EntitySerializer {
133
- constructor(entityName) {
134
- this.entityName = entityName;
135
- this.logger = Log.getLogger(`${entityName} -> Serializer`);
133
+ constructor(services) {
134
+ this.services = services;
135
+ this.entityName = services.getEntityName();
136
+ this.logger = Log.getLogger(`${services.getEntityName()} -> Serializer`);
136
137
  }
137
138
  async export(filters) {
138
139
  const entities = await this.loadEntities(filters ?? {});
@@ -140,8 +141,9 @@ class EntitySerializer {
140
141
  }
141
142
  async import(items) {
142
143
  this.logger.info(`Entities import -> started (${items.length} items)`);
144
+ const context = await this.getContext();
143
145
  for (const [index, item] of items.entries()) {
144
- await this.importItem(item);
146
+ await this.importItem(item, context);
145
147
  this.logger.info(`Entity imported -> ${index + 1}/${items.length}`);
146
148
  }
147
149
  this.logger.info(`Entities import -> completed (${items.length} items)`);
@@ -236,6 +238,11 @@ class EntitySerializer {
236
238
  async serialize(data, format) {
237
239
  return await this.buildExportFile(data, format);
238
240
  }
241
+ async getContext() {
242
+ return (await this.services
243
+ .resolveAuthenticationContextProvider()
244
+ ?.getContext());
245
+ }
239
246
  async buildExportFile(data, format) {
240
247
  const fileName = this.buildExportFileName({
241
248
  format,
@@ -2312,7 +2319,7 @@ class NestEntityManager {
2312
2319
 
2313
2320
  class NestEntitySerializer extends EntitySerializer {
2314
2321
  constructor(entityName, registry) {
2315
- super(entityName);
2322
+ super(registry.resolveEntityServicesCollection(entityName));
2316
2323
  this.registry = registry;
2317
2324
  }
2318
2325
  get manager() {