add model localization middleware to integrate mongoose model binding and localization
This commit is contained in:
@@ -21,6 +21,7 @@ import authValidate from './auth/validate';
|
||||
import authRequestHandlers from './auth/requestHandlers';
|
||||
import passwordResetConfig from './auth/passwordResets/passwordReset.config';
|
||||
import validateConfig from './utilities/validateConfig';
|
||||
import setModelLocaleMiddleware from './mongoose/setModelLocale.middleware';
|
||||
|
||||
class Payload {
|
||||
|
||||
@@ -138,7 +139,10 @@ class Payload {
|
||||
}
|
||||
|
||||
this.models[config.labels.singular] = model;
|
||||
options.router.all(`/${config.slug}*`, bindModelMiddleware(model));
|
||||
options.router.all(`/${config.slug}*`,
|
||||
bindModelMiddleware(model),
|
||||
setModelLocaleMiddleware()
|
||||
);
|
||||
|
||||
options.router.route(`/${config.slug}`)
|
||||
.get(config.policies.read, query)
|
||||
|
||||
@@ -1,17 +1,16 @@
|
||||
import httpStatus from 'http-status';
|
||||
|
||||
const create = (req, res) => {
|
||||
req.model.setDefaultLocale(req.locale); // TODO - move to middleware
|
||||
req.model.create(req.body, (err, result) => {
|
||||
if (err)
|
||||
return res.status(httpStatus.INTERNAL_SERVER_ERROR).json({ error: err });
|
||||
|
||||
return res.status(httpStatus.CREATED)
|
||||
.json({
|
||||
message: 'success',
|
||||
result: result.toJSON({ virtuals: true })
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
export default create;
|
||||
import httpStatus from 'http-status';
|
||||
|
||||
const create = (req, res) => {
|
||||
req.model.create(req.body, (err, result) => {
|
||||
if (err)
|
||||
return res.status(httpStatus.INTERNAL_SERVER_ERROR).json({ error: err });
|
||||
|
||||
return res.status(httpStatus.CREATED)
|
||||
.json({
|
||||
message: 'success',
|
||||
result: result.toJSON({ virtuals: true })
|
||||
});
|
||||
});
|
||||
};
|
||||
|
||||
export default create;
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
import httpStatus from 'http-status';
|
||||
|
||||
const update = (req, res) => {
|
||||
req.model.setDefaultLocale(req.locale); // TODO - move to middleware
|
||||
req.model.findOne({ _id: req.params.id }, '', {}, (err, doc) => {
|
||||
if (!doc)
|
||||
return res.status(httpStatus.NOT_FOUND).send('Not Found');
|
||||
|
||||
9
src/mongoose/setModelLocale.middleware.js
Normal file
9
src/mongoose/setModelLocale.middleware.js
Normal file
@@ -0,0 +1,9 @@
|
||||
const setModelLocaleMiddleware = () => {
|
||||
return (req, res, next) => {
|
||||
if (req.locale && req.model.setDefaultLocale)
|
||||
req.model.setDefaultLocale(req.locale);
|
||||
next();
|
||||
};
|
||||
};
|
||||
|
||||
export default setModelLocaleMiddleware;
|
||||
Reference in New Issue
Block a user