@joktec/mysql 0.2.13 → 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.
Files changed (147) hide show
  1. package/README.md +211 -81
  2. package/dist/__tests__/mysql.column.decorator.spec.d.ts +2 -0
  3. package/dist/__tests__/mysql.column.decorator.spec.d.ts.map +1 -0
  4. package/dist/__tests__/mysql.column.decorator.spec.js +60 -0
  5. package/dist/__tests__/mysql.column.decorator.spec.js.map +1 -0
  6. package/dist/__tests__/mysql.dialect.spec.d.ts +2 -0
  7. package/dist/__tests__/mysql.dialect.spec.d.ts.map +1 -0
  8. package/dist/__tests__/mysql.dialect.spec.js +28 -0
  9. package/dist/__tests__/mysql.dialect.spec.js.map +1 -0
  10. package/dist/__tests__/mysql.exception.spec.d.ts +2 -0
  11. package/dist/__tests__/mysql.exception.spec.d.ts.map +1 -0
  12. package/dist/__tests__/mysql.exception.spec.js +42 -0
  13. package/dist/__tests__/mysql.exception.spec.js.map +1 -0
  14. package/dist/__tests__/mysql.helper.spec.d.ts +2 -0
  15. package/dist/__tests__/mysql.helper.spec.d.ts.map +1 -0
  16. package/dist/__tests__/mysql.helper.spec.js +80 -0
  17. package/dist/__tests__/mysql.helper.spec.js.map +1 -0
  18. package/dist/__tests__/mysql.module.integration.spec.d.ts +2 -0
  19. package/dist/__tests__/mysql.module.integration.spec.d.ts.map +1 -0
  20. package/dist/__tests__/mysql.module.integration.spec.js +67 -0
  21. package/dist/__tests__/mysql.module.integration.spec.js.map +1 -0
  22. package/dist/__tests__/mysql.repo.cursor.spec.d.ts +2 -0
  23. package/dist/__tests__/mysql.repo.cursor.spec.d.ts.map +1 -0
  24. package/dist/__tests__/mysql.repo.cursor.spec.js +146 -0
  25. package/dist/__tests__/mysql.repo.cursor.spec.js.map +1 -0
  26. package/dist/__tests__/mysql.service.spec.d.ts +2 -0
  27. package/dist/__tests__/mysql.service.spec.d.ts.map +1 -0
  28. package/dist/__tests__/mysql.service.spec.js +70 -0
  29. package/dist/__tests__/mysql.service.spec.js.map +1 -0
  30. package/dist/__tests__/mysql.utils.spec.d.ts +2 -0
  31. package/dist/__tests__/mysql.utils.spec.d.ts.map +1 -0
  32. package/dist/__tests__/mysql.utils.spec.js +21 -0
  33. package/dist/__tests__/mysql.utils.spec.js.map +1 -0
  34. package/dist/decorators/column.decorator.d.ts +11 -0
  35. package/dist/decorators/column.decorator.d.ts.map +1 -0
  36. package/dist/decorators/column.decorator.js +35 -0
  37. package/dist/decorators/column.decorator.js.map +1 -0
  38. package/dist/decorators/columns/array.column.d.ts +2 -0
  39. package/dist/decorators/columns/array.column.d.ts.map +1 -0
  40. package/dist/decorators/columns/array.column.js +8 -0
  41. package/dist/decorators/columns/array.column.js.map +1 -0
  42. package/dist/decorators/columns/bool.column.d.ts +2 -0
  43. package/dist/decorators/columns/bool.column.d.ts.map +1 -0
  44. package/dist/decorators/columns/bool.column.js +8 -0
  45. package/dist/decorators/columns/bool.column.js.map +1 -0
  46. package/dist/decorators/columns/column.factory.d.ts +5 -0
  47. package/dist/decorators/columns/column.factory.d.ts.map +1 -0
  48. package/dist/decorators/columns/column.factory.js +40 -0
  49. package/dist/decorators/columns/column.factory.js.map +1 -0
  50. package/dist/decorators/columns/column.type.d.ts +33 -0
  51. package/dist/decorators/columns/column.type.d.ts.map +1 -0
  52. package/dist/decorators/columns/column.type.js +3 -0
  53. package/dist/decorators/columns/column.type.js.map +1 -0
  54. package/dist/decorators/columns/column.util.d.ts +15 -0
  55. package/dist/decorators/columns/column.util.d.ts.map +1 -0
  56. package/dist/decorators/columns/column.util.js +82 -0
  57. package/dist/decorators/columns/column.util.js.map +1 -0
  58. package/dist/decorators/columns/date.column.d.ts +2 -0
  59. package/dist/decorators/columns/date.column.d.ts.map +1 -0
  60. package/dist/decorators/columns/date.column.js +8 -0
  61. package/dist/decorators/columns/date.column.js.map +1 -0
  62. package/dist/decorators/columns/enum.column.d.ts +3 -0
  63. package/dist/decorators/columns/enum.column.d.ts.map +1 -0
  64. package/dist/decorators/columns/enum.column.js +8 -0
  65. package/dist/decorators/columns/enum.column.js.map +1 -0
  66. package/dist/decorators/columns/index.d.ts +14 -0
  67. package/dist/decorators/columns/index.d.ts.map +1 -0
  68. package/dist/decorators/columns/index.js +30 -0
  69. package/dist/decorators/columns/index.js.map +1 -0
  70. package/dist/decorators/columns/nested.column.d.ts +4 -0
  71. package/dist/decorators/columns/nested.column.d.ts.map +1 -0
  72. package/dist/decorators/columns/nested.column.js +12 -0
  73. package/dist/decorators/columns/nested.column.js.map +1 -0
  74. package/dist/decorators/columns/number.column.d.ts +3 -0
  75. package/dist/decorators/columns/number.column.d.ts.map +1 -0
  76. package/dist/decorators/columns/number.column.js +15 -0
  77. package/dist/decorators/columns/number.column.js.map +1 -0
  78. package/dist/decorators/columns/primary.column.d.ts +3 -0
  79. package/dist/decorators/columns/primary.column.d.ts.map +1 -0
  80. package/dist/decorators/columns/primary.column.js +48 -0
  81. package/dist/decorators/columns/primary.column.js.map +1 -0
  82. package/dist/decorators/columns/string.column.d.ts +3 -0
  83. package/dist/decorators/columns/string.column.d.ts.map +1 -0
  84. package/dist/decorators/columns/string.column.js +25 -0
  85. package/dist/decorators/columns/string.column.js.map +1 -0
  86. package/dist/decorators/columns/swagger.column.d.ts +4 -0
  87. package/dist/decorators/columns/swagger.column.d.ts.map +1 -0
  88. package/dist/decorators/columns/swagger.column.js +40 -0
  89. package/dist/decorators/columns/swagger.column.js.map +1 -0
  90. package/dist/decorators/columns/transform.column.d.ts +4 -0
  91. package/dist/decorators/columns/transform.column.d.ts.map +1 -0
  92. package/dist/decorators/columns/transform.column.js +15 -0
  93. package/dist/decorators/columns/transform.column.js.map +1 -0
  94. package/dist/decorators/index.d.ts +1 -0
  95. package/dist/decorators/index.d.ts.map +1 -1
  96. package/dist/decorators/index.js +1 -0
  97. package/dist/decorators/index.js.map +1 -1
  98. package/dist/decorators/table.decorator.d.ts.map +1 -1
  99. package/dist/decorators/table.decorator.js +18 -12
  100. package/dist/decorators/table.decorator.js.map +1 -1
  101. package/dist/helpers/mysql.finder.d.ts.map +1 -1
  102. package/dist/helpers/mysql.finder.js.map +1 -1
  103. package/dist/helpers/mysql.helper.d.ts +21 -6
  104. package/dist/helpers/mysql.helper.d.ts.map +1 -1
  105. package/dist/helpers/mysql.helper.js +152 -82
  106. package/dist/helpers/mysql.helper.js.map +1 -1
  107. package/dist/helpers/mysql.utils.d.ts.map +1 -1
  108. package/dist/helpers/mysql.utils.js +28 -11
  109. package/dist/helpers/mysql.utils.js.map +1 -1
  110. package/dist/index.d.ts +1 -0
  111. package/dist/index.d.ts.map +1 -1
  112. package/dist/index.js +5 -0
  113. package/dist/index.js.map +1 -1
  114. package/dist/models/mysql.model.d.ts.map +1 -1
  115. package/dist/models/mysql.model.js.map +1 -1
  116. package/dist/models/mysql.option.d.ts +11 -2
  117. package/dist/models/mysql.option.d.ts.map +1 -1
  118. package/dist/mysql.config.d.ts +1 -17
  119. package/dist/mysql.config.d.ts.map +1 -1
  120. package/dist/mysql.config.js +1 -17
  121. package/dist/mysql.config.js.map +1 -1
  122. package/dist/mysql.exception.d.ts.map +1 -1
  123. package/dist/mysql.exception.js +48 -4
  124. package/dist/mysql.exception.js.map +1 -1
  125. package/dist/mysql.module.d.ts.map +1 -1
  126. package/dist/mysql.module.js.map +1 -1
  127. package/dist/mysql.repo.d.ts +8 -0
  128. package/dist/mysql.repo.d.ts.map +1 -1
  129. package/dist/mysql.repo.js +164 -33
  130. package/dist/mysql.repo.js.map +1 -1
  131. package/dist/mysql.service.d.ts.map +1 -1
  132. package/dist/mysql.service.js +8 -2
  133. package/dist/mysql.service.js.map +1 -1
  134. package/dist/services/index.d.ts +1 -0
  135. package/dist/services/index.d.ts.map +1 -1
  136. package/dist/services/index.js +1 -0
  137. package/dist/services/index.js.map +1 -1
  138. package/dist/services/mysql.dialect.d.ts +14 -0
  139. package/dist/services/mysql.dialect.d.ts.map +1 -0
  140. package/dist/services/mysql.dialect.js +50 -0
  141. package/dist/services/mysql.dialect.js.map +1 -0
  142. package/dist/services/mysql.strategy.d.ts +1 -1
  143. package/dist/services/mysql.strategy.d.ts.map +1 -1
  144. package/dist/services/mysql.strategy.js +1 -1
  145. package/dist/services/mysql.strategy.js.map +1 -1
  146. package/dist/tsconfig.tsbuildinfo +1 -1
  147. 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
- for (const [key, value] of Object.entries(condition)) {
18
- if (key === '$or') {
19
- const orConditions = value.map((c) => MysqlHelper.buildCondition(qb, c));
20
- qb.orWhere(orConditions.join(' OR '));
21
- }
22
- else if (key === '$and') {
23
- const andConditions = value.map((c) => MysqlHelper.buildCondition(qb, c));
24
- qb.andWhere(andConditions.join(' AND '));
25
- }
26
- else {
27
- const whereClause = MysqlHelper.buildCondition(qb, { [key]: value });
28
- qb.andWhere(whereClause);
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 buildCondition(qb, condition) {
33
- for (const [key, value] of Object.entries(condition)) {
34
- if (typeof value === 'object') {
35
- for (const [op, val] of Object.entries(value)) {
36
- switch (op) {
37
- case '$eq':
38
- qb.andWhere(`${qb.alias}.${key} = :${key}`, { [key]: val });
39
- break;
40
- case '$gt':
41
- qb.andWhere(`${qb.alias}.${key} > :${key}`, { [key]: val });
42
- break;
43
- case '$gte':
44
- qb.andWhere(`${qb.alias}.${key} >= :${key}`, { [key]: val });
45
- break;
46
- case '$lt':
47
- qb.andWhere(`${qb.alias}.${key} < :${key}`, { [key]: val });
48
- break;
49
- case '$lte':
50
- qb.andWhere(`${qb.alias}.${key} <= :${key}`, { [key]: val });
51
- break;
52
- case '$ne':
53
- qb.andWhere(`${qb.alias}.${key} != :${key}`, { [key]: val });
54
- break;
55
- case '$in':
56
- qb.andWhere(`${qb.alias}.${key} IN (:...${key})`, { [key]: val });
57
- break;
58
- case '$nin':
59
- qb.andWhere(`${qb.alias}.${key} NOT IN (:...${key})`, { [key]: val });
60
- break;
61
- case '$all':
62
- qb.andWhere(`${qb.alias}.${key} @> ARRAY[:...${key}]`, { [key]: val });
63
- break;
64
- case '$like':
65
- qb.andWhere(`${qb.alias}.${key} LIKE :${key}`, { [key]: `%${val}%` });
66
- break;
67
- case '$begin':
68
- qb.andWhere(`${qb.alias}.${key} LIKE :${key}`, { [key]: `${val}%` });
69
- break;
70
- case '$end':
71
- qb.andWhere(`${qb.alias}.${key} LIKE :${key}`, { [key]: `%${val}` });
72
- break;
73
- case '$exists':
74
- qb.andWhere(`${qb.alias}.${key} IS NOT NULL`);
75
- break;
76
- case '$nil':
77
- qb.andWhere(`${qb.alias}.${key} IS NULL`);
78
- break;
79
- case '$empty':
80
- qb.andWhere(`${qb.alias}.${key} = ''`);
81
- break;
82
- case '$not':
83
- qb.andWhere(`${qb.alias}.${key} != :${key}`, { [key]: val });
84
- break;
85
- case '$size':
86
- qb.andWhere(`array_length(${key}, 1) = :${key}`, { [key]: val });
87
- break;
88
- default:
89
- throw new Error(`Unsupported operator: ${op}`);
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
- else {
94
- qb.andWhere(`${qb.alias}.${key} = :${key}`, { [key]: value });
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 => `${qb.alias}.${field.trim()}`));
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(`${qb.alias}.${key}`, value === 'asc' ? 'ASC' : 'DESC');
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":"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"}
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;AAE7C,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,GAAE,GAAG,EAAO,GAAG,MAAM,CAWtE;AAED,wBAAgB,SAAS,CAAC,OAAO,EAAE,kBAAkB,CAAC,GAAG,CAAC,UAGzD"}
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
- sql = sql.replace('?', () => {
10
- if (typeof param === 'string')
11
- return `'${param}'`;
12
- else if (param instanceof Date)
13
- return `'${param.toISOString()}'`;
14
- else if (param === null || param === undefined)
15
- return 'NULL';
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":";;AAGA,4BAWC;AAED,8BAGC;AAnBD,yCAAwC;AAGxC,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,EAAE;QACzC,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,EAAE;YAC1B,IAAI,OAAO,KAAK,KAAK,QAAQ;gBAAE,OAAO,IAAI,KAAK,GAAG,CAAC;iBAC9C,IAAI,KAAK,YAAY,IAAI;gBAAE,OAAO,IAAI,KAAK,CAAC,WAAW,EAAE,GAAG,CAAC;iBAC7D,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS;gBAAE,OAAO,MAAM,CAAC;;gBACzD,OAAO,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC/B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IACH,OAAO,GAAG,CAAC;AACb,CAAC;AAED,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"}
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
@@ -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":";;;;;;;;;;;;;;;;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"}
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;AAED,qBAAa,UAAW,YAAW,WAAW;IAI5C,SAAS,CAAC,EAAE,IAAI,CAAC;IAKjB,SAAS,CAAC,EAAE,IAAI,CAAC;IAKjB,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;AAQ/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
+ {"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 IMysqlOption<T = any> extends SaveOptions, FindOneOptions<T> {
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;AAEtD,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,GAAG,CAAE,SAAQ,WAAW,EAAE,cAAc,CAAC,CAAC,CAAC;CAAG"}
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"}
@@ -10,23 +10,7 @@ export declare class MysqlSlaveConfig {
10
10
  export declare enum Dialect {
11
11
  MYSQL = "mysql",
12
12
  POSTGRES = "postgres",
13
- COCKROACHDB = "cockroachdb",
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,WAAW,gBAAgB;IAC3B,GAAG,QAAQ;IACX,OAAO,YAAY;IACnB,MAAM,WAAW;IACjB,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,YAAY,iBAAiB;IAC7B,KAAK,UAAU;IACf,MAAM,WAAW;IACjB,KAAK,UAAU;IACf,OAAO,YAAY;IACnB,YAAY,iBAAiB;IAC7B,eAAe,oBAAoB;IACnC,IAAI,SAAS;IACb,cAAc,mBAAmB;IACjC,SAAS,cAAc;IACvB,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,CAAQ;IAItB,SAAS,CAAC,EAAE,oBAAoB,CAAC;gBAErB,KAAK,EAAE,WAAW;CAW/B"}
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"}
@@ -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 = true;
96
+ this.sync = false;
113
97
  Object.assign(this, {
114
98
  ...props,
115
99
  benchmark: new MysqlBenchmarkConfig(props?.benchmark),
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.config.js","sourceRoot":"","sources":["../src/mysql.config.ts"],"names":[],"mappings":"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"}
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;AAInG,qBAAa,cAAe,SAAQ,uBAAuB;gBAC7C,GAAG,GAAE,MAA0B,EAAE,KAAK,CAAC,EAAE,GAAG;CAGzD;AAED,eAAO,MAAM,UAAU,iBAWrB,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"}
@@ -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
- const msg = (0, lodash_1.snakeCase)(err.message).toUpperCase();
21
- throw new MysqlException(msg, err);
19
+ throw new MysqlException(normalizeMysqlErrorCode(err), err);
22
20
  }
23
- throw new MysqlException(err, err.message);
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