forked from bro-students/multy-stub
50 lines
964 B
JavaScript
50 lines
964 B
JavaScript
const ObjectId = require('mongodb').ObjectID
|
|
|
|
const requiredFields = (fields) => (req, res, next) => {
|
|
for (const fieldName of fields) {
|
|
if (!req.body[fieldName]) {
|
|
throw new Error(`Field ${fieldName} does't set`)
|
|
}
|
|
}
|
|
|
|
next()
|
|
}
|
|
|
|
const responseWrapper = (error, data, success = true) => ({
|
|
error, data, success,
|
|
})
|
|
|
|
const _idToId = (data) => {
|
|
const { _id, ...rest } = data
|
|
|
|
return {
|
|
id: _id,
|
|
...rest,
|
|
}
|
|
}
|
|
|
|
const _idToIdArray = (arrayData, setAuthor = false) => {
|
|
let newArray = []
|
|
for (let index = 0; index < arrayData.length; index++) {
|
|
newArray[index] = _idToId(arrayData[index])
|
|
}
|
|
return newArray
|
|
}
|
|
|
|
const checkDB = (db) => {
|
|
if (db === null) throw new Error('no db connection')
|
|
}
|
|
|
|
const filterId = (id) => ({
|
|
_id: new ObjectId(id),
|
|
})
|
|
|
|
module.exports = {
|
|
checkDB,
|
|
requiredFields,
|
|
responseWrapper,
|
|
_idToId,
|
|
_idToIdArray,
|
|
filterId,
|
|
}
|