UNPKG

@xpresser/events-server

Version:

Xpresser's Official Events Server Plugin.

61 lines (60 loc) 2.37 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.run = void 0; const EventsServerCommunicator_1 = __importDefault(require("./src/EventsServerCommunicator")); const functions_1 = require("./src/functions"); /** * Xpresser plugin function. * @param plugin * @param $ */ function run(plugin, $) { if ($.isNativeCliCommand()) return; function startEventServerCommunicator(connect = true) { return new Promise((resolve, reject) => { const isEventsServer = $.engineData.get("isEventsServer", false); if (!isEventsServer) { const [err, eventsServerConfig] = (0, functions_1.loadEventServerConfig)($); if (err) return $.logErrorAndExit(`Config: ${err.message}`); // Get Secret key const { secretKey, controlPanel, communicatorName } = eventsServerConfig; // remove secret key. $.config.unset("eventsServer.secretKey"); // Initialize event server. $.eServer = new EventsServerCommunicator_1.default(secretKey, $, communicatorName); if (connect) $.eServer.connect(resolve, reject); else { resolve(); } // Set control panel. if (!$.options.isConsole && controlPanel.enabled) { $.on.expressInit((next) => { // Start Cookie parser const cookieParser = require("cookie-parser"); // Use cookie parser on routePath $.app.use(controlPanel.routePath, cookieParser()); return next(); }); } } }); } $.ifConsole(() => { // Set EventServerCommunicator starter function. $.startEServerCommunicator = startEventServerCommunicator; }, () => { $.on.boot((next) => { // Start EventServer Communicator startEventServerCommunicator().catch(console.log); // Continue server boot next(); }); }); } exports.run = run;