UNPKG

@wepublish/api

Version:
58 lines 2.02 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.updateNavigation = exports.createNavigation = exports.deleteNavigationById = void 0; const tslib_1 = require("tslib"); const permissions_1 = require("../permissions"); const api_1 = require("../../../../permissions-api/src"); const deleteNavigationById = (id, authenticate, navigation) => { const { roles } = authenticate(); (0, permissions_1.authorise)(api_1.CanDeleteNavigation, roles); return navigation.delete({ where: { id }, include: { links: true } }); }; exports.deleteNavigationById = deleteNavigationById; const createNavigation = (_a, authenticate, navigation) => { var { links } = _a, input = tslib_1.__rest(_a, ["links"]); const { roles } = authenticate(); (0, permissions_1.authorise)(api_1.CanCreateNavigation, roles); return navigation.create({ data: Object.assign(Object.assign({}, input), { links: { createMany: { data: links } } }), include: { links: true } }); }; exports.createNavigation = createNavigation; const updateNavigation = (id, _a, authenticate, navigation) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { var { links } = _a, input = tslib_1.__rest(_a, ["links"]); const { roles } = authenticate(); (0, permissions_1.authorise)(api_1.CanCreateNavigation, roles); return navigation.update({ where: { id }, data: Object.assign(Object.assign({}, input), { links: { deleteMany: { navigationId: { equals: id } }, createMany: { data: links } } }), include: { links: true } }); }); exports.updateNavigation = updateNavigation; //# sourceMappingURL=navigation.private-mutation.js.map