@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.
- package/dist/controller/entity-crud.controller.d.ts +16 -0
- package/dist/controller/entity-crud.controller.js +139 -0
- package/dist/controller/entity-crud.controller.js.map +1 -0
- package/dist/controller/extra-crud.controller.d.ts +18 -0
- package/dist/controller/extra-crud.controller.js +145 -0
- package/dist/controller/extra-crud.controller.js.map +1 -0
- package/dist/controller/index.d.ts +3 -0
- package/dist/controller/index.js +20 -0
- package/dist/controller/index.js.map +1 -0
- package/dist/controller/relation-crud.controller.d.ts +13 -0
- package/dist/controller/relation-crud.controller.js +101 -0
- package/dist/controller/relation-crud.controller.js.map +1 -0
- package/dist/crud-operation/controller/entity-crud.controller.d.ts +16 -0
- package/dist/crud-operation/controller/entity-crud.controller.js +136 -0
- package/dist/crud-operation/controller/entity-crud.controller.js.map +1 -0
- package/dist/crud-operation/controller/extra-crud.controller.d.ts +18 -0
- package/dist/crud-operation/controller/extra-crud.controller.js +142 -0
- package/dist/crud-operation/controller/extra-crud.controller.js.map +1 -0
- package/dist/crud-operation/controller/index.d.ts +3 -0
- package/dist/crud-operation/controller/index.js +20 -0
- package/dist/crud-operation/controller/index.js.map +1 -0
- package/dist/crud-operation/controller/relation-crud.controller.d.ts +13 -0
- package/dist/crud-operation/controller/relation-crud.controller.js +103 -0
- package/dist/crud-operation/controller/relation-crud.controller.js.map +1 -0
- package/dist/crud-operation/index.d.ts +3 -0
- package/dist/crud-operation/index.js +20 -0
- package/dist/crud-operation/index.js.map +1 -0
- package/dist/crud-operation/repository/entity-crud.repository.d.ts +18 -0
- package/dist/crud-operation/repository/entity-crud.repository.js +124 -0
- package/dist/crud-operation/repository/entity-crud.repository.js.map +1 -0
- package/dist/crud-operation/repository/extra-crud.repository.d.ts +20 -0
- package/dist/crud-operation/repository/extra-crud.repository.js +129 -0
- package/dist/crud-operation/repository/extra-crud.repository.js.map +1 -0
- package/dist/crud-operation/repository/index.d.ts +3 -0
- package/dist/crud-operation/repository/index.js +20 -0
- package/dist/crud-operation/repository/index.js.map +1 -0
- package/dist/crud-operation/repository/relation-crud.repository.d.ts +13 -0
- package/dist/crud-operation/repository/relation-crud.repository.js +116 -0
- package/dist/crud-operation/repository/relation-crud.repository.js.map +1 -0
- package/dist/crud-operation/service/entity-crud.service.d.ts +15 -0
- package/dist/crud-operation/service/entity-crud.service.js +49 -0
- package/dist/crud-operation/service/entity-crud.service.js.map +1 -0
- package/dist/crud-operation/service/extra-crud.service.d.ts +18 -0
- package/dist/crud-operation/service/extra-crud.service.js +55 -0
- package/dist/crud-operation/service/extra-crud.service.js.map +1 -0
- package/dist/crud-operation/service/index.d.ts +3 -0
- package/dist/crud-operation/service/index.js +20 -0
- package/dist/crud-operation/service/index.js.map +1 -0
- package/dist/crud-operation/service/relation-crud.service.d.ts +12 -0
- package/dist/crud-operation/service/relation-crud.service.js +37 -0
- package/dist/crud-operation/service/relation-crud.service.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +20 -0
- package/dist/index.js.map +1 -0
- package/dist/service/entity-crud.service.d.ts +17 -0
- package/dist/service/entity-crud.service.js +115 -0
- package/dist/service/entity-crud.service.js.map +1 -0
- package/dist/service/extra-crud.service.d.ts +18 -0
- package/dist/service/extra-crud.service.js +128 -0
- package/dist/service/extra-crud.service.js.map +1 -0
- package/dist/service/index.d.ts +3 -0
- package/dist/service/index.js +20 -0
- package/dist/service/index.js.map +1 -0
- package/dist/service/relation-crud.service.d.ts +13 -0
- package/dist/service/relation-crud.service.js +102 -0
- package/dist/service/relation-crud.service.js.map +1 -0
- 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":"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"}
|
|
@@ -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,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"}
|
package/dist/index.d.ts
ADDED
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
|
+
}
|