{"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","DisputeReason","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","cellPhone","leadsPageErrors","isPublic","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","isNewNegativeAccount","isInsertedEQF","isInsertedEXP","isInsertedTU","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","reportImportedDate","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","htmlFreeScoreParser","leadAddPublic","AsyncDashboardComponent","asyncComponent","AsyncRegisterComponent","AsyncForgetPwdComponent","AsyncCustomerListComponent","AsyncFastEditAccountsComponent","AsyncCreateLetterComponent","AsyncReportImporterComponent","AsyncPortalIntegrationComponent","AsyncAffiliateSignupComponent","AsyncCbReportViewerComponent","AsyncUserAccessComponent","AsyncUnAuthComponent","AsyncSecurityComponent","AsyncResetPasswordComponent","AsyncHTMLReportPrserComponent","AsyncHTMLReportMyFreeScoreParserComponent","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","reportImporterPublic","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","LatePayments","EmailSourceTypesList","HTTP_ERROR_CODES","BADREQUEST","INTERNALERROR","UNAUTHORISED","NOTFOUND","minDiversity","minLength","emailOrUsername","validConfirmPassword","DisputeReasons","PersonalInformationIsIncorrect","AccountIsNotMine","StatusIsIncorrect","InformationOutdated","InquiryIsTooOld","InquiryNotAuthorized","AccountsWereClosed","AccountIsBankruptcy","MistakenIdentity","IdentityTheft","DuplicateAccount","WrongAmountIsBeingReported","WrongCreditor","ValidateAccount","AccountPaidOnTime","CreditorAgreedToRemove","TypeOfAccountIsIncorrect","ReOpenAccount","DataInaccurateDeleteAccount","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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","file":"static/js/main.c28ebd7b.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 LatePayments = 'Late Payments'\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}\r\n\r\nexport enum DisputeReason {\r\n PersonalInformationIsIncorrect = 'The following personal information is incorrect',\r\n AccountIsNotMine = 'The following account is not mine',\r\n StatusIsIncorrect = 'The status is incorrect for the following account',\r\n InformationOutdated = 'The following information is outdated. I would like it removed from my credit history report',\r\n InquiryIsTooOld = 'The following inquiry is more than two years old and I would like it removed',\r\n InquiryNotAuthorized = 'The inquiry was not authorized',\r\n AccountsWereClosed = 'The following accounts were closed by me and should state that',\r\n AccountIsBankruptcy = 'The following account was a Bankruptcy/Charge-off. Balance should be $0',\r\n MistakenIdentity = 'Mistaken Identity',\r\n IdentityTheft = 'Identity Theft',\r\n DuplicateAccount = 'This is a duplicate account',\r\n WrongAmountIsBeingReported = 'The wrong amount is being reported',\r\n WrongCreditor = 'This is the wrong creditor for this item',\r\n ValidateAccount = 'Validate Account',\r\n AccountPaidOnTime = 'Account Paid on time',\r\n CreditorAgreedToRemove = 'Creditor agreed to remove with settlement offer',\r\n TypeOfAccountIsIncorrect = 'Type of Account is Incorrect',\r\n ReOpenAccount = 'Reopen account',\r\n DataInaccurateDeleteAccount = 'The Date of Last Activity, Past Due Amount, Balance, Date Opened, and Payment Status are inaccurate. Delete this account'\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: 'Cant Afford',\r\n text: \"Can't Afford\"\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: 'New Partner Lead',\r\n text: 'New Partner Lead'\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: 'Stop Calling',\r\n text: 'Stop Calling'\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 (!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 static isNewNegativeAccount = (account: any) => {\r\n return (CommonUtils.isNegativeAccount(account) === true && (account?.isInsertedEQF || account?.isInsertedEXP || account?.isInsertedTU))\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: false\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))\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.htmlFreeScoreParser?.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 AsyncHTMLReportMyFreeScoreParserComponent = asyncComponent(() => import('./screens/html-parser/html-report-my-free-score-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\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,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\"","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, DisputeReason } 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 reportImporterPublic: '/reportimporter',\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 htmlFreeScoreParser: '/htmlFreeScoreParser',\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.TU, text: },\r\n { value: EnumBureausShorts.EQF, text: },\r\n { value: EnumBureausShorts.EXP, 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 { value: AutoSelectTypesForLetters.LatePayments, text: () => AutoSelectTypesForLetters.LatePayments }\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\r\nexport const DisputeReasons: IValueText[] = [\r\n {\r\n value: DisputeReason.PersonalInformationIsIncorrect,\r\n text: DisputeReason.PersonalInformationIsIncorrect\r\n },\r\n {\r\n value: DisputeReason.AccountIsNotMine,\r\n text: DisputeReason.AccountIsNotMine\r\n },\r\n {\r\n value: DisputeReason.StatusIsIncorrect,\r\n text: DisputeReason.StatusIsIncorrect\r\n },\r\n {\r\n value: DisputeReason.InformationOutdated,\r\n text: DisputeReason.InformationOutdated\r\n },\r\n {\r\n value: DisputeReason.InquiryIsTooOld,\r\n text: DisputeReason.InquiryIsTooOld\r\n },\r\n {\r\n value: DisputeReason.InquiryNotAuthorized,\r\n text: DisputeReason.InquiryNotAuthorized\r\n },\r\n {\r\n value: DisputeReason.AccountsWereClosed,\r\n text: DisputeReason.AccountsWereClosed\r\n },\r\n {\r\n value: DisputeReason.AccountIsBankruptcy,\r\n text: DisputeReason.AccountIsBankruptcy\r\n },\r\n {\r\n value: DisputeReason.MistakenIdentity,\r\n text: DisputeReason.MistakenIdentity\r\n },\r\n {\r\n value: DisputeReason.IdentityTheft,\r\n text: DisputeReason.IdentityTheft\r\n },\r\n {\r\n value: DisputeReason.DuplicateAccount,\r\n text: DisputeReason.DuplicateAccount\r\n },\r\n {\r\n value: DisputeReason.WrongAmountIsBeingReported,\r\n text: DisputeReason.WrongAmountIsBeingReported\r\n },\r\n {\r\n value: DisputeReason.WrongCreditor,\r\n text: DisputeReason.WrongCreditor\r\n },\r\n {\r\n value: DisputeReason.ValidateAccount,\r\n text: DisputeReason.ValidateAccount\r\n },\r\n {\r\n value: DisputeReason.AccountPaidOnTime,\r\n text: DisputeReason.AccountPaidOnTime\r\n },\r\n {\r\n value: DisputeReason.CreditorAgreedToRemove,\r\n text: DisputeReason.CreditorAgreedToRemove\r\n },\r\n {\r\n value: DisputeReason.TypeOfAccountIsIncorrect,\r\n text: DisputeReason.TypeOfAccountIsIncorrect\r\n },\r\n {\r\n value: DisputeReason.ReOpenAccount,\r\n text: DisputeReason.ReOpenAccount\r\n },\r\n {\r\n value: DisputeReason.DataInaccurateDeleteAccount,\r\n text: DisputeReason.DataInaccurateDeleteAccount\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\nimport classNames from 'classnames';\r\n\r\nexport const BureauLogoComponent = (props: { type?: string | EnumBureausShorts, size?: 'md' | 'sm', className?: string }) => {\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":""}