talyssonoc/structure

View on GitHub
packages/structure/src/validation/validations/date.js

Summary

Maintainability
A
0 mins
Test Coverage
const joi = require('@hapi/joi');
const { mapToJoi, mapToJoiWithReference, equalOption } = require('./utils');

module.exports = {
  type: Date,
  joiMappings: [],
  valueOrRefOptions: [['min', 'min'], ['max', 'max']],
  createJoiSchema(attributeDefinition) {
    let joiSchema = mapToJoiWithReference(attributeDefinition, {
      initial: joi.date(),
      mappings: this.valueOrRefOptions,
    });

    joiSchema = equalOption(attributeDefinition, { initial: joiSchema });

    return mapToJoi(attributeDefinition, {
      initial: joiSchema,
      mappings: this.joiMappings,
    });
  },
};