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