vona 5.0.4 → 5.0.8
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/LICENSE +8 -0
- package/README.en-US.md +63 -0
- package/README.md +63 -1
- package/package.json +6 -76
- package/LICENSE.en-US +0 -3
- package/README.zh-CN.md +0 -1
- package/dist/app/extend/context.d.ts +0 -4
- package/dist/app/extend/context.js +0 -152
- package/dist/index.d.ts +0 -11
- package/dist/index.js +0 -35
- package/dist/lib/base/dbTransaction.d.ts +0 -12
- package/dist/lib/base/dbTransaction.js +0 -55
- package/dist/lib/base/error.d.ts +0 -18
- package/dist/lib/base/error.js +0 -70
- package/dist/lib/base/model.d.ts +0 -22
- package/dist/lib/base/model.js +0 -253
- package/dist/lib/bean/_beanLocal_.d.ts +0 -6
- package/dist/lib/bean/_beanLocal_.js +0 -16
- package/dist/lib/bean/beanBase.d.ts +0 -11
- package/dist/lib/bean/beanBase.js +0 -34
- package/dist/lib/bean/beanBaseSimple.d.ts +0 -8
- package/dist/lib/bean/beanBaseSimple.js +0 -31
- package/dist/lib/bean/beanContainer.d.ts +0 -39
- package/dist/lib/bean/beanContainer.js +0 -514
- package/dist/lib/bean/beanLocal.d.ts +0 -6
- package/dist/lib/bean/beanLocal.js +0 -16
- package/dist/lib/bean/beanModuleScopeBase.d.ts +0 -10
- package/dist/lib/bean/beanModuleScopeBase.js +0 -28
- package/dist/lib/bean/beanScopeBase.d.ts +0 -6
- package/dist/lib/bean/beanScopeBase.js +0 -19
- package/dist/lib/bean/beanScopeScene.d.ts +0 -12
- package/dist/lib/bean/beanScopeScene.js +0 -23
- package/dist/lib/bean/beanSimple.d.ts +0 -7
- package/dist/lib/bean/beanSimple.js +0 -24
- package/dist/lib/bean/index.d.ts +0 -8
- package/dist/lib/bean/index.js +0 -24
- package/dist/lib/bean/resource/config/broadcast.d.ts +0 -7
- package/dist/lib/bean/resource/config/broadcast.js +0 -3
- package/dist/lib/bean/resource/config/index.d.ts +0 -2
- package/dist/lib/bean/resource/config/index.js +0 -18
- package/dist/lib/bean/resource/config/middleware.d.ts +0 -9
- package/dist/lib/bean/resource/config/middleware.js +0 -3
- package/dist/lib/bean/resource/config/startup.d.ts +0 -9
- package/dist/lib/bean/resource/config/startup.js +0 -3
- package/dist/lib/bean/resource/config/type.d.ts +0 -43
- package/dist/lib/bean/resource/config/type.js +0 -3
- package/dist/lib/bean/resource/constant/index.d.ts +0 -2
- package/dist/lib/bean/resource/constant/index.js +0 -18
- package/dist/lib/bean/resource/constant/type.d.ts +0 -2
- package/dist/lib/bean/resource/constant/type.js +0 -3
- package/dist/lib/bean/resource/entity/entityBase.d.ts +0 -21
- package/dist/lib/bean/resource/entity/entityBase.js +0 -20
- package/dist/lib/bean/resource/entity/index.d.ts +0 -2
- package/dist/lib/bean/resource/entity/index.js +0 -18
- package/dist/lib/bean/resource/error/beanScopeError.d.ts +0 -11
- package/dist/lib/bean/resource/error/beanScopeError.js +0 -34
- package/dist/lib/bean/resource/error/beanScopeErrorImpl.d.ts +0 -14
- package/dist/lib/bean/resource/error/beanScopeErrorImpl.js +0 -35
- package/dist/lib/bean/resource/error/errorClass.d.ts +0 -18
- package/dist/lib/bean/resource/error/errorClass.js +0 -78
- package/dist/lib/bean/resource/error/errorContext.d.ts +0 -38
- package/dist/lib/bean/resource/error/errorContext.js +0 -3
- package/dist/lib/bean/resource/error/errorGlobal.d.ts +0 -8
- package/dist/lib/bean/resource/error/errorGlobal.js +0 -3
- package/dist/lib/bean/resource/error/errorInternal.d.ts +0 -67
- package/dist/lib/bean/resource/error/errorInternal.js +0 -70
- package/dist/lib/bean/resource/error/errorObject.d.ts +0 -5
- package/dist/lib/bean/resource/error/errorObject.js +0 -3
- package/dist/lib/bean/resource/error/index.d.ts +0 -9
- package/dist/lib/bean/resource/error/index.js +0 -25
- package/dist/lib/bean/resource/error/type.d.ts +0 -9
- package/dist/lib/bean/resource/error/type.js +0 -3
- package/dist/lib/bean/resource/index.d.ts +0 -8
- package/dist/lib/bean/resource/index.js +0 -24
- package/dist/lib/bean/resource/locale/beanScopeLocale.d.ts +0 -11
- package/dist/lib/bean/resource/locale/beanScopeLocale.js +0 -33
- package/dist/lib/bean/resource/locale/beanScopeLocaleImpl.d.ts +0 -3
- package/dist/lib/bean/resource/locale/beanScopeLocaleImpl.js +0 -14
- package/dist/lib/bean/resource/locale/index.d.ts +0 -4
- package/dist/lib/bean/resource/locale/index.js +0 -20
- package/dist/lib/bean/resource/locale/localeCtx.d.ts +0 -8
- package/dist/lib/bean/resource/locale/localeCtx.js +0 -63
- package/dist/lib/bean/resource/locale/type.d.ts +0 -19
- package/dist/lib/bean/resource/locale/type.js +0 -3
- package/dist/lib/bean/resource/model/beanModelBase.d.ts +0 -24
- package/dist/lib/bean/resource/model/beanModelBase.js +0 -165
- package/dist/lib/bean/resource/model/beanModelBaseInner.d.ts +0 -29
- package/dist/lib/bean/resource/model/beanModelBaseInner.js +0 -86
- package/dist/lib/bean/resource/model/index.d.ts +0 -2
- package/dist/lib/bean/resource/model/index.js +0 -18
- package/dist/lib/bean/resource/model/type.d.ts +0 -12
- package/dist/lib/bean/resource/model/type.js +0 -3
- package/dist/lib/bean/resource/route/index.d.ts +0 -2
- package/dist/lib/bean/resource/route/index.js +0 -18
- package/dist/lib/bean/resource/route/type.d.ts +0 -60
- package/dist/lib/bean/resource/route/type.js +0 -3
- package/dist/lib/bean/scope/beanScopeBase.d.ts +0 -19
- package/dist/lib/bean/scope/beanScopeBase.js +0 -104
- package/dist/lib/bean/scope/beanScopeBean.d.ts +0 -10
- package/dist/lib/bean/scope/beanScopeBean.js +0 -34
- package/dist/lib/bean/scope/beanScopeError.d.ts +0 -11
- package/dist/lib/bean/scope/beanScopeError.js +0 -21
- package/dist/lib/bean/scope/beanScopeErrorImpl.d.ts +0 -14
- package/dist/lib/bean/scope/beanScopeErrorImpl.js +0 -21
- package/dist/lib/bean/scope/beanScopeScene.d.ts +0 -12
- package/dist/lib/bean/scope/beanScopeScene.js +0 -42
- package/dist/lib/bean/scope/index.d.ts +0 -5
- package/dist/lib/bean/scope/index.js +0 -21
- package/dist/lib/bean/scope/type.d.ts +0 -21
- package/dist/lib/bean/scope/type.js +0 -3
- package/dist/lib/bean/type.d.ts +0 -17
- package/dist/lib/bean/type.js +0 -4
- package/dist/lib/core/index.d.ts +0 -5
- package/dist/lib/core/index.js +0 -21
- package/dist/lib/core/meta.d.ts +0 -65
- package/dist/lib/core/meta.js +0 -335
- package/dist/lib/core/metaCtx.d.ts +0 -16
- package/dist/lib/core/metaCtx.js +0 -71
- package/dist/lib/core/metadata.d.ts +0 -12
- package/dist/lib/core/metadata.js +0 -52
- package/dist/lib/core/resource.d.ts +0 -29
- package/dist/lib/core/resource.js +0 -172
- package/dist/lib/decorator/class/aop.d.ts +0 -3
- package/dist/lib/decorator/class/aop.js +0 -23
- package/dist/lib/decorator/class/atom.d.ts +0 -3
- package/dist/lib/decorator/class/atom.js +0 -22
- package/dist/lib/decorator/class/bean.d.ts +0 -3
- package/dist/lib/decorator/class/bean.js +0 -23
- package/dist/lib/decorator/class/controller.d.ts +0 -3
- package/dist/lib/decorator/class/controller.js +0 -22
- package/dist/lib/decorator/class/index.d.ts +0 -10
- package/dist/lib/decorator/class/index.js +0 -26
- package/dist/lib/decorator/class/local.d.ts +0 -3
- package/dist/lib/decorator/class/local.js +0 -23
- package/dist/lib/decorator/class/model.d.ts +0 -3
- package/dist/lib/decorator/class/model.js +0 -28
- package/dist/lib/decorator/class/scope.d.ts +0 -2
- package/dist/lib/decorator/class/scope.js +0 -20
- package/dist/lib/decorator/class/service.d.ts +0 -3
- package/dist/lib/decorator/class/service.js +0 -23
- package/dist/lib/decorator/class/use.d.ts +0 -5
- package/dist/lib/decorator/class/use.js +0 -43
- package/dist/lib/decorator/class/util.d.ts +0 -3
- package/dist/lib/decorator/class/util.js +0 -10
- package/dist/lib/decorator/class/virtual.d.ts +0 -3
- package/dist/lib/decorator/class/virtual.js +0 -24
- package/dist/lib/decorator/index.d.ts +0 -7
- package/dist/lib/decorator/index.js +0 -23
- package/dist/lib/decorator/interface/beanOptions.d.ts +0 -55
- package/dist/lib/decorator/interface/beanOptions.js +0 -8
- package/dist/lib/decorator/interface/useOptions.d.ts +0 -14
- package/dist/lib/decorator/interface/useOptions.js +0 -3
- package/dist/lib/decorator/type/constructable.d.ts +0 -2
- package/dist/lib/decorator/type/constructable.js +0 -3
- package/dist/lib/decorator/type/containerScope.d.ts +0 -2
- package/dist/lib/decorator/type/containerScope.js +0 -3
- package/dist/lib/decorator/type/injectionScope.d.ts +0 -2
- package/dist/lib/decorator/type/injectionScope.js +0 -3
- package/dist/lib/error/error.d.ts +0 -18
- package/dist/lib/error/error.js +0 -71
- package/dist/lib/error/errorClass.d.ts +0 -18
- package/dist/lib/error/errorClass.js +0 -72
- package/dist/lib/error/errorContext.d.ts +0 -38
- package/dist/lib/error/errorContext.js +0 -3
- package/dist/lib/error/errorGlobal.d.ts +0 -8
- package/dist/lib/error/errorGlobal.js +0 -3
- package/dist/lib/error/errorInternal.d.ts +0 -67
- package/dist/lib/error/errorInternal.js +0 -70
- package/dist/lib/error/errorObject.d.ts +0 -5
- package/dist/lib/error/errorObject.js +0 -3
- package/dist/lib/error/index.d.ts +0 -5
- package/dist/lib/error/index.js +0 -21
- package/dist/lib/framework/bootstrap.d.ts +0 -9
- package/dist/lib/framework/bootstrap.js +0 -35
- package/dist/lib/framework/framework.d.ts +0 -11
- package/dist/lib/framework/framework.js +0 -28
- package/dist/lib/framework/loader.d.ts +0 -21
- package/dist/lib/framework/loader.js +0 -57
- package/dist/lib/framework/meta.d.ts +0 -2
- package/dist/lib/framework/meta.js +0 -23
- package/dist/lib/framework/metaClass.d.ts +0 -2
- package/dist/lib/framework/metaClass.js +0 -26
- package/dist/lib/framework/moduleInfo.d.ts +0 -3
- package/dist/lib/framework/moduleInfo.js +0 -67
- package/dist/lib/framework/util.d.ts +0 -4
- package/dist/lib/framework/util.js +0 -15
- package/dist/lib/module/asset/errors.d.ts +0 -68
- package/dist/lib/module/asset/errors.js +0 -69
- package/dist/lib/module/bean/index.d.ts +0 -4
- package/dist/lib/module/bean/index.js +0 -24
- package/dist/lib/module/broadcast/broadcast.d.ts +0 -3
- package/dist/lib/module/broadcast/broadcast.js +0 -49
- package/dist/lib/module/broadcast/broadcastClient.d.ts +0 -24
- package/dist/lib/module/broadcast/broadcastClient.js +0 -91
- package/dist/lib/module/cluster/agent.d.ts +0 -3
- package/dist/lib/module/cluster/agent.js +0 -22
- package/dist/lib/module/cluster/app.d.ts +0 -3
- package/dist/lib/module/cluster/app.js +0 -26
- package/dist/lib/module/config.d.ts +0 -3
- package/dist/lib/module/config.js +0 -67
- package/dist/lib/module/constant.d.ts +0 -3
- package/dist/lib/module/constant.js +0 -46
- package/dist/lib/module/contextPatch.d.ts +0 -3
- package/dist/lib/module/contextPatch.js +0 -16
- package/dist/lib/module/errors.d.ts +0 -3
- package/dist/lib/module/errors.js +0 -49
- package/dist/lib/module/index.d.ts +0 -2
- package/dist/lib/module/index.js +0 -3
- package/dist/lib/module/loader.d.ts +0 -5
- package/dist/lib/module/loader.js +0 -73
- package/dist/lib/module/locales.d.ts +0 -3
- package/dist/lib/module/locales.js +0 -132
- package/dist/lib/module/messenger.d.ts +0 -25
- package/dist/lib/module/messenger.js +0 -128
- package/dist/lib/module/middleware.d.ts +0 -3
- package/dist/lib/module/middleware.js +0 -113
- package/dist/lib/module/model.d.ts +0 -3
- package/dist/lib/module/model.js +0 -47
- package/dist/lib/module/module.d.ts +0 -12
- package/dist/lib/module/module.js +0 -134
- package/dist/lib/module/moduleMeta.d.ts +0 -3
- package/dist/lib/module/moduleMeta.js +0 -26
- package/dist/lib/module/queue/queue.d.ts +0 -3
- package/dist/lib/module/queue/queue.js +0 -59
- package/dist/lib/module/queue/queueClient.d.ts +0 -26
- package/dist/lib/module/queue/queueClient.js +0 -262
- package/dist/lib/module/redis.d.ts +0 -11
- package/dist/lib/module/redis.js +0 -46
- package/dist/lib/module/reload/development.d.ts +0 -3
- package/dist/lib/module/reload/development.js +0 -98
- package/dist/lib/module/reload/reload.d.ts +0 -16
- package/dist/lib/module/reload/reload.js +0 -113
- package/dist/lib/module/reload.d.ts +0 -7
- package/dist/lib/module/reload.js +0 -17
- package/dist/lib/module/route.d.ts +0 -10
- package/dist/lib/module/route.js +0 -239
- package/dist/lib/module/schedule.d.ts +0 -3
- package/dist/lib/module/schedule.js +0 -129
- package/dist/lib/module/service.d.ts +0 -3
- package/dist/lib/module/service.js +0 -35
- package/dist/lib/module/socketio.d.ts +0 -5
- package/dist/lib/module/socketio.js +0 -47
- package/dist/lib/module/startup.d.ts +0 -2
- package/dist/lib/module/startup.js +0 -134
- package/dist/lib/module/version/clear.d.ts +0 -2
- package/dist/lib/module/version/clear.js +0 -42
- package/dist/lib/module/version/ready.d.ts +0 -6
- package/dist/lib/module/version/ready.js +0 -106
- package/dist/lib/resource/error/errorClass.d.ts +0 -18
- package/dist/lib/resource/error/errorClass.js +0 -72
- package/dist/lib/resource/error/errorContext.d.ts +0 -38
- package/dist/lib/resource/error/errorContext.js +0 -3
- package/dist/lib/resource/error/errorGlobal.d.ts +0 -8
- package/dist/lib/resource/error/errorGlobal.js +0 -3
- package/dist/lib/resource/error/errorInternal.d.ts +0 -67
- package/dist/lib/resource/error/errorInternal.js +0 -70
- package/dist/lib/resource/error/errorObject.d.ts +0 -5
- package/dist/lib/resource/error/errorObject.js +0 -3
- package/dist/lib/resource/error/index.d.ts +0 -5
- package/dist/lib/resource/error/index.js +0 -21
- package/dist/lib/utils/index.d.ts +0 -2
- package/dist/lib/utils/index.js +0 -18
- package/dist/lib/utils/isClass.d.ts +0 -2
- package/dist/lib/utils/isClass.js +0 -20
- package/dist/lib/utils/mockUtil.d.ts +0 -11
- package/dist/lib/utils/mockUtil.js +0 -34
- package/dist/lib/utils/mockUtilCtx.d.ts +0 -10
- package/dist/lib/utils/mockUtilCtx.js +0 -35
- package/dist/lib/utils/performAction.d.ts +0 -19
- package/dist/lib/utils/performAction.js +0 -137
- package/dist/lib/utils/util.d.ts +0 -63
- package/dist/lib/utils/util.js +0 -445
- package/dist/lib/utils/utilCtx.d.ts +0 -34
- package/dist/lib/utils/utilCtx.js +0 -137
- package/dist/types/application/app.d.ts +0 -19
- package/dist/types/application/app.js +0 -28
- package/dist/types/application/index.d.ts +0 -2
- package/dist/types/application/index.js +0 -18
- package/dist/types/config/appInfo.d.ts +0 -4
- package/dist/types/config/appInfo.js +0 -3
- package/dist/types/config/config.d.ts +0 -10
- package/dist/types/config/config.js +0 -3
- package/dist/types/config/development.d.ts +0 -4
- package/dist/types/config/development.js +0 -3
- package/dist/types/config/index.d.ts +0 -4
- package/dist/types/config/index.js +0 -20
- package/dist/types/config/locale.d.ts +0 -10
- package/dist/types/config/locale.js +0 -7
- package/dist/types/context/contextBase.d.ts +0 -21
- package/dist/types/context/contextBase.js +0 -3
- package/dist/types/context/contextConfig.d.ts +0 -4
- package/dist/types/context/contextConfig.js +0 -3
- package/dist/types/context/contextError.d.ts +0 -25
- package/dist/types/context/contextError.js +0 -3
- package/dist/types/context/contextLocale.d.ts +0 -9
- package/dist/types/context/contextLocale.js +0 -3
- package/dist/types/context/contextOthers.d.ts +0 -4
- package/dist/types/context/contextOthers.js +0 -3
- package/dist/types/context/contextState.d.ts +0 -8
- package/dist/types/context/contextState.js +0 -3
- package/dist/types/context/index.d.ts +0 -18
- package/dist/types/context/index.js +0 -18
- package/dist/types/enum/appEvent.d.ts +0 -5
- package/dist/types/enum/appEvent.js +0 -9
- package/dist/types/enum/index.d.ts +0 -2
- package/dist/types/enum/index.js +0 -18
- package/dist/types/index.d.ts +0 -7
- package/dist/types/index.js +0 -23
- package/dist/types/interface/broadcast.d.ts +0 -5
- package/dist/types/interface/broadcast.js +0 -3
- package/dist/types/interface/error.d.ts +0 -8
- package/dist/types/interface/error.js +0 -3
- package/dist/types/interface/index.d.ts +0 -6
- package/dist/types/interface/index.js +0 -22
- package/dist/types/interface/module.d.ts +0 -32
- package/dist/types/interface/module.js +0 -18
- package/dist/types/interface/monkey.d.ts +0 -25
- package/dist/types/interface/monkey.js +0 -3
- package/dist/types/interface/queue.d.ts +0 -29
- package/dist/types/interface/queue.js +0 -3
- package/dist/types/interface/schedule.d.ts +0 -11
- package/dist/types/interface/schedule.js +0 -3
- package/dist/types/utils/cast.d.ts +0 -6
- package/dist/types/utils/cast.js +0 -8
- package/dist/types/utils/index.d.ts +0 -3
- package/dist/types/utils/index.js +0 -19
- package/dist/types/utils/powerPartial.d.ts +0 -4
- package/dist/types/utils/powerPartial.js +0 -3
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AppReload = void 0;
|
|
4
|
-
const beanSimple_js_1 = require("../bean/beanSimple.js");
|
|
5
|
-
class AppReload extends beanSimple_js_1.BeanSimple {
|
|
6
|
-
now() {
|
|
7
|
-
this.app.meta['a-cms:watcher'].reload({ action: 'now' });
|
|
8
|
-
}
|
|
9
|
-
freeze() {
|
|
10
|
-
this.app.meta['a-cms:watcher'].reload({ action: 'freeze' });
|
|
11
|
-
}
|
|
12
|
-
unfreeze() {
|
|
13
|
-
this.app.meta['a-cms:watcher'].reload({ action: 'unfreeze' });
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
exports.AppReload = AppReload;
|
|
17
|
-
//# sourceMappingURL=reload.js.map
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { VonaApplication, IModule } from '../../types/index.js';
|
|
2
|
-
import { BeanSimple } from '../bean/beanSimple.js';
|
|
3
|
-
import { IModuleRoute } from '../bean/index.js';
|
|
4
|
-
export declare class AppRouter extends BeanSimple {
|
|
5
|
-
register(info: any, route: IModuleRoute): void;
|
|
6
|
-
unRegister(name: any): void;
|
|
7
|
-
findByPath(moduleName: any, arg: any): any;
|
|
8
|
-
}
|
|
9
|
-
export default function (app: VonaApplication, modules: Record<string, IModule>): void;
|
|
10
|
-
//# sourceMappingURL=route.d.ts.map
|
package/dist/lib/module/route.js
DELETED
|
@@ -1,239 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
exports.AppRouter = void 0;
|
|
30
|
-
const is_type_of_1 = __importDefault(require("is-type-of"));
|
|
31
|
-
const egg_path_matching_1 = __importDefault(require("egg-path-matching"));
|
|
32
|
-
const ModuleInfo = __importStar(require("@cabloy/module-info"));
|
|
33
|
-
const middleware_js_1 = __importDefault(require("./middleware.js"));
|
|
34
|
-
const index_js_1 = require("../../types/index.js");
|
|
35
|
-
const beanSimple_js_1 = require("../bean/beanSimple.js");
|
|
36
|
-
const MWSTATUS = Symbol('Context#__wmstatus');
|
|
37
|
-
class AppRouter extends beanSimple_js_1.BeanSimple {
|
|
38
|
-
register(info, route) {
|
|
39
|
-
// info
|
|
40
|
-
if (typeof info === 'string') {
|
|
41
|
-
info = ModuleInfo.parseInfo(info);
|
|
42
|
-
}
|
|
43
|
-
// app
|
|
44
|
-
const app = this.app;
|
|
45
|
-
// args
|
|
46
|
-
const args = [];
|
|
47
|
-
// name:
|
|
48
|
-
const routeName = route.name;
|
|
49
|
-
// path
|
|
50
|
-
const routePath = typeof route.path === 'string' ? app.meta.util.combineFetchPath(info, route.path) : route.path;
|
|
51
|
-
// route
|
|
52
|
-
const _route = {
|
|
53
|
-
pid: info.pid,
|
|
54
|
-
module: info.name,
|
|
55
|
-
controller: route.controller,
|
|
56
|
-
controllerBeanFullName: '',
|
|
57
|
-
action: '',
|
|
58
|
-
route,
|
|
59
|
-
};
|
|
60
|
-
// constroller
|
|
61
|
-
if (route.controller) {
|
|
62
|
-
if (is_type_of_1.default.function(route.controller)) {
|
|
63
|
-
throw new Error(`Controller should be bean: ${info.relativeName}.${(0, index_js_1.Cast)(route.controller)(app).name}`);
|
|
64
|
-
}
|
|
65
|
-
let controllerBeanFullName;
|
|
66
|
-
if (typeof route.controller === 'string') {
|
|
67
|
-
controllerBeanFullName = `${info.relativeName}.controller.${route.controller}`;
|
|
68
|
-
}
|
|
69
|
-
else {
|
|
70
|
-
controllerBeanFullName = `${route.controller.module || info.relativeName}.controller.${route.controller.name}`;
|
|
71
|
-
}
|
|
72
|
-
_route.controllerBeanFullName = controllerBeanFullName;
|
|
73
|
-
}
|
|
74
|
-
// action
|
|
75
|
-
let action = route.action;
|
|
76
|
-
if (!action && typeof route.path === 'string') {
|
|
77
|
-
action = route.path.substring(route.path.lastIndexOf('/') + 1);
|
|
78
|
-
}
|
|
79
|
-
_route.action = action || '';
|
|
80
|
-
// middlewares: start
|
|
81
|
-
const fnStart = async (ctx, next) => {
|
|
82
|
-
// status
|
|
83
|
-
ctx[MWSTATUS] = {};
|
|
84
|
-
// route
|
|
85
|
-
ctx.route = _route;
|
|
86
|
-
// dynamic options
|
|
87
|
-
ctx.meta.middlewares = {};
|
|
88
|
-
// next
|
|
89
|
-
await next();
|
|
90
|
-
// invoke callbackes: handle secondly
|
|
91
|
-
await ctx.tailDone();
|
|
92
|
-
};
|
|
93
|
-
fnStart._name = 'start';
|
|
94
|
-
args.push(fnStart);
|
|
95
|
-
// middlewares: globals
|
|
96
|
-
app.meta.middlewaresGlobal.forEach(item => {
|
|
97
|
-
args.push(wrapMiddleware(item));
|
|
98
|
-
});
|
|
99
|
-
// middlewares: tailDone
|
|
100
|
-
const fnTailDone = async (ctx, next) => {
|
|
101
|
-
// next
|
|
102
|
-
await next();
|
|
103
|
-
// invoke callbackes: handle firstly
|
|
104
|
-
await ctx.tailDone();
|
|
105
|
-
};
|
|
106
|
-
fnStart._name = 'tailDone';
|
|
107
|
-
args.push(fnTailDone);
|
|
108
|
-
// middlewares: route
|
|
109
|
-
if (route.middlewares) {
|
|
110
|
-
let middlewares = route.middlewares;
|
|
111
|
-
if (typeof middlewares === 'string')
|
|
112
|
-
middlewares = middlewares.split(',');
|
|
113
|
-
middlewares.forEach(key => {
|
|
114
|
-
if (is_type_of_1.default.string(key)) {
|
|
115
|
-
const item = app.meta.middlewaresNormal[key];
|
|
116
|
-
if (item) {
|
|
117
|
-
args.push(wrapMiddleware(item));
|
|
118
|
-
}
|
|
119
|
-
else {
|
|
120
|
-
args.push(wrapMiddlewareApp(key, route, app));
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
args.push(key);
|
|
125
|
-
}
|
|
126
|
-
});
|
|
127
|
-
}
|
|
128
|
-
// controller
|
|
129
|
-
if (route.controller) {
|
|
130
|
-
// middleware controller
|
|
131
|
-
args.push(methodToMiddleware(_route.controllerBeanFullName, _route));
|
|
132
|
-
}
|
|
133
|
-
// load
|
|
134
|
-
if (routeName) {
|
|
135
|
-
app.router[route.method](routeName, routePath, ...args);
|
|
136
|
-
}
|
|
137
|
-
else {
|
|
138
|
-
app.router[route.method](routePath, ...args);
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
unRegister(name) {
|
|
142
|
-
const app = this.app;
|
|
143
|
-
const index = app.router.stack.findIndex(layer => layer.name && layer.name === name);
|
|
144
|
-
if (index > -1)
|
|
145
|
-
app.router.stack.splice(index, 1);
|
|
146
|
-
}
|
|
147
|
-
findByPath(moduleName, arg) {
|
|
148
|
-
const app = this.app;
|
|
149
|
-
const path = app.meta.util.combineFetchPath(moduleName, arg);
|
|
150
|
-
return app.router.stack.find(layer => layer.path === path);
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
exports.AppRouter = AppRouter;
|
|
154
|
-
function default_1(app, modules) {
|
|
155
|
-
// load middlewares
|
|
156
|
-
(0, middleware_js_1.default)(app);
|
|
157
|
-
// patch router
|
|
158
|
-
patchRouter();
|
|
159
|
-
// load routes
|
|
160
|
-
loadRoutes();
|
|
161
|
-
function patchRouter() {
|
|
162
|
-
app.meta.router = app.bean._newBean(AppRouter);
|
|
163
|
-
}
|
|
164
|
-
function loadRoutes() {
|
|
165
|
-
// load routes
|
|
166
|
-
for (const key in modules) {
|
|
167
|
-
const module = modules[key];
|
|
168
|
-
// routes and controllers
|
|
169
|
-
const routes = module.resource.routes;
|
|
170
|
-
if (routes) {
|
|
171
|
-
for (const route of routes) {
|
|
172
|
-
app.meta.router.register(module.info, route);
|
|
173
|
-
}
|
|
174
|
-
}
|
|
175
|
-
}
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
exports.default = default_1;
|
|
179
|
-
function wrapMiddlewareApp(key, route, app) {
|
|
180
|
-
try {
|
|
181
|
-
const middleware = app.middlewares[key];
|
|
182
|
-
const optionsRoute = route.meta ? route.meta[key] : null;
|
|
183
|
-
const mw = middleware(optionsRoute, app);
|
|
184
|
-
mw._name = key;
|
|
185
|
-
return mw;
|
|
186
|
-
}
|
|
187
|
-
catch (err) {
|
|
188
|
-
console.log(`\nmiddleware error: ${key}\n`);
|
|
189
|
-
throw err;
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
function wrapMiddleware(item) {
|
|
193
|
-
const fn = (ctx, next) => {
|
|
194
|
-
// options
|
|
195
|
-
const options = ctx.meta.getMiddlewareOptions(item.name);
|
|
196
|
-
// enable match ignore dependencies
|
|
197
|
-
if (options.enable === false || !middlewareMatch(ctx, options) || !middlewareDeps(ctx, options)) {
|
|
198
|
-
ctx[MWSTATUS][item.name] = false;
|
|
199
|
-
return next();
|
|
200
|
-
}
|
|
201
|
-
// bean
|
|
202
|
-
const bean = item.bean;
|
|
203
|
-
// execute
|
|
204
|
-
const beanFullName = `${bean.module}.middleware.${bean.name}`;
|
|
205
|
-
const beanInstance = ctx.bean._getBean(beanFullName);
|
|
206
|
-
if (!beanInstance) {
|
|
207
|
-
throw new Error(`middleware bean not found: ${beanFullName}`);
|
|
208
|
-
}
|
|
209
|
-
return beanInstance.execute(options, next);
|
|
210
|
-
};
|
|
211
|
-
fn._name = item.name;
|
|
212
|
-
return fn;
|
|
213
|
-
}
|
|
214
|
-
function middlewareMatch(ctx, options) {
|
|
215
|
-
if (!options.match && !options.ignore) {
|
|
216
|
-
return true;
|
|
217
|
-
}
|
|
218
|
-
const match = (0, egg_path_matching_1.default)(options);
|
|
219
|
-
return match(ctx);
|
|
220
|
-
}
|
|
221
|
-
function middlewareDeps(ctx, options) {
|
|
222
|
-
let deps = options.dependencies || [];
|
|
223
|
-
if (typeof deps === 'string')
|
|
224
|
-
deps = deps.split(',');
|
|
225
|
-
return deps.every(key => ctx[MWSTATUS][key] !== false);
|
|
226
|
-
}
|
|
227
|
-
function methodToMiddleware(controllerBeanFullName, _route) {
|
|
228
|
-
return function classControllerMiddleware(...args) {
|
|
229
|
-
const controller = this.bean._getBean(controllerBeanFullName);
|
|
230
|
-
if (!controller) {
|
|
231
|
-
throw new Error(`controller not found: ${controllerBeanFullName}`);
|
|
232
|
-
}
|
|
233
|
-
if (!controller[_route.action]) {
|
|
234
|
-
throw new Error(`controller action not found: ${controllerBeanFullName}.${_route.action}`);
|
|
235
|
-
}
|
|
236
|
-
return controller[_route.action](...args);
|
|
237
|
-
};
|
|
238
|
-
}
|
|
239
|
-
//# sourceMappingURL=route.js.map
|
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
function default_1(app) {
|
|
4
|
-
// all schedules
|
|
5
|
-
const ebSchedules = (app.meta.schedules = {});
|
|
6
|
-
// load schedules
|
|
7
|
-
loadSchedules();
|
|
8
|
-
function loadSchedules() {
|
|
9
|
-
for (const module of app.meta.modulesArray) {
|
|
10
|
-
const config = app.meta.configs[module.info.relativeName];
|
|
11
|
-
if (!config.schedules)
|
|
12
|
-
continue;
|
|
13
|
-
for (const scheduleKey in config.schedules) {
|
|
14
|
-
const fullKey = `${module.info.relativeName}.${scheduleKey}`;
|
|
15
|
-
const scheduleConfig = config.schedules[scheduleKey];
|
|
16
|
-
// bean
|
|
17
|
-
const beanName = scheduleConfig.bean;
|
|
18
|
-
if (!beanName)
|
|
19
|
-
throw new Error(`bean not set for schedule: ${fullKey}`);
|
|
20
|
-
let bean;
|
|
21
|
-
if (typeof beanName === 'string') {
|
|
22
|
-
bean = {
|
|
23
|
-
module: module.info.relativeName,
|
|
24
|
-
name: beanName,
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
else {
|
|
28
|
-
bean = {
|
|
29
|
-
module: beanName.module || module.info.relativeName,
|
|
30
|
-
name: beanName.name,
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
ebSchedules[fullKey] = {
|
|
34
|
-
module: module.info.relativeName,
|
|
35
|
-
name: scheduleKey,
|
|
36
|
-
config: scheduleConfig,
|
|
37
|
-
bean,
|
|
38
|
-
};
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
function __installSchedules({ subdomain }) {
|
|
43
|
-
for (const fullKey in ebSchedules) {
|
|
44
|
-
const schedule = ebSchedules[fullKey];
|
|
45
|
-
if (!schedule.config.disable && schedule.config.repeat) {
|
|
46
|
-
// push
|
|
47
|
-
const jobName = __getJobName(subdomain, schedule.module, schedule.name); // not use :
|
|
48
|
-
app.meta.queue.push({
|
|
49
|
-
subdomain,
|
|
50
|
-
module: 'a-base',
|
|
51
|
-
queueName: 'schedule',
|
|
52
|
-
queueNameSub: fullKey,
|
|
53
|
-
jobName,
|
|
54
|
-
jobOptions: {
|
|
55
|
-
// jobId,
|
|
56
|
-
repeat: schedule.config.repeat,
|
|
57
|
-
},
|
|
58
|
-
data: {
|
|
59
|
-
subdomain,
|
|
60
|
-
module: schedule.module,
|
|
61
|
-
name: schedule.name,
|
|
62
|
-
},
|
|
63
|
-
});
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
app.meta._loadSchedules = async ({ ctx }) => {
|
|
68
|
-
const instances = await ctx.bean.instance.list({ where: {} });
|
|
69
|
-
for (const instance of instances) {
|
|
70
|
-
__installSchedules({ subdomain: instance.name });
|
|
71
|
-
}
|
|
72
|
-
};
|
|
73
|
-
app.meta._runSchedule = async (context) => {
|
|
74
|
-
const { subdomain, module, name } = context.data;
|
|
75
|
-
// ignore on test
|
|
76
|
-
if (app.meta.isTest)
|
|
77
|
-
return;
|
|
78
|
-
// check if valid
|
|
79
|
-
if (!__checkJobValid(context)) {
|
|
80
|
-
await __deleteSchedule(context);
|
|
81
|
-
return;
|
|
82
|
-
}
|
|
83
|
-
// schedule
|
|
84
|
-
const fullKey = `${module}.${name}`;
|
|
85
|
-
const schedule = ebSchedules[fullKey];
|
|
86
|
-
// bean
|
|
87
|
-
const bean = schedule.bean;
|
|
88
|
-
// execute
|
|
89
|
-
return await app.meta.util.executeBean({
|
|
90
|
-
subdomain,
|
|
91
|
-
beanModule: bean.module,
|
|
92
|
-
beanFullName: `${bean.module}.schedule.${bean.name}`,
|
|
93
|
-
transaction: schedule.config.transaction,
|
|
94
|
-
context,
|
|
95
|
-
instance: true,
|
|
96
|
-
});
|
|
97
|
-
};
|
|
98
|
-
async function __deleteSchedule(context) {
|
|
99
|
-
const job = context.job;
|
|
100
|
-
const jobKeyActive = app.meta.queue._getRepeatKey(job.data.jobName, job.data.jobOptions.repeat);
|
|
101
|
-
const repeat = await job.queue.repeat;
|
|
102
|
-
await repeat.removeRepeatableByKey(jobKeyActive);
|
|
103
|
-
}
|
|
104
|
-
function __checkJobValid(context) {
|
|
105
|
-
const job = context.job;
|
|
106
|
-
const { subdomain, module, name } = context.data;
|
|
107
|
-
// schedule
|
|
108
|
-
const fullKey = `${module}.${name}`;
|
|
109
|
-
const schedule = ebSchedules[fullKey];
|
|
110
|
-
if (!schedule)
|
|
111
|
-
return false;
|
|
112
|
-
// check disable
|
|
113
|
-
if (schedule.config.disable)
|
|
114
|
-
return false;
|
|
115
|
-
// check if changed
|
|
116
|
-
const jobKeyActive = app.meta.queue._getRepeatKey(job.data.jobName, job.data.jobOptions.repeat);
|
|
117
|
-
const jobNameConfig = __getJobName(subdomain, module, name);
|
|
118
|
-
const jobKeyConfig = app.meta.queue._getRepeatKey(jobNameConfig, schedule.config.repeat);
|
|
119
|
-
if (jobKeyActive !== jobKeyConfig)
|
|
120
|
-
return false;
|
|
121
|
-
// ok
|
|
122
|
-
return true;
|
|
123
|
-
}
|
|
124
|
-
function __getJobName(subdomain, module, name) {
|
|
125
|
-
return `${subdomain}.${module}.${name}`;
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
exports.default = default_1;
|
|
129
|
-
//# sourceMappingURL=schedule.js.map
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const SERVICEPROXY = Symbol('CTX#__SERVICEPROXY');
|
|
4
|
-
function default_1(app) {
|
|
5
|
-
// patch service
|
|
6
|
-
patchCreateContext();
|
|
7
|
-
function patchCreateContext() {
|
|
8
|
-
const createContext = app.createContext;
|
|
9
|
-
app.createContext = (...args) => {
|
|
10
|
-
const context = createContext.call(app, ...args);
|
|
11
|
-
// maybe /favicon.ico
|
|
12
|
-
if (context.module) {
|
|
13
|
-
Object.defineProperty(context, 'service', {
|
|
14
|
-
get() {
|
|
15
|
-
let service = context[SERVICEPROXY];
|
|
16
|
-
if (!service) {
|
|
17
|
-
service = context[SERVICEPROXY] = new Proxy({}, {
|
|
18
|
-
get(obj, prop) {
|
|
19
|
-
if (typeof prop === 'symbol')
|
|
20
|
-
return obj[prop];
|
|
21
|
-
const beanFullName = `${context.module.info.relativeName}.service.${prop}`;
|
|
22
|
-
return context.bean._getBean(beanFullName);
|
|
23
|
-
},
|
|
24
|
-
});
|
|
25
|
-
}
|
|
26
|
-
return service;
|
|
27
|
-
},
|
|
28
|
-
});
|
|
29
|
-
}
|
|
30
|
-
return context;
|
|
31
|
-
};
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
exports.default = default_1;
|
|
35
|
-
//# sourceMappingURL=service.js.map
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SocketioReady = void 0;
|
|
4
|
-
const url_1 = require("url");
|
|
5
|
-
const beanSimple_js_1 = require("../bean/beanSimple.js");
|
|
6
|
-
class SocketioReady extends beanSimple_js_1.BeanSimple {
|
|
7
|
-
initialize() {
|
|
8
|
-
const app = this.app;
|
|
9
|
-
// checkRequest
|
|
10
|
-
app.io.checkRequest = function (req, fn) {
|
|
11
|
-
// not cors (safari not send sec-fetch-mode)
|
|
12
|
-
// if (req.headers['sec-fetch-mode'] !== 'cors') return fn(null, true);
|
|
13
|
-
// origin
|
|
14
|
-
let origin = req.headers.origin || req.headers.referer;
|
|
15
|
-
// file:// URLs produce a null Origin which can't be authorized via echo-back
|
|
16
|
-
if (origin === 'null' || origin === null)
|
|
17
|
-
origin = '*';
|
|
18
|
-
if (!origin || origin === '*')
|
|
19
|
-
return fn(null, true);
|
|
20
|
-
const host = req.headers['x-forwarded-host'] || req.headers.host;
|
|
21
|
-
if (new url_1.URL(origin).host === host) {
|
|
22
|
-
return fn(null, true);
|
|
23
|
-
}
|
|
24
|
-
// check
|
|
25
|
-
const reqNew = Object.assign({}, req, {
|
|
26
|
-
method: 'SOCKETIO',
|
|
27
|
-
url: '/api/a/base/',
|
|
28
|
-
});
|
|
29
|
-
const ctx = app.createAnonymousContext(reqNew);
|
|
30
|
-
ctx.bean.instance
|
|
31
|
-
.checkAppReadyInstance({ startup: true })
|
|
32
|
-
.then(res => {
|
|
33
|
-
if (!res)
|
|
34
|
-
return fn(null, false);
|
|
35
|
-
if (app.meta.util.isSafeDomain(ctx, origin)) {
|
|
36
|
-
return fn(null, true);
|
|
37
|
-
}
|
|
38
|
-
return fn(null, false);
|
|
39
|
-
})
|
|
40
|
-
.catch(() => {
|
|
41
|
-
return fn(null, false);
|
|
42
|
-
});
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
exports.SocketioReady = SocketioReady;
|
|
47
|
-
//# sourceMappingURL=socketio.js.map
|
|
@@ -1,134 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const index_js_1 = require("../../index.js");
|
|
4
|
-
function default_1(app) {
|
|
5
|
-
// use modulesArray
|
|
6
|
-
const ebModulesArray = app.meta.modulesArray;
|
|
7
|
-
// all startups
|
|
8
|
-
const ebStartups = (app.meta.startups = {});
|
|
9
|
-
const ebStartupsArray = (app.meta.startupsArray = []);
|
|
10
|
-
// load startups
|
|
11
|
-
loadStartups();
|
|
12
|
-
function loadStartups() {
|
|
13
|
-
for (const module of ebModulesArray) {
|
|
14
|
-
const config = app.meta.configs[module.info.relativeName];
|
|
15
|
-
if (!config.startups)
|
|
16
|
-
continue;
|
|
17
|
-
for (const startupKey in config.startups) {
|
|
18
|
-
const startupConfig = config.startups[startupKey];
|
|
19
|
-
const fullKey = `${module.info.relativeName}:${startupKey}`;
|
|
20
|
-
// bean
|
|
21
|
-
const beanName = startupConfig.bean;
|
|
22
|
-
if (!beanName)
|
|
23
|
-
throw new Error(`bean not set for startup: ${fullKey}`);
|
|
24
|
-
let bean;
|
|
25
|
-
if (typeof beanName === 'string') {
|
|
26
|
-
bean = {
|
|
27
|
-
module: module.info.relativeName,
|
|
28
|
-
name: beanName,
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
else {
|
|
32
|
-
bean = {
|
|
33
|
-
module: beanName.module || module.info.relativeName,
|
|
34
|
-
name: beanName.name,
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
ebStartups[fullKey] = {
|
|
38
|
-
key: fullKey,
|
|
39
|
-
module: module.info.relativeName,
|
|
40
|
-
name: startupKey,
|
|
41
|
-
config: startupConfig,
|
|
42
|
-
bean,
|
|
43
|
-
};
|
|
44
|
-
ebStartupsArray.push(ebStartups[fullKey]);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
app.meta._runStartup = async ({ module, name, instanceStartup }) => {
|
|
49
|
-
const fullKey = `${module}:${name}`;
|
|
50
|
-
const startup = ebStartups[fullKey];
|
|
51
|
-
// normal
|
|
52
|
-
if (!startup.config.debounce) {
|
|
53
|
-
return await _runStartupInner({ startup, instanceStartup });
|
|
54
|
-
}
|
|
55
|
-
// debounce: lock
|
|
56
|
-
const subdomain = instanceStartup ? instanceStartup.subdomain : undefined;
|
|
57
|
-
return await app.meta.util.lock({
|
|
58
|
-
subdomain,
|
|
59
|
-
resource: `${instanceStartup ? 'instanceStartup' : 'startup'}.${fullKey}`,
|
|
60
|
-
fn: async () => {
|
|
61
|
-
return await app.meta.util.executeBean({
|
|
62
|
-
subdomain,
|
|
63
|
-
beanModule: 'a-base',
|
|
64
|
-
fn: async ({ ctx }) => {
|
|
65
|
-
await _runStartupLock({ ctx, startup, instanceStartup });
|
|
66
|
-
},
|
|
67
|
-
});
|
|
68
|
-
},
|
|
69
|
-
});
|
|
70
|
-
};
|
|
71
|
-
app.meta._runStartupInstance = async ({ subdomain, options }) => {
|
|
72
|
-
// run startups: not after
|
|
73
|
-
for (const startup of app.meta.startupsArray) {
|
|
74
|
-
if (!startup.config.disable && startup.config.instance && startup.config.after !== true) {
|
|
75
|
-
console.log(`---- instance startup: ${startup.key}, pid: ${process.pid}`);
|
|
76
|
-
await app.meta._runStartup({
|
|
77
|
-
module: startup.module,
|
|
78
|
-
name: startup.name,
|
|
79
|
-
instanceStartup: { subdomain, options },
|
|
80
|
-
});
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
// set flag
|
|
84
|
-
app.meta.appReadyInstances[subdomain] = true;
|
|
85
|
-
// run startups: after
|
|
86
|
-
for (const startup of app.meta.startupsArray) {
|
|
87
|
-
if (!startup.config.disable && startup.config.instance && startup.config.after === true) {
|
|
88
|
-
console.log(`---- instance startup: ${startup.key}, pid: ${process.pid}`);
|
|
89
|
-
await app.meta._runStartup({
|
|
90
|
-
module: startup.module,
|
|
91
|
-
name: startup.name,
|
|
92
|
-
instanceStartup: { subdomain, options },
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
// load queue workers
|
|
97
|
-
if (!app.meta.isTest) {
|
|
98
|
-
app.meta._loadQueueWorkers({ subdomain });
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
async function _runStartupLock({ ctx, startup, instanceStartup }) {
|
|
102
|
-
// ignore debounce for test
|
|
103
|
-
const force = instanceStartup && instanceStartup.options && instanceStartup.options.force;
|
|
104
|
-
if (!force && !ctx.app.meta.isTest) {
|
|
105
|
-
const fullKey = `${startup.module}:${startup.name}`;
|
|
106
|
-
const cacheKey = `startupDebounce:${fullKey}${instanceStartup ? `:${ctx.instance.id}` : ''}`;
|
|
107
|
-
const debounce = typeof startup.config.debounce === 'number' ? startup.config.debounce : ctx.app.config.queue.startup.debounce;
|
|
108
|
-
const cache = (0, index_js_1.Cast)(ctx.bean).cacheRedis.module('a-base');
|
|
109
|
-
const flag = await cache.getset(cacheKey, true, debounce);
|
|
110
|
-
if (flag)
|
|
111
|
-
return;
|
|
112
|
-
}
|
|
113
|
-
// perform
|
|
114
|
-
await _runStartupInner({ startup, instanceStartup });
|
|
115
|
-
}
|
|
116
|
-
async function _runStartupInner({ startup, instanceStartup }) {
|
|
117
|
-
// context
|
|
118
|
-
const context = {
|
|
119
|
-
options: instanceStartup ? instanceStartup.options : undefined,
|
|
120
|
-
};
|
|
121
|
-
// bean
|
|
122
|
-
const bean = startup.bean;
|
|
123
|
-
// execute
|
|
124
|
-
return await app.meta.util.executeBean({
|
|
125
|
-
subdomain: instanceStartup ? instanceStartup.subdomain : undefined,
|
|
126
|
-
context,
|
|
127
|
-
beanModule: bean.module,
|
|
128
|
-
beanFullName: `${bean.module}.startup.${bean.name}`,
|
|
129
|
-
transaction: startup.config.transaction,
|
|
130
|
-
});
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
exports.default = default_1;
|
|
134
|
-
//# sourceMappingURL=startup.js.map
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const path_1 = __importDefault(require("path"));
|
|
7
|
-
const fs_extra_1 = __importDefault(require("fs-extra"));
|
|
8
|
-
async function default_1(app) {
|
|
9
|
-
if (!app.meta.isTest)
|
|
10
|
-
return;
|
|
11
|
-
// clear keys
|
|
12
|
-
await _clearRedisKeys(app.redis.get('limiter'), `b_${app.name}:*`);
|
|
13
|
-
await _clearRedisKeys(app.redis.get('queue'), `bull_${app.name}:*`);
|
|
14
|
-
// broadcast channel has subscribed
|
|
15
|
-
// await _clearRedisKeys(app.redis.get('broadcast'), `broadcast_${app.name}:*`);
|
|
16
|
-
await _clearRedisKeys(app.redis.get('cache'), `cache_${app.name}:*`);
|
|
17
|
-
await _clearRedisKeys(app.redis.get('io'), `io_${app.name}:*`);
|
|
18
|
-
await _clearRedisKeys(app.redis.get('auth'), `auth_${app.name}:*`);
|
|
19
|
-
await _clearRedisKeys(app.redis.get('summer'), `summer_${app.name}:*`);
|
|
20
|
-
// redlock
|
|
21
|
-
for (const clientName of app.config.queue.redlock.clients) {
|
|
22
|
-
await _clearRedisKeys(app.redis.get(clientName), `redlock_${app.name}:*`);
|
|
23
|
-
}
|
|
24
|
-
// src/backend/app/public
|
|
25
|
-
await fs_extra_1.default.remove(path_1.default.join(app.options.baseDir, 'app/public/1'));
|
|
26
|
-
}
|
|
27
|
-
exports.default = default_1;
|
|
28
|
-
async function _clearRedisKeys(redis, pattern) {
|
|
29
|
-
if (!redis)
|
|
30
|
-
return;
|
|
31
|
-
const keyPrefix = redis.options.keyPrefix;
|
|
32
|
-
const keys = await redis.keys(pattern);
|
|
33
|
-
const keysDel = [];
|
|
34
|
-
for (const fullKey of keys) {
|
|
35
|
-
const key = keyPrefix ? fullKey.substr(keyPrefix.length) : fullKey;
|
|
36
|
-
keysDel.push(key);
|
|
37
|
-
}
|
|
38
|
-
if (keysDel.length > 0) {
|
|
39
|
-
await redis.del(keysDel);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
//# sourceMappingURL=clear.js.map
|