1
0
mirror of https://github.com/dap-ps/discover.git synced 2025-02-07 06:54:49 +00:00
discover/back-end/services/dapp-image-service.js
Jakub 60f14bb2f3 don't save images with full URL, just path is enough (#56)
Signed-off-by: Jakub Sokołowski <jakub@status.im>
2019-12-12 22:16:05 +02:00

31 lines
893 B
JavaScript

const DAppImage = require('./../models/dapps-images-model');
class DAppImageService {
static async upload(req, image) {
try {
const uploadedImage = await DAppImage.create({ content: image });
return buildImageUrl(req, uploadedImage.hash);
} catch (error) {
// Code 11000 is because of uniqueness, so just return the already exist document
if (error.code == 11000) {
const existingImage = await DAppImage.findByContent(image);
return buildImageUrl(req, existingImage.hash);
}
throw new Error(error.message);
}
}
static async retrieveImage(imageHash) {
return DAppImage.findOne({ 'hash': imageHash });
}
}
const buildImageUrl = function (req, imageHash) {
return `/metadata/image/${imageHash}`;
}
module.exports = DAppImageService;