UNPKG

@fabrix/spool-cart

Version:

Spool - eCommerce Spool for Fabrix

37 lines (36 loc) 1.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const joi = require("joi"); const address_1 = require("../address/address"); exports.checkout = joi.object().keys({ shop: joi.object(), shop_id: joi.number(), ip: joi.string(), client_details: joi.object(), cart_token: joi.string(), cart: joi.object().keys({ id: joi.number() }).unknown(), customer: joi.object().keys({ id: joi.number() }).unknown(), email: joi.string(), first_name: joi.string(), last_name: joi.string(), shipping_address: address_1.address, billing_address: address_1.address, payment_details: joi.array().items(joi.object().keys({ gateway: joi.string().required(), token: joi.string(), source: joi.alternatives().try(joi.string(), joi.object().keys({ id: joi.any(), gateway: joi.string().required(), foreign_id: joi.any(), foreign_key: joi.any() }).unknown()), amount: joi.number() }).unknown()), payment_kind: joi.string().valid(['manual', 'immediate']), transaction_kind: joi.string().valid(['authorize', 'sale']), fulfillment_kind: joi.string().valid(['immediate', 'manual']) }).unknown();