UNPKG

@fabrix/spool-cart

Version:

Spool - eCommerce Spool for Fabrix

48 lines (47 loc) 1.81 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const joi = require("joi"); const address_1 = require("../address/address"); exports.order = joi.object().keys({ customer_token: joi.string(), customer_id: joi.number(), customer: joi.alternatives().try(joi.number(), joi.string(), joi.object().keys({ id: joi.number(), token: joi.string() }).unknown()), client_details: joi.object(), ip: joi.string(), buyer_accepts_marketing: joi.boolean(), shipping_address: address_1.address, billing_address: address_1.address, processing_method: joi.string(), cart_token: joi.string(), cart_id: joi.number(), cart: joi.alternatives().try(joi.number(), joi.string(), joi.object().keys({ id: joi.number(), token: joi.string() }).unknown()), subscription_token: joi.string(), subscription: joi.alternatives().try(joi.number(), joi.string(), joi.object().keys({ id: joi.number(), token: joi.string() }).unknown()), currency: joi.string(), email: joi.string(), tags: joi.array().items(joi.string()), payment_kind: joi.string().valid(['manual', 'immediate']), transaction_kind: joi.string().valid(['authorize', 'sale']), fulfillment_service: joi.string(), fulfillment_kind: joi.string().valid(['manual', 'immediate']), payment_details: joi.array().items(joi.object().keys({ gateway: joi.string().required(), token: joi.string(), source: joi.alternatives().try(joi.number(), joi.string(), joi.object().keys({ id: joi.string(), gateway: joi.string().required(), foreign_id: joi.any(), foreign_key: joi.any() }).unknown()), amount: joi.number() }).unknown()) });