@palmabit/lambda-joi-validator

1.2.1 • Public • Published

Lambda Joi Validator

Install

npm install @hapi/joi
npm install @palmabit/lambda-joi-validator

Usage

const Joi = require('@hapi/joi')
const LambdaJoiValidator = require('@palmabit/lambda-joi-validator')
const schema = {
  query: Joi.object().keys({
    foo: Joi.string()
  })
}
const validator = new LambdaJoiValidator(schema)

module.exports.handler = (event, context, callback) => {
  validator.validate(event)
    .then(value => {
      callback(null, {
        statusCode: 200,
        body: 'Valid!!!'
      })
    })
    .catch(error => {
      callback(null, {
        statusCode: 400,
        body: error
      })
    })
  }

Schema

You can define query, body and/or headers schemas validator:

const schema = {
  query: Joi.object().keys({
    foo: Joi.string()
  }),
  body: Joi.object().keys({
    bar: Joi.number()
  }),
  headers: Joi.object().keys({
    foobar: Joi.string()
  })
}

Package Sidebar

Install

npm i @palmabit/lambda-joi-validator

Weekly Downloads

1

Version

1.2.1

License

ISC

Unpacked Size

4.32 kB

Total Files

5

Last publish

Collaborators

  • palmabit-dev
  • a.sarzina
  • francesco
  • drubetti