{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/store/user/state.ts","webpack:///./src/store/user/actions.ts","webpack:///./src/store/user/getters.ts","webpack:///./src/store/user/mutations.ts","webpack:///./src/store/user/index.ts","webpack:///./src/store/setting/state.ts","webpack:///./src/store/setting/actions.ts","webpack:///./src/store/setting/getters.ts","webpack:///./src/store/setting/mutations.ts","webpack:///./src/store/setting/index.ts","webpack:///./src/store/layout/state.ts","webpack:///./src/store/layout/actions.ts","webpack:///./src/store/layout/getters.ts","webpack:///./src/store/layout/mutations.ts","webpack:///./src/store/layout/index.ts","webpack:///./src/store/vehicles/state.ts","webpack:///./src/store/vehicles/actions.ts","webpack:///./src/store/vehicles/getters.ts","webpack:///./src/store/vehicles/mutations.ts","webpack:///./src/store/vehicles/index.ts","webpack:///./src/store/consumerInformation/state.ts","webpack:///./src/store/consumerInformation/actions.ts","webpack:///./src/store/consumerInformation/getters.ts","webpack:///./src/store/consumerInformation/mutations.ts","webpack:///./src/store/consumerInformation/index.ts","webpack:///./src/store/index.ts","webpack:///./src/services/ConsumerInformationService.ts","webpack:///./src/services/DealerService.ts","webpack:///./src/services/DocumentService.ts","webpack:///./src/services/InitialLaunchService.ts","webpack:///./src/services/LookupService.ts","webpack:///./src/services/NotificationService.ts","webpack:///./src/services/RoleService.ts","webpack:///./src/services/UserService.ts","webpack:///./src/services/VehicleService.ts","webpack:///./src/services/ApiConfig.ts","webpack:///./src/constants/GlobalEvents.ts","webpack:///./.quasar/import-quasar.js","webpack:///./src/App.vue?bf13","webpack:///./src/router/universalLinkRouter.ts","webpack:///./src/App.vue?3ffe","webpack:///./src/App.vue?6369","webpack:///./src/App.vue","webpack:///./src/router/index.ts","webpack:///./.quasar/app.js","webpack:///./src/boot/axios.ts","webpack:///./src/boot/typedStore.ts","webpack:///./src/theme/ThemeInitializer.ts","webpack:///./src/theme/GoogleTagManager.ts","webpack:///./src/boot/themeInitializer.ts","webpack:///./src/components/analytics.js","webpack:///./src/boot/google-analytics.js","webpack:///./.quasar/client-entry.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/utils/Mapper.ts","webpack:///./src/services/LoggingService.ts","webpack:///./src/i18n/en-us/index.ts","webpack:///./src/i18n/index.ts","webpack:///./src/boot/i18n.ts","webpack:///./src/router/routes.ts","webpack:///./src/services/generated/api.generated.v1.ts","webpack:///./src/components/EnvironmentBanner.vue?b24a","webpack:///./src/components/EnvironmentBanner.vue?f1b3","webpack:///./src/components/EnvironmentBanner.vue?332a","webpack:///./src/components/EnvironmentBanner.vue","webpack:///./src/services/MapService.ts","webpack:///./src/constants/ClaimTypes.ts","webpack:///./src/services/generated/api.generated.v2.ts","webpack:///./src/components/models.ts","webpack:///./src/services/AuthService.ts","webpack:///./src/utils/DialogHelper.ts","webpack:///./src/theme/ThemeColors.ts","webpack:///./src/utils/BlobHelper.ts","webpack:///./src/utils/ClaimHelper.ts","webpack:///./src/utils/ScreenOrientationHelper.ts","webpack:///./src/constants/StorageKeys.ts","webpack:///./src/utils/DateHelper.ts","webpack:///./src/utils/ApiHelper.ts","webpack:///./src/components/EnvironmentBanner.vue?c0ea"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","id","email","firstName","lastName","zipCode","permissions","vehicles","termsAndConditionsAccepted","notifications","rememberUsername","username","allowPushNotifications","authService","actions","logout","commit","Logout","emptyUser","loadNotifications","notificationService","GetInstance","GetUserNotifcations","setNotificationRead","notificationUid","SetUserNotifcationRead","deleteNotification","DeleteNotificationByUid","getters","hasPermission","state","permission","some","x","ACTIVE_VEHICLE_KEY","REMEBERED_USERNAME","mutation","updateUserState","authResult","GetClaimValue","claims","ClaimTypes","NAME_IDENTIFIER","EMAIL","FIRST_NAME","SURNAME","POSTAL_CODE","GetClaimValues","PERMISSION","getVehicleClaims","TERMS_AND_CONDITIONS_ACCEPTED","ALLOW_PUSH_NOTIFICATIONS","localStorage","setItem","StorageKeys","USERID","getItem","setRememberedUsername","setPrimaryVehicle","vehicleUid","forEach","isActive","uid","setNotifications","notificationIndex","findIndex","userNotificationUid","isRead","deleteRememberedUsername","removeItem","allNotifications","getUid","props","getDisplayName","activeVehicle","GetClaims","VEHICLE_IDENTIFICATION_NUMBER","map","vin","properties","VEHICLE_PERMISSION","displayName","every","userModule","namespaced","mutations","user","googleMapsApiKey","allowedFileUploadExtensions","maxFileUploadSizeInMegaBytes","maxAdditionalConsumerUsers","fullAccessCountryCodes","consumerSupportEmail","consumerSupportPhone","consumerPartsEmail","consumerServiceEmail","initialized","company","companyDisplayName","companyAddress","mondayThruThursdaySupportHours","fridaySupportHours","platform","clearSettings","setSettings","lookupService","Settings","dto","CompanyType","catch","LogError","setCompany","MapCompanyDisplayName","updateSettingState","settings","MapService","SetMapsLoader","updateSettingConsumerSupportState","supportEmailAddress","supportPhoneNumber","partsEmailAddress","serviceEmailAddress","setCompanyDisplayName","setPlatform","settingModule","setting","hideMobileToolbar","navLinks","setHideMobileToolbar","setNavLinks","layoutModule","layout","vinRegistrations","salesOrders","recalls","loadVinRegistrations","registrations","GetVinRegistrations","loadClaims","loadRecalls","GetRecalls","loadSalesOrders","GetSalesOrders","setVinRegistrations","setClaims","claimsIndex","search","setRecalls","recallIndex","setSalesOrders","salesOrderIndex","vehicleModule","contentLinks","allPosts","postCategories","frequentlyAskedQuestions","podcasts","loadContentLinks","WebsiteContentLinks","loadPostCategories","WebsitePostCategories","loadFAQs","this","consumerInformation","frequentlyAskedQuestionsLink","FrequentlyAskedQuestions","loadBlogPosts","blogPostsLink","BlogPosts","loadPodcasts","podcastLink","Podcasts","updateContentLinksState","websiteContentLinks","updatePostCategoriesState","websitePostCategories","updateBlogPostsState","posts","updateFAQsState","faq","updatePodcastsState","consumerInformationModule","AppStore","Vue","use","appStore","Store","vehicle","strict","getHttpPlugin","anyCordova","cordova","plugin","http","constructor","_postsPerPage","_consumerInfoClient","ApiConfig","instance","GetInformationalVideos","videos","Checklists","checklists","postsUrl","pageNo","results","GetPosts","addedResult","concat","page","mapper","post","slug","categories","date","yoast_head_json","article_published_time","title","og_title","bannerImageUrl","acf","banner_image","url","content","styled_blocks","relatedStoryIds","related_stories","left","ID","center","right","queryUrl","GetData","faq_category","category_title","questions","question","answerContent","answer","glossary","glossary_entry","term","definition","GetPodcasts","podcast","imageUrl","og_image","linkUrl","episode_url","description","og_description","makeNativeApiCall","successCallback","resp","JSON","parse","httpPlugin","res","makeWebApiCall","axios","er","_dealerClient","CompanyLocations","locationsByCompany","Locations","locations","DocumentUploadUrl","_documentClient","DeleteDocument","documentUid","delete","OwnersManualURL","ChecklistURL","checklistUid","InitialLaunchService","SetInitLaunch","isInitialLaunch","IS_INIITAL_LAUNCH","stringify","GetInitLaunch","isInitLuanch","_lookupClient","ApplicationRoles","roles","ApplicationPermissions","Brands","brands","ChecklistTypes","checklistTypes","companyType","Countries","countries","DocumentTypes","documentTypes","States","states","TermsAndConditions","termsAndConditions","_notificationClient","RegisterToken","userId","pushToken","firebaseToken","devicePlatformType","MapDevicePlatformType","MapCompanyType","ParseDTO","registerToken","userNotifications","userNotificationId","notificationRead","_identityClient","GetRoles","getRoles","SaveRole","ApiHelper","updateRole","isSystemRole","createRole","DeleteRole","deleteRole","Register","register","ConfirmEmail","confirmEmail","ForgotPassword","Mapper","forgotPassword","ResetPassword","password","confirmPassword","token","resetPassword","GetUserVins","getUserVins","GetUsers","getUsers","ToggleLockout","toggleLockout","UpdateUser","updateUser","SendConfirmationEmail","sendConfirmEmail","ChangePassword","currentPassword","newPassword","changePassword","GetProfile","getProfile","UpdateProfile","profile","updateProfile","_vinClient","vinUid","getClaims","GetImage","getImageByUid","getRecalls","getSalesOrders","GetVin","getByUid","GetVinUsers","getVinUsers","userVinRegistrations","GetVinRegistration","vinRegistrationUid","userVinRegistration","InviteConsumerUser","inviteConsumerUser","SendConsumerUserInvitationEmail","sendConsumerUserInvitation","RegisterOwner","registerOwner","RemoveConsumerUser","removeConsumerUser","UpdateVinRegistration","DeactiveateRegistration","deactivateRegistration","RemoveConsumerVinRegistration","removeConsumerVinRegistration","UserVehicleBrands","userVehicleBrands","MAX_AUTH_RETRY","transformHeaders","options","castedOptions","headers","Authorization","getAuthorization","transformResult","response","processor","isFromLogin","config","toLowerCase","indexOf","status","_tryRefreshToken","GetToken","_authRetryCount","_retryRequest","FireUnauthorizedHandlers","RefreshToken","AddUnauthorizedHandler","handler","unAuthorizedHandlers","Array","GlobalEvents","RefreshData","Quasar","lang","iconSet","plugins","Loading","Dialog","Notify","render","_vm","_h","$createElement","_c","_self","attrs","style","is_iOS_noToolBar","staticRenderFns","AddAppUrlOpenListener","vueRouter","addListener","AppUrlOpenCallback","RouteToLinkUrl","path","GetPath","urlParams","GetQueryParams","startsWith","query","companytype","route","hashPosition","substring","paramsPosition","URLSearchParams","appStateChangeListener","appUrlOpenListener","created","finally","$route","Login","SplashScreen","fullPath","redirect","$router","$q","loading","$nextTick","hide","isNative","setNativeListeners","$tStore","noToolBar","CompanyToggle","includes","$root","$emit","destroyed","remove","components","EnvironmentBanner","component","publicPages","handleApiError","processRoute","apiException","tryUpdateRefreshToken","isAuthenticated","succeeded","dispatch","authGuard","to","from","next","GetUserToken","isPublicPage","authenticatedForRoute","AcceptTermsConditions","nextRoute","refreshSuccess","Router","scrollBehavior","y","routes","base","beforeEach","store","createStore","router","createRouter","app","h","App","$axios","Initialize","deviceInfo","getInfo","isMobile","appInfo","GetCompany","ThemeColors","setCompanyColorTheme","setStyle","Dark","typedStore","getCompanyFromAppId","getCompanyFromUrl","appIdParts","split","toUpperCase","location","GoogleTagManager","Install","tagId","googleTagInstall","googleTagManager","getElementById","append","logEvent","category","action","label","sessionId","dataLayer","logPage","origin","afterEach","ga","publicPath","async","start","createApp","hasRedirected","normalized","urlPath","replace","bootFiles","qboot_Booti18n","qboot_Bootaxios","qboot_BoottypedStore","qboot_BootthemeInitializer","qboot_Bootgoogleanalytics","qboot_Quasarquasarappextensionqpdfviewersrcbootqpdfviewerjs","ssrContext","webpackContext","req","webpackContextResolve","keys","MapCheckBoxList","lookup","selected","text","Android","Ios","Web","Unknown","HRV","CRV","DRV","MapPortalName","LoggingService","LogErrors","errors","join","LogTrace","log","mainLayout","greeting","editProfile","adminActions","linkAddRetailStore","linkDashboard","linkDealerLocator","linkManageUsers","linkManageRoles","linkManageEmails","linkManageVehicles","linkNotifications","linkInformationalVideos","linkUnitInformation","linkSolar","linkSupport","linkFaq","linkChecklists","linkBlogPosts","linkPodcasts","linkOwnersClubLink","linkOwnersForumLink","notFound","homeLink","login","usernameRequired","passwordRequired","signIn","instructions","currentPasswordRequired","newPasswordRequired","confirmNewPassword","confirmNewPasswordRequired","successMessage","loadingMessage","continueToLogin","invalidTokenTitle","invalidTokenMessage","saveChanges","resetProfile","accountInfoTitle","notifPrefsTitle","emailNotifLabel","pushNotifLabel","emailRequired","recover","firstNameRequired","lastNameRequired","phone","phoneError","streetAddress","streetAddressRequired","city","cityRequired","zip","zipRequired","stateRequired","country","countryRequired","confirmPasswordRequired","passwordDoesNotMatch","termsAndConditionsMessage","agreeAndRegister","invitationSuccessMessage","successTitle","agreeAndContinue","dashboard","vehicleInformation","newNotifications","seeAllNotifications","serviceInformation","seeServiceInformation","primaryRv","noActiveRvText","addRVDirectionsStart","goToMyRV","addRVDirectionsEnd","splashScreen","carouselMessages","manageVehicles","signUpAlerts","nearestDealer","registerVin","resubmitTitle","purchaseDate","purchaseDateRequired","purchaseDateCannotBeInFuture","formInstructions","resubmitFormInstructions","zipInstructions","zipCodeRequired","nickname","vinRequired","vinFormat","isOriginalOwner","isOriginalOwnerRequired","attachmentRequired","documentTypeRequired","uploadInstructions","resubmitUploadInstructions","uploadControlLabel","uploadValidationError","uploadDocTypeRequired","resubmitSuccessMessage","vinNotFoundError1","vinNotFoundError2","vinNotFoundError3","vinNotFoundError4","vinNotFoundError5","dealerLocator","brand","anyBrand","directions","invalidUSPostalCodeError","invalidCAPostalCodeError","searchHeader","searchHeaderSubText","milesAway","miles","kilometersAway","kilometers","availableBrands","serviceOnly","website","noDealerLocations","searchInstructions","defaultSelectBrandText","tableCard","searchPlaceholder","addNewRv","pendingRvs","vinLabel","changeImageLabel","ownersManualLabel","serviceInformationLabel","manageUsersLabel","removeRVLabel","updateNicknameLabel","addAction","editAction","changeImageTitle","removeRVTitle","removeRVConfirm","removeSuccess","nicknameChangeSuccess","imageChangeSuccess","pendingRegistrationInfo","manageVehicleUsers","inviteUser","consumerUserInvitationSent","consumerUserAccessAdded","confirmResendInvite","resendInvitation","removeAccess","resendInviteSuccess","confirmRemoveAccess","removeAccessSuccess","accountNotRegistered","accountRegistered","deleteDialogTitle","deleteSuccess","emptyNotifications","pageTitle","makeModelLabel","yearLabel","vinLable","datePurchaseLabel","warrantyStatus","warrantyStart","warrantyEnd","partsExpiration","serviceExpiration","supportInfo","tabLabels","salesOrderLabels","emptyLabel","orderNumLabel","statusLabel","statusDateLabel","createdDateLabel","deliveryMode","trackingNumber","claimLabels","claimNumber","statusDate","createdDate","recallLabels","recallId","pdfViewer","checklist","support","hoursOfOperation","completeVin","mailingAddress","daytimePhone","privacyStatement","emphasis","end","myRvInfo","brandSupport","portalAppInfo","versionLabel","versionText","pendingRVs","registrationDate","registrationStatus","reviewedDate","seeComments","resubmit","bannerText","podcastContent","readMore","listenNow","blogPosts","categoryLabel","blogPostDetails","relatedStories","faqTitle","glossaryTitle","manageEmails","manageRoles","addRole","systemRole","roleNotFound","deleteConfirm","editRole","roleName","roleNameRequired","manageUsers","cancel","close","edit","errorInstruction","failed","goBack","noResults","OK","reset","submit","success","unexpectedError","users","documents","sizeError","typeError","numberError","defaultError","goBackButtonLabel","emptyDataMessage","locale","fallbackLocale","messages","i18n","RouteNames","Dashboard","ManageUsers","ManageRoles","ManageEmails","EditProfile","InformationalVideos","ManageVehicles","ManageVehicleUsers","Notifications","NotificationDetails","RegisterVin","ResubmitRegisterVin","DealerLocator","UnitInformation","OwnersManual","Support","FAQ","PdfViewer","PendingRVs","BlogPostDetails","PodCasts","children","CompanyTypes","PortalTypes","DevicePlatformTypes","NotificationTypes","RegistrationErrorTypes","WarrantyRegistrationSearchQueryType","AuthorizedApiBase","transformOptions","ConsumerInformationClient_V1","configuration","baseUrl","super","jsonParseReviver","signal","url_","options_","method","transformedOptions_","_error","isAxiosError","_response","processVideos","_headers","k","_responseText","result200","resultData200","isArray","item","InformationalVideoDTO","fromJS","throwException","dealerVideos","processDealerVideos","processChecklists","ChecklistDTO","getChecklistByUid","encodeURIComponent","processGetChecklistByUid","result401","resultData401","ProblemDetails","processWebsiteContentLinks","WebsiteContentLinkDTO","processWebsitePostCategories","WebsitePostCategoryDTO","DealerClient_V1","processLocationsByCompany","DealerLocationDTO","processLocations","chainGroups","processChainGroups","DealerChainGroupDTO","dealerAddresInfo","dynamicsLocationId","processDealerAddresInfo","DealerAddressInfoDTO","userDealerLocations","processUserDealerLocations","UserDealerLocationsDTO","result400","resultData400","inviteAdmin","content_","processInviteAdmin","InviteDealerUserDTO","dealerAccountUid","processInviteUser","completeDealerInvite","processCompleteDealerInvite","CompleteDealerRegistrationDTO","getAllDealerUsers","processGetAllDealerUsers","DealerUserDTO","dealerUsers","processDealerUsers","dealerAdmin","processDealerAdmin","ApiResultDTO","editDealerAdmin","processEditDealerAdmin","EditDealerUserDTO","editDealerUser","processEditDealerUser","dealerUser","processDealerUser","sendDealerAdminInvite","processSendDealerAdminInvite","batchInviteDealerUsers","processBatchInviteDealerUsers","sendDealerUserInvite","processSendDealerUserInvite","forgotPasswordDto","processForgotPassword","ForgotPasswordDTO","DocumentClient_V1","upload","processUpload","DocumentDTO","download","processDownload","result404","resultData404","processDelete","IdentityClient_V1","processLogin","AuthenticationResultDTO","refreshToken","processRefreshToken","revokeToken","processRevokeToken","forgotPasswordDTO","resetPasswordDto","processResetPassword","ResetPasswordDTO","processRegister","RegisterDTO","processConfirmEmail","EmailConfirmationDTO","acceptTermsAndConditions","processAcceptTermsAndConditions","processChangePassword","ChangePasswordDTO","processSendConfirmEmail","processGetProfile","ProfileDTO","userProfile","processUpdateProfile","processGetUsers","UserDTO","processGetUserVins","VehicleDTO","processUpdateUser","UpdateUserDTO","processToggleLockout","processGetRoles","RoleDTO","role","processCreateRole","roleId","processUpdateRole","processDeleteRole","LookupClient_V1","spiffTypes","processSpiffTypes","SpiffTypeDTO","processBrands","BrandDTO","catalogBrands","processCatalogBrands","CatalogBrandDTO","deliveryModes","processDeliveryModes","DeliveryModeDTO","catalogYearsByBrand","brandId","processCatalogYearsByBrand","processChecklistTypes","ChecklistTypeDTO","processCompanyType","CompanyTypeDTO","processCountries","CountryLookupDTO","processDocumentTypes","DocumentTypeDTO","processStates","StateLookupDTO","processSettings","SettingDTO","dealerSettings","processDealerSettings","DealerSettingDTO","processTermsAndConditions","TermsAndConditionDTO","processRoles","LookupTypeDTO","dealerUserRoles","processDealerUserRoles","dealerAdminRoles","processDealerAdminRoles","processPermissions","postalCodeInfo","countryCode","postalCode","processPostalCodeInfo","PostalCodeInfoDTO","dynamicsCountries","processDynamicsCountries","DynamicsCountryDTO","claimStatusTypes","processClaimStatusTypes","ClaimStatusTypeDTO","warrantyClassCodes","processWarrantyClassCodes","WarrantyClassCodeDTO","warrantyRemedyCodes","processWarrantyRemedyCodes","WarrantyRemedyCodeDTO","warrantyFailureCodes","processWarrantyFailureCodes","WarrantyFailureCodeDTO","warrantyMiscChargeCodes","processWarrantyMiscChargeCodes","WarrantyMiscChargeCodeDTO","exportWarrantyClassCodes","processExportWarrantyClassCodes","ExportDTO","NotificationClient_V1","processRegisterToken","NotificationRegistrationDTO","send","processSend","NotificationDTO","processUserNotifications","UserNotificationDTO","userNotifcationId","processNotificationRead","processDeleteNotification","VinClient_V1","processUserVinRegistrations","ViewVinRegistrationDTO","processUserVinRegistration","VinRegistrationDTO","processGetByUid","VinDTO","processGetImageByUid","ImageDTO","processGetVinUsers","processGetClaims","ClaimDTO","processGetRecalls","RecallDTO","processInviteConsumerUser","InviteConsumerUserDTO","processRemoveConsumerUser","processRemoveConsumerVinRegistration","processSendConsumerUserInvitation","processRegisterOwner","VinOwnerRegistrationDTO","processRegistrationStatus","VinRegistrationStatusDTO","UpdateVinRegistrationDTO","processDeactivateRegistration","processGetSalesOrders","SalesOrderDTO","ownersManual","processOwnersManual","processUserVehicleBrands","init","_data","videoId","videoUrl","previewImageUrl","brandIds","companies","toString","toJSON","toISOString","clone","json","checklistType","detail","ValidationBaseDTO","isValid","ownersClubLink","ownersForumLink","solarUrl","retailStoreUrl","categoryName","categoryId","documentType","originalDocumentName","storedDocumentName","contentType","uploadedBy","uploadedDate","bytes","base64","fileName","dealerId","phoneNumber","dealerURL","latitude","longitude","companyTypes","dynamicsId","address","locationId","dealerLocationsFlat","dealerLocations","dealerChainGroups","currentTitle","multipleInviteDealer","InviteDealerDTO","isNewUser","isChainGroup","dealerLocationId","dealerChainGroupId","dealerName","userName","lockoutEnd","emailConfirmed","lastLoginDate","dealerAccounts","DealerAccountDTO","totalCount","editMultipleLocations","hours","partReturn","photoRequired","preAuthorization","remedyCode","isLockedOut","accessToken","Claim","issuer","originalIssuer","subject","ClaimsIdentity","valueType","authenticationType","actor","bootstrapContext","nameClaimType","roleClaimType","AuthenticationRequestDTO","RefreshTokenDTO","expiredAccessToken","stateId","countryId","invitationCode","invitationId","allowEmailNotifications","vehicleId","make","model","year","brandName","PermissionDTO","supportEmail","sortOrder","companyAbbreviation","webPortalBaseUrl","fromEmailName","fromEmailAddress","appName","logoPath","portalType","dealerStoreURL","hrvRegistrationsEmail","dcrvRegistrationsEmail","version","isActiveVersion","isHtml","isoCode","parentCode","classCode","remedyCodes","failureCode","limitAmount","miscChargeCode","body","notificationType","viNs","sentDateTime","warrantyStartDate","warrantyEndDate","serviceExpirationDate","partsExpirationDate","isRegistered","vehicleType","itemNumber","site","hasLegalLetter","contactID","customerSignature","ownerUserId","vinRegistrationStatus","registeredDate","reviewComments","customImageId","portalUserId","emailAddress","isOwnerTransfer","transferDocumentUrl","transferDocumentType","imageType","isResubmitWithDoc","ownerTransferDocumentUid","ownerTransferDocumentTypeId","registrationErrorType","approved","comments","customImageDocumentUid","rvName","orderNumber","ApiException","isApiException","obj","isProd","_e","staticClass","_v","_s","environment","$t","appVersion","build","appBuild","mounted","is","capacitor","apiKey","loader","LoadMap","callback","loadCallback","GetDistanceFromLatLon","point1","point2","R","dLat","deg2rad","dLon","a","Math","sin","cos","atan2","sqrt","deg","PI","NAME","Permissions","ManageAllUsers","VehicleReadAccess","VehicleWriteAccess","Location","lat","lng","distance","distanceDisplay","Post","Podcast","AuthService","AcceptTermsAndConditions","SaveToken","currentUser","show","userToken","USER_INFO_KEY","RemoveToken","inMemory","inStorage","currentToken","DialogHelper","ShowError","messageHtml","html","ShowCustomError","errorMessage","hrv","primary","secondary","accent","info","buttonText","crv","drv","setBrandColors","colorPallet","setBrand","isWeb","setFavIcon","oldLink","querySelector","newLink","BlobHelper","CreateBlob","base64String","rawData","atob","charCodeAt","arr","Uint8Array","Blob","ClaimHelper","claimType","filter","find","ScreenOrientationHelper","RemoveOrientationChangeEventListener","removeEventListener","AddOrientationChangeEventListener","addEventListener","CurrentOrietnation","screen","orientation","LockPortrait","lock","LockLandscape","Unlock","unlock","DateHelper","MomentNow","FormatNow","FormatJsDate","Date","FormatDateTime","minDate","utc","jsDate","toDate","FormatDate","isValidDate","format","toLocaleDateString","regex","test","time","toLocaleTimeString","FormatNotifcationDate","formattedDate","days","diff","fromNow","apiCall","ex"],"mappings":"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","file":"js/app.2b94731f.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t3: 0\n \t};\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t3: 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({\"1\":\"chunk-common\"}[chunkId]||chunkId) + \".\" + {\"1\":\"eff12c42\",\"2\":\"01598a9d\",\"4\":\"a3d9d6e2\",\"5\":\"99035491\",\"6\":\"8aa30e04\",\"7\":\"c885af7d\",\"8\":\"8986b2ec\",\"9\":\"e7fb5eae\",\"10\":\"6f56063a\",\"11\":\"591ccbfa\",\"12\":\"6e4334cc\",\"13\":\"c8775978\",\"14\":\"6e6444f4\",\"15\":\"5fefbc7a\",\"16\":\"c5326f08\",\"17\":\"212fecab\",\"18\":\"e5e12936\",\"19\":\"e6b75590\",\"20\":\"a4079505\",\"21\":\"5ee21152\",\"22\":\"85e05f99\",\"23\":\"8665779e\",\"24\":\"d873320e\",\"25\":\"1315dfed\",\"26\":\"2b288650\",\"27\":\"0bfd9ca5\",\"28\":\"ba123301\",\"29\":\"a1427896\",\"30\":\"d4b3b083\",\"31\":\"10b6abd5\",\"32\":\"d0c03a1f\",\"33\":\"0657f728\",\"34\":\"e1e534e0\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"1\":1,\"2\":1,\"4\":1,\"5\":1,\"6\":1,\"7\":1,\"8\":1,\"9\":1,\"10\":1,\"11\":1,\"12\":1,\"13\":1,\"14\":1,\"15\":1,\"16\":1,\"17\":1,\"18\":1,\"19\":1,\"20\":1,\"21\":1,\"22\":1,\"23\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({\"1\":\"chunk-common\"}[chunkId]||chunkId) + \".\" + {\"1\":\"81d7481b\",\"2\":\"f43acecf\",\"4\":\"0fc0e73c\",\"5\":\"0cc2a490\",\"6\":\"e881debe\",\"7\":\"1f2da939\",\"8\":\"3ae7d7a1\",\"9\":\"89a1f596\",\"10\":\"f96abe16\",\"11\":\"7fe4bcbc\",\"12\":\"f4a16eef\",\"13\":\"6f98a2ec\",\"14\":\"b76157af\",\"15\":\"ae8bb7ee\",\"16\":\"46c527fc\",\"17\":\"6c48d4ae\",\"18\":\"80be0673\",\"19\":\"a6fc7f30\",\"20\":\"a674010d\",\"21\":\"66f456bb\",\"22\":\"48a44c4d\",\"23\":\"6b3d0094\",\"24\":\"31d6cfe0\",\"25\":\"31d6cfe0\",\"26\":\"31d6cfe0\",\"27\":\"31d6cfe0\",\"28\":\"31d6cfe0\",\"29\":\"31d6cfe0\",\"30\":\"31d6cfe0\",\"31\":\"31d6cfe0\",\"32\":\"31d6cfe0\",\"33\":\"31d6cfe0\",\"34\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,0]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { UserNotificationDTO } from 'src/services/generated/api.generated.v1';\n\nexport interface UserVehicle {\n vin: string;\n uid: string;\n displayName: string;\n permissions: Array;\n isActive: boolean;\n}\n\nexport interface UserStateInterface {\n id: string | null;\n email: string | null;\n firstName: string | null;\n lastName: string | null;\n zipCode: string | null;\n permissions: Array;\n vehicles: Array;\n termsAndConditionsAccepted: boolean;\n notifications: Array;\n rememberUsername: boolean;\n username: string | null;\n allowPushNotifications: boolean;\n}\n\nfunction state(): UserStateInterface {\n return {\n id : null,\n email: null,\n firstName: null,\n lastName: null,\n zipCode: null,\n permissions: [],\n vehicles: [],\n termsAndConditionsAccepted: false,\n notifications: [],\n rememberUsername: false,\n username: null,\n allowPushNotifications: false\n }\n}\n\nexport default state;\n","import { AuthService, NotificationService } from 'src/services';\nimport { ApiResultDTO, AuthenticationResultDTO } from 'src/services/generated/api.generated.v1';\nimport { ActionTree, Commit } from 'vuex';\nimport { StateInterface } from '../index';\nimport { UserStateInterface } from './state';\n\nconst authService = new AuthService();\n\nconst actions: ActionTree = {\n async logout({ commit }: { commit: Commit }) {\n\n await authService.Logout();\n\n const emptyUser = new AuthenticationResultDTO();\n\n commit('updateUserState', emptyUser);\n },\n\n async loadNotifications({ commit }: { commit: Commit }) {\n const notificationService = NotificationService.GetInstance();\n const notifications = await notificationService.GetUserNotifcations();\n\n commit('setNotifications', notifications);\n },\n\n async setNotificationRead({ commit }: { commit: Commit }, { notificationUid } : { notificationUid: string}) {\n const notificationService = NotificationService.GetInstance();\n await notificationService.SetUserNotifcationRead(notificationUid);\n\n commit('setNotificationRead', notificationUid);\n },\n\n async deleteNotification({ commit }: { commit: Commit }, { notificationUid } : { notificationUid: string}) : Promise {\n const notificationService = NotificationService.GetInstance();\n const result = await notificationService.DeleteNotificationByUid(notificationUid);\n\n commit('deleteNotification', notificationUid);\n\n return result;\n },\n};\n\nexport default actions;\n","import { GetterTree } from 'vuex';\nimport { StateInterface } from '../index';\nimport { UserStateInterface } from './state';\n\nconst getters: GetterTree = {\n hasPermission: (state: UserStateInterface) => (permission: string) => {\n return state.permissions.some(x => x === permission);\n }\n};\n\nexport default getters;\n","import { StorageKeys } from './../../constants/StorageKeys';\nimport { AuthenticationResultDTO, Claim, NotificationDTO } from 'src/services/generated/api.generated.v1';\nimport { MutationTree } from 'vuex';\nimport { UserStateInterface } from './state';\nimport { ClaimTypes } from '../../constants/ClaimTypes';\nimport { ClaimHelper } from 'src/utils';\n\nconst ACTIVE_VEHICLE_KEY = 'ACTIVE_VEHICLE_UID';\nconst REMEBERED_USERNAME = 'REMEMBERED_USERNAME';\n\nconst mutation: MutationTree = {\n updateUserState(state: UserStateInterface, authResult: AuthenticationResultDTO) {\n state.id = ClaimHelper.GetClaimValue(authResult?.claims, ClaimTypes.NAME_IDENTIFIER);\n state.email = ClaimHelper.GetClaimValue(authResult?.claims, ClaimTypes.EMAIL);\n state.firstName = ClaimHelper.GetClaimValue(authResult?.claims, ClaimTypes.FIRST_NAME);\n state.lastName = ClaimHelper.GetClaimValue(authResult?.claims, ClaimTypes.SURNAME);\n state.zipCode = ClaimHelper.GetClaimValue(authResult?.claims, ClaimTypes.POSTAL_CODE);\n state.permissions = ClaimHelper.GetClaimValues(authResult?.claims, ClaimTypes.PERMISSION);\n\n state.vehicles = getVehicleClaims(authResult?.claims);\n\n state.termsAndConditionsAccepted = !!ClaimHelper.GetClaimValue(authResult?.claims, ClaimTypes.TERMS_AND_CONDITIONS_ACCEPTED);\n state.allowPushNotifications = !!ClaimHelper.GetClaimValue(authResult?.claims, ClaimTypes.ALLOW_PUSH_NOTIFICATIONS);\n \n window.localStorage.setItem(StorageKeys.USERID, state.id);\n\n const username = window.localStorage.getItem(REMEBERED_USERNAME);\n\n if(username && username != '') {\n state.rememberUsername = true;\n state.username = username;\n }\n },\n\n setRememberedUsername(state: UserStateInterface, username: string) {\n window.localStorage.setItem(REMEBERED_USERNAME, username);\n state.rememberUsername = true;\n state.username = username;\n \n },\n\n setPrimaryVehicle(state: UserStateInterface, vehicleUid: string) {\n const vehicles = state.vehicles;\n vehicles.forEach(x => x.isActive = x.uid === vehicleUid);\n\n window.localStorage.setItem(ACTIVE_VEHICLE_KEY, vehicleUid);\n\n state.vehicles = vehicles;\n },\n\n setNotifications(state: UserStateInterface, notifications: Array) {\n state.notifications = notifications;\n },\n\n setNotificationRead(state: UserStateInterface, notificationUid: string) {\n\n const notificationIndex = state.notifications.findIndex(x => x.userNotificationUid === notificationUid);\n\n if (notificationIndex) {\n state.notifications[notificationIndex].isRead = true;\n }\n },\n\n deleteRememberedUsername(state: UserStateInterface) {\n window.localStorage.removeItem(REMEBERED_USERNAME);\n state.rememberUsername = false;\n state.username = '';\n },\n\n deleteNotification(state: UserStateInterface, notificationUid: string) {\n\n const notificationIndex = state.notifications.findIndex(x => x.userNotificationUid === notificationUid);\n\n if (notificationIndex) {\n const allNotifications = state.notifications;\n state.notifications = allNotifications.splice(notificationIndex, 1);\n }\n },\n}\n\nfunction getVehicleClaims(claims: Array | null | undefined) {\n const getUid = (props: { [key: string]: string; } | null | undefined) => props ? props['Uid'] : '';\n const getDisplayName = (props: { [key: string]: string; } | null | undefined) => props ? props['Name'] : '';\n\n const activeVehicle = window.localStorage.getItem(ACTIVE_VEHICLE_KEY);\n\n const vehicles = ClaimHelper.GetClaims(claims, ClaimTypes.VEHICLE_IDENTIFICATION_NUMBER)\n .map(x => ({\n vin: x.value,\n uid: getUid(x.properties),\n permissions: ClaimHelper.GetClaimValues(claims, `${ClaimTypes.VEHICLE_PERMISSION}/${getUid(x.properties)}`),\n isActive: activeVehicle !== null && activeVehicle === getUid(x.properties),\n displayName: getDisplayName(x.properties)\n }));\n\n if (vehicles && vehicles.length > 0 &&\n (vehicles.length === 1 || vehicles.every(x => !x.isActive))) {\n vehicles[0].isActive = true;\n }\n\n return vehicles ?? [];\n}\n\nexport default mutation;","import { Module } from 'vuex';\nimport { StateInterface } from '../index';\nimport state, { UserStateInterface } from './state';\nimport actions from './actions';\nimport getters from './getters';\nimport mutations from './mutations';\n\nconst userModule: Module = {\n namespaced: true,\n actions,\n getters,\n mutations,\n state\n};\n\nexport default userModule;\n","export interface SettingStateInterface {\n googleMapsApiKey: string | null;\n allowedFileUploadExtensions: string | null;\n maxFileUploadSizeInMegaBytes: number | null;\n maxAdditionalConsumerUsers: number | null;\n fullAccessCountryCodes: string | null;\n consumerSupportEmail: string | null;\n consumerSupportPhone: string | null;\n consumerPartsEmail: string | null; \n consumerServiceEmail: string | null;\n initialized: boolean;\n company: string | null; // TODO: Replace this with enum?\n companyDisplayName: string | null;\n companyAddress : string | null;\n mondayThruThursdaySupportHours : string | null;\n fridaySupportHours : string | null;\n \n platform: string | null; // ios | android | web\n}\n\nfunction state(): SettingStateInterface {\n return {\n googleMapsApiKey: null,\n allowedFileUploadExtensions: null,\n maxFileUploadSizeInMegaBytes: null,\n maxAdditionalConsumerUsers: null,\n fullAccessCountryCodes: null,\n consumerSupportEmail: null,\n consumerSupportPhone: null,\n consumerPartsEmail: null,\n consumerServiceEmail: null,\n initialized: false,\n company: null,\n companyDisplayName: null,\n companyAddress : null,\n mondayThruThursdaySupportHours : null,\n fridaySupportHours : null,\n platform: null\n }\n}\n\nexport default state;\n","import { LoggingService, LookupService } from 'src/services';\nimport { CompanyTypeDTO, SettingDTO } from 'src/services/generated/api.generated.v1';\nimport { Mapper } from 'src/utils';\nimport { ActionTree, Commit } from 'vuex';\nimport { StateInterface } from '../index';\nimport { SettingStateInterface } from './state';\n\n\nconst actions: ActionTree = {\n clearSettings({ commit }: { commit: Commit }) {\n commit('updateSettingState', null);\n },\n setSettings({ commit, state }: { commit: Commit, state: SettingStateInterface }): Promise {\n const lookupService = new LookupService();\n\n return new Promise((resolve, reject) => {\n if (state.initialized) {\n resolve();\n } else {\n lookupService.Settings()\n .then((dto: SettingDTO) => {\n commit('updateSettingState', dto);\n return lookupService.CompanyType()\n })\n .then((dto: CompanyTypeDTO) => {\n commit('updateSettingConsumerSupportState', dto);\n resolve();\n })\n .catch(err => {\n LoggingService.LogError(err);\n reject();\n });\n }\n });\n },\n setCompany({ commit }: { commit: Commit }, company : string) {\n commit('setCompany', company);\n commit('setCompanyDisplayName', Mapper.MapCompanyDisplayName(company));\n }\n};\n\nexport default actions;\n","import { GetterTree } from 'vuex';\nimport { StateInterface } from '../index';\nimport { SettingStateInterface } from './state';\n\nconst getters: GetterTree = {\n\n};\n\nexport default getters;\n","import { CompanyTypeDTO, SettingDTO } from 'src/services/generated/api.generated.v1';\nimport MapService from 'src/services/MapService';\nimport { MutationTree } from 'vuex';\nimport { SettingStateInterface } from './state';\n\nconst mutation: MutationTree = {\n updateSettingState(state: SettingStateInterface, settings: SettingDTO | null) {\n state.googleMapsApiKey = settings?.googleMapsApiKey ?? null;\n state.allowedFileUploadExtensions = settings?.allowedFileUploadExtensions ?? null;\n state.maxFileUploadSizeInMegaBytes = settings?.maxFileUploadSizeInMegaBytes ?? null;\n state.maxAdditionalConsumerUsers = settings?.maxAdditionalConsumerUsers ?? null;\n state.fullAccessCountryCodes = settings?.fullAccessCountryCodes ?? null;\n state.initialized = settings !== null;\n state.mondayThruThursdaySupportHours = settings?.mondayThruThursdaySupportHours ?? null;\n state.fridaySupportHours = settings?.fridaySupportHours ?? null;\n\n if (state.googleMapsApiKey) {\n MapService.SetMapsLoader(state.googleMapsApiKey);\n }\n },\n updateSettingConsumerSupportState(state: SettingStateInterface, company: CompanyTypeDTO | null) {\n state.consumerSupportEmail = company?.supportEmailAddress ?? null;\n state.consumerSupportPhone = company?.supportPhoneNumber ?? null;\n state.consumerPartsEmail = company?.partsEmailAddress ?? null;\n state.consumerServiceEmail = company?.serviceEmailAddress ?? null;\n state.companyAddress = company?.companyAddress ?? null;\n },\n setCompany(state: SettingStateInterface, company: string) {\n state.company = company;\n },\n setCompanyDisplayName(state: SettingStateInterface, displayName: string) {\n state.companyDisplayName = displayName;\n },\n setPlatform(state: SettingStateInterface, platform: string) {\n state.platform = platform;\n },\n}\n\n\nexport default mutation;","import { Module } from 'vuex';\nimport { StateInterface } from '../index';\nimport state, { SettingStateInterface } from './state';\nimport actions from './actions';\nimport getters from './getters';\nimport mutations from './mutations';\n\nconst settingModule: Module = {\n namespaced: true,\n actions,\n getters,\n mutations,\n state\n};\n\nexport default settingModule;\n","import { NavLinks } from 'src/layouts/NavigtaionLinkBuilder';\n\nexport interface LayoutStateInterface {\n hideMobileToolbar: boolean;\n navLinks: Array;\n}\n\nfunction state(): LayoutStateInterface {\n return {\n hideMobileToolbar: false,\n navLinks: []\n }\n}\n\nexport default state;\n","import { ActionTree} from 'vuex';\nimport { StateInterface } from '../index';\nimport { LayoutStateInterface } from './state';\n\nconst actions: ActionTree = {\n};\n\nexport default actions;\n","import { GetterTree } from 'vuex';\nimport { StateInterface } from '../index';\nimport { LayoutStateInterface } from './state';\n\nconst getters: GetterTree = {\n\n};\n\nexport default getters;\n","import { NavLinks } from 'src/layouts/NavigtaionLinkBuilder';\nimport { MutationTree } from 'vuex';\nimport { LayoutStateInterface } from './state';\n\nconst mutation: MutationTree = {\n setHideMobileToolbar(state: LayoutStateInterface, value: boolean) {\n state.hideMobileToolbar = value;\n },\n setNavLinks(state: LayoutStateInterface, navLinks: Array) {\n state.navLinks = navLinks;\n },\n}\n\nexport default mutation;","import { Module } from 'vuex';\nimport { StateInterface } from '../index';\nimport state, { LayoutStateInterface } from './state';\nimport actions from './actions';\nimport getters from './getters';\nimport mutations from './mutations';\n\nconst layoutModule: Module = {\n namespaced: true,\n actions,\n getters,\n mutations,\n state\n};\n\nexport default layoutModule;\n","import { ClaimDTO, RecallDTO, SalesOrderDTO, ViewVinRegistrationDTO } from 'src/services/generated/api.generated.v1';\n\nexport interface VehicleSalesOrders {\n vehicleUid: string,\n salesOrders: Array\n};\n\nexport interface VehicleClaims {\n vehicleUid: string,\n claims: Array\n};\n\nexport interface VehicleRecalls {\n vehicleUid: string,\n recalls: Array\n};\n\nexport interface VehicleStateInterface {\n vinRegistrations: Array,\n salesOrders: Array,\n claims: Array,\n recalls: Array\n};\n\nfunction state(): VehicleStateInterface {\n return {\n vinRegistrations: [],\n salesOrders: [],\n claims: [],\n recalls: []\n }\n};\n\nexport default state;","import { ActionTree, Commit } from 'vuex';\nimport { ViewVinRegistrationDTO} from 'src/services/generated/api.generated.v1';\nimport { StateInterface } from '../index';\nimport { VehicleService } from 'src/services';\nimport { VehicleStateInterface } from './state';\n\n\nconst actions: ActionTree = {\n async loadVinRegistrations({ commit }: { commit: Commit }): Promise {\n const registrations: Array = await VehicleService.GetInstance().GetVinRegistrations();\n\n commit('setVinRegistrations', registrations); \n },\n\n async loadClaims({ commit }: { commit: Commit }, { vehicleUid }: { vehicleUid: string}): Promise {\n const claims = await VehicleService.GetInstance().GetClaims(vehicleUid);\n\n commit('setClaims', { vehicleUid: vehicleUid, claims: claims});\n },\n\n async loadRecalls({ commit }: { commit: Commit }, { vehicleUid }: { vehicleUid: string}): Promise {\n const recalls = await VehicleService.GetInstance().GetRecalls(vehicleUid);\n\n commit('setRecalls', { vehicleUid: vehicleUid, recalls: recalls}); \n },\n\n async loadSalesOrders({ commit }: { commit: Commit }, { vehicleUid }: { vehicleUid: string}): Promise {\n const salesOrders = await VehicleService.GetInstance().GetSalesOrders(vehicleUid);\n\n commit('setSalesOrders', { vehicleUid: vehicleUid, salesOrders: salesOrders}); \n }\n};\n\nexport default actions;\n","import { GetterTree } from 'vuex';\nimport { StateInterface } from '../index';\nimport { VehicleStateInterface } from './state';\n\nconst getters: GetterTree = {\n \n};\n\nexport default getters;\n","import { ClaimDTO, RecallDTO, SalesOrderDTO, ViewVinRegistrationDTO } from 'src/services/generated/api.generated.v1';\nimport { MutationTree } from 'vuex';\nimport { VehicleClaims, VehicleRecalls, VehicleSalesOrders, VehicleStateInterface } from './state';\n\nconst mutation: MutationTree = {\n setVinRegistrations(state: VehicleStateInterface, vinRegistrations: Array) {\n state.vinRegistrations = vinRegistrations;\n },\n\n setClaims(state: VehicleStateInterface, { vehicleUid, claims }: { vehicleUid: string, claims: Array, }) {\n const claimsIndex = state.claims.findIndex((search: VehicleClaims) => search.vehicleUid === vehicleUid);\n\n if (claimsIndex === -1) {\n state.claims.push({ vehicleUid: vehicleUid, claims: claims});\n } else {\n state.claims[claimsIndex] = { vehicleUid: vehicleUid, claims: claims};\n }\n }, \n \n setRecalls(state: VehicleStateInterface, { vehicleUid, recalls, }: { vehicleUid: string, recalls: Array, }) {\n const recallIndex = state.recalls.findIndex((search: VehicleRecalls) => search.vehicleUid === vehicleUid);\n\n if (recallIndex === -1) {\n state.recalls.push({ vehicleUid: vehicleUid, recalls: recalls});\n } else {\n state.recalls[recallIndex] = { vehicleUid: vehicleUid, recalls: recalls};\n }\n },\n\n setSalesOrders(state: VehicleStateInterface, { vehicleUid, salesOrders, }: { vehicleUid: string, salesOrders: Array, }) {\n const salesOrderIndex = state.salesOrders.findIndex((search: VehicleSalesOrders) => search.vehicleUid === vehicleUid);\n\n if (salesOrderIndex === -1) {\n state.salesOrders.push({ vehicleUid: vehicleUid, salesOrders: salesOrders});\n } else {\n state.salesOrders[salesOrderIndex] = { vehicleUid: vehicleUid, salesOrders: salesOrders};\n }\n },\n}\n\nexport default mutation;","import { Module } from 'vuex';\nimport { StateInterface } from '../index';\nimport state, { VehicleStateInterface } from './state';\nimport actions from './actions';\nimport getters from './getters';\nimport mutations from './mutations';\n\nconst vehicleModule: Module = {\n namespaced: true,\n actions,\n getters,\n mutations,\n state\n};\n\nexport default vehicleModule;\n","import { WebsitePostCategoryDTO, WebsiteContentLinkDTO } from 'src/services/generated/api.generated.v1';\nimport {FAQ, Podcast, Post} from '../../components/models';\n\nexport interface ConsumerInformationInterface {\n contentLinks: WebsiteContentLinkDTO | null;\n allPosts: Array | null; \n postCategories: Array | null;\n frequentlyAskedQuestions: FAQ | null; \n podcasts: Array | null; \n}\n\nfunction state(): ConsumerInformationInterface {\n return {\n contentLinks: null,\n allPosts: null,\n postCategories: null,\n frequentlyAskedQuestions: null,\n podcasts: null\n }\n}\n\nexport default state;","import { ActionTree, Commit } from 'vuex';\nimport { WebsiteContentLinkDTO, WebsitePostCategoryDTO} from 'src/services/generated/api.generated.v1';\nimport { StateInterface } from '../index';\nimport { ConsumerInformationService, LoggingService } from 'src/services';\nimport { ConsumerInformationInterface } from './state';\nimport { FAQ, Podcast, Post } from 'src/components/models';\n\n\nconst actions: ActionTree = {\n loadContentLinks({ commit }: { commit: Commit }): Promise {\n return new Promise((resolve, reject) => {\n ConsumerInformationService.GetInstance().WebsiteContentLinks()\n .then((dto: WebsiteContentLinkDTO) => {\n commit('updateContentLinksState', dto);\n resolve();\n })\n .catch(err => {\n LoggingService.LogError(err);\n reject();\n });\n });\n },\n\n loadPostCategories({ commit }: { commit: Commit }): Promise {\n return new Promise((resolve, reject) => {\n ConsumerInformationService.GetInstance().WebsitePostCategories()\n .then((dto: Array) => {\n commit('updatePostCategoriesState', dto);\n resolve();\n })\n .catch(err => {\n LoggingService.LogError(err);\n reject();\n });\n });\n },\n\n loadFAQs({ commit }: { commit: Commit }): Promise {\n return new Promise((resolve, reject) => {\n if(this.state.consumerInformation.contentLinks && this.state.consumerInformation.contentLinks.frequentlyAskedQuestionsLink){\n ConsumerInformationService.GetInstance().FrequentlyAskedQuestions(this.state.consumerInformation.contentLinks?.frequentlyAskedQuestionsLink)\n .then((dto: FAQ | null) => {\n commit('updateFAQsState', dto);\n resolve();\n })\n .catch(err => {\n LoggingService.LogError(err);\n reject();\n });\n } else {\n LoggingService.LogError('ContentLink State is null');\n resolve();\n }\n });\n },\n\n loadBlogPosts({ commit }: { commit: Commit }): Promise {\n return new Promise((resolve, reject) => {\n if(this.state.consumerInformation.contentLinks && this.state.consumerInformation.contentLinks.blogPostsLink){\n ConsumerInformationService.GetInstance().BlogPosts(this.state.consumerInformation.contentLinks?.blogPostsLink)\n .then((dto: Array | null) => {\n commit('updateBlogPostsState', dto);\n resolve();\n })\n .catch(err => {\n LoggingService.LogError(err);\n reject();\n });\n } else {\n LoggingService.LogError('ContentLink State is null');\n resolve();\n }\n \n });\n },\n\n loadPodcasts({ commit }: { commit: Commit }): Promise {\n return new Promise((resolve, reject) => {\n if(this.state.consumerInformation.contentLinks && this.state.consumerInformation.contentLinks.podcastLink){\n ConsumerInformationService.GetInstance().Podcasts(this.state.consumerInformation.contentLinks?.podcastLink)\n .then((dto: Array | null) => {\n commit('updatePodcastsState', dto);\n resolve();\n })\n .catch(err => {\n LoggingService.LogError(err);\n reject();\n });\n } else {\n LoggingService.LogError('ContentLink State is null');\n resolve();\n }\n \n });\n }\n};\n\nexport default actions;\n","import { GetterTree } from 'vuex';\nimport { StateInterface } from '../index';\nimport { ConsumerInformationInterface } from './state';\n\nconst getters: GetterTree = {\n\n};\n\nexport default getters;\n","import { FAQ, Podcast, Post } from 'src/components/models';\nimport { WebsiteContentLinkDTO, WebsitePostCategoryDTO } from 'src/services/generated/api.generated.v1';\nimport { MutationTree } from 'vuex';\nimport { ConsumerInformationInterface } from './state';\n\nconst mutation: MutationTree = {\n updateContentLinksState(state: ConsumerInformationInterface, websiteContentLinks: WebsiteContentLinkDTO | null) {\n state.contentLinks = websiteContentLinks;\n },\n\n updatePostCategoriesState(state: ConsumerInformationInterface, websitePostCategories: Array | null) {\n state.postCategories = websitePostCategories;\n },\n\n updateBlogPostsState(state: ConsumerInformationInterface, posts: Array | null) {\n state.allPosts = posts;\n },\n\n updateFAQsState(state: ConsumerInformationInterface, faq: FAQ | null) {\n state.frequentlyAskedQuestions = faq;\n },\n\n updatePodcastsState(state: ConsumerInformationInterface, podcasts: Array | null) {\n state.podcasts = podcasts;\n },\n}\n\nexport default mutation;","import { Module } from 'vuex';\nimport { StateInterface } from '../index';\nimport state, { ConsumerInformationInterface } from './state';\nimport actions from './actions';\nimport getters from './getters';\nimport mutations from './mutations';\n\nconst consumerInformationModule: Module = {\n namespaced: true,\n actions,\n getters,\n mutations,\n state\n};\n\nexport default consumerInformationModule;\n","import { store } from 'quasar/wrappers';\nimport Vuex, {Store} from 'vuex';\nimport { UserStateInterface } from './user/state';\nimport user from './user';\nimport setting from './setting';\nimport layout from './layout';\nimport vehicle from './vehicles';\nimport consumerInformation from './consumerInformation';\nimport { SettingStateInterface } from './setting/state';\nimport { LayoutStateInterface } from './layout/state';\nimport { VehicleStateInterface } from './vehicles/state';\nimport { ConsumerInformationInterface } from './consumerInformation/state';\n\n\n/*\n * If not building with SSR mode, you can\n * directly export the Store instantiation\n */\n\nlet AppStore: Store;\n\nexport interface StateInterface {\n // Define your own store structure, using submodules if needed\n user: UserStateInterface;\n setting: SettingStateInterface;\n layout: LayoutStateInterface;\n vehicle: VehicleStateInterface;\n consumerInformation: ConsumerInformationInterface;\n}\n\nexport default store(function ({ Vue }) {\n Vue.use(Vuex);\n\n const appStore = new Vuex.Store({\n modules: {\n user,\n setting,\n layout,\n vehicle,\n consumerInformation\n },\n\n // enable strict mode (adds overhead!)\n // for dev mode only\n strict: !!process.env.DEBUGGING\n });\n\n AppStore = appStore;\n\n return AppStore;\n});\n\nexport { AppStore };","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\n/* eslint-disable @typescript-eslint/no-explicit-any*/\nimport { FAQ, FaqResponse, Podcast, PodcastResponse, Post, PostResponse } from 'src/components/models';\nimport ApiConfig from './ApiConfig';\nimport { ConsumerInformationClient_V1, InformationalVideoDTO, ChecklistDTO, WebsiteContentLinkDTO, WebsitePostCategoryDTO } from './generated/api.generated.v1';\nimport axios from 'axios';\nimport moment from 'moment';\nimport { AppStore } from 'src/store';\n\ninterface httpPlugin {\n get: (url: string, params: any, headers: any, succes: any, failure: any) => void\n};\n\nconst getHttpPlugin = () => {\n const anyCordova = cordova as any;\n if (anyCordova && anyCordova.plugin) {\n return anyCordova.plugin.http as httpPlugin;\n }\n\n return null;\n}\n\nexport default class ConsumerInformationService {\n private readonly _consumerInfoClient: ConsumerInformationClient_V1;\n private readonly _postsPerPage = 100;\n\n constructor() {\n this._consumerInfoClient = new ConsumerInformationClient_V1(new ApiConfig(), process.env.VUE_APP_API_V1_URL);\n }\n\n private static instance: ConsumerInformationService;\n\n public static GetInstance(): ConsumerInformationService {\n if (!ConsumerInformationService.instance) {\n ConsumerInformationService.instance = new ConsumerInformationService();\n }\n\n return ConsumerInformationService.instance;\n }\n\n public GetInformationalVideos(): Promise> {\n return this._consumerInfoClient.videos();\n }\n\n public Checklists(): Promise> {\n return this._consumerInfoClient.checklists();\n }\n\n public WebsiteContentLinks(): Promise {\n return this._consumerInfoClient.websiteContentLinks();\n }\n\n public WebsitePostCategories(): Promise> {\n return this._consumerInfoClient.websitePostCategories();\n }\n\n public async BlogPosts(postsUrl: string, pageNo = 1): Promise | null> {\n const results = await this.GetPosts(postsUrl, pageNo);\n if (results && results.length == this._postsPerPage) {\n const posts = await this.BlogPosts(postsUrl, pageNo + 1);\n const addedResult = posts ? results.concat(posts) : results;\n return addedResult;\n } else {\n return results;\n }\n }\n\n private async GetPosts(postsUrl: string, page: number): Promise | null> {\n const mapper = (data: Array) => {\n const results = data.map(x => {\n const post = new Post();\n post.id = x.id;\n post.slug = x.slug;\n post.categories = x.categories;\n post.date = moment(x.yoast_head_json.article_published_time);\n post.title = x.yoast_head_json.og_title;\n post.bannerImageUrl = x.acf.banner_image.url;\n post.content = x.acf.styled_blocks[0].content;\n post.relatedStoryIds = [];\n post.relatedStoryIds.push(x.acf.related_stories.left.ID, x.acf.related_stories.center.ID, x.acf.related_stories.right.ID);\n return post;\n });\n\n return results;\n }\n\n const queryUrl = postsUrl + `?per_page=${this._postsPerPage}&page=${page}`;\n\n return await this.GetData | null>(queryUrl, mapper);\n }\n\n public async FrequentlyAskedQuestions(postsUrl: string): Promise {\n if (!postsUrl) {\n return null;\n }\n\n const mapper = (data: FaqResponse) => {\n const faq = new FAQ();\n faq.title = data.yoast_head_json.og_title;\n\n const categories = data.acf.faq_category.map(x => {\n return {\n title: x.category_title,\n questions: x.faq.map(x => { return { question: x.question, answerContent: x.answer } }\n )\n };\n })\n faq.categories = categories\n faq.glossary = data.acf.glossary_entry.map(x => { return { term: x.term, definition: x.definition } });\n\n return faq;\n }\n\n return await this.GetData(postsUrl, mapper);\n\n }\n\n public async Podcasts(postsUrl: string, pageNo = 1): Promise | null> {\n const results = await this.GetPodcasts(postsUrl, pageNo);\n if (results && results.length == this._postsPerPage) {\n const posts = await this.GetPodcasts(postsUrl, pageNo + 1);\n const addedResult = posts ? results.concat(posts) : results;\n return addedResult;\n } else {\n return results;\n }\n }\n\n private async GetPodcasts(postsUrl: string, page: number): Promise | null> {\n if (!postsUrl) {\n return null;\n }\n\n const mapper = (data: Array) => {\n return data.map(x => {\n const podcast = new Podcast();\n podcast.title = x.yoast_head_json.og_title;\n podcast.imageUrl = x.yoast_head_json.og_image[0].url;\n podcast.linkUrl = x.acf.episode_url;\n podcast.description = x.yoast_head_json.og_description;\n return podcast;\n });\n\n }\n\n const queryUrl = postsUrl + `?per_page=${this._postsPerPage}&page=${page}`;\n \n return await this.GetData | null>(queryUrl, mapper)\n\n }\n\n private async GetData(url: string, mapper: (res: any) => TResult): Promise {\n return new Promise((resolve, reject) => {\n if (!url) {\n resolve(null);\n }\n\n const makeNativeApiCall = () => {\n const successCallback = (resp: any) => {\n const data = resp && resp.data\n ? JSON.parse(resp.data)\n : [];\n\n const results = mapper(data);\n\n resolve(results);\n }\n const httpPlugin = getHttpPlugin();\n if (httpPlugin) {\n httpPlugin.get(url, {}, {}, successCallback, (res: any) => { reject(res) });\n }\n }\n\n const makeWebApiCall = () => {\n axios.get(url)\n .then(resp => {\n const results = mapper(resp.data);\n resolve(results);\n })\n .catch((er) => {\n reject(er);\n });\n }\n\n if (AppStore.state.setting.platform === 'ios') {\n makeNativeApiCall();\n } else {\n makeWebApiCall();\n }\n })\n }\n}","import {\n DealerClient_V1,\n DealerLocationDTO,\n} from './generated/api.generated.v1';\nimport ApiConfig from './ApiConfig';\n\nexport default class DealerService {\n private readonly _dealerClient: DealerClient_V1;\n\n constructor() {\n this._dealerClient = new DealerClient_V1(new ApiConfig(), process.env.VUE_APP_API_V1_URL);\n }\n\n public CompanyLocations(): Promise> {\n return this._dealerClient.locationsByCompany();\n }\n\n public Locations(): Promise> {\n return this._dealerClient.locations();\n }\n}","import {\n ApiResultDTO,\n DocumentClient_V1,\n} from './generated/api.generated.v1';\nimport ApiConfig from './ApiConfig';\n\nexport default class DocumentService {\n private readonly _documentClient: DocumentClient_V1;\n\n constructor() {\n this._documentClient = new DocumentClient_V1(new ApiConfig(), process.env.VUE_APP_API_V1_URL);\n }\n\n public DocumentUploadUrl = `${process.env.VUE_APP_API_V1_URL}/document`;\n\n public DeleteDocument(documentUid: string) : Promise {\n return this._documentClient.delete(documentUid);\n }\n\n public OwnersManualURL(vehicleUid: string) : string {\n return `${process.env.VUE_APP_API_V1_URL}/Vin/${vehicleUid}/OwnersManual`;\n }\n\n public ChecklistURL(checklistUid: string) : string {\n return `${process.env.VUE_APP_API_V1_URL}/ConsumerInformation/${checklistUid}/Checklist`;\n }\n}","\nexport default class InitialLaunchService {\n public static readonly IS_INIITAL_LAUNCH = 'INITIAL_LAUNCH';\n\n public static SetInitLaunch(isInitialLaunch : boolean) {\n localStorage.setItem(this.IS_INIITAL_LAUNCH, JSON.stringify(isInitialLaunch));\n }\n\n public static GetInitLaunch(): boolean {\n\n const isInitLuanch = localStorage.getItem(this.IS_INIITAL_LAUNCH);\n if (isInitLuanch) {\n return JSON.parse(isInitLuanch) as boolean;\n }\n\n return true;\n }\n}","import {\n BrandDTO,\n ChecklistTypeDTO,\n CompanyTypeDTO,\n CompanyTypes,\n CountryLookupDTO,\n DocumentTypeDTO,\n LookupClient_V1,\n LookupTypeDTO,\n SettingDTO,\n StateLookupDTO,\n TermsAndConditionDTO\n} from './generated/api.generated.v1';\nimport ApiConfig from './ApiConfig';\n\nexport default class LookupService {\n private readonly _lookupClient: LookupClient_V1;\n\n constructor() {\n this._lookupClient = new LookupClient_V1(new ApiConfig(), process.env.VUE_APP_API_V1_URL);\n }\n\n public ApplicationRoles(): Promise> {\n return this._lookupClient.roles();\n }\n\n public ApplicationPermissions(): Promise> {\n return this._lookupClient.permissions();\n }\n\n public Brands(): Promise> {\n return this._lookupClient.brands();\n }\n\n public ChecklistTypes(): Promise> {\n return this._lookupClient.checklistTypes();\n }\n\n public CompanyType(): Promise {\n return this._lookupClient.companyType();\n }\n\n public Countries(): Promise> {\n return this._lookupClient.countries();\n }\n\n public DocumentTypes(): Promise> {\n return this._lookupClient.documentTypes();\n }\n\n public Settings(): Promise {\n return this._lookupClient.settings();\n }\n\n public States(): Promise> {\n return this._lookupClient.states();\n }\n\n public TermsAndConditions(companyType : CompanyTypes): Promise {\n return this._lookupClient.termsAndConditions(companyType);\n }\n}","import { ApiHelper, Mapper } from 'src/utils';\nimport ApiConfig from './ApiConfig';\nimport { ApiResultDTO, NotificationClient_V1, NotificationRegistrationDTO, UserNotificationDTO } from './generated/api.generated.v1';\n\nexport default class NotificationService {\n private readonly _notificationClient: NotificationClient_V1;\n\n constructor() {\n this._notificationClient = new NotificationClient_V1(new ApiConfig(), process.env.VUE_APP_API_V1_URL);\n }\n\n private static instance: NotificationService;\n\n public static GetInstance() : NotificationService {\n if (!NotificationService.instance) {\n NotificationService.instance = new NotificationService();\n }\n\n return NotificationService.instance;\n }\n\n public RegisterToken(userId: string, pushToken: string, firebaseToken: string, platform: string, companyType: string) : Promise {\n const dto = new NotificationRegistrationDTO();\n dto.userId = userId;\n dto.pushToken = pushToken;\n dto.firebaseToken = firebaseToken;\n dto.devicePlatformType = Mapper.MapDevicePlatformType(platform);\n dto.companyType = Mapper.MapCompanyType(companyType);\n\n return ApiHelper.ParseDTO(() => this._notificationClient.registerToken(dto));\n }\n\n public async GetUserNotifcations() : Promise>{\n return await this._notificationClient.userNotifications();\n }\n\n public async SetUserNotifcationRead(userNotificationId : string) : Promise{\n return await this._notificationClient.notificationRead(userNotificationId);\n }\n\n public async DeleteNotificationByUid(userNotificationId : string) : Promise {\n return await this._notificationClient.deleteNotification(userNotificationId);\n }\n}","import {\n RoleDTO,\n IdentityClient_V1\n} from './generated/api.generated.v1';\nimport ApiConfig from './ApiConfig';\nimport ApiHelper from '../utils/ApiHelper';\n\nexport default class RoleService {\n private readonly _identityClient: IdentityClient_V1;\n\n constructor() {\n this._identityClient = new IdentityClient_V1(new ApiConfig(), process.env.VUE_APP_API_V1_URL);\n }\n\n public GetRoles(): Promise> {\n return this._identityClient.getRoles();\n }\n\n public SaveRole(dto: RoleDTO): Promise {\n if (dto.id) {\n return ApiHelper.ParseDTO(() => this._identityClient.updateRole(dto.id, dto));\n }\n\n dto.isSystemRole = false;\n\n return ApiHelper.ParseDTO(() => this._identityClient.createRole(dto));\n }\n\n public DeleteRole(id: string) : Promise {\n return ApiHelper.ParseDTO(() => this._identityClient.deleteRole(id));\n }\n}","import { VehicleDTO } from './generated/api.generated.v2';\nimport {\n ForgotPasswordDTO,\n EmailConfirmationDTO,\n IdentityClient_V1,\n RegisterDTO,\n ResetPasswordDTO,\n UserDTO,\n UpdateUserDTO,\n ChangePasswordDTO,\n ProfileDTO,\n} from './generated/api.generated.v1';\nimport ApiConfig from './ApiConfig';\nimport ApiHelper from '../utils/ApiHelper';\nimport Mapper from '../utils/Mapper';\n\nexport default class UserService {\n private readonly _identityClient: IdentityClient_V1;\n\n constructor() {\n this._identityClient = new IdentityClient_V1(new ApiConfig(), process.env.VUE_APP_API_V1_URL);\n }\n\n public Register(dto: RegisterDTO): Promise {\n return ApiHelper.ParseDTO(() => this._identityClient.register(dto));\n }\n\n public ConfirmEmail(dto: EmailConfirmationDTO): Promise {\n return ApiHelper.ParseDTO(() => this._identityClient.confirmEmail(dto));\n }\n\n public ForgotPassword(email: string, company: string) {\n const dto = new ForgotPasswordDTO();\n dto.email = email;\n dto.companyType = Mapper.MapCompanyType(company);\n\n return this._identityClient.forgotPassword(dto);\n }\n\n public ResetPassword(email: string, code: string, password: string, confirmPassword: string) {\n const dto = new ResetPasswordDTO();\n dto.email = email;\n dto.token = code;\n dto.password = password;\n dto.confirmPassword = confirmPassword;\n\n return ApiHelper.ParseDTO(() => this._identityClient.resetPassword(dto));\n }\n\n public async GetUserVins(user: string): Promise> {\n return this._identityClient.getUserVins(user);\n }\n\n public async GetUsers(search: string): Promise> {\n return this._identityClient.getUsers(search);\n }\n\n public async ToggleLockout(userId: string): Promise {\n void (await this._identityClient.toggleLockout(userId));\n }\n\n public async UpdateUser(user: UserDTO): Promise {\n const dto = new UpdateUserDTO();\n dto.userId = user.userId;\n dto.firstName = user.firstName ?? '';\n dto.lastName = user.lastName ?? '';\n dto.roles = user.roles;\n\n return ApiHelper.ParseDTO(() => this._identityClient.updateUser(dto.userId, dto));\n }\n\n public async SendConfirmationEmail(userId: string): Promise {\n void (await this._identityClient.sendConfirmEmail(userId));\n }\n\n public async ChangePassword(\n currentPassword: string,\n newPassword: string,\n confirmPassword: string\n ): Promise {\n const dto = new ChangePasswordDTO();\n dto.currentPassword = currentPassword;\n dto.newPassword = newPassword;\n dto.confirmPassword = confirmPassword;\n\n return await ApiHelper.ParseDTO(() => this._identityClient.changePassword(dto));\n }\n\n public async GetProfile(userId: string): Promise {\n return this._identityClient.getProfile(userId);\n }\n\n public async UpdateProfile(profile: ProfileDTO): Promise {\n return ApiHelper.ParseDTO(() => this._identityClient.updateProfile(profile.userId, profile));\n }\n}\n","import {\n ApiResultDTO,\n BrandDTO,\n ClaimDTO,\n CompanyTypes,\n ImageDTO,\n InviteConsumerUserDTO,\n RecallDTO,\n SalesOrderDTO,\n UpdateVinRegistrationDTO,\n UserDTO,\n ViewVinRegistrationDTO,\n VinRegistrationDTO,\n VinClient_V1,\n VinDTO,\n VinOwnerRegistrationDTO\n} from './generated/api.generated.v1';\nimport ApiConfig from './ApiConfig';\nimport { ApiHelper } from 'src/utils';\n\nexport default class VehicleService {\n private readonly _vinClient: VinClient_V1;\n\n constructor() {\n this._vinClient = new VinClient_V1(new ApiConfig(), process.env.VUE_APP_API_V1_URL);\n }\n\n private static instance: VehicleService;\n\n public static GetInstance(): VehicleService {\n if (!VehicleService.instance) {\n VehicleService.instance = new VehicleService();\n }\n\n return VehicleService.instance;\n }\n\n GetClaims(vinUid: string): Promise> {\n return this._vinClient.getClaims(vinUid);\n }\n\n GetImage(vinUid: string): Promise {\n return this._vinClient.getImageByUid(vinUid);\n }\n\n GetRecalls(vinUid: string): Promise> {\n return this._vinClient.getRecalls(vinUid);\n }\n\n GetSalesOrders(vinUid: string): Promise> {\n return this._vinClient.getSalesOrders(vinUid);\n }\n\n GetVin(vinUid: string): Promise {\n return this._vinClient.getByUid(vinUid);\n }\n\n GetVinUsers(vinUid: string): Promise> {\n return this._vinClient.getVinUsers(vinUid);\n }\n\n GetVinRegistrations(): Promise> {\n return this._vinClient.userVinRegistrations();\n }\n\n GetVinRegistration(vinRegistrationUid: string): Promise {\n return this._vinClient.userVinRegistration(vinRegistrationUid);\n }\n\n InviteConsumerUser(vinUid: string, email: string, companyType: CompanyTypes): Promise {\n const dto = new InviteConsumerUserDTO();\n\n dto.email = email;\n dto.vinUid = vinUid;\n dto.companyType = companyType;\n\n return ApiHelper.ParseDTO(() => this._vinClient.inviteConsumerUser(vinUid, dto));\n }\n\n SendConsumerUserInvitationEmail(vinUid: string, userId: string): Promise {\n return this._vinClient.sendConsumerUserInvitation(vinUid, userId);\n }\n\n RegisterOwner(dto: VinOwnerRegistrationDTO): Promise {\n return ApiHelper.ParseDTO(() => this._vinClient.registerOwner(dto));\n }\n\n RemoveConsumerUser(vinUid: string, userId: string): Promise {\n return this._vinClient.removeConsumerUser(vinUid, userId);\n }\n\n UpdateVinRegistration(dto: UpdateVinRegistrationDTO): Promise {\n return ApiHelper.ParseDTO(() => this._vinClient.register(dto, dto.vehicleUid));\n }\n\n DeactiveateRegistration(vehicleUid: string): Promise {\n return ApiHelper.ParseDTO(() => this._vinClient.deactivateRegistration(vehicleUid));\n }\n\n RemoveConsumerVinRegistration(vehicleUid: string, userId: string): Promise {\n return ApiHelper.ParseDTO(() => this._vinClient.removeConsumerVinRegistration(vehicleUid, userId));\n }\n\n UserVehicleBrands(): Promise> {\n return this._vinClient.userVehicleBrands();\n }\n}\n","import { Config } from './generated/api.generated.v1';\nimport AuthService from './AuthService';\nimport axios, { AxiosRequestConfig, InternalAxiosRequestConfig, AxiosRequestHeaders, AxiosResponse } from 'axios';\n\nconst MAX_AUTH_RETRY = 1;\n\nexport default class ApiConfig implements Config {\n private static unAuthorizedHandlers: Array<() => void>;\n\n transformHeaders(options: AxiosRequestConfig): InternalAxiosRequestConfig {\n const castedOptions = options;\n // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment\n castedOptions.headers = {\n ...castedOptions.headers,\n Authorization: this.getAuthorization()\n };\n\n return castedOptions;\n }\n\n async transformResult(\n url: string,\n response: AxiosResponse,\n processor: (response: AxiosResponse) => Promise // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n const isFromLogin: boolean = (response.config.url?.toLowerCase()?.indexOf('login') ?? 0) > -1;\n\n if (response.status == 401 && !isFromLogin) {\n await this._tryRefreshToken(response);\n }\n\n return processor(response);\n }\n\n private static _authRetryCount = 0;\n\n private async _tryRefreshToken(response: AxiosResponse) {\n if (!AuthService.GetToken()) {\n ApiConfig.FireUnauthorizedHandlers();\n } else if (ApiConfig._authRetryCount < MAX_AUTH_RETRY) {\n await this._retryRequest(response);\n } else {\n ApiConfig.FireUnauthorizedHandlers();\n }\n }\n\n private async _retryRequest(response: AxiosResponse) {\n ApiConfig._authRetryCount++;\n\n try {\n await new AuthService().RefreshToken();\n }\n catch (e) {\n ApiConfig.FireUnauthorizedHandlers();\n return;\n }\n\n response.config = this.transformHeaders(response.config);\n\n response = await axios.request(response.config);\n if (response.status == 401) {\n ApiConfig.FireUnauthorizedHandlers();\n return;\n }\n }\n\n getAuthorization(): string {\n return `Bearer ${AuthService.GetToken()}`;\n }\n\n static AddUnauthorizedHandler(handler: () => void) {\n if (ApiConfig.unAuthorizedHandlers == undefined)\n ApiConfig.unAuthorizedHandlers = new Array<() => void>();\n\n ApiConfig.unAuthorizedHandlers.push(handler);\n }\n\n static FireUnauthorizedHandlers() {\n ApiConfig.unAuthorizedHandlers.forEach(x => x());\n ApiConfig._authRetryCount = 0;\n }\n}","export class GlobalEvents {\n static readonly RefreshData = 'RefreshData';\n}\n","/**\n * THIS FILE IS GENERATED AUTOMATICALLY.\n * DO NOT EDIT.\n *\n * You are probably looking on adding startup/initialization code.\n * Use \"quasar new boot \" and add it there.\n * One boot file per concern. Then reference the file(s) in quasar.conf.js > boot:\n * boot: ['file', ...] // do not add \".js\" extension to it.\n *\n * Boot files are your \"main.js\"\n **/\n\nimport lang from 'quasar/lang/en-us'\n\nimport iconSet from 'quasar/icon-set/material-icons'\n\n\nimport Vue from 'vue'\n\nimport {Quasar,Loading,Dialog,Notify} from 'quasar'\n\n\nVue.use(Quasar, { config: {\"loading\":{\"delay\":400,\"message\":\"Loading\",\"spinnerColor\":\"secondary\",\"customClass\":\"loading-overlay\"},\"capacitor\":{\"iosStatusBarPadding\":true,\"backButtonExit\":[\"/\",\"/login\",\"/welcome\"],\"backButton\":true}},lang: lang,iconSet: iconSet,plugins: {Loading,Dialog,Notify} })\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"q-app\"}},[_c('div',{style:(_vm.is_iOS_noToolBar ? { 'margin-top': '45px' } : {})},[_c('environment-banner')],1),_c('router-view')],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { App, URLOpenListenerEvent } from '@capacitor/app';\nimport { PluginListenerHandle } from '@capacitor/core';\nimport VueRouter, { RawLocation } from 'vue-router'\nimport { RouteNames } from './routes';\n\nexport default class UniversalLinkRouter {\n\n static AddAppUrlOpenListener(vueRouter: VueRouter) : PluginListenerHandle {\n return App.addListener('appUrlOpen', (data: URLOpenListenerEvent) => {\n UniversalLinkRouter.AppUrlOpenCallback(data, vueRouter);\n })\n }\n\n static AppUrlOpenCallback(data: URLOpenListenerEvent, vueRouter: VueRouter) {\n if (data && data.url) {\n UniversalLinkRouter.RouteToLinkUrl(data.url, vueRouter);\n }\n }\n\n private static RouteToLinkUrl(url: string, vueRouter: VueRouter) {\n const path = UniversalLinkRouter.GetPath(url);;\n\n const urlParams = UniversalLinkRouter.GetQueryParams(url);;\n\n if (path.startsWith('/confirm-email')) {\n void vueRouter.push({ name: RouteNames.ConfirmEmail, query: { code: urlParams.get('code'), id: urlParams.get('id'), companytype: urlParams.get('companytype')} });\n\n } else if (path.startsWith('/register')) {\n const route: RawLocation = urlParams.get('code')\n ? { name: RouteNames.Register, query: { code: urlParams.get('code'), id: urlParams.get('id'), email: urlParams.get('email') } }\n : { name: RouteNames.Register }\n\n void vueRouter.push(route);\n\n } else if (path.startsWith('/reset-password')) {\n void vueRouter.push({ name: RouteNames.ResetPassword, query: { email: urlParams.get('email'), token: urlParams.get('token') } });\n\n }\n }\n\n private static GetPath(url: string): string {\n const hashPosition = url.indexOf('#');\n\n return hashPosition > -1\n ? url.substring(hashPosition + 1)\n : '';\n }\n\n private static GetQueryParams(url: string): URLSearchParams {\n const paramsPosition = url.indexOf('?');\n\n return paramsPosition > -1\n ? new URLSearchParams(url.substring(paramsPosition + 1))\n : new URLSearchParams();\n }\n}","\n\n\n\n\n\n\n\n\nimport { Vue, Component } from 'vue-property-decorator';\nimport { AuthService } from './services';\nimport ApiConfig from './services/ApiConfig';\nimport UniversalLinkRouter from 'src/router/universalLinkRouter';\nimport { PluginListenerHandle } from '@capacitor/core';\nimport { App as AppPlugin, AppState} from '@capacitor/app';\nimport { SplashScreen } from '@capacitor/splash-screen';\nimport { GlobalEvents } from './constants/GlobalEvents';\nimport { RouteNames } from './router/routes';\nimport { RawLocation } from 'vue-router';\nimport EnvironmentBanner from 'src/components/EnvironmentBanner.vue';\n\n\n@Component({\n components: { EnvironmentBanner }\n})\nexport default class App extends Vue {\n private readonly authService: AuthService = new AuthService();\n\n appStateChangeListener: PluginListenerHandle | null = null;\n appUrlOpenListener: PluginListenerHandle | null = null;\n\n created(): void {\n ApiConfig.AddUnauthorizedHandler(() => {\n this.authService\n .Logout()\n .catch(e => {\n console.error(e);\n })\n .finally(() => {\n if (this.$route.name !== RouteNames.Login && this.$route.name !== RouteNames.SplashScreen) {\n const route: RawLocation = { path: '/login' };\n\n if (this.$route.fullPath !== '/') {\n route.query = { redirect: this.$route.fullPath };\n }\n\n void this.$router.push(route);\n }\n\n if (this.$q.loading.isActive) {\n this.$nextTick(() => {\n this.$q.loading.hide();\n });\n }\n });\n });\n\n if (this.isNative) {\n void SplashScreen.hide();\n this.setNativeListeners();\n }\n }\n\n get isNative() {\n return this.$tStore.state.setting.platform != 'web';\n }\n\n get is_iOS_noToolBar() {\n const noToolBar: Array = [\n RouteNames.Login,\n RouteNames.SplashScreen,\n RouteNames.CompanyToggle,\n ];\n return (\n this.isNative && this.$tStore.state.setting.platform === 'ios' && noToolBar.includes(this.$route.name)\n );\n }\n\n setNativeListeners() {\n this.appStateChangeListener = AppPlugin.addListener('appStateChange', (state: AppState) => {\n if (state.isActive) {\n this.$root.$emit(GlobalEvents.RefreshData);\n }\n });\n\n this.appUrlOpenListener = UniversalLinkRouter.AddAppUrlOpenListener(this.$router);\n }\n\n destroyed() {\n if (this.appStateChangeListener) {\n void this.appStateChangeListener.remove();\n }\n\n if (this.appUrlOpenListener) {\n void this.appUrlOpenListener.remove();\n }\n }\n}\n","import mod from \"-!../node_modules/@quasar/app/lib/webpack/loader.transform-quasar-imports.js!../node_modules/ts-loader/index.js??ref--3-0!../node_modules/@quasar/app/lib/webpack/loader.auto-import-client.js?kebab!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../node_modules/@quasar/app/lib/webpack/loader.transform-quasar-imports.js!../node_modules/ts-loader/index.js??ref--3-0!../node_modules/@quasar/app/lib/webpack/loader.auto-import-client.js?kebab!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=59100464&\"\nimport script from \"./App.vue?vue&type=script&lang=ts&\"\nexport * from \"./App.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { route } from 'quasar/wrappers';\nimport { AuthService, LoggingService } from 'src/services';\nimport VueRouter, { Route, NavigationGuardNext, RawLocation } from 'vue-router';\nimport { routes, RouteNames } from './routes';\nimport { AppStore } from 'src/store';\nimport { Loading } from 'quasar';\nimport { ApiException } from 'src/services/generated/api.generated.v1';\n\n/*\n * If not building with SSR mode, you can\n * directly export the Router instantiation\n */\n\nconst authService = new AuthService();\n\nconst publicPages: Array = [\n RouteNames.Login,\n RouteNames.ForgotPassword,\n RouteNames.ResetPassword,\n RouteNames.Register,\n RouteNames.ConfirmEmail,\n RouteNames.SplashScreen,\n RouteNames.CompanyToggle\n];\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction handleApiError(err: any, processRoute: () => void) {\n const apiException = err as ApiException;\n\n if (err || (apiException && apiException.status !== 401)) {\n LoggingService.LogError(err);\n }\n\n processRoute();\n}\n\n\nfunction tryUpdateRefreshToken(): Promise {\n return new Promise((resolve, reject) => { \n authService.RefreshToken().then(async (authResult) => {\n AppStore.commit('user/updateUserState', authResult);\n const isAuthenticated = authResult?.succeeded === true;\n \n if (Loading.isActive) {\n Loading.hide();\n }\n \n await AppStore.dispatch('setting/setSettings');\n await AppStore.dispatch('consumerInformation/loadContentLinks');\n resolve(isAuthenticated);\n }).catch((err) => {\n reject(err);\n }); \n });\n}\n\n\nfunction authGuard(to: Route, from: Route, next: NavigationGuardNext) {\n const user = AppStore.state.user;\n const token = AuthService.GetUserToken();\n const isAuthenticated: boolean = token !== null && user.id !== null;\n\n const isPublicPage = () => (publicPages.indexOf(to.name as string) > -1);\n\n const processRoute = (authenticatedForRoute: boolean) => {\n if (!isPublicPage() && !authenticatedForRoute) {\n const nextRoute: RawLocation = to.fullPath !== '/'\n ? { path: '/login', query: { redirect: to.fullPath }}\n : { path: '/welcome' };\n\n next(nextRoute);\n } else if (to.name != RouteNames.AcceptTermsConditions && user && !user.termsAndConditionsAccepted && isAuthenticated) {\n next({ path: '/accept-terms-conditions' })\n } else {\n next();\n }\n }\n\n if (!isAuthenticated && !isPublicPage()) {\n tryUpdateRefreshToken()\n .then((refreshSuccess) => {\n processRoute(refreshSuccess)\n })\n .catch((err) => {\n handleApiError(err, () => processRoute(false));\n });\n } else {\n processRoute(isAuthenticated);\n }\n};\n\nexport default route(function ({ Vue }) {\n Vue.use(VueRouter);\n\n const Router = new VueRouter({\n scrollBehavior: () => ({ x: 0, y: 0 }),\n routes,\n\n // Leave these as is and change from quasar.conf.js instead!\n // quasar.conf.js -> build -> vueRouterMode\n // quasar.conf.js -> build -> publicPath\n mode: process.env.VUE_ROUTER_MODE,\n base: process.env.VUE_ROUTER_BASE\n });\n\n Router.beforeEach(authGuard);\n\n return Router;\n});\n","/**\n * THIS FILE IS GENERATED AUTOMATICALLY.\n * DO NOT EDIT.\n *\n * You are probably looking on adding startup/initialization code.\n * Use \"quasar new boot \" and add it there.\n * One boot file per concern. Then reference the file(s) in quasar.conf.js > boot:\n * boot: ['file', ...] // do not add \".js\" extension to it.\n *\n * Boot files are your \"main.js\"\n **/\n\n\n\nimport Vue from 'vue'\nimport './import-quasar.js'\n\n\n\nimport App from 'app/src/App.vue'\n\n\nimport createStore from 'app/src/store/index'\n\nimport createRouter from 'app/src/router/index'\n\n\n\n\nexport default async function () {\n // create store and router instances\n \n const store = typeof createStore === 'function'\n ? await createStore({Vue})\n : createStore\n \n const router = typeof createRouter === 'function'\n ? await createRouter({Vue, store})\n : createRouter\n \n // make router instance available in store\n store.$router = router\n \n\n // Create the app instantiation Object.\n // Here we inject the router, store to all child components,\n // making them available everywhere as `this.$router` and `this.$store`.\n const app = {\n router,\n store,\n render: h => h(App)\n }\n\n\n \n app.el = '#q-app'\n \n\n // expose the app, the router and the store.\n // note we are not mounting the app here, since bootstrapping will be\n // different depending on whether we are in a browser or on the server.\n return {\n app,\n store,\n router\n }\n}\n","import axios, { AxiosInstance } from 'axios';\nimport { boot } from 'quasar/wrappers';\n\ndeclare module 'vue/types/vue' {\n interface Vue {\n $axios: AxiosInstance;\n }\n}\n\nexport default boot(({ Vue }) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n Vue.prototype.$axios = axios;\n});\n","import { Store } from 'vuex';\nimport { boot } from 'quasar/wrappers';\nimport { StateInterface } from '../store';\n\n// Add a typed version of the store to Vue's interface.\ndeclare module 'vue/types/vue' {\n interface Vue {\n $tStore: Store;\n }\n}\n\n// Alias the store in the prototype as the typed version.\nexport default boot(({ app, Vue }) => {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n Vue.prototype.$tStore = app.store;\n});\n","import { ThemeColors } from '../theme/ThemeColors';\nimport { StateInterface } from '../store';\nimport { Store } from 'vuex';\nimport { Device, DeviceInfo } from '@capacitor/device';\nimport { StatusBar, Style } from '@capacitor/status-bar';\nimport { App, AppInfo } from '@capacitor/app';\n\nexport default class ThemeInitializer {\n static async Initialize(store: unknown): Promise {\n const deviceInfo: DeviceInfo = await Device.getInfo();\n const isMobile = deviceInfo.platform === 'ios' || deviceInfo.platform === 'android';\n\n const appInfo: AppInfo | null = isMobile ? await App.getInfo() : null;\n\n const company = ThemeInitializer.GetCompany(appInfo, isMobile);\n\n ThemeColors.setCompanyColorTheme(company, !isMobile);\n\n if (deviceInfo.platform === 'ios') {\n await StatusBar.setStyle({\n style: Style.Dark\n });\n } \n\n const typedStore = store as Store;\n\n if (typedStore) {\n void typedStore.dispatch('setting/setCompany', company);\n typedStore.commit('setting/setPlatform', deviceInfo.platform);\n }\n }\n\n static GetCompany(appInfo: AppInfo | null, isMobile: boolean) {\n if (isMobile && appInfo) {\n return ThemeInitializer.getCompanyFromAppId(appInfo);\n }\n\n return ThemeInitializer.getCompanyFromUrl();\n }\n\n private static getCompanyFromAppId(appInfo: AppInfo) {\n const appIdParts = appInfo.id.split('.');\n const company = appIdParts[appIdParts.length - 1];\n\n return company.toUpperCase();\n }\n\n private static getCompanyFromUrl() {\n const url = window.location.href;\n\n if (process.env.CRV_URL && url.startsWith(process.env.CRV_URL)) {\n return 'CRV';\n }\n\n if (process.env.DRV_URL && url.startsWith(process.env.DRV_URL)) {\n return 'DRV'\n }\n\n // fallback to HRV\n return 'HRV';\n }\n}\n","import { StateInterface } from '../store';\nimport { Store } from 'vuex';\n\nexport default class GoogleTagManager {\n static Install(store: unknown): void {\n\n const typedStore = store as Store;\n\n let tagId = process.env.HRV_TagID; \n switch (typedStore.state.setting.company) {\n case 'CRV':\n tagId = process.env.CRV_TagID;\n break;\n case 'DRV':\n tagId = process.env.DRV_TagID;\n break;\n default:\n tagId = process.env.HRV_TagID;\n break;\n }\n\n const googleTagInstall = `(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':\n new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],\n j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=\n 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);\n })(window,document,'script','dataLayer','${tagId}');` \n\n const googleTagManager = document.getElementById('google-tag-manager');\n\n if(googleTagManager){\n googleTagManager.append(googleTagInstall);\n }\n }\n}\n","import { boot } from 'quasar/wrappers'\nimport ThemeInitializer from 'src/theme/ThemeInitializer';\nimport GoogleTagManager from 'src/theme/GoogleTagManager';\n\nexport default boot(async ({ store }) => {\n await ThemeInitializer.Initialize(store);\n GoogleTagManager.Install(store);\n});\n","/* eslint-disable */\n\nexport default {\n logEvent(category, action, label, sessionId = '') {\n window.dataLayer.push({\n 'appEventCategory': category,\n 'appEventAction': action,\n 'appEventLabel': label,\n 'sessionId': sessionId\n })\n window.dataLayer.push({ 'event': 'appEvent' })\n },\n \n logPage(to, from, sessionId = '') {\n window.dataLayer.push({\n 'screenPath': to.path,\n 'screenName': to.name,\n 'sessionID': sessionId,\n 'screenFullPath': window.location.origin,\n 'screenReffer': from.path,\n\n })\n window.dataLayer.push({ 'event': 'appScreenView' })\n }\n }","/* eslint-disable */\n\nimport ga from 'src/components/analytics.js'\nimport { StorageKeys } from 'src/constants/StorageKeys';\n\nexport default ({ router }) => {\n router.afterEach((to, from) => {\n const userId = window.localStorage.getItem(StorageKeys.USERID);\n ga.logPage(to, from, userId)\n })\n}","/**\n * THIS FILE IS GENERATED AUTOMATICALLY.\n * DO NOT EDIT.\n *\n * You are probably looking on adding startup/initialization code.\n * Use \"quasar new boot \" and add it there.\n * One boot file per concern. Then reference the file(s) in quasar.conf.js > boot:\n * boot: ['file', ...] // do not add \".js\" extension to it.\n *\n * Boot files are your \"main.js\"\n **/\n\n\n\nimport '@quasar/extras/mdi-v5/mdi-v5.css'\n\nimport '@quasar/extras/material-icons-outlined/material-icons-outlined.css'\n\nimport '@quasar/extras/roboto-font/roboto-font.css'\n\nimport '@quasar/extras/material-icons/material-icons.css'\n\n\n\nimport '@quasar/extras/animate/fadeIn.css'\n\nimport '@quasar/extras/animate/fadeOut.css'\n\n\n// We load Quasar stylesheet file\nimport 'quasar/dist/quasar.sass'\n\n\n\n\nimport 'src/css/app.scss'\n\nimport '@quasar/quasar-app-extension-qpdfviewer/src/component/pdfviewer.sass'\n\n\nimport Vue from 'vue'\nimport createApp from './app.js'\n\n\n\n\nimport qboot_Booti18n from 'boot/i18n'\n\nimport qboot_Bootaxios from 'boot/axios'\n\nimport qboot_BoottypedStore from 'boot/typedStore'\n\nimport qboot_BootthemeInitializer from 'boot/themeInitializer'\n\nimport qboot_Bootgoogleanalytics from 'boot/google-analytics'\n\nimport qboot_Quasarquasarappextensionqpdfviewersrcbootqpdfviewerjs from '@quasar/quasar-app-extension-qpdfviewer/src/boot/qpdfviewer.js'\n\n\n\n\n\n\n\n\n\n\n\n\nconst publicPath = ``\n\n\nasync function start () {\n const { app, store, router } = await createApp()\n\n \n\n \n let hasRedirected = false\n const redirect = url => {\n hasRedirected = true\n const normalized = Object(url) === url\n ? router.resolve(url).route.fullPath\n : url\n\n window.location.href = normalized\n }\n\n const urlPath = window.location.href.replace(window.location.origin, '')\n const bootFiles = [qboot_Booti18n,qboot_Bootaxios,qboot_BoottypedStore,qboot_BootthemeInitializer,qboot_Bootgoogleanalytics,qboot_Quasarquasarappextensionqpdfviewersrcbootqpdfviewerjs]\n\n for (let i = 0; hasRedirected === false && i < bootFiles.length; i++) {\n if (typeof bootFiles[i] !== 'function') {\n continue\n }\n\n try {\n await bootFiles[i]({\n app,\n router,\n store,\n Vue,\n ssrContext: null,\n redirect,\n urlPath,\n publicPath\n })\n }\n catch (err) {\n if (err && err.url) {\n window.location.href = err.url\n return\n }\n\n console.error('[Quasar] boot error:', err)\n return\n }\n }\n\n if (hasRedirected === true) {\n return\n }\n \n\n \n\n \n\n \n\n \n new Vue(app)\n \n\n \n\n \n\n \n\n}\n\nstart()\n","var map = {\n\t\"./af\": \"2bfb\",\n\t\"./af.js\": \"2bfb\",\n\t\"./ar\": \"8e73\",\n\t\"./ar-dz\": \"a356\",\n\t\"./ar-dz.js\": \"a356\",\n\t\"./ar-kw\": \"423e\",\n\t\"./ar-kw.js\": \"423e\",\n\t\"./ar-ly\": \"1cfd\",\n\t\"./ar-ly.js\": \"1cfd\",\n\t\"./ar-ma\": \"0a84\",\n\t\"./ar-ma.js\": \"0a84\",\n\t\"./ar-sa\": \"8230\",\n\t\"./ar-sa.js\": \"8230\",\n\t\"./ar-tn\": \"6d83\",\n\t\"./ar-tn.js\": \"6d83\",\n\t\"./ar.js\": \"8e73\",\n\t\"./az\": \"485c\",\n\t\"./az.js\": \"485c\",\n\t\"./be\": \"1fc1\",\n\t\"./be.js\": \"1fc1\",\n\t\"./bg\": \"84aa\",\n\t\"./bg.js\": \"84aa\",\n\t\"./bm\": \"a7fa\",\n\t\"./bm.js\": \"a7fa\",\n\t\"./bn\": \"9043\",\n\t\"./bn-bd\": \"9686\",\n\t\"./bn-bd.js\": \"9686\",\n\t\"./bn.js\": \"9043\",\n\t\"./bo\": \"d26a\",\n\t\"./bo.js\": \"d26a\",\n\t\"./br\": \"6887\",\n\t\"./br.js\": \"6887\",\n\t\"./bs\": \"2554\",\n\t\"./bs.js\": \"2554\",\n\t\"./ca\": \"d716\",\n\t\"./ca.js\": \"d716\",\n\t\"./cs\": \"3c0d\",\n\t\"./cs.js\": \"3c0d\",\n\t\"./cv\": \"03ec\",\n\t\"./cv.js\": \"03ec\",\n\t\"./cy\": \"9797\",\n\t\"./cy.js\": \"9797\",\n\t\"./da\": \"0f14\",\n\t\"./da.js\": \"0f14\",\n\t\"./de\": \"b469\",\n\t\"./de-at\": \"b3eb\",\n\t\"./de-at.js\": \"b3eb\",\n\t\"./de-ch\": \"bb71\",\n\t\"./de-ch.js\": \"bb71\",\n\t\"./de.js\": \"b469\",\n\t\"./dv\": \"598a\",\n\t\"./dv.js\": \"598a\",\n\t\"./el\": \"8d47\",\n\t\"./el.js\": \"8d47\",\n\t\"./en-au\": \"0e6b\",\n\t\"./en-au.js\": \"0e6b\",\n\t\"./en-ca\": \"3886\",\n\t\"./en-ca.js\": \"3886\",\n\t\"./en-gb\": \"39a6\",\n\t\"./en-gb.js\": \"39a6\",\n\t\"./en-ie\": \"e1d3\",\n\t\"./en-ie.js\": \"e1d3\",\n\t\"./en-il\": \"7333\",\n\t\"./en-il.js\": \"7333\",\n\t\"./en-in\": \"ec2e\",\n\t\"./en-in.js\": \"ec2e\",\n\t\"./en-nz\": \"6f50\",\n\t\"./en-nz.js\": \"6f50\",\n\t\"./en-sg\": \"b7e9\",\n\t\"./en-sg.js\": \"b7e9\",\n\t\"./eo\": \"65db\",\n\t\"./eo.js\": \"65db\",\n\t\"./es\": \"898b\",\n\t\"./es-do\": \"0a3c\",\n\t\"./es-do.js\": \"0a3c\",\n\t\"./es-mx\": \"b5b7\",\n\t\"./es-mx.js\": \"b5b7\",\n\t\"./es-us\": \"55c9\",\n\t\"./es-us.js\": \"55c9\",\n\t\"./es.js\": \"898b\",\n\t\"./et\": \"ec18\",\n\t\"./et.js\": \"ec18\",\n\t\"./eu\": \"0ff2\",\n\t\"./eu.js\": \"0ff2\",\n\t\"./fa\": \"8df4\",\n\t\"./fa.js\": \"8df4\",\n\t\"./fi\": \"81e9\",\n\t\"./fi.js\": \"81e9\",\n\t\"./fil\": \"d69a\",\n\t\"./fil.js\": \"d69a\",\n\t\"./fo\": \"0721\",\n\t\"./fo.js\": \"0721\",\n\t\"./fr\": \"9f26\",\n\t\"./fr-ca\": \"d9f8\",\n\t\"./fr-ca.js\": \"d9f8\",\n\t\"./fr-ch\": \"0e49\",\n\t\"./fr-ch.js\": \"0e49\",\n\t\"./fr.js\": \"9f26\",\n\t\"./fy\": \"7118\",\n\t\"./fy.js\": \"7118\",\n\t\"./ga\": \"5120\",\n\t\"./ga.js\": \"5120\",\n\t\"./gd\": \"f6b4\",\n\t\"./gd.js\": \"f6b4\",\n\t\"./gl\": \"8840\",\n\t\"./gl.js\": \"8840\",\n\t\"./gom-deva\": \"aaf2\",\n\t\"./gom-deva.js\": \"aaf2\",\n\t\"./gom-latn\": \"0caa\",\n\t\"./gom-latn.js\": \"0caa\",\n\t\"./gu\": \"e0c5\",\n\t\"./gu.js\": \"e0c5\",\n\t\"./he\": \"c7aa\",\n\t\"./he.js\": \"c7aa\",\n\t\"./hi\": \"dc4d\",\n\t\"./hi.js\": \"dc4d\",\n\t\"./hr\": \"4ba9\",\n\t\"./hr.js\": \"4ba9\",\n\t\"./hu\": \"5b14\",\n\t\"./hu.js\": \"5b14\",\n\t\"./hy-am\": \"d6b6\",\n\t\"./hy-am.js\": \"d6b6\",\n\t\"./id\": \"5038\",\n\t\"./id.js\": \"5038\",\n\t\"./is\": \"0558\",\n\t\"./is.js\": \"0558\",\n\t\"./it\": \"6e98\",\n\t\"./it-ch\": \"6f12\",\n\t\"./it-ch.js\": \"6f12\",\n\t\"./it.js\": \"6e98\",\n\t\"./ja\": \"079e\",\n\t\"./ja.js\": \"079e\",\n\t\"./jv\": \"b540\",\n\t\"./jv.js\": \"b540\",\n\t\"./ka\": \"201b\",\n\t\"./ka.js\": \"201b\",\n\t\"./kk\": \"6d79\",\n\t\"./kk.js\": \"6d79\",\n\t\"./km\": \"e81d\",\n\t\"./km.js\": \"e81d\",\n\t\"./kn\": \"3e92\",\n\t\"./kn.js\": \"3e92\",\n\t\"./ko\": \"22f8\",\n\t\"./ko.js\": \"22f8\",\n\t\"./ku\": \"2421\",\n\t\"./ku.js\": \"2421\",\n\t\"./ky\": \"9609\",\n\t\"./ky.js\": \"9609\",\n\t\"./lb\": \"440c\",\n\t\"./lb.js\": \"440c\",\n\t\"./lo\": \"b29d\",\n\t\"./lo.js\": \"b29d\",\n\t\"./lt\": \"26f9\",\n\t\"./lt.js\": \"26f9\",\n\t\"./lv\": \"b97c\",\n\t\"./lv.js\": \"b97c\",\n\t\"./me\": \"293c\",\n\t\"./me.js\": \"293c\",\n\t\"./mi\": \"688b\",\n\t\"./mi.js\": \"688b\",\n\t\"./mk\": \"6909\",\n\t\"./mk.js\": \"6909\",\n\t\"./ml\": \"02fb\",\n\t\"./ml.js\": \"02fb\",\n\t\"./mn\": \"958b\",\n\t\"./mn.js\": \"958b\",\n\t\"./mr\": \"39bd\",\n\t\"./mr.js\": \"39bd\",\n\t\"./ms\": \"ebe4\",\n\t\"./ms-my\": \"6403\",\n\t\"./ms-my.js\": \"6403\",\n\t\"./ms.js\": \"ebe4\",\n\t\"./mt\": \"1b45\",\n\t\"./mt.js\": \"1b45\",\n\t\"./my\": \"8689\",\n\t\"./my.js\": \"8689\",\n\t\"./nb\": \"6ce3\",\n\t\"./nb.js\": \"6ce3\",\n\t\"./ne\": \"3a39\",\n\t\"./ne.js\": \"3a39\",\n\t\"./nl\": \"facd\",\n\t\"./nl-be\": \"db29\",\n\t\"./nl-be.js\": \"db29\",\n\t\"./nl.js\": \"facd\",\n\t\"./nn\": \"b84c\",\n\t\"./nn.js\": \"b84c\",\n\t\"./oc-lnc\": \"167b\",\n\t\"./oc-lnc.js\": \"167b\",\n\t\"./pa-in\": \"f3ff\",\n\t\"./pa-in.js\": \"f3ff\",\n\t\"./pl\": \"8d57\",\n\t\"./pl.js\": \"8d57\",\n\t\"./pt\": \"f260\",\n\t\"./pt-br\": \"d2d4\",\n\t\"./pt-br.js\": \"d2d4\",\n\t\"./pt.js\": \"f260\",\n\t\"./ro\": \"972c\",\n\t\"./ro.js\": \"972c\",\n\t\"./ru\": \"957c\",\n\t\"./ru.js\": \"957c\",\n\t\"./sd\": \"6784\",\n\t\"./sd.js\": \"6784\",\n\t\"./se\": \"ffff\",\n\t\"./se.js\": \"ffff\",\n\t\"./si\": \"eda5\",\n\t\"./si.js\": \"eda5\",\n\t\"./sk\": \"7be6\",\n\t\"./sk.js\": \"7be6\",\n\t\"./sl\": \"8155\",\n\t\"./sl.js\": \"8155\",\n\t\"./sq\": \"c8f3\",\n\t\"./sq.js\": \"c8f3\",\n\t\"./sr\": \"cf1e\",\n\t\"./sr-cyrl\": \"13e9\",\n\t\"./sr-cyrl.js\": \"13e9\",\n\t\"./sr.js\": \"cf1e\",\n\t\"./ss\": \"52bd\",\n\t\"./ss.js\": \"52bd\",\n\t\"./sv\": \"5fbd\",\n\t\"./sv.js\": \"5fbd\",\n\t\"./sw\": \"74dc\",\n\t\"./sw.js\": \"74dc\",\n\t\"./ta\": \"3de5\",\n\t\"./ta.js\": \"3de5\",\n\t\"./te\": \"5cbb\",\n\t\"./te.js\": \"5cbb\",\n\t\"./tet\": \"576c\",\n\t\"./tet.js\": \"576c\",\n\t\"./tg\": \"3b1b\",\n\t\"./tg.js\": \"3b1b\",\n\t\"./th\": \"10e8\",\n\t\"./th.js\": \"10e8\",\n\t\"./tk\": \"5aff\",\n\t\"./tk.js\": \"5aff\",\n\t\"./tl-ph\": \"0f38\",\n\t\"./tl-ph.js\": \"0f38\",\n\t\"./tlh\": \"cf75\",\n\t\"./tlh.js\": \"cf75\",\n\t\"./tr\": \"0e81\",\n\t\"./tr.js\": \"0e81\",\n\t\"./tzl\": \"cf51\",\n\t\"./tzl.js\": \"cf51\",\n\t\"./tzm\": \"c109\",\n\t\"./tzm-latn\": \"b53d\",\n\t\"./tzm-latn.js\": \"b53d\",\n\t\"./tzm.js\": \"c109\",\n\t\"./ug-cn\": \"6117\",\n\t\"./ug-cn.js\": \"6117\",\n\t\"./uk\": \"ada2\",\n\t\"./uk.js\": \"ada2\",\n\t\"./ur\": \"5294\",\n\t\"./ur.js\": \"5294\",\n\t\"./uz\": \"2e8c\",\n\t\"./uz-latn\": \"010e\",\n\t\"./uz-latn.js\": \"010e\",\n\t\"./uz.js\": \"2e8c\",\n\t\"./vi\": \"2921\",\n\t\"./vi.js\": \"2921\",\n\t\"./x-pseudo\": \"fd7e\",\n\t\"./x-pseudo.js\": \"fd7e\",\n\t\"./yo\": \"7f33\",\n\t\"./yo.js\": \"7f33\",\n\t\"./zh-cn\": \"5c3a\",\n\t\"./zh-cn.js\": \"5c3a\",\n\t\"./zh-hk\": \"49ab\",\n\t\"./zh-hk.js\": \"49ab\",\n\t\"./zh-mo\": \"3a6c\",\n\t\"./zh-mo.js\": \"3a6c\",\n\t\"./zh-tw\": \"90ea\",\n\t\"./zh-tw.js\": \"90ea\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"4678\";","import { CompanyTypes, DevicePlatformTypes, LookupTypeDTO } from 'src/services/generated/api.generated.v1';\nimport { CheckBoxListItem } from 'src/types/custom';\n\nexport default class Mapper {\n static MapCheckBoxList(lookup: LookupTypeDTO): CheckBoxListItem {\n return {\n selected: false,\n text: lookup.name,\n description: lookup.description,\n value: lookup.id && lookup.id > 0\n ? lookup.id : lookup.uid\n };\n }\n\n static MapDevicePlatformType(platform: string): DevicePlatformTypes {\n switch (platform) {\n case 'android':\n return DevicePlatformTypes.Android;\n case 'ios':\n return DevicePlatformTypes.Ios;\n case 'web':\n return DevicePlatformTypes.Web;\n default:\n return DevicePlatformTypes.Unknown;\n }\n }\n\n static MapCompanyType(companyType: string): CompanyTypes {\n switch (companyType) {\n case 'HRV':\n return CompanyTypes.HRV;\n case 'CRV':\n return CompanyTypes.CRV;\n case 'DRV':\n return CompanyTypes.DRV;\n default:\n return CompanyTypes.Unknown;\n }\n }\n\n static MapCompanyDisplayName(company: string): string {\n switch (company) {\n case 'CRV':\n return 'Cruiser RVs'\n case 'DRV':\n return 'DRV Suites'\n default:\n return 'Heartland RVs'\n }\n }\n\n static MapPortalName(company: string): string {\n switch (company) {\n case 'CRV':\n return 'MyCruiserRV'\n case 'DRV':\n return 'MyDRV'\n default:\n return 'MyHeartlandRV'\n }\n }\n}","// TODO: Hook up logging somewhere outside of local\n// TODO: Hook up page tracking with google analytics\nexport default class LoggingService {\n static LogErrors(errors: Array | null | undefined, data?: unknown) {\n if (errors) {\n console.error(errors.join(', '), data);\n }\n }\n\n static LogError(message: string, data?: unknown) {\n console.error(message, data);\n }\n\n static LogTrace(message: string) {\n console.log(message);\n }\n}","export default {\n // Main Layout\n mainLayout: {\n title: 'App Template',\n greeting: 'Hello, {user}!',\n changePassword: 'Change Password',\n editProfile: 'Edit Profile',\n logout: 'Logout',\n adminActions: 'Admin Actions',\n linkAddRetailStore: 'Retail Store',\n linkDashboard: 'Dashboard',\n linkDealerLocator: 'Dealer Locator',\n linkManageUsers: 'Manage Users',\n linkManageRoles: 'Manage Roles',\n linkManageEmails: 'Manage Emails',\n linkManageVehicles: 'My RV',\n linkNotifications: 'Notifications',\n linkInformationalVideos: 'How-To Videos',\n linkUnitInformation: 'Unit Information',\n linkSolar: 'Solar',\n linkSupport: 'Support',\n linkFaq: 'FAQ',\n linkChecklists: 'Checklists',\n linkBlogPosts: 'Campfire Stories',\n linkPodcasts: 'Podcasts',\n linkOwnersClubLink: \"Owner's Club\",\n linkOwnersForumLink: \"Owner's Forum\",\n },\n\n // 404 Page\n notFound: {\n message: 'Oops. Nothing here...',\n homeLink: 'Go Home'\n },\n\n // Login Page\n login: {\n title: 'Login',\n username: 'Email *',\n usernameRequired: 'Email is requried',\n password: 'Password *',\n passwordRequired: 'Password is required',\n rememberUsername: 'Remember Email',\n forgotPassword: 'Forgot password?',\n register: 'Register',\n signIn: 'Sign in'\n },\n\n /////////////////////////////////////////////////////////////////////////////////\n // Account\n\n changePassword: {\n title: 'Change Password',\n instructions: 'Please enter a new password:',\n currentPassword: 'Current Password *',\n currentPasswordRequired: 'Current Password is requried',\n newPassword: 'New Password *',\n newPasswordRequired: 'New Password is required',\n confirmNewPassword: 'Confirm New Password *',\n confirmNewPasswordRequired: 'Confirm New Password is required',\n successMessage: 'Success! Your password has been changed.'\n },\n\n confirmEmail: {\n title: 'Confirm Email',\n loadingMessage: 'Confirming your email...',\n successMessage: 'Success! Your email has been confirmed.',\n continueToLogin: 'Continue to login',\n invalidTokenTitle: 'Confirm Email Token Invalid',\n invalidTokenMessage: 'A new confirmation email has been sent. Please follow the link and try again.',\n },\n\n editProfile: {\n title: 'Edit Profile',\n saveChanges: 'Save Changes',\n resetProfile: 'Reset',\n successMessage: 'Success! Your profile has been updated.',\n accountInfoTitle: 'Account Information',\n notifPrefsTitle: 'Notification Preferences',\n emailNotifLabel: 'Email Notifications',\n pushNotifLabel: 'Push Notifications',\n },\n\n forgotPassword: {\n title: 'Forgot Password',\n instructions: \"Please enter your account's current email address:\",\n email: 'Email *',\n emailRequired: 'Email is requried',\n recover: 'Recover',\n successMessage: 'An email has been sent to {email} if this account exists.',\n },\n\n register: {\n title: 'Register',\n firstName: 'First Name *',\n firstNameRequired: 'First Name is requried',\n lastName: 'Last Name *',\n lastNameRequired: 'Last Name is requried',\n email: 'Your Email *',\n emailRequired: 'Email is requried',\n phone: 'Phone Number *',\n phoneError: 'Please enter a valid phone number',\n streetAddress: 'Street Address *',\n streetAddressRequired: 'Street Address is required',\n city: 'City *',\n cityRequired: 'City is required',\n zip: 'Zip / Postal Code *',\n zipRequired: 'Zip / Postal Code is required',\n state: 'State / Province *',\n stateRequired: 'State / Province is required',\n country: 'Country *',\n countryRequired: 'Country is required',\n password: 'Password *',\n passwordRequired: 'Password is requried',\n confirmPassword: 'Confirm Password *',\n confirmPasswordRequired: 'Confirm Password is required',\n passwordDoesNotMatch: 'Password and Confirm Password must match.',\n successMessage:\n 'A confirmation email has been sent to {email}. Please follow the link to complete the registration process.',\n termsAndConditionsMessage: \"By clicking Agree & Register you agree to {companyDisplayName}' \",\n agreeAndRegister: 'Agree & Register',\n invitationSuccessMessage: 'Your account has been created',\n successTitle: 'Registration Success!',\n },\n\n resetPassword: {\n title: 'Reset Password',\n instructions: 'Please enter a new password:',\n newPassword: 'New Password *',\n newPasswordRequired: 'New Password is required',\n confirmNewPassword: 'Confirm New Password *',\n confirmNewPasswordRequired: 'Confirm New Password is required',\n successMessage: 'Success! Your password has been changed.',\n passwordDoesNotMatch: 'Password and Confirm Password must match.',\n invalidTokenTitle: 'Reset Password Token Invalid',\n invalidTokenMessage: 'Token invalid, please request for a new token.',\n },\n\n termsAndConditions: {\n termsAndConditionsMessage:\n \"Our {name} have been updated. By clicking Agree & Continue you agree to {companyDisplayName}' updated \",\n agreeAndContinue: 'Agree & Continue',\n },\n\n //////////////////////////////////////////////////////////////////////////////////\n // Consumer\n\n dashboard: {\n vehicleInformation: 'RV Information',\n notifications: 'Notifications',\n newNotifications: 'New Notifications',\n seeAllNotifications: 'See All Notifications',\n serviceInformation: 'Service Information',\n salesOrders: 'Sales Orders',\n claims: 'Claims',\n recalls: 'Recalls',\n seeServiceInformation: 'See Service Information',\n primaryRv: 'Primary RV',\n noActiveRvText: 'In order to view dashboard information, please add an RV.',\n addRVDirectionsStart: 'To add an RV, ',\n goToMyRV: 'Go to \"My RV\"',\n addRVDirectionsEnd: ' in the navigation menu.',\n },\n\n splashScreen: {\n carouselMessages: {\n manageVehicles: 'Manage your RV, check on warranty, claims, and orders',\n signUpAlerts: 'Sign up for alerts, notification, and messaging',\n nearestDealer: 'Find nearest dealer and service center',\n },\n },\n\n registerVin: {\n title: 'Add RV',\n resubmitTitle: 'Resubmit RV',\n lastName: 'Last Name *',\n lastNameRequired: 'Last Name is required',\n purchaseDate: 'Purchase Date *',\n purchaseDateRequired: 'Purchase Date is requried',\n purchaseDateCannotBeInFuture: 'Purchase Date cannot be a date in the future',\n formInstructions: 'Please enter the same information that was provided to the dealer when the RV was purchased.',\n resubmitFormInstructions: 'Please update the information or attach appropriate document for resubmission.',\n zipInstructions: 'Please enter Zip/Postal Code used when purchased at the dealership',\n zipCode: 'Zip / Postal Code *',\n zipCodeRequired: 'Zip / Postal Code is required',\n vin: '17 digit VIN # *',\n nickname: 'Nickname',\n vinRequired: 'Full 17 character VIN is required',\n vinFormat: 'VIN must be only numbers and letters',\n isOriginalOwner: 'Are you the original owner?',\n isOriginalOwnerRequired: 'Are you the second owner? is required',\n attachmentRequired: 'Please specify if an attachment is needed?',\n documentTypeRequired: 'Document type selection required',\n uploadInstructions: 'Please select a document type to upload a copy of your proof of ownership: *',\n resubmitUploadInstructions: 'Please select a document type to upload a copy of your proof of ownership: *',\n uploadControlLabel: 'Proof of Ownership',\n uploadValidationError: 'Proof of ownership documentation is required',\n uploadDocTypeRequired: 'Document type selection required. Make selection and try again.',\n successMessage: 'Success! Your RV registration has been sent to {companyDisplayName} for review.',\n resubmitSuccessMessage: 'Success! Your RV registration has been re-sent to {companyDisplayName} for review.',\n vinNotFoundError1: 'The information you provided is different than what we have on record.',\n vinNotFoundError2: 'Check if the 17-digit VIN was entered correctly',\n vinNotFoundError3:\n 'Please use the same information that was provided to the dealer when the RV was originally purchased',\n vinNotFoundError4: 'If the issue persists or you have any questions please contact ',\n vinNotFoundError5: 'for assistance',\n },\n\n dealerLocator: {\n brand: 'Brand',\n anyBrand: 'Any Brand',\n directions: 'Directions',\n invalidUSPostalCodeError: '* Must be 5 numeric digits',\n invalidCAPostalCodeError: '* Must follow \"A1A 1A1\" format',\n searchHeader: 'Find RV Dealer Near Me',\n searchHeaderSubText: 'Search by zip code to find dealers close to home.',\n milesAway: 'miles away',\n miles: 'miles',\n kilometersAway: 'km away',\n kilometers: 'km',\n availableBrands: 'Available Brands:',\n email: 'Email',\n phone: 'Phone',\n serviceOnly: 'Service Only',\n website: 'Website',\n noDealerLocations: 'No dealer locations within {distance} {metric} with the above filters.',\n searchInstructions: 'Enter a zip/postal code to search for the nearest dealers.',\n defaultSelectBrandText: 'Any Brand',\n },\n\n tableCard: {\n searchPlaceholder: 'Search'\n },\n\n manageVehicles: {\n title: 'My RV',\n addNewRv: 'Add New RV',\n pendingRvs: 'View Pending Rvs',\n vinLabel: 'VIN: ',\n changeImageLabel: 'Change this Image',\n ownersManualLabel: \"Owner's Manual\",\n serviceInformationLabel: 'Service Information',\n manageUsersLabel: 'Manage Users',\n removeRVLabel: 'Remove this RV',\n updateNicknameLabel: '{action} nickname',\n addAction: 'Add a',\n editAction: 'Edit',\n changeImageTitle: 'Upload a new image',\n uploadControlLabel: 'RV Image',\n removeRVTitle: 'Confirm Remove',\n removeRVConfirm: 'Are you sure you want to remove the \"{displayName}\" RV from user {userName}',\n removeSuccess: 'RV removed successfully!',\n nicknameChangeSuccess: 'RV nickname successfully changed!',\n imageChangeSuccess: 'RV image successfully updated!',\n pendingRegistrationInfo: '* Full access pending Review'\n },\n\n manageVehicleUsers: {\n title: 'Manage RV Users',\n inviteUser: 'Invite User',\n email: 'Email *',\n emailRequired: 'Email is required',\n consumerUserInvitationSent: 'Success! An invitation to create an account has been sent to {email}.',\n consumerUserAccessAdded: 'Success! User with email {email} has been added.',\n confirmResendInvite: 'Are you sure you want to resend the invitation email to {email}?',\n resendInvitation: 'Resend Invitation',\n removeAccess: 'Remove Access',\n resendInviteSuccess: 'Invitation email sent to {email}!',\n confirmRemoveAccess: 'Are you sure you want to remove user with email {email} from this RV?',\n removeAccessSuccess: 'Success! User {email} removed from RV access!',\n accountNotRegistered: 'Account not registered',\n accountRegistered: 'Account registered',\n },\n\n notifications: {\n title: 'Notifications',\n deleteDialogTitle: 'Delete Notification',\n deleteSuccess: 'Delete Success!',\n emptyNotifications: 'Notifications empty'\n },\n\n serviceInformation: {\n pageTitle: 'Service Information: ',\n makeModelLabel: 'Make/Model: ',\n yearLabel: 'Year: ',\n vinLable: 'Vin: ',\n datePurchaseLabel: 'Date of Purchase: ',\n warrantyStatus: 'Warranty Status: ',\n warrantyStart: 'Warranty Start: ',\n warrantyEnd: 'Warranty End: ',\n partsExpiration: 'Parts Expiration: ',\n serviceExpiration: 'Service Expiration: ',\n supportInfo: 'For Questions about Sales Orders or Claims please Contact your Dealer',\n tabLabels: {\n salesOrders: 'Sales Orders',\n claims: 'Claims',\n recalls: 'Recalls',\n },\n salesOrderLabels: {\n emptyLabel: 'No current sales orders',\n orderNumLabel: 'Order',\n statusLabel: 'Status',\n statusDateLabel: 'Status Date',\n createdDateLabel: 'Created Date',\n deliveryMode: 'Mode of Delivery',\n trackingNumber: 'Tracking Number',\n },\n claimLabels: {\n emptyLabel: 'No current claims',\n claimNumber: 'Claim Number',\n status: 'Status',\n statusDate: 'Status Date',\n createdDate: 'Created Date',\n },\n recallLabels: {\n emptyLabel: 'No current recalls',\n recallId: 'Recall Id',\n name: 'Name',\n type: 'Type',\n },\n },\n\n pdfViewer: {\n checklist: 'checklist',\n checklists: 'checklists'\n },\n\n support: {\n title: 'Contact Support',\n hoursOfOperation: 'Hours of Operation:',\n supportInfo: {\n instructions: 'For the fastest service please have the following in hand before contacting customer service:',\n completeVin: 'Complete VIN number',\n mailingAddress: 'Mailing address (Please no P.O. box numbers)',\n daytimePhone: 'Day time phone number',\n privacyStatement: {\n start: '{companyDisplayName} values your privacy and ',\n emphasis: 'promises never to share your personal information. ',\n end: 'It is only used to contact you.',\n },\n support: 'Support'\n },\n myRvInfo: 'Your RV Information:',\n brandSupport: 'Contact Brand Support',\n portalAppInfo: '{portalName} App Info:',\n versionLabel: 'Version',\n versionText: '{version}.{build}',\n },\n\n pendingRVs: {\n title: 'Pending RVs',\n vin: 'VIN',\n displayName: 'Description',\n registrationDate: 'Submission Date',\n registrationStatus: 'Status',\n reviewedDate: 'Reviewed Date',\n seeComments: 'See Comment',\n resubmit: 'Resubmit',\n },\n\n podcast: {\n bannerText: 'LAUNCHING LIFE’S JOURNEYS PODCAST',\n podcastContent:\n '

Whether you are new to traveling the world one mile at a time, or you have raised a family with thousands of memories made at a campsite…this podcast is all about the people, journeys and stories that are shared.

Recreational vehicles allow people the ability to travel the world, mile by mile while providing safe shelter and comfortable living quarters when destinations are reached. Willie invites you to join him on his journey with {companyDisplayName}.  Whether you are new to traveling the world one mile at a time, or you have raised a family with thousands of memories made at a campsite, this podcast is all about the people, journeys, and stories that are shared.

You will hear from the following guests on the Where’s Willie Show:

  • Celebrities that have unique stories to share on their own life journeys
  • Entrepreneur/C-Suite executives sharing their company innovations that you could see on your next journey
  • Current RV owners that can share advice, insight, and questions to help make your experience memorable
  • Vacation destination hosts, resorts, dining, and more…. inviting you to visit on your life’s journeys.

“My goal of hosting this show is to share amazing stories of real people and real-life as they are traveling on their own life’s journeys. Every person has a story to share, from both professional experiences and personal.” —William Miller, Host of Where’s Willie?

Select an episode below to listen now.

',\n readMore: 'Read More',\n listenNow: 'Listen Now'\n },\n\n blogPosts: {\n categoryLabel: 'Topic',\n },\n\n blogPostDetails: {\n relatedStories: 'Related Stories',\n },\n\n faq: {\n faqTitle: 'Frequently Asked Questions',\n glossaryTitle: 'RV Glossary'\n },\n\n /////////////////////////////////////////////////////////////////////////////////\n // Admin\n\n manageEmails: {\n title: 'Manage Emails'\n },\n\n manageRoles: {\n title: 'Manage Roles',\n addRole: 'Add Role',\n systemRole: 'System Role',\n permissions: 'Permissions',\n roleNotFound: 'Selected role could not be found',\n deleteConfirm: 'Are you sure you want to delete the \"{role}\" role?',\n editRole: 'Edit Role',\n createRole: 'Create Role',\n roleName: 'Role Name *',\n roleNameRequired: 'Role Name is requried'\n },\n\n manageUsers: {\n title: 'Manage Users',\n },\n\n /////////////////////////////////////////////////////////////////////////////////\n // Shared\n\n action: 'Action',\n cancel: 'Cancel',\n close: 'Close',\n delete: 'Delete',\n edit: 'Edit',\n error: 'Error',\n errorInstruction: 'Please fix the following errors:',\n failed: 'Action failed',\n goBack: 'Go Back',\n name: 'Name',\n noResults: 'No results',\n OK: 'OK',\n reset: 'Reset',\n submit: 'Submit',\n resubmit: 'Resubmit',\n success: 'Success',\n unexpectedError: 'Unexpected error. Please try again.',\n search: 'Search',\n users: 'Users',\n documents: {\n sizeError: 'Max document size is {maxSizeBytes} MB',\n typeError:\n 'Document with extension {fileExtension} is not supported. Supported document types include {supportedExtensions}',\n numberError: 'Only {maxNumber} file(s) supported with upload',\n defaultError: 'An unexpected error occurred uploading your file. Please try again.',\n },\n goBackButtonLabel: 'Back to {routeName}',\n emptyDataMessage: 'No data available'\n};\n","import enUS from './en-us';\n\nexport default {\n 'en-us': enUS\n};\n","import { boot } from 'quasar/wrappers';\nimport messages from 'src/i18n';\nimport Vue from 'vue';\nimport VueI18n from 'vue-i18n';\n\ndeclare module 'vue/types/vue' {\n interface Vue {\n i18n: VueI18n;\n }\n}\n\nVue.use(VueI18n);\n\nexport const i18n = new VueI18n({\n locale: 'en-us',\n fallbackLocale: 'en-us',\n messages\n});\n\nexport default boot(({ app }) => {\n // Set i18n instance on app\n app.i18n = i18n;\n});\n","import { RouteConfig } from 'vue-router';\n\nconst RouteNames = {\n Login: 'Login',\n ForgotPassword: 'ForgotPassword',\n ResetPassword: 'ResetPassword',\n Register: 'Register',\n ConfirmEmail: 'ConfirmEmail',\n AcceptTermsConditions: 'AcceptTermsConditions',\n Dashboard: 'Dashboard',\n ManageUsers: 'ManageUsers',\n ManageRoles: 'ManageRoles',\n ManageEmails: 'ManageEmails',\n ChangePassword: 'ChangePassword',\n EditProfile: 'EditProfile',\n InformationalVideos: 'InformationalVideos',\n ManageVehicles: 'My RV',\n ManageVehicleUsers: 'ManageVehicleUsers',\n Notifications: 'Notifications',\n NotificationDetails: 'NotificationDetails',\n RegisterVin: 'RegisterVin',\n ResubmitRegisterVin: 'ResubmitRegisterVin',\n DealerLocator: 'DealerLocator',\n UnitInformation: 'UnitInformation',\n OwnersManual: 'OwnersManual',\n SplashScreen: 'SplashScreen',\n Support: 'Support',\n FAQ: 'FAQ',\n Checklists: 'Checklists',\n CompanyToggle: 'CompanyToggle',\n PdfViewer: 'PdfViewer',\n PendingRVs: 'PendingRVs',\n BlogPosts: 'BlogPosts',\n BlogPostDetails: 'BlogPostDetails',\n PodCasts: 'PodCasts'\n};\n\nconst routes: RouteConfig[] = [\n {\n path: '/login',\n name: RouteNames.Login,\n component: () => import('pages/Login.vue')\n },\n {\n path: '/forgot-password',\n name: RouteNames.ForgotPassword,\n component: () => import('pages/account/ForgotPassword.vue')\n },\n {\n path: '/reset-password',\n name: RouteNames.ResetPassword,\n component: () => import('pages/account/ResetPassword.vue')\n },\n {\n path: '/register',\n name: RouteNames.Register,\n component: () => import('pages/account/Register.vue')\n },\n {\n path: '/confirm-email',\n name: RouteNames.ConfirmEmail,\n component: () => import('pages/account/ConfirmEmail.vue')\n },\n {\n path: '/accept-terms-conditions',\n name: RouteNames.AcceptTermsConditions,\n component: () => import('pages/account/AcceptTermsAndConditions.vue')\n },\n {\n path: '/welcome',\n name: RouteNames.SplashScreen,\n component: () => import('src/pages/consumer/Welcome.vue')\n },\n {\n path: '/_system/setcompany/:companyType',\n name: RouteNames.CompanyToggle,\n component: () => import('pages/consumer/CompanyToggle.vue'),\n props: true\n },\n {\n path: '/',\n component: () => import('layouts/MainLayout.vue'),\n children: [\n { path: '', name: RouteNames.Dashboard, component: () => import('src/pages/Dashboard.vue') },\n {\n path: '/admin/manage-users',\n name: RouteNames.ManageUsers,\n component: () => import('pages/admin/ManageUsers.vue')\n },\n {\n path: '/admin/manage-roles',\n name: RouteNames.ManageRoles,\n component: () => import('pages/admin/ManageRoles.vue')\n },\n {\n path: '/admin/manage-emails',\n name: RouteNames.ManageEmails,\n component: () => import('pages/admin/ManageEmails.vue')\n },\n {\n path: '/account/change-password',\n name: RouteNames.ChangePassword,\n component: () => import('pages/account/ChangePassword.vue')\n },\n {\n path: '/account/edit-profile',\n name: RouteNames.EditProfile,\n component: () => import('pages/account/EditProfile.vue')\n },\n { path: '/my-rv', name: RouteNames.ManageVehicles, component: () => import('pages/consumer/ManageVehicles.vue') },\n { path: '/my-rv/register-vin', name: RouteNames.RegisterVin, component: () => import('pages/consumer/RegisterVin.vue')},\n { path: '/my-rv/resubmit-register-vin/:vinRegistrationUid', name: RouteNames.ResubmitRegisterVin, component: () => import('pages/consumer/RegisterVin.vue'), props: true },\n { path: '/my-rv/:vinUid/users', name: RouteNames.ManageVehicleUsers, component: () => import('pages/consumer/ManageVehicleUsers.vue'), props: true },\n { path: '/my-rv/:vinUid/service-information', name: RouteNames.UnitInformation, component: () => import('pages/consumer/ServiceInformation.vue'), props: true },\n { path: '/dealer-locator', name: RouteNames.DealerLocator, component: () => import('pages/consumer/DealerLocator.vue') },\n { path: '/informational-videos', name: RouteNames.InformationalVideos, component: () => import('pages/consumer/InformationalVideos.vue') },\n { path: '/faq', name: RouteNames.FAQ, component: () => import('pages/consumer/FAQ.vue') },\n { path: '/checklists', name: RouteNames.Checklists, component: () => import('pages/consumer/Checklists.vue') },\n {\n path: '/pdfviewer',\n name: RouteNames.PdfViewer,\n component: () => import('pages/consumer/PdfViewer.vue'),\n props: true\n },\n { path: '/pending-rvs', name: RouteNames.PendingRVs, component: () => import('pages/consumer/PendingRVs.vue') },\n {\n path: '/notifications',\n name: RouteNames.Notifications,\n component: () => import('pages/consumer/Notifications.vue')\n },\n {\n path: '/notification-details/:notificationUid',\n name: RouteNames.NotificationDetails,\n component: () => import('pages/consumer/NotificationDetails.vue'),\n props: true\n },\n { path: '/support', name: RouteNames.Support, component: () => import('pages/consumer/Support.vue') },\n {\n path: '/campfire-stories',\n name: RouteNames.BlogPosts,\n component: () => import('src/pages/consumer/BlogPosts.vue')\n },\n {\n path: '/campfire-stories/:postId-:slug',\n name: RouteNames.BlogPostDetails,\n component: () => import('src/pages/consumer/BlogPostDetails.vue'),\n props: true\n },\n { path: '/podcasts', name: RouteNames.PodCasts, component: () => import('src/pages/consumer/Podcasts.vue') }\n ]\n },\n\n // Always leave this as last one,\n // but you can also remove it\n {\n path: '*',\n component: () => import('pages/Error404.vue')\n }\n];\n\nexport { routes, RouteNames };\n","//----------------------\n// \n// Generated using the NSwag toolchain v14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\n// \n//----------------------\n\n/* tslint:disable */\n/* eslint-disable */\n// ReSharper disable InconsistentNaming\n\nimport moment from \"moment\";\nimport axios, {\n AxiosError,\n AxiosInstance,\n AxiosRequestConfig,\n AxiosResponse,\n CancelToken\n} from \"axios\";\nexport class AuthorizedApiBase {\n private readonly config: Config;\n\n protected constructor(config: Config) {\n this.config = config;\n }\n\n protected transformOptions = (\n options: AxiosRequestConfig\n ): Promise => {\n return Promise.resolve(this.config.transformHeaders(options));\n };\n\n protected transformResult(\n url: string,\n response: AxiosResponse,\n processor: (response: AxiosResponse) => Promise\n ): Promise {\n return this.config.transformResult(url, response, processor);\n }\n}\n\nexport class ConsumerInformationClient_V1 extends AuthorizedApiBase {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Config, baseUrl?: string, instance?: AxiosInstance) {\n\n super(configuration);\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n videos(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/ConsumerInformation/Videos\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processVideos(_response));\n });\n }\n\n protected processVideos(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(InformationalVideoDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n dealerVideos(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/ConsumerInformation/DealerVideos\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDealerVideos(_response));\n });\n }\n\n protected processDealerVideos(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(InformationalVideoDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n checklists(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/ConsumerInformation/Checklists\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processChecklists(_response));\n });\n }\n\n protected processChecklists(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ChecklistDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getChecklistByUid(checklistUid: string, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/ConsumerInformation/{checklistUid}/Checklist\";\n if (checklistUid === undefined || checklistUid === null)\n throw new Error(\"The parameter 'checklistUid' must be defined.\");\n url_ = url_.replace(\"{checklistUid}\", encodeURIComponent(\"\" + checklistUid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetChecklistByUid(_response));\n });\n }\n\n protected processGetChecklistByUid(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n websiteContentLinks(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/ConsumerInformation/WebsiteContentLinks\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processWebsiteContentLinks(_response));\n });\n }\n\n protected processWebsiteContentLinks(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = WebsiteContentLinkDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n websitePostCategories(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/ConsumerInformation/WebsitePostCategories\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processWebsitePostCategories(_response));\n });\n }\n\n protected processWebsitePostCategories(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(WebsitePostCategoryDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class DealerAnnouncementClient_V1 extends AuthorizedApiBase {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Config, baseUrl?: string, instance?: AxiosInstance) {\n\n super(configuration);\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n announcements(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerAnnouncement/Announcements\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processAnnouncements(_response));\n });\n }\n\n protected processAnnouncements(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DealerAnnouncementDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createAnnouncement(dto: CreateDealerAnnouncementDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerAnnouncement/CreateAnnouncement\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateAnnouncement(_response));\n });\n }\n\n protected processCreateAnnouncement(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CreateDealerAnnouncementDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = CreateDealerAnnouncementDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateAnnouncement(dto: DealerAnnouncementDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerAnnouncement/UpdateAnnouncement\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateAnnouncement(_response));\n });\n }\n\n protected processUpdateAnnouncement(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = DealerAnnouncementDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = DealerAnnouncementDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteAnnouncement(dto: DealerAnnouncementDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerAnnouncement/DeleteAnnouncement\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteAnnouncement(_response));\n });\n }\n\n protected processDeleteAnnouncement(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = DealerAnnouncementDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = DealerAnnouncementDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n announcementDocuments(announcementUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerAnnouncement/AnnouncementDocuments?\";\n if (announcementUid !== undefined && announcementUid !== null)\n url_ += \"announcementUid=\" + encodeURIComponent(\"\" + announcementUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processAnnouncementDocuments(_response));\n });\n }\n\n protected processAnnouncementDocuments(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DocumentDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createAnnouncementDocument(dto: DealerAnnouncementDocumentDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerAnnouncement/CreateAnnouncementDocument\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateAnnouncementDocument(_response));\n });\n }\n\n protected processCreateAnnouncementDocument(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = DealerAnnouncementDocumentDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = DealerAnnouncementDocumentDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteAnnouncementDocument(dto: DeleteDealerAnnouncementDocDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerAnnouncement/DeleteAnnouncementDocument\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteAnnouncementDocument(_response));\n });\n }\n\n protected processDeleteAnnouncementDocument(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = DeleteDealerAnnouncementDocDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = DeleteDealerAnnouncementDocDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class DealerClaimClient_V1 extends AuthorizedApiBase {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Config, baseUrl?: string, instance?: AxiosInstance) {\n\n super(configuration);\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n claims(dto: DealerClaimSearchDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerClaim/Claims?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processClaims(_response));\n });\n }\n\n protected processClaims(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DealerClaimDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createClaim(dto: CreateClaimDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerClaim/CreateClaim?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateClaim(_response));\n });\n }\n\n protected processCreateClaim(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = DealerClaimDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = DealerClaimDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createClaimFromRecall(dto: CreateClaimDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerClaim/CreateClaimFromRecall?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateClaimFromRecall(_response));\n });\n }\n\n protected processCreateClaimFromRecall(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = DealerClaimDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = DealerClaimDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n editClaim(dto: DealerClaimDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerClaim/EditClaim?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processEditClaim(_response));\n });\n }\n\n protected processEditClaim(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = DealerClaimDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = DealerClaimDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n submitPreAuthorization(dealerAccountUid?: string | null | undefined, claimNumber?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerClaim/SubmitPreAuthorization?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n if (claimNumber !== undefined && claimNumber !== null)\n url_ += \"claimNumber=\" + encodeURIComponent(\"\" + claimNumber) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSubmitPreAuthorization(_response));\n });\n }\n\n protected processSubmitPreAuthorization(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = DealerClaimDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = DealerClaimDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n submitWorkComplete(dealerAccountUid?: string | null | undefined, claimNumber?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerClaim/SubmitWorkComplete?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n if (claimNumber !== undefined && claimNumber !== null)\n url_ += \"claimNumber=\" + encodeURIComponent(\"\" + claimNumber) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSubmitWorkComplete(_response));\n });\n }\n\n protected processSubmitWorkComplete(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = DealerClaimDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = DealerClaimDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getByClaimNumber(dealerAccountUid?: string | null | undefined, claimNumber?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerClaim/GetByClaimNumber?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n if (claimNumber !== undefined && claimNumber !== null)\n url_ += \"claimNumber=\" + encodeURIComponent(\"\" + claimNumber) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetByClaimNumber(_response));\n });\n }\n\n protected processGetByClaimNumber(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = DealerClaimDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = DealerClaimDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getClaimLineAttachments(dealerAccountUid?: string | null | undefined, claimLineId?: number | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerClaim/GetClaimLineAttachments?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n if (claimLineId === null)\n throw new Error(\"The parameter 'claimLineId' cannot be null.\");\n else if (claimLineId !== undefined)\n url_ += \"claimLineId=\" + encodeURIComponent(\"\" + claimLineId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetClaimLineAttachments(_response));\n });\n }\n\n protected processGetClaimLineAttachments(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DealerClaimLineAttachmentDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createClaimLine(dto: CreateClaimLineDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerClaim/CreateClaimLine?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateClaimLine(_response));\n });\n }\n\n protected processCreateClaimLine(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = DealerClaimDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = DealerClaimDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createClaimLineItem(dto: CreateClaimLineItemDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerClaim/CreateClaimLineItem?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateClaimLineItem(_response));\n });\n }\n\n protected processCreateClaimLineItem(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = DealerClaimDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = DealerClaimDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createClaimLineMiscCharge(dto: CreateClaimLineMiscChargeDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerClaim/CreateClaimLineMiscCharge?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateClaimLineMiscCharge(_response));\n });\n }\n\n protected processCreateClaimLineMiscCharge(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = DealerClaimDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = DealerClaimDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createClaimLineAttachment(dto: CreateClaimLineAttachmentDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerClaim/CreateClaimLineAttachment?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateClaimLineAttachment(_response));\n });\n }\n\n protected processCreateClaimLineAttachment(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = DealerClaimDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = DealerClaimDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createClaimLineNote(dto: CreateaClaimLineNoteDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerClaim/CreateClaimLineNote?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateClaimLineNote(_response));\n });\n }\n\n protected processCreateClaimLineNote(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = DealerClaimDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = DealerClaimDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createClaimReturnLabel(dto: ReturnLabelDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerClaim/CreateClaimReturnLabel?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateClaimReturnLabel(_response));\n });\n }\n\n protected processCreateClaimReturnLabel(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ReturnLabelDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ReturnLabelDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteClaimLine(dealerAccountUid?: string | null | undefined, id?: number | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerClaim/DeleteClaimLine?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteClaimLine(_response));\n });\n }\n\n protected processDeleteClaimLine(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ValidationBaseDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ValidationBaseDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteClaimLineItem(dealerAccountUid?: string | null | undefined, id?: number | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerClaim/DeleteClaimLineItem?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteClaimLineItem(_response));\n });\n }\n\n protected processDeleteClaimLineItem(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ValidationBaseDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ValidationBaseDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteClaimLineMiscCharge(dealerAccountUid?: string | null | undefined, id?: number | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerClaim/DeleteClaimLineMiscCharge?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteClaimLineMiscCharge(_response));\n });\n }\n\n protected processDeleteClaimLineMiscCharge(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ValidationBaseDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ValidationBaseDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteClaimLineAttachment(dealerAccountUid?: string | null | undefined, id?: number | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerClaim/DeleteClaimLineAttachment?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteClaimLineAttachment(_response));\n });\n }\n\n protected processDeleteClaimLineAttachment(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ValidationBaseDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ValidationBaseDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteClaimLineNote(dealerAccountUid?: string | null | undefined, id?: number | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerClaim/DeleteClaimLineNote?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n if (id === null)\n throw new Error(\"The parameter 'id' cannot be null.\");\n else if (id !== undefined)\n url_ += \"id=\" + encodeURIComponent(\"\" + id) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteClaimLineNote(_response));\n });\n }\n\n protected processDeleteClaimLineNote(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ValidationBaseDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ValidationBaseDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n exportClaimsByStatus(dealerAccountUid?: string | null | undefined, status?: string | null | undefined, autoDenied?: boolean | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerClaim/ExportClaimsByStatus?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n if (status !== undefined && status !== null)\n url_ += \"status=\" + encodeURIComponent(\"\" + status) + \"&\";\n if (autoDenied === null)\n throw new Error(\"The parameter 'autoDenied' cannot be null.\");\n else if (autoDenied !== undefined)\n url_ += \"autoDenied=\" + encodeURIComponent(\"\" + autoDenied) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processExportClaimsByStatus(_response));\n });\n }\n\n protected processExportClaimsByStatus(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ExportDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ExportDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n claimReport(dealerAccountUid?: string | null | undefined, claimNumber?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerClaim/ClaimReport?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n if (claimNumber !== undefined && claimNumber !== null)\n url_ += \"claimNumber=\" + encodeURIComponent(\"\" + claimNumber) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processClaimReport(_response));\n });\n }\n\n protected processClaimReport(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = AttachmentInfoDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class DealerClient_V1 extends AuthorizedApiBase {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Config, baseUrl?: string, instance?: AxiosInstance) {\n\n super(configuration);\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n locationsByCompany(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Dealer/LocationsByCompany\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processLocationsByCompany(_response));\n });\n }\n\n protected processLocationsByCompany(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DealerLocationDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n locations(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Dealer/Locations\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processLocations(_response));\n });\n }\n\n protected processLocations(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DealerLocationDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n chainGroups(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Dealer/ChainGroups\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processChainGroups(_response));\n });\n }\n\n protected processChainGroups(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DealerChainGroupDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n dealerAddresInfo(dynamicsLocationId?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Dealer/DealerAddresInfo?\";\n if (dynamicsLocationId !== undefined && dynamicsLocationId !== null)\n url_ += \"dynamicsLocationId=\" + encodeURIComponent(\"\" + dynamicsLocationId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDealerAddresInfo(_response));\n });\n }\n\n protected processDealerAddresInfo(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DealerAddressInfoDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n userDealerLocations(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Dealer/UserDealerLocations\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUserDealerLocations(_response));\n });\n }\n\n protected processUserDealerLocations(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = UserDealerLocationsDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = UserDealerLocationsDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n inviteAdmin(dto: InviteDealerUserDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Dealer/InviteAdmin\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processInviteAdmin(_response));\n });\n }\n\n protected processInviteAdmin(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = InviteDealerUserDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = InviteDealerUserDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n inviteUser(dto: InviteDealerUserDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Dealer/InviteUser?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processInviteUser(_response));\n });\n }\n\n protected processInviteUser(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = InviteDealerUserDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = InviteDealerUserDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n completeDealerInvite(dto: CompleteDealerRegistrationDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Dealer/CompleteDealerInvite\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCompleteDealerInvite(_response));\n });\n }\n\n protected processCompleteDealerInvite(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CompleteDealerRegistrationDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = CompleteDealerRegistrationDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getAllDealerUsers(dto: PaginationBaseRequestDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Dealer/GetAllDealerUsers\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetAllDealerUsers(_response));\n });\n }\n\n protected processGetAllDealerUsers(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DealerUserDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n dealerUsers(dealerAccountUid: string, dto: PaginationBaseRequestDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Dealer/{dealerAccountUid}/DealerUsers\";\n if (dealerAccountUid === undefined || dealerAccountUid === null)\n throw new Error(\"The parameter 'dealerAccountUid' must be defined.\");\n url_ = url_.replace(\"{dealerAccountUid}\", encodeURIComponent(\"\" + dealerAccountUid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDealerUsers(_response));\n });\n }\n\n protected processDealerUsers(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DealerUserDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n dealerAdmin(userId?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Dealer/DealerAdmin?\";\n if (userId !== undefined && userId !== null)\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDealerAdmin(_response));\n });\n }\n\n protected processDealerAdmin(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ApiResultDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n editDealerAdmin(dto: EditDealerUserDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Dealer/EditDealerAdmin\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processEditDealerAdmin(_response));\n });\n }\n\n protected processEditDealerAdmin(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = EditDealerUserDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = EditDealerUserDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n editDealerUser(dto: EditDealerUserDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Dealer/EditDealerUser?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processEditDealerUser(_response));\n });\n }\n\n protected processEditDealerUser(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = EditDealerUserDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = EditDealerUserDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n dealerUser(userId?: string | null | undefined, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Dealer/DealerUser?\";\n if (userId !== undefined && userId !== null)\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDealerUser(_response));\n });\n }\n\n protected processDealerUser(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ApiResultDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n sendDealerAdminInvite(userId?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Dealer/SendDealerAdminInvite?\";\n if (userId !== undefined && userId !== null)\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSendDealerAdminInvite(_response));\n });\n }\n\n protected processSendDealerAdminInvite(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ApiResultDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n batchInviteDealerUsers(dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Dealer/BatchInviteDealerUsers?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processBatchInviteDealerUsers(_response));\n });\n }\n\n protected processBatchInviteDealerUsers(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ApiResultDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n sendDealerUserInvite(userId?: string | null | undefined, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Dealer/SendDealerUserInvite?\";\n if (userId !== undefined && userId !== null)\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSendDealerUserInvite(_response));\n });\n }\n\n protected processSendDealerUserInvite(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ApiResultDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n forgotPassword(forgotPasswordDto: ForgotPasswordDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Dealer/ForgotPassword\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(forgotPasswordDto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processForgotPassword(_response));\n });\n }\n\n protected processForgotPassword(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ForgotPasswordDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ForgotPasswordDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class DealerDashboardClient_V1 extends AuthorizedApiBase {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Config, baseUrl?: string, instance?: AxiosInstance) {\n\n super(configuration);\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n getDashboardData(dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerDashboard/GetDashboardData?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetDashboardData(_response));\n });\n }\n\n protected processGetDashboardData(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = DealerDashboardDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class DealerRecallClient_V1 extends AuthorizedApiBase {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Config, baseUrl?: string, instance?: AxiosInstance) {\n\n super(configuration);\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n warrantyRecalls(dto: DealerRecallSearchDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerRecall/WarrantyRecalls?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processWarrantyRecalls(_response));\n });\n }\n\n protected processWarrantyRecalls(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DealerRecallDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n warrantyRecallVins(dto: DealerRecallSearchDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerRecall/WarrantyRecallVins?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processWarrantyRecallVins(_response));\n });\n }\n\n protected processWarrantyRecallVins(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DealerRecallVinDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n recallAttachment(dealerAccountUid?: string | null | undefined, attachmentRecId?: number | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerRecall/RecallAttachment?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n if (attachmentRecId === null)\n throw new Error(\"The parameter 'attachmentRecId' cannot be null.\");\n else if (attachmentRecId !== undefined)\n url_ += \"attachmentRecId=\" + encodeURIComponent(\"\" + attachmentRecId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processRecallAttachment(_response));\n });\n }\n\n protected processRecallAttachment(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = AXDocumentDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n exportRecallVins(dto: DealerRecallSearchDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerRecall/ExportRecallVins?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processExportRecallVins(_response));\n });\n }\n\n protected processExportRecallVins(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ExportDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class DealerSalesOrderClient_V1 extends AuthorizedApiBase {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Config, baseUrl?: string, instance?: AxiosInstance) {\n\n super(configuration);\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n getDealerSalesOrders(dto: DealerSalesOrderSearchDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerSalesOrder/GetDealerSalesOrders?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetDealerSalesOrders(_response));\n });\n }\n\n protected processGetDealerSalesOrders(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DealerSalesOrderDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n dealerSalesOrderMSRPReport(dealerAccountUid?: string | null | undefined, salesOrderId?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/DealerSalesOrder/DealerSalesOrderMSRPReport?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n if (salesOrderId !== undefined && salesOrderId !== null)\n url_ += \"salesOrderId=\" + encodeURIComponent(\"\" + salesOrderId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDealerSalesOrderMSRPReport(_response));\n });\n }\n\n protected processDealerSalesOrderMSRPReport(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = AXDocumentDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class DocumentClient_V1 extends AuthorizedApiBase {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Config, baseUrl?: string, instance?: AxiosInstance) {\n\n super(configuration);\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n upload(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Document\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpload(_response));\n });\n }\n\n protected processUpload(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = DocumentDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = DocumentDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n download(documentUid: string, token: string, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Document/{documentUid}/{token}\";\n if (documentUid === undefined || documentUid === null)\n throw new Error(\"The parameter 'documentUid' must be defined.\");\n url_ = url_.replace(\"{documentUid}\", encodeURIComponent(\"\" + documentUid));\n if (token === undefined || token === null)\n throw new Error(\"The parameter 'token' must be defined.\");\n url_ = url_.replace(\"{token}\", encodeURIComponent(\"\" + token));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDownload(_response));\n });\n }\n\n protected processDownload(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ProblemDetails.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status === 404) {\n const _responseText = response.data;\n let result404: any = null;\n let resultData404 = _responseText;\n result404 = ProblemDetails.fromJS(resultData404);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result404);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n delete(documentUid: string, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Document/{documentUid}\";\n if (documentUid === undefined || documentUid === null)\n throw new Error(\"The parameter 'documentUid' must be defined.\");\n url_ = url_.replace(\"{documentUid}\", encodeURIComponent(\"\" + documentUid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDelete(_response));\n });\n }\n\n protected processDelete(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ApiResultDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ApiResultDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class IdentityClient_V1 extends AuthorizedApiBase {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Config, baseUrl?: string, instance?: AxiosInstance) {\n\n super(configuration);\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n login(dto: AuthenticationRequestDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/Login\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processLogin(_response));\n });\n }\n\n protected processLogin(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = AuthenticationResultDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = AuthenticationResultDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = AuthenticationResultDTO.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n refreshToken(dto: RefreshTokenDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/RefreshToken\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processRefreshToken(_response));\n });\n }\n\n protected processRefreshToken(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = AuthenticationResultDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = AuthenticationResultDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n revokeToken(dto: RefreshTokenDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/RevokeToken\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processRevokeToken(_response));\n });\n }\n\n protected processRevokeToken(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ProblemDetails.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n forgotPassword(forgotPasswordDTO: ForgotPasswordDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/ForgotPassword\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(forgotPasswordDTO);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processForgotPassword(_response));\n });\n }\n\n protected processForgotPassword(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 204) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ProblemDetails.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n resetPassword(resetPasswordDto: ResetPasswordDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/ResetPassword\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(resetPasswordDto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processResetPassword(_response));\n });\n }\n\n protected processResetPassword(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ResetPasswordDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ResetPasswordDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n register(dto: RegisterDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/Register\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processRegister(_response));\n });\n }\n\n protected processRegister(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = RegisterDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = RegisterDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n confirmEmail(dto: EmailConfirmationDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/ConfirmEmail\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processConfirmEmail(_response));\n });\n }\n\n protected processConfirmEmail(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = EmailConfirmationDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = EmailConfirmationDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n acceptTermsAndConditions(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/AcceptTermsAndConditions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processAcceptTermsAndConditions(_response));\n });\n }\n\n protected processAcceptTermsAndConditions(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n changePassword(dto: ChangePasswordDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/ChangePassword\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processChangePassword(_response));\n });\n }\n\n protected processChangePassword(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ChangePasswordDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ChangePasswordDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n sendConfirmEmail(userId?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/SendConfirmEmail?\";\n if (userId !== undefined && userId !== null)\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSendConfirmEmail(_response));\n });\n }\n\n protected processSendConfirmEmail(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ProblemDetails.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getProfile(userId: string, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/UserProfile/{userId}\";\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetProfile(_response));\n });\n }\n\n protected processGetProfile(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ProfileDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateProfile(userId: string, userProfile: ProfileDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/UserProfile/{userId}\";\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(userProfile);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"PATCH\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateProfile(_response));\n });\n }\n\n protected processUpdateProfile(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ProfileDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ProfileDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getUsers(search?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/Users?\";\n if (search !== undefined && search !== null)\n url_ += \"search=\" + encodeURIComponent(\"\" + search) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetUsers(_response));\n });\n }\n\n protected processGetUsers(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(UserDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getUserVins(user?: string | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/Vins?\";\n if (user === null)\n throw new Error(\"The parameter 'user' cannot be null.\");\n else if (user !== undefined)\n url_ += \"user=\" + encodeURIComponent(\"\" + user) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetUserVins(_response));\n });\n }\n\n protected processGetUserVins(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(VehicleDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateUser(userId: string, user: UpdateUserDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/User/{userId}\";\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(user);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"PATCH\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateUser(_response));\n });\n }\n\n protected processUpdateUser(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = UpdateUserDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = UpdateUserDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n toggleLockout(userId?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/ToggleLockout?\";\n if (userId !== undefined && userId !== null)\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processToggleLockout(_response));\n });\n }\n\n protected processToggleLockout(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getRoles(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/Roles\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetRoles(_response));\n });\n }\n\n protected processGetRoles(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(RoleDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createRole(role: RoleDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/Role\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(role);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateRole(_response));\n });\n }\n\n protected processCreateRole(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = RoleDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = RoleDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateRole(roleId: string, role: RoleDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/Role/{roleId}\";\n if (roleId === undefined || roleId === null)\n throw new Error(\"The parameter 'roleId' must be defined.\");\n url_ = url_.replace(\"{roleId}\", encodeURIComponent(\"\" + roleId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(role);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"PATCH\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateRole(_response));\n });\n }\n\n protected processUpdateRole(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = RoleDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = RoleDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteRole(roleId: string, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/Role/{roleId}\";\n if (roleId === undefined || roleId === null)\n throw new Error(\"The parameter 'roleId' must be defined.\");\n url_ = url_.replace(\"{roleId}\", encodeURIComponent(\"\" + roleId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteRole(_response));\n });\n }\n\n protected processDeleteRole(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = RoleDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = RoleDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class InvoiceClient_V1 extends AuthorizedApiBase {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Config, baseUrl?: string, instance?: AxiosInstance) {\n\n super(configuration);\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n invoices(dto: InvoiceSearchDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Invoice/Invoices?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processInvoices(_response));\n });\n }\n\n protected processInvoices(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(InvoiceDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n if (Array.isArray(resultData400)) {\n result400 = [] as any;\n for (let item of resultData400)\n result400!.push(InvoiceDTO.fromJS(item));\n }\n else {\n result400 = null;\n }\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n invoiceReport(dealerAccountUid?: string | null | undefined, invoiceId?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Invoice/InvoiceReport?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n if (invoiceId !== undefined && invoiceId !== null)\n url_ += \"invoiceId=\" + encodeURIComponent(\"\" + invoiceId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processInvoiceReport(_response));\n });\n }\n\n protected processInvoiceReport(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = AttachmentInfoDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n invoiceStatement(dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Invoice/InvoiceStatement?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processInvoiceStatement(_response));\n });\n }\n\n protected processInvoiceStatement(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = InvoiceStatementDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n exportInvoiceStatement(dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Invoice/ExportInvoiceStatement?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processExportInvoiceStatement(_response));\n });\n }\n\n protected processExportInvoiceStatement(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ExportDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class LookupClient_V1 extends AuthorizedApiBase {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Config, baseUrl?: string, instance?: AxiosInstance) {\n\n super(configuration);\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n spiffTypes(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/SpiffTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSpiffTypes(_response));\n });\n }\n\n protected processSpiffTypes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SpiffTypeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n brands(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/Brands\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processBrands(_response));\n });\n }\n\n protected processBrands(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(BrandDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n catalogBrands(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/CatalogBrands\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCatalogBrands(_response));\n });\n }\n\n protected processCatalogBrands(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(CatalogBrandDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deliveryModes(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/DeliveryModes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeliveryModes(_response));\n });\n }\n\n protected processDeliveryModes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DeliveryModeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n catalogYearsByBrand(brandId?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/CatalogYearsByBrand?\";\n if (brandId !== undefined && brandId !== null)\n url_ += \"brandId=\" + encodeURIComponent(\"\" + brandId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCatalogYearsByBrand(_response));\n });\n }\n\n protected processCatalogYearsByBrand(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n checklistTypes(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/ChecklistTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processChecklistTypes(_response));\n });\n }\n\n protected processChecklistTypes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ChecklistTypeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n companyType(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/CompanyType\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCompanyType(_response));\n });\n }\n\n protected processCompanyType(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CompanyTypeDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n countries(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/Countries\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCountries(_response));\n });\n }\n\n protected processCountries(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(CountryLookupDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n documentTypes(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/DocumentTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDocumentTypes(_response));\n });\n }\n\n protected processDocumentTypes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DocumentTypeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n states(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/States\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processStates(_response));\n });\n }\n\n protected processStates(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(StateLookupDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n settings(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/Settings\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSettings(_response));\n });\n }\n\n protected processSettings(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = SettingDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n dealerSettings(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/DealerSettings\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDealerSettings(_response));\n });\n }\n\n protected processDealerSettings(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = DealerSettingDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n termsAndConditions(companyType?: CompanyTypes | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/TermsAndConditions?\";\n if (companyType === null)\n throw new Error(\"The parameter 'companyType' cannot be null.\");\n else if (companyType !== undefined)\n url_ += \"companyType=\" + encodeURIComponent(\"\" + companyType) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processTermsAndConditions(_response));\n });\n }\n\n protected processTermsAndConditions(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = TermsAndConditionDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n roles(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/Roles\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processRoles(_response));\n });\n }\n\n protected processRoles(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(LookupTypeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n dealerUserRoles(dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/DealerUserRoles?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDealerUserRoles(_response));\n });\n }\n\n protected processDealerUserRoles(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(LookupTypeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n dealerAdminRoles(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/DealerAdminRoles\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDealerAdminRoles(_response));\n });\n }\n\n protected processDealerAdminRoles(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(LookupTypeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n permissions(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/Permissions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processPermissions(_response));\n });\n }\n\n protected processPermissions(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(LookupTypeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n postalCodeInfo(countryCode?: string | null | undefined, postalCode?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/PostalCodeInfo?\";\n if (countryCode !== undefined && countryCode !== null)\n url_ += \"countryCode=\" + encodeURIComponent(\"\" + countryCode) + \"&\";\n if (postalCode !== undefined && postalCode !== null)\n url_ += \"postalCode=\" + encodeURIComponent(\"\" + postalCode) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processPostalCodeInfo(_response));\n });\n }\n\n protected processPostalCodeInfo(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PostalCodeInfoDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n dynamicsCountries(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/DynamicsCountries\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDynamicsCountries(_response));\n });\n }\n\n protected processDynamicsCountries(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DynamicsCountryDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n claimStatusTypes(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/ClaimStatusTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processClaimStatusTypes(_response));\n });\n }\n\n protected processClaimStatusTypes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ClaimStatusTypeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n warrantyClassCodes(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/WarrantyClassCodes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processWarrantyClassCodes(_response));\n });\n }\n\n protected processWarrantyClassCodes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(WarrantyClassCodeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n warrantyRemedyCodes(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/WarrantyRemedyCodes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processWarrantyRemedyCodes(_response));\n });\n }\n\n protected processWarrantyRemedyCodes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(WarrantyRemedyCodeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n warrantyFailureCodes(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/WarrantyFailureCodes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processWarrantyFailureCodes(_response));\n });\n }\n\n protected processWarrantyFailureCodes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(WarrantyFailureCodeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n warrantyMiscChargeCodes(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/WarrantyMiscChargeCodes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processWarrantyMiscChargeCodes(_response));\n });\n }\n\n protected processWarrantyMiscChargeCodes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(WarrantyMiscChargeCodeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n exportWarrantyClassCodes(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/ExportWarrantyClassCodes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processExportWarrantyClassCodes(_response));\n });\n }\n\n protected processExportWarrantyClassCodes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ExportDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class NotificationClient_V1 extends AuthorizedApiBase {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Config, baseUrl?: string, instance?: AxiosInstance) {\n\n super(configuration);\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n registerToken(dto: NotificationRegistrationDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Notification/RegisterToken\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processRegisterToken(_response));\n });\n }\n\n protected processRegisterToken(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = NotificationRegistrationDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = NotificationRegistrationDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n send(dto: NotificationDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Notification/Send\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSend(_response));\n });\n }\n\n protected processSend(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = NotificationDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = NotificationDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n userNotifications(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Notification/UserNotifications\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUserNotifications(_response));\n });\n }\n\n protected processUserNotifications(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(UserNotificationDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n if (Array.isArray(resultData400)) {\n result400 = [] as any;\n for (let item of resultData400)\n result400!.push(UserNotificationDTO.fromJS(item));\n }\n else {\n result400 = null;\n }\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n notificationRead(userNotifcationId?: string | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Notification/NotificationRead?\";\n if (userNotifcationId === null)\n throw new Error(\"The parameter 'userNotifcationId' cannot be null.\");\n else if (userNotifcationId !== undefined)\n url_ += \"userNotifcationId=\" + encodeURIComponent(\"\" + userNotifcationId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processNotificationRead(_response));\n });\n }\n\n protected processNotificationRead(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ProblemDetails.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteNotification(userNotifcationId?: string | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Notification/DeleteNotification?\";\n if (userNotifcationId === null)\n throw new Error(\"The parameter 'userNotifcationId' cannot be null.\");\n else if (userNotifcationId !== undefined)\n url_ += \"userNotifcationId=\" + encodeURIComponent(\"\" + userNotifcationId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteNotification(_response));\n });\n }\n\n protected processDeleteNotification(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ApiResultDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ApiResultDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class ProductClient_V1 extends AuthorizedApiBase {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Config, baseUrl?: string, instance?: AxiosInstance) {\n\n super(configuration);\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n productItems(dto: ProductItemSearchDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Product/ProductItems?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processProductItems(_response));\n });\n }\n\n protected processProductItems(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ProductItemDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n topProductItems(dealerAccountUid?: string | null | undefined, page?: number | undefined, pageTake?: number | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Product/TopProductItems?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n if (page === null)\n throw new Error(\"The parameter 'page' cannot be null.\");\n else if (page !== undefined)\n url_ += \"page=\" + encodeURIComponent(\"\" + page) + \"&\";\n if (pageTake === null)\n throw new Error(\"The parameter 'pageTake' cannot be null.\");\n else if (pageTake !== undefined)\n url_ += \"pageTake=\" + encodeURIComponent(\"\" + pageTake) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processTopProductItems(_response));\n });\n }\n\n protected processTopProductItems(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ProductItemDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n recentlyOrderedItems(dealerAccountUid?: string | null | undefined, vin?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Product/RecentlyOrderedItems?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n if (vin !== undefined && vin !== null)\n url_ += \"vin=\" + encodeURIComponent(\"\" + vin) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processRecentlyOrderedItems(_response));\n });\n }\n\n protected processRecentlyOrderedItems(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ProductItemDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n alternateItem(dealerAccountUid?: string | null | undefined, itemId?: string | null | undefined, quantity?: number | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Product/AlternateItem?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n if (itemId !== undefined && itemId !== null)\n url_ += \"itemId=\" + encodeURIComponent(\"\" + itemId) + \"&\";\n if (quantity === null)\n throw new Error(\"The parameter 'quantity' cannot be null.\");\n else if (quantity !== undefined)\n url_ += \"quantity=\" + encodeURIComponent(\"\" + quantity) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processAlternateItem(_response));\n });\n }\n\n protected processAlternateItem(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ProductItemDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n itemSubcomponents(dealerAccountUid?: string | null | undefined, itemId?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Product/ItemSubcomponents?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n if (itemId !== undefined && itemId !== null)\n url_ += \"itemId=\" + encodeURIComponent(\"\" + itemId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processItemSubcomponents(_response));\n });\n }\n\n protected processItemSubcomponents(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ProductItemDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createSalesOrder(dto: CreateSalesOrderDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Product/CreateSalesOrder?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateSalesOrder(_response));\n });\n }\n\n protected processCreateSalesOrder(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = DealerSalesOrderDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = DealerSalesOrderDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class SpiffClient_V1 extends AuthorizedApiBase {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Config, baseUrl?: string, instance?: AxiosInstance) {\n\n super(configuration);\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n getSpiffs(dto: SpiffSearchDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Spiff/GetSpiffs?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetSpiffs(_response));\n });\n }\n\n protected processGetSpiffs(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SpiffDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n dynamicsVinInfo(dealerAccountUid?: string | null | undefined, vin?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Spiff/DynamicsVinInfo?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n if (vin !== undefined && vin !== null)\n url_ += \"vin=\" + encodeURIComponent(\"\" + vin) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDynamicsVinInfo(_response));\n });\n }\n\n protected processDynamicsVinInfo(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = VinDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n requestSpiff(dto: CreateSpiffRequestDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Spiff/RequestSpiff?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processRequestSpiff(_response));\n });\n }\n\n protected processRequestSpiff(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CreateSpiffRequestDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = CreateSpiffRequestDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getSpiffSalesmen(dto: W9RequestSearchDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Spiff/GetSpiffSalesmen?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetSpiffSalesmen(_response));\n });\n }\n\n protected processGetSpiffSalesmen(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SpiffSalesmanDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class VinClient_V1 extends AuthorizedApiBase {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Config, baseUrl?: string, instance?: AxiosInstance) {\n\n super(configuration);\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n userVinRegistrations(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Vin/UserVinRegistrations\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUserVinRegistrations(_response));\n });\n }\n\n protected processUserVinRegistrations(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ViewVinRegistrationDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n userVinRegistration(vinRegistrationUid: string, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Vin/{vinRegistrationUid}/UserVinRegistration\";\n if (vinRegistrationUid === undefined || vinRegistrationUid === null)\n throw new Error(\"The parameter 'vinRegistrationUid' must be defined.\");\n url_ = url_.replace(\"{vinRegistrationUid}\", encodeURIComponent(\"\" + vinRegistrationUid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUserVinRegistration(_response));\n });\n }\n\n protected processUserVinRegistration(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = VinRegistrationDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getByUid(vehicleUid: string, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Vin/{vehicleUid}\";\n if (vehicleUid === undefined || vehicleUid === null)\n throw new Error(\"The parameter 'vehicleUid' must be defined.\");\n url_ = url_.replace(\"{vehicleUid}\", encodeURIComponent(\"\" + vehicleUid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetByUid(_response));\n });\n }\n\n protected processGetByUid(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = VinDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = VinDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getImageByUid(vehicleUid: string, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Vin/{vehicleUid}/image\";\n if (vehicleUid === undefined || vehicleUid === null)\n throw new Error(\"The parameter 'vehicleUid' must be defined.\");\n url_ = url_.replace(\"{vehicleUid}\", encodeURIComponent(\"\" + vehicleUid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetImageByUid(_response));\n });\n }\n\n protected processGetImageByUid(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ImageDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getVinUsers(vehicleUid: string, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Vin/{vehicleUid}/users\";\n if (vehicleUid === undefined || vehicleUid === null)\n throw new Error(\"The parameter 'vehicleUid' must be defined.\");\n url_ = url_.replace(\"{vehicleUid}\", encodeURIComponent(\"\" + vehicleUid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetVinUsers(_response));\n });\n }\n\n protected processGetVinUsers(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(UserDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getClaims(vehicleUid: string, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Vin/{vehicleUid}/claims\";\n if (vehicleUid === undefined || vehicleUid === null)\n throw new Error(\"The parameter 'vehicleUid' must be defined.\");\n url_ = url_.replace(\"{vehicleUid}\", encodeURIComponent(\"\" + vehicleUid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetClaims(_response));\n });\n }\n\n protected processGetClaims(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ClaimDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getRecalls(vehicleUid: string, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Vin/{vehicleUid}/recalls\";\n if (vehicleUid === undefined || vehicleUid === null)\n throw new Error(\"The parameter 'vehicleUid' must be defined.\");\n url_ = url_.replace(\"{vehicleUid}\", encodeURIComponent(\"\" + vehicleUid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetRecalls(_response));\n });\n }\n\n protected processGetRecalls(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(RecallDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n inviteConsumerUser(vehicleUid: string, dto: InviteConsumerUserDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Vin/{vehicleUid}/user\";\n if (vehicleUid === undefined || vehicleUid === null)\n throw new Error(\"The parameter 'vehicleUid' must be defined.\");\n url_ = url_.replace(\"{vehicleUid}\", encodeURIComponent(\"\" + vehicleUid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processInviteConsumerUser(_response));\n });\n }\n\n protected processInviteConsumerUser(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = InviteConsumerUserDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = InviteConsumerUserDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n removeConsumerUser(vehicleUid: string, userId: string, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Vin/{vehicleUid}/user/{userId}\";\n if (vehicleUid === undefined || vehicleUid === null)\n throw new Error(\"The parameter 'vehicleUid' must be defined.\");\n url_ = url_.replace(\"{vehicleUid}\", encodeURIComponent(\"\" + vehicleUid));\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"DELETE\",\n url: url_,\n headers: {\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processRemoveConsumerUser(_response));\n });\n }\n\n protected processRemoveConsumerUser(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n removeConsumerVinRegistration(vehicleUid?: string | undefined, userId?: string | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Vin/RemoveConsumerVinRegistration?\";\n if (vehicleUid === null)\n throw new Error(\"The parameter 'vehicleUid' cannot be null.\");\n else if (vehicleUid !== undefined)\n url_ += \"vehicleUid=\" + encodeURIComponent(\"\" + vehicleUid) + \"&\";\n if (userId === null)\n throw new Error(\"The parameter 'userId' cannot be null.\");\n else if (userId !== undefined)\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processRemoveConsumerVinRegistration(_response));\n });\n }\n\n protected processRemoveConsumerVinRegistration(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ApiResultDTO.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ApiResultDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n sendConsumerUserInvitation(vehicleUid: string, userId: string, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Vin/{vehicleUid}/SendConsumerInvitation/{userId}\";\n if (vehicleUid === undefined || vehicleUid === null)\n throw new Error(\"The parameter 'vehicleUid' must be defined.\");\n url_ = url_.replace(\"{vehicleUid}\", encodeURIComponent(\"\" + vehicleUid));\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSendConsumerUserInvitation(_response));\n });\n }\n\n protected processSendConsumerUserInvitation(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n registerOwner(dto: VinOwnerRegistrationDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Vin/RegisterOwner\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processRegisterOwner(_response));\n });\n }\n\n protected processRegisterOwner(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = VinOwnerRegistrationDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = VinOwnerRegistrationDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n registrationStatus(dto: VinRegistrationStatusDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Vin/RegistrationStatus\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processRegistrationStatus(_response));\n });\n }\n\n protected processRegistrationStatus(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = VinRegistrationStatusDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = VinRegistrationStatusDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n register(dto: UpdateVinRegistrationDTO, vehicleUid: string, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Vin/{vehicleUid}/Register\";\n if (vehicleUid === undefined || vehicleUid === null)\n throw new Error(\"The parameter 'vehicleUid' must be defined.\");\n url_ = url_.replace(\"{vehicleUid}\", encodeURIComponent(\"\" + vehicleUid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"PATCH\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processRegister(_response));\n });\n }\n\n protected processRegister(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = UpdateVinRegistrationDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = UpdateVinRegistrationDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deactivateRegistration(vehicleUid: string, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Vin/{vehicleUid}/DeactivateRegistration\";\n if (vehicleUid === undefined || vehicleUid === null)\n throw new Error(\"The parameter 'vehicleUid' must be defined.\");\n url_ = url_.replace(\"{vehicleUid}\", encodeURIComponent(\"\" + vehicleUid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeactivateRegistration(_response));\n });\n }\n\n protected processDeactivateRegistration(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ApiResultDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ApiResultDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getSalesOrders(vehicleUid: string, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Vin/{vehicleUid}/salesOrders\";\n if (vehicleUid === undefined || vehicleUid === null)\n throw new Error(\"The parameter 'vehicleUid' must be defined.\");\n url_ = url_.replace(\"{vehicleUid}\", encodeURIComponent(\"\" + vehicleUid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetSalesOrders(_response));\n });\n }\n\n protected processGetSalesOrders(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SalesOrderDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n ownersManual(vehicleUid: string, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Vin/{vehicleUid}/OwnersManual\";\n if (vehicleUid === undefined || vehicleUid === null)\n throw new Error(\"The parameter 'vehicleUid' must be defined.\");\n url_ = url_.replace(\"{vehicleUid}\", encodeURIComponent(\"\" + vehicleUid));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processOwnersManual(_response));\n });\n }\n\n protected processOwnersManual(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = resultData200 !== undefined ? resultData200 : null;\n \n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n userVehicleBrands(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Vin/UserVehicleBrands\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUserVehicleBrands(_response));\n });\n }\n\n protected processUserVehicleBrands(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(BrandDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class W9RequestClient_V1 extends AuthorizedApiBase {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Config, baseUrl?: string, instance?: AxiosInstance) {\n\n super(configuration);\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n w9Requests(dto: W9RequestSearchDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/W9Request/W9Requests?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processW9Requests(_response));\n });\n }\n\n protected processW9Requests(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(W9RequestDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createW9Request(dto: W9RequestDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/W9Request/CreateW9Request?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateW9Request(_response));\n });\n }\n\n protected processCreateW9Request(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = VinWarrantyRegistrationDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = VinWarrantyRegistrationDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class WarrantyRegistrationClient_V1 extends AuthorizedApiBase {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Config, baseUrl?: string, instance?: AxiosInstance) {\n\n super(configuration);\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n warrantyRegistrations(dto: WarrantyRegistrationSearchDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/WarrantyRegistration/WarrantyRegistrations?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processWarrantyRegistrations(_response));\n });\n }\n\n protected processWarrantyRegistrations(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(WarrantyRegistrationDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n vinOwnerHistories(dealerAccountUid?: string | null | undefined, vin?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/WarrantyRegistration/VinOwnerHistories?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n if (vin !== undefined && vin !== null)\n url_ += \"vin=\" + encodeURIComponent(\"\" + vin) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processVinOwnerHistories(_response));\n });\n }\n\n protected processVinOwnerHistories(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(VinOwnerHistoryDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n dynamicsVinInfo(dealerAccountUid?: string | null | undefined, vin?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/WarrantyRegistration/DynamicsVinInfo?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n if (vin !== undefined && vin !== null)\n url_ += \"vin=\" + encodeURIComponent(\"\" + vin) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDynamicsVinInfo(_response));\n });\n }\n\n protected processDynamicsVinInfo(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = VinDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n warrantyRegistrationReport(dealerAccountUid?: string | null | undefined, vin?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/WarrantyRegistration/WarrantyRegistrationReport?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n if (vin !== undefined && vin !== null)\n url_ += \"vin=\" + encodeURIComponent(\"\" + vin) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processWarrantyRegistrationReport(_response));\n });\n }\n\n protected processWarrantyRegistrationReport(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = AttachmentInfoDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n registerVinWarranty(dto: VinWarrantyRegistrationDTO, dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/WarrantyRegistration/RegisterVinWarranty?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processRegisterVinWarranty(_response));\n });\n }\n\n protected processRegisterVinWarranty(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = VinWarrantyRegistrationDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = VinWarrantyRegistrationDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class InformationalVideoDTO implements IInformationalVideoDTO {\n videoId?: string | null;\n title?: string | null;\n description?: string | null;\n videoUrl?: string | null;\n previewImageUrl?: string | null;\n brandIds?: string[] | null;\n companies?: string[] | null;\n createdDate?: moment.Moment;\n\n constructor(data?: IInformationalVideoDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.videoId = _data[\"videoId\"] !== undefined ? _data[\"videoId\"] : null;\n this.title = _data[\"title\"] !== undefined ? _data[\"title\"] : null;\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n this.videoUrl = _data[\"videoUrl\"] !== undefined ? _data[\"videoUrl\"] : null;\n this.previewImageUrl = _data[\"previewImageUrl\"] !== undefined ? _data[\"previewImageUrl\"] : null;\n if (Array.isArray(_data[\"brandIds\"])) {\n this.brandIds = [] as any;\n for (let item of _data[\"brandIds\"])\n this.brandIds!.push(item);\n }\n else {\n this.brandIds = null;\n }\n if (Array.isArray(_data[\"companies\"])) {\n this.companies = [] as any;\n for (let item of _data[\"companies\"])\n this.companies!.push(item);\n }\n else {\n this.companies = null;\n }\n this.createdDate = _data[\"createdDate\"] ? moment(_data[\"createdDate\"].toString()) : null;\n }\n }\n\n static fromJS(data: any): InformationalVideoDTO {\n data = typeof data === 'object' ? data : {};\n let result = new InformationalVideoDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"videoId\"] = this.videoId !== undefined ? this.videoId : null;\n data[\"title\"] = this.title !== undefined ? this.title : null;\n data[\"description\"] = this.description !== undefined ? this.description : null;\n data[\"videoUrl\"] = this.videoUrl !== undefined ? this.videoUrl : null;\n data[\"previewImageUrl\"] = this.previewImageUrl !== undefined ? this.previewImageUrl : null;\n if (Array.isArray(this.brandIds)) {\n data[\"brandIds\"] = [];\n for (let item of this.brandIds)\n data[\"brandIds\"].push(item);\n }\n if (Array.isArray(this.companies)) {\n data[\"companies\"] = [];\n for (let item of this.companies)\n data[\"companies\"].push(item);\n }\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : null;\n return data;\n }\n\n clone(): InformationalVideoDTO {\n const json = this.toJSON();\n let result = new InformationalVideoDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IInformationalVideoDTO {\n videoId?: string | null;\n title?: string | null;\n description?: string | null;\n videoUrl?: string | null;\n previewImageUrl?: string | null;\n brandIds?: string[] | null;\n companies?: string[] | null;\n createdDate?: moment.Moment;\n}\n\nexport class ChecklistDTO implements IChecklistDTO {\n uid?: string;\n name?: string | null;\n checklistType?: ChecklistTypes;\n\n constructor(data?: IChecklistDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.uid = _data[\"uid\"] !== undefined ? _data[\"uid\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.checklistType = _data[\"checklistType\"] !== undefined ? _data[\"checklistType\"] : null;\n }\n }\n\n static fromJS(data: any): ChecklistDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ChecklistDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"uid\"] = this.uid !== undefined ? this.uid : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"checklistType\"] = this.checklistType !== undefined ? this.checklistType : null;\n return data;\n }\n\n clone(): ChecklistDTO {\n const json = this.toJSON();\n let result = new ChecklistDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IChecklistDTO {\n uid?: string;\n name?: string | null;\n checklistType?: ChecklistTypes;\n}\n\nexport enum ChecklistTypes {\n Unknown = 0,\n Trip = 1,\n Maintenance = 2,\n}\n\nexport class ProblemDetails implements IProblemDetails {\n type?: string | null;\n title?: string | null;\n status?: number | null;\n detail?: string | null;\n instance?: string | null;\n\n [key: string]: any;\n\n constructor(data?: IProblemDetails) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n for (var property in _data) {\n if (_data.hasOwnProperty(property))\n this[property] = _data[property];\n }\n this.type = _data[\"type\"] !== undefined ? _data[\"type\"] : null;\n this.title = _data[\"title\"] !== undefined ? _data[\"title\"] : null;\n this.status = _data[\"status\"] !== undefined ? _data[\"status\"] : null;\n this.detail = _data[\"detail\"] !== undefined ? _data[\"detail\"] : null;\n this.instance = _data[\"instance\"] !== undefined ? _data[\"instance\"] : null;\n }\n }\n\n static fromJS(data: any): ProblemDetails {\n data = typeof data === 'object' ? data : {};\n let result = new ProblemDetails();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n for (var property in this) {\n if (this.hasOwnProperty(property))\n data[property] = this[property];\n }\n data[\"type\"] = this.type !== undefined ? this.type : null;\n data[\"title\"] = this.title !== undefined ? this.title : null;\n data[\"status\"] = this.status !== undefined ? this.status : null;\n data[\"detail\"] = this.detail !== undefined ? this.detail : null;\n data[\"instance\"] = this.instance !== undefined ? this.instance : null;\n return data;\n }\n\n clone(): ProblemDetails {\n const json = this.toJSON();\n let result = new ProblemDetails();\n result.init(json);\n return result;\n }\n}\n\nexport interface IProblemDetails {\n type?: string | null;\n title?: string | null;\n status?: number | null;\n detail?: string | null;\n instance?: string | null;\n\n [key: string]: any;\n}\n\nexport class ValidationBaseDTO implements IValidationBaseDTO {\n isValid?: boolean;\n errors?: string[] | null;\n\n constructor(data?: IValidationBaseDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isValid = _data[\"isValid\"] !== undefined ? _data[\"isValid\"] : null;\n if (Array.isArray(_data[\"errors\"])) {\n this.errors = [] as any;\n for (let item of _data[\"errors\"])\n this.errors!.push(item);\n }\n else {\n this.errors = null;\n }\n }\n }\n\n static fromJS(data: any): ValidationBaseDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ValidationBaseDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isValid\"] = this.isValid !== undefined ? this.isValid : null;\n if (Array.isArray(this.errors)) {\n data[\"errors\"] = [];\n for (let item of this.errors)\n data[\"errors\"].push(item);\n }\n return data;\n }\n\n clone(): ValidationBaseDTO {\n const json = this.toJSON();\n let result = new ValidationBaseDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IValidationBaseDTO {\n isValid?: boolean;\n errors?: string[] | null;\n}\n\nexport class WebsiteContentLinkDTO extends ValidationBaseDTO implements IWebsiteContentLinkDTO {\n companyType?: CompanyTypes;\n blogPostsLink?: string | null;\n podcastLink?: string | null;\n frequentlyAskedQuestionsLink?: string | null;\n ownersClubLink?: string | null;\n ownersForumLink?: string | null;\n solarUrl?: string | null;\n retailStoreUrl?: string | null;\n\n constructor(data?: IWebsiteContentLinkDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.companyType = _data[\"companyType\"] !== undefined ? _data[\"companyType\"] : null;\n this.blogPostsLink = _data[\"blogPostsLink\"] !== undefined ? _data[\"blogPostsLink\"] : null;\n this.podcastLink = _data[\"podcastLink\"] !== undefined ? _data[\"podcastLink\"] : null;\n this.frequentlyAskedQuestionsLink = _data[\"frequentlyAskedQuestionsLink\"] !== undefined ? _data[\"frequentlyAskedQuestionsLink\"] : null;\n this.ownersClubLink = _data[\"ownersClubLink\"] !== undefined ? _data[\"ownersClubLink\"] : null;\n this.ownersForumLink = _data[\"ownersForumLink\"] !== undefined ? _data[\"ownersForumLink\"] : null;\n this.solarUrl = _data[\"solarUrl\"] !== undefined ? _data[\"solarUrl\"] : null;\n this.retailStoreUrl = _data[\"retailStoreUrl\"] !== undefined ? _data[\"retailStoreUrl\"] : null;\n }\n }\n\n static fromJS(data: any): WebsiteContentLinkDTO {\n data = typeof data === 'object' ? data : {};\n let result = new WebsiteContentLinkDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"companyType\"] = this.companyType !== undefined ? this.companyType : null;\n data[\"blogPostsLink\"] = this.blogPostsLink !== undefined ? this.blogPostsLink : null;\n data[\"podcastLink\"] = this.podcastLink !== undefined ? this.podcastLink : null;\n data[\"frequentlyAskedQuestionsLink\"] = this.frequentlyAskedQuestionsLink !== undefined ? this.frequentlyAskedQuestionsLink : null;\n data[\"ownersClubLink\"] = this.ownersClubLink !== undefined ? this.ownersClubLink : null;\n data[\"ownersForumLink\"] = this.ownersForumLink !== undefined ? this.ownersForumLink : null;\n data[\"solarUrl\"] = this.solarUrl !== undefined ? this.solarUrl : null;\n data[\"retailStoreUrl\"] = this.retailStoreUrl !== undefined ? this.retailStoreUrl : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): WebsiteContentLinkDTO {\n const json = this.toJSON();\n let result = new WebsiteContentLinkDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IWebsiteContentLinkDTO extends IValidationBaseDTO {\n companyType?: CompanyTypes;\n blogPostsLink?: string | null;\n podcastLink?: string | null;\n frequentlyAskedQuestionsLink?: string | null;\n ownersClubLink?: string | null;\n ownersForumLink?: string | null;\n solarUrl?: string | null;\n retailStoreUrl?: string | null;\n}\n\nexport enum CompanyTypes {\n Unknown = 0,\n HRV = 1,\n CRV = 2,\n DRV = 3,\n Dealer = 4,\n}\n\nexport class WebsitePostCategoryDTO extends ValidationBaseDTO implements IWebsitePostCategoryDTO {\n companyType?: CompanyTypes;\n categoryName?: string | null;\n categoryId?: number;\n\n constructor(data?: IWebsitePostCategoryDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.companyType = _data[\"companyType\"] !== undefined ? _data[\"companyType\"] : null;\n this.categoryName = _data[\"categoryName\"] !== undefined ? _data[\"categoryName\"] : null;\n this.categoryId = _data[\"categoryId\"] !== undefined ? _data[\"categoryId\"] : null;\n }\n }\n\n static fromJS(data: any): WebsitePostCategoryDTO {\n data = typeof data === 'object' ? data : {};\n let result = new WebsitePostCategoryDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"companyType\"] = this.companyType !== undefined ? this.companyType : null;\n data[\"categoryName\"] = this.categoryName !== undefined ? this.categoryName : null;\n data[\"categoryId\"] = this.categoryId !== undefined ? this.categoryId : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): WebsitePostCategoryDTO {\n const json = this.toJSON();\n let result = new WebsitePostCategoryDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IWebsitePostCategoryDTO extends IValidationBaseDTO {\n companyType?: CompanyTypes;\n categoryName?: string | null;\n categoryId?: number;\n}\n\nexport class DealerAnnouncementDTO extends ValidationBaseDTO implements IDealerAnnouncementDTO {\n announcementUid?: string | null;\n title?: string | null;\n content?: string | null;\n isHtml?: boolean;\n expirationDateTime?: moment.Moment | null;\n sentDateTime?: moment.Moment | null;\n createdDateTime?: moment.Moment | null;\n updatedDateTime?: moment.Moment | null;\n hasAttachments?: boolean;\n\n constructor(data?: IDealerAnnouncementDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.announcementUid = _data[\"announcementUid\"] !== undefined ? _data[\"announcementUid\"] : null;\n this.title = _data[\"title\"] !== undefined ? _data[\"title\"] : null;\n this.content = _data[\"content\"] !== undefined ? _data[\"content\"] : null;\n this.isHtml = _data[\"isHtml\"] !== undefined ? _data[\"isHtml\"] : null;\n this.expirationDateTime = _data[\"expirationDateTime\"] ? moment(_data[\"expirationDateTime\"].toString()) : null;\n this.sentDateTime = _data[\"sentDateTime\"] ? moment(_data[\"sentDateTime\"].toString()) : null;\n this.createdDateTime = _data[\"createdDateTime\"] ? moment(_data[\"createdDateTime\"].toString()) : null;\n this.updatedDateTime = _data[\"updatedDateTime\"] ? moment(_data[\"updatedDateTime\"].toString()) : null;\n this.hasAttachments = _data[\"hasAttachments\"] !== undefined ? _data[\"hasAttachments\"] : null;\n }\n }\n\n static fromJS(data: any): DealerAnnouncementDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerAnnouncementDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"announcementUid\"] = this.announcementUid !== undefined ? this.announcementUid : null;\n data[\"title\"] = this.title !== undefined ? this.title : null;\n data[\"content\"] = this.content !== undefined ? this.content : null;\n data[\"isHtml\"] = this.isHtml !== undefined ? this.isHtml : null;\n data[\"expirationDateTime\"] = this.expirationDateTime ? this.expirationDateTime.toISOString() : null;\n data[\"sentDateTime\"] = this.sentDateTime ? this.sentDateTime.toISOString() : null;\n data[\"createdDateTime\"] = this.createdDateTime ? this.createdDateTime.toISOString() : null;\n data[\"updatedDateTime\"] = this.updatedDateTime ? this.updatedDateTime.toISOString() : null;\n data[\"hasAttachments\"] = this.hasAttachments !== undefined ? this.hasAttachments : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): DealerAnnouncementDTO {\n const json = this.toJSON();\n let result = new DealerAnnouncementDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerAnnouncementDTO extends IValidationBaseDTO {\n announcementUid?: string | null;\n title?: string | null;\n content?: string | null;\n isHtml?: boolean;\n expirationDateTime?: moment.Moment | null;\n sentDateTime?: moment.Moment | null;\n createdDateTime?: moment.Moment | null;\n updatedDateTime?: moment.Moment | null;\n hasAttachments?: boolean;\n}\n\nexport class CreateDealerAnnouncementDTO extends ValidationBaseDTO implements ICreateDealerAnnouncementDTO {\n title?: string | null;\n content?: string | null;\n isHtml?: boolean;\n expirationDate?: moment.Moment | null;\n attachmentUids?: string[] | null;\n\n constructor(data?: ICreateDealerAnnouncementDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.title = _data[\"title\"] !== undefined ? _data[\"title\"] : null;\n this.content = _data[\"content\"] !== undefined ? _data[\"content\"] : null;\n this.isHtml = _data[\"isHtml\"] !== undefined ? _data[\"isHtml\"] : null;\n this.expirationDate = _data[\"expirationDate\"] ? moment(_data[\"expirationDate\"].toString()) : null;\n if (Array.isArray(_data[\"attachmentUids\"])) {\n this.attachmentUids = [] as any;\n for (let item of _data[\"attachmentUids\"])\n this.attachmentUids!.push(item);\n }\n else {\n this.attachmentUids = null;\n }\n }\n }\n\n static fromJS(data: any): CreateDealerAnnouncementDTO {\n data = typeof data === 'object' ? data : {};\n let result = new CreateDealerAnnouncementDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"title\"] = this.title !== undefined ? this.title : null;\n data[\"content\"] = this.content !== undefined ? this.content : null;\n data[\"isHtml\"] = this.isHtml !== undefined ? this.isHtml : null;\n data[\"expirationDate\"] = this.expirationDate ? this.expirationDate.toISOString() : null;\n if (Array.isArray(this.attachmentUids)) {\n data[\"attachmentUids\"] = [];\n for (let item of this.attachmentUids)\n data[\"attachmentUids\"].push(item);\n }\n super.toJSON(data);\n return data;\n }\n\n clone(): CreateDealerAnnouncementDTO {\n const json = this.toJSON();\n let result = new CreateDealerAnnouncementDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICreateDealerAnnouncementDTO extends IValidationBaseDTO {\n title?: string | null;\n content?: string | null;\n isHtml?: boolean;\n expirationDate?: moment.Moment | null;\n attachmentUids?: string[] | null;\n}\n\nexport class DocumentDTO extends ValidationBaseDTO implements IDocumentDTO {\n documentUid?: string;\n documentType?: DocumentTypes;\n originalDocumentName?: string | null;\n storedDocumentName?: string | null;\n contentType?: string | null;\n uploadedBy?: string;\n uploadedDate?: moment.Moment;\n bytes?: string | null;\n\n constructor(data?: IDocumentDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.documentUid = _data[\"documentUid\"] !== undefined ? _data[\"documentUid\"] : null;\n this.documentType = _data[\"documentType\"] !== undefined ? _data[\"documentType\"] : null;\n this.originalDocumentName = _data[\"originalDocumentName\"] !== undefined ? _data[\"originalDocumentName\"] : null;\n this.storedDocumentName = _data[\"storedDocumentName\"] !== undefined ? _data[\"storedDocumentName\"] : null;\n this.contentType = _data[\"contentType\"] !== undefined ? _data[\"contentType\"] : null;\n this.uploadedBy = _data[\"uploadedBy\"] !== undefined ? _data[\"uploadedBy\"] : null;\n this.uploadedDate = _data[\"uploadedDate\"] ? moment(_data[\"uploadedDate\"].toString()) : null;\n this.bytes = _data[\"bytes\"] !== undefined ? _data[\"bytes\"] : null;\n }\n }\n\n static fromJS(data: any): DocumentDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DocumentDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"documentUid\"] = this.documentUid !== undefined ? this.documentUid : null;\n data[\"documentType\"] = this.documentType !== undefined ? this.documentType : null;\n data[\"originalDocumentName\"] = this.originalDocumentName !== undefined ? this.originalDocumentName : null;\n data[\"storedDocumentName\"] = this.storedDocumentName !== undefined ? this.storedDocumentName : null;\n data[\"contentType\"] = this.contentType !== undefined ? this.contentType : null;\n data[\"uploadedBy\"] = this.uploadedBy !== undefined ? this.uploadedBy : null;\n data[\"uploadedDate\"] = this.uploadedDate ? this.uploadedDate.toISOString() : null;\n data[\"bytes\"] = this.bytes !== undefined ? this.bytes : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): DocumentDTO {\n const json = this.toJSON();\n let result = new DocumentDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDocumentDTO extends IValidationBaseDTO {\n documentUid?: string;\n documentType?: DocumentTypes;\n originalDocumentName?: string | null;\n storedDocumentName?: string | null;\n contentType?: string | null;\n uploadedBy?: string;\n uploadedDate?: moment.Moment;\n bytes?: string | null;\n}\n\nexport enum DocumentTypes {\n Unknown = 0,\n BillOfSale = 1,\n ValidRVRegistration = 2,\n ValidTitle = 3,\n CustomRVImage = 4,\n W9Form = 5,\n ClaimLineAttachment = 6,\n Announcement = 7,\n}\n\nexport class DealerAnnouncementDocumentDTO extends ValidationBaseDTO implements IDealerAnnouncementDocumentDTO {\n announcementUid?: string | null;\n announcementDocuments?: string[] | null;\n\n constructor(data?: IDealerAnnouncementDocumentDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.announcementUid = _data[\"announcementUid\"] !== undefined ? _data[\"announcementUid\"] : null;\n if (Array.isArray(_data[\"announcementDocuments\"])) {\n this.announcementDocuments = [] as any;\n for (let item of _data[\"announcementDocuments\"])\n this.announcementDocuments!.push(item);\n }\n else {\n this.announcementDocuments = null;\n }\n }\n }\n\n static fromJS(data: any): DealerAnnouncementDocumentDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerAnnouncementDocumentDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"announcementUid\"] = this.announcementUid !== undefined ? this.announcementUid : null;\n if (Array.isArray(this.announcementDocuments)) {\n data[\"announcementDocuments\"] = [];\n for (let item of this.announcementDocuments)\n data[\"announcementDocuments\"].push(item);\n }\n super.toJSON(data);\n return data;\n }\n\n clone(): DealerAnnouncementDocumentDTO {\n const json = this.toJSON();\n let result = new DealerAnnouncementDocumentDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerAnnouncementDocumentDTO extends IValidationBaseDTO {\n announcementUid?: string | null;\n announcementDocuments?: string[] | null;\n}\n\nexport class DeleteDealerAnnouncementDocDTO extends ValidationBaseDTO implements IDeleteDealerAnnouncementDocDTO {\n announcementUid?: string | null;\n documentUid?: string | null;\n userId?: string;\n\n constructor(data?: IDeleteDealerAnnouncementDocDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.announcementUid = _data[\"announcementUid\"] !== undefined ? _data[\"announcementUid\"] : null;\n this.documentUid = _data[\"documentUid\"] !== undefined ? _data[\"documentUid\"] : null;\n this.userId = _data[\"userId\"] !== undefined ? _data[\"userId\"] : null;\n }\n }\n\n static fromJS(data: any): DeleteDealerAnnouncementDocDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DeleteDealerAnnouncementDocDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"announcementUid\"] = this.announcementUid !== undefined ? this.announcementUid : null;\n data[\"documentUid\"] = this.documentUid !== undefined ? this.documentUid : null;\n data[\"userId\"] = this.userId !== undefined ? this.userId : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): DeleteDealerAnnouncementDocDTO {\n const json = this.toJSON();\n let result = new DeleteDealerAnnouncementDocDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDeleteDealerAnnouncementDocDTO extends IValidationBaseDTO {\n announcementUid?: string | null;\n documentUid?: string | null;\n userId?: string;\n}\n\nexport class DealerClaimDTO extends ValidationBaseDTO implements IDealerClaimDTO {\n dealerUserId?: string | null;\n custAccount?: string | null;\n claimNumber?: string | null;\n vin?: string | null;\n status?: string | null;\n inServiceDate?: moment.Moment;\n dateOutOfService?: moment.Moment | null;\n updated?: moment.Moment;\n workOrderNumber?: string | null;\n checkNumber?: string | null;\n total?: number;\n vendorChargeback?: boolean;\n recallID?: string | null;\n totalItems?: number;\n brand?: string | null;\n model?: string | null;\n year?: string | null;\n claimType?: string | null;\n workCompleted?: boolean;\n partsMiscCostSubmitted?: boolean;\n submittedForPayment?: boolean;\n claimTotal?: number;\n laborTotal?: number;\n ownerName?: string | null;\n ownerAddress?: string | null;\n lines?: DealerClaimLineDTO[] | null;\n doUpdate?: boolean;\n autoDenied?: boolean;\n\n constructor(data?: IDealerClaimDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.dealerUserId = _data[\"dealerUserId\"] !== undefined ? _data[\"dealerUserId\"] : null;\n this.custAccount = _data[\"custAccount\"] !== undefined ? _data[\"custAccount\"] : null;\n this.claimNumber = _data[\"claimNumber\"] !== undefined ? _data[\"claimNumber\"] : null;\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.status = _data[\"status\"] !== undefined ? _data[\"status\"] : null;\n this.inServiceDate = _data[\"inServiceDate\"] ? moment(_data[\"inServiceDate\"].toString()) : null;\n this.dateOutOfService = _data[\"dateOutOfService\"] ? moment(_data[\"dateOutOfService\"].toString()) : null;\n this.updated = _data[\"updated\"] ? moment(_data[\"updated\"].toString()) : null;\n this.workOrderNumber = _data[\"workOrderNumber\"] !== undefined ? _data[\"workOrderNumber\"] : null;\n this.checkNumber = _data[\"checkNumber\"] !== undefined ? _data[\"checkNumber\"] : null;\n this.total = _data[\"total\"] !== undefined ? _data[\"total\"] : null;\n this.vendorChargeback = _data[\"vendorChargeback\"] !== undefined ? _data[\"vendorChargeback\"] : null;\n this.recallID = _data[\"recallID\"] !== undefined ? _data[\"recallID\"] : null;\n this.totalItems = _data[\"totalItems\"] !== undefined ? _data[\"totalItems\"] : null;\n this.brand = _data[\"brand\"] !== undefined ? _data[\"brand\"] : null;\n this.model = _data[\"model\"] !== undefined ? _data[\"model\"] : null;\n this.year = _data[\"year\"] !== undefined ? _data[\"year\"] : null;\n this.claimType = _data[\"claimType\"] !== undefined ? _data[\"claimType\"] : null;\n this.workCompleted = _data[\"workCompleted\"] !== undefined ? _data[\"workCompleted\"] : null;\n this.partsMiscCostSubmitted = _data[\"partsMiscCostSubmitted\"] !== undefined ? _data[\"partsMiscCostSubmitted\"] : null;\n this.submittedForPayment = _data[\"submittedForPayment\"] !== undefined ? _data[\"submittedForPayment\"] : null;\n this.claimTotal = _data[\"claimTotal\"] !== undefined ? _data[\"claimTotal\"] : null;\n this.laborTotal = _data[\"laborTotal\"] !== undefined ? _data[\"laborTotal\"] : null;\n this.ownerName = _data[\"ownerName\"] !== undefined ? _data[\"ownerName\"] : null;\n this.ownerAddress = _data[\"ownerAddress\"] !== undefined ? _data[\"ownerAddress\"] : null;\n if (Array.isArray(_data[\"lines\"])) {\n this.lines = [] as any;\n for (let item of _data[\"lines\"])\n this.lines!.push(DealerClaimLineDTO.fromJS(item));\n }\n else {\n this.lines = null;\n }\n this.doUpdate = _data[\"doUpdate\"] !== undefined ? _data[\"doUpdate\"] : null;\n this.autoDenied = _data[\"autoDenied\"] !== undefined ? _data[\"autoDenied\"] : null;\n }\n }\n\n static fromJS(data: any): DealerClaimDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerClaimDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dealerUserId\"] = this.dealerUserId !== undefined ? this.dealerUserId : null;\n data[\"custAccount\"] = this.custAccount !== undefined ? this.custAccount : null;\n data[\"claimNumber\"] = this.claimNumber !== undefined ? this.claimNumber : null;\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"status\"] = this.status !== undefined ? this.status : null;\n data[\"inServiceDate\"] = this.inServiceDate ? this.inServiceDate.toISOString() : null;\n data[\"dateOutOfService\"] = this.dateOutOfService ? this.dateOutOfService.toISOString() : null;\n data[\"updated\"] = this.updated ? this.updated.toISOString() : null;\n data[\"workOrderNumber\"] = this.workOrderNumber !== undefined ? this.workOrderNumber : null;\n data[\"checkNumber\"] = this.checkNumber !== undefined ? this.checkNumber : null;\n data[\"total\"] = this.total !== undefined ? this.total : null;\n data[\"vendorChargeback\"] = this.vendorChargeback !== undefined ? this.vendorChargeback : null;\n data[\"recallID\"] = this.recallID !== undefined ? this.recallID : null;\n data[\"totalItems\"] = this.totalItems !== undefined ? this.totalItems : null;\n data[\"brand\"] = this.brand !== undefined ? this.brand : null;\n data[\"model\"] = this.model !== undefined ? this.model : null;\n data[\"year\"] = this.year !== undefined ? this.year : null;\n data[\"claimType\"] = this.claimType !== undefined ? this.claimType : null;\n data[\"workCompleted\"] = this.workCompleted !== undefined ? this.workCompleted : null;\n data[\"partsMiscCostSubmitted\"] = this.partsMiscCostSubmitted !== undefined ? this.partsMiscCostSubmitted : null;\n data[\"submittedForPayment\"] = this.submittedForPayment !== undefined ? this.submittedForPayment : null;\n data[\"claimTotal\"] = this.claimTotal !== undefined ? this.claimTotal : null;\n data[\"laborTotal\"] = this.laborTotal !== undefined ? this.laborTotal : null;\n data[\"ownerName\"] = this.ownerName !== undefined ? this.ownerName : null;\n data[\"ownerAddress\"] = this.ownerAddress !== undefined ? this.ownerAddress : null;\n if (Array.isArray(this.lines)) {\n data[\"lines\"] = [];\n for (let item of this.lines)\n data[\"lines\"].push(item.toJSON());\n }\n data[\"doUpdate\"] = this.doUpdate !== undefined ? this.doUpdate : null;\n data[\"autoDenied\"] = this.autoDenied !== undefined ? this.autoDenied : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): DealerClaimDTO {\n const json = this.toJSON();\n let result = new DealerClaimDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerClaimDTO extends IValidationBaseDTO {\n dealerUserId?: string | null;\n custAccount?: string | null;\n claimNumber?: string | null;\n vin?: string | null;\n status?: string | null;\n inServiceDate?: moment.Moment;\n dateOutOfService?: moment.Moment | null;\n updated?: moment.Moment;\n workOrderNumber?: string | null;\n checkNumber?: string | null;\n total?: number;\n vendorChargeback?: boolean;\n recallID?: string | null;\n totalItems?: number;\n brand?: string | null;\n model?: string | null;\n year?: string | null;\n claimType?: string | null;\n workCompleted?: boolean;\n partsMiscCostSubmitted?: boolean;\n submittedForPayment?: boolean;\n claimTotal?: number;\n laborTotal?: number;\n ownerName?: string | null;\n ownerAddress?: string | null;\n lines?: DealerClaimLineDTO[] | null;\n doUpdate?: boolean;\n autoDenied?: boolean;\n}\n\nexport class DealerClaimLineDTO implements IDealerClaimLineDTO {\n id?: number;\n warrantyClassCode?: string | null;\n description?: string | null;\n remedyCode?: string | null;\n failureCode?: string | null;\n status?: string | null;\n subletAmount?: number;\n laborRate?: number;\n frcHours?: number;\n hoursRequested?: number;\n hoursApproved?: number;\n awaitingPartsReturn?: boolean;\n awaitingPhoto?: boolean;\n workCompleted?: boolean;\n dealerCanceledDenied?: string | null;\n dealerCanceledDeniedReason?: string | null;\n items?: DealerClaimLineItemDTO[] | null;\n miscCharges?: DealerClaimLineMiscChargeDTO[] | null;\n notes?: DealerClaimLineNoteDTO[] | null;\n attachments?: DealerClaimLineAttachmentDTO[] | null;\n doUpdate?: boolean;\n\n constructor(data?: IDealerClaimLineDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.warrantyClassCode = _data[\"warrantyClassCode\"] !== undefined ? _data[\"warrantyClassCode\"] : null;\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n this.remedyCode = _data[\"remedyCode\"] !== undefined ? _data[\"remedyCode\"] : null;\n this.failureCode = _data[\"failureCode\"] !== undefined ? _data[\"failureCode\"] : null;\n this.status = _data[\"status\"] !== undefined ? _data[\"status\"] : null;\n this.subletAmount = _data[\"subletAmount\"] !== undefined ? _data[\"subletAmount\"] : null;\n this.laborRate = _data[\"laborRate\"] !== undefined ? _data[\"laborRate\"] : null;\n this.frcHours = _data[\"frcHours\"] !== undefined ? _data[\"frcHours\"] : null;\n this.hoursRequested = _data[\"hoursRequested\"] !== undefined ? _data[\"hoursRequested\"] : null;\n this.hoursApproved = _data[\"hoursApproved\"] !== undefined ? _data[\"hoursApproved\"] : null;\n this.awaitingPartsReturn = _data[\"awaitingPartsReturn\"] !== undefined ? _data[\"awaitingPartsReturn\"] : null;\n this.awaitingPhoto = _data[\"awaitingPhoto\"] !== undefined ? _data[\"awaitingPhoto\"] : null;\n this.workCompleted = _data[\"workCompleted\"] !== undefined ? _data[\"workCompleted\"] : null;\n this.dealerCanceledDenied = _data[\"dealerCanceledDenied\"] !== undefined ? _data[\"dealerCanceledDenied\"] : null;\n this.dealerCanceledDeniedReason = _data[\"dealerCanceledDeniedReason\"] !== undefined ? _data[\"dealerCanceledDeniedReason\"] : null;\n if (Array.isArray(_data[\"items\"])) {\n this.items = [] as any;\n for (let item of _data[\"items\"])\n this.items!.push(DealerClaimLineItemDTO.fromJS(item));\n }\n else {\n this.items = null;\n }\n if (Array.isArray(_data[\"miscCharges\"])) {\n this.miscCharges = [] as any;\n for (let item of _data[\"miscCharges\"])\n this.miscCharges!.push(DealerClaimLineMiscChargeDTO.fromJS(item));\n }\n else {\n this.miscCharges = null;\n }\n if (Array.isArray(_data[\"notes\"])) {\n this.notes = [] as any;\n for (let item of _data[\"notes\"])\n this.notes!.push(DealerClaimLineNoteDTO.fromJS(item));\n }\n else {\n this.notes = null;\n }\n if (Array.isArray(_data[\"attachments\"])) {\n this.attachments = [] as any;\n for (let item of _data[\"attachments\"])\n this.attachments!.push(DealerClaimLineAttachmentDTO.fromJS(item));\n }\n else {\n this.attachments = null;\n }\n this.doUpdate = _data[\"doUpdate\"] !== undefined ? _data[\"doUpdate\"] : null;\n }\n }\n\n static fromJS(data: any): DealerClaimLineDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerClaimLineDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"warrantyClassCode\"] = this.warrantyClassCode !== undefined ? this.warrantyClassCode : null;\n data[\"description\"] = this.description !== undefined ? this.description : null;\n data[\"remedyCode\"] = this.remedyCode !== undefined ? this.remedyCode : null;\n data[\"failureCode\"] = this.failureCode !== undefined ? this.failureCode : null;\n data[\"status\"] = this.status !== undefined ? this.status : null;\n data[\"subletAmount\"] = this.subletAmount !== undefined ? this.subletAmount : null;\n data[\"laborRate\"] = this.laborRate !== undefined ? this.laborRate : null;\n data[\"frcHours\"] = this.frcHours !== undefined ? this.frcHours : null;\n data[\"hoursRequested\"] = this.hoursRequested !== undefined ? this.hoursRequested : null;\n data[\"hoursApproved\"] = this.hoursApproved !== undefined ? this.hoursApproved : null;\n data[\"awaitingPartsReturn\"] = this.awaitingPartsReturn !== undefined ? this.awaitingPartsReturn : null;\n data[\"awaitingPhoto\"] = this.awaitingPhoto !== undefined ? this.awaitingPhoto : null;\n data[\"workCompleted\"] = this.workCompleted !== undefined ? this.workCompleted : null;\n data[\"dealerCanceledDenied\"] = this.dealerCanceledDenied !== undefined ? this.dealerCanceledDenied : null;\n data[\"dealerCanceledDeniedReason\"] = this.dealerCanceledDeniedReason !== undefined ? this.dealerCanceledDeniedReason : null;\n if (Array.isArray(this.items)) {\n data[\"items\"] = [];\n for (let item of this.items)\n data[\"items\"].push(item.toJSON());\n }\n if (Array.isArray(this.miscCharges)) {\n data[\"miscCharges\"] = [];\n for (let item of this.miscCharges)\n data[\"miscCharges\"].push(item.toJSON());\n }\n if (Array.isArray(this.notes)) {\n data[\"notes\"] = [];\n for (let item of this.notes)\n data[\"notes\"].push(item.toJSON());\n }\n if (Array.isArray(this.attachments)) {\n data[\"attachments\"] = [];\n for (let item of this.attachments)\n data[\"attachments\"].push(item.toJSON());\n }\n data[\"doUpdate\"] = this.doUpdate !== undefined ? this.doUpdate : null;\n return data;\n }\n\n clone(): DealerClaimLineDTO {\n const json = this.toJSON();\n let result = new DealerClaimLineDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerClaimLineDTO {\n id?: number;\n warrantyClassCode?: string | null;\n description?: string | null;\n remedyCode?: string | null;\n failureCode?: string | null;\n status?: string | null;\n subletAmount?: number;\n laborRate?: number;\n frcHours?: number;\n hoursRequested?: number;\n hoursApproved?: number;\n awaitingPartsReturn?: boolean;\n awaitingPhoto?: boolean;\n workCompleted?: boolean;\n dealerCanceledDenied?: string | null;\n dealerCanceledDeniedReason?: string | null;\n items?: DealerClaimLineItemDTO[] | null;\n miscCharges?: DealerClaimLineMiscChargeDTO[] | null;\n notes?: DealerClaimLineNoteDTO[] | null;\n attachments?: DealerClaimLineAttachmentDTO[] | null;\n doUpdate?: boolean;\n}\n\nexport class DealerClaimLineItemDTO implements IDealerClaimLineItemDTO {\n id?: number;\n itemNumber?: string | null;\n itemDescription?: string | null;\n quantity?: number;\n price?: number;\n status?: string | null;\n declineReason?: string | null;\n doUpdate?: boolean;\n\n constructor(data?: IDealerClaimLineItemDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.itemNumber = _data[\"itemNumber\"] !== undefined ? _data[\"itemNumber\"] : null;\n this.itemDescription = _data[\"itemDescription\"] !== undefined ? _data[\"itemDescription\"] : null;\n this.quantity = _data[\"quantity\"] !== undefined ? _data[\"quantity\"] : null;\n this.price = _data[\"price\"] !== undefined ? _data[\"price\"] : null;\n this.status = _data[\"status\"] !== undefined ? _data[\"status\"] : null;\n this.declineReason = _data[\"declineReason\"] !== undefined ? _data[\"declineReason\"] : null;\n this.doUpdate = _data[\"doUpdate\"] !== undefined ? _data[\"doUpdate\"] : null;\n }\n }\n\n static fromJS(data: any): DealerClaimLineItemDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerClaimLineItemDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"itemNumber\"] = this.itemNumber !== undefined ? this.itemNumber : null;\n data[\"itemDescription\"] = this.itemDescription !== undefined ? this.itemDescription : null;\n data[\"quantity\"] = this.quantity !== undefined ? this.quantity : null;\n data[\"price\"] = this.price !== undefined ? this.price : null;\n data[\"status\"] = this.status !== undefined ? this.status : null;\n data[\"declineReason\"] = this.declineReason !== undefined ? this.declineReason : null;\n data[\"doUpdate\"] = this.doUpdate !== undefined ? this.doUpdate : null;\n return data;\n }\n\n clone(): DealerClaimLineItemDTO {\n const json = this.toJSON();\n let result = new DealerClaimLineItemDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerClaimLineItemDTO {\n id?: number;\n itemNumber?: string | null;\n itemDescription?: string | null;\n quantity?: number;\n price?: number;\n status?: string | null;\n declineReason?: string | null;\n doUpdate?: boolean;\n}\n\nexport class DealerClaimLineMiscChargeDTO extends ValidationBaseDTO implements IDealerClaimLineMiscChargeDTO {\n id?: number;\n markupCode?: string | null;\n amount?: number;\n description?: string | null;\n status?: string | null;\n declineReason?: string | null;\n doUpdate?: boolean;\n\n constructor(data?: IDealerClaimLineMiscChargeDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.markupCode = _data[\"markupCode\"] !== undefined ? _data[\"markupCode\"] : null;\n this.amount = _data[\"amount\"] !== undefined ? _data[\"amount\"] : null;\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n this.status = _data[\"status\"] !== undefined ? _data[\"status\"] : null;\n this.declineReason = _data[\"declineReason\"] !== undefined ? _data[\"declineReason\"] : null;\n this.doUpdate = _data[\"doUpdate\"] !== undefined ? _data[\"doUpdate\"] : null;\n }\n }\n\n static fromJS(data: any): DealerClaimLineMiscChargeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerClaimLineMiscChargeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"markupCode\"] = this.markupCode !== undefined ? this.markupCode : null;\n data[\"amount\"] = this.amount !== undefined ? this.amount : null;\n data[\"description\"] = this.description !== undefined ? this.description : null;\n data[\"status\"] = this.status !== undefined ? this.status : null;\n data[\"declineReason\"] = this.declineReason !== undefined ? this.declineReason : null;\n data[\"doUpdate\"] = this.doUpdate !== undefined ? this.doUpdate : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): DealerClaimLineMiscChargeDTO {\n const json = this.toJSON();\n let result = new DealerClaimLineMiscChargeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerClaimLineMiscChargeDTO extends IValidationBaseDTO {\n id?: number;\n markupCode?: string | null;\n amount?: number;\n description?: string | null;\n status?: string | null;\n declineReason?: string | null;\n doUpdate?: boolean;\n}\n\nexport class DealerClaimLineNoteDTO implements IDealerClaimLineNoteDTO {\n id?: number;\n name?: string | null;\n userId?: string | null;\n note?: string | null;\n created?: moment.Moment;\n doUpdate?: boolean;\n\n constructor(data?: IDealerClaimLineNoteDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.userId = _data[\"userId\"] !== undefined ? _data[\"userId\"] : null;\n this.note = _data[\"note\"] !== undefined ? _data[\"note\"] : null;\n this.created = _data[\"created\"] ? moment(_data[\"created\"].toString()) : null;\n this.doUpdate = _data[\"doUpdate\"] !== undefined ? _data[\"doUpdate\"] : null;\n }\n }\n\n static fromJS(data: any): DealerClaimLineNoteDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerClaimLineNoteDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"userId\"] = this.userId !== undefined ? this.userId : null;\n data[\"note\"] = this.note !== undefined ? this.note : null;\n data[\"created\"] = this.created ? this.created.toISOString() : null;\n data[\"doUpdate\"] = this.doUpdate !== undefined ? this.doUpdate : null;\n return data;\n }\n\n clone(): DealerClaimLineNoteDTO {\n const json = this.toJSON();\n let result = new DealerClaimLineNoteDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerClaimLineNoteDTO {\n id?: number;\n name?: string | null;\n userId?: string | null;\n note?: string | null;\n created?: moment.Moment;\n doUpdate?: boolean;\n}\n\nexport class DealerClaimLineAttachmentDTO implements IDealerClaimLineAttachmentDTO {\n id?: number;\n type?: string | null;\n description?: string | null;\n fileName?: string | null;\n url?: string | null;\n created?: moment.Moment;\n createdBy?: string | null;\n doUpdate?: boolean;\n\n constructor(data?: IDealerClaimLineAttachmentDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.type = _data[\"type\"] !== undefined ? _data[\"type\"] : null;\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n this.fileName = _data[\"fileName\"] !== undefined ? _data[\"fileName\"] : null;\n this.url = _data[\"url\"] !== undefined ? _data[\"url\"] : null;\n this.created = _data[\"created\"] ? moment(_data[\"created\"].toString()) : null;\n this.createdBy = _data[\"createdBy\"] !== undefined ? _data[\"createdBy\"] : null;\n this.doUpdate = _data[\"doUpdate\"] !== undefined ? _data[\"doUpdate\"] : null;\n }\n }\n\n static fromJS(data: any): DealerClaimLineAttachmentDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerClaimLineAttachmentDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"type\"] = this.type !== undefined ? this.type : null;\n data[\"description\"] = this.description !== undefined ? this.description : null;\n data[\"fileName\"] = this.fileName !== undefined ? this.fileName : null;\n data[\"url\"] = this.url !== undefined ? this.url : null;\n data[\"created\"] = this.created ? this.created.toISOString() : null;\n data[\"createdBy\"] = this.createdBy !== undefined ? this.createdBy : null;\n data[\"doUpdate\"] = this.doUpdate !== undefined ? this.doUpdate : null;\n return data;\n }\n\n clone(): DealerClaimLineAttachmentDTO {\n const json = this.toJSON();\n let result = new DealerClaimLineAttachmentDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerClaimLineAttachmentDTO {\n id?: number;\n type?: string | null;\n description?: string | null;\n fileName?: string | null;\n url?: string | null;\n created?: moment.Moment;\n createdBy?: string | null;\n doUpdate?: boolean;\n}\n\nexport class PaginationBaseRequestDTO implements IPaginationBaseRequestDTO {\n dealerUserUid?: string | null;\n page?: number | null;\n pageTake?: number | null;\n searchInput?: string | null;\n\n constructor(data?: IPaginationBaseRequestDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dealerUserUid = _data[\"dealerUserUid\"] !== undefined ? _data[\"dealerUserUid\"] : null;\n this.page = _data[\"page\"] !== undefined ? _data[\"page\"] : null;\n this.pageTake = _data[\"pageTake\"] !== undefined ? _data[\"pageTake\"] : null;\n this.searchInput = _data[\"searchInput\"] !== undefined ? _data[\"searchInput\"] : null;\n }\n }\n\n static fromJS(data: any): PaginationBaseRequestDTO {\n data = typeof data === 'object' ? data : {};\n let result = new PaginationBaseRequestDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dealerUserUid\"] = this.dealerUserUid !== undefined ? this.dealerUserUid : null;\n data[\"page\"] = this.page !== undefined ? this.page : null;\n data[\"pageTake\"] = this.pageTake !== undefined ? this.pageTake : null;\n data[\"searchInput\"] = this.searchInput !== undefined ? this.searchInput : null;\n return data;\n }\n\n clone(): PaginationBaseRequestDTO {\n const json = this.toJSON();\n let result = new PaginationBaseRequestDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IPaginationBaseRequestDTO {\n dealerUserUid?: string | null;\n page?: number | null;\n pageTake?: number | null;\n searchInput?: string | null;\n}\n\nexport class DealerClaimSearchDTO extends PaginationBaseRequestDTO implements IDealerClaimSearchDTO {\n autoDenied?: boolean;\n vin?: string | null;\n statusType?: string | null;\n claimNumber?: string | null;\n recallId?: string | null;\n workOrderNumber?: string | null;\n agingRange?: boolean;\n hideClosed?: boolean;\n\n constructor(data?: IDealerClaimSearchDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.autoDenied = _data[\"autoDenied\"] !== undefined ? _data[\"autoDenied\"] : null;\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.statusType = _data[\"statusType\"] !== undefined ? _data[\"statusType\"] : null;\n this.claimNumber = _data[\"claimNumber\"] !== undefined ? _data[\"claimNumber\"] : null;\n this.recallId = _data[\"recallId\"] !== undefined ? _data[\"recallId\"] : null;\n this.workOrderNumber = _data[\"workOrderNumber\"] !== undefined ? _data[\"workOrderNumber\"] : null;\n this.agingRange = _data[\"agingRange\"] !== undefined ? _data[\"agingRange\"] : null;\n this.hideClosed = _data[\"hideClosed\"] !== undefined ? _data[\"hideClosed\"] : null;\n }\n }\n\n static fromJS(data: any): DealerClaimSearchDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerClaimSearchDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"autoDenied\"] = this.autoDenied !== undefined ? this.autoDenied : null;\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"statusType\"] = this.statusType !== undefined ? this.statusType : null;\n data[\"claimNumber\"] = this.claimNumber !== undefined ? this.claimNumber : null;\n data[\"recallId\"] = this.recallId !== undefined ? this.recallId : null;\n data[\"workOrderNumber\"] = this.workOrderNumber !== undefined ? this.workOrderNumber : null;\n data[\"agingRange\"] = this.agingRange !== undefined ? this.agingRange : null;\n data[\"hideClosed\"] = this.hideClosed !== undefined ? this.hideClosed : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): DealerClaimSearchDTO {\n const json = this.toJSON();\n let result = new DealerClaimSearchDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerClaimSearchDTO extends IPaginationBaseRequestDTO {\n autoDenied?: boolean;\n vin?: string | null;\n statusType?: string | null;\n claimNumber?: string | null;\n recallId?: string | null;\n workOrderNumber?: string | null;\n agingRange?: boolean;\n hideClosed?: boolean;\n}\n\nexport class CreateClaimDTO implements ICreateClaimDTO {\n userId?: string | null;\n dealerLocationDynamicsId?: string | null;\n vin?: string | null;\n workOrderNumber?: string | null;\n inServiceDate?: moment.Moment;\n recallId?: string | null;\n remedyCode?: string | null;\n\n constructor(data?: ICreateClaimDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"] !== undefined ? _data[\"userId\"] : null;\n this.dealerLocationDynamicsId = _data[\"dealerLocationDynamicsId\"] !== undefined ? _data[\"dealerLocationDynamicsId\"] : null;\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.workOrderNumber = _data[\"workOrderNumber\"] !== undefined ? _data[\"workOrderNumber\"] : null;\n this.inServiceDate = _data[\"inServiceDate\"] ? moment(_data[\"inServiceDate\"].toString()) : null;\n this.recallId = _data[\"recallId\"] !== undefined ? _data[\"recallId\"] : null;\n this.remedyCode = _data[\"remedyCode\"] !== undefined ? _data[\"remedyCode\"] : null;\n }\n }\n\n static fromJS(data: any): CreateClaimDTO {\n data = typeof data === 'object' ? data : {};\n let result = new CreateClaimDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId !== undefined ? this.userId : null;\n data[\"dealerLocationDynamicsId\"] = this.dealerLocationDynamicsId !== undefined ? this.dealerLocationDynamicsId : null;\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"workOrderNumber\"] = this.workOrderNumber !== undefined ? this.workOrderNumber : null;\n data[\"inServiceDate\"] = this.inServiceDate ? this.inServiceDate.toISOString() : null;\n data[\"recallId\"] = this.recallId !== undefined ? this.recallId : null;\n data[\"remedyCode\"] = this.remedyCode !== undefined ? this.remedyCode : null;\n return data;\n }\n\n clone(): CreateClaimDTO {\n const json = this.toJSON();\n let result = new CreateClaimDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICreateClaimDTO {\n userId?: string | null;\n dealerLocationDynamicsId?: string | null;\n vin?: string | null;\n workOrderNumber?: string | null;\n inServiceDate?: moment.Moment;\n recallId?: string | null;\n remedyCode?: string | null;\n}\n\nexport class CreateClaimLineDTO implements ICreateClaimLineDTO {\n dealerUserId?: string | null;\n claimNumber?: string | null;\n warrantyClassCode?: string | null;\n remedyCode?: string | null;\n failureCode?: string | null;\n\n constructor(data?: ICreateClaimLineDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dealerUserId = _data[\"dealerUserId\"] !== undefined ? _data[\"dealerUserId\"] : null;\n this.claimNumber = _data[\"claimNumber\"] !== undefined ? _data[\"claimNumber\"] : null;\n this.warrantyClassCode = _data[\"warrantyClassCode\"] !== undefined ? _data[\"warrantyClassCode\"] : null;\n this.remedyCode = _data[\"remedyCode\"] !== undefined ? _data[\"remedyCode\"] : null;\n this.failureCode = _data[\"failureCode\"] !== undefined ? _data[\"failureCode\"] : null;\n }\n }\n\n static fromJS(data: any): CreateClaimLineDTO {\n data = typeof data === 'object' ? data : {};\n let result = new CreateClaimLineDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dealerUserId\"] = this.dealerUserId !== undefined ? this.dealerUserId : null;\n data[\"claimNumber\"] = this.claimNumber !== undefined ? this.claimNumber : null;\n data[\"warrantyClassCode\"] = this.warrantyClassCode !== undefined ? this.warrantyClassCode : null;\n data[\"remedyCode\"] = this.remedyCode !== undefined ? this.remedyCode : null;\n data[\"failureCode\"] = this.failureCode !== undefined ? this.failureCode : null;\n return data;\n }\n\n clone(): CreateClaimLineDTO {\n const json = this.toJSON();\n let result = new CreateClaimLineDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICreateClaimLineDTO {\n dealerUserId?: string | null;\n claimNumber?: string | null;\n warrantyClassCode?: string | null;\n remedyCode?: string | null;\n failureCode?: string | null;\n}\n\nexport class CreateClaimLineItemDTO implements ICreateClaimLineItemDTO {\n dealerUserId?: string | null;\n claimLineId?: number;\n itemNumber?: string | null;\n quantity?: number;\n\n constructor(data?: ICreateClaimLineItemDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dealerUserId = _data[\"dealerUserId\"] !== undefined ? _data[\"dealerUserId\"] : null;\n this.claimLineId = _data[\"claimLineId\"] !== undefined ? _data[\"claimLineId\"] : null;\n this.itemNumber = _data[\"itemNumber\"] !== undefined ? _data[\"itemNumber\"] : null;\n this.quantity = _data[\"quantity\"] !== undefined ? _data[\"quantity\"] : null;\n }\n }\n\n static fromJS(data: any): CreateClaimLineItemDTO {\n data = typeof data === 'object' ? data : {};\n let result = new CreateClaimLineItemDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dealerUserId\"] = this.dealerUserId !== undefined ? this.dealerUserId : null;\n data[\"claimLineId\"] = this.claimLineId !== undefined ? this.claimLineId : null;\n data[\"itemNumber\"] = this.itemNumber !== undefined ? this.itemNumber : null;\n data[\"quantity\"] = this.quantity !== undefined ? this.quantity : null;\n return data;\n }\n\n clone(): CreateClaimLineItemDTO {\n const json = this.toJSON();\n let result = new CreateClaimLineItemDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICreateClaimLineItemDTO {\n dealerUserId?: string | null;\n claimLineId?: number;\n itemNumber?: string | null;\n quantity?: number;\n}\n\nexport class CreateClaimLineMiscChargeDTO implements ICreateClaimLineMiscChargeDTO {\n dealerUserId?: string | null;\n claimLineId?: number;\n markupCode?: string | null;\n amount?: number;\n description?: string | null;\n\n constructor(data?: ICreateClaimLineMiscChargeDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dealerUserId = _data[\"dealerUserId\"] !== undefined ? _data[\"dealerUserId\"] : null;\n this.claimLineId = _data[\"claimLineId\"] !== undefined ? _data[\"claimLineId\"] : null;\n this.markupCode = _data[\"markupCode\"] !== undefined ? _data[\"markupCode\"] : null;\n this.amount = _data[\"amount\"] !== undefined ? _data[\"amount\"] : null;\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n }\n }\n\n static fromJS(data: any): CreateClaimLineMiscChargeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new CreateClaimLineMiscChargeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dealerUserId\"] = this.dealerUserId !== undefined ? this.dealerUserId : null;\n data[\"claimLineId\"] = this.claimLineId !== undefined ? this.claimLineId : null;\n data[\"markupCode\"] = this.markupCode !== undefined ? this.markupCode : null;\n data[\"amount\"] = this.amount !== undefined ? this.amount : null;\n data[\"description\"] = this.description !== undefined ? this.description : null;\n return data;\n }\n\n clone(): CreateClaimLineMiscChargeDTO {\n const json = this.toJSON();\n let result = new CreateClaimLineMiscChargeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICreateClaimLineMiscChargeDTO {\n dealerUserId?: string | null;\n claimLineId?: number;\n markupCode?: string | null;\n amount?: number;\n description?: string | null;\n}\n\nexport class CreateClaimLineAttachmentDTO implements ICreateClaimLineAttachmentDTO {\n dealerUserId?: string | null;\n claimLineId?: number;\n documentUids?: string[] | null;\n\n constructor(data?: ICreateClaimLineAttachmentDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.dealerUserId = _data[\"dealerUserId\"] !== undefined ? _data[\"dealerUserId\"] : null;\n this.claimLineId = _data[\"claimLineId\"] !== undefined ? _data[\"claimLineId\"] : null;\n if (Array.isArray(_data[\"documentUids\"])) {\n this.documentUids = [] as any;\n for (let item of _data[\"documentUids\"])\n this.documentUids!.push(item);\n }\n else {\n this.documentUids = null;\n }\n }\n }\n\n static fromJS(data: any): CreateClaimLineAttachmentDTO {\n data = typeof data === 'object' ? data : {};\n let result = new CreateClaimLineAttachmentDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dealerUserId\"] = this.dealerUserId !== undefined ? this.dealerUserId : null;\n data[\"claimLineId\"] = this.claimLineId !== undefined ? this.claimLineId : null;\n if (Array.isArray(this.documentUids)) {\n data[\"documentUids\"] = [];\n for (let item of this.documentUids)\n data[\"documentUids\"].push(item);\n }\n return data;\n }\n\n clone(): CreateClaimLineAttachmentDTO {\n const json = this.toJSON();\n let result = new CreateClaimLineAttachmentDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICreateClaimLineAttachmentDTO {\n dealerUserId?: string | null;\n claimLineId?: number;\n documentUids?: string[] | null;\n}\n\nexport class CreateaClaimLineNoteDTO implements ICreateaClaimLineNoteDTO {\n claimLineId?: number;\n note?: string | null;\n dealerUserId?: string | null;\n\n constructor(data?: ICreateaClaimLineNoteDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.claimLineId = _data[\"claimLineId\"] !== undefined ? _data[\"claimLineId\"] : null;\n this.note = _data[\"note\"] !== undefined ? _data[\"note\"] : null;\n this.dealerUserId = _data[\"dealerUserId\"] !== undefined ? _data[\"dealerUserId\"] : null;\n }\n }\n\n static fromJS(data: any): CreateaClaimLineNoteDTO {\n data = typeof data === 'object' ? data : {};\n let result = new CreateaClaimLineNoteDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"claimLineId\"] = this.claimLineId !== undefined ? this.claimLineId : null;\n data[\"note\"] = this.note !== undefined ? this.note : null;\n data[\"dealerUserId\"] = this.dealerUserId !== undefined ? this.dealerUserId : null;\n return data;\n }\n\n clone(): CreateaClaimLineNoteDTO {\n const json = this.toJSON();\n let result = new CreateaClaimLineNoteDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICreateaClaimLineNoteDTO {\n claimLineId?: number;\n note?: string | null;\n dealerUserId?: string | null;\n}\n\nexport class ReturnLabelDTO extends ValidationBaseDTO implements IReturnLabelDTO {\n claimId?: string | null;\n email?: string | null;\n length?: number;\n width?: number;\n height?: number;\n weight?: number;\n\n constructor(data?: IReturnLabelDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.claimId = _data[\"claimId\"] !== undefined ? _data[\"claimId\"] : null;\n this.email = _data[\"email\"] !== undefined ? _data[\"email\"] : null;\n this.length = _data[\"length\"] !== undefined ? _data[\"length\"] : null;\n this.width = _data[\"width\"] !== undefined ? _data[\"width\"] : null;\n this.height = _data[\"height\"] !== undefined ? _data[\"height\"] : null;\n this.weight = _data[\"weight\"] !== undefined ? _data[\"weight\"] : null;\n }\n }\n\n static fromJS(data: any): ReturnLabelDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ReturnLabelDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"claimId\"] = this.claimId !== undefined ? this.claimId : null;\n data[\"email\"] = this.email !== undefined ? this.email : null;\n data[\"length\"] = this.length !== undefined ? this.length : null;\n data[\"width\"] = this.width !== undefined ? this.width : null;\n data[\"height\"] = this.height !== undefined ? this.height : null;\n data[\"weight\"] = this.weight !== undefined ? this.weight : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): ReturnLabelDTO {\n const json = this.toJSON();\n let result = new ReturnLabelDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IReturnLabelDTO extends IValidationBaseDTO {\n claimId?: string | null;\n email?: string | null;\n length?: number;\n width?: number;\n height?: number;\n weight?: number;\n}\n\nexport class ExportDTO implements IExportDTO {\n contentType?: string | null;\n base64?: string | null;\n fileName?: string | null;\n\n constructor(data?: IExportDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.contentType = _data[\"contentType\"] !== undefined ? _data[\"contentType\"] : null;\n this.base64 = _data[\"base64\"] !== undefined ? _data[\"base64\"] : null;\n this.fileName = _data[\"fileName\"] !== undefined ? _data[\"fileName\"] : null;\n }\n }\n\n static fromJS(data: any): ExportDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ExportDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"contentType\"] = this.contentType !== undefined ? this.contentType : null;\n data[\"base64\"] = this.base64 !== undefined ? this.base64 : null;\n data[\"fileName\"] = this.fileName !== undefined ? this.fileName : null;\n return data;\n }\n\n clone(): ExportDTO {\n const json = this.toJSON();\n let result = new ExportDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IExportDTO {\n contentType?: string | null;\n base64?: string | null;\n fileName?: string | null;\n}\n\nexport class AttachmentInfoDTO implements IAttachmentInfoDTO {\n id?: number;\n type?: string | null;\n description?: string | null;\n fileName?: string | null;\n url?: string | null;\n created?: moment.Moment;\n createdBy?: string | null;\n doUpdate?: boolean;\n\n constructor(data?: IAttachmentInfoDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.type = _data[\"type\"] !== undefined ? _data[\"type\"] : null;\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n this.fileName = _data[\"fileName\"] !== undefined ? _data[\"fileName\"] : null;\n this.url = _data[\"url\"] !== undefined ? _data[\"url\"] : null;\n this.created = _data[\"created\"] ? moment(_data[\"created\"].toString()) : null;\n this.createdBy = _data[\"createdBy\"] !== undefined ? _data[\"createdBy\"] : null;\n this.doUpdate = _data[\"doUpdate\"] !== undefined ? _data[\"doUpdate\"] : null;\n }\n }\n\n static fromJS(data: any): AttachmentInfoDTO {\n data = typeof data === 'object' ? data : {};\n let result = new AttachmentInfoDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"type\"] = this.type !== undefined ? this.type : null;\n data[\"description\"] = this.description !== undefined ? this.description : null;\n data[\"fileName\"] = this.fileName !== undefined ? this.fileName : null;\n data[\"url\"] = this.url !== undefined ? this.url : null;\n data[\"created\"] = this.created ? this.created.toISOString() : null;\n data[\"createdBy\"] = this.createdBy !== undefined ? this.createdBy : null;\n data[\"doUpdate\"] = this.doUpdate !== undefined ? this.doUpdate : null;\n return data;\n }\n\n clone(): AttachmentInfoDTO {\n const json = this.toJSON();\n let result = new AttachmentInfoDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IAttachmentInfoDTO {\n id?: number;\n type?: string | null;\n description?: string | null;\n fileName?: string | null;\n url?: string | null;\n created?: moment.Moment;\n createdBy?: string | null;\n doUpdate?: boolean;\n}\n\nexport class DealerLocationDTO implements IDealerLocationDTO {\n id?: number;\n dealerId?: string | null;\n name?: string | null;\n streetAddress?: string | null;\n city?: string | null;\n state?: string | null;\n zipCode?: string | null;\n countryCode?: string | null;\n email?: string | null;\n phoneNumber?: string | null;\n dealerURL?: string | null;\n latitude?: number;\n longitude?: number;\n brands?: string[] | null;\n serviceOnly?: boolean;\n companies?: string[] | null;\n companyTypes?: CompanyTypes[] | null;\n\n constructor(data?: IDealerLocationDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.dealerId = _data[\"dealerId\"] !== undefined ? _data[\"dealerId\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.streetAddress = _data[\"streetAddress\"] !== undefined ? _data[\"streetAddress\"] : null;\n this.city = _data[\"city\"] !== undefined ? _data[\"city\"] : null;\n this.state = _data[\"state\"] !== undefined ? _data[\"state\"] : null;\n this.zipCode = _data[\"zipCode\"] !== undefined ? _data[\"zipCode\"] : null;\n this.countryCode = _data[\"countryCode\"] !== undefined ? _data[\"countryCode\"] : null;\n this.email = _data[\"email\"] !== undefined ? _data[\"email\"] : null;\n this.phoneNumber = _data[\"phoneNumber\"] !== undefined ? _data[\"phoneNumber\"] : null;\n this.dealerURL = _data[\"dealerURL\"] !== undefined ? _data[\"dealerURL\"] : null;\n this.latitude = _data[\"latitude\"] !== undefined ? _data[\"latitude\"] : null;\n this.longitude = _data[\"longitude\"] !== undefined ? _data[\"longitude\"] : null;\n if (Array.isArray(_data[\"brands\"])) {\n this.brands = [] as any;\n for (let item of _data[\"brands\"])\n this.brands!.push(item);\n }\n else {\n this.brands = null;\n }\n this.serviceOnly = _data[\"serviceOnly\"] !== undefined ? _data[\"serviceOnly\"] : null;\n if (Array.isArray(_data[\"companies\"])) {\n this.companies = [] as any;\n for (let item of _data[\"companies\"])\n this.companies!.push(item);\n }\n else {\n this.companies = null;\n }\n if (Array.isArray(_data[\"companyTypes\"])) {\n this.companyTypes = [] as any;\n for (let item of _data[\"companyTypes\"])\n this.companyTypes!.push(item);\n }\n else {\n this.companyTypes = null;\n }\n }\n }\n\n static fromJS(data: any): DealerLocationDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerLocationDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"dealerId\"] = this.dealerId !== undefined ? this.dealerId : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"streetAddress\"] = this.streetAddress !== undefined ? this.streetAddress : null;\n data[\"city\"] = this.city !== undefined ? this.city : null;\n data[\"state\"] = this.state !== undefined ? this.state : null;\n data[\"zipCode\"] = this.zipCode !== undefined ? this.zipCode : null;\n data[\"countryCode\"] = this.countryCode !== undefined ? this.countryCode : null;\n data[\"email\"] = this.email !== undefined ? this.email : null;\n data[\"phoneNumber\"] = this.phoneNumber !== undefined ? this.phoneNumber : null;\n data[\"dealerURL\"] = this.dealerURL !== undefined ? this.dealerURL : null;\n data[\"latitude\"] = this.latitude !== undefined ? this.latitude : null;\n data[\"longitude\"] = this.longitude !== undefined ? this.longitude : null;\n if (Array.isArray(this.brands)) {\n data[\"brands\"] = [];\n for (let item of this.brands)\n data[\"brands\"].push(item);\n }\n data[\"serviceOnly\"] = this.serviceOnly !== undefined ? this.serviceOnly : null;\n if (Array.isArray(this.companies)) {\n data[\"companies\"] = [];\n for (let item of this.companies)\n data[\"companies\"].push(item);\n }\n if (Array.isArray(this.companyTypes)) {\n data[\"companyTypes\"] = [];\n for (let item of this.companyTypes)\n data[\"companyTypes\"].push(item);\n }\n return data;\n }\n\n clone(): DealerLocationDTO {\n const json = this.toJSON();\n let result = new DealerLocationDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerLocationDTO {\n id?: number;\n dealerId?: string | null;\n name?: string | null;\n streetAddress?: string | null;\n city?: string | null;\n state?: string | null;\n zipCode?: string | null;\n countryCode?: string | null;\n email?: string | null;\n phoneNumber?: string | null;\n dealerURL?: string | null;\n latitude?: number;\n longitude?: number;\n brands?: string[] | null;\n serviceOnly?: boolean;\n companies?: string[] | null;\n companyTypes?: CompanyTypes[] | null;\n}\n\nexport class DealerChainGroupDTO implements IDealerChainGroupDTO {\n id?: number;\n dynamicsId?: string | null;\n description?: string | null;\n\n constructor(data?: IDealerChainGroupDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.dynamicsId = _data[\"dynamicsId\"] !== undefined ? _data[\"dynamicsId\"] : null;\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n }\n }\n\n static fromJS(data: any): DealerChainGroupDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerChainGroupDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"dynamicsId\"] = this.dynamicsId !== undefined ? this.dynamicsId : null;\n data[\"description\"] = this.description !== undefined ? this.description : null;\n return data;\n }\n\n clone(): DealerChainGroupDTO {\n const json = this.toJSON();\n let result = new DealerChainGroupDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerChainGroupDTO {\n id?: number;\n dynamicsId?: string | null;\n description?: string | null;\n}\n\nexport class DealerAddressInfoDTO implements IDealerAddressInfoDTO {\n address?: string | null;\n locationId?: number;\n name?: string | null;\n\n constructor(data?: IDealerAddressInfoDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.address = _data[\"address\"] !== undefined ? _data[\"address\"] : null;\n this.locationId = _data[\"locationId\"] !== undefined ? _data[\"locationId\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n }\n }\n\n static fromJS(data: any): DealerAddressInfoDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerAddressInfoDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"address\"] = this.address !== undefined ? this.address : null;\n data[\"locationId\"] = this.locationId !== undefined ? this.locationId : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n return data;\n }\n\n clone(): DealerAddressInfoDTO {\n const json = this.toJSON();\n let result = new DealerAddressInfoDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerAddressInfoDTO {\n address?: string | null;\n locationId?: number;\n name?: string | null;\n}\n\nexport class UserDealerLocationsDTO implements IUserDealerLocationsDTO {\n dealerLocationsFlat?: DealerLocationDTO[] | null;\n dealerLocations?: DealerLocationDTO[] | null;\n dealerChainGroups?: DealerChainGroupDTO[] | null;\n\n constructor(data?: IUserDealerLocationsDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n if (Array.isArray(_data[\"dealerLocationsFlat\"])) {\n this.dealerLocationsFlat = [] as any;\n for (let item of _data[\"dealerLocationsFlat\"])\n this.dealerLocationsFlat!.push(DealerLocationDTO.fromJS(item));\n }\n else {\n this.dealerLocationsFlat = null;\n }\n if (Array.isArray(_data[\"dealerLocations\"])) {\n this.dealerLocations = [] as any;\n for (let item of _data[\"dealerLocations\"])\n this.dealerLocations!.push(DealerLocationDTO.fromJS(item));\n }\n else {\n this.dealerLocations = null;\n }\n if (Array.isArray(_data[\"dealerChainGroups\"])) {\n this.dealerChainGroups = [] as any;\n for (let item of _data[\"dealerChainGroups\"])\n this.dealerChainGroups!.push(DealerChainGroupDTO.fromJS(item));\n }\n else {\n this.dealerChainGroups = null;\n }\n }\n }\n\n static fromJS(data: any): UserDealerLocationsDTO {\n data = typeof data === 'object' ? data : {};\n let result = new UserDealerLocationsDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.dealerLocationsFlat)) {\n data[\"dealerLocationsFlat\"] = [];\n for (let item of this.dealerLocationsFlat)\n data[\"dealerLocationsFlat\"].push(item.toJSON());\n }\n if (Array.isArray(this.dealerLocations)) {\n data[\"dealerLocations\"] = [];\n for (let item of this.dealerLocations)\n data[\"dealerLocations\"].push(item.toJSON());\n }\n if (Array.isArray(this.dealerChainGroups)) {\n data[\"dealerChainGroups\"] = [];\n for (let item of this.dealerChainGroups)\n data[\"dealerChainGroups\"].push(item.toJSON());\n }\n return data;\n }\n\n clone(): UserDealerLocationsDTO {\n const json = this.toJSON();\n let result = new UserDealerLocationsDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IUserDealerLocationsDTO {\n dealerLocationsFlat?: DealerLocationDTO[] | null;\n dealerLocations?: DealerLocationDTO[] | null;\n dealerChainGroups?: DealerChainGroupDTO[] | null;\n}\n\nexport class InviteDealerUserDTO extends ValidationBaseDTO implements IInviteDealerUserDTO {\n firstName!: string;\n lastName!: string;\n email!: string;\n currentTitle?: string | null;\n roles?: string[] | null;\n multipleInviteDealer?: InviteDealerDTO[] | null;\n dealerAccountUid?: string | null;\n isNewUser?: boolean | null;\n\n constructor(data?: IInviteDealerUserDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.firstName = _data[\"firstName\"] !== undefined ? _data[\"firstName\"] : null;\n this.lastName = _data[\"lastName\"] !== undefined ? _data[\"lastName\"] : null;\n this.email = _data[\"email\"] !== undefined ? _data[\"email\"] : null;\n this.currentTitle = _data[\"currentTitle\"] !== undefined ? _data[\"currentTitle\"] : null;\n if (Array.isArray(_data[\"roles\"])) {\n this.roles = [] as any;\n for (let item of _data[\"roles\"])\n this.roles!.push(item);\n }\n else {\n this.roles = null;\n }\n if (Array.isArray(_data[\"multipleInviteDealer\"])) {\n this.multipleInviteDealer = [] as any;\n for (let item of _data[\"multipleInviteDealer\"])\n this.multipleInviteDealer!.push(InviteDealerDTO.fromJS(item));\n }\n else {\n this.multipleInviteDealer = null;\n }\n this.dealerAccountUid = _data[\"dealerAccountUid\"] !== undefined ? _data[\"dealerAccountUid\"] : null;\n this.isNewUser = _data[\"isNewUser\"] !== undefined ? _data[\"isNewUser\"] : null;\n }\n }\n\n static fromJS(data: any): InviteDealerUserDTO {\n data = typeof data === 'object' ? data : {};\n let result = new InviteDealerUserDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"firstName\"] = this.firstName !== undefined ? this.firstName : null;\n data[\"lastName\"] = this.lastName !== undefined ? this.lastName : null;\n data[\"email\"] = this.email !== undefined ? this.email : null;\n data[\"currentTitle\"] = this.currentTitle !== undefined ? this.currentTitle : null;\n if (Array.isArray(this.roles)) {\n data[\"roles\"] = [];\n for (let item of this.roles)\n data[\"roles\"].push(item);\n }\n if (Array.isArray(this.multipleInviteDealer)) {\n data[\"multipleInviteDealer\"] = [];\n for (let item of this.multipleInviteDealer)\n data[\"multipleInviteDealer\"].push(item.toJSON());\n }\n data[\"dealerAccountUid\"] = this.dealerAccountUid !== undefined ? this.dealerAccountUid : null;\n data[\"isNewUser\"] = this.isNewUser !== undefined ? this.isNewUser : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): InviteDealerUserDTO {\n const json = this.toJSON();\n let result = new InviteDealerUserDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IInviteDealerUserDTO extends IValidationBaseDTO {\n firstName: string;\n lastName: string;\n email: string;\n currentTitle?: string | null;\n roles?: string[] | null;\n multipleInviteDealer?: InviteDealerDTO[] | null;\n dealerAccountUid?: string | null;\n isNewUser?: boolean | null;\n}\n\nexport class InviteDealerDTO implements IInviteDealerDTO {\n isChainGroup?: boolean;\n dealerLocationId?: number | null;\n dealerChainGroupId?: number | null;\n dealerName?: string | null;\n dynamicsId?: string | null;\n\n constructor(data?: IInviteDealerDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isChainGroup = _data[\"isChainGroup\"] !== undefined ? _data[\"isChainGroup\"] : null;\n this.dealerLocationId = _data[\"dealerLocationId\"] !== undefined ? _data[\"dealerLocationId\"] : null;\n this.dealerChainGroupId = _data[\"dealerChainGroupId\"] !== undefined ? _data[\"dealerChainGroupId\"] : null;\n this.dealerName = _data[\"dealerName\"] !== undefined ? _data[\"dealerName\"] : null;\n this.dynamicsId = _data[\"dynamicsId\"] !== undefined ? _data[\"dynamicsId\"] : null;\n }\n }\n\n static fromJS(data: any): InviteDealerDTO {\n data = typeof data === 'object' ? data : {};\n let result = new InviteDealerDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isChainGroup\"] = this.isChainGroup !== undefined ? this.isChainGroup : null;\n data[\"dealerLocationId\"] = this.dealerLocationId !== undefined ? this.dealerLocationId : null;\n data[\"dealerChainGroupId\"] = this.dealerChainGroupId !== undefined ? this.dealerChainGroupId : null;\n data[\"dealerName\"] = this.dealerName !== undefined ? this.dealerName : null;\n data[\"dynamicsId\"] = this.dynamicsId !== undefined ? this.dynamicsId : null;\n return data;\n }\n\n clone(): InviteDealerDTO {\n const json = this.toJSON();\n let result = new InviteDealerDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IInviteDealerDTO {\n isChainGroup?: boolean;\n dealerLocationId?: number | null;\n dealerChainGroupId?: number | null;\n dealerName?: string | null;\n dynamicsId?: string | null;\n}\n\nexport class CompleteDealerRegistrationDTO extends ValidationBaseDTO implements ICompleteDealerRegistrationDTO {\n firstName!: string;\n lastName!: string;\n email!: string;\n code!: string;\n userId!: string;\n password!: string;\n confirmPassword!: string;\n phoneNumber!: string;\n\n constructor(data?: ICompleteDealerRegistrationDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.firstName = _data[\"firstName\"] !== undefined ? _data[\"firstName\"] : null;\n this.lastName = _data[\"lastName\"] !== undefined ? _data[\"lastName\"] : null;\n this.email = _data[\"email\"] !== undefined ? _data[\"email\"] : null;\n this.code = _data[\"code\"] !== undefined ? _data[\"code\"] : null;\n this.userId = _data[\"userId\"] !== undefined ? _data[\"userId\"] : null;\n this.password = _data[\"password\"] !== undefined ? _data[\"password\"] : null;\n this.confirmPassword = _data[\"confirmPassword\"] !== undefined ? _data[\"confirmPassword\"] : null;\n this.phoneNumber = _data[\"phoneNumber\"] !== undefined ? _data[\"phoneNumber\"] : null;\n }\n }\n\n static fromJS(data: any): CompleteDealerRegistrationDTO {\n data = typeof data === 'object' ? data : {};\n let result = new CompleteDealerRegistrationDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"firstName\"] = this.firstName !== undefined ? this.firstName : null;\n data[\"lastName\"] = this.lastName !== undefined ? this.lastName : null;\n data[\"email\"] = this.email !== undefined ? this.email : null;\n data[\"code\"] = this.code !== undefined ? this.code : null;\n data[\"userId\"] = this.userId !== undefined ? this.userId : null;\n data[\"password\"] = this.password !== undefined ? this.password : null;\n data[\"confirmPassword\"] = this.confirmPassword !== undefined ? this.confirmPassword : null;\n data[\"phoneNumber\"] = this.phoneNumber !== undefined ? this.phoneNumber : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): CompleteDealerRegistrationDTO {\n const json = this.toJSON();\n let result = new CompleteDealerRegistrationDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICompleteDealerRegistrationDTO extends IValidationBaseDTO {\n firstName: string;\n lastName: string;\n email: string;\n code: string;\n userId: string;\n password: string;\n confirmPassword: string;\n phoneNumber: string;\n}\n\nexport class UserDTO extends ValidationBaseDTO implements IUserDTO {\n userId?: string;\n userName?: string | null;\n email?: string | null;\n firstName?: string | null;\n lastName?: string | null;\n currentTitle?: string | null;\n zipCode?: string | null;\n countryCode?: string | null;\n phoneNumber?: string | null;\n lockoutEnd?: moment.Moment | null;\n emailConfirmed?: boolean;\n roles?: string[] | null;\n lastLoginDate?: moment.Moment | null;\n createdDate?: moment.Moment;\n\n constructor(data?: IUserDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.userId = _data[\"userId\"] !== undefined ? _data[\"userId\"] : null;\n this.userName = _data[\"userName\"] !== undefined ? _data[\"userName\"] : null;\n this.email = _data[\"email\"] !== undefined ? _data[\"email\"] : null;\n this.firstName = _data[\"firstName\"] !== undefined ? _data[\"firstName\"] : null;\n this.lastName = _data[\"lastName\"] !== undefined ? _data[\"lastName\"] : null;\n this.currentTitle = _data[\"currentTitle\"] !== undefined ? _data[\"currentTitle\"] : null;\n this.zipCode = _data[\"zipCode\"] !== undefined ? _data[\"zipCode\"] : null;\n this.countryCode = _data[\"countryCode\"] !== undefined ? _data[\"countryCode\"] : null;\n this.phoneNumber = _data[\"phoneNumber\"] !== undefined ? _data[\"phoneNumber\"] : null;\n this.lockoutEnd = _data[\"lockoutEnd\"] ? moment(_data[\"lockoutEnd\"].toString()) : null;\n this.emailConfirmed = _data[\"emailConfirmed\"] !== undefined ? _data[\"emailConfirmed\"] : null;\n if (Array.isArray(_data[\"roles\"])) {\n this.roles = [] as any;\n for (let item of _data[\"roles\"])\n this.roles!.push(item);\n }\n else {\n this.roles = null;\n }\n this.lastLoginDate = _data[\"lastLoginDate\"] ? moment(_data[\"lastLoginDate\"].toString()) : null;\n this.createdDate = _data[\"createdDate\"] ? moment(_data[\"createdDate\"].toString()) : null;\n }\n }\n\n static fromJS(data: any): UserDTO {\n data = typeof data === 'object' ? data : {};\n let result = new UserDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId !== undefined ? this.userId : null;\n data[\"userName\"] = this.userName !== undefined ? this.userName : null;\n data[\"email\"] = this.email !== undefined ? this.email : null;\n data[\"firstName\"] = this.firstName !== undefined ? this.firstName : null;\n data[\"lastName\"] = this.lastName !== undefined ? this.lastName : null;\n data[\"currentTitle\"] = this.currentTitle !== undefined ? this.currentTitle : null;\n data[\"zipCode\"] = this.zipCode !== undefined ? this.zipCode : null;\n data[\"countryCode\"] = this.countryCode !== undefined ? this.countryCode : null;\n data[\"phoneNumber\"] = this.phoneNumber !== undefined ? this.phoneNumber : null;\n data[\"lockoutEnd\"] = this.lockoutEnd ? this.lockoutEnd.toISOString() : null;\n data[\"emailConfirmed\"] = this.emailConfirmed !== undefined ? this.emailConfirmed : null;\n if (Array.isArray(this.roles)) {\n data[\"roles\"] = [];\n for (let item of this.roles)\n data[\"roles\"].push(item);\n }\n data[\"lastLoginDate\"] = this.lastLoginDate ? this.lastLoginDate.toISOString() : null;\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): UserDTO {\n const json = this.toJSON();\n let result = new UserDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IUserDTO extends IValidationBaseDTO {\n userId?: string;\n userName?: string | null;\n email?: string | null;\n firstName?: string | null;\n lastName?: string | null;\n currentTitle?: string | null;\n zipCode?: string | null;\n countryCode?: string | null;\n phoneNumber?: string | null;\n lockoutEnd?: moment.Moment | null;\n emailConfirmed?: boolean;\n roles?: string[] | null;\n lastLoginDate?: moment.Moment | null;\n createdDate?: moment.Moment;\n}\n\nexport class DealerUserDTO extends UserDTO implements IDealerUserDTO {\n dealerAccounts?: DealerAccountDTO[] | null;\n totalCount?: number;\n\n constructor(data?: IDealerUserDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n if (Array.isArray(_data[\"dealerAccounts\"])) {\n this.dealerAccounts = [] as any;\n for (let item of _data[\"dealerAccounts\"])\n this.dealerAccounts!.push(DealerAccountDTO.fromJS(item));\n }\n else {\n this.dealerAccounts = null;\n }\n this.totalCount = _data[\"totalCount\"] !== undefined ? _data[\"totalCount\"] : null;\n }\n }\n\n static fromJS(data: any): DealerUserDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerUserDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n if (Array.isArray(this.dealerAccounts)) {\n data[\"dealerAccounts\"] = [];\n for (let item of this.dealerAccounts)\n data[\"dealerAccounts\"].push(item.toJSON());\n }\n data[\"totalCount\"] = this.totalCount !== undefined ? this.totalCount : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): DealerUserDTO {\n const json = this.toJSON();\n let result = new DealerUserDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerUserDTO extends IUserDTO {\n dealerAccounts?: DealerAccountDTO[] | null;\n totalCount?: number;\n}\n\nexport class DealerAccountDTO extends ValidationBaseDTO implements IDealerAccountDTO {\n id?: number | null;\n dynamicsId?: string | null;\n uid?: string | null;\n dealerName?: string | null;\n dealerChainGroupId?: number | null;\n dealerLocationId?: number | null;\n\n constructor(data?: IDealerAccountDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.dynamicsId = _data[\"dynamicsId\"] !== undefined ? _data[\"dynamicsId\"] : null;\n this.uid = _data[\"uid\"] !== undefined ? _data[\"uid\"] : null;\n this.dealerName = _data[\"dealerName\"] !== undefined ? _data[\"dealerName\"] : null;\n this.dealerChainGroupId = _data[\"dealerChainGroupId\"] !== undefined ? _data[\"dealerChainGroupId\"] : null;\n this.dealerLocationId = _data[\"dealerLocationId\"] !== undefined ? _data[\"dealerLocationId\"] : null;\n }\n }\n\n static fromJS(data: any): DealerAccountDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerAccountDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"dynamicsId\"] = this.dynamicsId !== undefined ? this.dynamicsId : null;\n data[\"uid\"] = this.uid !== undefined ? this.uid : null;\n data[\"dealerName\"] = this.dealerName !== undefined ? this.dealerName : null;\n data[\"dealerChainGroupId\"] = this.dealerChainGroupId !== undefined ? this.dealerChainGroupId : null;\n data[\"dealerLocationId\"] = this.dealerLocationId !== undefined ? this.dealerLocationId : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): DealerAccountDTO {\n const json = this.toJSON();\n let result = new DealerAccountDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerAccountDTO extends IValidationBaseDTO {\n id?: number | null;\n dynamicsId?: string | null;\n uid?: string | null;\n dealerName?: string | null;\n dealerChainGroupId?: number | null;\n dealerLocationId?: number | null;\n}\n\nexport class ApiResultDTO extends ValidationBaseDTO implements IApiResultDTO {\n\n constructor(data?: IApiResultDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): ApiResultDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ApiResultDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n\n clone(): ApiResultDTO {\n const json = this.toJSON();\n let result = new ApiResultDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IApiResultDTO extends IValidationBaseDTO {\n}\n\nexport class EditDealerUserDTO extends ValidationBaseDTO implements IEditDealerUserDTO {\n userId?: string | null;\n editMultipleLocations?: DealerAccountDTO[] | null;\n roleName?: string | null;\n\n constructor(data?: IEditDealerUserDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.userId = _data[\"userId\"] !== undefined ? _data[\"userId\"] : null;\n if (Array.isArray(_data[\"editMultipleLocations\"])) {\n this.editMultipleLocations = [] as any;\n for (let item of _data[\"editMultipleLocations\"])\n this.editMultipleLocations!.push(DealerAccountDTO.fromJS(item));\n }\n else {\n this.editMultipleLocations = null;\n }\n this.roleName = _data[\"roleName\"] !== undefined ? _data[\"roleName\"] : null;\n }\n }\n\n static fromJS(data: any): EditDealerUserDTO {\n data = typeof data === 'object' ? data : {};\n let result = new EditDealerUserDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId !== undefined ? this.userId : null;\n if (Array.isArray(this.editMultipleLocations)) {\n data[\"editMultipleLocations\"] = [];\n for (let item of this.editMultipleLocations)\n data[\"editMultipleLocations\"].push(item.toJSON());\n }\n data[\"roleName\"] = this.roleName !== undefined ? this.roleName : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): EditDealerUserDTO {\n const json = this.toJSON();\n let result = new EditDealerUserDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IEditDealerUserDTO extends IValidationBaseDTO {\n userId?: string | null;\n editMultipleLocations?: DealerAccountDTO[] | null;\n roleName?: string | null;\n}\n\nexport class ForgotPasswordDTO extends ValidationBaseDTO implements IForgotPasswordDTO {\n email!: string;\n companyType!: CompanyTypes;\n\n constructor(data?: IForgotPasswordDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.email = _data[\"email\"] !== undefined ? _data[\"email\"] : null;\n this.companyType = _data[\"companyType\"] !== undefined ? _data[\"companyType\"] : null;\n }\n }\n\n static fromJS(data: any): ForgotPasswordDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ForgotPasswordDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"email\"] = this.email !== undefined ? this.email : null;\n data[\"companyType\"] = this.companyType !== undefined ? this.companyType : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): ForgotPasswordDTO {\n const json = this.toJSON();\n let result = new ForgotPasswordDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IForgotPasswordDTO extends IValidationBaseDTO {\n email: string;\n companyType: CompanyTypes;\n}\n\nexport class DealerDashboardDTO extends ValidationBaseDTO implements IDealerDashboardDTO {\n claims91To120Day?: number;\n claimsAwaitingPaymentApproval?: number;\n claimsAwaitingVendorApproval?: number;\n claimsAwaitPartReturn?: number;\n claimsAwaitWorkComplete?: number;\n claimsClosed?: number;\n claimsDealerFeedbackReq?: number;\n claimsNew?: number;\n claimsOEMFeedbackReq?: number;\n claimsOpen?: number;\n claimsPaymentApproved?: number;\n claimsPreAuthRequired?: number;\n claimsUnfinished?: number;\n salesCanceled?: number;\n salesDelivered?: number;\n salesInvoiced?: number;\n salesOpenOrder?: number;\n vinRegistered?: number;\n vinUnregistered?: number;\n vinRetailSold?: number;\n\n constructor(data?: IDealerDashboardDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.claims91To120Day = _data[\"claims91To120Day\"] !== undefined ? _data[\"claims91To120Day\"] : null;\n this.claimsAwaitingPaymentApproval = _data[\"claimsAwaitingPaymentApproval\"] !== undefined ? _data[\"claimsAwaitingPaymentApproval\"] : null;\n this.claimsAwaitingVendorApproval = _data[\"claimsAwaitingVendorApproval\"] !== undefined ? _data[\"claimsAwaitingVendorApproval\"] : null;\n this.claimsAwaitPartReturn = _data[\"claimsAwaitPartReturn\"] !== undefined ? _data[\"claimsAwaitPartReturn\"] : null;\n this.claimsAwaitWorkComplete = _data[\"claimsAwaitWorkComplete\"] !== undefined ? _data[\"claimsAwaitWorkComplete\"] : null;\n this.claimsClosed = _data[\"claimsClosed\"] !== undefined ? _data[\"claimsClosed\"] : null;\n this.claimsDealerFeedbackReq = _data[\"claimsDealerFeedbackReq\"] !== undefined ? _data[\"claimsDealerFeedbackReq\"] : null;\n this.claimsNew = _data[\"claimsNew\"] !== undefined ? _data[\"claimsNew\"] : null;\n this.claimsOEMFeedbackReq = _data[\"claimsOEMFeedbackReq\"] !== undefined ? _data[\"claimsOEMFeedbackReq\"] : null;\n this.claimsOpen = _data[\"claimsOpen\"] !== undefined ? _data[\"claimsOpen\"] : null;\n this.claimsPaymentApproved = _data[\"claimsPaymentApproved\"] !== undefined ? _data[\"claimsPaymentApproved\"] : null;\n this.claimsPreAuthRequired = _data[\"claimsPreAuthRequired\"] !== undefined ? _data[\"claimsPreAuthRequired\"] : null;\n this.claimsUnfinished = _data[\"claimsUnfinished\"] !== undefined ? _data[\"claimsUnfinished\"] : null;\n this.salesCanceled = _data[\"salesCanceled\"] !== undefined ? _data[\"salesCanceled\"] : null;\n this.salesDelivered = _data[\"salesDelivered\"] !== undefined ? _data[\"salesDelivered\"] : null;\n this.salesInvoiced = _data[\"salesInvoiced\"] !== undefined ? _data[\"salesInvoiced\"] : null;\n this.salesOpenOrder = _data[\"salesOpenOrder\"] !== undefined ? _data[\"salesOpenOrder\"] : null;\n this.vinRegistered = _data[\"vinRegistered\"] !== undefined ? _data[\"vinRegistered\"] : null;\n this.vinUnregistered = _data[\"vinUnregistered\"] !== undefined ? _data[\"vinUnregistered\"] : null;\n this.vinRetailSold = _data[\"vinRetailSold\"] !== undefined ? _data[\"vinRetailSold\"] : null;\n }\n }\n\n static fromJS(data: any): DealerDashboardDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerDashboardDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"claims91To120Day\"] = this.claims91To120Day !== undefined ? this.claims91To120Day : null;\n data[\"claimsAwaitingPaymentApproval\"] = this.claimsAwaitingPaymentApproval !== undefined ? this.claimsAwaitingPaymentApproval : null;\n data[\"claimsAwaitingVendorApproval\"] = this.claimsAwaitingVendorApproval !== undefined ? this.claimsAwaitingVendorApproval : null;\n data[\"claimsAwaitPartReturn\"] = this.claimsAwaitPartReturn !== undefined ? this.claimsAwaitPartReturn : null;\n data[\"claimsAwaitWorkComplete\"] = this.claimsAwaitWorkComplete !== undefined ? this.claimsAwaitWorkComplete : null;\n data[\"claimsClosed\"] = this.claimsClosed !== undefined ? this.claimsClosed : null;\n data[\"claimsDealerFeedbackReq\"] = this.claimsDealerFeedbackReq !== undefined ? this.claimsDealerFeedbackReq : null;\n data[\"claimsNew\"] = this.claimsNew !== undefined ? this.claimsNew : null;\n data[\"claimsOEMFeedbackReq\"] = this.claimsOEMFeedbackReq !== undefined ? this.claimsOEMFeedbackReq : null;\n data[\"claimsOpen\"] = this.claimsOpen !== undefined ? this.claimsOpen : null;\n data[\"claimsPaymentApproved\"] = this.claimsPaymentApproved !== undefined ? this.claimsPaymentApproved : null;\n data[\"claimsPreAuthRequired\"] = this.claimsPreAuthRequired !== undefined ? this.claimsPreAuthRequired : null;\n data[\"claimsUnfinished\"] = this.claimsUnfinished !== undefined ? this.claimsUnfinished : null;\n data[\"salesCanceled\"] = this.salesCanceled !== undefined ? this.salesCanceled : null;\n data[\"salesDelivered\"] = this.salesDelivered !== undefined ? this.salesDelivered : null;\n data[\"salesInvoiced\"] = this.salesInvoiced !== undefined ? this.salesInvoiced : null;\n data[\"salesOpenOrder\"] = this.salesOpenOrder !== undefined ? this.salesOpenOrder : null;\n data[\"vinRegistered\"] = this.vinRegistered !== undefined ? this.vinRegistered : null;\n data[\"vinUnregistered\"] = this.vinUnregistered !== undefined ? this.vinUnregistered : null;\n data[\"vinRetailSold\"] = this.vinRetailSold !== undefined ? this.vinRetailSold : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): DealerDashboardDTO {\n const json = this.toJSON();\n let result = new DealerDashboardDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerDashboardDTO extends IValidationBaseDTO {\n claims91To120Day?: number;\n claimsAwaitingPaymentApproval?: number;\n claimsAwaitingVendorApproval?: number;\n claimsAwaitPartReturn?: number;\n claimsAwaitWorkComplete?: number;\n claimsClosed?: number;\n claimsDealerFeedbackReq?: number;\n claimsNew?: number;\n claimsOEMFeedbackReq?: number;\n claimsOpen?: number;\n claimsPaymentApproved?: number;\n claimsPreAuthRequired?: number;\n claimsUnfinished?: number;\n salesCanceled?: number;\n salesDelivered?: number;\n salesInvoiced?: number;\n salesOpenOrder?: number;\n vinRegistered?: number;\n vinUnregistered?: number;\n vinRetailSold?: number;\n}\n\nexport class DealerRecallDTO implements IDealerRecallDTO {\n recallId?: string | null;\n recallName?: string | null;\n recallDescription?: string | null;\n recallType?: string | null;\n claimNumber?: string | null;\n warrantyClassCode?: string | null;\n warrantyClassDescription?: string | null;\n productionStartDate?: string | null;\n productionEndDate?: string | null;\n isAssociated?: boolean;\n remedyCodes?: WarrantyRemedyCodeDTO[] | null;\n attachments?: AXDocumentDTO[] | null;\n totalItems?: number;\n\n constructor(data?: IDealerRecallDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.recallId = _data[\"recallId\"] !== undefined ? _data[\"recallId\"] : null;\n this.recallName = _data[\"recallName\"] !== undefined ? _data[\"recallName\"] : null;\n this.recallDescription = _data[\"recallDescription\"] !== undefined ? _data[\"recallDescription\"] : null;\n this.recallType = _data[\"recallType\"] !== undefined ? _data[\"recallType\"] : null;\n this.claimNumber = _data[\"claimNumber\"] !== undefined ? _data[\"claimNumber\"] : null;\n this.warrantyClassCode = _data[\"warrantyClassCode\"] !== undefined ? _data[\"warrantyClassCode\"] : null;\n this.warrantyClassDescription = _data[\"warrantyClassDescription\"] !== undefined ? _data[\"warrantyClassDescription\"] : null;\n this.productionStartDate = _data[\"productionStartDate\"] !== undefined ? _data[\"productionStartDate\"] : null;\n this.productionEndDate = _data[\"productionEndDate\"] !== undefined ? _data[\"productionEndDate\"] : null;\n this.isAssociated = _data[\"isAssociated\"] !== undefined ? _data[\"isAssociated\"] : null;\n if (Array.isArray(_data[\"remedyCodes\"])) {\n this.remedyCodes = [] as any;\n for (let item of _data[\"remedyCodes\"])\n this.remedyCodes!.push(WarrantyRemedyCodeDTO.fromJS(item));\n }\n else {\n this.remedyCodes = null;\n }\n if (Array.isArray(_data[\"attachments\"])) {\n this.attachments = [] as any;\n for (let item of _data[\"attachments\"])\n this.attachments!.push(AXDocumentDTO.fromJS(item));\n }\n else {\n this.attachments = null;\n }\n this.totalItems = _data[\"totalItems\"] !== undefined ? _data[\"totalItems\"] : null;\n }\n }\n\n static fromJS(data: any): DealerRecallDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerRecallDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"recallId\"] = this.recallId !== undefined ? this.recallId : null;\n data[\"recallName\"] = this.recallName !== undefined ? this.recallName : null;\n data[\"recallDescription\"] = this.recallDescription !== undefined ? this.recallDescription : null;\n data[\"recallType\"] = this.recallType !== undefined ? this.recallType : null;\n data[\"claimNumber\"] = this.claimNumber !== undefined ? this.claimNumber : null;\n data[\"warrantyClassCode\"] = this.warrantyClassCode !== undefined ? this.warrantyClassCode : null;\n data[\"warrantyClassDescription\"] = this.warrantyClassDescription !== undefined ? this.warrantyClassDescription : null;\n data[\"productionStartDate\"] = this.productionStartDate !== undefined ? this.productionStartDate : null;\n data[\"productionEndDate\"] = this.productionEndDate !== undefined ? this.productionEndDate : null;\n data[\"isAssociated\"] = this.isAssociated !== undefined ? this.isAssociated : null;\n if (Array.isArray(this.remedyCodes)) {\n data[\"remedyCodes\"] = [];\n for (let item of this.remedyCodes)\n data[\"remedyCodes\"].push(item.toJSON());\n }\n if (Array.isArray(this.attachments)) {\n data[\"attachments\"] = [];\n for (let item of this.attachments)\n data[\"attachments\"].push(item.toJSON());\n }\n data[\"totalItems\"] = this.totalItems !== undefined ? this.totalItems : null;\n return data;\n }\n\n clone(): DealerRecallDTO {\n const json = this.toJSON();\n let result = new DealerRecallDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerRecallDTO {\n recallId?: string | null;\n recallName?: string | null;\n recallDescription?: string | null;\n recallType?: string | null;\n claimNumber?: string | null;\n warrantyClassCode?: string | null;\n warrantyClassDescription?: string | null;\n productionStartDate?: string | null;\n productionEndDate?: string | null;\n isAssociated?: boolean;\n remedyCodes?: WarrantyRemedyCodeDTO[] | null;\n attachments?: AXDocumentDTO[] | null;\n totalItems?: number;\n}\n\nexport class WarrantyRemedyCodeDTO implements IWarrantyRemedyCodeDTO {\n description?: string | null;\n hours?: number;\n partReturn?: boolean;\n photoRequired?: boolean;\n preAuthorization?: boolean;\n remedyCode?: string | null;\n\n constructor(data?: IWarrantyRemedyCodeDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n this.hours = _data[\"hours\"] !== undefined ? _data[\"hours\"] : null;\n this.partReturn = _data[\"partReturn\"] !== undefined ? _data[\"partReturn\"] : null;\n this.photoRequired = _data[\"photoRequired\"] !== undefined ? _data[\"photoRequired\"] : null;\n this.preAuthorization = _data[\"preAuthorization\"] !== undefined ? _data[\"preAuthorization\"] : null;\n this.remedyCode = _data[\"remedyCode\"] !== undefined ? _data[\"remedyCode\"] : null;\n }\n }\n\n static fromJS(data: any): WarrantyRemedyCodeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new WarrantyRemedyCodeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"description\"] = this.description !== undefined ? this.description : null;\n data[\"hours\"] = this.hours !== undefined ? this.hours : null;\n data[\"partReturn\"] = this.partReturn !== undefined ? this.partReturn : null;\n data[\"photoRequired\"] = this.photoRequired !== undefined ? this.photoRequired : null;\n data[\"preAuthorization\"] = this.preAuthorization !== undefined ? this.preAuthorization : null;\n data[\"remedyCode\"] = this.remedyCode !== undefined ? this.remedyCode : null;\n return data;\n }\n\n clone(): WarrantyRemedyCodeDTO {\n const json = this.toJSON();\n let result = new WarrantyRemedyCodeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IWarrantyRemedyCodeDTO {\n description?: string | null;\n hours?: number;\n partReturn?: boolean;\n photoRequired?: boolean;\n preAuthorization?: boolean;\n remedyCode?: string | null;\n}\n\nexport class AXDocumentDTO implements IAXDocumentDTO {\n fileType?: string | null;\n fileName?: string | null;\n description?: string | null;\n createdDateTime?: string | null;\n createdBy?: string | null;\n attachment?: string | null;\n dynamicsRecId?: number;\n\n constructor(data?: IAXDocumentDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.fileType = _data[\"fileType\"] !== undefined ? _data[\"fileType\"] : null;\n this.fileName = _data[\"fileName\"] !== undefined ? _data[\"fileName\"] : null;\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n this.createdDateTime = _data[\"createdDateTime\"] !== undefined ? _data[\"createdDateTime\"] : null;\n this.createdBy = _data[\"createdBy\"] !== undefined ? _data[\"createdBy\"] : null;\n this.attachment = _data[\"attachment\"] !== undefined ? _data[\"attachment\"] : null;\n this.dynamicsRecId = _data[\"dynamicsRecId\"] !== undefined ? _data[\"dynamicsRecId\"] : null;\n }\n }\n\n static fromJS(data: any): AXDocumentDTO {\n data = typeof data === 'object' ? data : {};\n let result = new AXDocumentDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"fileType\"] = this.fileType !== undefined ? this.fileType : null;\n data[\"fileName\"] = this.fileName !== undefined ? this.fileName : null;\n data[\"description\"] = this.description !== undefined ? this.description : null;\n data[\"createdDateTime\"] = this.createdDateTime !== undefined ? this.createdDateTime : null;\n data[\"createdBy\"] = this.createdBy !== undefined ? this.createdBy : null;\n data[\"attachment\"] = this.attachment !== undefined ? this.attachment : null;\n data[\"dynamicsRecId\"] = this.dynamicsRecId !== undefined ? this.dynamicsRecId : null;\n return data;\n }\n\n clone(): AXDocumentDTO {\n const json = this.toJSON();\n let result = new AXDocumentDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IAXDocumentDTO {\n fileType?: string | null;\n fileName?: string | null;\n description?: string | null;\n createdDateTime?: string | null;\n createdBy?: string | null;\n attachment?: string | null;\n dynamicsRecId?: number;\n}\n\nexport class DealerRecallSearchDTO extends PaginationBaseRequestDTO implements IDealerRecallSearchDTO {\n dealerLocationDynamicsId?: string | null;\n vin?: string | null;\n recallId?: string | null;\n description?: string | null;\n isGlobalSearch?: boolean;\n hideClosed?: boolean | null;\n\n constructor(data?: IDealerRecallSearchDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.dealerLocationDynamicsId = _data[\"dealerLocationDynamicsId\"] !== undefined ? _data[\"dealerLocationDynamicsId\"] : null;\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.recallId = _data[\"recallId\"] !== undefined ? _data[\"recallId\"] : null;\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n this.isGlobalSearch = _data[\"isGlobalSearch\"] !== undefined ? _data[\"isGlobalSearch\"] : null;\n this.hideClosed = _data[\"hideClosed\"] !== undefined ? _data[\"hideClosed\"] : null;\n }\n }\n\n static fromJS(data: any): DealerRecallSearchDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerRecallSearchDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dealerLocationDynamicsId\"] = this.dealerLocationDynamicsId !== undefined ? this.dealerLocationDynamicsId : null;\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"recallId\"] = this.recallId !== undefined ? this.recallId : null;\n data[\"description\"] = this.description !== undefined ? this.description : null;\n data[\"isGlobalSearch\"] = this.isGlobalSearch !== undefined ? this.isGlobalSearch : null;\n data[\"hideClosed\"] = this.hideClosed !== undefined ? this.hideClosed : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): DealerRecallSearchDTO {\n const json = this.toJSON();\n let result = new DealerRecallSearchDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerRecallSearchDTO extends IPaginationBaseRequestDTO {\n dealerLocationDynamicsId?: string | null;\n vin?: string | null;\n recallId?: string | null;\n description?: string | null;\n isGlobalSearch?: boolean;\n hideClosed?: boolean | null;\n}\n\nexport class DealerRecallVinDTO implements IDealerRecallVinDTO {\n accountNumber?: string | null;\n recallId?: string | null;\n vin?: string | null;\n brandId?: string | null;\n brandName?: string | null;\n model?: string | null;\n year?: string | null;\n claimNumber?: string | null;\n isAssociated?: boolean;\n isClaimAssociated?: boolean;\n isProcessed?: boolean;\n totalItems?: number;\n\n constructor(data?: IDealerRecallVinDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.accountNumber = _data[\"accountNumber\"] !== undefined ? _data[\"accountNumber\"] : null;\n this.recallId = _data[\"recallId\"] !== undefined ? _data[\"recallId\"] : null;\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.brandId = _data[\"brandId\"] !== undefined ? _data[\"brandId\"] : null;\n this.brandName = _data[\"brandName\"] !== undefined ? _data[\"brandName\"] : null;\n this.model = _data[\"model\"] !== undefined ? _data[\"model\"] : null;\n this.year = _data[\"year\"] !== undefined ? _data[\"year\"] : null;\n this.claimNumber = _data[\"claimNumber\"] !== undefined ? _data[\"claimNumber\"] : null;\n this.isAssociated = _data[\"isAssociated\"] !== undefined ? _data[\"isAssociated\"] : null;\n this.isClaimAssociated = _data[\"isClaimAssociated\"] !== undefined ? _data[\"isClaimAssociated\"] : null;\n this.isProcessed = _data[\"isProcessed\"] !== undefined ? _data[\"isProcessed\"] : null;\n this.totalItems = _data[\"totalItems\"] !== undefined ? _data[\"totalItems\"] : null;\n }\n }\n\n static fromJS(data: any): DealerRecallVinDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerRecallVinDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"accountNumber\"] = this.accountNumber !== undefined ? this.accountNumber : null;\n data[\"recallId\"] = this.recallId !== undefined ? this.recallId : null;\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"brandId\"] = this.brandId !== undefined ? this.brandId : null;\n data[\"brandName\"] = this.brandName !== undefined ? this.brandName : null;\n data[\"model\"] = this.model !== undefined ? this.model : null;\n data[\"year\"] = this.year !== undefined ? this.year : null;\n data[\"claimNumber\"] = this.claimNumber !== undefined ? this.claimNumber : null;\n data[\"isAssociated\"] = this.isAssociated !== undefined ? this.isAssociated : null;\n data[\"isClaimAssociated\"] = this.isClaimAssociated !== undefined ? this.isClaimAssociated : null;\n data[\"isProcessed\"] = this.isProcessed !== undefined ? this.isProcessed : null;\n data[\"totalItems\"] = this.totalItems !== undefined ? this.totalItems : null;\n return data;\n }\n\n clone(): DealerRecallVinDTO {\n const json = this.toJSON();\n let result = new DealerRecallVinDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerRecallVinDTO {\n accountNumber?: string | null;\n recallId?: string | null;\n vin?: string | null;\n brandId?: string | null;\n brandName?: string | null;\n model?: string | null;\n year?: string | null;\n claimNumber?: string | null;\n isAssociated?: boolean;\n isClaimAssociated?: boolean;\n isProcessed?: boolean;\n totalItems?: number;\n}\n\nexport class DealerSalesOrderDTO extends ValidationBaseDTO implements IDealerSalesOrderDTO {\n salesOrderNumber?: string | null;\n vin?: string | null;\n status?: string | null;\n createdDate?: moment.Moment;\n latestStatusUpdate?: moment.Moment;\n customerRequisition?: string | null;\n modeOfDelivery?: string | null;\n doNotProcess?: boolean;\n paidUnit?: boolean;\n dealerSold?: boolean;\n totalItems?: number;\n model?: string | null;\n brand?: string | null;\n year?: number;\n accountName?: string | null;\n customerAccount?: string | null;\n invoiceAccount?: string | null;\n contact?: string | null;\n requestedShipDate?: moment.Moment;\n documentStatus?: string | null;\n customerReference?: string | null;\n pool?: string | null;\n site?: string | null;\n warehouse?: string | null;\n salesOrderLineItems?: DealerSalesOrderLineItemDTO[] | null;\n deliveryName?: string | null;\n address?: string | null;\n shipmentVoided?: boolean;\n salesOrderTrackingItems?: DealerSalesOrderTrackingItemDTO[] | null;\n leadTrackingNumber?: string | null;\n trackingNumber?: string | null;\n actualShipDate?: moment.Moment;\n\n constructor(data?: IDealerSalesOrderDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.salesOrderNumber = _data[\"salesOrderNumber\"] !== undefined ? _data[\"salesOrderNumber\"] : null;\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.status = _data[\"status\"] !== undefined ? _data[\"status\"] : null;\n this.createdDate = _data[\"createdDate\"] ? moment(_data[\"createdDate\"].toString()) : null;\n this.latestStatusUpdate = _data[\"latestStatusUpdate\"] ? moment(_data[\"latestStatusUpdate\"].toString()) : null;\n this.customerRequisition = _data[\"customerRequisition\"] !== undefined ? _data[\"customerRequisition\"] : null;\n this.modeOfDelivery = _data[\"modeOfDelivery\"] !== undefined ? _data[\"modeOfDelivery\"] : null;\n this.doNotProcess = _data[\"doNotProcess\"] !== undefined ? _data[\"doNotProcess\"] : null;\n this.paidUnit = _data[\"paidUnit\"] !== undefined ? _data[\"paidUnit\"] : null;\n this.dealerSold = _data[\"dealerSold\"] !== undefined ? _data[\"dealerSold\"] : null;\n this.totalItems = _data[\"totalItems\"] !== undefined ? _data[\"totalItems\"] : null;\n this.model = _data[\"model\"] !== undefined ? _data[\"model\"] : null;\n this.brand = _data[\"brand\"] !== undefined ? _data[\"brand\"] : null;\n this.year = _data[\"year\"] !== undefined ? _data[\"year\"] : null;\n this.accountName = _data[\"accountName\"] !== undefined ? _data[\"accountName\"] : null;\n this.customerAccount = _data[\"customerAccount\"] !== undefined ? _data[\"customerAccount\"] : null;\n this.invoiceAccount = _data[\"invoiceAccount\"] !== undefined ? _data[\"invoiceAccount\"] : null;\n this.contact = _data[\"contact\"] !== undefined ? _data[\"contact\"] : null;\n this.requestedShipDate = _data[\"requestedShipDate\"] ? moment(_data[\"requestedShipDate\"].toString()) : null;\n this.documentStatus = _data[\"documentStatus\"] !== undefined ? _data[\"documentStatus\"] : null;\n this.customerReference = _data[\"customerReference\"] !== undefined ? _data[\"customerReference\"] : null;\n this.pool = _data[\"pool\"] !== undefined ? _data[\"pool\"] : null;\n this.site = _data[\"site\"] !== undefined ? _data[\"site\"] : null;\n this.warehouse = _data[\"warehouse\"] !== undefined ? _data[\"warehouse\"] : null;\n if (Array.isArray(_data[\"salesOrderLineItems\"])) {\n this.salesOrderLineItems = [] as any;\n for (let item of _data[\"salesOrderLineItems\"])\n this.salesOrderLineItems!.push(DealerSalesOrderLineItemDTO.fromJS(item));\n }\n else {\n this.salesOrderLineItems = null;\n }\n this.deliveryName = _data[\"deliveryName\"] !== undefined ? _data[\"deliveryName\"] : null;\n this.address = _data[\"address\"] !== undefined ? _data[\"address\"] : null;\n this.shipmentVoided = _data[\"shipmentVoided\"] !== undefined ? _data[\"shipmentVoided\"] : null;\n if (Array.isArray(_data[\"salesOrderTrackingItems\"])) {\n this.salesOrderTrackingItems = [] as any;\n for (let item of _data[\"salesOrderTrackingItems\"])\n this.salesOrderTrackingItems!.push(DealerSalesOrderTrackingItemDTO.fromJS(item));\n }\n else {\n this.salesOrderTrackingItems = null;\n }\n this.leadTrackingNumber = _data[\"leadTrackingNumber\"] !== undefined ? _data[\"leadTrackingNumber\"] : null;\n this.trackingNumber = _data[\"trackingNumber\"] !== undefined ? _data[\"trackingNumber\"] : null;\n this.actualShipDate = _data[\"actualShipDate\"] ? moment(_data[\"actualShipDate\"].toString()) : null;\n }\n }\n\n static fromJS(data: any): DealerSalesOrderDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerSalesOrderDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"salesOrderNumber\"] = this.salesOrderNumber !== undefined ? this.salesOrderNumber : null;\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"status\"] = this.status !== undefined ? this.status : null;\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : null;\n data[\"latestStatusUpdate\"] = this.latestStatusUpdate ? this.latestStatusUpdate.toISOString() : null;\n data[\"customerRequisition\"] = this.customerRequisition !== undefined ? this.customerRequisition : null;\n data[\"modeOfDelivery\"] = this.modeOfDelivery !== undefined ? this.modeOfDelivery : null;\n data[\"doNotProcess\"] = this.doNotProcess !== undefined ? this.doNotProcess : null;\n data[\"paidUnit\"] = this.paidUnit !== undefined ? this.paidUnit : null;\n data[\"dealerSold\"] = this.dealerSold !== undefined ? this.dealerSold : null;\n data[\"totalItems\"] = this.totalItems !== undefined ? this.totalItems : null;\n data[\"model\"] = this.model !== undefined ? this.model : null;\n data[\"brand\"] = this.brand !== undefined ? this.brand : null;\n data[\"year\"] = this.year !== undefined ? this.year : null;\n data[\"accountName\"] = this.accountName !== undefined ? this.accountName : null;\n data[\"customerAccount\"] = this.customerAccount !== undefined ? this.customerAccount : null;\n data[\"invoiceAccount\"] = this.invoiceAccount !== undefined ? this.invoiceAccount : null;\n data[\"contact\"] = this.contact !== undefined ? this.contact : null;\n data[\"requestedShipDate\"] = this.requestedShipDate ? this.requestedShipDate.toISOString() : null;\n data[\"documentStatus\"] = this.documentStatus !== undefined ? this.documentStatus : null;\n data[\"customerReference\"] = this.customerReference !== undefined ? this.customerReference : null;\n data[\"pool\"] = this.pool !== undefined ? this.pool : null;\n data[\"site\"] = this.site !== undefined ? this.site : null;\n data[\"warehouse\"] = this.warehouse !== undefined ? this.warehouse : null;\n if (Array.isArray(this.salesOrderLineItems)) {\n data[\"salesOrderLineItems\"] = [];\n for (let item of this.salesOrderLineItems)\n data[\"salesOrderLineItems\"].push(item.toJSON());\n }\n data[\"deliveryName\"] = this.deliveryName !== undefined ? this.deliveryName : null;\n data[\"address\"] = this.address !== undefined ? this.address : null;\n data[\"shipmentVoided\"] = this.shipmentVoided !== undefined ? this.shipmentVoided : null;\n if (Array.isArray(this.salesOrderTrackingItems)) {\n data[\"salesOrderTrackingItems\"] = [];\n for (let item of this.salesOrderTrackingItems)\n data[\"salesOrderTrackingItems\"].push(item.toJSON());\n }\n data[\"leadTrackingNumber\"] = this.leadTrackingNumber !== undefined ? this.leadTrackingNumber : null;\n data[\"trackingNumber\"] = this.trackingNumber !== undefined ? this.trackingNumber : null;\n data[\"actualShipDate\"] = this.actualShipDate ? this.actualShipDate.toISOString() : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): DealerSalesOrderDTO {\n const json = this.toJSON();\n let result = new DealerSalesOrderDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerSalesOrderDTO extends IValidationBaseDTO {\n salesOrderNumber?: string | null;\n vin?: string | null;\n status?: string | null;\n createdDate?: moment.Moment;\n latestStatusUpdate?: moment.Moment;\n customerRequisition?: string | null;\n modeOfDelivery?: string | null;\n doNotProcess?: boolean;\n paidUnit?: boolean;\n dealerSold?: boolean;\n totalItems?: number;\n model?: string | null;\n brand?: string | null;\n year?: number;\n accountName?: string | null;\n customerAccount?: string | null;\n invoiceAccount?: string | null;\n contact?: string | null;\n requestedShipDate?: moment.Moment;\n documentStatus?: string | null;\n customerReference?: string | null;\n pool?: string | null;\n site?: string | null;\n warehouse?: string | null;\n salesOrderLineItems?: DealerSalesOrderLineItemDTO[] | null;\n deliveryName?: string | null;\n address?: string | null;\n shipmentVoided?: boolean;\n salesOrderTrackingItems?: DealerSalesOrderTrackingItemDTO[] | null;\n leadTrackingNumber?: string | null;\n trackingNumber?: string | null;\n actualShipDate?: moment.Moment;\n}\n\nexport class DealerSalesOrderLineItemDTO implements IDealerSalesOrderLineItemDTO {\n itemNumber?: string | null;\n productName?: string | null;\n quantity?: number;\n unitOfMeasure?: string | null;\n netAmount?: number;\n readyForPickUp?: boolean;\n readyForPickUpDate?: moment.Moment;\n\n constructor(data?: IDealerSalesOrderLineItemDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.itemNumber = _data[\"itemNumber\"] !== undefined ? _data[\"itemNumber\"] : null;\n this.productName = _data[\"productName\"] !== undefined ? _data[\"productName\"] : null;\n this.quantity = _data[\"quantity\"] !== undefined ? _data[\"quantity\"] : null;\n this.unitOfMeasure = _data[\"unitOfMeasure\"] !== undefined ? _data[\"unitOfMeasure\"] : null;\n this.netAmount = _data[\"netAmount\"] !== undefined ? _data[\"netAmount\"] : null;\n this.readyForPickUp = _data[\"readyForPickUp\"] !== undefined ? _data[\"readyForPickUp\"] : null;\n this.readyForPickUpDate = _data[\"readyForPickUpDate\"] ? moment(_data[\"readyForPickUpDate\"].toString()) : null;\n }\n }\n\n static fromJS(data: any): DealerSalesOrderLineItemDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerSalesOrderLineItemDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"itemNumber\"] = this.itemNumber !== undefined ? this.itemNumber : null;\n data[\"productName\"] = this.productName !== undefined ? this.productName : null;\n data[\"quantity\"] = this.quantity !== undefined ? this.quantity : null;\n data[\"unitOfMeasure\"] = this.unitOfMeasure !== undefined ? this.unitOfMeasure : null;\n data[\"netAmount\"] = this.netAmount !== undefined ? this.netAmount : null;\n data[\"readyForPickUp\"] = this.readyForPickUp !== undefined ? this.readyForPickUp : null;\n data[\"readyForPickUpDate\"] = this.readyForPickUpDate ? this.readyForPickUpDate.toISOString() : null;\n return data;\n }\n\n clone(): DealerSalesOrderLineItemDTO {\n const json = this.toJSON();\n let result = new DealerSalesOrderLineItemDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerSalesOrderLineItemDTO {\n itemNumber?: string | null;\n productName?: string | null;\n quantity?: number;\n unitOfMeasure?: string | null;\n netAmount?: number;\n readyForPickUp?: boolean;\n readyForPickUpDate?: moment.Moment;\n}\n\nexport class DealerSalesOrderTrackingItemDTO implements IDealerSalesOrderTrackingItemDTO {\n shipmentVoided?: boolean;\n leadTrackingNumber?: string | null;\n trackingNumber?: string | null;\n modeOfDelivery?: string | null;\n actualShipDate?: moment.Moment;\n\n constructor(data?: IDealerSalesOrderTrackingItemDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.shipmentVoided = _data[\"shipmentVoided\"] !== undefined ? _data[\"shipmentVoided\"] : null;\n this.leadTrackingNumber = _data[\"leadTrackingNumber\"] !== undefined ? _data[\"leadTrackingNumber\"] : null;\n this.trackingNumber = _data[\"trackingNumber\"] !== undefined ? _data[\"trackingNumber\"] : null;\n this.modeOfDelivery = _data[\"modeOfDelivery\"] !== undefined ? _data[\"modeOfDelivery\"] : null;\n this.actualShipDate = _data[\"actualShipDate\"] ? moment(_data[\"actualShipDate\"].toString()) : null;\n }\n }\n\n static fromJS(data: any): DealerSalesOrderTrackingItemDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerSalesOrderTrackingItemDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"shipmentVoided\"] = this.shipmentVoided !== undefined ? this.shipmentVoided : null;\n data[\"leadTrackingNumber\"] = this.leadTrackingNumber !== undefined ? this.leadTrackingNumber : null;\n data[\"trackingNumber\"] = this.trackingNumber !== undefined ? this.trackingNumber : null;\n data[\"modeOfDelivery\"] = this.modeOfDelivery !== undefined ? this.modeOfDelivery : null;\n data[\"actualShipDate\"] = this.actualShipDate ? this.actualShipDate.toISOString() : null;\n return data;\n }\n\n clone(): DealerSalesOrderTrackingItemDTO {\n const json = this.toJSON();\n let result = new DealerSalesOrderTrackingItemDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerSalesOrderTrackingItemDTO {\n shipmentVoided?: boolean;\n leadTrackingNumber?: string | null;\n trackingNumber?: string | null;\n modeOfDelivery?: string | null;\n actualShipDate?: moment.Moment;\n}\n\nexport class DealerSalesOrderSearchDTO extends PaginationBaseRequestDTO implements IDealerSalesOrderSearchDTO {\n vin?: string | null;\n salesOrderNumber?: string | null;\n status?: string | null;\n custAccount?: number;\n requisition?: string | null;\n rvOrdersOnly?: boolean | null;\n\n constructor(data?: IDealerSalesOrderSearchDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.salesOrderNumber = _data[\"salesOrderNumber\"] !== undefined ? _data[\"salesOrderNumber\"] : null;\n this.status = _data[\"status\"] !== undefined ? _data[\"status\"] : null;\n this.custAccount = _data[\"custAccount\"] !== undefined ? _data[\"custAccount\"] : null;\n this.requisition = _data[\"requisition\"] !== undefined ? _data[\"requisition\"] : null;\n this.rvOrdersOnly = _data[\"rvOrdersOnly\"] !== undefined ? _data[\"rvOrdersOnly\"] : null;\n }\n }\n\n static fromJS(data: any): DealerSalesOrderSearchDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerSalesOrderSearchDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"salesOrderNumber\"] = this.salesOrderNumber !== undefined ? this.salesOrderNumber : null;\n data[\"status\"] = this.status !== undefined ? this.status : null;\n data[\"custAccount\"] = this.custAccount !== undefined ? this.custAccount : null;\n data[\"requisition\"] = this.requisition !== undefined ? this.requisition : null;\n data[\"rvOrdersOnly\"] = this.rvOrdersOnly !== undefined ? this.rvOrdersOnly : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): DealerSalesOrderSearchDTO {\n const json = this.toJSON();\n let result = new DealerSalesOrderSearchDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerSalesOrderSearchDTO extends IPaginationBaseRequestDTO {\n vin?: string | null;\n salesOrderNumber?: string | null;\n status?: string | null;\n custAccount?: number;\n requisition?: string | null;\n rvOrdersOnly?: boolean | null;\n}\n\nexport class AuthenticationResultDTO extends ValidationBaseDTO implements IAuthenticationResultDTO {\n succeeded?: boolean;\n isLockedOut?: boolean;\n accessToken?: string | null;\n refreshToken?: string | null;\n claims?: Claim[] | null;\n\n constructor(data?: IAuthenticationResultDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.succeeded = _data[\"succeeded\"] !== undefined ? _data[\"succeeded\"] : null;\n this.isLockedOut = _data[\"isLockedOut\"] !== undefined ? _data[\"isLockedOut\"] : null;\n this.accessToken = _data[\"accessToken\"] !== undefined ? _data[\"accessToken\"] : null;\n this.refreshToken = _data[\"refreshToken\"] !== undefined ? _data[\"refreshToken\"] : null;\n if (Array.isArray(_data[\"claims\"])) {\n this.claims = [] as any;\n for (let item of _data[\"claims\"])\n this.claims!.push(Claim.fromJS(item));\n }\n else {\n this.claims = null;\n }\n }\n }\n\n static fromJS(data: any): AuthenticationResultDTO {\n data = typeof data === 'object' ? data : {};\n let result = new AuthenticationResultDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"succeeded\"] = this.succeeded !== undefined ? this.succeeded : null;\n data[\"isLockedOut\"] = this.isLockedOut !== undefined ? this.isLockedOut : null;\n data[\"accessToken\"] = this.accessToken !== undefined ? this.accessToken : null;\n data[\"refreshToken\"] = this.refreshToken !== undefined ? this.refreshToken : null;\n if (Array.isArray(this.claims)) {\n data[\"claims\"] = [];\n for (let item of this.claims)\n data[\"claims\"].push(item.toJSON());\n }\n super.toJSON(data);\n return data;\n }\n\n clone(): AuthenticationResultDTO {\n const json = this.toJSON();\n let result = new AuthenticationResultDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IAuthenticationResultDTO extends IValidationBaseDTO {\n succeeded?: boolean;\n isLockedOut?: boolean;\n accessToken?: string | null;\n refreshToken?: string | null;\n claims?: Claim[] | null;\n}\n\nexport class Claim implements IClaim {\n issuer?: string;\n originalIssuer?: string;\n properties?: { [key: string]: string; };\n subject?: ClaimsIdentity | null;\n type?: string;\n value?: string;\n valueType?: string;\n\n constructor(data?: IClaim) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.issuer = _data[\"issuer\"] !== undefined ? _data[\"issuer\"] : null;\n this.originalIssuer = _data[\"originalIssuer\"] !== undefined ? _data[\"originalIssuer\"] : null;\n if (_data[\"properties\"]) {\n this.properties = {} as any;\n for (let key in _data[\"properties\"]) {\n if (_data[\"properties\"].hasOwnProperty(key))\n (this.properties)![key] = _data[\"properties\"][key] !== undefined ? _data[\"properties\"][key] : null;\n }\n }\n else {\n this.properties = null;\n }\n this.subject = _data[\"subject\"] ? ClaimsIdentity.fromJS(_data[\"subject\"]) : null;\n this.type = _data[\"type\"] !== undefined ? _data[\"type\"] : null;\n this.value = _data[\"value\"] !== undefined ? _data[\"value\"] : null;\n this.valueType = _data[\"valueType\"] !== undefined ? _data[\"valueType\"] : null;\n }\n }\n\n static fromJS(data: any): Claim {\n data = typeof data === 'object' ? data : {};\n let result = new Claim();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"issuer\"] = this.issuer !== undefined ? this.issuer : null;\n data[\"originalIssuer\"] = this.originalIssuer !== undefined ? this.originalIssuer : null;\n if (this.properties) {\n data[\"properties\"] = {};\n for (let key in this.properties) {\n if (this.properties.hasOwnProperty(key))\n (data[\"properties\"])[key] = this.properties[key] !== undefined ? this.properties[key] : null;\n }\n }\n data[\"subject\"] = this.subject ? this.subject.toJSON() : null;\n data[\"type\"] = this.type !== undefined ? this.type : null;\n data[\"value\"] = this.value !== undefined ? this.value : null;\n data[\"valueType\"] = this.valueType !== undefined ? this.valueType : null;\n return data;\n }\n\n clone(): Claim {\n const json = this.toJSON();\n let result = new Claim();\n result.init(json);\n return result;\n }\n}\n\nexport interface IClaim {\n issuer?: string;\n originalIssuer?: string;\n properties?: { [key: string]: string; };\n subject?: ClaimsIdentity | null;\n type?: string;\n value?: string;\n valueType?: string;\n}\n\nexport class ClaimsIdentity implements IClaimsIdentity {\n authenticationType?: string | null;\n isAuthenticated?: boolean;\n actor?: ClaimsIdentity | null;\n bootstrapContext?: any | null;\n claims?: Claim[];\n label?: string | null;\n name?: string | null;\n nameClaimType?: string;\n roleClaimType?: string;\n\n constructor(data?: IClaimsIdentity) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.authenticationType = _data[\"authenticationType\"] !== undefined ? _data[\"authenticationType\"] : null;\n this.isAuthenticated = _data[\"isAuthenticated\"] !== undefined ? _data[\"isAuthenticated\"] : null;\n this.actor = _data[\"actor\"] ? ClaimsIdentity.fromJS(_data[\"actor\"]) : null;\n this.bootstrapContext = _data[\"bootstrapContext\"] !== undefined ? _data[\"bootstrapContext\"] : null;\n if (Array.isArray(_data[\"claims\"])) {\n this.claims = [] as any;\n for (let item of _data[\"claims\"])\n this.claims!.push(Claim.fromJS(item));\n }\n else {\n this.claims = null;\n }\n this.label = _data[\"label\"] !== undefined ? _data[\"label\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.nameClaimType = _data[\"nameClaimType\"] !== undefined ? _data[\"nameClaimType\"] : null;\n this.roleClaimType = _data[\"roleClaimType\"] !== undefined ? _data[\"roleClaimType\"] : null;\n }\n }\n\n static fromJS(data: any): ClaimsIdentity {\n data = typeof data === 'object' ? data : {};\n let result = new ClaimsIdentity();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"authenticationType\"] = this.authenticationType !== undefined ? this.authenticationType : null;\n data[\"isAuthenticated\"] = this.isAuthenticated !== undefined ? this.isAuthenticated : null;\n data[\"actor\"] = this.actor ? this.actor.toJSON() : null;\n data[\"bootstrapContext\"] = this.bootstrapContext !== undefined ? this.bootstrapContext : null;\n if (Array.isArray(this.claims)) {\n data[\"claims\"] = [];\n for (let item of this.claims)\n data[\"claims\"].push(item.toJSON());\n }\n data[\"label\"] = this.label !== undefined ? this.label : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"nameClaimType\"] = this.nameClaimType !== undefined ? this.nameClaimType : null;\n data[\"roleClaimType\"] = this.roleClaimType !== undefined ? this.roleClaimType : null;\n return data;\n }\n\n clone(): ClaimsIdentity {\n const json = this.toJSON();\n let result = new ClaimsIdentity();\n result.init(json);\n return result;\n }\n}\n\nexport interface IClaimsIdentity {\n authenticationType?: string | null;\n isAuthenticated?: boolean;\n actor?: ClaimsIdentity | null;\n bootstrapContext?: any | null;\n claims?: Claim[];\n label?: string | null;\n name?: string | null;\n nameClaimType?: string;\n roleClaimType?: string;\n}\n\nexport class AuthenticationRequestDTO implements IAuthenticationRequestDTO {\n userName!: string;\n password!: string;\n companyType?: CompanyTypes;\n\n constructor(data?: IAuthenticationRequestDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userName = _data[\"userName\"] !== undefined ? _data[\"userName\"] : null;\n this.password = _data[\"password\"] !== undefined ? _data[\"password\"] : null;\n this.companyType = _data[\"companyType\"] !== undefined ? _data[\"companyType\"] : null;\n }\n }\n\n static fromJS(data: any): AuthenticationRequestDTO {\n data = typeof data === 'object' ? data : {};\n let result = new AuthenticationRequestDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userName\"] = this.userName !== undefined ? this.userName : null;\n data[\"password\"] = this.password !== undefined ? this.password : null;\n data[\"companyType\"] = this.companyType !== undefined ? this.companyType : null;\n return data;\n }\n\n clone(): AuthenticationRequestDTO {\n const json = this.toJSON();\n let result = new AuthenticationRequestDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IAuthenticationRequestDTO {\n userName: string;\n password: string;\n companyType?: CompanyTypes;\n}\n\nexport class RefreshTokenDTO implements IRefreshTokenDTO {\n refreshToken!: string;\n expiredAccessToken?: string | null;\n\n constructor(data?: IRefreshTokenDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.refreshToken = _data[\"refreshToken\"] !== undefined ? _data[\"refreshToken\"] : null;\n this.expiredAccessToken = _data[\"expiredAccessToken\"] !== undefined ? _data[\"expiredAccessToken\"] : null;\n }\n }\n\n static fromJS(data: any): RefreshTokenDTO {\n data = typeof data === 'object' ? data : {};\n let result = new RefreshTokenDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"refreshToken\"] = this.refreshToken !== undefined ? this.refreshToken : null;\n data[\"expiredAccessToken\"] = this.expiredAccessToken !== undefined ? this.expiredAccessToken : null;\n return data;\n }\n\n clone(): RefreshTokenDTO {\n const json = this.toJSON();\n let result = new RefreshTokenDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IRefreshTokenDTO {\n refreshToken: string;\n expiredAccessToken?: string | null;\n}\n\nexport class ResetPasswordDTO extends ValidationBaseDTO implements IResetPasswordDTO {\n token!: string;\n email!: string;\n password!: string;\n confirmPassword!: string;\n\n constructor(data?: IResetPasswordDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.token = _data[\"token\"] !== undefined ? _data[\"token\"] : null;\n this.email = _data[\"email\"] !== undefined ? _data[\"email\"] : null;\n this.password = _data[\"password\"] !== undefined ? _data[\"password\"] : null;\n this.confirmPassword = _data[\"confirmPassword\"] !== undefined ? _data[\"confirmPassword\"] : null;\n }\n }\n\n static fromJS(data: any): ResetPasswordDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ResetPasswordDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"token\"] = this.token !== undefined ? this.token : null;\n data[\"email\"] = this.email !== undefined ? this.email : null;\n data[\"password\"] = this.password !== undefined ? this.password : null;\n data[\"confirmPassword\"] = this.confirmPassword !== undefined ? this.confirmPassword : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): ResetPasswordDTO {\n const json = this.toJSON();\n let result = new ResetPasswordDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IResetPasswordDTO extends IValidationBaseDTO {\n token: string;\n email: string;\n password: string;\n confirmPassword: string;\n}\n\nexport class RegisterDTO extends ValidationBaseDTO implements IRegisterDTO {\n userId?: string | null;\n firstName!: string;\n lastName!: string;\n email!: string;\n phoneNumber!: string;\n streetAddress!: string;\n city!: string;\n stateId!: number;\n zipCode!: string;\n countryId!: number;\n password!: string;\n confirmPassword!: string;\n invitationCode?: string | null;\n invitationId?: string | null;\n companyType?: CompanyTypes;\n\n constructor(data?: IRegisterDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.userId = _data[\"userId\"] !== undefined ? _data[\"userId\"] : null;\n this.firstName = _data[\"firstName\"] !== undefined ? _data[\"firstName\"] : null;\n this.lastName = _data[\"lastName\"] !== undefined ? _data[\"lastName\"] : null;\n this.email = _data[\"email\"] !== undefined ? _data[\"email\"] : null;\n this.phoneNumber = _data[\"phoneNumber\"] !== undefined ? _data[\"phoneNumber\"] : null;\n this.streetAddress = _data[\"streetAddress\"] !== undefined ? _data[\"streetAddress\"] : null;\n this.city = _data[\"city\"] !== undefined ? _data[\"city\"] : null;\n this.stateId = _data[\"stateId\"] !== undefined ? _data[\"stateId\"] : null;\n this.zipCode = _data[\"zipCode\"] !== undefined ? _data[\"zipCode\"] : null;\n this.countryId = _data[\"countryId\"] !== undefined ? _data[\"countryId\"] : null;\n this.password = _data[\"password\"] !== undefined ? _data[\"password\"] : null;\n this.confirmPassword = _data[\"confirmPassword\"] !== undefined ? _data[\"confirmPassword\"] : null;\n this.invitationCode = _data[\"invitationCode\"] !== undefined ? _data[\"invitationCode\"] : null;\n this.invitationId = _data[\"invitationId\"] !== undefined ? _data[\"invitationId\"] : null;\n this.companyType = _data[\"companyType\"] !== undefined ? _data[\"companyType\"] : null;\n }\n }\n\n static fromJS(data: any): RegisterDTO {\n data = typeof data === 'object' ? data : {};\n let result = new RegisterDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId !== undefined ? this.userId : null;\n data[\"firstName\"] = this.firstName !== undefined ? this.firstName : null;\n data[\"lastName\"] = this.lastName !== undefined ? this.lastName : null;\n data[\"email\"] = this.email !== undefined ? this.email : null;\n data[\"phoneNumber\"] = this.phoneNumber !== undefined ? this.phoneNumber : null;\n data[\"streetAddress\"] = this.streetAddress !== undefined ? this.streetAddress : null;\n data[\"city\"] = this.city !== undefined ? this.city : null;\n data[\"stateId\"] = this.stateId !== undefined ? this.stateId : null;\n data[\"zipCode\"] = this.zipCode !== undefined ? this.zipCode : null;\n data[\"countryId\"] = this.countryId !== undefined ? this.countryId : null;\n data[\"password\"] = this.password !== undefined ? this.password : null;\n data[\"confirmPassword\"] = this.confirmPassword !== undefined ? this.confirmPassword : null;\n data[\"invitationCode\"] = this.invitationCode !== undefined ? this.invitationCode : null;\n data[\"invitationId\"] = this.invitationId !== undefined ? this.invitationId : null;\n data[\"companyType\"] = this.companyType !== undefined ? this.companyType : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): RegisterDTO {\n const json = this.toJSON();\n let result = new RegisterDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IRegisterDTO extends IValidationBaseDTO {\n userId?: string | null;\n firstName: string;\n lastName: string;\n email: string;\n phoneNumber: string;\n streetAddress: string;\n city: string;\n stateId: number;\n zipCode: string;\n countryId: number;\n password: string;\n confirmPassword: string;\n invitationCode?: string | null;\n invitationId?: string | null;\n companyType?: CompanyTypes;\n}\n\nexport class EmailConfirmationDTO extends ValidationBaseDTO implements IEmailConfirmationDTO {\n id?: string | null;\n code?: string | null;\n companyType?: number;\n\n constructor(data?: IEmailConfirmationDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.code = _data[\"code\"] !== undefined ? _data[\"code\"] : null;\n this.companyType = _data[\"companyType\"] !== undefined ? _data[\"companyType\"] : null;\n }\n }\n\n static fromJS(data: any): EmailConfirmationDTO {\n data = typeof data === 'object' ? data : {};\n let result = new EmailConfirmationDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"code\"] = this.code !== undefined ? this.code : null;\n data[\"companyType\"] = this.companyType !== undefined ? this.companyType : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): EmailConfirmationDTO {\n const json = this.toJSON();\n let result = new EmailConfirmationDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IEmailConfirmationDTO extends IValidationBaseDTO {\n id?: string | null;\n code?: string | null;\n companyType?: number;\n}\n\nexport class ChangePasswordDTO extends ValidationBaseDTO implements IChangePasswordDTO {\n currentPassword!: string;\n newPassword!: string;\n confirmPassword!: string;\n\n constructor(data?: IChangePasswordDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.currentPassword = _data[\"currentPassword\"] !== undefined ? _data[\"currentPassword\"] : null;\n this.newPassword = _data[\"newPassword\"] !== undefined ? _data[\"newPassword\"] : null;\n this.confirmPassword = _data[\"confirmPassword\"] !== undefined ? _data[\"confirmPassword\"] : null;\n }\n }\n\n static fromJS(data: any): ChangePasswordDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ChangePasswordDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"currentPassword\"] = this.currentPassword !== undefined ? this.currentPassword : null;\n data[\"newPassword\"] = this.newPassword !== undefined ? this.newPassword : null;\n data[\"confirmPassword\"] = this.confirmPassword !== undefined ? this.confirmPassword : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): ChangePasswordDTO {\n const json = this.toJSON();\n let result = new ChangePasswordDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IChangePasswordDTO extends IValidationBaseDTO {\n currentPassword: string;\n newPassword: string;\n confirmPassword: string;\n}\n\nexport class ProfileDTO extends ValidationBaseDTO implements IProfileDTO {\n userId?: string;\n firstName!: string;\n lastName!: string;\n phoneNumber!: string;\n streetAddress!: string;\n city!: string;\n stateId!: number;\n zipCode!: string;\n countryId!: number;\n allowEmailNotifications!: boolean;\n allowPushNotifications!: boolean;\n\n constructor(data?: IProfileDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.userId = _data[\"userId\"] !== undefined ? _data[\"userId\"] : null;\n this.firstName = _data[\"firstName\"] !== undefined ? _data[\"firstName\"] : null;\n this.lastName = _data[\"lastName\"] !== undefined ? _data[\"lastName\"] : null;\n this.phoneNumber = _data[\"phoneNumber\"] !== undefined ? _data[\"phoneNumber\"] : null;\n this.streetAddress = _data[\"streetAddress\"] !== undefined ? _data[\"streetAddress\"] : null;\n this.city = _data[\"city\"] !== undefined ? _data[\"city\"] : null;\n this.stateId = _data[\"stateId\"] !== undefined ? _data[\"stateId\"] : null;\n this.zipCode = _data[\"zipCode\"] !== undefined ? _data[\"zipCode\"] : null;\n this.countryId = _data[\"countryId\"] !== undefined ? _data[\"countryId\"] : null;\n this.allowEmailNotifications = _data[\"allowEmailNotifications\"] !== undefined ? _data[\"allowEmailNotifications\"] : null;\n this.allowPushNotifications = _data[\"allowPushNotifications\"] !== undefined ? _data[\"allowPushNotifications\"] : null;\n }\n }\n\n static fromJS(data: any): ProfileDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ProfileDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId !== undefined ? this.userId : null;\n data[\"firstName\"] = this.firstName !== undefined ? this.firstName : null;\n data[\"lastName\"] = this.lastName !== undefined ? this.lastName : null;\n data[\"phoneNumber\"] = this.phoneNumber !== undefined ? this.phoneNumber : null;\n data[\"streetAddress\"] = this.streetAddress !== undefined ? this.streetAddress : null;\n data[\"city\"] = this.city !== undefined ? this.city : null;\n data[\"stateId\"] = this.stateId !== undefined ? this.stateId : null;\n data[\"zipCode\"] = this.zipCode !== undefined ? this.zipCode : null;\n data[\"countryId\"] = this.countryId !== undefined ? this.countryId : null;\n data[\"allowEmailNotifications\"] = this.allowEmailNotifications !== undefined ? this.allowEmailNotifications : null;\n data[\"allowPushNotifications\"] = this.allowPushNotifications !== undefined ? this.allowPushNotifications : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): ProfileDTO {\n const json = this.toJSON();\n let result = new ProfileDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IProfileDTO extends IValidationBaseDTO {\n userId?: string;\n firstName: string;\n lastName: string;\n phoneNumber: string;\n streetAddress: string;\n city: string;\n stateId: number;\n zipCode: string;\n countryId: number;\n allowEmailNotifications: boolean;\n allowPushNotifications: boolean;\n}\n\nexport class VehicleDTO implements IVehicleDTO {\n vehicleId?: number;\n vehicleUid?: string;\n vin?: string | null;\n name?: string | null;\n make?: string | null;\n model?: string | null;\n year?: number;\n brandName?: string | null;\n\n constructor(data?: IVehicleDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.vehicleId = _data[\"vehicleId\"] !== undefined ? _data[\"vehicleId\"] : null;\n this.vehicleUid = _data[\"vehicleUid\"] !== undefined ? _data[\"vehicleUid\"] : null;\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.make = _data[\"make\"] !== undefined ? _data[\"make\"] : null;\n this.model = _data[\"model\"] !== undefined ? _data[\"model\"] : null;\n this.year = _data[\"year\"] !== undefined ? _data[\"year\"] : null;\n this.brandName = _data[\"brandName\"] !== undefined ? _data[\"brandName\"] : null;\n }\n }\n\n static fromJS(data: any): VehicleDTO {\n data = typeof data === 'object' ? data : {};\n let result = new VehicleDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vehicleId\"] = this.vehicleId !== undefined ? this.vehicleId : null;\n data[\"vehicleUid\"] = this.vehicleUid !== undefined ? this.vehicleUid : null;\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"make\"] = this.make !== undefined ? this.make : null;\n data[\"model\"] = this.model !== undefined ? this.model : null;\n data[\"year\"] = this.year !== undefined ? this.year : null;\n data[\"brandName\"] = this.brandName !== undefined ? this.brandName : null;\n return data;\n }\n\n clone(): VehicleDTO {\n const json = this.toJSON();\n let result = new VehicleDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IVehicleDTO {\n vehicleId?: number;\n vehicleUid?: string;\n vin?: string | null;\n name?: string | null;\n make?: string | null;\n model?: string | null;\n year?: number;\n brandName?: string | null;\n}\n\nexport class UpdateUserDTO extends ValidationBaseDTO implements IUpdateUserDTO {\n userId?: string;\n firstName!: string;\n lastName!: string;\n roles?: string[] | null;\n\n constructor(data?: IUpdateUserDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.userId = _data[\"userId\"] !== undefined ? _data[\"userId\"] : null;\n this.firstName = _data[\"firstName\"] !== undefined ? _data[\"firstName\"] : null;\n this.lastName = _data[\"lastName\"] !== undefined ? _data[\"lastName\"] : null;\n if (Array.isArray(_data[\"roles\"])) {\n this.roles = [] as any;\n for (let item of _data[\"roles\"])\n this.roles!.push(item);\n }\n else {\n this.roles = null;\n }\n }\n }\n\n static fromJS(data: any): UpdateUserDTO {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateUserDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId !== undefined ? this.userId : null;\n data[\"firstName\"] = this.firstName !== undefined ? this.firstName : null;\n data[\"lastName\"] = this.lastName !== undefined ? this.lastName : null;\n if (Array.isArray(this.roles)) {\n data[\"roles\"] = [];\n for (let item of this.roles)\n data[\"roles\"].push(item);\n }\n super.toJSON(data);\n return data;\n }\n\n clone(): UpdateUserDTO {\n const json = this.toJSON();\n let result = new UpdateUserDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IUpdateUserDTO extends IValidationBaseDTO {\n userId?: string;\n firstName: string;\n lastName: string;\n roles?: string[] | null;\n}\n\nexport class RoleDTO extends ValidationBaseDTO implements IRoleDTO {\n id?: string | null;\n name!: string;\n isSystemRole?: boolean;\n permissions?: PermissionDTO[] | null;\n\n constructor(data?: IRoleDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.isSystemRole = _data[\"isSystemRole\"] !== undefined ? _data[\"isSystemRole\"] : null;\n if (Array.isArray(_data[\"permissions\"])) {\n this.permissions = [] as any;\n for (let item of _data[\"permissions\"])\n this.permissions!.push(PermissionDTO.fromJS(item));\n }\n else {\n this.permissions = null;\n }\n }\n }\n\n static fromJS(data: any): RoleDTO {\n data = typeof data === 'object' ? data : {};\n let result = new RoleDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"isSystemRole\"] = this.isSystemRole !== undefined ? this.isSystemRole : null;\n if (Array.isArray(this.permissions)) {\n data[\"permissions\"] = [];\n for (let item of this.permissions)\n data[\"permissions\"].push(item.toJSON());\n }\n super.toJSON(data);\n return data;\n }\n\n clone(): RoleDTO {\n const json = this.toJSON();\n let result = new RoleDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IRoleDTO extends IValidationBaseDTO {\n id?: string | null;\n name: string;\n isSystemRole?: boolean;\n permissions?: PermissionDTO[] | null;\n}\n\nexport class PermissionDTO implements IPermissionDTO {\n id?: string;\n name?: string | null;\n description?: string | null;\n\n constructor(data?: IPermissionDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n }\n }\n\n static fromJS(data: any): PermissionDTO {\n data = typeof data === 'object' ? data : {};\n let result = new PermissionDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"description\"] = this.description !== undefined ? this.description : null;\n return data;\n }\n\n clone(): PermissionDTO {\n const json = this.toJSON();\n let result = new PermissionDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IPermissionDTO {\n id?: string;\n name?: string | null;\n description?: string | null;\n}\n\nexport class InvoiceDTO implements IInvoiceDTO {\n invoiceNumber?: string | null;\n salesOrderNumber?: string | null;\n vin?: string | null;\n accountNumber?: string | null;\n date?: moment.Moment;\n dueDate?: moment.Moment;\n currency?: string | null;\n amount?: number;\n referenceNumber?: string | null;\n totalItems?: number;\n totalCharges?: number;\n requisition?: string | null;\n totalDiscount?: number;\n balance?: number;\n paymentTerms?: string | null;\n salesTax?: number;\n deliveryName?: string | null;\n deliveryAddress?: string | null;\n recipientName?: string | null;\n modeOfDelivery?: string | null;\n invoiceLines?: InvoiceLineItemDTO[] | null;\n\n constructor(data?: IInvoiceDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.invoiceNumber = _data[\"invoiceNumber\"] !== undefined ? _data[\"invoiceNumber\"] : null;\n this.salesOrderNumber = _data[\"salesOrderNumber\"] !== undefined ? _data[\"salesOrderNumber\"] : null;\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.accountNumber = _data[\"accountNumber\"] !== undefined ? _data[\"accountNumber\"] : null;\n this.date = _data[\"date\"] ? moment(_data[\"date\"].toString()) : null;\n this.dueDate = _data[\"dueDate\"] ? moment(_data[\"dueDate\"].toString()) : null;\n this.currency = _data[\"currency\"] !== undefined ? _data[\"currency\"] : null;\n this.amount = _data[\"amount\"] !== undefined ? _data[\"amount\"] : null;\n this.referenceNumber = _data[\"referenceNumber\"] !== undefined ? _data[\"referenceNumber\"] : null;\n this.totalItems = _data[\"totalItems\"] !== undefined ? _data[\"totalItems\"] : null;\n this.totalCharges = _data[\"totalCharges\"] !== undefined ? _data[\"totalCharges\"] : null;\n this.requisition = _data[\"requisition\"] !== undefined ? _data[\"requisition\"] : null;\n this.totalDiscount = _data[\"totalDiscount\"] !== undefined ? _data[\"totalDiscount\"] : null;\n this.balance = _data[\"balance\"] !== undefined ? _data[\"balance\"] : null;\n this.paymentTerms = _data[\"paymentTerms\"] !== undefined ? _data[\"paymentTerms\"] : null;\n this.salesTax = _data[\"salesTax\"] !== undefined ? _data[\"salesTax\"] : null;\n this.deliveryName = _data[\"deliveryName\"] !== undefined ? _data[\"deliveryName\"] : null;\n this.deliveryAddress = _data[\"deliveryAddress\"] !== undefined ? _data[\"deliveryAddress\"] : null;\n this.recipientName = _data[\"recipientName\"] !== undefined ? _data[\"recipientName\"] : null;\n this.modeOfDelivery = _data[\"modeOfDelivery\"] !== undefined ? _data[\"modeOfDelivery\"] : null;\n if (Array.isArray(_data[\"invoiceLines\"])) {\n this.invoiceLines = [] as any;\n for (let item of _data[\"invoiceLines\"])\n this.invoiceLines!.push(InvoiceLineItemDTO.fromJS(item));\n }\n else {\n this.invoiceLines = null;\n }\n }\n }\n\n static fromJS(data: any): InvoiceDTO {\n data = typeof data === 'object' ? data : {};\n let result = new InvoiceDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"invoiceNumber\"] = this.invoiceNumber !== undefined ? this.invoiceNumber : null;\n data[\"salesOrderNumber\"] = this.salesOrderNumber !== undefined ? this.salesOrderNumber : null;\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"accountNumber\"] = this.accountNumber !== undefined ? this.accountNumber : null;\n data[\"date\"] = this.date ? this.date.toISOString() : null;\n data[\"dueDate\"] = this.dueDate ? this.dueDate.toISOString() : null;\n data[\"currency\"] = this.currency !== undefined ? this.currency : null;\n data[\"amount\"] = this.amount !== undefined ? this.amount : null;\n data[\"referenceNumber\"] = this.referenceNumber !== undefined ? this.referenceNumber : null;\n data[\"totalItems\"] = this.totalItems !== undefined ? this.totalItems : null;\n data[\"totalCharges\"] = this.totalCharges !== undefined ? this.totalCharges : null;\n data[\"requisition\"] = this.requisition !== undefined ? this.requisition : null;\n data[\"totalDiscount\"] = this.totalDiscount !== undefined ? this.totalDiscount : null;\n data[\"balance\"] = this.balance !== undefined ? this.balance : null;\n data[\"paymentTerms\"] = this.paymentTerms !== undefined ? this.paymentTerms : null;\n data[\"salesTax\"] = this.salesTax !== undefined ? this.salesTax : null;\n data[\"deliveryName\"] = this.deliveryName !== undefined ? this.deliveryName : null;\n data[\"deliveryAddress\"] = this.deliveryAddress !== undefined ? this.deliveryAddress : null;\n data[\"recipientName\"] = this.recipientName !== undefined ? this.recipientName : null;\n data[\"modeOfDelivery\"] = this.modeOfDelivery !== undefined ? this.modeOfDelivery : null;\n if (Array.isArray(this.invoiceLines)) {\n data[\"invoiceLines\"] = [];\n for (let item of this.invoiceLines)\n data[\"invoiceLines\"].push(item.toJSON());\n }\n return data;\n }\n\n clone(): InvoiceDTO {\n const json = this.toJSON();\n let result = new InvoiceDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IInvoiceDTO {\n invoiceNumber?: string | null;\n salesOrderNumber?: string | null;\n vin?: string | null;\n accountNumber?: string | null;\n date?: moment.Moment;\n dueDate?: moment.Moment;\n currency?: string | null;\n amount?: number;\n referenceNumber?: string | null;\n totalItems?: number;\n totalCharges?: number;\n requisition?: string | null;\n totalDiscount?: number;\n balance?: number;\n paymentTerms?: string | null;\n salesTax?: number;\n deliveryName?: string | null;\n deliveryAddress?: string | null;\n recipientName?: string | null;\n modeOfDelivery?: string | null;\n invoiceLines?: InvoiceLineItemDTO[] | null;\n}\n\nexport class InvoiceLineItemDTO implements IInvoiceLineItemDTO {\n salesId?: string | null;\n itemNumber?: string | null;\n itemDescription?: string | null;\n qty?: number;\n unitPrice?: number;\n discountPercent?: number;\n amount?: number;\n\n constructor(data?: IInvoiceLineItemDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.salesId = _data[\"salesId\"] !== undefined ? _data[\"salesId\"] : null;\n this.itemNumber = _data[\"itemNumber\"] !== undefined ? _data[\"itemNumber\"] : null;\n this.itemDescription = _data[\"itemDescription\"] !== undefined ? _data[\"itemDescription\"] : null;\n this.qty = _data[\"qty\"] !== undefined ? _data[\"qty\"] : null;\n this.unitPrice = _data[\"unitPrice\"] !== undefined ? _data[\"unitPrice\"] : null;\n this.discountPercent = _data[\"discountPercent\"] !== undefined ? _data[\"discountPercent\"] : null;\n this.amount = _data[\"amount\"] !== undefined ? _data[\"amount\"] : null;\n }\n }\n\n static fromJS(data: any): InvoiceLineItemDTO {\n data = typeof data === 'object' ? data : {};\n let result = new InvoiceLineItemDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"salesId\"] = this.salesId !== undefined ? this.salesId : null;\n data[\"itemNumber\"] = this.itemNumber !== undefined ? this.itemNumber : null;\n data[\"itemDescription\"] = this.itemDescription !== undefined ? this.itemDescription : null;\n data[\"qty\"] = this.qty !== undefined ? this.qty : null;\n data[\"unitPrice\"] = this.unitPrice !== undefined ? this.unitPrice : null;\n data[\"discountPercent\"] = this.discountPercent !== undefined ? this.discountPercent : null;\n data[\"amount\"] = this.amount !== undefined ? this.amount : null;\n return data;\n }\n\n clone(): InvoiceLineItemDTO {\n const json = this.toJSON();\n let result = new InvoiceLineItemDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IInvoiceLineItemDTO {\n salesId?: string | null;\n itemNumber?: string | null;\n itemDescription?: string | null;\n qty?: number;\n unitPrice?: number;\n discountPercent?: number;\n amount?: number;\n}\n\nexport class InvoiceSearchDTO extends PaginationBaseRequestDTO implements IInvoiceSearchDTO {\n invoiceSearch?: string | null;\n salesOrderSearch?: string | null;\n vin?: string | null;\n showOpenOnly?: boolean | null;\n custAccount?: number;\n\n constructor(data?: IInvoiceSearchDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.invoiceSearch = _data[\"invoiceSearch\"] !== undefined ? _data[\"invoiceSearch\"] : null;\n this.salesOrderSearch = _data[\"salesOrderSearch\"] !== undefined ? _data[\"salesOrderSearch\"] : null;\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.showOpenOnly = _data[\"showOpenOnly\"] !== undefined ? _data[\"showOpenOnly\"] : null;\n this.custAccount = _data[\"custAccount\"] !== undefined ? _data[\"custAccount\"] : null;\n }\n }\n\n static fromJS(data: any): InvoiceSearchDTO {\n data = typeof data === 'object' ? data : {};\n let result = new InvoiceSearchDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"invoiceSearch\"] = this.invoiceSearch !== undefined ? this.invoiceSearch : null;\n data[\"salesOrderSearch\"] = this.salesOrderSearch !== undefined ? this.salesOrderSearch : null;\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"showOpenOnly\"] = this.showOpenOnly !== undefined ? this.showOpenOnly : null;\n data[\"custAccount\"] = this.custAccount !== undefined ? this.custAccount : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): InvoiceSearchDTO {\n const json = this.toJSON();\n let result = new InvoiceSearchDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IInvoiceSearchDTO extends IPaginationBaseRequestDTO {\n invoiceSearch?: string | null;\n salesOrderSearch?: string | null;\n vin?: string | null;\n showOpenOnly?: boolean | null;\n custAccount?: number;\n}\n\nexport class InvoiceStatementDTO implements IInvoiceStatementDTO {\n aged120?: number;\n aged120Plus?: number;\n aged30?: number;\n aged60?: number;\n aged90?: number;\n current?: number;\n totalBalance?: number;\n\n constructor(data?: IInvoiceStatementDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.aged120 = _data[\"aged120\"] !== undefined ? _data[\"aged120\"] : null;\n this.aged120Plus = _data[\"aged120Plus\"] !== undefined ? _data[\"aged120Plus\"] : null;\n this.aged30 = _data[\"aged30\"] !== undefined ? _data[\"aged30\"] : null;\n this.aged60 = _data[\"aged60\"] !== undefined ? _data[\"aged60\"] : null;\n this.aged90 = _data[\"aged90\"] !== undefined ? _data[\"aged90\"] : null;\n this.current = _data[\"current\"] !== undefined ? _data[\"current\"] : null;\n this.totalBalance = _data[\"totalBalance\"] !== undefined ? _data[\"totalBalance\"] : null;\n }\n }\n\n static fromJS(data: any): InvoiceStatementDTO {\n data = typeof data === 'object' ? data : {};\n let result = new InvoiceStatementDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"aged120\"] = this.aged120 !== undefined ? this.aged120 : null;\n data[\"aged120Plus\"] = this.aged120Plus !== undefined ? this.aged120Plus : null;\n data[\"aged30\"] = this.aged30 !== undefined ? this.aged30 : null;\n data[\"aged60\"] = this.aged60 !== undefined ? this.aged60 : null;\n data[\"aged90\"] = this.aged90 !== undefined ? this.aged90 : null;\n data[\"current\"] = this.current !== undefined ? this.current : null;\n data[\"totalBalance\"] = this.totalBalance !== undefined ? this.totalBalance : null;\n return data;\n }\n\n clone(): InvoiceStatementDTO {\n const json = this.toJSON();\n let result = new InvoiceStatementDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IInvoiceStatementDTO {\n aged120?: number;\n aged120Plus?: number;\n aged30?: number;\n aged60?: number;\n aged90?: number;\n current?: number;\n totalBalance?: number;\n}\n\nexport class SpiffTypeDTO implements ISpiffTypeDTO {\n label?: string | null;\n value?: number;\n\n constructor(data?: ISpiffTypeDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.label = _data[\"label\"] !== undefined ? _data[\"label\"] : null;\n this.value = _data[\"value\"] !== undefined ? _data[\"value\"] : null;\n }\n }\n\n static fromJS(data: any): SpiffTypeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new SpiffTypeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"label\"] = this.label !== undefined ? this.label : null;\n data[\"value\"] = this.value !== undefined ? this.value : null;\n return data;\n }\n\n clone(): SpiffTypeDTO {\n const json = this.toJSON();\n let result = new SpiffTypeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ISpiffTypeDTO {\n label?: string | null;\n value?: number;\n}\n\nexport class BrandDTO implements IBrandDTO {\n brandId?: string | null;\n name?: string | null;\n company?: string | null;\n supportEmail?: string | null;\n\n constructor(data?: IBrandDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.brandId = _data[\"brandId\"] !== undefined ? _data[\"brandId\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.company = _data[\"company\"] !== undefined ? _data[\"company\"] : null;\n this.supportEmail = _data[\"supportEmail\"] !== undefined ? _data[\"supportEmail\"] : null;\n }\n }\n\n static fromJS(data: any): BrandDTO {\n data = typeof data === 'object' ? data : {};\n let result = new BrandDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"brandId\"] = this.brandId !== undefined ? this.brandId : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"company\"] = this.company !== undefined ? this.company : null;\n data[\"supportEmail\"] = this.supportEmail !== undefined ? this.supportEmail : null;\n return data;\n }\n\n clone(): BrandDTO {\n const json = this.toJSON();\n let result = new BrandDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IBrandDTO {\n brandId?: string | null;\n name?: string | null;\n company?: string | null;\n supportEmail?: string | null;\n}\n\nexport class CatalogBrandDTO extends BrandDTO implements ICatalogBrandDTO {\n\n constructor(data?: ICatalogBrandDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): CatalogBrandDTO {\n data = typeof data === 'object' ? data : {};\n let result = new CatalogBrandDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n\n clone(): CatalogBrandDTO {\n const json = this.toJSON();\n let result = new CatalogBrandDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICatalogBrandDTO extends IBrandDTO {\n}\n\nexport class DeliveryModeDTO implements IDeliveryModeDTO {\n id?: string | null;\n description?: string | null;\n\n constructor(data?: IDeliveryModeDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n }\n }\n\n static fromJS(data: any): DeliveryModeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DeliveryModeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"description\"] = this.description !== undefined ? this.description : null;\n return data;\n }\n\n clone(): DeliveryModeDTO {\n const json = this.toJSON();\n let result = new DeliveryModeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDeliveryModeDTO {\n id?: string | null;\n description?: string | null;\n}\n\nexport class ChecklistTypeDTO implements IChecklistTypeDTO {\n id?: number;\n name?: string | null;\n sortOrder?: number;\n\n constructor(data?: IChecklistTypeDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.sortOrder = _data[\"sortOrder\"] !== undefined ? _data[\"sortOrder\"] : null;\n }\n }\n\n static fromJS(data: any): ChecklistTypeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ChecklistTypeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"sortOrder\"] = this.sortOrder !== undefined ? this.sortOrder : null;\n return data;\n }\n\n clone(): ChecklistTypeDTO {\n const json = this.toJSON();\n let result = new ChecklistTypeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IChecklistTypeDTO {\n id?: number;\n name?: string | null;\n sortOrder?: number;\n}\n\nexport class CompanyTypeDTO implements ICompanyTypeDTO {\n id?: number;\n name?: string | null;\n sortOrder?: number;\n companyType?: CompanyTypes;\n companyAbbreviation?: string | null;\n webPortalBaseUrl?: string | null;\n fromEmailName?: string | null;\n fromEmailAddress?: string | null;\n appName?: string | null;\n supportEmailAddress?: string | null;\n partsEmailAddress?: string | null;\n serviceEmailAddress?: string | null;\n supportPhoneNumber?: string | null;\n logoPath?: string | null;\n companyAddress?: string | null;\n\n constructor(data?: ICompanyTypeDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.sortOrder = _data[\"sortOrder\"] !== undefined ? _data[\"sortOrder\"] : null;\n this.companyType = _data[\"companyType\"] !== undefined ? _data[\"companyType\"] : null;\n this.companyAbbreviation = _data[\"companyAbbreviation\"] !== undefined ? _data[\"companyAbbreviation\"] : null;\n this.webPortalBaseUrl = _data[\"webPortalBaseUrl\"] !== undefined ? _data[\"webPortalBaseUrl\"] : null;\n this.fromEmailName = _data[\"fromEmailName\"] !== undefined ? _data[\"fromEmailName\"] : null;\n this.fromEmailAddress = _data[\"fromEmailAddress\"] !== undefined ? _data[\"fromEmailAddress\"] : null;\n this.appName = _data[\"appName\"] !== undefined ? _data[\"appName\"] : null;\n this.supportEmailAddress = _data[\"supportEmailAddress\"] !== undefined ? _data[\"supportEmailAddress\"] : null;\n this.partsEmailAddress = _data[\"partsEmailAddress\"] !== undefined ? _data[\"partsEmailAddress\"] : null;\n this.serviceEmailAddress = _data[\"serviceEmailAddress\"] !== undefined ? _data[\"serviceEmailAddress\"] : null;\n this.supportPhoneNumber = _data[\"supportPhoneNumber\"] !== undefined ? _data[\"supportPhoneNumber\"] : null;\n this.logoPath = _data[\"logoPath\"] !== undefined ? _data[\"logoPath\"] : null;\n this.companyAddress = _data[\"companyAddress\"] !== undefined ? _data[\"companyAddress\"] : null;\n }\n }\n\n static fromJS(data: any): CompanyTypeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new CompanyTypeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"sortOrder\"] = this.sortOrder !== undefined ? this.sortOrder : null;\n data[\"companyType\"] = this.companyType !== undefined ? this.companyType : null;\n data[\"companyAbbreviation\"] = this.companyAbbreviation !== undefined ? this.companyAbbreviation : null;\n data[\"webPortalBaseUrl\"] = this.webPortalBaseUrl !== undefined ? this.webPortalBaseUrl : null;\n data[\"fromEmailName\"] = this.fromEmailName !== undefined ? this.fromEmailName : null;\n data[\"fromEmailAddress\"] = this.fromEmailAddress !== undefined ? this.fromEmailAddress : null;\n data[\"appName\"] = this.appName !== undefined ? this.appName : null;\n data[\"supportEmailAddress\"] = this.supportEmailAddress !== undefined ? this.supportEmailAddress : null;\n data[\"partsEmailAddress\"] = this.partsEmailAddress !== undefined ? this.partsEmailAddress : null;\n data[\"serviceEmailAddress\"] = this.serviceEmailAddress !== undefined ? this.serviceEmailAddress : null;\n data[\"supportPhoneNumber\"] = this.supportPhoneNumber !== undefined ? this.supportPhoneNumber : null;\n data[\"logoPath\"] = this.logoPath !== undefined ? this.logoPath : null;\n data[\"companyAddress\"] = this.companyAddress !== undefined ? this.companyAddress : null;\n return data;\n }\n\n clone(): CompanyTypeDTO {\n const json = this.toJSON();\n let result = new CompanyTypeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICompanyTypeDTO {\n id?: number;\n name?: string | null;\n sortOrder?: number;\n companyType?: CompanyTypes;\n companyAbbreviation?: string | null;\n webPortalBaseUrl?: string | null;\n fromEmailName?: string | null;\n fromEmailAddress?: string | null;\n appName?: string | null;\n supportEmailAddress?: string | null;\n partsEmailAddress?: string | null;\n serviceEmailAddress?: string | null;\n supportPhoneNumber?: string | null;\n logoPath?: string | null;\n companyAddress?: string | null;\n}\n\nexport class LookupTypeDTO implements ILookupTypeDTO {\n id?: number;\n uid?: string | null;\n name?: string | null;\n description?: string | null;\n sortOrder?: number;\n\n constructor(data?: ILookupTypeDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.uid = _data[\"uid\"] !== undefined ? _data[\"uid\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n this.sortOrder = _data[\"sortOrder\"] !== undefined ? _data[\"sortOrder\"] : null;\n }\n }\n\n static fromJS(data: any): LookupTypeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new LookupTypeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"uid\"] = this.uid !== undefined ? this.uid : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"description\"] = this.description !== undefined ? this.description : null;\n data[\"sortOrder\"] = this.sortOrder !== undefined ? this.sortOrder : null;\n return data;\n }\n\n clone(): LookupTypeDTO {\n const json = this.toJSON();\n let result = new LookupTypeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ILookupTypeDTO {\n id?: number;\n uid?: string | null;\n name?: string | null;\n description?: string | null;\n sortOrder?: number;\n}\n\nexport class CountryLookupDTO extends LookupTypeDTO implements ICountryLookupDTO {\n code?: string | null;\n\n constructor(data?: ICountryLookupDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.code = _data[\"code\"] !== undefined ? _data[\"code\"] : null;\n }\n }\n\n static fromJS(data: any): CountryLookupDTO {\n data = typeof data === 'object' ? data : {};\n let result = new CountryLookupDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"code\"] = this.code !== undefined ? this.code : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): CountryLookupDTO {\n const json = this.toJSON();\n let result = new CountryLookupDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICountryLookupDTO extends ILookupTypeDTO {\n code?: string | null;\n}\n\nexport class DocumentTypeDTO extends LookupTypeDTO implements IDocumentTypeDTO {\n portalType?: PortalTypes;\n\n constructor(data?: IDocumentTypeDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.portalType = _data[\"portalType\"] !== undefined ? _data[\"portalType\"] : null;\n }\n }\n\n static fromJS(data: any): DocumentTypeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DocumentTypeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"portalType\"] = this.portalType !== undefined ? this.portalType : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): DocumentTypeDTO {\n const json = this.toJSON();\n let result = new DocumentTypeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDocumentTypeDTO extends ILookupTypeDTO {\n portalType?: PortalTypes;\n}\n\nexport enum PortalTypes {\n Unknown = 0,\n Consumer = 1,\n Dealer = 2,\n}\n\nexport class StateLookupDTO extends LookupTypeDTO implements IStateLookupDTO {\n code?: string | null;\n countryId?: number;\n\n constructor(data?: IStateLookupDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.code = _data[\"code\"] !== undefined ? _data[\"code\"] : null;\n this.countryId = _data[\"countryId\"] !== undefined ? _data[\"countryId\"] : null;\n }\n }\n\n static fromJS(data: any): StateLookupDTO {\n data = typeof data === 'object' ? data : {};\n let result = new StateLookupDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"code\"] = this.code !== undefined ? this.code : null;\n data[\"countryId\"] = this.countryId !== undefined ? this.countryId : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): StateLookupDTO {\n const json = this.toJSON();\n let result = new StateLookupDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IStateLookupDTO extends ILookupTypeDTO {\n code?: string | null;\n countryId?: number;\n}\n\nexport class SettingDTO implements ISettingDTO {\n googleMapsApiKey?: string | null;\n allowedFileUploadExtensions?: string | null;\n maxFileUploadSizeInMegaBytes?: number;\n maxAdditionalConsumerUsers?: number;\n fullAccessCountryCodes?: string | null;\n companyAddress?: string | null;\n mondayThruThursdaySupportHours?: string | null;\n fridaySupportHours?: string | null;\n\n constructor(data?: ISettingDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.googleMapsApiKey = _data[\"googleMapsApiKey\"] !== undefined ? _data[\"googleMapsApiKey\"] : null;\n this.allowedFileUploadExtensions = _data[\"allowedFileUploadExtensions\"] !== undefined ? _data[\"allowedFileUploadExtensions\"] : null;\n this.maxFileUploadSizeInMegaBytes = _data[\"maxFileUploadSizeInMegaBytes\"] !== undefined ? _data[\"maxFileUploadSizeInMegaBytes\"] : null;\n this.maxAdditionalConsumerUsers = _data[\"maxAdditionalConsumerUsers\"] !== undefined ? _data[\"maxAdditionalConsumerUsers\"] : null;\n this.fullAccessCountryCodes = _data[\"fullAccessCountryCodes\"] !== undefined ? _data[\"fullAccessCountryCodes\"] : null;\n this.companyAddress = _data[\"companyAddress\"] !== undefined ? _data[\"companyAddress\"] : null;\n this.mondayThruThursdaySupportHours = _data[\"mondayThruThursdaySupportHours\"] !== undefined ? _data[\"mondayThruThursdaySupportHours\"] : null;\n this.fridaySupportHours = _data[\"fridaySupportHours\"] !== undefined ? _data[\"fridaySupportHours\"] : null;\n }\n }\n\n static fromJS(data: any): SettingDTO {\n data = typeof data === 'object' ? data : {};\n let result = new SettingDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"googleMapsApiKey\"] = this.googleMapsApiKey !== undefined ? this.googleMapsApiKey : null;\n data[\"allowedFileUploadExtensions\"] = this.allowedFileUploadExtensions !== undefined ? this.allowedFileUploadExtensions : null;\n data[\"maxFileUploadSizeInMegaBytes\"] = this.maxFileUploadSizeInMegaBytes !== undefined ? this.maxFileUploadSizeInMegaBytes : null;\n data[\"maxAdditionalConsumerUsers\"] = this.maxAdditionalConsumerUsers !== undefined ? this.maxAdditionalConsumerUsers : null;\n data[\"fullAccessCountryCodes\"] = this.fullAccessCountryCodes !== undefined ? this.fullAccessCountryCodes : null;\n data[\"companyAddress\"] = this.companyAddress !== undefined ? this.companyAddress : null;\n data[\"mondayThruThursdaySupportHours\"] = this.mondayThruThursdaySupportHours !== undefined ? this.mondayThruThursdaySupportHours : null;\n data[\"fridaySupportHours\"] = this.fridaySupportHours !== undefined ? this.fridaySupportHours : null;\n return data;\n }\n\n clone(): SettingDTO {\n const json = this.toJSON();\n let result = new SettingDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ISettingDTO {\n googleMapsApiKey?: string | null;\n allowedFileUploadExtensions?: string | null;\n maxFileUploadSizeInMegaBytes?: number;\n maxAdditionalConsumerUsers?: number;\n fullAccessCountryCodes?: string | null;\n companyAddress?: string | null;\n mondayThruThursdaySupportHours?: string | null;\n fridaySupportHours?: string | null;\n}\n\nexport class DealerSettingDTO implements IDealerSettingDTO {\n allowedFileUploadExtensions?: string | null;\n maxFileUploadSizeInMegaBytes?: number;\n dealerStoreURL?: string | null;\n hrvRegistrationsEmail?: string | null;\n dcrvRegistrationsEmail?: string | null;\n\n constructor(data?: IDealerSettingDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.allowedFileUploadExtensions = _data[\"allowedFileUploadExtensions\"] !== undefined ? _data[\"allowedFileUploadExtensions\"] : null;\n this.maxFileUploadSizeInMegaBytes = _data[\"maxFileUploadSizeInMegaBytes\"] !== undefined ? _data[\"maxFileUploadSizeInMegaBytes\"] : null;\n this.dealerStoreURL = _data[\"dealerStoreURL\"] !== undefined ? _data[\"dealerStoreURL\"] : null;\n this.hrvRegistrationsEmail = _data[\"hrvRegistrationsEmail\"] !== undefined ? _data[\"hrvRegistrationsEmail\"] : null;\n this.dcrvRegistrationsEmail = _data[\"dcrvRegistrationsEmail\"] !== undefined ? _data[\"dcrvRegistrationsEmail\"] : null;\n }\n }\n\n static fromJS(data: any): DealerSettingDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerSettingDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"allowedFileUploadExtensions\"] = this.allowedFileUploadExtensions !== undefined ? this.allowedFileUploadExtensions : null;\n data[\"maxFileUploadSizeInMegaBytes\"] = this.maxFileUploadSizeInMegaBytes !== undefined ? this.maxFileUploadSizeInMegaBytes : null;\n data[\"dealerStoreURL\"] = this.dealerStoreURL !== undefined ? this.dealerStoreURL : null;\n data[\"hrvRegistrationsEmail\"] = this.hrvRegistrationsEmail !== undefined ? this.hrvRegistrationsEmail : null;\n data[\"dcrvRegistrationsEmail\"] = this.dcrvRegistrationsEmail !== undefined ? this.dcrvRegistrationsEmail : null;\n return data;\n }\n\n clone(): DealerSettingDTO {\n const json = this.toJSON();\n let result = new DealerSettingDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerSettingDTO {\n allowedFileUploadExtensions?: string | null;\n maxFileUploadSizeInMegaBytes?: number;\n dealerStoreURL?: string | null;\n hrvRegistrationsEmail?: string | null;\n dcrvRegistrationsEmail?: string | null;\n}\n\nexport class TermsAndConditionDTO implements ITermsAndConditionDTO {\n id?: number;\n uid?: string;\n version?: string | null;\n name?: string | null;\n content?: string | null;\n isActiveVersion?: boolean;\n isHtml?: boolean;\n companyType?: CompanyTypes;\n\n constructor(data?: ITermsAndConditionDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.uid = _data[\"uid\"] !== undefined ? _data[\"uid\"] : null;\n this.version = _data[\"version\"] !== undefined ? _data[\"version\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.content = _data[\"content\"] !== undefined ? _data[\"content\"] : null;\n this.isActiveVersion = _data[\"isActiveVersion\"] !== undefined ? _data[\"isActiveVersion\"] : null;\n this.isHtml = _data[\"isHtml\"] !== undefined ? _data[\"isHtml\"] : null;\n this.companyType = _data[\"companyType\"] !== undefined ? _data[\"companyType\"] : null;\n }\n }\n\n static fromJS(data: any): TermsAndConditionDTO {\n data = typeof data === 'object' ? data : {};\n let result = new TermsAndConditionDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"uid\"] = this.uid !== undefined ? this.uid : null;\n data[\"version\"] = this.version !== undefined ? this.version : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"content\"] = this.content !== undefined ? this.content : null;\n data[\"isActiveVersion\"] = this.isActiveVersion !== undefined ? this.isActiveVersion : null;\n data[\"isHtml\"] = this.isHtml !== undefined ? this.isHtml : null;\n data[\"companyType\"] = this.companyType !== undefined ? this.companyType : null;\n return data;\n }\n\n clone(): TermsAndConditionDTO {\n const json = this.toJSON();\n let result = new TermsAndConditionDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ITermsAndConditionDTO {\n id?: number;\n uid?: string;\n version?: string | null;\n name?: string | null;\n content?: string | null;\n isActiveVersion?: boolean;\n isHtml?: boolean;\n companyType?: CompanyTypes;\n}\n\nexport class PostalCodeInfoDTO implements IPostalCodeInfoDTO {\n city?: string | null;\n country?: string | null;\n state?: string | null;\n postalCode?: string | null;\n\n constructor(data?: IPostalCodeInfoDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.city = _data[\"city\"] !== undefined ? _data[\"city\"] : null;\n this.country = _data[\"country\"] !== undefined ? _data[\"country\"] : null;\n this.state = _data[\"state\"] !== undefined ? _data[\"state\"] : null;\n this.postalCode = _data[\"postalCode\"] !== undefined ? _data[\"postalCode\"] : null;\n }\n }\n\n static fromJS(data: any): PostalCodeInfoDTO {\n data = typeof data === 'object' ? data : {};\n let result = new PostalCodeInfoDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"city\"] = this.city !== undefined ? this.city : null;\n data[\"country\"] = this.country !== undefined ? this.country : null;\n data[\"state\"] = this.state !== undefined ? this.state : null;\n data[\"postalCode\"] = this.postalCode !== undefined ? this.postalCode : null;\n return data;\n }\n\n clone(): PostalCodeInfoDTO {\n const json = this.toJSON();\n let result = new PostalCodeInfoDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IPostalCodeInfoDTO {\n city?: string | null;\n country?: string | null;\n state?: string | null;\n postalCode?: string | null;\n}\n\nexport class DynamicsCountryDTO implements IDynamicsCountryDTO {\n id?: string | null;\n isoCode?: string | null;\n name?: string | null;\n\n constructor(data?: IDynamicsCountryDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.isoCode = _data[\"isoCode\"] !== undefined ? _data[\"isoCode\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n }\n }\n\n static fromJS(data: any): DynamicsCountryDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DynamicsCountryDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"isoCode\"] = this.isoCode !== undefined ? this.isoCode : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n return data;\n }\n\n clone(): DynamicsCountryDTO {\n const json = this.toJSON();\n let result = new DynamicsCountryDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDynamicsCountryDTO {\n id?: string | null;\n isoCode?: string | null;\n name?: string | null;\n}\n\nexport class ClaimStatusTypeDTO extends LookupTypeDTO implements IClaimStatusTypeDTO {\n\n constructor(data?: IClaimStatusTypeDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): ClaimStatusTypeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ClaimStatusTypeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n\n clone(): ClaimStatusTypeDTO {\n const json = this.toJSON();\n let result = new ClaimStatusTypeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IClaimStatusTypeDTO extends ILookupTypeDTO {\n}\n\nexport class WarrantyClassCodeDTO implements IWarrantyClassCodeDTO {\n description?: string | null;\n parentCode?: string | null;\n classCode?: string | null;\n remedyCodes?: WarrantyRemedyCodeDTO[] | null;\n\n constructor(data?: IWarrantyClassCodeDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n this.parentCode = _data[\"parentCode\"] !== undefined ? _data[\"parentCode\"] : null;\n this.classCode = _data[\"classCode\"] !== undefined ? _data[\"classCode\"] : null;\n if (Array.isArray(_data[\"remedyCodes\"])) {\n this.remedyCodes = [] as any;\n for (let item of _data[\"remedyCodes\"])\n this.remedyCodes!.push(WarrantyRemedyCodeDTO.fromJS(item));\n }\n else {\n this.remedyCodes = null;\n }\n }\n }\n\n static fromJS(data: any): WarrantyClassCodeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new WarrantyClassCodeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"description\"] = this.description !== undefined ? this.description : null;\n data[\"parentCode\"] = this.parentCode !== undefined ? this.parentCode : null;\n data[\"classCode\"] = this.classCode !== undefined ? this.classCode : null;\n if (Array.isArray(this.remedyCodes)) {\n data[\"remedyCodes\"] = [];\n for (let item of this.remedyCodes)\n data[\"remedyCodes\"].push(item.toJSON());\n }\n return data;\n }\n\n clone(): WarrantyClassCodeDTO {\n const json = this.toJSON();\n let result = new WarrantyClassCodeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IWarrantyClassCodeDTO {\n description?: string | null;\n parentCode?: string | null;\n classCode?: string | null;\n remedyCodes?: WarrantyRemedyCodeDTO[] | null;\n}\n\nexport class WarrantyFailureCodeDTO implements IWarrantyFailureCodeDTO {\n description?: string | null;\n failureCode?: string | null;\n\n constructor(data?: IWarrantyFailureCodeDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n this.failureCode = _data[\"failureCode\"] !== undefined ? _data[\"failureCode\"] : null;\n }\n }\n\n static fromJS(data: any): WarrantyFailureCodeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new WarrantyFailureCodeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"description\"] = this.description !== undefined ? this.description : null;\n data[\"failureCode\"] = this.failureCode !== undefined ? this.failureCode : null;\n return data;\n }\n\n clone(): WarrantyFailureCodeDTO {\n const json = this.toJSON();\n let result = new WarrantyFailureCodeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IWarrantyFailureCodeDTO {\n description?: string | null;\n failureCode?: string | null;\n}\n\nexport class WarrantyMiscChargeCodeDTO implements IWarrantyMiscChargeCodeDTO {\n description?: string | null;\n limitAmount?: number;\n miscChargeCode?: string | null;\n\n constructor(data?: IWarrantyMiscChargeCodeDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n this.limitAmount = _data[\"limitAmount\"] !== undefined ? _data[\"limitAmount\"] : null;\n this.miscChargeCode = _data[\"miscChargeCode\"] !== undefined ? _data[\"miscChargeCode\"] : null;\n }\n }\n\n static fromJS(data: any): WarrantyMiscChargeCodeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new WarrantyMiscChargeCodeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"description\"] = this.description !== undefined ? this.description : null;\n data[\"limitAmount\"] = this.limitAmount !== undefined ? this.limitAmount : null;\n data[\"miscChargeCode\"] = this.miscChargeCode !== undefined ? this.miscChargeCode : null;\n return data;\n }\n\n clone(): WarrantyMiscChargeCodeDTO {\n const json = this.toJSON();\n let result = new WarrantyMiscChargeCodeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IWarrantyMiscChargeCodeDTO {\n description?: string | null;\n limitAmount?: number;\n miscChargeCode?: string | null;\n}\n\nexport class NotificationRegistrationDTO extends ValidationBaseDTO implements INotificationRegistrationDTO {\n userId?: string;\n pushToken?: string | null;\n firebaseToken?: string | null;\n devicePlatformType?: DevicePlatformTypes;\n companyType?: CompanyTypes;\n\n constructor(data?: INotificationRegistrationDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.userId = _data[\"userId\"] !== undefined ? _data[\"userId\"] : null;\n this.pushToken = _data[\"pushToken\"] !== undefined ? _data[\"pushToken\"] : null;\n this.firebaseToken = _data[\"firebaseToken\"] !== undefined ? _data[\"firebaseToken\"] : null;\n this.devicePlatformType = _data[\"devicePlatformType\"] !== undefined ? _data[\"devicePlatformType\"] : null;\n this.companyType = _data[\"companyType\"] !== undefined ? _data[\"companyType\"] : null;\n }\n }\n\n static fromJS(data: any): NotificationRegistrationDTO {\n data = typeof data === 'object' ? data : {};\n let result = new NotificationRegistrationDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId !== undefined ? this.userId : null;\n data[\"pushToken\"] = this.pushToken !== undefined ? this.pushToken : null;\n data[\"firebaseToken\"] = this.firebaseToken !== undefined ? this.firebaseToken : null;\n data[\"devicePlatformType\"] = this.devicePlatformType !== undefined ? this.devicePlatformType : null;\n data[\"companyType\"] = this.companyType !== undefined ? this.companyType : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): NotificationRegistrationDTO {\n const json = this.toJSON();\n let result = new NotificationRegistrationDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface INotificationRegistrationDTO extends IValidationBaseDTO {\n userId?: string;\n pushToken?: string | null;\n firebaseToken?: string | null;\n devicePlatformType?: DevicePlatformTypes;\n companyType?: CompanyTypes;\n}\n\nexport enum DevicePlatformTypes {\n Unknown = 0,\n Android = 1,\n Ios = 2,\n Web = 3,\n}\n\nexport class NotificationDTO extends ValidationBaseDTO implements INotificationDTO {\n title!: string;\n body!: string;\n companyType!: CompanyTypes;\n notificationType!: NotificationTypes;\n vehicleId?: number | null;\n viNs?: string[] | null;\n brandIds?: string[] | null;\n\n constructor(data?: INotificationDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.title = _data[\"title\"] !== undefined ? _data[\"title\"] : null;\n this.body = _data[\"body\"] !== undefined ? _data[\"body\"] : null;\n this.companyType = _data[\"companyType\"] !== undefined ? _data[\"companyType\"] : null;\n this.notificationType = _data[\"notificationType\"] !== undefined ? _data[\"notificationType\"] : null;\n this.vehicleId = _data[\"vehicleId\"] !== undefined ? _data[\"vehicleId\"] : null;\n if (Array.isArray(_data[\"viNs\"])) {\n this.viNs = [] as any;\n for (let item of _data[\"viNs\"])\n this.viNs!.push(item);\n }\n else {\n this.viNs = null;\n }\n if (Array.isArray(_data[\"brandIds\"])) {\n this.brandIds = [] as any;\n for (let item of _data[\"brandIds\"])\n this.brandIds!.push(item);\n }\n else {\n this.brandIds = null;\n }\n }\n }\n\n static fromJS(data: any): NotificationDTO {\n data = typeof data === 'object' ? data : {};\n let result = new NotificationDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"title\"] = this.title !== undefined ? this.title : null;\n data[\"body\"] = this.body !== undefined ? this.body : null;\n data[\"companyType\"] = this.companyType !== undefined ? this.companyType : null;\n data[\"notificationType\"] = this.notificationType !== undefined ? this.notificationType : null;\n data[\"vehicleId\"] = this.vehicleId !== undefined ? this.vehicleId : null;\n if (Array.isArray(this.viNs)) {\n data[\"viNs\"] = [];\n for (let item of this.viNs)\n data[\"viNs\"].push(item);\n }\n if (Array.isArray(this.brandIds)) {\n data[\"brandIds\"] = [];\n for (let item of this.brandIds)\n data[\"brandIds\"].push(item);\n }\n super.toJSON(data);\n return data;\n }\n\n clone(): NotificationDTO {\n const json = this.toJSON();\n let result = new NotificationDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface INotificationDTO extends IValidationBaseDTO {\n title: string;\n body: string;\n companyType: CompanyTypes;\n notificationType: NotificationTypes;\n vehicleId?: number | null;\n viNs?: string[] | null;\n brandIds?: string[] | null;\n}\n\nexport enum NotificationTypes {\n Unknown = 0,\n MaintenanceThreeMonth = 1,\n MaintenanceSixMonth = 2,\n Recall = 3,\n TechnicalServiceBulletin = 4,\n InformationalVideo = 5,\n NewsMaterial = 6,\n Custom = 7,\n VehicleRegistrationStatus = 8,\n}\n\nexport class UserNotificationDTO extends ValidationBaseDTO implements IUserNotificationDTO {\n userNotificationUid?: string;\n notificationType?: NotificationTypes;\n title?: string | null;\n content?: string | null;\n isRead?: boolean;\n sentDateTime?: moment.Moment;\n companyType?: CompanyTypes;\n\n constructor(data?: IUserNotificationDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.userNotificationUid = _data[\"userNotificationUid\"] !== undefined ? _data[\"userNotificationUid\"] : null;\n this.notificationType = _data[\"notificationType\"] !== undefined ? _data[\"notificationType\"] : null;\n this.title = _data[\"title\"] !== undefined ? _data[\"title\"] : null;\n this.content = _data[\"content\"] !== undefined ? _data[\"content\"] : null;\n this.isRead = _data[\"isRead\"] !== undefined ? _data[\"isRead\"] : null;\n this.sentDateTime = _data[\"sentDateTime\"] ? moment(_data[\"sentDateTime\"].toString()) : null;\n this.companyType = _data[\"companyType\"] !== undefined ? _data[\"companyType\"] : null;\n }\n }\n\n static fromJS(data: any): UserNotificationDTO {\n data = typeof data === 'object' ? data : {};\n let result = new UserNotificationDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userNotificationUid\"] = this.userNotificationUid !== undefined ? this.userNotificationUid : null;\n data[\"notificationType\"] = this.notificationType !== undefined ? this.notificationType : null;\n data[\"title\"] = this.title !== undefined ? this.title : null;\n data[\"content\"] = this.content !== undefined ? this.content : null;\n data[\"isRead\"] = this.isRead !== undefined ? this.isRead : null;\n data[\"sentDateTime\"] = this.sentDateTime ? this.sentDateTime.toISOString() : null;\n data[\"companyType\"] = this.companyType !== undefined ? this.companyType : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): UserNotificationDTO {\n const json = this.toJSON();\n let result = new UserNotificationDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IUserNotificationDTO extends IValidationBaseDTO {\n userNotificationUid?: string;\n notificationType?: NotificationTypes;\n title?: string | null;\n content?: string | null;\n isRead?: boolean;\n sentDateTime?: moment.Moment;\n companyType?: CompanyTypes;\n}\n\nexport class ProductItemDTO implements IProductItemDTO {\n itemNumber?: string | null;\n productName?: string | null;\n salesPrice?: number;\n onHandQuantity?: number;\n warrantyClassCode?: string | null;\n imageBase64?: string | null;\n totalItems?: number;\n brand?: string | null;\n year?: number;\n category?: string | null;\n unitOfMeasure?: string | null;\n currency?: string | null;\n additionalInfoRequired?: boolean;\n hasSubcomponents?: boolean;\n hasAlternateItem?: boolean;\n additionalSalesPrices?: SalesPriceInfoDTO[] | null;\n externalIds?: string[] | null;\n\n constructor(data?: IProductItemDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.itemNumber = _data[\"itemNumber\"] !== undefined ? _data[\"itemNumber\"] : null;\n this.productName = _data[\"productName\"] !== undefined ? _data[\"productName\"] : null;\n this.salesPrice = _data[\"salesPrice\"] !== undefined ? _data[\"salesPrice\"] : null;\n this.onHandQuantity = _data[\"onHandQuantity\"] !== undefined ? _data[\"onHandQuantity\"] : null;\n this.warrantyClassCode = _data[\"warrantyClassCode\"] !== undefined ? _data[\"warrantyClassCode\"] : null;\n this.imageBase64 = _data[\"imageBase64\"] !== undefined ? _data[\"imageBase64\"] : null;\n this.totalItems = _data[\"totalItems\"] !== undefined ? _data[\"totalItems\"] : null;\n this.brand = _data[\"brand\"] !== undefined ? _data[\"brand\"] : null;\n this.year = _data[\"year\"] !== undefined ? _data[\"year\"] : null;\n this.category = _data[\"category\"] !== undefined ? _data[\"category\"] : null;\n this.unitOfMeasure = _data[\"unitOfMeasure\"] !== undefined ? _data[\"unitOfMeasure\"] : null;\n this.currency = _data[\"currency\"] !== undefined ? _data[\"currency\"] : null;\n this.additionalInfoRequired = _data[\"additionalInfoRequired\"] !== undefined ? _data[\"additionalInfoRequired\"] : null;\n this.hasSubcomponents = _data[\"hasSubcomponents\"] !== undefined ? _data[\"hasSubcomponents\"] : null;\n this.hasAlternateItem = _data[\"hasAlternateItem\"] !== undefined ? _data[\"hasAlternateItem\"] : null;\n if (Array.isArray(_data[\"additionalSalesPrices\"])) {\n this.additionalSalesPrices = [] as any;\n for (let item of _data[\"additionalSalesPrices\"])\n this.additionalSalesPrices!.push(SalesPriceInfoDTO.fromJS(item));\n }\n else {\n this.additionalSalesPrices = null;\n }\n if (Array.isArray(_data[\"externalIds\"])) {\n this.externalIds = [] as any;\n for (let item of _data[\"externalIds\"])\n this.externalIds!.push(item);\n }\n else {\n this.externalIds = null;\n }\n }\n }\n\n static fromJS(data: any): ProductItemDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ProductItemDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"itemNumber\"] = this.itemNumber !== undefined ? this.itemNumber : null;\n data[\"productName\"] = this.productName !== undefined ? this.productName : null;\n data[\"salesPrice\"] = this.salesPrice !== undefined ? this.salesPrice : null;\n data[\"onHandQuantity\"] = this.onHandQuantity !== undefined ? this.onHandQuantity : null;\n data[\"warrantyClassCode\"] = this.warrantyClassCode !== undefined ? this.warrantyClassCode : null;\n data[\"imageBase64\"] = this.imageBase64 !== undefined ? this.imageBase64 : null;\n data[\"totalItems\"] = this.totalItems !== undefined ? this.totalItems : null;\n data[\"brand\"] = this.brand !== undefined ? this.brand : null;\n data[\"year\"] = this.year !== undefined ? this.year : null;\n data[\"category\"] = this.category !== undefined ? this.category : null;\n data[\"unitOfMeasure\"] = this.unitOfMeasure !== undefined ? this.unitOfMeasure : null;\n data[\"currency\"] = this.currency !== undefined ? this.currency : null;\n data[\"additionalInfoRequired\"] = this.additionalInfoRequired !== undefined ? this.additionalInfoRequired : null;\n data[\"hasSubcomponents\"] = this.hasSubcomponents !== undefined ? this.hasSubcomponents : null;\n data[\"hasAlternateItem\"] = this.hasAlternateItem !== undefined ? this.hasAlternateItem : null;\n if (Array.isArray(this.additionalSalesPrices)) {\n data[\"additionalSalesPrices\"] = [];\n for (let item of this.additionalSalesPrices)\n data[\"additionalSalesPrices\"].push(item.toJSON());\n }\n if (Array.isArray(this.externalIds)) {\n data[\"externalIds\"] = [];\n for (let item of this.externalIds)\n data[\"externalIds\"].push(item);\n }\n return data;\n }\n\n clone(): ProductItemDTO {\n const json = this.toJSON();\n let result = new ProductItemDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IProductItemDTO {\n itemNumber?: string | null;\n productName?: string | null;\n salesPrice?: number;\n onHandQuantity?: number;\n warrantyClassCode?: string | null;\n imageBase64?: string | null;\n totalItems?: number;\n brand?: string | null;\n year?: number;\n category?: string | null;\n unitOfMeasure?: string | null;\n currency?: string | null;\n additionalInfoRequired?: boolean;\n hasSubcomponents?: boolean;\n hasAlternateItem?: boolean;\n additionalSalesPrices?: SalesPriceInfoDTO[] | null;\n externalIds?: string[] | null;\n}\n\nexport class SalesPriceInfoDTO implements ISalesPriceInfoDTO {\n unitOfMeasureId?: string | null;\n unitOfMeasureDescription?: string | null;\n price?: number;\n salesPrice?: number;\n\n constructor(data?: ISalesPriceInfoDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.unitOfMeasureId = _data[\"unitOfMeasureId\"] !== undefined ? _data[\"unitOfMeasureId\"] : null;\n this.unitOfMeasureDescription = _data[\"unitOfMeasureDescription\"] !== undefined ? _data[\"unitOfMeasureDescription\"] : null;\n this.price = _data[\"price\"] !== undefined ? _data[\"price\"] : null;\n this.salesPrice = _data[\"salesPrice\"] !== undefined ? _data[\"salesPrice\"] : null;\n }\n }\n\n static fromJS(data: any): SalesPriceInfoDTO {\n data = typeof data === 'object' ? data : {};\n let result = new SalesPriceInfoDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"unitOfMeasureId\"] = this.unitOfMeasureId !== undefined ? this.unitOfMeasureId : null;\n data[\"unitOfMeasureDescription\"] = this.unitOfMeasureDescription !== undefined ? this.unitOfMeasureDescription : null;\n data[\"price\"] = this.price !== undefined ? this.price : null;\n data[\"salesPrice\"] = this.salesPrice !== undefined ? this.salesPrice : null;\n return data;\n }\n\n clone(): SalesPriceInfoDTO {\n const json = this.toJSON();\n let result = new SalesPriceInfoDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ISalesPriceInfoDTO {\n unitOfMeasureId?: string | null;\n unitOfMeasureDescription?: string | null;\n price?: number;\n salesPrice?: number;\n}\n\nexport class ProductItemSearchDTO extends PaginationBaseRequestDTO implements IProductItemSearchDTO {\n vin?: string | null;\n itemIdDescriptionSearch?: string | null;\n brandId?: string | null;\n year?: string | null;\n externalId?: string | null;\n\n constructor(data?: IProductItemSearchDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.itemIdDescriptionSearch = _data[\"itemIdDescriptionSearch\"] !== undefined ? _data[\"itemIdDescriptionSearch\"] : null;\n this.brandId = _data[\"brandId\"] !== undefined ? _data[\"brandId\"] : null;\n this.year = _data[\"year\"] !== undefined ? _data[\"year\"] : null;\n this.externalId = _data[\"externalId\"] !== undefined ? _data[\"externalId\"] : null;\n }\n }\n\n static fromJS(data: any): ProductItemSearchDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ProductItemSearchDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"itemIdDescriptionSearch\"] = this.itemIdDescriptionSearch !== undefined ? this.itemIdDescriptionSearch : null;\n data[\"brandId\"] = this.brandId !== undefined ? this.brandId : null;\n data[\"year\"] = this.year !== undefined ? this.year : null;\n data[\"externalId\"] = this.externalId !== undefined ? this.externalId : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): ProductItemSearchDTO {\n const json = this.toJSON();\n let result = new ProductItemSearchDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IProductItemSearchDTO extends IPaginationBaseRequestDTO {\n vin?: string | null;\n itemIdDescriptionSearch?: string | null;\n brandId?: string | null;\n year?: string | null;\n externalId?: string | null;\n}\n\nexport class CreateSalesOrderDTO implements ICreateSalesOrderDTO {\n userId?: string | null;\n dealerLocationDynamicsId?: string | null;\n reference?: string | null;\n requisition?: string | null;\n modeOfDelivery?: DeliveryModeDTO | null;\n orderType?: string | null;\n vin?: string | null;\n contactName?: string | null;\n contanctEmail?: string | null;\n contactPhone?: string | null;\n deliveryName?: string | null;\n oneTimeDelivery?: boolean;\n dealerDeliveryAddress?: DealerAddressInfoDTO | null;\n oneTimeDeliveryAddress?: AddressDTO | null;\n shippingName?: string | null;\n shippingPhone?: string | null;\n cartItemLines?: SalesOrderLineItemDTO[] | null;\n\n constructor(data?: ICreateSalesOrderDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userId = _data[\"userId\"] !== undefined ? _data[\"userId\"] : null;\n this.dealerLocationDynamicsId = _data[\"dealerLocationDynamicsId\"] !== undefined ? _data[\"dealerLocationDynamicsId\"] : null;\n this.reference = _data[\"reference\"] !== undefined ? _data[\"reference\"] : null;\n this.requisition = _data[\"requisition\"] !== undefined ? _data[\"requisition\"] : null;\n this.modeOfDelivery = _data[\"modeOfDelivery\"] ? DeliveryModeDTO.fromJS(_data[\"modeOfDelivery\"]) : null;\n this.orderType = _data[\"orderType\"] !== undefined ? _data[\"orderType\"] : null;\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.contactName = _data[\"contactName\"] !== undefined ? _data[\"contactName\"] : null;\n this.contanctEmail = _data[\"contanctEmail\"] !== undefined ? _data[\"contanctEmail\"] : null;\n this.contactPhone = _data[\"contactPhone\"] !== undefined ? _data[\"contactPhone\"] : null;\n this.deliveryName = _data[\"deliveryName\"] !== undefined ? _data[\"deliveryName\"] : null;\n this.oneTimeDelivery = _data[\"oneTimeDelivery\"] !== undefined ? _data[\"oneTimeDelivery\"] : null;\n this.dealerDeliveryAddress = _data[\"dealerDeliveryAddress\"] ? DealerAddressInfoDTO.fromJS(_data[\"dealerDeliveryAddress\"]) : null;\n this.oneTimeDeliveryAddress = _data[\"oneTimeDeliveryAddress\"] ? AddressDTO.fromJS(_data[\"oneTimeDeliveryAddress\"]) : null;\n this.shippingName = _data[\"shippingName\"] !== undefined ? _data[\"shippingName\"] : null;\n this.shippingPhone = _data[\"shippingPhone\"] !== undefined ? _data[\"shippingPhone\"] : null;\n if (Array.isArray(_data[\"cartItemLines\"])) {\n this.cartItemLines = [] as any;\n for (let item of _data[\"cartItemLines\"])\n this.cartItemLines!.push(SalesOrderLineItemDTO.fromJS(item));\n }\n else {\n this.cartItemLines = null;\n }\n }\n }\n\n static fromJS(data: any): CreateSalesOrderDTO {\n data = typeof data === 'object' ? data : {};\n let result = new CreateSalesOrderDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId !== undefined ? this.userId : null;\n data[\"dealerLocationDynamicsId\"] = this.dealerLocationDynamicsId !== undefined ? this.dealerLocationDynamicsId : null;\n data[\"reference\"] = this.reference !== undefined ? this.reference : null;\n data[\"requisition\"] = this.requisition !== undefined ? this.requisition : null;\n data[\"modeOfDelivery\"] = this.modeOfDelivery ? this.modeOfDelivery.toJSON() : null;\n data[\"orderType\"] = this.orderType !== undefined ? this.orderType : null;\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"contactName\"] = this.contactName !== undefined ? this.contactName : null;\n data[\"contanctEmail\"] = this.contanctEmail !== undefined ? this.contanctEmail : null;\n data[\"contactPhone\"] = this.contactPhone !== undefined ? this.contactPhone : null;\n data[\"deliveryName\"] = this.deliveryName !== undefined ? this.deliveryName : null;\n data[\"oneTimeDelivery\"] = this.oneTimeDelivery !== undefined ? this.oneTimeDelivery : null;\n data[\"dealerDeliveryAddress\"] = this.dealerDeliveryAddress ? this.dealerDeliveryAddress.toJSON() : null;\n data[\"oneTimeDeliveryAddress\"] = this.oneTimeDeliveryAddress ? this.oneTimeDeliveryAddress.toJSON() : null;\n data[\"shippingName\"] = this.shippingName !== undefined ? this.shippingName : null;\n data[\"shippingPhone\"] = this.shippingPhone !== undefined ? this.shippingPhone : null;\n if (Array.isArray(this.cartItemLines)) {\n data[\"cartItemLines\"] = [];\n for (let item of this.cartItemLines)\n data[\"cartItemLines\"].push(item.toJSON());\n }\n return data;\n }\n\n clone(): CreateSalesOrderDTO {\n const json = this.toJSON();\n let result = new CreateSalesOrderDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICreateSalesOrderDTO {\n userId?: string | null;\n dealerLocationDynamicsId?: string | null;\n reference?: string | null;\n requisition?: string | null;\n modeOfDelivery?: DeliveryModeDTO | null;\n orderType?: string | null;\n vin?: string | null;\n contactName?: string | null;\n contanctEmail?: string | null;\n contactPhone?: string | null;\n deliveryName?: string | null;\n oneTimeDelivery?: boolean;\n dealerDeliveryAddress?: DealerAddressInfoDTO | null;\n oneTimeDeliveryAddress?: AddressDTO | null;\n shippingName?: string | null;\n shippingPhone?: string | null;\n cartItemLines?: SalesOrderLineItemDTO[] | null;\n}\n\nexport class AddressDTO implements IAddressDTO {\n streetAddress?: string | null;\n city?: string | null;\n country?: string | null;\n state?: string | null;\n postalCode?: string | null;\n\n constructor(data?: IAddressDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.streetAddress = _data[\"streetAddress\"] !== undefined ? _data[\"streetAddress\"] : null;\n this.city = _data[\"city\"] !== undefined ? _data[\"city\"] : null;\n this.country = _data[\"country\"] !== undefined ? _data[\"country\"] : null;\n this.state = _data[\"state\"] !== undefined ? _data[\"state\"] : null;\n this.postalCode = _data[\"postalCode\"] !== undefined ? _data[\"postalCode\"] : null;\n }\n }\n\n static fromJS(data: any): AddressDTO {\n data = typeof data === 'object' ? data : {};\n let result = new AddressDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"streetAddress\"] = this.streetAddress !== undefined ? this.streetAddress : null;\n data[\"city\"] = this.city !== undefined ? this.city : null;\n data[\"country\"] = this.country !== undefined ? this.country : null;\n data[\"state\"] = this.state !== undefined ? this.state : null;\n data[\"postalCode\"] = this.postalCode !== undefined ? this.postalCode : null;\n return data;\n }\n\n clone(): AddressDTO {\n const json = this.toJSON();\n let result = new AddressDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IAddressDTO {\n streetAddress?: string | null;\n city?: string | null;\n country?: string | null;\n state?: string | null;\n postalCode?: string | null;\n}\n\nexport class SalesOrderLineItemDTO implements ISalesOrderLineItemDTO {\n itemId?: string | null;\n quantity?: number;\n unitOfMeasure?: string | null;\n additionalNotes?: string | null;\n\n constructor(data?: ISalesOrderLineItemDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.itemId = _data[\"itemId\"] !== undefined ? _data[\"itemId\"] : null;\n this.quantity = _data[\"quantity\"] !== undefined ? _data[\"quantity\"] : null;\n this.unitOfMeasure = _data[\"unitOfMeasure\"] !== undefined ? _data[\"unitOfMeasure\"] : null;\n this.additionalNotes = _data[\"additionalNotes\"] !== undefined ? _data[\"additionalNotes\"] : null;\n }\n }\n\n static fromJS(data: any): SalesOrderLineItemDTO {\n data = typeof data === 'object' ? data : {};\n let result = new SalesOrderLineItemDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"itemId\"] = this.itemId !== undefined ? this.itemId : null;\n data[\"quantity\"] = this.quantity !== undefined ? this.quantity : null;\n data[\"unitOfMeasure\"] = this.unitOfMeasure !== undefined ? this.unitOfMeasure : null;\n data[\"additionalNotes\"] = this.additionalNotes !== undefined ? this.additionalNotes : null;\n return data;\n }\n\n clone(): SalesOrderLineItemDTO {\n const json = this.toJSON();\n let result = new SalesOrderLineItemDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ISalesOrderLineItemDTO {\n itemId?: string | null;\n quantity?: number;\n unitOfMeasure?: string | null;\n additionalNotes?: string | null;\n}\n\nexport class SpiffDTO implements ISpiffDTO {\n spiffId?: string | null;\n vin?: string | null;\n modelId?: string | null;\n brandId?: string | null;\n brandName?: string | null;\n year?: string | null;\n amount?: number;\n status?: string | null;\n type?: string | null;\n custAccount?: string | null;\n custName?: string | null;\n vendAccount?: string | null;\n vendName?: string | null;\n company?: string | null;\n createdDate?: moment.Moment;\n checkNumber?: string | null;\n checkDate?: moment.Moment;\n recipientName?: string | null;\n recipientAddress?: string | null;\n totalRecords?: number;\n\n constructor(data?: ISpiffDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.spiffId = _data[\"spiffId\"] !== undefined ? _data[\"spiffId\"] : null;\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.modelId = _data[\"modelId\"] !== undefined ? _data[\"modelId\"] : null;\n this.brandId = _data[\"brandId\"] !== undefined ? _data[\"brandId\"] : null;\n this.brandName = _data[\"brandName\"] !== undefined ? _data[\"brandName\"] : null;\n this.year = _data[\"year\"] !== undefined ? _data[\"year\"] : null;\n this.amount = _data[\"amount\"] !== undefined ? _data[\"amount\"] : null;\n this.status = _data[\"status\"] !== undefined ? _data[\"status\"] : null;\n this.type = _data[\"type\"] !== undefined ? _data[\"type\"] : null;\n this.custAccount = _data[\"custAccount\"] !== undefined ? _data[\"custAccount\"] : null;\n this.custName = _data[\"custName\"] !== undefined ? _data[\"custName\"] : null;\n this.vendAccount = _data[\"vendAccount\"] !== undefined ? _data[\"vendAccount\"] : null;\n this.vendName = _data[\"vendName\"] !== undefined ? _data[\"vendName\"] : null;\n this.company = _data[\"company\"] !== undefined ? _data[\"company\"] : null;\n this.createdDate = _data[\"createdDate\"] ? moment(_data[\"createdDate\"].toString()) : null;\n this.checkNumber = _data[\"checkNumber\"] !== undefined ? _data[\"checkNumber\"] : null;\n this.checkDate = _data[\"checkDate\"] ? moment(_data[\"checkDate\"].toString()) : null;\n this.recipientName = _data[\"recipientName\"] !== undefined ? _data[\"recipientName\"] : null;\n this.recipientAddress = _data[\"recipientAddress\"] !== undefined ? _data[\"recipientAddress\"] : null;\n this.totalRecords = _data[\"totalRecords\"] !== undefined ? _data[\"totalRecords\"] : null;\n }\n }\n\n static fromJS(data: any): SpiffDTO {\n data = typeof data === 'object' ? data : {};\n let result = new SpiffDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"spiffId\"] = this.spiffId !== undefined ? this.spiffId : null;\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"modelId\"] = this.modelId !== undefined ? this.modelId : null;\n data[\"brandId\"] = this.brandId !== undefined ? this.brandId : null;\n data[\"brandName\"] = this.brandName !== undefined ? this.brandName : null;\n data[\"year\"] = this.year !== undefined ? this.year : null;\n data[\"amount\"] = this.amount !== undefined ? this.amount : null;\n data[\"status\"] = this.status !== undefined ? this.status : null;\n data[\"type\"] = this.type !== undefined ? this.type : null;\n data[\"custAccount\"] = this.custAccount !== undefined ? this.custAccount : null;\n data[\"custName\"] = this.custName !== undefined ? this.custName : null;\n data[\"vendAccount\"] = this.vendAccount !== undefined ? this.vendAccount : null;\n data[\"vendName\"] = this.vendName !== undefined ? this.vendName : null;\n data[\"company\"] = this.company !== undefined ? this.company : null;\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : null;\n data[\"checkNumber\"] = this.checkNumber !== undefined ? this.checkNumber : null;\n data[\"checkDate\"] = this.checkDate ? this.checkDate.toISOString() : null;\n data[\"recipientName\"] = this.recipientName !== undefined ? this.recipientName : null;\n data[\"recipientAddress\"] = this.recipientAddress !== undefined ? this.recipientAddress : null;\n data[\"totalRecords\"] = this.totalRecords !== undefined ? this.totalRecords : null;\n return data;\n }\n\n clone(): SpiffDTO {\n const json = this.toJSON();\n let result = new SpiffDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ISpiffDTO {\n spiffId?: string | null;\n vin?: string | null;\n modelId?: string | null;\n brandId?: string | null;\n brandName?: string | null;\n year?: string | null;\n amount?: number;\n status?: string | null;\n type?: string | null;\n custAccount?: string | null;\n custName?: string | null;\n vendAccount?: string | null;\n vendName?: string | null;\n company?: string | null;\n createdDate?: moment.Moment;\n checkNumber?: string | null;\n checkDate?: moment.Moment;\n recipientName?: string | null;\n recipientAddress?: string | null;\n totalRecords?: number;\n}\n\nexport class SpiffSearchDTO extends PaginationBaseRequestDTO implements ISpiffSearchDTO {\n activeDealerAccountId?: string | null;\n customerId?: string | null;\n spiffId?: string | null;\n status?: string | null;\n vin?: string | null;\n\n constructor(data?: ISpiffSearchDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.activeDealerAccountId = _data[\"activeDealerAccountId\"] !== undefined ? _data[\"activeDealerAccountId\"] : null;\n this.customerId = _data[\"customerId\"] !== undefined ? _data[\"customerId\"] : null;\n this.spiffId = _data[\"spiffId\"] !== undefined ? _data[\"spiffId\"] : null;\n this.status = _data[\"status\"] !== undefined ? _data[\"status\"] : null;\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n }\n }\n\n static fromJS(data: any): SpiffSearchDTO {\n data = typeof data === 'object' ? data : {};\n let result = new SpiffSearchDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"activeDealerAccountId\"] = this.activeDealerAccountId !== undefined ? this.activeDealerAccountId : null;\n data[\"customerId\"] = this.customerId !== undefined ? this.customerId : null;\n data[\"spiffId\"] = this.spiffId !== undefined ? this.spiffId : null;\n data[\"status\"] = this.status !== undefined ? this.status : null;\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): SpiffSearchDTO {\n const json = this.toJSON();\n let result = new SpiffSearchDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ISpiffSearchDTO extends IPaginationBaseRequestDTO {\n activeDealerAccountId?: string | null;\n customerId?: string | null;\n spiffId?: string | null;\n status?: string | null;\n vin?: string | null;\n}\n\nexport class VinDTO extends ValidationBaseDTO implements IVinDTO {\n id?: number;\n uid?: string;\n company?: string | null;\n companyType?: CompanyTypes;\n vin?: string | null;\n name?: string | null;\n model?: string | null;\n brandId?: string | null;\n brand?: string | null;\n year?: number;\n warrantyStartDate?: moment.Moment;\n warrantyEndDate?: moment.Moment;\n serviceExpirationDate?: moment.Moment;\n partsExpirationDate?: moment.Moment;\n warrantyStatus?: string | null;\n isRegistered?: boolean;\n displayName?: string | null;\n vehicleType?: string | null;\n purchaseDate?: moment.Moment;\n itemNumber?: string | null;\n site?: string | null;\n hasLegalLetter?: boolean;\n contactID?: string | null;\n customerSignature?: boolean;\n\n constructor(data?: IVinDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.uid = _data[\"uid\"] !== undefined ? _data[\"uid\"] : null;\n this.company = _data[\"company\"] !== undefined ? _data[\"company\"] : null;\n this.companyType = _data[\"companyType\"] !== undefined ? _data[\"companyType\"] : null;\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.model = _data[\"model\"] !== undefined ? _data[\"model\"] : null;\n this.brandId = _data[\"brandId\"] !== undefined ? _data[\"brandId\"] : null;\n this.brand = _data[\"brand\"] !== undefined ? _data[\"brand\"] : null;\n this.year = _data[\"year\"] !== undefined ? _data[\"year\"] : null;\n this.warrantyStartDate = _data[\"warrantyStartDate\"] ? moment(_data[\"warrantyStartDate\"].toString()) : null;\n this.warrantyEndDate = _data[\"warrantyEndDate\"] ? moment(_data[\"warrantyEndDate\"].toString()) : null;\n this.serviceExpirationDate = _data[\"serviceExpirationDate\"] ? moment(_data[\"serviceExpirationDate\"].toString()) : null;\n this.partsExpirationDate = _data[\"partsExpirationDate\"] ? moment(_data[\"partsExpirationDate\"].toString()) : null;\n this.warrantyStatus = _data[\"warrantyStatus\"] !== undefined ? _data[\"warrantyStatus\"] : null;\n this.isRegistered = _data[\"isRegistered\"] !== undefined ? _data[\"isRegistered\"] : null;\n this.displayName = _data[\"displayName\"] !== undefined ? _data[\"displayName\"] : null;\n this.vehicleType = _data[\"vehicleType\"] !== undefined ? _data[\"vehicleType\"] : null;\n this.purchaseDate = _data[\"purchaseDate\"] ? moment(_data[\"purchaseDate\"].toString()) : null;\n this.itemNumber = _data[\"itemNumber\"] !== undefined ? _data[\"itemNumber\"] : null;\n this.site = _data[\"site\"] !== undefined ? _data[\"site\"] : null;\n this.hasLegalLetter = _data[\"hasLegalLetter\"] !== undefined ? _data[\"hasLegalLetter\"] : null;\n this.contactID = _data[\"contactID\"] !== undefined ? _data[\"contactID\"] : null;\n this.customerSignature = _data[\"customerSignature\"] !== undefined ? _data[\"customerSignature\"] : null;\n }\n }\n\n static fromJS(data: any): VinDTO {\n data = typeof data === 'object' ? data : {};\n let result = new VinDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"uid\"] = this.uid !== undefined ? this.uid : null;\n data[\"company\"] = this.company !== undefined ? this.company : null;\n data[\"companyType\"] = this.companyType !== undefined ? this.companyType : null;\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"model\"] = this.model !== undefined ? this.model : null;\n data[\"brandId\"] = this.brandId !== undefined ? this.brandId : null;\n data[\"brand\"] = this.brand !== undefined ? this.brand : null;\n data[\"year\"] = this.year !== undefined ? this.year : null;\n data[\"warrantyStartDate\"] = this.warrantyStartDate ? this.warrantyStartDate.toISOString() : null;\n data[\"warrantyEndDate\"] = this.warrantyEndDate ? this.warrantyEndDate.toISOString() : null;\n data[\"serviceExpirationDate\"] = this.serviceExpirationDate ? this.serviceExpirationDate.toISOString() : null;\n data[\"partsExpirationDate\"] = this.partsExpirationDate ? this.partsExpirationDate.toISOString() : null;\n data[\"warrantyStatus\"] = this.warrantyStatus !== undefined ? this.warrantyStatus : null;\n data[\"isRegistered\"] = this.isRegistered !== undefined ? this.isRegistered : null;\n data[\"displayName\"] = this.displayName !== undefined ? this.displayName : null;\n data[\"vehicleType\"] = this.vehicleType !== undefined ? this.vehicleType : null;\n data[\"purchaseDate\"] = this.purchaseDate ? this.purchaseDate.toISOString() : null;\n data[\"itemNumber\"] = this.itemNumber !== undefined ? this.itemNumber : null;\n data[\"site\"] = this.site !== undefined ? this.site : null;\n data[\"hasLegalLetter\"] = this.hasLegalLetter !== undefined ? this.hasLegalLetter : null;\n data[\"contactID\"] = this.contactID !== undefined ? this.contactID : null;\n data[\"customerSignature\"] = this.customerSignature !== undefined ? this.customerSignature : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): VinDTO {\n const json = this.toJSON();\n let result = new VinDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IVinDTO extends IValidationBaseDTO {\n id?: number;\n uid?: string;\n company?: string | null;\n companyType?: CompanyTypes;\n vin?: string | null;\n name?: string | null;\n model?: string | null;\n brandId?: string | null;\n brand?: string | null;\n year?: number;\n warrantyStartDate?: moment.Moment;\n warrantyEndDate?: moment.Moment;\n serviceExpirationDate?: moment.Moment;\n partsExpirationDate?: moment.Moment;\n warrantyStatus?: string | null;\n isRegistered?: boolean;\n displayName?: string | null;\n vehicleType?: string | null;\n purchaseDate?: moment.Moment;\n itemNumber?: string | null;\n site?: string | null;\n hasLegalLetter?: boolean;\n contactID?: string | null;\n customerSignature?: boolean;\n}\n\nexport class CreateSpiffRequestDTO extends ValidationBaseDTO implements ICreateSpiffRequestDTO {\n salesmanId?: number;\n spiffId?: string | null;\n spiffType?: string | null;\n vin?: string | null;\n\n constructor(data?: ICreateSpiffRequestDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.salesmanId = _data[\"salesmanId\"] !== undefined ? _data[\"salesmanId\"] : null;\n this.spiffId = _data[\"spiffId\"] !== undefined ? _data[\"spiffId\"] : null;\n this.spiffType = _data[\"spiffType\"] !== undefined ? _data[\"spiffType\"] : null;\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n }\n }\n\n static fromJS(data: any): CreateSpiffRequestDTO {\n data = typeof data === 'object' ? data : {};\n let result = new CreateSpiffRequestDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"salesmanId\"] = this.salesmanId !== undefined ? this.salesmanId : null;\n data[\"spiffId\"] = this.spiffId !== undefined ? this.spiffId : null;\n data[\"spiffType\"] = this.spiffType !== undefined ? this.spiffType : null;\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): CreateSpiffRequestDTO {\n const json = this.toJSON();\n let result = new CreateSpiffRequestDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICreateSpiffRequestDTO extends IValidationBaseDTO {\n salesmanId?: number;\n spiffId?: string | null;\n spiffType?: string | null;\n vin?: string | null;\n}\n\nexport class SpiffSalesmanDTO implements ISpiffSalesmanDTO {\n salesmanId?: number;\n firstName?: string | null;\n lastName?: string | null;\n\n constructor(data?: ISpiffSalesmanDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.salesmanId = _data[\"salesmanId\"] !== undefined ? _data[\"salesmanId\"] : null;\n this.firstName = _data[\"firstName\"] !== undefined ? _data[\"firstName\"] : null;\n this.lastName = _data[\"lastName\"] !== undefined ? _data[\"lastName\"] : null;\n }\n }\n\n static fromJS(data: any): SpiffSalesmanDTO {\n data = typeof data === 'object' ? data : {};\n let result = new SpiffSalesmanDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"salesmanId\"] = this.salesmanId !== undefined ? this.salesmanId : null;\n data[\"firstName\"] = this.firstName !== undefined ? this.firstName : null;\n data[\"lastName\"] = this.lastName !== undefined ? this.lastName : null;\n return data;\n }\n\n clone(): SpiffSalesmanDTO {\n const json = this.toJSON();\n let result = new SpiffSalesmanDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ISpiffSalesmanDTO {\n salesmanId?: number;\n firstName?: string | null;\n lastName?: string | null;\n}\n\nexport class W9RequestSearchDTO extends PaginationBaseRequestDTO implements IW9RequestSearchDTO {\n dealerUserId?: string | null;\n firstName?: string | null;\n lastName?: string | null;\n status?: string | null;\n\n constructor(data?: IW9RequestSearchDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.dealerUserId = _data[\"dealerUserId\"] !== undefined ? _data[\"dealerUserId\"] : null;\n this.firstName = _data[\"firstName\"] !== undefined ? _data[\"firstName\"] : null;\n this.lastName = _data[\"lastName\"] !== undefined ? _data[\"lastName\"] : null;\n this.status = _data[\"status\"] !== undefined ? _data[\"status\"] : null;\n }\n }\n\n static fromJS(data: any): W9RequestSearchDTO {\n data = typeof data === 'object' ? data : {};\n let result = new W9RequestSearchDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dealerUserId\"] = this.dealerUserId !== undefined ? this.dealerUserId : null;\n data[\"firstName\"] = this.firstName !== undefined ? this.firstName : null;\n data[\"lastName\"] = this.lastName !== undefined ? this.lastName : null;\n data[\"status\"] = this.status !== undefined ? this.status : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): W9RequestSearchDTO {\n const json = this.toJSON();\n let result = new W9RequestSearchDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IW9RequestSearchDTO extends IPaginationBaseRequestDTO {\n dealerUserId?: string | null;\n firstName?: string | null;\n lastName?: string | null;\n status?: string | null;\n}\n\nexport class ViewVinRegistrationDTO implements IViewVinRegistrationDTO {\n vinUid?: string;\n vin?: string | null;\n brandId?: string | null;\n ownerUserId?: string;\n vinRegistrationStatus?: string | null;\n registeredDate?: moment.Moment;\n reviewedDate?: moment.Moment | null;\n reviewComments?: string | null;\n displayName?: string | null;\n nickname?: string | null;\n customImageId?: number | null;\n vinRegistrationUid?: string;\n\n constructor(data?: IViewVinRegistrationDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.vinUid = _data[\"vinUid\"] !== undefined ? _data[\"vinUid\"] : null;\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.brandId = _data[\"brandId\"] !== undefined ? _data[\"brandId\"] : null;\n this.ownerUserId = _data[\"ownerUserId\"] !== undefined ? _data[\"ownerUserId\"] : null;\n this.vinRegistrationStatus = _data[\"vinRegistrationStatus\"] !== undefined ? _data[\"vinRegistrationStatus\"] : null;\n this.registeredDate = _data[\"registeredDate\"] ? moment(_data[\"registeredDate\"].toString()) : null;\n this.reviewedDate = _data[\"reviewedDate\"] ? moment(_data[\"reviewedDate\"].toString()) : null;\n this.reviewComments = _data[\"reviewComments\"] !== undefined ? _data[\"reviewComments\"] : null;\n this.displayName = _data[\"displayName\"] !== undefined ? _data[\"displayName\"] : null;\n this.nickname = _data[\"nickname\"] !== undefined ? _data[\"nickname\"] : null;\n this.customImageId = _data[\"customImageId\"] !== undefined ? _data[\"customImageId\"] : null;\n this.vinRegistrationUid = _data[\"vinRegistrationUid\"] !== undefined ? _data[\"vinRegistrationUid\"] : null;\n }\n }\n\n static fromJS(data: any): ViewVinRegistrationDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ViewVinRegistrationDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vinUid\"] = this.vinUid !== undefined ? this.vinUid : null;\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"brandId\"] = this.brandId !== undefined ? this.brandId : null;\n data[\"ownerUserId\"] = this.ownerUserId !== undefined ? this.ownerUserId : null;\n data[\"vinRegistrationStatus\"] = this.vinRegistrationStatus !== undefined ? this.vinRegistrationStatus : null;\n data[\"registeredDate\"] = this.registeredDate ? this.registeredDate.toISOString() : null;\n data[\"reviewedDate\"] = this.reviewedDate ? this.reviewedDate.toISOString() : null;\n data[\"reviewComments\"] = this.reviewComments !== undefined ? this.reviewComments : null;\n data[\"displayName\"] = this.displayName !== undefined ? this.displayName : null;\n data[\"nickname\"] = this.nickname !== undefined ? this.nickname : null;\n data[\"customImageId\"] = this.customImageId !== undefined ? this.customImageId : null;\n data[\"vinRegistrationUid\"] = this.vinRegistrationUid !== undefined ? this.vinRegistrationUid : null;\n return data;\n }\n\n clone(): ViewVinRegistrationDTO {\n const json = this.toJSON();\n let result = new ViewVinRegistrationDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IViewVinRegistrationDTO {\n vinUid?: string;\n vin?: string | null;\n brandId?: string | null;\n ownerUserId?: string;\n vinRegistrationStatus?: string | null;\n registeredDate?: moment.Moment;\n reviewedDate?: moment.Moment | null;\n reviewComments?: string | null;\n displayName?: string | null;\n nickname?: string | null;\n customImageId?: number | null;\n vinRegistrationUid?: string;\n}\n\nexport class VinRegistrationDTO extends ValidationBaseDTO implements IVinRegistrationDTO {\n portalUserId?: string;\n firstName?: string | null;\n lastName?: string | null;\n purchaseDate?: moment.Moment;\n streetAddress?: string | null;\n city?: string | null;\n state?: string | null;\n zipCode?: string | null;\n phoneNumber?: string | null;\n emailAddress?: string | null;\n vin?: string | null;\n isOwnerTransfer?: boolean;\n transferDocumentUrl?: string | null;\n transferDocumentType?: string | null;\n nickname?: string | null;\n\n constructor(data?: IVinRegistrationDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.portalUserId = _data[\"portalUserId\"] !== undefined ? _data[\"portalUserId\"] : null;\n this.firstName = _data[\"firstName\"] !== undefined ? _data[\"firstName\"] : null;\n this.lastName = _data[\"lastName\"] !== undefined ? _data[\"lastName\"] : null;\n this.purchaseDate = _data[\"purchaseDate\"] ? moment(_data[\"purchaseDate\"].toString()) : null;\n this.streetAddress = _data[\"streetAddress\"] !== undefined ? _data[\"streetAddress\"] : null;\n this.city = _data[\"city\"] !== undefined ? _data[\"city\"] : null;\n this.state = _data[\"state\"] !== undefined ? _data[\"state\"] : null;\n this.zipCode = _data[\"zipCode\"] !== undefined ? _data[\"zipCode\"] : null;\n this.phoneNumber = _data[\"phoneNumber\"] !== undefined ? _data[\"phoneNumber\"] : null;\n this.emailAddress = _data[\"emailAddress\"] !== undefined ? _data[\"emailAddress\"] : null;\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.isOwnerTransfer = _data[\"isOwnerTransfer\"] !== undefined ? _data[\"isOwnerTransfer\"] : null;\n this.transferDocumentUrl = _data[\"transferDocumentUrl\"] !== undefined ? _data[\"transferDocumentUrl\"] : null;\n this.transferDocumentType = _data[\"transferDocumentType\"] !== undefined ? _data[\"transferDocumentType\"] : null;\n this.nickname = _data[\"nickname\"] !== undefined ? _data[\"nickname\"] : null;\n }\n }\n\n static fromJS(data: any): VinRegistrationDTO {\n data = typeof data === 'object' ? data : {};\n let result = new VinRegistrationDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"portalUserId\"] = this.portalUserId !== undefined ? this.portalUserId : null;\n data[\"firstName\"] = this.firstName !== undefined ? this.firstName : null;\n data[\"lastName\"] = this.lastName !== undefined ? this.lastName : null;\n data[\"purchaseDate\"] = this.purchaseDate ? this.purchaseDate.toISOString() : null;\n data[\"streetAddress\"] = this.streetAddress !== undefined ? this.streetAddress : null;\n data[\"city\"] = this.city !== undefined ? this.city : null;\n data[\"state\"] = this.state !== undefined ? this.state : null;\n data[\"zipCode\"] = this.zipCode !== undefined ? this.zipCode : null;\n data[\"phoneNumber\"] = this.phoneNumber !== undefined ? this.phoneNumber : null;\n data[\"emailAddress\"] = this.emailAddress !== undefined ? this.emailAddress : null;\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"isOwnerTransfer\"] = this.isOwnerTransfer !== undefined ? this.isOwnerTransfer : null;\n data[\"transferDocumentUrl\"] = this.transferDocumentUrl !== undefined ? this.transferDocumentUrl : null;\n data[\"transferDocumentType\"] = this.transferDocumentType !== undefined ? this.transferDocumentType : null;\n data[\"nickname\"] = this.nickname !== undefined ? this.nickname : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): VinRegistrationDTO {\n const json = this.toJSON();\n let result = new VinRegistrationDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IVinRegistrationDTO extends IValidationBaseDTO {\n portalUserId?: string;\n firstName?: string | null;\n lastName?: string | null;\n purchaseDate?: moment.Moment;\n streetAddress?: string | null;\n city?: string | null;\n state?: string | null;\n zipCode?: string | null;\n phoneNumber?: string | null;\n emailAddress?: string | null;\n vin?: string | null;\n isOwnerTransfer?: boolean;\n transferDocumentUrl?: string | null;\n transferDocumentType?: string | null;\n nickname?: string | null;\n}\n\nexport class ImageDTO implements IImageDTO {\n imageType?: string | null;\n base64?: string | null;\n\n constructor(data?: IImageDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.imageType = _data[\"imageType\"] !== undefined ? _data[\"imageType\"] : null;\n this.base64 = _data[\"base64\"] !== undefined ? _data[\"base64\"] : null;\n }\n }\n\n static fromJS(data: any): ImageDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ImageDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"imageType\"] = this.imageType !== undefined ? this.imageType : null;\n data[\"base64\"] = this.base64 !== undefined ? this.base64 : null;\n return data;\n }\n\n clone(): ImageDTO {\n const json = this.toJSON();\n let result = new ImageDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IImageDTO {\n imageType?: string | null;\n base64?: string | null;\n}\n\nexport class ClaimDTO implements IClaimDTO {\n claimNumber?: string | null;\n status?: string | null;\n statusDate?: moment.Moment;\n createdDate?: moment.Moment;\n\n constructor(data?: IClaimDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.claimNumber = _data[\"claimNumber\"] !== undefined ? _data[\"claimNumber\"] : null;\n this.status = _data[\"status\"] !== undefined ? _data[\"status\"] : null;\n this.statusDate = _data[\"statusDate\"] ? moment(_data[\"statusDate\"].toString()) : null;\n this.createdDate = _data[\"createdDate\"] ? moment(_data[\"createdDate\"].toString()) : null;\n }\n }\n\n static fromJS(data: any): ClaimDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ClaimDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"claimNumber\"] = this.claimNumber !== undefined ? this.claimNumber : null;\n data[\"status\"] = this.status !== undefined ? this.status : null;\n data[\"statusDate\"] = this.statusDate ? this.statusDate.toISOString() : null;\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : null;\n return data;\n }\n\n clone(): ClaimDTO {\n const json = this.toJSON();\n let result = new ClaimDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IClaimDTO {\n claimNumber?: string | null;\n status?: string | null;\n statusDate?: moment.Moment;\n createdDate?: moment.Moment;\n}\n\nexport class RecallDTO implements IRecallDTO {\n recallId?: string | null;\n name?: string | null;\n type?: string | null;\n\n constructor(data?: IRecallDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.recallId = _data[\"recallId\"] !== undefined ? _data[\"recallId\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.type = _data[\"type\"] !== undefined ? _data[\"type\"] : null;\n }\n }\n\n static fromJS(data: any): RecallDTO {\n data = typeof data === 'object' ? data : {};\n let result = new RecallDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"recallId\"] = this.recallId !== undefined ? this.recallId : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"type\"] = this.type !== undefined ? this.type : null;\n return data;\n }\n\n clone(): RecallDTO {\n const json = this.toJSON();\n let result = new RecallDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IRecallDTO {\n recallId?: string | null;\n name?: string | null;\n type?: string | null;\n}\n\nexport class InviteConsumerUserDTO extends ValidationBaseDTO implements IInviteConsumerUserDTO {\n email!: string;\n vinUid?: string;\n isNewUser?: boolean | null;\n companyType?: CompanyTypes;\n\n constructor(data?: IInviteConsumerUserDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.email = _data[\"email\"] !== undefined ? _data[\"email\"] : null;\n this.vinUid = _data[\"vinUid\"] !== undefined ? _data[\"vinUid\"] : null;\n this.isNewUser = _data[\"isNewUser\"] !== undefined ? _data[\"isNewUser\"] : null;\n this.companyType = _data[\"companyType\"] !== undefined ? _data[\"companyType\"] : null;\n }\n }\n\n static fromJS(data: any): InviteConsumerUserDTO {\n data = typeof data === 'object' ? data : {};\n let result = new InviteConsumerUserDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"email\"] = this.email !== undefined ? this.email : null;\n data[\"vinUid\"] = this.vinUid !== undefined ? this.vinUid : null;\n data[\"isNewUser\"] = this.isNewUser !== undefined ? this.isNewUser : null;\n data[\"companyType\"] = this.companyType !== undefined ? this.companyType : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): InviteConsumerUserDTO {\n const json = this.toJSON();\n let result = new InviteConsumerUserDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IInviteConsumerUserDTO extends IValidationBaseDTO {\n email: string;\n vinUid?: string;\n isNewUser?: boolean | null;\n companyType?: CompanyTypes;\n}\n\nexport class VinOwnerRegistrationDTO extends ValidationBaseDTO implements IVinOwnerRegistrationDTO {\n lastName!: string;\n purchaseDate!: moment.Moment;\n zipCode!: string;\n vin!: string;\n isOriginalOwner?: boolean;\n isResubmitWithDoc?: boolean;\n ownerTransferDocumentUid?: string | null;\n nickname?: string | null;\n ownerTransferDocumentTypeId?: number | null;\n registrationErrorType?: RegistrationErrorTypes | null;\n\n constructor(data?: IVinOwnerRegistrationDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.lastName = _data[\"lastName\"] !== undefined ? _data[\"lastName\"] : null;\n this.purchaseDate = _data[\"purchaseDate\"] ? moment(_data[\"purchaseDate\"].toString()) : null;\n this.zipCode = _data[\"zipCode\"] !== undefined ? _data[\"zipCode\"] : null;\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.isOriginalOwner = _data[\"isOriginalOwner\"] !== undefined ? _data[\"isOriginalOwner\"] : null;\n this.isResubmitWithDoc = _data[\"isResubmitWithDoc\"] !== undefined ? _data[\"isResubmitWithDoc\"] : null;\n this.ownerTransferDocumentUid = _data[\"ownerTransferDocumentUid\"] !== undefined ? _data[\"ownerTransferDocumentUid\"] : null;\n this.nickname = _data[\"nickname\"] !== undefined ? _data[\"nickname\"] : null;\n this.ownerTransferDocumentTypeId = _data[\"ownerTransferDocumentTypeId\"] !== undefined ? _data[\"ownerTransferDocumentTypeId\"] : null;\n this.registrationErrorType = _data[\"registrationErrorType\"] !== undefined ? _data[\"registrationErrorType\"] : null;\n }\n }\n\n static fromJS(data: any): VinOwnerRegistrationDTO {\n data = typeof data === 'object' ? data : {};\n let result = new VinOwnerRegistrationDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"lastName\"] = this.lastName !== undefined ? this.lastName : null;\n data[\"purchaseDate\"] = this.purchaseDate ? this.purchaseDate.toISOString() : null;\n data[\"zipCode\"] = this.zipCode !== undefined ? this.zipCode : null;\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"isOriginalOwner\"] = this.isOriginalOwner !== undefined ? this.isOriginalOwner : null;\n data[\"isResubmitWithDoc\"] = this.isResubmitWithDoc !== undefined ? this.isResubmitWithDoc : null;\n data[\"ownerTransferDocumentUid\"] = this.ownerTransferDocumentUid !== undefined ? this.ownerTransferDocumentUid : null;\n data[\"nickname\"] = this.nickname !== undefined ? this.nickname : null;\n data[\"ownerTransferDocumentTypeId\"] = this.ownerTransferDocumentTypeId !== undefined ? this.ownerTransferDocumentTypeId : null;\n data[\"registrationErrorType\"] = this.registrationErrorType !== undefined ? this.registrationErrorType : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): VinOwnerRegistrationDTO {\n const json = this.toJSON();\n let result = new VinOwnerRegistrationDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IVinOwnerRegistrationDTO extends IValidationBaseDTO {\n lastName: string;\n purchaseDate: moment.Moment;\n zipCode: string;\n vin: string;\n isOriginalOwner?: boolean;\n isResubmitWithDoc?: boolean;\n ownerTransferDocumentUid?: string | null;\n nickname?: string | null;\n ownerTransferDocumentTypeId?: number | null;\n registrationErrorType?: RegistrationErrorTypes | null;\n}\n\nexport enum RegistrationErrorTypes {\n Unknown = 0,\n VinNotFound = 1,\n InvalidOwnerInformation = 2,\n}\n\nexport class VinRegistrationStatusDTO extends ValidationBaseDTO implements IVinRegistrationStatusDTO {\n vin!: string;\n portalUserId!: string;\n approved!: boolean;\n comments?: string | null;\n\n constructor(data?: IVinRegistrationStatusDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.portalUserId = _data[\"portalUserId\"] !== undefined ? _data[\"portalUserId\"] : null;\n this.approved = _data[\"approved\"] !== undefined ? _data[\"approved\"] : null;\n this.comments = _data[\"comments\"] !== undefined ? _data[\"comments\"] : null;\n }\n }\n\n static fromJS(data: any): VinRegistrationStatusDTO {\n data = typeof data === 'object' ? data : {};\n let result = new VinRegistrationStatusDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"portalUserId\"] = this.portalUserId !== undefined ? this.portalUserId : null;\n data[\"approved\"] = this.approved !== undefined ? this.approved : null;\n data[\"comments\"] = this.comments !== undefined ? this.comments : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): VinRegistrationStatusDTO {\n const json = this.toJSON();\n let result = new VinRegistrationStatusDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IVinRegistrationStatusDTO extends IValidationBaseDTO {\n vin: string;\n portalUserId: string;\n approved: boolean;\n comments?: string | null;\n}\n\nexport class UpdateVinRegistrationDTO extends ValidationBaseDTO implements IUpdateVinRegistrationDTO {\n vehicleUid?: string;\n nickname?: string | null;\n customImageDocumentUid?: string | null;\n\n constructor(data?: IUpdateVinRegistrationDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.vehicleUid = _data[\"vehicleUid\"] !== undefined ? _data[\"vehicleUid\"] : null;\n this.nickname = _data[\"nickname\"] !== undefined ? _data[\"nickname\"] : null;\n this.customImageDocumentUid = _data[\"customImageDocumentUid\"] !== undefined ? _data[\"customImageDocumentUid\"] : null;\n }\n }\n\n static fromJS(data: any): UpdateVinRegistrationDTO {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateVinRegistrationDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vehicleUid\"] = this.vehicleUid !== undefined ? this.vehicleUid : null;\n data[\"nickname\"] = this.nickname !== undefined ? this.nickname : null;\n data[\"customImageDocumentUid\"] = this.customImageDocumentUid !== undefined ? this.customImageDocumentUid : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): UpdateVinRegistrationDTO {\n const json = this.toJSON();\n let result = new UpdateVinRegistrationDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IUpdateVinRegistrationDTO extends IValidationBaseDTO {\n vehicleUid?: string;\n nickname?: string | null;\n customImageDocumentUid?: string | null;\n}\n\nexport class SalesOrderDTO implements ISalesOrderDTO {\n vin?: string | null;\n rvName?: string | null;\n orderNumber?: string | null;\n status?: string | null;\n deliveryMode?: string | null;\n trackingNumber?: string | null;\n statusDate?: moment.Moment;\n createdDate?: moment.Moment;\n\n constructor(data?: ISalesOrderDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.rvName = _data[\"rvName\"] !== undefined ? _data[\"rvName\"] : null;\n this.orderNumber = _data[\"orderNumber\"] !== undefined ? _data[\"orderNumber\"] : null;\n this.status = _data[\"status\"] !== undefined ? _data[\"status\"] : null;\n this.deliveryMode = _data[\"deliveryMode\"] !== undefined ? _data[\"deliveryMode\"] : null;\n this.trackingNumber = _data[\"trackingNumber\"] !== undefined ? _data[\"trackingNumber\"] : null;\n this.statusDate = _data[\"statusDate\"] ? moment(_data[\"statusDate\"].toString()) : null;\n this.createdDate = _data[\"createdDate\"] ? moment(_data[\"createdDate\"].toString()) : null;\n }\n }\n\n static fromJS(data: any): SalesOrderDTO {\n data = typeof data === 'object' ? data : {};\n let result = new SalesOrderDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"rvName\"] = this.rvName !== undefined ? this.rvName : null;\n data[\"orderNumber\"] = this.orderNumber !== undefined ? this.orderNumber : null;\n data[\"status\"] = this.status !== undefined ? this.status : null;\n data[\"deliveryMode\"] = this.deliveryMode !== undefined ? this.deliveryMode : null;\n data[\"trackingNumber\"] = this.trackingNumber !== undefined ? this.trackingNumber : null;\n data[\"statusDate\"] = this.statusDate ? this.statusDate.toISOString() : null;\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : null;\n return data;\n }\n\n clone(): SalesOrderDTO {\n const json = this.toJSON();\n let result = new SalesOrderDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ISalesOrderDTO {\n vin?: string | null;\n rvName?: string | null;\n orderNumber?: string | null;\n status?: string | null;\n deliveryMode?: string | null;\n trackingNumber?: string | null;\n statusDate?: moment.Moment;\n createdDate?: moment.Moment;\n}\n\nexport class W9RequestDTO extends ValidationBaseDTO implements IW9RequestDTO {\n requestorId?: string | null;\n salesmanId?: number;\n firstName?: string | null;\n lastName?: string | null;\n ssn?: string | null;\n phoneNumber?: string | null;\n streetAddress?: string | null;\n city?: string | null;\n stateProvince?: string | null;\n zipCode?: string | null;\n country?: string | null;\n customerAccount?: string | null;\n customerName?: string | null;\n status?: string | null;\n dateSubmitted?: string | null;\n dateUpdated?: string | null;\n comment?: string | null;\n documentUId?: string | null;\n totalItems?: number;\n\n constructor(data?: IW9RequestDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.requestorId = _data[\"requestorId\"] !== undefined ? _data[\"requestorId\"] : null;\n this.salesmanId = _data[\"salesmanId\"] !== undefined ? _data[\"salesmanId\"] : null;\n this.firstName = _data[\"firstName\"] !== undefined ? _data[\"firstName\"] : null;\n this.lastName = _data[\"lastName\"] !== undefined ? _data[\"lastName\"] : null;\n this.ssn = _data[\"ssn\"] !== undefined ? _data[\"ssn\"] : null;\n this.phoneNumber = _data[\"phoneNumber\"] !== undefined ? _data[\"phoneNumber\"] : null;\n this.streetAddress = _data[\"streetAddress\"] !== undefined ? _data[\"streetAddress\"] : null;\n this.city = _data[\"city\"] !== undefined ? _data[\"city\"] : null;\n this.stateProvince = _data[\"stateProvince\"] !== undefined ? _data[\"stateProvince\"] : null;\n this.zipCode = _data[\"zipCode\"] !== undefined ? _data[\"zipCode\"] : null;\n this.country = _data[\"country\"] !== undefined ? _data[\"country\"] : null;\n this.customerAccount = _data[\"customerAccount\"] !== undefined ? _data[\"customerAccount\"] : null;\n this.customerName = _data[\"customerName\"] !== undefined ? _data[\"customerName\"] : null;\n this.status = _data[\"status\"] !== undefined ? _data[\"status\"] : null;\n this.dateSubmitted = _data[\"dateSubmitted\"] !== undefined ? _data[\"dateSubmitted\"] : null;\n this.dateUpdated = _data[\"dateUpdated\"] !== undefined ? _data[\"dateUpdated\"] : null;\n this.comment = _data[\"comment\"] !== undefined ? _data[\"comment\"] : null;\n this.documentUId = _data[\"documentUId\"] !== undefined ? _data[\"documentUId\"] : null;\n this.totalItems = _data[\"totalItems\"] !== undefined ? _data[\"totalItems\"] : null;\n }\n }\n\n static fromJS(data: any): W9RequestDTO {\n data = typeof data === 'object' ? data : {};\n let result = new W9RequestDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"requestorId\"] = this.requestorId !== undefined ? this.requestorId : null;\n data[\"salesmanId\"] = this.salesmanId !== undefined ? this.salesmanId : null;\n data[\"firstName\"] = this.firstName !== undefined ? this.firstName : null;\n data[\"lastName\"] = this.lastName !== undefined ? this.lastName : null;\n data[\"ssn\"] = this.ssn !== undefined ? this.ssn : null;\n data[\"phoneNumber\"] = this.phoneNumber !== undefined ? this.phoneNumber : null;\n data[\"streetAddress\"] = this.streetAddress !== undefined ? this.streetAddress : null;\n data[\"city\"] = this.city !== undefined ? this.city : null;\n data[\"stateProvince\"] = this.stateProvince !== undefined ? this.stateProvince : null;\n data[\"zipCode\"] = this.zipCode !== undefined ? this.zipCode : null;\n data[\"country\"] = this.country !== undefined ? this.country : null;\n data[\"customerAccount\"] = this.customerAccount !== undefined ? this.customerAccount : null;\n data[\"customerName\"] = this.customerName !== undefined ? this.customerName : null;\n data[\"status\"] = this.status !== undefined ? this.status : null;\n data[\"dateSubmitted\"] = this.dateSubmitted !== undefined ? this.dateSubmitted : null;\n data[\"dateUpdated\"] = this.dateUpdated !== undefined ? this.dateUpdated : null;\n data[\"comment\"] = this.comment !== undefined ? this.comment : null;\n data[\"documentUId\"] = this.documentUId !== undefined ? this.documentUId : null;\n data[\"totalItems\"] = this.totalItems !== undefined ? this.totalItems : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): W9RequestDTO {\n const json = this.toJSON();\n let result = new W9RequestDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IW9RequestDTO extends IValidationBaseDTO {\n requestorId?: string | null;\n salesmanId?: number;\n firstName?: string | null;\n lastName?: string | null;\n ssn?: string | null;\n phoneNumber?: string | null;\n streetAddress?: string | null;\n city?: string | null;\n stateProvince?: string | null;\n zipCode?: string | null;\n country?: string | null;\n customerAccount?: string | null;\n customerName?: string | null;\n status?: string | null;\n dateSubmitted?: string | null;\n dateUpdated?: string | null;\n comment?: string | null;\n documentUId?: string | null;\n totalItems?: number;\n}\n\nexport class VinWarrantyRegistrationDTO extends ValidationBaseDTO implements IVinWarrantyRegistrationDTO {\n vin?: string | null;\n firstnName?: string | null;\n lastName?: string | null;\n nickname?: string | null;\n secondaryOwnerFirstName?: string | null;\n secondaryOwnerLastName?: string | null;\n street?: string | null;\n city?: string | null;\n stateCode?: string | null;\n zipCode?: string | null;\n countryCode?: string | null;\n primaryPhoneNumber?: string | null;\n secondaryPhoneNumber?: string | null;\n fax?: string | null;\n email?: string | null;\n customerSignature?: boolean;\n dateSold?: moment.Moment;\n retailSold?: boolean;\n\n constructor(data?: IVinWarrantyRegistrationDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.firstnName = _data[\"firstnName\"] !== undefined ? _data[\"firstnName\"] : null;\n this.lastName = _data[\"lastName\"] !== undefined ? _data[\"lastName\"] : null;\n this.nickname = _data[\"nickname\"] !== undefined ? _data[\"nickname\"] : null;\n this.secondaryOwnerFirstName = _data[\"secondaryOwnerFirstName\"] !== undefined ? _data[\"secondaryOwnerFirstName\"] : null;\n this.secondaryOwnerLastName = _data[\"secondaryOwnerLastName\"] !== undefined ? _data[\"secondaryOwnerLastName\"] : null;\n this.street = _data[\"street\"] !== undefined ? _data[\"street\"] : null;\n this.city = _data[\"city\"] !== undefined ? _data[\"city\"] : null;\n this.stateCode = _data[\"stateCode\"] !== undefined ? _data[\"stateCode\"] : null;\n this.zipCode = _data[\"zipCode\"] !== undefined ? _data[\"zipCode\"] : null;\n this.countryCode = _data[\"countryCode\"] !== undefined ? _data[\"countryCode\"] : null;\n this.primaryPhoneNumber = _data[\"primaryPhoneNumber\"] !== undefined ? _data[\"primaryPhoneNumber\"] : null;\n this.secondaryPhoneNumber = _data[\"secondaryPhoneNumber\"] !== undefined ? _data[\"secondaryPhoneNumber\"] : null;\n this.fax = _data[\"fax\"] !== undefined ? _data[\"fax\"] : null;\n this.email = _data[\"email\"] !== undefined ? _data[\"email\"] : null;\n this.customerSignature = _data[\"customerSignature\"] !== undefined ? _data[\"customerSignature\"] : null;\n this.dateSold = _data[\"dateSold\"] ? moment(_data[\"dateSold\"].toString()) : null;\n this.retailSold = _data[\"retailSold\"] !== undefined ? _data[\"retailSold\"] : null;\n }\n }\n\n static fromJS(data: any): VinWarrantyRegistrationDTO {\n data = typeof data === 'object' ? data : {};\n let result = new VinWarrantyRegistrationDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"firstnName\"] = this.firstnName !== undefined ? this.firstnName : null;\n data[\"lastName\"] = this.lastName !== undefined ? this.lastName : null;\n data[\"nickname\"] = this.nickname !== undefined ? this.nickname : null;\n data[\"secondaryOwnerFirstName\"] = this.secondaryOwnerFirstName !== undefined ? this.secondaryOwnerFirstName : null;\n data[\"secondaryOwnerLastName\"] = this.secondaryOwnerLastName !== undefined ? this.secondaryOwnerLastName : null;\n data[\"street\"] = this.street !== undefined ? this.street : null;\n data[\"city\"] = this.city !== undefined ? this.city : null;\n data[\"stateCode\"] = this.stateCode !== undefined ? this.stateCode : null;\n data[\"zipCode\"] = this.zipCode !== undefined ? this.zipCode : null;\n data[\"countryCode\"] = this.countryCode !== undefined ? this.countryCode : null;\n data[\"primaryPhoneNumber\"] = this.primaryPhoneNumber !== undefined ? this.primaryPhoneNumber : null;\n data[\"secondaryPhoneNumber\"] = this.secondaryPhoneNumber !== undefined ? this.secondaryPhoneNumber : null;\n data[\"fax\"] = this.fax !== undefined ? this.fax : null;\n data[\"email\"] = this.email !== undefined ? this.email : null;\n data[\"customerSignature\"] = this.customerSignature !== undefined ? this.customerSignature : null;\n data[\"dateSold\"] = this.dateSold ? this.dateSold.toISOString() : null;\n data[\"retailSold\"] = this.retailSold !== undefined ? this.retailSold : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): VinWarrantyRegistrationDTO {\n const json = this.toJSON();\n let result = new VinWarrantyRegistrationDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IVinWarrantyRegistrationDTO extends IValidationBaseDTO {\n vin?: string | null;\n firstnName?: string | null;\n lastName?: string | null;\n nickname?: string | null;\n secondaryOwnerFirstName?: string | null;\n secondaryOwnerLastName?: string | null;\n street?: string | null;\n city?: string | null;\n stateCode?: string | null;\n zipCode?: string | null;\n countryCode?: string | null;\n primaryPhoneNumber?: string | null;\n secondaryPhoneNumber?: string | null;\n fax?: string | null;\n email?: string | null;\n customerSignature?: boolean;\n dateSold?: moment.Moment;\n retailSold?: boolean;\n}\n\nexport class WarrantyRegistrationDTO implements IWarrantyRegistrationDTO {\n vin?: string | null;\n brandId?: string | null;\n brandName?: string | null;\n model?: string | null;\n status?: string | null;\n custAccount?: string | null;\n year?: number;\n dealerSold?: boolean;\n hasLegalLetter?: boolean;\n hasRecall?: boolean;\n ownerName?: string | null;\n completedDate?: moment.Moment;\n shipDate?: moment.Moment;\n registrationDate?: moment.Moment | null;\n isRegistered?: boolean;\n isAssociated?: boolean;\n totalItems?: number;\n\n constructor(data?: IWarrantyRegistrationDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.brandId = _data[\"brandId\"] !== undefined ? _data[\"brandId\"] : null;\n this.brandName = _data[\"brandName\"] !== undefined ? _data[\"brandName\"] : null;\n this.model = _data[\"model\"] !== undefined ? _data[\"model\"] : null;\n this.status = _data[\"status\"] !== undefined ? _data[\"status\"] : null;\n this.custAccount = _data[\"custAccount\"] !== undefined ? _data[\"custAccount\"] : null;\n this.year = _data[\"year\"] !== undefined ? _data[\"year\"] : null;\n this.dealerSold = _data[\"dealerSold\"] !== undefined ? _data[\"dealerSold\"] : null;\n this.hasLegalLetter = _data[\"hasLegalLetter\"] !== undefined ? _data[\"hasLegalLetter\"] : null;\n this.hasRecall = _data[\"hasRecall\"] !== undefined ? _data[\"hasRecall\"] : null;\n this.ownerName = _data[\"ownerName\"] !== undefined ? _data[\"ownerName\"] : null;\n this.completedDate = _data[\"completedDate\"] ? moment(_data[\"completedDate\"].toString()) : null;\n this.shipDate = _data[\"shipDate\"] ? moment(_data[\"shipDate\"].toString()) : null;\n this.registrationDate = _data[\"registrationDate\"] ? moment(_data[\"registrationDate\"].toString()) : null;\n this.isRegistered = _data[\"isRegistered\"] !== undefined ? _data[\"isRegistered\"] : null;\n this.isAssociated = _data[\"isAssociated\"] !== undefined ? _data[\"isAssociated\"] : null;\n this.totalItems = _data[\"totalItems\"] !== undefined ? _data[\"totalItems\"] : null;\n }\n }\n\n static fromJS(data: any): WarrantyRegistrationDTO {\n data = typeof data === 'object' ? data : {};\n let result = new WarrantyRegistrationDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"brandId\"] = this.brandId !== undefined ? this.brandId : null;\n data[\"brandName\"] = this.brandName !== undefined ? this.brandName : null;\n data[\"model\"] = this.model !== undefined ? this.model : null;\n data[\"status\"] = this.status !== undefined ? this.status : null;\n data[\"custAccount\"] = this.custAccount !== undefined ? this.custAccount : null;\n data[\"year\"] = this.year !== undefined ? this.year : null;\n data[\"dealerSold\"] = this.dealerSold !== undefined ? this.dealerSold : null;\n data[\"hasLegalLetter\"] = this.hasLegalLetter !== undefined ? this.hasLegalLetter : null;\n data[\"hasRecall\"] = this.hasRecall !== undefined ? this.hasRecall : null;\n data[\"ownerName\"] = this.ownerName !== undefined ? this.ownerName : null;\n data[\"completedDate\"] = this.completedDate ? this.completedDate.toISOString() : null;\n data[\"shipDate\"] = this.shipDate ? this.shipDate.toISOString() : null;\n data[\"registrationDate\"] = this.registrationDate ? this.registrationDate.toISOString() : null;\n data[\"isRegistered\"] = this.isRegistered !== undefined ? this.isRegistered : null;\n data[\"isAssociated\"] = this.isAssociated !== undefined ? this.isAssociated : null;\n data[\"totalItems\"] = this.totalItems !== undefined ? this.totalItems : null;\n return data;\n }\n\n clone(): WarrantyRegistrationDTO {\n const json = this.toJSON();\n let result = new WarrantyRegistrationDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IWarrantyRegistrationDTO {\n vin?: string | null;\n brandId?: string | null;\n brandName?: string | null;\n model?: string | null;\n status?: string | null;\n custAccount?: string | null;\n year?: number;\n dealerSold?: boolean;\n hasLegalLetter?: boolean;\n hasRecall?: boolean;\n ownerName?: string | null;\n completedDate?: moment.Moment;\n shipDate?: moment.Moment;\n registrationDate?: moment.Moment | null;\n isRegistered?: boolean;\n isAssociated?: boolean;\n totalItems?: number;\n}\n\nexport class WarrantyRegistrationSearchDTO extends PaginationBaseRequestDTO implements IWarrantyRegistrationSearchDTO {\n dealerLocationDynamicsId?: string | null;\n vin?: string | null;\n ownerName?: string | null;\n isGlobalSearch?: boolean;\n hideExpired?: boolean | null;\n retailSold?: boolean | null;\n searchType?: WarrantyRegistrationSearchQueryType;\n\n constructor(data?: IWarrantyRegistrationSearchDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.dealerLocationDynamicsId = _data[\"dealerLocationDynamicsId\"] !== undefined ? _data[\"dealerLocationDynamicsId\"] : null;\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.ownerName = _data[\"ownerName\"] !== undefined ? _data[\"ownerName\"] : null;\n this.isGlobalSearch = _data[\"isGlobalSearch\"] !== undefined ? _data[\"isGlobalSearch\"] : null;\n this.hideExpired = _data[\"hideExpired\"] !== undefined ? _data[\"hideExpired\"] : null;\n this.retailSold = _data[\"retailSold\"] !== undefined ? _data[\"retailSold\"] : null;\n this.searchType = _data[\"searchType\"] !== undefined ? _data[\"searchType\"] : null;\n }\n }\n\n static fromJS(data: any): WarrantyRegistrationSearchDTO {\n data = typeof data === 'object' ? data : {};\n let result = new WarrantyRegistrationSearchDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"dealerLocationDynamicsId\"] = this.dealerLocationDynamicsId !== undefined ? this.dealerLocationDynamicsId : null;\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"ownerName\"] = this.ownerName !== undefined ? this.ownerName : null;\n data[\"isGlobalSearch\"] = this.isGlobalSearch !== undefined ? this.isGlobalSearch : null;\n data[\"hideExpired\"] = this.hideExpired !== undefined ? this.hideExpired : null;\n data[\"retailSold\"] = this.retailSold !== undefined ? this.retailSold : null;\n data[\"searchType\"] = this.searchType !== undefined ? this.searchType : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): WarrantyRegistrationSearchDTO {\n const json = this.toJSON();\n let result = new WarrantyRegistrationSearchDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IWarrantyRegistrationSearchDTO extends IPaginationBaseRequestDTO {\n dealerLocationDynamicsId?: string | null;\n vin?: string | null;\n ownerName?: string | null;\n isGlobalSearch?: boolean;\n hideExpired?: boolean | null;\n retailSold?: boolean | null;\n searchType?: WarrantyRegistrationSearchQueryType;\n}\n\nexport enum WarrantyRegistrationSearchQueryType {\n All = 0,\n UnRegistered = 1,\n Registered = 2,\n}\n\nexport class VinOwnerHistoryDTO implements IVinOwnerHistoryDTO {\n ownerName?: string | null;\n activationDate?: moment.Moment;\n inactiveDate?: moment.Moment;\n ownerStatus?: string | null;\n inactiveReason?: string | null;\n inServiceDate?: moment.Moment;\n\n constructor(data?: IVinOwnerHistoryDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.ownerName = _data[\"ownerName\"] !== undefined ? _data[\"ownerName\"] : null;\n this.activationDate = _data[\"activationDate\"] ? moment(_data[\"activationDate\"].toString()) : null;\n this.inactiveDate = _data[\"inactiveDate\"] ? moment(_data[\"inactiveDate\"].toString()) : null;\n this.ownerStatus = _data[\"ownerStatus\"] !== undefined ? _data[\"ownerStatus\"] : null;\n this.inactiveReason = _data[\"inactiveReason\"] !== undefined ? _data[\"inactiveReason\"] : null;\n this.inServiceDate = _data[\"inServiceDate\"] ? moment(_data[\"inServiceDate\"].toString()) : null;\n }\n }\n\n static fromJS(data: any): VinOwnerHistoryDTO {\n data = typeof data === 'object' ? data : {};\n let result = new VinOwnerHistoryDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"ownerName\"] = this.ownerName !== undefined ? this.ownerName : null;\n data[\"activationDate\"] = this.activationDate ? this.activationDate.toISOString() : null;\n data[\"inactiveDate\"] = this.inactiveDate ? this.inactiveDate.toISOString() : null;\n data[\"ownerStatus\"] = this.ownerStatus !== undefined ? this.ownerStatus : null;\n data[\"inactiveReason\"] = this.inactiveReason !== undefined ? this.inactiveReason : null;\n data[\"inServiceDate\"] = this.inServiceDate ? this.inServiceDate.toISOString() : null;\n return data;\n }\n\n clone(): VinOwnerHistoryDTO {\n const json = this.toJSON();\n let result = new VinOwnerHistoryDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IVinOwnerHistoryDTO {\n ownerName?: string | null;\n activationDate?: moment.Moment;\n inactiveDate?: moment.Moment;\n ownerStatus?: string | null;\n inactiveReason?: string | null;\n inServiceDate?: moment.Moment;\n}\n\nexport class ApiException extends Error {\n message: string;\n status: number;\n response: string;\n headers: { [key: string]: any; };\n result: any;\n\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\n super();\n\n this.message = message;\n this.status = status;\n this.response = response;\n this.headers = headers;\n this.result = result;\n }\n\n protected isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\n if (result !== null && result !== undefined)\n throw result;\n else\n throw new ApiException(message, status, response, headers, null);\n}\n\nfunction isAxiosError(obj: any): obj is AxiosError {\n return obj && obj.isAxiosError === true;\n}\n\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n/**\n * Configuration class needed in base class.\n * The config is provided to the API client at initialization time.\n * API clients inherit from #AuthorizedApiBase and provide the config.\n */\n// @ts-nocheck\n/* eslint-disable */\n\nexport interface Config {\n transformHeaders: (options: AxiosRequestConfig) => AxiosRequestConfig;\n transformResult(\n url: string,\n response: AxiosResponse,\n processor: (response: AxiosResponse) => Promise\n ): Promise;\n}","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (!_vm.isProd)?_c('div',{staticClass:\"text-center bg-green text-bold text-orange envBanner\"},[_vm._v(\"\\n \"+_vm._s(_vm.environment)+\"\\n \"),(this.isNative && _vm.appInfo)?_c('span',[_vm._v(_vm._s(_vm.$t('support.versionLabel'))+\" -\\n \"+_vm._s(_vm.$t('support.versionText', { version: _vm.appVersion, build: _vm.appBuild })))]):_vm._e()]):_vm._e()}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\nimport { Vue, Component } from 'vue-property-decorator';\nimport { App, AppInfo } from '@capacitor/app';\n\n@Component\nexport default class EnvironmentBanner extends Vue {\n appInfo: AppInfo | null = null;\n environment = process.env.ENVIRONMENT?.toString().toUpperCase();\n\n get isProd(): boolean | undefined {\n return process.env.ENVIRONMENT?.includes('prod');\n }\n\n get isMobile(): boolean {\n return this.$tStore.state.setting.platform !== 'web';\n }\n\n async mounted() {\n this.appInfo =this.$q.platform.is.capacitor ? await App.getInfo() : null;\n }\n\n get appVersion(): string {\n let version = '';\n if (this.appInfo) {\n version = this.appInfo.version;\n if (version.includes('-')) {\n version = version.split('-')[0];\n }\n }\n return version;\n }\n\n get appBuild(): string {\n return this.appInfo ? this.appInfo.build : '';\n }\n\n get isNative() {\n return this.$tStore.state.setting.platform != 'web';\n }\n}\n","import mod from \"-!../../node_modules/@quasar/app/lib/webpack/loader.transform-quasar-imports.js!../../node_modules/ts-loader/index.js??ref--3-0!../../node_modules/@quasar/app/lib/webpack/loader.auto-import-client.js?kebab!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EnvironmentBanner.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/@quasar/app/lib/webpack/loader.transform-quasar-imports.js!../../node_modules/ts-loader/index.js??ref--3-0!../../node_modules/@quasar/app/lib/webpack/loader.auto-import-client.js?kebab!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EnvironmentBanner.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./EnvironmentBanner.vue?vue&type=template&id=2ed8722a&scoped=true&\"\nimport script from \"./EnvironmentBanner.vue?vue&type=script&lang=ts&\"\nexport * from \"./EnvironmentBanner.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./EnvironmentBanner.vue?vue&type=style&index=0&id=2ed8722a&lang=scss&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"2ed8722a\",\n null\n \n)\n\nexport default component.exports","import { Loader } from '@googlemaps/js-api-loader';\nimport LoggingService from './LoggingService';\n\nexport interface Point {\n latitude: number;\n longitude: number;\n}\n\nexport default class MapService {\n private static loader: Loader | undefined;\n\n private static instance: MapService | null = null;\n\n public static SetMapsLoader(apiKey: string): void {\n MapService.loader = new Loader({\n apiKey: apiKey,\n version: 'weekly'\n });\n }\n\n public static LoadMap(callback: () => void): void {\n if (MapService.loader == null) {\n throw Error('Loader has not been initialized');\n }\n\n MapService.loader.loadCallback(e => {\n if (e) {\n LoggingService.LogError('Failed to load google maps', e);\n } else {\n callback();\n }\n });\n }\n\n public static GetDistanceFromLatLon(point1: Point, point2: Point) {\n // Distance between two points using Haversine Formula\n const R = 6371; // Radius of the earth in km\n const dLat = MapService.deg2rad(point2.latitude - point1.latitude); // deg2rad below\n const dLon = MapService.deg2rad(point2.longitude - point1.longitude);\n const a =\n Math.sin(dLat / 2) * Math.sin(dLat / 2) +\n Math.cos(MapService.deg2rad(point1.latitude)) * Math.cos(MapService.deg2rad(point2.latitude)) *\n Math.sin(dLon / 2) * Math.sin(dLon / 2)\n ;\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n const d = R * c; // Distance in km\n return d * 0.621371; // convert to miles\n }\n\n static deg2rad(deg: number) {\n return deg * (Math.PI / 180)\n }\n}","export class ClaimTypes {\n static readonly NAME = 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name';\n static readonly EMAIL =\n 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress';\n static readonly NAME_IDENTIFIER = 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier';\n static readonly FIRST_NAME = 'FirstName';\n static readonly SURNAME = 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/surname';\n static readonly POSTAL_CODE = 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/postalcode';\n static readonly PERMISSION = 'Permission';\n static readonly VEHICLE_PERMISSION = 'VehiclePermission';\n static readonly VEHICLE_IDENTIFICATION_NUMBER = 'Vehicle';\n static readonly TERMS_AND_CONDITIONS_ACCEPTED = 'TermsAndConditionsAccepted';\n static readonly ALLOW_PUSH_NOTIFICATIONS = 'AllowPushNotifications';\n}\n\nexport class Permissions {\n static readonly ManageAllUsers = 'Manage All Users';\n static readonly ManageRoles = 'Manage Roles';\n static readonly ManageEmails = 'Manage Emails';\n static readonly InviteConsumerUser = 'Invite Consumer User';\n static readonly VehicleReadAccess = 'Vehicle Read Access';\n static readonly VehicleWriteAccess = 'Vehicle Write Access';\n}\n","//----------------------\n// \n// Generated using the NSwag toolchain v14.0.7.0 (NJsonSchema v11.0.0.0 (Newtonsoft.Json v13.0.0.0)) (http://NSwag.org)\n// \n//----------------------\n\n/* tslint:disable */\n/* eslint-disable */\n// ReSharper disable InconsistentNaming\n\nimport moment from \"moment\";\nimport axios, {\n AxiosError,\n AxiosInstance,\n AxiosRequestConfig,\n AxiosResponse,\n CancelToken\n} from \"axios\";\nexport class AuthorizedApiBase {\n private readonly config: Config;\n\n protected constructor(config: Config) {\n this.config = config;\n }\n\n protected transformOptions = (\n options: AxiosRequestConfig\n ): Promise => {\n return Promise.resolve(this.config.transformHeaders(options));\n };\n\n protected transformResult(\n url: string,\n response: AxiosResponse,\n processor: (response: AxiosResponse) => Promise\n ): Promise {\n return this.config.transformResult(url, response, processor);\n }\n}\n\nexport class IdentityClient_V2 extends AuthorizedApiBase {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Config, baseUrl?: string, instance?: AxiosInstance) {\n\n super(configuration);\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n login(dto: AuthenticationRequestDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/Login\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processLogin(_response));\n });\n }\n\n protected processLogin(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = AuthenticationResultDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = AuthenticationResultDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = AuthenticationResultDTO.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n refreshToken(dto: RefreshTokenDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/RefreshToken\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processRefreshToken(_response));\n });\n }\n\n protected processRefreshToken(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = AuthenticationResultDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = AuthenticationResultDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n revokeToken(dto: RefreshTokenDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/RevokeToken\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processRevokeToken(_response));\n });\n }\n\n protected processRevokeToken(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ProblemDetails.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n forgotPassword(forgotPasswordDTO: ForgotPasswordDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/ForgotPassword\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(forgotPasswordDTO);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processForgotPassword(_response));\n });\n }\n\n protected processForgotPassword(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 204) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ProblemDetails.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n resetPassword(resetPasswordDto: ResetPasswordDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/ResetPassword\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(resetPasswordDto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processResetPassword(_response));\n });\n }\n\n protected processResetPassword(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ResetPasswordDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ResetPasswordDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n register(dto: RegisterDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/Register\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processRegister(_response));\n });\n }\n\n protected processRegister(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = RegisterDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = RegisterDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n confirmEmail(dto: EmailConfirmationDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/ConfirmEmail\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processConfirmEmail(_response));\n });\n }\n\n protected processConfirmEmail(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = EmailConfirmationDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = EmailConfirmationDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n acceptTermsAndConditions(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/AcceptTermsAndConditions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processAcceptTermsAndConditions(_response));\n });\n }\n\n protected processAcceptTermsAndConditions(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n changePassword(dto: ChangePasswordDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/ChangePassword\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processChangePassword(_response));\n });\n }\n\n protected processChangePassword(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ChangePasswordDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ChangePasswordDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status === 401) {\n const _responseText = response.data;\n let result401: any = null;\n let resultData401 = _responseText;\n result401 = ProblemDetails.fromJS(resultData401);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result401);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n sendConfirmEmail(userId?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/SendConfirmEmail?\";\n if (userId !== undefined && userId !== null)\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSendConfirmEmail(_response));\n });\n }\n\n protected processSendConfirmEmail(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ProblemDetails.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getProfile(userId: string, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/UserProfile/{userId}\";\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetProfile(_response));\n });\n }\n\n protected processGetProfile(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ProfileDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateProfile(userId: string, userProfile: ProfileDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/UserProfile/{userId}\";\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(userProfile);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"PATCH\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateProfile(_response));\n });\n }\n\n protected processUpdateProfile(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ProfileDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ProfileDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getUsers(search?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/Users?\";\n if (search !== undefined && search !== null)\n url_ += \"search=\" + encodeURIComponent(\"\" + search) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetUsers(_response));\n });\n }\n\n protected processGetUsers(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(UserDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getUserVins(user?: string | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/Vins?\";\n if (user === null)\n throw new Error(\"The parameter 'user' cannot be null.\");\n else if (user !== undefined)\n url_ += \"user=\" + encodeURIComponent(\"\" + user) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetUserVins(_response));\n });\n }\n\n protected processGetUserVins(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(VehicleDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateUser(userId: string, user: UpdateUserDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/User/{userId}\";\n if (userId === undefined || userId === null)\n throw new Error(\"The parameter 'userId' must be defined.\");\n url_ = url_.replace(\"{userId}\", encodeURIComponent(\"\" + userId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(user);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"PATCH\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateUser(_response));\n });\n }\n\n protected processUpdateUser(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = UpdateUserDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = UpdateUserDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n toggleLockout(userId?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/ToggleLockout?\";\n if (userId !== undefined && userId !== null)\n url_ += \"userId=\" + encodeURIComponent(\"\" + userId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processToggleLockout(_response));\n });\n }\n\n protected processToggleLockout(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n getRoles(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/Roles\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processGetRoles(_response));\n });\n }\n\n protected processGetRoles(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(RoleDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n createRole(role: RoleDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/Role\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(role);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCreateRole(_response));\n });\n }\n\n protected processCreateRole(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = RoleDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = RoleDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n updateRole(roleId: string, role: RoleDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/Role/{roleId}\";\n if (roleId === undefined || roleId === null)\n throw new Error(\"The parameter 'roleId' must be defined.\");\n url_ = url_.replace(\"{roleId}\", encodeURIComponent(\"\" + roleId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(role);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"PATCH\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUpdateRole(_response));\n });\n }\n\n protected processUpdateRole(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = RoleDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = RoleDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteRole(roleId: string, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Identity/Role/{roleId}\";\n if (roleId === undefined || roleId === null)\n throw new Error(\"The parameter 'roleId' must be defined.\");\n url_ = url_.replace(\"{roleId}\", encodeURIComponent(\"\" + roleId));\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"DELETE\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteRole(_response));\n });\n }\n\n protected processDeleteRole(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = RoleDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = RoleDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class LookupClient_V2 extends AuthorizedApiBase {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Config, baseUrl?: string, instance?: AxiosInstance) {\n\n super(configuration);\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n spiffTypes(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/SpiffTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSpiffTypes(_response));\n });\n }\n\n protected processSpiffTypes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(SpiffTypeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n brands(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/Brands\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processBrands(_response));\n });\n }\n\n protected processBrands(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(BrandDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n catalogBrands(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/CatalogBrands\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCatalogBrands(_response));\n });\n }\n\n protected processCatalogBrands(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(CatalogBrandDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deliveryModes(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/DeliveryModes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeliveryModes(_response));\n });\n }\n\n protected processDeliveryModes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DeliveryModeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n catalogYearsByBrand(brandId?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/CatalogYearsByBrand?\";\n if (brandId !== undefined && brandId !== null)\n url_ += \"brandId=\" + encodeURIComponent(\"\" + brandId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCatalogYearsByBrand(_response));\n });\n }\n\n protected processCatalogYearsByBrand(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(item);\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n checklistTypes(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/ChecklistTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processChecklistTypes(_response));\n });\n }\n\n protected processChecklistTypes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ChecklistTypeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n companyType(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/CompanyType\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCompanyType(_response));\n });\n }\n\n protected processCompanyType(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = CompanyTypeDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n countries(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/Countries\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processCountries(_response));\n });\n }\n\n protected processCountries(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(CountryLookupDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n documentTypes(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/DocumentTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDocumentTypes(_response));\n });\n }\n\n protected processDocumentTypes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DocumentTypeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n states(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/States\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processStates(_response));\n });\n }\n\n protected processStates(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(StateLookupDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n settings(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/Settings\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSettings(_response));\n });\n }\n\n protected processSettings(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = SettingDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n dealerSettings(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/DealerSettings\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDealerSettings(_response));\n });\n }\n\n protected processDealerSettings(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = DealerSettingDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n termsAndConditions(companyType?: CompanyTypes | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/TermsAndConditions?\";\n if (companyType === null)\n throw new Error(\"The parameter 'companyType' cannot be null.\");\n else if (companyType !== undefined)\n url_ += \"companyType=\" + encodeURIComponent(\"\" + companyType) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processTermsAndConditions(_response));\n });\n }\n\n protected processTermsAndConditions(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = TermsAndConditionDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n roles(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/Roles\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processRoles(_response));\n });\n }\n\n protected processRoles(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(LookupTypeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n dealerUserRoles(dealerAccountUid?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/DealerUserRoles?\";\n if (dealerAccountUid !== undefined && dealerAccountUid !== null)\n url_ += \"dealerAccountUid=\" + encodeURIComponent(\"\" + dealerAccountUid) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDealerUserRoles(_response));\n });\n }\n\n protected processDealerUserRoles(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(LookupTypeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n dealerAdminRoles(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/DealerAdminRoles\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDealerAdminRoles(_response));\n });\n }\n\n protected processDealerAdminRoles(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(LookupTypeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n permissions(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/Permissions\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processPermissions(_response));\n });\n }\n\n protected processPermissions(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(LookupTypeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n postalCodeInfo(countryCode?: string | null | undefined, postalCode?: string | null | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/PostalCodeInfo?\";\n if (countryCode !== undefined && countryCode !== null)\n url_ += \"countryCode=\" + encodeURIComponent(\"\" + countryCode) + \"&\";\n if (postalCode !== undefined && postalCode !== null)\n url_ += \"postalCode=\" + encodeURIComponent(\"\" + postalCode) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processPostalCodeInfo(_response));\n });\n }\n\n protected processPostalCodeInfo(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(PostalCodeInfoDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n dynamicsCountries(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/DynamicsCountries\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDynamicsCountries(_response));\n });\n }\n\n protected processDynamicsCountries(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(DynamicsCountryDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n claimStatusTypes(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/ClaimStatusTypes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processClaimStatusTypes(_response));\n });\n }\n\n protected processClaimStatusTypes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(ClaimStatusTypeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n warrantyClassCodes(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/WarrantyClassCodes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processWarrantyClassCodes(_response));\n });\n }\n\n protected processWarrantyClassCodes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(WarrantyClassCodeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n warrantyRemedyCodes(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/WarrantyRemedyCodes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processWarrantyRemedyCodes(_response));\n });\n }\n\n protected processWarrantyRemedyCodes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(WarrantyRemedyCodeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n warrantyFailureCodes(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/WarrantyFailureCodes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processWarrantyFailureCodes(_response));\n });\n }\n\n protected processWarrantyFailureCodes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(WarrantyFailureCodeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n warrantyMiscChargeCodes(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/WarrantyMiscChargeCodes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processWarrantyMiscChargeCodes(_response));\n });\n }\n\n protected processWarrantyMiscChargeCodes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(WarrantyMiscChargeCodeDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n exportWarrantyClassCodes(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Lookup/ExportWarrantyClassCodes\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processExportWarrantyClassCodes(_response));\n });\n }\n\n protected processExportWarrantyClassCodes(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ExportDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class NotificationClient_V2 extends AuthorizedApiBase {\n protected instance: AxiosInstance;\n protected baseUrl: string;\n protected jsonParseReviver: ((key: string, value: any) => any) | undefined = undefined;\n\n constructor(configuration: Config, baseUrl?: string, instance?: AxiosInstance) {\n\n super(configuration);\n\n this.instance = instance || axios.create();\n\n this.baseUrl = baseUrl ?? \"\";\n\n }\n\n registerToken(dto: NotificationRegistrationDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Notification/RegisterToken\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processRegisterToken(_response));\n });\n }\n\n protected processRegisterToken(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = NotificationRegistrationDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = NotificationRegistrationDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n send(dto: NotificationDTO, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Notification/Send\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n const content_ = JSON.stringify(dto);\n\n let options_: AxiosRequestConfig = {\n data: content_,\n method: \"POST\",\n url: url_,\n headers: {\n \"Content-Type\": \"application/json\",\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processSend(_response));\n });\n }\n\n protected processSend(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = NotificationDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = NotificationDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n userNotifications(signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Notification/UserNotifications\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"GET\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processUserNotifications(_response));\n });\n }\n\n protected processUserNotifications(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n if (Array.isArray(resultData200)) {\n result200 = [] as any;\n for (let item of resultData200)\n result200!.push(UserNotificationDTO.fromJS(item));\n }\n else {\n result200 = null;\n }\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n if (Array.isArray(resultData400)) {\n result400 = [] as any;\n for (let item of resultData400)\n result400!.push(UserNotificationDTO.fromJS(item));\n }\n else {\n result400 = null;\n }\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n notificationRead(userNotifcationId?: string | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Notification/NotificationRead?\";\n if (userNotifcationId === null)\n throw new Error(\"The parameter 'userNotifcationId' cannot be null.\");\n else if (userNotifcationId !== undefined)\n url_ += \"userNotifcationId=\" + encodeURIComponent(\"\" + userNotifcationId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processNotificationRead(_response));\n });\n }\n\n protected processNotificationRead(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n return Promise.resolve(null as any);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ProblemDetails.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n\n deleteNotification(userNotifcationId?: string | undefined, signal?: AbortSignal): Promise {\n let url_ = this.baseUrl + \"/Notification/DeleteNotification?\";\n if (userNotifcationId === null)\n throw new Error(\"The parameter 'userNotifcationId' cannot be null.\");\n else if (userNotifcationId !== undefined)\n url_ += \"userNotifcationId=\" + encodeURIComponent(\"\" + userNotifcationId) + \"&\";\n url_ = url_.replace(/[?&]$/, \"\");\n\n let options_: AxiosRequestConfig = {\n method: \"POST\",\n url: url_,\n headers: {\n \"Accept\": \"application/json\"\n },\n signal\n };\n\n return this.transformOptions(options_).then(transformedOptions_ => {\n return this.instance.request(transformedOptions_);\n }).catch((_error: any) => {\n if (isAxiosError(_error) && _error.response) {\n return _error.response;\n } else {\n throw _error;\n }\n }).then((_response: AxiosResponse) => {\n return this.transformResult(url_, _response, (_response: AxiosResponse) => this.processDeleteNotification(_response));\n });\n }\n\n protected processDeleteNotification(response: AxiosResponse): Promise {\n const status = response.status;\n let _headers: any = {};\n if (response.headers && typeof response.headers === \"object\") {\n for (const k in response.headers) {\n if (response.headers.hasOwnProperty(k)) {\n _headers[k] = response.headers[k];\n }\n }\n }\n if (status === 200) {\n const _responseText = response.data;\n let result200: any = null;\n let resultData200 = _responseText;\n result200 = ApiResultDTO.fromJS(resultData200);\n return Promise.resolve(result200);\n\n } else if (status === 400) {\n const _responseText = response.data;\n let result400: any = null;\n let resultData400 = _responseText;\n result400 = ApiResultDTO.fromJS(resultData400);\n return throwException(\"A server side error occurred.\", status, _responseText, _headers, result400);\n\n } else if (status !== 200 && status !== 204) {\n const _responseText = response.data;\n return throwException(\"An unexpected server error occurred.\", status, _responseText, _headers);\n }\n return Promise.resolve(null as any);\n }\n}\n\nexport class ValidationBaseDTO implements IValidationBaseDTO {\n isValid?: boolean;\n errors?: string[] | null;\n\n constructor(data?: IValidationBaseDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.isValid = _data[\"isValid\"] !== undefined ? _data[\"isValid\"] : null;\n if (Array.isArray(_data[\"errors\"])) {\n this.errors = [] as any;\n for (let item of _data[\"errors\"])\n this.errors!.push(item);\n }\n else {\n this.errors = null;\n }\n }\n }\n\n static fromJS(data: any): ValidationBaseDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ValidationBaseDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"isValid\"] = this.isValid !== undefined ? this.isValid : null;\n if (Array.isArray(this.errors)) {\n data[\"errors\"] = [];\n for (let item of this.errors)\n data[\"errors\"].push(item);\n }\n return data;\n }\n\n clone(): ValidationBaseDTO {\n const json = this.toJSON();\n let result = new ValidationBaseDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IValidationBaseDTO {\n isValid?: boolean;\n errors?: string[] | null;\n}\n\nexport class AuthenticationResultDTO extends ValidationBaseDTO implements IAuthenticationResultDTO {\n succeeded?: boolean;\n isLockedOut?: boolean;\n accessToken?: string | null;\n refreshToken?: string | null;\n claims?: Claim[] | null;\n\n constructor(data?: IAuthenticationResultDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.succeeded = _data[\"succeeded\"] !== undefined ? _data[\"succeeded\"] : null;\n this.isLockedOut = _data[\"isLockedOut\"] !== undefined ? _data[\"isLockedOut\"] : null;\n this.accessToken = _data[\"accessToken\"] !== undefined ? _data[\"accessToken\"] : null;\n this.refreshToken = _data[\"refreshToken\"] !== undefined ? _data[\"refreshToken\"] : null;\n if (Array.isArray(_data[\"claims\"])) {\n this.claims = [] as any;\n for (let item of _data[\"claims\"])\n this.claims!.push(Claim.fromJS(item));\n }\n else {\n this.claims = null;\n }\n }\n }\n\n static fromJS(data: any): AuthenticationResultDTO {\n data = typeof data === 'object' ? data : {};\n let result = new AuthenticationResultDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"succeeded\"] = this.succeeded !== undefined ? this.succeeded : null;\n data[\"isLockedOut\"] = this.isLockedOut !== undefined ? this.isLockedOut : null;\n data[\"accessToken\"] = this.accessToken !== undefined ? this.accessToken : null;\n data[\"refreshToken\"] = this.refreshToken !== undefined ? this.refreshToken : null;\n if (Array.isArray(this.claims)) {\n data[\"claims\"] = [];\n for (let item of this.claims)\n data[\"claims\"].push(item.toJSON());\n }\n super.toJSON(data);\n return data;\n }\n\n clone(): AuthenticationResultDTO {\n const json = this.toJSON();\n let result = new AuthenticationResultDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IAuthenticationResultDTO extends IValidationBaseDTO {\n succeeded?: boolean;\n isLockedOut?: boolean;\n accessToken?: string | null;\n refreshToken?: string | null;\n claims?: Claim[] | null;\n}\n\nexport class Claim implements IClaim {\n issuer?: string;\n originalIssuer?: string;\n properties?: { [key: string]: string; };\n subject?: ClaimsIdentity | null;\n type?: string;\n value?: string;\n valueType?: string;\n\n constructor(data?: IClaim) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.issuer = _data[\"issuer\"] !== undefined ? _data[\"issuer\"] : null;\n this.originalIssuer = _data[\"originalIssuer\"] !== undefined ? _data[\"originalIssuer\"] : null;\n if (_data[\"properties\"]) {\n this.properties = {} as any;\n for (let key in _data[\"properties\"]) {\n if (_data[\"properties\"].hasOwnProperty(key))\n (this.properties)![key] = _data[\"properties\"][key] !== undefined ? _data[\"properties\"][key] : null;\n }\n }\n else {\n this.properties = null;\n }\n this.subject = _data[\"subject\"] ? ClaimsIdentity.fromJS(_data[\"subject\"]) : null;\n this.type = _data[\"type\"] !== undefined ? _data[\"type\"] : null;\n this.value = _data[\"value\"] !== undefined ? _data[\"value\"] : null;\n this.valueType = _data[\"valueType\"] !== undefined ? _data[\"valueType\"] : null;\n }\n }\n\n static fromJS(data: any): Claim {\n data = typeof data === 'object' ? data : {};\n let result = new Claim();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"issuer\"] = this.issuer !== undefined ? this.issuer : null;\n data[\"originalIssuer\"] = this.originalIssuer !== undefined ? this.originalIssuer : null;\n if (this.properties) {\n data[\"properties\"] = {};\n for (let key in this.properties) {\n if (this.properties.hasOwnProperty(key))\n (data[\"properties\"])[key] = this.properties[key] !== undefined ? this.properties[key] : null;\n }\n }\n data[\"subject\"] = this.subject ? this.subject.toJSON() : null;\n data[\"type\"] = this.type !== undefined ? this.type : null;\n data[\"value\"] = this.value !== undefined ? this.value : null;\n data[\"valueType\"] = this.valueType !== undefined ? this.valueType : null;\n return data;\n }\n\n clone(): Claim {\n const json = this.toJSON();\n let result = new Claim();\n result.init(json);\n return result;\n }\n}\n\nexport interface IClaim {\n issuer?: string;\n originalIssuer?: string;\n properties?: { [key: string]: string; };\n subject?: ClaimsIdentity | null;\n type?: string;\n value?: string;\n valueType?: string;\n}\n\nexport class ClaimsIdentity implements IClaimsIdentity {\n authenticationType?: string | null;\n isAuthenticated?: boolean;\n actor?: ClaimsIdentity | null;\n bootstrapContext?: any | null;\n claims?: Claim[];\n label?: string | null;\n name?: string | null;\n nameClaimType?: string;\n roleClaimType?: string;\n\n constructor(data?: IClaimsIdentity) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.authenticationType = _data[\"authenticationType\"] !== undefined ? _data[\"authenticationType\"] : null;\n this.isAuthenticated = _data[\"isAuthenticated\"] !== undefined ? _data[\"isAuthenticated\"] : null;\n this.actor = _data[\"actor\"] ? ClaimsIdentity.fromJS(_data[\"actor\"]) : null;\n this.bootstrapContext = _data[\"bootstrapContext\"] !== undefined ? _data[\"bootstrapContext\"] : null;\n if (Array.isArray(_data[\"claims\"])) {\n this.claims = [] as any;\n for (let item of _data[\"claims\"])\n this.claims!.push(Claim.fromJS(item));\n }\n else {\n this.claims = null;\n }\n this.label = _data[\"label\"] !== undefined ? _data[\"label\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.nameClaimType = _data[\"nameClaimType\"] !== undefined ? _data[\"nameClaimType\"] : null;\n this.roleClaimType = _data[\"roleClaimType\"] !== undefined ? _data[\"roleClaimType\"] : null;\n }\n }\n\n static fromJS(data: any): ClaimsIdentity {\n data = typeof data === 'object' ? data : {};\n let result = new ClaimsIdentity();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"authenticationType\"] = this.authenticationType !== undefined ? this.authenticationType : null;\n data[\"isAuthenticated\"] = this.isAuthenticated !== undefined ? this.isAuthenticated : null;\n data[\"actor\"] = this.actor ? this.actor.toJSON() : null;\n data[\"bootstrapContext\"] = this.bootstrapContext !== undefined ? this.bootstrapContext : null;\n if (Array.isArray(this.claims)) {\n data[\"claims\"] = [];\n for (let item of this.claims)\n data[\"claims\"].push(item.toJSON());\n }\n data[\"label\"] = this.label !== undefined ? this.label : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"nameClaimType\"] = this.nameClaimType !== undefined ? this.nameClaimType : null;\n data[\"roleClaimType\"] = this.roleClaimType !== undefined ? this.roleClaimType : null;\n return data;\n }\n\n clone(): ClaimsIdentity {\n const json = this.toJSON();\n let result = new ClaimsIdentity();\n result.init(json);\n return result;\n }\n}\n\nexport interface IClaimsIdentity {\n authenticationType?: string | null;\n isAuthenticated?: boolean;\n actor?: ClaimsIdentity | null;\n bootstrapContext?: any | null;\n claims?: Claim[];\n label?: string | null;\n name?: string | null;\n nameClaimType?: string;\n roleClaimType?: string;\n}\n\nexport class AuthenticationRequestDTO implements IAuthenticationRequestDTO {\n userName!: string;\n password!: string;\n companyType?: CompanyTypes;\n\n constructor(data?: IAuthenticationRequestDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.userName = _data[\"userName\"] !== undefined ? _data[\"userName\"] : null;\n this.password = _data[\"password\"] !== undefined ? _data[\"password\"] : null;\n this.companyType = _data[\"companyType\"] !== undefined ? _data[\"companyType\"] : null;\n }\n }\n\n static fromJS(data: any): AuthenticationRequestDTO {\n data = typeof data === 'object' ? data : {};\n let result = new AuthenticationRequestDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userName\"] = this.userName !== undefined ? this.userName : null;\n data[\"password\"] = this.password !== undefined ? this.password : null;\n data[\"companyType\"] = this.companyType !== undefined ? this.companyType : null;\n return data;\n }\n\n clone(): AuthenticationRequestDTO {\n const json = this.toJSON();\n let result = new AuthenticationRequestDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IAuthenticationRequestDTO {\n userName: string;\n password: string;\n companyType?: CompanyTypes;\n}\n\nexport enum CompanyTypes {\n Unknown = 0,\n HRV = 1,\n CRV = 2,\n DRV = 3,\n Dealer = 4,\n}\n\nexport class RefreshTokenDTO implements IRefreshTokenDTO {\n refreshToken!: string;\n expiredAccessToken?: string | null;\n\n constructor(data?: IRefreshTokenDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.refreshToken = _data[\"refreshToken\"] !== undefined ? _data[\"refreshToken\"] : null;\n this.expiredAccessToken = _data[\"expiredAccessToken\"] !== undefined ? _data[\"expiredAccessToken\"] : null;\n }\n }\n\n static fromJS(data: any): RefreshTokenDTO {\n data = typeof data === 'object' ? data : {};\n let result = new RefreshTokenDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"refreshToken\"] = this.refreshToken !== undefined ? this.refreshToken : null;\n data[\"expiredAccessToken\"] = this.expiredAccessToken !== undefined ? this.expiredAccessToken : null;\n return data;\n }\n\n clone(): RefreshTokenDTO {\n const json = this.toJSON();\n let result = new RefreshTokenDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IRefreshTokenDTO {\n refreshToken: string;\n expiredAccessToken?: string | null;\n}\n\nexport class ProblemDetails implements IProblemDetails {\n type?: string | null;\n title?: string | null;\n status?: number | null;\n detail?: string | null;\n instance?: string | null;\n\n [key: string]: any;\n\n constructor(data?: IProblemDetails) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n for (var property in _data) {\n if (_data.hasOwnProperty(property))\n this[property] = _data[property];\n }\n this.type = _data[\"type\"] !== undefined ? _data[\"type\"] : null;\n this.title = _data[\"title\"] !== undefined ? _data[\"title\"] : null;\n this.status = _data[\"status\"] !== undefined ? _data[\"status\"] : null;\n this.detail = _data[\"detail\"] !== undefined ? _data[\"detail\"] : null;\n this.instance = _data[\"instance\"] !== undefined ? _data[\"instance\"] : null;\n }\n }\n\n static fromJS(data: any): ProblemDetails {\n data = typeof data === 'object' ? data : {};\n let result = new ProblemDetails();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n for (var property in this) {\n if (this.hasOwnProperty(property))\n data[property] = this[property];\n }\n data[\"type\"] = this.type !== undefined ? this.type : null;\n data[\"title\"] = this.title !== undefined ? this.title : null;\n data[\"status\"] = this.status !== undefined ? this.status : null;\n data[\"detail\"] = this.detail !== undefined ? this.detail : null;\n data[\"instance\"] = this.instance !== undefined ? this.instance : null;\n return data;\n }\n\n clone(): ProblemDetails {\n const json = this.toJSON();\n let result = new ProblemDetails();\n result.init(json);\n return result;\n }\n}\n\nexport interface IProblemDetails {\n type?: string | null;\n title?: string | null;\n status?: number | null;\n detail?: string | null;\n instance?: string | null;\n\n [key: string]: any;\n}\n\nexport class ForgotPasswordDTO extends ValidationBaseDTO implements IForgotPasswordDTO {\n email!: string;\n companyType!: CompanyTypes;\n\n constructor(data?: IForgotPasswordDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.email = _data[\"email\"] !== undefined ? _data[\"email\"] : null;\n this.companyType = _data[\"companyType\"] !== undefined ? _data[\"companyType\"] : null;\n }\n }\n\n static fromJS(data: any): ForgotPasswordDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ForgotPasswordDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"email\"] = this.email !== undefined ? this.email : null;\n data[\"companyType\"] = this.companyType !== undefined ? this.companyType : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): ForgotPasswordDTO {\n const json = this.toJSON();\n let result = new ForgotPasswordDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IForgotPasswordDTO extends IValidationBaseDTO {\n email: string;\n companyType: CompanyTypes;\n}\n\nexport class ResetPasswordDTO extends ValidationBaseDTO implements IResetPasswordDTO {\n token!: string;\n email!: string;\n password!: string;\n confirmPassword!: string;\n\n constructor(data?: IResetPasswordDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.token = _data[\"token\"] !== undefined ? _data[\"token\"] : null;\n this.email = _data[\"email\"] !== undefined ? _data[\"email\"] : null;\n this.password = _data[\"password\"] !== undefined ? _data[\"password\"] : null;\n this.confirmPassword = _data[\"confirmPassword\"] !== undefined ? _data[\"confirmPassword\"] : null;\n }\n }\n\n static fromJS(data: any): ResetPasswordDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ResetPasswordDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"token\"] = this.token !== undefined ? this.token : null;\n data[\"email\"] = this.email !== undefined ? this.email : null;\n data[\"password\"] = this.password !== undefined ? this.password : null;\n data[\"confirmPassword\"] = this.confirmPassword !== undefined ? this.confirmPassword : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): ResetPasswordDTO {\n const json = this.toJSON();\n let result = new ResetPasswordDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IResetPasswordDTO extends IValidationBaseDTO {\n token: string;\n email: string;\n password: string;\n confirmPassword: string;\n}\n\nexport class RegisterDTO extends ValidationBaseDTO implements IRegisterDTO {\n userId?: string | null;\n firstName!: string;\n lastName!: string;\n email!: string;\n phoneNumber!: string;\n streetAddress!: string;\n city!: string;\n stateId!: number;\n zipCode!: string;\n countryId!: number;\n password!: string;\n confirmPassword!: string;\n invitationCode?: string | null;\n invitationId?: string | null;\n companyType?: CompanyTypes;\n\n constructor(data?: IRegisterDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.userId = _data[\"userId\"] !== undefined ? _data[\"userId\"] : null;\n this.firstName = _data[\"firstName\"] !== undefined ? _data[\"firstName\"] : null;\n this.lastName = _data[\"lastName\"] !== undefined ? _data[\"lastName\"] : null;\n this.email = _data[\"email\"] !== undefined ? _data[\"email\"] : null;\n this.phoneNumber = _data[\"phoneNumber\"] !== undefined ? _data[\"phoneNumber\"] : null;\n this.streetAddress = _data[\"streetAddress\"] !== undefined ? _data[\"streetAddress\"] : null;\n this.city = _data[\"city\"] !== undefined ? _data[\"city\"] : null;\n this.stateId = _data[\"stateId\"] !== undefined ? _data[\"stateId\"] : null;\n this.zipCode = _data[\"zipCode\"] !== undefined ? _data[\"zipCode\"] : null;\n this.countryId = _data[\"countryId\"] !== undefined ? _data[\"countryId\"] : null;\n this.password = _data[\"password\"] !== undefined ? _data[\"password\"] : null;\n this.confirmPassword = _data[\"confirmPassword\"] !== undefined ? _data[\"confirmPassword\"] : null;\n this.invitationCode = _data[\"invitationCode\"] !== undefined ? _data[\"invitationCode\"] : null;\n this.invitationId = _data[\"invitationId\"] !== undefined ? _data[\"invitationId\"] : null;\n this.companyType = _data[\"companyType\"] !== undefined ? _data[\"companyType\"] : null;\n }\n }\n\n static fromJS(data: any): RegisterDTO {\n data = typeof data === 'object' ? data : {};\n let result = new RegisterDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId !== undefined ? this.userId : null;\n data[\"firstName\"] = this.firstName !== undefined ? this.firstName : null;\n data[\"lastName\"] = this.lastName !== undefined ? this.lastName : null;\n data[\"email\"] = this.email !== undefined ? this.email : null;\n data[\"phoneNumber\"] = this.phoneNumber !== undefined ? this.phoneNumber : null;\n data[\"streetAddress\"] = this.streetAddress !== undefined ? this.streetAddress : null;\n data[\"city\"] = this.city !== undefined ? this.city : null;\n data[\"stateId\"] = this.stateId !== undefined ? this.stateId : null;\n data[\"zipCode\"] = this.zipCode !== undefined ? this.zipCode : null;\n data[\"countryId\"] = this.countryId !== undefined ? this.countryId : null;\n data[\"password\"] = this.password !== undefined ? this.password : null;\n data[\"confirmPassword\"] = this.confirmPassword !== undefined ? this.confirmPassword : null;\n data[\"invitationCode\"] = this.invitationCode !== undefined ? this.invitationCode : null;\n data[\"invitationId\"] = this.invitationId !== undefined ? this.invitationId : null;\n data[\"companyType\"] = this.companyType !== undefined ? this.companyType : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): RegisterDTO {\n const json = this.toJSON();\n let result = new RegisterDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IRegisterDTO extends IValidationBaseDTO {\n userId?: string | null;\n firstName: string;\n lastName: string;\n email: string;\n phoneNumber: string;\n streetAddress: string;\n city: string;\n stateId: number;\n zipCode: string;\n countryId: number;\n password: string;\n confirmPassword: string;\n invitationCode?: string | null;\n invitationId?: string | null;\n companyType?: CompanyTypes;\n}\n\nexport class EmailConfirmationDTO extends ValidationBaseDTO implements IEmailConfirmationDTO {\n id?: string | null;\n code?: string | null;\n companyType?: number;\n\n constructor(data?: IEmailConfirmationDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.code = _data[\"code\"] !== undefined ? _data[\"code\"] : null;\n this.companyType = _data[\"companyType\"] !== undefined ? _data[\"companyType\"] : null;\n }\n }\n\n static fromJS(data: any): EmailConfirmationDTO {\n data = typeof data === 'object' ? data : {};\n let result = new EmailConfirmationDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"code\"] = this.code !== undefined ? this.code : null;\n data[\"companyType\"] = this.companyType !== undefined ? this.companyType : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): EmailConfirmationDTO {\n const json = this.toJSON();\n let result = new EmailConfirmationDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IEmailConfirmationDTO extends IValidationBaseDTO {\n id?: string | null;\n code?: string | null;\n companyType?: number;\n}\n\nexport class ChangePasswordDTO extends ValidationBaseDTO implements IChangePasswordDTO {\n currentPassword!: string;\n newPassword!: string;\n confirmPassword!: string;\n\n constructor(data?: IChangePasswordDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.currentPassword = _data[\"currentPassword\"] !== undefined ? _data[\"currentPassword\"] : null;\n this.newPassword = _data[\"newPassword\"] !== undefined ? _data[\"newPassword\"] : null;\n this.confirmPassword = _data[\"confirmPassword\"] !== undefined ? _data[\"confirmPassword\"] : null;\n }\n }\n\n static fromJS(data: any): ChangePasswordDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ChangePasswordDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"currentPassword\"] = this.currentPassword !== undefined ? this.currentPassword : null;\n data[\"newPassword\"] = this.newPassword !== undefined ? this.newPassword : null;\n data[\"confirmPassword\"] = this.confirmPassword !== undefined ? this.confirmPassword : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): ChangePasswordDTO {\n const json = this.toJSON();\n let result = new ChangePasswordDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IChangePasswordDTO extends IValidationBaseDTO {\n currentPassword: string;\n newPassword: string;\n confirmPassword: string;\n}\n\nexport class ProfileDTO extends ValidationBaseDTO implements IProfileDTO {\n userId?: string;\n firstName!: string;\n lastName!: string;\n phoneNumber!: string;\n streetAddress!: string;\n city!: string;\n stateId!: number;\n zipCode!: string;\n countryId!: number;\n allowEmailNotifications!: boolean;\n allowPushNotifications!: boolean;\n\n constructor(data?: IProfileDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.userId = _data[\"userId\"] !== undefined ? _data[\"userId\"] : null;\n this.firstName = _data[\"firstName\"] !== undefined ? _data[\"firstName\"] : null;\n this.lastName = _data[\"lastName\"] !== undefined ? _data[\"lastName\"] : null;\n this.phoneNumber = _data[\"phoneNumber\"] !== undefined ? _data[\"phoneNumber\"] : null;\n this.streetAddress = _data[\"streetAddress\"] !== undefined ? _data[\"streetAddress\"] : null;\n this.city = _data[\"city\"] !== undefined ? _data[\"city\"] : null;\n this.stateId = _data[\"stateId\"] !== undefined ? _data[\"stateId\"] : null;\n this.zipCode = _data[\"zipCode\"] !== undefined ? _data[\"zipCode\"] : null;\n this.countryId = _data[\"countryId\"] !== undefined ? _data[\"countryId\"] : null;\n this.allowEmailNotifications = _data[\"allowEmailNotifications\"] !== undefined ? _data[\"allowEmailNotifications\"] : null;\n this.allowPushNotifications = _data[\"allowPushNotifications\"] !== undefined ? _data[\"allowPushNotifications\"] : null;\n }\n }\n\n static fromJS(data: any): ProfileDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ProfileDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId !== undefined ? this.userId : null;\n data[\"firstName\"] = this.firstName !== undefined ? this.firstName : null;\n data[\"lastName\"] = this.lastName !== undefined ? this.lastName : null;\n data[\"phoneNumber\"] = this.phoneNumber !== undefined ? this.phoneNumber : null;\n data[\"streetAddress\"] = this.streetAddress !== undefined ? this.streetAddress : null;\n data[\"city\"] = this.city !== undefined ? this.city : null;\n data[\"stateId\"] = this.stateId !== undefined ? this.stateId : null;\n data[\"zipCode\"] = this.zipCode !== undefined ? this.zipCode : null;\n data[\"countryId\"] = this.countryId !== undefined ? this.countryId : null;\n data[\"allowEmailNotifications\"] = this.allowEmailNotifications !== undefined ? this.allowEmailNotifications : null;\n data[\"allowPushNotifications\"] = this.allowPushNotifications !== undefined ? this.allowPushNotifications : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): ProfileDTO {\n const json = this.toJSON();\n let result = new ProfileDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IProfileDTO extends IValidationBaseDTO {\n userId?: string;\n firstName: string;\n lastName: string;\n phoneNumber: string;\n streetAddress: string;\n city: string;\n stateId: number;\n zipCode: string;\n countryId: number;\n allowEmailNotifications: boolean;\n allowPushNotifications: boolean;\n}\n\nexport class UserDTO extends ValidationBaseDTO implements IUserDTO {\n userId?: string;\n userName?: string | null;\n email?: string | null;\n firstName?: string | null;\n lastName?: string | null;\n currentTitle?: string | null;\n zipCode?: string | null;\n countryCode?: string | null;\n phoneNumber?: string | null;\n lockoutEnd?: moment.Moment | null;\n emailConfirmed?: boolean;\n roles?: string[] | null;\n lastLoginDate?: moment.Moment | null;\n createdDate?: moment.Moment;\n\n constructor(data?: IUserDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.userId = _data[\"userId\"] !== undefined ? _data[\"userId\"] : null;\n this.userName = _data[\"userName\"] !== undefined ? _data[\"userName\"] : null;\n this.email = _data[\"email\"] !== undefined ? _data[\"email\"] : null;\n this.firstName = _data[\"firstName\"] !== undefined ? _data[\"firstName\"] : null;\n this.lastName = _data[\"lastName\"] !== undefined ? _data[\"lastName\"] : null;\n this.currentTitle = _data[\"currentTitle\"] !== undefined ? _data[\"currentTitle\"] : null;\n this.zipCode = _data[\"zipCode\"] !== undefined ? _data[\"zipCode\"] : null;\n this.countryCode = _data[\"countryCode\"] !== undefined ? _data[\"countryCode\"] : null;\n this.phoneNumber = _data[\"phoneNumber\"] !== undefined ? _data[\"phoneNumber\"] : null;\n this.lockoutEnd = _data[\"lockoutEnd\"] ? moment(_data[\"lockoutEnd\"].toString()) : null;\n this.emailConfirmed = _data[\"emailConfirmed\"] !== undefined ? _data[\"emailConfirmed\"] : null;\n if (Array.isArray(_data[\"roles\"])) {\n this.roles = [] as any;\n for (let item of _data[\"roles\"])\n this.roles!.push(item);\n }\n else {\n this.roles = null;\n }\n this.lastLoginDate = _data[\"lastLoginDate\"] ? moment(_data[\"lastLoginDate\"].toString()) : null;\n this.createdDate = _data[\"createdDate\"] ? moment(_data[\"createdDate\"].toString()) : null;\n }\n }\n\n static fromJS(data: any): UserDTO {\n data = typeof data === 'object' ? data : {};\n let result = new UserDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId !== undefined ? this.userId : null;\n data[\"userName\"] = this.userName !== undefined ? this.userName : null;\n data[\"email\"] = this.email !== undefined ? this.email : null;\n data[\"firstName\"] = this.firstName !== undefined ? this.firstName : null;\n data[\"lastName\"] = this.lastName !== undefined ? this.lastName : null;\n data[\"currentTitle\"] = this.currentTitle !== undefined ? this.currentTitle : null;\n data[\"zipCode\"] = this.zipCode !== undefined ? this.zipCode : null;\n data[\"countryCode\"] = this.countryCode !== undefined ? this.countryCode : null;\n data[\"phoneNumber\"] = this.phoneNumber !== undefined ? this.phoneNumber : null;\n data[\"lockoutEnd\"] = this.lockoutEnd ? this.lockoutEnd.toISOString() : null;\n data[\"emailConfirmed\"] = this.emailConfirmed !== undefined ? this.emailConfirmed : null;\n if (Array.isArray(this.roles)) {\n data[\"roles\"] = [];\n for (let item of this.roles)\n data[\"roles\"].push(item);\n }\n data[\"lastLoginDate\"] = this.lastLoginDate ? this.lastLoginDate.toISOString() : null;\n data[\"createdDate\"] = this.createdDate ? this.createdDate.toISOString() : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): UserDTO {\n const json = this.toJSON();\n let result = new UserDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IUserDTO extends IValidationBaseDTO {\n userId?: string;\n userName?: string | null;\n email?: string | null;\n firstName?: string | null;\n lastName?: string | null;\n currentTitle?: string | null;\n zipCode?: string | null;\n countryCode?: string | null;\n phoneNumber?: string | null;\n lockoutEnd?: moment.Moment | null;\n emailConfirmed?: boolean;\n roles?: string[] | null;\n lastLoginDate?: moment.Moment | null;\n createdDate?: moment.Moment;\n}\n\nexport class VehicleDTO implements IVehicleDTO {\n vehicleId?: number;\n vehicleUid?: string;\n vin?: string | null;\n name?: string | null;\n make?: string | null;\n model?: string | null;\n year?: number;\n brandName?: string | null;\n\n constructor(data?: IVehicleDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.vehicleId = _data[\"vehicleId\"] !== undefined ? _data[\"vehicleId\"] : null;\n this.vehicleUid = _data[\"vehicleUid\"] !== undefined ? _data[\"vehicleUid\"] : null;\n this.vin = _data[\"vin\"] !== undefined ? _data[\"vin\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.make = _data[\"make\"] !== undefined ? _data[\"make\"] : null;\n this.model = _data[\"model\"] !== undefined ? _data[\"model\"] : null;\n this.year = _data[\"year\"] !== undefined ? _data[\"year\"] : null;\n this.brandName = _data[\"brandName\"] !== undefined ? _data[\"brandName\"] : null;\n }\n }\n\n static fromJS(data: any): VehicleDTO {\n data = typeof data === 'object' ? data : {};\n let result = new VehicleDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"vehicleId\"] = this.vehicleId !== undefined ? this.vehicleId : null;\n data[\"vehicleUid\"] = this.vehicleUid !== undefined ? this.vehicleUid : null;\n data[\"vin\"] = this.vin !== undefined ? this.vin : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"make\"] = this.make !== undefined ? this.make : null;\n data[\"model\"] = this.model !== undefined ? this.model : null;\n data[\"year\"] = this.year !== undefined ? this.year : null;\n data[\"brandName\"] = this.brandName !== undefined ? this.brandName : null;\n return data;\n }\n\n clone(): VehicleDTO {\n const json = this.toJSON();\n let result = new VehicleDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IVehicleDTO {\n vehicleId?: number;\n vehicleUid?: string;\n vin?: string | null;\n name?: string | null;\n make?: string | null;\n model?: string | null;\n year?: number;\n brandName?: string | null;\n}\n\nexport class UpdateUserDTO extends ValidationBaseDTO implements IUpdateUserDTO {\n userId?: string;\n firstName!: string;\n lastName!: string;\n roles?: string[] | null;\n\n constructor(data?: IUpdateUserDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.userId = _data[\"userId\"] !== undefined ? _data[\"userId\"] : null;\n this.firstName = _data[\"firstName\"] !== undefined ? _data[\"firstName\"] : null;\n this.lastName = _data[\"lastName\"] !== undefined ? _data[\"lastName\"] : null;\n if (Array.isArray(_data[\"roles\"])) {\n this.roles = [] as any;\n for (let item of _data[\"roles\"])\n this.roles!.push(item);\n }\n else {\n this.roles = null;\n }\n }\n }\n\n static fromJS(data: any): UpdateUserDTO {\n data = typeof data === 'object' ? data : {};\n let result = new UpdateUserDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId !== undefined ? this.userId : null;\n data[\"firstName\"] = this.firstName !== undefined ? this.firstName : null;\n data[\"lastName\"] = this.lastName !== undefined ? this.lastName : null;\n if (Array.isArray(this.roles)) {\n data[\"roles\"] = [];\n for (let item of this.roles)\n data[\"roles\"].push(item);\n }\n super.toJSON(data);\n return data;\n }\n\n clone(): UpdateUserDTO {\n const json = this.toJSON();\n let result = new UpdateUserDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IUpdateUserDTO extends IValidationBaseDTO {\n userId?: string;\n firstName: string;\n lastName: string;\n roles?: string[] | null;\n}\n\nexport class RoleDTO extends ValidationBaseDTO implements IRoleDTO {\n id?: string | null;\n name!: string;\n isSystemRole?: boolean;\n permissions?: PermissionDTO[] | null;\n\n constructor(data?: IRoleDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.isSystemRole = _data[\"isSystemRole\"] !== undefined ? _data[\"isSystemRole\"] : null;\n if (Array.isArray(_data[\"permissions\"])) {\n this.permissions = [] as any;\n for (let item of _data[\"permissions\"])\n this.permissions!.push(PermissionDTO.fromJS(item));\n }\n else {\n this.permissions = null;\n }\n }\n }\n\n static fromJS(data: any): RoleDTO {\n data = typeof data === 'object' ? data : {};\n let result = new RoleDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"isSystemRole\"] = this.isSystemRole !== undefined ? this.isSystemRole : null;\n if (Array.isArray(this.permissions)) {\n data[\"permissions\"] = [];\n for (let item of this.permissions)\n data[\"permissions\"].push(item.toJSON());\n }\n super.toJSON(data);\n return data;\n }\n\n clone(): RoleDTO {\n const json = this.toJSON();\n let result = new RoleDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IRoleDTO extends IValidationBaseDTO {\n id?: string | null;\n name: string;\n isSystemRole?: boolean;\n permissions?: PermissionDTO[] | null;\n}\n\nexport class PermissionDTO implements IPermissionDTO {\n id?: string;\n name?: string | null;\n description?: string | null;\n\n constructor(data?: IPermissionDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n }\n }\n\n static fromJS(data: any): PermissionDTO {\n data = typeof data === 'object' ? data : {};\n let result = new PermissionDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"description\"] = this.description !== undefined ? this.description : null;\n return data;\n }\n\n clone(): PermissionDTO {\n const json = this.toJSON();\n let result = new PermissionDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IPermissionDTO {\n id?: string;\n name?: string | null;\n description?: string | null;\n}\n\nexport class SpiffTypeDTO implements ISpiffTypeDTO {\n label?: string | null;\n value?: number;\n\n constructor(data?: ISpiffTypeDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.label = _data[\"label\"] !== undefined ? _data[\"label\"] : null;\n this.value = _data[\"value\"] !== undefined ? _data[\"value\"] : null;\n }\n }\n\n static fromJS(data: any): SpiffTypeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new SpiffTypeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"label\"] = this.label !== undefined ? this.label : null;\n data[\"value\"] = this.value !== undefined ? this.value : null;\n return data;\n }\n\n clone(): SpiffTypeDTO {\n const json = this.toJSON();\n let result = new SpiffTypeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ISpiffTypeDTO {\n label?: string | null;\n value?: number;\n}\n\nexport class BrandDTO implements IBrandDTO {\n brandId?: string | null;\n name?: string | null;\n company?: string | null;\n supportEmail?: string | null;\n\n constructor(data?: IBrandDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.brandId = _data[\"brandId\"] !== undefined ? _data[\"brandId\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.company = _data[\"company\"] !== undefined ? _data[\"company\"] : null;\n this.supportEmail = _data[\"supportEmail\"] !== undefined ? _data[\"supportEmail\"] : null;\n }\n }\n\n static fromJS(data: any): BrandDTO {\n data = typeof data === 'object' ? data : {};\n let result = new BrandDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"brandId\"] = this.brandId !== undefined ? this.brandId : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"company\"] = this.company !== undefined ? this.company : null;\n data[\"supportEmail\"] = this.supportEmail !== undefined ? this.supportEmail : null;\n return data;\n }\n\n clone(): BrandDTO {\n const json = this.toJSON();\n let result = new BrandDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IBrandDTO {\n brandId?: string | null;\n name?: string | null;\n company?: string | null;\n supportEmail?: string | null;\n}\n\nexport class CatalogBrandDTO extends BrandDTO implements ICatalogBrandDTO {\n\n constructor(data?: ICatalogBrandDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): CatalogBrandDTO {\n data = typeof data === 'object' ? data : {};\n let result = new CatalogBrandDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n\n clone(): CatalogBrandDTO {\n const json = this.toJSON();\n let result = new CatalogBrandDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICatalogBrandDTO extends IBrandDTO {\n}\n\nexport class DeliveryModeDTO implements IDeliveryModeDTO {\n id?: string | null;\n description?: string | null;\n\n constructor(data?: IDeliveryModeDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n }\n }\n\n static fromJS(data: any): DeliveryModeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DeliveryModeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"description\"] = this.description !== undefined ? this.description : null;\n return data;\n }\n\n clone(): DeliveryModeDTO {\n const json = this.toJSON();\n let result = new DeliveryModeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDeliveryModeDTO {\n id?: string | null;\n description?: string | null;\n}\n\nexport class ChecklistTypeDTO implements IChecklistTypeDTO {\n id?: number;\n name?: string | null;\n sortOrder?: number;\n\n constructor(data?: IChecklistTypeDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.sortOrder = _data[\"sortOrder\"] !== undefined ? _data[\"sortOrder\"] : null;\n }\n }\n\n static fromJS(data: any): ChecklistTypeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ChecklistTypeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"sortOrder\"] = this.sortOrder !== undefined ? this.sortOrder : null;\n return data;\n }\n\n clone(): ChecklistTypeDTO {\n const json = this.toJSON();\n let result = new ChecklistTypeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IChecklistTypeDTO {\n id?: number;\n name?: string | null;\n sortOrder?: number;\n}\n\nexport class CompanyTypeDTO implements ICompanyTypeDTO {\n id?: number;\n name?: string | null;\n sortOrder?: number;\n companyType?: CompanyTypes;\n companyAbbreviation?: string | null;\n webPortalBaseUrl?: string | null;\n fromEmailName?: string | null;\n fromEmailAddress?: string | null;\n appName?: string | null;\n supportEmailAddress?: string | null;\n partsEmailAddress?: string | null;\n serviceEmailAddress?: string | null;\n supportPhoneNumber?: string | null;\n logoPath?: string | null;\n companyAddress?: string | null;\n\n constructor(data?: ICompanyTypeDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.sortOrder = _data[\"sortOrder\"] !== undefined ? _data[\"sortOrder\"] : null;\n this.companyType = _data[\"companyType\"] !== undefined ? _data[\"companyType\"] : null;\n this.companyAbbreviation = _data[\"companyAbbreviation\"] !== undefined ? _data[\"companyAbbreviation\"] : null;\n this.webPortalBaseUrl = _data[\"webPortalBaseUrl\"] !== undefined ? _data[\"webPortalBaseUrl\"] : null;\n this.fromEmailName = _data[\"fromEmailName\"] !== undefined ? _data[\"fromEmailName\"] : null;\n this.fromEmailAddress = _data[\"fromEmailAddress\"] !== undefined ? _data[\"fromEmailAddress\"] : null;\n this.appName = _data[\"appName\"] !== undefined ? _data[\"appName\"] : null;\n this.supportEmailAddress = _data[\"supportEmailAddress\"] !== undefined ? _data[\"supportEmailAddress\"] : null;\n this.partsEmailAddress = _data[\"partsEmailAddress\"] !== undefined ? _data[\"partsEmailAddress\"] : null;\n this.serviceEmailAddress = _data[\"serviceEmailAddress\"] !== undefined ? _data[\"serviceEmailAddress\"] : null;\n this.supportPhoneNumber = _data[\"supportPhoneNumber\"] !== undefined ? _data[\"supportPhoneNumber\"] : null;\n this.logoPath = _data[\"logoPath\"] !== undefined ? _data[\"logoPath\"] : null;\n this.companyAddress = _data[\"companyAddress\"] !== undefined ? _data[\"companyAddress\"] : null;\n }\n }\n\n static fromJS(data: any): CompanyTypeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new CompanyTypeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"sortOrder\"] = this.sortOrder !== undefined ? this.sortOrder : null;\n data[\"companyType\"] = this.companyType !== undefined ? this.companyType : null;\n data[\"companyAbbreviation\"] = this.companyAbbreviation !== undefined ? this.companyAbbreviation : null;\n data[\"webPortalBaseUrl\"] = this.webPortalBaseUrl !== undefined ? this.webPortalBaseUrl : null;\n data[\"fromEmailName\"] = this.fromEmailName !== undefined ? this.fromEmailName : null;\n data[\"fromEmailAddress\"] = this.fromEmailAddress !== undefined ? this.fromEmailAddress : null;\n data[\"appName\"] = this.appName !== undefined ? this.appName : null;\n data[\"supportEmailAddress\"] = this.supportEmailAddress !== undefined ? this.supportEmailAddress : null;\n data[\"partsEmailAddress\"] = this.partsEmailAddress !== undefined ? this.partsEmailAddress : null;\n data[\"serviceEmailAddress\"] = this.serviceEmailAddress !== undefined ? this.serviceEmailAddress : null;\n data[\"supportPhoneNumber\"] = this.supportPhoneNumber !== undefined ? this.supportPhoneNumber : null;\n data[\"logoPath\"] = this.logoPath !== undefined ? this.logoPath : null;\n data[\"companyAddress\"] = this.companyAddress !== undefined ? this.companyAddress : null;\n return data;\n }\n\n clone(): CompanyTypeDTO {\n const json = this.toJSON();\n let result = new CompanyTypeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICompanyTypeDTO {\n id?: number;\n name?: string | null;\n sortOrder?: number;\n companyType?: CompanyTypes;\n companyAbbreviation?: string | null;\n webPortalBaseUrl?: string | null;\n fromEmailName?: string | null;\n fromEmailAddress?: string | null;\n appName?: string | null;\n supportEmailAddress?: string | null;\n partsEmailAddress?: string | null;\n serviceEmailAddress?: string | null;\n supportPhoneNumber?: string | null;\n logoPath?: string | null;\n companyAddress?: string | null;\n}\n\nexport class LookupTypeDTO implements ILookupTypeDTO {\n id?: number;\n uid?: string | null;\n name?: string | null;\n description?: string | null;\n sortOrder?: number;\n\n constructor(data?: ILookupTypeDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.uid = _data[\"uid\"] !== undefined ? _data[\"uid\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n this.sortOrder = _data[\"sortOrder\"] !== undefined ? _data[\"sortOrder\"] : null;\n }\n }\n\n static fromJS(data: any): LookupTypeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new LookupTypeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"uid\"] = this.uid !== undefined ? this.uid : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"description\"] = this.description !== undefined ? this.description : null;\n data[\"sortOrder\"] = this.sortOrder !== undefined ? this.sortOrder : null;\n return data;\n }\n\n clone(): LookupTypeDTO {\n const json = this.toJSON();\n let result = new LookupTypeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ILookupTypeDTO {\n id?: number;\n uid?: string | null;\n name?: string | null;\n description?: string | null;\n sortOrder?: number;\n}\n\nexport class CountryLookupDTO extends LookupTypeDTO implements ICountryLookupDTO {\n code?: string | null;\n\n constructor(data?: ICountryLookupDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.code = _data[\"code\"] !== undefined ? _data[\"code\"] : null;\n }\n }\n\n static fromJS(data: any): CountryLookupDTO {\n data = typeof data === 'object' ? data : {};\n let result = new CountryLookupDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"code\"] = this.code !== undefined ? this.code : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): CountryLookupDTO {\n const json = this.toJSON();\n let result = new CountryLookupDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ICountryLookupDTO extends ILookupTypeDTO {\n code?: string | null;\n}\n\nexport class DocumentTypeDTO extends LookupTypeDTO implements IDocumentTypeDTO {\n portalType?: PortalTypes;\n\n constructor(data?: IDocumentTypeDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.portalType = _data[\"portalType\"] !== undefined ? _data[\"portalType\"] : null;\n }\n }\n\n static fromJS(data: any): DocumentTypeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DocumentTypeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"portalType\"] = this.portalType !== undefined ? this.portalType : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): DocumentTypeDTO {\n const json = this.toJSON();\n let result = new DocumentTypeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDocumentTypeDTO extends ILookupTypeDTO {\n portalType?: PortalTypes;\n}\n\nexport enum PortalTypes {\n Unknown = 0,\n Consumer = 1,\n Dealer = 2,\n}\n\nexport class StateLookupDTO extends LookupTypeDTO implements IStateLookupDTO {\n code?: string | null;\n countryId?: number;\n\n constructor(data?: IStateLookupDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.code = _data[\"code\"] !== undefined ? _data[\"code\"] : null;\n this.countryId = _data[\"countryId\"] !== undefined ? _data[\"countryId\"] : null;\n }\n }\n\n static fromJS(data: any): StateLookupDTO {\n data = typeof data === 'object' ? data : {};\n let result = new StateLookupDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"code\"] = this.code !== undefined ? this.code : null;\n data[\"countryId\"] = this.countryId !== undefined ? this.countryId : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): StateLookupDTO {\n const json = this.toJSON();\n let result = new StateLookupDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IStateLookupDTO extends ILookupTypeDTO {\n code?: string | null;\n countryId?: number;\n}\n\nexport class SettingDTO implements ISettingDTO {\n googleMapsApiKey?: string | null;\n allowedFileUploadExtensions?: string | null;\n maxFileUploadSizeInMegaBytes?: number;\n maxAdditionalConsumerUsers?: number;\n fullAccessCountryCodes?: string | null;\n companyAddress?: string | null;\n mondayThruThursdaySupportHours?: string | null;\n fridaySupportHours?: string | null;\n\n constructor(data?: ISettingDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.googleMapsApiKey = _data[\"googleMapsApiKey\"] !== undefined ? _data[\"googleMapsApiKey\"] : null;\n this.allowedFileUploadExtensions = _data[\"allowedFileUploadExtensions\"] !== undefined ? _data[\"allowedFileUploadExtensions\"] : null;\n this.maxFileUploadSizeInMegaBytes = _data[\"maxFileUploadSizeInMegaBytes\"] !== undefined ? _data[\"maxFileUploadSizeInMegaBytes\"] : null;\n this.maxAdditionalConsumerUsers = _data[\"maxAdditionalConsumerUsers\"] !== undefined ? _data[\"maxAdditionalConsumerUsers\"] : null;\n this.fullAccessCountryCodes = _data[\"fullAccessCountryCodes\"] !== undefined ? _data[\"fullAccessCountryCodes\"] : null;\n this.companyAddress = _data[\"companyAddress\"] !== undefined ? _data[\"companyAddress\"] : null;\n this.mondayThruThursdaySupportHours = _data[\"mondayThruThursdaySupportHours\"] !== undefined ? _data[\"mondayThruThursdaySupportHours\"] : null;\n this.fridaySupportHours = _data[\"fridaySupportHours\"] !== undefined ? _data[\"fridaySupportHours\"] : null;\n }\n }\n\n static fromJS(data: any): SettingDTO {\n data = typeof data === 'object' ? data : {};\n let result = new SettingDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"googleMapsApiKey\"] = this.googleMapsApiKey !== undefined ? this.googleMapsApiKey : null;\n data[\"allowedFileUploadExtensions\"] = this.allowedFileUploadExtensions !== undefined ? this.allowedFileUploadExtensions : null;\n data[\"maxFileUploadSizeInMegaBytes\"] = this.maxFileUploadSizeInMegaBytes !== undefined ? this.maxFileUploadSizeInMegaBytes : null;\n data[\"maxAdditionalConsumerUsers\"] = this.maxAdditionalConsumerUsers !== undefined ? this.maxAdditionalConsumerUsers : null;\n data[\"fullAccessCountryCodes\"] = this.fullAccessCountryCodes !== undefined ? this.fullAccessCountryCodes : null;\n data[\"companyAddress\"] = this.companyAddress !== undefined ? this.companyAddress : null;\n data[\"mondayThruThursdaySupportHours\"] = this.mondayThruThursdaySupportHours !== undefined ? this.mondayThruThursdaySupportHours : null;\n data[\"fridaySupportHours\"] = this.fridaySupportHours !== undefined ? this.fridaySupportHours : null;\n return data;\n }\n\n clone(): SettingDTO {\n const json = this.toJSON();\n let result = new SettingDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ISettingDTO {\n googleMapsApiKey?: string | null;\n allowedFileUploadExtensions?: string | null;\n maxFileUploadSizeInMegaBytes?: number;\n maxAdditionalConsumerUsers?: number;\n fullAccessCountryCodes?: string | null;\n companyAddress?: string | null;\n mondayThruThursdaySupportHours?: string | null;\n fridaySupportHours?: string | null;\n}\n\nexport class DealerSettingDTO implements IDealerSettingDTO {\n allowedFileUploadExtensions?: string | null;\n maxFileUploadSizeInMegaBytes?: number;\n dealerStoreURL?: string | null;\n hrvRegistrationsEmail?: string | null;\n dcrvRegistrationsEmail?: string | null;\n\n constructor(data?: IDealerSettingDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.allowedFileUploadExtensions = _data[\"allowedFileUploadExtensions\"] !== undefined ? _data[\"allowedFileUploadExtensions\"] : null;\n this.maxFileUploadSizeInMegaBytes = _data[\"maxFileUploadSizeInMegaBytes\"] !== undefined ? _data[\"maxFileUploadSizeInMegaBytes\"] : null;\n this.dealerStoreURL = _data[\"dealerStoreURL\"] !== undefined ? _data[\"dealerStoreURL\"] : null;\n this.hrvRegistrationsEmail = _data[\"hrvRegistrationsEmail\"] !== undefined ? _data[\"hrvRegistrationsEmail\"] : null;\n this.dcrvRegistrationsEmail = _data[\"dcrvRegistrationsEmail\"] !== undefined ? _data[\"dcrvRegistrationsEmail\"] : null;\n }\n }\n\n static fromJS(data: any): DealerSettingDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DealerSettingDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"allowedFileUploadExtensions\"] = this.allowedFileUploadExtensions !== undefined ? this.allowedFileUploadExtensions : null;\n data[\"maxFileUploadSizeInMegaBytes\"] = this.maxFileUploadSizeInMegaBytes !== undefined ? this.maxFileUploadSizeInMegaBytes : null;\n data[\"dealerStoreURL\"] = this.dealerStoreURL !== undefined ? this.dealerStoreURL : null;\n data[\"hrvRegistrationsEmail\"] = this.hrvRegistrationsEmail !== undefined ? this.hrvRegistrationsEmail : null;\n data[\"dcrvRegistrationsEmail\"] = this.dcrvRegistrationsEmail !== undefined ? this.dcrvRegistrationsEmail : null;\n return data;\n }\n\n clone(): DealerSettingDTO {\n const json = this.toJSON();\n let result = new DealerSettingDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDealerSettingDTO {\n allowedFileUploadExtensions?: string | null;\n maxFileUploadSizeInMegaBytes?: number;\n dealerStoreURL?: string | null;\n hrvRegistrationsEmail?: string | null;\n dcrvRegistrationsEmail?: string | null;\n}\n\nexport class TermsAndConditionDTO implements ITermsAndConditionDTO {\n id?: number;\n uid?: string;\n version?: string | null;\n name?: string | null;\n content?: string | null;\n isActiveVersion?: boolean;\n isHtml?: boolean;\n companyType?: CompanyTypes;\n\n constructor(data?: ITermsAndConditionDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.uid = _data[\"uid\"] !== undefined ? _data[\"uid\"] : null;\n this.version = _data[\"version\"] !== undefined ? _data[\"version\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n this.content = _data[\"content\"] !== undefined ? _data[\"content\"] : null;\n this.isActiveVersion = _data[\"isActiveVersion\"] !== undefined ? _data[\"isActiveVersion\"] : null;\n this.isHtml = _data[\"isHtml\"] !== undefined ? _data[\"isHtml\"] : null;\n this.companyType = _data[\"companyType\"] !== undefined ? _data[\"companyType\"] : null;\n }\n }\n\n static fromJS(data: any): TermsAndConditionDTO {\n data = typeof data === 'object' ? data : {};\n let result = new TermsAndConditionDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"uid\"] = this.uid !== undefined ? this.uid : null;\n data[\"version\"] = this.version !== undefined ? this.version : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n data[\"content\"] = this.content !== undefined ? this.content : null;\n data[\"isActiveVersion\"] = this.isActiveVersion !== undefined ? this.isActiveVersion : null;\n data[\"isHtml\"] = this.isHtml !== undefined ? this.isHtml : null;\n data[\"companyType\"] = this.companyType !== undefined ? this.companyType : null;\n return data;\n }\n\n clone(): TermsAndConditionDTO {\n const json = this.toJSON();\n let result = new TermsAndConditionDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface ITermsAndConditionDTO {\n id?: number;\n uid?: string;\n version?: string | null;\n name?: string | null;\n content?: string | null;\n isActiveVersion?: boolean;\n isHtml?: boolean;\n companyType?: CompanyTypes;\n}\n\nexport class PostalCodeInfoDTO implements IPostalCodeInfoDTO {\n city?: string | null;\n country?: string | null;\n state?: string | null;\n postalCode?: string | null;\n\n constructor(data?: IPostalCodeInfoDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.city = _data[\"city\"] !== undefined ? _data[\"city\"] : null;\n this.country = _data[\"country\"] !== undefined ? _data[\"country\"] : null;\n this.state = _data[\"state\"] !== undefined ? _data[\"state\"] : null;\n this.postalCode = _data[\"postalCode\"] !== undefined ? _data[\"postalCode\"] : null;\n }\n }\n\n static fromJS(data: any): PostalCodeInfoDTO {\n data = typeof data === 'object' ? data : {};\n let result = new PostalCodeInfoDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"city\"] = this.city !== undefined ? this.city : null;\n data[\"country\"] = this.country !== undefined ? this.country : null;\n data[\"state\"] = this.state !== undefined ? this.state : null;\n data[\"postalCode\"] = this.postalCode !== undefined ? this.postalCode : null;\n return data;\n }\n\n clone(): PostalCodeInfoDTO {\n const json = this.toJSON();\n let result = new PostalCodeInfoDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IPostalCodeInfoDTO {\n city?: string | null;\n country?: string | null;\n state?: string | null;\n postalCode?: string | null;\n}\n\nexport class DynamicsCountryDTO implements IDynamicsCountryDTO {\n id?: string | null;\n isoCode?: string | null;\n name?: string | null;\n\n constructor(data?: IDynamicsCountryDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.id = _data[\"id\"] !== undefined ? _data[\"id\"] : null;\n this.isoCode = _data[\"isoCode\"] !== undefined ? _data[\"isoCode\"] : null;\n this.name = _data[\"name\"] !== undefined ? _data[\"name\"] : null;\n }\n }\n\n static fromJS(data: any): DynamicsCountryDTO {\n data = typeof data === 'object' ? data : {};\n let result = new DynamicsCountryDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"id\"] = this.id !== undefined ? this.id : null;\n data[\"isoCode\"] = this.isoCode !== undefined ? this.isoCode : null;\n data[\"name\"] = this.name !== undefined ? this.name : null;\n return data;\n }\n\n clone(): DynamicsCountryDTO {\n const json = this.toJSON();\n let result = new DynamicsCountryDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IDynamicsCountryDTO {\n id?: string | null;\n isoCode?: string | null;\n name?: string | null;\n}\n\nexport class ClaimStatusTypeDTO extends LookupTypeDTO implements IClaimStatusTypeDTO {\n\n constructor(data?: IClaimStatusTypeDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): ClaimStatusTypeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ClaimStatusTypeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n\n clone(): ClaimStatusTypeDTO {\n const json = this.toJSON();\n let result = new ClaimStatusTypeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IClaimStatusTypeDTO extends ILookupTypeDTO {\n}\n\nexport class WarrantyClassCodeDTO implements IWarrantyClassCodeDTO {\n description?: string | null;\n parentCode?: string | null;\n classCode?: string | null;\n remedyCodes?: WarrantyRemedyCodeDTO[] | null;\n\n constructor(data?: IWarrantyClassCodeDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n this.parentCode = _data[\"parentCode\"] !== undefined ? _data[\"parentCode\"] : null;\n this.classCode = _data[\"classCode\"] !== undefined ? _data[\"classCode\"] : null;\n if (Array.isArray(_data[\"remedyCodes\"])) {\n this.remedyCodes = [] as any;\n for (let item of _data[\"remedyCodes\"])\n this.remedyCodes!.push(WarrantyRemedyCodeDTO.fromJS(item));\n }\n else {\n this.remedyCodes = null;\n }\n }\n }\n\n static fromJS(data: any): WarrantyClassCodeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new WarrantyClassCodeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"description\"] = this.description !== undefined ? this.description : null;\n data[\"parentCode\"] = this.parentCode !== undefined ? this.parentCode : null;\n data[\"classCode\"] = this.classCode !== undefined ? this.classCode : null;\n if (Array.isArray(this.remedyCodes)) {\n data[\"remedyCodes\"] = [];\n for (let item of this.remedyCodes)\n data[\"remedyCodes\"].push(item.toJSON());\n }\n return data;\n }\n\n clone(): WarrantyClassCodeDTO {\n const json = this.toJSON();\n let result = new WarrantyClassCodeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IWarrantyClassCodeDTO {\n description?: string | null;\n parentCode?: string | null;\n classCode?: string | null;\n remedyCodes?: WarrantyRemedyCodeDTO[] | null;\n}\n\nexport class WarrantyRemedyCodeDTO implements IWarrantyRemedyCodeDTO {\n description?: string | null;\n hours?: number;\n partReturn?: boolean;\n photoRequired?: boolean;\n preAuthorization?: boolean;\n remedyCode?: string | null;\n\n constructor(data?: IWarrantyRemedyCodeDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n this.hours = _data[\"hours\"] !== undefined ? _data[\"hours\"] : null;\n this.partReturn = _data[\"partReturn\"] !== undefined ? _data[\"partReturn\"] : null;\n this.photoRequired = _data[\"photoRequired\"] !== undefined ? _data[\"photoRequired\"] : null;\n this.preAuthorization = _data[\"preAuthorization\"] !== undefined ? _data[\"preAuthorization\"] : null;\n this.remedyCode = _data[\"remedyCode\"] !== undefined ? _data[\"remedyCode\"] : null;\n }\n }\n\n static fromJS(data: any): WarrantyRemedyCodeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new WarrantyRemedyCodeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"description\"] = this.description !== undefined ? this.description : null;\n data[\"hours\"] = this.hours !== undefined ? this.hours : null;\n data[\"partReturn\"] = this.partReturn !== undefined ? this.partReturn : null;\n data[\"photoRequired\"] = this.photoRequired !== undefined ? this.photoRequired : null;\n data[\"preAuthorization\"] = this.preAuthorization !== undefined ? this.preAuthorization : null;\n data[\"remedyCode\"] = this.remedyCode !== undefined ? this.remedyCode : null;\n return data;\n }\n\n clone(): WarrantyRemedyCodeDTO {\n const json = this.toJSON();\n let result = new WarrantyRemedyCodeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IWarrantyRemedyCodeDTO {\n description?: string | null;\n hours?: number;\n partReturn?: boolean;\n photoRequired?: boolean;\n preAuthorization?: boolean;\n remedyCode?: string | null;\n}\n\nexport class WarrantyFailureCodeDTO implements IWarrantyFailureCodeDTO {\n description?: string | null;\n failureCode?: string | null;\n\n constructor(data?: IWarrantyFailureCodeDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n this.failureCode = _data[\"failureCode\"] !== undefined ? _data[\"failureCode\"] : null;\n }\n }\n\n static fromJS(data: any): WarrantyFailureCodeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new WarrantyFailureCodeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"description\"] = this.description !== undefined ? this.description : null;\n data[\"failureCode\"] = this.failureCode !== undefined ? this.failureCode : null;\n return data;\n }\n\n clone(): WarrantyFailureCodeDTO {\n const json = this.toJSON();\n let result = new WarrantyFailureCodeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IWarrantyFailureCodeDTO {\n description?: string | null;\n failureCode?: string | null;\n}\n\nexport class WarrantyMiscChargeCodeDTO implements IWarrantyMiscChargeCodeDTO {\n description?: string | null;\n limitAmount?: number;\n miscChargeCode?: string | null;\n\n constructor(data?: IWarrantyMiscChargeCodeDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.description = _data[\"description\"] !== undefined ? _data[\"description\"] : null;\n this.limitAmount = _data[\"limitAmount\"] !== undefined ? _data[\"limitAmount\"] : null;\n this.miscChargeCode = _data[\"miscChargeCode\"] !== undefined ? _data[\"miscChargeCode\"] : null;\n }\n }\n\n static fromJS(data: any): WarrantyMiscChargeCodeDTO {\n data = typeof data === 'object' ? data : {};\n let result = new WarrantyMiscChargeCodeDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"description\"] = this.description !== undefined ? this.description : null;\n data[\"limitAmount\"] = this.limitAmount !== undefined ? this.limitAmount : null;\n data[\"miscChargeCode\"] = this.miscChargeCode !== undefined ? this.miscChargeCode : null;\n return data;\n }\n\n clone(): WarrantyMiscChargeCodeDTO {\n const json = this.toJSON();\n let result = new WarrantyMiscChargeCodeDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IWarrantyMiscChargeCodeDTO {\n description?: string | null;\n limitAmount?: number;\n miscChargeCode?: string | null;\n}\n\nexport class ExportDTO implements IExportDTO {\n contentType?: string | null;\n base64?: string | null;\n fileName?: string | null;\n\n constructor(data?: IExportDTO) {\n if (data) {\n for (var property in data) {\n if (data.hasOwnProperty(property))\n (this)[property] = (data)[property];\n }\n }\n }\n\n init(_data?: any) {\n if (_data) {\n this.contentType = _data[\"contentType\"] !== undefined ? _data[\"contentType\"] : null;\n this.base64 = _data[\"base64\"] !== undefined ? _data[\"base64\"] : null;\n this.fileName = _data[\"fileName\"] !== undefined ? _data[\"fileName\"] : null;\n }\n }\n\n static fromJS(data: any): ExportDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ExportDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"contentType\"] = this.contentType !== undefined ? this.contentType : null;\n data[\"base64\"] = this.base64 !== undefined ? this.base64 : null;\n data[\"fileName\"] = this.fileName !== undefined ? this.fileName : null;\n return data;\n }\n\n clone(): ExportDTO {\n const json = this.toJSON();\n let result = new ExportDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IExportDTO {\n contentType?: string | null;\n base64?: string | null;\n fileName?: string | null;\n}\n\nexport class NotificationRegistrationDTO extends ValidationBaseDTO implements INotificationRegistrationDTO {\n userId?: string;\n pushToken?: string | null;\n firebaseToken?: string | null;\n devicePlatformType?: DevicePlatformTypes;\n companyType?: CompanyTypes;\n\n constructor(data?: INotificationRegistrationDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.userId = _data[\"userId\"] !== undefined ? _data[\"userId\"] : null;\n this.pushToken = _data[\"pushToken\"] !== undefined ? _data[\"pushToken\"] : null;\n this.firebaseToken = _data[\"firebaseToken\"] !== undefined ? _data[\"firebaseToken\"] : null;\n this.devicePlatformType = _data[\"devicePlatformType\"] !== undefined ? _data[\"devicePlatformType\"] : null;\n this.companyType = _data[\"companyType\"] !== undefined ? _data[\"companyType\"] : null;\n }\n }\n\n static fromJS(data: any): NotificationRegistrationDTO {\n data = typeof data === 'object' ? data : {};\n let result = new NotificationRegistrationDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userId\"] = this.userId !== undefined ? this.userId : null;\n data[\"pushToken\"] = this.pushToken !== undefined ? this.pushToken : null;\n data[\"firebaseToken\"] = this.firebaseToken !== undefined ? this.firebaseToken : null;\n data[\"devicePlatformType\"] = this.devicePlatformType !== undefined ? this.devicePlatformType : null;\n data[\"companyType\"] = this.companyType !== undefined ? this.companyType : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): NotificationRegistrationDTO {\n const json = this.toJSON();\n let result = new NotificationRegistrationDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface INotificationRegistrationDTO extends IValidationBaseDTO {\n userId?: string;\n pushToken?: string | null;\n firebaseToken?: string | null;\n devicePlatformType?: DevicePlatformTypes;\n companyType?: CompanyTypes;\n}\n\nexport enum DevicePlatformTypes {\n Unknown = 0,\n Android = 1,\n Ios = 2,\n Web = 3,\n}\n\nexport class NotificationDTO extends ValidationBaseDTO implements INotificationDTO {\n title!: string;\n body!: string;\n companyType!: CompanyTypes;\n notificationType!: NotificationTypes;\n vehicleId?: number | null;\n viNs?: string[] | null;\n brandIds?: string[] | null;\n\n constructor(data?: INotificationDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.title = _data[\"title\"] !== undefined ? _data[\"title\"] : null;\n this.body = _data[\"body\"] !== undefined ? _data[\"body\"] : null;\n this.companyType = _data[\"companyType\"] !== undefined ? _data[\"companyType\"] : null;\n this.notificationType = _data[\"notificationType\"] !== undefined ? _data[\"notificationType\"] : null;\n this.vehicleId = _data[\"vehicleId\"] !== undefined ? _data[\"vehicleId\"] : null;\n if (Array.isArray(_data[\"viNs\"])) {\n this.viNs = [] as any;\n for (let item of _data[\"viNs\"])\n this.viNs!.push(item);\n }\n else {\n this.viNs = null;\n }\n if (Array.isArray(_data[\"brandIds\"])) {\n this.brandIds = [] as any;\n for (let item of _data[\"brandIds\"])\n this.brandIds!.push(item);\n }\n else {\n this.brandIds = null;\n }\n }\n }\n\n static fromJS(data: any): NotificationDTO {\n data = typeof data === 'object' ? data : {};\n let result = new NotificationDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"title\"] = this.title !== undefined ? this.title : null;\n data[\"body\"] = this.body !== undefined ? this.body : null;\n data[\"companyType\"] = this.companyType !== undefined ? this.companyType : null;\n data[\"notificationType\"] = this.notificationType !== undefined ? this.notificationType : null;\n data[\"vehicleId\"] = this.vehicleId !== undefined ? this.vehicleId : null;\n if (Array.isArray(this.viNs)) {\n data[\"viNs\"] = [];\n for (let item of this.viNs)\n data[\"viNs\"].push(item);\n }\n if (Array.isArray(this.brandIds)) {\n data[\"brandIds\"] = [];\n for (let item of this.brandIds)\n data[\"brandIds\"].push(item);\n }\n super.toJSON(data);\n return data;\n }\n\n clone(): NotificationDTO {\n const json = this.toJSON();\n let result = new NotificationDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface INotificationDTO extends IValidationBaseDTO {\n title: string;\n body: string;\n companyType: CompanyTypes;\n notificationType: NotificationTypes;\n vehicleId?: number | null;\n viNs?: string[] | null;\n brandIds?: string[] | null;\n}\n\nexport enum NotificationTypes {\n Unknown = 0,\n MaintenanceThreeMonth = 1,\n MaintenanceSixMonth = 2,\n Recall = 3,\n TechnicalServiceBulletin = 4,\n InformationalVideo = 5,\n NewsMaterial = 6,\n Custom = 7,\n VehicleRegistrationStatus = 8,\n}\n\nexport class UserNotificationDTO extends ValidationBaseDTO implements IUserNotificationDTO {\n userNotificationUid?: string;\n notificationType?: NotificationTypes;\n title?: string | null;\n content?: string | null;\n isRead?: boolean;\n sentDateTime?: moment.Moment;\n companyType?: CompanyTypes;\n\n constructor(data?: IUserNotificationDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n if (_data) {\n this.userNotificationUid = _data[\"userNotificationUid\"] !== undefined ? _data[\"userNotificationUid\"] : null;\n this.notificationType = _data[\"notificationType\"] !== undefined ? _data[\"notificationType\"] : null;\n this.title = _data[\"title\"] !== undefined ? _data[\"title\"] : null;\n this.content = _data[\"content\"] !== undefined ? _data[\"content\"] : null;\n this.isRead = _data[\"isRead\"] !== undefined ? _data[\"isRead\"] : null;\n this.sentDateTime = _data[\"sentDateTime\"] ? moment(_data[\"sentDateTime\"].toString()) : null;\n this.companyType = _data[\"companyType\"] !== undefined ? _data[\"companyType\"] : null;\n }\n }\n\n static fromJS(data: any): UserNotificationDTO {\n data = typeof data === 'object' ? data : {};\n let result = new UserNotificationDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n data[\"userNotificationUid\"] = this.userNotificationUid !== undefined ? this.userNotificationUid : null;\n data[\"notificationType\"] = this.notificationType !== undefined ? this.notificationType : null;\n data[\"title\"] = this.title !== undefined ? this.title : null;\n data[\"content\"] = this.content !== undefined ? this.content : null;\n data[\"isRead\"] = this.isRead !== undefined ? this.isRead : null;\n data[\"sentDateTime\"] = this.sentDateTime ? this.sentDateTime.toISOString() : null;\n data[\"companyType\"] = this.companyType !== undefined ? this.companyType : null;\n super.toJSON(data);\n return data;\n }\n\n clone(): UserNotificationDTO {\n const json = this.toJSON();\n let result = new UserNotificationDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IUserNotificationDTO extends IValidationBaseDTO {\n userNotificationUid?: string;\n notificationType?: NotificationTypes;\n title?: string | null;\n content?: string | null;\n isRead?: boolean;\n sentDateTime?: moment.Moment;\n companyType?: CompanyTypes;\n}\n\nexport class ApiResultDTO extends ValidationBaseDTO implements IApiResultDTO {\n\n constructor(data?: IApiResultDTO) {\n super(data);\n }\n\n init(_data?: any) {\n super.init(_data);\n }\n\n static fromJS(data: any): ApiResultDTO {\n data = typeof data === 'object' ? data : {};\n let result = new ApiResultDTO();\n result.init(data);\n return result;\n }\n\n toJSON(data?: any) {\n data = typeof data === 'object' ? data : {};\n super.toJSON(data);\n return data;\n }\n\n clone(): ApiResultDTO {\n const json = this.toJSON();\n let result = new ApiResultDTO();\n result.init(json);\n return result;\n }\n}\n\nexport interface IApiResultDTO extends IValidationBaseDTO {\n}\n\nexport class ApiException extends Error {\n message: string;\n status: number;\n response: string;\n headers: { [key: string]: any; };\n result: any;\n\n constructor(message: string, status: number, response: string, headers: { [key: string]: any; }, result: any) {\n super();\n\n this.message = message;\n this.status = status;\n this.response = response;\n this.headers = headers;\n this.result = result;\n }\n\n protected isApiException = true;\n\n static isApiException(obj: any): obj is ApiException {\n return obj.isApiException === true;\n }\n}\n\nfunction throwException(message: string, status: number, response: string, headers: { [key: string]: any; }, result?: any): any {\n if (result !== null && result !== undefined)\n throw result;\n else\n throw new ApiException(message, status, response, headers, null);\n}\n\nfunction isAxiosError(obj: any): obj is AxiosError {\n return obj && obj.isAxiosError === true;\n}\n\n/* eslint-disable @typescript-eslint/ban-ts-comment */\n/**\n * Configuration class needed in base class.\n * The config is provided to the API client at initialization time.\n * API clients inherit from #AuthorizedApiBase and provide the config.\n */\n// @ts-nocheck\n/* eslint-disable */\n\nexport interface Config {\n transformHeaders: (options: AxiosRequestConfig) => AxiosRequestConfig;\n transformResult(\n url: string,\n response: AxiosResponse,\n processor: (response: AxiosResponse) => Promise\n ): Promise;\n}","import { UserDTO, VehicleDTO } from './../services/generated/api.generated.v2';\nimport { DealerLocationDTO, ImageDTO, ViewVinRegistrationDTO } from 'src/services/generated/api.generated.v1';\n\nexport class Location {\n lat?: number;\n lng?: number;\n\n constructor(lat: number, lng: number) {\n this.lat = lat;\n this.lng = lng;\n }\n}\n\nexport class DealerLocationVM extends DealerLocationDTO {\n distance?: number | null = null;\n distanceDisplay?: string | null = null;\n\n constructor(data?: DealerLocationDTO) {\n super();\n if (data) {\n for (const property in data) {\n if (data.hasOwnProperty(property))\n /* eslint-disable @typescript-eslint/no-unsafe-assignment */\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n /* eslint-disable @typescript-eslint/no-explicit-any*/\n\n (this)[property] = (data)[property];\n }\n }\n }\n}\n\nexport class AdminUser extends UserDTO {\n vins: Array = new Array();\n}\n\nexport interface DropDownItem {\n label: string;\n value: string;\n}\n\nexport interface PostResponse {\n id: number;\n slug: string;\n categories: Array;\n yoast_head_json: { og_title: string; article_published_time: string };\n acf: {\n banner_image: { url: string };\n styled_blocks: Array<{ content: string }>;\n related_stories: {\n left: { ID: number; post_name: string; post_title: string };\n center: { ID: number };\n right: { ID: number };\n };\n };\n}\n\nexport interface FaqResponse {\n yoast_head_json: {\n og_title: string;\n };\n acf: {\n faq_category: Array<{ category_title: string; faq: Array<{ question: string; answer: string }> }>;\n glossary_entry: Array<{ term: string; definition: string }>;\n };\n}\n\nexport interface PodcastResponse {\n yoast_head_json: {\n og_title: string;\n og_description: string;\n og_image: [{ url: string }];\n };\n acf: {\n episode_url: string;\n };\n}\n\nexport class VehicleRegistration extends ViewVinRegistrationDTO {\n image?: ImageDTO;\n\n constructor(data?: ViewVinRegistrationDTO) {\n super();\n if (data) {\n for (const property in data) {\n if (data.hasOwnProperty(property))\n /* eslint-disable @typescript-eslint/no-unsafe-assignment */\n /* eslint-disable @typescript-eslint/no-unsafe-member-access */\n /* eslint-disable @typescript-eslint/no-explicit-any*/\n\n (this)[property] = (data)[property];\n }\n }\n }\n}\n\nexport class Post {\n id?: number;\n slug?: string;\n date?: moment.Moment;\n title?: string;\n categories?: Array;\n bannerImageUrl?: string;\n content?: string;\n relatedStoryIds?: Array;\n}\n\nexport class FAQ {\n title?: string;\n categories?: Array<{ title: string; questions: Array<{ question: string; answerContent: string }> }>;\n glossary?: Array<{ term: string; definition: string }>;\n}\n\nexport class Podcast {\n title?: string;\n imageUrl?: string;\n linkUrl?: string;\n description?: string;\n}\n\nexport class GoogleAnalyticsTags\n{\n screenPath?: string;\n screenName?: string;\n event?: string;\n appEventCategory?: string;\n appEventAction?: string;\n appEventLabel?: string;\n}\n\n","import {\n AuthenticationRequestDTO,\n AuthenticationResultDTO,\n RefreshTokenDTO,\n IdentityClient_V1\n} from './generated/api.generated.v1';\nimport ApiConfig from './ApiConfig';\nimport ApiHelper from '../utils/ApiHelper';\nimport {Loading} from 'quasar';\nimport { Mapper } from 'src/utils';\nimport { StorageKeys } from 'src/constants/StorageKeys';\n\ninterface UserToken {\n accessToken: string;\n refreshToken: string;\n}\n\nexport default class AuthService {\n private static userToken: UserToken;\n public static readonly USER_INFO_KEY = 'USER_INFO_KEY';\n private readonly _identityClient: IdentityClient_V1;\n\n constructor() {\n this._identityClient = new IdentityClient_V1(new ApiConfig(), process.env.VUE_APP_API_V1_URL);\n }\n\n public async AcceptTermsAndConditions() : Promise {\n await this._identityClient.acceptTermsAndConditions();\n }\n\n public async Login(username: string, password: string, companyType: string | null): Promise {\n const request = new AuthenticationRequestDTO();\n request.userName = username;\n request.password = password;\n request.companyType = Mapper.MapCompanyType(companyType ?? '');\n\n const response: AuthenticationResultDTO =\n await ApiHelper.ParseDTO(() => this._identityClient.login(request));\n\n if (response.succeeded) {\n AuthService.SaveToken({\n accessToken: response.accessToken,\n refreshToken: response.refreshToken\n });\n }\n\n return response;\n }\n\n public async RefreshToken(): Promise {\n const currentUser = AuthService.GetUserToken();\n\n if (currentUser == null || currentUser.refreshToken == null) {\n return null;\n }\n\n if (!Loading.isActive) {\n Loading.show();\n }\n\n const request = new RefreshTokenDTO();\n request.refreshToken = currentUser.refreshToken;\n request.expiredAccessToken = currentUser.accessToken;\n\n const response = await this._identityClient.refreshToken(request);\n\n AuthService.SaveToken({\n accessToken: response.accessToken,\n refreshToken: response.refreshToken\n });\n\n Loading.hide();\n\n return response;\n }\n\n public static SaveToken(userToken: UserToken) {\n this.userToken = userToken;\n localStorage.setItem(this.USER_INFO_KEY, JSON.stringify(userToken));\n }\n\n public static RemoveToken() {\n localStorage.removeItem(this.USER_INFO_KEY);\n localStorage.removeItem(StorageKeys.USERID);\n }\n\n public static GetUserToken(): UserToken | null {\n const inMemory = this.userToken;\n\n if (inMemory) return inMemory;\n\n const inStorage = localStorage.getItem(this.USER_INFO_KEY);\n\n if (inStorage) {\n return JSON.parse(inStorage) as UserToken;\n }\n\n return null;\n }\n\n public static GetToken(): string {\n return this.GetUserToken()?.accessToken || '';\n }\n\n async Logout() {\n const currentToken = AuthService.GetUserToken();\n\n if (currentToken == null || currentToken.refreshToken == null) return;\n\n AuthService.RemoveToken();\n\n try {\n const request = new RefreshTokenDTO();\n request.refreshToken = currentToken.refreshToken;\n \n await this._identityClient.revokeToken(request);\n } catch(e) {} \n }\n}","import { Dialog, DialogChainObject } from 'quasar';\nimport { IValidationBaseDTO } from 'src/services/generated/api.generated.v1';\nimport {i18n} from 'src/boot/i18n';\n\nexport default class DialogHelper {\n static ShowError(result?: IValidationBaseDTO | null | undefined): DialogChainObject {\n const messageHtml = [ \n `

${i18n.t('errorInstruction').toString()}

`,\n '
    ' \n ];\n\n if (result && result.errors && result.errors.length > 0) {\n result.errors.forEach(err => {\n messageHtml.push(`
  • ${err}
  • `);\n });\n } else {\n messageHtml.push(`
  • ${i18n.t('unexpectedError').toString()}
  • `)\n }\n\n messageHtml.push('
');\n \n return Dialog.create({\n title: i18n.t('error').toString(),\n message: messageHtml.join(''),\n html: true\n });\n }\n\n static ShowCustomError(errorMessage: string, isHtml: boolean): DialogChainObject { \n return Dialog.create({\n title: i18n.t('error').toString(),\n message: errorMessage,\n html: isHtml\n });\n }\n}","import { colors } from 'quasar'\nimport { Mapper } from '../utils';\n\nexport interface ThemeColorPalette {\n primary: string;\n secondary: string;\n accent: string;\n info: string;\n buttonText: string;\n}\n\nexport class ThemeColors {\n static get hrv(): ThemeColorPalette {\n return {\n primary: '#151821',\n secondary: '#C7A975',\n accent: '#2C2F36',\n info: '#7b6756',\n buttonText: '#000000',\n };\n }\n\n static get crv(): ThemeColorPalette {\n return {\n primary: '#2B292A',\n secondary: '#96262C',\n accent: '#464749',\n info: '#9F5053', \n buttonText: '#ffffff'\n };\n }\n\n // TODO: Set DRV Suites theme colors\n static get drv(): ThemeColorPalette {\n return {\n primary: '#414141',\n secondary: '#C5B988',\n accent: '#2C2F36',\n info: '#7b6756',\n buttonText: '#000000'\n };\n }\n\n static setBrandColors(colorPallet: ThemeColorPalette) {\n colors.setBrand('primary', colorPallet.primary);\n colors.setBrand('secondary', colorPallet.secondary);\n colors.setBrand('accent', colorPallet.accent);\n colors.setBrand('info', colorPallet.info);\n colors.setBrand('button-text', colorPallet.buttonText);\n }\n\n static setCompanyColorTheme(company: string, isWeb: boolean) {\n switch (company) {\n case 'CRV':\n if (isWeb) {\n window.document.title = Mapper.MapPortalName(company);\n ThemeColors.setFavIcon('/images/crv/favicon.ico');\n }\n ThemeColors.setBrandColors(ThemeColors.crv);\n break;\n case 'DRV':\n if (isWeb) {\n window.document.title = Mapper.MapPortalName(company);\n ThemeColors.setFavIcon('/images/drv/favicon.ico');\n } \n ThemeColors.setBrandColors(ThemeColors.drv);\n break;\n default:\n if (isWeb) {\n window.document.title = Mapper.MapPortalName(company);\n ThemeColors.setFavIcon('/images/hrv/favicon.ico');\n }\n ThemeColors.setBrandColors(ThemeColors.hrv);\n break;\n }\n } \n\n private static setFavIcon(url: string) : void {\n const head = window.document.head || document.getElementsByTagName('head')[0];\n const oldLink = window.document.querySelector(\"link[rel~='icon']\");\n if (oldLink) {\n head.removeChild(oldLink);\n }\n\n const newLink = window.document.createElement('link');\n newLink.rel = 'icon';\n newLink.type = 'image/ico';\n newLink.href = url;\n\n head.appendChild(newLink);\n }\n}\n","export default class BlobHelper {\n public static CreateBlob(base64String: string, type: string): Blob {\n const rawData = atob(base64String);\n const bytes = new Array(rawData.length);\n\n for (let x = 0; x < rawData.length; x++) {\n bytes[x] = rawData.charCodeAt(x);\n }\n\n const arr = new Uint8Array(bytes);\n\n return new Blob([arr], { type: type });\n }\n}","import { Claim } from 'src/services/generated/api.generated.v1';\n\nexport default class ClaimHelper {\n static GetClaims(claims: Array | null | undefined, claimType: string): Array {\n return claims?.filter(x => x.type == claimType) ?? [];\n }\n\n static GetClaimValue(claims: Array | null | undefined, claimType: string): string | null {\n return claims?.find(x => x.type == claimType)\n ?.value ?? null;\n }\n\n static GetClaimValues(claims: Array | null | undefined, claimType: string): Array {\n return claims?.filter(x => x.type == claimType)\n ?.map(x => x.value ?? '') ?? []\n }\n}","export default class ScreenOrientationHelper {\n\n static RemoveOrientationChangeEventListener(callback: (() => void) | null): void {\n if (callback) {\n window.removeEventListener('orientationchange', callback);\n }\n }\n\n static AddOrientationChangeEventListener(callback: (() => void) | null): void {\n if (callback) {\n window.addEventListener('orientationchange', callback);\n }\n }\n\n static CurrentOrietnation(): string {\n return screen.orientation.type;\n }\n\n static LockPortrait() {\n void screen.orientation.lock('portrait');\n }\n\n static LockLandscape() {\n void screen.orientation.lock('landscape');\n }\n\n static Unlock() {\n void screen.orientation.unlock();\n }\n}","export class StorageKeys {\n static readonly USERID = 'USERID';\n }","import moment from 'moment';\n\nexport default class DateHelper {\n\n static MomentNow() : moment.Moment{\n return moment();\n }\n\n static FormatNow() : string {\n return DateHelper.FormatJsDate(new Date());\n }\n\n static FormatDateTime(date: moment.Moment): string {\n const minDate: moment.Moment = moment.utc('0001-01-01');\n\n if (date === null || minDate.year() === date.year()) {\n return '';\n }\n\n const jsDate = date.toDate();\n\n return DateHelper.FormatJsDate(jsDate);\n }\n\n static FormatDate(date: moment.Moment | null | undefined): string {\n\n return this.isValidDate(date) && date ? date.format('L') : '';\n }\n\n static FormatJsDate(jsDate: Date): string {\n const date = jsDate.toLocaleDateString();\n\n const regex =/.*\\/1$/ \n if(regex.test(date)){ //To handle native default dates\n return '';\n }\n\n const time = jsDate.toLocaleTimeString();\n return `${date} ${time}`;\n }\n\n static FormatNotifcationDate(date : moment.Moment) : string {\n let formattedDate = date.format('ll');\n\n const days = moment().diff(date, 'days');\n\n if(days >= 0 && days <= 30){\n formattedDate = moment(date).fromNow();\n } \n return formattedDate; \n }\n\n private static isValidDate(date : moment.Moment | null | undefined) : boolean {\n return (date && date.year() > 1900);\n }\n}","export default class ApiHelper {\n public static async ParseDTO(apiCall: () => Promise) : Promise { \n try {\n return await apiCall();\n } catch (ex) {\n // if this is a known response status code DTO will be in ex...\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if ((ex) !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return ex;\n }\n // if this is an unknown response status code DTO will be in ex.response...\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n else if ((ex.response) !== undefined) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return ex.response;\n } else {\n throw ex;\n }\n }\n }\n}","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-2-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-2-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-2-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-2-3!../../node_modules/@quasar/app/lib/webpack/loader.quasar-scss-variables.js!../../node_modules/@quasar/app/lib/webpack/loader.auto-import-client.js?kebab!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./EnvironmentBanner.vue?vue&type=style&index=0&id=2ed8722a&lang=scss&scoped=true&\""],"sourceRoot":""}