/** * AbstractController * @abstract * @class */ export default class AbstractController { private _server: T; /** * Connect your own controller here. * @constructs * @param {T} server */ constructor(server: T) { this._server = server; } /** * @returns {T} */ protected get server() { return this._server; } /** * @abstract * @returns {Promise} */ public initialize(): any | Promise {} public onInitialized(): any | Promise {} public destroy(): any | Promise {} public onDestroy(): any | Promise {} }