nicot 1.1.23 → 1.1.24
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/build.js +167 -0
- package/dist/index.cjs +2210 -0
- package/dist/index.cjs.map +7 -0
- package/dist/index.d.ts +0 -1
- package/dist/index.mjs +2184 -0
- package/dist/index.mjs.map +7 -0
- package/index.ts +0 -2
- package/package.json +20 -7
- package/dist/index.js +0 -25
- package/dist/index.js.map +0 -1
- package/dist/src/bases/base-restful-controller.js +0 -53
- package/dist/src/bases/base-restful-controller.js.map +0 -1
- package/dist/src/bases/id-base.js +0 -58
- package/dist/src/bases/id-base.js.map +0 -1
- package/dist/src/bases/index.js +0 -20
- package/dist/src/bases/index.js.map +0 -1
- package/dist/src/bases/page-settings.js +0 -64
- package/dist/src/bases/page-settings.js.map +0 -1
- package/dist/src/bases/time-base.js +0 -53
- package/dist/src/bases/time-base.js.map +0 -1
- package/dist/src/crud-base.js +0 -480
- package/dist/src/crud-base.js.map +0 -1
- package/dist/src/decorators/access.js +0 -24
- package/dist/src/decorators/access.js.map +0 -1
- package/dist/src/decorators/index.js +0 -21
- package/dist/src/decorators/index.js.map +0 -1
- package/dist/src/decorators/pipes.js +0 -26
- package/dist/src/decorators/pipes.js.map +0 -1
- package/dist/src/decorators/property.js +0 -191
- package/dist/src/decorators/property.js.map +0 -1
- package/dist/src/decorators/query.js +0 -67
- package/dist/src/decorators/query.js.map +0 -1
- package/dist/src/dto/cursor-pagination.js +0 -89
- package/dist/src/dto/cursor-pagination.js.map +0 -1
- package/dist/src/dto/import-entry.js +0 -45
- package/dist/src/dto/import-entry.js.map +0 -1
- package/dist/src/dto/index.js +0 -19
- package/dist/src/dto/index.js.map +0 -1
- package/dist/src/restful.js +0 -415
- package/dist/src/restful.js.map +0 -1
- package/dist/src/utility/bigint.js +0 -16
- package/dist/src/utility/bigint.js.map +0 -1
- package/dist/src/utility/cursor-pagination-utils.js +0 -252
- package/dist/src/utility/cursor-pagination-utils.js.map +0 -1
- package/dist/src/utility/filter-relations.js +0 -91
- package/dist/src/utility/filter-relations.js.map +0 -1
- package/dist/src/utility/get-typeorm-relations.js +0 -50
- package/dist/src/utility/get-typeorm-relations.js.map +0 -1
- package/dist/src/utility/index.js +0 -18
- package/dist/src/utility/index.js.map +0 -1
- package/dist/src/utility/metadata.js +0 -21
- package/dist/src/utility/metadata.js.map +0 -1
- package/dist/src/utility/omit-type-exclude.js +0 -14
- package/dist/src/utility/omit-type-exclude.js.map +0 -1
- package/dist/src/utility/query-full-text-column-options.interface.js +0 -3
- package/dist/src/utility/query-full-text-column-options.interface.js.map +0 -1
- package/dist/src/utility/query.js +0 -49
- package/dist/src/utility/query.js.map +0 -1
- package/dist/src/utility/recursive-key-of.js +0 -4
- package/dist/src/utility/recursive-key-of.js.map +0 -1
- package/dist/src/utility/relation-def.js +0 -3
- package/dist/src/utility/relation-def.js.map +0 -1
- package/dist/src/utility/rename-class.js +0 -8
- package/dist/src/utility/rename-class.js.map +0 -1
- package/dist/src/utility/subject-registry.js +0 -19
- package/dist/src/utility/subject-registry.js.map +0 -1
- package/dist/src/utility/type-transformer.js +0 -22
- package/dist/src/utility/type-transformer.js.map +0 -1
- package/dist/src/utility/unshift-order-by.js +0 -18
- package/dist/src/utility/unshift-order-by.js.map +0 -1
|
@@ -1,252 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.extractValueFromOrderByKey = extractValueFromOrderByKey;
|
|
7
|
-
exports.getPaginatedResult = getPaginatedResult;
|
|
8
|
-
const typeorm_1 = require("typeorm");
|
|
9
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
10
|
-
const superjson_1 = __importDefault(require("superjson"));
|
|
11
|
-
const filter_relations_1 = require("./filter-relations");
|
|
12
|
-
const subject_registry_1 = require("./subject-registry");
|
|
13
|
-
function getValueFromOrderBy(orderBy, reversed = false) {
|
|
14
|
-
if (reversed) {
|
|
15
|
-
const value = getValueFromOrderBy(orderBy, false);
|
|
16
|
-
return value === 'ASC' ? 'DESC' : 'ASC';
|
|
17
|
-
}
|
|
18
|
-
return typeof orderBy === 'string' ? orderBy : orderBy.order;
|
|
19
|
-
}
|
|
20
|
-
function getNullsFromOrderBy(orderBy, reversed = false) {
|
|
21
|
-
if (reversed) {
|
|
22
|
-
const value = getNullsFromOrderBy(orderBy, false);
|
|
23
|
-
return value === 'NULLS FIRST' ? 'NULLS LAST' : 'NULLS FIRST';
|
|
24
|
-
}
|
|
25
|
-
const nulls = typeof orderBy === 'string' ? undefined : orderBy.nulls;
|
|
26
|
-
if (!nulls) {
|
|
27
|
-
const value = getValueFromOrderBy(orderBy);
|
|
28
|
-
return value === 'ASC' ? 'NULLS FIRST' : 'NULLS LAST';
|
|
29
|
-
}
|
|
30
|
-
return nulls;
|
|
31
|
-
}
|
|
32
|
-
function getOperator(orderBy) {
|
|
33
|
-
const value = getValueFromOrderBy(orderBy);
|
|
34
|
-
return value === 'ASC' ? '>' : '<';
|
|
35
|
-
}
|
|
36
|
-
function getReversedTypeormOrderBy(orderBy) {
|
|
37
|
-
if (typeof orderBy === 'string') {
|
|
38
|
-
return {
|
|
39
|
-
order: orderBy === 'ASC' ? 'DESC' : 'ASC',
|
|
40
|
-
nulls: undefined,
|
|
41
|
-
};
|
|
42
|
-
}
|
|
43
|
-
return {
|
|
44
|
-
order: orderBy.order === 'ASC' ? 'DESC' : 'ASC',
|
|
45
|
-
nulls: orderBy.nulls
|
|
46
|
-
? orderBy.nulls === 'NULLS FIRST'
|
|
47
|
-
? 'NULLS LAST'
|
|
48
|
-
: 'NULLS FIRST'
|
|
49
|
-
: undefined,
|
|
50
|
-
};
|
|
51
|
-
}
|
|
52
|
-
function reverseQueryOrderBy(qb) {
|
|
53
|
-
const orderBys = getTypeormOrderBy(qb);
|
|
54
|
-
orderBys.forEach(({ key, direction }, i) => {
|
|
55
|
-
const reversed = getReversedTypeormOrderBy(direction);
|
|
56
|
-
if (i === 0) {
|
|
57
|
-
qb.orderBy(key, reversed.order, reversed.nulls);
|
|
58
|
-
}
|
|
59
|
-
else {
|
|
60
|
-
qb.addOrderBy(key, reversed.order, reversed.nulls);
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
function getTypeormOrderBy(qb) {
|
|
65
|
-
const orderBy = qb.expressionMap.allOrderBys;
|
|
66
|
-
const orderByEntrys = Object.entries(orderBy);
|
|
67
|
-
return orderByEntrys.map(([key, value]) => ({
|
|
68
|
-
key,
|
|
69
|
-
direction: value,
|
|
70
|
-
}));
|
|
71
|
-
}
|
|
72
|
-
function extractValueFromOrderByKey(obj, key, entityAliasName) {
|
|
73
|
-
const getField = (obj, key) => {
|
|
74
|
-
const value = obj[key];
|
|
75
|
-
if (value == null)
|
|
76
|
-
return value;
|
|
77
|
-
if (Array.isArray(value)) {
|
|
78
|
-
/*
|
|
79
|
-
if (!value.length) {
|
|
80
|
-
return undefined;
|
|
81
|
-
}
|
|
82
|
-
return value[value.length - 1];
|
|
83
|
-
*/
|
|
84
|
-
return undefined;
|
|
85
|
-
}
|
|
86
|
-
return value;
|
|
87
|
-
};
|
|
88
|
-
const [alias, field] = key.split('.');
|
|
89
|
-
if (alias === entityAliasName) {
|
|
90
|
-
return getField(obj, field);
|
|
91
|
-
}
|
|
92
|
-
const aliasParts = alias.split('_');
|
|
93
|
-
if (aliasParts.length === 1) {
|
|
94
|
-
const value = getField(obj, alias);
|
|
95
|
-
if (value == null)
|
|
96
|
-
return value;
|
|
97
|
-
return getField(value, field);
|
|
98
|
-
}
|
|
99
|
-
const value = getField(obj, aliasParts[0]);
|
|
100
|
-
if (!value == null)
|
|
101
|
-
return value;
|
|
102
|
-
return extractValueFromOrderByKey(value, `${aliasParts.slice(1).join('_')}.${field}`);
|
|
103
|
-
}
|
|
104
|
-
function encodeBase64Url(str) {
|
|
105
|
-
return Buffer.from(str)
|
|
106
|
-
.toString('base64')
|
|
107
|
-
.replace(/\+/g, '-')
|
|
108
|
-
.replace(/\//g, '_')
|
|
109
|
-
.replace(/=+$/, '');
|
|
110
|
-
}
|
|
111
|
-
function decodeBase64Url(str) {
|
|
112
|
-
str = str.replace(/-/g, '+').replace(/_/g, '/');
|
|
113
|
-
while (str.length % 4)
|
|
114
|
-
str += '=';
|
|
115
|
-
return Buffer.from(str, 'base64').toString();
|
|
116
|
-
}
|
|
117
|
-
async function getPaginatedResult(qb, entityClass, entityAliasName, take, cursor) {
|
|
118
|
-
const orderBys = getTypeormOrderBy(qb);
|
|
119
|
-
qb.take(take + 1);
|
|
120
|
-
let type = 'next';
|
|
121
|
-
if (cursor) {
|
|
122
|
-
// cursor is base64url encoded string
|
|
123
|
-
const data = superjson_1.default.parse(decodeBase64Url(cursor));
|
|
124
|
-
type = data.type;
|
|
125
|
-
const keys = Object.keys(data.payload).filter((k) => qb.expressionMap.orderBys[k]);
|
|
126
|
-
if (keys.length) {
|
|
127
|
-
const staircasedKeys = keys.map((key, i) => lodash_1.default.range(i + 1).map((j) => keys[j]));
|
|
128
|
-
const cursorKey = (key) => `_cursor_${key.replace(/\./g, '__').replace(/"/g, '')}`;
|
|
129
|
-
const expressionMatrix = staircasedKeys
|
|
130
|
-
.map((keys) => keys.map((key, j) => {
|
|
131
|
-
const paramKey = cursorKey(key);
|
|
132
|
-
const cursorValue = data.payload[key];
|
|
133
|
-
const orderBy = qb.expressionMap.orderBys[key];
|
|
134
|
-
const reversed = data.type === 'prev';
|
|
135
|
-
const order = getValueFromOrderBy(orderBy, reversed); // 'ASC' or 'DESC'
|
|
136
|
-
const nulls = getNullsFromOrderBy(orderBy, reversed); // 'NULLS FIRST' or 'NULLS LAST' or undefined
|
|
137
|
-
const isLast = j === keys.length - 1;
|
|
138
|
-
const subject = key.includes('"')
|
|
139
|
-
? (0, subject_registry_1.getSubject)(qb, key.replace(/"/g, ''))
|
|
140
|
-
: key;
|
|
141
|
-
const mayBeNullAtEnd = () => {
|
|
142
|
-
const res = (nulls === 'NULLS LAST' && order === 'ASC') ||
|
|
143
|
-
(nulls === 'NULLS FIRST' && order === 'DESC');
|
|
144
|
-
if (reversed) {
|
|
145
|
-
return !res;
|
|
146
|
-
}
|
|
147
|
-
return res;
|
|
148
|
-
};
|
|
149
|
-
if (cursorValue == null) {
|
|
150
|
-
if (isLast) {
|
|
151
|
-
if (mayBeNullAtEnd()) {
|
|
152
|
-
return '__never__';
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
return `${subject} IS NOT NULL`;
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
else {
|
|
159
|
-
// 中间字段,如果是null,就比较 IS NULL
|
|
160
|
-
return `${subject} IS NULL`;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
else {
|
|
164
|
-
if (isLast) {
|
|
165
|
-
const expr = `${subject} ${getOperator(order)} :${paramKey}`;
|
|
166
|
-
if (mayBeNullAtEnd() &&
|
|
167
|
-
(0, filter_relations_1.queryColumnOptionsFromAlias)(qb, entityClass, entityAliasName, key)?.column?.isNullable) {
|
|
168
|
-
return `(${expr} OR ${subject} IS NULL)`;
|
|
169
|
-
}
|
|
170
|
-
return expr;
|
|
171
|
-
}
|
|
172
|
-
else {
|
|
173
|
-
return `${subject} = :${paramKey}`;
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}))
|
|
177
|
-
.filter((s) => !s.includes('__never__'));
|
|
178
|
-
if (expressionMatrix.length) {
|
|
179
|
-
qb.andWhere(new typeorm_1.Brackets((sqb) => {
|
|
180
|
-
const levelToBrackets = (level) => new typeorm_1.Brackets((qb) => {
|
|
181
|
-
level.forEach((expr, i) => {
|
|
182
|
-
if (i === 0) {
|
|
183
|
-
qb.where(expr);
|
|
184
|
-
}
|
|
185
|
-
else {
|
|
186
|
-
qb.andWhere(expr);
|
|
187
|
-
}
|
|
188
|
-
});
|
|
189
|
-
});
|
|
190
|
-
const [first, ...rest] = expressionMatrix;
|
|
191
|
-
sqb.where(levelToBrackets(first));
|
|
192
|
-
rest.forEach((level) => sqb.orWhere(levelToBrackets(level)));
|
|
193
|
-
})).setParameters(Object.fromEntries(Object.entries(data.payload)
|
|
194
|
-
.filter(([k, v]) => qb.expressionMap.orderBys[k] && v != null)
|
|
195
|
-
.map(([k, v]) => [cursorKey(k), v])));
|
|
196
|
-
}
|
|
197
|
-
}
|
|
198
|
-
if (data.type === 'prev') {
|
|
199
|
-
reverseQueryOrderBy(qb);
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
const { raw, entities: data } = await qb.getRawAndEntities();
|
|
203
|
-
const rawMapById = new Map();
|
|
204
|
-
const getRawFromEntity = (entity) => {
|
|
205
|
-
const isNumberId = typeof entity.id === 'number';
|
|
206
|
-
const id = entity.id;
|
|
207
|
-
if (rawMapById.has(id)) {
|
|
208
|
-
return rawMapById.get(id);
|
|
209
|
-
}
|
|
210
|
-
return raw.find((r) => {
|
|
211
|
-
let id = r[`${entityAliasName}_id`];
|
|
212
|
-
if (isNumberId) {
|
|
213
|
-
id = Number(id);
|
|
214
|
-
if (isNaN(id))
|
|
215
|
-
return false;
|
|
216
|
-
}
|
|
217
|
-
if (id == null)
|
|
218
|
-
return false;
|
|
219
|
-
rawMapById[id] = r;
|
|
220
|
-
return id === entity.id;
|
|
221
|
-
});
|
|
222
|
-
};
|
|
223
|
-
const enough = data.length > take;
|
|
224
|
-
const hasNext = enough || type === 'prev';
|
|
225
|
-
const hasPrev = cursor && (enough || type === 'next');
|
|
226
|
-
if (enough) {
|
|
227
|
-
data.pop();
|
|
228
|
-
}
|
|
229
|
-
if (type === 'prev') {
|
|
230
|
-
data.reverse();
|
|
231
|
-
}
|
|
232
|
-
const generateCursor = (type, data) => {
|
|
233
|
-
const targetObject = type === 'prev' ? data[0] : data[data.length - 1];
|
|
234
|
-
const payload = Object.fromEntries(orderBys
|
|
235
|
-
.map(({ key }) => {
|
|
236
|
-
const value = !key.includes('.') || key.includes('"')
|
|
237
|
-
? getRawFromEntity(targetObject)?.[key.replace(/"/g, '')]
|
|
238
|
-
: extractValueFromOrderByKey(targetObject, key, entityAliasName);
|
|
239
|
-
return [key, value];
|
|
240
|
-
})
|
|
241
|
-
.filter((s) => s[1] !== undefined));
|
|
242
|
-
return encodeBase64Url(superjson_1.default.stringify({ type, payload }));
|
|
243
|
-
};
|
|
244
|
-
return {
|
|
245
|
-
data,
|
|
246
|
-
paginatedResult: {
|
|
247
|
-
nextCursor: hasNext ? generateCursor('next', data) : undefined,
|
|
248
|
-
previousCursor: hasPrev ? generateCursor('prev', data) : undefined,
|
|
249
|
-
},
|
|
250
|
-
};
|
|
251
|
-
}
|
|
252
|
-
//# sourceMappingURL=cursor-pagination-utils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cursor-pagination-utils.js","sourceRoot":"","sources":["../../../src/utility/cursor-pagination-utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,91 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.queryColumnOptionsFromAlias = exports.filterAliases = exports.filterRelations = exports.extractRelationName = void 0;
|
|
4
|
-
const get_typeorm_relations_1 = require("./get-typeorm-relations");
|
|
5
|
-
const extractRelationName = (relation) => {
|
|
6
|
-
if (typeof relation === 'string') {
|
|
7
|
-
return relation;
|
|
8
|
-
}
|
|
9
|
-
else {
|
|
10
|
-
return relation.name;
|
|
11
|
-
}
|
|
12
|
-
};
|
|
13
|
-
exports.extractRelationName = extractRelationName;
|
|
14
|
-
const typeormRelationsCache = new Map();
|
|
15
|
-
const fetchTypeormRelations = (cl) => {
|
|
16
|
-
if (typeormRelationsCache.has(cl)) {
|
|
17
|
-
return typeormRelationsCache.get(cl);
|
|
18
|
-
}
|
|
19
|
-
const relations = (0, get_typeorm_relations_1.getTypeormRelations)(cl);
|
|
20
|
-
const map = Object.fromEntries(relations.map((r) => [r.propertyName, r]));
|
|
21
|
-
typeormRelationsCache.set(cl, map);
|
|
22
|
-
return map;
|
|
23
|
-
};
|
|
24
|
-
const filterRelations = (cl, relations, cond = () => true) => {
|
|
25
|
-
return (relations?.filter((r) => {
|
|
26
|
-
const relationName = (0, exports.extractRelationName)(r);
|
|
27
|
-
const checkLevel = (entityClass, name) => {
|
|
28
|
-
const [currentLevel, ...nextLevel] = name.split('.');
|
|
29
|
-
const relation = fetchTypeormRelations(entityClass)?.[currentLevel];
|
|
30
|
-
if (!relation) {
|
|
31
|
-
throw new Error(`Relation ${currentLevel} not found in ${entityClass.name} (Reading ${relationName} in ${cl.name})`);
|
|
32
|
-
}
|
|
33
|
-
if (relation.computed)
|
|
34
|
-
return false;
|
|
35
|
-
if (!nextLevel.length)
|
|
36
|
-
return true;
|
|
37
|
-
return checkLevel(relation.propertyClass, nextLevel.join('.'));
|
|
38
|
-
};
|
|
39
|
-
return checkLevel(cl, relationName);
|
|
40
|
-
}) || []);
|
|
41
|
-
};
|
|
42
|
-
exports.filterRelations = filterRelations;
|
|
43
|
-
const filterAliases = (cl, rootAlias, aliases, cond = () => true) => {
|
|
44
|
-
return (aliases?.filter((alias) => {
|
|
45
|
-
const [field, key] = alias.split('.');
|
|
46
|
-
if (!key || field === rootAlias) {
|
|
47
|
-
return cond(undefined, field, key);
|
|
48
|
-
}
|
|
49
|
-
const relationLevels = [...field.split('_'), key];
|
|
50
|
-
let currentClass = cl;
|
|
51
|
-
for (let i = 0; i < relationLevels.length; i++) {
|
|
52
|
-
const f = relationLevels[i];
|
|
53
|
-
const k = relationLevels[i + 1];
|
|
54
|
-
const relation = fetchTypeormRelations(currentClass)?.[f];
|
|
55
|
-
if (!cond(relation, f, k))
|
|
56
|
-
return false;
|
|
57
|
-
currentClass = relation.propertyClass;
|
|
58
|
-
}
|
|
59
|
-
return true;
|
|
60
|
-
}) || []);
|
|
61
|
-
};
|
|
62
|
-
exports.filterAliases = filterAliases;
|
|
63
|
-
const queryColumnOptionsFromAlias = (qb, cl, rootAlias, alias) => {
|
|
64
|
-
const [field, key] = alias.split('.');
|
|
65
|
-
if (field === rootAlias) {
|
|
66
|
-
return {
|
|
67
|
-
relations: [],
|
|
68
|
-
column: qb.connection.getMetadata(cl)?.findColumnWithPropertyName(key),
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
const relationLevels = field.split('_');
|
|
72
|
-
let currentClass = cl;
|
|
73
|
-
const relations = [];
|
|
74
|
-
while (relationLevels.length) {
|
|
75
|
-
const f = relationLevels.shift();
|
|
76
|
-
const relation = fetchTypeormRelations(currentClass)?.[f];
|
|
77
|
-
if (!relation || relation.computed) {
|
|
78
|
-
return;
|
|
79
|
-
}
|
|
80
|
-
relations.push(relation);
|
|
81
|
-
currentClass = relation.propertyClass;
|
|
82
|
-
}
|
|
83
|
-
return {
|
|
84
|
-
relations,
|
|
85
|
-
column: qb.connection
|
|
86
|
-
.getMetadata(currentClass)
|
|
87
|
-
?.findColumnWithPropertyName(key),
|
|
88
|
-
};
|
|
89
|
-
};
|
|
90
|
-
exports.queryColumnOptionsFromAlias = queryColumnOptionsFromAlias;
|
|
91
|
-
//# sourceMappingURL=filter-relations.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"filter-relations.js","sourceRoot":"","sources":["../../../src/utility/filter-relations.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.getTypeormRelations = getTypeormRelations;
|
|
7
|
-
exports.getTypeormRelationsMap = getTypeormRelationsMap;
|
|
8
|
-
const typeorm_1 = require("typeorm");
|
|
9
|
-
const metadata_1 = require("./metadata");
|
|
10
|
-
const lodash_1 = __importDefault(require("lodash"));
|
|
11
|
-
function getTypeormRelations(cl) {
|
|
12
|
-
const relations = (0, typeorm_1.getMetadataArgsStorage)().relations.filter((r) => r.target === cl);
|
|
13
|
-
const typeormRelations = relations.map((relation) => {
|
|
14
|
-
const isArray = relation.relationType.endsWith('-many');
|
|
15
|
-
const relationClassFactory = relation.type;
|
|
16
|
-
// check if it's a callable function
|
|
17
|
-
let propertyClass;
|
|
18
|
-
if (typeof relationClassFactory === 'function') {
|
|
19
|
-
const relationClass = relationClassFactory();
|
|
20
|
-
if (typeof relationClass === 'function') {
|
|
21
|
-
propertyClass = relationClass;
|
|
22
|
-
}
|
|
23
|
-
}
|
|
24
|
-
if (!propertyClass) {
|
|
25
|
-
propertyClass = Reflect.getMetadata('design:type', cl.prototype, relation.propertyName);
|
|
26
|
-
}
|
|
27
|
-
return {
|
|
28
|
-
isArray,
|
|
29
|
-
propertyClass,
|
|
30
|
-
propertyName: relation.propertyName,
|
|
31
|
-
computed: false,
|
|
32
|
-
};
|
|
33
|
-
});
|
|
34
|
-
const computedRelations = (0, metadata_1.getSpecificFields)(cl, 'relationComputed').map((field) => {
|
|
35
|
-
const meta = metadata_1.reflector.get('relationComputed', cl, field);
|
|
36
|
-
const res = meta();
|
|
37
|
-
return {
|
|
38
|
-
isArray: res.isArray,
|
|
39
|
-
propertyClass: res.entityClass,
|
|
40
|
-
propertyName: field,
|
|
41
|
-
computed: true,
|
|
42
|
-
};
|
|
43
|
-
});
|
|
44
|
-
return lodash_1.default.uniqBy([...typeormRelations, ...computedRelations], // Merge typeorm relations and computed relations
|
|
45
|
-
(r) => r.propertyName);
|
|
46
|
-
}
|
|
47
|
-
function getTypeormRelationsMap(cl) {
|
|
48
|
-
return Object.fromEntries(getTypeormRelations(cl).map((r) => [r.propertyName, r]));
|
|
49
|
-
}
|
|
50
|
-
//# sourceMappingURL=get-typeorm-relations.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"get-typeorm-relations.js","sourceRoot":"","sources":["../../../src/utility/get-typeorm-relations.ts"],"names":[],"mappings":";;;;;AAYA,kDA+CC;AAED,wDAMC;AAlED,qCAAiD;AACjD,yCAA0D;AAC1D,oDAAuB;AASvB,SAAgB,mBAAmB,CAAI,EAAgB;IACrD,MAAM,SAAS,GAAG,IAAA,gCAAsB,GAAE,CAAC,SAAS,CAAC,MAAM,CACzD,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,EAAE,CACvB,CAAC;IAEF,MAAM,gBAAgB,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE;QAClD,MAAM,OAAO,GAAG,QAAQ,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxD,MAAM,oBAAoB,GAAG,QAAQ,CAAC,IAAI,CAAC;QAC3C,oCAAoC;QACpC,IAAI,aAAuB,CAAC;QAC5B,IAAI,OAAO,oBAAoB,KAAK,UAAU,EAAE,CAAC;YAC/C,MAAM,aAAa,GAAI,oBAAuC,EAAE,CAAC;YACjE,IAAI,OAAO,aAAa,KAAK,UAAU,EAAE,CAAC;gBACxC,aAAa,GAAG,aAAa,CAAC;YAChC,CAAC;QACH,CAAC;QACD,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,aAAa,GAAG,OAAO,CAAC,WAAW,CACjC,aAAa,EACb,EAAE,CAAC,SAAS,EACZ,QAAQ,CAAC,YAAY,CACtB,CAAC;QACJ,CAAC;QACD,OAAO;YACL,OAAO;YACP,aAAa;YACb,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,QAAQ,EAAE,KAAK;SAChB,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,MAAM,iBAAiB,GAAG,IAAA,4BAAiB,EAAC,EAAE,EAAE,kBAAkB,CAAC,CAAC,GAAG,CACrE,CAAC,KAAK,EAAE,EAAE;QACR,MAAM,IAAI,GAAG,oBAAS,CAAC,GAAG,CAAC,kBAAkB,EAAE,EAAE,EAAE,KAAK,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,IAAI,EAAE,CAAC;QACnB,OAAO;YACL,OAAO,EAAE,GAAG,CAAC,OAAO;YACpB,aAAa,EAAE,GAAG,CAAC,WAAW;YAC9B,YAAY,EAAE,KAAK;YACnB,QAAQ,EAAE,IAAI;SACf,CAAC;IACJ,CAAC,CACF,CAAC;IACF,OAAO,gBAAC,CAAC,MAAM,CACb,CAAC,GAAG,gBAAgB,EAAE,GAAG,iBAAiB,CAAC,EAAE,iDAAiD;IAC9F,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,YAAY,CACtB,CAAC;AACJ,CAAC;AAED,SAAgB,sBAAsB,CAAI,EAAgB;IACxD,OAAO,MAAM,CAAC,WAAW,CACvB,mBAAmB,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,CAGxD,CAAC;AACJ,CAAC"}
|
|
@@ -1,18 +0,0 @@
|
|
|
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("./query"), exports);
|
|
18
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utility/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB"}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.reflector = exports.Metadata = void 0;
|
|
4
|
-
exports.getSpecificFields = getSpecificFields;
|
|
5
|
-
exports.getNotInResultFields = getNotInResultFields;
|
|
6
|
-
const typed_reflector_1 = require("typed-reflector");
|
|
7
|
-
exports.Metadata = new typed_reflector_1.MetadataSetter();
|
|
8
|
-
exports.reflector = new typed_reflector_1.Reflector();
|
|
9
|
-
function getSpecificFields(obj, type, filter = () => true) {
|
|
10
|
-
return exports.reflector.getArray(`${type}Fields`, obj).filter((field) => {
|
|
11
|
-
const value = exports.reflector.get(type, obj, field);
|
|
12
|
-
if (value == null) {
|
|
13
|
-
return false;
|
|
14
|
-
}
|
|
15
|
-
return filter(value, obj);
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
function getNotInResultFields(obj, keepEntityVersioningDates = false) {
|
|
19
|
-
return getSpecificFields(obj, 'notInResult', (meta) => !keepEntityVersioningDates || !meta.entityVersioningDate);
|
|
20
|
-
}
|
|
21
|
-
//# sourceMappingURL=metadata.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"metadata.js","sourceRoot":"","sources":["../../../src/utility/metadata.ts"],"names":[],"mappings":";;;AA4BA,8CAYC;AAED,oDASC;AAnDD,qDAA4D;AAyB/C,QAAA,QAAQ,GAAG,IAAI,gCAAc,EAAiC,CAAC;AAC/D,QAAA,SAAS,GAAG,IAAI,2BAAS,EAAiC,CAAC;AAExE,SAAgB,iBAAiB,CAC/B,GAAQ,EACR,IAAO,EACP,SAAyD,GAAG,EAAE,CAAC,IAAI;IAEnE,OAAO,iBAAS,CAAC,QAAQ,CAAC,GAAG,IAAI,QAAQ,EAAE,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;QAC/D,MAAM,KAAK,GAAG,iBAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;QAC9C,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,KAAK,CAAC;QACf,CAAC;QACD,OAAO,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;IAC5B,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAgB,oBAAoB,CAClC,GAAQ,EACR,yBAAyB,GAAG,KAAK;IAEjC,OAAO,iBAAiB,CACtB,GAAG,EACH,aAAa,EACb,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,yBAAyB,IAAI,CAAC,IAAI,CAAC,oBAAoB,CACnE,CAAC;AACJ,CAAC"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.OmitTypeExclude = void 0;
|
|
4
|
-
const swagger_1 = require("@nestjs/swagger");
|
|
5
|
-
const class_transformer_1 = require("class-transformer");
|
|
6
|
-
const OmitTypeExclude = (cl, keys) => {
|
|
7
|
-
const omitted = (0, swagger_1.OmitType)(cl, keys);
|
|
8
|
-
for (const key of keys) {
|
|
9
|
-
(0, class_transformer_1.Exclude)()(omitted.prototype, key);
|
|
10
|
-
}
|
|
11
|
-
return omitted;
|
|
12
|
-
};
|
|
13
|
-
exports.OmitTypeExclude = OmitTypeExclude;
|
|
14
|
-
//# sourceMappingURL=omit-type-exclude.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"omit-type-exclude.js","sourceRoot":"","sources":["../../../src/utility/omit-type-exclude.ts"],"names":[],"mappings":";;;AAAA,6CAA2C;AAC3C,yDAA4C;AAGrC,MAAM,eAAe,GAAG,CAC7B,EAAgB,EAChB,IAAkB,EAClB,EAAE;IACF,MAAM,OAAO,GAAG,IAAA,kBAAQ,EAAC,EAAE,EAAE,IAAI,CAAC,CAAC;IACnC,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,IAAA,2BAAO,GAAE,CAAC,OAAO,CAAC,SAAS,EAAE,GAAU,CAAC,CAAC;IAC3C,CAAC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AATW,QAAA,eAAe,mBAS1B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query-full-text-column-options.interface.js","sourceRoot":"","sources":["../../../src/utility/query-full-text-column-options.interface.ts"],"names":[],"mappings":""}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.applyQueryMatchBoolean = exports.applyQueryPropertyZeroNullable = exports.applyQueryPropertySearch = exports.applyQueryPropertyLike = exports.applyQueryProperty = void 0;
|
|
4
|
-
exports.createQueryCondition = createQueryCondition;
|
|
5
|
-
function createQueryCondition(cond) {
|
|
6
|
-
return (obj, qb, entityName, ...fields) => {
|
|
7
|
-
for (const field of fields) {
|
|
8
|
-
if (obj[field] == null) {
|
|
9
|
-
continue;
|
|
10
|
-
}
|
|
11
|
-
const ret = cond(obj, qb, entityName, field);
|
|
12
|
-
if (typeof ret === 'string') {
|
|
13
|
-
qb.andWhere(ret);
|
|
14
|
-
}
|
|
15
|
-
else if (typeof ret === 'object' && typeof ret['query'] === 'string') {
|
|
16
|
-
const _ret = ret;
|
|
17
|
-
qb.andWhere(_ret.query, _ret.params);
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
return qb;
|
|
21
|
-
};
|
|
22
|
-
}
|
|
23
|
-
exports.applyQueryProperty = createQueryCondition((obj, qb, entityName, field) => qb.andWhere(`${entityName}.${field} = :${field}`, { [field]: obj[field] }));
|
|
24
|
-
exports.applyQueryPropertyLike = createQueryCondition((obj, qb, entityName, field) => qb.andWhere(`${entityName}.${field} like (:${field} || '%')`, {
|
|
25
|
-
[field]: obj[field],
|
|
26
|
-
}));
|
|
27
|
-
exports.applyQueryPropertySearch = createQueryCondition((obj, qb, entityName, field) => qb.andWhere(`${entityName}.${field} like ('%' || :${field} || '%')`, {
|
|
28
|
-
[field]: obj[field],
|
|
29
|
-
}));
|
|
30
|
-
exports.applyQueryPropertyZeroNullable = createQueryCondition((obj, qb, entityName, field) => {
|
|
31
|
-
if ([0, '0'].indexOf(obj[field]) !== -1) {
|
|
32
|
-
qb.andWhere(`${entityName}.${field} IS NULL`);
|
|
33
|
-
}
|
|
34
|
-
else {
|
|
35
|
-
qb.andWhere(`${entityName}.${field} = :${field}`, {
|
|
36
|
-
[field]: obj[field],
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
exports.applyQueryMatchBoolean = createQueryCondition((obj, qb, entityName, field) => {
|
|
41
|
-
const value = obj[field];
|
|
42
|
-
if (value === true || value === 'true' || value === 1 || value === '1') {
|
|
43
|
-
qb.andWhere(`${entityName}.${field} = TRUE`);
|
|
44
|
-
}
|
|
45
|
-
if (value === false || value === 'false' || value === 0 || value === '0') {
|
|
46
|
-
qb.andWhere(`${entityName}.${field} = FALSE`);
|
|
47
|
-
}
|
|
48
|
-
});
|
|
49
|
-
//# sourceMappingURL=query.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"query.js","sourceRoot":"","sources":["../../../src/utility/query.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"recursive-key-of.js","sourceRoot":"","sources":["../../../src/utility/recursive-key-of.ts"],"names":[],"mappings":";AAAA,iDAAiD"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"relation-def.js","sourceRoot":"","sources":["../../../src/utility/relation-def.ts"],"names":[],"mappings":""}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.RenameClass = RenameClass;
|
|
4
|
-
function RenameClass(cls, name) {
|
|
5
|
-
Object.defineProperty(cls, 'name', { value: name });
|
|
6
|
-
return cls;
|
|
7
|
-
}
|
|
8
|
-
//# sourceMappingURL=rename-class.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rename-class.js","sourceRoot":"","sources":["../../../src/utility/rename-class.ts"],"names":[],"mappings":";;AAAA,kCAGC;AAHD,SAAgB,WAAW,CAAI,GAAM,EAAE,IAAY;IACjD,MAAM,CAAC,cAAc,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACpD,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getSubject = exports.addSubject = void 0;
|
|
4
|
-
const subjectRegistry = new WeakMap();
|
|
5
|
-
const addSubject = (qb, select, alias) => {
|
|
6
|
-
let subjects = subjectRegistry.get(qb);
|
|
7
|
-
if (!subjects) {
|
|
8
|
-
subjects = {};
|
|
9
|
-
subjectRegistry.set(qb, subjects);
|
|
10
|
-
}
|
|
11
|
-
subjects[alias] = select;
|
|
12
|
-
return qb.addSelect(select, alias);
|
|
13
|
-
};
|
|
14
|
-
exports.addSubject = addSubject;
|
|
15
|
-
const getSubject = (qb, alias) => {
|
|
16
|
-
return subjectRegistry.get(qb)?.[alias];
|
|
17
|
-
};
|
|
18
|
-
exports.getSubject = getSubject;
|
|
19
|
-
//# sourceMappingURL=subject-registry.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"subject-registry.js","sourceRoot":"","sources":["../../../src/utility/subject-registry.ts"],"names":[],"mappings":";;;AAEA,MAAM,eAAe,GAAG,IAAI,OAAO,EAGhC,CAAC;AAEG,MAAM,UAAU,GAAG,CACxB,EAAyB,EACzB,MAAc,EACd,KAAa,EACb,EAAE;IACF,IAAI,QAAQ,GAAG,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IACvC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,QAAQ,GAAG,EAAE,CAAC;QACd,eAAe,CAAC,GAAG,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACpC,CAAC;IACD,QAAQ,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;IACzB,OAAO,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC,CAAC;AAZW,QAAA,UAAU,cAYrB;AAEK,MAAM,UAAU,GAAG,CACxB,EAAyB,EACzB,KAAa,EACO,EAAE;IACtB,OAAO,eAAe,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;AAC1C,CAAC,CAAC;AALW,QAAA,UAAU,cAKrB"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.TypeTransformer = void 0;
|
|
4
|
-
class TypeTransformer {
|
|
5
|
-
constructor(definition) {
|
|
6
|
-
this.definition = definition;
|
|
7
|
-
}
|
|
8
|
-
from(dbValue) {
|
|
9
|
-
if (!dbValue) {
|
|
10
|
-
return dbValue;
|
|
11
|
-
}
|
|
12
|
-
if (Array.isArray(this.definition)) {
|
|
13
|
-
return dbValue.map((value) => Object.assign(new this.definition[0](), value));
|
|
14
|
-
}
|
|
15
|
-
return Object.assign(new this.definition(), dbValue);
|
|
16
|
-
}
|
|
17
|
-
to(entValue) {
|
|
18
|
-
return entValue;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
exports.TypeTransformer = TypeTransformer;
|
|
22
|
-
//# sourceMappingURL=type-transformer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"type-transformer.js","sourceRoot":"","sources":["../../../src/utility/type-transformer.ts"],"names":[],"mappings":";;;AAGA,MAAa,eAAe;IAC1B,YAAoB,UAAwB;QAAxB,eAAU,GAAV,UAAU,CAAc;IAAG,CAAC;IAEhD,IAAI,CAAC,OAAO;QACV,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,OAAO,CAAC;QACjB,CAAC;QACD,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACnC,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAC3B,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,KAAK,CAAC,CAC/C,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;IACD,EAAE,CAAC,QAAQ;QACT,OAAO,QAAQ,CAAC;IAClB,CAAC;CACF;AAjBD,0CAiBC"}
|