UNPKG

@xpresser/events-server

Version:

Xpresser's Official Events Server Plugin.

48 lines (47 loc) 1.61 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; const AccessMiddleware_1 = require("../middlewares/AccessMiddleware"); const EventsServerDb_1 = __importDefault(require("../src/EventsServerDb")); const xpresser_1 = require("xpresser"); const $ = (0, xpresser_1.getInstance)(); module.exports = { // Controller Name name: "PagesController", // Controller Default Error Handler. e: (http, error) => http.status(401).json({ error }), middleware({ use }) { return { "@*": use(AccessMiddleware_1.isServerAdmin) }; }, boot(http) { http.state.set("title", ""); }, /** * Dashboard * @param http - Current Http Instance */ dashboard(http) { const eventsServerDB = new EventsServerDb_1.default($); const events = eventsServerDB.failedEvents(); const failedEvents = []; for (const [id, event] of Object.entries(events.all())) { failedEvents.push({ id: id, ...event }); } // http.req.cookies.token = "hello"; return http.view("events-server::layout", { view: "dashboard", title: "Dashboard", failedEvents }, false, true); }, retryFailedEvents(http) { $.eServer.retryFailedEvents(); return $.eServer.isConnected ? http.redirectBack() : http.redirectToRoute("events-server.dashboard", [], { error: "Events Server is not connected." }); } };