@zola_do/crud 0.2.1 → 0.2.3
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/README.md +31 -0
- package/dist/controller/entity-crud.controller.d.ts +1 -1
- package/dist/controller/entity-crud.controller.js +97 -31
- package/dist/controller/entity-crud.controller.js.map +1 -1
- package/dist/controller/extra-crud.controller.d.ts +1 -1
- package/dist/controller/extra-crud.controller.js +96 -31
- package/dist/controller/extra-crud.controller.js.map +1 -1
- package/dist/controller/relation-crud.controller.js +70 -22
- package/dist/controller/relation-crud.controller.js.map +1 -1
- package/dist/crud-operation/controller/entity-crud.controller.js +3 -3
- package/dist/crud-operation/controller/entity-crud.controller.js.map +1 -1
- package/dist/crud-operation/controller/extra-crud.controller.js +3 -3
- package/dist/crud-operation/controller/extra-crud.controller.js.map +1 -1
- package/dist/crud-operation/controller/relation-crud.controller.js +2 -2
- package/dist/crud-operation/controller/relation-crud.controller.js.map +1 -1
- package/dist/crud-operation/repository/entity-crud.repository.d.ts +3 -3
- package/dist/crud-operation/repository/entity-crud.repository.js +71 -9
- package/dist/crud-operation/repository/entity-crud.repository.js.map +1 -1
- package/dist/crud-operation/repository/extra-crud.repository.d.ts +3 -3
- package/dist/crud-operation/repository/extra-crud.repository.js +71 -9
- package/dist/crud-operation/repository/extra-crud.repository.js.map +1 -1
- package/dist/crud-operation/repository/relation-crud.repository.d.ts +2 -2
- package/dist/crud-operation/repository/relation-crud.repository.js +22 -2
- package/dist/crud-operation/repository/relation-crud.repository.js.map +1 -1
- package/dist/crud-operation/service/entity-crud.service.d.ts +3 -3
- package/dist/crud-operation/service/entity-crud.service.js +28 -6
- package/dist/crud-operation/service/entity-crud.service.js.map +1 -1
- package/dist/crud-operation/service/extra-crud.service.d.ts +3 -3
- package/dist/crud-operation/service/extra-crud.service.js +28 -6
- package/dist/crud-operation/service/extra-crud.service.js.map +1 -1
- package/dist/crud-operation/service/relation-crud.service.d.ts +2 -2
- package/dist/crud-operation/service/relation-crud.service.js +4 -4
- package/dist/crud-operation/service/relation-crud.service.js.map +1 -1
- package/dist/service/entity-crud.service.d.ts +3 -3
- package/dist/service/entity-crud.service.js +71 -9
- package/dist/service/entity-crud.service.js.map +1 -1
- package/dist/service/extra-crud.service.d.ts +3 -3
- package/dist/service/extra-crud.service.js +71 -9
- package/dist/service/extra-crud.service.js.map +1 -1
- package/dist/service/relation-crud.service.d.ts +2 -2
- package/dist/service/relation-crud.service.js +22 -2
- package/dist/service/relation-crud.service.js.map +1 -1
- package/dist/shared/guards/crud-operation-disabled.guard.d.ts +7 -0
- package/dist/shared/guards/crud-operation-disabled.guard.js +16 -0
- package/dist/shared/guards/crud-operation-disabled.guard.js.map +1 -0
- package/dist/shared/index.d.ts +1 -0
- package/dist/shared/index.js +1 -0
- package/dist/shared/index.js.map +1 -1
- package/dist/shared/types/crud-option.type.d.ts +48 -0
- package/dist/shared/utils/crud-hooks.helper.d.ts +10 -0
- package/dist/shared/utils/crud-hooks.helper.js +42 -0
- package/dist/shared/utils/crud-hooks.helper.js.map +1 -0
- package/dist/shared/utils/index.d.ts +1 -0
- package/dist/shared/utils/index.js +1 -0
- package/dist/shared/utils/index.js.map +1 -1
- package/package.json +11 -4
|
@@ -18,7 +18,7 @@ let RelationCrudRepository = class RelationCrudRepository {
|
|
|
18
18
|
constructor(repository) {
|
|
19
19
|
this.repository = repository;
|
|
20
20
|
}
|
|
21
|
-
async bulkSaveFirst(payload, relationCrudOptions) {
|
|
21
|
+
async bulkSaveFirst(payload, relationCrudOptions, req) {
|
|
22
22
|
const firstEntityIdName = relationCrudOptions.firstEntityIdName;
|
|
23
23
|
const secondEntityIdName = relationCrudOptions.secondEntityIdName;
|
|
24
24
|
const include = relationCrudOptions.firstInclude;
|
|
@@ -33,12 +33,22 @@ let RelationCrudRepository = class RelationCrudRepository {
|
|
|
33
33
|
});
|
|
34
34
|
const deleteCondition = {};
|
|
35
35
|
deleteCondition[firstEntityIdName] = entityId;
|
|
36
|
+
await (0, shared_1.runCrudHook)(relationCrudOptions, 'beforeAssignFirst', {
|
|
37
|
+
id: entityId,
|
|
38
|
+
itemData: payload,
|
|
39
|
+
req,
|
|
40
|
+
});
|
|
36
41
|
await this.repository.delete(deleteCondition);
|
|
37
42
|
const data = this.repository.create(parsedPayload);
|
|
38
43
|
await this.repository.insert(data);
|
|
44
|
+
await (0, shared_1.runCrudHook)(relationCrudOptions, 'afterAssignFirst', {
|
|
45
|
+
id: entityId,
|
|
46
|
+
entity: data,
|
|
47
|
+
req,
|
|
48
|
+
});
|
|
39
49
|
return data;
|
|
40
50
|
}
|
|
41
|
-
async bulkSaveSecond(payload, relationCrudOptions) {
|
|
51
|
+
async bulkSaveSecond(payload, relationCrudOptions, req) {
|
|
42
52
|
const firstEntityIdName = relationCrudOptions.firstEntityIdName;
|
|
43
53
|
const secondEntityIdName = relationCrudOptions.secondEntityIdName;
|
|
44
54
|
const include = relationCrudOptions.secondInclude;
|
|
@@ -53,9 +63,19 @@ let RelationCrudRepository = class RelationCrudRepository {
|
|
|
53
63
|
});
|
|
54
64
|
const deleteCondition = {};
|
|
55
65
|
deleteCondition[secondEntityIdName] = entityId;
|
|
66
|
+
await (0, shared_1.runCrudHook)(relationCrudOptions, 'beforeAssignSecond', {
|
|
67
|
+
id: entityId,
|
|
68
|
+
itemData: payload,
|
|
69
|
+
req,
|
|
70
|
+
});
|
|
56
71
|
await this.repository.delete(deleteCondition);
|
|
57
72
|
const data = this.repository.create(parsedPayload);
|
|
58
73
|
await this.repository.insert(data);
|
|
74
|
+
await (0, shared_1.runCrudHook)(relationCrudOptions, 'afterAssignSecond', {
|
|
75
|
+
id: entityId,
|
|
76
|
+
entity: data,
|
|
77
|
+
req,
|
|
78
|
+
});
|
|
59
79
|
return data;
|
|
60
80
|
}
|
|
61
81
|
async findAllFirst(entityId, query, relationCrudOptions) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation-crud.repository.js","sourceRoot":"","sources":["../../../src/crud-operation/repository/relation-crud.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAoD;AACpD,2CAA4C;AAC5C,gEAImC;AACnC,
|
|
1
|
+
{"version":3,"file":"relation-crud.repository.js","sourceRoot":"","sources":["../../../src/crud-operation/repository/relation-crud.repository.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,9 @@ export declare class EntityCrudService<T extends ObjectLiteral> {
|
|
|
8
8
|
create(itemData: DeepPartial<any>, req?: any, options?: EntityCrudOptions): Promise<any>;
|
|
9
9
|
findAll(query: CollectionQuery, req?: any): Promise<import("../../shared").DataResponseFormat<T>>;
|
|
10
10
|
findOne(id: any, req?: any): Promise<T | undefined>;
|
|
11
|
-
update(id: string, itemData: any): Promise<T | undefined>;
|
|
12
|
-
softDelete(id: string, req?: any): Promise<void>;
|
|
13
|
-
restore(id: string, req?: any): Promise<void>;
|
|
11
|
+
update(id: string, itemData: any, req?: any, options?: EntityCrudOptions): Promise<T | undefined>;
|
|
12
|
+
softDelete(id: string, req?: any, options?: EntityCrudOptions): Promise<void>;
|
|
13
|
+
restore(id: string, req?: any, options?: EntityCrudOptions): Promise<void>;
|
|
14
14
|
findAllArchived(query: CollectionQuery, req?: any): Promise<import("../../shared").DataResponseFormat<T>>;
|
|
15
15
|
findOneOrFail(id: any): Promise<T>;
|
|
16
16
|
}
|
|
@@ -25,14 +25,36 @@ let EntityCrudService = class EntityCrudService {
|
|
|
25
25
|
async findOne(id, req) {
|
|
26
26
|
return await this.repository.findOne(id, req);
|
|
27
27
|
}
|
|
28
|
-
async update(id, itemData) {
|
|
29
|
-
|
|
28
|
+
async update(id, itemData, req, options) {
|
|
29
|
+
if (req === undefined && options === undefined) {
|
|
30
|
+
return await this.repository.update(id, itemData);
|
|
31
|
+
}
|
|
32
|
+
if (options === undefined) {
|
|
33
|
+
return await this.repository.update(id, itemData, req);
|
|
34
|
+
}
|
|
35
|
+
return await this.repository.update(id, itemData, req, options);
|
|
30
36
|
}
|
|
31
|
-
async softDelete(id, req) {
|
|
32
|
-
|
|
37
|
+
async softDelete(id, req, options) {
|
|
38
|
+
if (req === undefined && options === undefined) {
|
|
39
|
+
await this.repository.softDelete(id);
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
if (options === undefined) {
|
|
43
|
+
await this.repository.softDelete(id, req);
|
|
44
|
+
return;
|
|
45
|
+
}
|
|
46
|
+
await this.repository.softDelete(id, req, options);
|
|
33
47
|
}
|
|
34
|
-
async restore(id, req) {
|
|
35
|
-
|
|
48
|
+
async restore(id, req, options) {
|
|
49
|
+
if (req === undefined && options === undefined) {
|
|
50
|
+
await this.repository.restore(id);
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
if (options === undefined) {
|
|
54
|
+
await this.repository.restore(id, req);
|
|
55
|
+
return;
|
|
56
|
+
}
|
|
57
|
+
await this.repository.restore(id, req, options);
|
|
36
58
|
}
|
|
37
59
|
async findAllArchived(query, req) {
|
|
38
60
|
return await this.repository.findAllArchived(query, req);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-crud.service.js","sourceRoot":"","sources":["../../../src/crud-operation/service/entity-crud.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,2CAA4C;AAG5C,iFAA4E;AAGrE,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,YAA6B,UAAmC;QAAnC,eAAU,GAAV,UAAU,CAAyB;IAAG,CAAC;IAEpE,KAAK,CAAC,MAAM,CACV,QAA0B,EAC1B,GAAS,EACT,OAA2B;QAE3B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,KAAsB,EAAE,GAAS;QAC7C,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAO,EAAE,GAAS;QAC9B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"entity-crud.service.js","sourceRoot":"","sources":["../../../src/crud-operation/service/entity-crud.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,9 +10,9 @@ export declare class ExtraCrudService<T extends ObjectLiteral> {
|
|
|
10
10
|
create(itemData: DeepPartial<any>, req?: any, options?: ExtraCrudOptions): Promise<any>;
|
|
11
11
|
findAll(entityId: string, query: CollectionQuery, extraCrudOptions: ExtraCrudOptions, req?: any): Promise<import("../../shared").DataResponseFormat<T>>;
|
|
12
12
|
findOne(id: any, req?: any): Promise<T | undefined>;
|
|
13
|
-
update(id: string, itemData: any): Promise<T | undefined>;
|
|
14
|
-
softDelete(id: string, req?: any): Promise<void>;
|
|
15
|
-
restore(id: string, req?: any): Promise<void>;
|
|
13
|
+
update(id: string, itemData: any, req?: any, options?: ExtraCrudOptions): Promise<T | undefined>;
|
|
14
|
+
softDelete(id: string, req?: any, options?: ExtraCrudOptions): Promise<void>;
|
|
15
|
+
restore(id: string, req?: any, options?: ExtraCrudOptions): Promise<void>;
|
|
16
16
|
findAllArchived(entityId: string, query: CollectionQuery, extraCrudOptions: ExtraCrudOptions, req?: any): Promise<import("../../shared").DataResponseFormat<T>>;
|
|
17
17
|
findOneOrFail(id: any): Promise<T>;
|
|
18
18
|
}
|
|
@@ -30,14 +30,36 @@ let ExtraCrudService = class ExtraCrudService {
|
|
|
30
30
|
async findOne(id, req) {
|
|
31
31
|
return await this.repository.findOne(id, req);
|
|
32
32
|
}
|
|
33
|
-
async update(id, itemData) {
|
|
34
|
-
|
|
33
|
+
async update(id, itemData, req, options) {
|
|
34
|
+
if (req === undefined && options === undefined) {
|
|
35
|
+
return await this.repository.update(id, itemData);
|
|
36
|
+
}
|
|
37
|
+
if (options === undefined) {
|
|
38
|
+
return await this.repository.update(id, itemData, req);
|
|
39
|
+
}
|
|
40
|
+
return await this.repository.update(id, itemData, req, options);
|
|
35
41
|
}
|
|
36
|
-
async softDelete(id, req) {
|
|
37
|
-
|
|
42
|
+
async softDelete(id, req, options) {
|
|
43
|
+
if (req === undefined && options === undefined) {
|
|
44
|
+
await this.repository.softDelete(id);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
if (options === undefined) {
|
|
48
|
+
await this.repository.softDelete(id, req);
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
await this.repository.softDelete(id, req, options);
|
|
38
52
|
}
|
|
39
|
-
async restore(id, req) {
|
|
40
|
-
|
|
53
|
+
async restore(id, req, options) {
|
|
54
|
+
if (req === undefined && options === undefined) {
|
|
55
|
+
await this.repository.restore(id);
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
if (options === undefined) {
|
|
59
|
+
await this.repository.restore(id, req);
|
|
60
|
+
return;
|
|
61
|
+
}
|
|
62
|
+
await this.repository.restore(id, req, options);
|
|
41
63
|
}
|
|
42
64
|
async findAllArchived(entityId, query, extraCrudOptions, req) {
|
|
43
65
|
return await this.repository.findAllArchived(entityId, query, extraCrudOptions, req);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extra-crud.service.js","sourceRoot":"","sources":["../../../src/crud-operation/service/extra-crud.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,2CAAoD;AAGpD,8CAAoD;AACpD,uCAAuC;AAIhC,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAC3B,YACmB,UAAkC,EAC1B,OAAiB;QADzB,eAAU,GAAV,UAAU,CAAwB;QAC1B,YAAO,GAAP,OAAO,CAAU;IACzC,CAAC;IAEJ,KAAK,CAAC,MAAM,CACV,QAA0B,EAC1B,GAAS,EACT,OAA0B;QAE1B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,OAAO,CACX,QAAgB,EAChB,KAAsB,EACtB,gBAAkC,EAClC,GAAS;QAET,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAClC,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAO,EAAE,GAAS;QAC9B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAChD,CAAC;IAED,KAAK,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"extra-crud.service.js","sourceRoot":"","sources":["../../../src/crud-operation/service/extra-crud.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,8 +5,8 @@ import { RelationCrudRepository } from '../repository';
|
|
|
5
5
|
export declare class RelationCrudService<TEntity extends ObjectLiteral> {
|
|
6
6
|
private readonly repository;
|
|
7
7
|
constructor(repository: RelationCrudRepository<TEntity>);
|
|
8
|
-
bulkSaveFirst(payload: any, relationCrudOptions: RelationCrudOptions): Promise<TEntity[]>;
|
|
9
|
-
bulkSaveSecond(payload: any, relationCrudOptions: RelationCrudOptions): Promise<TEntity[]>;
|
|
8
|
+
bulkSaveFirst(payload: any, relationCrudOptions: RelationCrudOptions, req?: any): Promise<TEntity[]>;
|
|
9
|
+
bulkSaveSecond(payload: any, relationCrudOptions: RelationCrudOptions, req?: any): Promise<TEntity[]>;
|
|
10
10
|
findAllFirst(entityId: string, query: CollectionQuery, relationCrudOptions: RelationCrudOptions): Promise<import("../../shared").DataResponseFormat<TEntity>>;
|
|
11
11
|
findAllSecond(entityId: string, query: CollectionQuery, relationCrudOptions: RelationCrudOptions): Promise<import("../../shared").DataResponseFormat<TEntity>>;
|
|
12
12
|
}
|
|
@@ -16,11 +16,11 @@ let RelationCrudService = class RelationCrudService {
|
|
|
16
16
|
constructor(repository) {
|
|
17
17
|
this.repository = repository;
|
|
18
18
|
}
|
|
19
|
-
async bulkSaveFirst(payload, relationCrudOptions) {
|
|
20
|
-
return await this.repository.bulkSaveFirst(payload, relationCrudOptions);
|
|
19
|
+
async bulkSaveFirst(payload, relationCrudOptions, req) {
|
|
20
|
+
return await this.repository.bulkSaveFirst(payload, relationCrudOptions, req);
|
|
21
21
|
}
|
|
22
|
-
async bulkSaveSecond(payload, relationCrudOptions) {
|
|
23
|
-
return await this.repository.bulkSaveSecond(payload, relationCrudOptions);
|
|
22
|
+
async bulkSaveSecond(payload, relationCrudOptions, req) {
|
|
23
|
+
return await this.repository.bulkSaveSecond(payload, relationCrudOptions, req);
|
|
24
24
|
}
|
|
25
25
|
async findAllFirst(entityId, query, relationCrudOptions) {
|
|
26
26
|
return await this.repository.findAllFirst(entityId, query, relationCrudOptions);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relation-crud.service.js","sourceRoot":"","sources":["../../../src/crud-operation/service/relation-crud.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,2CAA4C;AAG5C,8CAAuD;AAGhD,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YAA6B,UAA2C;QAA3C,eAAU,GAAV,UAAU,CAAiC;IAAG,CAAC;IAE5E,KAAK,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"relation-crud.service.js","sourceRoot":"","sources":["../../../src/crud-operation/service/relation-crud.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,2CAA4C;AAG5C,8CAAuD;AAGhD,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YAA6B,UAA2C;QAA3C,eAAU,GAAV,UAAU,CAAiC;IAAG,CAAC;IAE5E,KAAK,CAAC,aAAa,CACjB,OAAY,EACZ,mBAAwC,EACxC,GAAS;QAET,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAC;IAChF,CAAC;IAED,KAAK,CAAC,cAAc,CAClB,OAAY,EACZ,mBAAwC,EACxC,GAAS;QAET,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,OAAO,EAAE,mBAAmB,EAAE,GAAG,CAAC,CAAC;IACjF,CAAC;IAED,KAAK,CAAC,YAAY,CAChB,QAAgB,EAChB,KAAsB,EACtB,mBAAwC;QAExC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CACvC,QAAQ,EACR,KAAK,EACL,mBAAmB,CACpB,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CACjB,QAAgB,EAChB,KAAsB,EACtB,mBAAwC;QAExC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CACxC,QAAQ,EACR,KAAK,EACL,mBAAmB,CACpB,CAAC;IACJ,CAAC;CACF,CAAA;AA1CY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;qCAE8B,mCAAsB;GADpD,mBAAmB,CA0C/B"}
|
|
@@ -8,9 +8,9 @@ export declare class EntityCrudService<T extends ObjectLiteral> {
|
|
|
8
8
|
create(itemData: DeepPartial<any>, req?: any, options?: EntityCrudOptions): Promise<any>;
|
|
9
9
|
findAll(query: CollectionQuery, req?: any): Promise<DataResponseFormat<T>>;
|
|
10
10
|
findOne(id: any, req?: any): Promise<T | undefined>;
|
|
11
|
-
update(id: string, itemData: any): Promise<T | undefined>;
|
|
12
|
-
softDelete(id: string, req?: any): Promise<void>;
|
|
13
|
-
restore(id: string, req?: any): Promise<void>;
|
|
11
|
+
update(id: string, itemData: any, req?: any, options?: EntityCrudOptions): Promise<T | undefined>;
|
|
12
|
+
softDelete(id: string, req?: any, options?: EntityCrudOptions): Promise<void>;
|
|
13
|
+
restore(id: string, req?: any, options?: EntityCrudOptions): Promise<void>;
|
|
14
14
|
findAllArchived(query: CollectionQuery, req?: any): Promise<DataResponseFormat<T>>;
|
|
15
15
|
private findOneOrFail;
|
|
16
16
|
private findOneOrFailWithDeleted;
|
|
@@ -23,15 +23,24 @@ let EntityCrudService = class EntityCrudService {
|
|
|
23
23
|
this.requestContextResolver = requestContextResolver;
|
|
24
24
|
}
|
|
25
25
|
async create(itemData, req, options) {
|
|
26
|
+
var _a, _b;
|
|
27
|
+
const payload = (0, shared_1.sanitizeWritePayload)(itemData, options);
|
|
26
28
|
await (0, shared_1.applyCreateContext)({
|
|
27
|
-
itemData,
|
|
29
|
+
itemData: payload,
|
|
28
30
|
req,
|
|
29
31
|
options,
|
|
30
32
|
resolver: this.requestContextResolver,
|
|
31
33
|
});
|
|
32
|
-
|
|
34
|
+
await (0, shared_1.runCrudHook)(options, "beforeCreate", { itemData: payload, req });
|
|
35
|
+
const item = this.repository.create(payload);
|
|
33
36
|
await this.repository.insert(item);
|
|
34
|
-
|
|
37
|
+
const createdItem = item;
|
|
38
|
+
await (0, shared_1.runCrudHook)(options, "afterCreate", {
|
|
39
|
+
id: (_b = (_a = createdItem === null || createdItem === void 0 ? void 0 : createdItem.id) === null || _a === void 0 ? void 0 : _a.toString) === null || _b === void 0 ? void 0 : _b.call(_a),
|
|
40
|
+
entity: createdItem,
|
|
41
|
+
req,
|
|
42
|
+
});
|
|
43
|
+
return createdItem;
|
|
35
44
|
}
|
|
36
45
|
async findAll(query, req) {
|
|
37
46
|
const dataQuery = collection_query_1.QueryConstructor.constructQuery(this.repository, query);
|
|
@@ -49,20 +58,73 @@ let EntityCrudService = class EntityCrudService {
|
|
|
49
58
|
async findOne(id, req) {
|
|
50
59
|
return await this.repository.findOneBy({ id });
|
|
51
60
|
}
|
|
52
|
-
async update(id, itemData) {
|
|
61
|
+
async update(id, itemData, req, options) {
|
|
53
62
|
const item = await this.findOneOrFail(id);
|
|
54
|
-
|
|
55
|
-
|
|
63
|
+
const payload = (0, shared_1.sanitizeWritePayload)(itemData, options);
|
|
64
|
+
await (0, shared_1.runCrudHook)(options, "beforeUpdate", {
|
|
65
|
+
id,
|
|
66
|
+
itemData: payload,
|
|
67
|
+
entity: item,
|
|
68
|
+
req,
|
|
69
|
+
});
|
|
70
|
+
await this.repository.update(item.id, payload);
|
|
71
|
+
const updatedItem = Object.assign(Object.assign({}, item), payload);
|
|
72
|
+
await (0, shared_1.runCrudHook)(options, "afterUpdate", {
|
|
73
|
+
id,
|
|
74
|
+
entity: updatedItem,
|
|
75
|
+
req,
|
|
76
|
+
});
|
|
77
|
+
return updatedItem;
|
|
56
78
|
}
|
|
57
|
-
async softDelete(id, req) {
|
|
79
|
+
async softDelete(id, req, options) {
|
|
80
|
+
var _a, _b, _c;
|
|
58
81
|
const item = await this.findOneOrFail(id);
|
|
59
|
-
await
|
|
82
|
+
await (0, shared_1.runCrudHook)(options, "beforeSoftDelete", {
|
|
83
|
+
id,
|
|
84
|
+
entity: item,
|
|
85
|
+
req,
|
|
86
|
+
});
|
|
87
|
+
const deleteMode = (_a = options === null || options === void 0 ? void 0 : options.deleteMode) !== null && _a !== void 0 ? _a : "hard";
|
|
88
|
+
const hasSoftDelete = !!((_c = (_b = this.repository) === null || _b === void 0 ? void 0 : _b.metadata) === null || _c === void 0 ? void 0 : _c.deleteDateColumn);
|
|
89
|
+
if (deleteMode === "soft") {
|
|
90
|
+
if (!hasSoftDelete) {
|
|
91
|
+
throw new common_1.BadRequestException("soft_delete_not_supported");
|
|
92
|
+
}
|
|
93
|
+
await this.repository.softRemove(item);
|
|
94
|
+
}
|
|
95
|
+
else if (deleteMode === "auto") {
|
|
96
|
+
if (hasSoftDelete) {
|
|
97
|
+
await this.repository.softRemove(item);
|
|
98
|
+
}
|
|
99
|
+
else {
|
|
100
|
+
await this.repository.remove(item);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
await this.repository.remove(item);
|
|
105
|
+
}
|
|
106
|
+
await (0, shared_1.runCrudHook)(options, "afterSoftDelete", {
|
|
107
|
+
id,
|
|
108
|
+
entity: item,
|
|
109
|
+
req,
|
|
110
|
+
});
|
|
60
111
|
}
|
|
61
|
-
async restore(id, req) {
|
|
112
|
+
async restore(id, req, options) {
|
|
113
|
+
var _a, _b;
|
|
114
|
+
if (!((_b = (_a = this.repository) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.deleteDateColumn)) {
|
|
115
|
+
throw new common_1.BadRequestException("restore_not_supported");
|
|
116
|
+
}
|
|
117
|
+
await (0, shared_1.runCrudHook)(options, "beforeRestore", { id, req });
|
|
62
118
|
await this.findOneOrFailWithDeleted(id);
|
|
63
119
|
await this.repository.restore(id);
|
|
120
|
+
await (0, shared_1.runCrudHook)(options, "afterRestore", { id, req });
|
|
64
121
|
}
|
|
65
122
|
async findAllArchived(query, req) {
|
|
123
|
+
var _a, _b;
|
|
124
|
+
if (!((_b = (_a = this.repository) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.deleteDateColumn)) {
|
|
125
|
+
throw new common_1.BadRequestException("archived_items_not_supported");
|
|
126
|
+
}
|
|
127
|
+
query.where = query.where || [];
|
|
66
128
|
query.where.push([
|
|
67
129
|
{ column: "deletedAt", value: "", operator: collection_query_1.FilterOperators.IsNotNull },
|
|
68
130
|
]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"entity-crud.service.js","sourceRoot":"","sources":["../../src/service/entity-crud.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qCAKiB;AACjB,
|
|
1
|
+
{"version":3,"file":"entity-crud.service.js","sourceRoot":"","sources":["../../src/service/entity-crud.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,9 @@ export declare class ExtraCrudService<T extends ObjectLiteral> {
|
|
|
8
8
|
create(itemData: DeepPartial<any>, req?: any, options?: ExtraCrudOptions): Promise<any>;
|
|
9
9
|
findAll(entityId: string, query: CollectionQuery, extraCrudOptions: ExtraCrudOptions, req?: any): Promise<DataResponseFormat<T>>;
|
|
10
10
|
findOne(id: any, req?: any): Promise<T | undefined>;
|
|
11
|
-
update(id: string, itemData: any): Promise<T | undefined>;
|
|
12
|
-
softDelete(id: string, req?: any): Promise<void>;
|
|
13
|
-
restore(id: string, req?: any): Promise<void>;
|
|
11
|
+
update(id: string, itemData: any, req?: any, options?: ExtraCrudOptions): Promise<T | undefined>;
|
|
12
|
+
softDelete(id: string, req?: any, options?: ExtraCrudOptions): Promise<void>;
|
|
13
|
+
restore(id: string, req?: any, options?: ExtraCrudOptions): Promise<void>;
|
|
14
14
|
findAllArchived(entityId: string, query: CollectionQuery, extraCrudOptions: ExtraCrudOptions, req?: any): Promise<DataResponseFormat<T>>;
|
|
15
15
|
private findOneOrFail;
|
|
16
16
|
private findOneOrFailWithDeleted;
|
|
@@ -23,15 +23,24 @@ let ExtraCrudService = class ExtraCrudService {
|
|
|
23
23
|
this.requestContextResolver = requestContextResolver;
|
|
24
24
|
}
|
|
25
25
|
async create(itemData, req, options) {
|
|
26
|
+
var _a, _b;
|
|
27
|
+
const payload = (0, shared_1.sanitizeWritePayload)(itemData, options);
|
|
26
28
|
await (0, shared_1.applyCreateContext)({
|
|
27
|
-
itemData,
|
|
29
|
+
itemData: payload,
|
|
28
30
|
req,
|
|
29
31
|
options,
|
|
30
32
|
resolver: this.requestContextResolver,
|
|
31
33
|
});
|
|
32
|
-
|
|
34
|
+
await (0, shared_1.runCrudHook)(options, "beforeCreate", { itemData: payload, req });
|
|
35
|
+
const item = this.repository.create(payload);
|
|
33
36
|
await this.repository.insert(item);
|
|
34
|
-
|
|
37
|
+
const createdItem = item;
|
|
38
|
+
await (0, shared_1.runCrudHook)(options, "afterCreate", {
|
|
39
|
+
id: (_b = (_a = createdItem === null || createdItem === void 0 ? void 0 : createdItem.id) === null || _a === void 0 ? void 0 : _a.toString) === null || _b === void 0 ? void 0 : _b.call(_a),
|
|
40
|
+
entity: createdItem,
|
|
41
|
+
req,
|
|
42
|
+
});
|
|
43
|
+
return createdItem;
|
|
35
44
|
}
|
|
36
45
|
async findAll(entityId, query, extraCrudOptions, req) {
|
|
37
46
|
const entityIdName = extraCrudOptions.entityIdName;
|
|
@@ -57,21 +66,74 @@ let ExtraCrudService = class ExtraCrudService {
|
|
|
57
66
|
async findOne(id, req) {
|
|
58
67
|
return await this.repository.findOneBy({ id });
|
|
59
68
|
}
|
|
60
|
-
async update(id, itemData) {
|
|
69
|
+
async update(id, itemData, req, options) {
|
|
61
70
|
const item = await this.findOneOrFail(id);
|
|
62
|
-
|
|
63
|
-
|
|
71
|
+
const payload = (0, shared_1.sanitizeWritePayload)(itemData, options);
|
|
72
|
+
await (0, shared_1.runCrudHook)(options, "beforeUpdate", {
|
|
73
|
+
id,
|
|
74
|
+
itemData: payload,
|
|
75
|
+
entity: item,
|
|
76
|
+
req,
|
|
77
|
+
});
|
|
78
|
+
await this.repository.update(item.id, payload);
|
|
79
|
+
const updatedItem = Object.assign(Object.assign({}, item), payload);
|
|
80
|
+
await (0, shared_1.runCrudHook)(options, "afterUpdate", {
|
|
81
|
+
id,
|
|
82
|
+
entity: updatedItem,
|
|
83
|
+
req,
|
|
84
|
+
});
|
|
85
|
+
return updatedItem;
|
|
64
86
|
}
|
|
65
|
-
async softDelete(id, req) {
|
|
87
|
+
async softDelete(id, req, options) {
|
|
88
|
+
var _a, _b, _c;
|
|
66
89
|
const item = await this.findOneOrFail(id);
|
|
67
|
-
await
|
|
90
|
+
await (0, shared_1.runCrudHook)(options, "beforeSoftDelete", {
|
|
91
|
+
id,
|
|
92
|
+
entity: item,
|
|
93
|
+
req,
|
|
94
|
+
});
|
|
95
|
+
const deleteMode = (_a = options === null || options === void 0 ? void 0 : options.deleteMode) !== null && _a !== void 0 ? _a : "hard";
|
|
96
|
+
const hasSoftDelete = !!((_c = (_b = this.repository) === null || _b === void 0 ? void 0 : _b.metadata) === null || _c === void 0 ? void 0 : _c.deleteDateColumn);
|
|
97
|
+
if (deleteMode === "soft") {
|
|
98
|
+
if (!hasSoftDelete) {
|
|
99
|
+
throw new common_1.BadRequestException("soft_delete_not_supported");
|
|
100
|
+
}
|
|
101
|
+
await this.repository.softRemove(item);
|
|
102
|
+
}
|
|
103
|
+
else if (deleteMode === "auto") {
|
|
104
|
+
if (hasSoftDelete) {
|
|
105
|
+
await this.repository.softRemove(item);
|
|
106
|
+
}
|
|
107
|
+
else {
|
|
108
|
+
await this.repository.remove(item);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
else {
|
|
112
|
+
await this.repository.remove(item);
|
|
113
|
+
}
|
|
114
|
+
await (0, shared_1.runCrudHook)(options, "afterSoftDelete", {
|
|
115
|
+
id,
|
|
116
|
+
entity: item,
|
|
117
|
+
req,
|
|
118
|
+
});
|
|
68
119
|
}
|
|
69
|
-
async restore(id, req) {
|
|
120
|
+
async restore(id, req, options) {
|
|
121
|
+
var _a, _b;
|
|
122
|
+
if (!((_b = (_a = this.repository) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.deleteDateColumn)) {
|
|
123
|
+
throw new common_1.BadRequestException("restore_not_supported");
|
|
124
|
+
}
|
|
125
|
+
await (0, shared_1.runCrudHook)(options, "beforeRestore", { id, req });
|
|
70
126
|
await this.findOneOrFailWithDeleted(id);
|
|
71
127
|
await this.repository.restore(id);
|
|
128
|
+
await (0, shared_1.runCrudHook)(options, "afterRestore", { id, req });
|
|
72
129
|
}
|
|
73
130
|
async findAllArchived(entityId, query, extraCrudOptions, req) {
|
|
131
|
+
var _a, _b;
|
|
132
|
+
if (!((_b = (_a = this.repository) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.deleteDateColumn)) {
|
|
133
|
+
throw new common_1.BadRequestException("archived_items_not_supported");
|
|
134
|
+
}
|
|
74
135
|
const entityIdName = extraCrudOptions.entityIdName;
|
|
136
|
+
query.where = query.where || [];
|
|
75
137
|
query.where.push([
|
|
76
138
|
{
|
|
77
139
|
column: entityIdName,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"extra-crud.service.js","sourceRoot":"","sources":["../../src/service/extra-crud.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,qCAKiB;AACjB,
|
|
1
|
+
{"version":3,"file":"extra-crud.service.js","sourceRoot":"","sources":["../../src/service/extra-crud.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ import { DataResponseFormat, RelationCrudOptions } from "../shared";
|
|
|
4
4
|
export declare class RelationCrudService<TEntity extends ObjectLiteral> {
|
|
5
5
|
private readonly repository;
|
|
6
6
|
constructor(repository: Repository<TEntity>);
|
|
7
|
-
bulkSaveFirst(payload: any, relationCrudOptions: RelationCrudOptions): Promise<TEntity[]>;
|
|
8
|
-
bulkSaveSecond(payload: any, relationCrudOptions: RelationCrudOptions): Promise<TEntity[]>;
|
|
7
|
+
bulkSaveFirst(payload: any, relationCrudOptions: RelationCrudOptions, req?: any): Promise<TEntity[]>;
|
|
8
|
+
bulkSaveSecond(payload: any, relationCrudOptions: RelationCrudOptions, req?: any): Promise<TEntity[]>;
|
|
9
9
|
findAllFirst(entityId: string, query: CollectionQuery, relationCrudOptions: RelationCrudOptions): Promise<DataResponseFormat<TEntity>>;
|
|
10
10
|
findAllSecond(entityId: string, query: CollectionQuery, relationCrudOptions: RelationCrudOptions): Promise<DataResponseFormat<TEntity>>;
|
|
11
11
|
getData(entityId: string, entityIdName: string, include: string, filterInclude: string, query: CollectionQuery): Promise<DataResponseFormat<TEntity>>;
|
|
@@ -18,7 +18,7 @@ let RelationCrudService = class RelationCrudService {
|
|
|
18
18
|
constructor(repository) {
|
|
19
19
|
this.repository = repository;
|
|
20
20
|
}
|
|
21
|
-
async bulkSaveFirst(payload, relationCrudOptions) {
|
|
21
|
+
async bulkSaveFirst(payload, relationCrudOptions, req) {
|
|
22
22
|
const firstEntityIdName = relationCrudOptions.firstEntityIdName;
|
|
23
23
|
const secondEntityIdName = relationCrudOptions.secondEntityIdName;
|
|
24
24
|
const include = relationCrudOptions.firstInclude;
|
|
@@ -33,12 +33,22 @@ let RelationCrudService = class RelationCrudService {
|
|
|
33
33
|
});
|
|
34
34
|
const deleteCondition = {};
|
|
35
35
|
deleteCondition[firstEntityIdName] = entityId;
|
|
36
|
+
await (0, shared_1.runCrudHook)(relationCrudOptions, "beforeAssignFirst", {
|
|
37
|
+
id: entityId,
|
|
38
|
+
itemData: payload,
|
|
39
|
+
req,
|
|
40
|
+
});
|
|
36
41
|
await this.repository.delete(deleteCondition);
|
|
37
42
|
const data = this.repository.create(parsedPayload);
|
|
38
43
|
await this.repository.insert(data);
|
|
44
|
+
await (0, shared_1.runCrudHook)(relationCrudOptions, "afterAssignFirst", {
|
|
45
|
+
id: entityId,
|
|
46
|
+
entity: data,
|
|
47
|
+
req,
|
|
48
|
+
});
|
|
39
49
|
return data;
|
|
40
50
|
}
|
|
41
|
-
async bulkSaveSecond(payload, relationCrudOptions) {
|
|
51
|
+
async bulkSaveSecond(payload, relationCrudOptions, req) {
|
|
42
52
|
const firstEntityIdName = relationCrudOptions.firstEntityIdName;
|
|
43
53
|
const secondEntityIdName = relationCrudOptions.secondEntityIdName;
|
|
44
54
|
const include = relationCrudOptions.secondInclude;
|
|
@@ -53,9 +63,19 @@ let RelationCrudService = class RelationCrudService {
|
|
|
53
63
|
});
|
|
54
64
|
const deleteCondition = {};
|
|
55
65
|
deleteCondition[secondEntityIdName] = entityId;
|
|
66
|
+
await (0, shared_1.runCrudHook)(relationCrudOptions, "beforeAssignSecond", {
|
|
67
|
+
id: entityId,
|
|
68
|
+
itemData: payload,
|
|
69
|
+
req,
|
|
70
|
+
});
|
|
56
71
|
await this.repository.delete(deleteCondition);
|
|
57
72
|
const data = this.repository.create(parsedPayload);
|
|
58
73
|
await this.repository.insert(data);
|
|
74
|
+
await (0, shared_1.runCrudHook)(relationCrudOptions, "afterAssignSecond", {
|
|
75
|
+
id: entityId,
|
|
76
|
+
entity: data,
|
|
77
|
+
req,
|
|
78
|
+
});
|
|
59
79
|
return data;
|
|
60
80
|
}
|
|
61
81
|
async findAllFirst(entityId, query, relationCrudOptions) {
|