UNPKG

@xpresser/events-server

Version:

Xpresser's Official Events Server Plugin.

56 lines (55 loc) 2.1 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; const EventsServerDb_1 = __importDefault(require("../src/EventsServerDb")); module.exports = async (args, { helper }) => { const $ = helper.$; const [command, id] = args; await $.startEServerCommunicator(false); const eventsServerDB = new EventsServerDb_1.default($); const events = eventsServerDB.failedEvents(); if (command) { if (command === "list") { const list = {}; for (const event of events.keys()) { list[event] = events.path(event).omit("retries", "error.stack"); } console.dir(list, { depth: 10 }); return $.exit(); } else if (command === "events") { // Get unique array of events const uniqueEvents = []; for (const event of events.values()) { if (!uniqueEvents.includes(event.event)) { uniqueEvents.push(event.event); } } return $.logAndExit(uniqueEvents); } else if (command === "delete") { if (!id) { return $.logErrorAndExit("Please provide an event id to delete"); } if (!events.has(id)) { return $.logErrorAndExit(`Failed event with id: "${id}" not found`); } events.unset(id); eventsServerDB.save(false, true); $.logSuccess(`Event "${id}" has been removed from failed events`); return $.exit(); } else if (command === "flush") { const oldLen = events.length(); eventsServerDB.data.set("failed", {}); eventsServerDB.save(false, true); $.logSuccess(`${oldLen} events cleared`); return $.exit(); } else { return $.logErrorAndExit(`Command "${command}" not found`); } } $.logAndExit(`You have ${events.length()} failed events.`); };