@mwcp/ali-oss
Version:
Ali OSS Component for midway.js
68 lines (54 loc) • 1.58 kB
text/typescript
import {
App,
Configuration,
ILifeCycle,
ILogger,
Inject,
Logger,
MidwayEnvironmentService,
MidwayInformationService,
MidwayWebRouterService,
} from '@midwayjs/core'
import {
Application,
MConfig,
deleteRouter,
} from '@mwcp/share'
import * as DefaultConfig from './config/config.default.js'
import * as LocalConfig from './config/config.local.js'
import * as UnittestConfig from './config/config.unittest.js'
import { useComponents } from './imports.js'
import {
Config,
ConfigKey,
} from './lib/types.js'
({
namespace: ConfigKey.namespace,
importConfigs: [
{
default: DefaultConfig,
local: LocalConfig,
unittest: UnittestConfig,
},
],
imports: useComponents,
})
export class AutoConfiguration implements ILifeCycle {
() readonly app: Application
() protected readonly environmentService: MidwayEnvironmentService
() protected readonly informationService: MidwayInformationService
() protected readonly webRouterService: MidwayWebRouterService
() protected readonly logger: ILogger
(ConfigKey.config) protected readonly config: Config
async onConfigLoad(): Promise<void> {
if (! this.config.enableDefaultRoute) {
await deleteRouter(`/_${ConfigKey.namespace}`, this.webRouterService)
}
// else if (this.mwConfig.ignore) {
// this.mwConfig.ignore.push(new RegExp(`/_${ConfigKey.namespace}/.+`, 'u'))
// }
}
async onReady(): Promise<void> {
this.logger.info(`[${ConfigKey.componentName}] onReady`)
}
}