UNPKG

@openinc/parse-server-opendash

Version:
39 lines (38 loc) 1.38 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.saveState = saveState; exports.saveDefaultState = saveDefaultState; const types_1 = require("../../../types"); async function saveState(ticket, state, fetchOptions) { const current = await getCurrent(ticket); const changed = current?.get("state")?.id !== state; if (!changed) return current; return await new types_1.Maintenance_Ticket_Kanban_State({ ticket, state: new types_1.Maintenance_Kanban_State({ objectId: state }), // pointer tenant: ticket.get("tenant"), user: ticket.get("user"), }).save(null, fetchOptions); } async function saveDefaultState(ticket, fetchOptions) { const newState = await new Parse.Query(types_1.Maintenance_Kanban_State) .equalTo("isInbox", true) .first(fetchOptions); if (!newState) return; const state = new types_1.Maintenance_Ticket_Kanban_State({ ticket, state: newState, tenant: ticket.get("tenant"), user: ticket.get("user"), }); await state.save(null, fetchOptions); } async function getCurrent(ticket) { return await new Parse.Query(types_1.Maintenance_Ticket_Kanban_State_Current) .descending("createdAt") .equalTo("ticket", ticket) .includeAll() .first({ useMasterKey: true }); }