UNPKG

@openinc/parse-server-opendash

Version:
79 lines (78 loc) 3.67 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.init = init; const __1 = require(".."); const openservice_1 = require("../features/openservice"); const openinc_openservice_save_ticket_data_1 = require("../functions/openinc-openservice-save-ticket-data"); const openinc_openservice_ticket_data_1 = require("../functions/openinc-openservice-ticket-data"); const types_1 = require("../types"); const TRANSLATION_TITLE = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.PROJECT.TITLE; const TRANSLATION_CONTENT = openservice_1.OpenserviceMessageTranslationKeys.TICKETLOG.PROJECT.CONTENT; const TRANSLATION_TITLE_MACHINELOG = openservice_1.OpenserviceMessageTranslationKeys.MACHINELOG.PROJECT.TITLE; const TRANSLATION_CONTENT_MACHINELOG = openservice_1.OpenserviceMessageTranslationKeys.MACHINELOG.PROJECT.CONTENT; async function init() { (0, __1.beforeSaveHook)(types_1.Maintenance_Ticket_Project, async (request) => { const { object, original, user } = request; await (0, __1.defaultHandler)(request); await (0, __1.defaultAclHandler)(request); }); (0, __1.afterSaveHook)(types_1.Maintenance_Ticket_Project, async (request) => { const { object, original, user } = request; const fullObj = await object.fetchWithInclude(["ticket", "project"], { useMasterKey: true, }); const previous = await new Parse.Query(types_1.Maintenance_Ticket_Project) .includeAll() .equalTo("ticket", fullObj.get("ticket")) .notEqualTo("objectId", fullObj.id) .descending("createdAt") .first({ useMasterKey: true }); await createMessageLog(fullObj, previous, user); }); } async function createMessageLog(object, previous, user) { new types_1.Maintenance_Message({ referencedObjectId: object.get("ticket")?.id, classname: object.get("ticket")?.className, title: TRANSLATION_TITLE, content: TRANSLATION_CONTENT, user, tenant: user.get("tenant"), data: { origin: { id: object.id, classname: object.className, }, translation: { username: (0, openinc_openservice_save_ticket_data_1.getUsername)(user), ticket: object.get("ticket")?.get("title") ?? "Nicht vorhanden", new: object.get("project")?.get("name") ?? "Nicht vorhanden", }, type: "system", }, }).save(null, { useMasterKey: true }); const source = (await (0, openinc_openservice_ticket_data_1.getTicketSource)(object.get("ticket")))?.get("source"); if (source) { new types_1.Maintenance_Message({ referencedObjectId: source?.id, classname: source.className, title: TRANSLATION_TITLE_MACHINELOG, content: TRANSLATION_CONTENT_MACHINELOG, user, tenant: user.get("tenant"), data: { origin: { id: object.get("ticket")?.id, classname: object.get("ticket")?.className, }, translation: { username: (0, openinc_openservice_save_ticket_data_1.getUsername)(user), ticket: object.get("ticket")?.get("title") ?? "Nicht vorhanden", new: object.get("project")?.get("name") ?? "Nicht vorhanden", old: previous?.get("project")?.get("name") ?? "Nicht vorhanden", }, type: "system", }, }).save(null, { useMasterKey: true }); } }