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,65 +1,59 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.deleteMany = exports.deleteById = void 0;
4
- const exception_1 = require("../../exception");
5
- const utils_1 = require("../utils");
6
- const criteria_1 = require("./criteria");
7
- /**
8
- * 按 id 删除.
9
- *
10
- * @param config
11
- * @param connection
12
- * @param mapping
13
- * @param type
14
- * @param id
15
- */
16
- async function deleteById(config, connection, table, id) {
17
- const res = await (0, utils_1.promiseQuery)(config, connection, `delete from ?? where ?? = ?`, [
18
- table.tableName,
19
- table.id,
20
- id
21
- ]);
22
- const ok = res;
23
- return ok.affectedRows === 1;
24
- }
25
- exports.deleteById = deleteById;
26
- /**
27
- * 按条件删除,返回被删除的记录数.
28
- * 务必谨慎使用,大批量删除容易带来性能问题,造成线上事故.
29
- * @param config
30
- * @param connection
31
- * @param table
32
- * @param criteria
33
- */
34
- async function deleteMany(config, connection, opts) {
35
- let sql = 'delete from ?? ';
36
- const values = [opts.table.tableName];
37
- let query = (0, criteria_1.buildQuery)(opts.criteria);
38
- if (!query) {
39
- throw new exception_1.MysqlException('No valid criteria specified.');
40
- }
41
- if (query) {
42
- sql += ` where ${query.sql} `;
43
- values.push(...query.values);
44
- }
45
- // 排序
46
- if (opts.orderBy && opts.orderBy.length) {
47
- opts.orderBy.forEach((orderBy, idx) => {
48
- const [field, sort] = orderBy;
49
- if (idx == 0) {
50
- sql += ` order by ?? ${sort} `;
51
- }
52
- else {
53
- sql += ` , ?? ${sort} `;
54
- }
55
- values.push(field);
56
- });
57
- }
58
- // 数量限制
59
- if (opts.limit) {
60
- sql += ` limit ${opts.limit} `;
61
- }
62
- const res = await (0, utils_1.promiseQuery)(config, connection, sql, values);
63
- return res.affectedRows;
64
- }
65
- exports.deleteMany = deleteMany;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.deleteMany = exports.deleteById = void 0;
4
+ const exception_1 = require("../../exception");
5
+ const utils_1 = require("../utils");
6
+ const criteria_1 = require("./criteria");
7
+ const order_by_1 = require("./order-by");
8
+ /**
9
+ * 按 id 删除.
10
+ *
11
+ * @param config
12
+ * @param connection
13
+ * @param mapping
14
+ * @param type
15
+ * @param id
16
+ */
17
+ async function deleteById(config, connection, table, id) {
18
+ const res = await (0, utils_1.promiseQuery)(config, connection, `delete from ?? where ?? = ?`, [
19
+ table.tableName,
20
+ table.id,
21
+ id
22
+ ]);
23
+ const ok = res;
24
+ return ok.affectedRows === 1;
25
+ }
26
+ exports.deleteById = deleteById;
27
+ /**
28
+ * 按条件删除,返回被删除的记录数.
29
+ * 务必谨慎使用,大批量删除容易带来性能问题,造成线上事故.
30
+ * @param config
31
+ * @param connection
32
+ * @param table
33
+ * @param criteria
34
+ */
35
+ async function deleteMany(config, connection, opts) {
36
+ let sql = 'delete from ?? ';
37
+ const values = [opts.table.tableName];
38
+ let query = (0, criteria_1.buildQuery)(opts.criteria);
39
+ if (!query) {
40
+ throw new exception_1.MysqlException('No valid criteria specified.');
41
+ }
42
+ if (query) {
43
+ sql += ` where ${query.sql} `;
44
+ values.push(...query.values);
45
+ }
46
+ // 排序
47
+ if (opts.orderBy && opts.orderBy.length) {
48
+ const ob = (0, order_by_1.buildOrderBy)(opts.orderBy);
49
+ sql += ob.sql;
50
+ values.push(...ob.values);
51
+ }
52
+ // 数量限制
53
+ if (opts.limit) {
54
+ sql += ` limit ${opts.limit} `;
55
+ }
56
+ const res = await (0, utils_1.promiseQuery)(config, connection, sql, values);
57
+ return res.affectedRows;
58
+ }
59
+ exports.deleteMany = deleteMany;
@@ -1,26 +1,26 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.existsBy = exports.existsById = void 0;
4
- const criteria_1 = require("./criteria");
5
- const utils_1 = require("../utils");
6
- async function existsById(config, connection, table, id) {
7
- const res = await (0, utils_1.promiseQuery)(config, connection, `select 1 from ?? where ?? = ?`, [
8
- table.tableName,
9
- table.id,
10
- id
11
- ]);
12
- const rows = res;
13
- return !!rows.length;
14
- }
15
- exports.existsById = existsById;
16
- async function existsBy(config, connection, table, criteria) {
17
- let query = criteria ? (0, criteria_1.buildQuery)(criteria) : undefined;
18
- let sql = `select 1 from ?? `;
19
- if (query) {
20
- sql += ` where ${query.sql} `;
21
- }
22
- const res = await (0, utils_1.promiseQuery)(config, connection, sql, [table.tableName].concat(query ? query.values : []));
23
- const rows = res;
24
- return !!rows.length;
25
- }
26
- exports.existsBy = existsBy;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.existsBy = exports.existsById = void 0;
4
+ const criteria_1 = require("./criteria");
5
+ const utils_1 = require("../utils");
6
+ async function existsById(config, connection, table, id) {
7
+ const res = await (0, utils_1.promiseQuery)(config, connection, `select 1 from ?? where ?? = ?`, [
8
+ table.tableName,
9
+ table.id,
10
+ id
11
+ ]);
12
+ const rows = res;
13
+ return !!rows.length;
14
+ }
15
+ exports.existsById = existsById;
16
+ async function existsBy(config, connection, table, criteria) {
17
+ let query = criteria ? (0, criteria_1.buildQuery)(criteria) : undefined;
18
+ let sql = `select 1 from ?? `;
19
+ if (query) {
20
+ sql += ` where ${query.sql} `;
21
+ }
22
+ const res = await (0, utils_1.promiseQuery)(config, connection, sql, [table.tableName].concat(query ? query.values : []));
23
+ const rows = res;
24
+ return !!rows.length;
25
+ }
26
+ exports.existsBy = existsBy;
@@ -1,169 +1,149 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.findFirst = exports.findByIdIn = exports.findSelect = exports.find = exports.findAll = exports.findById = void 0;
4
- const criteria_1 = require("./criteria");
5
- const utils_1 = require("../utils");
6
- /**
7
- * 按 id 查询
8
- * @param connection
9
- * @param mapping
10
- * @param type
11
- * @param id
12
- */
13
- async function findById(config, connection, table, id) {
14
- const res = await (0, utils_1.promiseQuery)(config, connection, `select * from ?? where ?? = ?`, [
15
- table.tableName,
16
- table.id,
17
- id
18
- ]);
19
- const rows = res;
20
- if (!rows.length) {
21
- return null;
22
- }
23
- return rows[0];
24
- }
25
- exports.findById = findById;
26
- /**
27
- * 查询表中所有数据。需谨慎操作,全表查询有可能会产生大列表问题。
28
- * @param connection
29
- * @param mapping
30
- * @param type
31
- * @returns
32
- */
33
- async function findAll(config, connection, table) {
34
- const res = await (0, utils_1.promiseQuery)(config, connection, `select * from ??`, [table.tableName]);
35
- return res;
36
- }
37
- exports.findAll = findAll;
38
- /**
39
- * 条件查询
40
- * @param opts
41
- * @returns
42
- */
43
- async function find(config, conn, opts) {
44
- let query = opts.criteria ? (0, criteria_1.buildQuery)(opts.criteria) : undefined;
45
- const values = [];
46
- let sql = `select * from ?? `;
47
- values.push(opts.table.tableName);
48
- if (query) {
49
- sql += ` where ${query.sql} `;
50
- values.push(...query.values);
51
- }
52
- // 排序
53
- if (opts.orderBy && opts.orderBy.length) {
54
- opts.orderBy.forEach((orderBy, idx) => {
55
- const [field, sort] = orderBy;
56
- if (idx == 0) {
57
- sql += ` order by ?? ${sort} `;
58
- }
59
- else {
60
- sql += ` , ?? ${sort} `;
61
- }
62
- values.push(field);
63
- });
64
- }
65
- // 数量限制
66
- if (opts.limit) {
67
- sql += ` limit ${opts.limit} `;
68
- if (opts.offset) {
69
- sql += ` offset ${opts.offset}`;
70
- }
71
- }
72
- const res = await (0, utils_1.promiseQuery)(config, conn, sql, values);
73
- return res;
74
- }
75
- exports.find = find;
76
- /**
77
- * 查询指定的字段,返回值类型与选择的字段有关
78
- * @param onfig
79
- * @param conn
80
- * @param opts
81
- */
82
- async function findSelect(config, conn, opts) {
83
- let query = opts.criteria ? (0, criteria_1.buildQuery)(opts.criteria) : undefined;
84
- const values = [];
85
- let sql = `select ${opts.select.map(() => '??').join(',')} from ?? `;
86
- values.push(...opts.select, opts.table.tableName);
87
- if (query) {
88
- sql += ` where ${query.sql} `;
89
- values.push(...query.values);
90
- }
91
- // 排序
92
- if (opts.orderBy && opts.orderBy.length) {
93
- opts.orderBy.forEach((orderBy, idx) => {
94
- const [field, sort] = orderBy;
95
- if (idx == 0) {
96
- sql += ` order by ?? ${sort} `;
97
- }
98
- else {
99
- sql += ` , ?? ${sort} `;
100
- }
101
- values.push(field);
102
- });
103
- }
104
- // 数量限制
105
- if (opts.limit) {
106
- sql += ` limit ${opts.limit} `;
107
- if (opts.offset) {
108
- sql += ` offset ${opts.offset}`;
109
- }
110
- }
111
- const res = await (0, utils_1.promiseQuery)(config, conn, sql, values);
112
- return res;
113
- }
114
- exports.findSelect = findSelect;
115
- /**
116
- * 根据 id 列表查询记录
117
- * @param connection
118
- * @param table
119
- * @param ids
120
- * @returns
121
- */
122
- async function findByIdIn(config, connection, table, ids) {
123
- if (!ids.length) {
124
- return [];
125
- }
126
- return find(config, connection, {
127
- table,
128
- criteria: c => c.in(table.id, ids)
129
- });
130
- }
131
- exports.findByIdIn = findByIdIn;
132
- /**
133
- * 查找符合条件的第一条记录
134
- * @param conn
135
- * @param table
136
- * @param criteria
137
- * @returns
138
- */
139
- async function findFirst(config, conn, table, criteria,
140
- /**
141
- * 排序规则,按先后顺序放入,每个规则是一个元组,第一个元素是字段名称,第二个元素是顺序
142
- */
143
- orderBy) {
144
- let query = criteria ? (0, criteria_1.buildQuery)(criteria) : undefined;
145
- let sql = `select * from ?? `;
146
- const values = [table.tableName];
147
- if (query) {
148
- sql += ` where ${query.sql} `;
149
- values.push(...query.values);
150
- }
151
- // 排序
152
- if (orderBy && orderBy.length) {
153
- orderBy.forEach((orderBy, idx) => {
154
- const [field, sort] = orderBy;
155
- if (idx == 0) {
156
- sql += ` order by ?? ${sort} `;
157
- }
158
- else {
159
- sql += ` , ?? ${sort} `;
160
- }
161
- values.push(field);
162
- });
163
- }
164
- sql += ' limit 1';
165
- const res = await (0, utils_1.promiseQuery)(config, conn, sql, values);
166
- const list = res;
167
- return list.length ? list[0] : null;
168
- }
169
- exports.findFirst = findFirst;
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.findFirst = exports.findByIdIn = exports.findSelect = exports.find = exports.findAll = exports.findById = void 0;
4
+ const criteria_1 = require("./criteria");
5
+ const utils_1 = require("../utils");
6
+ const order_by_1 = require("./order-by");
7
+ /**
8
+ * id 查询
9
+ * @param connection
10
+ * @param mapping
11
+ * @param type
12
+ * @param id
13
+ */
14
+ async function findById(config, connection, table, id) {
15
+ const res = await (0, utils_1.promiseQuery)(config, connection, `select * from ?? where ?? = ?`, [
16
+ table.tableName,
17
+ table.id,
18
+ id
19
+ ]);
20
+ const rows = res;
21
+ if (!rows.length) {
22
+ return null;
23
+ }
24
+ return rows[0];
25
+ }
26
+ exports.findById = findById;
27
+ /**
28
+ * 查询表中所有数据。需谨慎操作,全表查询有可能会产生大列表问题。
29
+ * @param connection
30
+ * @param mapping
31
+ * @param type
32
+ * @returns
33
+ */
34
+ async function findAll(config, connection, table) {
35
+ const res = await (0, utils_1.promiseQuery)(config, connection, `select * from ??`, [table.tableName]);
36
+ return res;
37
+ }
38
+ exports.findAll = findAll;
39
+ /**
40
+ * 条件查询
41
+ * @param opts
42
+ * @returns
43
+ */
44
+ async function find(config, conn, opts) {
45
+ let query = opts.criteria ? (0, criteria_1.buildQuery)(opts.criteria) : undefined;
46
+ const values = [];
47
+ let sql = `select * from ?? `;
48
+ values.push(opts.table.tableName);
49
+ if (query) {
50
+ sql += ` where ${query.sql} `;
51
+ values.push(...query.values);
52
+ }
53
+ // 排序
54
+ if (opts.orderBy && opts.orderBy.length) {
55
+ const ob = (0, order_by_1.buildOrderBy)(opts.orderBy);
56
+ sql += ob.sql;
57
+ values.push(...ob.values);
58
+ }
59
+ // 数量限制
60
+ if (opts.limit) {
61
+ sql += ` limit ${opts.limit} `;
62
+ if (opts.offset) {
63
+ sql += ` offset ${opts.offset}`;
64
+ }
65
+ }
66
+ const res = await (0, utils_1.promiseQuery)(config, conn, sql, values);
67
+ return res;
68
+ }
69
+ exports.find = find;
70
+ /**
71
+ * 查询指定的字段,返回值类型与选择的字段有关
72
+ * @param onfig
73
+ * @param conn
74
+ * @param opts
75
+ */
76
+ async function findSelect(config, conn, opts) {
77
+ let query = opts.criteria ? (0, criteria_1.buildQuery)(opts.criteria) : undefined;
78
+ const values = [];
79
+ let sql = `select ${opts.select.map(() => '??').join(',')} from ?? `;
80
+ values.push(...opts.select, opts.table.tableName);
81
+ if (query) {
82
+ sql += ` where ${query.sql} `;
83
+ values.push(...query.values);
84
+ }
85
+ // 排序
86
+ if (opts.orderBy && opts.orderBy.length) {
87
+ const ob = (0, order_by_1.buildOrderBy)(opts.orderBy);
88
+ sql += ob.sql;
89
+ values.push(...ob.values);
90
+ }
91
+ // 数量限制
92
+ if (opts.limit) {
93
+ sql += ` limit ${opts.limit} `;
94
+ if (opts.offset) {
95
+ sql += ` offset ${opts.offset}`;
96
+ }
97
+ }
98
+ const res = await (0, utils_1.promiseQuery)(config, conn, sql, values);
99
+ return res;
100
+ }
101
+ exports.findSelect = findSelect;
102
+ /**
103
+ * 根据 id 列表查询记录
104
+ * @param connection
105
+ * @param table
106
+ * @param ids
107
+ * @returns
108
+ */
109
+ async function findByIdIn(config, connection, table, ids) {
110
+ if (!ids.length) {
111
+ return [];
112
+ }
113
+ return find(config, connection, {
114
+ table,
115
+ criteria: c => c.in(table.id, ids)
116
+ });
117
+ }
118
+ exports.findByIdIn = findByIdIn;
119
+ /**
120
+ * 查找符合条件的第一条记录
121
+ * @param conn
122
+ * @param table
123
+ * @param criteria
124
+ * @returns
125
+ */
126
+ async function findFirst(config, conn, table, criteria,
127
+ /**
128
+ * 排序规则,按先后顺序放入,每个规则是一个元组,第一个元素是字段名称,第二个元素是顺序
129
+ */
130
+ orderBy) {
131
+ let query = criteria ? (0, criteria_1.buildQuery)(criteria) : undefined;
132
+ let sql = `select * from ?? `;
133
+ const values = [table.tableName];
134
+ if (query) {
135
+ sql += ` where ${query.sql} `;
136
+ values.push(...query.values);
137
+ }
138
+ // 排序
139
+ if (orderBy && orderBy.length) {
140
+ const ob = (0, order_by_1.buildOrderBy)(orderBy);
141
+ sql += ob.sql;
142
+ values.push(...ob.values);
143
+ }
144
+ sql += ' limit 1';
145
+ const res = await (0, utils_1.promiseQuery)(config, conn, sql, values);
146
+ const list = res;
147
+ return list.length ? list[0] : null;
148
+ }
149
+ exports.findFirst = findFirst;
@@ -1,14 +1,16 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const tslib_1 = require("tslib");
4
- // 各类操作封装
5
- tslib_1.__exportStar(require("./count"), exports);
6
- tslib_1.__exportStar(require("./criteria"), exports);
7
- tslib_1.__exportStar(require("./delete"), exports);
8
- tslib_1.__exportStar(require("./exist"), exports);
9
- tslib_1.__exportStar(require("./find"), exports);
10
- tslib_1.__exportStar(require("./insert"), exports);
11
- tslib_1.__exportStar(require("./modify"), exports);
12
- tslib_1.__exportStar(require("./paginate"), exports);
13
- tslib_1.__exportStar(require("./query"), exports);
14
- tslib_1.__exportStar(require("./update"), exports);
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const tslib_1 = require("tslib");
4
+ // 各类操作封装
5
+ tslib_1.__exportStar(require("./count"), exports);
6
+ tslib_1.__exportStar(require("./criteria"), exports);
7
+ tslib_1.__exportStar(require("./delete"), exports);
8
+ tslib_1.__exportStar(require("./exist"), exports);
9
+ tslib_1.__exportStar(require("./find"), exports);
10
+ tslib_1.__exportStar(require("./insert"), exports);
11
+ tslib_1.__exportStar(require("./modify"), exports);
12
+ tslib_1.__exportStar(require("./order-by"), exports);
13
+ tslib_1.__exportStar(require("./upsert"), exports);
14
+ tslib_1.__exportStar(require("./paginate"), exports);
15
+ tslib_1.__exportStar(require("./query"), exports);
16
+ tslib_1.__exportStar(require("./update"), exports);