@joktec/mysql 0.2.12 → 0.2.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +211 -81
- package/dist/__tests__/mysql.column.decorator.spec.d.ts +2 -0
- package/dist/__tests__/mysql.column.decorator.spec.d.ts.map +1 -0
- package/dist/__tests__/mysql.column.decorator.spec.js +60 -0
- package/dist/__tests__/mysql.column.decorator.spec.js.map +1 -0
- package/dist/__tests__/mysql.dialect.spec.d.ts +2 -0
- package/dist/__tests__/mysql.dialect.spec.d.ts.map +1 -0
- package/dist/__tests__/mysql.dialect.spec.js +28 -0
- package/dist/__tests__/mysql.dialect.spec.js.map +1 -0
- package/dist/__tests__/mysql.exception.spec.d.ts +2 -0
- package/dist/__tests__/mysql.exception.spec.d.ts.map +1 -0
- package/dist/__tests__/mysql.exception.spec.js +42 -0
- package/dist/__tests__/mysql.exception.spec.js.map +1 -0
- package/dist/__tests__/mysql.helper.spec.d.ts +2 -0
- package/dist/__tests__/mysql.helper.spec.d.ts.map +1 -0
- package/dist/__tests__/mysql.helper.spec.js +80 -0
- package/dist/__tests__/mysql.helper.spec.js.map +1 -0
- package/dist/__tests__/mysql.module.integration.spec.d.ts +2 -0
- package/dist/__tests__/mysql.module.integration.spec.d.ts.map +1 -0
- package/dist/__tests__/mysql.module.integration.spec.js +67 -0
- package/dist/__tests__/mysql.module.integration.spec.js.map +1 -0
- package/dist/__tests__/mysql.repo.cursor.spec.d.ts +2 -0
- package/dist/__tests__/mysql.repo.cursor.spec.d.ts.map +1 -0
- package/dist/__tests__/mysql.repo.cursor.spec.js +146 -0
- package/dist/__tests__/mysql.repo.cursor.spec.js.map +1 -0
- package/dist/__tests__/mysql.service.spec.d.ts +2 -0
- package/dist/__tests__/mysql.service.spec.d.ts.map +1 -0
- package/dist/__tests__/mysql.service.spec.js +70 -0
- package/dist/__tests__/mysql.service.spec.js.map +1 -0
- package/dist/__tests__/mysql.utils.spec.d.ts +2 -0
- package/dist/__tests__/mysql.utils.spec.d.ts.map +1 -0
- package/dist/__tests__/mysql.utils.spec.js +21 -0
- package/dist/__tests__/mysql.utils.spec.js.map +1 -0
- package/dist/decorators/column.decorator.d.ts +11 -0
- package/dist/decorators/column.decorator.d.ts.map +1 -0
- package/dist/decorators/column.decorator.js +35 -0
- package/dist/decorators/column.decorator.js.map +1 -0
- package/dist/decorators/columns/array.column.d.ts +2 -0
- package/dist/decorators/columns/array.column.d.ts.map +1 -0
- package/dist/decorators/columns/array.column.js +8 -0
- package/dist/decorators/columns/array.column.js.map +1 -0
- package/dist/decorators/columns/bool.column.d.ts +2 -0
- package/dist/decorators/columns/bool.column.d.ts.map +1 -0
- package/dist/decorators/columns/bool.column.js +8 -0
- package/dist/decorators/columns/bool.column.js.map +1 -0
- package/dist/decorators/columns/column.factory.d.ts +5 -0
- package/dist/decorators/columns/column.factory.d.ts.map +1 -0
- package/dist/decorators/columns/column.factory.js +40 -0
- package/dist/decorators/columns/column.factory.js.map +1 -0
- package/dist/decorators/columns/column.type.d.ts +33 -0
- package/dist/decorators/columns/column.type.d.ts.map +1 -0
- package/dist/decorators/columns/column.type.js +3 -0
- package/dist/decorators/columns/column.type.js.map +1 -0
- package/dist/decorators/columns/column.util.d.ts +15 -0
- package/dist/decorators/columns/column.util.d.ts.map +1 -0
- package/dist/decorators/columns/column.util.js +82 -0
- package/dist/decorators/columns/column.util.js.map +1 -0
- package/dist/decorators/columns/date.column.d.ts +2 -0
- package/dist/decorators/columns/date.column.d.ts.map +1 -0
- package/dist/decorators/columns/date.column.js +8 -0
- package/dist/decorators/columns/date.column.js.map +1 -0
- package/dist/decorators/columns/enum.column.d.ts +3 -0
- package/dist/decorators/columns/enum.column.d.ts.map +1 -0
- package/dist/decorators/columns/enum.column.js +8 -0
- package/dist/decorators/columns/enum.column.js.map +1 -0
- package/dist/decorators/columns/index.d.ts +14 -0
- package/dist/decorators/columns/index.d.ts.map +1 -0
- package/dist/decorators/columns/index.js +30 -0
- package/dist/decorators/columns/index.js.map +1 -0
- package/dist/decorators/columns/nested.column.d.ts +4 -0
- package/dist/decorators/columns/nested.column.d.ts.map +1 -0
- package/dist/decorators/columns/nested.column.js +12 -0
- package/dist/decorators/columns/nested.column.js.map +1 -0
- package/dist/decorators/columns/number.column.d.ts +3 -0
- package/dist/decorators/columns/number.column.d.ts.map +1 -0
- package/dist/decorators/columns/number.column.js +15 -0
- package/dist/decorators/columns/number.column.js.map +1 -0
- package/dist/decorators/columns/primary.column.d.ts +3 -0
- package/dist/decorators/columns/primary.column.d.ts.map +1 -0
- package/dist/decorators/columns/primary.column.js +48 -0
- package/dist/decorators/columns/primary.column.js.map +1 -0
- package/dist/decorators/columns/string.column.d.ts +3 -0
- package/dist/decorators/columns/string.column.d.ts.map +1 -0
- package/dist/decorators/columns/string.column.js +25 -0
- package/dist/decorators/columns/string.column.js.map +1 -0
- package/dist/decorators/columns/swagger.column.d.ts +4 -0
- package/dist/decorators/columns/swagger.column.d.ts.map +1 -0
- package/dist/decorators/columns/swagger.column.js +40 -0
- package/dist/decorators/columns/swagger.column.js.map +1 -0
- package/dist/decorators/columns/transform.column.d.ts +4 -0
- package/dist/decorators/columns/transform.column.d.ts.map +1 -0
- package/dist/decorators/columns/transform.column.js +15 -0
- package/dist/decorators/columns/transform.column.js.map +1 -0
- package/dist/decorators/index.d.ts +1 -0
- package/dist/decorators/index.d.ts.map +1 -1
- package/dist/decorators/index.js +1 -0
- package/dist/decorators/index.js.map +1 -1
- package/dist/decorators/table.decorator.d.ts.map +1 -1
- package/dist/decorators/table.decorator.js +18 -12
- package/dist/decorators/table.decorator.js.map +1 -1
- package/dist/helpers/mysql.finder.d.ts.map +1 -1
- package/dist/helpers/mysql.finder.js.map +1 -1
- package/dist/helpers/mysql.helper.d.ts +21 -6
- package/dist/helpers/mysql.helper.d.ts.map +1 -1
- package/dist/helpers/mysql.helper.js +152 -82
- package/dist/helpers/mysql.helper.js.map +1 -1
- package/dist/helpers/mysql.utils.d.ts.map +1 -1
- package/dist/helpers/mysql.utils.js +28 -11
- package/dist/helpers/mysql.utils.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/index.js.map +1 -1
- package/dist/models/mysql.model.d.ts.map +1 -1
- package/dist/models/mysql.model.js.map +1 -1
- package/dist/models/mysql.option.d.ts +11 -2
- package/dist/models/mysql.option.d.ts.map +1 -1
- package/dist/mysql.config.d.ts +1 -17
- package/dist/mysql.config.d.ts.map +1 -1
- package/dist/mysql.config.js +1 -17
- package/dist/mysql.config.js.map +1 -1
- package/dist/mysql.exception.d.ts.map +1 -1
- package/dist/mysql.exception.js +48 -4
- package/dist/mysql.exception.js.map +1 -1
- package/dist/mysql.module.d.ts.map +1 -1
- package/dist/mysql.module.js.map +1 -1
- package/dist/mysql.repo.d.ts +8 -0
- package/dist/mysql.repo.d.ts.map +1 -1
- package/dist/mysql.repo.js +164 -33
- package/dist/mysql.repo.js.map +1 -1
- package/dist/mysql.service.d.ts.map +1 -1
- package/dist/mysql.service.js +8 -2
- package/dist/mysql.service.js.map +1 -1
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.d.ts.map +1 -1
- package/dist/services/index.js +1 -0
- package/dist/services/index.js.map +1 -1
- package/dist/services/mysql.dialect.d.ts +14 -0
- package/dist/services/mysql.dialect.d.ts.map +1 -0
- package/dist/services/mysql.dialect.js +50 -0
- package/dist/services/mysql.dialect.js.map +1 -0
- package/dist/services/mysql.strategy.d.ts +1 -1
- package/dist/services/mysql.strategy.d.ts.map +1 -1
- package/dist/services/mysql.strategy.js +1 -1
- package/dist/services/mysql.strategy.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -10
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MysqlHelper = void 0;
|
|
4
|
+
const typeorm_1 = require("typeorm");
|
|
5
|
+
const mysql_exception_1 = require("../mysql.exception");
|
|
6
|
+
const services_1 = require("../services");
|
|
4
7
|
class MysqlHelper {
|
|
5
8
|
static applyPagination(qb, query = {}) {
|
|
6
9
|
const limit = typeof query.limit === 'number' && query.limit > 0 ? query.limit : undefined;
|
|
@@ -11,108 +14,130 @@ class MysqlHelper {
|
|
|
11
14
|
else if (limit)
|
|
12
15
|
qb.take(limit).skip(offset ?? 0);
|
|
13
16
|
}
|
|
14
|
-
static applyCondition(qb, condition) {
|
|
17
|
+
static applyCondition(qb, condition, context = {}) {
|
|
15
18
|
if (!condition)
|
|
16
19
|
return;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
20
|
+
const conditionContext = { ...context, alias: qb.alias, paramIndex: 0 };
|
|
21
|
+
for (const [key, value] of Object.entries(condition || {})) {
|
|
22
|
+
MysqlHelper.applyConditionEntry(qb, key, value, conditionContext);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
static applyConditionEntry(qb, key, value, context) {
|
|
26
|
+
if (key === '$or' || key === '$and') {
|
|
27
|
+
const nested = Array.isArray(value) ? value : [];
|
|
28
|
+
if (!nested.length)
|
|
29
|
+
return;
|
|
30
|
+
qb.andWhere(new typeorm_1.Brackets(child => {
|
|
31
|
+
nested.forEach((condition, index) => {
|
|
32
|
+
const method = key === '$or' && index > 0 ? 'orWhere' : 'andWhere';
|
|
33
|
+
child[method](new typeorm_1.Brackets(grandChild => {
|
|
34
|
+
Object.entries(condition || {}).forEach(([childKey, childValue]) => {
|
|
35
|
+
MysqlHelper.applyConditionEntry(grandChild, childKey, childValue, context);
|
|
36
|
+
});
|
|
37
|
+
}));
|
|
38
|
+
});
|
|
39
|
+
}));
|
|
40
|
+
return;
|
|
41
|
+
}
|
|
42
|
+
const column = MysqlHelper.column(qb, key, context);
|
|
43
|
+
if (value && typeof value === 'object' && !Array.isArray(value) && !(value instanceof Date)) {
|
|
44
|
+
for (const [op, val] of Object.entries(value)) {
|
|
45
|
+
MysqlHelper.applyOperator(qb, column, key, op, val, context);
|
|
29
46
|
}
|
|
47
|
+
return;
|
|
30
48
|
}
|
|
49
|
+
const param = MysqlHelper.nextParam(key, context);
|
|
50
|
+
qb.andWhere(`${column} = :${param}`, { [param]: value });
|
|
31
51
|
}
|
|
32
|
-
static
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
52
|
+
static applyOperator(qb, column, key, op, val, context) {
|
|
53
|
+
const capabilities = (0, services_1.getMysqlDialectCapabilities)(context.dialect);
|
|
54
|
+
const param = MysqlHelper.nextParam(key, context);
|
|
55
|
+
switch (op) {
|
|
56
|
+
case '$eq':
|
|
57
|
+
qb.andWhere(`${column} = :${param}`, { [param]: val });
|
|
58
|
+
return;
|
|
59
|
+
case '$gt':
|
|
60
|
+
qb.andWhere(`${column} > :${param}`, { [param]: val });
|
|
61
|
+
return;
|
|
62
|
+
case '$gte':
|
|
63
|
+
qb.andWhere(`${column} >= :${param}`, { [param]: val });
|
|
64
|
+
return;
|
|
65
|
+
case '$lt':
|
|
66
|
+
qb.andWhere(`${column} < :${param}`, { [param]: val });
|
|
67
|
+
return;
|
|
68
|
+
case '$lte':
|
|
69
|
+
qb.andWhere(`${column} <= :${param}`, { [param]: val });
|
|
70
|
+
return;
|
|
71
|
+
case '$ne':
|
|
72
|
+
qb.andWhere(`${column} != :${param}`, { [param]: val });
|
|
73
|
+
return;
|
|
74
|
+
case '$in':
|
|
75
|
+
MysqlHelper.assertNonEmptyArray(op, key, val);
|
|
76
|
+
qb.andWhere(`${column} IN (:...${param})`, { [param]: val });
|
|
77
|
+
return;
|
|
78
|
+
case '$nin':
|
|
79
|
+
MysqlHelper.assertNonEmptyArray(op, key, val);
|
|
80
|
+
qb.andWhere(`${column} NOT IN (:...${param})`, { [param]: val });
|
|
81
|
+
return;
|
|
82
|
+
case '$like':
|
|
83
|
+
qb.andWhere(`${column} ${capabilities.caseInsensitiveLike} :${param} ${MysqlHelper.LIKE_ESCAPE_SQL}`, {
|
|
84
|
+
[param]: `%${MysqlHelper.escapeLikePattern(val)}%`,
|
|
85
|
+
});
|
|
86
|
+
return;
|
|
87
|
+
case '$begin':
|
|
88
|
+
qb.andWhere(`${column} ${capabilities.caseInsensitiveLike} :${param} ${MysqlHelper.LIKE_ESCAPE_SQL}`, {
|
|
89
|
+
[param]: `${MysqlHelper.escapeLikePattern(val)}%`,
|
|
90
|
+
});
|
|
91
|
+
return;
|
|
92
|
+
case '$end':
|
|
93
|
+
qb.andWhere(`${column} ${capabilities.caseInsensitiveLike} :${param} ${MysqlHelper.LIKE_ESCAPE_SQL}`, {
|
|
94
|
+
[param]: `%${MysqlHelper.escapeLikePattern(val)}`,
|
|
95
|
+
});
|
|
96
|
+
return;
|
|
97
|
+
case '$nil':
|
|
98
|
+
qb.andWhere(`${column} IS ${val === false ? 'NOT ' : ''}NULL`);
|
|
99
|
+
return;
|
|
100
|
+
case '$exists':
|
|
101
|
+
qb.andWhere(`${column} IS ${val === false ? '' : 'NOT '}NULL`);
|
|
102
|
+
return;
|
|
103
|
+
case '$empty':
|
|
104
|
+
qb.andWhere(`${column} = ''`);
|
|
105
|
+
return;
|
|
106
|
+
case '$not':
|
|
107
|
+
qb.andWhere(`${column} != :${param}`, { [param]: val });
|
|
108
|
+
return;
|
|
109
|
+
case '$all':
|
|
110
|
+
case '$size':
|
|
111
|
+
if (!capabilities.arrayOperators) {
|
|
112
|
+
throw new mysql_exception_1.MysqlException('MYSQL_OPERATOR_UNSUPPORTED_BY_DIALECT', { op, dialect: capabilities.dialect });
|
|
91
113
|
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
114
|
+
if (op === '$all')
|
|
115
|
+
qb.andWhere(`${column} @> ARRAY[:...${param}]`, { [param]: val });
|
|
116
|
+
else
|
|
117
|
+
qb.andWhere(`array_length(${column}, 1) = :${param}`, { [param]: val });
|
|
118
|
+
return;
|
|
119
|
+
default:
|
|
120
|
+
throw new mysql_exception_1.MysqlException('MYSQL_OPERATOR_UNSUPPORTED', { op, key });
|
|
96
121
|
}
|
|
97
|
-
return qb;
|
|
98
122
|
}
|
|
99
|
-
static applyProjection(qb, select) {
|
|
123
|
+
static applyProjection(qb, select, context = {}) {
|
|
100
124
|
if (!select)
|
|
101
125
|
return;
|
|
102
126
|
const fields = Array.isArray(select) ? select : select.split(',');
|
|
103
|
-
qb.select(fields.map(field =>
|
|
127
|
+
qb.select(fields.map(field => MysqlHelper.column(qb, field.trim(), context)));
|
|
104
128
|
}
|
|
105
|
-
static applyOrder(qb, sort) {
|
|
129
|
+
static applyOrder(qb, sort, context = {}) {
|
|
106
130
|
if (!sort)
|
|
107
131
|
return;
|
|
108
132
|
for (const [key, value] of Object.entries(sort)) {
|
|
109
|
-
qb.addOrderBy(
|
|
133
|
+
qb.addOrderBy(MysqlHelper.column(qb, key, context), value === 'asc' ? 'ASC' : 'DESC');
|
|
110
134
|
}
|
|
111
135
|
}
|
|
112
|
-
static applyRelations(qb, populate) {
|
|
136
|
+
static applyRelations(qb, populate, context = {}) {
|
|
113
137
|
if (!populate)
|
|
114
138
|
return;
|
|
115
139
|
for (const [relation, value] of Object.entries(populate)) {
|
|
140
|
+
MysqlHelper.assertRelation(relation, context);
|
|
116
141
|
if (value === '*') {
|
|
117
142
|
qb.leftJoinAndSelect(`${qb.alias}.${relation}`, relation);
|
|
118
143
|
}
|
|
@@ -121,6 +146,51 @@ class MysqlHelper {
|
|
|
121
146
|
}
|
|
122
147
|
}
|
|
123
148
|
}
|
|
149
|
+
static assertColumn(path, context = {}) {
|
|
150
|
+
MysqlHelper.assertSafePath(path);
|
|
151
|
+
if (!context.metadata)
|
|
152
|
+
return;
|
|
153
|
+
const exists = context.metadata.columns.some(column => {
|
|
154
|
+
return column.propertyPath === path || column.propertyName === path || column.databasePath === path;
|
|
155
|
+
});
|
|
156
|
+
if (!exists)
|
|
157
|
+
throw new mysql_exception_1.MysqlException('MYSQL_UNKNOWN_COLUMN', { path, entity: context.metadata.name });
|
|
158
|
+
}
|
|
159
|
+
static assertRelation(path, context = {}) {
|
|
160
|
+
MysqlHelper.assertSafePath(path);
|
|
161
|
+
if (!context.metadata)
|
|
162
|
+
return;
|
|
163
|
+
const exists = context.metadata.relations?.some(relation => {
|
|
164
|
+
return relation.propertyPath === path || relation.propertyName === path;
|
|
165
|
+
});
|
|
166
|
+
if (!exists)
|
|
167
|
+
throw new mysql_exception_1.MysqlException('MYSQL_UNKNOWN_RELATION', { path, entity: context.metadata.name });
|
|
168
|
+
}
|
|
169
|
+
static column(qb, path, context) {
|
|
170
|
+
MysqlHelper.assertColumn(path, context);
|
|
171
|
+
const alias = context.alias || qb.alias;
|
|
172
|
+
return `${alias}.${path}`;
|
|
173
|
+
}
|
|
174
|
+
static escapeLikePattern(value) {
|
|
175
|
+
return String(value).replace(/[\\%_]/g, '\\$&');
|
|
176
|
+
}
|
|
177
|
+
static assertSafePath(path) {
|
|
178
|
+
if (!MysqlHelper.FIELD_PATTERN.test(path))
|
|
179
|
+
throw new mysql_exception_1.MysqlException('MYSQL_UNSAFE_FIELD_PATH', { path });
|
|
180
|
+
}
|
|
181
|
+
static nextParam(key, context) {
|
|
182
|
+
const safeKey = key.replace(/\./g, '_');
|
|
183
|
+
const param = `${safeKey}_${context.paramIndex}`;
|
|
184
|
+
context.paramIndex += 1;
|
|
185
|
+
return param;
|
|
186
|
+
}
|
|
187
|
+
static assertNonEmptyArray(op, key, val) {
|
|
188
|
+
if (!Array.isArray(val) || val.length === 0) {
|
|
189
|
+
throw new mysql_exception_1.MysqlException('MYSQL_INVALID_OPERATOR_VALUE', { op, key, expected: 'non-empty array' });
|
|
190
|
+
}
|
|
191
|
+
}
|
|
124
192
|
}
|
|
125
193
|
exports.MysqlHelper = MysqlHelper;
|
|
194
|
+
MysqlHelper.FIELD_PATTERN = /^[a-zA-Z0-9_.]+$/;
|
|
195
|
+
MysqlHelper.LIKE_ESCAPE_SQL = "ESCAPE '\\\\'";
|
|
126
196
|
//# sourceMappingURL=mysql.helper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mysql.helper.js","sourceRoot":"","sources":["../../src/helpers/mysql.helper.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"mysql.helper.js","sourceRoot":"","sources":["../../src/helpers/mysql.helper.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mysql.utils.d.ts","sourceRoot":"","sources":["../../src/helpers/mysql.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"mysql.utils.d.ts","sourceRoot":"","sources":["../../src/helpers/mysql.utils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAK7C,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,GAAE,GAAG,EAAO,GAAG,MAAM,CAYtE;AAKD,wBAAgB,SAAS,CAAC,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,UAGzD"}
|
|
@@ -5,17 +5,14 @@ exports.exportSql = exportSql;
|
|
|
5
5
|
const utils_1 = require("@joktec/utils");
|
|
6
6
|
function printSql(query, parameters = []) {
|
|
7
7
|
let sql = query;
|
|
8
|
-
(0, utils_1.toArray)(parameters).forEach((param) => {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
else
|
|
17
|
-
return param.toString();
|
|
18
|
-
});
|
|
8
|
+
(0, utils_1.toArray)(parameters).forEach((param, index) => {
|
|
9
|
+
const value = formatSqlValue(param);
|
|
10
|
+
const postgresToken = new RegExp(`\\$${index + 1}(?!\\d)`, 'g');
|
|
11
|
+
if (postgresToken.test(sql)) {
|
|
12
|
+
sql = sql.replace(postgresToken, value);
|
|
13
|
+
return;
|
|
14
|
+
}
|
|
15
|
+
sql = sql.replace('?', value);
|
|
19
16
|
});
|
|
20
17
|
return sql;
|
|
21
18
|
}
|
|
@@ -23,4 +20,24 @@ function exportSql(builder) {
|
|
|
23
20
|
const [query, params] = builder.getQueryAndParameters();
|
|
24
21
|
return printSql(query, params);
|
|
25
22
|
}
|
|
23
|
+
function formatSqlValue(param) {
|
|
24
|
+
if (param === null || param === undefined)
|
|
25
|
+
return 'NULL';
|
|
26
|
+
if (param instanceof Date)
|
|
27
|
+
return `'${param.toISOString()}'`;
|
|
28
|
+
if (Buffer.isBuffer(param))
|
|
29
|
+
return `X'${param.toString('hex')}'`;
|
|
30
|
+
if (Array.isArray(param))
|
|
31
|
+
return `(${param.map(item => formatSqlValue(item)).join(', ')})`;
|
|
32
|
+
if (typeof param === 'boolean')
|
|
33
|
+
return param ? 'TRUE' : 'FALSE';
|
|
34
|
+
if (typeof param === 'number' || typeof param === 'bigint')
|
|
35
|
+
return param.toString();
|
|
36
|
+
if (typeof param === 'object')
|
|
37
|
+
return `'${escapeSqlString(JSON.stringify(param))}'`;
|
|
38
|
+
return `'${escapeSqlString(String(param))}'`;
|
|
39
|
+
}
|
|
40
|
+
function escapeSqlString(value) {
|
|
41
|
+
return value.replace(/\\/g, '\\\\').replace(/'/g, "''");
|
|
42
|
+
}
|
|
26
43
|
//# sourceMappingURL=mysql.utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mysql.utils.js","sourceRoot":"","sources":["../../src/helpers/mysql.utils.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"mysql.utils.js","sourceRoot":"","sources":["../../src/helpers/mysql.utils.ts"],"names":[],"mappings":";;AAMA,4BAYC;AAKD,8BAGC;AA1BD,yCAAwC;AAMxC,SAAgB,QAAQ,CAAC,KAAa,EAAE,aAAoB,EAAE;IAC5D,IAAI,GAAG,GAAW,KAAK,CAAC;IACxB,IAAA,eAAO,EAAC,UAAU,CAAC,CAAC,OAAO,CAAC,CAAC,KAAU,EAAE,KAAa,EAAE,EAAE;QACxD,MAAM,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;QACpC,MAAM,aAAa,GAAG,IAAI,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QAChE,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC5B,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QACD,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAKD,SAAgB,SAAS,CAAC,OAAgC;IACxD,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,qBAAqB,EAAE,CAAC;IACxD,OAAO,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACjC,CAAC;AAED,SAAS,cAAc,CAAC,KAAU;IAChC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,MAAM,CAAC;IACzD,IAAI,KAAK,YAAY,IAAI;QAAE,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC;IAC7D,IAAI,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC;IACjE,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QAAE,OAAO,IAAI,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IAC3F,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;IACpF,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,eAAe,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;IACpF,OAAO,IAAI,eAAe,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC;AAC/C,CAAC;AAED,SAAS,eAAe,CAAC,KAAa;IACpC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;AAC1D,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -8,5 +8,6 @@ export * from './decorators';
|
|
|
8
8
|
export * from './helpers';
|
|
9
9
|
export * from './models';
|
|
10
10
|
export * from 'typeorm';
|
|
11
|
+
export { Column, PrimaryColumn, PrimaryGeneratedColumn } from './decorators';
|
|
11
12
|
export { UpsertOptions } from 'typeorm/repository/UpsertOptions';
|
|
12
13
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,iBAAiB,CAAC;AAChC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.PrimaryGeneratedColumn = exports.PrimaryColumn = exports.Column = void 0;
|
|
17
18
|
__exportStar(require("./mysql.module"), exports);
|
|
18
19
|
__exportStar(require("./mysql.client"), exports);
|
|
19
20
|
__exportStar(require("./mysql.service"), exports);
|
|
@@ -24,4 +25,8 @@ __exportStar(require("./decorators"), exports);
|
|
|
24
25
|
__exportStar(require("./helpers"), exports);
|
|
25
26
|
__exportStar(require("./models"), exports);
|
|
26
27
|
__exportStar(require("typeorm"), exports);
|
|
28
|
+
var decorators_1 = require("./decorators");
|
|
29
|
+
Object.defineProperty(exports, "Column", { enumerable: true, get: function () { return decorators_1.Column; } });
|
|
30
|
+
Object.defineProperty(exports, "PrimaryColumn", { enumerable: true, get: function () { return decorators_1.PrimaryColumn; } });
|
|
31
|
+
Object.defineProperty(exports, "PrimaryGeneratedColumn", { enumerable: true, get: function () { return decorators_1.PrimaryGeneratedColumn; } });
|
|
27
32
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,iDAA+B;AAC/B,kDAAgC;AAChC,iDAA+B;AAC/B,+CAA6B;AAC7B,oDAAkC;AAClC,+CAA6B;AAC7B,4CAA0B;AAC1B,2CAAyB;AACzB,0CAAwB;AACxB,2CAA6E;AAApE,oGAAA,MAAM,OAAA;AAAE,2GAAA,aAAa,OAAA;AAAE,oHAAA,sBAAsB,OAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mysql.model.d.ts","sourceRoot":"","sources":["../../src/models/mysql.model.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;
|
|
1
|
+
{"version":3,"file":"mysql.model.d.ts","sourceRoot":"","sources":["../../src/models/mysql.model.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB;AAKD,qBAAa,UAAW,YAAW,WAAW;IAI5C,SAAS,CAAC,EAAE,IAAI,CAAC;IAKjB,SAAS,CAAC,EAAE,IAAI,CAAC;IAKjB,SAAS,CAAC,EAAE,IAAI,CAAC;CAClB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mysql.model.js","sourceRoot":"","sources":["../../src/models/mysql.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAAkD;AAClD,qCAA+E;
|
|
1
|
+
{"version":3,"file":"mysql.model.js","sourceRoot":"","sources":["../../src/models/mysql.model.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAAkD;AAClD,qCAA+E;AAW/E,MAAa,UAAU;CAetB;AAfD,gCAeC;AAXC;IAHC,IAAA,0BAAgB,GAAE;IAClB,IAAA,kBAAW,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC3B,IAAA,YAAK,EAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAC1B,IAAI;6CAAC;AAKjB;IAHC,IAAA,0BAAgB,GAAE;IAClB,IAAA,kBAAW,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC3B,IAAA,YAAK,EAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAC1B,IAAI;6CAAC;AAKjB;IAHC,IAAA,0BAAgB,GAAE;IAClB,IAAA,kBAAW,EAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;IAC3B,IAAA,YAAK,EAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;8BAC1B,IAAI;6CAAC"}
|
|
@@ -1,4 +1,13 @@
|
|
|
1
|
-
import { FindOneOptions, SaveOptions } from 'typeorm';
|
|
2
|
-
export interface
|
|
1
|
+
import { EntityManager, FindManyOptions, FindOneOptions, QueryRunner, RemoveOptions, SaveOptions } from 'typeorm';
|
|
2
|
+
export interface IMysqlTransactionOption {
|
|
3
|
+
manager?: EntityManager;
|
|
4
|
+
queryRunner?: QueryRunner;
|
|
3
5
|
}
|
|
6
|
+
export interface IMysqlReadOption<T = any> extends FindManyOptions<T>, FindOneOptions<T>, IMysqlTransactionOption {
|
|
7
|
+
}
|
|
8
|
+
export interface IMysqlWriteOption extends SaveOptions, RemoveOptions, IMysqlTransactionOption {
|
|
9
|
+
force?: boolean;
|
|
10
|
+
chunkSize?: number;
|
|
11
|
+
}
|
|
12
|
+
export type IMysqlOption<T = any> = IMysqlReadOption<T> & IMysqlWriteOption;
|
|
4
13
|
//# sourceMappingURL=mysql.option.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mysql.option.d.ts","sourceRoot":"","sources":["../../src/models/mysql.option.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"mysql.option.d.ts","sourceRoot":"","sources":["../../src/models/mysql.option.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,cAAc,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAElH,MAAM,WAAW,uBAAuB;IACtC,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,WAAW,CAAC,EAAE,WAAW,CAAC;CAC3B;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,eAAe,CAAC,CAAC,CAAC,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,uBAAuB;CAAG;AAEpH,MAAM,WAAW,iBAAkB,SAAQ,WAAW,EAAE,aAAa,EAAE,uBAAuB;IAC5F,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,MAAM,YAAY,CAAC,CAAC,GAAG,GAAG,IAAI,gBAAgB,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC"}
|
package/dist/mysql.config.d.ts
CHANGED
|
@@ -10,23 +10,7 @@ export declare class MysqlSlaveConfig {
|
|
|
10
10
|
export declare enum Dialect {
|
|
11
11
|
MYSQL = "mysql",
|
|
12
12
|
POSTGRES = "postgres",
|
|
13
|
-
|
|
14
|
-
SAP = "sap",
|
|
15
|
-
MARIADB = "mariadb",
|
|
16
|
-
SQLITE = "sqlite",
|
|
17
|
-
CORDOVA = "cordova",
|
|
18
|
-
REACT_NATIVE = "react-native",
|
|
19
|
-
NATIVESCRIPT = "nativescript",
|
|
20
|
-
SQLJS = "sqljs",
|
|
21
|
-
ORACLE = "oracle",
|
|
22
|
-
MSSQL = "mssql",
|
|
23
|
-
MONGODB = "mongodb",
|
|
24
|
-
AURORA_MYSQL = "aurora-mysql",
|
|
25
|
-
AURORA_POSTGRES = "aurora-postgres",
|
|
26
|
-
EXPO = "expo",
|
|
27
|
-
BETTER_SQLITE3 = "better-sqlite3",
|
|
28
|
-
CAPACITOR = "capacitor",
|
|
29
|
-
SPANNER = "spanner"
|
|
13
|
+
MARIADB = "mariadb"
|
|
30
14
|
}
|
|
31
15
|
export declare enum MysqlLogLevel {
|
|
32
16
|
query = "query",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mysql.config.d.ts","sourceRoot":"","sources":["../src/mysql.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAI5C,qBAAa,gBAAgB;IAG3B,IAAI,EAAE,MAAM,CAAC;IAIb,IAAI,EAAE,MAAM,CAAC;IAIb,QAAQ,EAAE,MAAM,CAAC;IAIjB,QAAQ,EAAE,MAAM,CAAC;IAIjB,QAAQ,EAAE,MAAM,CAAC;gBAEL,KAAK,EAAE,gBAAgB;CAGpC;AAED,oBAAY,OAAO;IACjB,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,
|
|
1
|
+
{"version":3,"file":"mysql.config.d.ts","sourceRoot":"","sources":["../src/mysql.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAI5C,qBAAa,gBAAgB;IAG3B,IAAI,EAAE,MAAM,CAAC;IAIb,IAAI,EAAE,MAAM,CAAC;IAIb,QAAQ,EAAE,MAAM,CAAC;IAIjB,QAAQ,EAAE,MAAM,CAAC;IAIjB,QAAQ,EAAE,MAAM,CAAC;gBAEL,KAAK,EAAE,gBAAgB;CAGpC;AAED,oBAAY,OAAO;IACjB,KAAK,UAAU;IACf,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB;AAED,oBAAY,aAAa;IACvB,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,IAAI,SAAS;IACb,IAAI,SAAS;IACb,GAAG,QAAQ;IACX,SAAS,cAAc;CACxB;AAED,qBAAa,oBAAoB;IAG/B,MAAM,CAAC,EAAE,OAAO,CAAS;IAIzB,GAAG,CAAC,EAAE,OAAO,CAAS;IAKtB,KAAK,CAAC,EAAE,aAAa,EAAE,CAAM;gBAEjB,KAAK,CAAC,EAAE,OAAO,CAAC,oBAAoB,CAAC;CAGlD;AAED,qBAAa,WAAY,SAAQ,YAAY;IAG3C,OAAO,CAAC,EAAE,OAAO,CAAiB;IAIlC,IAAI,CAAC,EAAE,MAAM,CAAe;IAI5B,IAAI,CAAC,EAAE,MAAM,CAAQ;IAIrB,QAAQ,EAAG,MAAM,CAAC;IAIlB,QAAQ,EAAG,MAAM,CAAC;IAIlB,QAAQ,EAAG,MAAM,CAAC;IAIlB,OAAO,CAAC,EAAE,MAAM,CAAC;IAIjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAIlB,cAAc,CAAC,EAAE,MAAM,CAAS;IAKhC,MAAM,CAAC,EAAE,gBAAgB,EAAE,CAAM;IAIjC,IAAI,CAAC,EAAE,OAAO,CAAS;IAIvB,SAAS,CAAC,EAAE,oBAAoB,CAAC;gBAErB,KAAK,EAAE,WAAW;CAW/B"}
|
package/dist/mysql.config.js
CHANGED
|
@@ -48,23 +48,7 @@ var Dialect;
|
|
|
48
48
|
(function (Dialect) {
|
|
49
49
|
Dialect["MYSQL"] = "mysql";
|
|
50
50
|
Dialect["POSTGRES"] = "postgres";
|
|
51
|
-
Dialect["COCKROACHDB"] = "cockroachdb";
|
|
52
|
-
Dialect["SAP"] = "sap";
|
|
53
51
|
Dialect["MARIADB"] = "mariadb";
|
|
54
|
-
Dialect["SQLITE"] = "sqlite";
|
|
55
|
-
Dialect["CORDOVA"] = "cordova";
|
|
56
|
-
Dialect["REACT_NATIVE"] = "react-native";
|
|
57
|
-
Dialect["NATIVESCRIPT"] = "nativescript";
|
|
58
|
-
Dialect["SQLJS"] = "sqljs";
|
|
59
|
-
Dialect["ORACLE"] = "oracle";
|
|
60
|
-
Dialect["MSSQL"] = "mssql";
|
|
61
|
-
Dialect["MONGODB"] = "mongodb";
|
|
62
|
-
Dialect["AURORA_MYSQL"] = "aurora-mysql";
|
|
63
|
-
Dialect["AURORA_POSTGRES"] = "aurora-postgres";
|
|
64
|
-
Dialect["EXPO"] = "expo";
|
|
65
|
-
Dialect["BETTER_SQLITE3"] = "better-sqlite3";
|
|
66
|
-
Dialect["CAPACITOR"] = "capacitor";
|
|
67
|
-
Dialect["SPANNER"] = "spanner";
|
|
68
52
|
})(Dialect || (exports.Dialect = Dialect = {}));
|
|
69
53
|
var MysqlLogLevel;
|
|
70
54
|
(function (MysqlLogLevel) {
|
|
@@ -109,7 +93,7 @@ class MysqlConfig extends core_1.ClientConfig {
|
|
|
109
93
|
this.port = 3306;
|
|
110
94
|
this.connectTimeout = 20000;
|
|
111
95
|
this.slaves = [];
|
|
112
|
-
this.sync =
|
|
96
|
+
this.sync = false;
|
|
113
97
|
Object.assign(this, {
|
|
114
98
|
...props,
|
|
115
99
|
benchmark: new MysqlBenchmarkConfig(props?.benchmark),
|
package/dist/mysql.config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mysql.config.js","sourceRoot":"","sources":["../src/mysql.config.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uCAA4C;AAC5C,yCAA6G;AAC7G,mCAA8B;AAE9B,MAAa,gBAAgB;IAqB3B,YAAY,KAAuB;QACjC,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,GAAG,KAAK,EAAE,CAAC,CAAC;IACpC,CAAC;CACF;AAxBD,4CAwBC;AArBC;IAFC,IAAA,gBAAQ,GAAE;IACV,IAAA,kBAAU,GAAE;;8CACA;AAIb;IAFC,IAAA,aAAK,GAAE;IACP,IAAA,kBAAU,GAAE;;8CACA;AAIb;IAFC,IAAA,gBAAQ,GAAE;IACV,IAAA,kBAAU,GAAE;;kDACI;AAIjB;IAFC,IAAA,gBAAQ,GAAE;IACV,IAAA,kBAAU,GAAE;;kDACI;AAIjB;IAFC,IAAA,gBAAQ,GAAE;IACV,IAAA,kBAAU,GAAE;;kDACI;AAOnB,IAAY,
|
|
1
|
+
{"version":3,"file":"mysql.config.js","sourceRoot":"","sources":["../src/mysql.config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mysql.exception.d.ts","sourceRoot":"","sources":["../src/mysql.exception.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,uBAAuB,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"mysql.exception.d.ts","sourceRoot":"","sources":["../src/mysql.exception.ts"],"names":[],"mappings":"AAAA,OAAO,EAA8C,uBAAuB,EAAE,MAAM,cAAc,CAAC;AAGnG,qBAAa,cAAe,SAAQ,uBAAuB;gBAC7C,GAAG,GAAE,MAA0B,EAAE,KAAK,CAAC,EAAE,GAAG;CAGzD;AAKD,eAAO,MAAM,UAAU,iBAWrB,CAAC"}
|
package/dist/mysql.exception.js
CHANGED
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.MysqlCatch = exports.MysqlException = void 0;
|
|
4
4
|
const core_1 = require("@joktec/core");
|
|
5
|
-
const lodash_1 = require("lodash");
|
|
6
5
|
const typeorm_1 = require("typeorm");
|
|
7
6
|
class MysqlException extends core_1.InternalServerException {
|
|
8
7
|
constructor(msg = 'MYSQL_EXCEPTION', error) {
|
|
@@ -17,10 +16,55 @@ exports.MysqlCatch = (0, core_1.BaseMethodDecorator)(async (options) => {
|
|
|
17
16
|
}
|
|
18
17
|
catch (err) {
|
|
19
18
|
if (err instanceof typeorm_1.QueryFailedError) {
|
|
20
|
-
|
|
21
|
-
throw new MysqlException(msg, err);
|
|
19
|
+
throw new MysqlException(normalizeMysqlErrorCode(err), err);
|
|
22
20
|
}
|
|
23
|
-
|
|
21
|
+
if (err instanceof MysqlException)
|
|
22
|
+
throw err;
|
|
23
|
+
throw new MysqlException('MYSQL_EXCEPTION', err);
|
|
24
24
|
}
|
|
25
25
|
});
|
|
26
|
+
function normalizeMysqlErrorCode(err) {
|
|
27
|
+
const driverError = err.driverError || {};
|
|
28
|
+
const code = driverError.code || driverError.errno || driverError.sqlState;
|
|
29
|
+
switch (code) {
|
|
30
|
+
case 'ER_DUP_ENTRY':
|
|
31
|
+
case 1062:
|
|
32
|
+
case '23505':
|
|
33
|
+
return 'MYSQL_DUPLICATE_KEY';
|
|
34
|
+
case 'ER_NO_REFERENCED_ROW':
|
|
35
|
+
case 'ER_NO_REFERENCED_ROW_2':
|
|
36
|
+
case 'ER_ROW_IS_REFERENCED':
|
|
37
|
+
case 'ER_ROW_IS_REFERENCED_2':
|
|
38
|
+
case 1216:
|
|
39
|
+
case 1217:
|
|
40
|
+
case 1451:
|
|
41
|
+
case 1452:
|
|
42
|
+
case '23503':
|
|
43
|
+
return 'MYSQL_FOREIGN_KEY_VIOLATION';
|
|
44
|
+
case 'ER_BAD_NULL_ERROR':
|
|
45
|
+
case 1048:
|
|
46
|
+
case '23502':
|
|
47
|
+
return 'MYSQL_NOT_NULL_VIOLATION';
|
|
48
|
+
case 'ER_BAD_FIELD_ERROR':
|
|
49
|
+
case 1054:
|
|
50
|
+
case '42703':
|
|
51
|
+
return 'MYSQL_UNKNOWN_COLUMN';
|
|
52
|
+
case 'ER_LOCK_DEADLOCK':
|
|
53
|
+
case 1213:
|
|
54
|
+
case '40P01':
|
|
55
|
+
return 'MYSQL_DEADLOCK';
|
|
56
|
+
case 'ER_LOCK_WAIT_TIMEOUT':
|
|
57
|
+
case 1205:
|
|
58
|
+
case '55P03':
|
|
59
|
+
return 'MYSQL_LOCK_TIMEOUT';
|
|
60
|
+
case 'ECONNREFUSED':
|
|
61
|
+
case 'ETIMEDOUT':
|
|
62
|
+
case 'ENOTFOUND':
|
|
63
|
+
return 'MYSQL_CONNECTION_FAILED';
|
|
64
|
+
case '40001':
|
|
65
|
+
return 'MYSQL_TRANSACTION_CONFLICT';
|
|
66
|
+
default:
|
|
67
|
+
return 'MYSQL_QUERY_FAILED';
|
|
68
|
+
}
|
|
69
|
+
}
|
|
26
70
|
//# sourceMappingURL=mysql.exception.js.map
|