@zola_do/crud 0.1.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/dist/controller/entity-crud.controller.d.ts +16 -0
  2. package/dist/controller/entity-crud.controller.js +139 -0
  3. package/dist/controller/entity-crud.controller.js.map +1 -0
  4. package/dist/controller/extra-crud.controller.d.ts +18 -0
  5. package/dist/controller/extra-crud.controller.js +145 -0
  6. package/dist/controller/extra-crud.controller.js.map +1 -0
  7. package/dist/controller/index.d.ts +3 -0
  8. package/dist/controller/index.js +20 -0
  9. package/dist/controller/index.js.map +1 -0
  10. package/dist/controller/relation-crud.controller.d.ts +13 -0
  11. package/dist/controller/relation-crud.controller.js +101 -0
  12. package/dist/controller/relation-crud.controller.js.map +1 -0
  13. package/dist/crud-operation/controller/entity-crud.controller.d.ts +16 -0
  14. package/dist/crud-operation/controller/entity-crud.controller.js +136 -0
  15. package/dist/crud-operation/controller/entity-crud.controller.js.map +1 -0
  16. package/dist/crud-operation/controller/extra-crud.controller.d.ts +18 -0
  17. package/dist/crud-operation/controller/extra-crud.controller.js +142 -0
  18. package/dist/crud-operation/controller/extra-crud.controller.js.map +1 -0
  19. package/dist/crud-operation/controller/index.d.ts +3 -0
  20. package/dist/crud-operation/controller/index.js +20 -0
  21. package/dist/crud-operation/controller/index.js.map +1 -0
  22. package/dist/crud-operation/controller/relation-crud.controller.d.ts +13 -0
  23. package/dist/crud-operation/controller/relation-crud.controller.js +103 -0
  24. package/dist/crud-operation/controller/relation-crud.controller.js.map +1 -0
  25. package/dist/crud-operation/index.d.ts +3 -0
  26. package/dist/crud-operation/index.js +20 -0
  27. package/dist/crud-operation/index.js.map +1 -0
  28. package/dist/crud-operation/repository/entity-crud.repository.d.ts +18 -0
  29. package/dist/crud-operation/repository/entity-crud.repository.js +124 -0
  30. package/dist/crud-operation/repository/entity-crud.repository.js.map +1 -0
  31. package/dist/crud-operation/repository/extra-crud.repository.d.ts +20 -0
  32. package/dist/crud-operation/repository/extra-crud.repository.js +129 -0
  33. package/dist/crud-operation/repository/extra-crud.repository.js.map +1 -0
  34. package/dist/crud-operation/repository/index.d.ts +3 -0
  35. package/dist/crud-operation/repository/index.js +20 -0
  36. package/dist/crud-operation/repository/index.js.map +1 -0
  37. package/dist/crud-operation/repository/relation-crud.repository.d.ts +13 -0
  38. package/dist/crud-operation/repository/relation-crud.repository.js +116 -0
  39. package/dist/crud-operation/repository/relation-crud.repository.js.map +1 -0
  40. package/dist/crud-operation/service/entity-crud.service.d.ts +15 -0
  41. package/dist/crud-operation/service/entity-crud.service.js +49 -0
  42. package/dist/crud-operation/service/entity-crud.service.js.map +1 -0
  43. package/dist/crud-operation/service/extra-crud.service.d.ts +18 -0
  44. package/dist/crud-operation/service/extra-crud.service.js +55 -0
  45. package/dist/crud-operation/service/extra-crud.service.js.map +1 -0
  46. package/dist/crud-operation/service/index.d.ts +3 -0
  47. package/dist/crud-operation/service/index.js +20 -0
  48. package/dist/crud-operation/service/index.js.map +1 -0
  49. package/dist/crud-operation/service/relation-crud.service.d.ts +12 -0
  50. package/dist/crud-operation/service/relation-crud.service.js +37 -0
  51. package/dist/crud-operation/service/relation-crud.service.js.map +1 -0
  52. package/dist/index.d.ts +3 -0
  53. package/dist/index.js +20 -0
  54. package/dist/index.js.map +1 -0
  55. package/dist/service/entity-crud.service.d.ts +17 -0
  56. package/dist/service/entity-crud.service.js +115 -0
  57. package/dist/service/entity-crud.service.js.map +1 -0
  58. package/dist/service/extra-crud.service.d.ts +18 -0
  59. package/dist/service/extra-crud.service.js +128 -0
  60. package/dist/service/extra-crud.service.js.map +1 -0
  61. package/dist/service/index.d.ts +3 -0
  62. package/dist/service/index.js +20 -0
  63. package/dist/service/index.js.map +1 -0
  64. package/dist/service/relation-crud.service.d.ts +13 -0
  65. package/dist/service/relation-crud.service.js +102 -0
  66. package/dist/service/relation-crud.service.js.map +1 -0
  67. package/package.json +44 -0
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ var _a;
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.ExtraCrudRepository = void 0;
17
+ const typeorm_1 = require("typeorm");
18
+ const common_1 = require("@nestjs/common");
19
+ const collection_query_1 = require("@zola_do/collection-query");
20
+ const core_1 = require("@zola_do/core");
21
+ const core_2 = require("@nestjs/core");
22
+ const interceptors_1 = require("@zola_do/interceptors");
23
+ let ExtraCrudRepository = class ExtraCrudRepository {
24
+ constructor(repository, entity, request) {
25
+ this.repository = repository;
26
+ this.entity = entity;
27
+ this.request = request;
28
+ }
29
+ async create(itemData, req) {
30
+ var _a;
31
+ if ((_a = req === null || req === void 0 ? void 0 : req.user) === null || _a === void 0 ? void 0 : _a.organization) {
32
+ itemData.organizationId = req.user.organization.id;
33
+ itemData.organizationName = req.user.organization.name;
34
+ }
35
+ const manager = this.request[interceptors_1.ENTITY_MANAGER_KEY];
36
+ manager.getRepository(this.entity);
37
+ const item = this.repository.create(itemData);
38
+ await this.repository.insert(item);
39
+ return item;
40
+ }
41
+ async findAll(entityId, query, extraCrudOptions, req) {
42
+ const entityIdName = extraCrudOptions.entityIdName;
43
+ query.where.push([
44
+ {
45
+ column: entityIdName,
46
+ value: entityId,
47
+ operator: collection_query_1.FilterOperators.EqualTo,
48
+ },
49
+ ]);
50
+ const dataQuery = collection_query_1.QueryConstructor.constructQuery(this.repository, query);
51
+ const response = new core_1.DataResponseFormat();
52
+ if (query.count) {
53
+ response.total = await dataQuery.getCount();
54
+ }
55
+ else {
56
+ const [result, total] = await dataQuery.getManyAndCount();
57
+ response.total = total;
58
+ response.items = result;
59
+ }
60
+ return response;
61
+ }
62
+ async findOne(id, req) {
63
+ return await this.repository.findOneBy({ id });
64
+ }
65
+ async update(id, itemData) {
66
+ const item = await this.findOneOrFail(id);
67
+ await this.repository.update(item.id, itemData);
68
+ return Object.assign(Object.assign({}, item), itemData);
69
+ }
70
+ async softDelete(id, req) {
71
+ const item = await this.findOneOrFail(id);
72
+ await this.repository.softRemove(item);
73
+ }
74
+ async restore(id, req) {
75
+ await this.findOneOrFailWithDeleted(id);
76
+ await this.repository.restore(id);
77
+ }
78
+ async findAllArchived(entityId, query, extraCrudOptions, req) {
79
+ query.where.push([
80
+ { column: 'deletedAt', value: '', operator: 'IsNotNull' },
81
+ ]);
82
+ const entityIdName = extraCrudOptions.entityIdName;
83
+ query.where.push([
84
+ {
85
+ column: entityIdName,
86
+ value: entityId,
87
+ operator: collection_query_1.FilterOperators.EqualTo,
88
+ },
89
+ ]);
90
+ const dataQuery = collection_query_1.QueryConstructor.constructQuery(this.repository, query);
91
+ dataQuery.withDeleted();
92
+ const response = new core_1.DataResponseFormat();
93
+ if (query.count) {
94
+ response.total = await dataQuery.getCount();
95
+ }
96
+ else {
97
+ const [result, total] = await dataQuery.getManyAndCount();
98
+ response.total = total;
99
+ response.items = result;
100
+ }
101
+ return response;
102
+ }
103
+ async findOneOrFail(id) {
104
+ const item = await this.repository.findOneBy({ id });
105
+ if (!item) {
106
+ throw new common_1.NotFoundException(`not_found`);
107
+ }
108
+ return item;
109
+ }
110
+ async findOneOrFailWithDeleted(id) {
111
+ const item = await this.repository.findOne({
112
+ where: {
113
+ id,
114
+ },
115
+ withDeleted: true,
116
+ });
117
+ if (!item) {
118
+ throw new common_1.NotFoundException(`not_found`);
119
+ }
120
+ return item;
121
+ }
122
+ };
123
+ exports.ExtraCrudRepository = ExtraCrudRepository;
124
+ exports.ExtraCrudRepository = ExtraCrudRepository = __decorate([
125
+ (0, common_1.Injectable)(),
126
+ __param(2, (0, common_1.Inject)(core_2.REQUEST)),
127
+ __metadata("design:paramtypes", [typeof (_a = typeof typeorm_1.Repository !== "undefined" && typeorm_1.Repository) === "function" ? _a : Object, Object, Object])
128
+ ], ExtraCrudRepository);
129
+ //# sourceMappingURL=extra-crud.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"extra-crud.repository.js","sourceRoot":"","sources":["../../../src/crud-operation/repository/extra-crud.repository.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,qCAAgF;AAChF,2CAAuE;AACvE,gEAImC;AACnC,wCAAmD;AAEnD,uCAAuC;AAEvC,wDAA2D;AAGpD,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;IAC9B,YACmB,UAAyB,EACzB,MAAY,EACJ,OAAiB;QAFzB,eAAU,GAAV,UAAU,CAAe;QACzB,WAAM,GAAN,MAAM,CAAM;QACJ,YAAO,GAAP,OAAO,CAAU;IACzC,CAAC;IAEJ,KAAK,CAAC,MAAM,CAAC,QAA0B,EAAE,GAAS;;QAChD,IAAI,MAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,0CAAE,YAAY,EAAE,CAAC;YAC5B,QAAQ,CAAC,cAAc,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC;YACnD,QAAQ,CAAC,gBAAgB,GAAG,GAAG,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;QACzD,CAAC;QACD,MAAM,OAAO,GAAkB,IAAI,CAAC,OAAO,CAAC,iCAAkB,CAAC,CAAC;QAChE,OAAO,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QAC9C,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QACnC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,OAAO,CACX,QAAgB,EAChB,KAAsB,EACtB,gBAAkC,EAClC,GAAS;QAET,MAAM,YAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC;QAEnD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YACf;gBACE,MAAM,EAAE,YAAY;gBACpB,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,kCAAe,CAAC,OAAO;aAClC;SACF,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,mCAAgB,CAAC,cAAc,CAC/C,IAAI,CAAC,UAAU,EACf,KAAK,CACN,CAAC;QACF,MAAM,QAAQ,GAAG,IAAI,yBAAkB,EAAK,CAAC;QAC7C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,QAAQ,CAAC,KAAK,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC;YAC1D,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;YACvB,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC;QAC1B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAO,EAAE,GAAS;QAC9B,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,QAAa;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;QAChD,uCACK,IAAI,GACJ,QAAQ,EACX;IACJ,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,GAAS;QACpC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,GAAS;QACjC,MAAM,IAAI,CAAC,wBAAwB,CAAC,EAAE,CAAC,CAAC;QACxC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpC,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,QAAgB,EAChB,KAAsB,EACtB,gBAAkC,EAClC,GAAS;QAET,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YACf,EAAE,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,EAAE,QAAQ,EAAE,WAAW,EAAE;SAC1D,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,gBAAgB,CAAC,YAAY,CAAC;QAEnD,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC;YACf;gBACE,MAAM,EAAE,YAAY;gBACpB,KAAK,EAAE,QAAQ;gBACf,QAAQ,EAAE,kCAAe,CAAC,OAAO;aAClC;SACF,CAAC,CAAC;QAEH,MAAM,SAAS,GAAG,mCAAgB,CAAC,cAAc,CAC/C,IAAI,CAAC,UAAU,EACf,KAAK,CACN,CAAC;QAEF,SAAS,CAAC,WAAW,EAAE,CAAC;QAExB,MAAM,QAAQ,GAAG,IAAI,yBAAkB,EAAK,CAAC;QAC7C,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;YAChB,QAAQ,CAAC,KAAK,GAAG,MAAM,SAAS,CAAC,QAAQ,EAAE,CAAC;QAC9C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,GAAG,MAAM,SAAS,CAAC,eAAe,EAAE,CAAC;YAC1D,QAAQ,CAAC,KAAK,GAAG,KAAK,CAAC;YACvB,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC;QAC1B,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAO;QACzB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC;QACrD,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,0BAAiB,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IAEO,KAAK,CAAC,wBAAwB,CAAC,EAAO;QAC5C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC;YACzC,KAAK,EAAE;gBACL,EAAE;aACH;YACD,WAAW,EAAE,IAAI;SAClB,CAAC,CAAC;QAEH,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,IAAI,0BAAiB,CAAC,WAAW,CAAC,CAAC;QAC3C,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF,CAAA;AApIY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;IAKR,WAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;yDAFa,oBAAU,oBAAV,oBAAU;GAF9B,mBAAmB,CAoI/B"}
@@ -0,0 +1,3 @@
1
+ export * from './entity-crud.repository';
2
+ export * from './relation-crud.repository';
3
+ export * from './extra-crud.repository';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./entity-crud.repository"), exports);
18
+ __exportStar(require("./relation-crud.repository"), exports);
19
+ __exportStar(require("./extra-crud.repository"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/crud-operation/repository/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2DAAyC;AACzC,6DAA2C;AAC3C,0DAAwC"}
@@ -0,0 +1,13 @@
1
+ import { ObjectLiteral, Repository } from 'typeorm';
2
+ import { CollectionQuery } from '@zola_do/collection-query';
3
+ import { DataResponseFormat } from '@zola_do/core';
4
+ import { RelationCrudOptions } from '@zola_do/core';
5
+ export declare class RelationCrudRepository<TEntity extends ObjectLiteral> {
6
+ private readonly repository;
7
+ constructor(repository: Repository<TEntity>);
8
+ bulkSaveFirst(payload: any, relationCrudOptions: RelationCrudOptions): Promise<any>;
9
+ bulkSaveSecond(payload: any, relationCrudOptions: RelationCrudOptions): Promise<any>;
10
+ findAllFirst(entityId: string, query: CollectionQuery, relationCrudOptions: RelationCrudOptions): Promise<DataResponseFormat<TEntity>>;
11
+ findAllSecond(entityId: string, query: CollectionQuery, relationCrudOptions: RelationCrudOptions): Promise<DataResponseFormat<TEntity>>;
12
+ getData(entityId: string, entityIdName: string, include: string, filterInclude: string, query: CollectionQuery): Promise<DataResponseFormat<TEntity>>;
13
+ }
@@ -0,0 +1,116 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var _a;
12
+ Object.defineProperty(exports, "__esModule", { value: true });
13
+ exports.RelationCrudRepository = void 0;
14
+ const typeorm_1 = require("typeorm");
15
+ const common_1 = require("@nestjs/common");
16
+ const collection_query_1 = require("@zola_do/collection-query");
17
+ const core_1 = require("@zola_do/core");
18
+ let RelationCrudRepository = class RelationCrudRepository {
19
+ constructor(repository) {
20
+ this.repository = repository;
21
+ }
22
+ async bulkSaveFirst(payload, relationCrudOptions) {
23
+ const firstEntityIdName = relationCrudOptions.firstEntityIdName;
24
+ const secondEntityIdName = relationCrudOptions.secondEntityIdName;
25
+ const include = relationCrudOptions.firstInclude;
26
+ const entityId = payload[firstEntityIdName];
27
+ const parsedPayload = [];
28
+ const childData = payload[include];
29
+ childData.forEach((data) => {
30
+ parsedPayload.push({
31
+ [firstEntityIdName]: entityId,
32
+ [secondEntityIdName]: data,
33
+ });
34
+ });
35
+ const deleteCondition = {};
36
+ deleteCondition[firstEntityIdName] = entityId;
37
+ await this.repository.delete(deleteCondition);
38
+ const data = this.repository.create(parsedPayload);
39
+ await this.repository.insert(data);
40
+ return data;
41
+ }
42
+ async bulkSaveSecond(payload, relationCrudOptions) {
43
+ const firstEntityIdName = relationCrudOptions.firstEntityIdName;
44
+ const secondEntityIdName = relationCrudOptions.secondEntityIdName;
45
+ const include = relationCrudOptions.secondInclude;
46
+ const entityId = payload[secondEntityIdName];
47
+ const parsedPayload = [];
48
+ const childData = payload[include];
49
+ childData.forEach((data) => {
50
+ parsedPayload.push({
51
+ [secondEntityIdName]: entityId,
52
+ [firstEntityIdName]: data,
53
+ });
54
+ });
55
+ const deleteCondition = {};
56
+ deleteCondition[secondEntityIdName] = entityId;
57
+ await this.repository.delete(deleteCondition);
58
+ const data = this.repository.create(parsedPayload);
59
+ await this.repository.insert(data);
60
+ return data;
61
+ }
62
+ async findAllFirst(entityId, query, relationCrudOptions) {
63
+ const entityIdName = relationCrudOptions.firstEntityIdName;
64
+ const include = relationCrudOptions.firstInclude;
65
+ const filterInclude = relationCrudOptions.secondInclude;
66
+ return await this.getData(entityId, entityIdName, include, filterInclude, query);
67
+ }
68
+ async findAllSecond(entityId, query, relationCrudOptions) {
69
+ const entityIdName = relationCrudOptions.secondEntityIdName;
70
+ const include = relationCrudOptions.secondInclude;
71
+ const filterInclude = relationCrudOptions.firstInclude;
72
+ return await this.getData(entityId, entityIdName, include, filterInclude, query);
73
+ }
74
+ async getData(entityId, entityIdName, include, filterInclude, query) {
75
+ query.where.push([
76
+ {
77
+ column: entityIdName,
78
+ value: entityId,
79
+ operator: collection_query_1.FilterOperators.EqualTo,
80
+ },
81
+ ]);
82
+ query.where.push([
83
+ {
84
+ column: `${include}.deletedAt`,
85
+ value: entityId,
86
+ operator: collection_query_1.FilterOperators.IsNull,
87
+ },
88
+ ]);
89
+ query.where.push([
90
+ {
91
+ column: `${filterInclude}.deletedAt`,
92
+ value: entityId,
93
+ operator: collection_query_1.FilterOperators.IsNull,
94
+ },
95
+ ]);
96
+ query.includes.push(include);
97
+ query.includes.push(filterInclude);
98
+ const dataQuery = collection_query_1.QueryConstructor.constructQuery(this.repository, query, true);
99
+ const response = new core_1.DataResponseFormat();
100
+ if (query.count) {
101
+ response.total = await dataQuery.getCount();
102
+ }
103
+ else {
104
+ const [result, total] = await dataQuery.getManyAndCount();
105
+ response.total = total;
106
+ response.items = result;
107
+ }
108
+ return response;
109
+ }
110
+ };
111
+ exports.RelationCrudRepository = RelationCrudRepository;
112
+ exports.RelationCrudRepository = RelationCrudRepository = __decorate([
113
+ (0, common_1.Injectable)(),
114
+ __metadata("design:paramtypes", [typeof (_a = typeof typeorm_1.Repository !== "undefined" && typeorm_1.Repository) === "function" ? _a : Object])
115
+ ], RelationCrudRepository);
116
+ //# sourceMappingURL=relation-crud.repository.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"relation-crud.repository.js","sourceRoot":"","sources":["../../../src/crud-operation/repository/relation-crud.repository.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,15 @@
1
+ import { DeepPartial, ObjectLiteral } from 'typeorm';
2
+ import { CollectionQuery } from '@zola_do/collection-query';
3
+ import { EntityCrudRepository } from '../repository/entity-crud.repository';
4
+ export declare class EntityCrudService<T extends ObjectLiteral> {
5
+ private readonly repository;
6
+ constructor(repository: EntityCrudRepository<T>);
7
+ create(itemData: DeepPartial<any>, req?: any): Promise<any>;
8
+ findAll(query: CollectionQuery, req?: any): Promise<import("packages/core/dist").DataResponseFormat<T>>;
9
+ findOne(id: any, req?: any): Promise<T | undefined>;
10
+ update(id: string, itemData: any): Promise<T | undefined>;
11
+ softDelete(id: string, req?: any): Promise<void>;
12
+ restore(id: string, req?: any): Promise<void>;
13
+ findAllArchived(query: CollectionQuery, req?: any): Promise<import("packages/core/dist").DataResponseFormat<T>>;
14
+ findOneOrFail(id: any): Promise<T>;
15
+ }
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.EntityCrudService = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const entity_crud_repository_1 = require("../repository/entity-crud.repository");
15
+ let EntityCrudService = class EntityCrudService {
16
+ constructor(repository) {
17
+ this.repository = repository;
18
+ }
19
+ async create(itemData, req) {
20
+ return await this.repository.create(itemData, req);
21
+ }
22
+ async findAll(query, req) {
23
+ return await this.repository.findAll(query, req);
24
+ }
25
+ async findOne(id, req) {
26
+ return await this.repository.findOne(id, req);
27
+ }
28
+ async update(id, itemData) {
29
+ return await this.repository.update(id, itemData);
30
+ }
31
+ async softDelete(id, req) {
32
+ await this.repository.softDelete(id, req);
33
+ }
34
+ async restore(id, req) {
35
+ await this.repository.restore(id, req);
36
+ }
37
+ async findAllArchived(query, req) {
38
+ return await this.repository.findAllArchived(query, req);
39
+ }
40
+ async findOneOrFail(id) {
41
+ return await this.repository.findOne(id);
42
+ }
43
+ };
44
+ exports.EntityCrudService = EntityCrudService;
45
+ exports.EntityCrudService = EntityCrudService = __decorate([
46
+ (0, common_1.Injectable)(),
47
+ __metadata("design:paramtypes", [entity_crud_repository_1.EntityCrudRepository])
48
+ ], EntityCrudService);
49
+ //# sourceMappingURL=entity-crud.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entity-crud.service.js","sourceRoot":"","sources":["../../../src/crud-operation/service/entity-crud.service.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,2CAA4C;AAE5C,iFAA4E;AAGrE,IAAM,iBAAiB,GAAvB,MAAM,iBAAiB;IAC5B,YAA6B,UAAmC;QAAnC,eAAU,GAAV,UAAU,CAAyB;IAAG,CAAC;IAEpE,KAAK,CAAC,MAAM,CAAC,QAA0B,EAAE,GAAS;QAChD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACrD,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,CAAC,EAAU,EAAE,QAAa;QACpC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,GAAS;QACpC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,GAAS;QACjC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,KAAsB,EAAE,GAAS;QACrD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC3D,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAO;QACzB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IAC3C,CAAC;CACF,CAAA;AAlCY,8CAAiB;4BAAjB,iBAAiB;IAD7B,IAAA,mBAAU,GAAE;qCAE8B,6CAAoB;GADlD,iBAAiB,CAkC7B"}
@@ -0,0 +1,18 @@
1
+ import { DeepPartial, ObjectLiteral } from 'typeorm';
2
+ import { CollectionQuery } from '@zola_do/collection-query';
3
+ import { ExtraCrudOptions } from '@zola_do/core';
4
+ import { ExtraCrudRepository } from '../repository';
5
+ import { Request } from 'express';
6
+ export declare class ExtraCrudService<T extends ObjectLiteral> {
7
+ private readonly repository;
8
+ private request?;
9
+ constructor(repository: ExtraCrudRepository<T>, request?: Request);
10
+ create(itemData: DeepPartial<any>, req?: any): Promise<any>;
11
+ findAll(entityId: string, query: CollectionQuery, extraCrudOptions: ExtraCrudOptions, req?: any): Promise<import("@zola_do/core").DataResponseFormat<T>>;
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>;
16
+ findAllArchived(entityId: string, query: CollectionQuery, extraCrudOptions: ExtraCrudOptions, req?: any): Promise<import("@zola_do/core").DataResponseFormat<T>>;
17
+ findOneOrFail(id: any): Promise<T>;
18
+ }
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __param = (this && this.__param) || function (paramIndex, decorator) {
12
+ return function (target, key) { decorator(target, key, paramIndex); }
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.ExtraCrudService = void 0;
16
+ const common_1 = require("@nestjs/common");
17
+ const repository_1 = require("../repository");
18
+ const core_1 = require("@nestjs/core");
19
+ let ExtraCrudService = class ExtraCrudService {
20
+ constructor(repository, request) {
21
+ this.repository = repository;
22
+ this.request = request;
23
+ }
24
+ async create(itemData, req) {
25
+ return await this.repository.create(itemData, req);
26
+ }
27
+ async findAll(entityId, query, extraCrudOptions, req) {
28
+ return await this.repository.findAll(entityId, query, extraCrudOptions, req);
29
+ }
30
+ async findOne(id, req) {
31
+ return await this.repository.findOne(id, req);
32
+ }
33
+ async update(id, itemData) {
34
+ return await this.repository.update(id, itemData);
35
+ }
36
+ async softDelete(id, req) {
37
+ await this.repository.softDelete(id, req);
38
+ }
39
+ async restore(id, req) {
40
+ await this.repository.restore(id, req);
41
+ }
42
+ async findAllArchived(entityId, query, extraCrudOptions, req) {
43
+ return await this.repository.findAllArchived(entityId, query, extraCrudOptions, req);
44
+ }
45
+ async findOneOrFail(id) {
46
+ return await this.repository.findOneOrFail(id);
47
+ }
48
+ };
49
+ exports.ExtraCrudService = ExtraCrudService;
50
+ exports.ExtraCrudService = ExtraCrudService = __decorate([
51
+ (0, common_1.Injectable)(),
52
+ __param(1, (0, common_1.Inject)(core_1.REQUEST)),
53
+ __metadata("design:paramtypes", [repository_1.ExtraCrudRepository, Object])
54
+ ], ExtraCrudService);
55
+ //# sourceMappingURL=extra-crud.service.js.map
@@ -0,0 +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,CAAC,QAA0B,EAAE,GAAS;QAChD,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IACrD,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,CAAC,EAAU,EAAE,QAAa;QACpC,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACpD,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,EAAU,EAAE,GAAS;QACpC,MAAM,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAC5C,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,GAAS;QACjC,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACzC,CAAC;IAED,KAAK,CAAC,eAAe,CACnB,QAAgB,EAChB,KAAsB,EACtB,gBAAkC,EAClC,GAAS;QAET,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,eAAe,CAC1C,QAAQ,EACR,KAAK,EACL,gBAAgB,EAChB,GAAG,CACJ,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAO;QACzB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACjD,CAAC;CACF,CAAA;AAzDY,4CAAgB;2BAAhB,gBAAgB;IAD5B,IAAA,mBAAU,GAAE;IAIR,WAAA,IAAA,eAAM,EAAC,cAAO,CAAC,CAAA;qCADa,gCAAmB;GAFvC,gBAAgB,CAyD5B"}
@@ -0,0 +1,3 @@
1
+ export * from './entity-crud.service';
2
+ export * from './relation-crud.service';
3
+ export * from './extra-crud.service';
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./entity-crud.service"), exports);
18
+ __exportStar(require("./relation-crud.service"), exports);
19
+ __exportStar(require("./extra-crud.service"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/crud-operation/service/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,wDAAsC;AACtC,0DAAwC;AACxC,uDAAqC"}
@@ -0,0 +1,12 @@
1
+ import { ObjectLiteral } from 'typeorm';
2
+ import { CollectionQuery } from '@zola_do/collection-query';
3
+ import { RelationCrudOptions } from '@zola_do/core';
4
+ import { RelationCrudRepository } from '../repository';
5
+ export declare class RelationCrudService<TEntity extends ObjectLiteral> {
6
+ private readonly repository;
7
+ constructor(repository: RelationCrudRepository<TEntity>);
8
+ bulkSaveFirst(payload: any, relationCrudOptions: RelationCrudOptions): Promise<any>;
9
+ bulkSaveSecond(payload: any, relationCrudOptions: RelationCrudOptions): any;
10
+ findAllFirst(entityId: string, query: CollectionQuery, relationCrudOptions: RelationCrudOptions): Promise<import("@zola_do/core").DataResponseFormat<TEntity>>;
11
+ findAllSecond(entityId: string, query: CollectionQuery, relationCrudOptions: RelationCrudOptions): Promise<import("@zola_do/core").DataResponseFormat<TEntity>>;
12
+ }
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.RelationCrudService = void 0;
13
+ const common_1 = require("@nestjs/common");
14
+ const repository_1 = require("../repository");
15
+ let RelationCrudService = class RelationCrudService {
16
+ constructor(repository) {
17
+ this.repository = repository;
18
+ }
19
+ async bulkSaveFirst(payload, relationCrudOptions) {
20
+ return await this.bulkSaveSecond(payload, relationCrudOptions);
21
+ }
22
+ async bulkSaveSecond(payload, relationCrudOptions) {
23
+ return await this.bulkSaveSecond(payload, relationCrudOptions);
24
+ }
25
+ async findAllFirst(entityId, query, relationCrudOptions) {
26
+ return await this.repository.findAllFirst(entityId, query, relationCrudOptions);
27
+ }
28
+ async findAllSecond(entityId, query, relationCrudOptions) {
29
+ return await this.repository.findAllSecond(entityId, query, relationCrudOptions);
30
+ }
31
+ };
32
+ exports.RelationCrudService = RelationCrudService;
33
+ exports.RelationCrudService = RelationCrudService = __decorate([
34
+ (0, common_1.Injectable)(),
35
+ __metadata("design:paramtypes", [repository_1.RelationCrudRepository])
36
+ ], RelationCrudService);
37
+ //# sourceMappingURL=relation-crud.service.js.map
@@ -0,0 +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,CAAC,OAAY,EAAE,mBAAwC;QACxE,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,OAAY,EAAE,mBAAwC;QACzE,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,OAAO,EAAE,mBAAmB,CAAC,CAAC;IACjE,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;AAlCY,kDAAmB;8BAAnB,mBAAmB;IAD/B,IAAA,mBAAU,GAAE;qCAE8B,mCAAsB;GADpD,mBAAmB,CAkC/B"}
@@ -0,0 +1,3 @@
1
+ export * from './controller';
2
+ export * from './service';
3
+ export * from './crud-operation/repository';
package/dist/index.js ADDED
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./controller"), exports);
18
+ __exportStar(require("./service"), exports);
19
+ __exportStar(require("./crud-operation/repository"), exports);
20
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,4CAA0B;AAC1B,8DAA4C"}
@@ -0,0 +1,17 @@
1
+ import { Repository, DeepPartial, ObjectLiteral, SelectQueryBuilder } from 'typeorm';
2
+ import { CollectionQuery } from '@zola_do/collection-query';
3
+ import { DataResponseFormat } from '@zola_do/core';
4
+ export declare class EntityCrudService<T extends ObjectLiteral> {
5
+ private readonly repository;
6
+ constructor(repository: Repository<T>);
7
+ create(itemData: DeepPartial<any>, req?: any): Promise<any>;
8
+ findAll(query: CollectionQuery, req?: any): Promise<DataResponseFormat<T>>;
9
+ findOne(id: any, req?: any): Promise<T | undefined>;
10
+ update(id: string, itemData: any): Promise<T | undefined>;
11
+ softDelete(id: string, req?: any): Promise<void>;
12
+ restore(id: string, req?: any): Promise<void>;
13
+ findAllArchived(query: CollectionQuery, req?: any): Promise<DataResponseFormat<T>>;
14
+ private findOneOrFail;
15
+ private findOneOrFailWithDeleted;
16
+ giveQueryResponse<T>(query: CollectionQuery, dataQuery: SelectQueryBuilder<T>): Promise<DataResponseFormat<T>>;
17
+ }