/* tslint:disable */ /* eslint-disable */ /** * My API * API documentation for my Laravel app * * The version of the OpenAPI document: 1.0.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). * https://openapi-generator.tech * Do not edit the class manually. */ import { mapValues } from '../runtime'; import type { FrontendLineItemResource } from './FrontendLineItemResource'; import { FrontendLineItemResourceFromJSON, FrontendLineItemResourceFromJSONTyped, FrontendLineItemResourceToJSON, FrontendLineItemResourceToJSONTyped, } from './FrontendLineItemResource'; import type { CustomerFrontendResource } from './CustomerFrontendResource'; import { CustomerFrontendResourceFromJSON, CustomerFrontendResourceFromJSONTyped, CustomerFrontendResourceToJSON, CustomerFrontendResourceToJSONTyped, } from './CustomerFrontendResource'; import type { FrontendCartResourceCouponsInner } from './FrontendCartResourceCouponsInner'; import { FrontendCartResourceCouponsInnerFromJSON, FrontendCartResourceCouponsInnerFromJSONTyped, FrontendCartResourceCouponsInnerToJSON, FrontendCartResourceCouponsInnerToJSONTyped, } from './FrontendCartResourceCouponsInner'; import type { FrontendCartResourceStoreCreditsInner } from './FrontendCartResourceStoreCreditsInner'; import { FrontendCartResourceStoreCreditsInnerFromJSON, FrontendCartResourceStoreCreditsInnerFromJSONTyped, FrontendCartResourceStoreCreditsInnerToJSON, FrontendCartResourceStoreCreditsInnerToJSONTyped, } from './FrontendCartResourceStoreCreditsInner'; import type { AddressResource } from './AddressResource'; import { AddressResourceFromJSON, AddressResourceFromJSONTyped, AddressResourceToJSON, AddressResourceToJSONTyped, } from './AddressResource'; /** * * @export * @interface FrontendCartResource */ export interface FrontendCartResource { /** * * @type {number} * @memberof FrontendCartResource */ id?: number | null; /** * * @type {string} * @memberof FrontendCartResource */ lifecycleStatus: string; /** * * @type {number} * @memberof FrontendCartResource */ siteId: number; /** * * @type {string} * @memberof FrontendCartResource */ sessionToken?: string | null; /** * * @type {string} * @memberof FrontendCartResource */ guestEmail?: string | null; /** * * @type {CustomerFrontendResource} * @memberof FrontendCartResource */ customer: CustomerFrontendResource | null; /** * * @type {string} * @memberof FrontendCartResource */ shippingType: string; /** * * @type {AddressResource} * @memberof FrontendCartResource */ shippingAddress: AddressResource | null; /** * * @type {AddressResource} * @memberof FrontendCartResource */ billingAddress: AddressResource | null; /** * * @type {Array} * @memberof FrontendCartResource */ lineItems: Array | null; /** * * @type {Array} * @memberof FrontendCartResource */ coupons: Array; /** * * @type {string} * @memberof FrontendCartResource */ couponWarning?: string | null; /** * * @type {number} * @memberof FrontendCartResource */ subtotal: number; /** * * @type {number} * @memberof FrontendCartResource */ subtotalAfterDiscounts: number; /** * * @type {number} * @memberof FrontendCartResource */ promotionalDiscount: number; /** * * @type {number} * @memberof FrontendCartResource */ couponSubtotalDiscount: number; /** * * @type {number} * @memberof FrontendCartResource */ couponShippingDiscount: number; /** * * @type {number} * @memberof FrontendCartResource */ shipping: number; /** * * @type {number} * @memberof FrontendCartResource */ transitInsurance: number; /** * * @type {number} * @memberof FrontendCartResource */ deliveryShippingQuote: number; /** * * @type {number} * @memberof FrontendCartResource */ transitInsuranceQuote: number; /** * * @type {number} * @memberof FrontendCartResource */ gst: number; /** * * @type {number} * @memberof FrontendCartResource */ grandTotal: number; /** * * @type {Array} * @memberof FrontendCartResource */ storeCredits: Array; /** * * @type {number} * @memberof FrontendCartResource */ storeCreditTotal: number; /** * * @type {number} * @memberof FrontendCartResource */ availableStoreCreditTotal: number; /** * * @type {number} * @memberof FrontendCartResource */ amountDue: number; } /** * Check if a given object implements the FrontendCartResource interface. */ export function instanceOfFrontendCartResource(value: object): value is FrontendCartResource { if (!('lifecycleStatus' in value) || value['lifecycleStatus'] === undefined) return false; if (!('siteId' in value) || value['siteId'] === undefined) return false; if (!('customer' in value) || value['customer'] === undefined) return false; if (!('shippingType' in value) || value['shippingType'] === undefined) return false; if (!('shippingAddress' in value) || value['shippingAddress'] === undefined) return false; if (!('billingAddress' in value) || value['billingAddress'] === undefined) return false; if (!('lineItems' in value) || value['lineItems'] === undefined) return false; if (!('coupons' in value) || value['coupons'] === undefined) return false; if (!('subtotal' in value) || value['subtotal'] === undefined) return false; if (!('subtotalAfterDiscounts' in value) || value['subtotalAfterDiscounts'] === undefined) return false; if (!('promotionalDiscount' in value) || value['promotionalDiscount'] === undefined) return false; if (!('couponSubtotalDiscount' in value) || value['couponSubtotalDiscount'] === undefined) return false; if (!('couponShippingDiscount' in value) || value['couponShippingDiscount'] === undefined) return false; if (!('shipping' in value) || value['shipping'] === undefined) return false; if (!('transitInsurance' in value) || value['transitInsurance'] === undefined) return false; if (!('deliveryShippingQuote' in value) || value['deliveryShippingQuote'] === undefined) return false; if (!('transitInsuranceQuote' in value) || value['transitInsuranceQuote'] === undefined) return false; if (!('gst' in value) || value['gst'] === undefined) return false; if (!('grandTotal' in value) || value['grandTotal'] === undefined) return false; if (!('storeCredits' in value) || value['storeCredits'] === undefined) return false; if (!('storeCreditTotal' in value) || value['storeCreditTotal'] === undefined) return false; if (!('availableStoreCreditTotal' in value) || value['availableStoreCreditTotal'] === undefined) return false; if (!('amountDue' in value) || value['amountDue'] === undefined) return false; return true; } export function FrontendCartResourceFromJSON(json: any): FrontendCartResource { return FrontendCartResourceFromJSONTyped(json, false); } export function FrontendCartResourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): FrontendCartResource { if (json == null) { return json; } return { 'id': json['id'] == null ? undefined : json['id'], 'lifecycleStatus': json['lifecycleStatus'], 'siteId': json['siteId'], 'sessionToken': json['sessionToken'] == null ? undefined : json['sessionToken'], 'guestEmail': json['guestEmail'] == null ? undefined : json['guestEmail'], 'customer': CustomerFrontendResourceFromJSON(json['customer']), 'shippingType': json['shippingType'], 'shippingAddress': AddressResourceFromJSON(json['shippingAddress']), 'billingAddress': AddressResourceFromJSON(json['billingAddress']), 'lineItems': (json['lineItems'] == null ? null : (json['lineItems'] as Array).map(FrontendLineItemResourceFromJSON)), 'coupons': ((json['coupons'] as Array).map(FrontendCartResourceCouponsInnerFromJSON)), 'couponWarning': json['couponWarning'] == null ? undefined : json['couponWarning'], 'subtotal': json['subtotal'], 'subtotalAfterDiscounts': json['subtotalAfterDiscounts'], 'promotionalDiscount': json['promotionalDiscount'], 'couponSubtotalDiscount': json['couponSubtotalDiscount'], 'couponShippingDiscount': json['couponShippingDiscount'], 'shipping': json['shipping'], 'transitInsurance': json['transitInsurance'], 'deliveryShippingQuote': json['deliveryShippingQuote'], 'transitInsuranceQuote': json['transitInsuranceQuote'], 'gst': json['gst'], 'grandTotal': json['grandTotal'], 'storeCredits': ((json['storeCredits'] as Array).map(FrontendCartResourceStoreCreditsInnerFromJSON)), 'storeCreditTotal': json['storeCreditTotal'], 'availableStoreCreditTotal': json['availableStoreCreditTotal'], 'amountDue': json['amountDue'], }; } export function FrontendCartResourceToJSON(json: any): FrontendCartResource { return FrontendCartResourceToJSONTyped(json, false); } export function FrontendCartResourceToJSONTyped(value?: FrontendCartResource | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'id': value['id'], 'lifecycleStatus': value['lifecycleStatus'], 'siteId': value['siteId'], 'sessionToken': value['sessionToken'], 'guestEmail': value['guestEmail'], 'customer': CustomerFrontendResourceToJSON(value['customer']), 'shippingType': value['shippingType'], 'shippingAddress': AddressResourceToJSON(value['shippingAddress']), 'billingAddress': AddressResourceToJSON(value['billingAddress']), 'lineItems': (value['lineItems'] == null ? null : (value['lineItems'] as Array).map(FrontendLineItemResourceToJSON)), 'coupons': ((value['coupons'] as Array).map(FrontendCartResourceCouponsInnerToJSON)), 'couponWarning': value['couponWarning'], 'subtotal': value['subtotal'], 'subtotalAfterDiscounts': value['subtotalAfterDiscounts'], 'promotionalDiscount': value['promotionalDiscount'], 'couponSubtotalDiscount': value['couponSubtotalDiscount'], 'couponShippingDiscount': value['couponShippingDiscount'], 'shipping': value['shipping'], 'transitInsurance': value['transitInsurance'], 'deliveryShippingQuote': value['deliveryShippingQuote'], 'transitInsuranceQuote': value['transitInsuranceQuote'], 'gst': value['gst'], 'grandTotal': value['grandTotal'], 'storeCredits': ((value['storeCredits'] as Array).map(FrontendCartResourceStoreCreditsInnerToJSON)), 'storeCreditTotal': value['storeCreditTotal'], 'availableStoreCreditTotal': value['availableStoreCreditTotal'], 'amountDue': value['amountDue'], }; }