@punks/backend-entity-manager 0.0.91 → 0.0.93
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.
- package/dist/cjs/index.js +108 -13
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/types/__test__/entity/foo.d.ts +1 -1
- package/dist/cjs/types/__test__/providers/typeorm/entity/foo.d.ts +1 -1
- package/dist/cjs/types/abstractions/configuration.d.ts +1 -1
- package/dist/cjs/types/abstractions/import.d.ts +2 -0
- package/dist/cjs/types/abstractions/serializer.d.ts +7 -2
- package/dist/cjs/types/base/serializer.d.ts +7 -3
- package/dist/cjs/types/commands/import.d.ts +5 -0
- package/dist/cjs/types/platforms/nest/__test__/server/app/appCompanies/appCompany.serializer.d.ts +1 -1
- package/dist/cjs/types/platforms/nest/__test__/server/app/appDivisions/appDivision.serializer.d.ts +1 -1
- package/dist/cjs/types/platforms/nest/__test__/server/app/appOrganizations/appOrganization.serializer.d.ts +1 -1
- package/dist/cjs/types/platforms/nest/__test__/server/app/appRoles/appRole.serializer.d.ts +1 -1
- package/dist/cjs/types/platforms/nest/__test__/server/app/appTenants/appTenant.serializer.d.ts +1 -1
- package/dist/cjs/types/platforms/nest/__test__/server/app/appUserGroupMembers/appUserGroupMember.serializer.d.ts +1 -1
- package/dist/cjs/types/platforms/nest/__test__/server/app/appUserGroups/appUserGroup.serializer.d.ts +1 -1
- package/dist/cjs/types/platforms/nest/__test__/server/app/appUserProfiles/appUserProfile.serializer.d.ts +1 -1
- package/dist/cjs/types/platforms/nest/__test__/server/app/appUserRoles/appUserRole.serializer.d.ts +1 -1
- package/dist/cjs/types/platforms/nest/__test__/server/app/appUsers/appUser.serializer.d.ts +1 -1
- package/dist/cjs/types/platforms/nest/__test__/server/entities/foos/foo.serializer.d.ts +1 -1
- package/dist/cjs/types/platforms/nest/base/entityActions.d.ts +1 -1
- package/dist/cjs/types/platforms/nest/base/entityManager.d.ts +1 -1
- package/dist/cjs/types/platforms/nest/base/entitySerializer.d.ts +1 -1
- package/dist/cjs/types/providers/services.d.ts +3 -3
- package/dist/esm/index.js +109 -14
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/types/__test__/entity/foo.d.ts +1 -1
- package/dist/esm/types/__test__/providers/typeorm/entity/foo.d.ts +1 -1
- package/dist/esm/types/abstractions/configuration.d.ts +1 -1
- package/dist/esm/types/abstractions/import.d.ts +2 -0
- package/dist/esm/types/abstractions/serializer.d.ts +7 -2
- package/dist/esm/types/base/serializer.d.ts +7 -3
- package/dist/esm/types/commands/import.d.ts +5 -0
- package/dist/esm/types/platforms/nest/__test__/server/app/appCompanies/appCompany.serializer.d.ts +1 -1
- package/dist/esm/types/platforms/nest/__test__/server/app/appDivisions/appDivision.serializer.d.ts +1 -1
- package/dist/esm/types/platforms/nest/__test__/server/app/appOrganizations/appOrganization.serializer.d.ts +1 -1
- package/dist/esm/types/platforms/nest/__test__/server/app/appRoles/appRole.serializer.d.ts +1 -1
- package/dist/esm/types/platforms/nest/__test__/server/app/appTenants/appTenant.serializer.d.ts +1 -1
- package/dist/esm/types/platforms/nest/__test__/server/app/appUserGroupMembers/appUserGroupMember.serializer.d.ts +1 -1
- package/dist/esm/types/platforms/nest/__test__/server/app/appUserGroups/appUserGroup.serializer.d.ts +1 -1
- package/dist/esm/types/platforms/nest/__test__/server/app/appUserProfiles/appUserProfile.serializer.d.ts +1 -1
- package/dist/esm/types/platforms/nest/__test__/server/app/appUserRoles/appUserRole.serializer.d.ts +1 -1
- package/dist/esm/types/platforms/nest/__test__/server/app/appUsers/appUser.serializer.d.ts +1 -1
- package/dist/esm/types/platforms/nest/__test__/server/entities/foos/foo.serializer.d.ts +1 -1
- package/dist/esm/types/platforms/nest/base/entityActions.d.ts +1 -1
- package/dist/esm/types/platforms/nest/base/entityManager.d.ts +1 -1
- package/dist/esm/types/platforms/nest/base/entitySerializer.d.ts +1 -1
- package/dist/esm/types/providers/services.d.ts +3 -3
- package/dist/index.d.ts +22 -11
- package/package.json +3 -3
|
@@ -67,7 +67,7 @@ export interface FooUpdateDto {
|
|
|
67
67
|
age: number;
|
|
68
68
|
};
|
|
69
69
|
}
|
|
70
|
-
export declare class FooSerializer extends EntitySerializer<FooEntity> {
|
|
70
|
+
export declare class FooSerializer extends EntitySerializer<FooEntity, string> {
|
|
71
71
|
constructor(entityName: string);
|
|
72
72
|
protected getDefinition(): EntitySerializerSheetDefinition<FooEntity>;
|
|
73
73
|
}
|
|
@@ -81,7 +81,7 @@ export declare class FooConverter implements IEntityConverter<FooEntity, FooDto,
|
|
|
81
81
|
createDtoToEntity(input: FooCreateInput): Partial<FooEntity>;
|
|
82
82
|
updateDtoToEntity(input: FooUpdateInput): Partial<FooEntity>;
|
|
83
83
|
}
|
|
84
|
-
export declare class FooSerializer extends EntitySerializer<FooEntity> {
|
|
84
|
+
export declare class FooSerializer extends EntitySerializer<FooEntity, string> {
|
|
85
85
|
protected getDefinition(): EntitySerializerSheetDefinition<FooEntity>;
|
|
86
86
|
}
|
|
87
87
|
export declare const registerFooTypeOrmEntity: (container: IEntityManagerServiceRoot, dataSource: DataSource, options?: {
|
|
@@ -30,7 +30,7 @@ export interface IEntityManagerServiceRoot {
|
|
|
30
30
|
export interface IEntityManagerServiceCollection<TEntity, TEntityId> {
|
|
31
31
|
getServiceLocator(): EntityServiceLocator<TEntity, TEntityId>;
|
|
32
32
|
mapCrudOperations<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TEntitiesQueryBuilder extends IEntitiesQueryBuilder<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets, unknown>>(input: EntitiesMapOperationsInput<TEntitiesQueryBuilder>): IEntityManagerServiceCollection<TEntity, TEntityId>;
|
|
33
|
-
addSerializer<TEntitySerializer extends IEntitySerializer<TEntity>>(serializer: TEntitySerializer): IEntityManagerServiceCollection<TEntity, TEntityId>;
|
|
33
|
+
addSerializer<TEntitySerializer extends IEntitySerializer<TEntity, TEntityId>>(serializer: TEntitySerializer): IEntityManagerServiceCollection<TEntity, TEntityId>;
|
|
34
34
|
addConverter<TEntityDto, TListItemDto, TEntityCreateInput, TEntityUpdateInput, TEntityConverter extends IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateInput, TEntityUpdateInput>>(converter: TEntityConverter): IEntityManagerServiceCollection<TEntity, TEntityId>;
|
|
35
35
|
addAdapter<TEntityCreateData, TEntityUpdateData, TEntityAdapter extends IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData>>(adapter: TEntityAdapter): IEntityManagerServiceCollection<TEntity, TEntityId>;
|
|
36
36
|
addAuthorization<TEntityAuthorizationMiddleware extends IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext>, TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>({ middleware, }: {
|
|
@@ -2,7 +2,9 @@
|
|
|
2
2
|
import { EntitySerializationFormat } from "./serializer";
|
|
3
3
|
export type EntitiesImportInput = {
|
|
4
4
|
format: EntitySerializationFormat;
|
|
5
|
+
fileName: string;
|
|
5
6
|
content: Buffer;
|
|
7
|
+
contentType: string;
|
|
6
8
|
};
|
|
7
9
|
export type EntitiesImportStatistics = {
|
|
8
10
|
importedCount: number;
|
|
@@ -6,6 +6,7 @@ export type EntitySerializerColumnDefinition<TEntity> = {
|
|
|
6
6
|
sampleValue?: any;
|
|
7
7
|
parser?: (value: any) => any;
|
|
8
8
|
converter?: (value: any, item: TEntity) => any;
|
|
9
|
+
idColumn?: boolean;
|
|
9
10
|
};
|
|
10
11
|
export type EntitySerializerSheetDefinition<TEntity> = {
|
|
11
12
|
columns: EntitySerializerColumnDefinition<TEntity>[];
|
|
@@ -20,8 +21,12 @@ export declare enum EntitySerializationFormat {
|
|
|
20
21
|
Json = "json",
|
|
21
22
|
Xlsx = "xlsx"
|
|
22
23
|
}
|
|
23
|
-
export
|
|
24
|
+
export type ImportEntry<TEntity, TEntityId> = {
|
|
25
|
+
id?: TEntityId;
|
|
26
|
+
item: TEntity;
|
|
27
|
+
};
|
|
28
|
+
export interface IEntitySerializer<TEntity, TEntityId> {
|
|
24
29
|
serialize(data: TEntity[], format: EntitySerializationFormat): Promise<EntityExportFile>;
|
|
25
|
-
parse(data: Buffer, format: EntitySerializationFormat): Promise<TEntity[]>;
|
|
30
|
+
parse(data: Buffer, format: EntitySerializationFormat): Promise<ImportEntry<TEntity, TEntityId>[]>;
|
|
26
31
|
createSample(format: EntitySerializationFormat): Promise<EntityExportFile>;
|
|
27
32
|
}
|
|
@@ -1,10 +1,14 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { EntitySerializationFormat, IEntitySerializer } from "../abstractions";
|
|
3
|
-
import { EntityExportFile, EntitySerializerSheetDefinition } from "../abstractions/serializer";
|
|
4
|
-
export declare abstract class EntitySerializer<TEntity> implements IEntitySerializer<TEntity> {
|
|
3
|
+
import { EntityExportFile, EntitySerializerSheetDefinition, ImportEntry } from "../abstractions/serializer";
|
|
4
|
+
export declare abstract class EntitySerializer<TEntity, TEntityId> implements IEntitySerializer<TEntity, TEntityId> {
|
|
5
5
|
protected readonly entityName: string;
|
|
6
6
|
constructor(entityName: string);
|
|
7
|
-
parse(data: Buffer, format: EntitySerializationFormat): Promise<TEntity[]>;
|
|
7
|
+
parse(data: Buffer, format: EntitySerializationFormat): Promise<ImportEntry<TEntity, TEntityId>[]>;
|
|
8
|
+
private parseCsv;
|
|
9
|
+
private parseXlsx;
|
|
10
|
+
private convertSheetRecord;
|
|
11
|
+
private parseColumnValue;
|
|
8
12
|
createSample(format: EntitySerializationFormat): Promise<EntityExportFile>;
|
|
9
13
|
private buildSampleFile;
|
|
10
14
|
serialize(data: TEntity[], format: EntitySerializationFormat): Promise<EntityExportFile>;
|
|
@@ -7,4 +7,9 @@ export declare class EntitiesImportCommand<TEntity> implements IEntitiesImportCo
|
|
|
7
7
|
private readonly settings;
|
|
8
8
|
constructor(services: EntityServiceLocator<TEntity, unknown>, settings: EntitiesImportExportSettings);
|
|
9
9
|
execute(input: EntitiesImportInput): Promise<EntitiesImportResult>;
|
|
10
|
+
private importEntity;
|
|
11
|
+
private parseImportFile;
|
|
12
|
+
private uploadImportFile;
|
|
13
|
+
private buildAbsoluteBucketPath;
|
|
14
|
+
private get bucket();
|
|
10
15
|
}
|
package/dist/esm/types/platforms/nest/__test__/server/app/appCompanies/appCompany.serializer.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NestEntitySerializer } from "../../../../base";
|
|
2
2
|
import { EntitySerializerSheetDefinition } from "../../../../../../abstractions";
|
|
3
3
|
import { AppCompanyEntity } from "../../database/core/entities/appCompany.entity";
|
|
4
|
-
export declare class AppCompanySerializer extends NestEntitySerializer<AppCompanyEntity> {
|
|
4
|
+
export declare class AppCompanySerializer extends NestEntitySerializer<AppCompanyEntity, string> {
|
|
5
5
|
protected getDefinition(): EntitySerializerSheetDefinition<AppCompanyEntity>;
|
|
6
6
|
}
|
package/dist/esm/types/platforms/nest/__test__/server/app/appDivisions/appDivision.serializer.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NestEntitySerializer } from "../../../../base";
|
|
2
2
|
import { EntitySerializerSheetDefinition } from "../../../../../../abstractions";
|
|
3
3
|
import { AppDivisionEntity } from "../../database/core/entities/appDivision.entity";
|
|
4
|
-
export declare class AppDivisionSerializer extends NestEntitySerializer<AppDivisionEntity> {
|
|
4
|
+
export declare class AppDivisionSerializer extends NestEntitySerializer<AppDivisionEntity, string> {
|
|
5
5
|
protected getDefinition(): EntitySerializerSheetDefinition<AppDivisionEntity>;
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NestEntitySerializer } from "../../../../base";
|
|
2
2
|
import { EntitySerializerSheetDefinition } from "../../../../../../abstractions";
|
|
3
3
|
import { AppOrganizationEntity } from "../../database/core/entities/appOrganization.entity";
|
|
4
|
-
export declare class AppOrganizationSerializer extends NestEntitySerializer<AppOrganizationEntity> {
|
|
4
|
+
export declare class AppOrganizationSerializer extends NestEntitySerializer<AppOrganizationEntity, string> {
|
|
5
5
|
protected getDefinition(): EntitySerializerSheetDefinition<AppOrganizationEntity>;
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NestEntitySerializer } from "../../../../base";
|
|
2
2
|
import { EntitySerializerSheetDefinition } from "../../../../../../abstractions";
|
|
3
3
|
import { AppRoleEntity } from "../../database/core/entities/appRole.entity";
|
|
4
|
-
export declare class AppRoleSerializer extends NestEntitySerializer<AppRoleEntity> {
|
|
4
|
+
export declare class AppRoleSerializer extends NestEntitySerializer<AppRoleEntity, string> {
|
|
5
5
|
protected getDefinition(): EntitySerializerSheetDefinition<AppRoleEntity>;
|
|
6
6
|
}
|
package/dist/esm/types/platforms/nest/__test__/server/app/appTenants/appTenant.serializer.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NestEntitySerializer } from "../../../../base";
|
|
2
2
|
import { EntitySerializerSheetDefinition } from "../../../../../../abstractions";
|
|
3
3
|
import { AppTenantEntity } from "../../database/core/entities/appTenant.entity";
|
|
4
|
-
export declare class AppTenantSerializer extends NestEntitySerializer<AppTenantEntity> {
|
|
4
|
+
export declare class AppTenantSerializer extends NestEntitySerializer<AppTenantEntity, string> {
|
|
5
5
|
protected getDefinition(): EntitySerializerSheetDefinition<AppTenantEntity>;
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NestEntitySerializer } from "../../../../base";
|
|
2
2
|
import { EntitySerializerSheetDefinition } from "../../../../../../abstractions";
|
|
3
3
|
import { AppUserGroupMemberEntity } from "../../database/core/entities/appUserGroupMember.entity";
|
|
4
|
-
export declare class AppUserGroupMemberSerializer extends NestEntitySerializer<AppUserGroupMemberEntity> {
|
|
4
|
+
export declare class AppUserGroupMemberSerializer extends NestEntitySerializer<AppUserGroupMemberEntity, string> {
|
|
5
5
|
protected getDefinition(): EntitySerializerSheetDefinition<AppUserGroupMemberEntity>;
|
|
6
6
|
}
|
package/dist/esm/types/platforms/nest/__test__/server/app/appUserGroups/appUserGroup.serializer.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NestEntitySerializer } from "../../../../base";
|
|
2
2
|
import { EntitySerializerSheetDefinition } from "../../../../../../abstractions";
|
|
3
3
|
import { AppUserGroupEntity } from "../../database/core/entities/appUserGroup.entity";
|
|
4
|
-
export declare class AppUserGroupSerializer extends NestEntitySerializer<AppUserGroupEntity> {
|
|
4
|
+
export declare class AppUserGroupSerializer extends NestEntitySerializer<AppUserGroupEntity, string> {
|
|
5
5
|
protected getDefinition(): EntitySerializerSheetDefinition<AppUserGroupEntity>;
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NestEntitySerializer } from "../../../../base";
|
|
2
2
|
import { EntitySerializerSheetDefinition } from "../../../../../../abstractions";
|
|
3
3
|
import { AppUserProfileEntity } from "../../database/core/entities/appUserProfile.entity";
|
|
4
|
-
export declare class AppUserProfileSerializer extends NestEntitySerializer<AppUserProfileEntity> {
|
|
4
|
+
export declare class AppUserProfileSerializer extends NestEntitySerializer<AppUserProfileEntity, string> {
|
|
5
5
|
protected getDefinition(): EntitySerializerSheetDefinition<AppUserProfileEntity>;
|
|
6
6
|
}
|
package/dist/esm/types/platforms/nest/__test__/server/app/appUserRoles/appUserRole.serializer.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NestEntitySerializer } from "../../../../base";
|
|
2
2
|
import { EntitySerializerSheetDefinition } from "../../../../../../abstractions";
|
|
3
3
|
import { AppUserRoleEntity } from "../../database/core/entities/appUserRole.entity";
|
|
4
|
-
export declare class AppUserRoleSerializer extends NestEntitySerializer<AppUserRoleEntity> {
|
|
4
|
+
export declare class AppUserRoleSerializer extends NestEntitySerializer<AppUserRoleEntity, string> {
|
|
5
5
|
protected getDefinition(): EntitySerializerSheetDefinition<AppUserRoleEntity>;
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { NestEntitySerializer } from "../../../../base";
|
|
2
2
|
import { EntitySerializerSheetDefinition } from "../../../../../../abstractions";
|
|
3
3
|
import { AppUserEntity } from "../../database/core/entities/appUser.entity";
|
|
4
|
-
export declare class AppUserSerializer extends NestEntitySerializer<AppUserEntity> {
|
|
4
|
+
export declare class AppUserSerializer extends NestEntitySerializer<AppUserEntity, string> {
|
|
5
5
|
protected getDefinition(): EntitySerializerSheetDefinition<AppUserEntity>;
|
|
6
6
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { EntityManagerRegistry, EntitySerializerSheetDefinition, NestEntitySerializer } from "../../../../../..";
|
|
2
2
|
import { FooEntity } from "../../database/core/entities/foo.entity";
|
|
3
|
-
export declare class FooSerializer extends NestEntitySerializer<FooEntity> {
|
|
3
|
+
export declare class FooSerializer extends NestEntitySerializer<FooEntity, string> {
|
|
4
4
|
constructor(registry: EntityManagerRegistry);
|
|
5
5
|
protected getDefinition(): EntitySerializerSheetDefinition<FooEntity>;
|
|
6
6
|
}
|
|
@@ -3,7 +3,7 @@ import { IEntitiesDeleteParameters } from "../../../abstractions/commands";
|
|
|
3
3
|
import { EntityServiceLocator } from "../../../providers/services";
|
|
4
4
|
import { EntityManagerRegistry } from "../ioc";
|
|
5
5
|
export declare abstract class NestEntityActions<TEntity, TEntityId, TEntityCreateDto, TEntityUpdateDto, TEntityDto, TEntityListItemDto, TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> {
|
|
6
|
-
protected readonly services: EntityServiceLocator<TEntity,
|
|
6
|
+
protected readonly services: EntityServiceLocator<TEntity, unknown>;
|
|
7
7
|
private actionsInstance;
|
|
8
8
|
constructor(entityName: string, registry: EntityManagerRegistry);
|
|
9
9
|
get manager(): IEntityActions<TEntity, TEntityId, TEntityCreateDto, TEntityUpdateDto, TEntityDto, TEntityListItemDto, TEntitiesDeleteParameters, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
@@ -3,7 +3,7 @@ import { IEntitiesDeleteParameters } from "../../../abstractions/commands";
|
|
|
3
3
|
import { EntityServiceLocator } from "../../../providers/services";
|
|
4
4
|
import { EntityManagerRegistry } from "../ioc/registry";
|
|
5
5
|
export declare abstract class NestEntityManager<TEntity, TEntityId, TEntityCreateData, TEntityUpdateData, TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> {
|
|
6
|
-
protected readonly services: EntityServiceLocator<TEntity,
|
|
6
|
+
protected readonly services: EntityServiceLocator<TEntity, unknown>;
|
|
7
7
|
private managerInstance;
|
|
8
8
|
constructor(entityName: string, registry: EntityManagerRegistry);
|
|
9
9
|
get manager(): IEntityManager<TEntity, TEntityId, TEntityCreateData, TEntityUpdateData, TEntitiesDeleteParameters, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { EntitySerializer } from "../../../base/serializer";
|
|
2
2
|
import { EntityServiceLocator } from "../../../providers/services";
|
|
3
3
|
import { EntityManagerRegistry } from "../ioc";
|
|
4
|
-
export declare abstract class NestEntitySerializer<TEntity> extends EntitySerializer<TEntity> {
|
|
4
|
+
export declare abstract class NestEntitySerializer<TEntity, TEntityId> extends EntitySerializer<TEntity, TEntityId> {
|
|
5
5
|
protected readonly services: EntityServiceLocator<TEntity, unknown>;
|
|
6
6
|
constructor(entityName: string, registry: EntityManagerRegistry);
|
|
7
7
|
}
|
|
@@ -31,7 +31,7 @@ export declare class EntityServiceLocator<TEntity, TEntityId> {
|
|
|
31
31
|
resolveConnectorDeleteManager<TEntityId>(): IEntityConnectorDeleteManager<TEntity, TEntityId>;
|
|
32
32
|
resolveConnectorsConfiguration(): IConnectorsConfiguration<TEntity>;
|
|
33
33
|
resolveConverter<TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>(): IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto> | undefined;
|
|
34
|
-
resolveSerializer(): IEntitySerializer<TEntity>;
|
|
34
|
+
resolveSerializer(): IEntitySerializer<TEntity, TEntityId>;
|
|
35
35
|
resolveAdapter<TEntityCreateData, TEntityUpdateData>(): IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData> | undefined;
|
|
36
36
|
resolveAuthorizationMiddleware<TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(): IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext> | undefined;
|
|
37
37
|
resolveGetQuery<TEntityId>(): IEntityGetQuery<TEntity, TEntityId>;
|
|
@@ -103,8 +103,8 @@ export declare class EntitiesServiceLocator {
|
|
|
103
103
|
resolveAdapter<TEntity, TEntityCreateData, TEntityUpdateData>(entityName: string): IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData> | undefined;
|
|
104
104
|
registerConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>(entityName: string, instance: IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>): void;
|
|
105
105
|
resolveConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>(entityName: string): IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto> | undefined;
|
|
106
|
-
registerSerializer<TEntity>(entityName: string, instance: IEntitySerializer<TEntity>): void;
|
|
107
|
-
resolveSerializer<TEntity>(entityName: string): IEntitySerializer<TEntity>;
|
|
106
|
+
registerSerializer<TEntity, TEntityId>(entityName: string, instance: IEntitySerializer<TEntity, TEntityId>): void;
|
|
107
|
+
resolveSerializer<TEntity, TEntityId>(entityName: string): IEntitySerializer<TEntity, TEntityId>;
|
|
108
108
|
resolveAuthorizationMiddleware<TEntity, TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(entityName: string): IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext> | undefined;
|
|
109
109
|
registerAuthorizationMiddleware<TEntity, TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(entityName: string, instance: IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext>): void;
|
|
110
110
|
resolveGetQuery<TEntity, TEntityId>(entityName: string): IEntityGetQuery<TEntity, TEntityId>;
|
package/dist/index.d.ts
CHANGED
|
@@ -79,6 +79,7 @@ type EntitySerializerColumnDefinition<TEntity> = {
|
|
|
79
79
|
sampleValue?: any;
|
|
80
80
|
parser?: (value: any) => any;
|
|
81
81
|
converter?: (value: any, item: TEntity) => any;
|
|
82
|
+
idColumn?: boolean;
|
|
82
83
|
};
|
|
83
84
|
type EntitySerializerSheetDefinition<TEntity> = {
|
|
84
85
|
columns: EntitySerializerColumnDefinition<TEntity>[];
|
|
@@ -93,9 +94,13 @@ declare enum EntitySerializationFormat {
|
|
|
93
94
|
Json = "json",
|
|
94
95
|
Xlsx = "xlsx"
|
|
95
96
|
}
|
|
96
|
-
|
|
97
|
+
type ImportEntry<TEntity, TEntityId> = {
|
|
98
|
+
id?: TEntityId;
|
|
99
|
+
item: TEntity;
|
|
100
|
+
};
|
|
101
|
+
interface IEntitySerializer<TEntity, TEntityId> {
|
|
97
102
|
serialize(data: TEntity[], format: EntitySerializationFormat): Promise<EntityExportFile>;
|
|
98
|
-
parse(data: Buffer, format: EntitySerializationFormat): Promise<TEntity[]>;
|
|
103
|
+
parse(data: Buffer, format: EntitySerializationFormat): Promise<ImportEntry<TEntity, TEntityId>[]>;
|
|
99
104
|
createSample(format: EntitySerializationFormat): Promise<EntityExportFile>;
|
|
100
105
|
}
|
|
101
106
|
|
|
@@ -133,7 +138,9 @@ type EntitiesSampleDownloadResult = {
|
|
|
133
138
|
|
|
134
139
|
type EntitiesImportInput = {
|
|
135
140
|
format: EntitySerializationFormat;
|
|
141
|
+
fileName: string;
|
|
136
142
|
content: Buffer;
|
|
143
|
+
contentType: string;
|
|
137
144
|
};
|
|
138
145
|
type EntitiesImportStatistics = {
|
|
139
146
|
importedCount: number;
|
|
@@ -648,7 +655,7 @@ declare class EntityServiceLocator<TEntity, TEntityId> {
|
|
|
648
655
|
resolveConnectorDeleteManager<TEntityId>(): IEntityConnectorDeleteManager<TEntity, TEntityId>;
|
|
649
656
|
resolveConnectorsConfiguration(): IConnectorsConfiguration<TEntity>;
|
|
650
657
|
resolveConverter<TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>(): IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto> | undefined;
|
|
651
|
-
resolveSerializer(): IEntitySerializer<TEntity>;
|
|
658
|
+
resolveSerializer(): IEntitySerializer<TEntity, TEntityId>;
|
|
652
659
|
resolveAdapter<TEntityCreateData, TEntityUpdateData>(): IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData> | undefined;
|
|
653
660
|
resolveAuthorizationMiddleware<TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(): IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext> | undefined;
|
|
654
661
|
resolveGetQuery<TEntityId>(): IEntityGetQuery<TEntity, TEntityId>;
|
|
@@ -720,8 +727,8 @@ declare class EntitiesServiceLocator {
|
|
|
720
727
|
resolveAdapter<TEntity, TEntityCreateData, TEntityUpdateData>(entityName: string): IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData> | undefined;
|
|
721
728
|
registerConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>(entityName: string, instance: IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>): void;
|
|
722
729
|
resolveConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>(entityName: string): IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto> | undefined;
|
|
723
|
-
registerSerializer<TEntity>(entityName: string, instance: IEntitySerializer<TEntity>): void;
|
|
724
|
-
resolveSerializer<TEntity>(entityName: string): IEntitySerializer<TEntity>;
|
|
730
|
+
registerSerializer<TEntity, TEntityId>(entityName: string, instance: IEntitySerializer<TEntity, TEntityId>): void;
|
|
731
|
+
resolveSerializer<TEntity, TEntityId>(entityName: string): IEntitySerializer<TEntity, TEntityId>;
|
|
725
732
|
resolveAuthorizationMiddleware<TEntity, TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(entityName: string): IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext> | undefined;
|
|
726
733
|
registerAuthorizationMiddleware<TEntity, TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(entityName: string, instance: IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext>): void;
|
|
727
734
|
resolveGetQuery<TEntity, TEntityId>(entityName: string): IEntityGetQuery<TEntity, TEntityId>;
|
|
@@ -796,7 +803,7 @@ interface IEntityManagerServiceRoot {
|
|
|
796
803
|
interface IEntityManagerServiceCollection<TEntity, TEntityId> {
|
|
797
804
|
getServiceLocator(): EntityServiceLocator<TEntity, TEntityId>;
|
|
798
805
|
mapCrudOperations<TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets, TEntitiesQueryBuilder extends IEntitiesQueryBuilder<TEntity, TEntitySearchParameters, TSorting, TCursor, TFacets, unknown>>(input: EntitiesMapOperationsInput<TEntitiesQueryBuilder>): IEntityManagerServiceCollection<TEntity, TEntityId>;
|
|
799
|
-
addSerializer<TEntitySerializer extends IEntitySerializer<TEntity>>(serializer: TEntitySerializer): IEntityManagerServiceCollection<TEntity, TEntityId>;
|
|
806
|
+
addSerializer<TEntitySerializer extends IEntitySerializer<TEntity, TEntityId>>(serializer: TEntitySerializer): IEntityManagerServiceCollection<TEntity, TEntityId>;
|
|
800
807
|
addConverter<TEntityDto, TListItemDto, TEntityCreateInput, TEntityUpdateInput, TEntityConverter extends IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateInput, TEntityUpdateInput>>(converter: TEntityConverter): IEntityManagerServiceCollection<TEntity, TEntityId>;
|
|
801
808
|
addAdapter<TEntityCreateData, TEntityUpdateData, TEntityAdapter extends IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData>>(adapter: TEntityAdapter): IEntityManagerServiceCollection<TEntity, TEntityId>;
|
|
802
809
|
addAuthorization<TEntityAuthorizationMiddleware extends IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext>, TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>({ middleware, }: {
|
|
@@ -919,10 +926,14 @@ declare abstract class EntitySeeder<TEntity, TFindCondition> implements IEntityS
|
|
|
919
926
|
abstract get priority(): number | undefined;
|
|
920
927
|
}
|
|
921
928
|
|
|
922
|
-
declare abstract class EntitySerializer<TEntity> implements IEntitySerializer<TEntity> {
|
|
929
|
+
declare abstract class EntitySerializer<TEntity, TEntityId> implements IEntitySerializer<TEntity, TEntityId> {
|
|
923
930
|
protected readonly entityName: string;
|
|
924
931
|
constructor(entityName: string);
|
|
925
|
-
parse(data: Buffer, format: EntitySerializationFormat): Promise<TEntity[]>;
|
|
932
|
+
parse(data: Buffer, format: EntitySerializationFormat): Promise<ImportEntry<TEntity, TEntityId>[]>;
|
|
933
|
+
private parseCsv;
|
|
934
|
+
private parseXlsx;
|
|
935
|
+
private convertSheetRecord;
|
|
936
|
+
private parseColumnValue;
|
|
926
937
|
createSample(format: EntitySerializationFormat): Promise<EntityExportFile>;
|
|
927
938
|
private buildSampleFile;
|
|
928
939
|
serialize(data: TEntity[], format: EntitySerializationFormat): Promise<EntityExportFile>;
|
|
@@ -1167,20 +1178,20 @@ declare class EntityManagerRegistry {
|
|
|
1167
1178
|
}
|
|
1168
1179
|
|
|
1169
1180
|
declare abstract class NestEntityActions<TEntity, TEntityId, TEntityCreateDto, TEntityUpdateDto, TEntityDto, TEntityListItemDto, TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> {
|
|
1170
|
-
protected readonly services: EntityServiceLocator<TEntity,
|
|
1181
|
+
protected readonly services: EntityServiceLocator<TEntity, unknown>;
|
|
1171
1182
|
private actionsInstance;
|
|
1172
1183
|
constructor(entityName: string, registry: EntityManagerRegistry);
|
|
1173
1184
|
get manager(): IEntityActions<TEntity, TEntityId, TEntityCreateDto, TEntityUpdateDto, TEntityDto, TEntityListItemDto, TEntitiesDeleteParameters, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
1174
1185
|
}
|
|
1175
1186
|
|
|
1176
1187
|
declare abstract class NestEntityManager<TEntity, TEntityId, TEntityCreateData, TEntityUpdateData, TEntitiesDeleteParameters extends IEntitiesDeleteParameters<TSorting>, TEntitySearchParameters extends IEntitySearchParameters<TSorting, TCursor>, TSorting extends SortingType, TCursor, TFacets extends IEntityFacets> {
|
|
1177
|
-
protected readonly services: EntityServiceLocator<TEntity,
|
|
1188
|
+
protected readonly services: EntityServiceLocator<TEntity, unknown>;
|
|
1178
1189
|
private managerInstance;
|
|
1179
1190
|
constructor(entityName: string, registry: EntityManagerRegistry);
|
|
1180
1191
|
get manager(): IEntityManager<TEntity, TEntityId, TEntityCreateData, TEntityUpdateData, TEntitiesDeleteParameters, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
1181
1192
|
}
|
|
1182
1193
|
|
|
1183
|
-
declare abstract class NestEntitySerializer<TEntity> extends EntitySerializer<TEntity> {
|
|
1194
|
+
declare abstract class NestEntitySerializer<TEntity, TEntityId> extends EntitySerializer<TEntity, TEntityId> {
|
|
1184
1195
|
protected readonly services: EntityServiceLocator<TEntity, unknown>;
|
|
1185
1196
|
constructor(entityName: string, registry: EntityManagerRegistry);
|
|
1186
1197
|
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@punks/backend-entity-manager",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.93",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
"@nestjs/swagger": "^7.1.2",
|
|
39
39
|
"@nestjs/testing": "^10.1.0",
|
|
40
40
|
"@nestjs/typeorm": "^10.0.0",
|
|
41
|
-
"@punks/backend-core": "^0.0.
|
|
41
|
+
"@punks/backend-core": "^0.0.21",
|
|
42
42
|
"@rollup/plugin-commonjs": "^21.0.1",
|
|
43
43
|
"@rollup/plugin-json": "^6.0.0",
|
|
44
44
|
"@rollup/plugin-node-resolve": "^13.0.6",
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"@nestjs/swagger": "^7.1.2",
|
|
85
85
|
"@nestjs/testing": "^10.1.0",
|
|
86
86
|
"@nestjs/typeorm": "^10.0.0",
|
|
87
|
-
"@punks/backend-core": "0.0.
|
|
87
|
+
"@punks/backend-core": "0.0.21",
|
|
88
88
|
"@sendgrid/mail": "^7.7.0",
|
|
89
89
|
"bcrypt": "^5.1.0",
|
|
90
90
|
"typeorm": "^0.3.17"
|