UNPKG

@wepublish/api

Version:
62 lines 2.37 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.updateImage = exports.createImage = exports.deleteImageById = void 0; const tslib_1 = require("tslib"); const permissions_1 = require("../permissions"); const api_1 = require("../../../../permissions-api/src"); const deleteImageById = (id, authenticate, image, mediaAdapter) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { const { roles } = authenticate(); (0, permissions_1.authorise)(api_1.CanDeleteImage, roles); const [deletedImage] = yield Promise.all([ image.delete({ where: { id }, include: { focalPoint: true } }), mediaAdapter.deleteImage(id) ]); return deletedImage; }); exports.deleteImageById = deleteImageById; const createImage = (input, authenticate, mediaAdapter, imageClient) => tslib_1.__awaiter(void 0, void 0, void 0, function* () { const { roles } = authenticate(); (0, permissions_1.authorise)(api_1.CanCreateImage, roles); const { file, filename, title, description, tags, source, link, license, focalPoint } = input; const _a = yield mediaAdapter.uploadImage(file), { id } = _a, image = tslib_1.__rest(_a, ["id"]); return imageClient.create({ data: Object.assign(Object.assign({ id }, image), { filename: filename !== null && filename !== void 0 ? filename : image.filename, title, description, tags, source, link, license, focalPoint: { create: focalPoint } }), include: { focalPoint: true } }); }); exports.createImage = createImage; const updateImage = (id, _a, authenticate, image) => { var { focalPoint } = _a, input = tslib_1.__rest(_a, ["focalPoint"]); const { roles } = authenticate(); (0, permissions_1.authorise)(api_1.CanCreateImage, roles); return image.update({ where: { id }, data: Object.assign(Object.assign({}, input), { focalPoint: { upsert: { create: focalPoint, update: focalPoint } } }), include: { focalPoint: true } }); }; exports.updateImage = updateImage; //# sourceMappingURL=image.private-mutation.js.map