/* 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 { SiteLiteResource } from './SiteLiteResource'; import { SiteLiteResourceFromJSON, SiteLiteResourceFromJSONTyped, SiteLiteResourceToJSON, SiteLiteResourceToJSONTyped, } from './SiteLiteResource'; import type { ProductCategoryLiteResource } from './ProductCategoryLiteResource'; import { ProductCategoryLiteResourceFromJSON, ProductCategoryLiteResourceFromJSONTyped, ProductCategoryLiteResourceToJSON, ProductCategoryLiteResourceToJSONTyped, } from './ProductCategoryLiteResource'; import type { ProductTypeLiteResource } from './ProductTypeLiteResource'; import { ProductTypeLiteResourceFromJSON, ProductTypeLiteResourceFromJSONTyped, ProductTypeLiteResourceToJSON, ProductTypeLiteResourceToJSONTyped, } from './ProductTypeLiteResource'; import type { GoogleCategoryResource } from './GoogleCategoryResource'; import { GoogleCategoryResourceFromJSON, GoogleCategoryResourceFromJSONTyped, GoogleCategoryResourceToJSON, GoogleCategoryResourceToJSONTyped, } from './GoogleCategoryResource'; import type { SupplierLiteResource } from './SupplierLiteResource'; import { SupplierLiteResourceFromJSON, SupplierLiteResourceFromJSONTyped, SupplierLiteResourceToJSON, SupplierLiteResourceToJSONTyped, } from './SupplierLiteResource'; /** * * @export * @interface ProductResource */ export interface ProductResource { /** * * @type {number} * @memberof ProductResource */ id: number; /** * * @type {string} * @memberof ProductResource */ name: string; /** * * @type {string} * @memberof ProductResource */ displayName: string; /** * * @type {boolean} * @memberof ProductResource */ isAccessory: boolean; /** * * @type {string} * @memberof ProductResource */ warranty: string; /** * * @type {Array} * @memberof ProductResource */ categories: Array | null; /** * * @type {boolean} * @memberof ProductResource */ isDisabled: boolean; /** * * @type {GoogleCategoryResource} * @memberof ProductResource */ googleCategory: GoogleCategoryResource | null; /** * * @type {SupplierLiteResource} * @memberof ProductResource */ supplier: SupplierLiteResource | null; /** * * @type {ProductTypeLiteResource} * @memberof ProductResource */ productType: ProductTypeLiteResource | null; /** * * @type {Array} * @memberof ProductResource */ sites: Array | null; /** * * @type {Array} * @memberof ProductResource */ lockedSiteIds: Array; /** * * @type {object} * @memberof ProductResource */ children: object; } /** * Check if a given object implements the ProductResource interface. */ export function instanceOfProductResource(value: object): value is ProductResource { if (!('id' in value) || value['id'] === undefined) return false; if (!('name' in value) || value['name'] === undefined) return false; if (!('displayName' in value) || value['displayName'] === undefined) return false; if (!('isAccessory' in value) || value['isAccessory'] === undefined) return false; if (!('warranty' in value) || value['warranty'] === undefined) return false; if (!('categories' in value) || value['categories'] === undefined) return false; if (!('isDisabled' in value) || value['isDisabled'] === undefined) return false; if (!('googleCategory' in value) || value['googleCategory'] === undefined) return false; if (!('supplier' in value) || value['supplier'] === undefined) return false; if (!('productType' in value) || value['productType'] === undefined) return false; if (!('sites' in value) || value['sites'] === undefined) return false; if (!('lockedSiteIds' in value) || value['lockedSiteIds'] === undefined) return false; if (!('children' in value) || value['children'] === undefined) return false; return true; } export function ProductResourceFromJSON(json: any): ProductResource { return ProductResourceFromJSONTyped(json, false); } export function ProductResourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProductResource { if (json == null) { return json; } return { 'id': json['id'], 'name': json['name'], 'displayName': json['displayName'], 'isAccessory': json['isAccessory'], 'warranty': json['warranty'], 'categories': (json['categories'] == null ? null : (json['categories'] as Array).map(ProductCategoryLiteResourceFromJSON)), 'isDisabled': json['isDisabled'], 'googleCategory': GoogleCategoryResourceFromJSON(json['googleCategory']), 'supplier': SupplierLiteResourceFromJSON(json['supplier']), 'productType': ProductTypeLiteResourceFromJSON(json['productType']), 'sites': (json['sites'] == null ? null : (json['sites'] as Array).map(SiteLiteResourceFromJSON)), 'lockedSiteIds': json['lockedSiteIds'], 'children': json['children'], }; } export function ProductResourceToJSON(json: any): ProductResource { return ProductResourceToJSONTyped(json, false); } export function ProductResourceToJSONTyped(value?: ProductResource | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'id': value['id'], 'name': value['name'], 'displayName': value['displayName'], 'isAccessory': value['isAccessory'], 'warranty': value['warranty'], 'categories': (value['categories'] == null ? null : (value['categories'] as Array).map(ProductCategoryLiteResourceToJSON)), 'isDisabled': value['isDisabled'], 'googleCategory': GoogleCategoryResourceToJSON(value['googleCategory']), 'supplier': SupplierLiteResourceToJSON(value['supplier']), 'productType': ProductTypeLiteResourceToJSON(value['productType']), 'sites': (value['sites'] == null ? null : (value['sites'] as Array).map(SiteLiteResourceToJSON)), 'lockedSiteIds': value['lockedSiteIds'], 'children': value['children'], }; }