{"version":3,"sources":["models/enums.ts","actions/franchise-agents.actions.ts","shared/components/file-upload-button.tsx","shared/components/autocomplete.tsx","utils/common-utils.ts","utils/image.util.ts","screens/admin/site-logo/change-site-logo.tsx","shared/components/site-logo-editor.tsx","actions/action.ts","screens/admin/user-access/role-fields-mapping.ts","utils/nav-menu-util.ts","core/services/auth.service.ts","actions/customers.action-types.ts","shared/shared-reducer.tsx","reducers/auth.intialState.ts","reducers/customer-view.initial-state.ts","reducers/dashboard.initial-state.ts","reducers/create-letter.initial-state.ts","reducers/create-letter.reducer.ts","reducers/fast-edit.initial-state.ts","actions/fast-edit.action-types.ts","reducers/import-report.initial-state.ts","reducers/config.initialState.ts","reducers/index.tsx","reducers/auth.reducer.ts","reducers/config.reducer.ts","reducers/dashboard.reducer.ts","reducers/customer-view.reducer.ts","reducers/fast-edit-accounts.reducer.ts","reducers/import-report.reducer.ts","store/store.tsx","screens/not-found.tsx","shared/components/footer.tsx","shared/components/menu.tsx","shared/components/global-customer-search.tsx","shared/components/site-logo.tsx","shared/components/header.tsx","shared/components/left-nav.tsx","screens/auth/logout/logout.tsx","screens/auth/login/login.tsx","core/services/routing-service.ts","routes.tsx","shared/components/fullscreen-loader.tsx","shared/components/fullscreen-loader-inner.tsx","utils/app-utils.ts","core/components/app-level-operations/client-todo-notification.tsx","core/components/app-level-operations.component.tsx","app.tsx","core/http-interceptors.ts","index.tsx","actions/auth.action-types.ts","shared/components/async-component.tsx","shared/actions/action-types.tsx","core/components/private-route.tsx","utils/http-url.util.ts","actions/auth.actions.ts","actions/config.actions.ts","actions/create-letter.action-types.ts","shared/actions/shared.actions.ts","assets/img/logo.jpg","assets/img/mini-logo.jpg","assets/img/avatar.png","assets/img/avatar2.png","assets/img/avatar3.png","assets/img/avatar4.png","assets/img/boxed-bg.jpg","assets/img/mailchimp_small.svg","assets/img/mail-chimp.svg","assets/img/todo.svg","assets/img/logoMissing.png","assets/img/bureau-logos/eqf-sm.svg","assets/img/bureau-logos/eqf-md.svg","assets/img/bureau-logos/exp-sm.svg","assets/img/bureau-logos/exp-md.svg","assets/img/bureau-logos/tu-sm.svg","assets/img/bureau-logos/tu-md.svg","assets/img/chatgpt.svg","shared/constants.tsx","actions/importer.action-types.ts","actions/dashboard.action-types.ts","actions/config.action-types.ts","shared/components/button.tsx","shared/components/modal.tsx","actions/customers.actions.ts","shared/components/bureau-logo.tsx","shared/components/search-customers.tsx","environments/environment.js","actions/media.actions.ts","actions/leads.actions.ts","actions/referral.actions.ts"],"names":["NotesTypes","GrantType","Alignment","AccountTypes","AutoSelectTypesForLetters","EnumBureaus","EnumBureausShorts","EnumControlTypes","EnumComponentMode","EnumSearchOptions","EnumRoles","CollectionEntryTypes","GlobalParams","SearchType","LetterSearchTypes","Outcome","LetterOptionsConfirm","EnumFieldRights","EnumScreens","ToDoTargetTypes","AutoCompleteSearchTypes","ReferralCustomerTypes","EmailTemplatesTypes","IMAGETYPES","SortOrderType","EmailTemplateOptionTypes","GlobalReasonsExamples","UpdateScoreSource","ChatGPTModes","ChatGPTModels","getFranchseAgentsList","payload","source","query","dispatch","Promise","resolve","reject","a","url","APIConstants","getFranchiseAgentsList","axios","post","cancelToken","token","then","result","res","agents","data","offices","map","x","Name","Value","roles","catch","err","getFranchiseAgentNotes","membershipId","get","CommonUtils","formatString","AddFranchiseAgentNotes","addFranchiseAgentNote","deleteFranchiseAgentNote","noteid","delete","getFranchiseAgentCustomers","agentId","getFranchiseAgentReferrals","resedWelcomeEmailFranchAgent","franchAgentWelcomeEmail","updateLockOrUnlockAgentAccount","lockUser","put","updateLockOrUnlockAgentUser","FileUploadButton","forwardRef","props","ref","useState","selectedFiles","setSelectedFiles","fileRef","createRef","useImperativeHandle","openFile","selectFile","current","click","onChange","list","arr","Array","from","length","value","className","f","index","name","title","onClick","e","onClose","label","type","target","files","AutoComplete","text","setText","useDebounce","debouncedText","minSearchLength","inputRef","useRef","CancelToken","axiosSource","setAxiosSource","loading","setLoading","disableSearch","setDisableSearch","suggestions","setSuggestions","useEffect","cancel","Messages","APIAborted","t","typedString","onSelect","avoidMergeChangeWithSelectEvent","asyncData","suggs","isCancel","makeQueries","displayText","replace","RegExp","size","color","getItemValue","item","items","renderInput","prop","isTextArea","renderItem","isHighlighted","style","background","dangerouslySetInnerHTML","__html","abbreviation","inputProps","display","width","padding","fontSize","height","lineHeight","borderBottomColor","trim","placeholder","autoFocus","trimStart","menuStyle","borderRadius","boxShadow","position","zIndex","overflow","maxHeight","showSubmitArrow","count","currentYear","Date","getFullYear","years","push","toString","str","Object","keys","forEach","key","replaceAll","strDate","Intl","DateTimeFormat","year","month","day","format","strPhone","currentValue","cvLength","slice","test","cid","allAvailableScreens","opts","id","screenId","CustomerList","ClientRoutesConstants","customers","CustomerDetails","customersView","FastEdit","fastEditAccounts","CreateLetter","createLetter","ReportImporter","reportImporter","filter","includes","ViewLeads","leads","AddLead","viewLeads","ViewReferralAgents","referralAgents","AddReferralAgent","viewReferralAgents","Variables","STANDARD_FASTRACK","websiteName","path","isOutsourced","d","dateNew","moment","outcome","toLowerCase","DELETED","REPAIRED","SATISFACTORY","DO_NOT_DISPUTE_BY_CONSUMER","html","indent","split","element","match","substring","startsWith","temp","document","createElement","innerHTML","textContent","innerText","error","Math","floor","random","options","console","log","msg","passwordDoesNotMatch","screenName","this","ClientPageErrors","LeadsPageErrors","ViewFranchiseOffices","CompanyOfficesPageErrors","screenMode","Add","password","confirmPassword","PageErrors","commonErrors","passwordMatch","ViewReferralOffices","AffiliateOfficesPageErrors","ViewReferralOfficesAgentsTab","AffiliateOfficesAgentTabPageErrors","lastIndexOf","firstName","lastName","email","transactionType","clientPageErrors","processingStatus","franchise","franchiseId","isPublic","cellPhone","leadsPageErrors","office","officeId","companyOfficeErrors","role","isValid","validPassword","passwordRequired","userName","usernameRequired","agent","affiliateOfficeErrors","officeName","classification","officeType","Edit","agentsTab","affiliateOffice","data1","data2","order","subKey","ASC","localeCompare","d1","d2","pwd","passwordStrength","PASSWORDSTRENGTH","isNegativeAccount","account","pastDueCorrectValues","accountTypeName","Inquiry","PersonalInfo","some","m","isChargeoffIndicator","isCollectionIndicator","isDerogatoryDataIndicator","tuPastDue","eqfPastDue","expPastDue","ImageUtils","image","crop","fileName","canvas","pixelRatio","window","devicePixelRatio","scaleX","naturalWidth","scaleY","naturalHeight","ctx","getContext","setTransform","imageSmoothingQuality","drawImage","y","toBlob","blob","URL","revokeObjectURL","fileUrl","createObjectURL","_","reader","FileReader","onloadend","readAsDataURL","ChangeSiteLogoComponent","connect","bindActionCreators","uploadLogo","updateKey","uploading","setUploading","src","setSrc","unit","aspect","setCrop","imageRef","setimageRef","croppedImageBase64","setCroppedImageBase64","btnRef","makeClientCrop","c","getCroppedImg","getBase64FromBlob","ruleOfThirds","onImageLoaded","img","onComplete","percentCrop","classNames","addEventListener","imageBase64","toastr","success","onSuccess","response","SiteLogoEditorComponent","getAction","actionType","RoleMappings","screen","description","rules","fields","Customer","right","Hide","Processor","ReadOnly","Show","ReferralAgent","ReferralManager","AddCustomer","Dashboard","CreditAgent","AddFranchiseOffice","AddReferralOffice","ViewFranchiseAgents","AddFranchiseAgent","LetterTemplates","AdminSettings","PortalIntegration","AffiliateSignUp","CBReportViewer","UserAccess","OfficeManager","menus","dashboard","iconClass","tooltip","opened","submenus","customersAdd","leadAdd","franchiseOffices","addFranchiseOffice","franchiseAgents","addFranchiseAgent","referralOffices","addReferralOffice","addReferralAgent","emailTemplates","masterData","MasterData","myTasksAgents","MyTasksAgents","myTasksReferralAgents","MyTasksReferralAgents","AuthService","Constants","authSessionKey","UrlUtils","getPartnerKey","isPartnerKeyInvalid","oldKeys","localStorage","getItem","JSON","parse","json","stringify","partnerKey","setItem","inMemorySesssion","cachedRole","session","s","getSession","access_token","refresh_token","jwt_decode","getCurrentJWTPayload","remoteRules","currRole","currentRole","availableScreenIds","menu","availSubMenus","Administrator","mappings","find","tenant","opener","location","href","origin","close","isFieldHidden","memoizeOne","fieldName","roleEntry","isFieldReadOnly","isScreenHidden","CustomerActionTypes","SET_STATUSES","SET_API_ACTIVE","SET_STATES","SET_PARTNER_KEY","SET_S3_FILES","SET_ADMIN_SETTINGS","SET_AGENTS","SET_DISPUTE_STATS","SET_DISPUTE_STATS_LOADING","SET_FETCH_REPORT_DATE","SET_IS_LOADING_FETCH_REPORT","initialState","logoChangedKey","todos","toggleToDo","passwordNotStrong","leftMenuOpened","isMobile","AuthInitialState","auth","isLoggedIn","loggedInUserDetails","token_type","expires_in","isGettingPublicToken","isLocked","lockedMessage","CustomersListInitialState","statuses","apiActive","states","hasPartneryKey","s3Files","adminSettings","disputeStats","disputeStatsLoading","DashboardInitialState","customerCounts","customersTotal","customersToday","customersThisWeek","customersQueue","referrals","referralOfficesTotal","referralOfficesToday","referralOfficesThisWeek","referralAgentsTotal","referralAgentsToday","referralAgentsThisWeek","franchises","franchiseOfficesTotal","franchiseAgentsTotal","franchiseAgentsToday","franchiseAgentsThisWeek","dashboardRoles","customerLetters","CreateLetterInitialState","letterSource","sources","isShowMore","letterOptions","selectedAccounts","accounts","activeTab","advanced","reloadTempLetter","reloadDisputeLetters","tempLetters","roundInfo","isDisabled","isAvailableToSelect","resetFields","draft","CRA","TransUnion","Experian","Equifax","Creditor","CC","BCC","resetAccounts","mapBureauToShort","search","TU","EXP","EQF","CREDITOR","isNewNegativeAccount","reportImportedDate","isInsertedEQF","isInsertedEXP","isInsertedTU","dateEntered","FastEditstate","FastEditActionTypes","ImportReportInitialState","deletedAccounts","deletedCreditInquiries","newNegativeAccounts","newPositiveAccounts","newCreditInquiries","updatedAccounts","ConfigInitialState","configurations","combinedReducer","combineReducers","authModel","state","action","produce","AuthActionTypes","CHECK_LOGIN_SUCCESS","CHECK_LOGIN_FAILURE","SET_LOGOUT","SET_LOGGED_IN_DETAILS","SET_GETTING_GUEST_TOKEN","PORTAL_LOCKED","configModel","ConfigActionTypes","SET_CONFIGURATIONS","REMOVE_CONFIGURATIONS","dashboardModel","DashboardActionTypes","SET_CUSTOMER_COUNTS","SET_LETTER_COUNTS","SET_ROLE_COUNTS","SET_REFERRAL_COUNTS","SET_FRANCHISE_COUNTS","customerViewModel","getFetchReportDate","setIsLoadingFetchReport","createLetterModel","CreateLetterActionTypes","RESET_ACCOUNTS","SET_AUTOSELECT_OPTIONS","autoSelectOptions","SET_LETTER_SOURCE","SET_LETTER_OPTIONS","SET_SELECTED_ACCOUNTS","SET_LETTER_ACCOUNTS","SET_LAST_REPORT_DATE","reportDate","SET_LETTER_TEMPLATE","bureau","tus","tuAccountBureauId","EMPTY_GUID","tuOutcome","disabled","checked","exps","expAccountBureauId","expOutcome","eqfs","eqfAccountBureauId","eqfOutcome","availableAccs","buearus","isTU","isEXP","isEQF","accs","allbuearus","newData","getOwnPropertyNames","SET_LETTER_TEMPLATE_WITH_AUTOSELECT","SET_LETTER_ADVANCED","SET_LETTER_ACTIVETAB","SET_TEMP_LETTER_RELOAD","SET_DISPUTE_LETTERS_RELOAD","SET_CUSTOMER_ROUND_INFO","SET_TEMP_LETTERS","SET_LETTERS_CREATED","lettersCreated","fastEditModel","sharedModel","SharedActionTypes","SET_AUTH_RULES","AuthRules","SET_ACCESSIBLE_SCREENS","currentAccessibleScreens","SHOW_INNER_SPINNER","isLoaderShownInner","loaderInnerMessage","message","LOGO_CHANGED","USER_TODOS","TOGGLE_TODOS","HIDE_TODOS","PASSWORD_NOT_STRONG","LEFT_MENU_OPEN","NAVIGATE_TODOS_TAB","navigateToToDos","importReportModel","ImporterActionTypes","SET_DELETED_ACCOUNTS_COUNTS","SET_DELETED_INQUIRIES_COUNTS","SET_NEW_INQUIRIES_COUNTS","SET_NEW_NEGATIVE_ACCOUNTS_COUNTS","SET_NEW_POSITIVE_ACCOUNTS_COUNTS","SET_UPDATED_ACCOUNTS_COUNTS","store","createStore","applyMiddleware","thunk","NotFoundComponent","FooterComponent","MenuComponent","wrapperRef","open","setOpen","containerCssClass","iconComponent","subComponents","handleClickOutside","event","contains","removeEventListener","preventDefault","GlobalCustomerSearch","selected","setSelected","setMenus","onSelectedData","isLead","LeadsMenus","isReferralAgent","ReferralAgentsMenus","CustomersMenus","classnames","searchTypes","CUSTOMER_LEAD_AFFILIATEAGENT","defaultValue","fullName","franchiseOfficeName","franchiseAgentName","referralAgentName","telephone","processingType","to","setTimeout","SiteLogoComponent","logoKey","setRole","logoUrlMini","setlogoUrlMini","logoUrl","setlogoUrl","ofclogoUrlMini","setOfclogoUrlMini","ofclogoUrl","setOfclogoUrl","openEditor","setOpenEditor","p","baseUrl","getBaseUrl","siteLogoPath","siteLogoMiniPath","officeLogoPath","mainFranchiseOfficeId","officeLogoMiniPath","allowEditLogo","sidebarCollapsed","getTime","logoMissing","loader","Spinner","halfFullScreen","isVisible","SITE_LOGO","saved","HeaderComponent","searchOpened","showCustomerSearch","isAdmin","selectedSearch","togggleSdeBar","bind","toggleSearch","onSearchSelectedData","docClickHandler","toggleDrawer","onNotifyClick","toggleLeftMenu","body","classList","add","remove","stopPropagation","setState","toggle","toggleToDoShared","indd","toDoText","adminUserAccess","portalIntegration","loginHistory","security","logout","React","PureComponent","LeftNavComponent","availableMenus","getLeftMenuOptions","getMenuItems","getSubmenuItems","nestedMenuClickHandle","ev","splice","ms","withRouter","LogoutComponent","setLogout","history","login","reload","LoginComponent","uPass","uName","isLoginFromRemoteSite","URLSearchParams","isLoading","isError","username","noValues","redirectToReferrer","viewPass","axiousSource","onLoginHandler","onkeyDown","performLogin","setLogin","grant_type","isPasswordStrong","getAuthRules","mapping","RedirectToRemoteLoginWindow","setLoginComplete","focus","pathname","htmlFor","onKeyDown","onMouseDown","onMouseUp","forgetPassword","checkLogin","RoutingService","route","isolateRoutes","htmlParser","leadAddPublic","AsyncDashboardComponent","asyncComponent","AsyncRegisterComponent","AsyncForgetPwdComponent","AsyncCustomerListComponent","AsyncFastEditAccountsComponent","AsyncCreateLetterComponent","AsyncReportImporterComponent","AsyncPortalIntegrationComponent","AsyncAffiliateSignupComponent","AsyncCbReportViewerComponent","AsyncUserAccessComponent","AsyncUnAuthComponent","AsyncSecurityComponent","AsyncResetPasswordComponent","AsyncHTMLReportPrserComponent","AsyncFranchiseOfficesListComponent","AsyncLeadsListComponent","AsyncFranchiseAgentsListComponent","AsyncReferralOfficesListComponent","AsyncReferralAgentsListComponent","AsyncEmailTempaltesListComponent","AsyncPublicCreateLeadComponent","AsyncMasterDataComponent","AsyncLoginHistoryComponent","AsyncEditTypesComponent","Routes","useLocation","isIsolateRoutes","currentRouteNotIsolate","listner","ReactTooltip","hide","exact","component","render","propsLogin","register","passwordReset","affiliateSignup","cbReportViewer","viewEmailTemplates","editTypes","unauthorized","FullScreenLoader","FullScreenLoaderInner","AppUtils","widgetRemoved","isHelpWidgetDisabled","removeHelpWidget","hideHelpWidget","showHelpWidget","widget","getElementById","CUSTOMER","FRANCHISE_AGENT","ADMIN","OFFICEMANAGER","PROCESSOR","REFERRAL_AGENT","REFERRALMANAGER","ClientToDoNotificationComponent","ToDos","todo","createdOn","dueDate","AppLevelOperations","sharedToDos","getTodos","addTodosShared","hideToDoShared","navigateToTodosTab","updateLastLoginDate","isClientVisible","setisClientVisible","gotCustomerData","setGotCustomerData","toDos","setToDos","isPortalLocked","setisPortalLocked","showPasswordStrengthWindow","showToDos","confirm","confirmText","confirmColor","cancelColor","cancelText","authData","todoTarget","convertRoleToToDoTypes","loadTodos","fid","rid","lid","pendings","isCompleted","userId","Lead","navigateToUserDetailsPage","fullscreen","AppComponent","checkingLogin","checkRefreshToken","checkGuestUserToken","checkAppLevelAccess","redirectToLogout","getPublicAuthToken","setLoginInMemory","getScreenOject","Application","HTTPInterceptor","interceptors","request","use","config","headers","isRefreshTokenCall","originalRequest","loginAPIUrl","status","endsWith","_retry","refreshToken","defaults","common","LoadApplication","baseURL","positionClass","hideDuration","timeOut","preventDuplicates","clear","StrictMode","basename","environment","env","setAutoFreeze","ReactDOM","SET_LOGIN","importComponent","unloaded","proms","default","D","PrivateRoute","Component","rest","setIsLogin","notFound","params","error_description","configuration","getConfigurations","setPasswordResetLink","forgotPasswordLInk","resetPassword","checkLinkExpiry","verifyResetLink","getPublicToken","customerId","getLoginsListHistory","getLoginListHistory","screens","getAllAccessibleScreens","getALLAuthRules","allAuthRules","setInnerSpinner","getStates","saveAuthRules","getAllBureaus","getAllLetterTypes","flag","deleteScreen","useraccessDelete","updateScreen","oldName","useraccessUpdate","deleteField","useraccessFieldDelete","updateField","useraccessFieldUpdate","getStats","getCustomers","getCustomer","getCustomerMinimaldetails","getCustomersAndLeads","saveFeeDetails","saveCreditMonitoring","getCreditMonitoring","saveGeneralNotes","updateUserName","updatePassword","updateLockOrUnlockCustomerUser","updateLockOrUnlockReferralAgentUser","checkS3Files","getS3SingleFile","adminsettings","submitRounds","submitQuery","saveCreditScore","customerFranchAgents","customerReferAgents","updateCustomerAgent","disputeProgress","resendWelcomeEmail","submitToProcessing","submitToArrayReport","creditmonitoringsubscription","getcurrentscore","getAccountsNumberByType","getAccountsNumber","sendPORneeded","removeSpouse","customerReferralAgents","addUpdateCustomerReferralAgents","deleteCustomerReferralAgents","toDoUpdate","getCustomersCount","getFranchiseAgentsCount","getReferralAgentsCount","getCustomerLettersCount","getRolesCount","getFranchiseAgents","getReferralAgents","checkPartnerkey","checkAPIActive","searchCollection","getAllAccountTypes","getAllCollections","getAllSystemTypes","getAccountsCounterByType","updateCollectionAndType","updateTypeInAccount","createCollection","getRoles","getCustomerLetters","getCreateLetterVersion","updateCreateLetterVersion","getScoringRoundStatuses","checkSubscriberListsByEmail","getMailchimpLists","checkSubscriberCampaignsByEmail","setMailchimpList","getAPIIntegrations","setAPIActive","updateAPIKey","updateRound","deleteRound","addNewRound","saveClientNote","processingNote","getCannedNotes","createCannedNote","collectionAccount","file","updateFile","disputeletter","letter","downloadFileLetter","downloadLastReport","updateCollectorAddress","addCollectorAddress","getCollectorAddressByData","deleteCollectorAddress","saveFEAccounts","saveFEAccountsMini","updateYellowAccount","addNewAccount","getFELetterData","getFEFullAccountDetails","saveFullAccountDetails","deleteBureauDetail","getPDFDisputeLetters","getTempLetterQueue","letterSearch","getLetterTemplatesSuggestions","createCredBCCLetter","createCRALetter","createBureauLetter","deleteTempLetter","saveTempLetter","ccList","createPDFLetter","restartRound","setRounds","sendNoticeAccUpdate","regenerateNoticeAccountUpdate","importSave","reImportSave","getS3JSONFileData","freeTrialImporter","getLastReportImportedDate","getFranchiseOfficeDetails","getFranchiseOfficeAgents","getCurrentOfficeAgents","getFranchiseSingleAgentDetails","updateFranchiseAgent","getFranchiseAgentRoles","getFranchiseOfficeServices","getFranchiseOfficeOutsourcedServices","createFranchiseOfficeServices","deleteFranchiseOfficeServices","getFranchiseOfficePayments","deleteFranchiseOfficePayment","getLeads","getSingleLeads","resendLeadWelcomeEmail","addLead","convertToCustomer","leadCreditMonitoring","leadAgentUpdate","removeLeadSpouse","getReferralOfficeDetails","getReferralOfficeAgents","getReferralOfficeAgentDetails","reassignReferralOffices","updateReferralAgent","getReferralSingleAgentDetails","referralAgentChangePassword","resendWelcomeAgentEmail","resendFollowUpAgentEmail","getReferralAgentsList","getReferralAgentCustomers","getAllEmailTemplates","getAllEmailTemplatesSearch","getAllSubFieldsForSection","getFinalCollectionToken","emailTemplate","emailTemplateUpdate","emailTemplateCustomerTokens","emailTemplateFieldTokens","emailTemplateGenerateHTMLPreview","getEmailTemplatesByOfficeId","setEmailTemplateActive","getEmailTemplatesById","updateOfcEmailTemplate","getSavedSampleTemplates","getOfficeLeadFormOptions","updateOfficeLeadFormOptions","createOfficeLeadFormOptions","emailTemplateOptions","removeEmailTemplateOptions","getSiteLogos","removeLogo","allOutsourcedServices","outsourceFranchiseService","collectionEntry","getFranchiseMasterServices","createFranchiseMasterServices","franchiseMasterServiceLevel","franchiseMasterServiceAdons","getFranchiseMasterServiceCategories","saveFranchiseMasterServiceCategories","removeFranchiseServiceCategory","removeFranchiseServiceCategoryLevel","removeFranchiseServiceCategoryLevelOption","getFranchiseOfficeAvailableServices","getCustomerAvailableServices","getFranchiseOfficeAvailableCategories","getFranchiseOfficeUserAvailableCategories","saveCatogoryForFranchiseOffice","removeCategoryFromOffice","removeAddOnFromOffice","removeLevelFromOffice","getFranchiseOfficeAllPricings","savePricingCatogoryForUser","removeServicePricingForUser","removeServiceAddOnForUser","getCreditReportForUser","getCreditReportForUserFromIQHtmlReport","fetchReport","getDateOfLastRequestFetchReport","viewReferralOffices","viewFranchiseAgents","viewFranchiseOffices","addEmailTemplate","AccountOutcomes","IN_PROGRESS","IN_DISPUTE","VerifiedByFCRA","EmptyEmailChimp","InValidEmailChimp","MailChimpNotSubscribed","GenericError","MIN_PWD_LENGTH","EMPTY_DATE1","EMPTY_DATE2","BUREAU_LIST1","WelcomeEmail","AgentWelcomeEmail","LeadWelcome","ReminderEmail","PullEmail","NoticeAccUpdate","FollowupEmail","EmailTemplatesNames","CustomerWelcome","ReferralAgentWelcome","Email15Days","Email35Days","NoticeAccUpdateDeletes","ClientLoginMessage","EmailSourceTypes","FRENCHISE_AGENT","SENDER","AutoSelectAccountsForLetters","Collections","Inquiries","EmailSourceTypesList","HTTP_ERROR_CODES","BADREQUEST","INTERNALERROR","UNAUTHORISED","NOTFOUND","minDiversity","minLength","emailOrUsername","validConfirmPassword","ButtonComponent","dataTooltip","sizeClass","spinnerRight","children","ModalComponent","fullscreen100W","isSmall","hideClose","bodyClass","require","customerSelected","cidOrText","includeLeads","includeReferralAgents","addScoringInformation","addAccountsCounter","undefined","getCustomerMinimal","giveAccountsCount","UpdateCustomerdetails","loadStatuses","apiName","apiname","activate","checkPartnerKey","getS3Files","folderName","ids","fname","lname","CustomerId","SetupFee","MonthlyFee","MonthlyDueDate","saveCreditMonitoringDetails","CreditMonitoringService","CreditMonitoringUserName","CreditMonitoringPassword","CreditMonitoringSecretWord","ReportPullDate","Note","oldUsername","newUsername","updateLockOrUnlockUser","oldPassword","newPassword","resedWelcomeEmail","PORNeededEmail","spouseId","getAdminSettings","getCustomerFranchAgents","getCustomerReferrAgents","startRound","franchiseAgent","referralAgent","addClientNote","updateClientNote","notesId","whoLeft","notesDate","deleteClientNote","deleteInternalNote","addInternalNote","noteContent","userIdForNotes","isSendMail","noteType","deleteCannedNotes","noteId","createCannedNotes","content","removeAccounts","collectionAccountId","removeAccount","accountId","removeFiles","fileIds","fileId","fileType","uploadFile","overwriteExistingFiles","formData","operation","downloadFileOrLetter","fullPath","method","responseType","FileDownload","removeLetters","targetType","addTodo","updateTodo","todoId","deleteTodo","deleteCustomer","getCustomerReferralAgentsList","addCustomerReferralAgents","roleName","updateCustomerReferralAgents","subscribeToArrayCustomer","getSubscribeToArrayCustomer","subscribeToCMCustomer","getSubscribeToCMCustomer","downloadCreditReport","sendEmail","downloadCreditReportUsingIQReport","loadingFetchReport","getCreditScore","BureauLogoComponent","logo","setLogo","TU_LOGO_MD","TU_LOGO_SM","EXP_LOGO_MD","EXP_LOGO_SM","EQF_LOGO_MD","EQF_LOGO_SM","alt","SearchCustomersComponent","setList","getLeadMessage","getReferralMessage","searchText","LEAD","CUSTOMER_LEAD","uuidValidate","cust","module","exports","removeOfficeLogo","ofcId","statusNames","tranactionTypes","getLeadDetails","leadId","lead","creditMonitoring","monitoringService","service","monitoringLink","link","monitoringUserName","monitoringPassword","monitoringSecretWord","secretWord","reportPullDate","cbRefreshTok","updateLead","leadPayload","deleteLead","leadMonitoring","notifyAgent","updateLeadAgent","resedLeadWelcomeEmail","subscribeToArrayLead","getSubscribeToArrayLead","subscribeToCMLead","getSubscribeToCMLead","getReferralOffices","addUpdateReferralOffice","deleteReferralOffice","deleteReferralAgent","createUpdateReferralAgent","getReferralAgentDetails","currentId","assignTo","changeReferralAgentPasword","sendWelcomeEmailtoAgent","updateLockOrUnlockReferralAgentAccount","referralAgentId"],"mappings":"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SmO,kCAAnH,aAA0G,EAAqCJ,eAC/IlB,SAASiB,GAAW,MApXvD,8BAsXI,WAmDI,MAlDyB,CACrB,CACI3I,MAAO,YACPc,KAAM,aAEV,CACId,MAAO,UACPc,KAAM,WAEV,CACId,MAAO,YACPc,KAAM,aAEV,CACId,MAAO,kBACPc,KAAM,mBAEV,CACId,MAAO,oBACPc,KAAM,qBAEV,CACId,MAAO,YACPc,KAAM,aAEV,CACId,MAAO,UACPc,KAAM,WAEV,CACId,MAAO,WACPc,KAAM,YAEV,CACId,MAAO,UACPc,KAAM,WAEV,CACId,MAAO,MACPc,KAAM,OAEV,CACId,MAAO,UACPc,KAAM,WAEV,CACId,MAAO,UACPc,KAAM,cAtatB,0BA4aI,WAeI,MAdyB,CACrB,CACId,MAAO,UACPc,KAAM,WAEV,CACId,MAAO,YACPc,KAAM,aAEV,CACId,MAAO,UACPc,KAAM,cAxbtB,uBA6bI,WA+BI,MA9ByB,CACrB,CACId,MAAO,SACPc,KAAM,UAEV,CACId,MAAO,aACPc,KAAM,cAEV,CACId,MAAO,aACPc,KAAM,cAEV,CACId,MAAO,cACPc,KAAM,eAEV,CACId,MAAO,aACPc,KAAM,cAEV,CACId,MAAO,iBACPc,KAAM,kBAEV,CACId,MAAO,oBACPc,KAAM,wBAzdtB,8BA8dI,WA2BI,MA1ByB,CACrB,CACId,MAAO,YACPc,KAAM,aAEV,CACId,MAAO,gBACPc,KAAM,iBAEV,CACId,MAAO,eACPc,KAAM,gBAEV,CACId,MAAO,eACPc,KAAM,gBAEV,CACId,MAAO,YACPc,KAAM,aAEV,CACId,MAAO,wBACPc,KAAM,4BAtftB,iCA2fI,WACI,MAAO,CACH,CACId,MAAO,OAAQc,KAAM,QAEzB,CACId,MAAO,iBAAkBc,KAAM,kBAEnC,CACId,MAAO,oBAAqBc,KAAM,qBAEtC,CACId,MAAO,mBAAoBc,KAAM,oBAErC,CACId,MAAO,qBAAsBc,KAAM,sBAEvC,CACId,MAAO,gBAAiBc,KAAM,iBAElC,CACId,MAAO,eAAgBc,KAAM,gBAEjC,CACId,MAAO,eAAgBc,KAAM,gBAEjC,CAC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","file":"static/js/main.a0850ed2.chunk.js","sourcesContent":["export enum NotesTypes {\r\n ClientNotes = 'Customer Note',\r\n ProcessingNotes = 'Internal Customer Note'\r\n};\r\nexport enum GrantType {\r\n password = 'password',\r\n refresh_token = 'refresh_token'\r\n}\r\nexport enum Alignment {\r\n Horizontal = 'horizontal',\r\n Vertical = 'vertical',\r\n None = 'none'\r\n}\r\nexport enum AccountTypes {\r\n Inquiry = 'inquiry',\r\n PersonalInfo = 'personal infomation',\r\n NonClose = 'non-close',\r\n}\r\nexport enum AutoSelectTypesForLetters {\r\n PersonalInfo = 'Personal Information',\r\n Collections = 'Collections or Charge Offs',\r\n ChargeOffs = 'Charge Offs',\r\n Inquiries = 'Inquiries',\r\n}\r\nexport enum EnumBureaus {\r\n TransUnion = 'TransUnion',\r\n Experian = 'Experian',\r\n Equifax = 'Equifax'\r\n}\r\nexport enum EnumBureausShorts {\r\n TU = 'TU',\r\n EXP = 'EXP',\r\n EQF = 'EQF',\r\n CREDITOR = 'Creditor',\r\n CC = 'CC',\r\n BCC = 'BCC',\r\n CRA = 'CRA'\r\n}\r\nexport enum EnumControlTypes {\r\n Number = 'Number',\r\n TextBox = 'TextBox',\r\n TextArea = 'TextArea',\r\n Checkbox = 'Checkbox',\r\n AutoComplete = 'AutoComplete',\r\n DrowpDown = 'DrowpDown',\r\n DatePicker = 'DatePicker',\r\n ReadOnly = 'ReadOnly'\r\n}\r\nexport enum EnumComponentMode {\r\n Edit = 'Edit',\r\n Add = 'Add'\r\n}\r\nexport enum EnumSearchOptions {\r\n Complete = 'Complete',\r\n OnHold = 'OnHold',\r\n Cancelled = 'Cancelled'\r\n}\r\n\r\nexport enum EnumRoles {\r\n Administrator = 'Administrator',\r\n Processor = 'Processor',\r\n Customer = 'Customer',\r\n CreditAgent = 'Credit Agent',\r\n OfficeManager = 'Office Manager',\r\n ReferralManager = 'Referral Manager',\r\n ReferralAgent = 'Referral Agent',\r\n Lead = 'Lead',\r\n}\r\nexport enum CollectionEntryTypes {\r\n AccountName = 'AccountName',\r\n AccountType = 'AccountType',\r\n AccountStatus = 'AccountStatus',\r\n Outcome = 'Outcome',\r\n Reason = 'TailEndDisputeReason',\r\n Service = 'Service',\r\n ServiceLevel = 'ServiceLevel',\r\n ServiceOption = 'ServiceOption',\r\n}\r\nexport enum GlobalParams {\r\n globalReason = 'globalReason',\r\n globalOutcome = 'globalOutcome',\r\n globalAccType = 'globalAccType',\r\n}\r\nexport enum SearchType {\r\n Complete,\r\n Contains,\r\n StartsWith,\r\n DateRange\r\n}\r\nexport enum LetterSearchTypes {\r\n Equifax = \"Equifax\",\r\n ChexSystems = \"Chex Systems\",\r\n Experian = \"Experian\",\r\n TransUnion = \"TransUnion\",\r\n Creditor = \"Creditor\",\r\n BCC = \"BCC\",\r\n CC = \"CC\",\r\n CRA = \"CRA\"\r\n}\r\nexport enum Outcome {\r\n REPAIRED = 'Repaired',\r\n DELETED = 'Deleted',\r\n IN_PROGRESS = 'In Progress',\r\n IN_DISPUTE = 'In Dispute',\r\n DO_NOT_DISPUTE_BY_CONSUMER = 'Do Not Dispute By Consumer',\r\n SATISFACTORY = 'Satisfactory',\r\n VerifiedByFCRA = 'Account Verified by the FCRA'\r\n}\r\nexport enum LetterOptionsConfirm {\r\n END_CURRENT = 'END CURRENT',\r\n RESTART = 'RESTART',\r\n UPDATE_SCORES = 'UPDATE SCORES',\r\n NONE = 'NONE',\r\n}\r\nexport enum EnumFieldRights {\r\n Show = 'Show',\r\n Hide = 'Hide',\r\n ReadOnly = 'ReadOnly'\r\n}\r\nexport enum EnumScreens {\r\n Application = 'Application',\r\n Dashboard = 'Dashboard',\r\n CustomerList = 'CustomerList',\r\n CustomerDetails = 'CustomerDetails',\r\n AddCustomer = 'AddCustomer',\r\n FastEdit = 'FastEdit',\r\n CreateLetter = 'CreateLetter',\r\n ReportImporter = 'ReportImporter',\r\n ViewFranchiseOffices = 'ViewFranchiseOffices',\r\n AddFranchiseOffice = 'AddFranchiseOffice',\r\n ViewReferralOffices = 'ViewReferralOffices',\r\n AddReferralOffice = 'AddReferralOffice',\r\n ViewReferralAgents = 'ViewReferralAgents',\r\n AddReferralAgent = 'AddReferralAgent',\r\n ViewFranchiseAgents = 'ViewFranchiseAgents',\r\n AddFranchiseAgent = 'AddFranchiseAgent',\r\n ViewLeads = 'ViewLeads',\r\n AddLead = 'AddLead',\r\n LetterTemplates = 'LetterTemplates',\r\n AdminSettings = 'AdminSettings',\r\n PortalIntegration = 'PortalIntegration',\r\n AffiliateSignUp = 'AffiliateSignUp',\r\n CBReportViewer = 'CBReportViewer',\r\n UserAccess = 'UserAccess',\r\n Security = 'Security',\r\n HTMLParser = 'HTMLParser',\r\n MasterData = 'MasterData',\r\n ViewReferralOfficesAgentsTab = 'ViewReferralOfficesAgentsTab',\r\n MyTasksAgents = 'MyTasksAgents',\r\n MyTasksReferralAgents = 'MyTasksReferralAgents',\r\n LoginHistory = 'LoginHistory',\r\n EditTypes = 'EditTypes'\r\n};\r\n\r\nexport enum ToDoTargetTypes {\r\n CUSTOMER = 'CUSTOMER',\r\n FRANCHISE_AGENT = 'FRANCHISE_AGENT',\r\n REFERRAL_AGENT = 'REFERRAL_AGENT',\r\n LEAD = 'LEAD',\r\n ADMIN = 'ADMINISTRATOR',\r\n OFFICEMANAGER = 'OFFICEMANAGER',\r\n PROCESSOR = 'PROCESSOR',\r\n REFERRALMANAGER = 'REFERRALMANAGER'\r\n}\r\nexport enum AutoCompleteSearchTypes {\r\n CUSTOMER = 'CUSTOMER',\r\n CUSTOMER_LEAD = 'CUSTOMER_LEAD',\r\n FRENCHISE_AGENT = 'FRENCHISE_AGENT',\r\n REFERRAL_AGENT = 'REFERRAL_AGENT',\r\n LEAD = 'LEAD',\r\n CUSTOMER_LEAD_AFFILIATEAGENT = 'CUSTOMER_LEAD_AFFILIATEAGENT'\r\n}\r\nexport enum ReferralCustomerTypes {\r\n Primary = 0,\r\n Associated = 1\r\n}\r\nexport enum EmailTemplatesTypes {\r\n CustomerWelcome = 1,\r\n ReferralAgentWelcome = 2,\r\n Reminder15Days = 3,\r\n Reminder35Days = 4,\r\n NoticeOfAccountUpdate = 5,\r\n NoticeOfAccountUpdateWithDeletes = 6,\r\n ReferralAgentFollowUp = 7,\r\n}\r\nexport enum IMAGETYPES {\r\n SITE_LOGO,\r\n FRANCHISE_OFFICE_LOGO\r\n}\r\n\r\nexport enum SortOrderType {\r\n ASC = 'ASC',\r\n DESC = 'DESC'\r\n}\r\nexport enum EmailTemplateOptionTypes {\r\n CC = 'CC',\r\n BCC = 'BCC',\r\n SENDER = 'SENDER'\r\n}\r\nexport enum GlobalReasonsExamples {\r\n NotMyAccount = 'Not My Account',\r\n NeverLate = 'Never Late',\r\n PastDue = 'Past Due',\r\n DateLastActivity = 'Last Activity'\r\n}\r\n\r\nexport enum UpdateScoreSource {\r\n Manually = 'Manually',\r\n ImportSection = 'ImportSection'\r\n}\r\n\r\nexport enum ChatGPTModes {\r\n ImproveTempLetter,\r\n ImproveLetterTemplate,\r\n CreateTemplateFromScratch\r\n}\r\n\r\nexport enum ChatGPTModels {\r\n GPT4o =\"gpt-4o\",\r\n GPT4oMini = \"gpt-4o-mini\",\r\n GPT35_Turbo = \"gpt-3.5-turbo\", // openAi suggest to use gpt-4o-mini instead of gpt-3.5-turbo\r\n}","import axios, { CancelTokenSource } from \"axios\"\r\nimport { INameValue, INameValueMatch } from \"../models/interfaces/shared\";\r\nimport { APIConstants } from \"../shared/constants\";\r\nimport { CommonUtils } from \"../utils/common-utils\";\r\n\r\nexport const getFranchseAgentsList = (payload: INameValueMatch[], source: CancelTokenSource, query: string = '') => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n let url = APIConstants.getFranchiseAgentsList;\r\n if (query) {\r\n url += '?query=' + query;\r\n }\r\n await axios.post(url, payload, { cancelToken: source?.token })\r\n .then((result: any) => {\r\n const res = {\r\n agents: result?.data?.agents,\r\n offices: result?.data?.offices?.map((x: string) => ({ Name: x, Value: x } as INameValue)) as INameValue[],\r\n roles: result?.data?.roles?.map((x: string) => ({ Name: x, Value: x } as INameValue)) as INameValue[]\r\n }\r\n resolve(res);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\n\r\nexport const getFranchiseAgentNotes = (membershipId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.getFranchiseAgentNotes, membershipId), { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const AddFranchiseAgentNotes = (payload: any, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(APIConstants.addFranchiseAgentNote, payload, { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const deleteFranchiseAgentNote = (noteid: any, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.delete(CommonUtils.formatString(APIConstants.getFranchiseAgentNotes, noteid), { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getFranchiseAgentCustomers = (agentId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.getFranchiseAgentCustomers, agentId), { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getFranchiseAgentReferrals = (agentId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.getFranchiseAgentReferrals, agentId), { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\n\r\nexport const resedWelcomeEmailFranchAgent = (agentId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.franchAgentWelcomeEmail, agentId), { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const updateLockOrUnlockAgentAccount = (agentId: string, lockUser: boolean, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(APIConstants.updateLockOrUnlockAgentUser, { agentId, lockUser }, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}","import React, { createRef, forwardRef, useImperativeHandle, useState } from 'react';\r\n\r\nexport const FileUploadButton = forwardRef((props: { label?: string, onChange: any, onClose?: any, ref?: any }, ref) => {\r\n\r\n const [selectedFiles, setSelectedFiles] = useState([] as any[]);\r\n const fileRef = createRef() as any;\r\n\r\n // these methods can be called from parent component\r\n useImperativeHandle(ref, () => ({\r\n openFile() {\r\n selectFile();\r\n }\r\n }));\r\n\r\n const selectFile = () => {\r\n fileRef?.current?.click();\r\n }\r\n const onChange = (list: any) => {\r\n const arr = Array.from(list);\r\n setSelectedFiles(arr);\r\n props?.onChange(arr, list);\r\n if (arr?.length) {\r\n fileRef.current.value = null;\r\n }\r\n }\r\n\r\n // const formatSize = (bytes: number) => {\r\n // if (bytes === 0) {\r\n // return '0 B';\r\n // }\r\n // var k = 1000, dm = 3, sizes = ['B', 'KB', 'MB', 'GB'],\r\n // i = Math.floor(Math.log(bytes) / Math.log(k));\r\n // return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + ' ' + sizes[i];\r\n // }\r\n return (\r\n
\r\n {\r\n selectedFiles?.length ?\r\n
\r\n {\r\n selectedFiles?.map((f: any, index: number) =>
{f?.name} { onChange([]); props?.onClose && props?.onClose(); }}>
)\r\n }\r\n
\r\n :\r\n \r\n }\r\n\r\n onChange(e.target.files)} />\r\n
\r\n );\r\n});\r\n","import axios, { CancelTokenSource } from 'axios';\r\nimport React, { useEffect, useRef, useState } from 'react';\r\nimport ReactAutocomplete from 'react-autocomplete';\r\nimport { Spinner } from 'reactstrap';\r\nimport { useDebounce } from 'use-debounce';\r\n\r\nimport { IDropdown } from '../../models/interfaces/shared';\r\nimport { Messages } from '../constants';\r\n\r\nexport const AutoComplete = (props: {\r\n value: string | IDropdown,\r\n minSearchLength?: number;\r\n asyncData: (searchText: string, source: CancelTokenSource) => Promise;\r\n onSelect?: (data: any) => any,\r\n onChange?: (data: any) => any,\r\n placeholder?: string;\r\n showSubmitArrow?: boolean;\r\n isTextArea?: boolean;\r\n avoidMergeChangeWithSelectEvent?: boolean;\r\n autoFocus?: boolean;\r\n loading?: boolean;\r\n}) => {\r\n\r\n const [text, setText] = useState('' as string);\r\n const [debouncedText] = useDebounce(text, 500);\r\n const [minSearchLength] = useState(props?.minSearchLength || 3);\r\n const inputRef: any = useRef();\r\n const [axiosSource, setAxiosSource] = useState(axios.CancelToken.source() as CancelTokenSource);\r\n const [loading, setLoading] = useState(false);\r\n const [disableSearch, setDisableSearch] = useState(true);\r\n const [suggestions, setSuggestions] = useState([] as IDropdown[]);\r\n\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (axiosSource?.cancel)\r\n axiosSource?.cancel(Messages.APIAborted);\r\n }\r\n }, []);\r\n useEffect(() => {\r\n const t = typeof (props?.value) === 'object' ? props?.value?.name : props?.value;\r\n setText(t || '');\r\n inputRef.current.value = t;\r\n }, [props.value]);\r\n\r\n const onChange = (typedString: string) => {\r\n setDisableSearch(false);\r\n setText(typedString);\r\n if (props.onSelect && !props.avoidMergeChangeWithSelectEvent)\r\n props.onSelect(typedString);\r\n if (props?.onChange) {\r\n props?.onChange(typedString);\r\n }\r\n }\r\n useEffect(() => {\r\n if (disableSearch) {\r\n return;\r\n }\r\n if (axiosSource) {\r\n axiosSource.cancel();\r\n setLoading(false);\r\n }\r\n if (props?.onChange) {\r\n props?.onChange(debouncedText);\r\n }\r\n const source = axios.CancelToken.source();\r\n setAxiosSource(source);\r\n if (debouncedText?.length >= minSearchLength) {\r\n setLoading(true);\r\n props?.asyncData(debouncedText, source)\r\n .then((suggs: IDropdown[]) => {\r\n setLoading(false);\r\n setSuggestions(suggs);\r\n }).catch((err: any) => {\r\n if (!axios.isCancel(err)) {\r\n setLoading(false);\r\n }\r\n })\r\n\r\n }\r\n }, [debouncedText]);\r\n const onSelect = (value: string, item: IDropdown) => {\r\n setDisableSearch(true);\r\n setText(item?.name ?? '');\r\n if (props.onSelect)\r\n props.onSelect(item);\r\n if (props?.onChange) {\r\n props?.onChange(item);\r\n }\r\n }\r\n const makeQueries = (displayText?: string): string => {\r\n try {\r\n if (text) {\r\n return displayText?.replace(new RegExp(text, 'gi'), '' + text + '') ?? '';\r\n } else {\r\n return displayText ?? '';\r\n }\r\n } catch (e) {\r\n return displayText ?? '';\r\n }\r\n }\r\n return (\r\n
\r\n {\r\n props?.loading === true ?\r\n \r\n :\r\n \r\n \r\n \r\n }\r\n item.name || ''}\r\n items={suggestions}\r\n renderInput={(prop: any) => {\r\n return (props?.isTextArea\r\n ? \r\n : );\r\n }}\r\n renderItem={(item: IDropdown, isHighlighted: boolean) =>\r\n
\r\n }\r\n inputProps={{\r\n style: {\r\n display: (props?.loading === true ? 'none' : 'block'),\r\n width: '100%',\r\n padding: '7px 8px 7px 25px',\r\n fontSize: '12px',\r\n height: (props?.isTextArea ? '85px' : 'auto'),\r\n lineHeight: 'normal',\r\n borderBottomColor: ((text ? text?.trim() : '') ? '#aaa' : '#ccc')\r\n },\r\n placeholder: props?.placeholder ?? 'Search ...',\r\n autoFocus: props?.autoFocus\r\n }}\r\n ref={inputRef}\r\n value={text?.trimStart()}\r\n onChange={(e: any) => onChange(e.target.value)}\r\n onSelect={onSelect}\r\n menuStyle={{\r\n display: (loading ? 'none' : 'block'),\r\n borderRadius: '3px',\r\n boxShadow: '0 2px 12px rgba(0, 0, 0, 0.1)',\r\n background: 'rgba(255, 255, 255, 0.9)',\r\n fontSize: '90%',\r\n position: 'fixed',\r\n zIndex: 99999,\r\n overflow: 'auto',\r\n maxHeight: '50%', // TODO: don't cheat, let it flow to the bottom\r\n }}\r\n />\r\n {\r\n loading &&\r\n \r\n \r\n \r\n }\r\n {\r\n !loading && !!text?.length &&\r\n \r\n {\r\n inputRef.current.value = '';\r\n setText('');\r\n onChange('');\r\n }} aria-hidden=\"true\">\r\n {\r\n props?.showSubmitArrow &&\r\n !!props?.onSelect && props.onSelect(text)}>\r\n }\r\n \r\n }\r\n
\r\n );\r\n}","import { ClientRoutesConstants, PageErrors, PASSWORDSTRENGTH, Variables } from '../shared/constants';\r\nimport { AccountTypes, EnumComponentMode, EnumScreens, Outcome, SortOrderType } from '../models/enums';\r\nimport { IDropdown, INavMenu, IValueText, IValueTextExtra, IValueTextRole } from '../models/interfaces/shared';\r\n\r\nimport moment from 'moment';\r\nimport { Options, passwordStrength } from 'check-password-strength';\r\n\r\nexport class CommonUtils {\r\n static getYears(count: number = 10): IDropdown[] {\r\n let currentYear = new Date().getFullYear() - 5;\r\n let years: IDropdown[] = [];\r\n for (let index = 1; index <= count + 5; index++) {\r\n years.push({\r\n name: currentYear.toString(),\r\n abbreviation: currentYear.toString()\r\n });\r\n currentYear++;\r\n }\r\n return years;\r\n }\r\n static getMonths(): IDropdown[] {\r\n return [{\r\n abbreviation: '1',\r\n name: 'January'\r\n }, {\r\n abbreviation: '2',\r\n name: 'February'\r\n }, {\r\n abbreviation: '3',\r\n name: 'March'\r\n }, {\r\n abbreviation: '4',\r\n name: 'April'\r\n }, {\r\n abbreviation: '5',\r\n name: 'May'\r\n }, {\r\n abbreviation: '6',\r\n name: 'June'\r\n }, {\r\n abbreviation: '7',\r\n name: 'July'\r\n }, {\r\n abbreviation: '8',\r\n name: 'August'\r\n }, {\r\n abbreviation: '9',\r\n name: 'September'\r\n }, {\r\n abbreviation: '10',\r\n name: 'October'\r\n }, {\r\n abbreviation: '11',\r\n name: 'November'\r\n }, {\r\n abbreviation: '12',\r\n name: 'December'\r\n }];\r\n }\r\n static formatString(str: string, ...val: string[]): string {\r\n for (let index = 0; index < val.length; index++) {\r\n str = str.replace(`{${index}}`, val[index]);\r\n }\r\n return str;\r\n }\r\n static replaceProps(str: string, data: any): string {\r\n Object.keys(data).forEach((key: string) => {\r\n str = str.replaceAll(':' + key, data[key]);\r\n });\r\n return str;\r\n }\r\n static getDateInMMDDYYYY(strDate: string): string {\r\n try {\r\n return strDate && strDate !== '0001-01-01T00:00:00'\r\n ? new Intl.DateTimeFormat('en-US', { year: 'numeric', month: '2-digit', day: '2-digit' })\r\n .format(new Date(strDate))\r\n : '';\r\n } catch (e) {\r\n return strDate || '';\r\n }\r\n }\r\n static getFormatPhoneNumber(strPhone: string): string {\r\n if (!strPhone) return strPhone;\r\n const currentValue = strPhone.replace(/[^\\d]/g, '');\r\n const cvLength = currentValue.length;\r\n if (cvLength < 4) return currentValue; \r\n if (cvLength < 7) return `(${currentValue.slice(0, 3)}) ${currentValue.slice(3)}`;\r\n return `(${currentValue.slice(0, 3)}) ${currentValue.slice(3, 6)}-${currentValue.slice(6, 10)}`; \r\n }\r\n static isAMEXcard(value: string): boolean {\r\n return /^3[47]/.test(value);\r\n }\r\n static CustomersMenus(cid: string, current: string | null, allAvailableScreens: string[]): INavMenu[] {\r\n let opts: INavMenu[] = [\r\n {\r\n id: 'menu-cust-list',\r\n screenId: EnumScreens.CustomerList,\r\n url: ClientRoutesConstants.customers,\r\n text: 'Client List'\r\n },\r\n {\r\n id: 'menu-cust-details',\r\n screenId: EnumScreens.CustomerDetails,\r\n url: ClientRoutesConstants.customersView,\r\n text: 'Client Details'\r\n },\r\n {\r\n id: 'menu-fast-edit',\r\n screenId: EnumScreens.FastEdit,\r\n url: ClientRoutesConstants.fastEditAccounts,\r\n text: 'Dispute Center'\r\n },\r\n {\r\n id: 'menu-cust-letter',\r\n screenId: EnumScreens.CreateLetter,\r\n url: ClientRoutesConstants.createLetter,\r\n text: 'Create Letters'\r\n },\r\n {\r\n id: 'menu-report-importer',\r\n screenId: EnumScreens.ReportImporter,\r\n url: ClientRoutesConstants.reportImporter?.replace(/\\/:type?/g, '')?.replace(/[\\?]/g, ''),\r\n text: 'Import Report'\r\n }\r\n ];\r\n opts = opts.filter(x => x.screenId && x.url !== current && allAvailableScreens?.includes(x.screenId));\r\n if (cid) {\r\n opts.forEach((item) => {\r\n item.url = item?.url.replace(/:cid/gi, cid);\r\n });\r\n } else {\r\n opts = opts?.filter(x => x.screenId === EnumScreens.CustomerList);\r\n }\r\n return opts;\r\n }\r\n static CustomersMenusButtons(cid: string, current: string | null, allAvailableScreens: string[]): INavMenu[] {\r\n let opts: INavMenu[] = [\r\n {\r\n id: 'menu-cust-details',\r\n screenId: EnumScreens.CustomerDetails,\r\n url: ClientRoutesConstants.customersView,\r\n text: 'Client Details'\r\n },\r\n {\r\n id: 'menu-fast-edit',\r\n screenId: EnumScreens.FastEdit,\r\n url: ClientRoutesConstants.fastEditAccounts,\r\n text: 'Dispute Center'\r\n },\r\n {\r\n id: 'menu-cust-letter',\r\n screenId: EnumScreens.CreateLetter,\r\n url: ClientRoutesConstants.createLetter,\r\n text: 'Create Letters'\r\n },\r\n {\r\n id: 'menu-report-importer',\r\n screenId: EnumScreens.ReportImporter,\r\n url: ClientRoutesConstants.reportImporter?.replace(/\\/:type?/g, '')?.replace(/[\\?]/g, ''),\r\n text: 'Import Report'\r\n }\r\n ];\r\n opts = opts.filter(x => x.screenId && x.url !== (current ? current.replace(/\\/:type?/g, '')?.replace(/[\\?]/g, '') : current) && allAvailableScreens?.includes(x.screenId));\r\n if (cid) {\r\n opts.forEach((item) => {\r\n item.url = item?.url.replace(/:cid/gi, cid);\r\n });\r\n } else {\r\n opts = opts?.filter(x => x.screenId === EnumScreens.CustomerList);\r\n }\r\n return opts;\r\n }\r\n static LeadsMenus(cid: string, current: string | null, allAvailableScreens: string[]): INavMenu[] {\r\n let opts: INavMenu[] = [\r\n {\r\n id: 'menu-lead-list',\r\n screenId: EnumScreens.ViewLeads,\r\n url: ClientRoutesConstants.leads,\r\n text: 'Show All Leads'\r\n },\r\n {\r\n id: 'menu-lead-details',\r\n screenId: EnumScreens.AddLead,\r\n url: ClientRoutesConstants.viewLeads,\r\n text: 'View Lead Details'\r\n }\r\n ];\r\n opts = opts.filter(x => x.screenId && x.url !== current && allAvailableScreens?.includes(x.screenId));\r\n if (cid) {\r\n opts.forEach((item) => {\r\n item.url = item?.url.replace(/:id/gi, cid);\r\n });\r\n }\r\n return opts;\r\n }\r\n static ReferralAgentsMenus(cid: string, current: string | null, allAvailableScreens: string[]): INavMenu[] {\r\n let opts: INavMenu[] = [\r\n {\r\n id: 'menu-referral-agents-list',\r\n screenId: EnumScreens.ViewReferralAgents,\r\n url: ClientRoutesConstants.referralAgents,\r\n text: 'Show All Affiliate Agents'\r\n },\r\n {\r\n id: 'menu-referral-agent-details',\r\n screenId: EnumScreens.AddReferralAgent,\r\n url: ClientRoutesConstants.viewReferralAgents,\r\n text: 'View Affiliate Agent Details'\r\n }\r\n ];\r\n opts = opts.filter(x => x.screenId && x.url !== current && allAvailableScreens?.includes(x.screenId));\r\n if (cid) {\r\n opts.forEach((item) => {\r\n item.url = item?.url.replace(/:id/gi, cid);\r\n });\r\n }\r\n return opts;\r\n }\r\n static ProcessingTypes(): IValueText[] {\r\n let opts: IValueText[] = [\r\n {\r\n value: Variables.STANDARD_FASTRACK,\r\n text: Variables.STANDARD_FASTRACK\r\n },\r\n {\r\n value: 'Bankruptcy',\r\n text: 'Bankruptcy'\r\n },\r\n {\r\n value: 'Credit Report Analysis',\r\n text: 'Credit Report Analysis'\r\n },\r\n {\r\n value: 'Direct To Creditor & CRA',\r\n text: 'Direct To Creditor & CRA'\r\n },\r\n {\r\n value: 'Fast Track',\r\n text: 'Fast Track'\r\n },\r\n {\r\n value: 'Final Update',\r\n text: 'Final Update'\r\n },\r\n {\r\n value: 'Pay For Delete',\r\n text: 'Pay For Delete'\r\n },\r\n {\r\n value: 'Standard',\r\n text: 'Standard'\r\n },\r\n {\r\n value: 'Tradeline Services',\r\n text: 'Tradeline Services'\r\n }\r\n \r\n \r\n ];\r\n return opts;\r\n }\r\n\r\n static CardTypes(): IValueText[] {\r\n let opts: IValueText[] = [\r\n {\r\n value: 'AmericanExpress',\r\n text: 'American Express'\r\n },\r\n {\r\n value: 'Discover',\r\n text: 'Discover'\r\n },\r\n {\r\n value: 'MasterCard',\r\n text: 'MasterCard'\r\n },\r\n {\r\n value: 'Visa',\r\n text: 'Visa'\r\n }\r\n ];\r\n return opts;\r\n }\r\n static CreditMOnitoringOptions(): IValueTextExtra[] {\r\n return [\r\n { value: 'None', text: 'None', websiteName: '', path: '' },\r\n { value: 'TrustedCreditReports', text: 'Trusted Credit Reports', websiteName: 'trustedcreditreports.com', path: 'https://www.trustedcreditreports.com/customer_login.asp', isOutsourced: true },\r\n { value: 'CreditBliss', text: 'Credit Bliss', websiteName: 'Bypass Login', path: 'https://portal.creditbliss.com/client?bps={0}&email={1}' },\r\n { value: 'MyIDIQ', text: 'Identity IQ', websiteName: 'identityiq.com', path: 'https://member.identityiq.com/login.aspx', isOutsourced: true },\r\n { value: 'TrueCredit', text: 'True Credit', websiteName: 'True Credit', path: 'http://www.truecredit.com' },\r\n { value: 'CreditCheckTotal', text: 'Credit Check Total', websiteName: 'Credit Check Total', path: 'http://www.creditchecktotal.com' },\r\n { value: 'CreditKeeper', text: 'Credit Keeper', websiteName: 'Credit Keeper', path: 'http://www.creditkeeper.com' },\r\n { value: 'PrivacyGuard', text: 'Privacy Guard', websiteName: 'Privacy Guard', path: 'http://www.privacyguard.com' },\r\n { value: 'ScoreSense', text: 'Score Sense', websiteName: 'ScoreSense.com', path: 'http://www.scoresense.com' },\r\n { value: 'FreeScore', text: 'Free Score', websiteName: 'FreeScore.com', path: 'http://www.freescore.com' },\r\n { value: '53IdentityAlert', text: '53 Identity Alert', websiteName: '53IdentityAlert.com', path: 'http://www.53identityalert.com' },\r\n { value: 'WellsFargoProtection', text: 'Wells Fargo Enhanced', websiteName: 'Wells Fargo Enhanced', path: 'https://identity.wellsfargoprotection.com/secure/LoginRouter.aspx' },\r\n { value: 'WellsFargoMonitor2', text: 'Wells Fargo Option 2', websiteName: 'Wells Fargo #2', path: 'https://monitor.wellsfargoprotection.com/sign-in' },\r\n { value: 'CreditScore', text: 'CreditScore.com', websiteName: 'CreditScore.com', path: 'https://www.creditscore.com/sign-in.aspx' },\r\n { value: 'FreeCreditScore', text: 'Free Credit Score', websiteName: 'Free Credit Score', path: 'http://www.freecreditscore.com' },\r\n { value: 'FreeScore360', text: 'Free Score 360', websiteName: 'Free Score 360', path: 'http://www.freescore360.com/' },\r\n { value: 'FreeCreditReport', text: 'Free Credit Report', websiteName: 'FreeCreditReport.com', path: 'http://www.freecreditreport.com/' },\r\n { value: 'IdentityGuard', text: 'Identity Guard', websiteName: 'Identity Guard', path: 'https://secure.identityguard.com/LogonForm?storeId=10051' },\r\n { value: 'CitiIdentityMonitor', text: 'Citi Identity Monitor', websiteName: 'Citi Identity Monitor', path: 'https://membership.identitymonitor.citi.com/Pages/English/In_Activation.asp?source=IMN00518&ordsrc=' },\r\n { value: 'CostcoIdentityGuard', text: 'Costco IdentityGuard', websiteName: 'Costco IdentityGaurd', path: 'https://secure.costco.identityguard.com/LogonForm?storeId=10552' },\r\n { value: 'CreditReport.com', text: 'CreditReport.com', websiteName: 'CreditReport.com', path: 'https://www.creditreport.com/sign-in.aspx' },\r\n { value: 'FreeScoresAndMore.com', text: 'FreeScoresAndMore.com', websiteName: 'Free Scores and More', path: 'https://www.freescoresandmore.com/' },\r\n { value: 'Equifax', text: 'Equifax', websiteName: 'Equifax', path: 'https://www.econsumer.equifax.com/otc/landing.ehtml?^start=&companyName=PSb14bpd02_lgn' },\r\n { value: 'LifeLock', text: 'LifeLock', websiteName: 'LifeLock', path: 'https://secure.lifelock.com/portal/login/' },\r\n { value: 'Experian', text: 'Experian', websiteName: 'Experian', path: 'http://www.experian.com/consumer/login.html/', isOutsourced: true },\r\n { value: 'SmartCredit', text: 'SmartCredit', websiteName: 'smartcredit.com', path: 'https://www.smartcredit.com/login/', isOutsourced: true },\r\n { value: 'MyFreeScoreNow', text: 'My Free Score Now', websiteName: 'member.myfreescorenow.com', path: 'https://member.myfreescorenow.com/login/', isOutsourced: true },\r\n { value: 'MyScoreIQ', text: 'My Score IQ', websiteName: 'member.myscoreiq.com', path: 'https://member.myscoreiq.com/login.aspx', isOutsourced: true },\r\n { value: 'Other', text: 'Other...', websiteName: '', path: '', isOutsourced: true }\r\n ];\r\n }\r\n static ClientNotesWhoLefts(): IValueTextRole[] {\r\n return [\r\n {\r\n value: 'Administrator', text: 'Administrator', roles: []\r\n },\r\n {\r\n value: 'Office Manager', text: 'Office Manager', roles: []\r\n },\r\n {\r\n value: 'Processor', text: 'Processor', roles: []\r\n },\r\n {\r\n value: 'Customer', text: 'Client', roles: []\r\n },\r\n {\r\n value: 'Credit Agent', text: 'Credit Agent', roles: []\r\n }\r\n ];\r\n }\r\n static DocTypes(): IDropdown[] {\r\n return [{\r\n abbreviation: 'Collection Agency Response',\r\n name: 'Collection Agency Response'\r\n }, {\r\n abbreviation: 'Credit Bureau Response',\r\n name: 'Credit Bureau Response '\r\n }, {\r\n abbreviation: 'Original Creditor Response',\r\n name: 'Original Creditor Response'\r\n }, {\r\n abbreviation: 'Progress Reports',\r\n name: 'Progress Reports'\r\n }, {\r\n abbreviation: 'Reports',\r\n name: 'Reports'\r\n }, {\r\n abbreviation: 'Service Agreement',\r\n name: 'Service Agreement'\r\n }, {\r\n abbreviation: 'Supporting Docs',\r\n name: 'Supporting Docs'\r\n }];\r\n }\r\n static DocSpecificTypes(): IDropdown[] {\r\n return [{\r\n abbreviation: 'COPY SS',\r\n name: 'COPY SS'\r\n }, {\r\n abbreviation: 'Id',\r\n name: 'ID'\r\n }, {\r\n abbreviation: 'Address Verification',\r\n name: 'POR - Address Verification'\r\n }];\r\n }\r\n static getDate(d: string): any {\r\n const dateNew = moment(d).format('MM/DD/YYYY');\r\n if (dateNew === '01/01/0001' || dateNew === '01/01/1900') return '';\r\n return dateNew;\r\n }\r\n static isAvailableToSelect(outcome?: string) {\r\n outcome = outcome?.toLowerCase();\r\n const notAllowedOutcomes = [Outcome?.DELETED?.toLowerCase(), Outcome?.REPAIRED?.toLowerCase(), Outcome?.SATISFACTORY?.toLowerCase(), Outcome?.DO_NOT_DISPUTE_BY_CONSUMER?.toLowerCase()];\r\n return !notAllowedOutcomes.includes(outcome || '');\r\n }\r\n static ProcessingStatus(): IValueText[] {\r\n let opts: IValueText[] = [\r\n {\r\n value: 'Cancelled',\r\n text: 'Cancelled'\r\n },\r\n {\r\n value: 'CM Hold',\r\n text: 'CM Hold'\r\n },\r\n {\r\n value: 'Completed',\r\n text: 'Completed'\r\n },\r\n {\r\n value: 'Credit Building',\r\n text: 'Credit Building'\r\n },\r\n {\r\n value: 'Dispute Responses',\r\n text: 'Dispute Responses'\r\n },\r\n {\r\n value: 'Need DOCS',\r\n text: 'Need DOCS'\r\n },\r\n {\r\n value: 'Need ID',\r\n text: 'Need ID'\r\n },\r\n {\r\n value: 'Need POR',\r\n text: 'Need POR'\r\n },\r\n {\r\n value: 'Need SS',\r\n text: 'Need SS'\r\n },\r\n {\r\n value: 'NSF',\r\n text: 'NSF'\r\n },\r\n {\r\n value: 'On Hold',\r\n text: 'On Hold'\r\n },\r\n {\r\n value: 'Problem',\r\n text: 'Problem'\r\n }\r\n ];\r\n return opts;\r\n }\r\n\r\n static CallingTimes(): IValueText[] {\r\n let opts: IValueText[] = [\r\n {\r\n value: 'Morning',\r\n text: 'Morning'\r\n },\r\n {\r\n value: 'Afternoon',\r\n text: 'Afternoon'\r\n },\r\n {\r\n value: 'Evening',\r\n text: 'Evening'\r\n }\r\n ];\r\n return opts;\r\n }\r\n static LeadTypes(): IValueText[] {\r\n let opts: IValueText[] = [\r\n {\r\n value: 'Active',\r\n text: 'Active'\r\n },\r\n {\r\n value: 'Contact 1+',\r\n text: 'Contact 1+'\r\n },\r\n {\r\n value: 'Contact 5+',\r\n text: 'Contact 5+'\r\n },\r\n {\r\n value: 'Contact 10+',\r\n text: 'Contact 10+'\r\n },\r\n {\r\n value: 'No Contact',\r\n text: 'No Contact'\r\n },\r\n {\r\n value: 'Not Interested',\r\n text: 'Not Interested'\r\n },\r\n {\r\n value: 'Transferred to LO',\r\n text: 'Transferred to LO'\r\n }\r\n ];\r\n return opts;\r\n }\r\n static TransactionTypes(): IValueText[] {\r\n let opts: IValueText[] = [\r\n {\r\n value: 'Auto Loan',\r\n text: 'Auto Loan'\r\n },\r\n {\r\n value: 'Business Loan',\r\n text: 'Business Loan'\r\n },\r\n {\r\n value: 'New Mortgage',\r\n text: 'New Mortgage'\r\n },\r\n {\r\n value: 'New Purchase',\r\n text: 'New Purchase'\r\n },\r\n {\r\n value: 'Refinance',\r\n text: 'Refinance'\r\n },\r\n {\r\n value: 'Just Repairing Credit',\r\n text: 'Just Repairing Credit'\r\n }\r\n ];\r\n return opts;\r\n }\r\n static ReferralOfficeTypes(): IValueText[] {\r\n return [\r\n {\r\n value: 'Bank', text: 'Bank'\r\n },\r\n {\r\n value: 'Car Dealership', text: 'Car Dealership'\r\n },\r\n {\r\n value: 'Insurance Company', text: 'Insurance Company'\r\n },\r\n {\r\n value: 'Mortgage Company', text: 'Mortgage Company'\r\n },\r\n {\r\n value: 'Real Estate Agency', text: 'Real Estate Agency'\r\n },\r\n {\r\n value: 'Title Company', text: 'Title Company'\r\n },\r\n {\r\n value: 'Tax Services', text: 'Tax Services'\r\n },\r\n {\r\n value: 'Apt. Complex', text: 'Apt. Complex'\r\n },\r\n {\r\n value: 'Company Referrals', text: 'Company Referrals'\r\n },\r\n {\r\n value: 'Solar Companies', text: 'Solar Companies'\r\n }\r\n ];\r\n }\r\n static FormatHTML(html: string): string {\r\n var tab = '\\t';\r\n var result = '';\r\n var indent = '';\r\n\r\n html.split(/>\\s* {\r\n if (element.match(/^\\/\\w/)) {\r\n indent = indent.substring(tab.length);\r\n }\r\n result += indent + '<' + element + '>\\r\\n';\r\n /* uncomment below code to add identation in the html */\r\n if (element.match(/^]*[^\\/]$/) && !element.startsWith(\"input\")) {\r\n indent += tab;\r\n }\r\n });\r\n return result.substring(1, result.length - 3);\r\n }\r\n static GetTextFromHTML(html:string): string {\r\n try {\r\n var temp = document.createElement(\"div\");\r\n temp.innerHTML = html;\r\n return temp.textContent || temp.innerText || \"\";\r\n } catch (error) {\r\n return \"\";\r\n }\r\n }\r\n static ReplaceUnCloseIMGtags(html: string): string {\r\n return html.replace(\"@(@i\", \"$1/>\");\r\n }\r\n static ReplaceUnCloseBRtags(html: string): string {\r\n return html.replace(//gi, '
');\r\n }\r\n static randomNumber(): number {\r\n return Math.floor(Math.random() * 101);\r\n }\r\n static formErrors(data: any, options?: any): string {\r\n console.log('data --- ', data)\r\n let msg = '';\r\n let passwordDoesNotMatch = false;\r\n\r\n switch (options.screenName) {\r\n case EnumScreens.CustomerList:\r\n msg = this.ClientPageErrors(msg, data, options);\r\n break;\r\n\r\n case EnumScreens.ViewLeads:\r\n msg = this.LeadsPageErrors(msg, data, options);\r\n break;\r\n case EnumScreens.ViewFranchiseOffices:\r\n msg = this.CompanyOfficesPageErrors(msg, data, options);\r\n if (!msg && options.screenMode === EnumComponentMode.Add) {\r\n if (\r\n !data?.password ||\r\n data?.password?.value !== data?.confirmPassword?.value\r\n ) {\r\n msg += PageErrors.commonErrors.passwordMatch;\r\n passwordDoesNotMatch = true;\r\n }\r\n }\r\n break;\r\n case EnumScreens.ViewReferralOffices:\r\n msg = this.AffiliateOfficesPageErrors(msg, data, options);\r\n break;\r\n case EnumScreens.ViewReferralOfficesAgentsTab:\r\n msg = this.AffiliateOfficesAgentTabPageErrors(msg, data, options);\r\n if (!msg && options.screenMode === EnumComponentMode.Add) {\r\n if (\r\n !data?.password ||\r\n data?.password?.value !== data?.confirmPassword?.value\r\n ) {\r\n msg += PageErrors.commonErrors.passwordMatch;\r\n passwordDoesNotMatch = true;\r\n }\r\n }\r\n break;\r\n default:\r\n break;\r\n }\r\n const result = msg.substring(0, msg.lastIndexOf(\",\"));\r\n return msg && !passwordDoesNotMatch ? `Please enter ${result}` : msg;\r\n }\r\n\r\n static ClientPageErrors(msg: string, data: any, options: any): string {\r\n if (!data?.firstName) {\r\n msg += PageErrors.commonErrors.firstName;\r\n }\r\n if (!data?.lastName) {\r\n msg += PageErrors.commonErrors.lastName;\r\n }\r\n if (!data?.email) {\r\n msg += PageErrors.commonErrors.email;\r\n }\r\n if (!data?.transactionType) {\r\n msg += PageErrors.clientPageErrors.processingStatus;\r\n }\r\n if (\r\n options.screenMode === EnumComponentMode.Add &&\r\n !data.franchise &&\r\n !data.franchise?.id\r\n ) {\r\n msg += PageErrors.clientPageErrors.franchiseId;\r\n }\r\n return msg;\r\n }\r\n\r\n static LeadsPageErrors(msg: string, data: any, options: any): string {\r\n if (!data?.firstName) {\r\n msg += PageErrors.commonErrors.firstName;\r\n }\r\n if (!data?.lastName) {\r\n msg += PageErrors.commonErrors.lastName;\r\n }\r\n if (!data?.email) {\r\n msg += PageErrors.commonErrors.email;\r\n }\r\n if (options?.isPublic && !data?.cellPhone) {\r\n msg += PageErrors.leadsPageErrors.cellPhone;\r\n }\r\n if (\r\n !options?.isPublic ? options.screenMode === EnumComponentMode.Add &&\r\n !data.franchise &&\r\n !data.franchise?.id :\r\n false\r\n ) {\r\n msg += PageErrors.clientPageErrors.franchiseId;\r\n }\r\n return msg;\r\n }\r\n\r\n static CompanyOfficesPageErrors(msg: string, data: any, options: any): string {\r\n if (data) {\r\n if (!data?.firstName) {\r\n msg += PageErrors.commonErrors.firstName;\r\n }\r\n\r\n if (!data?.email) {\r\n msg += PageErrors.commonErrors.email;\r\n }\r\n if (!(data?.office?.id || data?.props?.officeId)) {\r\n msg += PageErrors.companyOfficeErrors.officeId;\r\n }\r\n\r\n if (!(data?.role)) {\r\n msg += PageErrors.companyOfficeErrors.role;\r\n }\r\n if (!(data?.password && data?.password?.value)) {\r\n msg += PageErrors.commonErrors.passwordRequired;\r\n } else if (\r\n data?.password &&\r\n data?.password?.value &&\r\n !data?.password.isValid\r\n ) {\r\n msg += PageErrors.commonErrors.validPassword;\r\n }\r\n if (options.screenMode === EnumComponentMode.Add) {\r\n if (!data.userName) {\r\n msg += PageErrors.commonErrors.usernameRequired;\r\n }\r\n if (!(data?.confirmPassword && data?.confirmPassword?.value)) {\r\n msg += PageErrors.commonErrors.confirmPassword;\r\n }\r\n }\r\n }\r\n return msg;\r\n }\r\n\r\n static AffiliateOfficesPageErrors(msg: string, data: any, options: any): string {\r\n if (!data?.agent?.id) {\r\n msg += PageErrors.affiliateOfficeErrors.agentId;\r\n }\r\n if (!data?.name) {\r\n msg += PageErrors.affiliateOfficeErrors.officeName;\r\n }\r\n if (!data?.classification) {\r\n msg += PageErrors.affiliateOfficeErrors.officeType;\r\n }\r\n\r\n return msg;\r\n }\r\n\r\n static AffiliateOfficesAgentTabPageErrors(msg: string, data: any, options: any): string {\r\n if (data) {\r\n // common \r\n if (!data?.firstName) {\r\n msg += PageErrors.commonErrors.firstName;\r\n }\r\n if (options.screenMode === EnumComponentMode.Edit) {\r\n if (!data?.officeId) {\r\n msg += PageErrors.affiliateOfficeErrors.agentsTab.affiliateOffice;\r\n }\r\n if (!data?.email) {\r\n msg += PageErrors.commonErrors.email;\r\n }\r\n }\r\n if (options.screenMode === EnumComponentMode.Add) {\r\n if (!(data?.officeId || data?.props?.officeId)) {\r\n msg += PageErrors.affiliateOfficeErrors.agentsTab.affiliateOffice;\r\n }\r\n if (!(data?.password && data?.password?.value)) {\r\n msg += PageErrors.commonErrors.passwordRequired;\r\n } else if (\r\n data?.password &&\r\n data?.password?.value &&\r\n !data?.password.isValid\r\n ) {\r\n msg += PageErrors.commonErrors.validPassword;\r\n }\r\n\r\n if (!(data?.confirmPassword && data?.confirmPassword?.value)) {\r\n msg += PageErrors.commonErrors.confirmPassword;\r\n }\r\n }\r\n\r\n }\r\n return msg;\r\n }\r\n\r\n static customSort(data1: any, data2: any, order: string, key: string, subKey?: string) {\r\n let result;\r\n if (subKey){\r\n if (typeof data1[key][subKey] === 'string' && typeof data2[key][subKey] === 'string'){\r\n result = order === SortOrderType.ASC ? data1[key][subKey].localeCompare(data2[key][subKey]) : data2[key][subKey].localeCompare(data1[key][subKey]);\r\n }\r\n if ((typeof data1[key][subKey] === 'boolean' && typeof data2[key][subKey] === 'boolean') || (typeof data1[key][subKey] === 'number' && typeof data2[key][subKey] === 'number')){\r\n let d1 = data1[key][subKey].toString();\r\n let d2 = data2[key][subKey].toString();\r\n result = order === SortOrderType.ASC ? d1.localeCompare(d2) : d2.localeCompare(d1);\r\n }\r\n } else {\r\n if (typeof data1[key] === 'string' && typeof data2[key] === 'string'){\r\n result = order === SortOrderType.ASC ? data1[key].localeCompare(data2[key]) : data2[key].localeCompare(data1[key]);\r\n }\r\n if ((typeof data1[key] === 'boolean' && typeof data2[key] === 'boolean') || (typeof data1[key] === 'number' && typeof data2[key] === 'number')){\r\n let d1 = data1[key].toString();\r\n let d2 = data2[key].toString();\r\n result = order === SortOrderType.ASC ? d1.localeCompare(d2) : d2.localeCompare(d1);\r\n }\r\n }\r\n return result;\r\n }\r\n static isPasswordStrong(pwd: string): boolean {\r\n const calculatedStrength = passwordStrength(pwd, PASSWORDSTRENGTH as Options)\r\n return calculatedStrength.id >= 2;\r\n }\r\n static isNegativeAccount = (account: any) => {\r\n const chargedTypes = ['Collection', 'Charge off', 'Chargeoff', 'Collection/Chargeoff', 'Paid Chargeoff', 'Paid Collection'];\r\n const pastDueCorrectValues = [' ', '0'];\r\n if (account.accountTypeName?.trim()?.toLowerCase() === AccountTypes.Inquiry || account.accountTypeName?.trim()?.toLowerCase() === AccountTypes.PersonalInfo) {\r\n return false;\r\n }\r\n if (chargedTypes.some(m => m.toLowerCase() === account?.accountTypeName?.trim()?.toLowerCase() || account?.isChargeoffIndicator === true || account?.isCollectionIndicator === true || account?.isDerogatoryDataIndicator === true || !pastDueCorrectValues.includes(account?.tuPastDue ? account?.tuPastDue : '0') || !pastDueCorrectValues.includes(account?.eqfPastDue ? account?.eqfPastDue : '0') || !pastDueCorrectValues.includes(account?.expPastDue ? account?.expPastDue : '0') )) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n}","\r\nexport class ImageUtils {\r\n\r\n\tprivate static fileUrl: string;\r\n\r\n\tstatic getCroppedImg(image: any, crop: any, fileName: string): Promise<{ url: string, blob: any }> {\r\n\t\tconst canvas = document.createElement('canvas');\r\n\t\tconst pixelRatio = window.devicePixelRatio;\r\n\t\tconst scaleX = image.naturalWidth / image.width;\r\n\t\tconst scaleY = image.naturalHeight / image.height;\r\n\t\tconst ctx = canvas.getContext('2d') as any;\r\n\r\n\t\tcanvas.width = crop.width * pixelRatio * scaleX;\r\n\t\tcanvas.height = crop.height * pixelRatio * scaleY;\r\n\r\n\t\tctx.setTransform(pixelRatio, 0, 0, pixelRatio, 0, 0);\r\n\t\tctx.imageSmoothingQuality = 'high';\r\n\r\n\t\tctx.drawImage(\r\n\t\t\timage,\r\n\t\t\tcrop.x * scaleX,\r\n\t\t\tcrop.y * scaleY,\r\n\t\t\tcrop.width * scaleX,\r\n\t\t\tcrop.height * scaleY,\r\n\t\t\t0,\r\n\t\t\t0,\r\n\t\t\tcrop.width * scaleX,\r\n\t\t\tcrop.height * scaleY\r\n\t\t);\r\n\r\n\t\treturn new Promise((resolve, reject) => {\r\n\t\t\tcanvas.toBlob(\r\n\t\t\t\t(blob: any) => {\r\n\t\t\t\t\tif (!blob) {\r\n\t\t\t\t\t\t//reject(new Error('Canvas is empty'));\r\n\t\t\t\t\t\tconsole.error('Canvas is empty');\r\n\t\t\t\t\t\treturn;\r\n\t\t\t\t\t}\r\n\t\t\t\t\tblob.name = fileName;\r\n\t\t\t\t\twindow.URL.revokeObjectURL(this.fileUrl);\r\n\t\t\t\t\tthis.fileUrl = window.URL.createObjectURL(blob);\r\n\t\t\t\t\tresolve({ url: this.fileUrl, blob });\r\n\t\t\t\t},\r\n\t\t\t\t'image/jpeg',\r\n\t\t\t\t1\r\n\t\t\t);\r\n\t\t});\r\n\t}\r\n\tstatic getBase64FromBlob(blob: string): Promise {\r\n\t\treturn new Promise((resolve, _) => {\r\n\t\t\tconst reader = new FileReader() as any;\r\n\t\t\treader.onloadend = () => resolve(reader.result);\r\n\t\t\treader.readAsDataURL(blob);\r\n\t\t});\r\n\t}\r\n\r\n};","import React, { createRef, useEffect, useRef, useState } from 'react';\r\nimport axios, { CancelTokenSource } from 'axios';\r\nimport ReactCrop from 'react-image-crop';\r\nimport 'react-image-crop/dist/ReactCrop.css';\r\nimport { bindActionCreators } from 'redux';\r\nimport { connect } from 'react-redux';\r\nimport classNames from 'classnames';\r\nimport toastr from 'toastr';\r\n\r\nimport './change-site-logo.scss';\r\nimport { ButtonComponent } from '../../../shared/components/button';\r\nimport { FileUploadButton } from '../../../shared/components/file-upload-button';\r\nimport { Messages } from '../../../shared/constants';\r\nimport { ImageUtils } from '../../../utils/image.util';\r\nimport { IMAGETYPES } from '../../../models/enums';\r\nimport { uploadLogo, updateKey } from '../../../actions/media.actions';\r\nimport { IMediaPayload } from '../../../models/interfaces/shared';\r\n\r\nconst mapDispatchToProps = (dispatch: any) => {\r\n return bindActionCreators({\r\n uploadLogo,\r\n updateKey\r\n }, dispatch);\r\n}\r\nexport const ChangeSiteLogoComponent = connect(null, mapDispatchToProps)((props: { updateKey: any, officeId?: string, siteId?: string, uploadLogo?: any, onSuccess?: any, action?: string, type: IMAGETYPES }) => {\r\n\r\n const [uploading, setUploading] = useState(false);\r\n const [src, setSrc] = useState() as any;\r\n const [crop, setCrop] = useState({\r\n unit: 'px',\r\n x: 2, y: 2, // top, left of crop control\r\n width: 260, aspect: 11 / 3\r\n }) as any;\r\n const [axiosSource] = useState({} as CancelTokenSource);\r\n const [croppedImageUrl, setCroppedImageUrl] = useState('' as string);\r\n const [imageRef, setimageRef] = useState() as any;\r\n const [croppedImageBase64, setCroppedImageBase64] = useState('' as string);\r\n const btnRef = createRef() as any;\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (axiosSource?.cancel)\r\n axiosSource?.cancel(Messages.APIAborted);\r\n }\r\n }, []);\r\n const onSubmit = () => {\r\n setUploading(true);\r\n const payload: IMediaPayload = { imageBase64: croppedImageBase64 || src, ...props };\r\n props?.uploadLogo(payload, axiosSource)\r\n .then((result: string) => {\r\n setUploading(false);\r\n toastr.success('Logo updated successfully!!');\r\n props?.onSuccess(true);\r\n props.updateKey();\r\n })\r\n .catch((err: any) => {\r\n if (!axios.isCancel(err)) {\r\n setUploading(false);\r\n if (err?.response?.data) {\r\n toastr.error(err?.response?.data);\r\n }\r\n }\r\n })\r\n }\r\n const onSelect = () => {\r\n const item = btnRef?.current?.openFile();\r\n }\r\n const onFileSelected = (arr: any[]) => {\r\n if (arr?.length) {\r\n const reader = new FileReader();\r\n reader.addEventListener('load', () => {\r\n setSrc(reader.result);\r\n });\r\n reader.readAsDataURL(arr[0]);\r\n }\r\n }\r\n const onImageLoaded = (img: any) => {\r\n setimageRef(img);\r\n }\r\n const onCropComplete = (c: any) => {\r\n makeClientCrop(c);\r\n };\r\n\r\n const onCropChange = (c: any, percentCrop: any) => {\r\n setCrop(c);\r\n };\r\n const makeClientCrop = async (c: any) => {\r\n if (imageRef && c?.width && crop?.height) {\r\n ImageUtils.getCroppedImg(imageRef, c, 'newFile.jpeg').then(({ url, blob }) => {\r\n ImageUtils.getBase64FromBlob(blob).then((res: string) => {\r\n setCroppedImageBase64(res);\r\n })\r\n });\r\n }\r\n }\r\n return (\r\n <>\r\n
\r\n {\r\n src &&
\r\n
\r\n {src && crop && (\r\n \r\n )}\r\n
\r\n
\r\n }\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n {\r\n src\r\n && \r\n \r\n \r\n }\r\n
\r\n
\r\n
\r\n\r\n \r\n );\r\n});\r\n","import React from 'react';\r\n\r\nimport { ChangeSiteLogoComponent } from '../../screens/admin/site-logo/change-site-logo';\r\nimport { IMAGETYPES } from '../../models/enums';\r\n\r\nexport const SiteLogoEditorComponent = (props: { type: IMAGETYPES, onSuccess: any, officeId?: string }) => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n}","import { IPayLoad } from \"../models/interfaces/shared\";\r\n\r\nexport const getAction = (actionType: string, payload: any = null): IPayLoad => ({ type: actionType, payload });","import { EnumFieldRights, EnumRoles, EnumScreens } from '../../../models/enums';\r\nimport { IScreenDescription, IScreenProps } from '../../../models/interfaces/shared';\r\n\r\nexport let RoleMappings = [\r\n {\r\n screen: { name: EnumScreens.CustomerList, description: 'Client List Page', rules: [] } as IScreenDescription,\r\n fields: [{ name: 'List', description: 'Client Table ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] }]\r\n },\r\n {\r\n screen: { name: EnumScreens.CustomerDetails, description: 'Client Details Page', rules: [] },\r\n fields: [\r\n { name: 'SSN', description: 'SSN Field', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'ProcessingStatus', description: 'Processing Status', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.ReadOnly }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'ProcessingType', description: 'Processing Type', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.ReadOnly }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'Credentials', description: 'User Name Passwords Section', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'CreditCard', description: 'Credit Card details', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'ResendWelcomeEmail', description: 'Resend Welcome emails', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'SendPOREmail', description: 'Send POR email', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'DOB', description: 'Date of Birth Field', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'SaveButton', description: 'Update Button', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'FeeInfo', description: 'Fee Info Section', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.ReadOnly }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'MailChimp', description: 'Mail Chimp Section', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'MonitoringDetails', description: 'Monitoring Details Section', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'GeneralNotes', description: 'General Notes Section', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'CreditBlissReports', description: 'Credit Bliss Reports Section', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'EditRound', description: 'Ability To Edit Rounds ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'StartRound', description: 'Ability To Start Rounds ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'SubmitRound', description: 'Ability To Submit Rounds ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'ShowStats', description: 'Show Stats Section ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'AccountDelete', description: 'Ability To Delete Accounts ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'DisputeProgressTab', description: 'Dispute Progress Tab ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Show }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'NotesTab', description: 'Notes and Contacts Tab', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Show }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'FilesTab', description: 'Files Tab ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Show }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'LettersTab', description: 'Letters Tab ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Show }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'AddClientNotes', description: 'Ability to Add Client Notes ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'RemoveClientNotes', description: 'Ability to Remove Client Notes ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'EditClientNotes', description: 'Ability to Edit Client Notes ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'AddProcessingNotes', description: 'Ability to Add Processing Notes ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'RemoveProcessingNotes', description: 'Ability to Remove Processing Notes ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'UpdateContactDetails', description: 'Ability to Update Contact Details ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'UploadCustomerFile', description: 'Ability to Upload a Client File in Files Tab ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'EditCustomerFile', description: 'Ability to Update Client File ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'DownloadCustomerFile', description: 'Ability to Download Client File ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'RemoveCustomerFile', description: 'Ability to Remove Client File ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'NavigationOptions', description: 'Ability to Navigation to Other screens ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'DownloadDisputeLetter', description: 'Ability to Download Dispute Letters ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'RemoveDisputeLetter', description: 'Ability to Remove Dispute Letter ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'CreateDisputeLetter', description: 'Ability to Create Dispute Letters ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'ProcessingNotesSection', description: 'Processing Notes Section ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'ClientNotesSection', description: 'Client Notes Section ', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n { name: 'ToDoSection', description: 'To-Do Section ', rules: [{ role: EnumRoles.ReferralAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralManager, right: EnumFieldRights.Hide }, { role: EnumRoles.Customer, right: EnumFieldRights.Hide }] },\r\n ]\r\n },\r\n {\r\n screen: { name: EnumScreens.AddCustomer, description: 'Add Client', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n fields: []\r\n },\r\n {\r\n screen: { name: EnumScreens.Dashboard, description: 'Dashboard', rules: [] },\r\n fields: []\r\n },\r\n {\r\n screen: { name: EnumScreens.CreateLetter, description: 'Create Client Letters Screen', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralManager, right: EnumFieldRights.Hide }, { role: EnumRoles.CreditAgent, right: EnumFieldRights.Hide }] },\r\n fields: []\r\n },\r\n {\r\n screen: { name: EnumScreens.FastEdit, description: 'Fast Edit Accounts', rules: [{ role: EnumRoles.CreditAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralManager, right: EnumFieldRights.Hide }] },\r\n fields: []\r\n },\r\n {\r\n screen: { name: EnumScreens.ReportImporter, description: 'Report Importer', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralManager, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }, { role: EnumRoles.CreditAgent, right: EnumFieldRights.Hide }] },\r\n fields: []\r\n },\r\n {\r\n screen: { name: EnumScreens.ViewFranchiseOffices, description: 'View Company Offices', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralManager, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }, { role: EnumRoles.CreditAgent, right: EnumFieldRights.Hide }] },\r\n fields: []\r\n },\r\n {\r\n screen: { name: EnumScreens.AddFranchiseOffice, description: 'Add Company Office', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralManager, right: EnumFieldRights.Hide }, { role: EnumRoles.CreditAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n fields: []\r\n },\r\n {\r\n screen: { name: EnumScreens.ViewReferralOffices, description: 'View Affiliate Offices', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n fields: []\r\n },\r\n {\r\n screen: { name: EnumScreens.AddReferralOffice, description: 'Add Affiliate Office', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n fields: []\r\n },\r\n {\r\n screen: { name: EnumScreens.ViewReferralAgents, description: 'View referral Agent', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n fields: []\r\n },\r\n {\r\n screen: { name: EnumScreens.AddReferralAgent, description: 'Add Affiliate Agent', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n fields: []\r\n },\r\n {\r\n screen: { name: EnumScreens.ViewFranchiseAgents, description: 'View Company Agents', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralManager, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n fields: []\r\n },\r\n {\r\n screen: { name: EnumScreens.AddFranchiseAgent, description: 'Add Company Agent', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralManager, right: EnumFieldRights.Hide }, { role: EnumRoles.CreditAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n fields: []\r\n },\r\n {\r\n screen: { name: EnumScreens.ViewLeads, description: 'View Leads', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n fields: []\r\n },\r\n {\r\n screen: { name: EnumScreens.AddLead, description: 'Add Lead', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }] },\r\n fields: []\r\n },\r\n {\r\n screen: { name: EnumScreens.LetterTemplates, description: 'Letter Templates', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }, { role: EnumRoles.CreditAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralManager, right: EnumFieldRights.Hide }] },\r\n fields: []\r\n },\r\n {\r\n screen: { name: EnumScreens.AdminSettings, description: 'Admin Settings', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }, { role: EnumRoles.CreditAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralManager, right: EnumFieldRights.Hide }] },\r\n fields: []\r\n },\r\n {\r\n screen: { name: EnumScreens.PortalIntegration, description: 'Portal Integration', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }, { role: EnumRoles.CreditAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralManager, right: EnumFieldRights.Hide }] },\r\n fields: []\r\n },\r\n {\r\n screen: { name: EnumScreens.AffiliateSignUp, description: 'Affiliate SignUp', rules: [{ role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }, { role: EnumRoles.CreditAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralManager, right: EnumFieldRights.Hide }] },\r\n fields: []\r\n },\r\n {\r\n screen: { name: EnumScreens.CBReportViewer, description: 'Credit Bliss Report Viewer', rules: [] },\r\n fields: []\r\n },\r\n {\r\n screen: { name: EnumScreens.UserAccess, description: 'User Access Management', rules: [{ role: EnumRoles.OfficeManager, right: EnumFieldRights.Hide }, { role: EnumRoles.Customer, right: EnumFieldRights.Hide }, { role: EnumRoles.Processor, right: EnumFieldRights.Hide }, { role: EnumRoles.CreditAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralAgent, right: EnumFieldRights.Hide }, { role: EnumRoles.ReferralManager, right: EnumFieldRights.Hide }] },\r\n fields: []\r\n }\r\n] as IScreenProps[];","import { EnumScreens } from '../models/enums';\r\nimport { INavMenu } from '../models/interfaces/shared';\r\nimport { ClientRoutesConstants } from '../shared/constants';\r\n\r\nexport const menus: INavMenu[] = [\r\n {\r\n id: 'menu-dashboard',\r\n screenId: EnumScreens.Dashboard,\r\n text: 'Dashboard',\r\n url: ClientRoutesConstants.dashboard,\r\n iconClass: 'fa fa-tachometer',\r\n tooltip: 'Dashboard'\r\n },\r\n {\r\n id: 'menu-customer',\r\n text: 'Clients',\r\n iconClass: 'fa fa-address-book-o',\r\n tooltip: 'Clients',\r\n opened: false,\r\n url: ClientRoutesConstants.customers,\r\n submenus: [{\r\n id: 'menu-cust-list',\r\n screenId: EnumScreens.CustomerList,\r\n text: 'List',\r\n url: ClientRoutesConstants.customers,\r\n tooltip: 'Clients'\r\n },\r\n {\r\n id: 'menu-add-customer',\r\n screenId: EnumScreens.AddCustomer,\r\n text: 'Add Client',\r\n url: ClientRoutesConstants.customersAdd,\r\n tooltip: 'Add Client'\r\n }]\r\n },\r\n {\r\n id: 'menu-leads',\r\n text: 'Leads',\r\n iconClass: 'fa fa-group',\r\n tooltip: 'Leads',\r\n opened: false,\r\n url: ClientRoutesConstants.leads,\r\n submenus: [\r\n {\r\n id: 'menu-add-lead',\r\n screenId: EnumScreens.AddLead,\r\n text: 'List',\r\n url: ClientRoutesConstants.leads,\r\n tooltip: 'Leads'\r\n },\r\n {\r\n id: 'menu-leads',\r\n screenId: EnumScreens.ViewLeads,\r\n text: 'Add Lead',\r\n url: ClientRoutesConstants.leadAdd,\r\n tooltip: 'Add Lead'\r\n }]\r\n },\r\n {\r\n id: 'menu-importer',\r\n text: 'Credit Reports',\r\n iconClass: 'fa fa-exchange rotate-90',\r\n tooltip: 'Credit Reports',\r\n opened: false,\r\n url: ClientRoutesConstants.reportImporter?.replace(/\\/:type\\?/g, '')?.replace(/\\/:cid\\?/g, ''),\r\n submenus: [{\r\n id: 'menu-add-importer',\r\n screenId: EnumScreens.ReportImporter,\r\n text: 'Importer',\r\n url: ClientRoutesConstants.reportImporter?.replace(/\\/:type\\?/g, '')?.replace(/\\/:cid\\?/g, ''),\r\n tooltip: 'Open Importer'\r\n }]\r\n },\r\n {\r\n id: 'men-fran-ofc',\r\n text: 'Company Offices',\r\n iconClass: 'fa fa-building',\r\n tooltip: ' Company Offices',\r\n opened: false,\r\n url: ClientRoutesConstants.franchiseOffices,\r\n submenus: [\r\n {\r\n id: 'menu-fr-view',\r\n screenId: EnumScreens.ViewFranchiseOffices,\r\n text: 'List',\r\n url: ClientRoutesConstants.franchiseOffices,\r\n tooltip: 'View Company Offices'\r\n },\r\n {\r\n id: 'menu-fr-ofc-add',\r\n screenId: EnumScreens.AddFranchiseOffice,\r\n text: 'Add Company Office',\r\n url: ClientRoutesConstants.addFranchiseOffice,\r\n tooltip: 'Add Company Office'\r\n }\r\n ]\r\n },\r\n {\r\n id: 'menu-fr-agts',\r\n text: 'Company Agents',\r\n iconClass: 'fa fa-user-secret',\r\n tooltip: 'Company Agents',\r\n opened: false,\r\n url: ClientRoutesConstants.franchiseAgents,\r\n submenus: [\r\n {\r\n id: 'menu-fr-ag-view',\r\n screenId: EnumScreens.ViewFranchiseAgents,\r\n text: 'List',\r\n url: ClientRoutesConstants.franchiseAgents,\r\n tooltip: 'View Company Agents'\r\n }, {\r\n id: 'menu-fr-add-ag',\r\n screenId: EnumScreens.AddFranchiseAgent,\r\n text: 'Add Company Agent',\r\n url: ClientRoutesConstants.addFranchiseAgent,\r\n tooltip: 'Add Company Agent'\r\n }]\r\n },\r\n {\r\n id: 'menu-ref-office',\r\n text: 'Affiliate Offices',\r\n iconClass: 'fa fa-building',\r\n tooltip: 'Affiliate Offices',\r\n opened: false,\r\n url: ClientRoutesConstants.referralOffices,\r\n submenus: [\r\n {\r\n id: 'menu-ref-ofc',\r\n screenId: EnumScreens.ViewReferralOffices,\r\n text: 'List',\r\n url: ClientRoutesConstants.referralOffices,\r\n tooltip: 'View Affiliate Offices'\r\n },\r\n {\r\n id: 'menu-add-ref-ofc',\r\n screenId: EnumScreens.AddReferralOffice,\r\n text: 'Add Affiliate Office',\r\n url: ClientRoutesConstants.addReferralOffice,\r\n tooltip: 'Add Affiliate Office'\r\n }]\r\n },\r\n {\r\n id: 'menu-ref-ag',\r\n text: 'Affiliate Agents',\r\n iconClass: 'fa fa-handshake-o',\r\n tooltip: 'Affiliate Agents',\r\n opened: false,\r\n url: ClientRoutesConstants.referralAgents,\r\n submenus: [\r\n {\r\n id: 'menu-ref-ag-view',\r\n screenId: EnumScreens.ViewReferralAgents,\r\n text: 'List',\r\n url: ClientRoutesConstants.referralAgents,\r\n tooltip: 'View Affiliate Agents'\r\n }, {\r\n id: 'menu-ref-add-ag',\r\n screenId: EnumScreens.AddReferralAgent,\r\n text: 'Add Affiliate Agent',\r\n url: ClientRoutesConstants.addReferralAgent,\r\n tooltip: 'Add Affiliate Agent'\r\n }]\r\n },\r\n {\r\n id: 'menu-email',\r\n text: 'Letter Templates',\r\n iconClass: 'fa fa-envelope',\r\n tooltip: 'Letter Templates',\r\n opened: false,\r\n url: ClientRoutesConstants.emailTemplates,\r\n submenus: [{\r\n id: 'menu-emil-emples',\r\n screenId: EnumScreens.LetterTemplates,\r\n text: 'List',\r\n url: ClientRoutesConstants.emailTemplates,\r\n tooltip: 'View/Add Letter Templates'\r\n }]\r\n },\r\n {\r\n id: 'menu-master-data',\r\n text: 'Master Data',\r\n iconClass: 'fa fa-database',\r\n tooltip: 'Master Data',\r\n opened: false,\r\n url: ClientRoutesConstants.masterData,\r\n submenus: [{\r\n id: 'menu-master-data-create',\r\n screenId: EnumScreens.MasterData,\r\n text: 'Create/View',\r\n url: ClientRoutesConstants.masterData,\r\n tooltip: 'Create/Update Master Data'\r\n }]\r\n },\r\n {\r\n id: 'menu-agents-todo',\r\n text: 'My Tasks',\r\n iconClass: 'pe-7s-note2',\r\n tooltip: 'My Tasks',\r\n opened: false,\r\n url: ClientRoutesConstants.myTasksAgents,\r\n submenus: [{\r\n id: 'menu-todo-tasks-create',\r\n screenId: EnumScreens.MyTasksAgents,\r\n text: 'List',\r\n url: ClientRoutesConstants.myTasksAgents,\r\n tooltip: 'Create/Update Tasks'\r\n }]\r\n },\r\n {\r\n id: 'menu-referral-agents-todo',\r\n text: 'My Tasks',\r\n iconClass: 'pe-7s-note2',\r\n tooltip: 'My Tasks',\r\n opened: false,\r\n url: ClientRoutesConstants.myTasksReferralAgents,\r\n submenus: [{\r\n id: 'menu-todo-tasks-create',\r\n screenId: EnumScreens.MyTasksReferralAgents,\r\n text: 'List',\r\n url: ClientRoutesConstants.myTasksReferralAgents,\r\n tooltip: 'Create/Update Tasks'\r\n }]\r\n }\r\n];","import jwt_decode from \"jwt-decode\";\r\nimport memoizeOne from 'memoize-one';\r\n\r\nimport { EnumFieldRights, EnumRoles, EnumScreens } from \"../../models/enums\";\r\nimport { IJwtPayload, ILocalStorage, INavMenu, IScreenProps } from '../../models/interfaces/shared';\r\nimport { RoleMappings } from \"../../screens/admin/user-access/role-fields-mapping\";\r\nimport { Constants } from '../../shared/constants';\r\nimport { UrlUtils } from '../../utils/http-url.util';\r\nimport { menus } from \"../../utils/nav-menu-util\";\r\n\r\nexport default class AuthService {\r\n static cachedRole = '';\r\n static inMemorySesssion = null as ILocalStorage | null;\r\n static get key(): string {\r\n return Constants.authSessionKey;\r\n }\r\n static get partnerKey(): string {\r\n return UrlUtils.getPartnerKey();\r\n }\r\n static get partnerKeyInvalid(): boolean {\r\n return UrlUtils.isPartnerKeyInvalid();\r\n }\r\n static setLogin(data: ILocalStorage) {\r\n let oldKeys: any = localStorage.getItem(this.key)\r\n oldKeys = oldKeys ? JSON.parse(oldKeys) : {};\r\n const json = JSON.stringify(\r\n {\r\n ...oldKeys,\r\n [this.partnerKey]: data\r\n }\r\n );\r\n localStorage.setItem(this.key, json);\r\n }\r\n static setLoginInMemory(data: ILocalStorage) {\r\n this.inMemorySesssion = data;\r\n }\r\n static setLogout() {\r\n let oldKeys: any = localStorage.getItem(this.key)\r\n oldKeys = oldKeys ? JSON.parse(oldKeys) : {};\r\n let json = { ...oldKeys };\r\n delete json[this.partnerKey];\r\n localStorage.setItem(this.key, JSON.stringify(json));\r\n this.cachedRole = '';\r\n this.inMemorySesssion = null;\r\n }\r\n static getSession(): ILocalStorage | null {\r\n try {\r\n const session = localStorage.getItem(this.key)\r\n if (session) {\r\n const s = JSON.parse(session);\r\n return s ? (s[this.partnerKey]) as ILocalStorage : null;\r\n }\r\n return null;\r\n }\r\n catch (e) {\r\n return null;\r\n }\r\n }\r\n static isLoggedIn(): boolean {\r\n const session = this.getSession();\r\n return !!(session && session.access_token && session.refresh_token);\r\n }\r\n static getCurrentJWTPayload(): IJwtPayload {\r\n const session = this.getSession();\r\n const payload = session?.access_token ? jwt_decode(session.access_token) : {};\r\n return payload as IJwtPayload;\r\n }\r\n static currentRole(): EnumRoles {\r\n if (this.cachedRole) {\r\n return (this.cachedRole as EnumRoles);\r\n }\r\n const role = this.getCurrentJWTPayload()?.roles;\r\n this.cachedRole = role;\r\n return role;\r\n }\r\n static getJWTPayload(token: string): any {\r\n return jwt_decode(token);\r\n }\r\n static getDefaultAccessRules(): IScreenProps[] {\r\n return RoleMappings;\r\n }\r\n static isFieldHidden = memoizeOne((rules: IScreenProps | null, fieldName: string) => {\r\n const role = AuthService.currentRole();\r\n const roleEntry = rules?.fields?.find(x => x?.name?.trim() === fieldName?.trim())?.rules?.find(x => x.role === role);\r\n return !!roleEntry && roleEntry?.right === EnumFieldRights.Hide;\r\n });\r\n static isFieldReadOnly = memoizeOne((rules: IScreenProps | null, fieldName: string): boolean => {\r\n const role = AuthService.currentRole();\r\n const roleEntry = rules?.fields?.find(x => x?.name?.trim() === fieldName?.trim())?.rules?.find(x => x.role === role);\r\n return !!roleEntry && roleEntry?.right === EnumFieldRights.ReadOnly;\r\n })\r\n static isScreenHidden = memoizeOne((rules: IScreenProps): boolean => {\r\n const role = AuthService.currentRole();\r\n const roleEntry = rules?.screen?.rules?.find(x => x.role === role);\r\n return !!roleEntry && roleEntry?.right === EnumFieldRights.Hide;\r\n })\r\n static getAllAccessibleScreens(remoteRules: IScreenProps[]): string[] {\r\n let screens = [] as string[];\r\n const currRole = this.currentRole();\r\n screens = remoteRules?.filter((x: IScreenProps) => !x?.screen?.rules?.some(s => s?.role === currRole && s?.right === EnumFieldRights?.Hide))\r\n ?.map(x => x?.screen?.name);\r\n return screens;\r\n }\r\n static getLeftMenuOptions(availableScreenIds: string[]): INavMenu[] {\r\n let options = [] as INavMenu[];\r\n const role = this.currentRole();\r\n menus.forEach((menu: INavMenu) => {\r\n if (menu?.submenus?.length) {\r\n const availSubMenus = menu?.submenus?.filter(x => (x?.screenId && availableScreenIds?.includes(x?.screenId)));\r\n if (availSubMenus?.length) {\r\n options.push({\r\n ...menu,\r\n submenus: availSubMenus\r\n })\r\n }\r\n } else {\r\n if (menu?.screenId && availableScreenIds?.includes(menu?.screenId)) {\r\n options.push({ ...menu });\r\n }\r\n }\r\n });\r\n if (role === EnumRoles.Customer) {\r\n options = options?.filter(x => x.id !== 'menu-customer');\r\n }\r\n if (role === EnumRoles.Administrator) {\r\n options = options?.filter(x => x.id != 'menu-referral-agents-todo');\r\n }\r\n return options;\r\n }\r\n static getScreenOject(mappings: IScreenProps[], screen: EnumScreens): IScreenProps | null {\r\n return mappings?.find(x => x?.screen?.name === screen) || null;\r\n }\r\n static RedirectToRemoteLoginWindow() {\r\n const tenant = this.getCurrentJWTPayload()?.tenant;\r\n window.opener.location.href = `${window.location.origin}/${tenant}/`;\r\n window.close();\r\n }\r\n}","export const CustomerActionTypes = {\r\n SET_STATUSES: 'SET_STATUSES',\r\n SET_API_ACTIVE: 'SET_API_ACTIVE',\r\n SET_STATES: 'SET_STATES',\r\n SET_PARTNER_KEY: 'SET_PARTNER_KEY',\r\n SET_S3_FILES: 'SET_S3_FILES',\r\n SET_ADMIN_SETTINGS: 'SET_ADMIN_SETTINGS',\r\n SET_AGENTS: 'SET_AGENTS',\r\n SET_DISPUTE_STATS: 'SET_DISPUTE_STATS',\r\n SET_DISPUTE_STATS_LOADING: 'SET_DISPUTE_STATS_LOADING',\r\n SET_FETCH_REPORT_DATE: 'SET_FETCH_REPORT_DATE',\r\n SET_IS_LOADING_FETCH_REPORT: 'SET_IS_LOADING_FETCH_REPORT',\r\n};","import produce from \"immer\";\r\nimport { isMobile } from 'react-device-detect';\r\n\r\nimport { AuthActionTypes } from \"../actions/auth.action-types\";\r\nimport { IPayLoad, ISharedState } from \"../models/interfaces/shared\";\r\nimport { SharedActionTypes } from \"./actions/action-types\";\r\n\r\nconst initialState = {\r\n logoChangedKey: 1,\r\n todos: [],\r\n toggleToDo: false,\r\n passwordNotStrong: false,\r\n leftMenuOpened: !isMobile\r\n};\r\n\r\nexport function SharedReducer(state = initialState, action: IPayLoad): any {\r\n return produce(state, (draft: ISharedState) => {\r\n switch (action.type) {\r\n case SharedActionTypes.SET_AUTH_RULES:\r\n draft.AuthRules = action.payload;\r\n break;\r\n case SharedActionTypes.SET_ACCESSIBLE_SCREENS:\r\n draft.currentAccessibleScreens = action.payload;\r\n break;\r\n case SharedActionTypes.SHOW_INNER_SPINNER:\r\n draft.isLoaderShownInner = action.payload?.loading;\r\n draft.loaderInnerMessage = action.payload?.message;\r\n break;\r\n case SharedActionTypes.LOGO_CHANGED:\r\n draft.logoChangedKey = (draft.logoChangedKey || 1) + 1;\r\n break;\r\n case SharedActionTypes.USER_TODOS:\r\n draft.todos = action.payload;\r\n break;\r\n case SharedActionTypes.TOGGLE_TODOS:\r\n draft.toggleToDo = !draft.toggleToDo;\r\n break;\r\n case SharedActionTypes.HIDE_TODOS:\r\n draft.toggleToDo = false;\r\n break;\r\n case SharedActionTypes.PASSWORD_NOT_STRONG:\r\n draft.passwordNotStrong = action.payload;\r\n break;\r\n case SharedActionTypes.LEFT_MENU_OPEN:\r\n draft.leftMenuOpened = action.payload;\r\n break;\r\n case AuthActionTypes.SET_LOGOUT:\r\n return initialState;\r\n case SharedActionTypes.NAVIGATE_TODOS_TAB:\r\n draft.navigateToToDos = action.payload;\r\n }\r\n })\r\n};\r\n","export const AuthInitialState = {\r\n auth: {\r\n access_token: '',\r\n refresh_token: '',\r\n isLoggedIn: false,\r\n loggedInUserDetails: null,\r\n token_type: '',\r\n expires_in: 0,\r\n isGettingPublicToken: false,\r\n isLocked: false,\r\n lockedMessage: ''\r\n }\r\n};","import { ICustomersState } from '../models/interfaces/customer-view';\r\n\r\nexport const CustomersListInitialState: ICustomersState = {\r\n statuses: [],\r\n apiActive: false,\r\n states: [],\r\n hasPartneryKey: false,\r\n s3Files: [],\r\n adminSettings: null,\r\n disputeStats: [],\r\n disputeStatsLoading: false\r\n};","export const DashboardInitialState = {\r\n customerCounts: {\r\n customersTotal: '',\r\n customersToday: '',\r\n customersThisWeek: '',\r\n customersQueue: ''\r\n },\r\n referrals: {\r\n referralOfficesTotal: '',\r\n referralOfficesToday: '',\r\n referralOfficesThisWeek: '',\r\n referralAgentsTotal: '',\r\n referralAgentsToday: '',\r\n referralAgentsThisWeek: ''\r\n },\r\n franchises: {\r\n franchiseOfficesTotal: '',\r\n franchiseAgentsTotal: '',\r\n franchiseAgentsToday: '',\r\n franchiseAgentsThisWeek: ''\r\n },\r\n dashboardRoles: {\r\n 'administrator': '',\r\n 'credit Agent': '',\r\n 'customer': '',\r\n 'referral Agent': '',\r\n 'referral Manager': ''\r\n },\r\n customerLetters: []\r\n};","import { ICreateLetterInitialState, ICreateLetterSource, ISelectedAccounts } from '../models/interfaces/create-letter';\r\n\r\nexport const CreateLetterInitialState: ICreateLetterInitialState = {\r\n letterSource: { sources: [], isShowMore: true } as ICreateLetterSource,\r\n letterOptions: [],\r\n selectedAccounts: null,\r\n accounts: [],\r\n activeTab: 1,\r\n advanced: false,\r\n reloadTempLetter: false,\r\n reloadDisputeLetters: false,\r\n tempLetters: [],\r\n roundInfo: null\r\n};","import produce from \"immer\";\r\n\r\nimport { ICheckboxList, IPayLoad } from \"../models/interfaces/shared\";\r\nimport { CreateLetterInitialState } from \"./create-letter.initial-state\";\r\nimport { CreateLetterActionTypes } from './../actions/create-letter.action-types';\r\nimport { EnumBureausShorts, LetterSearchTypes } from \"../models/enums\";\r\nimport { Variables } from \"../shared/constants\";\r\nimport { ISelectedAccounts } from \"../models/interfaces/create-letter\";\r\nimport { CommonUtils } from \"../utils/common-utils\";\r\nimport { AuthActionTypes } from \"../actions/auth.action-types\";\r\nimport { CustomersListInitialState } from \"./customer-view.initial-state\";\r\nimport moment from \"moment\";\r\n\r\nexport function CreateLetterReducer(state = CreateLetterInitialState, action: IPayLoad): any {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case CreateLetterActionTypes.RESET_ACCOUNTS:\r\n resetAccounts(draft);\r\n break;\r\n case CreateLetterActionTypes.SET_AUTOSELECT_OPTIONS:\r\n resetFields(draft);\r\n draft.autoSelectOptions = action.payload;\r\n break;\r\n case CreateLetterActionTypes.SET_LETTER_SOURCE:\r\n draft.letterSource = action.payload;\r\n draft.advanced = false;\r\n resetFields(draft);\r\n break;\r\n case CreateLetterActionTypes.SET_LETTER_OPTIONS:\r\n draft.letterOptions = action.payload;\r\n break;\r\n case CreateLetterActionTypes.SET_SELECTED_ACCOUNTS: // acc list checkbox change\r\n draft.selectedAccounts = action.payload;\r\n break;\r\n case CreateLetterActionTypes.SET_LETTER_ACCOUNTS: // page load\r\n draft.accounts = action.payload;\r\n break;\r\n case CreateLetterActionTypes.SET_LAST_REPORT_DATE:\r\n draft.reportDate = action.payload;\r\n break;\r\n case CreateLetterActionTypes.SET_LETTER_TEMPLATE: // letter template search \r\n draft[action.payload.bureau as LetterSearchTypes] = action.payload?.value;\r\n if (draft.accounts?.length && action.payload?.value) {\r\n switch (action.payload.bureau) {\r\n case LetterSearchTypes.TransUnion:\r\n {\r\n let tus = draft?.accounts?.filter(x => x && x.tuAccountBureauId !== Variables.EMPTY_GUID)\r\n ?.map(x => ({\r\n [x.id]: [\r\n ...(draft?.selectedAccounts && draft?.selectedAccounts[x.id]\r\n ? draft.selectedAccounts[x.id]?.filter(m => m && m.text !== EnumBureausShorts.TU) : []),\r\n !isDisabled(x.tuOutcome) ? { value: x.tuAccountBureauId, text: EnumBureausShorts.TU, disabled: false, checked: true } : null]\r\n } as ISelectedAccounts));\r\n\r\n if (tus?.length) {\r\n tus.forEach((x) => {\r\n draft.selectedAccounts = {\r\n ...draft.selectedAccounts,\r\n ...x\r\n };\r\n });\r\n }\r\n }\r\n break;\r\n case LetterSearchTypes.Experian:\r\n {\r\n let exps = draft?.accounts?.filter(x => x && x.expAccountBureauId !== Variables.EMPTY_GUID)\r\n ?.map(x => ({\r\n [x.id]: [...(draft?.selectedAccounts && draft?.selectedAccounts[x.id]\r\n ? draft.selectedAccounts[x.id]?.filter(m => m && m.text !== EnumBureausShorts.EXP) : [])\r\n ,\r\n !isDisabled(x.expOutcome) ? { value: x.expAccountBureauId, text: EnumBureausShorts.EXP, disabled: false, checked: true } : null]\r\n } as ISelectedAccounts));\r\n\r\n if (exps?.length) {\r\n exps.forEach((x) => {\r\n draft.selectedAccounts = {\r\n ...draft.selectedAccounts,\r\n ...x\r\n };\r\n });\r\n }\r\n }\r\n break;\r\n case LetterSearchTypes.Equifax:\r\n {\r\n let eqfs = draft?.accounts?.filter(x => x && x.eqfAccountBureauId !== Variables.EMPTY_GUID)\r\n ?.map(x => ({\r\n [x.id]: [\r\n ...(draft?.selectedAccounts && draft?.selectedAccounts[x.id]\r\n ? draft.selectedAccounts[x.id]?.filter(m => m && m.text !== EnumBureausShorts.EQF) : []),\r\n !isDisabled(x.eqfOutcome) ? { value: x.eqfAccountBureauId, text: EnumBureausShorts.EQF, disabled: false, checked: true } : null]\r\n } as ISelectedAccounts));\r\n\r\n if (eqfs?.length) {\r\n eqfs.forEach((x) => {\r\n draft.selectedAccounts = {\r\n ...draft.selectedAccounts,\r\n ...x\r\n };\r\n });\r\n }\r\n }\r\n break;\r\n case LetterSearchTypes.CRA:\r\n {\r\n let availableAccs = draft?.accounts?.filter(x => x && x.eqfAccountBureauId !== Variables.EMPTY_GUID || x.expAccountBureauId !== Variables.EMPTY_GUID || x.tuAccountBureauId !== Variables.EMPTY_GUID);\r\n let buearus = {} as ISelectedAccounts;\r\n const isTU = !!draft.letterSource?.sources?.find(x => x === EnumBureausShorts.TU);\r\n const isEXP = !!draft.letterSource?.sources?.find(x => x === EnumBureausShorts.EXP);\r\n const isEQF = !!draft.letterSource?.sources?.find(x => x === EnumBureausShorts.EQF);\r\n availableAccs?.forEach(x => {\r\n if (x?.tuAccountBureauId !== Variables.EMPTY_GUID && isTU) {\r\n buearus = {\r\n ...buearus,\r\n [x.id]: [...(buearus[x.id] || []), !isDisabled(x.tuOutcome) ? { value: x?.tuAccountBureauId, text: EnumBureausShorts.TU, disabled: false, checked: true } : null]\r\n } as ISelectedAccounts;\r\n }\r\n if (x?.expAccountBureauId !== Variables.EMPTY_GUID && isEXP) {\r\n buearus = {\r\n ...buearus,\r\n [x.id]: [...(buearus[x.id] || []), !isDisabled(x.expOutcome) ? { value: x?.expAccountBureauId, text: EnumBureausShorts.EXP, disabled: false, checked: true } : null]\r\n } as ISelectedAccounts;\r\n }\r\n if (x?.eqfAccountBureauId !== Variables.EMPTY_GUID && isEQF) {\r\n buearus = {\r\n ...buearus,\r\n [x.id]: [...(buearus[x.id] || []), !isDisabled(x.eqfOutcome) ? { value: x?.eqfAccountBureauId, text: EnumBureausShorts.EQF, disabled: false, checked: true } : null]\r\n } as ISelectedAccounts;\r\n }\r\n });\r\n if (buearus) {\r\n draft.selectedAccounts = {\r\n ...draft.selectedAccounts,\r\n ...buearus\r\n };\r\n }\r\n }\r\n break;\r\n case LetterSearchTypes.Creditor:\r\n case LetterSearchTypes.BCC:\r\n case LetterSearchTypes.CC:\r\n {\r\n let accs = draft?.accounts?.filter(x => x && x.eqfAccountBureauId !== Variables.EMPTY_GUID || x.expAccountBureauId !== Variables.EMPTY_GUID || x.tuAccountBureauId !== Variables.EMPTY_GUID);\r\n let allbuearus = {} as ISelectedAccounts;\r\n accs?.forEach(x => {\r\n allbuearus = {\r\n ...allbuearus,\r\n [x.id]: [\r\n ...(draft?.selectedAccounts && draft?.selectedAccounts[x.id]\r\n ? draft.selectedAccounts[x.id]?.filter(m => m && m?.text !== mapBureauToShort(action.payload.bureau)) : []),\r\n {\r\n value: action.payload.bureau,\r\n text: (\r\n action.payload.bureau === LetterSearchTypes.Creditor\r\n ? EnumBureausShorts.CREDITOR\r\n : action.payload.bureau === LetterSearchTypes.BCC\r\n ? EnumBureausShorts.BCC : EnumBureausShorts.CC\r\n ),\r\n disabled: false, checked: true\r\n }]\r\n } as ISelectedAccounts;\r\n });\r\n if (allbuearus) {\r\n draft.selectedAccounts = {\r\n ...draft.selectedAccounts,\r\n ...allbuearus\r\n };\r\n }\r\n }\r\n break;\r\n }\r\n } else {\r\n if (draft.selectedAccounts) {\r\n let newData = draft.selectedAccounts;\r\n Object.getOwnPropertyNames(draft.selectedAccounts).forEach(key => {\r\n newData = {\r\n ...newData,\r\n [key]: draft.selectedAccounts && draft?.selectedAccounts[key]\r\n ? draft?.selectedAccounts[key].filter((x: ICheckboxList) => x?.text !== mapBureauToShort(action.payload.bureau))\r\n : []\r\n };\r\n });\r\n draft.selectedAccounts = newData;\r\n }\r\n }\r\n if (action.payload?.value) {\r\n draft.activeTab = 1;\r\n }\r\n break;\r\n case CreateLetterActionTypes.SET_LETTER_TEMPLATE_WITH_AUTOSELECT: // letter template search \r\n draft.accounts = action.payload?.accounts;\r\n draft[action.payload.bureau as LetterSearchTypes] = action.payload?.value;\r\n if (action.payload?.accounts?.length && action.payload?.value) {\r\n switch (action.payload.bureau) {\r\n case LetterSearchTypes.TransUnion:\r\n {\r\n let tus = draft?.accounts?.filter(x => x && x.tuAccountBureauId !== Variables.EMPTY_GUID)\r\n ?.map(x => ({\r\n [x.id]: [\r\n ...(draft?.selectedAccounts && draft?.selectedAccounts[x.id]\r\n ? draft.selectedAccounts[x.id]?.filter(m => m && m.text !== EnumBureausShorts.TU) : []),\r\n !isDisabled(x.tuOutcome) ? { value: x.tuAccountBureauId, text: EnumBureausShorts.TU, disabled: false, checked: !isNewNegativeAccount(x, draft.reportDate) } : null]\r\n } as ISelectedAccounts));\r\n\r\n if (tus?.length) {\r\n tus.forEach((x) => {\r\n draft.selectedAccounts = {\r\n ...draft.selectedAccounts,\r\n ...x\r\n };\r\n });\r\n }\r\n }\r\n break;\r\n case LetterSearchTypes.Experian:\r\n {\r\n let exps = draft?.accounts?.filter(x => x && x.expAccountBureauId !== Variables.EMPTY_GUID)\r\n ?.map(x => ({\r\n [x.id]: [...(draft?.selectedAccounts && draft?.selectedAccounts[x.id]\r\n ? draft.selectedAccounts[x.id]?.filter(m => m && m.text !== EnumBureausShorts.EXP) : [])\r\n ,\r\n !isDisabled(x.expOutcome) ? { value: x.expAccountBureauId, text: EnumBureausShorts.EXP, disabled: false, checked: !isNewNegativeAccount(x, draft.reportDate) } : null]\r\n } as ISelectedAccounts));\r\n\r\n if (exps?.length) {\r\n exps.forEach((x) => {\r\n draft.selectedAccounts = {\r\n ...draft.selectedAccounts,\r\n ...x\r\n };\r\n });\r\n }\r\n }\r\n break;\r\n case LetterSearchTypes.Equifax:\r\n {\r\n let eqfs = draft?.accounts?.filter(x => x && x.eqfAccountBureauId !== Variables.EMPTY_GUID)\r\n ?.map(x => ({\r\n [x.id]: [\r\n ...(draft?.selectedAccounts && draft?.selectedAccounts[x.id]\r\n ? draft.selectedAccounts[x.id]?.filter(m => m && m.text !== EnumBureausShorts.EQF) : []),\r\n !isDisabled(x.eqfOutcome) ? { value: x.eqfAccountBureauId, text: EnumBureausShorts.EQF, disabled: false, checked: !isNewNegativeAccount(x, draft.reportDate) } : null]\r\n } as ISelectedAccounts));\r\n\r\n if (eqfs?.length) {\r\n eqfs.forEach((x) => {\r\n draft.selectedAccounts = {\r\n ...draft.selectedAccounts,\r\n ...x\r\n };\r\n });\r\n }\r\n }\r\n break;\r\n case LetterSearchTypes.CRA:\r\n {\r\n let availableAccs = action.payload?.accounts?.filter((x: any) => x && x.eqfAccountBureauId !== Variables.EMPTY_GUID || x.expAccountBureauId !== Variables.EMPTY_GUID || x.tuAccountBureauId !== Variables.EMPTY_GUID);\r\n let buearus = {} as ISelectedAccounts;\r\n const isTU = !!draft.letterSource?.sources?.find(x => x === EnumBureausShorts.TU);\r\n const isEXP = !!draft.letterSource?.sources?.find(x => x === EnumBureausShorts.EXP);\r\n const isEQF = !!draft.letterSource?.sources?.find(x => x === EnumBureausShorts.EQF);\r\n availableAccs?.forEach((x: any) => {\r\n if (x?.tuAccountBureauId !== Variables.EMPTY_GUID && isTU) {\r\n buearus = {\r\n ...buearus,\r\n [x.id]: [...(buearus[x.id] || []), !isDisabled(x.tuOutcome) ? { value: x?.tuAccountBureauId, text: EnumBureausShorts.TU, disabled: false, checked: !isNewNegativeAccount(x, draft.reportDate) } : null]\r\n } as ISelectedAccounts;\r\n }\r\n if (x?.expAccountBureauId !== Variables.EMPTY_GUID && isEXP) {\r\n buearus = {\r\n ...buearus,\r\n [x.id]: [...(buearus[x.id] || []), !isDisabled(x.expOutcome) ? { value: x?.expAccountBureauId, text: EnumBureausShorts.EXP, disabled: false, checked: !isNewNegativeAccount(x, draft.reportDate) } : null]\r\n } as ISelectedAccounts;\r\n }\r\n if (x?.eqfAccountBureauId !== Variables.EMPTY_GUID && isEQF) {\r\n buearus = {\r\n ...buearus,\r\n [x.id]: [...(buearus[x.id] || []), !isDisabled(x.eqfOutcome) ? { value: x?.eqfAccountBureauId, text: EnumBureausShorts.EQF, disabled: false, checked: !isNewNegativeAccount(x, draft.reportDate) } : null]\r\n } as ISelectedAccounts;\r\n }\r\n });\r\n if (buearus) {\r\n draft.selectedAccounts = {\r\n ...draft.selectedAccounts,\r\n ...buearus\r\n };\r\n }\r\n }\r\n break;\r\n case LetterSearchTypes.Creditor:\r\n {\r\n let accs = action.payload?.accounts?.filter((x: any) => x && x.eqfAccountBureauId !== Variables.EMPTY_GUID || x.expAccountBureauId !== Variables.EMPTY_GUID || x.tuAccountBureauId !== Variables.EMPTY_GUID);\r\n let allbuearus = {} as ISelectedAccounts;\r\n accs?.forEach((x: any) => {\r\n allbuearus = {\r\n ...allbuearus,\r\n [x.id]: [\r\n ...(draft?.selectedAccounts && draft?.selectedAccounts[x.id]\r\n ? draft.selectedAccounts[x.id]?.filter(m => m && m?.text !== mapBureauToShort(action.payload.bureau)) : []),\r\n {\r\n value: action.payload.bureau,\r\n text: (\r\n action.payload.bureau === LetterSearchTypes.Creditor\r\n ? EnumBureausShorts.CREDITOR\r\n : action.payload.bureau === LetterSearchTypes.BCC\r\n ? EnumBureausShorts.BCC : EnumBureausShorts.CC\r\n ),\r\n disabled: false, checked: !isNewNegativeAccount(x, draft.reportDate)\r\n }]\r\n } as ISelectedAccounts;\r\n });\r\n if (allbuearus) {\r\n draft.selectedAccounts = {\r\n ...draft.selectedAccounts,\r\n ...allbuearus\r\n };\r\n }\r\n }\r\n break;\r\n }\r\n } else {\r\n if (draft.selectedAccounts) {\r\n let newData = draft.selectedAccounts;\r\n Object.getOwnPropertyNames(draft.selectedAccounts).forEach(key => {\r\n newData = {\r\n ...newData,\r\n [key]: draft.selectedAccounts && draft?.selectedAccounts[key]\r\n ? draft?.selectedAccounts[key].filter((x: ICheckboxList) => x?.text !== mapBureauToShort(action.payload.bureau))\r\n : []\r\n };\r\n });\r\n draft.selectedAccounts = newData;\r\n }\r\n }\r\n if (action.payload?.value) {\r\n draft.activeTab = 1;\r\n }\r\n break;\r\n case CreateLetterActionTypes.SET_LETTER_ADVANCED:\r\n resetFields(draft);\r\n draft.advanced = action.payload;\r\n break;\r\n case CreateLetterActionTypes.SET_LETTER_ACTIVETAB:\r\n draft.activeTab = action.payload;\r\n break;\r\n case CreateLetterActionTypes.SET_TEMP_LETTER_RELOAD:\r\n draft.advanced = false;\r\n draft.reloadTempLetter = action.payload;\r\n break;\r\n case CreateLetterActionTypes.SET_DISPUTE_LETTERS_RELOAD:\r\n draft.reloadDisputeLetters = action.payload;\r\n break;\r\n case CreateLetterActionTypes.SET_CUSTOMER_ROUND_INFO:\r\n draft.roundInfo = action.payload;\r\n break;\r\n case CreateLetterActionTypes.SET_TEMP_LETTERS:\r\n draft.tempLetters = action.payload;\r\n break;\r\n case CreateLetterActionTypes.SET_LETTERS_CREATED:\r\n draft.lettersCreated = action.payload;\r\n break;\r\n case AuthActionTypes.SET_LOGOUT:\r\n return CustomersListInitialState;\r\n default:\r\n break;\r\n }\r\n })\r\n}\r\nfunction isDisabled(outcome?: string) {\r\n const isAvailable = CommonUtils.isAvailableToSelect(outcome);\r\n if (!isAvailable) return true;\r\n return false;\r\n}\r\nfunction resetFields(draft: any) {\r\n draft.selectedAccounts = null;\r\n draft[LetterSearchTypes.CRA] = null;\r\n draft[LetterSearchTypes.TransUnion] = null;\r\n draft[LetterSearchTypes.Experian] = null;\r\n draft[LetterSearchTypes.Equifax] = null;\r\n draft[LetterSearchTypes.Creditor] = null;\r\n draft[LetterSearchTypes.CC] = null;\r\n draft[LetterSearchTypes.BCC] = null;\r\n}\r\nfunction resetAccounts(draft: any) {\r\n draft.accounts = null;\r\n}\r\nfunction mapBureauToShort(search: LetterSearchTypes): EnumBureausShorts {\r\n switch (search) {\r\n case LetterSearchTypes.TransUnion:\r\n return EnumBureausShorts.TU;\r\n case LetterSearchTypes.Experian:\r\n return EnumBureausShorts.EXP;\r\n case LetterSearchTypes.Equifax:\r\n return EnumBureausShorts.EQF;\r\n case LetterSearchTypes.Creditor:\r\n return EnumBureausShorts.CREDITOR;\r\n case LetterSearchTypes.BCC:\r\n return EnumBureausShorts.BCC;\r\n case LetterSearchTypes.CC:\r\n return EnumBureausShorts.CC;\r\n case LetterSearchTypes.CRA:\r\n return EnumBureausShorts.CRA;\r\n }\r\n return EnumBureausShorts.CRA;\r\n}\r\nfunction isNewNegativeAccount(account: any, reportImportedDate?: string) {\r\n if (reportImportedDate) {\r\n if (CommonUtils.isNegativeAccount(account) === true && (account?.isInsertedEQF || account?.isInsertedEXP || account?.isInsertedTU) && moment(reportImportedDate).format('MM/DD/YYYY h:mm a') <= moment(account?.dateEntered).format('MM/DD/YYYY h:mm a'))\r\n return true;\r\n else\r\n return false;\r\n } else {\r\n return false;\r\n }\r\n}","export const FastEditstate = {\r\n data: null,\r\n}","export const FastEditActionTypes = {\r\n SET_DATA: 'SET_DATA'\r\n}","export const ImportReportInitialState = {\r\n deletedAccounts: 0,\r\n deletedCreditInquiries: 0,\r\n newNegativeAccounts: 0,\r\n newPositiveAccounts: 0,\r\n newCreditInquiries: 0,\r\n updatedAccounts: 0,\r\n};","import { ConfigurationsModel } from \"../models/interfaces/config\";\r\n\r\nexport const ConfigInitialState: ConfigurationsModel = {\r\n configurations: {}\r\n};","import { combineReducers } from \"redux\";\r\n\r\nimport { SharedReducer } from \"../shared/shared-reducer\";\r\nimport { AuthReducer } from \"./auth.reducer\";\r\nimport { CustomerViewReducer } from \"./customer-view.reducer\";\r\nimport { DashboardReducer } from \"./dashboard.reducer\";\r\nimport { CreateLetterReducer } from \"./create-letter.reducer\";\r\nimport { FastEditReducer } from \"./fast-edit-accounts.reducer\";\r\nimport { ImportReportReducer } from \"./import-report.reducer\";\r\nimport { ConfigReducer } from \"./config.reducer\";\r\n\r\n\r\nexport const combinedReducer = combineReducers({\r\n authModel: AuthReducer,\r\n configModel: ConfigReducer,\r\n dashboardModel: DashboardReducer,\r\n customerViewModel: CustomerViewReducer,\r\n createLetterModel: CreateLetterReducer,\r\n fastEditModel: FastEditReducer,\r\n sharedModel: SharedReducer,\r\n importReportModel: ImportReportReducer\r\n});","import produce from \"immer\";\r\n\r\nimport { IPayLoad } from \"../models/interfaces/shared\";\r\nimport { AuthInitialState } from './auth.intialState';\r\nimport { AuthActionTypes } from '../actions/auth.action-types';\r\n\r\nexport const AuthReducer = (state = AuthInitialState, action: IPayLoad): any => {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case AuthActionTypes.CHECK_LOGIN_SUCCESS:\r\n draft.auth = {\r\n isLoggedIn: true,\r\n loggedInUserDetails: null,\r\n access_token: action.payload.access_token,\r\n refresh_token: action.payload.refresh_token,\r\n expires_in: action.payload.expires_in,\r\n token_type: action.payload.token_type,\r\n isGettingPublicToken: false, \r\n isLocked: false,\r\n lockedMessage: ''\r\n };\r\n break;\r\n case AuthActionTypes.CHECK_LOGIN_FAILURE:\r\n draft.auth = {\r\n isLoggedIn: false,\r\n loggedInUserDetails: null,\r\n access_token: '',\r\n refresh_token: '',\r\n expires_in: 0,\r\n token_type: '',\r\n isGettingPublicToken: false,\r\n isLocked: false,\r\n lockedMessage: ''\r\n };\r\n break;\r\n case AuthActionTypes.SET_LOGOUT:\r\n return AuthInitialState;\r\n case AuthActionTypes.SET_LOGGED_IN_DETAILS:\r\n draft.auth.loggedInUserDetails = action.payload;\r\n break;\r\n case AuthActionTypes.SET_GETTING_GUEST_TOKEN:\r\n draft.auth.isGettingPublicToken = action.payload;\r\n break;\r\n case AuthActionTypes.PORTAL_LOCKED:\r\n draft.auth.isLocked = action.payload?.isLocked;\r\n draft.auth.lockedMessage = action.payload?.lockedMessage;\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n}","import produce from \"immer\";\r\n\r\nimport { AuthActionTypes } from \"../actions/auth.action-types\";\r\nimport { ConfigActionTypes } from \"../actions/config.action-types\";\r\nimport { IPayLoad } from \"../models/interfaces/shared\";\r\nimport { ConfigInitialState } from \"./config.initialState\";\r\n\r\n\r\nexport const ConfigReducer = (state = ConfigInitialState, action: IPayLoad): any => {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case ConfigActionTypes.SET_CONFIGURATIONS: {\r\n draft.configurations = action.payload?.configurations;\r\n break;\r\n }\r\n case ConfigActionTypes.REMOVE_CONFIGURATIONS:\r\n case AuthActionTypes.SET_LOGOUT:\r\n return ConfigInitialState;\r\n default:\r\n break;\r\n }\r\n });\r\n}","import produce from \"immer\";\r\n\r\nimport { IPayLoad } from \"../models/interfaces/shared\";\r\nimport { DashboardActionTypes } from '../actions/dashboard.action-types';\r\nimport { DashboardInitialState } from './dashboard.initial-state';\r\nimport { AuthActionTypes } from \"../actions/auth.action-types\";\r\n\r\nexport const DashboardReducer = (state = DashboardInitialState, action: IPayLoad): any => {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case DashboardActionTypes.SET_CUSTOMER_COUNTS:\r\n draft.customerCounts = action.payload;\r\n break;\r\n case DashboardActionTypes.SET_LETTER_COUNTS:\r\n draft.customerLetters = action.payload;\r\n break;\r\n case DashboardActionTypes.SET_ROLE_COUNTS:\r\n draft.dashboardRoles = action.payload;\r\n break;\r\n case DashboardActionTypes.SET_REFERRAL_COUNTS:\r\n draft.referrals = action.payload;\r\n break;\r\n case DashboardActionTypes.SET_FRANCHISE_COUNTS:\r\n draft.franchises = action.payload;\r\n break;\r\n case AuthActionTypes.SET_LOGOUT:\r\n return DashboardInitialState;\r\n default:\r\n break;\r\n }\r\n });\r\n}","import produce from \"immer\";\r\n\r\nimport { IPayLoad } from \"../models/interfaces/shared\";\r\nimport { CustomersListInitialState } from './customer-view.initial-state';\r\nimport { CustomerActionTypes } from '../actions/customers.action-types';\r\nimport { AuthActionTypes } from \"../actions/auth.action-types\";\r\n\r\nexport function CustomerViewReducer(state = CustomersListInitialState, action: IPayLoad): any {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case CustomerActionTypes.SET_STATUSES:\r\n draft.statuses = action.payload;\r\n break;\r\n case CustomerActionTypes.SET_API_ACTIVE:\r\n draft.apiActive = action.payload;\r\n break;\r\n case CustomerActionTypes.SET_STATES:\r\n draft.states = action.payload;\r\n break;\r\n case CustomerActionTypes.SET_PARTNER_KEY:\r\n draft.hasPartneryKey = action.payload;\r\n break;\r\n case CustomerActionTypes.SET_S3_FILES:\r\n draft.s3Files = action.payload;\r\n break;\r\n case CustomerActionTypes.SET_ADMIN_SETTINGS:\r\n draft.adminSettings = action.payload;\r\n break;\r\n\r\n case CustomerActionTypes.SET_DISPUTE_STATS:\r\n draft.disputeStats = action.payload;\r\n break;\r\n case CustomerActionTypes.SET_DISPUTE_STATS_LOADING:\r\n draft.disputeStatsLoading = action.payload;\r\n break;\r\n case CustomerActionTypes.SET_FETCH_REPORT_DATE:\r\n draft.getFetchReportDate = action.payload;\r\n break;\r\n case CustomerActionTypes.SET_IS_LOADING_FETCH_REPORT:\r\n draft.setIsLoadingFetchReport = action.payload;\r\n break;\r\n case AuthActionTypes.SET_LOGOUT:\r\n return CustomersListInitialState;\r\n default:\r\n break;\r\n }\r\n })\r\n}","import produce from \"immer\";\r\nimport { IPayLoad } from \"../models/interfaces/shared\";\r\nimport { FastEditstate } from './fast-edit.initial-state';\r\nimport { FastEditActionTypes } from '../actions/fast-edit.action-types';\r\nimport { AuthActionTypes } from \"../actions/auth.action-types\";\r\n\r\nexport function FastEditReducer(state = FastEditstate, action: IPayLoad): any {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case FastEditActionTypes.SET_DATA:\r\n draft.data = action.payload;\r\n break;\r\n case AuthActionTypes.SET_LOGOUT:\r\n return FastEditstate;\r\n default: {\r\n break;\r\n }\r\n }\r\n })\r\n}","import produce from \"immer\";\r\n\r\nimport { IPayLoad } from \"../models/interfaces/shared\";\r\nimport { AuthActionTypes } from \"../actions/auth.action-types\";\r\nimport { ImportReportInitialState } from \"./import-report.initial-state\";\r\nimport { ImporterActionTypes } from \"../actions/importer.action-types\";\r\n\r\nexport const ImportReportReducer = (state = ImportReportInitialState, action: IPayLoad): any => {\r\n return produce(state, (draft) => {\r\n switch (action.type) {\r\n case ImporterActionTypes.SET_DELETED_ACCOUNTS_COUNTS:\r\n draft.deletedAccounts = action.payload;\r\n break;\r\n case ImporterActionTypes.SET_DELETED_INQUIRIES_COUNTS:\r\n draft.deletedCreditInquiries = action.payload;\r\n break;\r\n case ImporterActionTypes.SET_NEW_INQUIRIES_COUNTS:\r\n draft.newCreditInquiries = action.payload;\r\n break;\r\n case ImporterActionTypes.SET_NEW_NEGATIVE_ACCOUNTS_COUNTS:\r\n draft.newNegativeAccounts = action.payload;\r\n break;\r\n case ImporterActionTypes.SET_NEW_POSITIVE_ACCOUNTS_COUNTS:\r\n draft.newPositiveAccounts = action.payload;\r\n break;\r\n case ImporterActionTypes.SET_UPDATED_ACCOUNTS_COUNTS:\r\n draft.updatedAccounts = action.payload;\r\n break;\r\n default:\r\n break;\r\n }\r\n });\r\n}","import { createStore, applyMiddleware } from 'redux';\r\nimport thunk from 'redux-thunk';\r\n\r\nimport { combinedReducer } from '../reducers';\r\n\r\n\r\nexport const store = createStore(combinedReducer, applyMiddleware(thunk));","import React from 'react';\r\n\r\nexport const NotFoundComponent: React.FC = () => {\r\n return (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

404

\r\n

Page\r\n
\r\n Not Found\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Sorry, but the page you are looking for has note been found. Try checking the URL for error, then hit the\r\n refresh button on your browser or try found something else in our app.

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};","import React from 'react';\r\n\r\nexport const FooterComponent = (props: any) => {\r\n return (\r\n
\r\n Copyright © 2019-2024 AccountProgress.com All rights reserved.\r\n
\r\n );\r\n};","import React, { useEffect, useRef, useState } from \"react\";\r\n\r\nexport const MenuComponent = (props: any) => {\r\n const wrapperRef: any = useRef();\r\n\r\n const [open, setOpen] = useState(false);\r\n const { containerCssClass, iconComponent, subComponents } = props;\r\n\r\n const handleClickOutside = (event: any) => {\r\n if (wrapperRef.current && !wrapperRef.current.contains(event.target)) {\r\n setOpen(false);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n document.addEventListener('click', handleClickOutside, true);\r\n return () => {\r\n document.removeEventListener('click', handleClickOutside, true);\r\n };\r\n }, []);\r\n return (\r\n <>\r\n
  • \r\n {\r\n e.preventDefault();\r\n setOpen(!open);\r\n }}>\r\n {iconComponent}\r\n \r\n\r\n
    \r\n
    \r\n {subComponents}\r\n
    \r\n
    \r\n
  • \r\n \r\n );\r\n\r\n};","import classnames from 'classnames';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Link } from 'react-router-dom';\r\nimport { AutoCompleteSearchTypes } from '../../models/enums';\r\n\r\nimport { ICustomerShort, ICustomersState } from '../../models/interfaces/customer-view';\r\nimport { INavMenu } from '../../models/interfaces/shared';\r\nimport { CommonUtils } from '../../utils/common-utils';\r\nimport { ClientRoutesConstants } from '../constants';\r\nimport { SearchCustomersComponent } from './search-customers';\r\n\r\nconst mapStateToProps = (state: any) => {\r\n return {\r\n currentAccessibleScreens: state?.sharedModel?.currentAccessibleScreens\r\n };\r\n}\r\nexport const GlobalCustomerSearch = connect(mapStateToProps)((props: { onClose: any, currentAccessibleScreens: string[], autoFocus?: boolean, selected?: ICustomerShort }) => {\r\n\r\n const [selected, setSelected] = useState(null as ICustomerShort | null);\r\n const [menus, setMenus] = useState([] as INavMenu[]);\r\n useEffect(() => {\r\n onSelectedData(props?.selected);\r\n }, [props?.selected]);\r\n\r\n const onSelectedData = (data?: ICustomerShort) => {\r\n setSelected(data ?? null);\r\n if (data?.isLead) {\r\n setMenus(CommonUtils.LeadsMenus(data?.id ?? '', null, props?.currentAccessibleScreens));\r\n } else if(data?.isReferralAgent){\r\n setMenus(CommonUtils.ReferralAgentsMenus(data?.id ?? '', null, props?.currentAccessibleScreens));\r\n }\r\n else {\r\n setMenus(CommonUtils.CustomersMenus(data?.id ?? '', null, props?.currentAccessibleScreens));\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n \r\n {!!selected &&\r\n
    \r\n
    \r\n
    \r\n {selected?.isLead ? 'LEAD' : 'CLIENT'}\r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n selected?.firstName\r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n selected?.lastName\r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n selected?.franchiseOfficeName\r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n selected?.franchiseAgentName\r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n selected?.referralAgentName\r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n selected?.telephone\r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n selected?.email\r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n selected?.cellPhone ?? '-'\r\n }\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n selected?.processingType\r\n }\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n menus?.map((item: INavMenu, index: number) => {\r\n return (\r\n
    \r\n \r\n \r\n \r\n
    \r\n )\r\n })\r\n }\r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n );\r\n})","import React, { Fragment, useEffect, useState } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Img } from 'react-image';\r\nimport { Spinner } from 'reactstrap';\r\nimport { connect } from 'react-redux';\r\nimport classNames from 'classnames';\r\n\r\nimport { logoMissing } from './images';\r\nimport { ClientRoutesConstants, Constants } from '../constants';\r\nimport AuthService from '../../core/services/auth.service';\r\nimport { ModalComponent } from './modal';\r\nimport { SiteLogoEditorComponent } from './site-logo-editor';\r\nimport { EnumRoles, IMAGETYPES } from '../../models/enums';\r\nimport { UrlUtils } from '../../utils/http-url.util';\r\nimport { CommonUtils } from '../../utils/common-utils';\r\n\r\n\r\nconst mapStateToProps = (state: any) => {\r\n return {\r\n logoKey: state?.sharedModel?.logoChangedKey\r\n };\r\n}\r\nexport const SiteLogoComponent = connect(mapStateToProps)((props: any) => {\r\n\r\n const [role, setRole] = useState(null as any);\r\n const [logoUrlMini, setlogoUrlMini] = useState('' as string);\r\n const [logoUrl, setlogoUrl] = useState('' as string);\r\n const [ofclogoUrlMini, setOfclogoUrlMini] = useState('' as string);\r\n const [ofclogoUrl, setOfclogoUrl] = useState('' as string);\r\n const [openEditor, setOpenEditor] = useState(false as boolean);\r\n\r\n\r\n useEffect(() => {\r\n const p = AuthService.getCurrentJWTPayload();\r\n const tenant = UrlUtils.getPartnerKey();\r\n const baseUrl = UrlUtils.getBaseUrl();\r\n setlogoUrl(baseUrl + CommonUtils.formatString(Constants.siteLogoPath, tenant));\r\n setlogoUrlMini(baseUrl + CommonUtils.formatString(Constants.siteLogoMiniPath, tenant));\r\n setOfclogoUrl(baseUrl + CommonUtils.formatString(Constants.officeLogoPath, tenant, p?.mainFranchiseOfficeId || ''));\r\n setOfclogoUrlMini(baseUrl + CommonUtils.formatString(Constants.officeLogoMiniPath, tenant, p?.mainFranchiseOfficeId || ''));\r\n setRole(p?.roles);\r\n }, [props]);\r\n\r\n const onLogoUpdate = (saved: boolean) => {\r\n setOpenEditor(false);\r\n }\r\n return (\r\n <>\r\n
    \r\n \r\n
    setOpenEditor(true)}>\r\n {!props?.sidebarCollapsed && }\r\n \r\n
    \r\n
    \r\n \r\n \r\n {\r\n props?.allowEditLogo\r\n && setOpenEditor(false)}>\r\n {openEditor && }\r\n \r\n }\r\n\r\n \r\n );\r\n});","import React from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { isMobile } from 'react-device-detect';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport { ClientRoutesConstants } from '../constants';\r\nimport { MenuComponent } from './menu';\r\nimport { GlobalCustomerSearch } from './global-customer-search';\r\nimport AuthService from '../../core/services/auth.service';\r\nimport { AutoCompleteSearchTypes, EnumRoles } from '../../models/enums';\r\nimport { SearchCustomersComponent } from './search-customers';\r\nimport { SiteLogoComponent } from './site-logo';\r\nimport { leftMenuOpened, toggleToDoShared } from '../actions/shared.actions';\r\nimport { IToDo } from '../../models/interfaces/customer-view';\r\n\r\nclass HeaderComponent extends React.PureComponent {\r\n constructor(props: any) {\r\n super(props);\r\n const payload = AuthService.getCurrentJWTPayload();\r\n const currRole = AuthService.currentRole();\r\n this.state = {\r\n searchOpened: false,\r\n showCustomerSearch: currRole !== EnumRoles.Customer,\r\n isAdmin: currRole === EnumRoles.Administrator,\r\n selectedSearch: null,\r\n currRole,\r\n fullName: (payload?.firstName || '') + ' ' + (payload?.lastName || '')\r\n };\r\n this.togggleSdeBar = this.togggleSdeBar.bind(this);\r\n this.toggleSearch = this.toggleSearch.bind(this);\r\n this.onSearchSelectedData = this.onSearchSelectedData.bind(this);\r\n this.docClickHandler = this.docClickHandler.bind(this);\r\n this.toggleDrawer = this.toggleDrawer.bind(this);\r\n this.onNotifyClick = this.onNotifyClick.bind(this);\r\n }\r\n componentDidMount() {\r\n document.addEventListener('click', this.docClickHandler);\r\n }\r\n componentWillUnmount() {\r\n document.removeEventListener('click', this.docClickHandler);\r\n }\r\n docClickHandler(e: any) {\r\n this.props?.toggleLeftMenu(!(isMobile ? true : this.props.sidebarCollapsed));\r\n if (isMobile) {\r\n document.body.classList.add('sidebar-collapse');\r\n document.body.classList.remove('sidebar-open');\r\n }\r\n }\r\n togggleSdeBar(e: any) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n this.toggleDrawer();\r\n }\r\n toggleSearch() {\r\n this.setState((state: any) => {\r\n return {\r\n searchOpened: !state.searchOpened\r\n }\r\n });\r\n }\r\n toggleDrawer() {\r\n this.props?.toggleLeftMenu(!this.props?.leftMenuOpened);\r\n document.body.classList.toggle('sidebar-collapse');\r\n document.body.classList.toggle('sidebar-open');\r\n }\r\n onSearchSelectedData(data: any) {\r\n this.toggleSearch();\r\n this.setState((state: any) => {\r\n return {\r\n ...state,\r\n selectedSearch: data\r\n }\r\n });\r\n }\r\n onNotifyClick(e: any) {\r\n e.preventDefault();\r\n this.props?.toggleToDoShared();\r\n }\r\n render() {\r\n const { searchOpened, showCustomerSearch, isAdmin, fullName, currRole, selectedSearch } = this.state;\r\n const { leftMenuOpened } = this.props;\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n }\r\n\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch: any) => {\r\n return bindActionCreators({\r\n toggleToDoShared,\r\n toggleLeftMenu: leftMenuOpened,\r\n }, dispatch);\r\n}\r\nconst mapStateToProps = (state: any) => {\r\n return {\r\n toggleToDo: state?.sharedModel?.toggleToDo,\r\n todos: state?.sharedModel?.todos,\r\n leftMenuOpened: state?.sharedModel?.leftMenuOpened,\r\n };\r\n}\r\nexport default connect(mapStateToProps, mapDispatchToProps)(HeaderComponent)","import React, { MouseEvent } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { NavLink, withRouter } from 'react-router-dom';\r\n\r\nimport AuthService from '../../core/services/auth.service';\r\nimport { INavMenu } from '../../models/interfaces/shared';\r\n\r\nconst mapStateToProps = (state: any) => {\r\n return {\r\n sharedModel: state.sharedModel\r\n };\r\n}\r\nclass LeftNavComponent extends React.PureComponent {\r\n constructor(props: any) {\r\n super(props);\r\n const availableMenus = AuthService.getLeftMenuOptions(props?.sharedModel?.currentAccessibleScreens);\r\n this.state = { menus: availableMenus };\r\n this.getMenuItems = this.getMenuItems.bind(this);\r\n this.getSubmenuItems = this.getSubmenuItems.bind(this);\r\n this.nestedMenuClickHandle = this.nestedMenuClickHandle.bind(this);\r\n this.nestedMenuClickHandle = this.nestedMenuClickHandle.bind(this);\r\n }\r\n componentDidMount() {\r\n }\r\n nestedMenuClickHandle(ev: MouseEvent, menu: INavMenu, index: number) {\r\n let arr = [...this.state.menus];\r\n arr.forEach((m: INavMenu) => {\r\n m.opened = false;\r\n })\r\n arr[index].opened = !arr[index].opened;\r\n arr.splice(index, 1, arr[index]);\r\n this.setState({\r\n menus: [...arr]\r\n });\r\n }\r\n getMenuItems(items: INavMenu[]) {\r\n if (items?.length) { \r\n return (\r\n this.state.menus?.map((menu: INavMenu, index: number) => {\r\n return (\r\n
  • \r\n this.nestedMenuClickHandle(e, menu, index)}>\r\n \r\n {menu?.text}\r\n {\r\n menu?.submenus?.length\r\n ?\r\n \r\n \r\n \r\n : null\r\n }\r\n \r\n
      \r\n {\r\n this.getSubmenuItems(menu?.submenus)\r\n }\r\n
    \r\n
  • \r\n )\r\n })\r\n );\r\n }\r\n }\r\n getSubmenuItems(items?: INavMenu[]) {\r\n if (items?.length) {\r\n return (\r\n items.map((menu: INavMenu) => {\r\n return (\r\n
  • \r\n \r\n {menu?.text}\r\n \r\n
  • \r\n );\r\n })\r\n );\r\n }\r\n }\r\n\r\n render() {\r\n const { menus: ms } = this.state;\r\n return (\r\n ms?.length ?\r\n \r\n : null\r\n );\r\n }\r\n}\r\nexport default connect(mapStateToProps)(withRouter(LeftNavComponent));","import React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport { setLogout } from '../../../actions/auth.actions';\r\nimport { ClientRoutesConstants } from '../../../shared/constants';\r\n\r\nclass LogoutComponent extends React.PureComponent {\r\n componentDidMount() {\r\n this.props.setLogout();\r\n this.props.history.push(ClientRoutesConstants.login);\r\n setTimeout(() => {\r\n window.location.reload();\r\n }, 0);\r\n }\r\n render() {\r\n return (\r\n
    \r\n

    You Are logged out !

    \r\n
    \r\n );\r\n }\r\n}\r\nconst mapDispatchToProps = (dispatch: any) => {\r\n return bindActionCreators({\r\n setLogout\r\n }, dispatch);\r\n}\r\nexport default connect(null, mapDispatchToProps)(LogoutComponent);","import './login.scss';\r\n\r\nimport React, { createRef } from 'react';\r\nimport { Link, Redirect, withRouter } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport axios, { CancelTokenSource } from 'axios';\r\nimport classnames from 'classnames';\r\n\r\nimport AuthService from '../../../core/services/auth.service';\r\nimport { checkLogin, setLoginComplete, setLogout } from '../../../actions/auth.actions';\r\nimport { IAuthPayload, ILoginResponse, ILoginState } from '../../../models/interfaces/auth';\r\nimport { ClientRoutesConstants, Messages } from '../../../shared/constants';\r\nimport { GrantType } from '../../../models/enums';\r\nimport { ButtonComponent } from '../../../shared/components/button';\r\nimport { getAuthRules, passwordNotStrong } from '../../../shared/actions/shared.actions';\r\nimport { IScreenProps } from '../../../models/interfaces/shared';\r\nimport { CommonUtils } from '../../../utils/common-utils';\r\n\r\nclass LoginComponent extends React.PureComponent {\r\n uPass: React.RefObject;\r\n uName: React.RefObject;\r\n constructor(props: any) {\r\n super(props);\r\n const search = new URLSearchParams(props.location.search);\r\n const isLoginFromRemoteSite = !!search.get('officeid');\r\n this.uName = createRef();\r\n this.uPass = createRef();\r\n const source = axios.CancelToken.source();\r\n this.state = {\r\n isLoading: false,\r\n isError: false, password: '', username: '', noValues: false,\r\n redirectToReferrer: false,\r\n viewPass: false,\r\n axiousSource: source,\r\n isLoginFromRemoteSite\r\n };\r\n this.onLoginHandler = this.onLoginHandler.bind(this);\r\n this.onkeyDown = this.onkeyDown.bind(this);\r\n this.resetFields = this.resetFields.bind(this);\r\n this.performLogin = this.performLogin.bind(this);\r\n }\r\n onLoginHandler() {\r\n this.setState({\r\n isError: false,\r\n noValues: false\r\n });\r\n if (this.uName?.current?.value && this.uPass?.current?.value) {\r\n this.setState({\r\n isLoading: true\r\n });\r\n this.performLogin(this.uName?.current?.value, this.uPass?.current?.value, this.state.axiousSource);\r\n } else {\r\n this.setState({\r\n noValues: true\r\n });\r\n }\r\n }\r\n componentDidMount() {\r\n this.props.setLogout();\r\n }\r\n performLogin(username?: string, password?: string, axiousSource?: CancelTokenSource) {\r\n this.props.setLogin(\r\n {\r\n username,\r\n password,\r\n grant_type: GrantType.password\r\n } as IAuthPayload)\r\n .then((result: ILoginResponse) => {\r\n if (result?.access_token && result?.expires_in) {\r\n AuthService.setLogin(result);\r\n this.props?.passwordNotStrong(!CommonUtils.isPasswordStrong(password || ''));\r\n this.props?.getAuthRules(axiousSource).then((mapping: IScreenProps[]) => {\r\n if (this.state.isLoginFromRemoteSite && window?.opener) {\r\n AuthService.RedirectToRemoteLoginWindow();\r\n } else {\r\n this.setState({ redirectToReferrer: true });\r\n this.props.setLoginComplete(result);\r\n }\r\n }).catch((err: any) => {\r\n if (!axios.isCancel(err)) {\r\n this.resetFields();\r\n AuthService.setLogout();\r\n this.setState({\r\n isError: true,\r\n isLoading: false,\r\n });\r\n }\r\n })\r\n } else {\r\n this.setState({\r\n isError: true,\r\n });\r\n this.resetFields();\r\n }\r\n }).catch((err: any) => {\r\n if (!axios.isCancel(err)) {\r\n this.resetFields();\r\n this.setState({\r\n isError: true,\r\n isLoading: false,\r\n });\r\n }\r\n });\r\n }\r\n resetFields() {\r\n if (this.uName?.current && this.uPass?.current) {\r\n this.uName.current.value = '';\r\n this.uPass.current.value = '';\r\n }\r\n this.uName?.current?.focus();\r\n }\r\n onkeyDown(e: KeyboardEvent) {\r\n if (e.key === 'Enter') {\r\n this.onLoginHandler();\r\n }\r\n }\r\n componentWillUnmount() {\r\n if (this.state.axiousSource?.cancel)\r\n this.state.axiousSource?.cancel(Messages.APIAborted);\r\n }\r\n render() {\r\n const { isLoading, isError, noValues, redirectToReferrer, viewPass } = this.state;\r\n if (redirectToReferrer) {\r\n const from = this.props?.location?.state || { from: { pathname: '/' } };\r\n return ()\r\n }\r\n return (\r\n
    \r\n {\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Login

    \r\n Please enter your credentials to login.\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n isError ?\r\n
    \r\n Invalid Credentials!\r\n
    \r\n : null\r\n }\r\n {\r\n noValues ?\r\n
    \r\n Please enter username/email and password\r\n
    \r\n : null\r\n }\r\n
    \r\n \r\n this.onkeyDown(e)} type=\"text\" title=\"Please enter you username/email\" id=\"username\" className=\"form-control\" />\r\n
    \r\n
    \r\n \r\n
    \r\n this.onkeyDown(e)} title=\"Please enter your password\" id=\"password\" className=\"form-control\" />\r\n this.setState({ viewPass: true })} onMouseUp={() => this.setState({ viewPass: false })}\r\n className={classnames(\"fa ml-1 pointer view-pass\", { 'fa-eye': viewPass, 'fa-eye-slash': !viewPass })} aria-hidden=\"true\">\r\n
    \r\n
    \r\n
    \r\n
    \r\n Login} className=\"btn-primary\" loading={isLoading} onClick={this.onLoginHandler} />\r\n Forgot Password?\r\n
    \r\n {/* Register */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n }\r\n
    \r\n );\r\n }\r\n}\r\nconst mapStateToProps = (state: any) => {\r\n return {\r\n auth: state.authModel,\r\n };\r\n}\r\nconst mapDispatchToProps = (dispatch: any) => {\r\n return bindActionCreators({\r\n setLogin: checkLogin,\r\n getAuthRules,\r\n setLoginComplete,\r\n passwordNotStrong,\r\n setLogout\r\n }, dispatch);\r\n}\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withRouter(LoginComponent));","import { ClientRoutesConstants } from '../../shared/constants';\r\n\r\nexport default class RoutingService {\r\n\r\n static isolateRoutes = [\r\n ClientRoutesConstants.htmlParser?.toLowerCase(),\r\n ClientRoutesConstants.leadAddPublic?.toLowerCase()\r\n ];\r\n static isIsolateRoutes(route: string): boolean {\r\n return this.isolateRoutes?.includes(route?.toLowerCase());\r\n }\r\n}","import React, { useEffect, useState } from 'react';\r\nimport { Route, Switch, Redirect, useLocation } from 'react-router-dom';\r\nimport { connect } from 'react-redux';\r\nimport ReactTooltip from 'react-tooltip';\r\n\r\nimport { asyncComponent } from './shared/components/async-component';\r\nimport { NotFoundComponent } from './screens/not-found';\r\nimport { FooterComponent } from './shared/components/footer';\r\nimport { ClientRoutesConstants } from './shared/constants';\r\nimport HeaderComponent from './shared/components/header';\r\nimport LeftNavComponent from './shared/components/left-nav';\r\nimport LogoutComponent from './screens/auth/logout/logout';\r\nimport LoginComponent from './screens/auth/login/login';\r\nimport { PrivateRoute } from './core/components/private-route';\r\nimport AuthService from './core/services/auth.service';\r\nimport RoutingService from './core/services/routing-service';\r\nimport { setLogout } from './actions/auth.actions';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nconst AsyncDashboardComponent = asyncComponent(() => import('./screens/dashboard'));\r\nconst AsyncRegisterComponent = asyncComponent(() => import('./screens/auth/register/register'));\r\nconst AsyncForgetPwdComponent = asyncComponent(() => import('./screens/auth/forget-password/forget-password'));\r\nconst AsyncCustomerListComponent = asyncComponent(() => import('./screens/customer/customer-list/customer-list'));\r\nconst AsyncFastEditAccountsComponent = asyncComponent(() => import('./screens/customer/fast-edit-accounts/fast-edit-accounts'));\r\nconst AsyncCreateLetterComponent = asyncComponent(() => import('./screens/customer/create-letter'));\r\nconst AsyncReportImporterComponent = asyncComponent(() => import('./screens/customer/report-importer/'));\r\nconst AsyncPortalIntegrationComponent = asyncComponent(() => import('./screens/portal-integration/'));\r\nconst AsyncAffiliateSignupComponent = asyncComponent(() => import('./screens/affiliate-signup/'));\r\nconst AsyncCbReportViewerComponent = asyncComponent(() => import('./screens/customer/cb-report-viewer/'));\r\nconst AsyncUserAccessComponent = asyncComponent(() => import('./screens/admin/user-access/user-access'));\r\nconst AsyncUnAuthComponent = asyncComponent(() => import('./screens/auth/unauthorized/'));\r\nconst AsyncSecurityComponent = asyncComponent(() => import('./screens/auth/security/security'));\r\nconst AsyncResetPasswordComponent = asyncComponent(() => import('./screens/auth/reset-password/reset-password'));\r\nconst AsyncHTMLReportPrserComponent = asyncComponent(() => import('./screens/html-parser/html-report-parser'));\r\nconst AsyncFranchiseOfficesListComponent = asyncComponent(() => import('./screens/admin/franchise-offices/franchise-office-list/index'));\r\nconst AsyncLeadsListComponent = asyncComponent(() => import('./screens/leads/leads-list'));\r\nconst AsyncFranchiseAgentsListComponent = asyncComponent(() => import('./screens/admin/franchise-agents/list'));\r\nconst AsyncReferralOfficesListComponent = asyncComponent(() => import('./screens/admin/referral-offices/list'));\r\nconst AsyncReferralAgentsListComponent = asyncComponent(() => import('./screens/admin/referral-agents/list'));\r\nconst AsyncEmailTempaltesListComponent = asyncComponent(() => import('./screens/admin/email-templates/list'));\r\nconst AsyncPublicCreateLeadComponent = asyncComponent(() => import('./screens/public/leads/create-lead'));\r\nconst AsyncMasterDataComponent = asyncComponent(() => import('./screens/admin/master-records'));\r\nconst AsyncLoginHistoryComponent = asyncComponent(() => import('./screens/admin/login-history'));\r\nconst AsyncEditTypesComponent = asyncComponent(() => import('./screens/admin/edit-types'));\r\n\r\n\r\nconst mapStateToProps = (state: any) => {\r\n\treturn {\r\n\t\tauthModel: state.authModel\r\n\t}\r\n}\r\nconst mapDispatchToProps = (dispatch: any) => {\r\n\treturn bindActionCreators({\r\n\t\tsetLogout\r\n\t}, dispatch);\r\n}\r\nexport const Routes = connect(mapStateToProps, mapDispatchToProps)((props: any) => {\r\n\tconst location = useLocation();\r\n\tconst [currentRouteNotIsolate] = useState(!RoutingService.isIsolateRoutes(location.pathname));\r\n\tconst [isLoginFromRemoteSite] = useState(!!new URLSearchParams(location.search).get('officeid'));\r\n\tuseEffect(() => {\r\n\t\tconst listner = (e: Event) => {\r\n\t\t\tReactTooltip.hide();\r\n\t\t};\r\n\t\tdocument.addEventListener('click', listner);\r\n\t\treturn () => {\r\n\t\t\tdocument.removeEventListener('click', listner);\r\n\t\t};\r\n\t}, []);\r\n\tconst { isLoggedIn } = props?.authModel?.auth;\r\n\treturn (\r\n\t\t
    \r\n\t\t\t{isLoggedIn && currentRouteNotIsolate ? : null}\r\n\t\t\t<>\r\n\t\t\t\t{isLoggedIn && currentRouteNotIsolate ? : null}\r\n\t\t\t\t
    \r\n\t\t\t\t\t{\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t {\r\n\t\t\t\t\t\t\t\t\t\treturn (\r\n\t\t\t\t\t\t\t\t\t\t\tAuthService.isLoggedIn() && !isLoginFromRemoteSite\r\n\t\t\t\t\t\t\t\t\t\t\t\t? \r\n\t\t\t\t\t\t\t\t\t\t\t\t: \r\n\t\t\t\t\t\t\t\t\t\t)\r\n\t\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t\t} />\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t}\r\n\t\t\t\t
    \r\n\t\t\t\t{\r\n\t\t\t\t\tcurrentRouteNotIsolate &&\r\n\t\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\r\n\t\t
    \r\n\t);\r\n})\r\n","import React from 'react';\r\n\r\nexport const FullScreenLoader = () => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n );\r\n}","import React from 'react';\r\nimport { connect } from 'react-redux';\r\n\r\nconst mapStateToProps = (state: any) => {\r\n return {\r\n sharedModel: state.sharedModel\r\n };\r\n}\r\n\r\nexport const FullScreenLoaderInner = connect(mapStateToProps)((props: any) => {\r\n return (\r\n props?.sharedModel?.isLoaderShownInner ?\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {\r\n props?.sharedModel?.loaderInnerMessage || 'Please Wait!!'\r\n }\r\n
    \r\n
    \r\n \r\n : null\r\n );\r\n})","import memoizeOne from \"memoize-one\";\r\n\r\nimport AuthService from \"../core/services/auth.service\";\r\nimport { EnumRoles, ToDoTargetTypes } from \"../models/enums\";\r\nimport { IScreenProps } from \"../models/interfaces/shared\";\r\n\r\nexport class AppUtils {\r\n static widgetRemoved: boolean;\r\n static checkAppLevelAccess(rules: IScreenProps): void {\r\n if (!this.widgetRemoved && this.isHelpWidgetDisabled(rules)) {\r\n this.removeHelpWidget();\r\n }\r\n if (rules === null){\r\n this.hideHelpWidget();\r\n }else{\r\n this.showHelpWidget();\r\n }\r\n }\r\n static isHelpWidgetDisabled = memoizeOne((rules: IScreenProps): boolean => {\r\n return (AuthService.isFieldHidden(rules, 'HelpWidget') || AuthService.isFieldReadOnly(rules, 'HelpWidget'));\r\n });\r\n static removeHelpWidget() {\r\n const widget = document.getElementById('freshworks-container');\r\n if (widget) {\r\n widget.remove();\r\n this.widgetRemoved = true;\r\n }\r\n }\r\n static hideHelpWidget() {\r\n const widget = document.getElementById('freshworks-container');\r\n if (widget) {\r\n widget.style.display = 'none';\r\n }\r\n }\r\n static showHelpWidget() {\r\n const widget = document.getElementById('freshworks-container');\r\n if (widget) {\r\n widget.style.display = 'block';\r\n }\r\n }\r\n static convertRoleToToDoTypes(currentRole: EnumRoles) {\r\n switch (currentRole) {\r\n case EnumRoles.Customer:\r\n return ToDoTargetTypes.CUSTOMER;\r\n case EnumRoles.CreditAgent:\r\n return ToDoTargetTypes.FRANCHISE_AGENT;\r\n case EnumRoles.Administrator:\r\n return ToDoTargetTypes.ADMIN;\r\n case EnumRoles.OfficeManager:\r\n return ToDoTargetTypes.OFFICEMANAGER;\r\n case EnumRoles.Processor:\r\n return ToDoTargetTypes.PROCESSOR;\r\n case EnumRoles.ReferralAgent:\r\n return ToDoTargetTypes.REFERRAL_AGENT;\r\n case EnumRoles.ReferralManager:\r\n return ToDoTargetTypes.REFERRALMANAGER;\r\n default:\r\n return ToDoTargetTypes.CUSTOMER;\r\n }\r\n }\r\n}","import moment from 'moment';\r\nimport React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { IToDo } from '../../../models/interfaces/customer-view';\r\n\r\n\r\nconst mapStateToProps = (state: any) => {\r\n return {\r\n isLoggedIn: state?.authModel?.auth?.isLoggedIn\r\n };\r\n}\r\nexport const ClientToDoNotificationComponent = connect(mapStateToProps)((props: { isLoggedIn: boolean, ToDos: IToDo[] }) => {\r\n\r\n return (\r\n
      \r\n {\r\n props?.ToDos?.map((todo: IToDo, index) => (\r\n
      \r\n \r\n
      \r\n
      \r\n\r\n
      \r\n \r\n \r\n {moment(todo.createdOn).format('MM/DD/YYYY')}\r\n \r\n \r\n {moment(todo.dueDate).format('MM/DD/YYYY')}\r\n \r\n \r\n
      \r\n
      \r\n ))\r\n }\r\n
    \r\n )\r\n});\r\n","import axios, { CancelTokenSource } from 'axios';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\n// @ts-ignore\r\nimport confirm from 'reactstrap-confirm';\r\nimport { withRouter } from 'react-router-dom';\r\n\r\nimport { getTodos } from '../../actions/customers.actions'\r\nimport { updateLastLoginDate } from '../../actions/auth.actions'\r\nimport { IToDo } from '../../models/interfaces/customer-view'\r\nimport { addTodosShared, hideToDoShared, navigateToTodosTab } from '../../shared/actions/shared.actions'\r\nimport { ModalComponent } from '../../shared/components/modal'\r\nimport { AppUtils } from '../../utils/app-utils'\r\nimport AuthService from '../services/auth.service'\r\nimport { ClientToDoNotificationComponent } from './app-level-operations/client-todo-notification';\r\nimport { ClientRoutesConstants } from '../../shared/constants';\r\nimport { EnumRoles } from '../../models/enums';\r\n\r\n\r\nconst mapDispatchToProps = (dispatch: any) => {\r\n return bindActionCreators({\r\n getTodos,\r\n addTodosShared,\r\n hideToDoShared,\r\n navigateToTodosTab,\r\n updateLastLoginDate\r\n }, dispatch);\r\n}\r\nconst mapStateToProps = (state: any) => {\r\n return ({\r\n isLoggedIn: state?.authModel?.auth?.isLoggedIn,\r\n isLocked: state?.authModel?.auth?.isLocked,\r\n lockedMessage: state?.authModel?.auth?.lockedMessage,\r\n sharedToDos: state?.sharedModel?.todos,\r\n toggleToDo: state?.sharedModel?.toggleToDo,\r\n passwordNotStrong: state?.sharedModel?.passwordNotStrong,\r\n })\r\n}\r\nexport const AppLevelOperations = withRouter(connect(mapStateToProps, mapDispatchToProps)((props: any) => {\r\n const [isClientVisible, setisClientVisible] = useState(false);\r\n const [gotCustomerData, setGotCustomerData] = useState(false);\r\n const [toDos, setToDos] = useState([] as IToDo[]);\r\n const [axiosSource, setAxiosSource] = useState(axios.CancelToken.source() as CancelTokenSource);\r\n const [loading, setLoading] = useState(false as boolean);\r\n const [isPortalLocked, setisPortalLocked] = useState(false as boolean);\r\n\r\n useEffect(() => {\r\n setisPortalLocked(props?.isLocked);\r\n }, [props?.isLocked]);\r\n useEffect(() => {\r\n if (props?.isLoggedIn) {\r\n updateLastLoginDate();\r\n if (props?.passwordNotStrong) {\r\n showPasswordStrengthWindow();\r\n } else {\r\n showToDos();\r\n }\r\n }\r\n }, [props?.passwordNotStrong, props.isLoggedIn]);\r\n\r\n const showPasswordStrengthWindow = async () => {\r\n let result = await confirm({\r\n title: 'Weak Password!',\r\n message: \"Your password is not strong!! Please change your password.\",\r\n confirmText: \"OK\",\r\n confirmColor: \"primary\",\r\n cancelColor: null,\r\n cancelText: null\r\n });\r\n if (result) {\r\n props?.history?.push(ClientRoutesConstants.security);\r\n }\r\n }\r\n const showToDos = () => {\r\n const authData = AuthService.getCurrentJWTPayload();\r\n if (!gotCustomerData) {\r\n const todoTarget = AppUtils.convertRoleToToDoTypes(authData?.roles);\r\n loadTodos(authData?.cid || authData?.fid || authData?.rid || authData?.lid, todoTarget);\r\n }\r\n }\r\n const updateLastLoginDate = () => {\r\n const authData = AuthService.getCurrentJWTPayload();\r\n const source = axios.CancelToken.source();\r\n setAxiosSource(source);\r\n props?.updateLastLoginDate(authData?.cid || authData?.fid || authData?.rid || authData?.lid, source)\r\n .then((result: any) => {\r\n }).catch((err: any) => {\r\n if (!axios.isCancel(err)) {\r\n }\r\n });\r\n }\r\n\r\n useEffect(() => {\r\n if (props?.toggleToDo) {\r\n const authData = AuthService.getCurrentJWTPayload();\r\n const todoTarget = AppUtils.convertRoleToToDoTypes(authData?.roles);\r\n if (props?.sharedToDos?.length) {\r\n setisClientVisible(true);\r\n setGotCustomerData(true);\r\n } else {\r\n loadTodos(authData?.cid || authData?.fid || authData?.rid || authData?.lid, todoTarget);\r\n }\r\n }\r\n }, [props.toggleToDo]);\r\n\r\n const loadTodos = (cid?: string, role?: string) => {\r\n setLoading(true);\r\n const source = axios.CancelToken.source();\r\n setAxiosSource(source);\r\n setGotCustomerData(true);\r\n props?.getTodos(cid, role, source)\r\n .then((list: IToDo[]) => {\r\n setLoading(false);\r\n const pendings = list?.filter(x => !x?.isCompleted);\r\n setToDos(pendings);\r\n props?.addTodosShared(pendings);\r\n if (pendings?.length) {\r\n setisClientVisible(true);\r\n setGotCustomerData(true);\r\n }\r\n }).catch((err: any) => {\r\n if (!axios.isCancel(err)) {\r\n setLoading(false);\r\n }\r\n });\r\n }\r\n const navigateToUserDetailsPage = () => {\r\n const authData = AuthService.getCurrentJWTPayload();\r\n const userId = authData?.cid || authData?.fid || authData?.rid || authData?.lid;\r\n let url = '';\r\n switch (authData?.roles) {\r\n case EnumRoles.Customer:\r\n {\r\n url = `${ClientRoutesConstants.customers}/` + userId;\r\n break;\r\n }\r\n case EnumRoles.CreditAgent:\r\n {\r\n url = `${ClientRoutesConstants.franchiseAgents}/` + userId;\r\n break;\r\n }\r\n case EnumRoles.Lead:\r\n {\r\n url = `${ClientRoutesConstants.leads}/` + userId;\r\n break;\r\n }\r\n case EnumRoles.ReferralAgent:\r\n case EnumRoles.ReferralManager:\r\n {\r\n url = `${ClientRoutesConstants.referralAgents}/` + userId;\r\n break;\r\n }\r\n default:\r\n {\r\n url = `${ClientRoutesConstants.customers}/` + userId;\r\n break;\r\n }\r\n }\r\n props?.history.push(url);\r\n }\r\n return (<>\r\n
    \r\n\r\n
    \r\n\r\n { setisClientVisible(false); props?.hideToDoShared(); props?.navigateToTodosTab(true); navigateToUserDetailsPage(); }} fullscreen={true} isVisible={isClientVisible} >\r\n \r\n \r\n { setisPortalLocked(false) }} fullscreen={false} isVisible={isPortalLocked} >\r\n
    \r\n {\r\n props?.lockedMessage\r\n }\r\n
    \r\n
    \r\n \r\n )\r\n}));\r\n\r\n","import './app.scss';\r\nimport React from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { bindActionCreators } from 'redux';\r\nimport { withRouter } from 'react-router-dom';\r\nimport axios from 'axios';\r\n\r\nimport { Routes } from './routes';\r\nimport { checkLogin, setLogout, setLoginComplete, getPublicAuthToken } from \"./actions/auth.actions\";\r\nimport AuthService from './core/services/auth.service';\r\nimport { EnumScreens, GrantType } from './models/enums';\r\nimport { IAuthPayload } from './models/interfaces/auth';\r\nimport { FullScreenLoader } from './shared/components/fullscreen-loader';\r\nimport { getAuthRules } from './shared/actions/shared.actions';\r\nimport { IScreenProps } from './models/interfaces/shared';\r\nimport RoutingService from './core/services/routing-service';\r\nimport { FullScreenLoaderInner } from './shared/components/fullscreen-loader-inner';\r\nimport { AppUtils } from './utils/app-utils';\r\nimport { AppLevelOperations } from './core/components/app-level-operations.component';\r\n\r\nclass AppComponent extends React.PureComponent {\r\n constructor(props: any) {\r\n super(props);\r\n this.state = {\r\n checkingLogin: true, axiousSource: axios.CancelToken.source(),\r\n currentRouteNotIsolate: !RoutingService.isIsolateRoutes(props?.location?.pathname),\r\n isLoginFromRemoteSite: (!!new URLSearchParams(props.location.search).get('officeid'))\r\n };\r\n this.checkRefreshToken = this.checkRefreshToken.bind(this);\r\n this.checkGuestUserToken = this.checkGuestUserToken.bind(this);\r\n }\r\n componentDidMount() {\r\n const tenant = (new URLSearchParams(this.props.location.search).get('tenant'));\r\n if (this.state.currentRouteNotIsolate) {\r\n this.checkRefreshToken();\r\n } else if (!this.state.currentRouteNotIsolate && tenant) {\r\n // public URL so get a guest token from BE\r\n this.checkGuestUserToken(tenant);\r\n }\r\n }\r\n componentDidUpdate() {\r\n AppUtils.checkAppLevelAccess(this.props.AuthRules);\r\n }\r\n checkRefreshToken() {\r\n const session = AuthService.getSession();\r\n if (session?.refresh_token) {\r\n this.props.checkLogin({\r\n refresh_token: session?.refresh_token,\r\n grant_type: GrantType.refresh_token\r\n } as IAuthPayload)\r\n .then((result: any) => {\r\n if (result?.access_token && result?.expires_in) {\r\n AuthService.setLogin(result);\r\n this.props?.getAuthRules(this.state?.axiousSource).then((mapping: IScreenProps[]) => {\r\n if (this.state.isLoginFromRemoteSite && window?.opener?.location) {\r\n AuthService.RedirectToRemoteLoginWindow();\r\n } else {\r\n this.props.setLoginComplete(result);\r\n this.setState({ checkingLogin: false });\r\n }\r\n }).catch(() => {\r\n this.setState({\r\n checkingLogin: false\r\n });\r\n this.redirectToLogout();\r\n })\r\n } else {\r\n this.redirectToLogout();\r\n this.setState({ checkingLogin: false });\r\n }\r\n }).catch((err: any) => {\r\n this.redirectToLogout();\r\n this.setState({ checkingLogin: false });\r\n });\r\n } else {\r\n this.setState({ checkingLogin: false });\r\n }\r\n }\r\n checkGuestUserToken(tenant: string) {\r\n this.props?.getPublicAuthToken(tenant)\r\n .then((result: any) => {\r\n if (result?.access_token && result?.expires_in) {\r\n AuthService.setLoginInMemory(result);\r\n this.props?.getAuthRules(this.state?.axiousSource).then((mapping: IScreenProps[]) => {\r\n this.props.setLoginComplete(result);\r\n this.setState({ checkingLogin: false });\r\n }).catch(() => {\r\n this.setState({\r\n checkingLogin: false\r\n });\r\n this.redirectToLogout();\r\n })\r\n } else {\r\n this.redirectToLogout();\r\n this.setState({ checkingLogin: false });\r\n }\r\n });\r\n\r\n }\r\n redirectToLogout() {\r\n this.props.setLogout();\r\n AuthService.setLogout();\r\n }\r\n render() {\r\n\r\n const { checkingLogin, currentRouteNotIsolate } = this.state;\r\n\r\n return (\r\n <>\r\n {checkingLogin && currentRouteNotIsolate ? : null}\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {currentRouteNotIsolate && }\r\n
    \r\n \r\n );\r\n }\r\n}\r\n\r\n\r\nconst mapStateToProps = (state: any) => {\r\n return {\r\n auth: state.authModel,\r\n currentAccessibleScreens: state?.sharedModel?.currentAccessibleScreens,\r\n AuthRules: AuthService.getScreenOject(state.sharedModel?.AuthRules, EnumScreens.Application)\r\n };\r\n}\r\nconst mapDispatchToProps = (dispatch: any) => {\r\n return bindActionCreators({\r\n checkLogin,\r\n setLogout,\r\n getAuthRules,\r\n setLoginComplete,\r\n getPublicAuthToken\r\n }, dispatch);\r\n}\r\nexport default connect(mapStateToProps, mapDispatchToProps)(withRouter((AppComponent)));\r\n","import axios from \"axios\";\r\nimport { useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport { bindActionCreators } from \"redux\";\r\nimport { parse } from \"querystring\";\r\nimport { withRouter } from \"react-router-dom\";\r\n\r\nimport { GrantType } from \"../models/enums\";\r\nimport { IAuthPayload } from \"../models/interfaces/auth\";\r\nimport { UrlUtils } from \"../utils/http-url.util\";\r\nimport AuthService from './services/auth.service';\r\nimport { checkLogin } from \"../actions/auth.actions\";\r\nimport { APIConstants, ClientRoutesConstants } from \"../shared/constants\";\r\nimport { setLogout } from '../actions/auth.actions';\r\n\r\nconst mapDispatchToProps = (dispatch: any) => {\r\n return bindActionCreators({\r\n setLogin: checkLogin,\r\n setLogout\r\n }, dispatch);\r\n}\r\n\r\nconst mapStateToProps = (state: any) => {\r\n return {\r\n auth: state.authModel?.auth,\r\n };\r\n}\r\nexport const HTTPInterceptor = connect(mapStateToProps, mapDispatchToProps)(withRouter(((props: any) => {\r\n useEffect(() => {\r\n // request interceptor\r\n axios.interceptors.request.use(\r\n config => {\r\n if (!config?.url?.startsWith('http') && !config?.url?.startsWith('https')) {\r\n config.url = UrlUtils.getBaseUrl() + config.url;\r\n }\r\n const invalidPartnerKey = UrlUtils.isPartnerKeyInvalid();\r\n if (!invalidPartnerKey && !config.headers['tenant']) {\r\n config.headers['tenant'] = UrlUtils.getPartnerKey();\r\n }\r\n // in memory token for public pages\r\n const token = AuthService.getSession()?.access_token || AuthService.inMemorySesssion?.access_token || '';\r\n const isRefreshTokenCall = config.data && typeof (config?.data) === 'string' && parse(config?.data)?.grant_type === GrantType.refresh_token;\r\n if (token && !isRefreshTokenCall) {\r\n if (!config.headers['Authorization']) {\r\n config.headers['Authorization'] = 'Bearer ' + token;\r\n }\r\n if (!config.headers['Content-Type']) {\r\n config.headers['Content-Type'] = 'application/json';\r\n }\r\n }\r\n return config;\r\n },\r\n error => {\r\n Promise.reject(error)\r\n }\r\n );\r\n //response interceptor\r\n axios.interceptors.response.use((response) => {\r\n return response\r\n }, (error: any) => {\r\n const originalRequest = error?.config;\r\n const loginAPIUrl = APIConstants.auth;\r\n if (error?.response?.status === 400 && originalRequest?.url?.endsWith(loginAPIUrl)) { // refresh token and login API failure response \r\n AuthService.setLogout();\r\n props.setLogout();\r\n props.history.push({ pathname: ClientRoutesConstants.login, state: props?.location });\r\n return Promise.reject(error);\r\n }\r\n\r\n if (error?.response?.status === 401 && !originalRequest?._retry) {\r\n\r\n originalRequest._retry = true;\r\n\r\n const refreshToken = props?.auth?.refresh_token;\r\n return props.setLogin(\r\n {\r\n refresh_token: refreshToken,\r\n grant_type: GrantType.refresh_token\r\n } as IAuthPayload)\r\n .then((result: any) => {\r\n if (result?.access_token && result?.expires_in) {\r\n AuthService.setLogin(result);\r\n const session = AuthService.getSession();\r\n const token = session?.access_token || '';\r\n axios.defaults.headers.common['Authorization'] = 'Bearer ' + token;\r\n return axios(originalRequest);\r\n }\r\n })\r\n }\r\n return Promise.reject(error);\r\n });\r\n }, [props]);\r\n return null;\r\n})));\r\n","import './assets/styles/common.scss';\r\n\r\nimport React, { useEffect, useState } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { Provider } from 'react-redux';\r\nimport { setAutoFreeze } from 'immer';\r\nimport { BrowserRouter as Router } from 'react-router-dom';\r\nimport 'toastr/build/toastr.min.css'\r\nimport toastr from 'toastr';\r\n\r\nimport { store } from './store/store';\r\nimport environment from './environments/environment';\r\nimport App from './app';\r\nimport { NotFoundComponent } from './screens/not-found';\r\nimport { UrlUtils } from './utils/http-url.util';\r\nimport { HTTPInterceptor } from './core/http-interceptors';\r\n\r\nif (environment.env === 'PROD') {\r\n setAutoFreeze(false); // by deault its auto-freeze\r\n}\r\n\r\nfunction LoadApplication() {\r\n const [baseURL] = useState(UrlUtils.getPartnerKey());\r\n useEffect(() => {\r\n toastr.options = {\r\n positionClass: 'toast-top-full-width',\r\n hideDuration: 300,\r\n timeOut: 5000,\r\n preventDuplicates: true\r\n }\r\n toastr.clear()\r\n }, []);\r\n return (\r\n UrlUtils.isPartnerKeyInvalid()\r\n ?\r\n \r\n :\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nReactDOM.render(\r\n ,\r\n document.getElementById('root')\r\n);\r\n","export const AuthActionTypes = {\r\n SET_LOGIN: 'SET_LOGIN',\r\n SET_LOGOUT: 'SET_LOGOUT',\r\n CHECK_LOGIN_SUCCESS: 'CHECK_LOGIN_SUCCESS',\r\n CHECK_LOGIN_FAILURE: 'CHECK_LOGIN_FAILURE',\r\n SET_LOGGED_IN_DETAILS: 'SET_LOGGED_IN_DETAILS',\r\n SET_GETTING_GUEST_TOKEN: 'SET_GETTING_GUEST_TOKEN',\r\n PORTAL_LOCKED: 'PORTAL_LOCKED'\r\n};","import React, { useEffect, useState } from 'react';\r\nimport { Spinner } from 'reactstrap';\r\n\r\nexport const asyncComponent = (importComponent: any) => {\r\n\r\n const AsyncComponent = (props: any) => {\r\n const [state, setState] = useState({\r\n component: null,\r\n isLoading: true,\r\n unloaded: false\r\n })\r\n // adding feature of loading/spinner until component gets loaded\r\n useEffect(() => {\r\n if (!state?.unloaded) {\r\n setState({\r\n isLoading: true,\r\n component: null,\r\n unloaded: false\r\n });\r\n }\r\n const proms = importComponent().then(({ default: component }: any) => {\r\n if (!state?.unloaded) {\r\n setState({\r\n component,\r\n isLoading: false,\r\n unloaded: false\r\n\r\n });\r\n }\r\n }).catch((err: any) => {\r\n if (!state?.unloaded) {\r\n setState({\r\n component: null,\r\n isLoading: false,\r\n unloaded: false\r\n });\r\n }\r\n });\r\n return () => {\r\n setState({\r\n component: null,\r\n isLoading: false,\r\n unloaded: false\r\n })\r\n return proms;\r\n }\r\n }, [])\r\n\r\n const { component: D, isLoading }: any = state;\r\n\r\n return (D ? : isLoading\r\n ?
    loading ...
    : null);\r\n\r\n }\r\n return AsyncComponent;\r\n}","export const SharedActionTypes = {\r\n SET_AUTH_RULES: 'SET_AUTH_RULES',\r\n SET_ACCESSIBLE_SCREENS: 'SET_ACCESSIBLE_SCREENS',\r\n SHOW_INNER_SPINNER: 'SHOW_INNER_SPINNER',\r\n LOGO_CHANGED: 'LOGO_CHANGED',\r\n USER_TODOS: 'USER_TODOS',\r\n TOGGLE_TODOS: 'TOGGLE_TODOS',\r\n HIDE_TODOS: 'HIDE_TODOS',\r\n NAVIGATE_TODOS_TAB: 'NAVIGATE_TODOS_TAB',\r\n PASSWORD_NOT_STRONG: 'PASSWORD_NOT_STRONG',\r\n LEFT_MENU_OPEN: 'LEFT_MENU_OPEN',\r\n};","import React, { useEffect, useState } from 'react';\r\nimport { connect } from 'react-redux';\r\nimport { Redirect, Route } from 'react-router-dom';\r\nimport { bindActionCreators } from 'redux';\r\n\r\nimport { ClientRoutesConstants } from '../../shared/constants';\r\nimport AuthService from '../services/auth.service';\r\nimport { setLogout } from '../../actions/auth.actions';\r\n\r\n\r\nconst mapDispatchToProps = (dispatch: any) => {\r\n return bindActionCreators({\r\n setLogout\r\n }, dispatch);\r\n}\r\n\r\nconst mapStateToProps = (state: any) => {\r\n return {\r\n auth: state.authModel\r\n };\r\n}\r\nexport const PrivateRoute = connect(mapStateToProps, mapDispatchToProps)(({ component: Component, ...rest }: any) => {\r\n const [isLoggedIn, setIsLogin] = useState(AuthService.isLoggedIn());\r\n useEffect(() => {\r\n const login = AuthService.isLoggedIn();\r\n setIsLogin(login);\r\n if (!login) {\r\n rest?.setLogout();\r\n }\r\n });\r\n return (\r\n (\r\n isLoggedIn\r\n ? \r\n : \r\n )} />\r\n );\r\n});","import environment from '../environments/environment';\r\nimport { ClientRoutesConstants } from '../shared/constants';\r\n\r\nexport class UrlUtils {\r\n\tstatic getBaseUrl(): string {\r\n\t\treturn environment.baseURL;\r\n\t}\r\n\tstatic getPartnerKey(): string {\r\n\t\treturn window.location?.href.replace(window.location?.origin + '/', '')?.split('/')[0];\r\n\t}\r\n\tstatic isPartnerKeyInvalid(): boolean {\r\n\t\tconst baseURL = this.getPartnerKey();\r\n\t\treturn (\r\n\t\t\t!baseURL\r\n\t\t\t|| (('/' + baseURL) === ClientRoutesConstants.notFound)\r\n\t\t\t|| !(baseURL?.length >= 2)\r\n\t\t);\r\n\t}\r\n};","import axios, { CancelTokenSource } from 'axios';\r\nimport { stringify } from 'querystring';\r\n\r\nimport { getAction } from \"./action\";\r\nimport { AuthActionTypes } from './auth.action-types';\r\nimport { IAuthPayload, ILoginResponse } from '../models/interfaces/auth';\r\nimport AuthService from '../core/services/auth.service';\r\nimport { APIConstants } from '../shared/constants';\r\nimport { UrlUtils } from '../utils/http-url.util';\r\nimport { CommonUtils } from '../utils/common-utils';\r\nimport { GetSavedSampleTemplates } from './email-templates.actions';\r\nimport { getConfigurations } from './config.actions';\r\n\r\nexport const checkLogin = (params: IAuthPayload) => {\r\n return (dispatch: any) => {\r\n return new Promise((resolve, reject) => {\r\n let headers = {\r\n 'Content-Type': 'application/x-www-form-urlencoded'\r\n } as any;\r\n axios.post(UrlUtils.getBaseUrl() + APIConstants.auth, stringify(params as any), {\r\n headers\r\n }).then((result: any) => result?.data)\r\n .then((result: ILoginResponse) => {\r\n if (result) {\r\n resolve(result);\r\n } else {\r\n dispatch(getAction(AuthActionTypes.CHECK_LOGIN_FAILURE));\r\n reject(null);\r\n }\r\n })\r\n .catch((err: any) => {\r\n if (!axios.isCancel(err)) {\r\n if (err.response?.data?.error === 'user_locked') {\r\n dispatch(getAction(AuthActionTypes.PORTAL_LOCKED, { isLocked: true, lockedMessage: err?.response?.data?.error_description }));\r\n reject(null);\r\n } else {\r\n dispatch(getAction(AuthActionTypes.CHECK_LOGIN_FAILURE));\r\n reject(null);\r\n }\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\n\r\nexport const setLoginComplete = (result: any) => {\r\n return (dispatch: any) => {\r\n dispatch(getAction(AuthActionTypes.CHECK_LOGIN_SUCCESS, result));\r\n getConfigurations(dispatch);\r\n };\r\n}\r\nexport const setLogout = () => {\r\n return (dispatch: any) => {\r\n AuthService.setLogout();\r\n dispatch(getAction(AuthActionTypes.SET_LOGOUT));\r\n };\r\n}\r\n\r\n\r\nexport const setPasswordResetLink = (payload: any, source?: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise((resolve, reject) => {\r\n axios.post(UrlUtils.getBaseUrl() + APIConstants.forgotPasswordLInk,\r\n payload, { cancelToken: source?.token }\r\n ).then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const resetPassword = (payload: any, source?: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise((resolve, reject) => {\r\n axios.put(UrlUtils.getBaseUrl() + APIConstants.resetPassword,\r\n payload, { cancelToken: source?.token }\r\n ).then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const checkLinkExpiry = (payload: any, source?: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise((resolve, reject) => {\r\n axios.put(UrlUtils.getBaseUrl() + APIConstants.verifyResetLink,\r\n payload, { cancelToken: source?.token }\r\n ).then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getPublicAuthToken = (tenant: string) => {\r\n return (dispatch: any) => {\r\n return new Promise((resolve, reject) => {\r\n dispatch(getAction(AuthActionTypes.SET_GETTING_GUEST_TOKEN, true));\r\n axios.get(CommonUtils.formatString(UrlUtils.getBaseUrl() + APIConstants.getPublicToken, tenant))\r\n .then((result: any) => result?.data)\r\n .then((result: ILoginResponse) => {\r\n dispatch(getAction(AuthActionTypes.SET_GETTING_GUEST_TOKEN, false));\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n if (!axios.isCancel(err)) {\r\n dispatch(getAction(AuthActionTypes.SET_GETTING_GUEST_TOKEN, false));\r\n reject(null);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const updateLastLoginDate = (customerId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(CommonUtils.formatString(APIConstants.updateLastLoginDate) + '/' + customerId, null, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getLoginsListHistory = (source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.getLoginListHistory), { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}","import axios, { CancelTokenSource } from \"axios\";\r\nimport { APIConstants } from \"../shared/constants\";\r\nimport { UrlUtils } from \"../utils/http-url.util\";\r\nimport { getAction } from \"./action\";\r\nimport { ConfigActionTypes } from \"./config.action-types\";\r\n\r\n\r\nexport const getConfigurations = (dispatch: any) => {\r\n axios.get(UrlUtils.getBaseUrl() + APIConstants.configuration)\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n dispatch(getAction(ConfigActionTypes.SET_CONFIGURATIONS, result));\r\n })\r\n .catch((err: any) => {\r\n dispatch(getAction(ConfigActionTypes.REMOVE_CONFIGURATIONS, null));\r\n });\r\n}","export const CreateLetterActionTypes = {\r\n SET_LETTER_SOURCE: 'SET_LETTER_SOURCE',\r\n SET_LETTER_OPTIONS: 'SET_LETTER_OPTIONS',\r\n SET_SELECTED_ACCOUNTS: 'SET_SELECTED_ACCOUNTS',\r\n SET_LETTER_ACCOUNTS: 'SET_LETTER_ACCOUNTS',\r\n SET_LETTER_TEMPLATE_WITH_AUTOSELECT: 'SET_LETTER_TEMPLATE_WITH_AUTOSELECT',\r\n SET_LETTER_TEMPLATE: 'SET_LETTER_TEMPLATE',\r\n SET_LETTER_ADVANCED: 'SET_LETTER_ADVANCED',\r\n SET_LETTER_ACTIVETAB: 'SET_LETTER_ACTIVETAB',\r\n SET_TEMP_LETTER_RELOAD: 'SET_TEMP_LETTER_RELOAD',\r\n SET_CUSTOMER_ROUND_INFO: 'SET_CUSTOMER_ROUND_INFO',\r\n SET_TEMP_LETTERS: 'SET_TEMP_LETTERS',\r\n SET_DISPUTE_LETTERS_RELOAD: 'SET_DISPUTE_LETTERS_RELOAD',\r\n SET_LETTERS_CREATED: 'SET_LETTERS_CREATED',\r\n SET_AUTOSELECT_OPTIONS: 'SET_AUTOSELECT_OPTIONS',\r\n RESET_ACCOUNTS: 'RESET_ACCOUNTS',\r\n SET_LAST_REPORT_DATE: 'SET_LAST_REPORT_DATE'\r\n};","import axios, { CancelTokenSource } from 'axios';\r\n\r\nimport { APIConstants } from \"../constants\";\r\nimport { getAction } from \"../../actions/action\";\r\nimport { SharedActionTypes } from './action-types';\r\nimport AuthService from '../../core/services/auth.service';\r\nimport { IScreenProps } from '../../models/interfaces/shared';\r\nimport { IToDo } from '../../models/interfaces/customer-view';\r\nimport { CommonUtils } from '../../utils/common-utils';\r\n\r\nexport const getAuthRules = (source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(APIConstants.getAuthRules, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: IScreenProps[]) => {\r\n const screens = AuthService.getAllAccessibleScreens(result);\r\n dispatch(getAction(SharedActionTypes.SET_AUTH_RULES, result));\r\n dispatch(getAction(SharedActionTypes.SET_ACCESSIBLE_SCREENS, screens));\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n dispatch(getAction(SharedActionTypes.SET_AUTH_RULES, null));\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getALLAuthRules = (source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(APIConstants.allAuthRules, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: IScreenProps[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\nexport const setCurrentAccessibleScreens = (payload: any) => {\r\n return (dispatch: any) => {\r\n dispatch(getAction(SharedActionTypes.SET_ACCESSIBLE_SCREENS, payload));\r\n }\r\n}\r\nexport const setInnerSpinner = (loading: boolean, message?: string) => {\r\n return (dispatch: any) => {\r\n dispatch(getAction(SharedActionTypes.SHOW_INNER_SPINNER, { loading, message }));\r\n }\r\n}\r\nexport const getStates = async (source: CancelTokenSource) => {\r\n return await axios.get(APIConstants.getStates, { cancelToken: source.token }).then((result: any) => result?.data)\r\n}\r\nexport const saveAuthRules = (payload: any, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(APIConstants.allAuthRules, payload, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(true);\r\n })\r\n .catch((err: any) => {\r\n reject(false);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getAllBureaus = (source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(APIConstants.getAllBureaus, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getAllTypes = (source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(APIConstants.getAllAccountTypes, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getAllLetterTypes = (source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(APIConstants.getAllLetterTypes, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const addTodosShared = (todos: IToDo[]) => {\r\n return (dispatch: any) => {\r\n dispatch(getAction(SharedActionTypes.USER_TODOS, todos));\r\n }\r\n}\r\nexport const toggleToDoShared = () => {\r\n return (dispatch: any) => {\r\n dispatch(getAction(SharedActionTypes.TOGGLE_TODOS));\r\n }\r\n}\r\nexport const hideToDoShared = () => {\r\n return (dispatch: any) => {\r\n dispatch(getAction(SharedActionTypes.HIDE_TODOS));\r\n }\r\n}\r\nexport const navigateToTodosTab = (flag: boolean) => {\r\n return (dispatch: any) => {\r\n dispatch(getAction(SharedActionTypes.NAVIGATE_TODOS_TAB, flag));\r\n }\r\n}\r\nexport const leftMenuOpened = (opened: boolean) => {\r\n return (dispatch: any) => {\r\n dispatch(getAction(SharedActionTypes.LEFT_MENU_OPEN, opened));\r\n }\r\n}\r\nexport const deleteScreen = (name: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.delete(CommonUtils.formatString(APIConstants.useraccessDelete, name),\r\n {\r\n cancelToken: source.token\r\n })\r\n .then((result: any) => result?.data)\r\n .then((result: IScreenProps[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const updateScreen = (name: string, oldName: string, description: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(APIConstants.useraccessUpdate, { oldName, name, description }, {\r\n cancelToken: source.token\r\n })\r\n .then((result: any) => result?.data)\r\n .then((result: IScreenProps[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\nexport const deleteField = (id: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.delete(CommonUtils.formatString(APIConstants.useraccessFieldDelete, id), {\r\n cancelToken: source.token\r\n })\r\n .then((result: any) => result?.data)\r\n .then((result: IScreenProps[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const updateField = (id: string, name: string, description: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(APIConstants.useraccessFieldUpdate, { id, name, description }, {\r\n cancelToken: source.token\r\n })\r\n .then((result: any) => result?.data)\r\n .then((result: IScreenProps[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\nexport const passwordNotStrong = (flag: boolean) => {\r\n return (dispatch: any) => {\r\n dispatch(getAction(SharedActionTypes.PASSWORD_NOT_STRONG, flag));\r\n }\r\n}","export default __webpack_public_path__ + \"static/media/logo.8e7c01ac.jpg\";","export default __webpack_public_path__ + \"static/media/mini-logo.e5c297a0.jpg\";","export default __webpack_public_path__ + \"static/media/avatar.eea92a26.png\";","export default __webpack_public_path__ + \"static/media/avatar2.f3b32987.png\";","export default __webpack_public_path__ + \"static/media/avatar3.2619f13a.png\";","export default __webpack_public_path__ + \"static/media/avatar4.8525d173.png\";","export default __webpack_public_path__ + \"static/media/boxed-bg.f56a6394.jpg\";","export default __webpack_public_path__ + \"static/media/mailchimp_small.f6ea8ec5.svg\";","export default __webpack_public_path__ + \"static/media/mail-chimp.1882e0b4.svg\";","export default __webpack_public_path__ + \"static/media/todo.99abeb9b.svg\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAO4AAAAtCAYAAACpklc4AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAAEnQAABJ0Ad5mH3gAABhGSURBVHhe7Z0JeFbVmceldero2LF1umhrO9Wqo7bTzui01tqOduzYZawiiywK4q4IiqKgoKLgAmSBsC8JkATCEiAQ9p0k7PsaIOz7vhNWyen7e++933e+m5uQYJgngft/nvMA33fu+e455/2/23nv5SoTIkSIKoeQuCFCVEGExA0RogoiJG6IEFUQIXFDhKiCCIkbIkQVREjcECGqICoxcYvM+S/PmdOFR8zJo/tN4ZF9+ufpE4fNl+fOmKKiIrdfZYbM4dxZveeYOcicmAPfhwhxMai0xEWwD+/ZaHIHfmCyPn/SDP3wj2bEp4+baSlvmZ0F882Zk8fcnpUXkHbvpmVmRv93TWa7x8zgDx4xIz970uQN+sjsXr/QJW+IEOVHpSXukT2bzdzML0xy47tNl6dvNJ3r/rNJqn+j6fXSbWZc0nNm35YVbs/Ki4M71po5wz4zPV/4selc/9umUx1nDn0b32XGJjUyp44fdHuGCFE+lErcHfmzzfyRcYFt0ZiuZv/Wlebs6RNu72B8qVZnqVk+JSVwnOVT+pmd6+a5vaM4tGu9yU1rbToJYTs8flWkJdS61oz4rLrZs2Gx27PyYv/WVWZmakvT8YmvxcwhSUg8vN3f1G2+UvDl2dNm+6pcs3Ri72IysH/bagmLzro9Q5QFpRIXi9ep7g2BrcdzPzLzRrQ3R/ZudnsH4/SJI2ZWRhuT0uTfA8dJe+d+s3B0J7d3FAj1+vmjRcAfM6lv/5fp/8YvzYC37jVDP/pfs3hsN3N0/za3Z+VF4ZG9Zk3eEDNE3Hzuvd8bvzCpb91nRn5eXebQVdz9427Pyx+nC4+a2YPbmpSmxeVgTd5QMQCFbs8QZUGpxJ01+OMYS2G3+BrfMANbPGC2r84zRUXn3StiUXT+S3F5N5nUZveppQwaJ6XJz8y84e3dK2JBcgrLu3HReLM6Z5ApmJdl9m5eprFjVcG5MyfN4d0b9d5XzxxoNiwY41iY88FrdrmChFxuWivT68WfFJMB1uVCnluIWFw0cTs8Uc3E1bzGLJvUx5w8dsC9IhYnDu02K6f2N12f+a72DxqnNOICyHvuzCnVyJDAIW0VysYWOdlx7j0yhyvQLQyJW7EoF3GJ1eKe/Adt3mdjOz9rtufPcq+Ixe4Ni8yIdo9HrC3Xxde4JnItrSTiIuCHdq5T4i+d0CvS+DcW7NzZU27PWJw9dcIc3Flg1otlWz65r1k4KlFc+g5mflacuqfLJ6eYLcummKP7tiqhSgMKiezv2lnDzNLxPSQe66j3Ok/+XCRj5edmmF0FC/S4B4L6wRyIc+37p62dnSlz2FDs9+m/bs4IvW+d67QBZsvyqTpX+hKWbFoy0SzTONG5l0Vjuph88UZ25Ofp3C90TMY4h8WLIQxZMr67rg2N+aybM9Ic2Jav45A4WzU9NXLPa3IHm32bl1+0t1PRxMXLOyXrvkNkb/WMdLMoO8nZG7ex1+zbroL57rpc2MNhbdgv1oHrCQVZm6UTeqqndHDHOj0JOLSrwJEJd23YJ+SJOL4k8B198B4xdguyEpx7dX+DzzYuGqe/UZZ7LR9xq19ter9yu8Zq3md9Xvs3EYCecmOxRxss6irZkK4Nvy/Xfd3p+8odEuvdF7mWVhJxERwmyTFQWvNfRxox7tbl0zV2jkCElQXdunKGEnRCt5dM5id/Menv/kZjY36jn8RWxJnp7z5gRn72hJmW/JYKzPGDO9Wl98Dmcd6aL4LKUdSYhKfNkA8e0Tg7pcnPdayUpj/XsQa3fthkx9czs4e0NVtXyD2JcNo4dfyQktS+f9rYhGdEeTiEtMGcx3duZAa993vtl/H+Q2Zc0vMqnMsm9TVTejfVpBZ5Ae9eBjT7T5PR6iGTHVdHEz1ksoMsOsJw7MB2s2rGQDO5V2Mz7OM/u3OS+TCO7AtrO6n7K5pzyJe1GfLB/0TueVT7WhquXGwsWlHERTGdOLzbFMzN0v0Z3fEpWaf/1nXw5uLNh/sfE19f5PgTs2PNbEfBBgDZYW0gz0SZP+vA9d5Yac1/pfI0pXcTs0RIDNE4mvTWZuhHj2oiN+iIEnnat2Wljj2l1+tmeNv/M+nv/EY5ZN9vuuxppnw3qcdrYiR6qpIuTRGU0+J+XQef2P1l+bfj+kLmyT0bqxW0sWfjEjOlT9PItYm1rxPr+zczocvzkc9o3HQQcQsP7xWNn65HQXb/Ls98x6ybPSLGPWfh0azjuzxnejx3i/brWP1rpmuD75r+b/6HEOF3SuLeL/9UrP7V+j33M7DFg6It+8cIzYnDe0SQBpn0Fr81nep8U/viMfR66Sc6BmOx6Cgk+57GJz1ntq3KcUdxgAJYMq57pJ/XuKc1orHP+UhQKL+d1vx+k1jrOu2Hh9Lt2ZvNxB6vmkEinP1ECek9tPydrltinesjY6IcmfsS8QyOH9jhjhgFyb41uUNMqggI+QnnumqGrD1KjTFRaimvO0pumAhjQs1/jIzfVxT0glEJF31+XlHEJfxCqZLwS6z9TxqCxdeQdZL9QBExD5R1F8IzmR9eIsdwKPMty6cF/g7KG8WY3OQe2Wtnzqwn17FXA1s+qOve/00xAq4B6Fzvhsj981tYS4yVH+QzUBwo2o4uZxJE9jjWhKwDRc4wfolPyVzkOzxS5HT+iI5qfUsKq8od406UBViY3dnEI1xu3IrGWzUz3b1KtKJYsBXiPvSTSXvXJTe+SzXWtL5vRj6jVQRxsWwTur1ououQe/0g28gvaogbmWH2ihLZtnKmLmCSkBlS0wfysiEQxgPJtgHN7rOE+ypZ5FvNzLT3lJgcQyFoaHrPk6D1eP4WM6P/O+4oDr4qcbUhmCJMw0XD485uW52jIciyiX2c9XXn4rWRnz9pNi+d5I4YBR7B6I51YvrG17xG54/y2iNjMvc5mZ+bNPnM7kerDMTFayCUGCyW1L6+e6ObxbLWMxsXj5fQZpHu+YhPn5D5RRUP5J7Q9UWzX6yfjfMiqxC6X9NfmDjp4/WHtOlC2HxRdoRLyM+coe1ilL/XgolLbuOsyR30oXqpdn/InzvwQxlzhtm5dq6ZL+uqxHblqaPseafa16sbzslEEMpN3Mk9X1PNndHqYd14Puvy9L+oi8UiADQYFU5xlvBP6PqCbHy8WMWKt7hMbmDL30a0lvaTe0IzHz+4Sy0ybgfux7BP/ira8tvaJ04Wqs/Lt4sW3+WOZNQ9j68ZVUq0wa3/oNntc6dP6ljETLhq3Z69KbLYugZiGW1UBHFZY1w+hOvMqeM6D+8eWMsk3/qkiluHS+vHouwuar3tvv1EWOZlfqGk8dYId5LY1u5HqwzEhRg56a1FkcWeUGSJgt4q60MSU9dG1pX6ACxjtF81UXS/NAtGJ7qjOUA+iI8d0kb3HOuanzNYjYK3NuQlFonRSqr3rUg/WhBxIe2B7WvU7fYTfW7mZypP3l6yppPFjbb3B/ISnpCPCUK5iYvW2rx0svr5nrvAjREHUt5H8mLDwrESE/zVuQaLIZoPH5+AnljMHq8iiMvfsSZ85/XDmo6W+Gbn2nm6OAChnN6vuQjhXXp+2F1cS2IVuxBi64oZoiHvjFnsPq/eofOln5c4QFNmtPqDbhpj9W92b7F5VARx8RyGt31MLYkfU8V7KUZGceNJltgg6ZUnGt5OKtKI0VFusSjSxJXdj1YZiLurYKHJTqgv10QJRpva540Y5Qs2LZmkhTp2PxT2eDEgdvIHV5YiGbsfjTyDJ88e2J9V01KLKcsg4qI8CLkIb6J9q8kefEN5AGltzM+KV0tsj9u38d1auBSEchN3bKeGGujvXDtHNvNOdUH4PPn1u1VIKSqYNaSt+O136ue4nKlv/8psFVdj48JxShR7vIogLouEAJK08aw8lrBbox+YCRKPI4gkNFgsXB5cEBI5ZA4L5o1SwfaAJpyZ+r5aUK/iKfGp61V7zxU3EjcV4UVT40YtGJWoY62Y2l9dKhsVRtx2Qlz5XT+mpbwtyueHMWOz+WTebZD0QmHZ/WgkXNYvyHZ7RbFBPvP3rQzExcsZ1uZPxa7PTW9lzvmIsG11rshqg5h+yATJPTwXL/vOuk7p/XpMPxpeDh7a+fPRzH/JMlmcuF7BCa6118+Jt28wmxZPcHtFgWHzhygYhHkS6wah3MTNjqurJYpYH+I8z8qRCMLqHd6zyYyWPgg7n5P8yJENgxDr52cXW/iKIC4alEUjhkXD2bENk6fAn+TD/m356k6VdmSCO4ymHdW+tsROP1B3mnHYdJI/aHeOBkjtF12giKKyEJdQYmrfZjH9aCQaETg/Kitx8SRIPvmvz8v4qNieckQ5LqlRsb64riQgvZMEjvMm9Xy1WL8hHz5iju3fFgn/QHmIy9+RFS9ZSlNj0vAm9Vj9QPGTBLPH7SBER6aDUG7ijupQ2+xY7ZwZrpw6QDOQfI4b1vulW0UrjtRMGZ+hYXqIYJHUwRKjMYe0fiRmvIogrgc2BJcjWcbU7KAVp3Z//hYzsWdjJSVCZG+IH8Qn1GGjsZW8tospc0pt/msV4mMHduiRju162QiJG0VFEJfza7wq//XIqR8lEddPyEtGXImNOX1Bfrx+GAFKhTkK9COQuNKC5gbKTVwSAbibaCySULhbTjxYTdPzPIIHWenbWYL4zDZ/1vgDjagZwVYPxYxXkcTlnvgcwcv8+C8Oed3r0HadxfqSiV06sZdazJLhZAQp1+TeyPjZ94D7D2Eg1LaVOeoWBSEkbhQVQlwJcTg39V8fEteHIOJy3EAGT4VbAvfc9Nbix9+m3+nZqUzCyzaz2Rzme5u9dlamnoPa41UkcQHu66ljBzUOpzACknCcoteLBYbMnFVOE0H2n7v6wfyIc7hvzmmTiHtl8RkLZcVTPuktHjSLx3XTjKMfIXGjqBDiShxI8YL/+vIR94/qKV1yV1mIyylDJSJudT2a8EC8h9X198O9pOrJLpNDWP03VzHEdSwkSSYE4Kz+WWgO7Swwyyb31di75wv/ao1TTQToVq2S2bFmTiTrDHB7SWJxPWMxZqHE85xx5mW00fuHsJGxxHV2nnBKVAtto/Ikpw5dFsmpVdPTNNvrv559KXuM+6jui5ef4Pya+gJ/v6+cnJK/Yxx6PP+jSD+NcZ+9WWLc4kc8QcSluAnjE4SvTFy0F0LB8YvdjyCcBXFI4SzqpSIuRMPCrp09XIVg7ZzhDiHPnlHibVkx3Uzp86ZJfv2emEN2hJ6qL7vskTiZJBpnoYzFof7Bnet0o08ePaC1ziM/rxEJB7xGXL98crIoEGujKwlxScjlDfowZu60jMDjIKPzt/vRKgNxOQEIyirnBGSVtwdklTEmlLs6tcuOTB7YttrkpL4X049W4nGQKI+yEPeMhE9ewYbXj5wP4ePGErLKVFLZ49KXEt4gfGXiAs6akhvfE9MvQ2JZNsTGpSIuGW7O7Hi7hPYhwx1fL+Z8ljJAiuq7NPyeWklnvGqmW4ObVDuzmSgYtCHnu55LDMns54XZcJQCJXTecREtHqH49AmtofaSVZWFuIAiA/+ZL7E7z1xDGgTUKQY4qvtm96NVBuJS1podXz8m6UjjPBuFa4PMbZYoWLtfl2eKF8lQQsmDGv4iCacAI0O9FW9tjuzZaBaP6WqS3AIerwURF4+NefV/I1rXT8OKIr94iDYWZMVHEr1e4xl2EsBBqBDiUoxAyaHXp70sLAvkdx0vFXE5o02RBfJia+JYis55Z5Xn6mBRSUhRLkc5W2Q8iVs5EIfkWEsSaB5paV0bfN9M7tVExolmjtlEtL/GvJYSYOxD1lM/lYm4VIQxjt3XK3lcNSNNrQvn0Aixv6SQVhmIi1JkjIQa0aQjLeuLmjH5CpQrR0d+0hDS8AYOG8SwkLz3y7fHkNcreUQ2eIMLylqLJETZ+QtZgoiLDHAEynvGkA27/5xhn8ZwA2+OhwsYx+43Tp+8y3N7xaJCiItWgrwIKY3HoJio/+mXS0VcYlAqtXAt6AOZ0IrjOjfSe4FkbMCcoZ+a7hJzeAvPn31evVNJgUuNpdy8ZJImFDzykkFms3IGfqBuZcH80ephED/xnbcpnet+y4zr1NCcFsGujBYXy0IclSzfRwXPfchABBzXkL0hnEh6+jsmTiyDPe6lJC45iNlD2qkc+BtrzfvFsFAo3w3ixg/3qvLcxn5lta+l8+aFBZQlIg/eQyI0vLHpsl6HdhW4dxQFb1NBYVGT7uypE49CXgyAro2EQqxN53o3xnhatCDiihCoTEFSrrP7Y1kpCcaiIwfUM8ODqFxebXq/dJsqtNhcThQVQlwElTgKQaVhvfxCCS4VcdHWaFgSChHyVv+aLijHB8RFlGRSm+vFeZRrprd4QBeW+/XIxmNxvJWR2CRqwa81vV6+TWuWeRyO6+ykA+QZ3bGuPsJnJ0kqE3ERel7Ah8UZk/iMWNr7VVB5qobWUwjF0zWjOzwlFqyWKj5bQC8lcZkD5X3Igr8hb5AREgByKqtmpGshBWTUAhm5T+QC2RrW5lElG54UY1Ni2FeUM7kMHrSwE5EeyJFgAaljHh1XR9eB++za4HvaODXhySlqhzEG+lSSdf+BxHXBU3K81ZM916etxBuFoIw5uNXDKpe9X/mpSah9rX6H/PLUGiW2nFR4culHqcTlETG0g92IJ3YFvNytLKB+lJJJezw2JqgekyMdMtb6GJ3VH+1H4bX9bCWTY9GojkIo2UDcJISNJzMQUBaKGmViF8akH6WP/udxEZAD2/NNTlprJQzEx+Ky+WhBxuojY3KkxAbjVnLUQsKB+NAGnggPZNj3T6OIhbVA2dlAGY2Jq68lol5ffoMkHzW1flBqqQrJGpsnovAwAuFagV3r5msyhKM8nvFl/Jy093W/yZ6vzRumxxZe1RiNtVyYHT3aKy8owFk0JkkU359i7vdCjboBSlY94gKOt0hAUjePMoUUutfsjxAOpYuVo1Ams+1jZvbgT9TdtcfwA4VLKSQuN+vAevD87BQJk6jzJvGI3FGuqG90sYjLv3nBAcqpOIr0eVzyJMyF0ITnuXk2HVly5OkOneuglr83YxMbmuUixyh9+yjKj1KJy2SxZHZDa/kLussK0uvEWvZ4aNOgV60i1Ggc3FO7P/8+um+LaskgIPyczeFm8PghFhWNR+nYwuwkvX7PxsVKqgsBC0X8s3xKsmb3Zg1qo5tIQocqng0LxmofPwE9ECpgwe37p3EEc2TvlpijBsA4PKCxemZ6pC+PS/IWjCCXaff6BWq5Y8YWISfO9gPBxNogXF5DkIM0OgLao9EPY2J9rB9kd5J45Qe/zSOREM6+3ws15nN49/pI3iAC5nP2jD6yyQv5eNPJrIyPRBm10mwuD7yjHElK2oo5CMSYrD2FNM7aHA30GFFa1DBQ3msTF4+FLDbELwmQEJnj+hViqPAy8yT8yhPlyRNaK6enqdyWRS5BqcQlm4YbajcIc6GFKAkIKgtkj4fw+DNsCtkYNss7T422QkcTyfdBQBAREvqx0KTlvc1A6/M535fkgtjg9yEfwspY3sZiWfnMuXcRqBLuJToH+/7d63ykVUh/Z33sORc6ZZVWcswD80DAio3tF3LBWREq8hC4q16jBLW4QihS5Zr41DdjXGUSO+pqlqAwLwxHcXB/9v1eqJU0H4Wsl73XnkJiz5kva1kWWWUNyG1gmVkX3kq6RrwOPzgOpBjHc8Np+lYYsfDU6F9QQSCbsn6OPHly6cqTzLWscglKJW6IyweEBJR64kp6Lat9TfFAMlSQ1CKLUHHkQjiEQHrCScEJIQ5JwCAFUtVxeNcG9xXCP3PWRsIqKgQp7UUpoCDU2oriyo6vG1Oz0F08k0k9X3MVYAkK/BIgJO4VAlwwkjr2w//8nSQPz6MiuLiZvEOL/z3CJi3noRyT2Ym3ywl6xj+uuxYNeV5GV/k7MSmxLmszc0BLTdxReOOtn755I+Fps13i4ov3RC4OIXGvEOCCkUvgDSYk3CgB5Ryat4aQPeddR7SEWtcpWXu88GPNzo5JbKCkxeJcrsAd55U2JIYGNLtXTwxYA7LH/rXBTcYq86YRahVIoJbVva1IhMS9goCbSxHDurkjzYwBLcQdrGEGtnRefpfS1GkcR/Gw+bR+zc1aIezxQ7svW0trg/i08MgePVudltxM3/HFsQzPd9trw9NvOanva3bZX631/4mQuFcYsA5YGAjM+TVHK1SeUaChTYSRzzluo9/FJiKrIpgrMS1Hi6WvDRn5siW+LhVC4oYIUQUREjdEiCqIkLghQlRBhMQNEaIKIiRuiBBVECFxQ4SocjDm7yg5OOfS8IbjAAAAAElFTkSuQmCC\"","export default __webpack_public_path__ + \"static/media/eqf-sm.6a2a8b8e.svg\";","export default __webpack_public_path__ + \"static/media/eqf-md.c7deaa74.svg\";","export default __webpack_public_path__ + \"static/media/exp-sm.ea696f98.svg\";","export default __webpack_public_path__ + \"static/media/exp-md.a4a57bb4.svg\";","export default __webpack_public_path__ + \"static/media/tu-sm.f29afa96.svg\";","export default __webpack_public_path__ + \"static/media/tu-md.8b88c025.svg\";","export default __webpack_public_path__ + \"static/media/chatgpt.cde5ead5.svg\";","\r\nimport React from 'react';\r\nimport { EnumBureausShorts, Outcome, AutoSelectTypesForLetters } from '../models/enums';\r\nimport { ICheckboxList, IValueText } from '../models/interfaces/shared';\r\nimport { BureauLogoComponent } from './components/bureau-logo';\r\n\r\nexport const Constants = {\r\n authSessionKey: 'auth',\r\n siteLogoPath: '/images/logo/{0}/SiteLogo.jpeg',\r\n siteLogoMiniPath: '/images/logo/{0}/SiteLogoMini.jpeg',\r\n officeLogoPath: '/images/logo/{0}/offices/{1}/OfficeLogo.jpeg',\r\n officeLogoMiniPath: '/images/logo/{0}/offices/{1}/OfficeLogoMini.jpeg',\r\n};\r\nexport const APIConstants = {\r\n auth: '/login',\r\n configuration: '/configuration',\r\n getStats: '/stats',\r\n getCustomers: '/customer',\r\n getCustomer: '/customer/{0}', //{customerid}\r\n getCustomerMinimaldetails: '/customer/{0}/minimaldetails', //{customerid}\r\n getCustomersAndLeads: '/CustomersLeads/{0}', // {customerSelected}\r\n saveFeeDetails: '/customer/updatefeeinfo',\r\n saveCreditMonitoring: '/customer/updatemonitoringdetail',\r\n getCreditMonitoring: '/customer/getmonitoringdetail/{0}/{1}', // {customerId}/{typeOfClient}\r\n saveGeneralNotes: '/customer/updategennotes',\r\n updateUserName: '/customer/updateusername',\r\n updatePassword: '/customer/updatepassword',\r\n updateLockOrUnlockCustomerUser: '/customer/lockorunlockuser',\r\n updateLockOrUnlockAgentUser: '/franchiseAgents/lockorunlockuser',\r\n updateLockOrUnlockReferralAgentUser: '/ReferralAgent/lockorunlockuser',\r\n checkS3Files: '/customer/GetS3JSONRecentFiles',\r\n getS3SingleFile: '/customer/gets3jsonfiledata',\r\n adminsettings: '/customer/adminsettings',\r\n submitRounds: '/customer/submitrounds',\r\n submitQuery: '/customer/submitquery/{0}',\r\n saveCreditScore: '/customer/savecreditscore',\r\n customerFranchAgents: '/customer/franchiseagent',\r\n customerReferAgents: '/customer/referralagent',\r\n updateCustomerAgent: '/customer/agent',\r\n disputeProgress: '/customer/getdisputeprogressstatistics/{0}', // {0} cid\r\n resendWelcomeEmail: '/customer/resendwelcomeemail/{0}', // {0} customerid\r\n submitToProcessing: '/customer/SubmitToProcessing/{0}', // {0} customerid\r\n submitToArrayReport: '/customer/arraysubscription/{0}', // {0} customerid\r\n creditmonitoringsubscription: '/customer/creditmonitoringsubscription/{0}', // {0} customerid\r\n getcurrentscore: '/customer/getcurrentscore/{0}', // {0} customerid\r\n getAccountsNumberByType: '/customer/getaccountsnumberbytype/{0}', // {0} customerId\r\n getAccountsNumber: '/customer/getaccountsnumber/{0}', // {0} customerId\r\n sendPORneeded: '/customer/sendporneeded/{0}', // {0} customerid\r\n removeSpouse: '/customer/removespouse/{0}/{1}', // {0} customerid {1} soupseid\r\n fastEditAccounts: '/customer/getaccounts',\r\n customerReferralAgents: '/customer/referralpartners/{0}', // {0} customerid {1} \r\n addUpdateCustomerReferralAgents: '/customer/referralpartners/{0}/{1}/{2}', // {0} customerid {1} -agentid,{2} rolename\r\n deleteCustomerReferralAgents: '/customer/referralpartners/{0}/{1}', // {0} customerid {1} -agentid\r\n toDos: '/todo/{0}/{1}', // {0} cid, {1} enum ToDoTargetTypes\r\n toDoUpdate: '/todo/{0}', // {0} todoid\r\n getCustomersCount: '/dashboard/customer',\r\n getFranchiseAgentsCount: '/dashboard/franchise',\r\n getReferralAgentsCount: '/dashboard/referral',\r\n getCustomerLettersCount: '/dashboard/customerLetter',\r\n getRolesCount: '/dashboard/role',\r\n getFranchiseAgents: '/common/franchiseagents',\r\n getReferralAgents: '/common/referralagents',\r\n getStates: '/common/states',\r\n checkPartnerkey: '/common/checkpartnerkey/{0}', // {officeid}\r\n checkAPIActive: '/common/checkapiactive/{0}', // api name {MailChimp}\r\n searchCollection: '/common/search/{0}?q={1}&l={2}', // {0} enumb CollectionEntryTypes,{1} text,{2} maxrecords\r\n getAllBureaus: '/common/bureaus',\r\n getAllAccountTypes: '/common/accounttypelist',\r\n getAllCollections: '/collectionentry/getAllCollections/{0}/{1}', //type, textSearch\r\n getAllLetterTypes: '/common/disputeLetterTypes',\r\n getAllSystemTypes: '/collectionentry/systemTypes',\r\n getAccountsCounterByType: '/collectionentry/GetAccountsByTypes/{0}/{1}', //id, type\r\n updateCollectionAndType: '/collectionentry/updateSystemTypes/{0}/{1}/{2}', // id, name, type\r\n updateTypeInAccount: '/collectionentry/updateTypeInAccount/{0}/{1}/{2}', // oldId, newId typeOfType\r\n createCollection: '/collectionentry/createSystemTypes/{0}/{1}', //name, type\r\n getRoles: '/',\r\n getCustomerLetters: '/',\r\n getCreateLetterVersion: '/letter/getcreateletterversion/{0}', // {siteId}\r\n updateCreateLetterVersion: '/letter/updatecreateletterversion',\r\n getScoringRoundStatuses: '/scoring/statuses',\r\n checkSubscriberListsByEmail: '/mailchimp/checkSubscriberListsByEmail',\r\n getMailchimpLists: '/mailchimp/getMailchimpLists',\r\n checkSubscriberCampaignsByEmail: '/mailchimp/checkSubscriberCampaignsByEmail',\r\n setMailchimpList: '/mailchimp/setMailchimpList',\r\n getAPIIntegrations: '/mailchimp/getAPIIntegrations',\r\n setAPIActive: '/mailchimp/setAPIActive',\r\n updateAPIKey: '/mailchimp/updateAPIKey',\r\n updateRound: '/scoring/round',\r\n deleteRound: '/scoring/round/{0}',\r\n addNewRound: '/scoring/addNewRound/{0}', // cid\r\n saveClientNote: '/note',\r\n processingNote: '/internalnote',\r\n getCannedNotes: '/cannednote/{0}', // noteType {0}\r\n createCannedNote: '/cannednote?note={0}¬eType={1}',\r\n collectionAccount: '/collectionaccount',\r\n account: '/account?accountId={0}&customerId={1}',\r\n file: '/file',\r\n updateFile: '/file?fileId={0}&filetype={1}&isLead={2}',\r\n disputeletter: '/disputeletter',\r\n letter: '/letter',\r\n downloadFileLetter: '/file?filePath={0}', // {0} file path coming from BE,\r\n downloadLastReport: '/finandgetlastfilereport?customerId={0}', // {0} file path coming from BE,\r\n updateCollectorAddress: '/fastedit/updateaddress',\r\n addCollectorAddress: '/fastedit/addaddress',\r\n getCollectorAddressByData: '/fastedit/getaddressbydata/{0}/{1}/{2}/{3}/{4}', //{0}collectorid / {1}address1 / {2}city / {3}state / {4}zip\r\n deleteCollectorAddress: '/fastedit/deleteaddress',\r\n saveFEAccounts: '/fastedit/saveaccounts',\r\n saveFEAccountsMini: '/fastedit/saveminiaccount',\r\n updateYellowAccount: '/fastedit/removeupdated/{0}', // {0} ccid\r\n addNewAccount: '/fastedit/createnewaccount',\r\n getFELetterData: '/fastedit/getletterdata/{0}', // {0} cid\r\n getFEFullAccountDetails: '/fastedit/getaccountdetail/{0}',// {0} ccid\r\n saveFullAccountDetails: '/fastedit/fullsave',\r\n deleteBureauDetail: '/fastedit/deletebureau/{0}/{1}', // {0} cabid {1} ccid\r\n getPDFDisputeLetters: '/disputeletter/{0}', // {cid}\r\n getTempLetterQueue: '/letter/tempqueue/{0}', // {cid}\r\n letterSearch: '/letter/{0}?query={1}',\r\n getLetterTemplatesSuggestions: '/lettersuggestions/{0}/{1}', //{0}{searchType} {1}{round}\r\n createCredBCCLetter: '/letter/createcredccbcctempletter',\r\n createCRALetter: '/letter/createsingletempletter',\r\n createBureauLetter: '/letter/createtempletter',\r\n deleteTempLetter: '/letter/deletetempletterqueue',\r\n saveTempLetter: '/letter/savequeueletter',\r\n ccList: '/letter/CCList/{0}', // {0} cid\r\n createPDFLetter: '/letter/createpdfletters',\r\n restartRound: '/letter/startrestartround',\r\n setRounds: '/letter/setrounds',\r\n sendNoticeAccUpdate: '/letter/sendNoticeAccUpdate',\r\n regenerateNoticeAccountUpdate: '/letter/regeneratenoticeaccountupdate/{0}', // {0} cid\r\n getAuthRules: '/viewaccess/byrole',\r\n allAuthRules: '/viewaccess',\r\n useraccessDelete: '/ViewAccess/DeleteScreen/{0}', // screen name\r\n useraccessUpdate: '/ViewAccess/UpdateScreen',\r\n useraccessFieldDelete: '/ViewAccess/DeleteField/{0}', // field id\r\n useraccessFieldUpdate: '/ViewAccess/UpdateField', // \r\n importSave: '/importer',\r\n reImportSave: '/reimporter',\r\n getS3JSONFileData: '/importer/getS3JSONFileData?fileName={0}', // filename\r\n freeTrialImporter: '/importer/getFreeTrialCredit',\r\n getLastReportImportedDate: '/importer/GetLastReportImportedDate/{0}', // customerId\r\n forgotPasswordLInk: '/userAccount/sendResetPasswordLink',\r\n verifyResetLink: '/userAccount/verifyResetPasswordLink',\r\n resetPassword: '/userAccount/resetPassword',\r\n updateLastLoginDate: '/userAccount/updateLastLoginDate',\r\n franchiseOffices: '/franchiseOffices',\r\n getFranchiseOfficeDetails: '/franchiseOffices/{0}', // {0} office id\r\n getFranchiseOfficeAgents: '/franchiseOffices/{0}/agents', // {0} office id\r\n getCurrentOfficeAgents: '/franchiseOffices/currentOfficeAgents',\r\n getFranchiseSingleAgentDetails: '/franchiseAgents/{0}', //{0} agentid\r\n updateFranchiseAgent: '/franchiseAgents',\r\n getFranchiseAgentRoles: '/franchiseAgents/roles',\r\n getFranchiseOfficeServices: '/franchiseOffices/{0}/services', // {0} office id\r\n getFranchiseOfficeOutsourcedServices: '/franchiseOffices/{0}/services', // {0} office id\r\n createFranchiseOfficeServices: '/franchiseOffices/services', // {0} office id\r\n deleteFranchiseOfficeServices: '/franchiseOffices/{0}/services/{1}', // {0} office id,{1} service id\r\n getFranchiseOfficePayments: '/franchiseOffices/{0}/payments', // {0} office id \r\n deleteFranchiseOfficePayment: '/franchiseOffices/{0}/payments/{1}', // {0} office id,{1} paymentid \r\n getLeads: '/lead/getall', // {0} --query\r\n getSingleLeads: '/lead/{0}', // leadid\r\n resendLeadWelcomeEmail: '/lead/resendwelcomeemail/{0}', // {0} leadid\r\n addLead: '/lead',\r\n convertToCustomer: '/lead/ConvertToCustomer/{0}/{1}', // {0} --leadid,{1}- notify agent?\r\n leadCreditMonitoring: '/lead/CreditMonitoring',\r\n leadAgentUpdate: '/lead/agent',\r\n removeLeadSpouse: '/lead/removespouse/{0}/{1}', // {0} leadid {1} soupseid\r\n getFranchiseAgentsList: '/franchiseAgents/getall', // {0} --query\r\n getFranchiseAgentNotes: '/franchiseAgents/notes/{0}', // {0} --membershipid of agent or note id to delete\r\n addFranchiseAgentNote: '/franchiseAgents/notes',\r\n getFranchiseAgentCustomers: '/franchiseAgents/{0}/customers', //0- agent id\r\n getFranchiseAgentReferrals: '/franchiseAgents/{0}/referralPartners', //0- agent id\r\n franchAgentWelcomeEmail: '/franchiseAgents/ResendWelcomeEmail/{0}',\r\n referralOffices: '/referralOffices',\r\n getReferralOfficeDetails: '/referralOffices/{0}', // {0} office id\r\n getReferralOfficeAgents: '/referralOffices/{0}/agents', // {0} office id\r\n getReferralOfficeAgentDetails: '/referralAgent/{0}', // {1} agentid\r\n reassignReferralOffices: '/referralOffices/reassign/{0}/{1}', // {0} current id,{1} asign to id\r\n updateReferralAgent: '/referralAgent',\r\n getReferralSingleAgentDetails: '/referralAgents/{0}',\r\n referralAgentChangePassword: '/referralAgent/ChangePassword',\r\n resendWelcomeAgentEmail: '/referralAgent/ResendWelcomeEmail/{0}',// agent id\r\n resendFollowUpAgentEmail: '/referralAgent/ResendFollowUpEmail/{0}',// agent id\r\n getReferralAgentsList: '/referralAgent/getall', // {0} --query\r\n getReferralAgentCustomers: '/referralAgent/{0}/customers/{1}', //0- agent id, 1- type 0/1\r\n getAllEmailTemplates: '/lettertemplate/getall',\r\n getAllEmailTemplatesSearch: '/lettertemplate/getallsearch/{0}',\r\n getAllSubFieldsForSection: '/lettertemplate/getSubSectionTypes/{0}', // accounts/names/inquires\r\n getFinalCollectionToken: '/lettertemplate/getFinalCollectionToken',\r\n emailTemplate: '/lettertemplate/{0}', /// letter id\r\n emailTemplateUpdate: '/lettertemplate',\r\n emailTemplateCustomerTokens: '/lettertemplate/getCustomersFieldTokens',\r\n emailTemplateFieldTokens: '/lettertemplate/getFieldsTokens',\r\n emailTemplateGenerateHTMLPreview: '/lettertemplate/GenerateHTMLPreview',\r\n getEmailTemplatesByOfficeId: '/lettertemplate/GetEmailTemplatesByOfficeId/{0}', // office id\r\n setEmailTemplateActive: '/lettertemplate/SetEmailTemplateActive/{0}/{1}/{2}', // ofc id, letter IdleDeadline, active/or not\r\n getEmailTemplatesById: '/lettertemplate/GetEmailTemplatesById/{0}',\r\n updateOfcEmailTemplate: '/lettertemplate/UpdateOfcEmailTemplate',\r\n getSavedSampleTemplates: '/lettertemplate/GetSavedSampleTemplates/{0}', // email type\r\n getOfficeLeadFormOptions: '/lettertemplate/GetOfficeLeadFormOptions/{0}', // ofc id\r\n updateOfficeLeadFormOptions: '/lettertemplate/UpdateOfficeLeadFormOptions/{0}', // ofc id\r\n createOfficeLeadFormOptions: '/lettertemplate/CreateOfficeLeadForm/{0}', // ofc id\r\n emailTemplateOptions: '/lettertemplate/emailTemplateOptions/{0}/{1}', // templateid and data type\r\n removeEmailTemplateOptions: '/lettertemplate/emailTemplateOptions/{0}', // id\r\n getPublicToken: '/GetAccessToken/{0}', // tenant name\r\n getSiteLogos: '/media/getSiteLogos',\r\n uploadLogo: '/media/upload',\r\n removeLogo: '/media/delete/office/{0}', // 0 ofc id\r\n allOutsourcedServices: '/service/getall',\r\n outsourceFranchiseService: '/service',\r\n collectionEntry: '/collectionEntry',\r\n getFranchiseMasterServices: '/service/getall',\r\n createFranchiseMasterServices: '/service',\r\n franchiseMasterServiceLevel: '/servicelevel',\r\n franchiseMasterServiceAdons: '/serviceAddOn',\r\n getFranchiseMasterServiceCategories: '/ServicePricing/{0}', // serviceid\r\n saveFranchiseMasterServiceCategories: '/ServicePricing',\r\n removeFranchiseServiceCategory: '/ServicePricing/category/{0}',\r\n removeFranchiseServiceCategoryLevel: '/ServicePricing/level/{0}',\r\n removeFranchiseServiceCategoryLevelOption: '/ServicePricing/addons/{0}',\r\n getFranchiseOfficeAvailableServices: '/FranchiseOfficeServicePricing/GetAllServicesAvailable/{0}',\r\n getCustomerAvailableServices: '/UserServicePricing/GetAllServicesAvailable/{0}/{1}', // {0} as FrancficeId, {1} as Cid/lid\r\n getFranchiseOfficeAvailableCategories: '/FranchiseOfficeServicePricing/Get/{0}/{1}', // {0} franchise office id, {1} master serviceid\r\n getFranchiseOfficeUserAvailableCategories: '/UserServicePricing/Get/masterserviceid/{0}/franchiseOfficeId/{1}/userId/{2}', // {1} franchise office id, {0} master serviceid, {2} user id\r\n saveCatogoryForFranchiseOffice: '/FranchiseOfficeServicePricing', \r\n removeCategoryFromOffice: '/FranchiseOfficeServicePricing/ServicePricing/{0}', // servicePricingId\r\n removeAddOnFromOffice: '/FranchiseOfficeServicePricing/addons/{0}', // pricingAddOnId\r\n removeLevelFromOffice: '/FranchiseOfficeServicePricing/Level/{0}', // pricingLevelId\r\n getFranchiseOfficeAllPricings: '/FranchiseOfficeServicePricing/GetAll/{0}', // office id\r\n savePricingCatogoryForUser: '/UserServicePricing',\r\n removeServicePricingForUser: '/UserServicePricing/ServicePricing/{0}', // 0 - servicePricingId\r\n removeServiceAddOnForUser: '/UserServicePricing/addons/{0}', // 0- userServicePricingAddOnId\r\n getCreditReportForUser: '/CreditReport/{0}/{1}', // user id and boolean for email send ?\r\n getCreditReportForUserFromIQHtmlReport: '/CreditIQReport/{0}/{1}', // user id and boolean for email send ?\r\n fetchReport: '/arrayreport/fetch/{0}/{1}', //userId // isLead\r\n getDateOfLastRequestFetchReport: '/arrayreport/getdateoflastrequest/{0}', //userId\r\n getLoginListHistory: '/userAccount/getLogins'\r\n};\r\nexport const ClientRoutesConstants = {\r\n notFound: '/notFound',\r\n unauthorized: '/unauthorized',\r\n dashboard: '/dashboard',\r\n login: '/login',\r\n logout: '/logout',\r\n forgetPassword: '/forget-password',\r\n register: '/register',\r\n security: '/security',\r\n customers: '/customers',\r\n customersAdd: '/customers/add',\r\n customersView: '/customers/:cid',\r\n fastEditAccounts: '/fasteditacounts/:cid',\r\n editTypes: '/admin/edit-types',\r\n createLetter: '/createletter/:cid',\r\n reportImporter: '/reportimporter/:cid/:type?',\r\n leads: '/leads',\r\n leadAdd: '/leads/add',\r\n leadAddPublic: '/public/leads',\r\n viewLeads: '/leads/:id',\r\n referralAgents: '/referral-agents',\r\n addReferralAgent: '/referral-agents/add',\r\n viewReferralAgents: '/referral-agents/:id',\r\n referralOffices: '/referral-offices',\r\n addReferralOffice: '/referral-offices/add',\r\n viewReferralOffices: '/referral-offices/:id',\r\n franchiseAgents: '/franchise-agents',\r\n viewFranchiseAgents: '/franchise-agents/:id',\r\n addFranchiseAgent: '/franchise-agents/add',\r\n franchiseOffices: '/franchise-offices',\r\n viewFranchiseOffices: '/franchise-offices/:id',\r\n addFranchiseOffice: '/franchise-offices/add',\r\n emailTemplates: '/letter-templates',\r\n viewEmailTemplates: '/letter-templates/:id?',\r\n addEmailTemplate: '/letter-templates/add',\r\n portalIntegration: '/portal-integration',\r\n affiliateSignup: '/affiliate-signup',\r\n cbReportViewer: '/cb-report-viewer/:cid/:date',\r\n adminUserAccess: '/admin/user-access',\r\n htmlParser: '/htmlParser',\r\n passwordReset: '/reset-password/:token/:uid',\r\n masterData: '/master-data',\r\n myTasksAgents: '/franchise-agents/todo',\r\n myTasksReferralAgents: '/referral-agents/todo',\r\n loginHistory: '/admin/login-history',\r\n}\r\nexport const AccountOutcomes: IValueText[] = [\r\n {\r\n value: '',\r\n text: '- Select -'\r\n },\r\n {\r\n value: Outcome.REPAIRED,\r\n text: Outcome.REPAIRED\r\n },\r\n {\r\n value: Outcome.DELETED,\r\n text: Outcome.DELETED\r\n },\r\n {\r\n value: Outcome.IN_PROGRESS,\r\n text: Outcome.IN_PROGRESS\r\n },\r\n {\r\n value: Outcome.IN_DISPUTE,\r\n text: Outcome.IN_DISPUTE\r\n },\r\n {\r\n value: Outcome.DO_NOT_DISPUTE_BY_CONSUMER,\r\n text: Outcome.DO_NOT_DISPUTE_BY_CONSUMER\r\n },\r\n {\r\n value: Outcome.VerifiedByFCRA,\r\n text: Outcome.VerifiedByFCRA\r\n }\r\n];\r\nexport const Messages: any = {\r\n APIAborted: 'API aborted as component unmounted',\r\n EmptyEmailChimp: 'Email Address not listed for this lead. Enter an email address for the lead, and Save your changes first',\r\n InValidEmailChimp: '{0} is not a valid email address. Enter a valid email address for the lead, and Save your changes',\r\n MailChimpNotSubscribed: 'Not yet subscribed to Mailchimp. Choose from your lists below and click Save',\r\n GenericError: 'Some Error occured! Please try again later.'\r\n};\r\nexport const Variables = {\r\n MIN_PWD_LENGTH: 8,\r\n EMPTY_GUID: '00000000-0000-0000-0000-000000000000',\r\n EMPTY_DATE1: '1/1/0001',\r\n EMPTY_DATE2: '1/1/1900',\r\n STANDARD_FASTRACK: 'Standard and Fast Track',\r\n BUREAU_LIST1: [\r\n { value: EnumBureausShorts.EQF, text: },\r\n { value: EnumBureausShorts.EXP, text: },\r\n { value: EnumBureausShorts.TU, text: },\r\n { value: EnumBureausShorts.CREDITOR, text: () => EnumBureausShorts.CREDITOR }\r\n ],\r\n // BUREAU_LIST2: [\r\n // { value: EnumBureausShorts.CREDITOR, text: () => EnumBureausShorts.CREDITOR },\r\n // { value: EnumBureausShorts.CC, text: () => EnumBureausShorts.CC, disabled: true },\r\n // { value: EnumBureausShorts.BCC, text: () => EnumBureausShorts.BCC, disabled: true }\r\n // ],\r\n EmailTemplatesTypes: {\r\n WelcomeEmail: 'Welcome Email',\r\n AgentWelcomeEmail: 'Referral Agent Welcome Email',\r\n LeadWelcome: 'Lead Welcome Email',\r\n ReminderEmail: 'Reminder Email',\r\n PullEmail: 'Pull Email',\r\n NoticeAccUpdate: 'Account Update',\r\n FollowupEmail: 'Affiliate Agent Followup Email',\r\n },\r\n EmailTemplatesNames: {\r\n CustomerWelcome: 'Welcome Email',\r\n ReferralAgentWelcome: 'Referral Agent Welcome Email',\r\n LeadWelcome: 'Lead Welcome Email',\r\n Email15Days: '15 Day Email',\r\n Email35Days: '35 Day Email',\r\n NoticeAccUpdate: 'Notice of Account Update Email',\r\n NoticeAccUpdateDeletes: 'Notice of Account Update With Deletes Email',\r\n FollowupEmail: 'Affiliate Agent Followup Email'\r\n },\r\n ClientLoginMessage: `We appreciate the opportunity to serve you and we will work diligently to help you reach your credit goals.
    \r\n Your first step each time you login is to check if you have any Client Tasks that need to be completed.
    \r\n The sooner you complete your tasks, the sooner we can complete your program.

    \r\n See if you have any assigned To Do’s toward the bottom of your Client Info tab.
    \r\n We will continue to send reminders until your To Do’s are completed.


    \r\n \r\n Thank you again for allowing us to serve you.`,\r\n EmailSourceTypes: {\r\n FRENCHISE_AGENT: 'FRENCHISE_AGENT',\r\n REFERRAL_AGENT: 'REFERRAL_AGENT',\r\n SENDER: 'SENDER'\r\n },\r\n AutoSelectAccountsForLetters: [\r\n { value: AutoSelectTypesForLetters.PersonalInfo, text: () => AutoSelectTypesForLetters.PersonalInfo },\r\n { value: AutoSelectTypesForLetters.Collections, text: () => AutoSelectTypesForLetters.Collections },\r\n { value: AutoSelectTypesForLetters.Inquiries, text: () => AutoSelectTypesForLetters.Inquiries }\r\n ]\r\n}\r\n\r\nexport const EmailSourceTypesList: ICheckboxList[] = [\r\n {\r\n text: 'Credit Agents',\r\n value: Variables.EmailSourceTypes.FRENCHISE_AGENT,\r\n },\r\n {\r\n text: 'Affiliate Agents',\r\n value: Variables.EmailSourceTypes.REFERRAL_AGENT,\r\n }\r\n];\r\nexport const HTTP_ERROR_CODES = {\r\n BADREQUEST: 400,\r\n INTERNALERROR: 500,\r\n UNAUTHORISED: 403,\r\n NOTFOUND: 404,\r\n}\r\n\r\nexport const PASSWORDSTRENGTH = [\r\n {\r\n id: 0,\r\n value: \"Too weak\",\r\n minDiversity: 0,\r\n minLength: 0\r\n },\r\n {\r\n id: 1,\r\n value: \"Weak\",\r\n minDiversity: 2,\r\n minLength: Variables.MIN_PWD_LENGTH\r\n },\r\n {\r\n id: 2,\r\n value: \"Medium\",\r\n minDiversity: 4,\r\n minLength: Variables.MIN_PWD_LENGTH + 2\r\n },\r\n {\r\n id: 3,\r\n value: \"Strong\",\r\n minDiversity: 4,\r\n minLength: Variables.MIN_PWD_LENGTH + 4 // 10\r\n }\r\n]\r\n\r\nexport const PageErrors = {\r\n commonErrors: {\r\n firstName: 'First Name, ',\r\n lastName: 'Last Name, ',\r\n email: 'Email, ',\r\n emailOrUsername: 'Email/Username, ',\r\n passwordRequired: 'Password, ',\r\n validPassword: 'Valid Password, ',\r\n confirmPassword: 'Confirm Password, ',\r\n validConfirmPassword: 'Valid Confirm Password, ',\r\n usernameRequired: 'Username, ',\r\n passwordMatch: 'Passwords do not match!'\r\n },\r\n clientPageErrors: {\r\n processingStatus: 'Processing Status, ',\r\n franchiseId: 'Credit(Franchise) Agent, '\r\n },\r\n leadsPageErrors: {\r\n cellPhone: 'Cell Phone, '\r\n },\r\n companyOfficeErrors: {\r\n officeId: 'Office Name, ',\r\n role: 'Role, ',\r\n\r\n },\r\n affiliateOfficeErrors: {\r\n agentId: 'Credit Agent, ',\r\n officeName: 'Office Name, ',\r\n officeType: 'Office Type, ',\r\n\r\n agentsTab: {\r\n affiliateOffice: 'Affiliate Office, ',\r\n }\r\n }\r\n}\r\n","export const ImporterActionTypes = {\r\n SET_DELETED_ACCOUNTS_COUNTS: 'SET_DELETED_ACCOUNTS_COUNTS',\r\n SET_DELETED_INQUIRIES_COUNTS: 'SET_DELETED_INQUIRIES_COUNTS',\r\n SET_NEW_NEGATIVE_ACCOUNTS_COUNTS: 'SET_NEW_NEGATIVE_ACCOUNTS_COUNTS',\r\n SET_NEW_INQUIRIES_COUNTS: 'SET_NEW_INQUIRIES_COUNTS',\r\n SET_NEW_POSITIVE_ACCOUNTS_COUNTS: 'SET_NEW_POSITIVE_ACCOUNTS_COUNTS',\r\n SET_UPDATED_ACCOUNTS_COUNTS: 'SET_UPDATED_ACCOUNTS_COUNTS',\r\n};","export const DashboardActionTypes = {\r\n SET_CUSTOMER_COUNTS: 'SET_CUSTOMER_COUNTS',\r\n SET_LETTER_COUNTS: 'SET_LETTER_COUNTS',\r\n SET_REFERRAL_COUNTS: 'SET_REFERRAL_COUNTS',\r\n SET_ROLE_COUNTS: 'SET_ROLE_COUNTS',\r\n SET_FRANCHISE_COUNTS: 'SET_FRANCHISE_COUNTS',\r\n};","export const ConfigActionTypes = {\r\n SET_CONFIGURATIONS: \"SET_CONFIGURATIONS\",\r\n REMOVE_CONFIGURATIONS: \"REMOVE_CONFIGURATIONS\"\r\n}","import classnames from 'classnames';\r\nimport React from 'react';\r\nimport { Spinner } from 'reactstrap';\r\n\r\nexport const ButtonComponent = (props: {\r\n spinnerRight?: boolean, children?: any, title?: string,\r\n loading?: boolean, onClick?: any, text?: any, className?: string, disabled?: boolean,\r\n sizeClass?: string, dataTooltip?: string\r\n}) => {\r\n return (\r\n \r\n\r\n );\r\n}","import classNames from 'classnames';\r\nimport React from 'react';\r\n\r\nexport const ModalComponent = (props: { bodyClass?: string, fullscreen?: boolean, halfFullScreen?: boolean, fullscreen100W?: boolean, isSmall?: boolean, hideClose?: boolean, isVisible: boolean, title: any, children: any, onClose: () => void }) => {\r\n return (\r\n props.isVisible ?\r\n
    \r\n
    \r\n
    \r\n
    \r\n {!props?.hideClose &&
    }\r\n

    {props.title}

    \r\n
    \r\n
    \r\n {props.children}\r\n
    \r\n
    \r\n
    \r\n : null\r\n );\r\n}","\r\nimport axios, { CancelTokenSource } from 'axios';\r\n// @ts-ignore\r\nimport FileDownload from 'js-file-download';\r\n\r\nimport { CommonUtils } from '../utils/common-utils';\r\nimport { ICustomerFilter, IScoringRound, IUpdateCustomerModel } from '../models/interfaces/customer-view';\r\nimport { getAction } from './action';\r\nimport { CustomerActionTypes } from './customers.action-types';\r\nimport { APIConstants } from '../shared/constants';\r\nimport { ToDoTargetTypes } from '../models/enums';\r\n\r\nconst path = require('path');\r\n\r\nexport const getCustomers = (filter: ICustomerFilter, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(APIConstants.getCustomers, filter, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\nexport const getCustomersAndLeads = (customerSelected:string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.getCustomersAndLeads, customerSelected), { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\nexport const getCustomer = (cidOrText: string, source: CancelTokenSource, includeLeads?: boolean, includeReferralAgents?: boolean, addScoringInformation?: boolean, addAccountsCounter?: boolean) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.getCustomer, cidOrText) + (includeLeads !== undefined ? ('/' + includeLeads?.toString()) : '/') + (includeReferralAgents !== undefined ? ('/' + includeReferralAgents?.toString()) : '/') + (addScoringInformation !== undefined ? ('/' + addScoringInformation?.toString()) : '/') + (addAccountsCounter !== undefined ? ('/' + addAccountsCounter?.toString()) : '/'), { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n if (result) {\r\n resolve(result);\r\n } else {\r\n reject(null);\r\n }\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\nexport const getCustomerMinimal = (cid: string, giveAccountsCount: boolean, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.getCustomerMinimaldetails, cid) + \"/\" + giveAccountsCount, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n if (result) {\r\n resolve(result);\r\n } else {\r\n reject(null);\r\n }\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\nexport const UpdateCustomerdetails = (data: IUpdateCustomerModel, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(APIConstants.getCustomers, data, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n if (result) {\r\n resolve(result);\r\n } else {\r\n reject(null);\r\n }\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\nexport const getFranchiseAgents = async (source: CancelTokenSource) => {\r\n return await axios.get(APIConstants.getFranchiseAgents, { cancelToken: source.token }).then((result: any) => result?.data)\r\n}\r\n\r\nexport const getReferralAgents = async (source: CancelTokenSource) => {\r\n return await axios.get(APIConstants.getReferralAgents, { cancelToken: source.token }).then((result: any) => result?.data);\r\n}\r\n\r\nexport const getScoringRoundStatuses = async (source: CancelTokenSource) => {\r\n return await axios.get(APIConstants.getScoringRoundStatuses, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n}\r\n\r\nexport const loadStatuses = (source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise((resolve, reject) => {\r\n getScoringRoundStatuses(source)\r\n .then((result: any[]) => {\r\n dispatch(getAction(CustomerActionTypes.SET_STATUSES, result));\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n dispatch(getAction(CustomerActionTypes.SET_STATUSES, []));\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const checkAPIActive = (apiName: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.checkAPIActive, apiName), { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n dispatch(getAction(CustomerActionTypes.SET_API_ACTIVE, true));\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n dispatch(getAction(CustomerActionTypes.SET_API_ACTIVE, false));\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const setAPIActive = (apiname: string, activate: boolean, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(CommonUtils.formatString(APIConstants.setAPIActive) + '/' + apiname + '/' + activate, null, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const updateAPIKey = (apiname: string, key: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(CommonUtils.formatString(APIConstants.updateAPIKey) + '/' + apiname + '/' + key, null, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\nexport const getStates = (source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(APIConstants.getStates, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n dispatch(getAction(CustomerActionTypes.SET_STATES, result));\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n dispatch(getAction(CustomerActionTypes.SET_STATES, null));\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const checkPartnerKey = (officeId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.checkPartnerkey, officeId), { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n dispatch(getAction(CustomerActionTypes.SET_PARTNER_KEY, result));\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n dispatch(getAction(CustomerActionTypes.SET_PARTNER_KEY, null));\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getAPIIntegrations = (source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(APIConstants.getAPIIntegrations, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\nexport const getS3Files = async (customerId: string, size: number, folderName: string, source: CancelTokenSource, isLead?: boolean) => {\r\n return await axios.post(APIConstants.checkS3Files, { customerId, size, folderName, isLead }, { cancelToken: source.token })\r\n .then((result: any) => result?.data);\r\n}\r\nexport const getS3SingleFile = async (customerId: string, folderName: string, source: CancelTokenSource) => {\r\n return await axios.post(APIConstants.getS3SingleFile, { customerId, folderName }, { cancelToken: source.token })\r\n .then((result: any) => result?.data);\r\n}\r\nexport const checkS3Files = (customerId: string, size: number, folderName: string, source: CancelTokenSource, isLead?: boolean) => {\r\n return (dispatch: any) => {\r\n return new Promise((resolve, reject) => {\r\n getS3Files(customerId, size, folderName, source, isLead)\r\n .then((result: any) => {\r\n dispatch(getAction(CustomerActionTypes.SET_S3_FILES, result));\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n dispatch(getAction(CustomerActionTypes.SET_S3_FILES, null));\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const checkSubscriberListsByEmail = async (email: string, source: CancelTokenSource) => {\r\n return await axios.post(APIConstants.checkSubscriberListsByEmail, { email }, { cancelToken: source.token })\r\n .then((result: any) => result?.data).catch(e => { throw e; });\r\n}\r\n\r\nexport const getMailchimpLists = async (source: CancelTokenSource) => {\r\n return await axios.post(APIConstants.getMailchimpLists, {}, { cancelToken: source.token })\r\n .then((result: any) => result?.data).catch(e => { throw e; });\r\n}\r\n\r\nexport const checkSubscriberCampaignsByEmail = async (email: string, source: CancelTokenSource) => {\r\n return await axios.post(APIConstants.checkSubscriberCampaignsByEmail, { email }, { cancelToken: source.token })\r\n .then((result: any) => result?.data).catch(e => { throw e; });\r\n}\r\n\r\nexport const setMailchimpList = (ids: string[], email: string, fname: string, lname: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(APIConstants.setMailchimpList, { ids, email, fname, lname }, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const saveFeeDetails = (CustomerId: string, SetupFee: string, MonthlyFee: string, MonthlyDueDate: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(APIConstants.saveFeeDetails, { CustomerId, SetupFee, MonthlyFee, MonthlyDueDate }, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const saveCreditMonitoringDetails = (CustomerId: string, CreditMonitoringService: string,\r\n CreditMonitoringUserName: string, CreditMonitoringPassword: string, CreditMonitoringSecretWord: string, ReportPullDate: string,\r\n source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(APIConstants.saveCreditMonitoring, {\r\n CustomerId, CreditMonitoringService, CreditMonitoringUserName, CreditMonitoringPassword,\r\n CreditMonitoringSecretWord, ReportPullDate\r\n }, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const saveGeneralNotes = (cid: string, Note: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(APIConstants.saveGeneralNotes, { cid, Note }, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const updateUserName = (customerId: string, oldUsername: string, newUsername: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(APIConstants.updateUserName, { customerId, oldUsername, newUsername }, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const updateLockOrUnlockUser = (customerId: string, lockUser: boolean, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(APIConstants.updateLockOrUnlockCustomerUser, { customerId, lockUser }, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const updatePassword = (userId: string, oldPassword: string, newPassword: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(APIConstants.updatePassword, { userId, oldPassword, newPassword }, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const resedWelcomeEmail = (cid: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(CommonUtils.formatString(APIConstants.resendWelcomeEmail, cid), null, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const submitToProcessing = (cid: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(CommonUtils.formatString(APIConstants.submitToProcessing, cid), null, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\nexport const PORNeededEmail = (cid: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(CommonUtils.formatString(APIConstants.sendPORneeded, cid), null, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const removeSpouse = (customerId: string, spouseId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(CommonUtils.formatString(APIConstants.removeSpouse, customerId, spouseId), null, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getAdminSettings = (source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(APIConstants.adminsettings, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n dispatch(getAction(CustomerActionTypes.SET_ADMIN_SETTINGS, result));\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n dispatch(getAction(CustomerActionTypes.SET_ADMIN_SETTINGS, null));\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getCustomerFranchAgents = async (source: CancelTokenSource) => {\r\n return await axios.get(APIConstants.customerFranchAgents, { cancelToken: source.token })\r\n .then((result: any) => result?.data);\r\n}\r\n\r\nexport const getCustomerReferrAgents = async (source: CancelTokenSource) => {\r\n return await axios.get(APIConstants.customerReferAgents, { cancelToken: source.token })\r\n .then((result: any) => result?.data);\r\n}\r\nexport const updateRound = (payload: IScoringRound, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(APIConstants.updateRound, payload, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const deleteRound = (id: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.delete(CommonUtils.formatString(APIConstants.deleteRound, id), { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const submitRounds = (payload: any, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(APIConstants.submitRounds, payload, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const startRound = (payload: any, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(CommonUtils.formatString(APIConstants.submitQuery, payload), null, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const disputeProgress = (cid: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n dispatch(getAction(CustomerActionTypes.SET_DISPUTE_STATS_LOADING, true));\r\n await axios.get(CommonUtils.formatString(APIConstants.disputeProgress, cid), { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n dispatch(getAction(CustomerActionTypes.SET_DISPUTE_STATS, result));\r\n dispatch(getAction(CustomerActionTypes.SET_DISPUTE_STATS_LOADING, false));\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n dispatch(getAction(CustomerActionTypes.SET_DISPUTE_STATS, []));\r\n dispatch(getAction(CustomerActionTypes.SET_DISPUTE_STATS_LOADING, false));\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const updateCustomerAgent = (customerId: string, franchiseAgent: string, referralAgent: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(APIConstants.updateCustomerAgent,\r\n { customerId, franchiseAgent, referralAgent }, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const addClientNote = (payload: any, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(APIConstants.saveClientNote, payload, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const updateClientNote = (customerId: string, textContent: string, notesId: string, whoLeft: string, notesDate: string, source: CancelTokenSource, isLead: boolean) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(APIConstants.saveClientNote,\r\n { customerId, textContent, notesId, whoLeft, notesDate, isLead }, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\n\r\nexport const deleteClientNote = (notesId: string, source: CancelTokenSource, isLead = false) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.delete(APIConstants.saveClientNote + \"/\" + notesId + \"/\" + isLead, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const deleteInternalNote = (notesId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.delete(APIConstants.processingNote + \"/\" + notesId, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const addInternalNote = (customerId: string, noteContent: string, userIdForNotes: string, isSendMail: boolean, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(APIConstants.processingNote,\r\n { customerId, noteContent, userIdForNotes, isSendMail }, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getCannedNotes = (noteType: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.getCannedNotes, noteType),\r\n { cancelToken: source.token })\r\n .then((result: any) => result?.data).then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const deleteCannedNotes = (noteId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.delete(CommonUtils.formatString(APIConstants.getCannedNotes, noteId), { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const createCannedNotes = (content: string, noteType: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(CommonUtils.formatString(APIConstants.createCannedNote, content, noteType), null, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const removeAccounts = async (collectionAccountId: string, source: CancelTokenSource) => {\r\n return await axios.delete(APIConstants.collectionAccount, {\r\n cancelToken: source.token,\r\n data: { ids: collectionAccountId }\r\n })\r\n .then((result: any) => result?.data);\r\n}\r\n\r\nexport const removeAccount = async (accountId: string, cid: string, source: CancelTokenSource) => {\r\n return await axios.delete(CommonUtils.formatString(APIConstants.account, accountId, cid), {\r\n cancelToken: source.token\r\n }).then((result: any) => result?.data);\r\n}\r\n\r\n\r\nexport const removeFiles = async (fileIds: string, source: CancelTokenSource, isLead: boolean = false, cid = '') => {\r\n return await axios.delete(APIConstants.file, {\r\n cancelToken: source.token,\r\n data: { ids: fileIds, isLead, cid }\r\n })\r\n .then((result: any) => result?.data);\r\n}\r\n\r\nexport const updateFile = async (fileId: string, fileType: string, source: CancelTokenSource, isLead: boolean = false) => {\r\n return await axios.put(CommonUtils.formatString(APIConstants.updateFile, fileId, fileType, isLead?.toString()),\r\n {\r\n cancelToken: source.token\r\n })\r\n .then((result: any) => result?.data);\r\n}\r\nexport const uploadFile = (customerId: string, name: string, type: string, overwriteExistingFiles: boolean,\r\n formData: FormData, description: string, fileName: string, operation: string, source: CancelTokenSource) => {\r\n return axios.post(APIConstants.file, formData,\r\n {\r\n cancelToken: source.token,\r\n headers: {\r\n customerId,\r\n name,\r\n type,\r\n description,\r\n overwriteExistingFiles,\r\n fileName,\r\n operation,\r\n 'Content-Type': 'multipart/form-data'\r\n }\r\n })\r\n .then((result: any) => result?.data);\r\n}\r\nexport const downloadFileOrLetter = async (fullPath: string, source: CancelTokenSource) => {\r\n return await axios({\r\n url: CommonUtils.formatString(APIConstants.downloadFileLetter, fullPath),\r\n method: 'GET',\r\n responseType: 'blob', // Important\r\n cancelToken: source.token,\r\n }).then((response) => {\r\n const fileName = path.basename(fullPath);\r\n FileDownload(response.data, fileName);\r\n });\r\n}\r\n\r\nexport const downloadLastReport = async (customerId: string, source: CancelTokenSource) => {\r\n return await axios({\r\n url: CommonUtils.formatString(APIConstants.downloadLastReport, customerId),\r\n method: 'GET',\r\n responseType: 'blob', // Important\r\n cancelToken: source.token,\r\n }).then((response) => {\r\n const fileName = \"CreditReport.pdf\";\r\n FileDownload(response.data, fileName);\r\n });\r\n}\r\n\r\nexport const removeLetters = async (fileIds?: string, source?: CancelTokenSource) => {\r\n return await axios.delete(APIConstants.disputeletter, {\r\n cancelToken: source?.token,\r\n data: { ids: fileIds }\r\n }).then((result: any) => result?.data);\r\n}\r\n\r\nexport const getTodos = (cid: string, targetType: ToDoTargetTypes, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.toDos, cid, targetType),\r\n { cancelToken: source.token })\r\n .then((result: any) => result?.data).then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const addTodo = (toDoText: string, dueDate: string, cid: string, targetType: ToDoTargetTypes, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(CommonUtils.formatString(APIConstants.toDos, cid, targetType), { toDoText, dueDate },\r\n { cancelToken: source.token })\r\n .then((result: any) => result?.data).then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const updateTodo = (todoId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(CommonUtils.formatString(APIConstants.toDoUpdate, todoId), null,\r\n { cancelToken: source.token })\r\n .then((result: any) => result?.data).then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\nexport const deleteTodo = (todoId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.delete(CommonUtils.formatString(APIConstants.toDoUpdate, todoId),\r\n { cancelToken: source.token })\r\n .then((result: any) => result?.data).then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const deleteCustomer = (customerId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.delete(CommonUtils.formatString(APIConstants.getCustomer, customerId), { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\n\r\nexport const getCustomerReferralAgentsList = (cid: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.customerReferralAgents, cid), { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const addCustomerReferralAgents = (cid: string, agentId: string, roleName: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(CommonUtils.formatString(APIConstants.addUpdateCustomerReferralAgents, cid, agentId, roleName), null, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const updateCustomerReferralAgents = (cid: string, agentId: string, roleName: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(CommonUtils.formatString(APIConstants.addUpdateCustomerReferralAgents, cid, agentId, roleName), null, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const deleteCustomerReferralAgents = (cid: string, agentId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.delete(CommonUtils.formatString(APIConstants.deleteCustomerReferralAgents, cid, agentId), { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\nexport const addNewRound = (payload: string, cid: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(CommonUtils.formatString(APIConstants.addNewRound, cid), payload, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const subscribeToArrayCustomer = (customerId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(CommonUtils.formatString(APIConstants.submitToArrayReport, customerId) + '/true', { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getSubscribeToArrayCustomer = (customerId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.submitToArrayReport, customerId), { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\n\r\nexport const subscribeToCMCustomer = (customerId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(CommonUtils.formatString(APIConstants.creditmonitoringsubscription, customerId) + '/true', { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getSubscribeToCMCustomer = (customerId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.creditmonitoringsubscription, customerId), { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\nexport const downloadCreditReport = async (userId: string, sendEmail: boolean, source: CancelTokenSource) => {\r\n return await axios({\r\n url: CommonUtils.formatString(APIConstants.getCreditReportForUser, userId, sendEmail?.toString()),\r\n method: 'GET',\r\n responseType: 'blob', // Important\r\n cancelToken: source.token,\r\n }).then((response) => {\r\n FileDownload(response.data, 'CreditReport.pdf');\r\n });\r\n}\r\n\r\nexport const downloadCreditReportUsingIQReport = (payload: string, cid: string, sendEmail: boolean, setLoading: any, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(CommonUtils.formatString(APIConstants.getCreditReportForUserFromIQHtmlReport, cid, sendEmail?.toString()), payload, {\r\n responseType: 'blob', // Important\r\n cancelToken: source.token })\r\n .then((response) => {\r\n setLoading(false);\r\n FileDownload(response.data, 'CreditReport.pdf');\r\n })\r\n .catch((err: any) => {\r\n setLoading(false);\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getCreditMonitoring = (cid: string, type: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.getCreditMonitoring, cid, type), { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const fetchReport = (userId: string, source: CancelTokenSource, isLead: boolean) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.fetchReport, userId, isLead ? isLead?.toString() : 'false'), { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getDateOfLastRequestFetchReport = (cid: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.getDateOfLastRequestFetchReport, cid), { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n dispatch(getAction(CustomerActionTypes.SET_FETCH_REPORT_DATE, result));\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const loadingFetchReport = (isLoading: boolean) => {\r\n return (dispatch: any) => {\r\n dispatch(getAction(CustomerActionTypes.SET_IS_LOADING_FETCH_REPORT, isLoading));\r\n }\r\n}\r\n\r\nexport const saveCreditScore = (payload: any, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(APIConstants.saveCreditScore, payload, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getCreditScore = (customerId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.getcurrentscore, customerId), { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}","import React, { useState } from 'react';\r\nimport { useEffect } from 'react';\r\n\r\nimport { EnumBureaus, EnumBureausShorts } from '../../models/enums';\r\nimport { EQF_LOGO_SM, EQF_LOGO_MD, EXP_LOGO_SM, EXP_LOGO_MD, TU_LOGO_SM, TU_LOGO_MD } from '../components/images';\r\n\r\nexport const BureauLogoComponent = (props: { type?: string | EnumBureausShorts, size?: 'md' | 'sm' }) => {\r\n\r\n const [logo, setLogo] = useState(null as any);\r\n\r\n useEffect(() => {\r\n switch (props?.type?.toLowerCase()) {\r\n case EnumBureausShorts.TU?.toLowerCase():\r\n case EnumBureaus.TransUnion?.toLowerCase():\r\n if (props?.size === 'md') {\r\n setLogo(TU_LOGO_MD);\r\n } else {\r\n setLogo(TU_LOGO_SM);\r\n }\r\n break;\r\n case EnumBureausShorts.EXP?.toLowerCase():\r\n case EnumBureaus.Experian?.toLowerCase():\r\n if (props?.size === 'md') {\r\n setLogo(EXP_LOGO_MD);\r\n } else {\r\n setLogo(EXP_LOGO_SM);\r\n }\r\n break;\r\n case EnumBureausShorts.EQF?.toLowerCase():\r\n case EnumBureaus.Equifax?.toLowerCase():\r\n if (props?.size === 'md') {\r\n setLogo(EQF_LOGO_MD);\r\n } else {\r\n setLogo(EQF_LOGO_SM);\r\n }\r\n break;\r\n }\r\n }, [props?.type, props?.size]);\r\n\r\n return (\r\n
    \r\n Bureau Logo\r\n
    \r\n );\r\n}","\r\nimport React, { useState } from 'react';\r\nimport { bindActionCreators } from 'redux';\r\nimport { connect } from 'react-redux';\r\nimport { CancelTokenSource } from 'axios';\r\nimport classnames from 'classnames';\r\nimport { validate as uuidValidate } from 'uuid';\r\n\r\nimport { IDropdown, ISearchBoxProps } from '../../models/interfaces/shared';\r\nimport { getCustomer } from '../../actions/customers.actions';\r\nimport { getLeads } from '../../actions/leads.actions';\r\nimport { ICustomerShort } from '../../models/interfaces/customer-view';\r\nimport { AutoComplete } from './autocomplete';\r\nimport { AutoCompleteSearchTypes } from '../../models/enums';\r\nimport { IFranchiseAgent } from '../../models/interfaces/franchise';\r\nimport { getFranchseAgentsList } from '../../actions/franchise-agents.actions';\r\nimport { getReferralAgentsList } from '../../actions/referral.actions';\r\n\r\n\r\nconst mapDispatchToProps = (dispatch: any) => {\r\n return bindActionCreators({\r\n getCustomer,\r\n getLeads,\r\n getFranchseAgentsList,\r\n getReferralAgentsList\r\n }, dispatch);\r\n}\r\nexport const SearchCustomersComponent = connect(null, mapDispatchToProps)((props: ISearchBoxProps) => {\r\n\r\n const [list, setList] = useState([] as ICustomerShort[]);\r\n\r\n const customerPromise = (searchText: string, source: CancelTokenSource) => {\r\n if (props?.searchTypes === AutoCompleteSearchTypes.LEAD) {\r\n return props?.getLeads([], source, searchText).then((result: any) => {\r\n setList(result?.leads);\r\n return result?.leads;\r\n }).then((result: ICustomerShort[]) => {\r\n return result?.map(item => ({\r\n name: item?.firstName + ' ' + (item?.lastName || ''),\r\n abbreviation: item?.id\r\n }));\r\n }) as Promise\r\n } else if (props?.searchTypes === AutoCompleteSearchTypes.FRENCHISE_AGENT) {\r\n return props?.getFranchseAgentsList([], source, searchText).then((result: any) => {\r\n setList(result?.agents);\r\n return result?.agents;\r\n }).then((result: IFranchiseAgent[]) => {\r\n return result?.map(item => ({\r\n name: item?.firstName + ' ' + (item?.lastName || ''),\r\n abbreviation: item?.id\r\n }));\r\n }) as Promise\r\n } else if (props?.searchTypes === AutoCompleteSearchTypes.REFERRAL_AGENT) {\r\n return props?.getReferralAgentsList([], source, searchText).then((result: any) => {\r\n setList(result?.agents);\r\n return result?.agents;\r\n }).then((result: IFranchiseAgent[]) => {\r\n return result?.map(item => ({\r\n name: item?.firstName + ' ' + (item?.lastName || ''),\r\n abbreviation: item?.id\r\n }));\r\n }) as Promise\r\n } else if (props?.searchTypes === AutoCompleteSearchTypes.CUSTOMER_LEAD_AFFILIATEAGENT){\r\n return props?.getCustomer(searchText, source, true, props?.searchTypes === AutoCompleteSearchTypes.CUSTOMER_LEAD_AFFILIATEAGENT)\r\n .then((result: any) => {\r\n setList(result);\r\n return result;\r\n }).then((result: ICustomerShort[]) => {\r\n return result?.map(item => ({\r\n name: item?.fullName + (item?.isLead ? getLeadMessage() : item?.isReferralAgent ? getReferralMessage() : ''),\r\n abbreviation: item?.id\r\n }));\r\n }) as Promise\r\n }\r\n else {\r\n let addScoringInformation = props?.addScoringInformation ? props?.addScoringInformation : false;\r\n let addAccountsCounter = props?.addAccountsCounter ? props?.addAccountsCounter : false;\r\n return props?.getCustomer(searchText, source, props?.searchTypes === AutoCompleteSearchTypes.CUSTOMER_LEAD, false, addScoringInformation, addAccountsCounter)\r\n .then((result: any) => {\r\n setList(result);\r\n return result;\r\n }).then((result: ICustomerShort[]) => {\r\n return result?.map(item => ({\r\n name: item?.fullName + (item?.isLead ? getLeadMessage() : ''),\r\n abbreviation: item?.id\r\n }));\r\n }) as Promise\r\n }\r\n }\r\n const getLeadMessage = () => {\r\n return '(Lead)';\r\n }\r\n const getReferralMessage = () => {\r\n return '(Affiliate Agent)';\r\n }\r\n const onSelect = (text: string | IDropdown) => {\r\n if (props?.onSelect) {\r\n props?.onSelect(text);\r\n }\r\n if (typeof (text) === 'object' && uuidValidate(text?.abbreviation ?? '') && props?.onSelectedData) {\r\n const cust = list?.find(x => x.id === text?.abbreviation);\r\n props?.onSelectedData(cust);\r\n }\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n})","module.exports = {\n \"appName\": \"Application\",\n \"baseURL\": \"https://webapi.accountprogress.com\",\n \"env\": \"PROD\",\n \"oldWebsite\": \"https://oldversion.accountprogress.com:82/{0}/CiwLogin.aspx\"\n}","import axios, { CancelTokenSource } from \"axios\";\r\n\r\nimport { IMediaPayload } from \"../models/interfaces/shared\";\r\nimport { SharedActionTypes } from \"../shared/actions/action-types\";\r\nimport { APIConstants } from \"../shared/constants\";\r\nimport { CommonUtils } from \"../utils/common-utils\";\r\nimport { getAction } from \"./action\";\r\n\r\n\r\nexport const getSiteLogos = (source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(APIConstants.getSiteLogos, { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result?.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\n\r\nexport const uploadLogo = (payload: IMediaPayload, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(APIConstants.uploadLogo, payload, { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const updateKey = () => {\r\n return (dispatch: any) => {\r\n dispatch(getAction(SharedActionTypes.LOGO_CHANGED));\r\n }\r\n}\r\nexport const removeOfficeLogo = (ofcId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.delete(CommonUtils.formatString(APIConstants.removeLogo, ofcId), { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}","import axios, { CancelTokenSource } from \"axios\";\r\nimport { ICustomerFullDetails } from \"../models/interfaces/customer-view\";\r\nimport { ICreditMonitoring } from \"../models/interfaces/leads\";\r\nimport { INameValue, INameValueMatch } from \"../models/interfaces/shared\";\r\n\r\nimport { APIConstants } from \"../shared/constants\";\r\nimport { CommonUtils } from '../utils/common-utils';\r\nimport { getAction } from \"./action\";\r\nimport { CustomerActionTypes } from \"./customers.action-types\";\r\n\r\n\r\nexport const getLeads = (payload: INameValueMatch[], source: CancelTokenSource, query: string = '') => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n let url = APIConstants.getLeads;\r\n if (query) {\r\n url += '?query=' + query;\r\n }\r\n await axios.post(url, payload, { cancelToken: source?.token })\r\n .then((result: any) => {\r\n const res = {\r\n leads: result?.data?.leads,\r\n referralAgents: Object.getOwnPropertyNames(result?.data?.referralAgents || {})\r\n ?.map((key: string) => ({\r\n Name: result?.data?.referralAgents[key],\r\n Value: key\r\n } as INameValue)),\r\n franchiseAgents: Object.getOwnPropertyNames(result?.data?.franchiseAgents || {})\r\n ?.map((key: string) => ({\r\n Name: result?.data?.franchiseAgents[key],\r\n Value: key\r\n } as INameValue)),\r\n statusNames: result?.data?.statusNames,\r\n tranactionTypes: result?.data?.tranactionTypes,\r\n }\r\n resolve(res);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getLeadDetails = (leadId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.getSingleLeads, leadId), { cancelToken: source?.token })\r\n .then((result: any) => {\r\n const { lead, creditMonitoring } = result?.data;\r\n resolve({\r\n lead,\r\n creditMonitoring: {\r\n monitoringService: creditMonitoring?.service,\r\n monitoringLink: creditMonitoring?.link,\r\n monitoringUserName: creditMonitoring?.userName,\r\n monitoringPassword: creditMonitoring?.password,\r\n monitoringSecretWord: creditMonitoring?.secretWord,\r\n reportPullDate: creditMonitoring?.reportPullDate,\r\n cbRefreshTok: lead?.cbRefreshTok,\r\n id: lead?.id,\r\n email: lead?.email\r\n } as ICreditMonitoring\r\n });\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const updateLead = (leadPayload: ICustomerFullDetails, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(APIConstants.addLead, leadPayload, { cancelToken: source?.token })\r\n .then((result: any) => {\r\n resolve(result?.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const addLead = (leadPayload: ICustomerFullDetails, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(APIConstants.addLead, leadPayload, { cancelToken: source?.token })\r\n .then((result: any) => {\r\n resolve(result?.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\n\r\nexport const deleteLead = (id: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.delete(APIConstants.addLead + '/' + id, { cancelToken: source?.token })\r\n .then((result: any) => {\r\n resolve(result?.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\nexport const leadMonitoring = (payload: any, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(APIConstants.leadCreditMonitoring, payload, { cancelToken: source?.token })\r\n .then((result: any) => {\r\n resolve(result?.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\n\r\nexport const convertToCustomer = (id: string, notifyAgent: boolean, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(CommonUtils.formatString(APIConstants.convertToCustomer, id, notifyAgent?.toString()), null, { cancelToken: source?.token })\r\n .then((result: any) => {\r\n resolve(result?.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\nexport const updateLeadAgent = (customerId: string, franchiseAgent: string, referralAgent: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(APIConstants.leadAgentUpdate,\r\n { customerId, franchiseAgent, referralAgent }, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\nexport const resedLeadWelcomeEmail = (cid: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(CommonUtils.formatString(APIConstants.resendLeadWelcomeEmail, cid), null, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\n\r\nexport const subscribeToArrayLead = (customerId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(CommonUtils.formatString(APIConstants.submitToArrayReport, customerId) + '/true/true', { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getSubscribeToArrayLead = (customerId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.submitToArrayReport, customerId) + '/true', { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const subscribeToCMLead = (customerId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(CommonUtils.formatString(APIConstants.creditmonitoringsubscription, customerId) + '/true/true', { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getSubscribeToCMLead = (customerId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.creditmonitoringsubscription, customerId) + '/true', { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const removeSpouse = (leadId: string, spouseId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(CommonUtils.formatString(APIConstants.removeLeadSpouse, leadId, spouseId), null, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getCreditMonitoring = (cid: string, type: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.getCreditMonitoring, cid, type), { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const fetchReport = (userId: string, source: CancelTokenSource, isLead: boolean) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.fetchReport, userId, isLead ? isLead?.toString() : 'false'), { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getDateOfLastRequestFetchReport = (cid: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.getDateOfLastRequestFetchReport, cid), { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any[]) => {\r\n dispatch(getAction(CustomerActionTypes.SET_FETCH_REPORT_DATE, result));\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const loadingFetchReport = (isLoading: boolean) => {\r\n return (dispatch: any) => {\r\n dispatch(getAction(CustomerActionTypes.SET_IS_LOADING_FETCH_REPORT, isLoading));\r\n }\r\n}","import axios, { CancelTokenSource } from \"axios\";\r\nimport { ReferralCustomerTypes } from \"../models/enums\";\r\nimport { IFranchiseAgent, IFranchiseOffice, IFranchisePayments, IReferralOffice } from \"../models/interfaces/franchise\";\r\nimport { INameValue, INameValueMatch } from \"../models/interfaces/shared\";\r\n\r\nimport { APIConstants } from \"../shared/constants\";\r\nimport { CommonUtils } from '../utils/common-utils';\r\n\r\n\r\nexport const getReferralOffices = (source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(APIConstants.referralOffices, { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result?.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getReferralOfficeDetails = (id: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.getReferralOfficeDetails, id), { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getReferralAgents = (id: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.getReferralOfficeAgents, id), { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const addUpdateReferralOffice = (data: IReferralOffice, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(APIConstants.referralOffices, data, { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const deleteReferralOffice = (id: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.delete(APIConstants.referralOffices + `/${id}`, { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const deleteReferralAgent = (agent: IFranchiseAgent, officeId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.delete(CommonUtils.formatString(APIConstants.getReferralOfficeAgents, officeId),\r\n {\r\n cancelToken: source.token,\r\n data: {\r\n membershipId: agent.membershipId,\r\n id: agent?.id\r\n }\r\n })\r\n .then((result: any) => {\r\n resolve(result.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\n\r\nexport const createUpdateReferralAgent = (payload: any, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.post(APIConstants.updateReferralAgent, payload, { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\nexport const getReferralAgentDetails = (agentId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.getReferralOfficeAgentDetails, agentId), { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getCurrentOfficeAgents = (source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(APIConstants.getCurrentOfficeAgents, { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const reassignReferralOffices = (currentId: string, assignTo: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(CommonUtils.formatString(APIConstants.reassignReferralOffices, currentId, assignTo), { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\n\r\nexport const changeReferralAgentPasword = (payload: any, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(APIConstants.referralAgentChangePassword, payload, { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const sendWelcomeEmailtoAgent = (agentId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(CommonUtils.formatString(APIConstants.resendWelcomeAgentEmail, agentId), { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const resendFollowUpAgentEmail = (agentId: string, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(CommonUtils.formatString(APIConstants.resendFollowUpAgentEmail, agentId), { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\n\r\nexport const getReferralAgentsList = (payload: INameValueMatch[], source: CancelTokenSource, query: string = '') => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n let url = APIConstants.getReferralAgentsList;\r\n if (query) {\r\n url += '?query=' + query;\r\n }\r\n await axios.post(url, payload, { cancelToken: source?.token })\r\n .then((result: any) => {\r\n const res = {\r\n agents: result?.data?.agents,\r\n offices: result?.data?.offices?.map((x: string) => ({ Name: x, Value: x } as INameValue)) as INameValue[],\r\n roles: result?.data?.roles?.map((x: string) => ({ Name: x, Value: x } as INameValue)) as INameValue[]\r\n }\r\n resolve(res);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const getReferralAgentCustomers = (agentId: string, type: ReferralCustomerTypes, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.get(CommonUtils.formatString(APIConstants.getReferralAgentCustomers, agentId, type?.toString()), { cancelToken: source.token })\r\n .then((result: any) => {\r\n resolve(result.data);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}\r\n\r\nexport const updateLockOrUnlockReferralAgentAccount = (referralAgentId: string, lockUser: boolean, source: CancelTokenSource) => {\r\n return (dispatch: any) => {\r\n return new Promise(async (resolve, reject) => {\r\n await axios.put(APIConstants.updateLockOrUnlockReferralAgentUser, { referralAgentId, lockUser }, { cancelToken: source.token })\r\n .then((result: any) => result?.data)\r\n .then((result: any) => {\r\n resolve(result);\r\n })\r\n .catch((err: any) => {\r\n reject(err);\r\n });\r\n });\r\n }\r\n}"],"sourceRoot":""}