/* 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 { ProductRangeSiteDetailResource } from './ProductRangeSiteDetailResource'; import { ProductRangeSiteDetailResourceFromJSON, ProductRangeSiteDetailResourceFromJSONTyped, ProductRangeSiteDetailResourceToJSON, ProductRangeSiteDetailResourceToJSONTyped, } from './ProductRangeSiteDetailResource'; import type { SupplierLiteResource } from './SupplierLiteResource'; import { SupplierLiteResourceFromJSON, SupplierLiteResourceFromJSONTyped, SupplierLiteResourceToJSON, SupplierLiteResourceToJSONTyped, } from './SupplierLiteResource'; import type { AssetResource } from './AssetResource'; import { AssetResourceFromJSON, AssetResourceFromJSONTyped, AssetResourceToJSON, AssetResourceToJSONTyped, } from './AssetResource'; /** * * @export * @interface ProductRangeResource */ export interface ProductRangeResource { /** * * @type {number} * @memberof ProductRangeResource */ id: number; /** * * @type {string} * @memberof ProductRangeResource */ name: string; /** * * @type {SupplierLiteResource} * @memberof ProductRangeResource */ supplier: SupplierLiteResource | null; /** * * @type {object} * @memberof ProductRangeResource */ sites: object; /** * * @type {Array} * @memberof ProductRangeResource */ siteDetails: Array | null; /** * * @type {object} * @memberof ProductRangeResource */ modelAttributes: object; /** * * @type {Array} * @memberof ProductRangeResource */ assets: Array | null; /** * * @type {AssetResource} * @memberof ProductRangeResource */ thumbnail: AssetResource | null; /** * * @type {string} * @memberof ProductRangeResource */ createdAt?: string | null; /** * * @type {string} * @memberof ProductRangeResource */ updatedAt?: string | null; } /** * Check if a given object implements the ProductRangeResource interface. */ export function instanceOfProductRangeResource(value: object): value is ProductRangeResource { if (!('id' in value) || value['id'] === undefined) return false; if (!('name' in value) || value['name'] === undefined) return false; if (!('supplier' in value) || value['supplier'] === undefined) return false; if (!('sites' in value) || value['sites'] === undefined) return false; if (!('siteDetails' in value) || value['siteDetails'] === undefined) return false; if (!('modelAttributes' in value) || value['modelAttributes'] === undefined) return false; if (!('assets' in value) || value['assets'] === undefined) return false; if (!('thumbnail' in value) || value['thumbnail'] === undefined) return false; return true; } export function ProductRangeResourceFromJSON(json: any): ProductRangeResource { return ProductRangeResourceFromJSONTyped(json, false); } export function ProductRangeResourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProductRangeResource { if (json == null) { return json; } return { 'id': json['id'], 'name': json['name'], 'supplier': SupplierLiteResourceFromJSON(json['supplier']), 'sites': json['sites'], 'siteDetails': (json['siteDetails'] == null ? null : (json['siteDetails'] as Array).map(ProductRangeSiteDetailResourceFromJSON)), 'modelAttributes': json['modelAttributes'], 'assets': (json['assets'] == null ? null : (json['assets'] as Array).map(AssetResourceFromJSON)), 'thumbnail': AssetResourceFromJSON(json['thumbnail']), 'createdAt': json['createdAt'] == null ? undefined : json['createdAt'], 'updatedAt': json['updatedAt'] == null ? undefined : json['updatedAt'], }; } export function ProductRangeResourceToJSON(json: any): ProductRangeResource { return ProductRangeResourceToJSONTyped(json, false); } export function ProductRangeResourceToJSONTyped(value?: ProductRangeResource | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'id': value['id'], 'name': value['name'], 'supplier': SupplierLiteResourceToJSON(value['supplier']), 'sites': value['sites'], 'siteDetails': (value['siteDetails'] == null ? null : (value['siteDetails'] as Array).map(ProductRangeSiteDetailResourceToJSON)), 'modelAttributes': value['modelAttributes'], 'assets': (value['assets'] == null ? null : (value['assets'] as Array).map(AssetResourceToJSON)), 'thumbnail': AssetResourceToJSON(value['thumbnail']), 'createdAt': value['createdAt'], 'updatedAt': value['updatedAt'], }; }