@wepublish/api
Version:
API core for we.publish.
58 lines • 2.02 kB
JavaScript
;
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