@klerick/json-api-nestjs-typeorm 0.1.0-beta.1 → 0.1.0-beta.2
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/CHANGELOG.md +10 -0
- package/README.md +1 -0
- package/package.json +25 -30
- package/src/index.d.ts +1 -0
- package/src/index.js +5 -0
- package/src/index.js.map +1 -0
- package/src/lib/constants/index.d.ts +6 -0
- package/src/lib/constants/index.js +10 -0
- package/src/lib/constants/index.js.map +1 -0
- package/src/lib/factory/index.d.ts +20 -0
- package/src/lib/factory/index.js +127 -0
- package/src/lib/factory/index.js.map +1 -0
- package/src/lib/index.d.ts +2 -0
- package/src/lib/index.js +6 -0
- package/src/lib/index.js.map +1 -0
- package/src/lib/orm-helper/index.d.ts +10 -0
- package/src/lib/orm-helper/index.js +151 -0
- package/src/lib/orm-helper/index.js.map +1 -0
- package/src/lib/orm-methods/delete-one/delete-one.d.ts +2 -0
- package/src/lib/orm-methods/delete-one/delete-one.js +17 -0
- package/src/lib/orm-methods/delete-one/delete-one.js.map +1 -0
- package/src/lib/orm-methods/delete-relationship/delete-relationship.d.ts +4 -0
- package/src/lib/orm-methods/delete-relationship/delete-relationship.js +18 -0
- package/src/lib/orm-methods/delete-relationship/delete-relationship.js.map +1 -0
- package/src/lib/orm-methods/get-all/get-all.d.ts +4 -0
- package/src/lib/orm-methods/get-all/get-all.js +181 -0
- package/src/lib/orm-methods/get-all/get-all.js.map +1 -0
- package/src/lib/orm-methods/get-one/get-one.d.ts +4 -0
- package/src/lib/orm-methods/get-one/get-one.js +59 -0
- package/src/lib/orm-methods/get-one/get-one.js.map +1 -0
- package/src/lib/orm-methods/get-relationship/get-relationship.d.ts +3 -0
- package/src/lib/orm-methods/get-relationship/get-relationship.js +35 -0
- package/src/lib/orm-methods/get-relationship/get-relationship.js.map +1 -0
- package/src/lib/orm-methods/index.d.ts +9 -0
- package/src/lib/orm-methods/index.js +22 -0
- package/src/lib/orm-methods/index.js.map +1 -0
- package/src/lib/orm-methods/patch-one/patch-one.d.ts +4 -0
- package/src/lib/orm-methods/patch-one/patch-one.js +50 -0
- package/src/lib/orm-methods/patch-one/patch-one.js.map +1 -0
- package/src/lib/orm-methods/patch-relationship/patch-relationship.d.ts +4 -0
- package/src/lib/orm-methods/patch-relationship/patch-relationship.js +23 -0
- package/src/lib/orm-methods/patch-relationship/patch-relationship.js.map +1 -0
- package/src/lib/orm-methods/post-one/post-one.d.ts +4 -0
- package/src/lib/orm-methods/post-one/post-one.js +28 -0
- package/src/lib/orm-methods/post-one/post-one.js.map +1 -0
- package/src/lib/orm-methods/post-relationship/post-relationship.d.ts +4 -0
- package/src/lib/orm-methods/post-relationship/post-relationship.js +19 -0
- package/src/lib/orm-methods/post-relationship/post-relationship.js.map +1 -0
- package/src/lib/service/index.d.ts +3 -0
- package/src/lib/service/index.js +7 -0
- package/src/lib/service/index.js.map +1 -0
- package/src/lib/service/type-orm-format.error.service.d.ts +21 -0
- package/src/lib/service/type-orm-format.error.service.js +122 -0
- package/src/lib/service/type-orm-format.error.service.js.map +1 -0
- package/src/lib/service/type-orm.service.d.ts +20 -0
- package/src/lib/service/type-orm.service.js +61 -0
- package/src/lib/service/type-orm.service.js.map +1 -0
- package/src/lib/service/typeorm-utils.service.d.ts +66 -0
- package/src/lib/service/typeorm-utils.service.js +450 -0
- package/src/lib/service/typeorm-utils.service.js.map +1 -0
- package/src/lib/type-orm-json-api.module.d.ts +7 -0
- package/src/lib/type-orm-json-api.module.js +49 -0
- package/src/lib/type-orm-json-api.module.js.map +1 -0
- package/src/lib/type.d.ts +28 -0
- package/src/lib/type.js +28 -0
- package/src/lib/type.js.map +1 -0
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAll = getAll;
|
|
4
|
+
const json_api_nestjs_1 = require("@klerick/json-api-nestjs");
|
|
5
|
+
const json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
|
|
6
|
+
const constants_1 = require("../../constants");
|
|
7
|
+
function getSortObject(params, relationName) {
|
|
8
|
+
return Object.entries(params).reduce((acum, [props, sort]) => {
|
|
9
|
+
acum[`${relationName}.${props}`] = `${sort}` === json_api_nestjs_1.ASC ? json_api_nestjs_1.ASC : json_api_nestjs_1.DESC;
|
|
10
|
+
return acum;
|
|
11
|
+
}, {});
|
|
12
|
+
}
|
|
13
|
+
async function getAll(query) {
|
|
14
|
+
const { fields, include, sort, page } = query;
|
|
15
|
+
let defaultSortObject = {
|
|
16
|
+
[`${this.typeormUtilsService.currentAlias}.${this.typeormUtilsService.currentPrimaryColumn.toString()}`]: json_api_nestjs_1.ASC,
|
|
17
|
+
};
|
|
18
|
+
const includeForCountQuery = new Set();
|
|
19
|
+
const selectFields = new Set();
|
|
20
|
+
const includeRel = new Set();
|
|
21
|
+
const skip = (page.number - 1) * page.size;
|
|
22
|
+
const expressionArrayForTarget = this.typeormUtilsService.getFilterExpressionForTarget(query);
|
|
23
|
+
const expressionArrayForRelation = this.typeormUtilsService.getFilterExpressionForRelation(query);
|
|
24
|
+
const expressionArray = [
|
|
25
|
+
...expressionArrayForTarget,
|
|
26
|
+
...expressionArrayForRelation,
|
|
27
|
+
];
|
|
28
|
+
const sortCast = sort;
|
|
29
|
+
if (sortCast) {
|
|
30
|
+
const { target, ...relation } = sortCast;
|
|
31
|
+
const targetOrder = getSortObject(target || {}, this.typeormUtilsService.currentAlias);
|
|
32
|
+
const relOrder = Object.entries(relation || {}).reduce((acum, [name, order]) => {
|
|
33
|
+
return {
|
|
34
|
+
...acum,
|
|
35
|
+
...getSortObject(order || {}, this.typeormUtilsService.getAliasForRelation(name)),
|
|
36
|
+
};
|
|
37
|
+
}, {});
|
|
38
|
+
const resultOrder = {
|
|
39
|
+
...targetOrder,
|
|
40
|
+
...relOrder,
|
|
41
|
+
};
|
|
42
|
+
if (Object.keys(resultOrder).length > 0) {
|
|
43
|
+
defaultSortObject = resultOrder;
|
|
44
|
+
}
|
|
45
|
+
for (const item of json_api_nestjs_shared_1.ObjectTyped.keys(relation)) {
|
|
46
|
+
includeForCountQuery.add(item);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
const queryBuilderForCount = this.repository
|
|
50
|
+
.createQueryBuilder(this.typeormUtilsService.currentAlias)
|
|
51
|
+
.select(this.typeormUtilsService.getAliasPath(this.typeormUtilsService.currentPrimaryColumn), this.typeormUtilsService.currentPrimaryColumn.toString())
|
|
52
|
+
.orderBy(defaultSortObject);
|
|
53
|
+
for (const i in expressionArray) {
|
|
54
|
+
const { params, alias, selectInclude, expression } = expressionArray[i];
|
|
55
|
+
const expressionTempArray = [];
|
|
56
|
+
if (alias) {
|
|
57
|
+
expressionTempArray.push(alias);
|
|
58
|
+
}
|
|
59
|
+
expressionTempArray.push(expression);
|
|
60
|
+
queryBuilderForCount[i === '0' ? 'where' : 'andWhere'](expressionTempArray.join(' '));
|
|
61
|
+
if (params) {
|
|
62
|
+
if (Array.isArray(params)) {
|
|
63
|
+
for (const { name, val } of params) {
|
|
64
|
+
queryBuilderForCount.setParameters({ [name]: val });
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
else {
|
|
68
|
+
queryBuilderForCount.setParameters({ [params.name]: params.val });
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
if (selectInclude)
|
|
72
|
+
includeForCountQuery.add(selectInclude);
|
|
73
|
+
}
|
|
74
|
+
for (const rel of [...includeForCountQuery]) {
|
|
75
|
+
const currentIncludeAlias = this.typeormUtilsService.getAliasForRelation(rel);
|
|
76
|
+
queryBuilderForCount.leftJoin(this.typeormUtilsService.getAliasPath(rel), currentIncludeAlias);
|
|
77
|
+
}
|
|
78
|
+
const count = await queryBuilderForCount.getCount();
|
|
79
|
+
const meta = {
|
|
80
|
+
pageNumber: page.number,
|
|
81
|
+
totalItems: count,
|
|
82
|
+
pageSize: page.size,
|
|
83
|
+
};
|
|
84
|
+
if (count === 0) {
|
|
85
|
+
return {
|
|
86
|
+
meta,
|
|
87
|
+
data: [],
|
|
88
|
+
};
|
|
89
|
+
}
|
|
90
|
+
const aliasForIdResultPagination = this.typeormUtilsService.getAliasPath(this.typeormUtilsService.currentPrimaryColumn, constants_1.ALIAS_FOR_PAGINATION, '_');
|
|
91
|
+
const resultIds = await this.repository
|
|
92
|
+
.createQueryBuilder(constants_1.ALIAS_FOR_PAGINATION)
|
|
93
|
+
.select(this.typeormUtilsService.getAliasPath(this.typeormUtilsService.currentPrimaryColumn, constants_1.ALIAS_FOR_PAGINATION), aliasForIdResultPagination)
|
|
94
|
+
.innerJoin(`(${queryBuilderForCount.offset(skip).limit(page.size).getQuery()})`, constants_1.SUB_QUERY_ALIAS_FOR_PAGINATION, `${this.typeormUtilsService.getAliasPath(queryBuilderForCount.escape(this.typeormUtilsService.currentPrimaryColumn.toString()), queryBuilderForCount.escape(constants_1.SUB_QUERY_ALIAS_FOR_PAGINATION))} = ${this.typeormUtilsService.getAliasPath(this.typeormUtilsService.currentPrimaryColumn, constants_1.ALIAS_FOR_PAGINATION)}`)
|
|
95
|
+
.setParameters(queryBuilderForCount.getParameters())
|
|
96
|
+
.getRawMany();
|
|
97
|
+
const ids = resultIds.map((i) => i[aliasForIdResultPagination]);
|
|
98
|
+
if (ids.length === 0) {
|
|
99
|
+
return {
|
|
100
|
+
meta,
|
|
101
|
+
data: [],
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
if (include) {
|
|
105
|
+
for (const rel of include) {
|
|
106
|
+
includeRel.add(rel);
|
|
107
|
+
}
|
|
108
|
+
}
|
|
109
|
+
const fieldsCast = fields;
|
|
110
|
+
if (fieldsCast) {
|
|
111
|
+
if (include) {
|
|
112
|
+
for (const rel of include) {
|
|
113
|
+
const currentIncludeAlias = this.typeormUtilsService.getAliasForRelation(rel);
|
|
114
|
+
const primaryColumnName = this.typeormUtilsService.getPrimaryColumnForRel(rel);
|
|
115
|
+
selectFields.add(`${currentIncludeAlias}.${primaryColumnName}`);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
const { target, ...other } = fieldsCast;
|
|
119
|
+
if (target) {
|
|
120
|
+
for (const item of target) {
|
|
121
|
+
selectFields.add(`${this.typeormUtilsService.currentAlias}.${item}`);
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
for (const [rel, fields] of json_api_nestjs_shared_1.ObjectTyped.entries(other)) {
|
|
125
|
+
const currentIncludeAlias = this.typeormUtilsService.getAliasForRelation(rel);
|
|
126
|
+
if (!fields)
|
|
127
|
+
continue;
|
|
128
|
+
for (const field of fields) {
|
|
129
|
+
selectFields.add(`${currentIncludeAlias.toString()}.${field}`);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
const resultQuery = this.repository
|
|
134
|
+
.createQueryBuilder()
|
|
135
|
+
.orderBy(defaultSortObject);
|
|
136
|
+
if (selectFields.size > 0) {
|
|
137
|
+
resultQuery.select([...selectFields]);
|
|
138
|
+
}
|
|
139
|
+
resultQuery.whereInIds(ids);
|
|
140
|
+
for (const expressionItem of expressionArrayForRelation) {
|
|
141
|
+
const { selectInclude, alias, paramsForResult, params, expression } = expressionItem;
|
|
142
|
+
if (paramsForResult) {
|
|
143
|
+
for (const item of paramsForResult) {
|
|
144
|
+
resultQuery.andWhere(item);
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
else {
|
|
148
|
+
resultQuery.andWhere(`${alias} ${expression}`);
|
|
149
|
+
}
|
|
150
|
+
if (params) {
|
|
151
|
+
if (Array.isArray(params)) {
|
|
152
|
+
for (const item of params) {
|
|
153
|
+
resultQuery.setParameters({ [item.name]: item.val });
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
else {
|
|
157
|
+
resultQuery.setParameters({ [params.name]: params.val });
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
if (selectInclude)
|
|
161
|
+
includeRel.add(selectInclude);
|
|
162
|
+
}
|
|
163
|
+
for (const item of [...includeRel]) {
|
|
164
|
+
const currentIncludeAlias = this.typeormUtilsService.getAliasForRelation(item);
|
|
165
|
+
if (!currentIncludeAlias)
|
|
166
|
+
continue;
|
|
167
|
+
resultQuery[selectFields.size > 0 ? 'leftJoin' : 'leftJoinAndSelect'](this.typeormUtilsService.getAliasPath(item), currentIncludeAlias);
|
|
168
|
+
}
|
|
169
|
+
const resultData = await resultQuery.getMany();
|
|
170
|
+
const { included, data } = this.transformDataService.transformData(resultData, query);
|
|
171
|
+
return {
|
|
172
|
+
meta: {
|
|
173
|
+
pageNumber: page.number,
|
|
174
|
+
totalItems: count,
|
|
175
|
+
pageSize: page.size,
|
|
176
|
+
},
|
|
177
|
+
data,
|
|
178
|
+
...(included ? { included } : {}),
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
//# sourceMappingURL=get-all.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-all.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-typeorm/src/lib/orm-methods/get-all/get-all.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { QueryOne } from '@klerick/json-api-nestjs';
|
|
2
|
+
import { ResourceObject } from '@klerick/json-api-nestjs-shared';
|
|
3
|
+
import { TypeOrmService } from '../../service';
|
|
4
|
+
export declare function getOne<E extends object, IdKey extends string>(this: TypeOrmService<E, IdKey>, id: number | string, query: QueryOne<E, IdKey>): Promise<ResourceObject<E, 'object', null, IdKey>>;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getOne = getOne;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
|
|
6
|
+
async function getOne(id, query) {
|
|
7
|
+
const { include, fields } = query;
|
|
8
|
+
const selectFields = new Set();
|
|
9
|
+
const builder = this.repository.createQueryBuilder(this.typeormUtilsService.currentAlias);
|
|
10
|
+
if (fields) {
|
|
11
|
+
selectFields.add(this.typeormUtilsService.getAliasPath(this.typeormUtilsService.currentPrimaryColumn));
|
|
12
|
+
const { target, ...other } = fields;
|
|
13
|
+
if (target) {
|
|
14
|
+
for (const fieldItem of target) {
|
|
15
|
+
selectFields.add(this.typeormUtilsService.getAliasPath(fieldItem));
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
for (const [rel, fieldRel] of json_api_nestjs_shared_1.ObjectTyped.entries(other)) {
|
|
19
|
+
if (fieldRel) {
|
|
20
|
+
for (const itemFieldRel of fieldRel) {
|
|
21
|
+
selectFields.add(this.typeormUtilsService.getAliasPath(itemFieldRel, this.typeormUtilsService.getAliasForRelation(rel)));
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
if (include) {
|
|
27
|
+
for (const rel of include) {
|
|
28
|
+
const currentIncludeAlias = this.typeormUtilsService.getAliasForRelation(rel);
|
|
29
|
+
builder[fields ? 'leftJoin' : 'leftJoinAndSelect'](this.typeormUtilsService.getAliasPath(rel), currentIncludeAlias);
|
|
30
|
+
if (fields) {
|
|
31
|
+
selectFields.add(this.typeormUtilsService.getAliasPath(this.typeormUtilsService.getPrimaryColumnForRel(rel), currentIncludeAlias));
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (selectFields.size > 0) {
|
|
36
|
+
builder.select([...selectFields]);
|
|
37
|
+
}
|
|
38
|
+
const paramsId = 'paramsId';
|
|
39
|
+
const result = await builder
|
|
40
|
+
.where(`${this.typeormUtilsService.getAliasPath(this.typeormUtilsService.currentPrimaryColumn)} = :${paramsId}`, {
|
|
41
|
+
[paramsId]: id,
|
|
42
|
+
})
|
|
43
|
+
.getOne();
|
|
44
|
+
if (!result) {
|
|
45
|
+
const error = {
|
|
46
|
+
code: 'invalid_arguments',
|
|
47
|
+
message: `Resource '${this.typeormUtilsService.currentAlias}' with id '${id}' does not exist`,
|
|
48
|
+
path: ['fields'],
|
|
49
|
+
};
|
|
50
|
+
throw new common_1.NotFoundException([error]);
|
|
51
|
+
}
|
|
52
|
+
const { included, data } = this.transformDataService.transformData(result, query);
|
|
53
|
+
return {
|
|
54
|
+
meta: {},
|
|
55
|
+
data,
|
|
56
|
+
...(included ? { included } : {}),
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=get-one.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-one.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-typeorm/src/lib/orm-methods/get-one/get-one.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { RelationKeys, ResourceObjectRelationships } from '@klerick/json-api-nestjs-shared';
|
|
2
|
+
import { TypeOrmService } from '../../service';
|
|
3
|
+
export declare function getRelationship<E extends object, IdKey extends string, Rel extends RelationKeys<E, IdKey>>(this: TypeOrmService<E, IdKey>, id: number | string, rel: Rel): Promise<ResourceObjectRelationships<E, IdKey, Rel>>;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRelationship = getRelationship;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
async function getRelationship(id, rel) {
|
|
6
|
+
const paramsId = 'paramsId';
|
|
7
|
+
const result = (await this.repository
|
|
8
|
+
.createQueryBuilder()
|
|
9
|
+
.select([
|
|
10
|
+
this.typeormUtilsService.getAliasPath(this.typeormUtilsService.currentPrimaryColumn),
|
|
11
|
+
this.typeormUtilsService.getAliasPath(this.typeormUtilsService.getPrimaryColumnForRel(rel), this.typeormUtilsService.getAliasForRelation(rel)),
|
|
12
|
+
])
|
|
13
|
+
.where(`
|
|
14
|
+
${this.typeormUtilsService.getAliasPath(this.typeormUtilsService.currentPrimaryColumn)} = :paramsId
|
|
15
|
+
`)
|
|
16
|
+
.leftJoin(this.typeormUtilsService.getAliasPath(rel.toString()), this.typeormUtilsService.getAliasForRelation(rel))
|
|
17
|
+
.setParameters({
|
|
18
|
+
[paramsId]: id,
|
|
19
|
+
})
|
|
20
|
+
.getOne());
|
|
21
|
+
if (!result) {
|
|
22
|
+
const error = {
|
|
23
|
+
code: 'invalid_arguments',
|
|
24
|
+
message: `Resource '${this.typeormUtilsService.currentAlias}' with id '${id}' does not exist`,
|
|
25
|
+
path: ['fields'],
|
|
26
|
+
};
|
|
27
|
+
throw new common_1.NotFoundException([error]);
|
|
28
|
+
}
|
|
29
|
+
const data = this.transformDataService.transformRel(result, rel);
|
|
30
|
+
return {
|
|
31
|
+
meta: {},
|
|
32
|
+
data,
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=get-relationship.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"get-relationship.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-typeorm/src/lib/orm-methods/get-relationship/get-relationship.ts"],"names":[],"mappings":";;AAQA,0CAmDC;AA3DD,2CAAmD;AAQ5C,KAAK,UAAU,eAAe,CAMnC,EAAmB,EACnB,GAAQ;IAER,MAAM,QAAQ,GAAG,UAAU,CAAC;IAC5B,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU;SAClC,kBAAkB,EAAE;SACpB,MAAM,CAAC;QACN,IAAI,CAAC,mBAAmB,CAAC,YAAY,CACnC,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAC9C;QACD,IAAI,CAAC,mBAAmB,CAAC,YAAY,CACnC,IAAI,CAAC,mBAAmB,CAAC,sBAAsB,CAAC,GAAU,CAAC,EAC3D,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,GAAU,CAAC,CACzD;KACF,CAAC;SACD,KAAK,CACJ;QACE,IAAI,CAAC,mBAAmB,CAAC,YAAY,CACrC,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAC9C;KACF,CACA;SACA,QAAQ,CACP,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,EACrD,IAAI,CAAC,mBAAmB,CAAC,mBAAmB,CAAC,GAAU,CAAC,CACzD;SACA,aAAa,CAAC;QACb,CAAC,QAAQ,CAAC,EAAE,EAAE;KACf,CAAC;SACD,MAAM,EAAE,CAAa,CAAC;IAEzB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,aAAa,IAAI,CAAC,mBAAmB,CAAC,YAAY,cAAc,EAAE,kBAAkB;YAC7F,IAAI,EAAE,CAAC,QAAQ,CAAC;SACjB,CAAC;QACF,MAAM,IAAI,0BAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,IAAI,GAAG,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAEjE,OAAO;QACL,IAAI,EAAE,EAAE;QACR,IAAI;KACL,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export { getAll } from './get-all/get-all';
|
|
2
|
+
export { getOne } from './get-one/get-one';
|
|
3
|
+
export { deleteOne } from './delete-one/delete-one';
|
|
4
|
+
export { postOne } from './post-one/post-one';
|
|
5
|
+
export { patchOne } from './patch-one/patch-one';
|
|
6
|
+
export { getRelationship } from './get-relationship/get-relationship';
|
|
7
|
+
export { postRelationship } from './post-relationship/post-relationship';
|
|
8
|
+
export { deleteRelationship } from './delete-relationship/delete-relationship';
|
|
9
|
+
export { patchRelationship } from './patch-relationship/patch-relationship';
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.patchRelationship = exports.deleteRelationship = exports.postRelationship = exports.getRelationship = exports.patchOne = exports.postOne = exports.deleteOne = exports.getOne = exports.getAll = void 0;
|
|
4
|
+
var get_all_1 = require("./get-all/get-all");
|
|
5
|
+
Object.defineProperty(exports, "getAll", { enumerable: true, get: function () { return get_all_1.getAll; } });
|
|
6
|
+
var get_one_1 = require("./get-one/get-one");
|
|
7
|
+
Object.defineProperty(exports, "getOne", { enumerable: true, get: function () { return get_one_1.getOne; } });
|
|
8
|
+
var delete_one_1 = require("./delete-one/delete-one");
|
|
9
|
+
Object.defineProperty(exports, "deleteOne", { enumerable: true, get: function () { return delete_one_1.deleteOne; } });
|
|
10
|
+
var post_one_1 = require("./post-one/post-one");
|
|
11
|
+
Object.defineProperty(exports, "postOne", { enumerable: true, get: function () { return post_one_1.postOne; } });
|
|
12
|
+
var patch_one_1 = require("./patch-one/patch-one");
|
|
13
|
+
Object.defineProperty(exports, "patchOne", { enumerable: true, get: function () { return patch_one_1.patchOne; } });
|
|
14
|
+
var get_relationship_1 = require("./get-relationship/get-relationship");
|
|
15
|
+
Object.defineProperty(exports, "getRelationship", { enumerable: true, get: function () { return get_relationship_1.getRelationship; } });
|
|
16
|
+
var post_relationship_1 = require("./post-relationship/post-relationship");
|
|
17
|
+
Object.defineProperty(exports, "postRelationship", { enumerable: true, get: function () { return post_relationship_1.postRelationship; } });
|
|
18
|
+
var delete_relationship_1 = require("./delete-relationship/delete-relationship");
|
|
19
|
+
Object.defineProperty(exports, "deleteRelationship", { enumerable: true, get: function () { return delete_relationship_1.deleteRelationship; } });
|
|
20
|
+
var patch_relationship_1 = require("./patch-relationship/patch-relationship");
|
|
21
|
+
Object.defineProperty(exports, "patchRelationship", { enumerable: true, get: function () { return patch_relationship_1.patchRelationship; } });
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs-typeorm/src/lib/orm-methods/index.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAAlC,iGAAA,MAAM,OAAA;AACf,6CAA2C;AAAlC,iGAAA,MAAM,OAAA;AACf,sDAAoD;AAA3C,uGAAA,SAAS,OAAA;AAClB,gDAA8C;AAArC,mGAAA,OAAO,OAAA;AAChB,mDAAiD;AAAxC,qGAAA,QAAQ,OAAA;AACjB,wEAAsE;AAA7D,mHAAA,eAAe,OAAA;AACxB,2EAAyE;AAAhE,qHAAA,gBAAgB,OAAA;AACzB,iFAA+E;AAAtE,yHAAA,kBAAkB,OAAA;AAC3B,8EAA4E;AAAnE,uHAAA,iBAAiB,OAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { ResourceObject } from '@klerick/json-api-nestjs-shared';
|
|
2
|
+
import { PatchData } from '@klerick/json-api-nestjs';
|
|
3
|
+
import { TypeOrmService } from '../../service';
|
|
4
|
+
export declare function patchOne<E extends object, IdKey extends string>(this: TypeOrmService<E, IdKey>, id: number | string, inputData: PatchData<E, IdKey>): Promise<ResourceObject<E, 'object', null, IdKey>>;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.patchOne = patchOne;
|
|
4
|
+
const common_1 = require("@nestjs/common");
|
|
5
|
+
const json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
|
|
6
|
+
async function patchOne(id, inputData) {
|
|
7
|
+
const { id: idBody, attributes, relationships } = inputData;
|
|
8
|
+
if (`${id}` !== idBody) {
|
|
9
|
+
const error = {
|
|
10
|
+
code: 'invalid_arguments',
|
|
11
|
+
message: `Data 'id' must be equal to url param`,
|
|
12
|
+
path: ['data', 'id'],
|
|
13
|
+
};
|
|
14
|
+
throw new common_1.UnprocessableEntityException([error]);
|
|
15
|
+
}
|
|
16
|
+
const paramsId = 'paramsId';
|
|
17
|
+
const result = (await this.repository
|
|
18
|
+
.createQueryBuilder()
|
|
19
|
+
.where(`${this.typeormUtilsService.getAliasPath(this.typeormUtilsService.currentPrimaryColumn)} = :${paramsId}`, {
|
|
20
|
+
[paramsId]: id,
|
|
21
|
+
})
|
|
22
|
+
.getOne());
|
|
23
|
+
if (!result) {
|
|
24
|
+
const error = {
|
|
25
|
+
code: 'invalid_arguments',
|
|
26
|
+
message: `Resource '${this.typeormUtilsService.currentAlias}' with id '${id}' does not exist`,
|
|
27
|
+
path: ['data', 'id'],
|
|
28
|
+
};
|
|
29
|
+
throw new common_1.NotFoundException([error]);
|
|
30
|
+
}
|
|
31
|
+
if (attributes) {
|
|
32
|
+
const entityTarget = this.repository.manager.create(this.repository.target, attributes);
|
|
33
|
+
for (const [props, val] of json_api_nestjs_shared_1.ObjectTyped.entries(entityTarget)) {
|
|
34
|
+
result[props] = val;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
const saveData = (await this.typeormUtilsService.saveEntityData(result, relationships));
|
|
38
|
+
const fakeQuery = {
|
|
39
|
+
[json_api_nestjs_shared_1.QueryField.fields]: null,
|
|
40
|
+
[json_api_nestjs_shared_1.QueryField.include]: Object.keys(relationships || {}),
|
|
41
|
+
};
|
|
42
|
+
const { data, included } = this.transformDataService.transformData(saveData, fakeQuery);
|
|
43
|
+
const includeData = included ? { included } : {};
|
|
44
|
+
return {
|
|
45
|
+
meta: {},
|
|
46
|
+
data,
|
|
47
|
+
...includeData,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=patch-one.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patch-one.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-typeorm/src/lib/orm-methods/patch-one/patch-one.ts"],"names":[],"mappings":";;AAcA,4BAqEC;AAnFD,2CAGwB;AACxB,4EAIyC;AAMlC,KAAK,UAAU,QAAQ,CAE5B,EAAmB,EACnB,SAA8B;IAE9B,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,SAAS,CAAC;IAE5D,IAAI,GAAG,EAAE,EAAE,KAAK,MAAM,EAAE,CAAC;QACvB,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,sCAAsC;YAC/C,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;SACrB,CAAC;QAEF,MAAM,IAAI,qCAA4B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IAClD,CAAC;IAED,MAAM,QAAQ,GAAG,UAAU,CAAC;IAC5B,MAAM,MAAM,GAAG,CAAC,MAAM,IAAI,CAAC,UAAU;SAClC,kBAAkB,EAAE;SACpB,KAAK,CACJ,GAAG,IAAI,CAAC,mBAAmB,CAAC,YAAY,CACtC,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAC9C,OAAO,QAAQ,EAAE,EAClB;QACE,CAAC,QAAQ,CAAC,EAAE,EAAE;KACf,CACF;SACA,MAAM,EAAE,CAAa,CAAC;IAEzB,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,KAAK,GAAuB;YAChC,IAAI,EAAE,mBAAmB;YACzB,OAAO,EAAE,aAAa,IAAI,CAAC,mBAAmB,CAAC,YAAY,cAAc,EAAE,kBAAkB;YAC7F,IAAI,EAAE,CAAC,MAAM,EAAE,IAAI,CAAC;SACrB,CAAC;QACF,MAAM,IAAI,0BAAiB,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;IACvC,CAAC;IAED,IAAI,UAAU,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CACjD,IAAI,CAAC,UAAU,CAAC,MAAM,EACtB,UAA4B,CAC7B,CAAC;QACF,KAAK,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,IAAI,oCAAW,CAAC,OAAO,CAAC,YAAY,CAAC,EAAE,CAAC;YAC7D,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC;QACtB,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAC7D,MAAM,EACN,aAAa,CACd,CAAM,CAAC;IAER,MAAM,SAAS,GAAoB;QACjC,CAAC,mCAAU,CAAC,MAAM,CAAC,EAAE,IAAI;QACzB,CAAC,mCAAU,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;KAChD,CAAC;IAET,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAChE,QAAQ,EACR,SAAS,CACV,CAAC;IACF,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,OAAO;QACL,IAAI,EAAE,EAAE;QACR,IAAI;QACJ,GAAG,WAAW;KACf,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { PatchRelationshipData } from '@klerick/json-api-nestjs';
|
|
2
|
+
import { RelationKeys, ResourceObjectRelationships } from '@klerick/json-api-nestjs-shared';
|
|
3
|
+
import { TypeOrmService } from '../../service';
|
|
4
|
+
export declare function patchRelationship<E extends object, IdKey extends string, Rel extends RelationKeys<E, IdKey>>(this: TypeOrmService<E, IdKey>, id: number | string, rel: Rel, input: PatchRelationshipData): Promise<ResourceObjectRelationships<E, IdKey, Rel>>;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.patchRelationship = patchRelationship;
|
|
4
|
+
const get_relationship_1 = require("../get-relationship/get-relationship");
|
|
5
|
+
async function patchRelationship(id, rel, input) {
|
|
6
|
+
const idsResult = await this.typeormUtilsService.validateRelationInputData(rel, input);
|
|
7
|
+
const patchBuilder = this.repository
|
|
8
|
+
.createQueryBuilder()
|
|
9
|
+
.relation(rel.toString())
|
|
10
|
+
.of(id);
|
|
11
|
+
if (Array.isArray(idsResult)) {
|
|
12
|
+
const data = await get_relationship_1.getRelationship.call(this, id, rel);
|
|
13
|
+
const idsToDelete = Array.isArray(data.data)
|
|
14
|
+
? data.data.map((i) => i.id)
|
|
15
|
+
: [];
|
|
16
|
+
await patchBuilder.addAndRemove(idsResult, idsToDelete);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
await patchBuilder.set(idsResult);
|
|
20
|
+
}
|
|
21
|
+
return get_relationship_1.getRelationship.call(this, id, rel);
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=patch-relationship.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patch-relationship.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-typeorm/src/lib/orm-methods/patch-relationship/patch-relationship.ts"],"names":[],"mappings":";;AASA,8CAwCC;AA3CD,2EAAuE;AAGhE,KAAK,UAAU,iBAAiB,CAMrC,EAAmB,EACnB,GAAQ,EACR,KAA4B;IAE5B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,CACxE,GAAG,EACH,KAAK,CACN,CAAC;IAEF,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU;SACjC,kBAAkB,EAAE;SACpB,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;SACxB,EAAE,CAAC,EAAE,CAAC,CAAC;IAEV,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,kCAAe,CAAC,IAAI,CAIrC,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;QACjB,MAAM,WAAW,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;YAC1C,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC5B,CAAC,CAAC,EAAE,CAAC;QAEP,MAAM,YAAY,CAAC,YAAY,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;IAC1D,CAAC;SAAM,CAAC;QACN,MAAM,YAAY,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACpC,CAAC;IAED,OAAO,kCAAe,CAAC,IAAI,CAIzB,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { PostData } from '@klerick/json-api-nestjs';
|
|
2
|
+
import { ResourceObject } from '@klerick/json-api-nestjs-shared';
|
|
3
|
+
import { TypeOrmService } from '../../service';
|
|
4
|
+
export declare function postOne<E extends object, IdKey extends string>(this: TypeOrmService<E, IdKey>, inputData: PostData<E, IdKey>): Promise<ResourceObject<E, 'object', null, IdKey>>;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.postOne = postOne;
|
|
4
|
+
const json_api_nestjs_shared_1 = require("@klerick/json-api-nestjs-shared");
|
|
5
|
+
async function postOne(inputData) {
|
|
6
|
+
const { attributes, relationships, id } = inputData;
|
|
7
|
+
const idObject = id
|
|
8
|
+
? { [this.typeormUtilsService.currentPrimaryColumn.toString()]: id }
|
|
9
|
+
: {};
|
|
10
|
+
const attributesObject = {
|
|
11
|
+
...attributes,
|
|
12
|
+
...idObject,
|
|
13
|
+
};
|
|
14
|
+
const entityTarget = this.repository.manager.create(this.repository.target, attributesObject);
|
|
15
|
+
const saveData = await this.typeormUtilsService.saveEntityData(entityTarget, relationships);
|
|
16
|
+
const fakeQuery = {
|
|
17
|
+
[json_api_nestjs_shared_1.QueryField.fields]: null,
|
|
18
|
+
[json_api_nestjs_shared_1.QueryField.include]: Object.keys(relationships || {}),
|
|
19
|
+
};
|
|
20
|
+
const { data, included } = this.transformDataService.transformData(saveData, fakeQuery);
|
|
21
|
+
const includeData = included ? { included } : {};
|
|
22
|
+
return {
|
|
23
|
+
meta: {},
|
|
24
|
+
data,
|
|
25
|
+
...includeData,
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=post-one.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-one.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-typeorm/src/lib/orm-methods/post-one/post-one.ts"],"names":[],"mappings":";;AAMA,0BAuCC;AA5CD,4EAA6E;AAKtE,KAAK,UAAU,OAAO,CAE3B,SAA6B;IAE7B,MAAM,EAAE,UAAU,EAAE,aAAa,EAAE,EAAE,EAAE,GAAG,SAAS,CAAC;IAEpD,MAAM,QAAQ,GAAG,EAAE;QACjB,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,oBAAoB,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE;QACpE,CAAC,CAAC,EAAE,CAAC;IAEP,MAAM,gBAAgB,GAAG;QACvB,GAAG,UAAU;QACb,GAAG,QAAQ;KACM,CAAC;IAEpB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CACjD,IAAI,CAAC,UAAU,CAAC,MAAM,EACtB,gBAAgB,CACjB,CAAC;IAEF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,cAAc,CAC5D,YAAY,EACZ,aAAa,CACd,CAAC;IACF,MAAM,SAAS,GAAoB;QACjC,CAAC,mCAAU,CAAC,MAAM,CAAC,EAAE,IAAI;QACzB,CAAC,mCAAU,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,aAAa,IAAI,EAAE,CAAC;KAChD,CAAC;IAET,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC,oBAAoB,CAAC,aAAa,CAChE,QAAQ,EACR,SAAS,CACV,CAAC;IACF,MAAM,WAAW,GAAG,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;IACjD,OAAO;QACL,IAAI,EAAE,EAAE;QACR,IAAI;QACJ,GAAG,WAAW;KACf,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { RelationKeys, ResourceObjectRelationships } from '@klerick/json-api-nestjs-shared';
|
|
2
|
+
import { PostRelationshipData } from '@klerick/json-api-nestjs';
|
|
3
|
+
import { TypeOrmService } from '../../service';
|
|
4
|
+
export declare function postRelationship<E extends object, IdKey extends string, Rel extends RelationKeys<E, IdKey>>(this: TypeOrmService<E, IdKey>, id: number | string, rel: Rel, input: PostRelationshipData): Promise<ResourceObjectRelationships<E, IdKey, Rel>>;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.postRelationship = postRelationship;
|
|
4
|
+
const get_relationship_1 = require("../get-relationship/get-relationship");
|
|
5
|
+
async function postRelationship(id, rel, input) {
|
|
6
|
+
const idsResult = await this.typeormUtilsService.validateRelationInputData(rel, input);
|
|
7
|
+
const postBuilder = this.repository
|
|
8
|
+
.createQueryBuilder()
|
|
9
|
+
.relation(rel.toString())
|
|
10
|
+
.of(id);
|
|
11
|
+
if (Array.isArray(idsResult)) {
|
|
12
|
+
await postBuilder.add(idsResult);
|
|
13
|
+
}
|
|
14
|
+
else {
|
|
15
|
+
await postBuilder.set(idsResult);
|
|
16
|
+
}
|
|
17
|
+
return get_relationship_1.getRelationship.call(this, id, rel);
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=post-relationship.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-relationship.js","sourceRoot":"","sources":["../../../../../../../../libs/json-api/json-api-nestjs-typeorm/src/lib/orm-methods/post-relationship/post-relationship.ts"],"names":[],"mappings":";;AASA,4CA8BC;AAjCD,2EAAuE;AAGhE,KAAK,UAAU,gBAAgB,CAMpC,EAAmB,EACnB,GAAQ,EACR,KAA2B;IAE3B,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,mBAAmB,CAAC,yBAAyB,CACxE,GAAG,EACH,KAAK,CACN,CAAC;IACF,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU;SAChC,kBAAkB,EAAE;SACpB,QAAQ,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC;SACxB,EAAE,CAAC,EAAE,CAAC,CAAC;IAEV,IAAI,KAAK,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;QAC7B,MAAM,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,MAAM,WAAW,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IACnC,CAAC;IAED,OAAO,kCAAe,CAAC,IAAI,CAIzB,IAAI,EAAE,EAAE,EAAE,GAAG,CAAC,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./type-orm.service"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./typeorm-utils.service"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./type-orm-format.error.service"), exports);
|
|
7
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../../libs/json-api/json-api-nestjs-typeorm/src/lib/service/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,kEAAwC;AACxC,0EAAgD"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { ErrorFormatService } from '@klerick/json-api-nestjs';
|
|
2
|
+
import { BadRequestException, ConflictException, HttpException, NotAcceptableException } from '@nestjs/common';
|
|
3
|
+
import { EntityMetadata } from 'typeorm';
|
|
4
|
+
import { Driver } from 'typeorm/driver/Driver';
|
|
5
|
+
export declare const formErrorString: (entityMetadata: EntityMetadata, errorText: string) => string;
|
|
6
|
+
export declare const PostgresError: {
|
|
7
|
+
23502: (entityMetadata: EntityMetadata, errorText: string, detail?: string) => BadRequestException;
|
|
8
|
+
23505: (entityMetadata: EntityMetadata, errorText: string, detail?: string) => ConflictException;
|
|
9
|
+
"22P02": (entityMetadata: EntityMetadata, errorText: string, detail?: string) => BadRequestException;
|
|
10
|
+
22007: (entityMetadata: EntityMetadata, errorText: string, detail?: string) => BadRequestException;
|
|
11
|
+
22003: (entityMetadata: EntityMetadata, errorText: string, detail?: string) => BadRequestException;
|
|
12
|
+
23503: (entityMetadata: EntityMetadata, errorText: string, detail?: string) => NotAcceptableException;
|
|
13
|
+
};
|
|
14
|
+
export declare class TypeOrmFormatErrorService extends ErrorFormatService {
|
|
15
|
+
private entityManager;
|
|
16
|
+
private readonly mapProperty;
|
|
17
|
+
private _dbDriver;
|
|
18
|
+
get dbDriver(): Driver;
|
|
19
|
+
formatError(error: unknown): HttpException;
|
|
20
|
+
private prepareDataBaseError;
|
|
21
|
+
}
|