UNPKG

@openinc/parse-server-opendash

Version:
40 lines (39 loc) 1.51 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.saveIssueCategory = saveIssueCategory; exports.saveDefaultIssueCategory = saveDefaultIssueCategory; const types_1 = require("../../../types"); async function saveIssueCategory(ticket, value, fetchOptions) { const current = await getCurrent(ticket); const changed = current?.get("issuecategory")?.id !== value; if (!changed) return current; const issueCategory = new types_1.Maintenance_Ticket_Issuecategory({ ticket, issuecategory: new types_1.Maintenance_Issuecategory({ objectId: value }), // pointer tenant: ticket.get("tenant"), user: ticket.get("user"), }); return await issueCategory.save(null, fetchOptions); } async function saveDefaultIssueCategory(ticket, fetchOptions) { const catchAll = await new Parse.Query(types_1.Maintenance_Issuecategory) .equalTo("catchall", true) .first(fetchOptions); if (!catchAll) return; const issueCategory = new types_1.Maintenance_Ticket_Issuecategory({ ticket, issuecategory: catchAll, tenant: ticket.get("tenant"), user: ticket.get("user"), }); await issueCategory.save(null, fetchOptions); } async function getCurrent(ticket) { return await new Parse.Query(types_1.Maintenance_Ticket_Issuecategory) .descending("createdAt") .equalTo("ticket", ticket) .includeAll() .first({ useMasterKey: true }); }