UNPKG

@wepublish/api

Version:
33 lines 1.29 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.updateSettings = void 0; const tslib_1 = require("tslib"); const api_1 = require("../../../../permissions-api/src"); const api_2 = require("../../../../settings-api/src"); const error_1 = require("../../error"); const permissions_1 = require("../permissions"); const updateSettings = (value, authenticate, prisma) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { const { roles } = authenticate(); (0, permissions_1.authorise)(api_1.CanUpdateSettings, roles); for (const { name, value: newVal } of value) { const fullSetting = yield prisma.setting.findUnique({ where: { name } }); if (!fullSetting) { throw new error_1.NotFound('setting', name); } const currentVal = fullSetting.value; const restriction = fullSetting.settingRestriction; (0, api_2.checkSettingRestrictions)(newVal, currentVal, restriction); } return prisma.$transaction(value.map(({ name, value: val }) => prisma.setting.update({ where: { name }, data: { value: val } }))); }); exports.updateSettings = updateSettings; //# sourceMappingURL=setting.private-mutation.js.map