wok-server 0.5.0 → 0.7.0

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 (380) hide show
  1. package/README.en.md +61 -0
  2. package/README.md +44 -29
  3. package/dist/cache/cache.js +98 -98
  4. package/dist/cache/config.js +19 -19
  5. package/dist/cache/index.js +27 -27
  6. package/dist/cache/purge-task.js +46 -46
  7. package/dist/cache/stat.js +47 -47
  8. package/dist/config/convert.js +36 -36
  9. package/dist/config/exception.js +14 -14
  10. package/dist/config/index.js +81 -81
  11. package/dist/http-client/index.js +136 -136
  12. package/dist/i18n/ar.js +17 -17
  13. package/dist/i18n/de.js +17 -17
  14. package/dist/i18n/en-us.js +17 -17
  15. package/dist/i18n/es.js +17 -17
  16. package/dist/i18n/fr.js +17 -17
  17. package/dist/i18n/i18n.js +231 -231
  18. package/dist/i18n/index.js +52 -52
  19. package/dist/i18n/ja.js +17 -17
  20. package/dist/i18n/ko.js +17 -17
  21. package/dist/i18n/msg.js +2 -2
  22. package/dist/i18n/pt.js +17 -17
  23. package/dist/i18n/ru.js +17 -17
  24. package/dist/i18n/tag.js +18 -18
  25. package/dist/i18n/zh-HK.js +17 -17
  26. package/dist/i18n/zh-TW.js +17 -17
  27. package/dist/i18n/zh-cn.js +17 -17
  28. package/dist/index.js +14 -14
  29. package/dist/lock/index.js +114 -114
  30. package/dist/log/config.js +35 -35
  31. package/dist/log/date.js +21 -21
  32. package/dist/log/file.js +198 -198
  33. package/dist/log/index.js +135 -135
  34. package/dist/log/level.js +33 -33
  35. package/dist/log/log.js +56 -56
  36. package/dist/log/store.js +19 -19
  37. package/dist/mongodb/collection.js +2 -2
  38. package/dist/mongodb/config.js +34 -34
  39. package/dist/mongodb/doc.js +2 -2
  40. package/dist/mongodb/exception.js +14 -14
  41. package/dist/mongodb/index.js +58 -58
  42. package/dist/mongodb/manager/base.js +563 -563
  43. package/dist/mongodb/manager/index.js +63 -63
  44. package/dist/mongodb/manager/tx-strict.js +84 -84
  45. package/dist/mongodb/manager/tx.js +30 -30
  46. package/dist/mongodb/migration.js +52 -52
  47. package/dist/mvc/access-log.js +33 -33
  48. package/dist/mvc/config.js +27 -27
  49. package/dist/mvc/exchange.js +113 -113
  50. package/dist/mvc/handler/index.js +7 -6
  51. package/dist/mvc/handler/json.js +65 -65
  52. package/dist/mvc/handler/restful.js +35 -35
  53. package/dist/mvc/handler/sse.js +65 -0
  54. package/dist/mvc/handler/upload.js +31 -31
  55. package/dist/mvc/index.js +50 -50
  56. package/dist/mvc/interceptor.js +2 -2
  57. package/dist/mvc/query.js +43 -43
  58. package/dist/mvc/render/file.js +132 -132
  59. package/dist/mvc/render/html/html.js +90 -90
  60. package/dist/mvc/render/html/index.js +18 -18
  61. package/dist/mvc/render/html/style.js +2 -2
  62. package/dist/mvc/render/index.js +7 -7
  63. package/dist/mvc/render/json.js +26 -26
  64. package/dist/mvc/render/text.js +16 -16
  65. package/dist/mvc/router.js +2 -2
  66. package/dist/mvc/server.js +272 -272
  67. package/dist/mvc/static/header.js +67 -67
  68. package/dist/mvc/static/index.js +6 -6
  69. package/dist/mvc/static/mime-type.js +84 -84
  70. package/dist/mvc/static/server-cache-config.js +66 -66
  71. package/dist/mvc/static/server-cache.js +133 -133
  72. package/dist/mvc/static/static-handler.js +372 -372
  73. package/dist/mysql/config.js +51 -51
  74. package/dist/mysql/exception.js +14 -14
  75. package/dist/mysql/index.js +87 -87
  76. package/dist/mysql/manager/base.js +278 -239
  77. package/dist/mysql/manager/index.js +107 -107
  78. package/dist/mysql/manager/ops/count.js +20 -20
  79. package/dist/mysql/manager/ops/criteria.js +381 -356
  80. package/dist/mysql/manager/ops/delete.js +59 -65
  81. package/dist/mysql/manager/ops/exist.js +26 -26
  82. package/dist/mysql/manager/ops/find.js +149 -169
  83. package/dist/mysql/manager/ops/index.js +16 -14
  84. package/dist/mysql/manager/ops/insert.js +132 -106
  85. package/dist/mysql/manager/ops/modify.js +10 -10
  86. package/dist/mysql/manager/ops/order-by.js +28 -0
  87. package/dist/mysql/manager/ops/paginate.js +48 -23
  88. package/dist/mysql/manager/ops/query.js +9 -9
  89. package/dist/mysql/manager/ops/update.js +222 -216
  90. package/dist/mysql/manager/ops/upsert.js +178 -0
  91. package/dist/mysql/manager/ops/utils.js +28 -24
  92. package/dist/mysql/manager/tx-strict.js +103 -103
  93. package/dist/mysql/manager/tx.js +30 -30
  94. package/dist/mysql/manager/utils.js +56 -56
  95. package/dist/mysql/migration.js +136 -136
  96. package/dist/mysql/table-info.js +8 -8
  97. package/dist/task/daily.js +59 -59
  98. package/dist/task/fixed-delay.js +38 -38
  99. package/dist/task/fixed-rate.js +42 -42
  100. package/dist/task/index.js +9 -9
  101. package/dist/task/task.js +56 -56
  102. package/dist/validation/exception.js +36 -36
  103. package/dist/validation/index.js +40 -40
  104. package/dist/validation/validator/array.js +34 -34
  105. package/dist/validation/validator/enum.js +28 -28
  106. package/dist/validation/validator/index.js +14 -14
  107. package/dist/validation/validator/length.js +40 -40
  108. package/dist/validation/validator/max-length.js +35 -35
  109. package/dist/validation/validator/max.js +29 -29
  110. package/dist/validation/validator/min-length.js +33 -33
  111. package/dist/validation/validator/min.js +29 -29
  112. package/dist/validation/validator/not-blank.js +33 -33
  113. package/dist/validation/validator/not-null.js +21 -21
  114. package/dist/validation/validator/plain-obj.js +32 -32
  115. package/dist/validation/validator/regexp.js +34 -34
  116. package/documentation/en/cache.md +56 -0
  117. package/documentation/en/config.md +96 -0
  118. package/documentation/en/engineering.md +256 -0
  119. package/documentation/en/http-client.md +32 -0
  120. package/documentation/en/i18n.md +143 -0
  121. package/documentation/en/index.md +24 -0
  122. package/documentation/en/lock.md +51 -0
  123. package/documentation/en/log.md +109 -0
  124. package/documentation/en/mongodb.md +256 -0
  125. package/documentation/en/mvc.md +688 -0
  126. package/documentation/en/mysql.md +682 -0
  127. package/documentation/en/task.md +45 -0
  128. package/documentation/en/test.md +56 -0
  129. package/documentation/en/validate.md +130 -0
  130. package/documentation/zh-cn/mvc.md +66 -24
  131. package/documentation/zh-cn/mysql.md +146 -17
  132. package/package.json +4 -1
  133. package/skills/wok-server-api-rules/SKILL.md +350 -0
  134. package/skills/wok-server-cache/SKILL.md +216 -0
  135. package/skills/wok-server-code-navigation/SKILL.md +153 -0
  136. package/skills/wok-server-config/SKILL.md +200 -0
  137. package/skills/wok-server-getting-started/SKILL.md +123 -0
  138. package/skills/wok-server-getting-started/references/engineering.md +169 -0
  139. package/skills/wok-server-http-client/SKILL.md +164 -0
  140. package/skills/wok-server-i18n/SKILL.md +214 -0
  141. package/skills/wok-server-lock/SKILL.md +144 -0
  142. package/skills/wok-server-log/SKILL.md +218 -0
  143. package/skills/wok-server-mongodb/SKILL.md +235 -0
  144. package/skills/wok-server-mvc/SKILL.md +251 -0
  145. package/skills/wok-server-mvc/references/respond-html.md +157 -0
  146. package/skills/wok-server-mvc/references/sse.md +121 -0
  147. package/skills/wok-server-mvc/references/static-files.md +47 -0
  148. package/skills/wok-server-mvc/references/upload.md +62 -0
  149. package/skills/wok-server-mvc/references/websocket.md +30 -0
  150. package/skills/wok-server-mysql/SKILL.md +388 -0
  151. package/skills/wok-server-mysql/references/multi-datasource.md +76 -0
  152. package/skills/wok-server-mysql/references/version-control.md +22 -0
  153. package/skills/wok-server-task/SKILL.md +158 -0
  154. package/skills/wok-server-validate/SKILL.md +167 -0
  155. package/src/cache/cache.ts +118 -0
  156. package/src/cache/config.ts +53 -0
  157. package/src/cache/index.ts +27 -0
  158. package/src/cache/purge-task.ts +53 -0
  159. package/src/cache/stat.ts +47 -0
  160. package/src/config/convert.ts +27 -0
  161. package/src/config/exception.ts +8 -0
  162. package/src/config/index.ts +92 -0
  163. package/src/http-client/index.ts +202 -0
  164. package/src/i18n/ar.ts +16 -0
  165. package/src/i18n/de.ts +16 -0
  166. package/src/i18n/en-us.ts +16 -0
  167. package/src/i18n/es.ts +16 -0
  168. package/src/i18n/fr.ts +16 -0
  169. package/src/i18n/i18n.ts +230 -0
  170. package/src/i18n/index.ts +50 -0
  171. package/src/i18n/ja.ts +16 -0
  172. package/src/i18n/ko.ts +16 -0
  173. package/src/i18n/msg.ts +50 -0
  174. package/src/i18n/pt.ts +16 -0
  175. package/src/i18n/ru.ts +16 -0
  176. package/src/i18n/tag.ts +18 -0
  177. package/src/i18n/zh-HK.ts +16 -0
  178. package/src/i18n/zh-TW.ts +16 -0
  179. package/src/i18n/zh-cn.ts +16 -0
  180. package/src/index.ts +11 -0
  181. package/src/lock/index.ts +164 -0
  182. package/src/log/config.ts +71 -0
  183. package/src/log/date.ts +19 -0
  184. package/src/log/file.ts +215 -0
  185. package/src/log/index.ts +136 -0
  186. package/src/log/level.ts +29 -0
  187. package/src/log/log.ts +77 -0
  188. package/src/log/store.ts +31 -0
  189. package/src/mongodb/collection.ts +25 -0
  190. package/src/mongodb/config.ts +69 -0
  191. package/src/mongodb/doc.ts +12 -0
  192. package/src/mongodb/exception.ts +8 -0
  193. package/src/mongodb/index.ts +71 -0
  194. package/src/mongodb/manager/base.ts +674 -0
  195. package/src/mongodb/manager/index.ts +80 -0
  196. package/src/mongodb/manager/tx-strict.ts +153 -0
  197. package/src/mongodb/manager/tx.ts +34 -0
  198. package/src/mongodb/migration.ts +66 -0
  199. package/src/mvc/access-log.ts +33 -0
  200. package/src/mvc/config.ts +70 -0
  201. package/src/mvc/exchange.ts +126 -0
  202. package/src/mvc/handler/index.ts +4 -0
  203. package/src/mvc/handler/json.ts +96 -0
  204. package/src/mvc/handler/restful.ts +39 -0
  205. package/src/mvc/handler/sse.ts +90 -0
  206. package/src/mvc/handler/upload.ts +54 -0
  207. package/src/mvc/index.ts +48 -0
  208. package/src/mvc/interceptor.ts +12 -0
  209. package/src/mvc/query.ts +36 -0
  210. package/src/mvc/render/file.ts +148 -0
  211. package/src/mvc/render/html/html.ts +187 -0
  212. package/src/mvc/render/html/index.ts +16 -0
  213. package/src/mvc/render/html/style.ts +1201 -0
  214. package/src/mvc/render/index.ts +4 -0
  215. package/src/mvc/render/json.ts +24 -0
  216. package/src/mvc/render/text.ts +14 -0
  217. package/src/mvc/router.ts +13 -0
  218. package/src/mvc/server.ts +315 -0
  219. package/src/mvc/static/header.ts +86 -0
  220. package/src/mvc/static/index.ts +3 -0
  221. package/src/mvc/static/mime-type.ts +81 -0
  222. package/src/mvc/static/server-cache-config.ts +92 -0
  223. package/src/mvc/static/server-cache.ts +171 -0
  224. package/src/mvc/static/static-handler.ts +445 -0
  225. package/src/mysql/config.ts +130 -0
  226. package/src/mysql/exception.ts +8 -0
  227. package/src/mysql/index.ts +88 -0
  228. package/src/mysql/manager/base.ts +332 -0
  229. package/src/mysql/manager/index.ts +112 -0
  230. package/src/mysql/manager/ops/count.ts +30 -0
  231. package/src/mysql/manager/ops/criteria.ts +446 -0
  232. package/src/mysql/manager/ops/delete.ts +91 -0
  233. package/src/mysql/manager/ops/exist.ts +41 -0
  234. package/src/mysql/manager/ops/find.ts +209 -0
  235. package/src/mysql/manager/ops/index.ts +13 -0
  236. package/src/mysql/manager/ops/insert.ts +158 -0
  237. package/src/mysql/manager/ops/modify.ts +14 -0
  238. package/src/mysql/manager/ops/order-by.ts +58 -0
  239. package/src/mysql/manager/ops/paginate.ts +100 -0
  240. package/src/mysql/manager/ops/query.ts +13 -0
  241. package/src/mysql/manager/ops/update.ts +318 -0
  242. package/src/mysql/manager/ops/upsert.ts +224 -0
  243. package/src/mysql/manager/ops/utils.ts +24 -0
  244. package/src/mysql/manager/tx-strict.ts +138 -0
  245. package/src/mysql/manager/tx.ts +31 -0
  246. package/src/mysql/manager/utils.ts +75 -0
  247. package/src/mysql/migration.ts +149 -0
  248. package/src/mysql/table-info.ts +41 -0
  249. package/src/task/daily.ts +70 -0
  250. package/src/task/fixed-delay.ts +45 -0
  251. package/src/task/fixed-rate.ts +49 -0
  252. package/src/task/index.ts +4 -0
  253. package/src/task/task.ts +70 -0
  254. package/src/validation/exception.ts +27 -0
  255. package/src/validation/index.ts +61 -0
  256. package/src/validation/validator/array.ts +32 -0
  257. package/src/validation/validator/enum.ts +25 -0
  258. package/src/validation/validator/index.ts +11 -0
  259. package/src/validation/validator/length.ts +42 -0
  260. package/src/validation/validator/max-length.ts +33 -0
  261. package/src/validation/validator/max.ts +26 -0
  262. package/src/validation/validator/min-length.ts +31 -0
  263. package/src/validation/validator/min.ts +26 -0
  264. package/src/validation/validator/not-blank.ts +31 -0
  265. package/src/validation/validator/not-null.ts +19 -0
  266. package/src/validation/validator/plain-obj.ts +30 -0
  267. package/src/validation/validator/regexp.ts +32 -0
  268. package/types/cache/cache.d.ts +52 -52
  269. package/types/cache/config.d.ts +32 -32
  270. package/types/cache/index.d.ts +2 -2
  271. package/types/cache/purge-task.d.ts +11 -11
  272. package/types/cache/stat.d.ts +26 -26
  273. package/types/config/convert.d.ts +6 -6
  274. package/types/config/exception.d.ts +7 -7
  275. package/types/config/index.d.ts +25 -25
  276. package/types/http-client/index.d.ts +71 -71
  277. package/types/i18n/ar.d.ts +2 -2
  278. package/types/i18n/de.d.ts +2 -2
  279. package/types/i18n/en-us.d.ts +2 -2
  280. package/types/i18n/es.d.ts +2 -2
  281. package/types/i18n/fr.d.ts +2 -2
  282. package/types/i18n/i18n.d.ts +102 -102
  283. package/types/i18n/index.d.ts +9 -9
  284. package/types/i18n/ja.d.ts +2 -2
  285. package/types/i18n/ko.d.ts +2 -2
  286. package/types/i18n/msg.d.ts +50 -50
  287. package/types/i18n/pt.d.ts +2 -2
  288. package/types/i18n/ru.d.ts +2 -2
  289. package/types/i18n/tag.d.ts +11 -11
  290. package/types/i18n/zh-HK.d.ts +2 -2
  291. package/types/i18n/zh-TW.d.ts +2 -2
  292. package/types/i18n/zh-cn.d.ts +2 -2
  293. package/types/index.d.ts +11 -11
  294. package/types/lock/index.d.ts +64 -64
  295. package/types/log/config.d.ts +35 -35
  296. package/types/log/date.d.ts +2 -2
  297. package/types/log/file.d.ts +13 -13
  298. package/types/log/index.d.ts +53 -53
  299. package/types/log/level.d.ts +14 -14
  300. package/types/log/log.d.ts +40 -40
  301. package/types/log/store.d.ts +19 -19
  302. package/types/mongodb/collection.d.ts +25 -25
  303. package/types/mongodb/config.d.ts +45 -45
  304. package/types/mongodb/doc.d.ts +11 -11
  305. package/types/mongodb/exception.d.ts +7 -7
  306. package/types/mongodb/index.d.ts +29 -29
  307. package/types/mongodb/manager/base.d.ts +188 -188
  308. package/types/mongodb/manager/index.d.ts +38 -38
  309. package/types/mongodb/manager/tx-strict.d.ts +41 -41
  310. package/types/mongodb/manager/tx.d.ts +21 -21
  311. package/types/mongodb/migration.d.ts +12 -12
  312. package/types/mvc/access-log.d.ts +7 -7
  313. package/types/mvc/config.d.ts +42 -42
  314. package/types/mvc/exchange.d.ts +72 -72
  315. package/types/mvc/handler/index.d.ts +4 -3
  316. package/types/mvc/handler/json.d.ts +44 -44
  317. package/types/mvc/handler/restful.d.ts +11 -11
  318. package/types/mvc/handler/sse.d.ts +34 -0
  319. package/types/mvc/handler/upload.d.ts +36 -36
  320. package/types/mvc/index.d.ts +22 -22
  321. package/types/mvc/interceptor.d.ts +11 -11
  322. package/types/mvc/query.d.ts +13 -13
  323. package/types/mvc/render/file.d.ts +10 -10
  324. package/types/mvc/render/html/html.d.ts +98 -98
  325. package/types/mvc/render/html/index.d.ts +11 -11
  326. package/types/mvc/render/html/style.d.ts +1201 -1201
  327. package/types/mvc/render/index.d.ts +4 -4
  328. package/types/mvc/render/json.d.ts +17 -17
  329. package/types/mvc/render/text.d.ts +10 -10
  330. package/types/mvc/router.d.ts +11 -11
  331. package/types/mvc/server.d.ts +90 -90
  332. package/types/mvc/static/header.d.ts +27 -27
  333. package/types/mvc/static/index.d.ts +3 -3
  334. package/types/mvc/static/mime-type.d.ts +2 -2
  335. package/types/mvc/static/server-cache-config.d.ts +30 -30
  336. package/types/mvc/static/server-cache.d.ts +76 -76
  337. package/types/mvc/static/static-handler.d.ts +77 -77
  338. package/types/mysql/config.d.ts +90 -90
  339. package/types/mysql/exception.d.ts +7 -7
  340. package/types/mysql/index.d.ts +16 -16
  341. package/types/mysql/manager/base.d.ts +196 -165
  342. package/types/mysql/manager/index.d.ts +36 -36
  343. package/types/mysql/manager/ops/count.d.ts +13 -13
  344. package/types/mysql/manager/ops/criteria.d.ts +144 -134
  345. package/types/mysql/manager/ops/delete.d.ts +47 -46
  346. package/types/mysql/manager/ops/exist.d.ts +6 -6
  347. package/types/mysql/manager/ops/find.d.ts +87 -86
  348. package/types/mysql/manager/ops/index.d.ts +12 -10
  349. package/types/mysql/manager/ops/insert.d.ts +32 -18
  350. package/types/mysql/manager/ops/modify.d.ts +3 -3
  351. package/types/mysql/manager/ops/order-by.d.ts +38 -0
  352. package/types/mysql/manager/ops/paginate.d.ts +53 -36
  353. package/types/mysql/manager/ops/query.d.ts +3 -3
  354. package/types/mysql/manager/ops/update.d.ts +99 -76
  355. package/types/mysql/manager/ops/upsert.d.ts +36 -0
  356. package/types/mysql/manager/ops/utils.d.ts +5 -5
  357. package/types/mysql/manager/tx-strict.d.ts +36 -36
  358. package/types/mysql/manager/tx.d.ts +15 -15
  359. package/types/mysql/manager/utils.d.ts +17 -17
  360. package/types/mysql/migration.d.ts +8 -8
  361. package/types/mysql/table-info.d.ts +36 -36
  362. package/types/task/daily.d.ts +16 -16
  363. package/types/task/fixed-delay.d.ts +9 -9
  364. package/types/task/fixed-rate.d.ts +9 -9
  365. package/types/task/index.d.ts +4 -4
  366. package/types/task/task.d.ts +34 -34
  367. package/types/validation/exception.d.ts +38 -38
  368. package/types/validation/index.d.ts +32 -32
  369. package/types/validation/validator/array.d.ts +5 -5
  370. package/types/validation/validator/enum.d.ts +8 -8
  371. package/types/validation/validator/index.d.ts +11 -11
  372. package/types/validation/validator/length.d.ts +10 -10
  373. package/types/validation/validator/max-length.d.ts +8 -8
  374. package/types/validation/validator/max.d.ts +7 -7
  375. package/types/validation/validator/min-length.d.ts +6 -6
  376. package/types/validation/validator/min.d.ts +7 -7
  377. package/types/validation/validator/not-blank.d.ts +7 -7
  378. package/types/validation/validator/not-null.d.ts +6 -6
  379. package/types/validation/validator/plain-obj.d.ts +7 -7
  380. package/types/validation/validator/regexp.d.ts +8 -8
@@ -1,24 +1,28 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.processColumnValue = void 0;
4
- /**
5
- * 处理列的值,对特殊类型 json 进行加工处理后返回
6
- * @param value
7
- */
8
- function processColumnValue(value) {
9
- // date 类型 typeof 也是 object ,先排除
10
- if (value instanceof Date) {
11
- return value;
12
- }
13
- // buffer 也是
14
- if (value instanceof Buffer) {
15
- return value;
16
- }
17
- // json
18
- if (typeof value === 'object') {
19
- return JSON.stringify(value);
20
- }
21
- // 其它的情况直接返回
22
- return value;
23
- }
24
- exports.processColumnValue = processColumnValue;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.processColumnValue = void 0;
4
+ /**
5
+ * 处理列的值,对特殊类型 json 进行加工处理后返回
6
+ * @param value
7
+ */
8
+ function processColumnValue(value) {
9
+ // undefined/null 返回 null,mysql2 会正确处理为 SQL NULL
10
+ if (value === undefined || value === null) {
11
+ return null;
12
+ }
13
+ // date 类型 typeof 也是 object ,先排除
14
+ if (value instanceof Date) {
15
+ return value;
16
+ }
17
+ // buffer 也是
18
+ if (value instanceof Buffer) {
19
+ return value;
20
+ }
21
+ // json
22
+ if (typeof value === 'object') {
23
+ return JSON.stringify(value);
24
+ }
25
+ // 其它的情况直接返回
26
+ return value;
27
+ }
28
+ exports.processColumnValue = processColumnValue;
@@ -1,103 +1,103 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MysqlStrictTxSession = void 0;
4
- const tx_1 = require("./tx");
5
- const exception_1 = require("../exception");
6
- /**
7
- * 严格 mysql 事务会话,会禁用一些操作.
8
- */
9
- class MysqlStrictTxSession extends tx_1.MysqlTxSession {
10
- config;
11
- #opsCount = 0;
12
- constructor(config, conn) {
13
- super(config, conn);
14
- this.config = config;
15
- }
16
- /**
17
- * 为操作计数,检查是否操作次数过多.
18
- */
19
- #checkAndAddOpsCount() {
20
- if (this.#opsCount >= this.config.maxOpsInStrictTx) {
21
- throw new exception_1.MysqlException('Too many operations in a strict transaction.');
22
- }
23
- this.#opsCount++;
24
- }
25
- findById(table, id) {
26
- this.#checkAndAddOpsCount();
27
- return super.findById(table, id);
28
- }
29
- findByIdIn(table, ids) {
30
- if (ids.length > 100) {
31
- throw new exception_1.MysqlException(`The augument ids length(${ids.length}) passed to findByIdIn in a strict transaction is too large .`);
32
- }
33
- this.#checkAndAddOpsCount();
34
- return super.findByIdIn(table, ids);
35
- }
36
- existsBy(table, criteria) {
37
- this.#checkAndAddOpsCount();
38
- return super.existsBy(table, criteria);
39
- }
40
- existsById(table, id) {
41
- this.#checkAndAddOpsCount();
42
- return super.existsById(table, id);
43
- }
44
- deleteById(table, id) {
45
- this.#checkAndAddOpsCount();
46
- return super.deleteById(table, id);
47
- }
48
- deleteOne(table, criteria) {
49
- this.#checkAndAddOpsCount();
50
- return super.deleteOne(table, criteria);
51
- }
52
- deleteMany(opts) {
53
- throw new exception_1.MysqlException('Prohibited to use deleteBy in a strict transaction.');
54
- }
55
- findAll(table) {
56
- throw new exception_1.MysqlException('Prohibited to use findAll in a strict transaction.');
57
- }
58
- findFirst(table, criteria) {
59
- this.#checkAndAddOpsCount();
60
- return super.findFirst(table, criteria);
61
- }
62
- insert(table, data) {
63
- this.#checkAndAddOpsCount();
64
- return super.insert(table, data);
65
- }
66
- insertMany(table, list) {
67
- throw new exception_1.MysqlException('Prohibited to use insertMany in a strict transaction.');
68
- }
69
- update(table, data) {
70
- this.#checkAndAddOpsCount();
71
- return super.update(table, data);
72
- }
73
- updateMany(opts) {
74
- throw new exception_1.MysqlException('Prohibited to use updateMany in a strict transaction.');
75
- }
76
- updateOne(table, query, updater) {
77
- this.#checkAndAddOpsCount();
78
- return super.updateOne(table, query, updater);
79
- }
80
- partialUpdate(table, data) {
81
- this.#checkAndAddOpsCount();
82
- return super.partialUpdate(table, data);
83
- }
84
- find(opts) {
85
- throw new exception_1.MysqlException('Prohibited to use find in a strict transaction.');
86
- }
87
- findSelect(opts) {
88
- throw new exception_1.MysqlException('Prohibited to use findSelect in a strict transaction.');
89
- }
90
- count(table, criteria) {
91
- throw new exception_1.MysqlException('Prohibited to use count in a strict transaction.');
92
- }
93
- paginate(opts) {
94
- throw new exception_1.MysqlException('Prohibited to use paginate in a strict transaction.');
95
- }
96
- query(sql, values) {
97
- throw new exception_1.MysqlException('Prohibited to use query in a strict transaction.');
98
- }
99
- modify(sql, values) {
100
- throw new exception_1.MysqlException('Prohibited to use modify in a strict transaction.');
101
- }
102
- }
103
- exports.MysqlStrictTxSession = MysqlStrictTxSession;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MysqlStrictTxSession = void 0;
4
+ const tx_1 = require("./tx");
5
+ const exception_1 = require("../exception");
6
+ /**
7
+ * 严格 mysql 事务会话,会禁用一些操作.
8
+ */
9
+ class MysqlStrictTxSession extends tx_1.MysqlTxSession {
10
+ config;
11
+ #opsCount = 0;
12
+ constructor(config, conn) {
13
+ super(config, conn);
14
+ this.config = config;
15
+ }
16
+ /**
17
+ * 为操作计数,检查是否操作次数过多.
18
+ */
19
+ #checkAndAddOpsCount() {
20
+ if (this.#opsCount >= this.config.maxOpsInStrictTx) {
21
+ throw new exception_1.MysqlException('Too many operations in a strict transaction.');
22
+ }
23
+ this.#opsCount++;
24
+ }
25
+ findById(table, id) {
26
+ this.#checkAndAddOpsCount();
27
+ return super.findById(table, id);
28
+ }
29
+ findByIdIn(table, ids) {
30
+ if (ids.length > 100) {
31
+ throw new exception_1.MysqlException(`The augument ids length(${ids.length}) passed to findByIdIn in a strict transaction is too large .`);
32
+ }
33
+ this.#checkAndAddOpsCount();
34
+ return super.findByIdIn(table, ids);
35
+ }
36
+ existsBy(table, criteria) {
37
+ this.#checkAndAddOpsCount();
38
+ return super.existsBy(table, criteria);
39
+ }
40
+ existsById(table, id) {
41
+ this.#checkAndAddOpsCount();
42
+ return super.existsById(table, id);
43
+ }
44
+ deleteById(table, id) {
45
+ this.#checkAndAddOpsCount();
46
+ return super.deleteById(table, id);
47
+ }
48
+ deleteOne(table, criteria) {
49
+ this.#checkAndAddOpsCount();
50
+ return super.deleteOne(table, criteria);
51
+ }
52
+ deleteMany(opts) {
53
+ throw new exception_1.MysqlException('Prohibited to use deleteBy in a strict transaction.');
54
+ }
55
+ findAll(table) {
56
+ throw new exception_1.MysqlException('Prohibited to use findAll in a strict transaction.');
57
+ }
58
+ findFirst(table, criteria) {
59
+ this.#checkAndAddOpsCount();
60
+ return super.findFirst(table, criteria);
61
+ }
62
+ insert(table, data) {
63
+ this.#checkAndAddOpsCount();
64
+ return super.insert(table, data);
65
+ }
66
+ insertMany(table, list) {
67
+ throw new exception_1.MysqlException('Prohibited to use insertMany in a strict transaction.');
68
+ }
69
+ update(table, data) {
70
+ this.#checkAndAddOpsCount();
71
+ return super.update(table, data);
72
+ }
73
+ updateMany(opts) {
74
+ throw new exception_1.MysqlException('Prohibited to use updateMany in a strict transaction.');
75
+ }
76
+ updateOne(table, query, updater) {
77
+ this.#checkAndAddOpsCount();
78
+ return super.updateOne(table, query, updater);
79
+ }
80
+ partialUpdate(table, data) {
81
+ this.#checkAndAddOpsCount();
82
+ return super.partialUpdate(table, data);
83
+ }
84
+ find(opts) {
85
+ throw new exception_1.MysqlException('Prohibited to use find in a strict transaction.');
86
+ }
87
+ findSelect(opts) {
88
+ throw new exception_1.MysqlException('Prohibited to use findSelect in a strict transaction.');
89
+ }
90
+ count(table, criteria) {
91
+ throw new exception_1.MysqlException('Prohibited to use count in a strict transaction.');
92
+ }
93
+ paginate(opts) {
94
+ throw new exception_1.MysqlException('Prohibited to use paginate in a strict transaction.');
95
+ }
96
+ query(sql, values) {
97
+ throw new exception_1.MysqlException('Prohibited to use query in a strict transaction.');
98
+ }
99
+ modify(sql, values) {
100
+ throw new exception_1.MysqlException('Prohibited to use modify in a strict transaction.');
101
+ }
102
+ }
103
+ exports.MysqlStrictTxSession = MysqlStrictTxSession;
@@ -1,30 +1,30 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.MysqlTxSession = void 0;
4
- const base_1 = require("./base");
5
- const exception_1 = require("../exception");
6
- /**
7
- * mysql 事务会话.
8
- */
9
- class MysqlTxSession extends base_1.BaseMysqlManager {
10
- /**
11
- * 中止标识
12
- */
13
- #aborted = false;
14
- constructor(config, conn) {
15
- super({ config, connection: conn });
16
- }
17
- queryWithConnection(queryFn) {
18
- if (this.#aborted) {
19
- throw new exception_1.MysqlException('Session has been aborted!');
20
- }
21
- return super.queryWithConnection(queryFn);
22
- }
23
- /**
24
- * 中止,被中止后的会话不能再进行任何操作
25
- */
26
- abort() {
27
- this.#aborted = true;
28
- }
29
- }
30
- exports.MysqlTxSession = MysqlTxSession;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MysqlTxSession = void 0;
4
+ const base_1 = require("./base");
5
+ const exception_1 = require("../exception");
6
+ /**
7
+ * mysql 事务会话.
8
+ */
9
+ class MysqlTxSession extends base_1.BaseMysqlManager {
10
+ /**
11
+ * 中止标识
12
+ */
13
+ #aborted = false;
14
+ constructor(config, conn) {
15
+ super({ config, connection: conn });
16
+ }
17
+ queryWithConnection(queryFn) {
18
+ if (this.#aborted) {
19
+ throw new exception_1.MysqlException('Session has been aborted!');
20
+ }
21
+ return super.queryWithConnection(queryFn);
22
+ }
23
+ /**
24
+ * 中止,被中止后的会话不能再进行任何操作
25
+ */
26
+ abort() {
27
+ this.#aborted = true;
28
+ }
29
+ }
30
+ exports.MysqlTxSession = MysqlTxSession;
@@ -1,56 +1,56 @@
1
- "use strict";
2
- // 工具集,将一些驱动的方法进行 promise 封装,方便操作
3
- // 程序中没有使用 mysql2/promise ,主要是在测试中发现 mysql2/promise 不是很可靠
4
- // mysql2/promise 在查询方便处理的不是很好
5
- // query 查询在没有记录的情况下仍然会返回列表,里面会包含列定义信息,不符合预期
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.promiseGetConnection = exports.promiseQuery = void 0;
8
- const mysql2_1 = require("mysql2");
9
- const log_1 = require("../../log");
10
- /**
11
- * 查询,适用于各种 sql 的执行
12
- * @param config
13
- * @param conn
14
- * @param sql
15
- * @param values
16
- * @returns
17
- */
18
- function promiseQuery(config, conn, sql, values = []) {
19
- return new Promise((res, rej) => {
20
- const start = new Date().getTime();
21
- conn.query(sql, values, (err, result) => {
22
- if (config.slowSqlWarn) {
23
- const cost = new Date().getTime() - start;
24
- // 慢 sql 警告
25
- if (cost > config.slowSqlMs) {
26
- (0, log_1.getLogger)().warn(`[mysql slow sql] ${cost}ms ${(0, mysql2_1.format)(sql, values)}`);
27
- }
28
- }
29
- if (err) {
30
- rej(err);
31
- }
32
- else {
33
- res(result);
34
- }
35
- });
36
- });
37
- }
38
- exports.promiseQuery = promiseQuery;
39
- /**
40
- * 获取连接
41
- * @param pool
42
- * @returns
43
- */
44
- function promiseGetConnection(pool) {
45
- return new Promise((res, rej) => {
46
- pool.getConnection((err, conn) => {
47
- if (err) {
48
- rej(err);
49
- }
50
- else {
51
- res(conn);
52
- }
53
- });
54
- });
55
- }
56
- exports.promiseGetConnection = promiseGetConnection;
1
+ "use strict";
2
+ // 工具集,将一些驱动的方法进行 promise 封装,方便操作
3
+ // 程序中没有使用 mysql2/promise ,主要是在测试中发现 mysql2/promise 不是很可靠
4
+ // mysql2/promise 在查询方便处理的不是很好
5
+ // query 查询在没有记录的情况下仍然会返回列表,里面会包含列定义信息,不符合预期
6
+ Object.defineProperty(exports, "__esModule", { value: true });
7
+ exports.promiseGetConnection = exports.promiseQuery = void 0;
8
+ const mysql2_1 = require("mysql2");
9
+ const log_1 = require("../../log");
10
+ /**
11
+ * 查询,适用于各种 sql 的执行
12
+ * @param config
13
+ * @param conn
14
+ * @param sql
15
+ * @param values
16
+ * @returns
17
+ */
18
+ function promiseQuery(config, conn, sql, values = []) {
19
+ return new Promise((res, rej) => {
20
+ const start = new Date().getTime();
21
+ conn.query(sql, values, (err, result) => {
22
+ if (config.slowSqlWarn) {
23
+ const cost = new Date().getTime() - start;
24
+ // 慢 sql 警告
25
+ if (cost > config.slowSqlMs) {
26
+ (0, log_1.getLogger)().warn(`[mysql slow sql] ${cost}ms ${(0, mysql2_1.format)(sql, values)}`);
27
+ }
28
+ }
29
+ if (err) {
30
+ rej(err);
31
+ }
32
+ else {
33
+ res(result);
34
+ }
35
+ });
36
+ });
37
+ }
38
+ exports.promiseQuery = promiseQuery;
39
+ /**
40
+ * 获取连接
41
+ * @param pool
42
+ * @returns
43
+ */
44
+ function promiseGetConnection(pool) {
45
+ return new Promise((res, rej) => {
46
+ pool.getConnection((err, conn) => {
47
+ if (err) {
48
+ rej(err);
49
+ }
50
+ else {
51
+ res(conn);
52
+ }
53
+ });
54
+ });
55
+ }
56
+ exports.promiseGetConnection = promiseGetConnection;