25 lines
512 B
JavaScript
25 lines
512 B
JavaScript
const modelById = (query, options) => {
|
|
|
|
return new Promise((resolve, reject) => {
|
|
query.Model.findOne({ _id: query.id }, {}, options, (err, doc) => {
|
|
|
|
if (err || !doc) {
|
|
return reject({ message: 'not found' })
|
|
}
|
|
|
|
let result = doc;
|
|
|
|
if (query.locale) {
|
|
doc.setLocale(query.locale, query.fallback);
|
|
result = doc.toJSON({ virtuals: true });
|
|
}
|
|
|
|
resolve(options.returnRawDoc
|
|
? doc
|
|
: result);
|
|
})
|
|
})
|
|
};
|
|
|
|
export default modelById;
|