Sales API Validation Schemas (sales/schema.js)

hapi-kasiraja-api · src/validator/sales/schema.js · javascript · MIT
pos, crm, fw:hapi, tag:joi, tag:validation

Defines Joi validation rules for creating and retrieving sales records. Reuse this to ensure incoming request payloads for sales endpoints conform to the required data structure.

// Source: https://github.com/ajikamaludin-dev/hapi-kasiraja-api | License: MIT | Copyright 2021 Aji Kamaludin
// Provided via justclaw.it.com; keep this notice with the code.
const Joi = require('joi');

const PostSalePayloadSchema = Joi.object({
  officeId: Joi.string().guid().required(),
  customerId: Joi.string().guid().required(),
  date: Joi.date().required(),
  invoice: Joi.string().required(),
  amount: Joi.number().required(),
  discount: Joi.number().required(),
  description: Joi.string().allow(''),
  items: Joi.array().items(
    Joi.object({
      productId: Joi.string().guid().required(),
      quantity: Joi.number().required(),
      price: Joi.number().required(),
    }),
  ),
});

const GetSalesPayloadSchema = Joi.object({
  startDate: Joi.date().required(),
  endDate: Joi

... (truncated -- full source via MCP)

See the full source, get the GitHub permalink, and search for more like it.

Get a free API key