Add media put functionality
This commit is contained in:
@@ -6,8 +6,6 @@ import findOne from '../requestHandlers/findOne';
|
||||
export async function update(req, res, next, config) {
|
||||
req.model.setDefaultLocale(req.locale);
|
||||
|
||||
// ISSUE: This is not actually a doc that is returned
|
||||
// It is a doc.toJSON, which is why the doc.save() fails
|
||||
let doc = await findOne(req);
|
||||
if (!doc)
|
||||
return res.status(httpStatus.NOT_FOUND).send('Not Found');
|
||||
@@ -17,6 +15,7 @@ export async function update(req, res, next, config) {
|
||||
});
|
||||
|
||||
if (req.files && req.files.file) {
|
||||
doc['filename'] = req.files.file.name;
|
||||
let outputFilepath = `${config.staticDir}/${req.files.file.name}`;
|
||||
let moveError = await req.files.file.mv(outputFilepath);
|
||||
if (moveError) return res.status(500).send(moveError);
|
||||
@@ -32,29 +31,6 @@ export async function update(req, res, next, config) {
|
||||
result: doc.toJSON({ virtuals: true })
|
||||
});
|
||||
});
|
||||
|
||||
// req.model.findOne({ _id: req.params._id }, '', {}, (err, doc) => {
|
||||
// if (!doc)
|
||||
// return res.status(httpStatus.NOT_FOUND).send('Not Found');
|
||||
//
|
||||
// Object.keys(req.body).forEach(e => {
|
||||
// doc[e] = req.body[e];
|
||||
// });
|
||||
//
|
||||
// let moveError = await req.files.file.mv(outputFilepath);
|
||||
// if (moveError) return res.status(500).send(moveError);
|
||||
// resizeAndSave(config, req.files.file);
|
||||
//
|
||||
// doc.save((saveError) => {
|
||||
// if (saveError)
|
||||
// return res.status(httpStatus.INTERNAL_SERVER_ERROR).json({ error: saveError });
|
||||
//
|
||||
// return res.json({
|
||||
// message: 'success',
|
||||
// result: doc.toJSON({ virtuals: true })
|
||||
// });
|
||||
// });
|
||||
// })
|
||||
}
|
||||
|
||||
export async function upload(req, res, next, config) {
|
||||
@@ -85,36 +61,8 @@ export async function upload(req, res, next, config) {
|
||||
|
||||
return res.status(201)
|
||||
.json({
|
||||
id: result.id,
|
||||
name: result.name,
|
||||
description: result.description,
|
||||
filename: result.filename
|
||||
message: 'success',
|
||||
result: result.toJSON({ virtuals: true })
|
||||
});
|
||||
});
|
||||
|
||||
// req.files.file.mv(outputFilepath, (err) => {
|
||||
// if (err) return res.status(500).send(err);
|
||||
//
|
||||
// // if (req.files.file.mimetype.split('/')[0] === 'image') {
|
||||
// // resizeAndSave(config, req.files.file);
|
||||
// // }
|
||||
//
|
||||
// req.model.create({
|
||||
// name: req.body.name,
|
||||
// caption: req.body.caption,
|
||||
// description: req.body.description,
|
||||
// filename: req.files.file.name
|
||||
// }, (mediaCreateError, result) => {
|
||||
// if (mediaCreateError)
|
||||
// return res.status(500).json({ error: mediaCreateError });
|
||||
//
|
||||
// return res.status(201)
|
||||
// .json({
|
||||
// id: result.id,
|
||||
// name: result.name,
|
||||
// description: result.description,
|
||||
// filename: result.filename
|
||||
// });
|
||||
// });
|
||||
// })
|
||||
}
|
||||
|
||||
@@ -13,9 +13,10 @@ const findOne = (req, res) => {
|
||||
if (res) {
|
||||
modelById(query)
|
||||
.then(doc => res.json(doc))
|
||||
.catch(err => res.status(httpStatus.INTERNAL_SERVER_ERROR).json({ error: err }));
|
||||
.catch(err => res.status(httpStatus.INTERNAL_SERVER_ERROR)
|
||||
.json({ error: err }));
|
||||
}
|
||||
return modelById(query);
|
||||
return modelById(query, true);
|
||||
};
|
||||
|
||||
export default findOne;
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
const modelById = query => {
|
||||
const modelById = (query, returnRawDoc) => {
|
||||
|
||||
return new Promise((resolve, reject) => {
|
||||
query.Model.findOne({ _id: query.id }, (err, doc) => {
|
||||
@@ -11,11 +11,12 @@ const modelById = query => {
|
||||
|
||||
if (query.locale) {
|
||||
doc.setLocale(query.locale, query.fallback);
|
||||
const json = doc.toJSON({ virtuals: true });
|
||||
result = json;
|
||||
result = doc.toJSON({ virtuals: true });
|
||||
}
|
||||
|
||||
resolve(result);
|
||||
resolve(returnRawDoc
|
||||
? doc
|
||||
: result);
|
||||
})
|
||||
})
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user