@punks/backend-entity-manager 0.0.92 → 0.0.94
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 +88 -5
- 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 +6 -1
- 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 +89 -6
- 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 +6 -1
- 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 +26 -12
- 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, }: {
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { EntitySerializationFormat } from "./serializer";
|
|
3
|
+
export type EntitiesImportInputFile = {
|
|
4
|
+
fileName: string;
|
|
5
|
+
content: Buffer;
|
|
6
|
+
contentType: string;
|
|
7
|
+
};
|
|
3
8
|
export type EntitiesImportInput = {
|
|
4
9
|
format: EntitySerializationFormat;
|
|
5
|
-
|
|
10
|
+
file: EntitiesImportInputFile;
|
|
6
11
|
};
|
|
7
12
|
export type EntitiesImportStatistics = {
|
|
8
13
|
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
|
|
|
@@ -131,9 +136,14 @@ type EntitiesSampleDownloadResult = {
|
|
|
131
136
|
downloadUrl: string;
|
|
132
137
|
};
|
|
133
138
|
|
|
139
|
+
type EntitiesImportInputFile = {
|
|
140
|
+
fileName: string;
|
|
141
|
+
content: Buffer;
|
|
142
|
+
contentType: string;
|
|
143
|
+
};
|
|
134
144
|
type EntitiesImportInput = {
|
|
135
145
|
format: EntitySerializationFormat;
|
|
136
|
-
|
|
146
|
+
file: EntitiesImportInputFile;
|
|
137
147
|
};
|
|
138
148
|
type EntitiesImportStatistics = {
|
|
139
149
|
importedCount: number;
|
|
@@ -648,7 +658,7 @@ declare class EntityServiceLocator<TEntity, TEntityId> {
|
|
|
648
658
|
resolveConnectorDeleteManager<TEntityId>(): IEntityConnectorDeleteManager<TEntity, TEntityId>;
|
|
649
659
|
resolveConnectorsConfiguration(): IConnectorsConfiguration<TEntity>;
|
|
650
660
|
resolveConverter<TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>(): IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto> | undefined;
|
|
651
|
-
resolveSerializer(): IEntitySerializer<TEntity>;
|
|
661
|
+
resolveSerializer(): IEntitySerializer<TEntity, TEntityId>;
|
|
652
662
|
resolveAdapter<TEntityCreateData, TEntityUpdateData>(): IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData> | undefined;
|
|
653
663
|
resolveAuthorizationMiddleware<TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(): IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext> | undefined;
|
|
654
664
|
resolveGetQuery<TEntityId>(): IEntityGetQuery<TEntity, TEntityId>;
|
|
@@ -720,8 +730,8 @@ declare class EntitiesServiceLocator {
|
|
|
720
730
|
resolveAdapter<TEntity, TEntityCreateData, TEntityUpdateData>(entityName: string): IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData> | undefined;
|
|
721
731
|
registerConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>(entityName: string, instance: IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateDto, TEntityUpdateDto>): void;
|
|
722
732
|
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>;
|
|
733
|
+
registerSerializer<TEntity, TEntityId>(entityName: string, instance: IEntitySerializer<TEntity, TEntityId>): void;
|
|
734
|
+
resolveSerializer<TEntity, TEntityId>(entityName: string): IEntitySerializer<TEntity, TEntityId>;
|
|
725
735
|
resolveAuthorizationMiddleware<TEntity, TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(entityName: string): IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext> | undefined;
|
|
726
736
|
registerAuthorizationMiddleware<TEntity, TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>(entityName: string, instance: IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext>): void;
|
|
727
737
|
resolveGetQuery<TEntity, TEntityId>(entityName: string): IEntityGetQuery<TEntity, TEntityId>;
|
|
@@ -796,7 +806,7 @@ interface IEntityManagerServiceRoot {
|
|
|
796
806
|
interface IEntityManagerServiceCollection<TEntity, TEntityId> {
|
|
797
807
|
getServiceLocator(): EntityServiceLocator<TEntity, TEntityId>;
|
|
798
808
|
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>;
|
|
809
|
+
addSerializer<TEntitySerializer extends IEntitySerializer<TEntity, TEntityId>>(serializer: TEntitySerializer): IEntityManagerServiceCollection<TEntity, TEntityId>;
|
|
800
810
|
addConverter<TEntityDto, TListItemDto, TEntityCreateInput, TEntityUpdateInput, TEntityConverter extends IEntityConverter<TEntity, TEntityDto, TListItemDto, TEntityCreateInput, TEntityUpdateInput>>(converter: TEntityConverter): IEntityManagerServiceCollection<TEntity, TEntityId>;
|
|
801
811
|
addAdapter<TEntityCreateData, TEntityUpdateData, TEntityAdapter extends IEntityAdapter<TEntity, TEntityCreateData, TEntityUpdateData>>(adapter: TEntityAdapter): IEntityManagerServiceCollection<TEntity, TEntityId>;
|
|
802
812
|
addAuthorization<TEntityAuthorizationMiddleware extends IEntityAuthorizationMiddleware<TEntity, TAuthenticationContext, TUserContext>, TAuthenticationContext extends IAuthenticationContext<TUserContext>, TUserContext>({ middleware, }: {
|
|
@@ -919,10 +929,14 @@ declare abstract class EntitySeeder<TEntity, TFindCondition> implements IEntityS
|
|
|
919
929
|
abstract get priority(): number | undefined;
|
|
920
930
|
}
|
|
921
931
|
|
|
922
|
-
declare abstract class EntitySerializer<TEntity> implements IEntitySerializer<TEntity> {
|
|
932
|
+
declare abstract class EntitySerializer<TEntity, TEntityId> implements IEntitySerializer<TEntity, TEntityId> {
|
|
923
933
|
protected readonly entityName: string;
|
|
924
934
|
constructor(entityName: string);
|
|
925
|
-
parse(data: Buffer, format: EntitySerializationFormat): Promise<TEntity[]>;
|
|
935
|
+
parse(data: Buffer, format: EntitySerializationFormat): Promise<ImportEntry<TEntity, TEntityId>[]>;
|
|
936
|
+
private parseCsv;
|
|
937
|
+
private parseXlsx;
|
|
938
|
+
private convertSheetRecord;
|
|
939
|
+
private parseColumnValue;
|
|
926
940
|
createSample(format: EntitySerializationFormat): Promise<EntityExportFile>;
|
|
927
941
|
private buildSampleFile;
|
|
928
942
|
serialize(data: TEntity[], format: EntitySerializationFormat): Promise<EntityExportFile>;
|
|
@@ -1167,20 +1181,20 @@ declare class EntityManagerRegistry {
|
|
|
1167
1181
|
}
|
|
1168
1182
|
|
|
1169
1183
|
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,
|
|
1184
|
+
protected readonly services: EntityServiceLocator<TEntity, unknown>;
|
|
1171
1185
|
private actionsInstance;
|
|
1172
1186
|
constructor(entityName: string, registry: EntityManagerRegistry);
|
|
1173
1187
|
get manager(): IEntityActions<TEntity, TEntityId, TEntityCreateDto, TEntityUpdateDto, TEntityDto, TEntityListItemDto, TEntitiesDeleteParameters, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
1174
1188
|
}
|
|
1175
1189
|
|
|
1176
1190
|
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,
|
|
1191
|
+
protected readonly services: EntityServiceLocator<TEntity, unknown>;
|
|
1178
1192
|
private managerInstance;
|
|
1179
1193
|
constructor(entityName: string, registry: EntityManagerRegistry);
|
|
1180
1194
|
get manager(): IEntityManager<TEntity, TEntityId, TEntityCreateData, TEntityUpdateData, TEntitiesDeleteParameters, TEntitySearchParameters, TSorting, TCursor, TFacets>;
|
|
1181
1195
|
}
|
|
1182
1196
|
|
|
1183
|
-
declare abstract class NestEntitySerializer<TEntity> extends EntitySerializer<TEntity> {
|
|
1197
|
+
declare abstract class NestEntitySerializer<TEntity, TEntityId> extends EntitySerializer<TEntity, TEntityId> {
|
|
1184
1198
|
protected readonly services: EntityServiceLocator<TEntity, unknown>;
|
|
1185
1199
|
constructor(entityName: string, registry: EntityManagerRegistry);
|
|
1186
1200
|
}
|
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.94",
|
|
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"
|