apeman-app-rest
Version:
apeman app to handle restful endpoint.
43 lines (38 loc) • 1.03 kB
JavaScript
/**
* @function validateModelExists
* @returns {?Object} - Error if failed.
*/
const apemanerror = require('apemanerror')
const apemanmodel = require('apemanmodel')
const ApErrorCodes = apemanerror.ApErrorCodes
/** @lends validateModelExists */
function validateModelExists (model, id, instance) {
let type = apemanmodel.toType(model)
if (!instance) {
return validateModelExists.notFoundError(type, id)
}
return null
}
Object.assign(validateModelExists, {
bulk (model, ids, instances) {
let type = apemanmodel.toType(model)
for (let i = 0; i < ids.length; i++) {
if (!instances[ i ]) {
return validateModelExists.notFoundError(type, ids[ i ])
}
}
return null
},
notFoundError (type, id) {
let code = ApErrorCodes.RESOURCE_NOT_FOUND_ERROR
return Object.assign(
apemanerror.newError(code, null, {
trigger: 'RestHandler',
scope: { type, id }
}),
{ status: '404' }
)
}
})
module.exports = validateModelExists