1
0
mirror of https://github.com/dap-ps/discover.git synced 2025-02-12 01:06:49 +00:00
discover/back-end/services/dapp-image-service.js

31 lines
893 B
JavaScript
Raw Permalink Normal View History

2019-06-03 21:01:42 +03:00
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}`;
2019-06-03 21:01:42 +03:00
}
module.exports = DAppImageService;