{"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/orderInfo/state.ts","webpack:///./src/store/orderInfo/actions.ts","webpack:///./src/store/orderInfo/getters.ts","webpack:///./src/store/orderInfo/mutations.ts","webpack:///./src/store/orderInfo/index.ts","webpack:///./src/store/index.ts","webpack:///./src/services/AnnouncementService.ts","webpack:///./src/services/DealerService.ts","webpack:///./src/services/DocumentService.ts","webpack:///./src/services/LoggingService.ts","webpack:///./src/services/LookupService.ts","webpack:///./src/services/RoleService.ts","webpack:///./src/services/UserService.ts","webpack:///./src/services/WarrantyRegistrationService.ts","webpack:///./src/services/RecallService.ts","webpack:///./src/services/ProductService.ts","webpack:///./src/services/SpiffService.ts","webpack:///./src/services/InvoiceService.ts","webpack:///./src/services/ClaimService.ts","webpack:///./src/services/SalesOrderService.ts","webpack:///./src/services/W9RequestService.ts","webpack:///./src/services/DashboardService.ts","webpack:///./src/services/ConsumerInformationService.ts","webpack:///./src/services/ApiConfig.ts","webpack:///./.quasar/import-quasar.js","webpack:///./src/App.vue","webpack:///./src/App.vue?3ffe","webpack:///./src/App.vue?6369","webpack:///./src/App.vue?bb57","webpack:///./src/router/index.ts","webpack:///./.quasar/app.js","webpack:///./src/boot/axios.ts","webpack:///./src/boot/typedStore.ts","webpack:///./.quasar/client-entry.js","webpack:///./src/components/EnvironmentBanner.vue?d86c","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./src/utils/Mapper.ts","webpack:///./src/components/warrantyRegistrations/i18n.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","webpack:///./src/components/EnvironmentBanner.vue?f1b3","webpack:///./src/components/EnvironmentBanner.vue?332a","webpack:///./src/components/EnvironmentBanner.vue?98b2","webpack:///./src/constants/ClaimTypes.ts","webpack:///./src/components/models.ts","webpack:///./src/services/AuthService.ts","webpack:///./src/utils/DialogHelper.ts","webpack:///./src/utils/ClaimHelper.ts","webpack:///./src/utils/ScreenOrientationHelper.ts","webpack:///./src/utils/PaginationHelper.ts","webpack:///./src/utils/CameraHelper.ts","webpack:///./src/utils/InputHelper.ts","webpack:///./src/utils/DateHelper.ts","webpack:///./src/utils/ApiHelper.ts"],"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","phoneNumber","permissions","activeDealerAccountUid","dealers","dealerRoles","hasFullRights","authService","actions","logout","commit","Logout","emptyUser","updateActiveDealerAccount","dealerUid","getters","hasPermission","state","permission","some","x","mutation","updateUserState","authResult","GetClaimValue","claims","ClaimTypes","NAME_IDENTIFIER","EMAIL","FIRST_NAME","SURNAME","OTHER_PHONE","GetClaimValues","PERMISSION","DEALER_ROLE","getDealerClaims","dealerAccountUid","includes","DealerAdmin","onlyHasOneLocation","DealerSuperAdmin","getDealerName","props","getIsChainGroup","GetClaims","DEALER_ACCOUNT","map","DEALER_PERMISSION","dealerName","properties","isChainGroup","userModule","namespaced","mutations","user","allowedFileUploadExtensions","maxFileUploadSizeInMegaBytes","dealerStoreUrl","hrvRegistrations","dcrvRegistrations","initialized","clearSettings","setSettings","lookupService","Settings","dto","catch","LogError","updateSettingState","settings","dealerStoreURL","hrvRegistrationsEmail","dcrvRegistrationsEmail","settingModule","setting","hideMobileToolbar","setHideMobileToolbar","layoutModule","layout","dealerLocation","reference","requisition","modeOfDelivery","orderType","vin","contactName","contactEmail","contactPhone","deliveryName","oneTimeDelivery","deliveryAddress","addressInfo","shippingName","shippingPhone","setOrderInfo","orderInfo","updateOrderInfo","orderInfoModule","AppStore","Vue","use","appStore","Store","strict","constructor","this","_dealerAnnouncementClient","ApiConfig","Announcements","announcements","CreateAnnouncement","ParseDTO","createAnnouncement","UpdateAnnouncement","updateAnnouncement","RemoveAnnouncement","deleteAnnouncement","AnnouncementAttachments","announcementDocuments","CreateAnnouncementAttachments","createAnnouncementDocument","RemoveAnnouncementAttachment","deleteAnnouncementDocument","_dealerClient","GetAllDealerUsers","getAllDealerUsers","DealerUsers","dealerUsers","CompanyLocations","locationsByCompany","Locations","locations","ChainGroups","chainGroups","InviteDealerAdmin","inviteAdmin","InviteDealerUser","inviteUser","CompleteDealerRegistration","completeDealerInvite","SendDealerAdminInvite","userId","sendDealerAdminInvite","SendDealerUserInvite","sendDealerUserInvite","RemoveDealerAdminAccess","dealerAdmin","RemoveDealerUserAccess","dealerAccountId","dealerUser","EditDealerAdminAccess","editDealerAdmin","EditDealerUserAccess","editDealerUser","DealerAddressInfo","dynamicsLocationId","dealerAddresInfo","UserDealerLocations","userDealerLocations","ForgotPassword","companyType","Dealer","forgotPassword","DocumentUploadUrl","_documentClient","DeleteDocument","documentUid","delete","OwnersManualURL","vehicleUid","ChecklistURL","checklistUid","LoggingService","static","errors","join","log","_lookupClient","ApplicationRoles","roles","ApplicationDealerUserRoles","dealerAccountUID","dealerUserRoles","ApplicationDealerAdminRoles","dealerAdminRoles","ApplicationPermissions","Brands","brands","CompanyType","Countries","countries","DocumentTypes","documentTypes","dealerSettings","States","states","TermsAndConditions","termsAndConditions","PostalCodeInfo","countryCode","postalCode","postalCodeInfo","DynamicsCountries","dynamicsCountries","SpiffTypes","spiffTypes","CatalogBrands","catalogBrands","CatalogYearsByBrand","brandId","catalogYearsByBrand","DeliveryModes","deliveryModes","ClaimStatusTypes","claimStatusTypes","WarrantyClassCodes","warrantyClassCodes","WarrantyRemedyCodes","warrantyRemedyCodes","WarrantyFailureCodes","warrantyFailureCodes","WarrantyMiscChargeCodes","warrantyMiscChargeCodes","ExportWarrantyClassCodes","exportWarrantyClassCodes","_identityClient","GetRoles","getRoles","SaveRole","ApiHelper","updateRole","isSystemRole","createRole","DeleteRole","deleteRole","Register","register","ConfirmEmail","confirmEmail","company","Mapper","MapCompanyType","ResetPassword","password","confirmPassword","token","resetPassword","GetUsers","getUsers","ToggleLockout","toggleLockout","UpdateUser","updateUser","SendConfirmationEmail","sendConfirmEmail","ChangePassword","currentPassword","newPassword","changePassword","GetProfile","getProfile","UpdateProfile","profile","updateProfile","_warrantyClient","WarrantyRegistrations","warrantyRegistrations","RegisterVinWarranty","registerVinWarranty","VinOwnerHistories","vinOwnerHistories","VinDetails","dynamicsVinInfo","WarrantyRegistrationReport","warrantyRegistrationReport","_dealerRecallClient","DealerRecalls","warrantyRecalls","DealerRecallVins","warrantyRecallVins","RecallAttachment","attachmentRecId","recallAttachment","ExportRecallVins","exportRecallVins","_productClient","Products","productItems","TopProducts","page","pageTake","topProductItems","RecentlyOrderedProducts","recentlyOrderedItems","ItemSubComponents","itemId","itemSubcomponents","AlternateItem","quantity","alternateItem","CreateSalesOrder","createSalesOrder","_spiffClient","GetSpiffs","getSpiffs","RequestSpiff","requestSpiff","GetSpiffSalesmen","DealerAccountUid","getSpiffSalesmen","_invoiceClient","Invoices","invoices","InvoiceReport","invoiceId","invoiceReport","InvoiceStatement","invoiceStatement","ExportInvoiceStatement","exportInvoiceStatement","_dealerClaimClient","Claims","CreateClaim","createClaim","CreateClaimFromRecall","createClaimFromRecall","EditClaim","editClaim","GetClaimByClaimNumber","claimNumber","getByClaimNumber","CreateClaimLine","createClaimLine","CreateClaimLineItem","createClaimLineItem","CreateClaimLineMiscCharge","createClaimLineMiscCharge","CreateClaimLineAttachment","createClaimLineAttachment","CreateClaimLineNote","createClaimLineNote","SubmitPreAuthorization","submitPreAuthorization","SubmitWorkComplete","submitWorkComplete","DeleteClaimLine","deleteClaimLine","DeleteClaimLineItem","deleteClaimLineItem","DeleteClaimLineMiscCharge","deleteClaimLineMiscCharge","DeleteClaimLineAttachment","deleteClaimLineAttachment","DeleteClaimLineNote","deleteClaimLineNote","GetClaimLineAttachments","claimLineId","getClaimLineAttachments","ExportClaim","status","autoDenied","exportClaimsByStatus","CreateReturnLabel","createClaimReturnLabel","GetClaimReport","claimId","claimReport","_dealerSalesOrderClient","Orders","getDealerSalesOrders","MSRPOrderReport","salesOrderId","dealerSalesOrderMSRPReport","_w9RequestClient","W9Requests","w9Requests","CreateW9Request","createW9Request","_dealerDashboardClient","Data","getDashboardData","_consumerInfoClient","GetDealerInformationalVideos","dealerVideos","WebsiteContentLinks","websiteContentLinks","FrequentlyAskedQuestions","postsUrl","mapper","faq","title","yoast_head_json","og_title","categories","acf","faq_category","category_title","questions","question","answerContent","answer","glossary","glossary_entry","term","definition","GetData","url","makeWebApiCall","axios","resp","results","er","MAX_AUTH_RETRY","transformHeaders","options","castedOptions","headers","Authorization","getAuthorization","transformResult","response","processor","isFromLogin","config","toLowerCase","indexOf","_tryRefreshToken","GetToken","_authRetryCount","_retryRequest","FireUnauthorizedHandlers","RefreshToken","handler","unAuthorizedHandlers","Array","forEach","Quasar","lang","iconSet","plugins","Loading","Dialog","Notify","LocalStorage","render","_vm","_c","_self","_setupProxy","attrs","$q","platform","is","mobile","_e","$route","fullPath","staticRenderFns","created","AddUnauthorizedHandler","finally","Login","route","path","query","redirect","$router","loading","isActive","$nextTick","hide","components","EnvironmentBanner","component","publicPages","DealerAdminAccountRegistration","handleApiError","processRoute","apiException","tryUpdateRefreshToken","isAuthenticated","succeeded","dispatch","authGuard","to","from","next","GetUserToken","isPublicPage","authenticatedForRoute","nextRoute","refreshSuccess","Router","scrollBehavior","y","routes","base","beforeEach","store","createStore","router","createRouter","app","h","App","$axios","$tStore","publicPath","async","start","createApp","hasRedirected","normalized","location","urlPath","replace","origin","bootFiles","qboot_Booti18n","qboot_Bootaxios","qboot_BoottypedStore","qboot_Quasarquasarappextensionqpdfviewersrcbootqpdfviewerjs","ssrContext","webpackContext","req","webpackContextResolve","keys","lookup","selected","text","description","uid","Android","Ios","Web","Unknown","HRV","CRV","DRV","dealerLocations","filter","dealerId","sort","a","b","localeCompare","dealerChainGroups","dynamicsId","registrationsNotAllowedDialog","closeButton","mainLayout","greeting","editProfile","primaryDealerLocation","adminActions","linkDashboard","dealerSaleOrder","linkWarrantyRegistrations","linkWarrantyClaims","linkDealerLocator","linkManageUsers","linkManageRoles","linkManageEmails","linkManageVehicles","linkNotifications","linkInformationalVideos","linkUnitInformation","linkSupport","linkFaq","linkChecklists","linkBlogPosts","linkPodcasts","linkMarketingMaterials","notFound","homeLink","login","username","usernameRequired","passwordRequired","signIn","instructions","currentPasswordRequired","newPasswordRequired","confirmNewPassword","confirmNewPasswordRequired","successMessage","loadingMessage","continueToLogin","saveChanges","resetProfile","emailRequired","recover","firstNameRequired","lastNameRequired","phone","phoneError","streetAddress","streetAddressRequired","city","cityRequired","zip","zipRequired","stateRequired","country","countryRequired","confirmPasswordRequired","passwordDoesNotMatch","termsAndConditionsMessage","agreeAndRegister","invitationSuccessMessage","agreeAndContinue","dashboard","pageTitle","newAnnouncement","edit","addAttachments","removeTitle","removeConfirm","removeSuccess","updated","searchTitle","tableColumns","published","AnnouncementDialog","editAnnouncement","expirationDate","expirationDateError","addSuccess","updateSuccess","contentRequired","uploadMissing","attachments","announcementAttachmentDialog","attachmentsTitle","titleLabel","noAttachments","previewThumbnail","unsubmittedAttachmentsTitle","unsubmittedAttachmentsMsg","warranty","recalls","export","mobileExport","exportFileName","recallTitle","recallDetailsTitle","recallCategory","vinHeader","accountNumberHeader","processedHeader","brandHeader","modelHeader","yearHeader","claim","recallIdHeader","recallNameHeader","recallTypeheader","warrantyCodeHeader","warrantyDescriptionHeader","recallDescriptionHeader","attachment","productionBeginsHeader","productionEndsHeader","vinDetailsButton","processClaimButton","viewClaimButton","downloadAttachment","openAttachment","shareAttachment","searchBox","globalSearchLabel","includeClosedLabel","newClaim","noVinInfoErr","markedForRetailSold","notRegisteredVinErr","header","noAttachmentsMessage","close","manageEmails","manageRoles","addRole","systemRole","roleNotFound","deleteConfirm","editRole","roleName","roleNameRequired","manageUsers","inviteDealerAdminTitle","inviteDealerUserTitle","chainGroup","chainGroupRequired","currentTitle","currentTitleRequired","locationRequired","inviteDealerAdmin","inviteDealerAdminOverride","inviteDealerUser","associatedWithChainGroup","associatedWithChainGroupRequired","dealerAdminInviteSent","dealerAdminEdit","dealerAccessRemoved","resendInvite","removeAccess","removeLocations","addLocations","roleTitle","locationChainGroup","registered","confirmResendConfirmationEmail","invitationEmailSent","confirmRemoveAccess","lastLoginDate","viewDealerAdmin","viewDealerUser","duplicateLocationSelections","financeRoleDescription","warrantyRoleDescription","dealerSuperAdminRoleDescription","dealerAdminRoleDescription","batchInviteDealerAdmin","batchInviteDealerUser","importBatch","downloadAdminTemplate","downloadUserTemplate","emailImportResults","batchInviteQueueSuccess","noLocaitonsError","batchInvite","emailLabel","emailValidation","dashboardChart","claimsByStatus","claimsInDealerActionStatus","claimInPaymentStatus","salesOrderByStatus","vinRegistration","statement","numberOfClaimsByStatus","numberOfSalesByStatus","numberOfRegistrationsByStatus","exportInvoiceReport","flatRateCodeExport","claimDashboard","new","preAuthorizationRequired","dealerFeedbackRequired","awaitVendorApproval","awaitWorkCompletion","agingBucket","ApprovedForPayment","awaitingPaymentApproval","vinDashboard","unregistered","retailSold","saleOrderDashboard","delivered","invoiced","cancelled","viewDealerUserDialog","removeLabel","undoLabel","saveEditConfirmationMessage","addedSelectedLocation","addedSelectedChainGroup","addSelectedLocationBtnLabel","pleaseSelectLocationToAddLabel","invalidTokenTitle","invalidTokenMessage","tableColumnNames","brand","model","year","dealerSold","hasRecall","ownerName","completedDate","shipDate","registrationDate","accountNumber","filterType","registeredButtonLabel","unregisteredButtonLabel","dialogTitle","signatureConsensus","includeExpiredLabel","updateOwner","retailSoldLabel","retailSoldStatSurveyHtml","notRegisteredLabel","warrantyClaims","searchLabel","filterTypeLabel","claimStatusLabel","inServiceDate","workOrderNumber","checkNumber","totalAmount","venderChargeback","recallId","newClaimLabel","exportClaims","exportDownloadSuccess","newClaimDialog","accountName","recall","remedyCode","vinSelectionRquired","inServiceDateRequired","newClaimSuccess","confirmExistingRecall","createSuccess","claimDetail","claimCardHeader","customerHeader","ownerHeader","lines","custAccount","claimType","workCompleted","partsCostSubmitted","submittedPayment","saveChangesMissingError","dateOutOfService","claimTotal","laborTotal","address","addLine","line","saveChangesMsg","claimSubmitSuccess","submitPreAuth","submitePreAuthMsg","submittedPreAuth","submittedWorkComplete","pendingChangesTitle","pendingChangesMsg","linesReqTitle","linesReqMsg","workComplete","workCompleteMsg","upsReturnLabel","claimSaveSuccess","unsavedChanges","unsavedChangesReturnMessage","amountRule","reasonEntryRequired","lineTableColumns","warrantyClassCode","failureCode","subletAmount","laborRate","frcHours","hoursRequested","hoursApproved","awaitingPartsReturn","awaitingPhoto","dealerCanceled","reason","selectContent","removeDialogTitle","removeDialogMsg","exitDetails","addClaimLineDialog","addClaimLine","warrantyClass","subClass","specific","required","remedyCodeRequired","addClaimLineItemDialog","addLineItem","quantityRequired","itemRequired","recentlyOrderedLabel","addClaimLineMiscChargeDialog","addLineMiscCharge","markupCode","amount","addClaimLineAttachmentDialog","addLineAttachment","lineAttachment","addClaimLineNoteDialog","addLineNote","note","claimLineTabDetails","item","miscCharge","tabs","items","miscCharges","notes","addItemBtn","itemTableColumns","itemNumber","price","declineReason","addMiscChargeBtn","miscChargeTableColumns","addAttachmentBtn","attachmentsTableColumns","fileName","image","createdBy","addNoteBtn","notesTableColumns","addAttachment","addNotes","createReturnLabelDialog","emailSentVerbiage","packageDimensionsVerbiage","lengthLabel","widthLabel","heightLabel","packageWeightVerbiage","weightLabel","inches","pounds","salesOrders","searchOrderNumLabel","searchReqNumLabel","orderStatusLabel","rvPartsStock","rvUnit","msrp","salesOrderNumber","createdDate","latestStatusUpdate","customerRequisition","requisitionNumber","salesOrderDetail","dialogHeader","customerAccount","invoiceAccount","contact","requestedShipDate","documentStatus","customerReference","customerReferenceAbbrv","customerRequisitionAbbrv","pool","site","warehouse","salesOrderLines","salesOrderLinesColumnsNames","productName","unitOfMeasure","netAmount","readyForPickUp","readyForPickUpDate","readyForPickUpDateAbbrv","salesOrderTrackingColumnsNames","shipmentVoided","leadTrackingNumber","trackingNumber","actualShipDate","deliveryInfo","trackingInfo","inventoryInfo","salesOrderInfo","vinDetail","warrantyStatus","contactID","customersSignature","ownersHistoryLabel","vinDetailsDialog","activationDate","inactiveDate","ownerStatus","inactiveReason","adminDealerRegistration","registerVehicle","vehicleDetailLabels","heading","ownerInfoLabels","firstname","lastname","street","dateSold","customerSignature","salesInformationHeading","purchaseDate","purchaseDateRequired","purchaseDateCannotBeInFuture","customerSignatureConfirmLabel","customerSignatureRequired","registrationSuccessful","primaryOwnerFirstName","secondaryOwnerFirstName","primaryOwnerLastName","secondaryOwnerLastName","secondaryPhone","fax","invalidPostalTitle","invalidPostalMessage","vinTypeAhead","inputHint","searchVin","productTypeAhead","searchItem","recallDropdown","findRecall","label","products","searchCriteriaLabel","itemDescription","salesPrice","itemIdDescriptionSearchLabel","supplierNumberSearchLabel","dropDownLabels","modelyear","itemOnBackOrderTitle","itemOnBackOrderMessage","or","showTopItems","topItemsInfo","productDetails","itemNumberLabel","productNameLabel","salesPriceLabel","unitLabel","currencyLabel","quantityLabel","brandLabel","modelLabel","yearLabel","supplierNumLabel","categoryLabel","subcomponentLabel","alternateItemMessage","shoppingCart","prodSubComponent","backorder","additionalNotes","noteDialogMessage","itemRemoveTitle","itemRemoveMessage","checkoutBtnLabel","noteRequiredPlaceholder","notePlaceholder","quantityMessage","checkoutIncompleteTitle","checkoutIncompleteMessage","cartBase","cartCheckout","orderInformationPageTitle","orderReviewPageTitle","orderInformationTitle","contactInformationTitle","customerNumberLabel","customerNumberRequired","customerReferenceLabel","requisitionLabel","modeOfDeliveryLabel","modeOfDeliveryRequired","orderTypeLabel","orderTypeRequired","rvParts","stockParts","purchaseTypeLabel","purchaseTypeRequired","vinLabel","vinRequired","shippingInformationTitle","contactNameLabel","contactNameRequired","contactEmailLabel","contactEmailRequired","contactPhoneLabel","contactPhoneRequired","deliveryNameLabel","deliveryNameRequired","shipCompleteLabel","oneTimeDeliveryAddressLabel","deliveryLocationLabel","deliveryLocationRequired","deliveryAddressLabel","deliveryAddressRequired","addressLabel","shippingNameLabel","shipingNameRequired","shippingPhoneLabel","shippingPhoneRequired","shipTo","totals","currency","submitOrderTitle","submitOrderMessage","orderItems","salesOrderSuccessTitle","salesOrderSuccessMessage","searchTermLabel","invoiceNumber","date","dueDate","referenceNumber","invoiceDetails","invoiceInformation","salesOrder","invoiceDate","invoiceAmount","totalCharges","salesTax","totalDiscount","paymentTerms","deliveryInformation","recipientName","invoiceLines","invoiceLinesTableColumns","salesOrderNo","itemNo","unitPrice","lineDiscount","w9","navigationTitle","list","newW9","filterLabel","commentDialogTitle","commentDialogNoComments","requestorId","dateSubmitted","updatedDate","subTitle","ssn","documentUpload","submitError","upload","validation","ssnRequired","phoneRequired","addItemPrompt","itemQuantity","itemQuantityRequired","unitOfMeasureRequired","addCartTitle","announcementCard","spiff","searchSpiffId","columns","confirm","spiffId","requestingSalesman","requestFormTitle","uploadInstructions","documentTypeLabel","uploadDocTypeRequired","successSalesMessage","successDealerMessage","registrationRequiredTitle","registrationRequiredMessage","selectSalesman","spiffSearchTypes","spiffDetails","spiffInformation","paymentInformation","marketingMaterials","marketingMaterialsVerbiage","dealerStoreVerbiage","moreFeatures","comingSoon","rvFaq","action","add","cancel","clear","alert","continue","errorInstruction","failed","goBack","noResults","OK","reset","submit","success","unexpectedError","search","users","documents","sizeError","typeError","numberError","defaultError","goBackButtonLabel","emptyDataMessage","yes","no","view","viewedit","unableViewFileLabel","unableViewFileMsg","details","more","information","numericValue","valueLessThan","bridge","legacy","locale","fallbackLocale","messages","i18nComposition","i18n","RouteNames","AcceptTermsConditions","Dashboard","ManageUsers","ManageRoles","ManageEmails","EditProfile","PdfViewer","RegisterVehicle","WarrantyRecalls","WarrantyClaims","WarrantyStatusClaims","SalesStatusOrder","VinStatusType","ProductItems","ShoppingCart","CheckoutOrderInfo","CheckoutReview","W9NewRequest","SpiffRequests","SpiffRequestForm","SalesOrders","ClaimDetail","MarketingMaterials","RvFaqs","InfoVideos","children","beforeEnter","HasPermission","canUseShoppingCart","canPlaceOrder","routeName","routePermissions","RoutePermissions","DealerRoleRoutes","AuthorizedPublicRoutes","concat","FullPermission","DealerFinance","DealerWarranty","ViewDealerUsers","ChecklistTypes","CompanyTypes","PortalTypes","DevicePlatformTypes","NotificationTypes","RegistrationErrorTypes","WarrantyRegistrationSearchQueryType","AuthorizedApiBase","transformOptions","ConsumerInformationClient_V1","configuration","baseUrl","instance","super","jsonParseReviver","videos","signal","url_","options_","method","transformedOptions_","_error","isAxiosError","_response","processVideos","_headers","k","_responseText","result200","resultData200","isArray","InformationalVideoDTO","fromJS","throwException","processDealerVideos","checklists","processChecklists","ChecklistDTO","getChecklistByUid","encodeURIComponent","processGetChecklistByUid","result401","resultData401","ProblemDetails","processWebsiteContentLinks","WebsiteContentLinkDTO","websitePostCategories","processWebsitePostCategories","WebsitePostCategoryDTO","DealerAnnouncementClient_V1","processAnnouncements","DealerAnnouncementDTO","content_","JSON","stringify","processCreateAnnouncement","CreateDealerAnnouncementDTO","result400","resultData400","processUpdateAnnouncement","processDeleteAnnouncement","announcementUid","processAnnouncementDocuments","DocumentDTO","processCreateAnnouncementDocument","DealerAnnouncementDocumentDTO","processDeleteAnnouncementDocument","DeleteDealerAnnouncementDocDTO","DealerClaimClient_V1","processClaims","DealerClaimDTO","processCreateClaim","processCreateClaimFromRecall","processEditClaim","processSubmitPreAuthorization","processSubmitWorkComplete","processGetByClaimNumber","processGetClaimLineAttachments","DealerClaimLineAttachmentDTO","processCreateClaimLine","processCreateClaimLineItem","processCreateClaimLineMiscCharge","processCreateClaimLineAttachment","processCreateClaimLineNote","processCreateClaimReturnLabel","ReturnLabelDTO","processDeleteClaimLine","ValidationBaseDTO","processDeleteClaimLineItem","processDeleteClaimLineMiscCharge","processDeleteClaimLineAttachment","processDeleteClaimLineNote","processExportClaimsByStatus","ExportDTO","processClaimReport","AttachmentInfoDTO","DealerClient_V1","processLocationsByCompany","DealerLocationDTO","processLocations","processChainGroups","DealerChainGroupDTO","processDealerAddresInfo","DealerAddressInfoDTO","processUserDealerLocations","UserDealerLocationsDTO","processInviteAdmin","InviteDealerUserDTO","processInviteUser","processCompleteDealerInvite","CompleteDealerRegistrationDTO","processGetAllDealerUsers","DealerUserDTO","processDealerUsers","processDealerAdmin","ApiResultDTO","processEditDealerAdmin","EditDealerUserDTO","processEditDealerUser","processDealerUser","processSendDealerAdminInvite","batchInviteDealerUsers","processBatchInviteDealerUsers","processSendDealerUserInvite","forgotPasswordDto","processForgotPassword","ForgotPasswordDTO","DealerDashboardClient_V1","processGetDashboardData","DealerDashboardDTO","DealerRecallClient_V1","processWarrantyRecalls","DealerRecallDTO","processWarrantyRecallVins","DealerRecallVinDTO","processRecallAttachment","AXDocumentDTO","processExportRecallVins","DealerSalesOrderClient_V1","processGetDealerSalesOrders","DealerSalesOrderDTO","processDealerSalesOrderMSRPReport","DocumentClient_V1","processUpload","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","getUserVins","processGetUserVins","VehicleDTO","processUpdateUser","UpdateUserDTO","processToggleLockout","processGetRoles","RoleDTO","role","processCreateRole","roleId","processUpdateRole","processDeleteRole","InvoiceClient_V1","processInvoices","InvoiceDTO","processInvoiceReport","processInvoiceStatement","InvoiceStatementDTO","processExportInvoiceStatement","LookupClient_V1","processSpiffTypes","SpiffTypeDTO","processBrands","BrandDTO","processCatalogBrands","CatalogBrandDTO","processDeliveryModes","DeliveryModeDTO","processCatalogYearsByBrand","checklistTypes","processChecklistTypes","ChecklistTypeDTO","processCompanyType","CompanyTypeDTO","processCountries","CountryLookupDTO","processDocumentTypes","DocumentTypeDTO","processStates","StateLookupDTO","processSettings","SettingDTO","processDealerSettings","DealerSettingDTO","processTermsAndConditions","TermsAndConditionDTO","processRoles","LookupTypeDTO","processDealerUserRoles","processDealerAdminRoles","processPermissions","processPostalCodeInfo","PostalCodeInfoDTO","processDynamicsCountries","DynamicsCountryDTO","processClaimStatusTypes","ClaimStatusTypeDTO","processWarrantyClassCodes","WarrantyClassCodeDTO","processWarrantyRemedyCodes","WarrantyRemedyCodeDTO","processWarrantyFailureCodes","WarrantyFailureCodeDTO","processWarrantyMiscChargeCodes","WarrantyMiscChargeCodeDTO","processExportWarrantyClassCodes","ProductClient_V1","processProductItems","ProductItemDTO","processTopProductItems","processRecentlyOrderedItems","processAlternateItem","processItemSubcomponents","processCreateSalesOrder","SpiffClient_V1","processGetSpiffs","SpiffDTO","processDynamicsVinInfo","VinDTO","processRequestSpiff","CreateSpiffRequestDTO","processGetSpiffSalesmen","SpiffSalesmanDTO","W9RequestClient_V1","processW9Requests","W9RequestDTO","processCreateW9Request","VinWarrantyRegistrationDTO","WarrantyRegistrationClient_V1","processWarrantyRegistrations","WarrantyRegistrationDTO","processVinOwnerHistories","VinOwnerHistoryDTO","processWarrantyRegistrationReport","processRegisterVinWarranty","init","_data","videoId","videoUrl","previewImageUrl","brandIds","companies","toString","toJSON","toISOString","clone","json","checklistType","detail","isValid","blogPostsLink","podcastLink","frequentlyAskedQuestionsLink","ownersClubLink","ownersForumLink","solarUrl","retailStoreUrl","categoryName","categoryId","content","isHtml","expirationDateTime","sentDateTime","createdDateTime","updatedDateTime","hasAttachments","attachmentUids","documentType","originalDocumentName","storedDocumentName","contentType","uploadedBy","uploadedDate","bytes","dealerUserId","total","vendorChargeback","recallID","totalItems","partsMiscCostSubmitted","submittedForPayment","ownerAddress","DealerClaimLineDTO","doUpdate","dealerCanceledDenied","dealerCanceledDeniedReason","DealerClaimLineItemDTO","DealerClaimLineMiscChargeDTO","DealerClaimLineNoteDTO","PaginationBaseRequestDTO","dealerUserUid","searchInput","DealerClaimSearchDTO","statusType","agingRange","hideClosed","CreateClaimDTO","dealerLocationDynamicsId","CreateClaimLineDTO","CreateClaimLineItemDTO","CreateClaimLineMiscChargeDTO","CreateClaimLineAttachmentDTO","documentUids","CreateaClaimLineNoteDTO","width","height","weight","base64","zipCode","dealerURL","latitude","longitude","serviceOnly","companyTypes","locationId","dealerLocationsFlat","multipleInviteDealer","InviteDealerDTO","isNewUser","dealerLocationId","dealerChainGroupId","userName","lockoutEnd","emailConfirmed","dealerAccounts","DealerAccountDTO","totalCount","editMultipleLocations","claims91To120Day","claimsAwaitingPaymentApproval","claimsAwaitingVendorApproval","claimsAwaitPartReturn","claimsAwaitWorkComplete","claimsClosed","claimsDealerFeedbackReq","claimsNew","claimsOEMFeedbackReq","claimsOpen","claimsPaymentApproved","claimsPreAuthRequired","claimsUnfinished","salesCanceled","salesDelivered","salesInvoiced","salesOpenOrder","vinRegistered","vinUnregistered","vinRetailSold","recallName","recallDescription","recallType","warrantyClassDescription","productionStartDate","productionEndDate","isAssociated","remedyCodes","hours","partReturn","photoRequired","preAuthorization","fileType","dynamicsRecId","DealerRecallSearchDTO","isGlobalSearch","brandName","isClaimAssociated","isProcessed","doNotProcess","paidUnit","salesOrderLineItems","DealerSalesOrderLineItemDTO","salesOrderTrackingItems","DealerSalesOrderTrackingItemDTO","DealerSalesOrderSearchDTO","rvOrdersOnly","isLockedOut","accessToken","Claim","issuer","originalIssuer","subject","ClaimsIdentity","valueType","authenticationType","actor","bootstrapContext","nameClaimType","roleClaimType","AuthenticationRequestDTO","RefreshTokenDTO","expiredAccessToken","stateId","countryId","invitationCode","invitationId","allowEmailNotifications","allowPushNotifications","vehicleId","make","PermissionDTO","balance","InvoiceLineItemDTO","salesId","qty","discountPercent","InvoiceSearchDTO","invoiceSearch","salesOrderSearch","showOpenOnly","aged120","aged120Plus","aged30","aged60","aged90","current","totalBalance","supportEmail","sortOrder","companyAbbreviation","webPortalBaseUrl","fromEmailName","fromEmailAddress","appName","supportEmailAddress","partsEmailAddress","serviceEmailAddress","supportPhoneNumber","logoPath","companyAddress","portalType","googleMapsApiKey","maxAdditionalConsumerUsers","fullAccessCountryCodes","mondayThruThursdaySupportHours","fridaySupportHours","version","isActiveVersion","isoCode","parentCode","classCode","limitAmount","miscChargeCode","onHandQuantity","imageBase64","category","additionalInfoRequired","hasSubcomponents","hasAlternateItem","additionalSalesPrices","SalesPriceInfoDTO","externalIds","unitOfMeasureId","unitOfMeasureDescription","ProductItemSearchDTO","itemIdDescriptionSearch","externalId","CreateSalesOrderDTO","contanctEmail","dealerDeliveryAddress","oneTimeDeliveryAddress","AddressDTO","cartItemLines","SalesOrderLineItemDTO","modelId","custName","vendAccount","vendName","checkDate","recipientAddress","totalRecords","SpiffSearchDTO","activeDealerAccountId","customerId","warrantyStartDate","warrantyEndDate","serviceExpirationDate","partsExpirationDate","isRegistered","displayName","vehicleType","hasLegalLetter","salesmanId","spiffType","W9RequestSearchDTO","ViewVinRegistrationDTO","vinUid","ownerUserId","vinRegistrationStatus","registeredDate","reviewedDate","reviewComments","nickname","customImageId","vinRegistrationUid","stateProvince","customerName","dateUpdated","comment","documentUId","firstnName","stateCode","primaryPhoneNumber","secondaryPhoneNumber","WarrantyRegistrationSearchDTO","hideExpired","searchType","ApiException","isApiException","obj","isProd","staticClass","_v","_s","environment","appInfo","mounted","getInfo","toUpperCase","build","NAME","POSTAL_CODE","VEHICLE_PERMISSION","VEHICLE_IDENTIFICATION_NUMBER","TERMS_AND_CONDITIONS_ACCEPTED","Permissions","ManageAllUsers","InviteConsumerUser","VehicleReadAccess","VehicleWriteAccess","ManageDealerAdmin","ManageDealerUsers","DealerRoles","DealerSales","AdminAssistant","DealerLocationVM","distance","distanceDisplay","AddressInfo","VehicleRegistration","FAQ","CartItem","AuthService","AcceptTermsAndConditions","SaveToken","currentUser","show","userToken","localStorage","setItem","USER_INFO_KEY","removeItem","inMemory","inStorage","getItem","parse","currentToken","RemoveToken","DialogHelper","messageHtml","html","errorMessage","ClaimHelper","find","ScreenOrientationHelper","callback","removeEventListener","addEventListener","screen","orientation","lock","unlock","PaginationHelper","sortBy","rowsPerPage","rowsNumber","descending","callbackFunction","getPhoto","quality","allowEditing","resultType","Uri","imageUrl","webPath","ok","persistent","onOk","maxValue","val","Number","NaN","isNaN","DateHelper","FormatJsDate","Date","minDate","utc","jsDate","toDate","isValidDate","format","toLocaleDateString","regex","test","time","toLocaleTimeString","formattedDate","days","diff","fromNow","apiCall","ex"],"mappings":"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","file":"js/app.a26f4cc3.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\t7: 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\t7: 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\":\"a4a3373f\",\"2\":\"72b3252d\",\"3\":\"1a1d695f\",\"4\":\"ddc9fc6c\",\"5\":\"d9dfb40e\",\"6\":\"bd78acfc\",\"8\":\"c2716a24\",\"9\":\"c5964a5b\",\"10\":\"133e2b9b\",\"11\":\"1369bce6\",\"12\":\"1f15543d\",\"13\":\"e1692ab4\",\"14\":\"c5dc0af1\",\"15\":\"bd4c79e6\",\"16\":\"37ee1268\",\"17\":\"63a54078\",\"18\":\"1e63d767\",\"19\":\"cd80e4ae\",\"20\":\"e825f8d7\",\"21\":\"2a32da0a\",\"22\":\"0c4af47d\",\"23\":\"7a1dc4e8\",\"24\":\"2d4f598a\",\"25\":\"29ecbfc5\",\"26\":\"06fc6808\",\"27\":\"be203406\",\"28\":\"dfcc08f0\",\"29\":\"c292f54a\",\"30\":\"1f1fcf7d\",\"31\":\"885eae45\",\"32\":\"0b9321b9\",\"33\":\"66d91add\",\"34\":\"9b6f800a\"}[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,\"3\":1,\"4\":1,\"5\":1,\"6\":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};\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\":\"49e95512\",\"2\":\"58c168e1\",\"3\":\"998879c5\",\"4\":\"903eaee9\",\"5\":\"acfc887f\",\"6\":\"650d2089\",\"8\":\"4d23c96d\",\"9\":\"60dd25c0\",\"10\":\"3adb6652\",\"11\":\"9c1bbfb2\",\"12\":\"cbdaf198\",\"13\":\"7eaec78c\",\"14\":\"9cad4b78\",\"15\":\"d5b0f1f5\",\"16\":\"4c41dc09\",\"17\":\"31c01a83\",\"18\":\"8f3592b0\",\"19\":\"7865f0dd\",\"20\":\"3b9b2310\",\"21\":\"466a7cb5\",\"22\":\"d836ce9a\",\"23\":\"31d6cfe0\",\"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","export interface UserDealer { \n dealerAccountUid: string;\n dealerName: string;\n permissions: Array; \n isChainGroup: boolean;\n}\n\nexport interface UserStateInterface {\n id: string | null;\n email: string | null;\n firstName: string | null;\n lastName: string | null;\n phoneNumber: string | null;\n permissions: Array;\n activeDealerAccountUid: string | null;\n dealers: Array;\n dealerRoles: Array;\n hasFullRights: boolean;\n}\n\nfunction state(): UserStateInterface {\n return {\n id : null,\n email: null,\n firstName: null,\n lastName: null,\n phoneNumber: null,\n permissions: [],\n activeDealerAccountUid: null,\n dealers: [],\n dealerRoles: [],\n hasFullRights: false \n }\n}\n\nexport default state;\n","import { AuthService} from 'src/services';\nimport { 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 updateActiveDealerAccount({ commit }: { commit: Commit }, dealerUid : string): void {\n commit('updateActiveDealerAccount', dealerUid);\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 { AuthenticationResultDTO, Claim } from 'src/services/generated/api.generated.v1';\nimport { MutationTree } from 'vuex';\nimport { UserStateInterface } from './state';\nimport { ClaimTypes, DealerRoles } from '../../constants/ClaimTypes';\nimport { ClaimHelper } from 'src/utils';\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.phoneNumber = ClaimHelper.GetClaimValue(authResult?.claims, ClaimTypes.OTHER_PHONE);\n state.permissions = ClaimHelper.GetClaimValues(authResult?.claims, ClaimTypes.PERMISSION);\n state.dealerRoles = ClaimHelper.GetClaimValues(authResult?.claims, ClaimTypes.DEALER_ROLE);\n\n state.dealers = getDealerClaims(authResult?.claims);\n state.activeDealerAccountUid = state.dealers.length > 0 ? state.activeDealerAccountUid ?? state.dealers[0].dealerAccountUid : null;\n state.hasFullRights = (state.dealerRoles.includes(DealerRoles.DealerAdmin) && onlyHasOneLocation(state)) || state.dealerRoles.includes(DealerRoles.DealerSuperAdmin);\n }, \n updateActiveDealerAccount(state: UserStateInterface, dealerUid: string) {\n state.activeDealerAccountUid = dealerUid;\n }\n}\n\nfunction getDealerClaims(claims: Array | null | undefined) {\n const getDealerName = (props: { [key: string]: string; } | null | undefined) => props ? props['Name'] : '';\n const getIsChainGroup = (props: { [key: string]: string; } | null | undefined) => props ? props['IsChainGroup'] === 'True' : false;\n\n const dealers = ClaimHelper.GetClaims(claims, ClaimTypes.DEALER_ACCOUNT)\n .map(x => ({\n dealerAccountUid: x.value,\n permissions: ClaimHelper.GetClaimValues(claims, `${ClaimTypes.DEALER_PERMISSION}/${x.value}`),\n dealerName: getDealerName(x.properties),\n isChainGroup: getIsChainGroup(x.properties),\n }));\n\n return dealers ?? [];\n}\n\nfunction onlyHasOneLocation(state: UserStateInterface) : boolean {\n return state.dealers.length == 1 && !state.dealers.some(x => x.isChainGroup);\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 allowedFileUploadExtensions: string | null;\n maxFileUploadSizeInMegaBytes: number | null;\n dealerStoreUrl: string | null; \n hrvRegistrations: string | null;\n dcrvRegistrations: string | null;\n initialized: boolean;\n}\n\nfunction state(): SettingStateInterface {\n return {\n allowedFileUploadExtensions: null,\n maxFileUploadSizeInMegaBytes: null,\n dealerStoreUrl: null,\n hrvRegistrations : null,\n dcrvRegistrations : null,\n initialized: false,\n }\n}\n\nexport default state;\n","import { LoggingService, LookupService } from 'src/services';\nimport { DealerSettingDTO } from 'src/services/generated/api.generated.v1';\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: DealerSettingDTO) => {\n commit('updateSettingState', dto);\n resolve();\n })\n .catch(err => {\n LoggingService.LogError(err);\n reject();\n });\n }\n });\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 { DealerSettingDTO } from 'src/services/generated/api.generated.v1';\nimport { MutationTree } from 'vuex';\nimport { SettingStateInterface } from './state';\n\nconst mutation: MutationTree = {\n updateSettingState(state: SettingStateInterface, settings: DealerSettingDTO | null) {\n state.allowedFileUploadExtensions = settings?.allowedFileUploadExtensions ?? null;\n state.maxFileUploadSizeInMegaBytes = settings?.maxFileUploadSizeInMegaBytes ?? null;\n state.dealerStoreUrl = settings?.dealerStoreURL ?? null;\n state.hrvRegistrations = settings?.hrvRegistrationsEmail ?? null;\n state.dcrvRegistrations = settings?.dcrvRegistrationsEmail ?? null;\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","export interface LayoutStateInterface {\n hideMobileToolbar: boolean;\n}\n\nfunction state(): LayoutStateInterface {\n return {\n hideMobileToolbar: false,\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 { MutationTree } from 'vuex';\nimport { LayoutStateInterface } from './state';\n\nconst mutation: MutationTree = {\n setHideMobileToolbar(state: LayoutStateInterface, value: boolean) {\n state.hideMobileToolbar = value;\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 { DealerAddressInfoDTO, DeliveryModeDTO, WarrantyRegistrationDTO, DealerLocationDTO } from 'src/services/generated/api.generated.v1';\nimport { AddressInfo, OrderTypeOption } from './../../components/models';\nexport interface OrderInfoInterface {\n dealerLocation: DealerLocationDTO | null;\n reference : string | null;\n requisition : string | null;\n modeOfDelivery: DeliveryModeDTO | null;\n orderType: OrderTypeOption | null;\n vin: WarrantyRegistrationDTO | null;\n contactName: string | null;\n contactEmail: string | null;\n contactPhone: string | null;\n deliveryName: string| null;\n oneTimeDelivery: boolean;\n deliveryAddress: DealerAddressInfoDTO | null;\n addressInfo: AddressInfo | null;\n shippingName: string | null;\n shippingPhone: string | null;\n}\n\nfunction state(): OrderInfoInterface {\n return {\n dealerLocation: null,\n reference : null,\n requisition : null,\n modeOfDelivery : null,\n orderType : null,\n vin : null,\n contactName : null,\n contactEmail : null,\n contactPhone : null,\n deliveryName: null,\n oneTimeDelivery : false,\n deliveryAddress: null,\n addressInfo : null,\n shippingName : null,\n shippingPhone : null,\n }\n}\n\nexport default state;\n","import { ActionTree, Commit } from 'vuex';\nimport { StateInterface } from '../index';\nimport { OrderInfoInterface } from './state';\n\n\nconst actions: ActionTree = {\n setOrderInfo({ commit }: { commit: Commit }, orderInfo : OrderInfoInterface) {\n commit('updateOrderInfo', orderInfo);\n }\n};\n\nexport default actions;\n","import { GetterTree } from 'vuex';\nimport { StateInterface } from '../index';\nimport { OrderInfoInterface } from './state';\n\nconst getters: GetterTree = {\n\n};\n\nexport default getters;\n","import { MutationTree } from 'vuex';\nimport { OrderInfoInterface } from './state';\n\nconst mutation: MutationTree = {\n updateOrderInfo(state: OrderInfoInterface, orderInfo: OrderInfoInterface) {\n state.dealerLocation = orderInfo.dealerLocation,\n state.reference = orderInfo.reference,\n state.requisition = orderInfo.requisition,\n state.modeOfDelivery = orderInfo.modeOfDelivery,\n state.orderType = orderInfo.orderType,\n state.vin = orderInfo.vin,\n state.contactName = orderInfo.contactName,\n state.contactEmail = orderInfo.contactEmail,\n state.contactPhone = orderInfo.contactPhone,\n state.deliveryName = orderInfo.deliveryName,\n state.oneTimeDelivery = orderInfo.oneTimeDelivery,\n state.deliveryAddress= orderInfo.deliveryAddress,\n state.addressInfo = orderInfo.addressInfo,\n state.shippingName = orderInfo.shippingName,\n state.shippingPhone = orderInfo.shippingPhone\n }\n}\n\n\nexport default mutation;","import { Module } from 'vuex';\nimport { StateInterface } from '../index';\nimport state, { OrderInfoInterface } from './state';\nimport actions from './actions';\nimport getters from './getters';\nimport mutations from './mutations';\n\nconst orderInfoModule: Module = {\n namespaced: true,\n actions,\n getters,\n mutations,\n state\n};\n\nexport default orderInfoModule;\n","import { OrderInfoInterface } from './orderInfo/state';\nimport { 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';\n\nimport { SettingStateInterface } from './setting/state';\nimport { LayoutStateInterface } from './layout/state';\nimport orderInfo from './orderInfo';\n\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 orderInfo: OrderInfoInterface;\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 orderInfo,\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 };","import {\n CreateDealerAnnouncementDTO,\n DealerAnnouncementClient_V1,\n DealerAnnouncementDocumentDTO,\n DealerAnnouncementDTO,\n DeleteDealerAnnouncementDocDTO,\n DocumentDTO,\n} from './generated/api.generated.v1';\nimport ApiConfig from './ApiConfig';\nimport { ApiHelper } from 'src/utils';\n\nexport default class AnnouncementService {\n private readonly _dealerAnnouncementClient: DealerAnnouncementClient_V1;\n\n constructor() {\n this._dealerAnnouncementClient = new DealerAnnouncementClient_V1(new ApiConfig(), process.env.VUE_APP_API_V1_URL);\n }\n\n public Announcements() : Promise {\n return this._dealerAnnouncementClient.announcements();\n }\n public CreateAnnouncement(dto: CreateDealerAnnouncementDTO) : Promise {\n return ApiHelper.ParseDTO(() => this._dealerAnnouncementClient.createAnnouncement(dto));\n }\n public UpdateAnnouncement(dto: DealerAnnouncementDTO) : Promise {\n return ApiHelper.ParseDTO(() => this._dealerAnnouncementClient.updateAnnouncement(dto));\n }\n public RemoveAnnouncement(dto: DealerAnnouncementDTO) : Promise {\n return ApiHelper.ParseDTO(() => this._dealerAnnouncementClient.deleteAnnouncement(dto));\n }\n public AnnouncementAttachments(dealerAccountUid : string) : Promise> {\n return this._dealerAnnouncementClient.announcementDocuments(dealerAccountUid);\n }\n public CreateAnnouncementAttachments(dto : DealerAnnouncementDocumentDTO) : Promise {\n return ApiHelper.ParseDTO(() => this._dealerAnnouncementClient.createAnnouncementDocument(dto));\n }\n public RemoveAnnouncementAttachment(dto : DeleteDealerAnnouncementDocDTO) : Promise {\n return ApiHelper.ParseDTO(() => this._dealerAnnouncementClient.deleteAnnouncementDocument(dto));\n }\n}","import {\n ApiResultDTO,\n CompanyTypes,\n CompleteDealerRegistrationDTO,\n DealerAddressInfoDTO,\n DealerChainGroupDTO,\n DealerClient_V1,\n DealerLocationDTO,\n DealerUserDTO,\n EditDealerUserDTO,\n ForgotPasswordDTO,\n InviteDealerUserDTO,\n PaginationBaseRequestDTO,\n UserDealerLocationsDTO\n} from './generated/api.generated.v1';\nimport ApiConfig from './ApiConfig';\nimport { ApiHelper } from 'src/utils';\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 GetAllDealerUsers(dto: PaginationBaseRequestDTO): Promise> {\n return this._dealerClient.getAllDealerUsers(dto);\n }\n\n public DealerUsers(dealerAccountUid: string, dto: PaginationBaseRequestDTO): Promise> {\n return this._dealerClient.dealerUsers(dealerAccountUid, dto);\n }\n\n public CompanyLocations(): Promise> {\n return this._dealerClient.locationsByCompany();\n }\n\n public Locations(): Promise> {\n return this._dealerClient.locations();\n }\n\n public ChainGroups(): Promise> {\n return this._dealerClient.chainGroups();\n }\n\n public InviteDealerAdmin(dto: InviteDealerUserDTO): Promise {\n return ApiHelper.ParseDTO(() => this._dealerClient.inviteAdmin(dto));\n }\n\n public InviteDealerUser(dealerAccountUid: string, dto: InviteDealerUserDTO): Promise {\n return ApiHelper.ParseDTO(() => this._dealerClient.inviteUser(dto, dealerAccountUid));\n }\n\n public CompleteDealerRegistration(dto: CompleteDealerRegistrationDTO): Promise {\n return ApiHelper.ParseDTO(() => this._dealerClient.completeDealerInvite(dto));\n }\n\n public SendDealerAdminInvite(userId: string): Promise {\n return ApiHelper.ParseDTO(() => this._dealerClient.sendDealerAdminInvite(userId));\n }\n\n public SendDealerUserInvite(userId: string, dealerAccountUid: string): Promise {\n return ApiHelper.ParseDTO(() => this._dealerClient.sendDealerUserInvite(userId, dealerAccountUid));\n }\n\n public RemoveDealerAdminAccess(userId: string): Promise {\n return ApiHelper.ParseDTO(() => this._dealerClient.dealerAdmin(userId));\n }\n public RemoveDealerUserAccess(userId: string, dealerAccountId: string): Promise {\n return ApiHelper.ParseDTO(() => this._dealerClient.dealerUser(userId, dealerAccountId));\n }\n public EditDealerAdminAccess(dto: EditDealerUserDTO): Promise {\n return ApiHelper.ParseDTO(() => this._dealerClient.editDealerAdmin(dto));\n }\n public EditDealerUserAccess(dto: EditDealerUserDTO, dealerAccountUid: string): Promise {\n return ApiHelper.ParseDTO(() => this._dealerClient.editDealerUser(dto, dealerAccountUid));\n }\n public DealerAddressInfo(dynamicsLocationId: string): Promise> {\n return this._dealerClient.dealerAddresInfo(dynamicsLocationId);\n }\n public UserDealerLocations(): Promise {\n return this._dealerClient.userDealerLocations();\n }\n public ForgotPassword(email: string): Promise {\n const dto = new ForgotPasswordDTO();\n dto.email = email;\n dto.companyType = CompanyTypes.Dealer;\n\n return ApiHelper.ParseDTO(() => this._dealerClient.forgotPassword(dto));\n }\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}","// 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}","import {\n BrandDTO,\n CompanyTypeDTO,\n CompanyTypes,\n CountryLookupDTO,\n DocumentTypeDTO,\n LookupClient_V1,\n LookupTypeDTO,\n PostalCodeInfoDTO,\n DealerSettingDTO,\n StateLookupDTO,\n TermsAndConditionDTO,\n DynamicsCountryDTO,\n SpiffTypeDTO,\n WarrantyClassCodeDTO,\n WarrantyRemedyCodeDTO,\n WarrantyFailureCodeDTO,\n WarrantyMiscChargeCodeDTO,\n ExportDTO\n} from './generated/api.generated.v1';\nimport ApiConfig from './ApiConfig';\nimport { CatalogBrandDTO, DeliveryModeDTO, ClaimStatusTypeDTO } from './generated/api.generated.v2';\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 ApplicationDealerUserRoles(dealerAccountUID: string): Promise> {\n return this._lookupClient.dealerUserRoles(dealerAccountUID);\n }\n\n public ApplicationDealerAdminRoles(): Promise> {\n return this._lookupClient.dealerAdminRoles();\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 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.dealerSettings();\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\n public PostalCodeInfo( countryCode : string, postalCode : string) : Promise> {\n return this._lookupClient.postalCodeInfo(countryCode, postalCode);\n }\n\n public DynamicsCountries() : Promise> {\n return this._lookupClient.dynamicsCountries();\n }\n\n public SpiffTypes(): Promise> {\n return this._lookupClient.spiffTypes();\n }\n\n public CatalogBrands(): Promise> {\n return this._lookupClient.catalogBrands();\n }\n\n public CatalogYearsByBrand(brandId : string): Promise> {\n return this._lookupClient.catalogYearsByBrand(brandId);\n }\n\n public DeliveryModes(): Promise> {\n return this._lookupClient.deliveryModes();\n }\n\n public ClaimStatusTypes(): Promise> {\n return this._lookupClient.claimStatusTypes();\n }\n\n public WarrantyClassCodes(): Promise> {\n return this._lookupClient.warrantyClassCodes();\n }\n public WarrantyRemedyCodes(): Promise> {\n return this._lookupClient.warrantyRemedyCodes();\n }\n public WarrantyFailureCodes(): Promise> {\n return this._lookupClient.warrantyFailureCodes();\n }\n public WarrantyMiscChargeCodes(): Promise> {\n return this._lookupClient.warrantyMiscChargeCodes();\n }\n public ExportWarrantyClassCodes(): Promise {\n return this._lookupClient.exportWarrantyClassCodes();\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 {\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(id: string, code: string): Promise {\n const dto = new EmailConfirmationDTO();\n dto.id = id;\n dto.code = code;\n\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 GetUsers(): Promise> {\n return this._identityClient.getUsers();\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(currentPassword: string, newPassword: string, confirmPassword: string): 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\n return this._identityClient.getProfile(userId);\n }\n\n public async UpdateProfile(profile: ProfileDTO): Promise {\n\n return ApiHelper.ParseDTO(() => this._identityClient.updateProfile(profile.userId, profile));\n }\n}","import {\n VinWarrantyRegistrationDTO,\n VinDTO,\n WarrantyRegistrationClient_V1,\n WarrantyRegistrationDTO,\n VinOwnerHistoryDTO,\n WarrantyRegistrationSearchDTO,\n AttachmentInfoDTO,\n} from './generated/api.generated.v1';\nimport ApiConfig from './ApiConfig';\nimport { ApiHelper } from 'src/utils';\n\nexport default class WarrantyRegistrationService {\n private readonly _warrantyClient: WarrantyRegistrationClient_V1;\n\n constructor() {\n this._warrantyClient = new WarrantyRegistrationClient_V1(new ApiConfig(), process.env.VUE_APP_API_V1_URL);\n }\n\n public WarrantyRegistrations(dealerAccountUid: string, dto: WarrantyRegistrationSearchDTO): Promise> {\n return this._warrantyClient.warrantyRegistrations(dto, dealerAccountUid);\n }\n\n public RegisterVinWarranty(dealerAccountUid: string, dto: VinWarrantyRegistrationDTO){\n return ApiHelper.ParseDTO(() => this._warrantyClient.registerVinWarranty(dto, dealerAccountUid));\n } \n public VinOwnerHistories(dealerAccountUid: string, vin: string | null = null): Promise> {\n return this._warrantyClient.vinOwnerHistories(dealerAccountUid, vin);\n }\n\n public VinDetails(dealerAccountUid: string, vin: string): Promise{\n return this._warrantyClient.dynamicsVinInfo(dealerAccountUid, vin);\n }\n\n public WarrantyRegistrationReport(dealerAccountUid: string, vin: string): Promise{\n return this._warrantyClient.warrantyRegistrationReport(dealerAccountUid, vin);\n }\n}","import {\n DealerRecallDTO,\n DealerRecallClient_V1,\n AXDocumentDTO,\n DealerRecallSearchDTO,\n DealerRecallVinDTO,\n ExportDTO,\n} from './generated/api.generated.v1';\nimport ApiConfig from './ApiConfig';\n\nexport default class RecallService {\n private readonly _dealerRecallClient: DealerRecallClient_V1;\n\n constructor() {\n this._dealerRecallClient = new DealerRecallClient_V1(new ApiConfig(), process.env.VUE_APP_API_V1_URL);\n }\n\n public DealerRecalls(dealerAccountUid: string, dto: DealerRecallSearchDTO): Promise> {\n return this._dealerRecallClient.warrantyRecalls(dto, dealerAccountUid);\n }\n\n public DealerRecallVins(dealerAccountUid: string, dto: DealerRecallSearchDTO): Promise> {\n return this._dealerRecallClient.warrantyRecallVins(dto, dealerAccountUid);\n }\n\n public RecallAttachment(dealerAccountUid: string, attachmentRecId: number): Promise {\n return this._dealerRecallClient.recallAttachment(dealerAccountUid, attachmentRecId);\n }\n \n public ExportRecallVins(dealerAccountUid: string, dto: DealerRecallSearchDTO): Promise {\n return this._dealerRecallClient.exportRecallVins(dto, dealerAccountUid);\n }\n}","import {\n ProductClient_V1,\n ProductItemSearchDTO,\n ProductItemDTO,\n CreateSalesOrderDTO,\n DealerSalesOrderDTO,\n} from './generated/api.generated.v1';\nimport ApiConfig from './ApiConfig';\nimport { ApiHelper } from 'src/utils';\n\nexport default class ProductService {\n private readonly _productClient: ProductClient_V1;\n\n constructor() {\n this._productClient = new ProductClient_V1(new ApiConfig(), process.env.VUE_APP_API_V1_URL);\n }\n\n public Products(dealerAccountUid : string, dto: ProductItemSearchDTO): Promise> {\n return this._productClient.productItems(dto, dealerAccountUid);\n }\n\n public TopProducts(dealerAccountUid : string, page : number, pageTake : number): Promise> {\n return this._productClient.topProductItems(dealerAccountUid, page, pageTake);\n }\n\n public RecentlyOrderedProducts(dealerAccountUid : string, vin: string): Promise> {\n return this._productClient.recentlyOrderedItems(dealerAccountUid, vin);\n }\n\n public ItemSubComponents(dealerAccountUid : string, itemId: string): Promise> {\n return this._productClient.itemSubcomponents(dealerAccountUid, itemId);\n }\n\n public AlternateItem(dealerAccountUid : string, itemId: string, quantity: number): Promise {\n return this._productClient.alternateItem(dealerAccountUid, itemId, quantity);\n }\n\n public CreateSalesOrder(dealerAccountUid : string, dto : CreateSalesOrderDTO): Promise {\n return ApiHelper.ParseDTO(() =>this._productClient.createSalesOrder(dto, dealerAccountUid));\n }\n}","import {\n SpiffDTO,\n SpiffClient_V1,\n VinDTO,\n SpiffSalesmanDTO,\n W9RequestSearchDTO,\n CreateSpiffRequestDTO,\n} from './generated/api.generated.v1';\nimport ApiConfig from './ApiConfig';\nimport { ApiHelper } from 'src/utils';\n\nexport default class SpiffService {\n private readonly _spiffClient: SpiffClient_V1;\n\n constructor() {\n this._spiffClient = new SpiffClient_V1(new ApiConfig(), process.env.VUE_APP_API_V1_URL);\n }\n\n public GetSpiffs(dealerAccountUid: string, dto: SpiffDTO): Promise> {\n return this._spiffClient.getSpiffs(dto, dealerAccountUid);\n }\n\n public VinDetails(dealerAccountUid: string, vin: string): Promise{\n return this._spiffClient.dynamicsVinInfo(dealerAccountUid, vin);\n }\n\n public RequestSpiff(dealerAccountUid: string, dto: CreateSpiffRequestDTO): Promise {\n return ApiHelper.ParseDTO(() =>this._spiffClient.requestSpiff(dto, dealerAccountUid));\n }\n\n public GetSpiffSalesmen(DealerAccountUid: string, dto: W9RequestSearchDTO): Promise> {\n return this._spiffClient.getSpiffSalesmen(dto, DealerAccountUid);\n }\n}","import {\n InvoiceClient_V1,\n InvoiceDTO,\n InvoiceSearchDTO,\n AttachmentInfoDTO,\n InvoiceStatementDTO,\n ExportDTO\n} from './generated/api.generated.v1';\nimport ApiConfig from './ApiConfig';\n\nexport default class InvoiceService {\n private readonly _invoiceClient: InvoiceClient_V1;\n\n constructor() {\n this._invoiceClient = new InvoiceClient_V1(new ApiConfig(), process.env.VUE_APP_API_V1_URL);\n }\n\n public Invoices(dealerAccountUid : string, dto: InvoiceSearchDTO): Promise> {\n return this._invoiceClient.invoices(dto, dealerAccountUid);\n }\n\n public InvoiceReport(dealerAccountUid : string, invoiceId: string | null | undefined): Promise {\n return this._invoiceClient.invoiceReport(dealerAccountUid, invoiceId);\n }\n\n public InvoiceStatement(dealerAccountUid : string): Promise {\n return this._invoiceClient.invoiceStatement(dealerAccountUid);\n }\n\n public ExportInvoiceStatement(dealerAccountUid : string): Promise {\n return this._invoiceClient.exportInvoiceStatement(dealerAccountUid);\n }\n\n}","import {\n DealerClaimDTO,\n DealerClaimClient_V1,\n DealerClaimSearchDTO,\n CreateClaimDTO,\n CreateClaimLineAttachmentDTO,\n CreateClaimLineDTO,\n CreateClaimLineItemDTO,\n CreateClaimLineMiscChargeDTO,\n CreateaClaimLineNoteDTO,\n ValidationBaseDTO,\n DealerClaimLineAttachmentDTO,\n ExportDTO,\n ReturnLabelDTO,\n AttachmentInfoDTO\n} from './generated/api.generated.v1';\nimport ApiConfig from './ApiConfig';\nimport { ApiHelper } from 'src/utils';\n\nexport default class ClaimService {\n private readonly _dealerClaimClient: DealerClaimClient_V1;\n\n constructor() {\n this._dealerClaimClient = new DealerClaimClient_V1(new ApiConfig(), process.env.VUE_APP_API_V1_URL);\n }\n\n public Claims(dealerAccountUid: string, dto: DealerClaimSearchDTO): Promise> {\n return this._dealerClaimClient.claims(dto, dealerAccountUid);\n }\n public CreateClaim(dealerAccountUid: string, dto: CreateClaimDTO): Promise {\n return ApiHelper.ParseDTO(() => this._dealerClaimClient.createClaim(dto, dealerAccountUid));\n }\n public CreateClaimFromRecall(dealerAccountUid: string, dto: CreateClaimDTO): Promise {\n return ApiHelper.ParseDTO(() =>\n this._dealerClaimClient.createClaimFromRecall(dto, dealerAccountUid)\n );\n }\n public EditClaim(dealerAccountUid: string, dto: DealerClaimDTO): Promise {\n return ApiHelper.ParseDTO(() => this._dealerClaimClient.editClaim(dto, dealerAccountUid));\n }\n public GetClaimByClaimNumber(dealerAccountUid: string, claimNumber: string): Promise {\n return ApiHelper.ParseDTO(() =>\n this._dealerClaimClient.getByClaimNumber(dealerAccountUid, claimNumber)\n );\n }\n public CreateClaimLine(dealerAccountUid: string, dto: CreateClaimLineDTO): Promise {\n return ApiHelper.ParseDTO(() => this._dealerClaimClient.createClaimLine(dto, dealerAccountUid));\n }\n public CreateClaimLineItem(dealerAccountUid: string, dto: CreateClaimLineItemDTO): Promise {\n return ApiHelper.ParseDTO(() => this._dealerClaimClient.createClaimLineItem(dto, dealerAccountUid));\n }\n public CreateClaimLineMiscCharge(\n dealerAccountUid: string,\n dto: CreateClaimLineMiscChargeDTO\n ): Promise {\n return ApiHelper.ParseDTO(() =>\n this._dealerClaimClient.createClaimLineMiscCharge(dto, dealerAccountUid)\n );\n }\n public CreateClaimLineAttachment(\n dealerAccountUid: string,\n dto: CreateClaimLineAttachmentDTO\n ): Promise {\n return ApiHelper.ParseDTO(() =>\n this._dealerClaimClient.createClaimLineAttachment(dto, dealerAccountUid)\n );\n }\n public CreateClaimLineNote(dealerAccountUid: string, dto: CreateaClaimLineNoteDTO): Promise {\n return ApiHelper.ParseDTO(() => this._dealerClaimClient.createClaimLineNote(dto, dealerAccountUid));\n }\n public SubmitPreAuthorization(dealerAccountUid: string, claimNumber: string): Promise {\n return ApiHelper.ParseDTO(() =>\n this._dealerClaimClient.submitPreAuthorization(dealerAccountUid, claimNumber)\n );\n }\n public SubmitWorkComplete(dealerAccountUid: string, claimNumber: string): Promise {\n return ApiHelper.ParseDTO(() =>\n this._dealerClaimClient.submitWorkComplete(dealerAccountUid, claimNumber)\n );\n }\n public DeleteClaimLine(dealerAccountUid: string, id: number): Promise {\n return ApiHelper.ParseDTO(() => this._dealerClaimClient.deleteClaimLine(dealerAccountUid, id));\n }\n public DeleteClaimLineItem(dealerAccountUid: string, id: number): Promise {\n return ApiHelper.ParseDTO(() =>\n this._dealerClaimClient.deleteClaimLineItem(dealerAccountUid, id)\n );\n }\n public DeleteClaimLineMiscCharge(dealerAccountUid: string, id: number): Promise {\n return ApiHelper.ParseDTO(() =>\n this._dealerClaimClient.deleteClaimLineMiscCharge(dealerAccountUid, id)\n );\n }\n public DeleteClaimLineAttachment(dealerAccountUid: string, id: number): Promise {\n return ApiHelper.ParseDTO(() =>\n this._dealerClaimClient.deleteClaimLineAttachment(dealerAccountUid, id)\n );\n }\n public DeleteClaimLineNote(dealerAccountUid: string, id: number): Promise {\n return ApiHelper.ParseDTO(() =>\n this._dealerClaimClient.deleteClaimLineNote(dealerAccountUid, id)\n );\n }\n public GetClaimLineAttachments(\n dealerAccountUid: string,\n claimLineId: number\n ): Promise> {\n return ApiHelper.ParseDTO>(() =>\n this._dealerClaimClient.getClaimLineAttachments(dealerAccountUid, claimLineId)\n );\n }\n public ExportClaim(dealerAccountUid: string, status: string, autoDenied: boolean): Promise {\n return this._dealerClaimClient.exportClaimsByStatus(dealerAccountUid, status, autoDenied);\n }\n public CreateReturnLabel(dealerAccountUid: string, dto: ReturnLabelDTO): Promise {\n return ApiHelper.ParseDTO(() =>\n this._dealerClaimClient.createClaimReturnLabel(dto, dealerAccountUid)\n );\n }\n\n public GetClaimReport(dealerAccountUid: string, claimId: string | null | undefined): Promise {\n return this._dealerClaimClient.claimReport(dealerAccountUid, claimId);\n }\n}\n","import {\n DealerSalesOrderDTO,\n DealerSalesOrderClient_V1,\n DealerSalesOrderSearchDTO,\n AXDocumentDTO\n} from './generated/api.generated.v1';\nimport ApiConfig from './ApiConfig';\n\nexport default class SalesOrderService {\n private readonly _dealerSalesOrderClient: DealerSalesOrderClient_V1;\n\n constructor() {\n this._dealerSalesOrderClient = new DealerSalesOrderClient_V1(new ApiConfig(), process.env.VUE_APP_API_V1_URL);\n }\n\n public Orders(dealerAccountUid: string, dto: DealerSalesOrderSearchDTO): Promise> {\n return this._dealerSalesOrderClient.getDealerSalesOrders(dto, dealerAccountUid);\n }\n\n public MSRPOrderReport(dealerAccountUid: string, salesOrderId: string): Promise {\n return this._dealerSalesOrderClient.dealerSalesOrderMSRPReport(dealerAccountUid, salesOrderId);\n }\n}","import {\n W9RequestDTO,\n W9RequestSearchDTO,\n W9RequestClient_V1,\n} from './generated/api.generated.v1';\nimport ApiConfig from './ApiConfig';\n\nexport default class W9RequestService {\n private readonly _w9RequestClient: W9RequestClient_V1;\n\n constructor() {\n this._w9RequestClient = new W9RequestClient_V1(new ApiConfig(), process.env.VUE_APP_API_V1_URL);\n }\n\n public W9Requests(dealerAccountUid: string, dto: W9RequestSearchDTO): Promise> {\n return this._w9RequestClient.w9Requests(dto, dealerAccountUid);\n }\n\n public CreateW9Request(dealerAccountUid: string, dto: W9RequestDTO): Promise {\n return this._w9RequestClient.createW9Request(dto, dealerAccountUid);\n }\n}","import {\n DealerDashboardDTO,\n DealerDashboardClient_V1\n} from './generated/api.generated.v1';\nimport ApiConfig from './ApiConfig';\n\nexport default class DashboardService {\n private readonly _dealerDashboardClient: DealerDashboardClient_V1;\n\n constructor() {\n this._dealerDashboardClient = new DealerDashboardClient_V1(new ApiConfig(), process.env.VUE_APP_API_V1_URL);\n }\n\n public Data(dealerAccountUid: string): Promise {\n return this._dealerDashboardClient.getDashboardData(dealerAccountUid);\n }\n}","/* eslint-disable @typescript-eslint/no-unsafe-member-access */\n/* eslint-disable @typescript-eslint/no-unsafe-assignment */\nimport { FAQ, FaqResponse} from 'src/components/models';\nimport ApiConfig from './ApiConfig';\nimport { ConsumerInformationClient_V1, InformationalVideoDTO, WebsiteContentLinkDTO } from './generated/api.generated.v1';\nimport axios from 'axios';\n\nexport default class ConsumerInformationService {\n private readonly _consumerInfoClient: ConsumerInformationClient_V1;\n\n constructor() {\n this._consumerInfoClient = new ConsumerInformationClient_V1(new ApiConfig(), process.env.VUE_APP_API_V1_URL);\n }\n\n public GetDealerInformationalVideos(): Promise> {\n return this._consumerInfoClient.dealerVideos();\n }\n\n public WebsiteContentLinks(): Promise {\n return this._consumerInfoClient.websiteContentLinks();\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 // eslint-disable-next-line @typescript-eslint/no-explicit-any\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 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 makeWebApiCall();\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}","/**\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,LocalStorage} from 'quasar'\n\n\nVue.use(Quasar, { config: {\"loading\":{\"delay\":400,\"message\":\"Loading\",\"spinnerColor\":\"secondary\",\"customClass\":\"loading-overlay\"}},lang: lang,iconSet: iconSet,plugins: {Loading,Dialog,Notify,LocalStorage} })\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',{attrs:{\"id\":\"q-app\"}},[(!_vm.$q.platform.is.mobile)?_c('environment-banner'):_vm._e(),_c('router-view',{key:_vm.$route.fullPath})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { Vue, Component } from 'vue-property-decorator';\nimport { AuthService } from './services';\nimport ApiConfig from './services/ApiConfig';\nimport { RouteNames } from './router/routes';\nimport { RawLocation } from 'vue-router';\nimport EnvironmentBanner from './components/EnvironmentBanner.vue';\n\n@Component({\n components: { EnvironmentBanner },\n})\nexport default class App extends Vue {\n private readonly authService: AuthService = new AuthService();\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) {\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}\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=66032bd3&\"\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.ConfirmEmail,\n RouteNames.DealerAdminAccountRegistration\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\nfunction tryUpdateRefreshToken(): Promise {\n return new Promise((resolve, reject) => {\n authService\n .RefreshToken()\n .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 resolve(isAuthenticated);\n })\n .catch(err => {\n reject(err);\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 = { path: '/login' };\n if (to.fullPath !== '/') {\n nextRoute.query = { redirect: to.fullPath };\n }\n\n next(nextRoute);\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","/**\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_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_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","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=b317fcd0&prod&lang=scss&scoped=true&\"","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 {\n CompanyTypes,\n DealerChainGroupDTO,\n DealerLocationDTO,\n DevicePlatformTypes,\n LookupTypeDTO\n} 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 ? 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 case 'DEALER':\n return CompanyTypes.Dealer;\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\n static MapDealerLocationsToLookup(dealerLocations: Array) {\n return dealerLocations\n .filter(x => x.id)\n .map(x => {\n const dto = new LookupTypeDTO();\n\n dto.id = x.id;\n dto.name = `${x.name} (${x.dealerId})`;\n\n return dto;\n })\n .sort((a, b) => a.name?.localeCompare(b.name ?? '') ?? 0);\n }\n\n static MapUserDealerLocationsToLookup(dealerLocations: Array) {\n return dealerLocations\n .filter(x => x.id)\n .map(x => {\n const dto = new LookupTypeDTO();\n\n dto.id = (x.dealerId) ?? 0;\n dto.name = `${x.name} (${x.dealerId})`;\n\n return dto;\n })\n .sort((a, b) => a.name?.localeCompare(b.name ?? '') ?? 0);\n }\n\n static MapDealerChainGroupsToLookup(dealerChainGroups: Array) {\n return dealerChainGroups\n .filter(x => x.id)\n .map(x => {\n const dto = new LookupTypeDTO();\n\n dto.id = x.id;\n dto.name = `${x.description} (${x.dynamicsId}) *`;\n\n return dto;\n })\n .sort((a, b) => a.name?.localeCompare(b.name ?? '') ?? 0);\n }\n}\n","export default {\n registrationsNotAllowedDialog: {\n title: 'Registration Not Allowed',\n message: 'Regsitrations are not a',\n closeButton: 'Close',\n }\n}\n","import WarrantyRegistrationsi18n from 'src/components/warrantyRegistrations/i18n';\n\nexport 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 primaryDealerLocation: 'Primary Dealer Location',\n adminActions: 'Admin Actions',\n linkDashboard: 'Dashboard',\n dealerSaleOrder: 'Sales Order',\n linkWarrantyRegistrations: 'Warranty Registrations',\n linkWarrantyClaims: 'Warranty Claims',\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 linkSupport: 'Support',\n linkFaq: 'FAQ',\n linkChecklists: 'Checklists',\n linkBlogPosts: 'Campfire Stories',\n linkPodcasts: 'Podcasts',\n linkMarketingMaterials: 'Marketing Materials',\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 required',\n password: 'Password *',\n passwordRequired: 'Password is required',\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 required',\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 },\n\n editProfile: {\n title: 'Edit Profile',\n saveChanges: 'Save Changes',\n resetProfile: 'Reset',\n successMessage: 'Success! Your profile has been updated.',\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 required',\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 required',\n lastName: 'Last Name *',\n lastNameRequired: 'Last Name is required',\n email: 'Your Email *',\n emailRequired: 'Email is required',\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 required',\n confirmPassword: 'Confirm Password *',\n confirmPasswordRequired: 'Confirm Password is required',\n passwordDoesNotMatch: 'Password and Confirm Password must match.',\n successMessage: 'Success! An email has been sent to {email} to complete the registration process.',\n termsAndConditionsMessage: \"By clicking Agree & Register you agree to {companyDisplayName}' \",\n agreeAndRegister: 'Agree & Register',\n invitationSuccessMessage: 'Success! Your account has been created',\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 },\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 // Dealer\n\n dashboard: {\n pageTitle: 'Dashboard',\n },\n\n announcements: {\n title: 'Announcements',\n newAnnouncement: 'New Announcement',\n edit: 'Edit',\n addAttachments: 'Attachments',\n removeTitle: 'Remove Announcement',\n removeConfirm: 'Are you sure you want to remove this announcement?',\n removeSuccess: 'Success! Announcement successfully removed.',\n created: 'Created: ',\n updated: 'Updated: ',\n searchTitle: 'Search Title',\n tableColumns: {\n title: 'Title',\n published: 'Published',\n },\n },\n\n AnnouncementDialog: {\n createAnnouncement: 'Create Announcement',\n editAnnouncement: 'Edit Announcement',\n title: 'Title',\n expirationDate: 'Expiration Date',\n expirationDateError: 'Expiration Date must be in the future',\n addSuccess: 'Success! Announcement successfully created.',\n updateSuccess: 'Success! Announcement successfully updated.',\n contentRequired: 'Error! Content required',\n uploadMissing: 'Error! Not all added files have been uploaded',\n attachments: 'Attachments',\n },\n\n announcementAttachmentDialog: {\n attachmentsTitle: 'Announcement Attachments',\n titleLabel: 'Title',\n noAttachments: 'No attachments availble for this announcement',\n previewThumbnail: 'Preview Image',\n attachments: 'Attachments',\n addAttachments: 'Add Attachments',\n addSuccess: 'Success! Announcement attachments successfully added.',\n removeTitle: 'Remove Attachment',\n removeConfirm: 'Are you sure you want to remove this attachment: \"{fileName}\"',\n removeSuccess: 'Success! Attachment successfully removed.',\n unsubmittedAttachmentsTitle: 'Un-submitted Attachments',\n unsubmittedAttachmentsMsg: 'Are you sure you want to proceed without submitting added attachments?',\n },\n\n warranty: {\n recalls: {\n export: 'Export Recall VINS',\n mobileExport: 'Export',\n exportFileName: 'Recall-{recallId}-VINs',\n recallTitle: 'Warranty Recalls',\n recallDetailsTitle: 'Recall Details',\n recallCategory: 'Filter Type',\n vinHeader: 'VIN',\n accountNumberHeader: 'Account #',\n processedHeader: 'Processed',\n brandHeader: 'Brand',\n modelHeader: 'Model',\n yearHeader: 'Year',\n claim: 'Claim',\n recallIdHeader: 'Recall ID',\n recallNameHeader: 'Recall Name',\n recallTypeheader: 'Recall Type',\n warrantyCodeHeader: 'Warranty Code',\n warrantyDescriptionHeader: 'Description',\n recallDescriptionHeader: 'Description',\n attachment: 'attachment',\n productionBeginsHeader: 'Production Begins',\n productionEndsHeader: 'Production Ends',\n vinDetailsButton: 'VIN Details',\n processClaimButton: 'Process Claim',\n viewClaimButton: 'View Claim',\n downloadAttachment: 'Download File',\n openAttachment: 'Open File',\n shareAttachment: 'Share File',\n searchBox: 'SEARCH',\n globalSearchLabel: 'Global Search',\n includeClosedLabel: 'Include Closed',\n newClaim: 'New Claim',\n noVinInfoErr: 'Could not find VIN information for {vin}',\n markedForRetailSold: \"Cannot create claim for VINS marked as 'Retail Sold - Stat Survey'\",\n notRegisteredVinErr: 'Cannot create claim for unregistered vin {vin}',\n },\n attachments: {\n header: 'Attachments',\n noAttachmentsMessage: 'No Attachments for this Recall',\n close: 'Close Attachments',\n },\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 required',\n },\n\n manageUsers: {\n title: 'Manage Users',\n inviteDealerAdminTitle: 'Invite Dealer Admin',\n inviteDealerUserTitle: 'Invite Dealer User',\n chainGroup: 'Chain Group *',\n chainGroupRequired: 'Chain Group is required',\n currentTitle: 'Current Title *',\n currentTitleRequired: 'Current title is required',\n location: 'Location *',\n locationRequired: 'Location is required',\n inviteDealerAdmin: 'Invite Dealer Admin',\n inviteDealerAdminOverride: 'User {username} already exist. User role and locations successfully updated',\n inviteDealerUser: 'Invite Dealer User',\n firstName: 'First Name *',\n firstNameRequired: 'First Name is required',\n lastName: 'Last Name *',\n lastNameRequired: 'Last Name is required',\n email: 'Email *',\n emailRequired: 'Email is required',\n associatedWithChainGroup: 'Will this dealer be associated with a chain group?',\n associatedWithChainGroupRequired: 'Dealer location type is required',\n dealerAdminInviteSent: 'Success! A dealer account invitation has been sent to {email}.',\n dealerAdminEdit: 'Success! Dealer user has been updated.',\n dealerAccessRemoved: 'Success! Dealer access removed for {email}',\n resendInvite: 'Resend Invitation',\n removeAccess: 'Remove Access',\n removeLocations: 'Remove Locations',\n addLocations: 'Add Locations',\n roleTitle: 'Roles',\n locationChainGroup: 'Location / Chain Group *',\n registered: 'Registered',\n confirmResendConfirmationEmail: 'Are you sure you want to resend the invitation email to {email}?',\n invitationEmailSent: 'Success! Invitation email sent to {email}',\n confirmRemoveAccess: 'Are you sure you want to remove dealer access for user {email}?',\n lastLoginDate: 'Last Login Date',\n viewDealerAdmin: 'View Dealer Admin',\n viewDealerUser: 'View Dealer User',\n duplicateLocationSelections: 'Duplicate selection, select another option.',\n financeRoleDescription:\n 'VIEW ACCESS - Registration, Recalls, Claims, Products, Invoices, Sales order, W9 Request, Spiff Request, Marketing and Customer resources',\n warrantyRoleDescription:\n 'FULL ACCESS - Registration, Recalls, Claims, Products, Invoices, Sales order, Marketing and Customer resources',\n dealerSuperAdminRoleDescription: 'FULL ACCESS AND RIGHTS',\n dealerAdminRoleDescription:\n 'FULL ACCESS - Registration, Invoices, Sales order, W9 and SPIFF.
VIEW ACCESS - Recalls, Claims, Product Items',\n batchInviteDealerAdmin: 'Batch Invite Dealer Admins',\n batchInviteDealerUser: 'Batch Invite Dealer Users',\n importBatch: 'Import Batch',\n downloadAdminTemplate: 'Download Admin Template',\n downloadUserTemplate: 'Download User Template',\n emailImportResults: 'The results of this import will be emailed to {email}.',\n batchInviteQueueSuccess: 'Batch Invite Queue Success!',\n noLocaitonsError: 'Unable to retrieve user locations. Please contact Heartland Customer Service for assistance.',\n },\n batchInvite: {\n emailLabel: 'Enter Email Address',\n emailValidation: 'Enter A Valid Email',\n },\n /////////////////////////////////////////////////////////////////////////////////\n // Dealer\n\n dashboardChart: {\n claimsByStatus: 'Claims by Status',\n claimsInDealerActionStatus: 'Claims In Dealer Action Status',\n claimInPaymentStatus: 'Claims in Payment Status',\n salesOrderByStatus: 'Sale Order by Status',\n vinRegistration: 'Vin Registration',\n statement: \"Today's Balance: ${balance}\",\n numberOfClaimsByStatus: 'Number of Claims by Status',\n numberOfSalesByStatus: 'Number of Sales by Status',\n numberOfRegistrationsByStatus: 'Number of Registrations by Status',\n invoiceStatement: 'Balance Aging',\n exportInvoiceReport: 'Export Invoice Statement',\n flatRateCodeExport: 'Flat Rate Code Export',\n },\n\n claimDashboard: {\n new: 'New',\n preAuthorizationRequired: 'Pre Authorization Required',\n dealerFeedbackRequired: 'Dealer feedback required',\n awaitVendorApproval: 'Awaiting vendor approval',\n awaitWorkCompletion: 'Awaiting work completion',\n agingBucket: '91-120 aging bucket',\n ApprovedForPayment: 'Approved for payment',\n awaitingPaymentApproval: 'Awaiting payment approval',\n },\n\n vinDashboard: {\n registered: 'Registered',\n unregistered: 'Unregistered',\n retailSold: 'Retail Sold - STAT Survey',\n },\n\n saleOrderDashboard: {\n new: 'New',\n delivered: 'Delivered',\n invoiced: 'Invoiced',\n cancelled: 'Cancelled',\n },\n\n viewDealerUserDialog: {\n removeLabel: 'Remove',\n undoLabel: 'Undo',\n saveEditConfirmationMessage: 'Are you sure you want to make the following changes to user {email}?',\n addedSelectedLocation: 'Adding Selected Location: {dealerName}',\n addedSelectedChainGroup: 'Adding Selected Chain Group: {dealerName}',\n addSelectedLocationBtnLabel: 'Add Selected Location',\n pleaseSelectLocationToAddLabel: 'Please Select Location to Add',\n },\n\n completeDealerInvite: {\n title: 'Complete Dealer Invitation',\n password: 'Password *',\n passwordRequired: 'Password is required',\n confirmPassword: 'Confirm Password *',\n confirmPasswordRequired: 'Confirm Password is required',\n passwordDoesNotMatch: 'Password and Confirm Password must match.',\n invitationSuccessMessage: 'Success! Your account has been created',\n invalidTokenTitle: 'Invitation Token Invalid',\n invalidTokenMessage: 'A new invitation email has been sent. Please follow the link and try again.',\n },\n\n warrantyRegistrations: {\n pageTitle: 'Warranty Registrations ',\n tableColumnNames: {\n vin: 'Vin',\n brand: 'Brand',\n model: 'Model',\n year: 'Year',\n status: 'Status',\n dealerSold: 'Dealer Sold',\n hasRecall: 'Has Recall',\n ownerName: 'Owner Name',\n completedDate: 'Completed',\n shipDate: 'Shipped',\n registrationDate: 'Registered',\n accountNumber: 'Account #',\n },\n filterType: 'Filter Type',\n registeredButtonLabel: 'Registered',\n unregisteredButtonLabel: 'Unregistered',\n dialogTitle: 'Confirm',\n signatureConsensus:\n 'By selecting \"Confirm\", you are acknowledging that there is a copy of the owners registration on file, including all the appropriate Dealer and Consumer signatures',\n includeExpiredLabel: 'Include Expired',\n updateOwner: 'Update Owner',\n register: 'Register',\n retailSoldLabel: 'Retail Sold - STAT Survey',\n retailSoldStatSurveyHtml:\n 'The customer signed registration needs to be sent to: {hrvRegistrationEmail} (HRV units) or {dcrvRegistrationEmail} (CRV/DRV) units',\n notRegisteredLabel: 'Unregistered',\n ...WarrantyRegistrationsi18n\n },\n\n warrantyClaims: {\n pageTitle: 'Warranty Claims ',\n searchLabel: 'Search',\n filterTypeLabel: 'Filter Type',\n claimStatusLabel: 'Claim Status',\n tableColumnNames: {\n claimNumber: 'Claim #',\n vin: 'Vin',\n accountNumber: 'Account #',\n status: 'Status',\n inServiceDate: 'In Service Date',\n updated: 'Updated',\n workOrderNumber: 'Work Order #',\n checkNumber: 'Check #',\n totalAmount: 'Total Amount',\n venderChargeback: 'Vendor Chargeback',\n recallId: 'Recall ID',\n autoDenied: 'Auto Denied',\n },\n newClaimLabel: 'New Claim',\n exportClaims: 'Export Claims',\n exportDownloadSuccess: 'Success! {fileName} successfully downloaded!',\n includeClosedLabel: 'Include Closed',\n },\n\n newClaimDialog: {\n title: 'Create New Claim',\n recallTitle: 'Create New Claim From Recall',\n accountNumber: 'Account',\n accountName: 'Account Name',\n vin: 'Vin',\n brand: 'Brand',\n year: 'Year',\n recall: 'Recall ID',\n workOrderNumber: 'Work Order #',\n inServiceDate: 'In Service Date',\n remedyCode: 'Remedy Code',\n vinSelectionRquired: 'Vin selection required!',\n inServiceDateRequired: 'In Service Date selection required!',\n newClaimSuccess: 'New claim successfully created',\n confirmExistingRecall:\n 'This VIN {vin} has existing recalls (e.g., {recalls}).

By selecting \"Confirm\", you acknowledge to proceeding claim creation without existing recall.',\n createSuccess: 'Claim {claimNumber} successfully created!',\n },\n\n claimDetail: {\n pageTitle: 'Claim Detail',\n claimCardHeader: 'Claim',\n customerHeader: 'Customer',\n ownerHeader: 'Owner',\n lines: 'Lines',\n claimId: 'Claim Id',\n vin: 'VIN',\n custAccount: 'Account #',\n brand: 'Brand',\n year: 'Year',\n model: 'Model',\n claimType: 'Claim Type',\n recallId: 'Recall Id',\n workOrderNumber: 'Work order no.',\n workCompleted: 'Work Completed',\n partsCostSubmitted: 'Parts/Misc Cost Submitted',\n submittedPayment: 'Submitted for Payment',\n status: 'Status',\n inServiceDate: 'In Service Date',\n saveChangesMissingError: 'Missing {error}',\n dateOutOfService: 'Date Out of Service',\n claimTotal: 'Claim Total',\n laborTotal: 'Labor Total',\n checkNumber: 'Check #',\n name: 'Name',\n address: 'Address',\n addLine: 'Add Line',\n line: 'Lines',\n saveChanges: 'Save Changes',\n saveChangesMsg: 'Are you sure you want to save your changes to Claim {claimNumber}?',\n claimSubmitSuccess: 'Claim successfully submitted.',\n submitPreAuth: 'Submit Pre-Authorization',\n submitePreAuthMsg: 'Are you sure you want to submit Claim {claimNumber} for Pre-Authorization?',\n submittedPreAuth: '* Submitted for Pre-Authorization *',\n submittedWorkComplete: '* Submitted for Work Complete *',\n pendingChangesTitle: 'Pending Changes',\n pendingChangesMsg:\n 'All changes must be saved before performing any other actions. Please save changes and try again.',\n linesReqTitle: 'Lines Required',\n linesReqMsg: 'Pre-Authorization cannot be submitted without any lines.',\n workComplete: 'Work Complete',\n workCompleteMsg: 'Are you sure you want to submit Claim {claimNumber} for Work Complete?',\n upsReturnLabel: 'UPS Return Label',\n claimSaveSuccess: 'Success! Claim changes saved',\n unsavedChanges: 'There are unsaved changes. Are you sure you want to leave?',\n unsavedChangesReturnMessage: 'Unsaved changes. Cannot perfom action.',\n amountRule: 'Amount must be greater than 0',\n reasonEntryRequired: 'Reason entry required. *',\n lineTableColumns: {\n warrantyClassCode: 'FRC',\n description: 'Description',\n remedyCode: 'Remedy Code',\n failureCode: 'Failure Code',\n status: 'Status',\n subletAmount: 'Sublet Amount',\n laborRate: 'Labor Rate',\n frcHours: 'FRC Hours',\n hoursRequested: 'Hours Requested',\n hoursApproved: 'Hours Approved',\n awaitingPartsReturn: 'Awaiting Parts Return',\n awaitingPhoto: 'Awaiting Photo',\n workCompleted: 'Work Completed',\n dealerCanceled: 'Dealer Canceled/Denied',\n reason: 'Reason',\n selectContent: 'Select Content',\n },\n removeDialogTitle: 'Remove {prop}',\n removeDialogMsg: 'Are you sure you want to remove {prop} {id}?',\n exitDetails: 'Exit Claim Details',\n },\n\n addClaimLineDialog: {\n addClaimLine: 'Add New Claim Line',\n warrantyClass: 'Warranty Class',\n subClass: 'Sub Class',\n specific: 'Specific',\n failureCode: 'Failure Code',\n remedyCode: 'Remedy Code',\n required: 'Required *',\n remedyCodeRequired: 'Remedy Code Required *\\n If no results, try a different warranty class combination',\n addSuccess: 'Line successfully added',\n },\n\n addClaimLineItemDialog: {\n addLineItem: 'Add New Line Item',\n quantity: 'Quantity',\n quantityRequired: 'Quantity Required.* Must be greater than 0',\n itemRequired: 'Item selection required.*',\n addSuccess: 'Line item successfully added',\n recentlyOrderedLabel: 'Recently Ordered Items',\n },\n\n addClaimLineMiscChargeDialog: {\n addLineMiscCharge: 'Add New Line Misc. Charge',\n markupCode: 'Markup Code',\n amount: 'Amount',\n description: 'Description',\n addSuccess: 'Line item successfully added',\n },\n\n addClaimLineAttachmentDialog: {\n addLineAttachment: 'Add New Line Attachment',\n lineAttachment: 'Line Attachment',\n addSuccess: 'Line attachment/s successfully added',\n },\n\n addClaimLineNoteDialog: {\n addLineNote: 'Add New Line Note',\n note: 'Note',\n addSuccess: 'Line note successfully added',\n },\n\n claimLineTabDetails: {\n item: 'Item',\n miscCharge: 'Misc. Charge',\n attachment: 'Attachment',\n note: 'Note',\n tabs: {\n items: 'Items',\n miscCharges: 'Misc. Charges',\n attachments: 'Attachments',\n notes: 'Notes',\n },\n addItemBtn: 'Add Item',\n itemTableColumns: {\n itemNumber: 'Item No.',\n description: 'Description',\n quantity: 'Quantity',\n price: 'Price',\n status: 'Status',\n declineReason: 'Decline Reason',\n },\n addMiscChargeBtn: 'Add Misc. Charge',\n miscChargeTableColumns: {\n markupCode: 'Markup Code',\n amount: 'Amount',\n description: 'Description',\n status: 'Status',\n declineReason: 'Decline Reason',\n },\n addAttachmentBtn: 'Add Attachment',\n attachmentsTableColumns: {\n type: 'Type',\n description: 'Description',\n fileName: 'File Name',\n url: 'URL',\n image: 'Image',\n created: 'Created',\n createdBy: 'CreatedBy',\n },\n addNoteBtn: 'Add Note',\n notesTableColumns: {\n name: 'Name',\n userId: 'User ID',\n note: 'Note',\n created: 'Created',\n },\n addAttachment: 'Add Attachment',\n addNotes: 'Add Note',\n },\n\n createReturnLabelDialog: {\n title: 'Create UPS Return Label',\n emailSentVerbiage: 'Email label will be sent to:',\n emailLabel: 'Email',\n packageDimensionsVerbiage: 'Package dimensions in inches:',\n lengthLabel: 'Length',\n widthLabel: 'Width',\n heightLabel: 'Height',\n packageWeightVerbiage: 'Package weight in Pounds:',\n weightLabel: 'Weight',\n inches: 'inches',\n pounds: 'pounds',\n successMessage:\n 'Success! Your return label has been successfully submited. You will recieve your label shortly at {email}.',\n },\n\n salesOrders: {\n pageTitle: 'Sales Orders ',\n searchOrderNumLabel: 'Search Sales Order #',\n searchReqNumLabel: 'Search Requisition #',\n filterTypeLabel: 'Filter Type',\n orderStatusLabel: 'Sales Order Status',\n rvPartsStock: 'RV Parts and Stock',\n rvUnit: 'RV Unit',\n tableColumnNames: {\n msrp: 'MSRP',\n salesOrderNumber: 'Sales Order #',\n vin: 'vin',\n status: 'Status',\n createdDate: 'Created Date',\n latestStatusUpdate: 'Latest Status Update',\n customerRequisition: 'Customer Requisition #',\n requisitionNumber: 'Cust. Requisition #',\n modeOfDelivery: 'Mode of Delivery',\n },\n },\n\n salesOrderDetail: {\n dialogHeader: 'Sales Order Details',\n salesOrderNumber: 'Sales Order #: ',\n vin: 'VIN: ',\n model: 'Model: ',\n brand: 'Brand: ',\n shipDate: 'Ship Date',\n year: 'Year: ',\n accountName: 'Name: ',\n customerAccount: 'Customer Account: ',\n invoiceAccount: 'Invoice Account: ',\n contact: 'Contact: ',\n requestedShipDate: 'Ship Date: ',\n status: 'Status: ',\n documentStatus: 'Document Status: ',\n customerReference: 'Customer Reference: ',\n customerReferenceAbbrv: 'Cust. Reference: ',\n customerRequisition: 'Customer Requisition: ',\n customerRequisitionAbbrv: 'Cust. Requisition: ',\n pool: 'Pool: ',\n site: 'Site: ',\n warehouse: 'Warehouse: ',\n salesOrderLines: 'Lines',\n salesOrderLinesColumnsNames: {\n itemNumber: 'Item Number',\n productName: 'Product Name',\n quantity: 'Quantity',\n unitOfMeasure: 'UoM',\n netAmount: 'Net Amount',\n readyForPickUp: 'Ready for Pick Up',\n readyForPickUpDate: 'Ready for Pick Up Date',\n readyForPickUpDateAbbrv: 'Pick Up Date'\n },\n salesOrderTrackingColumnsNames: {\n shipmentVoided: 'Shipment Voided: ',\n leadTrackingNumber: 'Lead Tracking #: ',\n trackingNumber: 'Tracking #: ',\n modeOfDelivery: 'Mode of Delivery: ',\n actualShipDate: 'Ship Date: ',\n },\n deliveryName: 'Name: ',\n deliveryInfo: 'Delivery Information',\n address: 'Address: ',\n shipmentVoided: 'Shipment Voided: ',\n trackingInfo: 'Tracking Information',\n inventoryInfo: 'Inventory',\n leadTrackingNumber: 'Lead Tracking #: ',\n trackingNumber: 'Tracking #: ',\n salesOrderInfo: 'Sales Order',\n modeOfDelivery: 'Mode of Delivery: ',\n actualShipDate: 'Ship Date: ',\n },\n\n vinDetail: {\n dialogHeader: 'VIN Details',\n vin: 'VIN:',\n itemNumber: 'Item Number',\n site: 'Site:',\n name: 'Name:',\n warrantyStatus: 'Warranty Status',\n registered: 'Registered:',\n brand: 'Brand:',\n model: 'Model:',\n year: 'Year:',\n contactID: 'ContactID:',\n customersSignature: \"Customer's Signature:\",\n ownersHistoryLabel: 'Owners History',\n },\n\n vinDetailsDialog: {\n tableColumnNames: {\n ownerName: 'Name',\n activationDate: 'Activation Date',\n inactiveDate: 'Inactive Date',\n ownerStatus: 'Owner Status',\n inactiveReason: 'Inactive Reason',\n inServiceDate: 'In Service Date',\n },\n },\n\n adminDealerRegistration: {\n title: 'Complete Dealer Admin Invitation',\n firstName: 'First Name *',\n lastName: 'Last Name *',\n },\n\n registerVehicle: {\n pageTitle: 'Register Vehicle',\n vehicleDetailLabels: {\n heading: 'Vehicle',\n vin: 'VIN',\n brand: 'Brand',\n model: 'Model',\n year: 'Year',\n },\n ownerInfoLabels: {\n heading: 'Owner Information',\n firstname: 'Firstname',\n lastname: 'Lastname',\n street: 'Street',\n city: 'City',\n state: 'State',\n postalCode: 'Zip/Postal Code',\n country: 'Country *',\n countryRequired: 'Country is required',\n phone: 'Phone',\n email: 'Email',\n dateSold: 'Date Sold',\n customerSignature: 'Customer Signature',\n },\n salesInformationHeading: 'Sales Information',\n purchaseDate: 'Purchase Date *',\n purchaseDateRequired: 'Purchase Date is required',\n purchaseDateCannotBeInFuture: 'Purchase Date cannot be a date in the future',\n customerSignatureConfirmLabel: 'Confirmed Customer Signature *',\n customerSignatureRequired: 'Customer signature must be confirmed',\n registrationSuccessful: 'Success! VIN: {vin} registered',\n primaryOwnerFirstName: 'Primary Owner First Name *',\n secondaryOwnerFirstName: 'Secondary Owner First Name',\n firstNameRequired: 'First Name is required',\n primaryOwnerLastName: 'Primary Owner Last Name *',\n secondaryOwnerLastName: 'Secondary Owner Last Name',\n lastNameRequired: 'Last Name is required',\n email: 'Email *',\n emailRequired: 'Email is required',\n phone: 'Phone Number *',\n phoneError: 'Please enter a valid phone number',\n secondaryPhone: 'Secondary Phone Number',\n fax: 'Fax',\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 register: 'Register',\n invalidPostalTitle: 'Invalid Postal Code',\n invalidPostalMessage:\n 'Check country and postal code input and try again or contact Heartland Customer Service for assistance.',\n },\n\n vinTypeAhead: {\n inputHint: 'Minimum 6 characters to trigger filtering',\n searchVin: 'Search Vin',\n },\n\n productTypeAhead: {\n inputHint: 'Minimum 4 characters to trigger filtering',\n searchItem: 'Search Item By ID or Description',\n },\n\n recallDropdown: {\n findRecall: 'Find Recall',\n label: 'Recall ID',\n },\n\n products: {\n pageTitle: 'Products / Items',\n searchCriteriaLabel: 'Search Criteria',\n tableColumnNames: {\n itemNumber: 'Item #',\n itemDescription: 'Item Description',\n salesPrice: 'Price',\n image: 'Image',\n warrantyClassCode: 'Warranty Class Code',\n },\n itemIdDescriptionSearchLabel: 'Item ID or Description',\n supplierNumberSearchLabel: 'Vendor Part #',\n dropDownLabels: {\n brand: 'Brand',\n modelyear: 'Year',\n },\n itemOnBackOrderTitle: 'OUT OF STOCK',\n itemOnBackOrderMessage: '{itemDescription} is currently not in stock. Would you like to order this item?',\n or: '- OR -',\n showTopItems: 'Show Top Items',\n topItemsInfo: '* Results reflect the top ordered items *',\n },\n\n productDetails: {\n dialogHeader: 'Product Details',\n itemNumberLabel: 'Item #',\n productNameLabel: 'Product Name',\n salesPriceLabel: 'Price',\n unitLabel: 'Unit',\n currencyLabel: 'Currency',\n quantityLabel: 'On hand quantity',\n brandLabel: 'Brand',\n modelLabel: 'Model',\n yearLabel: 'Year',\n supplierNumLabel: \"Supplier Part #'s\",\n categoryLabel: 'Category',\n subcomponentLabel: 'Subcomponents',\n alternateItemMessage: 'Item # {itemNumber} is not available and is swapped to alternate Item # {altItemNumber}',\n },\n\n shoppingCart: {\n pageTitle: 'Shopping Cart',\n tableColumnNames: {\n itemNumber: 'Item #',\n itemDescription: 'Item Description',\n quantity: 'Quantity',\n unitOfMeasure: 'UoM',\n prodSubComponent: 'Product Sub-Component',\n price: 'Price',\n backorder: 'Backorder',\n additionalNotes: 'Notes',\n },\n noteDialogMessage: 'Add or Edit item note',\n itemRemoveTitle: 'Confirm Remove',\n itemRemoveMessage: 'Are you sure you want to remove Item {itemDescription}',\n checkoutBtnLabel: 'Checkout',\n noteRequiredPlaceholder: 'Note Entry Required*',\n notePlaceholder: 'Enter note*',\n quantityMessage: 'Quantity must be greater than 0',\n checkoutIncompleteTitle: 'Cart Incomplete',\n checkoutIncompleteMessage: 'Please add notes where required.',\n },\n\n cartBase: {\n addSuccess: 'Success! Item # {itemNumber} sucessfully added to cart.',\n },\n\n cartCheckout: {\n pageTitle: 'Checkout',\n orderInformationPageTitle: 'Order Information',\n orderReviewPageTitle: 'Order Review',\n orderInformationTitle: 'Order Information',\n contactInformationTitle: 'Contact Information',\n customerNumberLabel: 'Customer Number',\n customerNumberRequired: 'Customer number required',\n customerReferenceLabel: 'Customer Reference',\n requisitionLabel: 'PO Number',\n modeOfDeliveryLabel: 'Mode of delivery *',\n modeOfDeliveryRequired: 'Mode of delivery required',\n orderTypeLabel: 'Order Type *',\n orderTypeRequired: 'Order type required',\n rvParts: 'RV Parts',\n stockParts: 'Stock Parts',\n purchaseTypeLabel: 'Purchase Type *',\n purchaseTypeRequired: 'Purchase type required',\n vinLabel: 'Vin',\n vinRequired: 'Order Type: \"RV Parts\" requires vin entry',\n shippingInformationTitle: 'Shipping Information',\n contactNameLabel: 'Contact Name*',\n contactNameRequired: 'Contact name required',\n contactEmailLabel: 'Contact Email*',\n contactEmailRequired: 'Contact email required',\n contactPhoneLabel: 'Contact Phone*',\n contactPhoneRequired: 'Contact phone required',\n deliveryNameLabel: 'Delivery Name *',\n deliveryNameRequired: 'Delivery name required',\n shipCompleteLabel: 'Ship Complete',\n oneTimeDeliveryAddressLabel: 'Create one-time delivery address',\n deliveryLocationLabel: 'Delivery Location',\n deliveryLocationRequired: 'Delivery location required. If none, try \"one-time delivery address',\n deliveryAddressLabel: 'Delivery Address *',\n deliveryAddressRequired: 'Delivery address required. If none, try \"one-time delivery address\"',\n addressLabel: 'Address',\n shippingNameLabel: 'Shipping Name *',\n shipingNameRequired: 'Shipping name is required',\n shippingPhoneLabel: 'Shipping Phone *',\n shippingPhoneRequired: 'Complete shipping phone is required',\n shipTo: 'Ship To:',\n note: 'Note',\n totals: 'Totals',\n totalAmount: 'Total',\n currency: 'Currency',\n submitOrderTitle: 'Submit Order',\n submitOrderMessage: 'Are you sure you want to submit this order for customer {customer}?',\n orderItems: 'Order Items',\n salesOrderSuccessTitle: 'Order Success',\n salesOrderSuccessMessage:\n 'Your order was successfully placed. Please use sales order: {salesOrderNumber} for reference.',\n },\n\n invoices: {\n pageTitle: 'Invoices',\n searchTermLabel: 'Search',\n filterTypeLabel: 'Filter Type',\n tableColumnNames: {\n invoiceNumber: 'Invoice #',\n vin: 'VIN',\n salesOrderNumber: 'Sales Order #',\n date: 'Date',\n dueDate: 'Due Date',\n currency: 'Currency',\n amount: 'Amount',\n referenceNumber: 'Reference #',\n },\n },\n\n invoiceDetails: {\n dialogHeader: 'Invoice {invoiceNumber}',\n invoiceInformation: 'Invoice Information',\n invoiceAccount: 'Invoice Account:',\n vin: 'VIN:',\n salesOrder: 'Sales Order:',\n invoiceDate: 'Invoice Date:',\n requisition: 'Requisition:',\n invoiceAmount: 'Invoice Amount:',\n totalCharges: 'Total Charges:',\n salesTax: 'Sales Tax:',\n totalDiscount: 'Total Discount:',\n paymentTerms: 'Payment Terms:',\n deliveryInformation: 'Delivery Information',\n name: 'Name:',\n address: 'Address:',\n recipientName: 'Recipient Name:',\n modeOfDelivery: 'Mode of Delivery:',\n invoiceLines: 'Invoice Lines',\n invoiceLinesTableColumns: {\n salesOrderNo: 'Sales Order #',\n itemNo: 'Item #',\n productName: 'Product Name',\n quantity: 'Quantity',\n unitPrice: 'Unit Price',\n lineDiscount: 'Line Discount',\n amount: 'Amount',\n },\n },\n\n w9: {\n navigationTitle: 'W9 Requests',\n list: {\n pageTitle: 'W9 Requests',\n newW9: 'New W9',\n filterLabel: 'Filter Type',\n commentDialogTitle: 'Comments',\n commentDialogNoComments: 'There are no comments on this W9 Request.',\n tableColumns: {\n requestorId: 'Requestor ID',\n dealerLocation: 'Dealer Location',\n status: 'Status',\n dateSubmitted: 'Date Submitted',\n updatedDate: 'Updated Date',\n },\n },\n request: {\n pageTitle: 'W9 Request Form',\n subTitle: 'Requesting Salesperson Info',\n phone: 'Phone Number',\n ssn: 'Social Security Number',\n documentUpload: 'Please Attach a Signed Copy of Current W9 Form for Review *',\n submitError:\n 'W9 Document is either not uploaded or the upload has failed. Please check the document and try again.',\n upload: 'Upload',\n firstName: 'First Name *',\n lastName: 'Last Name *',\n validation: {\n successMessage: 'Your W9 request was successfully created.',\n firstNameRequired: 'First Name Required',\n lastNameRequired: 'Last Name Required',\n ssnRequired: 'Please enter a valid SSN Number',\n phoneRequired: 'Please enter a valid phone number',\n locationRequired: 'Please select a location',\n },\n },\n },\n\n addItemPrompt: {\n itemQuantity: 'Item Quantity',\n itemQuantityRequired: 'Item quantity required',\n unitOfMeasure: 'Unit of Measure',\n unitOfMeasureRequired: 'Unit of Measure Required',\n addCartTitle: 'Add Item: ',\n },\n\n announcementCard: {\n published: 'Published',\n attachment: 'Attachments',\n description: 'Description',\n },\n\n spiff: {\n pageTitle: 'SPIFF Request',\n searchSpiffId: 'SEARCH BY SPIFF ID',\n status: 'Status',\n columns: {\n confirm: 'Confirm',\n vin: 'VIN',\n spiffId: 'Spiff ID',\n model: 'Model',\n brand: 'Brand',\n year: 'Year',\n amount: 'Amount',\n status: 'Status',\n type: 'Spiff Type',\n name: 'Name',\n company: 'Company',\n requestingSalesman: 'Requesting Sales Rep',\n },\n requestFormTitle: 'SPIFF Request Form',\n uploadInstructions: 'Would you like to attach a document?',\n documentTypeLabel: 'Please select a document type to upload a copy of your proof of ownership: *',\n uploadDocTypeRequired: 'Document type selection required. Make selection and try again.',\n successSalesMessage: 'Your SPIFF has been successfully submitted for:',\n successDealerMessage: 'Your SPIFF has been successfully submitted',\n registrationRequiredTitle: 'Vehicle Not Registered',\n registrationRequiredMessage:\n 'A Spiff cannot be requested until the vehicle is registered. You will be redirected to the vehicle registration form.',\n selectSalesman: 'Select Sales Rep',\n },\n\n spiffSearchTypes: {\n vin: 'VIN',\n spiffId: 'Spiff ID',\n status: 'Status',\n },\n\n spiffDetails: {\n dialogHeader: 'Spiff {spiffId}',\n spiffInformation: 'Spiff Information',\n paymentInformation: 'Payment Information',\n checkNumber: 'Check Number',\n date: 'Date',\n recipientName: 'Recipient Name',\n address: 'Address',\n },\n\n marketingMaterials: {\n pageTitle: 'Marketing Materials',\n marketingMaterialsVerbiage: 'Looking for Marketing Materials and Heartland Swag?',\n dealerStoreVerbiage: 'Click to visit our Dealer Store!',\n moreFeatures: 'More Features',\n comingSoon: 'Coming Soon',\n },\n\n rvFaq: {\n title: 'Frequently Asked Questions',\n },\n\n /////////////////////////////////////////////////////////////////////////////////\n // Shared\n\n action: 'Action',\n add: 'Add',\n all: 'All',\n cancel: 'Cancel',\n clear: 'Clear',\n confirm: 'Confirm',\n close: 'Close',\n delete: 'Delete',\n edit: 'Edit',\n error: 'Error',\n alert: 'Alert',\n continue: 'Continue',\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 saveChanges: 'Save Changes',\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 yes: 'Yes',\n no: 'No',\n view: 'View',\n viewedit: 'View / Edit',\n email: 'Email',\n firstName: 'First Name',\n lastName: 'Last Name',\n roles: 'Roles',\n createdDate: 'Created Date',\n currentTitle: 'Current Title',\n brand: 'Brand:',\n year: 'Year:',\n model: 'Model:',\n searchCriteriaLabel: 'Search Criteria',\n required: 'Required *',\n filterType: 'Filter Type',\n unableViewFileLabel: 'Unable to View File',\n unableViewFileMsg: 'File is too large or an error occured. Please try downloading file instead.',\n details: 'Details',\n more: 'More...',\n information: 'Information',\n numericValue: 'Must be numeric value *',\n valueLessThan: 'Value must be less than {maxValue}'\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';\nimport { createI18n, castToVueI18n } from 'vue-i18n-bridge'\n\ndeclare module 'vue/types/vue' {\n interface Vue {\n i18n: VueI18n;\n }\n}\n\nVue.use(VueI18n, {bridge: true});\n\nexport const i18n = castToVueI18n(createI18n({\n legacy: true,\n locale: 'en-us',\n fallbackLocale: 'en-us',\n messages\n}, VueI18n));\n\n\n const i18nComposition = castToVueI18n(createI18n({\n legacy: false,\n locale: 'en-us',\n fallbackLocale: 'en-us',\n messages\n}, VueI18n));\n\nexport default boot(({ app, Vue }) => {\n // Set i18n instance on app\n Vue.use(i18n);\n // Set the composition API i18n instance.\n Vue.use(i18nComposition);\n app.i18n = i18n;\n});\n","import { AppStore } from 'src/store';\nimport { RouteConfig, NavigationGuardNext } from 'vue-router';\nimport { Permissions, DealerRoles } from 'src/constants/ClaimTypes';\n\nconst RouteNames = {\n Login: 'Login',\n ForgotPassword: 'Forgot Password',\n ResetPassword: 'Reset Password',\n ConfirmEmail: 'Confirm Email',\n AcceptTermsConditions: 'Accept Terms and Conditions',\n DealerAdminAccountRegistration: 'Dealer Admin Account Registration',\n Dashboard: 'Dashboard',\n ManageUsers: 'Manage Users',\n ManageRoles: 'Manage Roles',\n ManageEmails: 'Manage Emails',\n ChangePassword: 'Change Password',\n EditProfile: 'Edit Profile',\n PdfViewer: 'PdfViewer',\n WarrantyRegistrations: 'Warranty Registrations',\n RegisterVehicle: 'Register Vehicle',\n WarrantyRecalls: 'Warranty Recalls',\n WarrantyClaims: 'Warranty Claims',\n WarrantyStatusClaims: 'Warranty Status Claims',\n SalesStatusOrder: 'Sales Status Order',\n VinStatusType: 'Vin Status Type',\n ProductItems: 'Product Items',\n ShoppingCart: 'Shopping Cart',\n CheckoutOrderInfo: 'Checkout Order Info',\n CheckoutReview: 'Checkout Review',\n Invoices: 'Invoices',\n W9NewRequest: 'W9 New Request',\n W9Requests: 'W9 Requests',\n SpiffRequests: 'Spiff Requests',\n SpiffRequestForm: 'Spiff Request Form',\n SalesOrders: 'Sales Orders',\n ClaimDetail: 'Claim Detail',\n MarketingMaterials: 'Marketing Materials',\n RvFaqs: 'Rv Faqs',\n InfoVideos: 'Info Videos'\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: '/confirm-email',\n name: RouteNames.ConfirmEmail,\n component: () => import('pages/account/ConfirmEmail.vue')\n },\n {\n path: '/register-admin',\n name: RouteNames.DealerAdminAccountRegistration,\n component: () => import('src/pages/account/DealerAdminAccountRegistration.vue')\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 beforeEnter(to, from, next) {\n HasPermission(RouteNames.ManageUsers) ? next() : next({ name: RouteNames.Dashboard });\n }\n },\n {\n path: '/admin/manage-roles',\n name: RouteNames.ManageRoles,\n component: () => import('pages/admin/ManageRoles.vue'),\n beforeEnter(to, from, next) {\n HasPermission(RouteNames.ManageRoles) ? next() : next({ name: RouteNames.Dashboard });\n }\n },\n {\n path: '/admin/manage-emails',\n name: RouteNames.ManageEmails,\n component: () => import('pages/admin/ManageEmails.vue'),\n beforeEnter(to, from, next) {\n HasPermission(RouteNames.ManageEmails) ? next() : next({ name: RouteNames.Dashboard });\n }\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: '/invoices', name: RouteNames.Invoices, component: () => import('pages/Invoices.vue') },\n {\n path: '/pdfviewer',\n name: RouteNames.PdfViewer,\n component: () => import('src/pages/PdfViewer.vue'),\n props: true\n },\n { path: '/product-items', name: RouteNames.ProductItems, component: () => import('src/pages/Products.vue') },\n {\n path: '/shopping-cart',\n name: RouteNames.ShoppingCart,\n component: () => import('src/pages/cart/ShoppingCart.vue'),\n beforeEnter(to, from, next) {\n canUseShoppingCart(next);\n }\n },\n {\n path: '/warranty-registrations',\n name: RouteNames.WarrantyRegistrations,\n component: () => import('src/pages/warranty/WarrantyRegistrations.vue')\n },\n {\n path: '/warranty-registrations/:filter',\n name: RouteNames.VinStatusType,\n component: () => import('src/pages/warranty/WarrantyRegistrations.vue'),\n props: true\n },\n {\n path: '/warranty-registrations/:vin/register',\n name: RouteNames.RegisterVehicle,\n component: () => import('src/pages/warranty/RegisterVehicle.vue'),\n props: true\n },\n {\n path: '/warranty-recalls',\n name: RouteNames.WarrantyRecalls,\n component: () => import('src/pages/warranty/WarrantyRecalls.vue')\n },\n {\n path: '/warranty-claims',\n name: RouteNames.WarrantyClaims,\n component: () => import('src/pages/warranty/WarrantyClaims.vue')\n },\n {\n path: '/warranty-claims/:aging/:presetStatusId',\n name: RouteNames.WarrantyStatusClaims,\n component: () => import('src/pages/warranty/WarrantyClaims.vue'),\n props: true\n },\n {\n path: '/sales-orders/:filter',\n name: RouteNames.SalesStatusOrder,\n component: () => import('src/pages/SalesOrders.vue'),\n props: true\n },\n {\n path: '/warranty-claims/:claimNumber',\n name: RouteNames.ClaimDetail,\n component: () => import('src/pages/warranty/ClaimDetail.vue'),\n props: true\n },\n { path: '/product-items', name: RouteNames.ProductItems, component: () => import('src/pages/Products.vue') },\n {\n path: '/shopping-cart',\n name: RouteNames.ShoppingCart,\n component: () => import('src/pages/cart/ShoppingCart.vue'),\n beforeEnter(to, from, next) {\n canUseShoppingCart(next);\n }\n },\n {\n path: '/cart-checkout/order-information',\n name: RouteNames.CheckoutOrderInfo,\n component: () => import('src/pages/cart/CheckoutOrderInfo.vue'),\n beforeEnter(to, from, next) {\n canUseShoppingCart(next);\n }\n },\n {\n path: '/cart-checkout/order-review',\n name: RouteNames.CheckoutReview,\n component: () => import('src/pages/cart/CheckoutReview.vue'),\n beforeEnter(to, from, next) {\n canPlaceOrder(next);\n }\n },\n {\n path: '/w9-new-request',\n name: RouteNames.W9NewRequest,\n component: () => import('src/pages/w9/W9NewRequest.vue'),\n props: true,\n beforeEnter(to, from, next) {\n HasPermission(RouteNames.W9NewRequest) ? next() : next({ name: RouteNames.Dashboard });\n }\n },\n {\n path: '/w9-requests',\n name: RouteNames.W9Requests,\n component: () => import('src/pages/w9/W9Requests.vue'),\n beforeEnter(to, from, next) {\n HasPermission(RouteNames.W9Requests) ? next() : next({ name: RouteNames.Dashboard });\n }\n },\n {\n path: '/spiff-requests',\n name: RouteNames.SpiffRequests,\n component: () => import('src/pages/spiff/SpiffRequest.vue'),\n beforeEnter(to, from, next) {\n HasPermission(RouteNames.SpiffRequests) ? next() : next({ name: RouteNames.Dashboard });\n }\n },\n {\n path: '/spiff-request-form/:vin/:spiffId/:type',\n name: RouteNames.SpiffRequestForm,\n component: () => import('src/pages/spiff/SpiffRequestForm.vue'),\n props: true,\n beforeEnter(to, from, next) {\n HasPermission(RouteNames.SpiffRequestForm) ? next() : next({ name: RouteNames.Dashboard });\n }\n },\n {\n path: '/sales-orders',\n name: RouteNames.SalesOrders,\n component: () => import('src/pages/SalesOrders.vue'),\n props: true\n },\n {\n path: '/marketing-materials',\n name: RouteNames.MarketingMaterials,\n component: () => import('src/pages/MarketingMaterials.vue')\n },\n {\n path: '/customer-resources/faq',\n name: RouteNames.RvFaqs,\n component: () => import('src/pages/customerResources/RvFaq.vue')\n },\n {\n path: '/customer-resources/informational-videos',\n name: RouteNames.InfoVideos,\n component: () => import('src/pages/customerResources/InformationalVideos.vue')\n }\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\nfunction canUseShoppingCart(next: NavigationGuardNext) {\n if (!HasPermission(RouteNames.ShoppingCart)) {\n next('/product-items');\n } else {\n next();\n }\n}\n\nfunction canPlaceOrder(next: NavigationGuardNext) {\n if (!HasPermission(RouteNames.CheckoutReview) || !AppStore.state.orderInfo.dealerLocation) {\n next('/cart-checkout/order-information');\n } else {\n next();\n }\n}\n\nfunction HasPermission(routeName: string): boolean {\n const routePermissions = RoutePermissions(AppStore.state.user.dealerRoles);\n return routePermissions && routePermissions.includes(routeName);\n}\n\nfunction RoutePermissions(dealerRoles: Array): Array {\n let routePermissions: Array = DealerRoleRoutes.AuthorizedPublicRoutes;\n\n if (AppStore.state.user.hasFullRights) {\n return routePermissions.concat(DealerRoleRoutes.FullPermission);\n }\n\n if (dealerRoles.some(x => x == DealerRoles.DealerAdmin)) {\n routePermissions = routePermissions.concat(DealerRoleRoutes.DealerAdmin);\n } else if (dealerRoles.some(x => x == DealerRoles.DealerFinance)) {\n routePermissions = routePermissions.concat(DealerRoleRoutes.DealerFinance);\n } else if (dealerRoles.some(x => x == DealerRoles.DealerWarranty)) {\n routePermissions = routePermissions.concat(DealerRoleRoutes.DealerWarranty);\n }\n\n if (AppStore.state.user.permissions.includes(Permissions.ViewDealerUsers)) {\n routePermissions = [RouteNames.ManageUsers];\n }\n\n if (AppStore.state.user.permissions.includes(Permissions.ManageRoles)) {\n routePermissions = [RouteNames.ManageRoles];\n }\n return routePermissions;\n}\n\nexport class DealerRoleRoutes {\n static DealerAdmin = [\n RouteNames.ManageUsers,\n RouteNames.W9Requests,\n RouteNames.W9NewRequest,\n RouteNames.RegisterVehicle,\n RouteNames.SpiffRequests,\n RouteNames.SpiffRequestForm\n ];\n\n static DealerFinance = [RouteNames.W9Requests, RouteNames.SpiffRequests];\n\n static DealerWarranty = [\n RouteNames.ShoppingCart,\n RouteNames.CheckoutOrderInfo,\n RouteNames.CheckoutReview,\n RouteNames.RegisterVehicle\n ];\n\n static FullPermission = [\n RouteNames.ManageUsers,\n RouteNames.ShoppingCart,\n RouteNames.CheckoutOrderInfo,\n RouteNames.RegisterVehicle,\n RouteNames.CheckoutReview,\n RouteNames.W9Requests,\n RouteNames.W9NewRequest,\n RouteNames.SpiffRequests,\n RouteNames.SpiffRequestForm\n ];\n\n static AuthorizedPublicRoutes = [\n RouteNames.Dashboard,\n RouteNames.WarrantyRegistrations,\n RouteNames.WarrantyRecalls,\n RouteNames.WarrantyClaims,\n RouteNames.ProductItems,\n RouteNames.Invoices,\n RouteNames.MarketingMaterials,\n RouteNames.RvFaqs,\n RouteNames.InfoVideos,\n RouteNames.SalesOrders\n ];\n}\n\nexport { routes, RouteNames, RoutePermissions, HasPermission };\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 render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return (!_vm.isProd)?_c('div',{staticClass:\"text-center bg-green text-bold text-orange envBanner\"},[_vm._v(\"\\n \"+_vm._s(_vm.environment)+\"\\n\")]):_vm._e()\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport { App, AppInfo } from '@capacitor/app';\nimport { Vue, Component } from 'vue-property-decorator';\n\n@Component\nexport default class EnvironmentBanner extends Vue {\n appInfo : AppInfo | null = null;\n\n async mounted() {\n if(this.$q.platform.is.mobile){\n this.appInfo = await App.getInfo();\n } \n }\n\n get environment() : string{\n let environment = process.env.ENVIRONMENT?.toString().toUpperCase();\n\n if(this.$q.platform.is.mobile && this.appInfo && environment){\n environment = `${environment} ${this.appInfo.version} (${this.appInfo.build})`;\n }\n\n console.log(environment);\n\n return environment;\n } \n\n get isProd(): boolean | undefined {\n return process.env.ENVIRONMENT?.includes('prod');\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=b317fcd0&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=b317fcd0&prod&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 \"b317fcd0\",\n null\n \n)\n\nexport default component.exports","export class ClaimTypes {\n static readonly NAME = 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name';\n static readonly EMAIL = '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 OTHER_PHONE = 'http://schemas.xmlsoap.org/ws/2005/05/identity/claims/otherphone';\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 DEALER_ACCOUNT = 'DealerAccount';\n static readonly DEALER_PERMISSION = 'DealerPermission';\n static readonly DEALER_ROLE = 'DealerRole';\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 static readonly ManageDealerAdmin = 'Manage Dealer Admin';\n static readonly ManageDealerUsers = 'Manage Dealer Users';\n static readonly ViewDealerUsers = 'View Dealer Users';\n}\n\nexport class DealerRoles {\n static readonly DealerAdmin = 'Dealer Admin';\n static readonly DealerSuperAdmin = 'Dealer Super Admin';\n static readonly DealerWarranty = 'Dealer Warranty';\n static readonly DealerFinance = 'Dealer Finance';\n static readonly DealerSales = 'Dealer Sales';\n static readonly AdminAssistant = 'ADMIN ASSISTANT';\n}\n","import { SalesPriceInfoDTO } from './../services/generated/api.generated.v1';\nimport { DealerLocationDTO, ImageDTO, PostalCodeInfoDTO, ProductItemDTO, 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 (this)[property] = (data)[property];\n }\n }\n }\n}\n\nexport class AddressInfo extends PostalCodeInfoDTO {\n streetAddress?: string | null = null;\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: {left: {ID: number, post_name: string, post_title: string}, center: {ID: number}, right: {ID: number}}\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 (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 CartItem {\n id?: number;\n productItem?: ProductItemDTO;\n purchaseQuantity?: number;\n purchaseUnitOfMeasure?: SalesPriceInfoDTO | null | undefined;\n notes?: string | null | undefined;\n}\n\nexport interface OrderTypeOption \n{\n name?: string;\n id?: number;\n}\n\nexport interface ChartElement\n{\n _index? : number;\n}","import {\n AuthenticationRequestDTO,\n AuthenticationResultDTO,\n RefreshTokenDTO,\n IdentityClient_V1,\n CompanyTypes\n} from './generated/api.generated.v1';\nimport ApiConfig from './ApiConfig';\nimport ApiHelper from '../utils/ApiHelper';\nimport {Loading} from 'quasar';\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: CompanyTypes): Promise {\n const request = new AuthenticationRequestDTO();\n request.userName = username;\n request.password = password;\n request.companyType = 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 }\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 = [`

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

`, '
    '];\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}\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)?.value ?? null;\n }\n\n static GetClaimValues(claims: Array | null | undefined, claimType: string): Array {\n return claims?.filter(x => x.type == claimType)?.map(x => x.value ?? '') ?? [];\n }\n\n static ConvertStatusLabel(status: string): string {\n return status == 'Unfinished' ? 'New' : status == 'New' ? 'Unfinished' : status;\n }\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}","import { PaginationSettings } from 'src/types/quasar';\n\nexport default class PaginationHelper {\n static BasePaginationSettings(): PaginationSettings {\n return {\n sortBy: '',\n rowsPerPage: 10,\n rowsNumber: 0,\n page: 1,\n descending: false,\n };\n }\n\n static RowsPerPageOptions(): Array {\n return [10, 20, 30];\n }\n\n static BasePaginationMobileSettings(): PaginationSettings {\n if (screen.width <= 1439 && screen.width > 1023) {\n return {\n sortBy: '',\n rowsPerPage: 6,\n rowsNumber: 0,\n page: 1,\n descending: false,\n };\n } else if (screen.width <= 1023 && screen.width > 599) {\n return {\n sortBy: '',\n rowsPerPage: 4,\n rowsNumber: 0,\n page: 1,\n descending: false,\n };\n } else if (screen.width <= 599) {\n return {\n sortBy: '',\n rowsPerPage: 10,\n rowsNumber: 0,\n page: 1,\n descending: false,\n };\n } else {\n return {\n sortBy: '',\n rowsPerPage: 10,\n rowsNumber: 0,\n page: 1,\n descending: false,\n };\n }\n }\n\n static RowsPerPageMobileOptions(): Array {\n if (screen.width <= 1439 && screen.width > 1023) {\n return [6, 9, 12, 15];\n } else if (screen.width <= 1023 && screen.width > 599) {\n return [4, 6, 8, 10];\n } else if (screen.width <= 599) {\n return [10, 20, 30];\n } else {\n return [10, 20, 30];\n }\n }\n}\n","import { Dialog} from 'quasar';\nimport { Camera, CameraResultType, Photo } from '@capacitor/camera';\n\nexport default class CameraHelper {\n static async GetImage(callbackFunction: ( photo : Photo | null) => Promise) {\n try{\n \n const image = await Camera.getPhoto({\n quality: 90,\n allowEditing: true,\n resultType: CameraResultType.Uri\n });\n\n if(image) {\n // image.webPath will contain a path that can be set as an image src.\n // You can access the original file using image.path, which can be\n // passed to the Filesystem API to read the raw data of the image,\n // if desired (or pass resultType: CameraResultType.Base64 to getPhoto)\n const imageUrl = image.webPath;\n\n\n Dialog.create({\n title: 'Do you want to use this image?',\n message: `imageUrl}\" class=\"full-width\" />`,\n html: true,\n ok: 'Yes',\n cancel: true,\n persistent: true,\n }).onOk(async () => {\n await callbackFunction(image);\n })\n }\n }\n catch(err) {\n console.log(err);\n }\n }\n}\n","import { i18n } from 'src/boot/i18n';\n\nconst maxValue = 200000000\nexport default class InputHelper {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n public static ValidateNumber(val : any): boolean | string{\n console.log(val);\n if (!val) {\n return i18n.t('required').toString()\n } else if ( Number(val) == Number.NaN || isNaN(val)) {\n return i18n.t('numericValue').toString()\n } else if (Number(val) > maxValue){\n return i18n.t('valueLessThan', {maxValue : maxValue}).toString()\n }\n\n return true;\n }\n}\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 | null | undefined): string {\n const minDate: moment.Moment = moment.utc('0001-01-01');\n\n if (!date || 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}"],"sourceRoot":""}