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