UNPKG

@openinc/parse-server-opendash

Version:
53 lines (52 loc) 1.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.init = init; const __1 = require(".."); const types_1 = require("../types"); async function init() { (0, __1.beforeSaveHook)(types_1.BDE_Form, async (request) => { const { object, original, user } = request; const pages = object.get("entries"); const form = object.get("form"); const acl = object.getACL(); if (pages) { const res = []; for (const page of pages) { try { const fetchedPage = (await types_1.BDE_Page.createWithoutData(page).fetch({ useMasterKey: true })); res.push(fetchedPage); } catch (error) { console.error("Could not load BDE_Page", error); } } Object.keys(form).forEach((key) => { if (key.startsWith("step")) { delete form[key]; } }); if (form.next) { delete form.next; } object.set("form", {}); let sCount = 1; const newEntries = []; res.forEach((element, idx) => { newEntries.push(pages[idx]); form["step" + sCount++] = element.get("data"); if (idx < res.length - 1) { form["step" + (sCount - 1)].next = "step" + sCount; } }); request.context.pages = res; object.set("entries", newEntries); object.set("form", form); } }); (0, __1.afterSaveHook)(types_1.BDE_Form, async (request) => { const { object, original, user } = request; for (const page of request.context.pages) { page.save(null, { useMasterKey: true }); } }); }