UNPKG

@piggly/fastify-chassis

Version:

An ESM/CommonJS toolkit to help you to do common operations in your back-end applications with Fastify and NodeJS.

47 lines 1.63 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.cleanupDependencies = void 0; const tslib_1 = require("tslib"); const ddd_toolkit_1 = require("@piggly/ddd-toolkit"); const event_bus_1 = tslib_1.__importDefault(require("@piggly/event-bus")); const debug_1 = tslib_1.__importDefault(require("debug")); /** * Cleanup dependencies. * It will run the CleanUpService to clean all registered dependencies. * * It will wait for: * - EventBus cleanup; * - LoggerService flush and cleanup. * * You may not need to cleanup classes above when using this. * * @param {HttpServerInterface<Server, AppEnvironment> | undefined} server * @returns {Promise<number>} * @since 5.5.0 * @author Caique Araujo <caique@piggly.com.br> */ const cleanupDependencies = (server) => async () => { try { if (server) { await server.stop(); } const service = ddd_toolkit_1.ServiceProvider.get('CleanUpService'); if (service) { const response = await service.softClean(); return response.success ? 0 : 1; } // Register the EventBus cleanup. await event_bus_1.default.instance.cleanup(); ddd_toolkit_1.LoggerService.softResolve().flush(); await ddd_toolkit_1.LoggerService.softResolve().cleanup(); return 0; } catch (error) { /* eslint-disable-next-line no-console */ console.error(error); (0, debug_1.default)('app:cleanup:error')(error); return 1; } }; exports.cleanupDependencies = cleanupDependencies; //# sourceMappingURL=cleanupDependencies.js.map