UNPKG

thrilled-be-core

Version:

Core Express backend package with middleware, logging, security, and base application setup

46 lines (45 loc) 1.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.BasePlugin = void 0; const Logger_1 = require("../logging/Logger"); class BasePlugin { logger; dependencies; constructor(logger) { this.logger = logger || Logger_1.Logger.create({ level: 'info' }); } async register(app, config) { await this.setup(config); this.registerMiddleware(app); this.registerRoutes(app); this.registerErrorHandlers(app); } /** * Register middleware for this plugin */ registerMiddleware( // eslint-disable-next-line @typescript-eslint/no-unused-vars _app) { // Override in subclasses if needed this.logger.debug(`Registering middleware for plugin: ${this.name}`); } /** * Register routes for this plugin */ registerRoutes( // eslint-disable-next-line @typescript-eslint/no-unused-vars _app) { // Override in subclasses if needed this.logger.debug(`Registering routes for plugin: ${this.name}`); } /** * Register error handlers for this plugin */ registerErrorHandlers( // eslint-disable-next-line @typescript-eslint/no-unused-vars _app) { // Override in subclasses if needed this.logger.debug(`Registering error handlers for plugin: ${this.name}`); } } exports.BasePlugin = BasePlugin;