/* 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 { LineItemListResource } from './LineItemListResource'; import { LineItemListResourceFromJSON, LineItemListResourceFromJSONTyped, LineItemListResourceToJSON, LineItemListResourceToJSONTyped, } from './LineItemListResource'; import type { NetsuiteSyncLiteResource } from './NetsuiteSyncLiteResource'; import { NetsuiteSyncLiteResourceFromJSON, NetsuiteSyncLiteResourceFromJSONTyped, NetsuiteSyncLiteResourceToJSON, NetsuiteSyncLiteResourceToJSONTyped, } from './NetsuiteSyncLiteResource'; import type { OmnisendSyncLiteResource } from './OmnisendSyncLiteResource'; import { OmnisendSyncLiteResourceFromJSON, OmnisendSyncLiteResourceFromJSONTyped, OmnisendSyncLiteResourceToJSON, OmnisendSyncLiteResourceToJSONTyped, } from './OmnisendSyncLiteResource'; import type { CustomerListResource } from './CustomerListResource'; import { CustomerListResourceFromJSON, CustomerListResourceFromJSONTyped, CustomerListResourceToJSON, CustomerListResourceToJSONTyped, } from './CustomerListResource'; import type { OrderLiteResource } from './OrderLiteResource'; import { OrderLiteResourceFromJSON, OrderLiteResourceFromJSONTyped, OrderLiteResourceToJSON, OrderLiteResourceToJSONTyped, } from './OrderLiteResource'; import type { AssetResource } from './AssetResource'; import { AssetResourceFromJSON, AssetResourceFromJSONTyped, AssetResourceToJSON, AssetResourceToJSONTyped, } from './AssetResource'; import type { AdminLiteResource } from './AdminLiteResource'; import { AdminLiteResourceFromJSON, AdminLiteResourceFromJSONTyped, AdminLiteResourceToJSON, AdminLiteResourceToJSONTyped, } from './AdminLiteResource'; /** * * @export * @interface ReturnResource */ export interface ReturnResource { /** * * @type {number} * @memberof ReturnResource */ id: number; /** * * @type {string} * @memberof ReturnResource */ netsuiteId: string; /** * * @type {number} * @memberof ReturnResource */ quantity: number; /** * * @type {string} * @memberof ReturnResource */ status: string; /** * * @type {string} * @memberof ReturnResource */ reason: string; /** * * @type {string} * @memberof ReturnResource */ returnMethod: string; /** * * @type {Date} * @memberof ReturnResource */ createdAt?: Date | null; /** * * @type {Date} * @memberof ReturnResource */ updatedAt?: Date | null; /** * * @type {SiteLiteResource} * @memberof ReturnResource */ site: SiteLiteResource | null; /** * * @type {CustomerListResource} * @memberof ReturnResource */ customer: CustomerListResource | null; /** * * @type {OrderLiteResource} * @memberof ReturnResource */ order: OrderLiteResource | null; /** * * @type {LineItemListResource} * @memberof ReturnResource */ lineItem: LineItemListResource | null; /** * * @type {AdminLiteResource} * @memberof ReturnResource */ reviewer: AdminLiteResource | null; /** * * @type {string} * @memberof ReturnResource */ description: string; /** * * @type {Array} * @memberof ReturnResource */ assets: Array | null; /** * * @type {NetsuiteSyncLiteResource} * @memberof ReturnResource */ netsuiteSync: NetsuiteSyncLiteResource | null; /** * * @type {OmnisendSyncLiteResource} * @memberof ReturnResource */ omnisendSync: OmnisendSyncLiteResource | null; /** * * @type {object} * @memberof ReturnResource */ externalApiLogs: object; } /** * Check if a given object implements the ReturnResource interface. */ export function instanceOfReturnResource(value: object): value is ReturnResource { if (!('id' in value) || value['id'] === undefined) return false; if (!('netsuiteId' in value) || value['netsuiteId'] === undefined) return false; if (!('quantity' in value) || value['quantity'] === undefined) return false; if (!('status' in value) || value['status'] === undefined) return false; if (!('reason' in value) || value['reason'] === undefined) return false; if (!('returnMethod' in value) || value['returnMethod'] === undefined) return false; if (!('site' in value) || value['site'] === undefined) return false; if (!('customer' in value) || value['customer'] === undefined) return false; if (!('order' in value) || value['order'] === undefined) return false; if (!('lineItem' in value) || value['lineItem'] === undefined) return false; if (!('reviewer' in value) || value['reviewer'] === undefined) return false; if (!('description' in value) || value['description'] === undefined) return false; if (!('assets' in value) || value['assets'] === undefined) return false; if (!('netsuiteSync' in value) || value['netsuiteSync'] === undefined) return false; if (!('omnisendSync' in value) || value['omnisendSync'] === undefined) return false; if (!('externalApiLogs' in value) || value['externalApiLogs'] === undefined) return false; return true; } export function ReturnResourceFromJSON(json: any): ReturnResource { return ReturnResourceFromJSONTyped(json, false); } export function ReturnResourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReturnResource { if (json == null) { return json; } return { 'id': json['id'], 'netsuiteId': json['netsuiteId'], 'quantity': json['quantity'], 'status': json['status'], 'reason': json['reason'], 'returnMethod': json['returnMethod'], 'createdAt': json['createdAt'] == null ? undefined : (new Date(json['createdAt'])), 'updatedAt': json['updatedAt'] == null ? undefined : (new Date(json['updatedAt'])), 'site': SiteLiteResourceFromJSON(json['site']), 'customer': CustomerListResourceFromJSON(json['customer']), 'order': OrderLiteResourceFromJSON(json['order']), 'lineItem': LineItemListResourceFromJSON(json['lineItem']), 'reviewer': AdminLiteResourceFromJSON(json['reviewer']), 'description': json['description'], 'assets': (json['assets'] == null ? null : (json['assets'] as Array).map(AssetResourceFromJSON)), 'netsuiteSync': NetsuiteSyncLiteResourceFromJSON(json['netsuiteSync']), 'omnisendSync': OmnisendSyncLiteResourceFromJSON(json['omnisendSync']), 'externalApiLogs': json['externalApiLogs'], }; } export function ReturnResourceToJSON(json: any): ReturnResource { return ReturnResourceToJSONTyped(json, false); } export function ReturnResourceToJSONTyped(value?: ReturnResource | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'id': value['id'], 'netsuiteId': value['netsuiteId'], 'quantity': value['quantity'], 'status': value['status'], 'reason': value['reason'], 'returnMethod': value['returnMethod'], 'createdAt': value['createdAt'] === null ? null : ((value['createdAt'] as any)?.toISOString()), 'updatedAt': value['updatedAt'] === null ? null : ((value['updatedAt'] as any)?.toISOString()), 'site': SiteLiteResourceToJSON(value['site']), 'customer': CustomerListResourceToJSON(value['customer']), 'order': OrderLiteResourceToJSON(value['order']), 'lineItem': LineItemListResourceToJSON(value['lineItem']), 'reviewer': AdminLiteResourceToJSON(value['reviewer']), 'description': value['description'], 'assets': (value['assets'] == null ? null : (value['assets'] as Array).map(AssetResourceToJSON)), 'netsuiteSync': NetsuiteSyncLiteResourceToJSON(value['netsuiteSync']), 'omnisendSync': OmnisendSyncLiteResourceToJSON(value['omnisendSync']), 'externalApiLogs': value['externalApiLogs'], }; }