/* 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 { SupplierFrontendResource } from './SupplierFrontendResource'; import { SupplierFrontendResourceFromJSON, SupplierFrontendResourceFromJSONTyped, SupplierFrontendResourceToJSON, SupplierFrontendResourceToJSONTyped, } from './SupplierFrontendResource'; import type { ModelAttributeFrontendResource } from './ModelAttributeFrontendResource'; import { ModelAttributeFrontendResourceFromJSON, ModelAttributeFrontendResourceFromJSONTyped, ModelAttributeFrontendResourceToJSON, ModelAttributeFrontendResourceToJSONTyped, } from './ModelAttributeFrontendResource'; import type { SEOFrontendResource } from './SEOFrontendResource'; import { SEOFrontendResourceFromJSON, SEOFrontendResourceFromJSONTyped, SEOFrontendResourceToJSON, SEOFrontendResourceToJSONTyped, } from './SEOFrontendResource'; /** * * @export * @interface ProductRangeFrontendResource */ export interface ProductRangeFrontendResource { /** * * @type {number} * @memberof ProductRangeFrontendResource */ id: number; /** * * @type {string} * @memberof ProductRangeFrontendResource */ name: string; /** * * @type {string} * @memberof ProductRangeFrontendResource */ slug: string; /** * * @type {string} * @memberof ProductRangeFrontendResource */ description: string; /** * * @type {string} * @memberof ProductRangeFrontendResource */ content: string; /** * * @type {string} * @memberof ProductRangeFrontendResource */ excerpt: string; /** * * @type {number} * @memberof ProductRangeFrontendResource */ siteId: number; /** * * @type {SupplierFrontendResource} * @memberof ProductRangeFrontendResource */ supplier: SupplierFrontendResource | null; /** * * @type {object} * @memberof ProductRangeFrontendResource */ categories: object; /** * * @type {object} * @memberof ProductRangeFrontendResource */ products: object; /** * * @type {object} * @memberof ProductRangeFrontendResource */ accessories: object; /** * * @type {object} * @memberof ProductRangeFrontendResource */ documents: object; /** * * @type {SEOFrontendResource} * @memberof ProductRangeFrontendResource */ seo: SEOFrontendResource | null; /** * * @type {object} * @memberof ProductRangeFrontendResource */ assets: object; /** * * @type {string} * @memberof ProductRangeFrontendResource */ thumbnail?: string | null; /** * * @type {Array} * @memberof ProductRangeFrontendResource */ attributes: Array | null; } /** * Check if a given object implements the ProductRangeFrontendResource interface. */ export function instanceOfProductRangeFrontendResource(value: object): value is ProductRangeFrontendResource { if (!('id' in value) || value['id'] === undefined) return false; if (!('name' in value) || value['name'] === undefined) return false; if (!('slug' in value) || value['slug'] === undefined) return false; if (!('description' in value) || value['description'] === undefined) return false; if (!('content' in value) || value['content'] === undefined) return false; if (!('excerpt' in value) || value['excerpt'] === undefined) return false; if (!('siteId' in value) || value['siteId'] === undefined) return false; if (!('supplier' in value) || value['supplier'] === undefined) return false; if (!('categories' in value) || value['categories'] === undefined) return false; if (!('products' in value) || value['products'] === undefined) return false; if (!('accessories' in value) || value['accessories'] === undefined) return false; if (!('documents' in value) || value['documents'] === undefined) return false; if (!('seo' in value) || value['seo'] === undefined) return false; if (!('assets' in value) || value['assets'] === undefined) return false; if (!('attributes' in value) || value['attributes'] === undefined) return false; return true; } export function ProductRangeFrontendResourceFromJSON(json: any): ProductRangeFrontendResource { return ProductRangeFrontendResourceFromJSONTyped(json, false); } export function ProductRangeFrontendResourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): ProductRangeFrontendResource { if (json == null) { return json; } return { 'id': json['id'], 'name': json['name'], 'slug': json['slug'], 'description': json['description'], 'content': json['content'], 'excerpt': json['excerpt'], 'siteId': json['siteId'], 'supplier': SupplierFrontendResourceFromJSON(json['supplier']), 'categories': json['categories'], 'products': json['products'], 'accessories': json['accessories'], 'documents': json['documents'], 'seo': SEOFrontendResourceFromJSON(json['seo']), 'assets': json['assets'], 'thumbnail': json['thumbnail'] == null ? undefined : json['thumbnail'], 'attributes': (json['attributes'] == null ? null : (json['attributes'] as Array).map(ModelAttributeFrontendResourceFromJSON)), }; } export function ProductRangeFrontendResourceToJSON(json: any): ProductRangeFrontendResource { return ProductRangeFrontendResourceToJSONTyped(json, false); } export function ProductRangeFrontendResourceToJSONTyped(value?: ProductRangeFrontendResource | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'id': value['id'], 'name': value['name'], 'slug': value['slug'], 'description': value['description'], 'content': value['content'], 'excerpt': value['excerpt'], 'siteId': value['siteId'], 'supplier': SupplierFrontendResourceToJSON(value['supplier']), 'categories': value['categories'], 'products': value['products'], 'accessories': value['accessories'], 'documents': value['documents'], 'seo': SEOFrontendResourceToJSON(value['seo']), 'assets': value['assets'], 'thumbnail': value['thumbnail'], 'attributes': (value['attributes'] == null ? null : (value['attributes'] as Array).map(ModelAttributeFrontendResourceToJSON)), }; }