UNPKG

@sumor/api-middleware

Version:

API Middleware is a middleware for Node.JS. It can easily expose function to api, and validate parameters

29 lines (27 loc) 673 B
import { validate, format } from '@sumor/validator' import APIError from './i18n/APIError.js' export default (data, apiParameters) => { let errors = [] for (const key in apiParameters) { try { data[key] = format(apiParameters[key], data[key]) const fieldErrors = validate( { ...apiParameters[key], error: true }, data[key] ) errors = errors.concat(fieldErrors) } catch (e) { errors.push({ code: 'FORMAT_FAILED', message: e.message }) } } if (errors.length > 0) { throw new APIError('SUMOR_API_FIELDS_VALIDATION_FAILED', {}, errors) } return data }