31 lines
896 B
TypeScript
31 lines
896 B
TypeScript
// similar as ApplicationBase, we have routes and services.
|
|
import { ApplicationBase } from '../applications/Base';
|
|
import { BaseService } from '../services/Base';
|
|
import { IServiceConfiguration } from '../interfaces/Service';
|
|
import * as Router from 'koa-router';
|
|
export interface IComponent {
|
|
application: ApplicationBase;
|
|
label(): string;
|
|
services(config: IServiceConfiguration): BaseService[];
|
|
routes(): Router[];
|
|
destroy(): void;
|
|
}
|
|
export class Component implements IComponent {
|
|
application: ApplicationBase;
|
|
serviceConfig: IServiceConfiguration;
|
|
destroy(): void { }
|
|
constructor(application: ApplicationBase, serviceConfig: IServiceConfiguration) {
|
|
this.application = application;
|
|
this.serviceConfig = serviceConfig;
|
|
}
|
|
label(): string {
|
|
return "Component";
|
|
}
|
|
services(config: IServiceConfiguration): BaseService[] {
|
|
return [];
|
|
}
|
|
routes(): Router[] {
|
|
return [];
|
|
}
|
|
}
|