/* 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 { StoreSpecialDateResource } from './StoreSpecialDateResource'; import { StoreSpecialDateResourceFromJSON, StoreSpecialDateResourceFromJSONTyped, StoreSpecialDateResourceToJSON, StoreSpecialDateResourceToJSONTyped, } from './StoreSpecialDateResource'; import type { SupplierLiteResource } from './SupplierLiteResource'; import { SupplierLiteResourceFromJSON, SupplierLiteResourceFromJSONTyped, SupplierLiteResourceToJSON, SupplierLiteResourceToJSONTyped, } from './SupplierLiteResource'; import type { AddressResource } from './AddressResource'; import { AddressResourceFromJSON, AddressResourceFromJSONTyped, AddressResourceToJSON, AddressResourceToJSONTyped, } from './AddressResource'; /** * * @export * @interface StoreResource */ export interface StoreResource { /** * * @type {number} * @memberof StoreResource */ id?: number | null; /** * * @type {SiteLiteResource} * @memberof StoreResource */ site: SiteLiteResource | null; /** * * @type {string} * @memberof StoreResource */ name: string; /** * * @type {string} * @memberof StoreResource */ phone: string; /** * * @type {number} * @memberof StoreResource */ longitude: number; /** * * @type {number} * @memberof StoreResource */ latitude: number; /** * * @type {string} * @memberof StoreResource */ tagLine: string; /** * * @type {string} * @memberof StoreResource */ email: string; /** * * @type {string} * @memberof StoreResource */ website: string; /** * * @type {number} * @memberof StoreResource */ netsuiteId: number; /** * * @type {number} * @memberof StoreResource */ displayNetsuiteId: number; /** * * @type {string} * @memberof StoreResource */ openingHours?: string | null; /** * * @type {Array} * @memberof StoreResource */ suppliers: Array | null; /** * * @type {AddressResource} * @memberof StoreResource */ address: AddressResource | null; /** * * @type {Array} * @memberof StoreResource */ specialDates: Array | null; } /** * Check if a given object implements the StoreResource interface. */ export function instanceOfStoreResource(value: object): value is StoreResource { if (!('site' in value) || value['site'] === undefined) return false; if (!('name' in value) || value['name'] === undefined) return false; if (!('phone' in value) || value['phone'] === undefined) return false; if (!('longitude' in value) || value['longitude'] === undefined) return false; if (!('latitude' in value) || value['latitude'] === undefined) return false; if (!('tagLine' in value) || value['tagLine'] === undefined) return false; if (!('email' in value) || value['email'] === undefined) return false; if (!('website' in value) || value['website'] === undefined) return false; if (!('netsuiteId' in value) || value['netsuiteId'] === undefined) return false; if (!('displayNetsuiteId' in value) || value['displayNetsuiteId'] === undefined) return false; if (!('suppliers' in value) || value['suppliers'] === undefined) return false; if (!('address' in value) || value['address'] === undefined) return false; if (!('specialDates' in value) || value['specialDates'] === undefined) return false; return true; } export function StoreResourceFromJSON(json: any): StoreResource { return StoreResourceFromJSONTyped(json, false); } export function StoreResourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): StoreResource { if (json == null) { return json; } return { 'id': json['id'] == null ? undefined : json['id'], 'site': SiteLiteResourceFromJSON(json['site']), 'name': json['name'], 'phone': json['phone'], 'longitude': json['longitude'], 'latitude': json['latitude'], 'tagLine': json['tagLine'], 'email': json['email'], 'website': json['website'], 'netsuiteId': json['netsuiteId'], 'displayNetsuiteId': json['displayNetsuiteId'], 'openingHours': json['openingHours'] == null ? undefined : json['openingHours'], 'suppliers': (json['suppliers'] == null ? null : (json['suppliers'] as Array).map(SupplierLiteResourceFromJSON)), 'address': AddressResourceFromJSON(json['address']), 'specialDates': (json['specialDates'] == null ? null : (json['specialDates'] as Array).map(StoreSpecialDateResourceFromJSON)), }; } export function StoreResourceToJSON(json: any): StoreResource { return StoreResourceToJSONTyped(json, false); } export function StoreResourceToJSONTyped(value?: StoreResource | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'id': value['id'], 'site': SiteLiteResourceToJSON(value['site']), 'name': value['name'], 'phone': value['phone'], 'longitude': value['longitude'], 'latitude': value['latitude'], 'tagLine': value['tagLine'], 'email': value['email'], 'website': value['website'], 'netsuiteId': value['netsuiteId'], 'displayNetsuiteId': value['displayNetsuiteId'], 'openingHours': value['openingHours'], 'suppliers': (value['suppliers'] == null ? null : (value['suppliers'] as Array).map(SupplierLiteResourceToJSON)), 'address': AddressResourceToJSON(value['address']), 'specialDates': (value['specialDates'] == null ? null : (value['specialDates'] as Array).map(StoreSpecialDateResourceToJSON)), }; }