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.
- package/README.en.md +61 -0
- package/README.md +44 -29
- package/dist/cache/cache.js +98 -98
- package/dist/cache/config.js +19 -19
- package/dist/cache/index.js +27 -27
- package/dist/cache/purge-task.js +46 -46
- package/dist/cache/stat.js +47 -47
- package/dist/config/convert.js +36 -36
- package/dist/config/exception.js +14 -14
- package/dist/config/index.js +81 -81
- package/dist/http-client/index.js +136 -136
- package/dist/i18n/ar.js +17 -17
- package/dist/i18n/de.js +17 -17
- package/dist/i18n/en-us.js +17 -17
- package/dist/i18n/es.js +17 -17
- package/dist/i18n/fr.js +17 -17
- package/dist/i18n/i18n.js +231 -231
- package/dist/i18n/index.js +52 -52
- package/dist/i18n/ja.js +17 -17
- package/dist/i18n/ko.js +17 -17
- package/dist/i18n/msg.js +2 -2
- package/dist/i18n/pt.js +17 -17
- package/dist/i18n/ru.js +17 -17
- package/dist/i18n/tag.js +18 -18
- package/dist/i18n/zh-HK.js +17 -17
- package/dist/i18n/zh-TW.js +17 -17
- package/dist/i18n/zh-cn.js +17 -17
- package/dist/index.js +14 -14
- package/dist/lock/index.js +114 -114
- package/dist/log/config.js +35 -35
- package/dist/log/date.js +21 -21
- package/dist/log/file.js +198 -198
- package/dist/log/index.js +135 -135
- package/dist/log/level.js +33 -33
- package/dist/log/log.js +56 -56
- package/dist/log/store.js +19 -19
- package/dist/mongodb/collection.js +2 -2
- package/dist/mongodb/config.js +34 -34
- package/dist/mongodb/doc.js +2 -2
- package/dist/mongodb/exception.js +14 -14
- package/dist/mongodb/index.js +58 -58
- package/dist/mongodb/manager/base.js +563 -563
- package/dist/mongodb/manager/index.js +63 -63
- package/dist/mongodb/manager/tx-strict.js +84 -84
- package/dist/mongodb/manager/tx.js +30 -30
- package/dist/mongodb/migration.js +52 -52
- package/dist/mvc/access-log.js +33 -33
- package/dist/mvc/config.js +27 -27
- package/dist/mvc/exchange.js +113 -113
- package/dist/mvc/handler/index.js +7 -6
- package/dist/mvc/handler/json.js +65 -65
- package/dist/mvc/handler/restful.js +35 -35
- package/dist/mvc/handler/sse.js +65 -0
- package/dist/mvc/handler/upload.js +31 -31
- package/dist/mvc/index.js +50 -50
- package/dist/mvc/interceptor.js +2 -2
- package/dist/mvc/query.js +43 -43
- package/dist/mvc/render/file.js +132 -132
- package/dist/mvc/render/html/html.js +90 -90
- package/dist/mvc/render/html/index.js +18 -18
- package/dist/mvc/render/html/style.js +2 -2
- package/dist/mvc/render/index.js +7 -7
- package/dist/mvc/render/json.js +26 -26
- package/dist/mvc/render/text.js +16 -16
- package/dist/mvc/router.js +2 -2
- package/dist/mvc/server.js +272 -272
- package/dist/mvc/static/header.js +67 -67
- package/dist/mvc/static/index.js +6 -6
- package/dist/mvc/static/mime-type.js +84 -84
- package/dist/mvc/static/server-cache-config.js +66 -66
- package/dist/mvc/static/server-cache.js +133 -133
- package/dist/mvc/static/static-handler.js +372 -372
- package/dist/mysql/config.js +51 -51
- package/dist/mysql/exception.js +14 -14
- package/dist/mysql/index.js +87 -87
- package/dist/mysql/manager/base.js +278 -239
- package/dist/mysql/manager/index.js +107 -107
- package/dist/mysql/manager/ops/count.js +20 -20
- package/dist/mysql/manager/ops/criteria.js +381 -356
- package/dist/mysql/manager/ops/delete.js +59 -65
- package/dist/mysql/manager/ops/exist.js +26 -26
- package/dist/mysql/manager/ops/find.js +149 -169
- package/dist/mysql/manager/ops/index.js +16 -14
- package/dist/mysql/manager/ops/insert.js +132 -106
- package/dist/mysql/manager/ops/modify.js +10 -10
- package/dist/mysql/manager/ops/order-by.js +28 -0
- package/dist/mysql/manager/ops/paginate.js +48 -23
- package/dist/mysql/manager/ops/query.js +9 -9
- package/dist/mysql/manager/ops/update.js +222 -216
- package/dist/mysql/manager/ops/upsert.js +178 -0
- package/dist/mysql/manager/ops/utils.js +28 -24
- package/dist/mysql/manager/tx-strict.js +103 -103
- package/dist/mysql/manager/tx.js +30 -30
- package/dist/mysql/manager/utils.js +56 -56
- package/dist/mysql/migration.js +136 -136
- package/dist/mysql/table-info.js +8 -8
- package/dist/task/daily.js +59 -59
- package/dist/task/fixed-delay.js +38 -38
- package/dist/task/fixed-rate.js +42 -42
- package/dist/task/index.js +9 -9
- package/dist/task/task.js +56 -56
- package/dist/validation/exception.js +36 -36
- package/dist/validation/index.js +40 -40
- package/dist/validation/validator/array.js +34 -34
- package/dist/validation/validator/enum.js +28 -28
- package/dist/validation/validator/index.js +14 -14
- package/dist/validation/validator/length.js +40 -40
- package/dist/validation/validator/max-length.js +35 -35
- package/dist/validation/validator/max.js +29 -29
- package/dist/validation/validator/min-length.js +33 -33
- package/dist/validation/validator/min.js +29 -29
- package/dist/validation/validator/not-blank.js +33 -33
- package/dist/validation/validator/not-null.js +21 -21
- package/dist/validation/validator/plain-obj.js +32 -32
- package/dist/validation/validator/regexp.js +34 -34
- package/documentation/en/cache.md +56 -0
- package/documentation/en/config.md +96 -0
- package/documentation/en/engineering.md +256 -0
- package/documentation/en/http-client.md +32 -0
- package/documentation/en/i18n.md +143 -0
- package/documentation/en/index.md +24 -0
- package/documentation/en/lock.md +51 -0
- package/documentation/en/log.md +109 -0
- package/documentation/en/mongodb.md +256 -0
- package/documentation/en/mvc.md +688 -0
- package/documentation/en/mysql.md +682 -0
- package/documentation/en/task.md +45 -0
- package/documentation/en/test.md +56 -0
- package/documentation/en/validate.md +130 -0
- package/documentation/zh-cn/mvc.md +66 -24
- package/documentation/zh-cn/mysql.md +146 -17
- package/package.json +4 -1
- package/skills/wok-server-api-rules/SKILL.md +350 -0
- package/skills/wok-server-cache/SKILL.md +216 -0
- package/skills/wok-server-code-navigation/SKILL.md +153 -0
- package/skills/wok-server-config/SKILL.md +200 -0
- package/skills/wok-server-getting-started/SKILL.md +123 -0
- package/skills/wok-server-getting-started/references/engineering.md +169 -0
- package/skills/wok-server-http-client/SKILL.md +164 -0
- package/skills/wok-server-i18n/SKILL.md +214 -0
- package/skills/wok-server-lock/SKILL.md +144 -0
- package/skills/wok-server-log/SKILL.md +218 -0
- package/skills/wok-server-mongodb/SKILL.md +235 -0
- package/skills/wok-server-mvc/SKILL.md +251 -0
- package/skills/wok-server-mvc/references/respond-html.md +157 -0
- package/skills/wok-server-mvc/references/sse.md +121 -0
- package/skills/wok-server-mvc/references/static-files.md +47 -0
- package/skills/wok-server-mvc/references/upload.md +62 -0
- package/skills/wok-server-mvc/references/websocket.md +30 -0
- package/skills/wok-server-mysql/SKILL.md +388 -0
- package/skills/wok-server-mysql/references/multi-datasource.md +76 -0
- package/skills/wok-server-mysql/references/version-control.md +22 -0
- package/skills/wok-server-task/SKILL.md +158 -0
- package/skills/wok-server-validate/SKILL.md +167 -0
- package/src/cache/cache.ts +118 -0
- package/src/cache/config.ts +53 -0
- package/src/cache/index.ts +27 -0
- package/src/cache/purge-task.ts +53 -0
- package/src/cache/stat.ts +47 -0
- package/src/config/convert.ts +27 -0
- package/src/config/exception.ts +8 -0
- package/src/config/index.ts +92 -0
- package/src/http-client/index.ts +202 -0
- package/src/i18n/ar.ts +16 -0
- package/src/i18n/de.ts +16 -0
- package/src/i18n/en-us.ts +16 -0
- package/src/i18n/es.ts +16 -0
- package/src/i18n/fr.ts +16 -0
- package/src/i18n/i18n.ts +230 -0
- package/src/i18n/index.ts +50 -0
- package/src/i18n/ja.ts +16 -0
- package/src/i18n/ko.ts +16 -0
- package/src/i18n/msg.ts +50 -0
- package/src/i18n/pt.ts +16 -0
- package/src/i18n/ru.ts +16 -0
- package/src/i18n/tag.ts +18 -0
- package/src/i18n/zh-HK.ts +16 -0
- package/src/i18n/zh-TW.ts +16 -0
- package/src/i18n/zh-cn.ts +16 -0
- package/src/index.ts +11 -0
- package/src/lock/index.ts +164 -0
- package/src/log/config.ts +71 -0
- package/src/log/date.ts +19 -0
- package/src/log/file.ts +215 -0
- package/src/log/index.ts +136 -0
- package/src/log/level.ts +29 -0
- package/src/log/log.ts +77 -0
- package/src/log/store.ts +31 -0
- package/src/mongodb/collection.ts +25 -0
- package/src/mongodb/config.ts +69 -0
- package/src/mongodb/doc.ts +12 -0
- package/src/mongodb/exception.ts +8 -0
- package/src/mongodb/index.ts +71 -0
- package/src/mongodb/manager/base.ts +674 -0
- package/src/mongodb/manager/index.ts +80 -0
- package/src/mongodb/manager/tx-strict.ts +153 -0
- package/src/mongodb/manager/tx.ts +34 -0
- package/src/mongodb/migration.ts +66 -0
- package/src/mvc/access-log.ts +33 -0
- package/src/mvc/config.ts +70 -0
- package/src/mvc/exchange.ts +126 -0
- package/src/mvc/handler/index.ts +4 -0
- package/src/mvc/handler/json.ts +96 -0
- package/src/mvc/handler/restful.ts +39 -0
- package/src/mvc/handler/sse.ts +90 -0
- package/src/mvc/handler/upload.ts +54 -0
- package/src/mvc/index.ts +48 -0
- package/src/mvc/interceptor.ts +12 -0
- package/src/mvc/query.ts +36 -0
- package/src/mvc/render/file.ts +148 -0
- package/src/mvc/render/html/html.ts +187 -0
- package/src/mvc/render/html/index.ts +16 -0
- package/src/mvc/render/html/style.ts +1201 -0
- package/src/mvc/render/index.ts +4 -0
- package/src/mvc/render/json.ts +24 -0
- package/src/mvc/render/text.ts +14 -0
- package/src/mvc/router.ts +13 -0
- package/src/mvc/server.ts +315 -0
- package/src/mvc/static/header.ts +86 -0
- package/src/mvc/static/index.ts +3 -0
- package/src/mvc/static/mime-type.ts +81 -0
- package/src/mvc/static/server-cache-config.ts +92 -0
- package/src/mvc/static/server-cache.ts +171 -0
- package/src/mvc/static/static-handler.ts +445 -0
- package/src/mysql/config.ts +130 -0
- package/src/mysql/exception.ts +8 -0
- package/src/mysql/index.ts +88 -0
- package/src/mysql/manager/base.ts +332 -0
- package/src/mysql/manager/index.ts +112 -0
- package/src/mysql/manager/ops/count.ts +30 -0
- package/src/mysql/manager/ops/criteria.ts +446 -0
- package/src/mysql/manager/ops/delete.ts +91 -0
- package/src/mysql/manager/ops/exist.ts +41 -0
- package/src/mysql/manager/ops/find.ts +209 -0
- package/src/mysql/manager/ops/index.ts +13 -0
- package/src/mysql/manager/ops/insert.ts +158 -0
- package/src/mysql/manager/ops/modify.ts +14 -0
- package/src/mysql/manager/ops/order-by.ts +58 -0
- package/src/mysql/manager/ops/paginate.ts +100 -0
- package/src/mysql/manager/ops/query.ts +13 -0
- package/src/mysql/manager/ops/update.ts +318 -0
- package/src/mysql/manager/ops/upsert.ts +224 -0
- package/src/mysql/manager/ops/utils.ts +24 -0
- package/src/mysql/manager/tx-strict.ts +138 -0
- package/src/mysql/manager/tx.ts +31 -0
- package/src/mysql/manager/utils.ts +75 -0
- package/src/mysql/migration.ts +149 -0
- package/src/mysql/table-info.ts +41 -0
- package/src/task/daily.ts +70 -0
- package/src/task/fixed-delay.ts +45 -0
- package/src/task/fixed-rate.ts +49 -0
- package/src/task/index.ts +4 -0
- package/src/task/task.ts +70 -0
- package/src/validation/exception.ts +27 -0
- package/src/validation/index.ts +61 -0
- package/src/validation/validator/array.ts +32 -0
- package/src/validation/validator/enum.ts +25 -0
- package/src/validation/validator/index.ts +11 -0
- package/src/validation/validator/length.ts +42 -0
- package/src/validation/validator/max-length.ts +33 -0
- package/src/validation/validator/max.ts +26 -0
- package/src/validation/validator/min-length.ts +31 -0
- package/src/validation/validator/min.ts +26 -0
- package/src/validation/validator/not-blank.ts +31 -0
- package/src/validation/validator/not-null.ts +19 -0
- package/src/validation/validator/plain-obj.ts +30 -0
- package/src/validation/validator/regexp.ts +32 -0
- package/types/cache/cache.d.ts +52 -52
- package/types/cache/config.d.ts +32 -32
- package/types/cache/index.d.ts +2 -2
- package/types/cache/purge-task.d.ts +11 -11
- package/types/cache/stat.d.ts +26 -26
- package/types/config/convert.d.ts +6 -6
- package/types/config/exception.d.ts +7 -7
- package/types/config/index.d.ts +25 -25
- package/types/http-client/index.d.ts +71 -71
- package/types/i18n/ar.d.ts +2 -2
- package/types/i18n/de.d.ts +2 -2
- package/types/i18n/en-us.d.ts +2 -2
- package/types/i18n/es.d.ts +2 -2
- package/types/i18n/fr.d.ts +2 -2
- package/types/i18n/i18n.d.ts +102 -102
- package/types/i18n/index.d.ts +9 -9
- package/types/i18n/ja.d.ts +2 -2
- package/types/i18n/ko.d.ts +2 -2
- package/types/i18n/msg.d.ts +50 -50
- package/types/i18n/pt.d.ts +2 -2
- package/types/i18n/ru.d.ts +2 -2
- package/types/i18n/tag.d.ts +11 -11
- package/types/i18n/zh-HK.d.ts +2 -2
- package/types/i18n/zh-TW.d.ts +2 -2
- package/types/i18n/zh-cn.d.ts +2 -2
- package/types/index.d.ts +11 -11
- package/types/lock/index.d.ts +64 -64
- package/types/log/config.d.ts +35 -35
- package/types/log/date.d.ts +2 -2
- package/types/log/file.d.ts +13 -13
- package/types/log/index.d.ts +53 -53
- package/types/log/level.d.ts +14 -14
- package/types/log/log.d.ts +40 -40
- package/types/log/store.d.ts +19 -19
- package/types/mongodb/collection.d.ts +25 -25
- package/types/mongodb/config.d.ts +45 -45
- package/types/mongodb/doc.d.ts +11 -11
- package/types/mongodb/exception.d.ts +7 -7
- package/types/mongodb/index.d.ts +29 -29
- package/types/mongodb/manager/base.d.ts +188 -188
- package/types/mongodb/manager/index.d.ts +38 -38
- package/types/mongodb/manager/tx-strict.d.ts +41 -41
- package/types/mongodb/manager/tx.d.ts +21 -21
- package/types/mongodb/migration.d.ts +12 -12
- package/types/mvc/access-log.d.ts +7 -7
- package/types/mvc/config.d.ts +42 -42
- package/types/mvc/exchange.d.ts +72 -72
- package/types/mvc/handler/index.d.ts +4 -3
- package/types/mvc/handler/json.d.ts +44 -44
- package/types/mvc/handler/restful.d.ts +11 -11
- package/types/mvc/handler/sse.d.ts +34 -0
- package/types/mvc/handler/upload.d.ts +36 -36
- package/types/mvc/index.d.ts +22 -22
- package/types/mvc/interceptor.d.ts +11 -11
- package/types/mvc/query.d.ts +13 -13
- package/types/mvc/render/file.d.ts +10 -10
- package/types/mvc/render/html/html.d.ts +98 -98
- package/types/mvc/render/html/index.d.ts +11 -11
- package/types/mvc/render/html/style.d.ts +1201 -1201
- package/types/mvc/render/index.d.ts +4 -4
- package/types/mvc/render/json.d.ts +17 -17
- package/types/mvc/render/text.d.ts +10 -10
- package/types/mvc/router.d.ts +11 -11
- package/types/mvc/server.d.ts +90 -90
- package/types/mvc/static/header.d.ts +27 -27
- package/types/mvc/static/index.d.ts +3 -3
- package/types/mvc/static/mime-type.d.ts +2 -2
- package/types/mvc/static/server-cache-config.d.ts +30 -30
- package/types/mvc/static/server-cache.d.ts +76 -76
- package/types/mvc/static/static-handler.d.ts +77 -77
- package/types/mysql/config.d.ts +90 -90
- package/types/mysql/exception.d.ts +7 -7
- package/types/mysql/index.d.ts +16 -16
- package/types/mysql/manager/base.d.ts +196 -165
- package/types/mysql/manager/index.d.ts +36 -36
- package/types/mysql/manager/ops/count.d.ts +13 -13
- package/types/mysql/manager/ops/criteria.d.ts +144 -134
- package/types/mysql/manager/ops/delete.d.ts +47 -46
- package/types/mysql/manager/ops/exist.d.ts +6 -6
- package/types/mysql/manager/ops/find.d.ts +87 -86
- package/types/mysql/manager/ops/index.d.ts +12 -10
- package/types/mysql/manager/ops/insert.d.ts +32 -18
- package/types/mysql/manager/ops/modify.d.ts +3 -3
- package/types/mysql/manager/ops/order-by.d.ts +38 -0
- package/types/mysql/manager/ops/paginate.d.ts +53 -36
- package/types/mysql/manager/ops/query.d.ts +3 -3
- package/types/mysql/manager/ops/update.d.ts +99 -76
- package/types/mysql/manager/ops/upsert.d.ts +36 -0
- package/types/mysql/manager/ops/utils.d.ts +5 -5
- package/types/mysql/manager/tx-strict.d.ts +36 -36
- package/types/mysql/manager/tx.d.ts +15 -15
- package/types/mysql/manager/utils.d.ts +17 -17
- package/types/mysql/migration.d.ts +8 -8
- package/types/mysql/table-info.d.ts +36 -36
- package/types/task/daily.d.ts +16 -16
- package/types/task/fixed-delay.d.ts +9 -9
- package/types/task/fixed-rate.d.ts +9 -9
- package/types/task/index.d.ts +4 -4
- package/types/task/task.d.ts +34 -34
- package/types/validation/exception.d.ts +38 -38
- package/types/validation/index.d.ts +32 -32
- package/types/validation/validator/array.d.ts +5 -5
- package/types/validation/validator/enum.d.ts +8 -8
- package/types/validation/validator/index.d.ts +11 -11
- package/types/validation/validator/length.d.ts +10 -10
- package/types/validation/validator/max-length.d.ts +8 -8
- package/types/validation/validator/max.d.ts +7 -7
- package/types/validation/validator/min-length.d.ts +6 -6
- package/types/validation/validator/min.d.ts +7 -7
- package/types/validation/validator/not-blank.d.ts +7 -7
- package/types/validation/validator/not-null.d.ts +6 -6
- package/types/validation/validator/plain-obj.d.ts +7 -7
- package/types/validation/validator/regexp.d.ts +8 -8
|
@@ -1,63 +1,63 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MongoTxSession = exports.BaseMongoManager = exports.MongoDBManager = void 0;
|
|
4
|
-
const exception_1 = require("../exception");
|
|
5
|
-
const base_1 = require("./base");
|
|
6
|
-
Object.defineProperty(exports, "BaseMongoManager", { enumerable: true, get: function () { return base_1.BaseMongoManager; } });
|
|
7
|
-
const tx_1 = require("./tx");
|
|
8
|
-
Object.defineProperty(exports, "MongoTxSession", { enumerable: true, get: function () { return tx_1.MongoTxSession; } });
|
|
9
|
-
const tx_strict_1 = require("./tx-strict");
|
|
10
|
-
/**
|
|
11
|
-
* mongodb 管理器,目前尚未实现事务的处理.
|
|
12
|
-
*/
|
|
13
|
-
class MongoDBManager extends base_1.BaseMongoManager {
|
|
14
|
-
client;
|
|
15
|
-
/**
|
|
16
|
-
* mongodb 管理器构建
|
|
17
|
-
* @param db 库
|
|
18
|
-
*/
|
|
19
|
-
constructor(config, db, client) {
|
|
20
|
-
super(config, db);
|
|
21
|
-
this.client = client;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* 事务操作。mongodb 的版本必须在 4.0 以上,连接的必须是副本集节点或分片集群的mongos节点。
|
|
25
|
-
* @param ops 操作逻辑,所有事务相关的操作都必须使用函数提供的 session 对象
|
|
26
|
-
* @param opts mongo 事务选项
|
|
27
|
-
*/
|
|
28
|
-
async tx(ops, opts) {
|
|
29
|
-
const timeout = opts && typeof opts.timeout === 'number' ? opts.timeout : this.config.transactionTimeout;
|
|
30
|
-
const nativeSession = this.client.startSession();
|
|
31
|
-
nativeSession.startTransaction(opts);
|
|
32
|
-
const txSesssion = this.config.transactionStrict
|
|
33
|
-
? new tx_strict_1.MongoStrictTxSession(this.config, this.db, nativeSession)
|
|
34
|
-
: new tx_1.MongoTxSession(this.config, this.db, nativeSession);
|
|
35
|
-
try {
|
|
36
|
-
const result = timeout > 0
|
|
37
|
-
? await Promise.race([
|
|
38
|
-
ops(txSesssion),
|
|
39
|
-
new Promise((resolve, reject) => {
|
|
40
|
-
setTimeout(() => {
|
|
41
|
-
// 立即中止会话,防止再有后续操作
|
|
42
|
-
txSesssion.abort();
|
|
43
|
-
reject(new exception_1.MongoDBException('Transaction timeout !'));
|
|
44
|
-
}, timeout);
|
|
45
|
-
})
|
|
46
|
-
])
|
|
47
|
-
: await ops(txSesssion);
|
|
48
|
-
await nativeSession.commitTransaction();
|
|
49
|
-
return result;
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
await nativeSession.abortTransaction();
|
|
53
|
-
// 将原错误抛出,如果有需要,调用处可对异常做进一步的处理
|
|
54
|
-
throw error;
|
|
55
|
-
}
|
|
56
|
-
finally {
|
|
57
|
-
// 无论如何中止会话,离开事务,会话就不能再被使用
|
|
58
|
-
txSesssion.abort();
|
|
59
|
-
await nativeSession.endSession();
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
exports.MongoDBManager = MongoDBManager;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MongoTxSession = exports.BaseMongoManager = exports.MongoDBManager = void 0;
|
|
4
|
+
const exception_1 = require("../exception");
|
|
5
|
+
const base_1 = require("./base");
|
|
6
|
+
Object.defineProperty(exports, "BaseMongoManager", { enumerable: true, get: function () { return base_1.BaseMongoManager; } });
|
|
7
|
+
const tx_1 = require("./tx");
|
|
8
|
+
Object.defineProperty(exports, "MongoTxSession", { enumerable: true, get: function () { return tx_1.MongoTxSession; } });
|
|
9
|
+
const tx_strict_1 = require("./tx-strict");
|
|
10
|
+
/**
|
|
11
|
+
* mongodb 管理器,目前尚未实现事务的处理.
|
|
12
|
+
*/
|
|
13
|
+
class MongoDBManager extends base_1.BaseMongoManager {
|
|
14
|
+
client;
|
|
15
|
+
/**
|
|
16
|
+
* mongodb 管理器构建
|
|
17
|
+
* @param db 库
|
|
18
|
+
*/
|
|
19
|
+
constructor(config, db, client) {
|
|
20
|
+
super(config, db);
|
|
21
|
+
this.client = client;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 事务操作。mongodb 的版本必须在 4.0 以上,连接的必须是副本集节点或分片集群的mongos节点。
|
|
25
|
+
* @param ops 操作逻辑,所有事务相关的操作都必须使用函数提供的 session 对象
|
|
26
|
+
* @param opts mongo 事务选项
|
|
27
|
+
*/
|
|
28
|
+
async tx(ops, opts) {
|
|
29
|
+
const timeout = opts && typeof opts.timeout === 'number' ? opts.timeout : this.config.transactionTimeout;
|
|
30
|
+
const nativeSession = this.client.startSession();
|
|
31
|
+
nativeSession.startTransaction(opts);
|
|
32
|
+
const txSesssion = this.config.transactionStrict
|
|
33
|
+
? new tx_strict_1.MongoStrictTxSession(this.config, this.db, nativeSession)
|
|
34
|
+
: new tx_1.MongoTxSession(this.config, this.db, nativeSession);
|
|
35
|
+
try {
|
|
36
|
+
const result = timeout > 0
|
|
37
|
+
? await Promise.race([
|
|
38
|
+
ops(txSesssion),
|
|
39
|
+
new Promise((resolve, reject) => {
|
|
40
|
+
setTimeout(() => {
|
|
41
|
+
// 立即中止会话,防止再有后续操作
|
|
42
|
+
txSesssion.abort();
|
|
43
|
+
reject(new exception_1.MongoDBException('Transaction timeout !'));
|
|
44
|
+
}, timeout);
|
|
45
|
+
})
|
|
46
|
+
])
|
|
47
|
+
: await ops(txSesssion);
|
|
48
|
+
await nativeSession.commitTransaction();
|
|
49
|
+
return result;
|
|
50
|
+
}
|
|
51
|
+
catch (error) {
|
|
52
|
+
await nativeSession.abortTransaction();
|
|
53
|
+
// 将原错误抛出,如果有需要,调用处可对异常做进一步的处理
|
|
54
|
+
throw error;
|
|
55
|
+
}
|
|
56
|
+
finally {
|
|
57
|
+
// 无论如何中止会话,离开事务,会话就不能再被使用
|
|
58
|
+
txSesssion.abort();
|
|
59
|
+
await nativeSession.endSession();
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.MongoDBManager = MongoDBManager;
|
|
@@ -1,84 +1,84 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MongoStrictTxSession = void 0;
|
|
4
|
-
const exception_1 = require("../exception");
|
|
5
|
-
const tx_1 = require("./tx");
|
|
6
|
-
/**
|
|
7
|
-
* 严格事务会话
|
|
8
|
-
*/
|
|
9
|
-
class MongoStrictTxSession extends tx_1.MongoTxSession {
|
|
10
|
-
#opsCount = 0;
|
|
11
|
-
constructor(config, db, session) {
|
|
12
|
-
super(config, db, session);
|
|
13
|
-
}
|
|
14
|
-
/**
|
|
15
|
-
* 为操作计数,检查是否操作次数过多.
|
|
16
|
-
*/
|
|
17
|
-
#checkAndAddOpsCount() {
|
|
18
|
-
if (this.#opsCount >= 10) {
|
|
19
|
-
throw new exception_1.MongoDBException('Too many operations in a strict transaction.');
|
|
20
|
-
}
|
|
21
|
-
this.#opsCount++;
|
|
22
|
-
}
|
|
23
|
-
findById(coll, id) {
|
|
24
|
-
this.#checkAndAddOpsCount();
|
|
25
|
-
return super.findById(coll, id);
|
|
26
|
-
}
|
|
27
|
-
findByIdIn(coll, ids) {
|
|
28
|
-
if (ids.length > 100) {
|
|
29
|
-
throw new exception_1.MongoDBException(`The augument ids length(${ids.length}) passed to findByIdIn in a strict transaction is too large .`);
|
|
30
|
-
}
|
|
31
|
-
this.#checkAndAddOpsCount();
|
|
32
|
-
return super.findByIdIn(coll, ids);
|
|
33
|
-
}
|
|
34
|
-
existsBy(coll, filter) {
|
|
35
|
-
this.#checkAndAddOpsCount();
|
|
36
|
-
return super.existsBy(coll, filter);
|
|
37
|
-
}
|
|
38
|
-
deleteById(coll, id) {
|
|
39
|
-
this.#checkAndAddOpsCount();
|
|
40
|
-
return super.deleteById(coll, id);
|
|
41
|
-
}
|
|
42
|
-
deleteOne(coll, filter) {
|
|
43
|
-
this.#checkAndAddOpsCount();
|
|
44
|
-
return super.deleteOne(coll, filter);
|
|
45
|
-
}
|
|
46
|
-
deleteMany(coll, filter) {
|
|
47
|
-
throw new exception_1.MongoDBException('Prohibited to use deleteMany in a strict transaction.');
|
|
48
|
-
}
|
|
49
|
-
findAll(coll) {
|
|
50
|
-
throw new exception_1.MongoDBException('Prohibited to use findAll in a strict transaction.');
|
|
51
|
-
}
|
|
52
|
-
findFirst(coll, filter) {
|
|
53
|
-
this.#checkAndAddOpsCount();
|
|
54
|
-
return super.findFirst(coll, filter);
|
|
55
|
-
}
|
|
56
|
-
insert(coll, data) {
|
|
57
|
-
this.#checkAndAddOpsCount();
|
|
58
|
-
return super.insert(coll, data);
|
|
59
|
-
}
|
|
60
|
-
insertMany(coll, list) {
|
|
61
|
-
throw new exception_1.MongoDBException('Prohibited to use insertMany in a strict transaction.');
|
|
62
|
-
}
|
|
63
|
-
update(coll, data) {
|
|
64
|
-
this.#checkAndAddOpsCount();
|
|
65
|
-
return super.update(coll, data);
|
|
66
|
-
}
|
|
67
|
-
partialUpdate(coll, id, updator) {
|
|
68
|
-
this.#checkAndAddOpsCount();
|
|
69
|
-
return super.partialUpdate(coll, id, updator);
|
|
70
|
-
}
|
|
71
|
-
updateMany(coll, filter, updator) {
|
|
72
|
-
throw new exception_1.MongoDBException('Prohibited to use updateMany in a strict transaction.');
|
|
73
|
-
}
|
|
74
|
-
find(coll, filter, opts) {
|
|
75
|
-
throw new exception_1.MongoDBException('Prohibited to use find in a strict transaction.');
|
|
76
|
-
}
|
|
77
|
-
count(coll, filter) {
|
|
78
|
-
throw new exception_1.MongoDBException('Prohibited to use count in a strict transaction.');
|
|
79
|
-
}
|
|
80
|
-
paginate(coll, filter, opts) {
|
|
81
|
-
throw new exception_1.MongoDBException('Prohibited to use paginate in a strict transaction.');
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
exports.MongoStrictTxSession = MongoStrictTxSession;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MongoStrictTxSession = void 0;
|
|
4
|
+
const exception_1 = require("../exception");
|
|
5
|
+
const tx_1 = require("./tx");
|
|
6
|
+
/**
|
|
7
|
+
* 严格事务会话
|
|
8
|
+
*/
|
|
9
|
+
class MongoStrictTxSession extends tx_1.MongoTxSession {
|
|
10
|
+
#opsCount = 0;
|
|
11
|
+
constructor(config, db, session) {
|
|
12
|
+
super(config, db, session);
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* 为操作计数,检查是否操作次数过多.
|
|
16
|
+
*/
|
|
17
|
+
#checkAndAddOpsCount() {
|
|
18
|
+
if (this.#opsCount >= 10) {
|
|
19
|
+
throw new exception_1.MongoDBException('Too many operations in a strict transaction.');
|
|
20
|
+
}
|
|
21
|
+
this.#opsCount++;
|
|
22
|
+
}
|
|
23
|
+
findById(coll, id) {
|
|
24
|
+
this.#checkAndAddOpsCount();
|
|
25
|
+
return super.findById(coll, id);
|
|
26
|
+
}
|
|
27
|
+
findByIdIn(coll, ids) {
|
|
28
|
+
if (ids.length > 100) {
|
|
29
|
+
throw new exception_1.MongoDBException(`The augument ids length(${ids.length}) passed to findByIdIn in a strict transaction is too large .`);
|
|
30
|
+
}
|
|
31
|
+
this.#checkAndAddOpsCount();
|
|
32
|
+
return super.findByIdIn(coll, ids);
|
|
33
|
+
}
|
|
34
|
+
existsBy(coll, filter) {
|
|
35
|
+
this.#checkAndAddOpsCount();
|
|
36
|
+
return super.existsBy(coll, filter);
|
|
37
|
+
}
|
|
38
|
+
deleteById(coll, id) {
|
|
39
|
+
this.#checkAndAddOpsCount();
|
|
40
|
+
return super.deleteById(coll, id);
|
|
41
|
+
}
|
|
42
|
+
deleteOne(coll, filter) {
|
|
43
|
+
this.#checkAndAddOpsCount();
|
|
44
|
+
return super.deleteOne(coll, filter);
|
|
45
|
+
}
|
|
46
|
+
deleteMany(coll, filter) {
|
|
47
|
+
throw new exception_1.MongoDBException('Prohibited to use deleteMany in a strict transaction.');
|
|
48
|
+
}
|
|
49
|
+
findAll(coll) {
|
|
50
|
+
throw new exception_1.MongoDBException('Prohibited to use findAll in a strict transaction.');
|
|
51
|
+
}
|
|
52
|
+
findFirst(coll, filter) {
|
|
53
|
+
this.#checkAndAddOpsCount();
|
|
54
|
+
return super.findFirst(coll, filter);
|
|
55
|
+
}
|
|
56
|
+
insert(coll, data) {
|
|
57
|
+
this.#checkAndAddOpsCount();
|
|
58
|
+
return super.insert(coll, data);
|
|
59
|
+
}
|
|
60
|
+
insertMany(coll, list) {
|
|
61
|
+
throw new exception_1.MongoDBException('Prohibited to use insertMany in a strict transaction.');
|
|
62
|
+
}
|
|
63
|
+
update(coll, data) {
|
|
64
|
+
this.#checkAndAddOpsCount();
|
|
65
|
+
return super.update(coll, data);
|
|
66
|
+
}
|
|
67
|
+
partialUpdate(coll, id, updator) {
|
|
68
|
+
this.#checkAndAddOpsCount();
|
|
69
|
+
return super.partialUpdate(coll, id, updator);
|
|
70
|
+
}
|
|
71
|
+
updateMany(coll, filter, updator) {
|
|
72
|
+
throw new exception_1.MongoDBException('Prohibited to use updateMany in a strict transaction.');
|
|
73
|
+
}
|
|
74
|
+
find(coll, filter, opts) {
|
|
75
|
+
throw new exception_1.MongoDBException('Prohibited to use find in a strict transaction.');
|
|
76
|
+
}
|
|
77
|
+
count(coll, filter) {
|
|
78
|
+
throw new exception_1.MongoDBException('Prohibited to use count in a strict transaction.');
|
|
79
|
+
}
|
|
80
|
+
paginate(coll, filter, opts) {
|
|
81
|
+
throw new exception_1.MongoDBException('Prohibited to use paginate in a strict transaction.');
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
exports.MongoStrictTxSession = MongoStrictTxSession;
|
|
@@ -1,30 +1,30 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MongoTxSession = void 0;
|
|
4
|
-
const exception_1 = require("../exception");
|
|
5
|
-
const base_1 = require("./base");
|
|
6
|
-
/**
|
|
7
|
-
* 事务会话
|
|
8
|
-
*/
|
|
9
|
-
class MongoTxSession extends base_1.BaseMongoManager {
|
|
10
|
-
/**
|
|
11
|
-
* 中止标识
|
|
12
|
-
*/
|
|
13
|
-
#aborted = false;
|
|
14
|
-
constructor(config, db, session) {
|
|
15
|
-
super(config, db, session);
|
|
16
|
-
}
|
|
17
|
-
timingQuery(opts) {
|
|
18
|
-
if (this.#aborted) {
|
|
19
|
-
throw new exception_1.MongoDBException('Session has been aborted!');
|
|
20
|
-
}
|
|
21
|
-
return super.timingQuery(opts);
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* 中止,被中止后的会话不能再进行任何操作
|
|
25
|
-
*/
|
|
26
|
-
abort() {
|
|
27
|
-
this.#aborted = true;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
exports.MongoTxSession = MongoTxSession;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MongoTxSession = void 0;
|
|
4
|
+
const exception_1 = require("../exception");
|
|
5
|
+
const base_1 = require("./base");
|
|
6
|
+
/**
|
|
7
|
+
* 事务会话
|
|
8
|
+
*/
|
|
9
|
+
class MongoTxSession extends base_1.BaseMongoManager {
|
|
10
|
+
/**
|
|
11
|
+
* 中止标识
|
|
12
|
+
*/
|
|
13
|
+
#aborted = false;
|
|
14
|
+
constructor(config, db, session) {
|
|
15
|
+
super(config, db, session);
|
|
16
|
+
}
|
|
17
|
+
timingQuery(opts) {
|
|
18
|
+
if (this.#aborted) {
|
|
19
|
+
throw new exception_1.MongoDBException('Session has been aborted!');
|
|
20
|
+
}
|
|
21
|
+
return super.timingQuery(opts);
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* 中止,被中止后的会话不能再进行任何操作
|
|
25
|
+
*/
|
|
26
|
+
abort() {
|
|
27
|
+
this.#aborted = true;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.MongoTxSession = MongoTxSession;
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.migrate = void 0;
|
|
4
|
-
const exception_1 = require("./exception");
|
|
5
|
-
const log_1 = require("../log");
|
|
6
|
-
/**
|
|
7
|
-
* 迁移
|
|
8
|
-
* @param db
|
|
9
|
-
* @param versionList
|
|
10
|
-
*/
|
|
11
|
-
async function migrate(db, versionList) {
|
|
12
|
-
let currentVersion = await getCurrentVersion(db);
|
|
13
|
-
// 逐个执行,迁移执行的逻辑是无法提供事务支持的
|
|
14
|
-
// 版本管理代码是自定义的,无法做到强制绑定 session
|
|
15
|
-
// 一旦出错,只能手动处理数据库,然后再重新执行程序,和 mysql 一样
|
|
16
|
-
for (let idx = 0; idx < versionList.length; idx++) {
|
|
17
|
-
if (idx <= currentVersion) {
|
|
18
|
-
continue;
|
|
19
|
-
}
|
|
20
|
-
const migrationVersion = versionList[idx];
|
|
21
|
-
(0, log_1.getLogger)().info(`MongoDB migrating, version: ${idx}`);
|
|
22
|
-
await migrationVersion(db);
|
|
23
|
-
await updateVersion(db, idx);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.migrate = migrate;
|
|
27
|
-
const VERSION_COLLECTION_NAME = 'db_version';
|
|
28
|
-
const VERSION_RECORD_ID = 'db_version';
|
|
29
|
-
async function getCurrentVersion(db) {
|
|
30
|
-
const res = await db
|
|
31
|
-
.collection(VERSION_COLLECTION_NAME)
|
|
32
|
-
.findOne({ _id: VERSION_RECORD_ID });
|
|
33
|
-
return res ? res.version : -1;
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* 更新版本号
|
|
37
|
-
* @param db
|
|
38
|
-
* @param version
|
|
39
|
-
*/
|
|
40
|
-
async function updateVersion(db, version) {
|
|
41
|
-
const collection = db.collection(VERSION_COLLECTION_NAME);
|
|
42
|
-
const res = await collection.findOne({ _id: VERSION_RECORD_ID });
|
|
43
|
-
if (res) {
|
|
44
|
-
const rs = await collection.updateOne({ _id: VERSION_RECORD_ID }, { $set: { version } });
|
|
45
|
-
if (rs.modifiedCount !== 1) {
|
|
46
|
-
throw new exception_1.MongoDBException('Failed to update version.');
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
await collection.insertOne({ _id: VERSION_RECORD_ID, version: version });
|
|
51
|
-
}
|
|
52
|
-
}
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.migrate = void 0;
|
|
4
|
+
const exception_1 = require("./exception");
|
|
5
|
+
const log_1 = require("../log");
|
|
6
|
+
/**
|
|
7
|
+
* 迁移
|
|
8
|
+
* @param db
|
|
9
|
+
* @param versionList
|
|
10
|
+
*/
|
|
11
|
+
async function migrate(db, versionList) {
|
|
12
|
+
let currentVersion = await getCurrentVersion(db);
|
|
13
|
+
// 逐个执行,迁移执行的逻辑是无法提供事务支持的
|
|
14
|
+
// 版本管理代码是自定义的,无法做到强制绑定 session
|
|
15
|
+
// 一旦出错,只能手动处理数据库,然后再重新执行程序,和 mysql 一样
|
|
16
|
+
for (let idx = 0; idx < versionList.length; idx++) {
|
|
17
|
+
if (idx <= currentVersion) {
|
|
18
|
+
continue;
|
|
19
|
+
}
|
|
20
|
+
const migrationVersion = versionList[idx];
|
|
21
|
+
(0, log_1.getLogger)().info(`MongoDB migrating, version: ${idx}`);
|
|
22
|
+
await migrationVersion(db);
|
|
23
|
+
await updateVersion(db, idx);
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.migrate = migrate;
|
|
27
|
+
const VERSION_COLLECTION_NAME = 'db_version';
|
|
28
|
+
const VERSION_RECORD_ID = 'db_version';
|
|
29
|
+
async function getCurrentVersion(db) {
|
|
30
|
+
const res = await db
|
|
31
|
+
.collection(VERSION_COLLECTION_NAME)
|
|
32
|
+
.findOne({ _id: VERSION_RECORD_ID });
|
|
33
|
+
return res ? res.version : -1;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* 更新版本号
|
|
37
|
+
* @param db
|
|
38
|
+
* @param version
|
|
39
|
+
*/
|
|
40
|
+
async function updateVersion(db, version) {
|
|
41
|
+
const collection = db.collection(VERSION_COLLECTION_NAME);
|
|
42
|
+
const res = await collection.findOne({ _id: VERSION_RECORD_ID });
|
|
43
|
+
if (res) {
|
|
44
|
+
const rs = await collection.updateOne({ _id: VERSION_RECORD_ID }, { $set: { version } });
|
|
45
|
+
if (rs.modifiedCount !== 1) {
|
|
46
|
+
throw new exception_1.MongoDBException('Failed to update version.');
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
await collection.insertOne({ _id: VERSION_RECORD_ID, version: version });
|
|
51
|
+
}
|
|
52
|
+
}
|
package/dist/mvc/access-log.js
CHANGED
|
@@ -1,33 +1,33 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.accessLogInterceptor = void 0;
|
|
4
|
-
const log_1 = require("../log");
|
|
5
|
-
const date_1 = require("../log/date");
|
|
6
|
-
/**
|
|
7
|
-
* 访问日志拦截器,记录请求信息
|
|
8
|
-
* @param exchange
|
|
9
|
-
* @param next
|
|
10
|
-
*/
|
|
11
|
-
const accessLogInterceptor = async (exchange, next) => {
|
|
12
|
-
const start = new Date().getTime();
|
|
13
|
-
exchange.response.once('close', () => {
|
|
14
|
-
const userAgent = exchange.request.headers['user-agent'];
|
|
15
|
-
const referer = exchange.request.headers['referer'];
|
|
16
|
-
const ip = exchange.request.socket.remoteAddress;
|
|
17
|
-
const { url, method } = exchange.request;
|
|
18
|
-
const status = exchange.response.statusCode;
|
|
19
|
-
const rt = new Date().getTime() - start;
|
|
20
|
-
(0, log_1.getLogger)().info(`[access-log]${JSON.stringify({
|
|
21
|
-
method,
|
|
22
|
-
url,
|
|
23
|
-
ip,
|
|
24
|
-
userAgent,
|
|
25
|
-
referer,
|
|
26
|
-
start: (0, date_1.formatDateTime)(new Date(start)),
|
|
27
|
-
rt,
|
|
28
|
-
status
|
|
29
|
-
})}`);
|
|
30
|
-
});
|
|
31
|
-
await next();
|
|
32
|
-
};
|
|
33
|
-
exports.accessLogInterceptor = accessLogInterceptor;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.accessLogInterceptor = void 0;
|
|
4
|
+
const log_1 = require("../log");
|
|
5
|
+
const date_1 = require("../log/date");
|
|
6
|
+
/**
|
|
7
|
+
* 访问日志拦截器,记录请求信息
|
|
8
|
+
* @param exchange
|
|
9
|
+
* @param next
|
|
10
|
+
*/
|
|
11
|
+
const accessLogInterceptor = async (exchange, next) => {
|
|
12
|
+
const start = new Date().getTime();
|
|
13
|
+
exchange.response.once('close', () => {
|
|
14
|
+
const userAgent = exchange.request.headers['user-agent'];
|
|
15
|
+
const referer = exchange.request.headers['referer'];
|
|
16
|
+
const ip = exchange.request.socket.remoteAddress;
|
|
17
|
+
const { url, method } = exchange.request;
|
|
18
|
+
const status = exchange.response.statusCode;
|
|
19
|
+
const rt = new Date().getTime() - start;
|
|
20
|
+
(0, log_1.getLogger)().info(`[access-log]${JSON.stringify({
|
|
21
|
+
method,
|
|
22
|
+
url,
|
|
23
|
+
ip,
|
|
24
|
+
userAgent,
|
|
25
|
+
referer,
|
|
26
|
+
start: (0, date_1.formatDateTime)(new Date(start)),
|
|
27
|
+
rt,
|
|
28
|
+
status
|
|
29
|
+
})}`);
|
|
30
|
+
});
|
|
31
|
+
await next();
|
|
32
|
+
};
|
|
33
|
+
exports.accessLogInterceptor = accessLogInterceptor;
|
package/dist/mvc/config.js
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.getConfig = void 0;
|
|
4
|
-
const config_1 = require("../config");
|
|
5
|
-
const validation_1 = require("../validation");
|
|
6
|
-
function getConfig() {
|
|
7
|
-
return (0, config_1.generateConfig)({
|
|
8
|
-
port: 8080,
|
|
9
|
-
timeout: 30000,
|
|
10
|
-
accessLog: false,
|
|
11
|
-
corsAllowHeaders: '*',
|
|
12
|
-
corsAllowMethods: '*',
|
|
13
|
-
corsAllowOrigin: '*',
|
|
14
|
-
tlsEnable: false,
|
|
15
|
-
tlsKey: '',
|
|
16
|
-
tlsCert: ''
|
|
17
|
-
}, 'SERVER', {
|
|
18
|
-
port: [(0, validation_1.notNull)(), (0, validation_1.min)(80), (0, validation_1.max)(65535)],
|
|
19
|
-
timeout: [(0, validation_1.notNull)(), (0, validation_1.min)(1000), (0, validation_1.max)(600000)],
|
|
20
|
-
accessLog: [(0, validation_1.notNull)()],
|
|
21
|
-
corsAllowOrigin: [(0, validation_1.notBlank)()],
|
|
22
|
-
corsAllowHeaders: [(0, validation_1.notBlank)()],
|
|
23
|
-
corsAllowMethods: [(0, validation_1.notBlank)()],
|
|
24
|
-
tlsEnable: [(0, validation_1.notNull)()]
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
exports.getConfig = getConfig;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getConfig = void 0;
|
|
4
|
+
const config_1 = require("../config");
|
|
5
|
+
const validation_1 = require("../validation");
|
|
6
|
+
function getConfig() {
|
|
7
|
+
return (0, config_1.generateConfig)({
|
|
8
|
+
port: 8080,
|
|
9
|
+
timeout: 30000,
|
|
10
|
+
accessLog: false,
|
|
11
|
+
corsAllowHeaders: '*',
|
|
12
|
+
corsAllowMethods: '*',
|
|
13
|
+
corsAllowOrigin: '*',
|
|
14
|
+
tlsEnable: false,
|
|
15
|
+
tlsKey: '',
|
|
16
|
+
tlsCert: ''
|
|
17
|
+
}, 'SERVER', {
|
|
18
|
+
port: [(0, validation_1.notNull)(), (0, validation_1.min)(80), (0, validation_1.max)(65535)],
|
|
19
|
+
timeout: [(0, validation_1.notNull)(), (0, validation_1.min)(1000), (0, validation_1.max)(600000)],
|
|
20
|
+
accessLog: [(0, validation_1.notNull)()],
|
|
21
|
+
corsAllowOrigin: [(0, validation_1.notBlank)()],
|
|
22
|
+
corsAllowHeaders: [(0, validation_1.notBlank)()],
|
|
23
|
+
corsAllowMethods: [(0, validation_1.notBlank)()],
|
|
24
|
+
tlsEnable: [(0, validation_1.notNull)()]
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
exports.getConfig = getConfig;
|