/* 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 { ProductChildSiteDetailResource } from './ProductChildSiteDetailResource'; import { ProductChildSiteDetailResourceFromJSON, ProductChildSiteDetailResourceFromJSONTyped, ProductChildSiteDetailResourceToJSON, ProductChildSiteDetailResourceToJSONTyped, } from './ProductChildSiteDetailResource'; import type { ModelAttributeResource } from './ModelAttributeResource'; import { ModelAttributeResourceFromJSON, ModelAttributeResourceFromJSONTyped, ModelAttributeResourceToJSON, ModelAttributeResourceToJSONTyped, } from './ModelAttributeResource'; import type { AssetResource } from './AssetResource'; import { AssetResourceFromJSON, AssetResourceFromJSONTyped, AssetResourceToJSON, AssetResourceToJSONTyped, } from './AssetResource'; import type { ProductClassResource } from './ProductClassResource'; import { ProductClassResourceFromJSON, ProductClassResourceFromJSONTyped, ProductClassResourceToJSON, ProductClassResourceToJSONTyped, } from './ProductClassResource'; /** * * @export * @interface ProductChildResource */ export interface ProductChildResource { /** * * @type {number} * @memberof ProductChildResource */ id: number; /** * * @type {string} * @memberof ProductChildResource */ name: string; /** * * @type {string} * @memberof ProductChildResource */ fullName: string; /** * * @type {boolean} * @memberof ProductChildResource */ allowOversell: boolean; /** * * @type {string} * @memberof ProductChildResource */ modelNumber: string; /** * * @type {number} * @memberof ProductChildResource */ weight: number; /** * * @type {string} * @memberof ProductChildResource */ warranty: string; /** * * @type {boolean} * @memberof ProductChildResource */ isWarrantyOverridden: boolean; /** * * @type {number} * @memberof ProductChildResource */ stock: number; /** * * @type {number} * @memberof ProductChildResource */ sku: number; /** * * @type {number} * @memberof ProductChildResource */ buyPrice: number; /** * * @type {boolean} * @memberof ProductChildResource */ hideFromFrontend: boolean; /** * * @type {number} * @memberof ProductChildResource */ popularityScore: number; /** * * @type {boolean} * @memberof ProductChildResource */ excludeFromSearch: boolean; /** * * @type {boolean} * @memberof ProductChildResource */ isOversized: boolean; /** * * @type {boolean} * @memberof ProductChildResource */ isBundle: boolean; /** * * @type {string} * @memberof ProductChildResource */ barcode?: string | null; /** * * @type {boolean} * @memberof ProductChildResource */ displayInSocialFeed: boolean; /** * * @type {number} * @memberof ProductChildResource */ googleStockStatus: number; /** * * @type {string} * @memberof ProductChildResource */ netsuiteId?: string | null; /** * * @type {string} * @memberof ProductChildResource */ netsuiteSyncStatus?: string | null; /** * * @type {boolean} * @memberof ProductChildResource */ hasSyncedToNetsuite: boolean; /** * * @type {string} * @memberof ProductChildResource */ newArrivalStartDate: string; /** * * @type {string} * @memberof ProductChildResource */ newArrivalEndDate: string; /** * * @type {boolean} * @memberof ProductChildResource */ isDisabled: boolean; /** * * @type {Array} * @memberof ProductChildResource */ siteDetails: Array | null; /** * * @type {Array} * @memberof ProductChildResource */ assets: Array | null; /** * * @type {AssetResource} * @memberof ProductChildResource */ thumbnail: AssetResource | null; /** * * @type {Array} * @memberof ProductChildResource */ attributes: Array | null; /** * * @type {ProductClassResource} * @memberof ProductChildResource */ productClass: ProductClassResource | null; /** * * @type {string} * @memberof ProductChildResource */ productClassString: string; } /** * Check if a given object implements the ProductChildResource interface. */ export function instanceOfProductChildResource(value: object): value is ProductChildResource { if (!('id' in value) || value['id'] === undefined) return false; if (!('name' in value) || value['name'] === undefined) return false; if (!('fullName' in value) || value['fullName'] === undefined) return false; if (!('allowOversell' in value) || value['allowOversell'] === undefined) return false; if (!('modelNumber' in value) || value['modelNumber'] === undefined) return false; if (!('weight' in value) || value['weight'] === undefined) return false; if (!('warranty' in value) || value['warranty'] === undefined) return false; if (!('isWarrantyOverridden' in value) || value['isWarrantyOverridden'] === undefined) return false; if (!('stock' in value) || value['stock'] === undefined) return false; if (!('sku' in value) || value['sku'] === undefined) return false; if (!('buyPrice' in value) || value['buyPrice'] === undefined) return false; if (!('hideFromFrontend' in value) || value['hideFromFrontend'] === undefined) return false; if (!('popularityScore' in value) || value['popularityScore'] === undefined) return false; if (!('excludeFromSearch' in value) || value['excludeFromSearch'] === undefined) return false; if (!('isOversized' in value) || value['isOversized'] === undefined) return false; if (!('isBundle' in value) || value['isBundle'] === undefined) return false; if (!('displayInSocialFeed' in value) || value['displayInSocialFeed'] === undefined) return false; if (!('googleStockStatus' in value) || value['googleStockStatus'] === undefined) return false; if (!('hasSyncedToNetsuite' in value) || value['hasSyncedToNetsuite'] === undefined) return false; if (!('newArrivalStartDate' in value) || value['newArrivalStartDate'] === undefined) return false; if (!('newArrivalEndDate' in value) || value['newArrivalEndDate'] === undefined) return false; if (!('isDisabled' in value) || value['isDisabled'] === undefined) return false; if (!('siteDetails' in value) || value['siteDetails'] === undefined) return false; if (!('assets' in value) || value['assets'] === undefined) return false; if (!('thumbnail' in value) || value['thumbnail'] === undefined) return false; if (!('attributes' in value) || value['attributes'] === undefined) return false; if (!('productClass' in value) || value['productClass'] === undefined) return false; if (!('productClassString' in value) || value['productClassString'] === undefined) return false; return true; } export function ProductChildResourceFromJSON(json: any): ProductChildResource { return ProductChildResourceFromJSONTyped(json, false); } export function ProductChildResourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProductChildResource { if (json == null) { return json; } return { 'id': json['id'], 'name': json['name'], 'fullName': json['fullName'], 'allowOversell': json['allowOversell'], 'modelNumber': json['modelNumber'], 'weight': json['weight'], 'warranty': json['warranty'], 'isWarrantyOverridden': json['isWarrantyOverridden'], 'stock': json['stock'], 'sku': json['sku'], 'buyPrice': json['buyPrice'], 'hideFromFrontend': json['hideFromFrontend'], 'popularityScore': json['popularityScore'], 'excludeFromSearch': json['excludeFromSearch'], 'isOversized': json['isOversized'], 'isBundle': json['isBundle'], 'barcode': json['barcode'] == null ? undefined : json['barcode'], 'displayInSocialFeed': json['displayInSocialFeed'], 'googleStockStatus': json['googleStockStatus'], 'netsuiteId': json['netsuiteId'] == null ? undefined : json['netsuiteId'], 'netsuiteSyncStatus': json['netsuiteSyncStatus'] == null ? undefined : json['netsuiteSyncStatus'], 'hasSyncedToNetsuite': json['hasSyncedToNetsuite'], 'newArrivalStartDate': json['newArrivalStartDate'], 'newArrivalEndDate': json['newArrivalEndDate'], 'isDisabled': json['isDisabled'], 'siteDetails': (json['siteDetails'] == null ? null : (json['siteDetails'] as Array).map(ProductChildSiteDetailResourceFromJSON)), 'assets': (json['assets'] == null ? null : (json['assets'] as Array).map(AssetResourceFromJSON)), 'thumbnail': AssetResourceFromJSON(json['thumbnail']), 'attributes': (json['attributes'] == null ? null : (json['attributes'] as Array).map(ModelAttributeResourceFromJSON)), 'productClass': ProductClassResourceFromJSON(json['productClass']), 'productClassString': json['productClassString'], }; } export function ProductChildResourceToJSON(json: any): ProductChildResource { return ProductChildResourceToJSONTyped(json, false); } export function ProductChildResourceToJSONTyped(value?: ProductChildResource | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'id': value['id'], 'name': value['name'], 'fullName': value['fullName'], 'allowOversell': value['allowOversell'], 'modelNumber': value['modelNumber'], 'weight': value['weight'], 'warranty': value['warranty'], 'isWarrantyOverridden': value['isWarrantyOverridden'], 'stock': value['stock'], 'sku': value['sku'], 'buyPrice': value['buyPrice'], 'hideFromFrontend': value['hideFromFrontend'], 'popularityScore': value['popularityScore'], 'excludeFromSearch': value['excludeFromSearch'], 'isOversized': value['isOversized'], 'isBundle': value['isBundle'], 'barcode': value['barcode'], 'displayInSocialFeed': value['displayInSocialFeed'], 'googleStockStatus': value['googleStockStatus'], 'netsuiteId': value['netsuiteId'], 'netsuiteSyncStatus': value['netsuiteSyncStatus'], 'hasSyncedToNetsuite': value['hasSyncedToNetsuite'], 'newArrivalStartDate': value['newArrivalStartDate'], 'newArrivalEndDate': value['newArrivalEndDate'], 'isDisabled': value['isDisabled'], 'siteDetails': (value['siteDetails'] == null ? null : (value['siteDetails'] as Array).map(ProductChildSiteDetailResourceToJSON)), 'assets': (value['assets'] == null ? null : (value['assets'] as Array).map(AssetResourceToJSON)), 'thumbnail': AssetResourceToJSON(value['thumbnail']), 'attributes': (value['attributes'] == null ? null : (value['attributes'] as Array).map(ModelAttributeResourceToJSON)), 'productClass': ProductClassResourceToJSON(value['productClass']), 'productClassString': value['productClassString'], }; }