Sindbad~EG File Manager

Current Path : /home/infinitibizsol/irfarms.infinitibizsol.com/validations/
Upload File :
Current File : /home/infinitibizsol/irfarms.infinitibizsol.com/validations/purchaseValidation.js

"use strict";

Object.defineProperty(exports, "__esModule", {
  value: true
});
exports["default"] = void 0;
var _joi = _interopRequireDefault(require("joi"));
var _mongoose = _interopRequireDefault(require("mongoose"));
function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; }
// validation.js

// Validate MongoDB ObjectId
var objectId = function objectId(value, helpers) {
  if (!_mongoose["default"].Types.ObjectId.isValid(value)) {
    return helpers.error("any.invalid");
  }
  return value;
};

// Define the Joi schema
var purchaseSchema = _joi["default"].object({
  date: _joi["default"].date().required(),
  order_status: _joi["default"].string().valid("received", "pending", "order").required(),
  payment_status: _joi["default"].string().valid("paid", "unpaid").optional(),
  // 'required: false' is equivalent to 'optional()'
  grand_total: _joi["default"].number().required(),
  paid: _joi["default"].number().optional(),
  due: _joi["default"].number().optional(),
  note: _joi["default"].string().optional(),
  supplier: _joi["default"].string().custom(objectId).required()
}).unknown();
var _default = exports["default"] = purchaseSchema;

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists