UNPKG

@openinc/parse-server-opendash

Version:
51 lines (50 loc) 2.74 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.updateTicketDescription = updateTicketDescription; exports.initTicketClass = initTicketClass; const catchError_1 = require("../../../helper/catchError"); const types_1 = require("../../../types"); async function updateTicketDescription() { while (true) { const query = new Parse.Query(types_1.Maintenance_Ticket).doesNotExist("description"); query.limit(1000); const tickets = await query.find({ useMasterKey: true }); if (tickets.length === 0) break; const allCreationMessages = await new Parse.Query(types_1.Maintenance_Message) .equalTo("classname", types_1.Maintenance_Ticket.className) .equalTo("title", "maintenance:ticket.create.database.subject.1") .containedIn("referencedObjectId", tickets.map((ticket) => ticket.id)) .limit(1000000) .find({ useMasterKey: true }); for (const ticket of tickets) { const foundMessage = allCreationMessages.find((message) => message.get("referencedObjectId") === ticket.id); ticket.set("description", foundMessage?.get("content") ?? " "); } await Parse.Object.saveAll(tickets, { useMasterKey: true }); } } async function initTicketClass() { // Query all of Maintenance_Ticket and find all of Maintenance_Priority sort by createdAt in descending order // get the objectid of the first object in the array and save it in the latestPriority field of the Maintenance_Ticket object console.log("Maintenance_Ticket init: Check and save latestPriority"); const [ticketError, ticketResults] = await (0, catchError_1.catchError)(new Parse.Query(types_1.Maintenance_Ticket).each(async (ticket) => { if (!ticket.get("latestPriorityValue")) { const [priorityError, priorityResult] = await (0, catchError_1.catchError)(new Parse.Query(types_1.Maintenance_Priority) .equalTo("ticket", ticket) .descending("createdAt") .first({ useMasterKey: true })); if (priorityError) { console.error("Maintenance_Priority error", priorityError); return; } if (priorityResult === undefined) { console.log("Maintenance_Ticket init: Check and save latestPriority: No priority found for ticket", ticket.id); return; } ticket.set("latestPriorityValue", priorityResult.get("value")); await ticket.save(null, { useMasterKey: true }); } }, { useMasterKey: true })); console.log("Maintenance_Ticket init: Check and save latestPriority done"); }