Skip to content
This repository has been archived by the owner on Sep 26, 2019. It is now read-only.

wearereasonablepeople/mongoose-to-joi-translator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

67 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Mongoose-to-joi-translator Logo

⚠️ Unmaintained

This package is no longer maintained.

mongoose-to-joi-translator

Build Status codecov dependencies Status devDependencies Status

Description

Translates Mongoose schema to Joi. You can use Joi schema to do the validation. The idea is to write database models once and validate everywhere.

Installation

npm install mongoose-to-joi-translator

Supported validations

  1. All types
    • required
    • valid (enum validation)
    • default
  2. Strings
    • min
  3. Arrays
    • items (element types)
  4. Numbers
    • min
    • max
  5. Objects
  6. Dates
  7. ObjectIDs
  8. Booleans
  9. Custom sync validators as documented here

Deeply nested document validation is supported, i.e. Objects within Objects, Arrays within Objects etc.

Testing

npm test

Usage

// Require the library
const getJoiSchema = require('mongoose-to-joi-translator');
const schema = new Schema({ word: { type: String } });
const ModelName = mongoose.model('ModelName', schema);
// Extract schema
const joiSchema = getJoiSchema(ModelName);
// Use Joi to validate
const { error, value } = Joi.validate({ word: 'hello' }, joiSchema);

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published