Validators_AdminValidator.js

const Schema = require('@d3v4pp/validate');
const { email, phone } = require('@d3v4pp/rex')
const { phoneMessages, loginMessages, firstnameMessages, lastnameMessages } = require("./ValidatorsMessagesFR");

/**
 * Based on [`@d3v4pp/validate`](https://www.npmjs.com/package/@d3v4pp/validate) on npm.
 *
 * @example
import Schema from '@d3v4pp/validate'

const user = new Schema({
  username: {
    type: String,
    required: true,
    length: { min: 3, max: 32 }
  },
  pets: [{
    name: {
      type: String
      required: true
    },
    animal: {
      type: String
      enum: ['cat', 'dog', 'cow']
    }
  }],
  address: {
    street: {
      type: String,
      required: true
    },
    city: {
      type: String,
      required: true
    }
    zip: {
      type: String,
      match: /^[0-9]+$/,
      required: true
    }
  }
})

const errors = user.validate(obj)
 *
 *
 *
 * @namespace Validators
 * @memberOf Myintranet
 */




/**
 * @memberof Myintranet.Validators
 */
const AdminValidator = new Schema({
  firstname: {
    type: String,
    required: true,
    length: { min: 1, max: 168 },
    message: firstnameMessages
  },
  lastname: {
    type: String,
    required: true,
    length: { min: 1, max: 168 },
    message: lastnameMessages

  },
  login: {
    type: String,
    match: email,
    required: true,
    length: { min: 2, max: 100 },
    message: loginMessages
  },
  phone: {
    type: String,
    required: true,
    match: phone,
    length: { min: 10, max: 14 },
    message: phoneMessages
  }
})

module.exports = AdminValidator;