@xpresser/events-server
Version:
Xpresser's Official Events Server Plugin.
48 lines (47 loc) • 1.61 kB
JavaScript
;
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."
});
}
};