@joktec/mysql 0.2.13 → 0.2.15

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 (171) hide show
  1. package/README.md +419 -79
  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 +533 -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 +29 -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 +10 -0
  35. package/dist/decorators/column.decorator.d.ts.map +1 -0
  36. package/dist/decorators/column.decorator.js +181 -0
  37. package/dist/decorators/column.decorator.js.map +1 -0
  38. package/dist/decorators/columns/array.column.d.ts +3 -0
  39. package/dist/decorators/columns/array.column.d.ts.map +1 -0
  40. package/dist/decorators/columns/array.column.js +13 -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 +42 -0
  49. package/dist/decorators/columns/column.factory.js.map +1 -0
  50. package/dist/decorators/columns/column.type.d.ts +136 -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 +22 -0
  55. package/dist/decorators/columns/column.util.d.ts.map +1 -0
  56. package/dist/decorators/columns/column.util.js +163 -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 +17 -0
  67. package/dist/decorators/columns/index.d.ts.map +1 -0
  68. package/dist/decorators/columns/index.js +33 -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 +16 -0
  77. package/dist/decorators/columns/number.column.js.map +1 -0
  78. package/dist/decorators/columns/object.column.d.ts +4 -0
  79. package/dist/decorators/columns/object.column.d.ts.map +1 -0
  80. package/dist/decorators/columns/object.column.js +13 -0
  81. package/dist/decorators/columns/object.column.js.map +1 -0
  82. package/dist/decorators/columns/primary.column.d.ts +3 -0
  83. package/dist/decorators/columns/primary.column.d.ts.map +1 -0
  84. package/dist/decorators/columns/primary.column.js +48 -0
  85. package/dist/decorators/columns/primary.column.js.map +1 -0
  86. package/dist/decorators/columns/string.column.d.ts +3 -0
  87. package/dist/decorators/columns/string.column.d.ts.map +1 -0
  88. package/dist/decorators/columns/string.column.js +28 -0
  89. package/dist/decorators/columns/string.column.js.map +1 -0
  90. package/dist/decorators/columns/swagger.column.d.ts +4 -0
  91. package/dist/decorators/columns/swagger.column.d.ts.map +1 -0
  92. package/dist/decorators/columns/swagger.column.js +49 -0
  93. package/dist/decorators/columns/swagger.column.js.map +1 -0
  94. package/dist/decorators/columns/timestamp.column.d.ts +6 -0
  95. package/dist/decorators/columns/timestamp.column.d.ts.map +1 -0
  96. package/dist/decorators/columns/timestamp.column.js +55 -0
  97. package/dist/decorators/columns/timestamp.column.js.map +1 -0
  98. package/dist/decorators/columns/transform.column.d.ts +4 -0
  99. package/dist/decorators/columns/transform.column.d.ts.map +1 -0
  100. package/dist/decorators/columns/transform.column.js +18 -0
  101. package/dist/decorators/columns/transform.column.js.map +1 -0
  102. package/dist/decorators/columns/virtual.column.d.ts +4 -0
  103. package/dist/decorators/columns/virtual.column.d.ts.map +1 -0
  104. package/dist/decorators/columns/virtual.column.js +23 -0
  105. package/dist/decorators/columns/virtual.column.js.map +1 -0
  106. package/dist/decorators/index.d.ts +3 -0
  107. package/dist/decorators/index.d.ts.map +1 -1
  108. package/dist/decorators/index.js +2 -0
  109. package/dist/decorators/index.js.map +1 -1
  110. package/dist/decorators/table.decorator.d.ts +31 -2
  111. package/dist/decorators/table.decorator.d.ts.map +1 -1
  112. package/dist/decorators/table.decorator.js +55 -18
  113. package/dist/decorators/table.decorator.js.map +1 -1
  114. package/dist/decorators/timestamp.decorator.d.ts +4 -0
  115. package/dist/decorators/timestamp.decorator.d.ts.map +1 -0
  116. package/dist/decorators/timestamp.decorator.js +19 -0
  117. package/dist/decorators/timestamp.decorator.js.map +1 -0
  118. package/dist/helpers/index.d.ts +0 -1
  119. package/dist/helpers/index.d.ts.map +1 -1
  120. package/dist/helpers/index.js +0 -1
  121. package/dist/helpers/index.js.map +1 -1
  122. package/dist/helpers/mysql.helper.d.ts +21 -6
  123. package/dist/helpers/mysql.helper.d.ts.map +1 -1
  124. package/dist/helpers/mysql.helper.js +152 -82
  125. package/dist/helpers/mysql.helper.js.map +1 -1
  126. package/dist/helpers/mysql.utils.d.ts.map +1 -1
  127. package/dist/helpers/mysql.utils.js +28 -11
  128. package/dist/helpers/mysql.utils.js.map +1 -1
  129. package/dist/index.d.ts +1 -0
  130. package/dist/index.d.ts.map +1 -1
  131. package/dist/index.js +6 -0
  132. package/dist/index.js.map +1 -1
  133. package/dist/models/mysql.model.d.ts.map +1 -1
  134. package/dist/models/mysql.model.js +4 -11
  135. package/dist/models/mysql.model.js.map +1 -1
  136. package/dist/models/mysql.option.d.ts +11 -2
  137. package/dist/models/mysql.option.d.ts.map +1 -1
  138. package/dist/mysql.config.d.ts +1 -17
  139. package/dist/mysql.config.d.ts.map +1 -1
  140. package/dist/mysql.config.js +1 -17
  141. package/dist/mysql.config.js.map +1 -1
  142. package/dist/mysql.exception.d.ts.map +1 -1
  143. package/dist/mysql.exception.js +48 -4
  144. package/dist/mysql.exception.js.map +1 -1
  145. package/dist/mysql.module.d.ts.map +1 -1
  146. package/dist/mysql.module.js.map +1 -1
  147. package/dist/mysql.repo.d.ts +9 -2
  148. package/dist/mysql.repo.d.ts.map +1 -1
  149. package/dist/mysql.repo.js +164 -48
  150. package/dist/mysql.repo.js.map +1 -1
  151. package/dist/mysql.service.d.ts.map +1 -1
  152. package/dist/mysql.service.js +8 -2
  153. package/dist/mysql.service.js.map +1 -1
  154. package/dist/services/index.d.ts +1 -0
  155. package/dist/services/index.d.ts.map +1 -1
  156. package/dist/services/index.js +1 -0
  157. package/dist/services/index.js.map +1 -1
  158. package/dist/services/mysql.dialect.d.ts +14 -0
  159. package/dist/services/mysql.dialect.d.ts.map +1 -0
  160. package/dist/services/mysql.dialect.js +50 -0
  161. package/dist/services/mysql.dialect.js.map +1 -0
  162. package/dist/services/mysql.strategy.d.ts +1 -1
  163. package/dist/services/mysql.strategy.d.ts.map +1 -1
  164. package/dist/services/mysql.strategy.js +1 -1
  165. package/dist/services/mysql.strategy.js.map +1 -1
  166. package/dist/tsconfig.tsbuildinfo +1 -1
  167. package/package.json +14 -10
  168. package/dist/helpers/mysql.finder.d.ts +0 -15
  169. package/dist/helpers/mysql.finder.d.ts.map +0 -1
  170. package/dist/helpers/mysql.finder.js +0 -128
  171. package/dist/helpers/mysql.finder.js.map +0 -1
@@ -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
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.exception.js","sourceRoot":"","sources":["../src/mysql.exception.ts"],"names":[],"mappings":";;;AAAA,uCAAmG;AACnG,mCAAmC;AACnC,qCAA2C;AAE3C,MAAa,cAAe,SAAQ,8BAAuB;IACzD,YAAY,MAAc,iBAAiB,EAAE,KAAW;QACtD,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC;CACF;AAJD,wCAIC;AAEY,QAAA,UAAU,GAAG,IAAA,0BAAmB,EAAC,KAAK,EAAE,OAA8B,EAAgB,EAAE;IACnG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACjC,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,0BAAgB,EAAE,CAAC;YACpC,MAAM,GAAG,GAAG,IAAA,kBAAS,EAAC,GAAG,CAAC,OAAO,CAAC,CAAC,WAAW,EAAE,CAAC;YACjD,MAAM,IAAI,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACrC,CAAC;QACD,MAAM,IAAI,cAAc,CAAC,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"mysql.exception.js","sourceRoot":"","sources":["../src/mysql.exception.ts"],"names":[],"mappings":";;;AAAA,uCAAmG;AACnG,qCAA2C;AAE3C,MAAa,cAAe,SAAQ,8BAAuB;IACzD,YAAY,MAAc,iBAAiB,EAAE,KAAW;QACtD,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;IACpB,CAAC;CACF;AAJD,wCAIC;AAKY,QAAA,UAAU,GAAG,IAAA,0BAAmB,EAAC,KAAK,EAAE,OAA8B,EAAgB,EAAE;IACnG,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IACjC,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,IAAI,GAAG,YAAY,0BAAgB,EAAE,CAAC;YACpC,MAAM,IAAI,cAAc,CAAC,uBAAuB,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;QAC9D,CAAC;QACD,IAAI,GAAG,YAAY,cAAc;YAAE,MAAM,GAAG,CAAC;QAC7C,MAAM,IAAI,cAAc,CAAC,iBAAiB,EAAE,GAAG,CAAC,CAAC;IACnD,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,SAAS,uBAAuB,CAAC,GAAqB;IACpD,MAAM,WAAW,GAAI,GAAW,CAAC,WAAW,IAAI,EAAE,CAAC;IACnD,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,IAAI,WAAW,CAAC,KAAK,IAAI,WAAW,CAAC,QAAQ,CAAC;IAE3E,QAAQ,IAAI,EAAE,CAAC;QACb,KAAK,cAAc,CAAC;QACpB,KAAK,IAAI,CAAC;QACV,KAAK,OAAO;YACV,OAAO,qBAAqB,CAAC;QAC/B,KAAK,sBAAsB,CAAC;QAC5B,KAAK,wBAAwB,CAAC;QAC9B,KAAK,sBAAsB,CAAC;QAC5B,KAAK,wBAAwB,CAAC;QAC9B,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,OAAO;YACV,OAAO,6BAA6B,CAAC;QACvC,KAAK,mBAAmB,CAAC;QACzB,KAAK,IAAI,CAAC;QACV,KAAK,OAAO;YACV,OAAO,0BAA0B,CAAC;QACpC,KAAK,oBAAoB,CAAC;QAC1B,KAAK,IAAI,CAAC;QACV,KAAK,OAAO;YACV,OAAO,sBAAsB,CAAC;QAChC,KAAK,kBAAkB,CAAC;QACxB,KAAK,IAAI,CAAC;QACV,KAAK,OAAO;YACV,OAAO,gBAAgB,CAAC;QAC1B,KAAK,sBAAsB,CAAC;QAC5B,KAAK,IAAI,CAAC;QACV,KAAK,OAAO;YACV,OAAO,oBAAoB,CAAC;QAC9B,KAAK,cAAc,CAAC;QACpB,KAAK,WAAW,CAAC;QACjB,KAAK,WAAW;YACd,OAAO,yBAAyB,CAAC;QACnC,KAAK,OAAO;YACV,OAAO,4BAA4B,CAAC;QACtC;YACE,OAAO,oBAAoB,CAAC;IAChC,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.module.d.ts","sourceRoot":"","sources":["../src/mysql.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,aAAa,EAAkB,MAAM,cAAc,CAAC;AAG7E,OAAO,EAGL,kBAAkB,EAGnB,MAAM,gBAAgB,CAAC;AAGxB,qBASa,WAAW;IACtB,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,kBAAkB,EAAE,GAAG,aAAa;CA2B7D"}
1
+ {"version":3,"file":"mysql.module.d.ts","sourceRoot":"","sources":["../src/mysql.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,aAAa,EAAkB,MAAM,cAAc,CAAC;AAG7E,OAAO,EAGL,kBAAkB,EAGnB,MAAM,gBAAgB,CAAC;AAGxB,qBASa,WAAW;IAItB,MAAM,CAAC,OAAO,CAAC,GAAG,IAAI,EAAE,kBAAkB,EAAE,GAAG,aAAa;CA2B7D"}
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.module.js","sourceRoot":"","sources":["../src/mysql.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,uCAA6E;AAC7E,yCAAwC;AACxC,mCAAiC;AACjC,iDAMwB;AACxB,mDAA+C;AAWxC,IAAM,WAAW,mBAAjB,MAAM,WAAW;IACtB,MAAM,CAAC,OAAO,CAAC,GAAG,IAA0B;QAC1C,MAAM,cAAc,GAAuB,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAY,EAAE,GAAuB,EAAE,EAAE;YACxG,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,qBAAc,CAAC,GAAG,IAAA,eAAO,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,mBAAmB,GAA4B,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC,MAAM,CACvE,CAAC,IAAY,EAAE,GAAuB,EAAE,EAAE;YACxC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,qBAAc,CAAC,GAAG,IAAA,eAAO,EAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC,EACD,EAAE,CACH,CAAC;QAEF,IAAI,IAAA,gBAAO,EAAC,cAAc,CAAC;YAAE,cAAc,CAAC,qBAAc,CAAC,GAAG,EAAE,CAAC;QACjE,IAAI,IAAA,gBAAO,EAAC,mBAAmB,CAAC;YAAE,mBAAmB,CAAC,qBAAc,CAAC,GAAG,EAAE,CAAC;QAE3E,OAAO;YACL,MAAM,EAAE,aAAW;YACnB,SAAS,EAAE;gBACT,4BAAY;gBACZ,EAAE,OAAO,EAAE,iCAAkB,EAAE,QAAQ,EAAE,cAAc,EAAE;gBACzD,EAAE,OAAO,EAAE,sCAAuB,EAAE,QAAQ,EAAE,mBAAmB,EAAE;aACpE;YACD,OAAO,EAAE,CAAC,4BAAY,CAAC;SACxB,CAAC;IACJ,CAAC;CACF,CAAA;AA5BY,kCAAW;sBAAX,WAAW;IATvB,IAAA,aAAM,GAAE;IACR,IAAA,aAAM,EAAC;QACN,SAAS,EAAE;YACT,4BAAY;YACZ,EAAE,OAAO,EAAE,iCAAkB,EAAE,QAAQ,EAAE,EAAE,CAAC,qBAAc,CAAC,EAAE,EAAE,EAAE,EAAE;YACnE,EAAE,OAAO,EAAE,sCAAuB,EAAE,QAAQ,EAAE,EAAE,CAAC,qBAAc,CAAC,EAAE,EAAE,EAAE,EAAE;SACzE;QACD,OAAO,EAAE,CAAC,4BAAY,CAAC;KACxB,CAAC;GACW,WAAW,CA4BvB"}
1
+ {"version":3,"file":"mysql.module.js","sourceRoot":"","sources":["../src/mysql.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,uCAA6E;AAC7E,yCAAwC;AACxC,mCAAiC;AACjC,iDAMwB;AACxB,mDAA+C;AAWxC,IAAM,WAAW,mBAAjB,MAAM,WAAW;IAItB,MAAM,CAAC,OAAO,CAAC,GAAG,IAA0B;QAC1C,MAAM,cAAc,GAAuB,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,IAAY,EAAE,GAAuB,EAAE,EAAE;YACxG,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,qBAAc,CAAC,GAAG,IAAA,eAAO,EAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACxD,OAAO,IAAI,CAAC;QACd,CAAC,EAAE,EAAE,CAAC,CAAC;QAEP,MAAM,mBAAmB,GAA4B,IAAA,eAAO,EAAC,IAAI,CAAC,CAAC,MAAM,CACvE,CAAC,IAAY,EAAE,GAAuB,EAAE,EAAE;YACxC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,qBAAc,CAAC,GAAG,IAAA,eAAO,EAAC,GAAG,CAAC,WAAW,CAAC,CAAC;YAC7D,OAAO,IAAI,CAAC;QACd,CAAC,EACD,EAAE,CACH,CAAC;QAEF,IAAI,IAAA,gBAAO,EAAC,cAAc,CAAC;YAAE,cAAc,CAAC,qBAAc,CAAC,GAAG,EAAE,CAAC;QACjE,IAAI,IAAA,gBAAO,EAAC,mBAAmB,CAAC;YAAE,mBAAmB,CAAC,qBAAc,CAAC,GAAG,EAAE,CAAC;QAE3E,OAAO;YACL,MAAM,EAAE,aAAW;YACnB,SAAS,EAAE;gBACT,4BAAY;gBACZ,EAAE,OAAO,EAAE,iCAAkB,EAAE,QAAQ,EAAE,cAAc,EAAE;gBACzD,EAAE,OAAO,EAAE,sCAAuB,EAAE,QAAQ,EAAE,mBAAmB,EAAE;aACpE;YACD,OAAO,EAAE,CAAC,4BAAY,CAAC;SACxB,CAAC;IACJ,CAAC;CACF,CAAA;AA/BY,kCAAW;sBAAX,WAAW;IATvB,IAAA,aAAM,GAAE;IACR,IAAA,aAAM,EAAC;QACN,SAAS,EAAE;YACT,4BAAY;YACZ,EAAE,OAAO,EAAE,iCAAkB,EAAE,QAAQ,EAAE,EAAE,CAAC,qBAAc,CAAC,EAAE,EAAE,EAAE,EAAE;YACnE,EAAE,OAAO,EAAE,sCAAuB,EAAE,QAAQ,EAAE,EAAE,CAAC,qBAAc,CAAC,EAAE,EAAE,EAAE,EAAE;SACzE;QACD,OAAO,EAAE,CAAC,4BAAY,CAAC;KACxB,CAAC;GACW,WAAW,CA+BvB"}
@@ -1,5 +1,5 @@
1
1
  import { ConfigService, Constructor, ICondition, KeyOf, LogService, OnApplicationBootstrap, OnModuleInit } from '@joktec/core';
2
- import { DeepPartial, EntityManager, FindManyOptions, Repository } from 'typeorm';
2
+ import { DeepPartial, EntityManager, Repository } from 'typeorm';
3
3
  import { SelectQueryBuilder } from 'typeorm/query-builder/SelectQueryBuilder';
4
4
  import { UpsertOptions } from 'typeorm/repository/UpsertOptions';
5
5
  import { IMysqlOption, IMysqlRequest, IMysqlResponse, MysqlId, MysqlModel } from './models';
@@ -16,11 +16,15 @@ export declare abstract class MysqlRepo<T extends MysqlModel, ID extends MysqlId
16
16
  onApplicationBootstrap(): void;
17
17
  get entityManager(): EntityManager;
18
18
  get repository(): Repository<T>;
19
+ private get dialect();
20
+ private getRepository;
19
21
  protected transform(docs: any | any[]): T | T[];
20
22
  qb(query?: IMysqlRequest<T>, opts?: IMysqlOption<T>): SelectQueryBuilder<T>;
21
- finder(query?: IMysqlRequest<T>, opts?: IMysqlOption<T>): FindManyOptions<T>;
22
23
  private whereById;
23
24
  paginate(query: IMysqlRequest<T>, opts?: IMysqlOption<T>): Promise<IMysqlResponse<T>>;
25
+ private paginateByCursor;
26
+ private assertCursorColumns;
27
+ private applyCursorCondition;
24
28
  find(query: IMysqlRequest<T>, opts?: IMysqlOption<T>): Promise<T[]>;
25
29
  count(query: IMysqlRequest<T>, opts?: IMysqlOption<T>): Promise<number>;
26
30
  findOne(cond: ID | ICondition<T>, query?: Omit<IMysqlRequest<T>, 'condition'>, opts?: IMysqlOption<T>): Promise<T>;
@@ -36,5 +40,8 @@ export declare abstract class MysqlRepo<T extends MysqlModel, ID extends MysqlId
36
40
  bulkUpsert(body: DeepPartial<T>[], onConflicts: KeyOf<T>[], opts?: IMysqlOption<T> & Omit<UpsertOptions<T>, 'conflictPaths'> & {
37
41
  chunkSize?: number;
38
42
  }): Promise<T[]>;
43
+ private reloadUpsertResult;
44
+ private resolveReloadCondition;
45
+ private pickDefined;
39
46
  }
40
47
  //# sourceMappingURL=mysql.repo.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.repo.d.ts","sourceRoot":"","sources":["../src/mysql.repo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mysql.repo.d.ts","sourceRoot":"","sources":["../src/mysql.repo.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,7 @@ const core_1 = require("@joktec/core");
14
14
  const utils_1 = require("@joktec/utils");
15
15
  const lodash_1 = require("lodash");
16
16
  const helpers_1 = require("./helpers");
17
+ const mysql_config_1 = require("./mysql.config");
17
18
  const mysql_exception_1 = require("./mysql.exception");
18
19
  const mysql_service_1 = require("./mysql.service");
19
20
  let MysqlRepo = class MysqlRepo {
@@ -32,6 +33,15 @@ let MysqlRepo = class MysqlRepo {
32
33
  get repository() {
33
34
  return this.mysqlService.getRepository(this.model, this.conId);
34
35
  }
36
+ get dialect() {
37
+ return this.mysqlService.getConfig(this.conId).dialect || mysql_config_1.Dialect.MYSQL;
38
+ }
39
+ getRepository(opts = {}) {
40
+ const manager = opts.queryRunner?.manager || opts.manager;
41
+ if (manager)
42
+ return manager.getRepository(this.model);
43
+ return this.repository;
44
+ }
35
45
  transform(docs) {
36
46
  if ((0, lodash_1.isNil)(docs))
37
47
  return null;
@@ -41,18 +51,19 @@ let MysqlRepo = class MysqlRepo {
41
51
  return ((0, lodash_1.isArray)(docs) ? transformDocs : transformDocs[0]);
42
52
  }
43
53
  qb(query = {}, opts = {}) {
44
- const metadata = Reflect.getMetadata('searchableKeywords', this.model);
45
- const qb = this.repository.createQueryBuilder(this.model.name);
54
+ const repository = this.getRepository(opts);
55
+ const context = { metadata: repository.metadata, dialect: this.dialect };
56
+ const qb = repository.createQueryBuilder(this.model.name);
46
57
  if (query.condition)
47
- helpers_1.MysqlHelper.applyCondition(qb, query.condition);
58
+ helpers_1.MysqlHelper.applyCondition(qb, query.condition, context);
48
59
  if (query.select)
49
- helpers_1.MysqlHelper.applyProjection(qb, query.select);
60
+ helpers_1.MysqlHelper.applyProjection(qb, query.select, context);
50
61
  if (query.sort)
51
- helpers_1.MysqlHelper.applyOrder(qb, query.sort);
62
+ helpers_1.MysqlHelper.applyOrder(qb, query.sort, context);
52
63
  helpers_1.MysqlHelper.applyPagination(qb, query);
53
64
  if (query.populate)
54
- helpers_1.MysqlHelper.applyRelations(qb, query.populate);
55
- if (opts.withDeleted)
65
+ helpers_1.MysqlHelper.applyRelations(qb, query.populate, context);
66
+ if (query.withDeleted || opts.withDeleted)
56
67
  qb.withDeleted();
57
68
  if (opts.comment)
58
69
  qb.comment(opts.comment);
@@ -66,42 +77,112 @@ let MysqlRepo = class MysqlRepo {
66
77
  }
67
78
  return qb;
68
79
  }
69
- finder(query = {}, opts = {}) {
70
- const options = helpers_1.MysqlFinder.parseFilter(query);
71
- const { limit, offset } = helpers_1.MysqlFinder.parsePagination(query);
72
- if (query.select)
73
- options.select = helpers_1.MysqlFinder.parseProjection(query.select);
74
- if (query.sort)
75
- options.order = helpers_1.MysqlFinder.parseOrder(query.sort);
76
- if (offset !== undefined)
77
- options.skip = offset;
78
- if (limit !== undefined)
79
- options.take = limit;
80
- if (query.populate)
81
- options.relations = helpers_1.MysqlFinder.parseRelations(query.populate);
82
- return { ...opts, ...options };
83
- }
84
80
  whereById(pkValue) {
85
81
  const primaryColumns = this.repository.metadata.primaryColumns.map(pk => pk.propertyName);
86
- return primaryColumns.reduce((curr, acc) => {
87
- curr[acc] = pkValue;
88
- return curr;
89
- }, {});
82
+ if (primaryColumns.length !== 1) {
83
+ throw new mysql_exception_1.MysqlException('MYSQL_COMPOSITE_PRIMARY_KEY_REQUIRES_CONDITION', {
84
+ model: this.model.name,
85
+ primaryColumns,
86
+ });
87
+ }
88
+ return { [primaryColumns[0]]: pkValue };
90
89
  }
91
90
  async paginate(query, opts = {}) {
91
+ if (core_1.CursorPagination.isCursorRequest(query))
92
+ return this.paginateByCursor(query, opts);
92
93
  const findQuery = { ...query };
93
- const countQuery = (0, lodash_1.omit)(query, ['select', 'page', 'limit', 'offset', 'sort']);
94
+ const countQuery = (0, lodash_1.omit)(query, [
95
+ 'select',
96
+ 'page',
97
+ 'limit',
98
+ 'offset',
99
+ 'cursor',
100
+ 'cursorKey',
101
+ 'sort',
102
+ ]);
94
103
  const [items, total] = await Promise.all([this.find(findQuery, opts), this.count(countQuery, opts)]);
95
104
  return { items, total };
96
105
  }
106
+ async paginateByCursor(query, opts = {}) {
107
+ const limit = core_1.CursorPagination.getLimit(query.limit);
108
+ const primaryKeys = this.repository.metadata.primaryColumns.map(pk => pk.propertyName);
109
+ const defaultKeys = primaryKeys.length ? ['createdAt', ...primaryKeys] : ['createdAt'];
110
+ let cursor;
111
+ try {
112
+ cursor = core_1.CursorPagination.resolve({
113
+ cursor: query.cursor,
114
+ cursorKey: query.cursorKey,
115
+ defaultKeys,
116
+ tieBreakerKeys: primaryKeys,
117
+ sort: query.sort,
118
+ });
119
+ }
120
+ catch (err) {
121
+ throw new mysql_exception_1.MysqlException('MYSQL_INVALID_CURSOR', err);
122
+ }
123
+ this.assertCursorColumns(cursor.keys, opts);
124
+ const findQuery = (0, lodash_1.omit)(query, ['page', 'limit', 'offset', 'cursor', 'cursorKey', 'sort']);
125
+ const qb = this.qb(findQuery, opts);
126
+ const cursorContext = { metadata: this.getRepository(opts).metadata, dialect: this.dialect };
127
+ this.applyCursorCondition(qb, cursor.keys, cursor.directions, cursor.values, opts);
128
+ cursor.keys.forEach((key, index) => {
129
+ qb.addOrderBy(helpers_1.MysqlHelper.column(qb, key, cursorContext), cursor.directions[index] === 'asc' ? 'ASC' : 'DESC');
130
+ });
131
+ qb.take(limit + 1);
132
+ const countQuery = (0, lodash_1.omit)(query, [
133
+ 'select',
134
+ 'page',
135
+ 'limit',
136
+ 'offset',
137
+ 'cursor',
138
+ 'cursorKey',
139
+ 'sort',
140
+ ]);
141
+ const [rawItems, total] = await Promise.all([qb.getMany(), this.count(countQuery, opts)]);
142
+ const transformedItems = this.transform(rawItems);
143
+ const { items, hasNextPage, nextCursor } = core_1.CursorPagination.slice(transformedItems, limit, cursor.keys, cursor.directions);
144
+ return { items, total, hasNextPage, nextCursor };
145
+ }
146
+ assertCursorColumns(keys, opts = {}) {
147
+ const repository = this.getRepository(opts);
148
+ const columnPaths = new Set(repository.metadata.columns.map(column => column.propertyPath || column.propertyName));
149
+ const invalidKey = keys.find(key => !columnPaths.has(key));
150
+ if (invalidKey)
151
+ throw new mysql_exception_1.MysqlException('MYSQL_UNKNOWN_COLUMN', { key: invalidKey, model: this.model.name });
152
+ }
153
+ applyCursorCondition(qb, keys, directions, values, opts = {}) {
154
+ if (!values?.length)
155
+ return;
156
+ const context = { metadata: this.getRepository(opts).metadata, dialect: this.dialect };
157
+ const columns = keys.map(key => helpers_1.MysqlHelper.column(qb, key, context));
158
+ const clauses = columns.map((column, index) => {
159
+ const equality = keys.slice(0, index).map((equalityKey, equalityIndex) => {
160
+ const param = `cursor_${equalityIndex}_eq`;
161
+ qb.setParameter(param, values[equalityIndex]);
162
+ return `${helpers_1.MysqlHelper.column(qb, equalityKey, context)} = :${param}`;
163
+ });
164
+ const operator = directions[index] === 'asc' ? '>' : '<';
165
+ const param = `cursor_${index}`;
166
+ qb.setParameter(param, values[index]);
167
+ return [...equality, `${column} ${operator} :${param}`].join(' AND ');
168
+ });
169
+ qb.andWhere(`(${clauses.map(clause => `(${clause})`).join(' OR ')})`);
170
+ }
97
171
  async find(query, opts = {}) {
98
- const options = this.finder(query, opts);
99
- const docs = await this.repository.find(options);
172
+ const docs = await this.qb(query, opts).getMany();
100
173
  return this.transform(docs);
101
174
  }
102
175
  async count(query, opts = {}) {
103
- const options = this.finder(query, opts);
104
- return this.repository.count(options);
176
+ const countQuery = (0, lodash_1.omit)(query, [
177
+ 'select',
178
+ 'page',
179
+ 'limit',
180
+ 'offset',
181
+ 'cursor',
182
+ 'cursorKey',
183
+ 'sort',
184
+ ]);
185
+ return this.qb(countQuery, opts).getCount();
105
186
  }
106
187
  async findOne(cond, query = {}, opts = {}) {
107
188
  const condition = {};
@@ -110,14 +191,14 @@ let MysqlRepo = class MysqlRepo {
110
191
  else
111
192
  Object.assign(condition, cond);
112
193
  const mergeQuery = Object.assign({}, query, { condition });
113
- const options = this.finder(mergeQuery, opts);
114
- const doc = await this.repository.findOne(options);
194
+ const doc = await this.qb({ ...mergeQuery, limit: 1 }, opts).getOne();
115
195
  return this.transform(doc);
116
196
  }
117
197
  async create(body, opts = {}) {
118
198
  const transformBody = this.transform(body);
119
- const entity = this.repository.create(transformBody);
120
- return this.repository.save(entity, opts);
199
+ const repository = this.getRepository(opts);
200
+ const entity = repository.create(transformBody);
201
+ return repository.save(entity, opts);
121
202
  }
122
203
  async update(cond, body, options = {}) {
123
204
  const condition = {};
@@ -125,45 +206,80 @@ let MysqlRepo = class MysqlRepo {
125
206
  Object.assign(condition, { ...this.whereById(cond) });
126
207
  else
127
208
  Object.assign(condition, cond);
128
- const entity = await this.findOne(condition, options);
209
+ const entity = await this.findOne(condition, {}, options);
129
210
  if (!entity)
130
211
  return null;
131
212
  const transformBody = this.transform({ ...entity, ...body });
132
- const doc = await this.repository.save(transformBody, options);
213
+ const doc = await this.getRepository(options).save(transformBody, options);
133
214
  return this.transform(doc);
134
215
  }
135
216
  async delete(cond, opts = {}) {
136
- const entity = await this.findOne(cond, opts);
217
+ const entity = await this.findOne(cond, { withDeleted: opts.withDeleted }, opts);
137
218
  if (!entity)
138
219
  return null;
139
- const func = opts?.force ? this.repository.remove : this.repository.softRemove;
140
- const doc = await func(entity);
220
+ const repository = this.getRepository(opts);
221
+ const doc = opts?.force || !repository.metadata.deleteDateColumn
222
+ ? await repository.remove(entity, opts)
223
+ : await repository.softRemove(entity, opts);
141
224
  return this.transform(doc);
142
225
  }
143
226
  async restore(cond, opts = {}) {
144
- const entity = await this.findOne(cond, opts);
227
+ const entity = await this.findOne(cond, { withDeleted: true }, opts);
145
228
  if (!entity)
146
229
  return null;
147
- const doc = await this.repository.recover(entity);
230
+ const doc = await this.getRepository(opts).recover(entity, opts);
148
231
  return this.transform(doc);
149
232
  }
150
233
  async upsert(body, onConflicts, opts = {}) {
151
- const transformBody = this.repository.create(body);
152
- const result = await this.repository.upsert(transformBody, { ...opts, conflictPaths: onConflicts });
153
- return this.transform(result.generatedMaps[0]);
234
+ const repository = this.getRepository(opts);
235
+ const transformBody = repository.create(body);
236
+ const result = await repository.upsert(transformBody, { ...opts, conflictPaths: onConflicts });
237
+ return this.reloadUpsertResult(transformBody, result.generatedMaps?.[0], onConflicts, opts);
154
238
  }
155
239
  async bulkUpsert(body, onConflicts, opts = {}) {
156
240
  const chunkSize = (0, utils_1.toInt)(opts?.chunkSize, 1000);
157
241
  const chunkItems = (0, lodash_1.chunk)(body, chunkSize);
158
242
  const results = [];
243
+ const repository = this.getRepository(opts);
159
244
  for (const chunkItem of chunkItems) {
160
- const transformBody = this.repository.create(chunkItem);
161
- const result = await this.repository.upsert(transformBody, { ...opts, conflictPaths: onConflicts });
162
- const transformResult = this.transform(result.generatedMaps);
245
+ const transformBody = repository.create(chunkItem);
246
+ const result = await repository.upsert(transformBody, { ...opts, conflictPaths: onConflicts });
247
+ const transformResult = await Promise.all(transformBody.map((item, index) => this.reloadUpsertResult(item, result.generatedMaps?.[index], onConflicts, opts)));
163
248
  results.push(transformResult);
164
249
  }
165
250
  return results.flat();
166
251
  }
252
+ async reloadUpsertResult(body, generatedMap, onConflicts, opts) {
253
+ if (opts.reload === false && generatedMap)
254
+ return this.transform(generatedMap);
255
+ const condition = this.resolveReloadCondition(body, generatedMap, onConflicts);
256
+ if (!condition) {
257
+ if (generatedMap)
258
+ return this.transform(generatedMap);
259
+ throw new mysql_exception_1.MysqlException('MYSQL_UPSERT_RELOAD_FAILED', { model: this.model.name, onConflicts });
260
+ }
261
+ const doc = await this.findOne(condition, {}, opts);
262
+ if (!doc)
263
+ throw new mysql_exception_1.MysqlException('MYSQL_UPSERT_RELOAD_FAILED', { model: this.model.name, condition });
264
+ return doc;
265
+ }
266
+ resolveReloadCondition(body, generatedMap, onConflicts) {
267
+ const source = { ...body, ...(generatedMap || {}) };
268
+ const primaryKeys = this.repository.metadata.primaryColumns.map(column => column.propertyName);
269
+ const primaryCondition = this.pickDefined(source, primaryKeys);
270
+ if (primaryCondition)
271
+ return primaryCondition;
272
+ return this.pickDefined(source, onConflicts);
273
+ }
274
+ pickDefined(source, keys) {
275
+ const entries = keys.map(key => [key, source[key]]);
276
+ if (!entries.length || entries.some(([, value]) => (0, lodash_1.isNil)(value)))
277
+ return null;
278
+ return entries.reduce((acc, [key, value]) => {
279
+ acc[key] = value;
280
+ return acc;
281
+ }, {});
282
+ }
167
283
  };
168
284
  exports.MysqlRepo = MysqlRepo;
169
285
  __decorate([
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.repo.js","sourceRoot":"","sources":["../src/mysql.repo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mysql.repo.js","sourceRoot":"","sources":["../src/mysql.repo.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.service.d.ts","sourceRoot":"","sources":["../src/mysql.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAA6C,MAAM,cAAc,CAAC;AAE7G,OAAO,EAAgB,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE9E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAEL,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EAExB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAK7C,qBACa,YAAa,SAAQ,qBAAqB,CAAC,WAAW,EAAE,UAAU,CAAE,YAAW,WAAW;IAEvE,OAAO,CAAC,aAAa;IAChB,OAAO,CAAC,kBAAkB;gBADvB,aAAa,EAAE,kBAAkB,EAC5B,kBAAkB,EAAE,uBAAuB;cAMtE,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAqBxD,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,GAAE,MAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAkBxE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,GAAE,MAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAStE,aAAa,CAAC,KAAK,GAAE,MAAuB,GAAG,UAAU;IAIzD,gBAAgB,CAAC,KAAK,GAAE,MAAuB,GAAG,aAAa;IAI/D,aAAa,CAAC,CAAC,SAAS,UAAU,EACvC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,EAC3B,KAAK,GAAE,MAAuB,GAC7B,UAAU,CAAC,CAAC,CAAC;CAGjB"}
1
+ {"version":3,"file":"mysql.service.d.ts","sourceRoot":"","sources":["../src/mysql.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,WAAW,EAA6C,MAAM,cAAc,CAAC;AAE7G,OAAO,EAAgB,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAE9E,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAEL,WAAW,EACX,kBAAkB,EAClB,uBAAuB,EAExB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAQ7C,qBACa,YAAa,SAAQ,qBAAqB,CAAC,WAAW,EAAE,UAAU,CAAE,YAAW,WAAW;IAEvE,OAAO,CAAC,aAAa;IAChB,OAAO,CAAC,kBAAkB;gBADvB,aAAa,EAAE,kBAAkB,EAC5B,kBAAkB,EAAE,uBAAuB;cAMtE,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAyBxD,KAAK,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,GAAE,MAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAmBxE,IAAI,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,GAAE,MAAuB,GAAG,OAAO,CAAC,IAAI,CAAC;IAWtE,aAAa,CAAC,KAAK,GAAE,MAAuB,GAAG,UAAU;IAIzD,gBAAgB,CAAC,KAAK,GAAE,MAAuB,GAAG,aAAa;IAO/D,aAAa,CAAC,CAAC,SAAS,UAAU,EACvC,WAAW,EAAE,WAAW,CAAC,CAAC,CAAC,EAC3B,KAAK,GAAE,MAAuB,GAC7B,UAAU,CAAC,CAAC,CAAC;CAGjB"}
@@ -27,6 +27,7 @@ let MysqlService = class MysqlService extends core_1.AbstractClientService {
27
27
  this.subscriberRegistry = subscriberRegistry;
28
28
  }
29
29
  async init(config) {
30
+ (0, services_1.assertFirstClassDialect)(config.dialect);
30
31
  const connection = (0, lodash_1.pick)(config, ['host', 'port', 'username', 'password', 'database']);
31
32
  const options = {
32
33
  ...config,
@@ -41,13 +42,14 @@ let MysqlService = class MysqlService extends core_1.AbstractClientService {
41
42
  options['replication'] = { master: { ...connection }, slaves: [...config.slaves] };
42
43
  }
43
44
  const AppDataSource = new typeorm_1.DataSource(options);
44
- this.logService.info('`%s` Connection to MySQL established on host %s', config.conId, config.host);
45
+ this.logService.info('`%s` MySQL datasource created on host %s', config.conId, config.host);
45
46
  return AppDataSource;
46
47
  }
47
48
  async start(client, conId = core_1.DEFAULT_CON_ID) {
48
49
  const config = this.getConfig(conId);
49
50
  try {
50
- await client.initialize();
51
+ if (!client.isInitialized)
52
+ await client.initialize();
51
53
  this.logService.info('`%s` Connected to MySQL successfully', conId);
52
54
  if (this.modelRegistry[conId]) {
53
55
  if (config.sync) {
@@ -58,15 +60,19 @@ let MysqlService = class MysqlService extends core_1.AbstractClientService {
58
60
  }
59
61
  catch (err) {
60
62
  this.logService.error(err, '`%s` Error when connecting to MySQL', conId);
63
+ throw err;
61
64
  }
62
65
  }
63
66
  async stop(client, conId = core_1.DEFAULT_CON_ID) {
64
67
  try {
68
+ if (!client.isInitialized)
69
+ return;
65
70
  await client.destroy();
66
71
  this.logService.warn('`%s` Close connection to MySQL successfully', conId);
67
72
  }
68
73
  catch (err) {
69
74
  this.logService.error(err, '`%s` Error when close connection to MySQL', conId);
75
+ throw err;
70
76
  }
71
77
  }
72
78
  getDataSource(conId = core_1.DEFAULT_CON_ID) {
@@ -1 +1 @@
1
- {"version":3,"file":"mysql.service.js","sourceRoot":"","sources":["../src/mysql.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mysql.service.js","sourceRoot":"","sources":["../src/mysql.service.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
1
  export * from './mysql.benchmark';
2
+ export * from './mysql.dialect';
2
3
  export * from './mysql.strategy';
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,mBAAmB,CAAC;AAClC,cAAc,iBAAiB,CAAC;AAChC,cAAc,kBAAkB,CAAC"}
@@ -15,5 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./mysql.benchmark"), exports);
18
+ __exportStar(require("./mysql.dialect"), exports);
18
19
  __exportStar(require("./mysql.strategy"), exports);
19
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,mDAAiC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,kDAAgC;AAChC,mDAAiC"}
@@ -0,0 +1,14 @@
1
+ import { Dialect } from '../mysql.config';
2
+ export interface MysqlDialectCapabilities {
3
+ dialect: Dialect;
4
+ firstClass: boolean;
5
+ caseInsensitiveLike: 'LIKE' | 'ILIKE';
6
+ arrayOperators: boolean;
7
+ fullTextIndex: boolean;
8
+ generatedMapsReliable: boolean;
9
+ }
10
+ export declare const FIRST_CLASS_DIALECTS: Dialect[];
11
+ export declare function isFirstClassDialect(dialect: Dialect): boolean;
12
+ export declare function getMysqlDialectCapabilities(dialect?: Dialect): MysqlDialectCapabilities;
13
+ export declare function assertFirstClassDialect(dialect: Dialect): void;
14
+ //# sourceMappingURL=mysql.dialect.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mysql.dialect.d.ts","sourceRoot":"","sources":["../../src/services/mysql.dialect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAG1C,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,mBAAmB,EAAE,MAAM,GAAG,OAAO,CAAC;IACtC,cAAc,EAAE,OAAO,CAAC;IACxB,aAAa,EAAE,OAAO,CAAC;IACvB,qBAAqB,EAAE,OAAO,CAAC;CAChC;AAED,eAAO,MAAM,oBAAoB,EAAE,OAAO,EAAuD,CAAC;AAKlG,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAE7D;AAKD,wBAAgB,2BAA2B,CAAC,OAAO,GAAE,OAAuB,GAAG,wBAAwB,CA+BtG;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAI9D"}