UNPKG

apeman-app-rest

Version:
43 lines (38 loc) 1.03 kB
/** * @function validateModelExists * @returns {?Object} - Error if failed. */ 'use strict' 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