/* 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 { CreateProductRequestCategoriesInner } from './CreateProductRequestCategoriesInner'; import { CreateProductRequestCategoriesInnerFromJSON, CreateProductRequestCategoriesInnerFromJSONTyped, CreateProductRequestCategoriesInnerToJSON, CreateProductRequestCategoriesInnerToJSONTyped, } from './CreateProductRequestCategoriesInner'; /** * * @export * @interface CreateProductRequest */ export interface CreateProductRequest { /** * * @type {string} * @memberof CreateProductRequest */ name: string; /** * * @type {number} * @memberof CreateProductRequest */ productTypeId: number; /** * * @type {number} * @memberof CreateProductRequest */ supplierId: number; /** * * @type {number} * @memberof CreateProductRequest */ googleCategoryId: number; /** * * @type {boolean} * @memberof CreateProductRequest */ isAccessory: boolean; /** * * @type {string} * @memberof CreateProductRequest */ displayName?: string | null; /** * * @type {string} * @memberof CreateProductRequest */ warranty: string; /** * * @type {Array} * @memberof CreateProductRequest */ siteIds?: Array; /** * * @type {Array} * @memberof CreateProductRequest */ categories?: Array; } /** * Check if a given object implements the CreateProductRequest interface. */ export function instanceOfCreateProductRequest(value: object): value is CreateProductRequest { if (!('name' in value) || value['name'] === undefined) return false; if (!('productTypeId' in value) || value['productTypeId'] === undefined) return false; if (!('supplierId' in value) || value['supplierId'] === undefined) return false; if (!('googleCategoryId' in value) || value['googleCategoryId'] === undefined) return false; if (!('isAccessory' in value) || value['isAccessory'] === undefined) return false; if (!('warranty' in value) || value['warranty'] === undefined) return false; return true; } export function CreateProductRequestFromJSON(json: any): CreateProductRequest { return CreateProductRequestFromJSONTyped(json, false); } export function CreateProductRequestFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateProductRequest { if (json == null) { return json; } return { 'name': json['name'], 'productTypeId': json['product_type_id'], 'supplierId': json['supplier_id'], 'googleCategoryId': json['google_category_id'], 'isAccessory': json['is_accessory'], 'displayName': json['display_name'] == null ? undefined : json['display_name'], 'warranty': json['warranty'], 'siteIds': json['site_ids'] == null ? undefined : json['site_ids'], 'categories': json['categories'] == null ? undefined : ((json['categories'] as Array).map(CreateProductRequestCategoriesInnerFromJSON)), }; } export function CreateProductRequestToJSON(json: any): CreateProductRequest { return CreateProductRequestToJSONTyped(json, false); } export function CreateProductRequestToJSONTyped(value?: CreateProductRequest | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'name': value['name'], 'product_type_id': value['productTypeId'], 'supplier_id': value['supplierId'], 'google_category_id': value['googleCategoryId'], 'is_accessory': value['isAccessory'], 'display_name': value['displayName'], 'warranty': value['warranty'], 'site_ids': value['siteIds'], 'categories': value['categories'] == null ? undefined : ((value['categories'] as Array).map(CreateProductRequestCategoriesInnerToJSON)), }; }