const Gallery = require('../models/Gallery') const jimp = require('jimp') const fs = require('fs') const dateFormat = require('dateformat') ///////////////////////////////////////////////////////////////////////////////////////////// create image module.exports.create = [ (req, res) => { let file let fileName ////////////// validate image upload if (req.files) { file = req.files.image fileName = 'gallery_' + Date.now() + '.' + file.mimetype.split('/')[1] jimp.read(file.data) .then(img => { img .cover(940, 620, jimp.HORIZONTAL_ALIGN_CENTER | jimp.VERTICAL_ALIGN_MIDDLE) .write(`./static/uploads/images/gallery/${fileName}`, (err, img) => { if (err) console.log(err) }) .resize(335, jimp.AUTO) .write(`./static/uploads/images/gallery/thumb/thumb_${fileName}`, (err, img) => { if (err) console.log(err) }) let gallery = new Gallery({ image: fileName, created_at: dateFormat(Date.now(), 'yyyy-mm-dd HH:MM:ss') }) gallery.save((err, image) => { if (err) return res.status(500).json(err) Gallery.find({}) .then(images => { return res.json(images) }) .catch(err => { return res.status(500).json(err) }) }) }) .catch(err => { console.log(err) }) } else { return res.status(422).json({validation: {image: {msg: 'عکس اجباری است'}}}) } } ] ///////////////////////////////////////////////////////////////////////////////////////////// get all images module.exports.getAll = [ (req, res) => { Gallery.find({}, (err, images) => { if (err) return res.json({errors: err}) return res.json(images) }) } ] ///////////////////////////////////////////////////////////////////////////////////////////// get one image module.exports.getOne = [ (req, res) => { Gallery.findById(req.params.id, (err, image) => { if (err) return res.json({errors: err}) return res.json(image) }) } ] ///////////////////////////////////////////////////////////////////////////////////////////// delete image module.exports.delete = [ (req, res) => { Gallery.findByIdAndRemove(req.params.id, (err, data) => { if (err) return res.json({error: err}) fs.unlink(`./static/${data.image}`, err => { if (err) console.log(err) }) fs.unlink(`./static/${data.thumb}`, err => { if (err) console.log(err) }) return res.json({message: 'تصویر حذف شد'}) }) } ]