@kwikpik/kwikpik.js
Version:
Javascript/Typescript convenience library that interfaces with the Kwik Pik business API
66 lines (65 loc) • 3.06 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.updateRequestSchema = exports.initRequestSchema = void 0;
var joi_1 = __importDefault(require("joi"));
exports.initRequestSchema = joi_1.default.object({
latitude: joi_1.default.number().required(),
longitude: joi_1.default.number().required(),
category: joi_1.default.string().required(),
product: joi_1.default.string().required(),
description: joi_1.default.string().optional(),
weight: joi_1.default.number().optional(),
quantity: joi_1.default.number().integer().optional(),
image: joi_1.default.string().base64().allow("").optional(),
destinationLatitude: joi_1.default.number().required(),
destinationLongitude: joi_1.default.number().required(),
vehicleType: joi_1.default.string()
.valid("car", "bus", "bicycle", "van", "truck", "motorcycle")
.required(),
recipientName: joi_1.default.string().required(),
senderName: joi_1.default.string().required(),
recipientPhoneNumber: joi_1.default.string()
.max(50)
.pattern(new RegExp(/^\+?\d{1,4}?[-.\s]?\(?\d{1,3}?\)?[-.\s]?\d{1,4}[-.\s]?\d{1,4}[-.\s]?\d{1,9}$/))
.required(),
packageValue: joi_1.default.number().optional(),
phoneNumber: joi_1.default.string()
.max(50)
.pattern(new RegExp(/^\+?\d{1,4}?[-.\s]?\(?\d{1,3}?\)?[-.\s]?\d{1,4}[-.\s]?\d{1,4}[-.\s]?\d{1,9}$/))
.required()
});
exports.updateRequestSchema = joi_1.default.object({
location: joi_1.default.object({
latitude: joi_1.default.number().required(),
longitude: joi_1.default.number().required()
}).optional(),
packageDetails: joi_1.default.object({
category: joi_1.default.string().required(),
product: joi_1.default.string().required(),
description: joi_1.default.string().optional(),
weight: joi_1.default.number().optional(),
quantity: joi_1.default.number().integer().optional(),
image: joi_1.default.string().base64().allow("").optional(),
value: joi_1.default.number().optional()
}).optional(),
selectedVehicleType: joi_1.default.string()
.valid("car", "bus", "bicycle", "van", "truck", "motorcycle")
.optional(),
destination: joi_1.default.object({
latitude: joi_1.default.number().required(),
longitude: joi_1.default.number().required()
}).optional(),
recipientName: joi_1.default.string().optional(),
senderName: joi_1.default.string().optional(),
recipientPhoneNumber: joi_1.default.string()
.max(50)
.pattern(new RegExp(/^\+?\d{1,4}?[-.\s]?\(?\d{1,3}?\)?[-.\s]?\d{1,4}[-.\s]?\d{1,4}[-.\s]?\d{1,9}$/))
.optional(),
phoneNumber: joi_1.default.string()
.max(50)
.pattern(new RegExp(/^\+?\d{1,4}?[-.\s]?\(?\d{1,3}?\)?[-.\s]?\d{1,4}[-.\s]?\d{1,4}[-.\s]?\d{1,9}$/))
.optional()
});