/* 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 { CustomerSocialProviderLiteResource } from './CustomerSocialProviderLiteResource'; import { CustomerSocialProviderLiteResourceFromJSON, CustomerSocialProviderLiteResourceFromJSONTyped, CustomerSocialProviderLiteResourceToJSON, CustomerSocialProviderLiteResourceToJSONTyped, } from './CustomerSocialProviderLiteResource'; import type { NetsuiteSyncLiteResource } from './NetsuiteSyncLiteResource'; import { NetsuiteSyncLiteResourceFromJSON, NetsuiteSyncLiteResourceFromJSONTyped, NetsuiteSyncLiteResourceToJSON, NetsuiteSyncLiteResourceToJSONTyped, } from './NetsuiteSyncLiteResource'; import type { UserLiteResource } from './UserLiteResource'; import { UserLiteResourceFromJSON, UserLiteResourceFromJSONTyped, UserLiteResourceToJSON, UserLiteResourceToJSONTyped, } from './UserLiteResource'; import type { OmnisendSyncLiteResource } from './OmnisendSyncLiteResource'; import { OmnisendSyncLiteResourceFromJSON, OmnisendSyncLiteResourceFromJSONTyped, OmnisendSyncLiteResourceToJSON, OmnisendSyncLiteResourceToJSONTyped, } from './OmnisendSyncLiteResource'; import type { AddressResource } from './AddressResource'; import { AddressResourceFromJSON, AddressResourceFromJSONTyped, AddressResourceToJSON, AddressResourceToJSONTyped, } from './AddressResource'; /** * * @export * @interface CustomerResource */ export interface CustomerResource { /** * * @type {number} * @memberof CustomerResource */ id?: number | null; /** * * @type {UserLiteResource} * @memberof CustomerResource */ user: UserLiteResource | null; /** * * @type {SiteLiteResource} * @memberof CustomerResource */ site: SiteLiteResource | null; /** * * @type {string} * @memberof CustomerResource */ type: string; /** * * @type {string} * @memberof CustomerResource */ signUpType: string; /** * * @type {Array} * @memberof CustomerResource */ socialProviders: Array | null; /** * * @type {boolean} * @memberof CustomerResource */ subscribedToNewsletter: boolean; /** * * @type {NetsuiteSyncLiteResource} * @memberof CustomerResource */ netsuiteSync: NetsuiteSyncLiteResource | null; /** * * @type {OmnisendSyncLiteResource} * @memberof CustomerResource */ omnisendSync: OmnisendSyncLiteResource | null; /** * * @type {Array} * @memberof CustomerResource */ addresses: Array | null; /** * * @type {Date} * @memberof CustomerResource */ createdAt?: Date | null; /** * * @type {Date} * @memberof CustomerResource */ updatedAt?: Date | null; } /** * Check if a given object implements the CustomerResource interface. */ export function instanceOfCustomerResource(value: object): value is CustomerResource { if (!('user' in value) || value['user'] === undefined) return false; if (!('site' in value) || value['site'] === undefined) return false; if (!('type' in value) || value['type'] === undefined) return false; if (!('signUpType' in value) || value['signUpType'] === undefined) return false; if (!('socialProviders' in value) || value['socialProviders'] === undefined) return false; if (!('subscribedToNewsletter' in value) || value['subscribedToNewsletter'] === undefined) return false; if (!('netsuiteSync' in value) || value['netsuiteSync'] === undefined) return false; if (!('omnisendSync' in value) || value['omnisendSync'] === undefined) return false; if (!('addresses' in value) || value['addresses'] === undefined) return false; return true; } export function CustomerResourceFromJSON(json: any): CustomerResource { return CustomerResourceFromJSONTyped(json, false); } export function CustomerResourceFromJSONTyped(json: any, ignoreDiscriminator: boolean): CustomerResource { if (json == null) { return json; } return { 'id': json['id'] == null ? undefined : json['id'], 'user': UserLiteResourceFromJSON(json['user']), 'site': SiteLiteResourceFromJSON(json['site']), 'type': json['type'], 'signUpType': json['signUpType'], 'socialProviders': (json['socialProviders'] == null ? null : (json['socialProviders'] as Array).map(CustomerSocialProviderLiteResourceFromJSON)), 'subscribedToNewsletter': json['subscribedToNewsletter'], 'netsuiteSync': NetsuiteSyncLiteResourceFromJSON(json['netsuiteSync']), 'omnisendSync': OmnisendSyncLiteResourceFromJSON(json['omnisendSync']), 'addresses': (json['addresses'] == null ? null : (json['addresses'] as Array).map(AddressResourceFromJSON)), 'createdAt': json['createdAt'] == null ? undefined : (new Date(json['createdAt'])), 'updatedAt': json['updatedAt'] == null ? undefined : (new Date(json['updatedAt'])), }; } export function CustomerResourceToJSON(json: any): CustomerResource { return CustomerResourceToJSONTyped(json, false); } export function CustomerResourceToJSONTyped(value?: CustomerResource | null, ignoreDiscriminator: boolean = false): any { if (value == null) { return value; } return { 'id': value['id'], 'user': UserLiteResourceToJSON(value['user']), 'site': SiteLiteResourceToJSON(value['site']), 'type': value['type'], 'signUpType': value['signUpType'], 'socialProviders': (value['socialProviders'] == null ? null : (value['socialProviders'] as Array).map(CustomerSocialProviderLiteResourceToJSON)), 'subscribedToNewsletter': value['subscribedToNewsletter'], 'netsuiteSync': NetsuiteSyncLiteResourceToJSON(value['netsuiteSync']), 'omnisendSync': OmnisendSyncLiteResourceToJSON(value['omnisendSync']), 'addresses': (value['addresses'] == null ? null : (value['addresses'] as Array).map(AddressResourceToJSON)), 'createdAt': value['createdAt'] === null ? null : ((value['createdAt'] as any)?.toISOString()), 'updatedAt': value['updatedAt'] === null ? null : ((value['updatedAt'] as any)?.toISOString()), }; }