{"version":3,"sources":["components/Breadcrumb/styles.module.scss","assets/img/brand/white.png","redux/_constants/index.js","redux/_reducers/authentication.reducer.js","redux/_reducers/endpointfilters.reducer.js","redux/_reducers/index.js","redux/_reducers/alert.reducer.js","redux/_actions/alert.actions.js","config.js","services/WebAPI.js","redux/_services/index.js","redux/_actions/user.actions.js","redux/_actions/endpointfilters.actions.js","components/Navbars/AdminNavbar.js","utils/getGlobalStyles.js","utils/getMenuBar.js","screens/partner/service.js","screens/partner/list.js","components/Inputs/TButton.js","components/Alert.js","screens/partner/form.js","screens/partner/add.js","screens/partner/edit.js","utils/getDummyTableData.js","screens/partner/customers.js","screens/customer/table.js","screens/customer/list.js","screens/customer/list_partner.js","screens/customer/form.js","screens/customer/add.js","screens/customer/edit.js","screens/login/index.js","screens/login/forgot_password.js","screens/login/reset.js","screens/partner/changePartner.js","screens/customer/view.js","utils/getSerialKey.js","screens/customer/license/add.js","screens/preferences/index.js","screens/preferences/logo_upload.js","screens/reports/visualization/activeLicenseChart.js","screens/reports/offlineReport/table/index.js","screens/reports/offlineReport/index.js","screens/reports/endpointSetting/notActivated/table.js","screens/reports/endpointSetting/notActivated/index.js","screens/reports/endpointSetting/serviceStatus/table.js","screens/reports/endpointSetting/serviceStatus/index.js","screens/reports/endpointSetting/index.js","screens/reports/index.js","screens/customer/notification.js","screens/reports/reports/offlineReport.js","screens/reports/reports/licenseReport.js","screens/reports/reports/endpointSetting.js","components/Configuration/ListSelector.js","components/Configuration/CopyToEndpoints.js","components/Configuration/index.js","screens/endpoints/EndpointTable/popover.js","screens/endpoints/EndpointTable/helper.js","screens/endpoints/EndpointTable/index.js","screens/endpoints/list.js","screens/attacks/view.js","screens/attacks/index.js","screens/endpoints/list_by_customer.js","screens/endpoints/list_by_license.js","screens/endpoints/list_by_partner.js","screens/endpoints/Details/logs.js","screens/endpoints/Details/index.js","screens/users/list.js","screens/users/view.js","screens/users/form.js","screens/users/add.js","screens/users/edit.js","screens/upgrades/Upload.js","screens/upgrades/channel.js","screens/upgrades/changeChannel.js","routes.js","screens/customer/settings.js","screens/others/global_settings.js","screens/endpoints/Settings/index.js","screens/preferences/change_password.js","screens/preferences/two_factor.js","screens/reports/reports/index.js","screens/upgrades/Versions.js","screens/Landing.js","components/Sidebar/Sidebar.js","components/Breadcrumb/index.js","layouts/Admin.js","assets/img/brand/dark.png","layouts/Auth.js","helpers/requireauth.js","screens/test.js","helpers/Require2FA.js","app.js","index.js"],"names":["module","exports","userConstants","alertConstants","endpointFiltersConstants","initialState","loggedIn","firstLoad","filters","rootReducer","combineReducers","authentication","state","action","type","loginProgess","isWorking","TwoFA","isEqual","user","alert","message","endpointFilters","alertActions","success","error","clear","config","apiHost","apiUrl","host","Client","Axios","create","baseURL","AppConfig","withCredentials","username","password","rememberUser","post","data","code","rememberMachine","get","localStorage","removeItem","userService","login","logout","getUser","submit2FA","twoFA","getAndSetUser","dispatch","then","userActions","result","status","twoFAactive","twoFASubmit","AdminNavbar","props","useState","partnerLogo","setPLogo","bgColor","setBgColor","partnerFavicon","setPfavicon","useDispatch","useSelector","store","useEffect","prepareLogo","fetchPartnerLogo","fetch","require","default","res","url","catch","err","console","log","WebAPI","resp","LogoLargeUrl","LogoMiniUrl","Color","Navbar","className","style","backgroundColor","expand","id","Container","fluid","Helmet","rel","href","to","b","alt","width","height","src","Nav","navbar","UncontrolledDropdown","nav","DropdownToggle","Media","DropdownMenu","right","DropdownItem","header","tag","name","role","Link","onClick","getSideBarClass","theme","menuBarItems","path","icon","viewBox","fill","xmlns","d","layout","fillRule","clipRule","stroke","strokeOpacity","strokeWidth","strokeLinecap","strokeLinejoin","API","response","partner","addPartner","SearchBar","Search","PartnerList","selectedRow","rowData","setRowData","loading","setLoading","history","useHistory","loadTable","getList","finally","handlePartnerDelete","rowEvents","e","row","rowIndex","push","PartnerId","paginationOptions","custom","withFirstAndLast","totalSize","length","Row","keyField","columns","dataField","text","sort","searchable","headerStyle","classes","search","pagination","paginationFactory","paginationProps","paginationTableProps","marginBottom","Col","xs","display","alignItems","Button","outline","searchProps","color","hover","bordered","noDataIndication","Spinner","headerWrapperClasses","bodyClasses","baseProps","marginTop","TButton","isLoading","marginRight","children","AlertMessage","alertMesssage","Alert","PopConfirm","onOk","modal","SetModal","Modal","isOpen","toggle","ModalHeader","ModalBody","ModalFooter","size","PartnerForm","EntityName","FirstName","LastName","Email","formState","setFormState","invalidFormState","setInvalidFormState","handleFormValueChange","target","value","Form","onSubmit","flag","preventDefault","Object","entries","forEach","a","validator","isEmpty","shareFormData","FormGroup","Label","for","Input","invalid","onChange","FormFeedback","justifyContent","editMode","deletePartner","openPartnerCustomers","PartnerAdd","savePartner","partnerData","Card","CardBody","PartnerEdit","useParams","setPartner","getPartner","go","editPartner","replace","tableData","products","endpoint_data","users","PartnerCustomers","setSelectedRow","selectRow","mode","clickToSelect","selected","onSelect","isSelect","newSelection","filter","x","onSelectAll","rows","ids","map","r","formatter","cell","handlePartnerChange","viewDevices","paddingBottom","ButtonGroup","variant","rowStyle","CustomerTable","customers","Contact","handleOnSelectAll","Id","handleInvactivate","onDelete","OnRowClick","setActiveState","active","s","md","class","CustomerList","setActive","loadCustomers","CustomerForm","partners","setPartners","CompanyName","UserEmail","Address","AccountType","customer","parseInt","o","CustomerAdd","customerData","CustomerId","CustomerEdit","setCustomer","Partner","IsActive","LoginAlerts","Login","setUsername","setPassword","setCode","setRememberUser","setRememberMachine","cssInput","borderRadius","boxShadow","borderColor","marginBotton","inline","check","checked","pathname","fromLogin","ForgotPass","mail","setMail","submitted","setSubmit","_","fontSize","Reset","pass1","setPass1","pass2","setPass2","location","useLocation","req","Code","Password","WebApi","ChangePartner","partnername","sm","offset","DetailsLine","title","CustomerDetails","licenseData","setLicenseData","servers","desktops","totals","setConsolePassword","download","setDownload","setUrl","fetchCustomerDetails","consolePassword","fetchLicenseList","reduce","prev","cur","Server","Desktop","isSwitching","setSwitching","prepareDownload","key","axios","cellContent","Date","toLocaleDateString","Key","padding","textAlign","generateProductKey","min","max","keyString","i","segment","j","Math","floor","random","segments","LicenseAdd","genreateProductKey","ExpiryDate","Type","OrderId","formState2","disabled","SettingsBlock","styled","div","Settings","button","iconSvg","subtitle","background","margin","position","fontWeight","float","ModeSwitch","changeTheme","Theme","window","reload","FormData","COLORS","RADIAN","PI","renderCustomizedLabel","cx","cy","midAngle","innerRadius","outerRadius","percent","radius","index","cos","y","sin","textAnchor","dominantBaseline","toFixed","ActiveLicense","setdata","data01","DesktopLicenses","ServerLicense","data03","Set","version","flex","ResponsiveContainer","PieChart","Legend","verticalAlign","align","Pie","labelLine","label","dataKey","entry","Cell","Tooltip","BarChart","CartesianGrid","strokeDasharray","horizontal","XAxis","YAxis","Bar","ReportingTable","activation","deviceType","license","Filters","ExportCSVButton","CSVExport","endpoints","sortFunc","order","semver","compare","whiteSpace","toLocaleString","hidden","values","every","remote","csvProps","Reporting","desktop","setDesktop","server","setServer","fetchdata","resp2","marginLeft","dy","setEndpoints","DeviceType","Version","COLORS1","trayIconData","TrayIcon","serviceUpdateData","UpdateService","maxWidth","EndpointSettingReport","reportId","setReportId","getReportProps","reportsList","CustomerNotificationSettings","EmailNotificationActive","NotificationEmails","intial_state","serverReportId","desktopReportId","reportActive","serverCycle","desktopCycle","serverWeeklyDay","desktopWeeklyDay","serverMonthlydate","desktopMonthlydate","reportTime","CustomerReportSettings","dates","setDates","Dates","fetchData","_data","ReportType","newData","ReportId","ToggleEmailReport","NotificationEmailList","Interval","DefaultTime","getDay","getDate","getHours","getMinutes","date","prepareTime","time","setDate","t","split","setHours","getFullYear","getMonth","handleSave","serverReq","toISOString","desktopReq","serverResp","desktopResp","setTimeout","LicenseReport","dropdownOpen","setDropdownOpen","Dropdown","prevState","direction","caret","SimpleAddModal","addValue","setAddValue","setError","setOpen","borderBottom","onUpdate","ExclusionInfo","opacity","UncontrolledTooltip","placement","autohide","paddingLeft","ListSelector","modalShown","setModalShown","textFilter","placeholder","list","paginationSize","tableRef","headerColumnStyle","handleDelete","selectionContext","newList","difference","CardHeader","isGlobal","ref","n","filterFactory","listToAdd","Array","isArray","union","ENDPOINT_KEY","CopyToEndpoints","selectedEndpoint","setSelectedEndpoint","filteredEndpoint","setFilteredEndpoints","Configurations","FolderExclustions","Whitelist","scope","setScope","updating","setUpdating","endpoint","newEP","afterFilter","f","xor","Configuration","endpointSettings","globalSettings","FolderExclusion","FolderProtection","WhiteList","UserAutoProtect","AdvancedProtection","DriverDetectionMode","ExtMonitor","NativeProtection","AutoProtectShares","DefaultSettingMode","LearningMode","SubFolderAutoProtect","setConfig","currentConfig","setCurrentConfig","unsavedChanges","setUnsavedChanges","channels","setChannels","loadSettings","loadChannels","settings","orderBy","checkAndShowUnsavedChangeWarning","applyToExisiting","setApplyToExisiting","copyModal","setCopyModal","updateConfig","configKey","newValue","newConfig","zIndex","PackageChannelType","Channel","includes","minWidth","applyToEndpoints","v","backdrop","EndpointFilter","applyFilter","clearFilter","versionList","setVersionList","activationList","setActivationList","deviceTypeList","setDeviceTypeList","statusList","setStatusList","licenseList","setLicenseList","keys","countBy","rD","ActivationStatus","OnlineStatus","LicenseType","handleChange","newFilters","PopoverHeader","PopoverBody","fetchFilteredEndpoints","el","EndpointsTable","filterPopover","toggleFilterPopover","setFilters","endPointWholeList","setEndPointList","isUninstall","setIsUninstall","uninstall","setUninstall","_filters","email","newRowData","handleConfirm","UnistallDeviceIdList","IsUnistall","handleOnSelect","handleSelectAll","DeviceId","popover","Popover","show","set","_filter","document","body","click","filter_applied","OverlayTrigger","trigger","rootClose","overlay","EndpointList","FormRow","AttackView","attack","onClose","paddingTop","moment","format","AttackList","attackWholeList","setAttackList","setSelected","setSize","total","setTotal","page","setPage","device","setDevice","devices","setDevices","setCustomers","loadDevices","loadAttacks","PageSize","PageNumber","TotalAttackList","filteredAttackList","onTableChange","sizePerPage","overflowY","overflowX","maxHeight","HostName","EndpointListByCustomer","EndpointListByLicensse","EndpointListByPartner","Logs","isOnline","Log","isLog","setLog","isUpdate","setUpdate","logLoading","setLogloading","logData","setlogData","loadLogData","interval","fetchLogdata","files","LastModified","setInterval","clearInterval","handleForceFetch","timeout","ms","Promise","resolve","handleUpdate","FileName","Name","open","rowA","rowB","hideSizePerPage","DetailsRow","FolderProtectionList","setList","inProgress","PopUpdate","SetUpdate","UserList","Customer","TwoFactorEnabled","LockoutEnabled","UserDetails","setUser","getUserType","locking","setLocking","deleting","setDeleting","mfaSwitching","setMFASwitching","AccessFailedCount","UserForm","roles","allowed","setAllowed","passwordScore","Role","isEmail","Company","UserAdd","UserEdit","Upload","formData","setFormData","process","setProcess","channel","setChannel","formChanged","isSemVer","file","append","headers","OnClose","setRow","setName","prio","setPrio","isAdd","setAdd","Table","Priority","PackageChannelId","deleteChannel","ChangeChannel","sortBy","routes","component","ForegetPass","parent","CustomerListByPartner","Notification","EndpointListC","EndpointListL","details","setDetails","folderProtectionModal","setFolderProtectionModel","loadingDetails","setLoadingDetails","getDetails","refreshing","setRefreshing","isRetireProgress","setRetireProgress","isUpdateProgress","setUpdateProgress","CustomerName","LicenseKey","services","LastUpdate","cursor","UnmountOnClose","EndpointListP","OldPassword","NewPassword","ConfirmPassword","setIsLoading","enabled","setEnabled","verificationCode","setVerificationCode","QRCodeURL","setQRCode","loadTwoFactorStatus","twoFactorStatus","qrCode","QRCode","toDataURL","submitModel","Enabled","VerificationCode","logoData","setLogoData","preview","setPreview","LogoChanged","logo","handleUpload","formDataMiniLogo","formDataLargeLogo","respData","respML","respLL","slice","span","URL","createObjectURL","report","setReport","reportTitle","setReportTitle","reportData","setReportData","loadReport","reportProps","method","exportCSV","fileName","offlineReport","setOfflinereport","setEndpointSettings","licenseReport","setLicenseReport","versions","setVersions","isChange","setChange","loadVersions","uploadOpen","setUploadOpen","channelOpen","setChannelOpen","currentItem","setCurrentItem","charAt","toUpperCase","isDummyField","rowId","Sidebar","getItem","collapseOpen","setCollapseOpen","activeItem","setTitle","getCurrentActive","navbarBrandProps","createLinks","prop","NavItem","NavLink","NavLinkRRD","activeClassName","all_matches","best_match","maxBy","innerLink","outterLink","expanded","NavbarBrand","imgAlt","imgSrc","setItem","transform","LinksForMenu","defaultProps","BreadCrumbNavigation","_path","splice","special","to_render","match","Breadcrumb","listTag","listClassName","styles","breadcrumb_wrapper","BreadcrumbItem","join","textTransform","Admin","mainContent","React","useRef","documentElement","scrollTop","scrollingElement","current","twoFactorActive","bodyAttributes","brandText","indexOf","getBrandText","flexDirection","exact","from","LoginContainer","Auth","authStore","isAuthenticated","next_url","URLSearchParams","overflow","Logo","_routes","getRoutes","RequireAuth","nextUrl","encodeURIComponent","TestPage","Require2FA","INTERCOM_APP_ID","IntercomMask","useIntercom","boot","shutdown","bootOrClose","appId","IntercomWrapper","createBrowserHistory","App","listen","render","loggerMiddleware","createLogger","createStore","applyMiddleware","thunkMiddleware","ReactDOM","getElementById"],"mappings":"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","file":"static/js/main.53b3d994.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"breadcrumb_wrapper\":\"styles_breadcrumb_wrapper__jBVUv\"};","export default __webpack_public_path__ + \"static/media/white.b1b8ac65.png\";","export const userConstants = {\r\n LOGIN_SUCCESS: 'USERS_LOGIN_SUCCESS',\r\n LOGIN_FAILURE: 'USERS_LOGIN_FAILURE',\r\n LOGIN_2FA: 'USERS_LOGIN_2FA',\r\n LOGIN_2FA_PROGRESS: 'USERS_LOGIN_2FA_PROGRESS',\r\n LOGOUT: 'USERS_LOGOUT', \r\n LOGIN_PROGRESS : 'USERS_LOGIN_PROGRESS',\r\n SET_MSG :'USER_LOGIN_SET_MSG',\r\n CLEAR_MSG :'USER_LOGIN_CLEAR_MSG'\r\n};\r\n\r\nexport const alertConstants = {\r\n SUCCESS: 'ALERT_SUCCESS',\r\n ERROR: 'ALERT_ERROR',\r\n CLEAR: 'ALERT_CLEAR'\r\n};\r\n\r\nexport const endpointFiltersConstants = {\r\n CHANGE: 'ENDPOINT_FILTER_CHANGE',\r\n CLEAR: 'ALERT_CLEAR'\r\n};\r\n","import { userConstants } from '../_constants';\r\n\r\nimport { isEqual } from 'lodash'\r\n\r\nconst initialState = { loggedIn: false, firstLoad : true }\r\n\r\nexport function authentication(state = initialState, action) {\r\n switch (action.type) {\r\n case userConstants.LOGIN_PROGRESS:\r\n return {\r\n loginProgess: true,\r\n isWorking: true,\r\n };\r\n case userConstants.LOGIN_2FA:\r\n return {\r\n loginProgess: true,\r\n TwoFA: true,\r\n isWorking: false\r\n }\r\n case userConstants.LOGIN_2FA_PROGRESS:\r\n return {\r\n loginProgess: true,\r\n TwoFA: true,\r\n isWorking: true\r\n }\r\n case userConstants.LOGIN_SUCCESS:\r\n if (!isEqual(state.user, action.user)) {\r\n return {\r\n loggedIn: true,\r\n user: action.user\r\n };\r\n }\r\n return state\r\n case userConstants.LOGOUT:\r\n if (state.loginProgess)\r\n return state\r\n return {}\r\n case userConstants.LOGIN_FAILURE:\r\n if (state.loginProgess) {\r\n if (state.TwoFA)\r\n return state\r\n }\r\n return {}\r\n default:\r\n return state\r\n }\r\n}","import { endpointFiltersConstants } from '../_constants';\r\nconst initialState = { filters: {} }\r\n\r\nexport function endpointFilters(state = initialState, action) {\r\n switch (action.type) {\r\n case endpointFiltersConstants.CHANGE:\r\n return {\r\n type: 'filter-change',\r\n filters: action.filters\r\n };\r\n default:\r\n return state\r\n }\r\n}","import { combineReducers } from 'redux';\r\n\r\nimport { authentication } from './authentication.reducer';\r\nimport { alert } from './alert.reducer';\r\nimport { endpointFilters } from './endpointfilters.reducer'\r\n\r\nconst rootReducer = combineReducers({\r\n authentication,\r\n alert,\r\n endpointFilters\r\n});\r\n\r\nexport default rootReducer;","import { alertConstants } from '../_constants';\r\n\r\nexport function alert(state = {}, action) {\r\n switch (action.type) {\r\n case alertConstants.SUCCESS:\r\n return {\r\n type: 'success',\r\n message: action.message\r\n };\r\n case alertConstants.ERROR:\r\n return {\r\n type: 'danger',\r\n message: action.message\r\n };\r\n case alertConstants.CLEAR:\r\n return {};\r\n default:\r\n return state\r\n }\r\n}","import { alertConstants } from '../_constants';\r\n\r\nfunction success(message) {\r\n return { type: alertConstants.SUCCESS, message };\r\n}\r\n\r\nfunction error(message) {\r\n return { type: alertConstants.ERROR, message };\r\n}\r\n\r\nfunction clear() {\r\n return { type: alertConstants.CLEAR };\r\n}\r\n\r\nexport const alertActions = {\r\n success,\r\n error,\r\n clear\r\n};","\r\nconst host = process.env.NODE_ENV===\"production\" ? '/'\r\n// : 'https://localhost:5001/'\r\n : 'https://cs-prod-portal-app-stage.azurewebsites.net/'\r\n\r\nconst config = {\r\n apiHost: host,\r\n apiUrl : host + 'spa_api'\r\n};\r\n\r\nexport default config;","import AppConfig from 'config'\r\nimport Axios from 'axios'\r\n\r\nconst Client = Axios.create({\r\n baseURL: AppConfig.apiUrl,\r\n withCredentials : true\r\n})\r\n\r\n\r\nexport default Client","import Client from 'services/WebAPI'\r\n\r\nasync function login(username, password, rememberUser = false) {\r\n const { data } = await Client.post('Login/Login', { username, password, rememberUser })\r\n return data\r\n}\r\n\r\nasync function submit2FA(code, rememberUser = false, rememberMachine = false) {\r\n const { data } = await Client.post('Login/TwoFALogin', { code, rememberUser, rememberMachine })\r\n return data\r\n}\r\n\r\nasync function logout() {\r\n await Client.get('Login/Logout')\r\n localStorage.removeItem('user');\r\n}\r\n\r\nasync function getUser() {\r\n try {\r\n const { data } = await Client.get('Login/GetUser');\r\n return data.user\r\n }\r\n catch {}\r\n return false\r\n}\r\n\r\nexport const userService = {\r\n login,\r\n logout,\r\n getUser,\r\n submit2FA\r\n};","import { alertConstants, userConstants } from '../_constants';\r\nimport { userService } from '../_services';\r\nimport { alertActions } from '../_actions'\r\n\r\nfunction request() { return { type: userConstants.LOGIN_PROGRESS } }\r\nfunction request2FA() { return { type: userConstants.LOGIN_2FA_PROGRESS } }\r\nfunction success(user) { return { type: userConstants.LOGIN_SUCCESS, user } }\r\nfunction failure(error) { return { type: userConstants.LOGIN_FAILURE, error } }\r\nfunction twoFA() { return { type: userConstants.LOGIN_2FA } }\r\n\r\nfunction login(username, password, rememberUser) {\r\n return dispatch => {\r\n dispatch(request())\r\n dispatch(alertActions.clear())\r\n userService.login(username, password, rememberUser).then(result => {\r\n if (result.status) {\r\n if (result.twoFAactive) {\r\n dispatch(twoFA())\r\n } else {\r\n dispatch(alertActions.success(\"Login success!\"))\r\n getAndSetUser(dispatch)\r\n }\r\n } else {\r\n dispatch({ type: alertConstants.ERROR, message: 'Invalid Login' })\r\n dispatch({ type: userConstants.LOGIN_FAILURE })\r\n }\r\n });\r\n };\r\n\r\n\r\n}\r\n\r\nfunction twoFASubmit(code, rememberUser, rememberMachine) {\r\n return dispatch => {\r\n dispatch(request2FA())\r\n dispatch(alertActions.clear())\r\n userService.submit2FA(code, rememberUser, rememberMachine).then(result => {\r\n if (result.status) {\r\n dispatch(alertActions.success(\"Login success!\"))\r\n getAndSetUser(dispatch)\r\n } else {\r\n dispatch({ type: alertConstants.ERROR, message: 'Invalid Token' })\r\n dispatch(twoFA())\r\n }\r\n })\r\n\r\n }\r\n}\r\n\r\nfunction getAndSetUser(dispatch, loggedIn) {\r\n userService.getUser().then(user => {\r\n if (user) {\r\n dispatch(success(user))\r\n }\r\n else {\r\n dispatch({ type: userConstants.LOGOUT })\r\n }\r\n })\r\n}\r\n\r\nfunction logout() {\r\n userService.logout();\r\n return { type: userConstants.LOGOUT };\r\n}\r\n\r\nexport const userActions = {\r\n login,\r\n logout,\r\n twoFASubmit,\r\n getAndSetUser\r\n};","import { endpointFiltersConstants } from '../_constants';\r\n\r\nfunction change(filters) {\r\n return { type: endpointFiltersConstants.CHANGE, filters };\r\n}\r\n\r\nfunction clear() {\r\n return { type: endpointFiltersConstants.CLEAR };\r\n}\r\n\r\nexport const endpointFilterActions = {\r\n change,\r\n clear\r\n};","import { Link } from \"react-router-dom\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n// reactstrap components\r\nimport {\r\n DropdownMenu,\r\n DropdownItem,\r\n UncontrolledDropdown,\r\n DropdownToggle,\r\n Navbar,\r\n Nav,\r\n Container,\r\n Media,\r\n} from \"reactstrap\";\r\nimport { userActions } from \"redux/_actions\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport WebAPI from \"services/WebAPI\";\r\n\r\n\r\nconst AdminNavbar = (props) => {\r\n const [partnerLogo, setPLogo]= useState('')\r\n const [bgColor, setBgColor] = useState('')\r\n const [partnerFavicon, setPfavicon]= useState('')\r\n const dispatch = useDispatch()\r\n const user = useSelector(store => store.authentication.user)\r\n useEffect(()=>{\r\n prepareLogo()\r\n fetchPartnerLogo()\r\n },[])\r\n\r\n const prepareLogo= async()=>{\r\n await fetch(\r\n require(\"../../assets/img/brand/white.png\").default\r\n ).then((res) => {\r\n setPLogo(res.url);\r\n })\r\n .catch((err)=>console.log('err', err))\r\n }\r\n\r\n const fetchPartnerLogo=async()=>{\r\n const resp=await WebAPI.get('Partner/FetchPartnerPreference')\r\n if(resp.data.status&& resp.data.data && resp.data.data.LogoLargeUrl && resp.data.data.LogoMiniUrl)\r\n {\r\n setPfavicon(resp.data.data.LogoMiniUrl)\r\n setPLogo(resp.data.data.LogoLargeUrl)\r\n setBgColor(resp.data.data.Color)\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n \r\n {/* add favicon Url */}\r\n {partnerFavicon&&(\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\nexport default AdminNavbar;\r\n","\r\n\r\nexport const getSideBarClass = (theme) => {\r\n return theme === 'dark' ? 'navbar-dark bg-dark' : 'navbar-light bg-white' \r\n}\r\n\r\nconst getGlobalStyles = (component) => {\r\n const styling = component === 'sidebar' ? getSideBarClass() : ''\r\n return styling;\r\n}\r\n\r\nexport default getGlobalStyles","\r\nvar menuBarItems = {\r\n \"admin\": [\r\n {\r\n path: \"/partners\",\r\n name: \"Partners\",\r\n icon: \r\n \r\n \r\n \r\n , \r\n layout: \"/admin\"\r\n },\r\n {\r\n path: \"/customers\",\r\n name: \"Customers\",\r\n icon: \r\n \r\n \r\n \r\n \r\n , \r\n layout: \"/admin\"\r\n },\r\n {\r\n path: \"/endpoints\",\r\n name: \"Endpoints\",\r\n icon: \r\n \r\n , \r\n layout: \"/admin\",\r\n }, \r\n {\r\n path: \"/alerts\",\r\n name: \"Alerts\",\r\n icon: \r\n \r\n ,\r\n layout: \"/admin\"\r\n },\r\n {\r\n path: \"/reports\",\r\n name: \"Reports\",\r\n icon: \r\n \r\n \r\n \r\n \r\n , \r\n layout: \"/admin\",\r\n },\r\n /* {\r\n path: \"/reporting\",\r\n name: \"Reporting\",\r\n icon: \r\n \r\n , \r\n layout: \"/admin\",\r\n }, */\r\n {\r\n path: \"/users\",\r\n name: \"Users\",\r\n icon: \r\n \r\n \r\n \r\n \r\n \r\n \r\n , \r\n layout: \"/admin\",\r\n },\r\n {\r\n path: \"/upgrade_manager\",\r\n name:\"Upgrade Manager\",\r\n icon: \r\n \r\n \r\n \r\n ,\r\n layout: \"/admin\"\r\n }\r\n ],\r\n \"partner\": [\r\n {\r\n path: \"/customers\",\r\n name: \"Customers\",\r\n icon: \r\n \r\n \r\n \r\n \r\n , \r\n layout: \"/admin\"\r\n },\r\n {\r\n path: \"/endpoints\",\r\n name: \"Endpoints\",\r\n icon: \r\n \r\n , \r\n layout: \"/admin\",\r\n }, \r\n {\r\n path: \"/alerts\",\r\n name: \"Alerts\",\r\n icon: ,\r\n layout: \"/admin\"\r\n },\r\n {\r\n path: \"/reports\",\r\n name: \"Reports\",\r\n icon: \r\n \r\n \r\n \r\n \r\n , \r\n layout: \"/admin\",\r\n }, \r\n /* {\r\n path: \"/reporting\",\r\n name: \"Reporting\",\r\n icon: \r\n \r\n , \r\n layout: \"/admin\",\r\n }, */\r\n {\r\n path: \"/users\",\r\n name: \"Users\",\r\n icon: \r\n \r\n \r\n \r\n \r\n \r\n \r\n , \r\n layout: \"/admin\",\r\n }\r\n ],\r\n \"customer\": [\r\n {\r\n path: \"/endpoints\",\r\n name: \"Endpoints\",\r\n icon: \r\n \r\n , \r\n layout: \"/admin\",\r\n }, \r\n {\r\n path: \"/alerts\",\r\n name: \"Alerts\",\r\n icon: ,\r\n layout: \"/admin\"\r\n },\r\n {\r\n path: \"/users\",\r\n name: \"Users\",\r\n icon: \r\n \r\n \r\n \r\n \r\n \r\n \r\n , \r\n layout: \"/admin\",\r\n }\r\n ]\r\n}\r\n\r\nexport default menuBarItems;\r\n","import { alertActions } from 'redux/_actions'\r\nimport API from 'services/WebAPI'\r\n\r\nexport async function getList() {\r\n try {\r\n const response = await API.get('Partner/List')\r\n const { data, status } = response.data\r\n if (status)\r\n return data\r\n }\r\n catch { }\r\n return []\r\n}\r\n\r\n\r\nexport async function getPartner(id) {\r\n try {\r\n const response = await API.get(`Partner/Get/${id}`)\r\n const { data, status } = response.data\r\n if (status)\r\n return data\r\n\r\n }\r\n catch {\r\n\r\n }\r\n return false\r\n}\r\n\r\nexport async function editPartner(id, partner, dispatch) {\r\n try {\r\n const response = await API.post(`Partner/Edit/${id}`, partner)\r\n const { data, status, message } = response.data\r\n if (!status)\r\n dispatch(alertActions.error(message))\r\n else \r\n dispatch(alertActions.success(\"Updated\"))\r\n return status\r\n }\r\n catch { dispatch(alertActions.error(\"Error editing partner\")) }\r\n return false\r\n}\r\n\r\nexport async function deletePartner(id) {\r\n try {\r\n const response = await API.post(`Partner/deletepartner/${id}`);\r\n const { status } = response.data;\r\n if (status) return true;\r\n } catch {}\r\n return false;\r\n}\r\n\r\nexport async function addPartner(partner, dispatch) {\r\n try {\r\n const response = await API.post(`Partner/Add`, partner)\r\n const { data, status, message } = response.data\r\n if (status)\r\n return data\r\n else\r\n dispatch(alertActions.error(message))\r\n }\r\n catch {\r\n dispatch(alertActions.error(\"Error adding new partner\"))\r\n }\r\n\r\n return false\r\n}","import { useState, useEffect } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Button, Col, Container, Row,Spinner } from \"reactstrap\";\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport paginationFactory,\r\n{ PaginationProvider, SizePerPageDropdownStandalone, PaginationTotalStandalone, PaginationListStandalone }\r\n from 'react-bootstrap-table2-paginator';\r\nimport ToolkitProvider, { Search } from 'react-bootstrap-table2-toolkit';\r\n\r\nimport { useDispatch } from \"react-redux\";\r\n\r\nimport { getList } from './service.js'\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nconst { SearchBar } = Search;\r\n\r\nconst PartnerList = () => {\r\n const [selectedRow, setSelectedRow] = useState([]);\r\n const [rowData, setRowData] = useState([]);\r\n const [loading,setLoading] = useState(false)\r\n\r\n let history = useHistory()\r\n const dispatch = useDispatch()\r\n\r\n useEffect(() => {\r\n loadTable()\r\n }, [])\r\n\r\n const loadTable = () => {\r\n setLoading(true)\r\n getList(dispatch).then(setRowData).finally(()=>setLoading(false))\r\n }\r\n\r\n const handleOnSelect = (row, isSelect) => {\r\n const newSelection = isSelect ?\r\n [...selectedRow, row.PartnerId] : selectedRow.filter(x => x !== row.PartnerId)\r\n setSelectedRow(newSelection)\r\n }\r\n\r\n const handleOnSelectAll = (isSelect, rows) => {\r\n const ids = rows.map(r => r.PartnerId);\r\n isSelect ? setSelectedRow(ids) : setSelectedRow([])\r\n }\r\n\r\n const handlePartnerDelete = () => {\r\n console.log(\"delete entries\", selectedRow)\r\n }\r\n\r\n const rowEvents = {\r\n onClick: (e, row, rowIndex) => {\r\n history.push(`/partners/edit_partner/${row.PartnerId}`)\r\n },\r\n };\r\n\r\n const selectRow = {\r\n mode: 'checkbox',\r\n clickToSelect: false,\r\n selected: selectedRow,\r\n onSelect: handleOnSelect,\r\n onSelectAll: handleOnSelectAll\r\n };\r\n\r\n const columns = [{\r\n dataField: 'PartnerId',\r\n text: 'ID',\r\n sort: true,\r\n searchable: true,\r\n headerStyle: { width: '70px' },\r\n }, {\r\n dataField: 'EntityName',\r\n text: 'Partner Name',\r\n sort: true,\r\n classes: 'common-table-column-style',\r\n searchable: true\r\n }, {\r\n dataField: 'FirstName',\r\n text: 'First Name',\r\n sort: true,\r\n classes: 'common-table-column-style',\r\n searchable: true\r\n }, {\r\n dataField: 'LastName',\r\n text: 'Last Name',\r\n sort: true,\r\n classes: 'common-table-column-style',\r\n searchable: true\r\n }, {\r\n dataField: 'Email',\r\n sort: true,\r\n text: 'Contact Email',\r\n classes: 'common-table-column-style',\r\n searchable: true\r\n }];\r\n\r\n const paginationOptions = {\r\n custom: true,\r\n withFirstAndLast: true,\r\n totalSize: rowData.length\r\n };\r\n\r\n return (\r\n \r\n
Partners
\r\n \r\n \r\n {\"Partners\"}\r\n \r\n \r\n \r\n
\r\n \r\n {props => (\r\n \r\n {\r\n ({\r\n paginationProps,\r\n paginationTableProps\r\n }) => (\r\n
\r\n \r\n \r\n Entries per page :\r\n \r\n {selectedRow.length > 0 &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n history.push(\"/partners/add_partner\")}\r\n >\r\n Add New Partner\r\n \r\n \r\n \r\n : \"No Data\"}\r\n headerWrapperClasses=\"table-header-light\"\r\n bodyClasses=\"clickable-table-row\"\r\n {...props.baseProps}\r\n {...paginationTableProps}\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
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default PartnerList;","import React from 'react'\r\nimport { Button } from 'reactstrap'\r\n\r\nexport default function TButton({ isLoading = false, ...props }) {\r\n\r\n return (\r\n \r\n )\r\n}","import { useSelector } from \"react-redux\"\r\nimport { Alert } from \"reactstrap\"\r\n\r\nexport default function AlertMessage() {\r\n const alertMesssage = useSelector(state => state.alert)\r\n if (alertMesssage.type){\r\n return ({alertMesssage.message})\r\n }\r\n return null\r\n}\r\n\r\n","import { useEffect, useState } from \"react\";\r\nimport {\r\n Form,\r\n Input,\r\n Label,\r\n FormGroup,\r\n FormFeedback,\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter\r\n} from \"reactstrap\";\r\nimport Button from 'components/Inputs/TButton'\r\nimport validator from 'validator';\r\nimport Alert from \"components/Alert\";\r\n\r\nconst PopConfirm = ({ onOk }) => {\r\n const [modal, SetModal] = useState(false);\r\n\r\n const handleConfirm = () =>{\r\n if (onOk) onOk()\r\n SetModal(false)\r\n }\r\n\r\n return (\r\n <>\r\n \r\n SetModal(false)}>\r\n SetModal(false)}\r\n >\r\n Are you sure to delete this partner?\r\n \r\n \r\n As a result of this action all customers, customer endpoints, and user accounts associated with this partner will be deleted from the system. Please change the partner mapping of customer if you wish to keep the customer account.\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst PartnerForm = (props) => {\r\n const [formState, setFormState] = useState({\r\n EntityName: '',\r\n FirstName: '',\r\n LastName: '',\r\n Email: '',\r\n })\r\n\r\n useEffect(() => {\r\n if (props.partner)\r\n setFormState(props.partner)\r\n }, [props.partner])\r\n\r\n const [invalidFormState, setInvalidFormState] = useState({\r\n EntityName: false,\r\n FirstName: false,\r\n LastName: false,\r\n Email: false,\r\n });\r\n\r\n const handleSave = (e) => {\r\n let flag = 0\r\n e.preventDefault();\r\n Object.entries(formState).forEach(([a, b]) => {\r\n if (a !=='PartnerId' && validator.isEmpty(b)) {\r\n flag = 1\r\n invalidFormState[a] = true\r\n setInvalidFormState({ ...invalidFormState })\r\n }\r\n });\r\n\r\n if (flag === 0) props.shareFormData(formState)\r\n }\r\n\r\n const handleFormValueChange = ({ target: { id, value } }) => {\r\n invalidFormState[id] = false\r\n formState[id] = value\r\n setFormState({ ...formState })\r\n setInvalidFormState({ ...invalidFormState })\r\n }\r\n\r\n const handleDelete = () => {\r\n if(props.deletePartner){\r\n props.deletePartner()\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Please enter a partner name\r\n \r\n \r\n \r\n \r\n Please enter a contact first name\r\n \r\n \r\n \r\n \r\n Please enter a contact last name\r\n \r\n \r\n \r\n \r\n Please enter a valid Email\r\n \r\n
\r\n {props.editMode && (\r\n
\r\n \r\n \r\n View Customers\r\n \r\n
\r\n )}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default PartnerForm;","import { useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport {\r\n Col,\r\n Row,\r\n Card,\r\n Button,\r\n CardBody,\r\n Container\r\n} from \"reactstrap\";\r\nimport { alertActions } from \"redux/_actions\";\r\nimport PartnerForm from \"./form\";\r\n\r\nimport { addPartner } from './service'\r\n\r\nconst PartnerAdd = () => {\r\n let history = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n const savePartner = async (partnerData) => {\r\n const r = await addPartner(partnerData, dispatch)\r\n if (r) {\r\n history.push('/partners')\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
\r\n history.push('/partners')}\r\n >\r\n \r\n \r\n Add Partner\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\r\nexport default PartnerAdd;","import { useEffect, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useParams, useHistory } from \"react-router-dom\";\r\nimport {\r\n Col,\r\n Row,\r\n Card,\r\n Button,\r\n CardBody,\r\n Container\r\n} from \"reactstrap\";\r\n\r\nimport AlertMessage from 'components/Alert'\r\nimport { alertActions } from 'redux/_actions'\r\n\r\nimport PartnerForm from \"./form\";\r\n\r\nimport { getPartner, editPartner, deletePartner } from './service'\r\n\r\nconst PartnerEdit = () => {\r\n let history = useHistory();\r\n const { id } = useParams();\r\n\r\n const [partner, setPartner] = useState(null)\r\n\r\n useEffect(() => {\r\n dispatch(alertActions.clear())\r\n getPartner(id).then(result => {\r\n if (result) {\r\n setPartner(result)\r\n }\r\n else{\r\n dispatch(alertActions.error(\"Partner not found\"))\r\n }\r\n })\r\n }, []);\r\n\r\n const dispatch = useDispatch()\r\n\r\n const savePartner = (partnerData) => {\r\n editPartner(id, partnerData, dispatch)\r\n }\r\n\r\n const handleDelete = () => {\r\n deletePartner(id).then((status) => {\r\n if(status){\r\n history.replace(`/partner`)\r\n }\r\n })\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
\r\n history.go(-1)}\r\n >\r\n \r\n \r\n Edit Partner\r\n
\r\n \r\n \r\n \r\n \r\n history.push('/partners/list_customers/'+id)}\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n \r\n )\r\n};\r\n\r\nexport default PartnerEdit;","const tableData = {\r\n products: [\r\n { \"PartnerId\": 2, \"EntityName\": \"Testco Products\", \"FirstName\": \"Chris\", \"LastName\": \"Hartwig\", \"Email\": \"chartwig@watchpointdata.com\" },\r\n { \"PartnerId\": 1, \"EntityName\": \"Akhilraj\", \"FirstName\": \"\", \"LastName\": \"K\", \"Email\": \"akhilraj.k@cdcllp.com\" },\r\n { \"PartnerId\": 4, \"EntityName\": \"WatchPoint\", \"FirstName\": \"Greg\", \"LastName\": \"Edwards\", \"Email\": \"gedwards@watchpointdata.com\" },\r\n { \"PartnerId\": 9, \"EntityName\": \"Jim\\u0027s MSP\", \"FirstName\": \"Jim\", \"LastName\": \"Johnson\", \"Email\": \"jjohnson@msp.com\" },\r\n { \"PartnerId\": 10, \"EntityName\": \"TestPartner\", \"FirstName\": \"CDC\", \"LastName\": \"Test\", \"Email\": \"cdctest@watchpointdata.com\" },\r\n { \"PartnerId\": 5, \"EntityName\": \"abhinand\", \"FirstName\": \"\", \"LastName\": \"bs\", \"Email\": \"abhinandtest@gmail.com\" },\r\n { \"PartnerId\": 7, \"EntityName\": \"deepak1\", \"FirstName\": \"\", \"LastName\": \"K\", \"Email\": \"akhitest@gmail.com\" },\r\n { \"PartnerId\": 6, \"EntityName\": \"deepak\", \"FirstName\": \"\", \"LastName\": \"K\", \"Email\": \"akhiltest@gmail.com\" },\r\n { \"PartnerId\": 14, \"EntityName\": \"Neal_Juern\", \"FirstName\": \"Neal\", \"LastName\": \"Juern\", \"Email\": \"neal@juerntech.com\" },\r\n { \"PartnerId\": 15, \"EntityName\": \"Deal_Yuern\", \"FirstName\": \"Deal\", \"LastName\": \"Yuern\", \"Email\": \"Deal@Yuerntech.com\" },\r\n { \"PartnerId\": 8, \"EntityName\": \"testpartner\", \"FirstName\": \"abhinand\", \"LastName\": \"bs\", \"Email\": \"abhinandtest@gmail.com\" },\r\n { \"PartnerId\": 11, \"EntityName\": \"TestPartner78\", \"FirstName\": \"AkTest\", \"LastName\": \"T\", \"Email\": \"AkTest@test.com\" },\r\n { \"PartnerId\": 12, \"EntityName\": \"StryderOne\", \"FirstName\": \"Sid\", \"LastName\": \"Nair\", \"Email\": \"sidharthnair.official@gmail.com\" },\r\n { \"PartnerId\": 13, \"EntityName\": \"ISP Technologies\", \"FirstName\": \"Tony\", \"LastName\": \"Spencer\", \"Email\": \"tspencer@isptech.com\" },\r\n ],\r\n endpoint_data: [\r\n { \"DeviceId\": 39, \"ConnectionId\": \"\", \"CustomerId\": 1, \"HostName\": \"LAPTOP-PKMCG7T3\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Not Available\", \"DeviceType\": \"\", \"Version\": \"\", \"LicenseType\": \"Paid\", \"CustomerName\": \"Akhilraj K\", \"CompanyName\": \"CDC\", \"PartnerName\": \"Akhilraj\", \"LicenseKey\": \"0267-D91E-EBD9-455E\", \"VerOrder\": 0, \"LastReportedTime\": \"Not Available\" }, { \"DeviceId\": 236, \"ConnectionId\": \"\", \"CustomerId\": 2, \"HostName\": \"CDC-104\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Not Available\", \"DeviceType\": \"\", \"Version\": \"\", \"LicenseType\": \"Trial\", \"CustomerName\": \"abhinand bs\", \"CompanyName\": \"CDC\", \"PartnerName\": \"testpartner\", \"LicenseKey\": \"F7DD-87FD-2625-4AE1\", \"VerOrder\": 1, \"LastReportedTime\": \"Not Available\" }, { \"DeviceId\": 65, \"ConnectionId\": \"\", \"CustomerId\": 1, \"HostName\": \"LAPTOP-PKMCG7T3\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Not Available\", \"DeviceType\": \"\", \"Version\": \"\", \"LicenseType\": \"Paid\", \"CustomerName\": \"Akhilraj K\", \"CompanyName\": \"CDC\", \"PartnerName\": \"Akhilraj\", \"LicenseKey\": \"0267-D91E-EBD9-455E\", \"VerOrder\": 2, \"LastReportedTime\": \"Not Available\" }, { \"DeviceId\": 53, \"ConnectionId\": \"\", \"CustomerId\": 1, \"HostName\": \"LAPTOP-PKMCG7T7\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Not Available\", \"DeviceType\": \"\", \"Version\": \"\", \"LicenseType\": \"Paid\", \"CustomerName\": \"Akhilraj K\", \"CompanyName\": \"CDC\", \"PartnerName\": \"Akhilraj\", \"LicenseKey\": \"0267-D91E-EBD9-455E\", \"VerOrder\": 3, \"LastReportedTime\": \"Not Available\" }, { \"DeviceId\": 45, \"ConnectionId\": \"\", \"CustomerId\": 11, \"HostName\": \"HostName\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Not Available\", \"DeviceType\": \"\", \"Version\": \"\", \"LicenseType\": \"Trial\", \"CustomerName\": \"abhinand test\", \"CompanyName\": \"cdcllp\", \"PartnerName\": \"Akhilraj\", \"LicenseKey\": \"DA02-A6E5-BC56-4816\", \"VerOrder\": 4, \"LastReportedTime\": \"Not Available\" }, { \"DeviceId\": 107, \"ConnectionId\": \"bLK0gO08piq-fGfk5Ss-tw8523cd261\", \"CustomerId\": 1, \"HostName\": \"NanduR-PC-WIN7\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Activated\", \"DeviceType\": \"Desktop\", \"Version\": \"\", \"LicenseType\": \"Paid\", \"CustomerName\": \"Akhilraj K\", \"CompanyName\": \"CDC\", \"PartnerName\": \"Akhilraj\", \"LicenseKey\": \"901C-46F8-EFF0-49A5\", \"VerOrder\": 5, \"LastReportedTime\": \"2021-08-18T11:36:51.436Z\" }, { \"DeviceId\": 413, \"ConnectionId\": \"\", \"CustomerId\": 2, \"HostName\": \"THERESIA-PC\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Not Available\", \"DeviceType\": \"\", \"Version\": \"\", \"LicenseType\": \"Trial\", \"CustomerName\": \"abhinand bs\", \"CompanyName\": \"CDC\", \"PartnerName\": \"testpartner\", \"LicenseKey\": \"F7DD-87FD-2625-4AE1\", \"VerOrder\": 6, \"LastReportedTime\": \"Not Available\" }, { \"DeviceId\": 235, \"ConnectionId\": \"\", \"CustomerId\": 2, \"HostName\": \"CDC-102\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Not Available\", \"DeviceType\": \"\", \"Version\": \"\", \"LicenseType\": \"Trial\", \"CustomerName\": \"abhinand bs\", \"CompanyName\": \"CDC\", \"PartnerName\": \"testpartner\", \"LicenseKey\": \"F7DD-87FD-2625-4AE1\", \"VerOrder\": 7, \"LastReportedTime\": \"Not Available\" }, { \"DeviceId\": 233, \"ConnectionId\": \"\", \"CustomerId\": 2, \"HostName\": \"CDC-102\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Not Available\", \"DeviceType\": \"\", \"Version\": \"\", \"LicenseType\": \"Trial\", \"CustomerName\": \"abhinand bs\", \"CompanyName\": \"CDC\", \"PartnerName\": \"testpartner\", \"LicenseKey\": \"F7DD-87FD-2625-4AE1\", \"VerOrder\": 8, \"LastReportedTime\": \"Not Available\" }, { \"DeviceId\": 66, \"ConnectionId\": \"\", \"CustomerId\": 1, \"HostName\": \"LAPTOP-PKMCG7T7\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Not Available\", \"DeviceType\": \"\", \"Version\": \"\", \"LicenseType\": \"Paid\", \"CustomerName\": \"Akhilraj K\", \"CompanyName\": \"CDC\", \"PartnerName\": \"Akhilraj\", \"LicenseKey\": \"0267-D91E-EBD9-455E\", \"VerOrder\": 9, \"LastReportedTime\": \"Not Available\" }, { \"DeviceId\": 101, \"ConnectionId\": \"uExOAHvZNg61_jMaVJ_gIQ\", \"CustomerId\": 1, \"HostName\": \"WIN-7DVFN57QBSD\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Activated\", \"DeviceType\": \"Server\", \"Version\": \"4.0.1\", \"LicenseType\": \"Paid\", \"CustomerName\": \"Akhilraj K\", \"CompanyName\": \"CDC\", \"PartnerName\": \"Akhilraj\", \"LicenseKey\": \"0267-D91E-EBD9-455E\", \"VerOrder\": 10, \"LastReportedTime\": \"2021-05-16T17:18:32.431Z\" }, { \"DeviceId\": 100, \"ConnectionId\": \"xUspof8OgNmfbfKcN3c0Hw\", \"CustomerId\": 1, \"HostName\": \"WIN-2SPHT3I4H0J\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Activated\", \"DeviceType\": \"Server\", \"Version\": \"4.0.1\", \"LicenseType\": \"Paid\", \"CustomerName\": \"Akhilraj K\", \"CompanyName\": \"CDC\", \"PartnerName\": \"Akhilraj\", \"LicenseKey\": \"0267-D91E-EBD9-455E\", \"VerOrder\": 11, \"LastReportedTime\": \"2021-04-15T18:27:21.042Z\" }, { \"DeviceId\": 97, \"ConnectionId\": \"Gb8o7mtiZlQKQOIMwHghyw\", \"CustomerId\": 1, \"HostName\": \"WIN-REVUEGTR0LS\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Activated\", \"DeviceType\": \"Server\", \"Version\": \"4.0.1\", \"LicenseType\": \"Paid\", \"CustomerName\": \"Akhilraj K\", \"CompanyName\": \"CDC\", \"PartnerName\": \"Akhilraj\", \"LicenseKey\": \"0267-D91E-EBD9-455E\", \"VerOrder\": 12, \"LastReportedTime\": \"2021-04-12T16:59:54.091Z\" }, { \"DeviceId\": 68, \"ConnectionId\": \"VZcH97MCbOQ50NbEVyWyjg\", \"CustomerId\": 1, \"HostName\": \"NanduR-PC\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Activated\", \"DeviceType\": \"Desktop\", \"Version\": \"4.0.2\", \"LicenseType\": \"Paid\", \"CustomerName\": \"Akhilraj K\", \"CompanyName\": \"CDC\", \"PartnerName\": \"Akhilraj\", \"LicenseKey\": \"901C-46F8-EFF0-49A5\", \"VerOrder\": 13, \"LastReportedTime\": \"2021-04-26T11:26:25.101Z\" }, { \"DeviceId\": 147, \"ConnectionId\": \"CheuncI13AeG7hB7ZcB10Q\", \"CustomerId\": 19, \"HostName\": \"DESKTOP-A1EV91S\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Activated\", \"DeviceType\": \"Desktop\", \"Version\": \"4.1.2\", \"LicenseType\": \"Paid\", \"CustomerName\": \"Sid Nair\", \"CompanyName\": \"CDC\", \"PartnerName\": \"Sid\", \"LicenseKey\": \"0FB6-C426-3457-4B1D\", \"VerOrder\": 14, \"LastReportedTime\": \"2021-05-11T19:24:13.765Z\" }, { \"DeviceId\": 157, \"ConnectionId\": \"RLmgWI0r9yPZVtLIHEXzuQ\", \"CustomerId\": 1, \"HostName\": \"WIN-H97A8C8EG2O\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Activated\", \"DeviceType\": \"Desktop\", \"Version\": \"4.1.3\", \"LicenseType\": \"Paid\", \"CustomerName\": \"Akhilraj K\", \"CompanyName\": \"CDC\", \"PartnerName\": \"Akhilraj\", \"LicenseKey\": \"9CE4-3BD5-2236-4D41\", \"VerOrder\": 15, \"LastReportedTime\": \"2021-05-24T08:59:07.809Z\" }, { \"DeviceId\": 196, \"ConnectionId\": \"HnaQFoIPRtTpujCiz4ZbQA\", \"CustomerId\": 1, \"HostName\": \"DESKTOP-50624NU\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Expired\", \"DeviceType\": \"Desktop\", \"Version\": \"4.1.3\", \"LicenseType\": \"Paid\", \"CustomerName\": \"Akhilraj K\", \"CompanyName\": \"CDC\", \"PartnerName\": \"Akhilraj\", \"LicenseKey\": \"9CE4-3BD5-2236-4D41\", \"VerOrder\": 16, \"LastReportedTime\": \"2021-10-12T05:12:35.659Z\" }, { \"DeviceId\": 271, \"ConnectionId\": \"Vv3kBj_LTj2jCNslTVRf4Q\", \"CustomerId\": 1, \"HostName\": \"2K19-DC\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Activated\", \"DeviceType\": \"Server\", \"Version\": \"4.1.9\", \"LicenseType\": \"Paid\", \"CustomerName\": \"Akhilraj K\", \"CompanyName\": \"CDC\", \"PartnerName\": \"Akhilraj\", \"LicenseKey\": \"0267-D91E-EBD9-455E\", \"VerOrder\": 17, \"LastReportedTime\": \"2021-10-20T09:59:14.019Z\" }, { \"DeviceId\": 273, \"ConnectionId\": \"lTJe9SrlV67CMCVNGGSLqw\", \"CustomerId\": 1, \"HostName\": \"VM-W10\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Activated\", \"DeviceType\": \"Desktop\", \"Version\": \"4.1.9\", \"LicenseType\": \"Paid\", \"CustomerName\": \"Akhilraj K\", \"CompanyName\": \"CDC\", \"PartnerName\": \"Akhilraj\", \"LicenseKey\": \"0267-D91E-EBD9-455E\", \"VerOrder\": 18, \"LastReportedTime\": \"2021-10-20T03:30:33.412Z\" }, { \"DeviceId\": 276, \"ConnectionId\": \"8fh7VMnT9gSnLeDRT-qBEQ\", \"CustomerId\": 8, \"HostName\": \"CH-2k19FS\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Activated\", \"DeviceType\": \"Server\", \"Version\": \"4.2.2\", \"LicenseType\": \"Paid\", \"CustomerName\": \"Chris Hartwig\", \"CompanyName\": \"Testco Products\", \"PartnerName\": \"Testco Products\", \"LicenseKey\": \"0B0B-5F97-172B-4FDF\", \"VerOrder\": 19, \"LastReportedTime\": \"2022-01-20T19:22:29.262Z\" }, { \"DeviceId\": 277, \"ConnectionId\": \"jla4gOZx12XrDlvLBPaoCw\", \"CustomerId\": 8, \"HostName\": \"CH-W10DEMO\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Activated\", \"DeviceType\": \"Desktop\", \"Version\": \"4.2.2\", \"LicenseType\": \"Paid\", \"CustomerName\": \"Chris Hartwig\", \"CompanyName\": \"Testco Products\", \"PartnerName\": \"Testco Products\", \"LicenseKey\": \"0B0B-5F97-172B-4FDF\", \"VerOrder\": 20, \"LastReportedTime\": \"2022-01-20T19:21:54.660Z\" }, { \"DeviceId\": 278, \"ConnectionId\": \"yVx1M5hUUbgKp82IHGC0sw\", \"CustomerId\": 8, \"HostName\": \"CH-W10TEST\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Activated\", \"DeviceType\": \"Desktop\", \"Version\": \"4.2.2\", \"LicenseType\": \"Paid\", \"CustomerName\": \"Chris Hartwig\", \"CompanyName\": \"Testco Products\", \"PartnerName\": \"Testco Products\", \"LicenseKey\": \"0B0B-5F97-172B-4FDF\", \"VerOrder\": 21, \"LastReportedTime\": \"2022-01-24T14:12:03.861Z\" }, { \"DeviceId\": 279, \"ConnectionId\": \"8BUpAyYgSPk6Tj56_G2QJQ\", \"CustomerId\": 8, \"HostName\": \"CHW10-CLOUD2\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Activated\", \"DeviceType\": \"Desktop\", \"Version\": \"4.2.2\", \"LicenseType\": \"Paid\", \"CustomerName\": \"Chris Hartwig\", \"CompanyName\": \"Testco Products\", \"PartnerName\": \"Testco Products\", \"LicenseKey\": \"0B0B-5F97-172B-4FDF\", \"VerOrder\": 22, \"LastReportedTime\": \"2022-01-19T19:41:10.156Z\" }, { \"DeviceId\": 275, \"ConnectionId\": \"89fQjJPHpaOe_3OQYJwm1g\", \"CustomerId\": 8, \"HostName\": \"CH-2K19DC\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Activated\", \"DeviceType\": \"Server\", \"Version\": \"4.2.2\", \"LicenseType\": \"Paid\", \"CustomerName\": \"Chris Hartwig\", \"CompanyName\": \"Testco Products\", \"PartnerName\": \"Testco Products\", \"LicenseKey\": \"0B0B-5F97-172B-4FDF\", \"VerOrder\": 23, \"LastReportedTime\": \"2022-01-24T15:44:18.387Z\" }, { \"DeviceId\": 280, \"ConnectionId\": \"z47vobns_LeZxqbKvbgV9Q\", \"CustomerId\": 8, \"HostName\": \"CHW10-CLOUD1\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Activated\", \"DeviceType\": \"Desktop\", \"Version\": \"4.2.2\", \"LicenseType\": \"Paid\", \"CustomerName\": \"Chris Hartwig\", \"CompanyName\": \"Testco Products\", \"PartnerName\": \"Testco Products\", \"LicenseKey\": \"0B0B-5F97-172B-4FDF\", \"VerOrder\": 24, \"LastReportedTime\": \"2022-01-19T19:42:27.315Z\" }, { \"DeviceId\": 274, \"ConnectionId\": \"hDlmJsPtTeMLPZhrXg2SUw\", \"CustomerId\": 1, \"HostName\": \"CDC-102\", \"OnlineStatus\": \"Offline\", \"ActivationStatus\": \"Activated\", \"DeviceType\": \"Desktop\", \"Version\": \"4.2.2\", \"LicenseType\": \"Paid\", \"CustomerName\": \"Akhilraj K\", \"CompanyName\": \"CDC\", \"PartnerName\": \"Akhilraj\", \"LicenseKey\": \"0267-D91E-EBD9-455E\", \"VerOrder\": 25, \"LastReportedTime\": \"2022-02-11T14:00:50.351Z\" }\r\n ],\r\n users :[\r\n {\"Customer\":null,\"Partner\":null,\"PartnerId\":null,\"CustomerId\":null,\"Id\":\"bb5276b0-a872-4ed6-a6e3-85903cf0af51\",\"UserName\":\"sidharth.radhakrishnan@gmail.com\",\"NormalizedUserName\":null,\"Email\":\"sidharth.radhakrishnan@gmail.com\",\"NormalizedEmail\":null,\"EmailConfirmed\":false,\"PasswordHash\":null,\"SecurityStamp\":\"a8688719-6ffd-47d3-b697-64be866984d6\",\"ConcurrencyStamp\":\"488aa4ab-5692-41a9-9f6a-48308b36ded6\",\"PhoneNumber\":null,\"PhoneNumberConfirmed\":false,\"TwoFactorEnabled\":true,\"LockoutEnd\":null,\"LockoutEnabled\":false,\"AccessFailedCount\":0},{\"Customer\":null,\"Partner\":{\"PartnerId\":21,\"EntityName\":\"Nealfdsfgsdgfs\",\"FirstName\":\"Neal\",\"LastName\":\"fdsfgsdgfs\",\"Email\":\"neal@fdgg.com\"},\"PartnerId\":null,\"CustomerId\":null,\"Id\":\"b2c077c8-889a-4722-b9a7-1b47d720387c\",\"UserName\":\"neal@fdgg.com\",\"NormalizedUserName\":null,\"Email\":\"neal@fdgg.com\",\"NormalizedEmail\":null,\"EmailConfirmed\":false,\"PasswordHash\":null,\"SecurityStamp\":\"217e2a57-40be-4159-af31-81fd10b62550\",\"ConcurrencyStamp\":\"87561b42-835f-4576-b39e-cb79c51fd1a9\",\"PhoneNumber\":null,\"PhoneNumberConfirmed\":false,\"TwoFactorEnabled\":false,\"LockoutEnd\":null,\"LockoutEnabled\":false,\"AccessFailedCount\":0},{\"Customer\":null,\"Partner\":{\"PartnerId\":1,\"EntityName\":\"Akhilraj\",\"FirstName\":\"Akhil\",\"LastName\":\"K\",\"Email\":\"akhilraj.k@cdcllp.com\"},\"PartnerId\":null,\"CustomerId\":null,\"Id\":\"db8f7445-79a9-40b7-b163-e98e51bc139e\",\"UserName\":\"aa@cdc.com\",\"NormalizedUserName\":null,\"Email\":\"aa@cdc.com\",\"NormalizedEmail\":null,\"EmailConfirmed\":false,\"PasswordHash\":null,\"SecurityStamp\":\"ee165253-393d-4bec-b785-b304912c9611\",\"ConcurrencyStamp\":\"8354c264-d988-4fb2-bd4e-ef1dd046b657\",\"PhoneNumber\":null,\"PhoneNumberConfirmed\":false,\"TwoFactorEnabled\":false,\"LockoutEnd\":null,\"LockoutEnabled\":false,\"AccessFailedCount\":0},{\"Customer\":{\"CustomerId\":1,\"FirstName\":\"Akhilraj\",\"LastName\":\"K\",\"UserEmail\":\"akhibedakam@gmail.com\",\"Address\":\"CDC\",\"AccountType\":\"Company\",\"PartnerId\":1,\"Partner\":{\"PartnerId\":1,\"EntityName\":\"Akhilraj\",\"FirstName\":\"Akhil\",\"LastName\":\"K\",\"Email\":\"akhilraj.k@cdcllp.com\"},\"IsActive\":true,\"CompanyName\":\"CDC\"},\"Partner\":null,\"PartnerId\":null,\"CustomerId\":null,\"Id\":\"d6078e76-6c6f-4ce2-924a-1abf1978c9ec\",\"UserName\":\"customer@gmail.com\",\"NormalizedUserName\":null,\"Email\":\"customer@gmail.com\",\"NormalizedEmail\":null,\"EmailConfirmed\":false,\"PasswordHash\":null,\"SecurityStamp\":\"b64761ee-ff3d-425a-b16d-0abc340855fb\",\"ConcurrencyStamp\":\"441a9126-bbdc-4e8e-8d8a-f9afe345e034\",\"PhoneNumber\":null,\"PhoneNumberConfirmed\":false,\"TwoFactorEnabled\":false,\"LockoutEnd\":null,\"LockoutEnabled\":false,\"AccessFailedCount\":0},{\"Customer\":null,\"Partner\":{\"PartnerId\":13,\"EntityName\":\"ISP Technologies\",\"FirstName\":\"Tony\",\"LastName\":\"Spencer\",\"Email\":\"tspencer@isptech.com\"},\"PartnerId\":null,\"CustomerId\":null,\"Id\":\"352759a7-3b83-4436-9bdb-692dabc4e262\",\"UserName\":\"tpart@testpart.com\",\"NormalizedUserName\":null,\"Email\":\"tpart@testpart.com\",\"NormalizedEmail\":null,\"EmailConfirmed\":false,\"PasswordHash\":null,\"SecurityStamp\":\"d633b91a-37c0-4d9a-81ef-e48f8019d5c4\",\"ConcurrencyStamp\":\"96ba7be8-1eed-4c02-8bd0-6da5017fa0f7\",\"PhoneNumber\":null,\"PhoneNumberConfirmed\":false,\"TwoFactorEnabled\":false,\"LockoutEnd\":null,\"LockoutEnabled\":false,\"AccessFailedCount\":0},{\"Customer\":{\"CustomerId\":14,\"FirstName\":\"abhinand\",\"LastName\":\"hb\",\"UserEmail\":\"abhinandbs1@gmail.com\",\"Address\":\"meenakshmandirum,manalayam,poredom p o,chadayamangalam\",\"AccountType\":\"Company\",\"PartnerId\":1,\"Partner\":{\"PartnerId\":1,\"EntityName\":\"Akhilraj\",\"FirstName\":\"Akhil\",\"LastName\":\"K\",\"Email\":\"akhilraj.k@cdcllp.com\"},\"IsActive\":false,\"CompanyName\":\"cdcllp\"},\"Partner\":null,\"PartnerId\":null,\"CustomerId\":null,\"Id\":\"2fb149be-9cf8-43d7-838b-6c412fa19fa4\",\"UserName\":\"test@watchpointdata.com\",\"NormalizedUserName\":null,\"Email\":\"test@watchpointdata.com\",\"NormalizedEmail\":null,\"EmailConfirmed\":false,\"PasswordHash\":null,\"SecurityStamp\":\"8caec534-1047-4b1f-8158-a2e98cca6402\",\"ConcurrencyStamp\":\"809df5ea-d833-4f07-92de-9b0adfa238e9\",\"PhoneNumber\":null,\"PhoneNumberConfirmed\":false,\"TwoFactorEnabled\":false,\"LockoutEnd\":null,\"LockoutEnabled\":false,\"AccessFailedCount\":0}\r\n ]\r\n}\r\n\r\nexport default tableData","import { useState, useEffect } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Button, Col, Container, Row, ButtonGroup } from \"reactstrap\";\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport paginationFactory, \r\n { PaginationProvider, SizePerPageDropdownStandalone, PaginationTotalStandalone, PaginationListStandalone } \r\nfrom 'react-bootstrap-table2-paginator';\r\nimport ToolkitProvider, { Search } from 'react-bootstrap-table2-toolkit';\r\n\r\nimport tableData from \"utils/getDummyTableData\";\r\n\r\nconst { SearchBar } = Search;\r\n\r\nconst PartnerCustomers = () => {\r\n const [selectedRow, setSelectedRow] = useState([]);\r\n const [rowData, setRowData] = useState([]);\r\n\r\n let history = useHistory();\r\n\r\n useEffect(() => {\r\n const newProducts = tableData.products\r\n setRowData(newProducts)\r\n });\r\n\r\n const handleOnSelect = (row, isSelect) => {\r\n const newSelection = isSelect ?\r\n [...selectedRow, row.PartnerId] : selectedRow.filter(x => x !== row.PartnerId)\r\n setSelectedRow(newSelection)\r\n }\r\n\r\n const handleOnSelectAll = (isSelect, rows) => {\r\n const ids = rows.map(r => r.PartnerId);\r\n isSelect ? setSelectedRow(ids) : setSelectedRow([])\r\n }\r\n\r\n const handlePartnerDelete = () => {\r\n console.log(\"delete entries\", selectedRow)\r\n }\r\n\r\n const rowEvents = {\r\n onClick: (e, row, rowIndex) => {\r\n console.log(\"target\",e.target.cellIndex)\r\n //history.push(`/Partner/PartnerEdit/${row.PartnerId}`)\r\n },\r\n };\r\n\r\n const handlePartnerChange = (row) => {\r\n history.push(`/Partner/PartnerChange/${row.PartnerId}`)\r\n }\r\n\r\n const viewDevices = (row) => {\r\n console.log(row.EntityName)\r\n }\r\n\r\n const columnActions = (cell, row, rowIndex) => {\r\n return (
\r\n {' '}\r\n \r\n
)\r\n }\r\n\r\n const selectRow = {\r\n mode: 'checkbox',\r\n clickToSelect: false,\r\n selected: selectedRow,\r\n onSelect: handleOnSelect,\r\n onSelectAll: handleOnSelectAll\r\n };\r\n\r\n const columns = [{\r\n dataField: 'PartnerId',\r\n text: 'ID',\r\n searchable: true,\r\n headerStyle: { width: '70px' },\r\n },\r\n {\r\n dataField: 'Email',\r\n text: 'Customer Email',\r\n searchable: true\r\n },\r\n {\r\n dataField: 'EntityName',\r\n text: 'Partner Name',\r\n searchable: true\r\n }, {\r\n dataField: 'FirstName',\r\n text: 'First Name',\r\n searchable: true\r\n }, {\r\n dataField: 'LastName',\r\n text: 'Last Name',\r\n searchable: true\r\n },\r\n {\r\n text: 'Actions',\r\n searchable: false,\r\n headerStyle: { width: '270px' },\r\n formatter: columnActions\r\n }];\r\n\r\n const paginationOptions = {\r\n custom: true,\r\n withFirstAndLast : true,\r\n totalSize: rowData.length\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
Partner Worldwide
\r\n \r\n
\r\n \r\n {props => (\r\n \r\n {\r\n ({\r\n paginationProps,\r\n paginationTableProps\r\n }) => (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Entries per page : \r\n \r\n {selectedRow.length > 0 &&\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 \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\r\nexport default PartnerCustomers;","import { useState, useEffect } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Button, ButtonGroup, Col, Container, Row, Spinner } from \"reactstrap\";\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport paginationFactory,\r\n{ PaginationProvider, SizePerPageDropdownStandalone, PaginationTotalStandalone, PaginationListStandalone }\r\n from 'react-bootstrap-table2-paginator';\r\nimport ToolkitProvider, { Search } from 'react-bootstrap-table2-toolkit';\r\n\r\nimport { useSelector } from 'react-redux'\r\n\r\nconst { SearchBar } = Search;\r\n\r\nconst CustomerTable = (props) => {\r\n const [selectedRow, setSelectedRow] = useState([]);\r\n const [rowData, setRowData] = useState([]);\r\n\r\n let history = useHistory();\r\n\r\n const prepareCustomerData = (customers) => {\r\n return customers.map(e => {\r\n return { ...e, Contact: `${e.FirstName} ${e.LastName}` }\r\n })\r\n }\r\n\r\n useEffect(() => {\r\n setRowData(prepareCustomerData(props.customers) || []);\r\n handleOnSelectAll(false, [])\r\n }, [props.customers]);\r\n\r\n const handleOnSelect = (row, isSelect) => {\r\n const newSelection = isSelect ?\r\n [...selectedRow, row.Id] : selectedRow.filter(x => x !== row.Id)\r\n setSelectedRow(newSelection)\r\n }\r\n\r\n const handleOnSelectAll = (isSelect, rows) => {\r\n const ids = rows.map(r => r.Id);\r\n isSelect ? setSelectedRow(ids) : setSelectedRow([])\r\n }\r\n\r\n const handleInvactivate = () => {\r\n if (props.onDelete)\r\n props.onDelete(selectedRow)\r\n }\r\n\r\n const rowEvents = {\r\n onClick: (e, row, rowIndex) => {\r\n if (props.OnRowClick) {\r\n props.OnRowClick(row)\r\n }\r\n },\r\n };\r\n\r\n const setActiveState = (state) => {\r\n if (props.setActiveState)\r\n props.setActiveState(state)\r\n }\r\n\r\n const selectRow = {\r\n mode: 'checkbox',\r\n clickToSelect: false,\r\n selected: selectedRow,\r\n onSelect: handleOnSelect,\r\n onSelectAll: handleOnSelectAll\r\n };\r\n\r\n const columns = [\r\n {\r\n dataField: 'Id',\r\n text: 'ID',\r\n sort: true,\r\n classes: 'common-table-column-style',\r\n searchable: true,\r\n headerStyle: { width: '70px' },\r\n },\r\n {\r\n dataField: 'CompanyName',\r\n text: 'Company',\r\n classes: 'common-table-column-style',\r\n sort: true,\r\n searchable: true,\r\n },\r\n {\r\n dataField: 'Contact',\r\n text: 'Contact',\r\n classes: 'common-table-column-style',\r\n sort: true,\r\n searchable: true\r\n },\r\n {\r\n dataField: 'ContactEmail',\r\n text: 'Email',\r\n classes: 'common-table-column-style',\r\n sort: true,\r\n searchable: true,\r\n },\r\n {\r\n dataField: 'PartnerName',\r\n text: 'Partner',\r\n classes: 'common-table-column-style',\r\n sort: true,\r\n searchable: true,\r\n },\r\n {\r\n dataField: 'LicenseType',\r\n text: 'License Type',\r\n classes: 'common-table-column-style',\r\n sort: true,\r\n searchable: true,\r\n },\r\n ];\r\n\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: rowData.length\r\n };\r\n\r\n const { active, loading } = props\r\n\r\n const user = useSelector(s => s.authentication.user)\r\n\r\n return (\r\n\r\n \r\n {props => (\r\n \r\n {\r\n ({\r\n paginationProps,\r\n paginationTableProps\r\n }) => (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Entries per page :\r\n \r\n {selectedRow.length > 0 &&\r\n \r\n \r\n \r\n }\r\n \r\n \r\n \r\n \r\n \r\n history.push(\"/customers/add_customer\")}\r\n >\r\n Add New Customer\r\n \r\n {user.role === 'admin' && (\r\n history.push('/customers/global_agent_settings')}\r\n >\r\n Global Settings\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n : \"No Data\"}\r\n headerWrapperClasses=\"table-header-light\"\r\n bodyClasses=\"clickable-table-row\"\r\n {...props.baseProps}\r\n {...paginationTableProps}\r\n rowStyle={{\r\n //backgroundColor: '#fff',\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 \r\n );\r\n};\r\n\r\nexport default CustomerTable;","import { result } from \"lodash\";\r\nimport { useState, useEffect } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Button, Col, Container, Row } from \"reactstrap\";\r\n\r\nimport WebAPI from 'services/WebAPI'\r\n\r\nimport CustomerTable from './table'\r\n\r\nconst CustomerList = () => {\r\n const [rowData, setRowData] = useState([]);\r\n const [active, setActive] = useState(true)\r\n const [loading, setLoading] = useState(false)\r\n\r\n let history = useHistory();\r\n\r\n useEffect(() => {\r\n loadCustomers()\r\n }, [active]);\r\n\r\n const loadCustomers = () => {\r\n setLoading(true)\r\n setRowData([])\r\n WebAPI\r\n .get(`/Customers/List?active=${active ? 'true' : 'false'}`)\r\n .then(({ data: res }) => {\r\n if (res.status)\r\n setRowData(res.data)\r\n })\r\n .finally(() => setLoading(false))\r\n }\r\n\r\n const OnRowClick = (row) => {\r\n history.push('/customers/customer_details/' + row.Id)\r\n }\r\n\r\n const OnDelete = (ids) => {\r\n console.log(ids)\r\n }\r\n\r\n\r\n\r\n return (\r\n \r\n
Customers
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default CustomerList;","import { result } from \"lodash\";\r\nimport { useState, useEffect } from \"react\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { Button, Col, Container, Row } from \"reactstrap\";\r\n\r\nimport WebAPI from 'services/WebAPI'\r\n\r\nimport CustomerTable from './table'\r\n\r\nconst CustomerList = () => {\r\n const [rowData, setRowData] = useState([]);\r\n const [active, setActive] = useState(true)\r\n const [loading, setLoading] = useState(false)\r\n\r\n let history = useHistory();\r\n const { id } = useParams()\r\n\r\n useEffect(() => {\r\n loadCustomers()\r\n }, [active]);\r\n\r\n const loadCustomers = () => {\r\n setLoading(true)\r\n setRowData([])\r\n WebAPI\r\n .get(`/Customers/ListByPartner/${id}?active=${active ? 'true' : 'false'}`)\r\n .then(({ data: res }) => {\r\n if (res.status)\r\n setRowData(res.data)\r\n })\r\n .finally(() => setLoading(false))\r\n }\r\n\r\n const OnRowClick = (row) => {\r\n history.push('/customers/customer_details/' + row.Id)\r\n }\r\n\r\n const OnDelete = (ids) => {\r\n console.log(ids)\r\n }\r\n\r\n\r\n\r\n return (\r\n \r\n
Customers of Partner
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default CustomerList;","import { useEffect, useState } from \"react\";\r\nimport {\r\n Col,\r\n Row,\r\n Form,\r\n Input,\r\n Label,\r\n FormGroup,\r\n FormFeedback\r\n} from \"reactstrap\";\r\nimport validator from 'validator';\r\nimport Button from 'components/Inputs/TButton'\r\nimport { useSelector } from 'react-redux'\r\n\r\nimport WebAPI from 'services/WebAPI'\r\nimport AlertMessage from \"components/Alert\";\r\n\r\nconst CustomerForm = (props) => {\r\n\r\n const user = useSelector(store => store.authentication.user)\r\n\r\n const [partners, setPartners] = useState([])\r\n useEffect(() => {\r\n WebAPI.get('Partner/List')\r\n .then(({ data: res }) => {\r\n setPartners(res.data)\r\n })\r\n }, [])\r\n\r\n\r\n const [formState, setFormState] = useState({\r\n FirstName: \"\",\r\n LastName: \"\",\r\n CompanyName: \"\",\r\n UserEmail: \"\",\r\n Address: \"\",\r\n AccountType: \"Company\",\r\n PartnerId: 0,\r\n });\r\n\r\n const [invalidFormState, setInvalidFormState] = useState({\r\n FirstName: false,\r\n LastName: false,\r\n CompanyName: false,\r\n UserEmail: false,\r\n Address: false,\r\n AccountType: false,\r\n PartnerId: false\r\n });\r\n\r\n useEffect(() => {\r\n if(props.editMode)\r\n setFormState(props.customer)\r\n }, [props.customer])\r\n\r\n const handleSave = (e) => {\r\n let flag = 0\r\n e.preventDefault();\r\n Object.entries(formState).forEach(([a, b]) => {\r\n if (a === 'PartnerId') {\r\n if (b < 1) {\r\n flag = 1\r\n invalidFormState[a] = true\r\n setInvalidFormState({ ...invalidFormState })\r\n }\r\n } else {\r\n if (validator.isEmpty(b)) {\r\n flag = 1\r\n invalidFormState[a] = true\r\n setInvalidFormState({ ...invalidFormState })\r\n }\r\n }\r\n });\r\n if (flag === 0) props.shareFormData(formState)\r\n }\r\n\r\n const handleFormValueChange = ({ target: { id, value } }) => {\r\n if (id === 'PartnerId')\r\n value = parseInt(value, 10)\r\n invalidFormState[id] = false\r\n formState[id] = value\r\n setFormState({ ...formState })\r\n setInvalidFormState({ ...invalidFormState })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n Please enter a first name\r\n \r\n \r\n \r\n \r\n Please enter a last name\r\n \r\n \r\n \r\n \r\n Please enter a company name\r\n \r\n \r\n \r\n \r\n Please enter a valid UserEmail\r\n \r\n \r\n \r\n \r\n Please enter a contact Address\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Please select a account type\r\n \r\n {user.role !== 'Admin' && (\r\n \r\n \r\n \r\n \r\n {partners.map(o => ())}\r\n \r\n Please select a partner \r\n \r\n )}\r\n \r\n \r\n {props.editMode ? \"Save\" : \"Create\"}\r\n \r\n \r\n
\r\n )\r\n};\r\n\r\nexport default CustomerForm;","import { useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport {\r\n Col,\r\n Row,\r\n Card,\r\n Button,\r\n CardBody,\r\n Container\r\n} from \"reactstrap\";\r\nimport { useDispatch } from 'react-redux'\r\n\r\nimport { alertActions } from 'redux/_actions/'\r\nimport WebAPI from 'services/WebAPI'\r\n\r\nimport CustomerForm from \"./form\";\r\n\r\nconst CustomerAdd = () => {\r\n let history = useHistory();\r\n const dispatch = useDispatch()\r\n\r\n const [loading, setLoading] = useState(false)\r\n\r\n const saveCustomer = (customerData) => {\r\n if (loading)\r\n return\r\n setLoading(true)\r\n WebAPI\r\n .post('/Customers/Create/', customerData)\r\n .then(({ data: res }) => {\r\n if (res.status) {\r\n history.push('/customers/customer_details/' + res.data.CustomerId)\r\n }else {\r\n dispatch(alertActions.error(res.message))\r\n }\r\n })\r\n .catch(() => dispatch(alertActions.error(\"Connection error\")))\r\n .finally(() => setLoading(false))\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
\r\n history.go('-1')}\r\n >\r\n \r\n \r\n Add Customer\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\r\nexport default CustomerAdd;","import { useEffect, useState } from \"react\";\r\nimport { useDispatch } from 'react-redux'\r\nimport { useParams, useHistory } from \"react-router-dom\";\r\nimport {\r\n Col,\r\n Row,\r\n Card,\r\n Button,\r\n CardBody,\r\n Container\r\n} from \"reactstrap\";\r\nimport CustomerForm from \"./form\";\r\n\r\nimport { alertActions } from 'redux/_actions/'\r\nimport WebAPI from 'services/WebAPI'\r\n\r\nconst CustomerEdit = () => {\r\n let history = useHistory();\r\n const { id } = useParams();\r\n\r\n const [customer, setCustomer] = useState({})\r\n const [loading, setLoading] = useState(false)\r\n\r\n const dispatch = useDispatch()\r\n\r\n useEffect(() => {\r\n if (!id)\r\n return\r\n dispatch(alertActions.clear())\r\n WebAPI\r\n .get('/Customers/Details/' + id)\r\n .then(({ data: res }) => {\r\n if (res.status) {\r\n const { Partner, CustomerId,IsActive, ...d } = res.data\r\n setCustomer(d)\r\n }\r\n else{\r\n setCustomer({})\r\n dispatch(alertActions.error(res.message))\r\n }\r\n })\r\n }, [id]);\r\n\r\n\r\n const updateCustomer = (data) => {\r\n if (loading)\r\n return\r\n setLoading(true)\r\n WebAPI\r\n .post('/Customers/Update/' + id, data)\r\n .then(({ data: res }) => {\r\n if (res.status) {\r\n history.push('/customers/customer_details/' + id)\r\n } else {\r\n dispatch(alertActions.error(res.message))\r\n }\r\n })\r\n .catch(() => dispatch(alertActions.error(\"Connection error\")))\r\n .finally(() => setLoading(false))\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
\r\n history.go(-1)}\r\n >\r\n \r\n \r\n Edit Customer\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\r\nexport default CustomerEdit;","import React, { useState, useEffect } from 'react';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\n\r\nimport { userActions } from '../../redux/_actions';\r\nimport { Input, Label, FormGroup, Alert } from 'reactstrap';\r\nimport Button from 'components/Inputs/TButton'\r\nimport {Helmet} from 'react-helmet'\r\n\r\nimport { Link } from 'react-router-dom'\r\n\r\n\r\nfunction LoginAlerts() {\r\n const alertMesssage = useSelector(state => state.alert)\r\n if (alertMesssage.type) {\r\n return ({alertMesssage.message})\r\n }\r\n return null\r\n}\r\n\r\nfunction Login() {\r\n const twoFA = useSelector(state => state.authentication.TwoFA);\r\n const isLoading = useSelector(state => state.authentication.isWorking)\r\n const dispatch = useDispatch();\r\n\r\n const [username, setUsername] = useState('')\r\n const [password, setPassword] = useState('')\r\n const [code, setCode] = useState('')\r\n const [rememberUser, setRememberUser] = useState(false)\r\n const [rememberMachine, setRememberMachine] = useState(false)\r\n\r\n\r\n\r\n const cssInput = {\r\n borderRadius: 0,\r\n boxShadow: 'none',\r\n borderColor: '#d2d6de',\r\n marginBotton: '.5rem'\r\n }\r\n\r\n function submitLogin(e) {\r\n e.preventDefault()\r\n dispatch(userActions.login(username, password, rememberUser))\r\n }\r\n\r\n function submit2FA(e) {\r\n e.preventDefault()\r\n dispatch(userActions.twoFASubmit(code, rememberUser, rememberMachine))\r\n }\r\n\r\n if (twoFA) {\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Authentication | Canauri\r\n \r\n \r\n setCode(e.target.value)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n )\r\n } else {\r\n return (\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n Login | Canauri\r\n \r\n \r\n setUsername(e.target.value)}\r\n />\r\n \r\n \r\n \r\n setPassword(e.target.value)}\r\n />\r\n \r\n\r\n \r\n \r\n Forgot Passsword?\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\nexport default Login;\r\n","import React, { useState } from \"react\";\r\nimport { Input, Label, FormGroup } from \"reactstrap\";\r\nimport Button from \"components/Inputs/TButton\";\r\nimport { Link, Redirect } from \"react-router-dom\";\r\nimport _ from \"lodash\";\r\nimport { useDispatch } from \"react-redux\";\r\n\r\nimport WebAPI from \"services/WebAPI.js\";\r\nimport { alertActions } from \"redux/_actions\";\r\n\r\nfunction ForgotPass(props) {\r\n const [mail, setMail] = useState(\"\");\r\n const [loading, setLoading] = useState(false);\r\n const [submitted, setSubmit] = useState(false);\r\n\r\n const dispatch = useDispatch;\r\n\r\n if (!_.get(props, \"location.state.fromLogin\"))\r\n return ;\r\n\r\n const handleSubmit = () => {\r\n if (!mail) return;\r\n setLoading(true);\r\n WebAPI.post(`ForgotPasswordAPI/ForgotPassword?Email=${mail}`,{Email:mail})\r\n .then(({ data: res }) => {\r\n if (res.status) {\r\n setSubmit(true);\r\n }\r\n })\r\n .finally(() => setLoading(false));\r\n };\r\n\r\n console.log(\"props\", props);\r\n\r\n if (submitted)\r\n return (\r\n <>\r\n

\r\n Please check your email to reset password.\r\n

\r\n \r\n Login\r\n \r\n \r\n );\r\n\r\n return (\r\n <>\r\n \r\n \r\n setMail(e.target.value)}\r\n />\r\n \r\n \r\n \r\n Back to login\r\n \r\n \r\n Submit\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default ForgotPass;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Input, Label, FormGroup } from \"reactstrap\";\r\nimport Button from \"components/Inputs/TButton\";\r\nimport { Link } from \"react-router-dom\";\r\nimport _ from \"lodash\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nimport WebApi from \"services/WebAPI\";\r\n\r\nfunction Reset() {\r\n const [mail, setMail] = useState(\"\");\r\n const [pass1, setPass1] = useState(\"\");\r\n const [pass2, setPass2] = useState(\"\");\r\n const [code, setCode] = useState();\r\n const [isLoading, setLoading] = useState(false);\r\n const [submitted, setSubmit] = useState(false);\r\n\r\n const location = useLocation();\r\n \r\n useEffect(() => {\r\n const id = location.search.replace(\"?code=\", \"\");\r\n setCode(id);\r\n }, []);\r\n\r\n const handleSubmit = () => {\r\n if (!mail || !pass1 || !pass2 || pass1 !== pass2) return;\r\n setLoading(true);\r\n const req = {\r\n Code: code,\r\n Email: mail,\r\n Password: pass1,\r\n };\r\n WebApi.post(`ResetPasswordAPI/ResetPassword?Code=${code}&Email=${mail}&Password=${pass1}`, req)\r\n .then(({ data: res }) => {\r\n if(res.status)\r\n setSubmit(true);\r\n })\r\n .finally(() => setLoading(false));\r\n };\r\n\r\n if (submitted)\r\n return (\r\n <>\r\n

\r\n Your password has been reset. Please{\" \"}\r\n \r\n click here to login\r\n \r\n

\r\n \r\n );\r\n\r\n return (\r\n <>\r\n \r\n \r\n setMail(e.target.value)}\r\n />\r\n \r\n \r\n \r\n setPass1(e.target.value)}\r\n />\r\n \r\n \r\n \r\n setPass2(e.target.value)}\r\n />\r\n \r\n \r\n \r\n Reset\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nexport default Reset;\r\n","import { useEffect, useState } from \"react\";\r\nimport { useParams, useHistory } from \"react-router-dom\";\r\nimport { \r\n Col, \r\n Row, \r\n Card, \r\n Form,\r\n Label,\r\n Input,\r\n Button,\r\n CardBody, \r\n Container,\r\n FormGroup,\r\n FormFeedback\r\n} from \"reactstrap\";\r\n\r\nconst ChangePartner = () => {\r\n const [partnername, ] = useState(\"partners name\");\r\n let history = useHistory();\r\n const { id } = useParams();\r\n \r\n useEffect(() => {\r\n console.log(\"id\",id)\r\n });\r\n\r\n const savePartner = (partnerData) => {\r\n console.log(partnerData)\r\n }\r\n\r\n const handlePartnerChange = (e) => {\r\n console.log(\"change\",e)\r\n }\r\n\r\n return(\r\n <>\r\n \r\n
\r\n history.push('/Partner/PartnerList')}\r\n >\r\n \r\n \r\n Change Partner\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n Please enter a partner name\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};\r\n\r\nexport default ChangePartner;","import { useState, useEffect } from \"react\";\r\nimport { useSelector, useDispatch } from 'react-redux'\r\nimport { useParams, useHistory, Link } from \"react-router-dom\";\r\nimport { Card, Col, Container, Row, Spinner, Modal, ModalBody, ModalFooter, ModalHeader } from \"reactstrap\";\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport ToolkitProvider from 'react-bootstrap-table2-toolkit';\r\nimport Button from 'components/Inputs/TButton'\r\n\r\nimport AlertMessage from 'components/Alert'\r\nimport { alertActions } from 'redux/_actions'\r\n\r\nimport WebAPI from 'services/WebAPI'\r\n\r\nimport { generatePassword } from 'utils/functions'\r\nimport axios from \"axios\";\r\n\r\n\r\nfunction DetailsLine({ title, value }) {\r\n return (\r\n \r\n \r\n

{title}

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

{value}

\r\n \r\n
\r\n )\r\n}\r\n\r\nconst PopConfirm = ({ onOk }) => {\r\n const [modal, SetModal] = useState(false);\r\n\r\n const handleConfirm = () =>{\r\n if (onOk) onOk()\r\n SetModal(false)\r\n }\r\n\r\n return (\r\n <>\r\n \r\n SetModal(false)}>\r\n SetModal(false)}\r\n >\r\n Are you sure to delete this customer?\r\n \r\n \r\n As a result of this action, all endpoints, and users associated with this customer will be deleted from the system.\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst CustomerDetails = () => {\r\n const [licenseData, setLicenseData] = useState([]);\r\n const [customer, setCustomer] = useState({});\r\n\r\n const [totals, setTotals] = useState({ servers: 0, desktops: 0 })\r\n const [consolePassword, setConsolePassword] = useState(null)\r\n const [download, setDownload] = useState(false);\r\n const [url, setUrl] = useState(\"\");\r\n\r\n let history = useHistory();\r\n const { id } = useParams();\r\n\r\n const dispatch = useDispatch()\r\n\r\n useEffect(() => {\r\n fetchCustomerDetails()\r\n }, [id]);\r\n\r\n const fetchCustomerDetails = () => {\r\n dispatch(alertActions.clear())\r\n WebAPI\r\n .get(`/Customers/Details/${id}`)\r\n .then(({ data: res }) => {\r\n if (res.status) {\r\n setCustomer(res.data)\r\n setConsolePassword(res.consolePassword)\r\n }\r\n else{\r\n dispatch(alertActions.error(res.message === \"Not allowed\" ? \"Customer not found\" : res.message))\r\n setCustomer({})\r\n setConsolePassword(null)\r\n }\r\n })\r\n .then(() => {\r\n fetchLicenseList()\r\n })\r\n }\r\n\r\n const [loading, setLoading] = useState(false)\r\n\r\n const fetchLicenseList = () => {\r\n setLoading(true)\r\n WebAPI\r\n .get(`/Licenses/ListByCustomer/${id}`)\r\n .then(({ data: res }) => {\r\n if (res.status) {\r\n setLicenseData(res.data)\r\n totals.servers = res.data.reduce((prev, cur) => prev + cur.Server, 0)\r\n totals.desktops = res.data.reduce((prev, cur) => prev + cur.Desktop, 0)\r\n }\r\n })\r\n .finally(() => setLoading(false))\r\n }\r\n\r\n const [isSwitching, setSwitching] = useState(false)\r\n const switchState = (state) => {\r\n if (isSwitching)\r\n return;\r\n setSwitching(true)\r\n WebAPI\r\n .post(`/Customers/SwitchActive/${id}?isActive=${state ? 'true' : 'false'}`)\r\n .then(({ data: res }) => {\r\n if (res.status) {\r\n fetchCustomerDetails()\r\n }\r\n })\r\n .finally(() => setSwitching(false))\r\n }\r\n\r\n const sendConsolePassword = (password) => {\r\n if (isSwitching)\r\n return;\r\n setSwitching(true)\r\n WebAPI\r\n .post(`/Customers/SetConsolePassword/${id}`, { Password: password })\r\n .then(({ data: res }) => {\r\n if (res.status) {\r\n fetchCustomerDetails()\r\n }\r\n })\r\n .finally(() => setSwitching(false))\r\n }\r\n\r\n function generateConsolePassword() {\r\n setConsolePassword(null)\r\n sendConsolePassword(generatePassword(8))\r\n }\r\n\r\n function unsetConsolePassword() {\r\n setConsolePassword(null)\r\n sendConsolePassword(\"\")\r\n }\r\n\r\n function handleDelete() {\r\n WebAPI.post(`/Customers/DeleteCustomer/${id}`).then(({ data: res }) => {\r\n if (res.status) {\r\n history.replace('/customers')\r\n }\r\n });\r\n }\r\n\r\n const prepareDownload = async (key) => {\r\n try {\r\n setDownload(true);\r\n setLoading(true);\r\n const resp = await axios.get(\r\n `https://installer.canauri.com/prepare_msi?c=${id}&key=${key}`\r\n );\r\n if (resp.data.status) setUrl(`https://installer.canauri.com${resp.data.url}`);\r\n } catch (err) {\r\n console.log(\"err\", err);\r\n }\r\n setLoading(false);\r\n };\r\n\r\n const { role = \"partner\", theme = \"white\" } = useSelector(s => s.authentication.user) || {}\r\n\r\n const columnActions = (cell, row, rowIndex) => {\r\n return (\r\n
\r\n \r\n history.push(`/customers/endpoints_under_license/${row.Key}`)\r\n }\r\n >\r\n \r\n Devices\r\n \r\n {(role === \"admin\" || role === \"partner\") && (\r\n <>\r\n prepareDownload(row.Key)}\r\n >\r\n \r\n Download\r\n \r\n \r\n )}\r\n
\r\n )\r\n }\r\n\r\n const columns = [\r\n {\r\n dataField: 'Key',\r\n text: 'Key',\r\n headerStyle: { width: '250px' },\r\n },\r\n {\r\n dataField: 'Server',\r\n text: 'Active Servers',\r\n }, {\r\n dataField: 'Desktop',\r\n text: 'Active Desktops',\r\n }, {\r\n dataField: 'ExpiryDate',\r\n text: 'Expiration Date',\r\n formatter: (cellContent) => new Date(cellContent).toLocaleDateString()\r\n }, {\r\n dataField: 'Type',\r\n text: 'Type'\r\n },\r\n {\r\n text: 'Actions',\r\n formatter: columnActions,\r\n headerStyle: { width: '300px' },\r\n }];\r\n\r\n return (\r\n \r\n
\r\n history.go(-1)}\r\n >\r\n \r\n \r\n {customer.FirstName} {customer.LastName}\r\n
\r\n \r\n \r\n \r\n
Customer Details
\r\n \r\n \r\n \r\n history.push(\"/customers/edit_customer/\" + id)}\r\n >\r\n Edit Details\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push(`/customers/list_endpoints/${id}`)\r\n }\r\n >\r\n Devices\r\n \r\n \r\n history.push(\"/customers/notification_settings/\" + id)\r\n }\r\n >\r\n Notification Settings\r\n \r\n \r\n \r\n history.push(\"/customers/customer_settings/\" + id)\r\n }\r\n >\r\n Agent Default Settings\r\n \r\n switchState(!customer.IsActive)}\r\n isLoading={isSwitching}\r\n >\r\n {customer.IsActive ? \"Deactivate\" : \"Activate\"}\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 {false && (\r\n \r\n \r\n {consolePassword ? (\r\n {consolePassword}\r\n ) : (\r\n \r\n {isSwitching ? \"\" : \"\"}\r\n \r\n )}\r\n \r\n \r\n {\r\n e.preventDefault();\r\n generateConsolePassword();\r\n }}\r\n >\r\n Generate\r\n \r\n \r\n \r\n {\r\n e.preventDefault();\r\n unsetConsolePassword();\r\n }}\r\n >\r\n Remove\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
Customer Licenses
\r\n \r\n \r\n history.push(`/customers/new_license/${id}`)}\r\n >\r\n New License\r\n \r\n \r\n
\r\n \r\n \r\n \r\n {(props) => (\r\n
\r\n \r\n ) : (\r\n \"No Data\"\r\n )\r\n }\r\n headerWrapperClasses=\"table-header-light\"\r\n {...props.baseProps}\r\n rowStyle={\r\n {\r\n //backgroundColor: '#fff',\r\n }\r\n }\r\n />\r\n
\r\n )}\r\n \r\n \r\n
\r\n {\r\n setUrl(\"\");\r\n setDownload(false);\r\n }}\r\n >\r\n Download Installer\r\n \r\n {loading && }\r\n {!loading && url && (\r\n Click here to download!\r\n )}\r\n {!loading && !url &&

Something went wrong. Please try again!

}\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default CustomerDetails;","function getRandomInt(min, max) {\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n}\r\n\r\nfunction generateProductKey() {\r\n var tokens = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789\",\r\n chars = 4,\r\n segments = 4,\r\n keyString = \"\";\r\n\r\n for (var i = 0; i < segments; i++) {\r\n var segment = \"\";\r\n\r\n for (var j = 0; j < chars; j++) {\r\n var k = getRandomInt(0, 35);\r\n segment += tokens[k];\r\n }\r\n\r\n keyString += segment;\r\n\r\n if (i < (segments - 1)) {\r\n keyString += \"-\";\r\n }\r\n }\r\n\r\n return keyString;\r\n\r\n}\r\n\r\nexport default generateProductKey","import { useState } from \"react\";\r\nimport { useSelector, useDispatch } from 'react-redux'\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport {\r\n Col,\r\n Row,\r\n Card,\r\n Form,\r\n Input,\r\n Label,\r\n CardBody,\r\n Container,\r\n FormGroup,\r\n FormFeedback,\r\n} from \"reactstrap\";\r\n\r\nimport Button from 'components/Inputs/TButton'\r\nimport AlertMessage from 'components/Alert'\r\nimport { alertActions } from 'redux/_actions'\r\nimport genreateProductKey from 'utils/getSerialKey'\r\nimport WebAPI from 'services/WebAPI'\r\n\r\nconst LicenseAdd = () => {\r\n let history = useHistory();\r\n\r\n const dispatch = useDispatch()\r\n\r\n const { id } = useParams();\r\n\r\n const { role = \"Partner\" } = useSelector(s => s.authentication.user) || {}\r\n\r\n const [formState, setFormState] = useState({\r\n Key: genreateProductKey(),\r\n Server: 99999,\r\n Desktop: 99999,\r\n ExpiryDate: \"2099-12-31\",\r\n Type: \"Paid\",\r\n OrderId: -1\r\n });\r\n const [invalidFormState, setInvalidFormState] = useState({\r\n Server: false,\r\n Desktop: false,\r\n ExpiryDate: false,\r\n OrderId: false,\r\n Type: false\r\n });\r\n\r\n const [loading, setLoading] = useState(false)\r\n\r\n const handleFormValueChange = ({ target: { id, value } }) => {\r\n invalidFormState[id] = false\r\n formState[id] = value\r\n setFormState({ ...formState })\r\n setInvalidFormState({ ...invalidFormState })\r\n }\r\n\r\n const handleSave = (e) => {\r\n e.preventDefault()\r\n if (formState.Desktop === formState.Server && formState.Desktop === 0) {\r\n dispatch(alertActions.error(\"Please enter a valid count for server and desktop\"))\r\n return\r\n }\r\n if (loading)\r\n return\r\n setLoading(true)\r\n\r\n const { Server, Desktop, ...formState2 } = formState\r\n\r\n WebAPI\r\n .post('/Licenses/Create', { ...formState2, CustomerId: parseInt(id), Server: parseInt(Server), Desktop: parseInt(Desktop) })\r\n .then(({ data: res }) => {\r\n if (res.status)\r\n history.push('/customers/customer_details/' + id)\r\n else\r\n dispatch(alertActions.error(res.message))\r\n })\r\n .catch(() => dispatch(alertActions.error(\"Connection failed\")))\r\n .finally(() => setLoading(false))\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
\r\n history.go(-1)}\r\n >\r\n \r\n \r\n New License\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 {role !== 'admin' || (\r\n <>\r\n \r\n \r\n \r\n Please enter a number of Server\r\n \r\n \r\n \r\n \r\n Please enter a number of Desktop\r\n \r\n \r\n \r\n \r\n Please select an expiration date\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Please select a type\r\n \r\n \r\n \r\n \r\n Please enter a order ID\r\n \r\n \r\n )}\r\n\r\n \r\n \r\n Create\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\nexport default LicenseAdd;","import { useSelector } from \"react-redux\";\r\nimport WebAPI from 'services/WebAPI'\r\nimport { Container, Row, Col, Card, CardBody, Button, ButtonGroup } from \"reactstrap\";\r\nimport styled from \"styled-components\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Helmet } from \"react-helmet\";\r\n\r\n\r\nconst SettingsBlock = styled.div`\r\nbox-sizing: border-box;\r\nborder-radius: 3px;\r\nborder:1px solid ${props => props.theme === 'dark' ? '#4E5054' : '#E8E8E8'};\r\nbackground-color: ${props => props.theme === 'dark' ? '#2F3032' : '#FFFFFF'};\r\nheight:80px;\r\nmargin-bottom:10px;\r\n`\r\n\r\nconst Settings = ({ button, iconSvg, title, subtitle }) => {\r\n const { theme = 'white' } = useSelector(store => store.authentication.user)\r\n return (\r\n \r\n
\r\n {iconSvg}\r\n
\r\n
\r\n
\r\n {title}\r\n {subtitle}\r\n
\r\n
\r\n
\r\n {button}\r\n
\r\n
\r\n )\r\n}\r\n\r\nconst ModeSwitch = () => {\r\n\r\n\r\n const { theme = 'white' } = useSelector(store => store.authentication.user)\r\n\r\n const changeTheme = (theme) => {\r\n WebAPI\r\n .post('Preferences/Theme', { Theme: theme })\r\n .then(() => window.location.reload())\r\n .catch(() => console.log('error'))\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n\r\n}\r\n\r\nexport default function Preferences() {\r\n\r\n \r\n const history = useHistory()\r\n const { theme = 'white', role } = useSelector(store => store.authentication.user)\r\n return (\r\n \r\n
\r\n Preferences\r\n
\r\n \r\n \r\n {\"Preferences\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n history.push('/preferences/change_2FA')}>Configure}\r\n iconSvg={(\r\n \r\n \r\n \r\n )}\r\n title=\"Two Factor Authentication\"\r\n subtitle=\"Configure authenticator app\"\r\n />\r\n history.push('/preferences/change_password')}>Change}\r\n iconSvg={(\r\n \r\n \r\n \r\n \r\n\r\n )}\r\n title=\"Change Password\"\r\n subtitle=\"Update your password here\"\r\n />\r\n\r\n history.push('/preferences/logo_upload')}>Update}\r\n iconSvg={(\r\n \r\n \r\n \r\n )}\r\n title=\"Change Logo\"\r\n subtitle=\"Update your Logo here\"\r\n />\r\n\r\n }\r\n iconSvg={(\r\n \r\n \r\n \r\n )}\r\n title=\"Appearance\"\r\n subtitle=\"Change the contrast of your interface\"\r\n />\r\n \r\n \r\n \r\n \r\n
\r\n )\r\n\r\n}","import { useEffect, useState } from \"react\";\r\nimport AlertMessage from \"components/Alert\";\r\nimport {\r\n Container,\r\n Row,\r\n Col,\r\n Card,\r\n CardBody,\r\n Modal,\r\n ModalBody,\r\n} from \"reactstrap\";\r\nimport WebAPI from \"services/WebAPI\";\r\nimport { Helmet } from \"react-helmet\";\r\nimport { Input, Label, FormGroup } from \"reactstrap\";\r\nimport Button from \"components/Inputs/TButton\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { alertActions } from \"redux/_actions\";\r\n\r\nconst FormData = require(\"form-data\");\r\nexport default function LogoUpload() {\r\n const [isLoading, setLoading] = useState(false);\r\n const [logoData, setLogoData] = useState({});\r\n const [preview, setPreview] = useState(false);\r\n\r\n const dispatch = useDispatch();\r\n const data = useSelector((store) => store.authentication.user);\r\n\r\n useEffect(() => {\r\n fetchPartnerLogo();\r\n }, []);\r\n\r\n const LogoChanged = (key, value) => {\r\n setLogoData({ ...logoData, [key]: value });\r\n };\r\n\r\n const fetchPartnerLogo = async () => {\r\n try {\r\n const resp = await WebAPI.get(\"Partner/FetchPartnerPreference\");\r\n if (\r\n resp.data.status &&\r\n resp.data.data &&\r\n resp.data.data.LogoLargeUrl &&\r\n resp.data.data.LogoMiniUrl\r\n ) {\r\n setLogoData({\r\n icon: resp.data.data?.LogoMiniUrl,\r\n logo: resp.data.data?.LogoLargeUrl,\r\n color: resp.data.data?.Color,\r\n CompanyName: resp.data.data?.CompanyName,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(\"error\", error);\r\n }\r\n };\r\n\r\n const handleUpload = async () => {\r\n setLoading(true);\r\n if (!logoData.icon || !logoData.logo) {\r\n dispatch(alertActions.error(\"Please select Logo and Icon!\"));\r\n setTimeout(() => {\r\n dispatch(alertActions.clear());\r\n setLoading(false);\r\n }, [3000]);\r\n return;\r\n }\r\n try {\r\n const formData = {\r\n CompanyName: logoData.CompanyName,\r\n Color: logoData.color || \"\",\r\n };\r\n const formDataMiniLogo = new FormData();\r\n const formDataLargeLogo = new FormData();\r\n formDataLargeLogo.append(\"largeLogoFile\", logoData.logo);\r\n formDataMiniLogo.append(\"miniLogoFile\", logoData.icon);\r\n let respData, respLL, respML;\r\n respData = await WebAPI.post(\"Partner/PartnerUpdatepreference\", formData);\r\n if (typeof logoData.icon !== \"string\")\r\n respML = await WebAPI.post(\"Partner/PartnerMiniLogo\", formDataMiniLogo);\r\n if (typeof logoData.logo !== \"string\")\r\n respLL = await WebAPI.post(\r\n \"Partner/PartnerLargeLogo\",\r\n formDataLargeLogo\r\n );\r\n if (respData.data.status || respLL.data.status || respML.data.status)\r\n dispatch(alertActions.success(\"Successfully uploaded\"));\r\n else dispatch(alertActions.error(\"Something Went Wrong\"));\r\n } catch (error) {\r\n console.log(error);\r\n dispatch(alertActions.error(\"Server Error\"));\r\n } finally {\r\n setLoading(false);\r\n setTimeout(() => {\r\n window.location.reload()\r\n }, 3000);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n
Upload Logo
\r\n \r\n {\"Upload Logo\"}\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 \r\n LogoChanged(\"CompanyName\", e.target.value)\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 \r\n \r\n LogoChanged(\"logo\", e.target.files[0])\r\n }\r\n />\r\n \r\n {logoData.logo && (\r\n \r\n

\r\n File Name :{\" \"}\r\n {logoData.logo.name ||\r\n logoData.logo.split(\"/\").slice(-1)}{\" \"}\r\n | Color : {logoData.color ? logoData.color : \"\"}\r\n

\r\n \r\n )}\r\n
\r\n LogoChanged(\"color\", e.target.value)}\r\n />\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {logoData.icon && (\r\n

\r\n File Name :{\" \"}\r\n {logoData.icon.name ||\r\n logoData.icon.split(\"/\").slice(-1)}\r\n

\r\n )}\r\n \r\n
\r\n\r\n LogoChanged(\"icon\", e.target.files[0])}\r\n />\r\n
\r\n \r\n
\r\n \r\n \r\n setPreview(!preview)}\r\n disabled={!logoData.icon && !logoData.logo}\r\n >\r\n Preview\r\n \r\n \r\n \r\n \r\n Upload\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n {(logoData.icon || logoData.logo) && (\r\n setPreview(!preview)}\r\n style={{ width: 800 }}\r\n >\r\n \r\n \r\n {logoData.logo && (\r\n \r\n
Logo :
\r\n \r\n \r\n )}\r\n
\r\n \r\n {logoData.icon && (\r\n \r\n
Icon :
\r\n \r\n \r\n )}\r\n
\r\n
\r\n \r\n )}\r\n
\r\n );\r\n}\r\n","import { useState, useEffect } from \"react\";\r\nimport { Button, Col, Container, Row, Popover } from \"reactstrap\";\r\nimport {\r\n PieChart,\r\n Pie,\r\n Legend,\r\n Tooltip,\r\n BarChart,\r\n Bar,\r\n YAxis,\r\n LineChart,\r\n XAxis,\r\n Cell,\r\n Line,\r\n CartesianGrid,\r\n ResponsiveContainer,\r\n} from \"recharts\";\r\nimport moment from \"moment\";\r\n\r\nconst COLORS = [\"#0088FE\", \"#00C49F\", \"#FFBB28\", \"#FF8042\"];\r\n\r\nconst RADIAN = Math.PI / 180;\r\nconst renderCustomizedLabel = ({\r\n cx,\r\n cy,\r\n midAngle,\r\n innerRadius,\r\n outerRadius,\r\n percent,\r\n index,\r\n}) => {\r\n const radius = innerRadius + (outerRadius - innerRadius) * 0.5;\r\n const x = cx + radius * Math.cos(-midAngle * RADIAN);\r\n const y = cy + radius * Math.sin(-midAngle * RADIAN);\r\n\r\n return (\r\n cx ? \"start\" : \"end\"}\r\n dominantBaseline=\"central\"\r\n >\r\n {`${(percent * 100).toFixed(0)}%`}\r\n \r\n );\r\n};\r\n\r\nconst ActiveLicense = (props) => {\r\n const [data, setdata] = useState([]);\r\n const [loading, setLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n setdata(props.data);\r\n }, [props]);\r\n\r\n const data01 = [\r\n {\r\n name: \"Desktop\",\r\n value:\r\n data.map((i) => i?.DesktopLicenses).reduce((a, b) => a + b, 0) || 0,\r\n },\r\n {\r\n name: \"Server\",\r\n value: data.map((i) => i?.ServerLicense).reduce((a, b) => a + b, 0) || 0,\r\n },\r\n ];\r\n\r\n /* const data02 = data\r\n .map((i) => i.timeStamp)\r\n .map((i) => {\r\n const t = moment(i).seconds(0).milliseconds(0).toISOString();\r\n console.log(\"t\", t);\r\n const _data = {\r\n name: moment(i).format(\"DD MMM YYYY\"),\r\n endpoint: data.filter(\r\n (row) =>\r\n moment(row?.timeStamp).seconds(0).milliseconds(0).toISOString() ===\r\n t\r\n ).length,\r\n amt: data.length,\r\n };\r\n console.log(\"_data\", _data);\r\n return _data;\r\n }); */\r\n\r\n const data03 = [...new Set(data.map((i) => i?.version))].map((i) => {\r\n const _data = {\r\n name: i,\r\n Desktop:\r\n data\r\n .filter((row) => row?.version === i)\r\n .map((row) => row?.DesktopLicenses)\r\n .reduce((a, b) => a + b, 0) || 0,\r\n Server:\r\n data\r\n .filter((row) => row?.version === i)\r\n .map((row) => row?.ServerLicense)\r\n .reduce((a, b) => a + b, 0) || 0,\r\n };\r\n\r\n return _data;\r\n });\r\n\r\n return (\r\n <>\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

Ratio of Active Desktop to Server

\r\n \r\n \r\n {\" \"}\r\n \r\n \r\n {data01.map((entry, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n

Active license endpoints

\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
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ActiveLicense;\r\n","import { useState, useEffect } from \"react\";\r\nimport { Button, Col, Row, Spinner } from \"reactstrap\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n SizePerPageDropdownStandalone,\r\n PaginationTotalStandalone,\r\n PaginationListStandalone,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport ToolkitProvider, {\r\n Search,\r\n CSVExport,\r\n} from \"react-bootstrap-table2-toolkit\";\r\n\r\nimport { useSelector } from \"react-redux\";\r\nimport store from \"store\";\r\nimport _ from \"lodash\";\r\nimport semver from \"semver\";\r\n\r\n/* import EndpointFilter from \"./popover\";\r\nimport fetchFilteredEndpoints from \"./helper\"; */\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nimport Popover from \"react-bootstrap/Popover\";\r\nimport OverlayTrigger from \"react-bootstrap/OverlayTrigger\";\r\nconst semverSort = require(\"semver/functions/sort\");\r\n\r\nconst { SearchBar } = Search;\r\n\r\nexport default function ReportingTable(props) {\r\n const [filterPopover, toggleFilterPopover] = useState(false);\r\n const [Filters, setFilters] = useState({\r\n version: [],\r\n activation: [],\r\n deviceType: [],\r\n status: [],\r\n license: [],\r\n });\r\n\r\n const [rowData, setRowData] = useState([]);\r\n const { ExportCSVButton } = CSVExport;\r\n\r\n useEffect(() => {\r\n const { endpoints } = props;\r\n setRowData(endpoints);\r\n }, [props]);\r\n\r\n const { theme } = useSelector((state) => state.authentication.user) || {\r\n theme: \"white\",\r\n };\r\n const user = useSelector((s) => s.authentication.user);\r\n\r\n const columns = [\r\n {\r\n dataField: \"deviceId\",\r\n text: \"ID\",\r\n sort: true,\r\n searchable: true,\r\n headerStyle: { width: \"70px\", padding: \"15px 5px\" },\r\n },\r\n {\r\n dataField: \"customerName\",\r\n text: \"Customer\",\r\n sort: true,\r\n classes: \"common-table-column-style\",\r\n searchable: true,\r\n headerStyle: { padding: \"15px 5px\" },\r\n },\r\n {\r\n dataField: \"hostName\",\r\n text: \"Hostname\",\r\n sort: true,\r\n classes: \"common-table-column-style\",\r\n searchable: true,\r\n headerStyle: { padding: \"15px 5px\" },\r\n },\r\n {\r\n dataField: \"type\",\r\n text: \"Type\",\r\n sort: true,\r\n classes: \"common-table-column-style\",\r\n searchable: true,\r\n headerStyle: { padding: \"15px 5px\" },\r\n },\r\n {\r\n dataField: \"version\",\r\n text: \"Version\",\r\n classes: \"common-table-column-style\",\r\n sort: true,\r\n sortFunc: (a, b, order) => {\r\n a = a === \"\" ? \"0.0.0\" : a;\r\n b = b === \"\" ? \"0.0.0\" : b;\r\n if (order === \"asc\") {\r\n return semver.compare(a, b) === 1 ? 1 : -1;\r\n } else {\r\n return semver.compare(a, b) === 1 ? -1 : 1;\r\n // desc\r\n }\r\n },\r\n searchable: true,\r\n headerStyle: { padding: \"15px 5px\" },\r\n },\r\n {\r\n dataField: \"timeStamp\",\r\n text: \"Last Contact\",\r\n classes: \"common-table-column-style\",\r\n sort: true,\r\n searchable: false,\r\n style: { whiteSpace: \"normal\" },\r\n formatter: function (cell, row) {\r\n return new Date(cell).toLocaleString();\r\n },\r\n headerStyle: { padding: \"15px 5px\" },\r\n },\r\n {\r\n dataField: \"PartnerName\",\r\n hidden: true,\r\n },\r\n ];\r\n\r\n const paginationOptions = {\r\n custom: true,\r\n withFirstAndLast: true,\r\n totalSize: rowData?.length,\r\n };\r\n\r\n const { loading } = props;\r\n\r\n const filter_applied = !_.values(Filters).every(_.isEmpty);\r\n\r\n return (\r\n \r\n {(props) => (\r\n \r\n {({ paginationProps, paginationTableProps }) => (\r\n
\r\n \r\n \r\n Entries per page :\r\n \r\n \r\n
\r\n
\r\n {\" \"}\r\n \r\n \r\n \r\n Export as CSV\r\n \r\n \r\n
\r\n
\r\n
\r\n : \"No Data\"\r\n }\r\n headerWrapperClasses=\"table-header-light\"\r\n bodyClasses=\"clickable-table-row\"\r\n {...props.baseProps}\r\n {...paginationTableProps}\r\n rowStyle={\r\n {\r\n //backgroundColor: '#fff',\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 )}\r\n \r\n );\r\n}\r\n","import { useState, useEffect } from \"react\";\r\nimport { Button, Col, Container, Row, Popover } from \"reactstrap\";\r\nimport WebAPI from \"services/WebAPI\";\r\nimport ReportingTable from \"./table\";\r\nimport {\r\n PieChart,\r\n Pie,\r\n Legend,\r\n Tooltip,\r\n BarChart,\r\n Bar,\r\n YAxis,\r\n LineChart,\r\n XAxis,\r\n Cell,\r\n Line,\r\n CartesianGrid,\r\n ResponsiveContainer,\r\n} from \"recharts\";\r\nimport moment from \"moment\";\r\nimport semver from \"semver\";\r\n\r\nconst COLORS = [\"#0088FE\", \"#00C49F\", \"#FFBB28\", \"#FF8042\"];\r\n\r\nconst RADIAN = Math.PI / 180;\r\nconst renderCustomizedLabel = ({\r\n cx,\r\n cy,\r\n midAngle,\r\n innerRadius,\r\n outerRadius,\r\n percent,\r\n index,\r\n}) => {\r\n const radius = innerRadius + (outerRadius - innerRadius) * 0.5;\r\n const x = cx + radius * Math.cos(-midAngle * RADIAN);\r\n const y = cy + radius * Math.sin(-midAngle * RADIAN);\r\n\r\n return (\r\n cx ? \"start\" : \"end\"}\r\n dominantBaseline=\"central\"\r\n >\r\n {`${(percent * 100).toFixed(0)}%`}\r\n \r\n );\r\n};\r\n\r\nconst Reporting = () => {\r\n const [desktop, setDesktop] = useState([]);\r\n const [server, setServer] = useState([]);\r\n const [loading, setLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n fetchdata();\r\n }, []);\r\n const fetchdata = async () => {\r\n setLoading(true);\r\n try {\r\n const resp = await WebAPI.get(\r\n \"/Report/FetchOfflineDesktopEndpointsReport\"\r\n );\r\n const resp2 = await WebAPI.get(\r\n \"/Report/FetchOfflineServerEndpointsReport\"\r\n );\r\n if (resp.data.status) {\r\n const data = [];\r\n resp.data?.result.forEach((i) => {\r\n data.push({ ...i, type: \"desktop\" });\r\n });\r\n setDesktop(data);\r\n }\r\n\r\n if (resp2.data.status) {\r\n const data = [];\r\n resp2.data?.result.forEach((i) => {\r\n data.push({ ...i, type: \"server\" });\r\n });\r\n setServer(data);\r\n }\r\n } catch (error) {\r\n console.log(\"error\", error);\r\n }\r\n setLoading(false);\r\n };\r\n\r\n const data01 = [\r\n { name: \"Desktop\", value: desktop.length || 0 },\r\n { name: \"Server\", value: server.length || 0 },\r\n ];\r\n\r\n /* const data02 = [...desktop, ...server]\r\n .map((i) => i.timeStamp)\r\n .map((i) => {\r\n const data = {\r\n name: moment(i).format(\"DD MMM YYYY\"),\r\n server: server.filter((row) => row.timeStamp === i).length,\r\n desktop: desktop.filter((row) => row.timeStamp === i).length,\r\n amt: [...server, ...desktop].length,\r\n };\r\n return data;\r\n }); */\r\n\r\n const data03 = [...new Set([...desktop, ...server].map((i) => i.version))]\r\n .sort((a, b) => {\r\n return semver.compare(a || \"0.0.0\", b || \"0.0.0\") === 1 ? 1 : -1;\r\n })\r\n .map((i) => {\r\n const data = {\r\n name: i,\r\n server: server.filter((row) => row.version === i).length,\r\n desktop: desktop.filter((row) => row.version === i).length,\r\n };\r\n\r\n return data;\r\n });\r\n\r\n return (\r\n <>\r\n \r\n
Agent Offline Report
\r\n {!loading && (\r\n \r\n
\r\n \r\n
\r\n
\r\n
Ratio of Offline Desktop & Servers
\r\n \r\n \r\n \r\n \r\n {data01.map((entry, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Offline Endpoints v/s Versions\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
\r\n \r\n
\r\n )}\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Reporting;\r\n","import { useState, useEffect } from \"react\";\r\nimport { Col, Row, Spinner } from \"reactstrap\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n SizePerPageDropdownStandalone,\r\n PaginationTotalStandalone,\r\n PaginationListStandalone,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport ToolkitProvider, {\r\n Search,\r\n CSVExport,\r\n} from \"react-bootstrap-table2-toolkit\";\r\n\r\nimport semver from \"semver\";\r\n\r\n\r\nconst { SearchBar } = Search;\r\n\r\nexport default function ReportingTable(props) {\r\n\r\n const [rowData, setRowData] = useState([]);\r\n const { ExportCSVButton } = CSVExport;\r\n\r\n useEffect(() => {\r\n const { endpoints } = props;\r\n setRowData(endpoints);\r\n }, [props]);\r\n\r\n\r\n const columns = [\r\n {\r\n dataField: \"DeviceId\",\r\n text: \"ID\",\r\n sort: true,\r\n searchable: true,\r\n headerStyle: { width: \"70px\", padding: \"15px 5px\" },\r\n },\r\n {\r\n dataField: \"Hostname\",\r\n text: \"Hostname\",\r\n sort: true,\r\n classes: \"common-table-column-style\",\r\n searchable: true,\r\n headerStyle: { padding: \"15px 5px\" },\r\n },\r\n {\r\n dataField: \"License.Customer.FirstName\",\r\n text: \"Customer\",\r\n sort: true,\r\n classes: \"common-table-column-style\",\r\n searchable: true,\r\n headerStyle: { padding: \"15px 5px\" },\r\n },\r\n {\r\n dataField: \"License.Customer.CompanyName\",\r\n text: \"Company Name\",\r\n sort: true,\r\n classes: \"common-table-column-style\",\r\n searchable: true,\r\n headerStyle: { padding: \"15px 5px\" },\r\n },\r\n {\r\n dataField: \"DeviceType\",\r\n text: \"Device Type\",\r\n sort: true,\r\n classes: \"common-table-column-style\",\r\n searchable: true,\r\n headerStyle: { padding: \"15px 5px\" },\r\n },\r\n {\r\n dataField: \"Version\",\r\n text: \"Version\",\r\n classes: \"common-table-column-style\",\r\n sort: true,\r\n sortFunc: (a, b, order) => {\r\n a = a === \"\" ? \"0.0.0\" : a;\r\n b = b === \"\" ? \"0.0.0\" : b;\r\n if (order === \"asc\") {\r\n return semver.compare(a, b) === 1 ? 1 : -1;\r\n } else {\r\n return semver.compare(a, b) === 1 ? -1 : 1;\r\n // desc\r\n }\r\n },\r\n searchable: true,\r\n headerStyle: { padding: \"15px 5px\" },\r\n },\r\n ];\r\n\r\n const paginationOptions = {\r\n custom: true,\r\n withFirstAndLast: true,\r\n totalSize: rowData?.length,\r\n };\r\n\r\n const { loading } = props;\r\n\r\n\r\n return (\r\n \r\n {(props) => (\r\n \r\n {({ paginationProps, paginationTableProps }) => (\r\n
\r\n \r\n \r\n Entries per page :\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 Export as CSV\r\n \r\n \r\n
\r\n
\r\n
\r\n : \"No Data\"\r\n }\r\n headerWrapperClasses=\"table-header-light\"\r\n bodyClasses=\"clickable-table-row\"\r\n {...props.baseProps}\r\n {...paginationTableProps}\r\n rowStyle={\r\n {\r\n //backgroundColor: '#fff',\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 )}\r\n \r\n );\r\n}\r\n","import { useState, useEffect } from \"react\";\r\nimport { Container, Row } from \"reactstrap\";\r\nimport WebAPI from \"services/WebAPI\";\r\nimport ReportingTable from \"./table\";\r\nimport {\r\n PieChart,\r\n Pie,\r\n Legend,\r\n Tooltip,\r\n BarChart,\r\n Bar,\r\n YAxis,\r\n XAxis,\r\n Cell,\r\n CartesianGrid,\r\n ResponsiveContainer,\r\n} from \"recharts\";\r\nimport semver from \"semver\";\r\n\r\nconst COLORS = [\"#0088FE\", \"#00C49F\", \"#FFBB28\", \"#FF8042\"];\r\n\r\nconst RADIAN = Math.PI / 180;\r\nconst renderCustomizedLabel = ({\r\n cx,\r\n cy,\r\n midAngle,\r\n innerRadius,\r\n outerRadius,\r\n percent,\r\n index,\r\n}) => {\r\n const radius = innerRadius + (outerRadius - innerRadius) * 0.5;\r\n const x = cx + radius * Math.cos(-midAngle * RADIAN);\r\n const y = cy + radius * Math.sin(-midAngle * RADIAN);\r\n\r\n return (\r\n cx ? \"start\" : \"end\"}\r\n dominantBaseline=\"central\"\r\n >\r\n {`${(percent * 100).toFixed(0)}%`}\r\n \r\n );\r\n};\r\n\r\nconst Reporting = () => {\r\n const [loading, setLoading] = useState(false);\r\n const [endpoints, setEndpoints] = useState([])\r\n\r\n useEffect(() => {\r\n fetchdata();\r\n }, []);\r\n\r\n const fetchdata = async () => {\r\n setLoading(true);\r\n try {\r\n const resp= await WebAPI.get('Report/EndpointServiceNotActivatedReport')\r\n if(resp.data.status)\r\n setEndpoints(resp.data.result)\r\n } catch (error) {\r\n console.log(\"error\", error);\r\n }\r\n setLoading(false);\r\n };\r\n\r\n const data01 = [\r\n { name: \"Desktop\", value: endpoints.filter(i=>i.DeviceType===\"Desktop\").length || 0 },\r\n { name: \"Server\", value: endpoints.filter(i=>i.DeviceType===\"Server\").length || 0 },\r\n ];\r\n\r\n const data03 = [...new Set(endpoints.map((i) => i.Version))]\r\n .sort((a, b) => {\r\n return semver.compare(a || \"0.0.0\", b || \"0.0.0\") === 1 ? 1 : -1;\r\n })\r\n .map((i) => {\r\n const data = {\r\n name: i,\r\n endpoints: endpoints.filter((row) => row.Version === i).length,\r\n };\r\n\r\n return data;\r\n });\r\n\r\n return (\r\n <>\r\n \r\n {!loading && (
Not-Activated Endpoint Report
)}\r\n {!loading && (\r\n \r\n
\r\n \r\n
\r\n
\r\n
Ratio of Not-Activated Desktop & Servers
\r\n \r\n \r\n \r\n \r\n {data01.map((entry, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Endpoints v/s Versions\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 \r\n
\r\n )}\r\n \r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Reporting;\r\n","import { useState, useEffect } from \"react\";\r\nimport { Col, Row, Spinner } from \"reactstrap\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n SizePerPageDropdownStandalone,\r\n PaginationTotalStandalone,\r\n PaginationListStandalone,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport ToolkitProvider, {\r\n Search,\r\n CSVExport,\r\n} from \"react-bootstrap-table2-toolkit\";\r\n\r\nimport _ from \"lodash\";\r\n\r\n\r\nconst { SearchBar } = Search;\r\n\r\nexport default function ReportingTable(props) {\r\n\r\n const [rowData, setRowData] = useState([]);\r\n const { ExportCSVButton } = CSVExport;\r\n\r\n useEffect(() => {\r\n const { endpoints } = props;\r\n setRowData(endpoints);\r\n }, [props]);\r\n\r\n\r\n const columns = [\r\n {\r\n dataField: \"DeviceId\",\r\n text: \"ID\",\r\n sort: true,\r\n searchable: true,\r\n headerStyle: { width: \"70px\", padding: \"15px 5px\" },\r\n },\r\n {\r\n dataField: \"LastUpdate\",\r\n text: \"Last Updated\",\r\n sort: true,\r\n classes: \"common-table-column-style\",\r\n searchable: true,\r\n headerStyle: { padding: \"15px 5px\" },\r\n },\r\n {\r\n dataField: \"TrayIcon\",\r\n text: \"Tray Icon\",\r\n sort: true,\r\n classes: \"common-table-column-style\",\r\n searchable: true,\r\n headerStyle: { padding: \"15px 5px\" },\r\n },\r\n {\r\n dataField: \"UpdateService\",\r\n text: \"Service Update\",\r\n sort: true,\r\n classes: \"common-table-column-style\",\r\n searchable: true,\r\n headerStyle: { padding: \"15px 5px\" },\r\n },\r\n ];\r\n\r\n const paginationOptions = {\r\n custom: true,\r\n withFirstAndLast: true,\r\n totalSize: rowData?.length,\r\n };\r\n\r\n const { loading } = props;\r\n\r\n return (\r\n \r\n {(props) => (\r\n \r\n {({ paginationProps, paginationTableProps }) => (\r\n
\r\n \r\n \r\n Entries per page :\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 Export as CSV\r\n \r\n \r\n
\r\n
\r\n
\r\n : \"No Data\"\r\n }\r\n headerWrapperClasses=\"table-header-light\"\r\n bodyClasses=\"clickable-table-row\"\r\n {...props.baseProps}\r\n {...paginationTableProps}\r\n rowStyle={\r\n {\r\n //backgroundColor: '#fff',\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 )}\r\n \r\n );\r\n}\r\n","import { useState, useEffect } from \"react\";\r\nimport { Container, Row } from \"reactstrap\";\r\nimport WebAPI from \"services/WebAPI\";\r\nimport ReportingTable from \"./table\";\r\nimport {\r\n PieChart,\r\n Pie,\r\n Legend,\r\n Tooltip,\r\n Cell,\r\n ResponsiveContainer,\r\n} from \"recharts\";\r\n\r\nconst COLORS = [\"#0088FE\", \"#00C49F\", \"#FFBB28\", \"#FF8042\"];\r\nconst COLORS1 = [\"#FF8042\", \"#FFBB28\", \"#00C49F\", \"#0088FE\"];\r\n\r\nconst RADIAN = Math.PI / 180;\r\nconst renderCustomizedLabel = ({\r\n cx,\r\n cy,\r\n midAngle,\r\n innerRadius,\r\n outerRadius,\r\n percent,\r\n index,\r\n}) => {\r\n const radius = innerRadius + (outerRadius - innerRadius) * 0.5;\r\n const x = cx + radius * Math.cos(-midAngle * RADIAN);\r\n const y = cy + radius * Math.sin(-midAngle * RADIAN);\r\n\r\n return (\r\n cx ? \"start\" : \"end\"}\r\n dominantBaseline=\"central\"\r\n >\r\n {`${(percent * 100).toFixed(0)}%`}\r\n \r\n );\r\n};\r\n\r\nconst Reporting = () => {\r\n const [loading, setLoading] = useState(false);\r\n const [endpoints, setEndpoints] = useState([])\r\n\r\n useEffect(() => {\r\n fetchdata();\r\n }, []);\r\n\r\n const fetchdata = async () => {\r\n setLoading(true);\r\n try {\r\n const resp= await WebAPI.get('Report/EndpointServiceNotRunningReport')\r\n if(resp.data.status)\r\n setEndpoints(resp.data.result)\r\n } catch (error) {\r\n console.log(\"error\", error);\r\n }\r\n setLoading(false);\r\n };\r\n\r\n const trayIconData = [\r\n { name: \"Available\", value: endpoints.filter(i=>i.TrayIcon!==\"Not available\").length || 0 },\r\n { name: \"Not Available\", value: endpoints.filter(i=>i.TrayIcon===\"Not available\").length || 0 },\r\n ];\r\n\r\n const serviceUpdateData = [\r\n { name: \"Available\", value: endpoints.filter(i=>i.UpdateService!==\"Not available\").length || 0 },\r\n { name: \"Not Available\", value: endpoints.filter(i=>i.UpdateService===\"Not available\").length || 0 },\r\n ];\r\n\r\n return (\r\n <>\r\n \r\n {!loading && (
Endpoint Status Report
)}\r\n {!loading && (\r\n \r\n
\r\n \r\n
\r\n
\r\n
Availability of Tray Icon
\r\n \r\n \r\n \r\n \r\n {trayIconData.map((entry, index) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Availability of Service Updates\r\n
\r\n \r\n \r\n \r\n \r\n {serviceUpdateData.map((entry, index) => (\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 \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Reporting;\r\n","import {\r\n Container,\r\n Row,\r\n Card,\r\n CardBody,\r\n Col,\r\n Input,\r\n Label,\r\n} from \"reactstrap\";\r\n\r\nimport { CSVExport } from \"react-bootstrap-table2-toolkit\";\r\nimport { useState } from \"react\";\r\nimport NotActivatedEnpointReport from \"./notActivated\";\r\nimport ServiceStatusEndpointReport from \"./serviceStatus\";\r\n\r\nexport default function EndpointSettingReport() {\r\n const [reportId, setReportId] = useState(\"SERVICE_STATUS\");\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setReportId(e.target.value)}\r\n value={reportId}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {reportId === \"NOT_ACTIVATED\" && }\r\n {reportId === \"SERVICE_STATUS\" && }\r\n \r\n );\r\n}\r\n","import {\r\n Container,\r\n Row,\r\n Card,\r\n CardBody,\r\n Col,\r\n Button,\r\n ButtonGroup,\r\n Spinner,\r\n} from \"reactstrap\";\r\n\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport ToolkitProvider, { CSVExport } from \"react-bootstrap-table2-toolkit\";\r\nimport { useEffect, useState } from \"react\";\r\nimport WebAPI from \"services/WebAPI\";\r\nimport reportsList from \"./reports.json\";\r\nimport AppConfig from \"config\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { useSelector } from \"react-redux\";\r\nimport ActiveLicense from \"./visualization/activeLicenseChart\";\r\nimport Reporting from \"./offlineReport\";\r\nimport EndpointSettingReport from \"./endpointSetting\";\r\n\r\nconst { ExportCSVButton } = CSVExport;\r\n\r\nfunction getReportProps(reportId) {\r\n return reportsList[reportId] || { columns: [{}] };\r\n}\r\n\r\nexport default function Reports() {\r\n const [report, setReport] = useState({ columns: [{}] });\r\n\r\n const [reportTitle, setReportTitle] = useState(\"\");\r\n const [reportData, setReportData] = useState([]);\r\n const [reportId, setReportId] = useState(\"\");\r\n\r\n const [isLoading, setIsLoading] = useState(false);\r\n\r\n const [visitedBtn, setVisited] = useState(\"\");\r\n\r\n const history = useHistory();\r\n const id = useParams();\r\n\r\n const loadReport = (reportId = \"\") => {\r\n setIsLoading(true);\r\n const reportProps = getReportProps(reportId);\r\n\r\n WebAPI({\r\n method: \"get\",\r\n url: `${reportProps.url}`,\r\n baseURL: AppConfig.apiHost,\r\n })\r\n .then((result) => {\r\n setReportData(result.data.data);\r\n setReportTitle(reportProps.title);\r\n })\r\n .finally(() => setIsLoading(false));\r\n setReport(reportProps);\r\n setReportId(reportId);\r\n };\r\n\r\n useEffect(() => {\r\n loadReport(\"OFFLINE_REPORT\");\r\n }, []);\r\n\r\n const { theme = \"white\" } = useSelector((s) => s.authentication.user) || {};\r\n\r\n return (\r\n \r\n \r\n
Reports
\r\n
\r\n history.push(\"/reports/report_settings\")}\r\n >\r\n Report Settings\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n loadReport(\"ACTIVE_LICENSE\")}\r\n >\r\n Active Paid Licenses\r\n \r\n \r\n setReportId(\"OFFLINE_REPORT\")}\r\n >\r\n Agent Offline Report\r\n \r\n\r\n setReportId(\"ENDPOINT_SETTINGS\")}\r\n >\r\n Endpoint Settings Report\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {reportId === \"OFFLINE_REPORT\" && }\r\n {reportId === \"ENDPOINT_SETTINGS\" && }\r\n {reportId === \"ACTIVE_LICENSE\" && (\r\n \r\n
\r\n \r\n {(props) => (\r\n
\r\n \r\n

{reportTitle}

\r\n \r\n Export as CSV\r\n \r\n
\r\n {reportId === \"ACTIVE_LICENSE\" && !isLoading && (\r\n \r\n )}\r\n
\r\n \r\n ) : (\r\n \"No Data\"\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 { useEffect, useState } from \"react\";\r\nimport { useDispatch } from 'react-redux'\r\nimport { useParams, useHistory } from \"react-router-dom\";\r\nimport {\r\n Col,\r\n Row,\r\n Card,\r\n CardBody,\r\n Container,\r\n Form,\r\n Input,\r\n Label,\r\n FormGroup,\r\n FormFeedback\r\n} from \"reactstrap\";\r\n\r\nimport { alertActions } from 'redux/_actions/'\r\nimport WebAPI from 'services/WebAPI'\r\nimport AlertMessage from \"components/Alert\";\r\nimport Button from 'components/Inputs/TButton'\r\n\r\nconst CustomerNotificationSettings = () => {\r\n let history = useHistory();\r\n const { id } = useParams();\r\n\r\n const [loading, setLoading] = useState(false)\r\n\r\n const dispatch = useDispatch()\r\n\r\n useEffect(() => {\r\n if (!id)\r\n return\r\n WebAPI\r\n .get('/Customers/GetNotificationSettings/' + id)\r\n .then(({ data: res }) => {\r\n if (res.status) {\r\n setFormState(res.data)\r\n }\r\n })\r\n }, [id]);\r\n\r\n\r\n const updateSettings = (e) => {\r\n e.preventDefault()\r\n if (loading)\r\n return\r\n\r\n setLoading(true)\r\n\r\n const data = formState\r\n WebAPI\r\n .post('/Customers/SetNotificationSettings/' + id, data)\r\n .then(({ data: res }) => {\r\n if (res.status) {\r\n dispatch(alertActions.success(res.message))\r\n } else {\r\n dispatch(alertActions.error(res.message))\r\n }\r\n })\r\n .catch(() => dispatch(alertActions.error(\"Connection error\")))\r\n .finally(() => setLoading(false))\r\n }\r\n\r\n const [formState, setFormState] = useState({\r\n EmailNotificationActive: true,\r\n NotificationEmails: \"\",\r\n });\r\n\r\n const [invalidFormState, setInvalidFormState] = useState({\r\n EmailNotificationActive: false,\r\n NotificationEmails: false,\r\n });\r\n\r\n\r\n const handleFormValueChange = ({ target: { id, value, checked } }) => {\r\n if (id === 'EmailNotificationActive')\r\n value = checked\r\n invalidFormState[id] = false\r\n formState[id] = value\r\n setFormState({ ...formState })\r\n setInvalidFormState({ ...invalidFormState })\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
\r\n history.go(-1)}\r\n >\r\n \r\n \r\n Edit Notification Settings\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 Please enter a emails for notification\r\n \r\n \r\n \r\n {''}\r\n \r\n \r\n \r\n \r\n \r\n Save\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\nexport default CustomerNotificationSettings;","import { useEffect, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useParams, useHistory } from \"react-router-dom\";\r\nimport {\r\n Col,\r\n Row,\r\n Card,\r\n CardBody,\r\n Container,\r\n Form,\r\n Input,\r\n Label,\r\n FormGroup,\r\n FormFeedback,\r\n} from \"reactstrap\";\r\n\r\nimport WebAPI from \"services/WebAPI\";\r\nimport AlertMessage from \"components/Alert\";\r\nimport Button from \"components/Inputs/TButton\";\r\nimport { alertActions } from \"redux/_actions\";\r\n\r\nconst intial_state = {\r\n serverReportId: 0,\r\n desktopReportId: 0,\r\n reportActive: true,\r\n NotificationEmails: \"\",\r\n serverCycle: \"daily\",\r\n desktopCycle: \"weekly\",\r\n serverWeeklyDay: 1,\r\n desktopWeeklyDay: 1,\r\n serverMonthlydate: 1,\r\n desktopMonthlydate: 1,\r\n reportTime: \"10:00\",\r\n};\r\n\r\nconst CustomerReportSettings = () => {\r\n let history = useHistory();\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n\r\n const { role = \"partner\" } = useSelector(\r\n (state) => state.authentication.user\r\n );\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [dates, setDates] = useState([]);\r\n\r\n const [formState, setFormState] = useState({ ...intial_state });\r\n\r\n useEffect(() => {\r\n Dates();\r\n fetchData();\r\n }, []);\r\n\r\n const fetchData = async () => {\r\n try {\r\n const resp = await WebAPI.get(\r\n // `/Report/FetchPartnerScheduledReports?PartnerId=${id}`\r\n \"/Report/FetchScheduledReports\"\r\n );\r\n if (resp.data.status && resp.data.data.length !== 0) {\r\n const { data: _data } = resp.data;\r\n let data = _data;\r\n if (role === \"admin\") {\r\n data = _data.filter((i) => i.PartnerId === 0);\r\n }\r\n if (data.length !== 0) {\r\n const server = data.filter(\r\n (i) => i.ReportType === \"OfflineServer\"\r\n )[0];\r\n const desktop = data.filter(\r\n (i) => i.ReportType === \"OfflineDesktop\"\r\n )[0];\r\n const newData = {\r\n serverReportId: server?.ReportId,\r\n desktopReportId: desktop?.ReportId,\r\n reportActive: data[0]?.ToggleEmailReport,\r\n NotificationEmails: data[0]?.NotificationEmailList,\r\n serverCycle: server?.Interval,\r\n desktopCycle: desktop?.Interval,\r\n serverWeeklyDay:\r\n server?.Interval === \"weekly\"\r\n ? new Date(server?.DefaultTime).getDay()\r\n : 1,\r\n desktopWeeklyDay:\r\n desktop?.Interval === \"weekly\"\r\n ? new Date(desktop?.DefaultTime).getDay()\r\n : 1,\r\n serverMonthlydate:\r\n server?.Interval === \"monthly\"\r\n ? new Date(server?.DefaultTime).getDate()\r\n : 1,\r\n desktopMonthlydate:\r\n desktop?.Interval === \"monthly\"\r\n ? new Date(desktop?.DefaultTime).getDate()\r\n : 1,\r\n reportTime: `${\r\n (new Date(server?.DefaultTime).getHours() < 10 ? \"0\" : \"\") +\r\n new Date(server?.DefaultTime).getHours()\r\n }:${\r\n (new Date(server?.DefaultTime).getMinutes() < 10 ? \"0\" : \"\") +\r\n new Date(server?.DefaultTime).getMinutes()\r\n }`,\r\n };\r\n setFormState(newData);\r\n }\r\n }\r\n } catch (error) {\r\n console.log(\"error\", error);\r\n }\r\n };\r\n\r\n const Dates = () => {\r\n let date = [];\r\n for (let i = 1; i < 29; i += 1) {\r\n date.push(i);\r\n }\r\n setDates(date);\r\n };\r\n\r\n const [invalidFormState, setInvalidFormState] = useState({\r\n reportActive: false,\r\n NotificationEmails: false,\r\n });\r\n\r\n const handleFormValueChange = ({ target: { id, value, checked } }) => {\r\n if (id === \"reportActive\") value = checked;\r\n invalidFormState[id] = false;\r\n formState[id] = value;\r\n setFormState({ ...formState });\r\n setInvalidFormState({ ...invalidFormState });\r\n };\r\n\r\n const prepareTime = (type) => {\r\n let time = new Date();\r\n const d = new Date();\r\n d.setDate(d.getDate() - d.getDay());\r\n const t = formState.reportTime.split(\":\");\r\n switch (type) {\r\n case \"server\": {\r\n if (formState.serverCycle === \"daily\") {\r\n d.setHours(t[0], t[1]);\r\n time = d;\r\n break;\r\n } else if (formState.serverCycle === \"weekly\") {\r\n d.setDate(d.getDate() + parseInt(formState.serverWeeklyDay));\r\n d.setHours(t[0], t[1]);\r\n time = d;\r\n break;\r\n } else if (formState.serverCycle === \"monthly\") {\r\n time = new Date(\r\n d.getFullYear(),\r\n d.getMonth(),\r\n formState.serverMonthlydate,\r\n t[0],\r\n t[1]\r\n );\r\n }\r\n break;\r\n }\r\n case \"desktop\": {\r\n if (formState.desktopCycle === \"daily\") {\r\n d.setHours(t[0], t[1]);\r\n time = d;\r\n } else if (formState.desktopCycle === \"weekly\") {\r\n d.setDate(d.getDate() + parseInt(formState.desktopWeeklyDay));\r\n d.setHours(t[0], t[1]);\r\n time = d;\r\n } else if (formState.desktopCycle === \"monthly\") {\r\n time = new Date(\r\n d.getFullYear(),\r\n d.getMonth(),\r\n formState.desktopMonthlydate,\r\n t[0],\r\n t[1]\r\n );\r\n }\r\n break;\r\n }\r\n default:\r\n return;\r\n }\r\n return time;\r\n };\r\n\r\n const handleSave = async () => {\r\n try {\r\n let serverReq = {\r\n ReportId: formState.serverReportId,\r\n ReportType: \"OfflineServer\",\r\n Interval: formState.serverCycle,\r\n //PartnerId: parseInt(id,10),\r\n DefaultTime: new Date(prepareTime(\"server\")).toISOString(),\r\n NotificationEmailList: formState.NotificationEmails,\r\n ToggleEmailReport: formState.reportActive,\r\n };\r\n let desktopReq = {\r\n ReportId: formState.desktopReportId,\r\n ReportType: \"OfflineDesktop\",\r\n Interval: formState.desktopCycle,\r\n //PartnerId: parseInt(id,10),\r\n DefaultTime: new Date(prepareTime(\"desktop\")).toISOString(),\r\n NotificationEmailList: formState.NotificationEmails,\r\n ToggleEmailReport: formState.reportActive,\r\n };\r\n\r\n if (role === \"admin\") {\r\n serverReq = { ...serverReq, ...{ PartnerId: 0 } };\r\n desktopReq = { ...desktopReq, ...{ PartnerId: 0 } };\r\n }\r\n const serverResp = await WebAPI.post(\r\n \"/Report/SaveScheduledReports\",\r\n serverReq\r\n );\r\n\r\n if (serverResp?.data?.status) {\r\n try {\r\n const desktopResp = await WebAPI.post(\r\n \"/Report/SaveScheduledReports\",\r\n desktopReq\r\n );\r\n\r\n if (desktopResp?.data?.status) {\r\n dispatch(alertActions.success(\"Successfully Updated\"));\r\n fetchData();\r\n setTimeout(() => {\r\n dispatch(alertActions.clear());\r\n }, 2500);\r\n }\r\n } catch (error) {\r\n console.log(\"errord\", error);\r\n }\r\n }\r\n } catch (err) {\r\n console.log(\"errs\", err);\r\n }\r\n };\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 \r\n \r\n \r\n \r\n Please enter a emails for reports\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 \r\n \r\n \r\n \r\n Please select a cycle period for servers\r\n \r\n \r\n \r\n {formState.serverCycle === \"weekly\" && (\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 Please select a cycle period for servers\r\n \r\n \r\n \r\n )}\r\n {formState.serverCycle === \"monthly\" && (\r\n \r\n \r\n \r\n \r\n {dates.map((i) => (\r\n \r\n ))}\r\n \r\n \r\n Please select a date for server monthly cycle\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 \r\n \r\n Please select a cycle period for Desktops\r\n \r\n \r\n \r\n {formState.desktopCycle === \"weekly\" && (\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 Please select a day for desktop weekly cycle\r\n \r\n \r\n \r\n )}\r\n {formState.desktopCycle === \"monthly\" && (\r\n \r\n \r\n \r\n \r\n {dates.map((i) => (\r\n \r\n ))}\r\n \r\n \r\n Please select a date for Desktop monthly cycle\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 \r\n \r\n \r\n Save\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\nexport default CustomerReportSettings;\r\n","import { useEffect, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useParams, useHistory } from \"react-router-dom\";\r\nimport {\r\n Col,\r\n Row,\r\n Card,\r\n CardBody,\r\n Container,\r\n Form,\r\n Input,\r\n Label,\r\n FormGroup,\r\n FormFeedback,\r\n} from \"reactstrap\";\r\n\r\nimport WebAPI from \"services/WebAPI\";\r\nimport AlertMessage from \"components/Alert\";\r\nimport Button from \"components/Inputs/TButton\";\r\n\r\nconst LicenseReport = () => {\r\n let history = useHistory();\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [dates, setDates] = useState([]);\r\n\r\n const [formState, setFormState] = useState({\r\n reportId: 0,\r\n reportActive: true,\r\n NotificationEmails: \"\",\r\n serverCycle: \"weekly\",\r\n desktopCycle: \"monthly\",\r\n serverWeeklyDay: 1,\r\n desktopWeeklyDay: 1,\r\n serverMonthlydate: 1,\r\n desktopMonthlydate: 1,\r\n reportTime: \"13:00\",\r\n });\r\n\r\n useEffect(() => {\r\n Dates();\r\n //fetchData()\r\n }, []);\r\n\r\n const fetchData=async()=>{\r\n try {\r\n const resp= await WebAPI.get('/Report/FetchPartnerScheduledReports?partnerId=1')\r\n console.log('resp', resp)\r\n } catch (error) {\r\n console.log('error', error)\r\n }\r\n }\r\n\r\n const Dates = () => {\r\n let date = [];\r\n for (let i = 1; i < 29; i += 1) {\r\n date.push(i);\r\n }\r\n setDates(date);\r\n };\r\n\r\n const [invalidFormState, setInvalidFormState] = useState({\r\n reportActive: false,\r\n NotificationEmails: false,\r\n });\r\n\r\n const handleFormValueChange = ({ target: { id, value, checked } }) => {\r\n if (id === \"reportActive\") value = checked;\r\n invalidFormState[id] = false;\r\n formState[id] = value;\r\n setFormState({ ...formState });\r\n setInvalidFormState({ ...invalidFormState });\r\n };\r\n\r\n const prepareTime = (type) => {\r\n let time = new Date();\r\n const d = new Date();console.log('d', d)\r\n d.setDate(d.getDate() - d.getDay());\r\n const t = formState.reportTime.split(\":\");\r\n\r\n switch (type) {\r\n case \"server\":{\r\n if (formState.serverCycle === \"daily\") {\r\n d.setHours(t[0], t[1]);\r\n time = d;\r\n break\r\n }\r\n else if(formState.serverCycle === \"weekly\"){console.log('first', formState.serverWeeklyDay,d, d.getDay())\r\n d.setDate(d.getDate() + formState.serverWeeklyDay);\r\n d.setHours(t[0], t[1]);\r\n time=d\r\n break\r\n }\r\n else if(formState.serverCycle === \"monthly\"){\r\n time= new Date(d.getFullYear(),d.getMonth(),formState.serverMonthlydate, t[0], t[1])\r\n }\r\n break;\r\n }\r\n case \"desktop\":{\r\n if (formState.desktopCycle === \"daily\") {\r\n d.setHours(t[0], t[1]);\r\n time = d;\r\n }\r\n else if(formState.desktopCycle === \"weekly\"){\r\n d.setDate(d.getDate() + formState.desktopWeeklyDay);\r\n d.setHours(t[0], t[1]);\r\n time=d\r\n }\r\n else if(formState.desktopCycle === \"monthly\"){\r\n time= new Date(d.getFullYear(), d.getMonth(), formState.desktopMonthlydate,t[0], t[1])\r\n }\r\n break;\r\n }\r\n default:\r\n return \r\n }\r\n console.log('time', time)\r\n return time;\r\n };\r\n\r\n const handleSave = async () => {\r\n /* try {\r\n const serverReq = {\r\n ReportId: formState.reportId,\r\n ReportType: \"OfflineServer\",\r\n Interval: formState.serverCycle,\r\n PartnerId: 1,\r\n DefaultTime: prepareTime(\"server\"),\r\n NotificationEmailList: formState.NotificationEmails,\r\n ToggleEmailReport: formState.reportActive,\r\n };\r\n const desktopReq = {\r\n ReportId: formState.reportId,\r\n ReportType: \"OfflineDesktop\",\r\n Interval: formState.desktopCycle,\r\n PartnerId: 1,\r\n DefaultTime: prepareTime(\"desktop\"),\r\n NotificationEmailList: formState.NotificationEmails,\r\n ToggleEmailReport: formState.reportActive,\r\n };\r\n const serverResp = await WebAPI.post(\"/Report/SaveScheduledReports\", serverReq);\r\n console.log(\"resp\", serverResp);\r\n const desktopResp = await WebAPI.post(\"/Report/SaveScheduledReports\", desktopReq);\r\n console.log(\"desktop resp\", desktopResp);\r\n } catch (err) {\r\n console.log(\"err\", err);\r\n } */\r\n };\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\r\n \r\n \r\n \r\n \r\n Please enter a emails for reports\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 \r\n \r\n \r\n \r\n Please select a cycle period \r\n \r\n \r\n \r\n {formState.desktopCycle === \"weekly\" && (\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 Please select a day \r\n \r\n \r\n \r\n )}\r\n {formState.desktopCycle === \"monthly\" && (\r\n \r\n \r\n \r\n \r\n {dates.map((i) => (\r\n \r\n ))}\r\n \r\n \r\n Please select a date \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 \r\n \r\n \r\n Save\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\nexport default LicenseReport;\r\n","import { useEffect, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useParams, useHistory } from \"react-router-dom\";\r\nimport {\r\n Col,\r\n Row,\r\n Card,\r\n CardBody,\r\n Container,\r\n Form,\r\n Input,\r\n Label,\r\n FormGroup,\r\n FormFeedback,\r\n Dropdown,\r\n DropdownToggle,\r\n DropdownMenu,\r\n DropdownItem,\r\n} from \"reactstrap\";\r\n\r\nimport WebAPI from \"services/WebAPI\";\r\nimport AlertMessage from \"components/Alert\";\r\nimport Button from \"components/Inputs/TButton\";\r\n\r\nconst EndpointSettingReport = () => {\r\n let history = useHistory();\r\n const { id } = useParams();\r\n const dispatch = useDispatch();\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [dates, setDates] = useState([]);\r\n\r\n const [formState, setFormState] = useState({\r\n reportId: 0,\r\n reportActive: true,\r\n NotificationEmails: \"\",\r\n serverCycle: \"weekly\",\r\n desktopCycle: \"daily\",\r\n serverWeeklyDay: 4,\r\n desktopWeeklyDay: 1,\r\n serverMonthlydate: 1,\r\n desktopMonthlydate: 1,\r\n reportTime: \"02:30\",\r\n });\r\n\r\n const [dropdownOpen, setDropdownOpen] = useState(false);\r\n\r\n const toggle = () => setDropdownOpen((prevState) => !prevState);\r\n\r\n useEffect(() => {\r\n Dates();\r\n //fetchData()\r\n }, []);\r\n\r\n const fetchData=async()=>{\r\n try {\r\n const resp= await WebAPI.get('/Report/FetchPartnerScheduledReports?partnerId=1')\r\n console.log('resp', resp)\r\n } catch (error) {\r\n console.log('error', error)\r\n }\r\n }\r\n\r\n const Dates = () => {\r\n let date = [];\r\n for (let i = 1; i < 29; i += 1) {\r\n date.push(i);\r\n }\r\n setDates(date);\r\n };\r\n\r\n const [invalidFormState, setInvalidFormState] = useState({\r\n reportActive: false,\r\n NotificationEmails: false,\r\n });\r\n\r\n const handleFormValueChange = ({ target: { id, value, checked } }) => {\r\n if (id === \"reportActive\") value = checked;\r\n invalidFormState[id] = false;\r\n formState[id] = value;\r\n setFormState({ ...formState });\r\n setInvalidFormState({ ...invalidFormState });\r\n };\r\n\r\n const prepareTime = (type) => {\r\n let time = new Date();\r\n const d = new Date();console.log('d', d)\r\n d.setDate(d.getDate() - d.getDay());\r\n const t = formState.reportTime.split(\":\");\r\n\r\n switch (type) {\r\n case \"server\":{\r\n if (formState.serverCycle === \"daily\") {\r\n d.setHours(t[0], t[1]);\r\n time = d;\r\n break\r\n }\r\n else if(formState.serverCycle === \"weekly\"){console.log('first', formState.serverWeeklyDay,d, d.getDay())\r\n d.setDate(d.getDate() + formState.serverWeeklyDay);\r\n d.setHours(t[0], t[1]);\r\n time=d\r\n break\r\n }\r\n else if(formState.serverCycle === \"monthly\"){\r\n time= new Date(d.getFullYear(),d.getMonth(),formState.serverMonthlydate, t[0], t[1])\r\n }\r\n break;\r\n }\r\n case \"desktop\":{\r\n if (formState.desktopCycle === \"daily\") {\r\n d.setHours(t[0], t[1]);\r\n time = d;\r\n }\r\n else if(formState.desktopCycle === \"weekly\"){\r\n d.setDate(d.getDate() + formState.desktopWeeklyDay);\r\n d.setHours(t[0], t[1]);\r\n time=d\r\n }\r\n else if(formState.desktopCycle === \"monthly\"){\r\n time= new Date(d.getFullYear(), d.getMonth(), formState.desktopMonthlydate,t[0], t[1])\r\n }\r\n break;\r\n }\r\n default:\r\n return \r\n }\r\n console.log('time', time)\r\n return time;\r\n };\r\n\r\n const handleSave = async () => {\r\n /* try {\r\n const serverReq = {\r\n ReportId: formState.reportId,\r\n ReportType: \"OfflineServer\",\r\n Interval: formState.serverCycle,\r\n PartnerId: 1,\r\n DefaultTime: prepareTime(\"server\"),\r\n NotificationEmailList: formState.NotificationEmails,\r\n ToggleEmailReport: formState.reportActive,\r\n };\r\n const desktopReq = {\r\n ReportId: formState.reportId,\r\n ReportType: \"OfflineDesktop\",\r\n Interval: formState.desktopCycle,\r\n PartnerId: 1,\r\n DefaultTime: prepareTime(\"desktop\"),\r\n NotificationEmailList: formState.NotificationEmails,\r\n ToggleEmailReport: formState.reportActive,\r\n };\r\n const serverResp = await WebAPI.post(\"/Report/SaveScheduledReports\", serverReq);\r\n console.log(\"resp\", serverResp);\r\n const desktopResp = await WebAPI.post(\"/Report/SaveScheduledReports\", desktopReq);\r\n console.log(\"desktop resp\", desktopResp);\r\n } catch (err) {\r\n console.log(\"err\", err);\r\n } */\r\n };\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 \r\n \r\n \r\n \r\n Select\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Please enter a emails for reports\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 \r\n \r\n \r\n \r\n \r\n Please select a cycle period\r\n \r\n \r\n \r\n {formState.desktopCycle === \"weekly\" && (\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 Please select a day\r\n \r\n \r\n \r\n )}\r\n {formState.desktopCycle === \"monthly\" && (\r\n \r\n \r\n \r\n \r\n {dates.map((i) => (\r\n \r\n ))}\r\n \r\n \r\n Please select a date \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 \r\n \r\n \r\n Save\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\nexport default EndpointSettingReport;\r\n","import { Button, Row, Col, Input, Card, CardHeader, CardBody, Modal, FormGroup, Label, UncontrolledTooltip } from \"reactstrap\";\r\n\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport ToolkitProvider from 'react-bootstrap-table2-toolkit';\r\nimport filterFactory, { textFilter } from 'react-bootstrap-table2-filter';\r\nimport { useState } from \"react\";\r\n\r\nimport _ from 'lodash'\r\nimport paginationFactory,\r\n{ PaginationProvider, SizePerPageDropdownStandalone, PaginationListStandalone }\r\n from 'react-bootstrap-table2-paginator';\r\n\r\n\r\nfunction SimpleAddModal(props) {\r\n const [ addValue, setAddValue ] = useState('')\r\n const [ error, setError ] = useState(null)\r\n\r\n const handleAddButton = () => {\r\n if (addValue.length < 2)\r\n setError('Invalid input')\r\n else {\r\n const { onUpdate } = props\r\n if(onUpdate){\r\n onUpdate(addValue) \r\n }\r\n }\r\n }\r\n return (\r\n props.setOpen(false)}\r\n >\r\n
\r\n

\r\n Add path to list\r\n

\r\n props.setOpen(false)}\r\n >\r\n ×\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n setAddValue(value)} />\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n )\r\n}\r\n\r\nconst ExclusionInfo = ({ type }) => {\r\n switch (type) {\r\n case \"Folder Exclusion\":\r\n return <>\r\n \r\n
\r\n \r\n

Example Folder Exclusions

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

False Positive Generated

\r\n
    \r\n
  • C:\\Users\\Cashier.runelite\\repository2
  • \r\n
\r\n

Options to deal with false positive

\r\n
    \r\n
  1. \\repository2\\ - Protect any folder named repository2 but exclude all subfolders
  2. \r\n
  3. repository2 – Exclude every folder path containing folder repository2
  4. \r\n
  5. C:\\Users\\Cashier.runelite\\repository2 - exclude only repository2 and all subfolders by exact path
  6. \r\n
\r\n
\r\n \r\n\r\n case \"Process Allow List\":\r\n return <>\r\n \r\n
\r\n \r\n

Example Process Allow list

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

False Positive Generated

\r\n
    \r\n
  • C:\\Users\\Cashier.runelite\\repository2.exe
  • \r\n
\r\n

Options to deal with false positive

\r\n
    \r\n
  1. repository2 - Exclude the process containing repository2
  2. \r\n
  3. C:\\Users\\Cashier.runelite\\repository2.exe - Exclude process only by exact path
  4. \r\n
\r\n
\r\n \r\n\r\n default:\r\n return null\r\n }\r\n}\r\n\r\nexport default function ListSelector(props) {\r\n\r\n const [modalShown, setModalShown] = useState(false)\r\n\r\n const columns = [\r\n {\r\n dataField: 'path', text: 'Path', style: { whiteSpace: 'normal' }, headerStyle: { padding: \"10px\", display: 'flex', alignItems: 'center', justifyContent:'space-evenly' }, filter: textFilter({\r\n style: {\r\n marginTop: 5,\r\n marginLeft: 10,\r\n width:'100%',\r\n },\r\n placeholder: 'Search'\r\n })\r\n },\r\n ]\r\n\r\n const paginationOptions = {\r\n custom: true,\r\n withFirstAndLast: true,\r\n totalSize: props.list ? props.list.length : 0,\r\n paginationSize: 3,\r\n };\r\n\r\n let tableRef = null;\r\n\r\n const selectRow = {\r\n mode: 'checkbox',\r\n clickToSelect: true,\r\n headerColumnStyle: {\r\n paddingBottom:25\r\n }\r\n }\r\n\r\n // Methods\r\n const handleDelete = () => {\r\n const selected = tableRef.selectionContext.selected\r\n const list = props.list\r\n const newList = _.difference(list, selected)\r\n if (props.onUpdate)\r\n props.onUpdate(newList)\r\n }\r\n\r\n const handleAdd = (listToAdd = []) => {\r\n const { list } = props\r\n if (!Array.isArray(listToAdd))\r\n listToAdd = [listToAdd,]\r\n const newList = _.union(list, listToAdd)\r\n if (props.onUpdate)\r\n props.onUpdate(newList)\r\n setModalShown(false)\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n

{props.title}

\r\n {props.isGlobal && }\r\n \r\n \r\n
\r\n
\r\n \r\n ({ path: r })) || []}\r\n columns={columns}\r\n >\r\n {\r\n props => (\r\n \r\n {\r\n ({\r\n paginationProps,\r\n paginationTableProps\r\n }) => (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n tableRef = n}\r\n selectRow={selectRow}\r\n {...props.baseProps}\r\n {...paginationTableProps}\r\n noDataIndication=\"No Data\"\r\n filter={filterFactory()}\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
\r\n \r\n
\r\n\r\n \r\n
\r\n )\r\n}","import TButton from \"components/Inputs/TButton\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useDispatch } from 'react-redux'\r\nimport { Container, Row, Col, CardBody, Card, FormGroup, Input, Label, Spinner, Alert } from \"reactstrap\";\r\n\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport paginationFactory from 'react-bootstrap-table2-paginator';\r\nimport filterFactory, { textFilter } from 'react-bootstrap-table2-filter';\r\n\r\nimport WebAPI from 'services/WebAPI'\r\n\r\nimport { alertActions } from \"redux/_actions\";\r\nimport AlertMessage from \"components/Alert\";\r\nimport _ from \"lodash\";\r\n\r\nconst ENDPOINT_KEY = 'DeviceId'\r\n\r\nexport default function CopyToEndpoints(props) {\r\n\r\n const [endpoints, setEndpoints] = useState([])\r\n\r\n const columns = [{\r\n dataField: 'HostName',\r\n text: 'Hostname',\r\n style:{whiteSpace:\"normal\"}\r\n }, {\r\n dataField: 'CustomerName',\r\n text: 'Customer',\r\n filter: textFilter(),\r\n style:{whiteSpace:\"normal\"}\r\n },\r\n {\r\n dataField: 'CompanyName',\r\n text: 'Company',\r\n filter: textFilter(),\r\n style:{whiteSpace:\"normal\"}\r\n },\r\n {\r\n dataField: 'DeviceType',\r\n text: 'Type',\r\n style:{whiteSpace:\"normal\"}\r\n }, {\r\n dataField: 'Version',\r\n text: 'Version',\r\n style:{whiteSpace:\"normal\"}\r\n }\r\n ];\r\n\r\n //\r\n const [selectedEndpoint, setSelectedEndpoint] = useState([])\r\n const [filteredEndpoint, setFilteredEndpoints] = useState([])\r\n\r\n const dispatch = useDispatch()\r\n\r\n const handleOnSelect = (row, isSelect) => {\r\n const endpoint = row[ENDPOINT_KEY]\r\n if (isSelect) {\r\n setSelectedEndpoint([...selectedEndpoint, endpoint])\r\n } else {\r\n setSelectedEndpoint(selectedEndpoint.filter(x => x !== row[ENDPOINT_KEY]))\r\n }\r\n }\r\n\r\n const handleSelectAll = (isSelect, rows) => {\r\n const newEP = filteredEndpoint.map(x => x[ENDPOINT_KEY])\r\n if (isSelect) {\r\n setSelectedEndpoint([...selectedEndpoint, ...newEP])\r\n } else {\r\n setSelectedEndpoint([])\r\n }\r\n }\r\n\r\n const afterFilter = (result, f) => {\r\n if (_.xor(filteredEndpoint.map(x => x[ENDPOINT_KEY]), result.map(x => x[ENDPOINT_KEY])).length) {\r\n setFilteredEndpoints(result || [])\r\n }\r\n }\r\n\r\n const [scope, setScope] = useState({ Configurations: true, FolderExclustions: true, Whitelist: true })\r\n\r\n const [loading, setLoading] = useState(false)\r\n const [updating, setUpdating] = useState(false)\r\n\r\n useEffect(() => {\r\n if (loading)\r\n return\r\n setLoading(true)\r\n WebAPI\r\n .get('/Endpoints/List?minifed=true')\r\n .then(({ data: res }) => {\r\n if (res.status)\r\n setEndpoints(res.data)\r\n setFilteredEndpoints(res.data)\r\n })\r\n .finally(() => setLoading(false))\r\n }, [])\r\n\r\n const handleSave = () => {\r\n if (updating)\r\n return\r\n setUpdating(true)\r\n WebAPI\r\n .post('/Endpoints/CopyToEndpoints',{\r\n scope,\r\n config : props.config,\r\n endpoints : selectedEndpoint,\r\n })\r\n .then(({ data: res }) => {\r\n dispatch(alertActions.success(\"Request processed!\"))\r\n setTimeout(() => {\r\n dispatch(alertActions.clear())\r\n }, 2000);\r\n })\r\n .finally(() => setUpdating(false))\r\n }\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 { setScope({ ...scope, Configurations: checked }) }} />\r\n \r\n \r\n \r\n { setScope({ ...scope, FolderExclustions: checked }) }} />\r\n \r\n \r\n \r\n { setScope({ ...scope, Whitelist: checked }) }} />\r\n \r\n \r\n \r\n Endpoint Selected : {selectedEndpoint.length}\r\n Apply\r\n \r\n \r\n \r\n \r\n \r\n : \"No Data\"}\r\n selectRow={{\r\n mode: 'checkbox',\r\n clickToSelect: true,\r\n selected: selectedEndpoint,\r\n onSelect: handleOnSelect,\r\n onSelectAll: handleSelectAll\r\n }}\r\n filter={filterFactory({afterFilter})}\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 ListSelector from \"components/Configuration/ListSelector\"\r\nimport { useEffect, useState } from \"react\"\r\nimport { useSelector, useDispatch } from 'react-redux'\r\nimport { CardBody, Container, Row, Card, Col, FormGroup, Label, Input, Modal, Spinner, Alert } from \"reactstrap\"\r\nimport Button from \"components/Inputs/TButton\"\r\nimport CopyToEndpoints from \"components/Configuration/CopyToEndpoints\"\r\nimport WebAPI from 'services/WebAPI'\r\nimport _ from 'lodash'\r\nimport { alertActions } from \"redux/_actions\";\r\nimport AlertMessage from \"components/Alert\";\r\n\r\n\r\nexport default function Configuration(props) {\r\n\r\n const { endpointSettings = false, globalSettings = false } = props\r\n const [config, setConfig] = useState({\r\n Id: 0,\r\n Email: '',\r\n FolderExclusion: [],\r\n FolderProtection: [],\r\n WhiteList: [],\r\n UserAutoProtect: false,\r\n AdvancedProtection: false,\r\n DriverDetectionMode: false,\r\n ExtMonitor: false,\r\n NativeProtection: false,\r\n AutoProtectShares: false,\r\n DefaultSettingMode: false,\r\n LearningMode: false,\r\n SubFolderAutoProtect:false,\r\n })\r\n\r\n const [currentConfig, setCurrentConfig] = useState(config)\r\n const [loading, setLoading] = useState(false)\r\n const [unsavedChanges, setUnsavedChanges] = useState(false)\r\n const [channels, setChannels] = useState([])\r\n const dispatch = useDispatch()\r\n\r\n useEffect(() => {\r\n loadSettings()\r\n }, [props.id])\r\n\r\n const loadSettings = () => {\r\n if (loading)\r\n return\r\n setLoading(true)\r\n\r\n const url = globalSettings ? '/Customers/GetGlobalSettings' : `/${endpointSettings ? 'Endpoints' : 'Customers'}/Settings/${props.id}`\r\n loadChannels()\r\n WebAPI\r\n .get(url)\r\n .then(({ data: res }) => {\r\n if (res.status) {\r\n setConfig(res.data.settings)\r\n setCurrentConfig(res.data.settings)\r\n }\r\n })\r\n .finally(() => setLoading(false))\r\n }\r\n const loadChannels = () => {\r\n WebAPI.get(\"/UpgradeManager/FetchAllPackageChannels\").then(\r\n ({ data: res }) => {\r\n if (res.status) setChannels(_.orderBy(res.result,'Priority',\"desc\"));\r\n }\r\n );\r\n };\r\n\r\n const [updating, setUpdating] = useState(false)\r\n\r\n const setSettings = () => {\r\n if (updating || loading)\r\n return\r\n setUpdating(true)\r\n const url = globalSettings ? '/Customers/SetGlobalSettings' : `/${endpointSettings ? 'Endpoints' : 'Customers'}/SetSettings/${props.id}`\r\n WebAPI\r\n .post(url, { settings: config, applyToEndpoints: applyToExisiting })\r\n .then(({ data: res }) => {\r\n setCurrentConfig(config)\r\n dispatch(alertActions.success('Settings Updated Successfully.'))\r\n setTimeout(() => {\r\n dispatch(alertActions.clear())\r\n }, 3000);\r\n })\r\n .finally(() => setUpdating(false))\r\n }\r\n\r\n useEffect(() => {\r\n checkAndShowUnsavedChangeWarning()\r\n }, [config, currentConfig])\r\n\r\n const [applyToExisiting, setApplyToExisiting] = useState(false)\r\n const [copyModal, setCopyModal] = useState(false)\r\n\r\n const updateConfig = (configKey, newValue) => {\r\n const newConfig = { ...config }\r\n newConfig[configKey] = newValue\r\n setConfig(newConfig)\r\n }\r\n\r\n const checkAndShowUnsavedChangeWarning = () => {\r\n if (!_.isEqual(config, currentConfig))\r\n setUnsavedChanges(true)\r\n else\r\n setUnsavedChanges(false)\r\n }\r\n\r\n const { role = \"Partner\", theme = \"white\" } = useSelector((state) => state.authentication.user)\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n {!copyModal && }\r\n {loading && (
)}\r\n \r\n {globalSettings && ' ' || (\r\n \r\n \r\n \r\n \r\n \r\n updateConfig('Email', value)} />\r\n \r\n \r\n \r\n updateConfig('PackageChannelType', e.target.value)}\r\n >{console.log(\"config\",config.PackageChannelType,channels)}\r\n {![...channels.map(i => i.Channel), 'inherit'].includes(config.PackageChannelType) && ()}\r\n {endpointSettings&&}\r\n {channels.map((i)=>)}\r\n \r\n \r\n \r\n \r\n Configuration \r\n
\r\n \r\n updateConfig('UserAutoProtect', value)} />\r\n \r\n \r\n \r\n updateConfig('AutoProtectShares', value)} />\r\n \r\n \r\n \r\n updateConfig('DefaultSettingMode', value)} />\r\n \r\n \r\n \r\n updateConfig('SubFolderAutoProtect', value)} />\r\n \r\n \r\n {\r\n role === \"admin\" && (\r\n <>\r\n \r\n updateConfig('AdvancedProtection', value)} />\r\n \r\n \r\n \r\n updateConfig('LearningMode', value)} />\r\n \r\n \r\n \r\n )\r\n }\r\n\r\n \r\n updateConfig('DriverDetectionMode', value)} />\r\n \r\n \r\n {\r\n (role === \"admin\" || role === \"partner\") && (\r\n <>\r\n \r\n updateConfig('NativeProtection', value)} />\r\n \r\n \r\n \r\n updateConfig('ExtMonitor', value)} />\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 {unsavedChanges && (\r\n \r\n \r\n There are unsaved changes in this page! Please save if required.\r\n \r\n \r\n )}\r\n \r\n \r\n {endpointSettings && (\r\n \r\n ) || (globalSettings && ' ' || (\r\n \r\n setApplyToExisiting(value)} />\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 {endpointSettings && (\r\n \r\n updateConfig('FolderProtection', v)} />\r\n \r\n )}\r\n \r\n updateConfig('FolderExclusion', v)} isGlobal={globalSettings} />\r\n \r\n \r\n updateConfig('WhiteList', v)} isGlobal={globalSettings} />\r\n \r\n \r\n\r\n\r\n setCopyModal(false)}\r\n size=\"xl\"\r\n backdrop=\"static\"\r\n >\r\n
\r\n {\r\n dispatch(alertActions.clear())\r\n setCopyModal(false)\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 { useState, useEffect } from \"react\";\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport _ from \"lodash\";\r\nimport {\r\n Col,\r\n Row,\r\n Form,\r\n Input,\r\n Label,\r\n Button,\r\n PopoverHeader,\r\n PopoverBody,\r\n} from \"reactstrap\";\r\nimport { endpointFilterActions } from \"redux/_actions\";\r\n\r\n\r\nconst EndpointFilter = ({ data, Filters, applyFilter, clearFilter }) => {\r\n\r\n const [versionList, setVersionList] = useState([]);\r\n const [activationList, setActivationList] = useState([]);\r\n const [deviceTypeList, setDeviceTypeList] = useState([]);\r\n const [statusList, setStatusList] = useState([]);\r\n const [licenseList, setLicenseList] = useState([]);\r\n\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n const newList = {\r\n versionList: _.keys(_.countBy(data, function (rD) { return rD.Version })),\r\n activationList: _.keys(_.countBy(data, function (rD) { return rD.ActivationStatus })),\r\n deviceTypeList: _.keys(_.countBy(data, function (rD) { return rD.DeviceType })),\r\n statusList: _.keys(_.countBy(data, function (rD) { return rD.OnlineStatus })),\r\n licenseList: _.keys(_.countBy(data, function (rD) { return rD.LicenseType }))\r\n }\r\n setVersionList(newList.versionList)\r\n setActivationList(newList.activationList)\r\n setDeviceTypeList(newList.deviceTypeList)\r\n setStatusList(newList.statusList)\r\n setLicenseList(newList.licenseList)\r\n }, [data]);\r\n\r\n const handleChange = ({ target }) => {\r\n const newFilters = Filters\r\n if(target.checked){\r\n newFilters[target.id].push(target.name)\r\n }\r\n else{\r\n newFilters[target.id] = newFilters[target.id].filter(v => v != target.name)\r\n }\r\n applyFilter(newFilters)\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n

Filter List

\r\n \r\n \r\n \r\n Clear\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n {versionList.map(i =>
\r\n {i}\r\n
)}\r\n
\r\n \r\n \r\n \r\n
\r\n {activationList.map(i =>
\r\n {i}\r\n
)}\r\n
\r\n \r\n \r\n \r\n
\r\n {deviceTypeList.map(i =>
\r\n {i}\r\n
)}\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n
\r\n {statusList.map(i =>
\r\n {i}\r\n
)}\r\n
\r\n \r\n \r\n \r\n
\r\n {licenseList.map(i =>
\r\n {i}\r\n
)}\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default EndpointFilter;","const fetchFilteredEndpoints = (data,filters) => {\r\n let versionList = []\r\n let activationList = []\r\n let deviceTypeList = []\r\n let licenseList = []\r\n let statusList = []\r\n\r\n versionList = filters.version.length === 0 ? data : []\r\n filters.version.forEach(i => {\r\n versionList.push(...data.filter(el => el.Version === i))\r\n });\r\n\r\n activationList = filters.activation.length === 0 ? versionList : []\r\n filters.activation.forEach(i => {\r\n activationList.push(...versionList.filter(el => el.ActivationStatus === i))\r\n });\r\n\r\n deviceTypeList = filters.deviceType.length === 0 ? activationList : []\r\n filters.deviceType.forEach(i => {\r\n deviceTypeList.push(...activationList.filter(el => el.DeviceType === i))\r\n });\r\n \r\n licenseList = filters.license.length === 0 ? deviceTypeList : []\r\n filters.license.forEach(i => {\r\n licenseList.push(...deviceTypeList.filter(el => el.LicenseType === i))\r\n });\r\n\r\n statusList = filters.status.length === 0 ? licenseList : []\r\n filters.status.forEach(i => {\r\n statusList.push(...licenseList.filter(el => el.OnlineStatus === i))\r\n });\r\n return statusList\r\n}\r\n\r\nexport default fetchFilteredEndpoints;","import { useState, useEffect } from \"react\";\r\nimport {\r\n Button,\r\n Col,\r\n Modal,\r\n ModalBody,\r\n ModalFooter,\r\n ModalHeader,\r\n Row,\r\n Spinner,\r\n Form,\r\n FormGroup,\r\n Input,\r\n Label,\r\n} from \"reactstrap\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n SizePerPageDropdownStandalone,\r\n PaginationTotalStandalone,\r\n PaginationListStandalone,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport ToolkitProvider, { Search } from \"react-bootstrap-table2-toolkit\";\r\n\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport store from \"store\";\r\nimport _ from \"lodash\";\r\nimport semver from \"semver\";\r\n\r\nimport EndpointFilter from \"./popover\";\r\nimport fetchFilteredEndpoints from \"./helper\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport WebAPI from 'services/WebAPI'\r\nimport { alertActions } from 'redux/_actions'\r\nimport AlertMessage from 'components/Alert'\r\n\r\nimport Popover from \"react-bootstrap/Popover\";\r\nimport OverlayTrigger from \"react-bootstrap/OverlayTrigger\";\r\nconst semverSort = require(\"semver/functions/sort\");\r\n\r\nconst { SearchBar } = Search;\r\nconst ENDPOINT_KEY = \"DeviceId\";\r\n\r\nexport default function EndpointsTable(props) {\r\n const [filterPopover, toggleFilterPopover] = useState(false);\r\n const [Filters, setFilters] = useState({\r\n version: [],\r\n activation: [],\r\n deviceType: [],\r\n status: [],\r\n license: [],\r\n });\r\n\r\n const [rowData, setRowData] = useState([]);\r\n const [endPointWholeList, setEndPointList] = useState([]);\r\n const [selectedEndpoint, setSelectedEndpoint] = useState([]);\r\n const [isUninstall, setIsUninstall] = useState(false);\r\n const [uninstall, setUninstall] = useState(true)\r\n\r\n const { theme } = useSelector((state) => state.authentication.user) || {\r\n theme: \"white\",\r\n };\r\n const user = useSelector((s) => s.authentication.user);\r\n const dispatch = useDispatch()\r\n\r\n useEffect(() => {\r\n setEndPointList(props.endpoints);\r\n const _filters = store.get(`app.endpointFilters.${user.email}`);\r\n if (_filters) {\r\n const newRowData = fetchFilteredEndpoints(props.endpoints, _filters);\r\n setRowData(newRowData);\r\n setFilters(_filters);\r\n } else {\r\n setRowData(props.endpoints);\r\n }\r\n }, [props.endpoints]);\r\n\r\n const history = useHistory();\r\n\r\n const handleConfirm = async() => {\r\n try {\r\n const req={UnistallDeviceIdList: selectedEndpoint, IsUnistall: uninstall}\r\n const resp= await WebAPI.post('/Endpoints/MassUninstall',req)\r\n if(resp.data.status){\r\n dispatch(alertActions.success(`Successfully reitred ${uninstall ? \"and uninstalled\" : \"\"}`))\r\n setTimeout(() => {\r\n window.location.reload()\r\n }, 2000);\r\n }\r\n else\r\n dispatch(alertActions.error(resp.data.message))\r\n } catch (error) {\r\n console.log('error', error)\r\n } finally{\r\n setTimeout(() => {\r\n dispatch(alertActions.clear())\r\n setIsUninstall(false);\r\n }, 2000);\r\n }\r\n };\r\n\r\n const handleOnSelect = (row, isSelect) => {\r\n const endpoint = row[ENDPOINT_KEY];\r\n if (isSelect) {\r\n setSelectedEndpoint([...selectedEndpoint, endpoint]);\r\n } else {\r\n setSelectedEndpoint(\r\n selectedEndpoint.filter((x) => x !== row[ENDPOINT_KEY])\r\n );\r\n }\r\n };\r\n\r\n const handleSelectAll = (isSelect, rows) => {\r\n const newEP = rowData\r\n .filter((i) => !selectedEndpoint.includes(i[ENDPOINT_KEY]))\r\n .map((x) => x[ENDPOINT_KEY]);\r\n if (isSelect) {\r\n setSelectedEndpoint([...selectedEndpoint, ...newEP]);\r\n } else {\r\n setSelectedEndpoint([]);\r\n }\r\n };\r\n\r\n const rowEvents = {\r\n onClick: (e, row, rowIndex) => {\r\n history.push(`/endpoints/endpoint_details/${row.DeviceId}`);\r\n },\r\n };\r\n\r\n const columns = [\r\n {\r\n dataField: \"DeviceId\",\r\n text: \"ID\",\r\n sort: true,\r\n searchable: true,\r\n headerStyle: { width: \"70px\", padding: \"15px 5px\" },\r\n },\r\n {\r\n dataField: \"CustomerName\",\r\n text: \"Customer\",\r\n sort: true,\r\n classes: \"common-table-column-style\",\r\n searchable: true,\r\n headerStyle: { padding: \"15px 5px\" },\r\n },\r\n {\r\n dataField: \"CompanyName\",\r\n text: \"Company\",\r\n sort: true,\r\n classes: \"common-table-column-style\",\r\n searchable: true,\r\n headerStyle: { padding: \"15px 5px\" },\r\n },\r\n {\r\n dataField: \"HostName\",\r\n text: \"Hostname\",\r\n sort: true,\r\n classes: \"common-table-column-style\",\r\n searchable: true,\r\n headerStyle: { padding: \"15px 5px\" },\r\n },\r\n {\r\n dataField: \"OnlineStatus\",\r\n text: \"Status\",\r\n sort: true,\r\n classes: \"common-table-column-style\",\r\n searchable: true,\r\n formatter: function (cell, row) {\r\n return (\r\n \r\n {cell}\r\n \r\n );\r\n },\r\n headerStyle: { padding: \"15px 5px\" },\r\n },\r\n {\r\n dataField: \"DeviceType\",\r\n text: \"Type\",\r\n sort: true,\r\n classes: \"common-table-column-style\",\r\n searchable: true,\r\n headerStyle: { padding: \"15px 5px\", width: 80 },\r\n },\r\n {\r\n dataField: \"ActivationStatus\",\r\n text: \"Activation\",\r\n sort: true,\r\n classes: \"common-table-column-style\",\r\n searchable: true,\r\n formatter: function (cell, row) {\r\n return (\r\n \r\n {cell}\r\n \r\n );\r\n },\r\n headerStyle: { padding: \"15px 5px\" },\r\n },\r\n {\r\n dataField: \"Version\",\r\n text: \"Version\",\r\n classes: \"common-table-column-style\",\r\n sort: true,\r\n sortFunc: (a, b, order) => {\r\n a = a === \"\" ? \"0.0.0\" : a;\r\n b = b === \"\" ? \"0.0.0\" : b;\r\n if (order === \"asc\") {\r\n return semver.compare(a, b) === 1 ? 1 : -1;\r\n } else {\r\n return semver.compare(a, b) === 1 ? -1 : 1;\r\n // desc\r\n }\r\n },\r\n searchable: true,\r\n headerStyle: { padding: \"15px 5px\", width: 100 },\r\n },\r\n {\r\n dataField: \"LicenseType\",\r\n text: \"License\",\r\n classes: \"common-table-column-style\",\r\n sort: true,\r\n searchable: true,\r\n headerStyle: { padding: \"15px 5px\", width: 100 },\r\n },\r\n {\r\n dataField: \"LastReportedTime\",\r\n text: \"Last Contact\",\r\n classes: \"common-table-column-style\",\r\n sort: true,\r\n searchable: false,\r\n style: { whiteSpace: \"normal\" },\r\n formatter: function (cell, row) {\r\n return new Date(cell).toLocaleString();\r\n },\r\n headerStyle: { padding: \"15px 5px\" },\r\n },\r\n {\r\n dataField: \"PartnerName\",\r\n hidden: true,\r\n },\r\n ];\r\n\r\n const paginationOptions = {\r\n custom: true,\r\n withFirstAndLast: true,\r\n totalSize: rowData?.length,\r\n };\r\n\r\n const applyFilter = (filters) => {\r\n const newRowData = fetchFilteredEndpoints(endPointWholeList, filters);\r\n setRowData(newRowData || []);\r\n store.set(`app.endpointFilters.${user.email}`, filters);\r\n setFilters(filters);\r\n };\r\n\r\n const clearFilter = () => {\r\n setRowData(endPointWholeList);\r\n const _filter = {\r\n version: [],\r\n activation: [],\r\n deviceType: [],\r\n status: [],\r\n license: [],\r\n };\r\n setFilters(_filter);\r\n store.set(`app.endpointFilters.${user.email}`, _filter);\r\n toggleFilterPopover(false);\r\n document.body.click();\r\n };\r\n\r\n const { loading } = props;\r\n\r\n const popover = (\r\n \r\n \r\n \r\n );\r\n\r\n const filter_applied = !_.values(Filters).every(_.isEmpty);\r\n\r\n return (\r\n
\r\n \r\n \r\n {(props) => (\r\n \r\n {({ paginationProps, paginationTableProps }) => (\r\n
\r\n \r\n \r\n Entries per page :\r\n \r\n \r\n toggleFilterPopover(!filterPopover)}\r\n outline\r\n className={filter_applied ? \"filter-focus\" : \"\"}\r\n >\r\n \r\n \r\n \r\n setIsUninstall(true)}\r\n >\r\n Bulk Uninstall\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \"No Data\"\r\n )\r\n }\r\n headerWrapperClasses=\"table-header-light\"\r\n selectRow={{\r\n mode: \"checkbox\",\r\n clickToSelect: true,\r\n selected: selectedEndpoint,\r\n onSelect: handleOnSelect,\r\n onSelectAll: handleSelectAll,\r\n }}\r\n bodyClasses=\"clickable-table-row\"\r\n {...props.baseProps}\r\n {...paginationTableProps}\r\n rowStyle={\r\n {\r\n //backgroundColor: '#fff',\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 )}\r\n \r\n setIsUninstall(false)}>\r\n setIsUninstall(false)}\r\n >\r\n Are you sure to delete this endpoint?\r\n \r\n \r\n {selectedEndpoint.length !== 0\r\n ? `As a result of this action, ${selectedEndpoint.length} endpoint(s) will be uninstalled.`\r\n : \"Select atleast one endpoint!\"}\r\n
\r\n \r\n setUninstall(!uninstall)}/>\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n Continue\r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n","import { useState, useEffect } from \"react\";\r\nimport { Button, Col, Container, Row, Popover } from \"reactstrap\";\r\nimport WebAPI from 'services/WebAPI'\r\nimport EndpointsTable from \"./EndpointTable\";\r\n\r\n\r\nconst EndpointList = () => {\r\n\r\n const [endPointWholeList, setEndPointList] = useState([]);\r\n const [loading, setLoading] = useState(false)\r\n useEffect(() => {\r\n setLoading(true)\r\n WebAPI\r\n .get('/Endpoints/List')\r\n .then(({ data: res }) => {\r\n if (res.status) {\r\n setEndPointList(res.data)\r\n }\r\n })\r\n .finally(() => setLoading(false))\r\n }, []);\r\n\r\n\r\n\r\n return (\r\n <>\r\n \r\n
Endpoints
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default EndpointList;","import React from \"react\";\r\nimport { Modal } from \"reactstrap\";\r\nimport _ from \"lodash\";\r\nimport moment from \"moment\";\r\n\r\nconst FormRow = ({ title, children }) => (\r\n
\r\n

{title}

\r\n

:

\r\n

{children}

\r\n
\r\n);\r\n\r\nfunction AttackView({ attack, onClose }) {\r\n return (\r\n onClose()}>\r\n
\r\n Alert Details\r\n {\r\n onClose();\r\n }}\r\n >\r\n ×\r\n \r\n
\r\n
\r\n \r\n {attack\r\n ? \r\n moment(_.get(attack, \"Attack.Time\")+'z').format('MMMM Do YYYY, h:mm:ss a')\r\n : \"\"}\r\n \r\n {_.get(attack, \"Attack.ProcessName\")}\r\n \r\n {_.get(attack, \"Attack.ProcessId\")}\r\n \r\n \r\n {_.get(attack, \"Attack.LastFileName\")}\r\n \r\n {_.get(attack, \"Device.Hostname\")}\r\n \r\n {_.get(attack, \"Attack.IpAddress\")}\r\n \r\n {_.get(attack, \"Attack.User\")}\r\n \r\n {_.get(attack, \"Customer.CompanyName\")}\r\n \r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default AttackView;\r\n","import { useState, useEffect } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport {\r\n Col,\r\n Container,\r\n Row,\r\n Spinner,\r\n UncontrolledDropdown,\r\n DropdownMenu,\r\n DropdownItem,\r\n DropdownToggle,\r\n Form,\r\n Input,\r\n Label,\r\n FormGroup,\r\n FormFeedback,\r\n} from \"reactstrap\";\r\nimport WebAPI from \"services/WebAPI\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory, {\r\n PaginationProvider,\r\n PaginationListStandalone,\r\n PaginationTotalStandalone,\r\n SizePerPageDropdownStandalone,\r\n} from \"react-bootstrap-table2-paginator\";\r\nimport _ from \"lodash\";\r\nimport AttackView from \"./view\";\r\n\r\nconst AttackList = () => {\r\n const [attackWholeList, setAttackList] = useState([]);\r\n const [selected, setSelected] = useState(null);\r\n\r\n const [loading, setLoading] = useState(false);\r\n const [size, setSize] = useState(10);\r\n const [total, setTotal] = useState(0);\r\n const [page, setPage] = useState(1);\r\n const [device, setDevice] = useState(0);\r\n const [customer, setCustomer] = useState(0);\r\n\r\n const [devices, setDevices] = useState([]);\r\n const [customers, setCustomers] = useState([]);\r\n\r\n const { role = \"Partner\" } = useSelector(\r\n (state) => state.authentication.user\r\n );\r\n useEffect(() => {\r\n const loadCustomers = async () => {\r\n WebAPI.get(`/Customers/List?active=true`).then(({ data: res }) => {\r\n if (res.status) {\r\n setCustomers(res.data);\r\n }\r\n });\r\n };\r\n\r\n const loadDevices = async () => {\r\n setLoading(true);\r\n WebAPI.get(\"/Endpoints/List\").then(({ data: res }) => {\r\n if (res.status) {\r\n setDevices(res.data);\r\n }\r\n });\r\n };\r\n loadDevices();\r\n loadCustomers();\r\n }, []);\r\n\r\n useEffect(() => {\r\n const loadAttacks = async () => {\r\n setLoading(true);\r\n setAttackList([]);\r\n WebAPI.post(\"/Attack/FetchAttacks\", {\r\n PageSize: size,\r\n PageNumber: page,\r\n CustomerId: customer,\r\n DeviceId: device,\r\n })\r\n .then(({ data: res }) => {\r\n if (res.status) {\r\n setTotal(res.result.TotalAttackList);\r\n setAttackList(res.result.filteredAttackList);\r\n }\r\n })\r\n .finally(() => setLoading(false));\r\n };\r\n loadAttacks();\r\n }, [size, page, device, customer]);\r\n\r\n const onTableChange = (type, { page, sizePerPage }) => {\r\n setPage(page);\r\n setSize(sizePerPage);\r\n };\r\n\r\n const columns = [\r\n {\r\n dataField: \"Attack.Time\",\r\n text: \"Time\",\r\n classes: \"common-table-column-style\",\r\n formatter: function (cell, row) {\r\n return {new Date(cell+'z').toLocaleString()};\r\n },\r\n headerStyle: { padding: \"15px\", minWidth: 150 },\r\n },\r\n {\r\n dataField: \"Attack.ProcessName\",\r\n text: \"Process\",\r\n classes: \"common-table-column-style\",\r\n headerStyle: { padding: \"15px\", width: 450 },\r\n },\r\n !device && {\r\n dataField: \"Device.Hostname\",\r\n text: \"Hostname\",\r\n classes: \"common-table-column-style\",\r\n headerStyle: { padding: \"15px\" },\r\n },\r\n {\r\n dataField: \"Attack.User\",\r\n text: \"User\",\r\n classes: \"common-table-column-style\",\r\n style: { whiteSpace: \"normal\" },\r\n headerStyle: { padding: \"15px\" },\r\n },\r\n role !== \"customer\" &&\r\n !customer && {\r\n dataField: \"Customer.CompanyName\",\r\n text: \"Customer\",\r\n classes: \"common-table-column-style\",\r\n style: { whiteSpace: \"normal\" },\r\n headerStyle: { padding: \"15px\" },\r\n },\r\n ];\r\n\r\n const rowEvents = {\r\n onClick: (e, row, rowIndex) => {\r\n setSelected(row);\r\n },\r\n };\r\n\r\n const displayTarget = (type) => {\r\n let _customer = customers?.find((c) => c?.Id === customer);\r\n switch (type) {\r\n case \"customer\":\r\n return customer === 0\r\n ? \"Customers\"\r\n : `${_customer?.FirstName} ${_customer?.LastName}`;\r\n\r\n default:\r\n return device === 0\r\n ? \"Endpoints\"\r\n : devices?.find((c) => c?.DeviceId === device)?.HostName;\r\n }\r\n };\r\n\r\n console.log(\"device\", device, customer);\r\n\r\n return (\r\n <>\r\n \r\n
Alerts
\r\n \r\n \r\n {({ paginationProps, paginationTableProps }) => (\r\n
\r\n \r\n \r\n Entries per page :\r\n \r\n \r\n \r\n {role !== \"customer\" && (\r\n \r\n {\r\n setCustomer(parseInt(e.target.value));\r\n setDevice(0);\r\n }}\r\n type=\"select\"\r\n style={{\r\n width: 200,\r\n overflowY: \"auto\",\r\n overflowX: \"hidden\",\r\n minWidth: \"100%\",\r\n maxHeight: \"60vh\",\r\n }}\r\n >\r\n \r\n {customers.map((r) => (\r\n {`${r.FirstName} ${r.LastName} - ${r.CompanyName}`}\r\n ))}\r\n \r\n \r\n )}\r\n {(customer !== 0 || role === \"customer\") && (\r\n \r\n setDevice(parseInt(e.target.value))}\r\n type=\"select\"\r\n style={{\r\n width: 200,\r\n overflowY: \"auto\",\r\n overflowX: \"hidden\",\r\n minWidth: \"100%\",\r\n maxHeight: \"60vh\",\r\n }}\r\n >\r\n \r\n {devices\r\n ?.filter((d) =>\r\n customer ? d?.CustomerId === customer : true\r\n )\r\n .map((r) => (\r\n \r\n ))}\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n ) : (\r\n \"No Data\"\r\n )\r\n }\r\n rowEvents={rowEvents}\r\n headerWrapperClasses=\"table-header-light\"\r\n bodyClasses=\"clickable-table-row\"\r\n {...paginationTableProps}\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 setSelected(null)} />\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default AttackList;\r\n","import { useState, useEffect } from \"react\";\r\nimport { Button, Col, Container, Row, Popover } from \"reactstrap\";\r\nimport { useParams, useHistory, Link } from \"react-router-dom\";\r\nimport WebAPI from 'services/WebAPI'\r\nimport EndpointsTable from \"./EndpointTable\";\r\n\r\n\r\nconst EndpointListByCustomer = () => {\r\n\r\n const { id } = useParams();\r\n\r\n const [endPointWholeList, setEndPointList] = useState([]);\r\n const [loading, setLoading] = useState(false)\r\n useEffect(() => {\r\n setLoading(true)\r\n WebAPI\r\n .get('/Endpoints/ListFromCustomer/' + id)\r\n .then(({ data: res }) => {\r\n if (res.status) {\r\n setEndPointList(res.data)\r\n }\r\n })\r\n .finally(()=>setLoading(false))\r\n }, []);\r\n\r\n\r\n\r\n return (\r\n <>\r\n \r\n
Endpoints of Customer
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default EndpointListByCustomer;","import { useState, useEffect } from \"react\";\r\nimport { Button, Col, Container, Row, Popover } from \"reactstrap\";\r\nimport { useParams, useHistory, Link } from \"react-router-dom\";\r\nimport WebAPI from 'services/WebAPI'\r\nimport EndpointsTable from \"./EndpointTable\";\r\n\r\n\r\nconst EndpointListByLicensse = () => {\r\n\r\n const { id } = useParams();\r\n\r\n const [endPointWholeList, setEndPointList] = useState([]);\r\n const [loading, setLoading] = useState(false)\r\n useEffect(() => {\r\n setLoading(true)\r\n WebAPI\r\n .get('/Endpoints/ListFromLicense/' + id)\r\n .then(({ data: res }) => {\r\n if (res.status) {\r\n setEndPointList(res.data)\r\n }\r\n })\r\n .finally(()=>setLoading(false))\r\n }, []);\r\n\r\n\r\n\r\n return (\r\n <>\r\n \r\n
Endpoints with License
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default EndpointListByLicensse;","import { useState, useEffect } from \"react\";\r\nimport { Button, Col, Container, Row, Popover } from \"reactstrap\";\r\nimport { useParams, useHistory, Link } from \"react-router-dom\";\r\nimport WebAPI from 'services/WebAPI'\r\nimport EndpointsTable from \"./EndpointTable\";\r\n\r\n\r\nconst EndpointListByPartner = () => {\r\n\r\n const { id } = useParams();\r\n\r\n const [endPointWholeList, setEndPointList] = useState([]);\r\n const [loading, setLoading] = useState(false)\r\n useEffect(() => {\r\n setLoading(true)\r\n WebAPI\r\n .get('/Endpoints/ListFromPartner/' + id)\r\n .then(({ data: res }) => {\r\n if (res.status) {\r\n setEndPointList(res.data)\r\n }\r\n })\r\n .finally(()=>setLoading(false))\r\n }, []);\r\n\r\n\r\n\r\n return (\r\n <>\r\n \r\n
Endpoints under Partner
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default EndpointListByPartner;","import React, { useState, useEffect } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport {\r\n Button,\r\n Modal,\r\n ModalBody,\r\n Spinner,\r\n} from \"reactstrap\";\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\nimport filterFactory, { textFilter } from \"react-bootstrap-table2-filter\";\r\n\r\nimport { alertActions } from \"redux/_actions/\";\r\nimport WebAPI from \"services/WebAPI\";\r\nimport TButton from \"components/Inputs/TButton\";\r\nimport AlertMessage from \"components/Alert\";\r\n\r\nconst moment = require(\"moment\");\r\n\r\nexport default function Logs({ isOnline, Log }) {\r\n const [isLog, setLog] = useState(false);\r\n const [isUpdate, setUpdate] = useState(false);\r\n const [logLoading, setLogloading] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [logData, setlogData] = useState([]);\r\n\r\n const dispatch = useDispatch();\r\n const { id } = useParams();\r\n\r\n useEffect(() => {\r\n Log(!isLog)\r\n if (isLog) loadLogData();\r\n }, [isLog]);\r\n\r\n useEffect(() => {\r\n let interval;\r\n if (isUpdate) {\r\n const fetchLogdata = async () => {\r\n if (!logData) setLogloading(true);\r\n\r\n try {\r\n const res = await WebAPI.get(\r\n `Logging/FetchDeviceLogs?deviceId=${id}`\r\n );\r\n if (res.data.status)\r\n if (res.data.data && res.data.data.files) {\r\n if (logData !== res.data.data.files) setUpdate(false);\r\n setlogData(res.data.data.files?.sort((a,b)=>{return new Date(b.LastModified)-new Date(a.LastModified)}));\r\n setLogloading(false);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n fetchLogdata();\r\n interval = setInterval(() => {\r\n fetchLogdata();\r\n }, 10000);\r\n }\r\n\r\n return () => clearInterval(interval);\r\n }, [isUpdate]);\r\n\r\n const handleForceFetch = async () => {\r\n setLoading(true)\r\n if (isOnline === \"Offline\") {\r\n dispatch(\r\n alertActions.error(\r\n \"This action cannot be done, this device is Offline...\"\r\n )\r\n );\r\n setTimeout(() => {\r\n dispatch(alertActions.clear());\r\n setLoading(false)\r\n }, [5000]);\r\n return;\r\n }\r\n try {\r\n const resp = await WebAPI.get(\r\n `Logging/UpdateClientDeviceLogs?deviceId=${id}&isForced=${true}`\r\n );\r\n if (resp.data.status) {\r\n await timeout(30000)\r\n dispatch(alertActions.success(\"Force Updated!\"));\r\n setLoading(false)\r\n setUpdate(true);\r\n } else dispatch(alertActions.error(\"Something Went Wrong\"));\r\n setTimeout(() => {\r\n dispatch(alertActions.clear());\r\n }, 3000);\r\n } catch (err) {\r\n console.log(err);\r\n setLoading(false)\r\n }\r\n };\r\n\r\n function timeout(ms) {\r\n return new Promise(resolve => setTimeout(resolve, ms));\r\n }\r\n\r\n const handleUpdate = async () => {\r\n if (isOnline === \"Offline\") {\r\n dispatch(\r\n alertActions.error(\r\n \"This action cannot be done, this device is Offline...\"\r\n )\r\n );\r\n setTimeout(() => {\r\n dispatch(alertActions.clear());\r\n }, [5000]);\r\n return;\r\n }\r\n try {\r\n const resp = await WebAPI.get(\r\n `Logging/UpdateClientDeviceLogs?deviceId=${id}&isForced=${false}`\r\n );\r\n if (resp.data.status) {\r\n dispatch(alertActions.success(\"Updated!\"));\r\n setUpdate(true);\r\n } else dispatch(alertActions.error(\"Something Went Wrong\"));\r\n setTimeout(() => {\r\n dispatch(alertActions.clear());\r\n }, 3000);\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n\r\n const loadLogData = () => {\r\n setLogloading(true);\r\n WebAPI.get(`Logging/FetchDeviceLogs?deviceId=${id}`).then(\r\n ({ data: res }) => {\r\n if (res.status) {\r\n if (res.data && res.data.files) setlogData(res.data.files?.sort((a,b)=>{return new Date(b.LastModified)-new Date(a.LastModified)}));\r\n setLogloading(false);\r\n }\r\n }\r\n );\r\n };\r\n\r\n const rowEvents = {\r\n onClick: async (e, row, rowIndex) => {\r\n try {\r\n const req = {\r\n DeviceId: parseInt(id),\r\n FileName: row.Name,\r\n };\r\n const resp = await WebAPI.post(`Logging/FetchLogs`, req);\r\n if (resp.data.status) window.open(resp.data.url);\r\n } catch (error) {\r\n console.log(error);\r\n dispatch(alertActions.error(\"Something went wrong\"));\r\n setTimeout(() => {\r\n dispatch(alertActions.clear());\r\n }, 3000);\r\n }\r\n },\r\n };\r\n\r\n const columns = [\r\n { dataField: \"Name\", text: \"File\", sort:true },\r\n {\r\n text: \"Last Modified\",\r\n sort:true,\r\n formatter: (cell, row) => {\r\n return moment(row.LastModified)\r\n .format(\"MMMM Do YYYY, h:mm:ss a\")\r\n .toLocaleString();\r\n },\r\n sortFunc: (a, b, order, dataField, rowA, rowB) => {\r\n if (order === 'desc') {\r\n if (new Date(rowA.LastModified) < new Date(rowB.LastModified)) return 1\r\n if (new Date(rowA.LastModified) > new Date(rowB.LastModified)) return -1;\r\n return 0\r\n }\r\n else {\r\n if (new Date(rowA.LastModified) < new Date(rowB.LastModified)) return -1\r\n if (new Date(rowA.LastModified) > new Date(rowB.LastModified)) return 1;\r\n return 0\r\n }\r\n }\r\n },\r\n ];\r\n\r\n return (\r\n
\r\n setLog(true)}\r\n >\r\n Log\r\n \r\n\r\n setLog(!isLog)}>\r\n
\r\n
\r\n setLog(false)}\r\n >\r\n ×\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n {loading && ()}\r\n Force Fetch\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n ) : (\r\n \"No Data. Please Update...\"\r\n )\r\n }\r\n bodyClasses=\"clickable-table-row\"\r\n pagination={paginationFactory({\r\n sizePerPage: 5,\r\n hideSizePerPage: true,\r\n })}\r\n filter={filterFactory()}\r\n />\r\n \r\n
\r\n
\r\n
\r\n );\r\n}\r\n","import AlertMessage from \"components/Alert\";\r\nimport TButton from \"components/Inputs/TButton\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useParams, useHistory } from \"react-router-dom\";\r\nimport {useSelector} from \"react-redux\";\r\nimport {\r\n Container,\r\n Button,\r\n Col,\r\n Row,\r\n CardBody,\r\n Card,\r\n Modal,\r\n ModalHeader,\r\n ModalBody,\r\n ModalFooter,\r\n Spinner, Form,FormGroup, Input,Label,\r\n} from \"reactstrap\";\r\n\r\nimport BootstrapTable from \"react-bootstrap-table-next\";\r\nimport paginationFactory from \"react-bootstrap-table2-paginator\";\r\n\r\nimport { alertActions } from \"redux/_actions/\";\r\n\r\nimport WebAPI from \"services/WebAPI\";\r\nimport filterFactory, { textFilter } from \"react-bootstrap-table2-filter\";\r\nimport Logs from \"./logs\";\r\nimport moment from \"moment\";\r\n\r\nfunction DetailsRow({ title, value }) {\r\n return (\r\n \r\n \r\n {title}\r\n \r\n {value}\r\n \r\n );\r\n}\r\n\r\nfunction FolderProtectionList({ id = 0 }) {\r\n const [list, setList] = useState([]);\r\n const [isLoading, setLoading] = useState(false);\r\n useEffect(() => {\r\n setLoading(true);\r\n WebAPI.get(`Endpoints/FolderList/${id}`)\r\n .then(({ data: res }) => {\r\n if (res.status) setList(res.data);\r\n })\r\n .finally(() => setLoading(false));\r\n }, []);\r\n\r\n return (\r\n <>\r\n {(isLoading && (\r\n
\r\n \r\n
\r\n )) || (\r\n
\r\n \r\n Total : {list.length}\r\n \r\n \r\n \r\n ({ path: i }))}\r\n pagination={paginationFactory({\r\n sizePerPage: 5,\r\n hideSizePerPage: true,\r\n })}\r\n filter={filterFactory()}\r\n />\r\n \r\n \r\n
\r\n )}\r\n \r\n );\r\n}\r\n\r\nconst PopConfirm = ({ onOk, inProgress }) => {\r\n const [modal, SetModal] = useState(false);\r\n const [uninstall, setUninstall]= useState(true)\r\n const handleConfirm = () =>{\r\n //add new api for uninstall\r\n if (onOk) onOk(uninstall)\r\n SetModal(false)\r\n }\r\n\r\n return (\r\n <>\r\n SetModal(!modal)}\r\n >\r\n Retire\r\n \r\n SetModal(false)}>\r\n SetModal(false)}\r\n >\r\n Are you sure to continue?\r\n \r\n \r\n The endpoint will be retired as a result of this action.\r\n \r\n
\r\n \r\n setUninstall(!uninstall)}/>\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\nconst PopUpdate = ({ onOk, inProgress }) => {\r\n const [isUpdate, SetUpdate] = useState(false);\r\n\r\nconst handleConfirm = () =>{\r\n if (onOk) onOk()\r\n SetUpdate(false)\r\n}\r\n\r\nreturn (\r\n <>\r\n SetUpdate(!isUpdate)}>Force Update\r\n SetUpdate(false)}>\r\n SetUpdate(false)}\r\n >\r\n Are you sure to continue?\r\n \r\n \r\n The endpoint will be force updated as a result of this action.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n};\r\n\r\nexport default function Details() {\r\n const { id } = useParams();\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n const [details, setDetails] = useState({});\r\n const [isLog, setLog] = useState(false);\r\n\r\n const [folderProtectionModal, setFolderProtectionModel] = useState(false);\r\n\r\n const [loadingDetails, setLoadingDetails] = useState(false);\r\n\r\n const user = useSelector(store => store.authentication.user) \r\n \r\n useEffect(() => {\r\n getDetails();\r\n }, []);\r\n\r\n const getDetails = () => {\r\n dispatch(alertActions.clear());\r\n\r\n if (loadingDetails) return;\r\n setLoadingDetails(true);\r\n WebAPI.get(`/Endpoints/Details/${id}`)\r\n .then(({ data: res }) => {\r\n if (res.status) setDetails(res.data);\r\n else dispatch(alertActions.error(res.message));\r\n })\r\n .finally(() => setLoadingDetails(false));\r\n };\r\n\r\n const [refreshing, setRefreshing] = useState(false);\r\n const handleRefresh = () => {\r\n dispatch(alertActions.clear());\r\n if (refreshing) return;\r\n setRefreshing(true);\r\n WebAPI.post(`/Endpoints/Refresh/${id}`)\r\n .then(({ data: res }) => {\r\n if (res.status) getDetails();\r\n else dispatch(alertActions.error(\"Device not available\"));\r\n })\r\n .finally(() => setRefreshing(false));\r\n };\r\n\r\n const [isRetireProgress, setRetireProgress] = useState(false)\r\n const [isUpdateProgress, setUpdateProgress] = useState(false)\r\n\r\n const handleRetire = (uninstall) => {\r\n dispatch(alertActions.clear())\r\n if(isRetireProgress)\r\n return\r\n setRetireProgress(true)\r\n WebAPI\r\n .post(`/Endpoints/Retire/${id}?uninstall=${uninstall}`)\r\n .then(({ data: res }) => {\r\n if (res.status)\r\n history.go(-1)\r\n else\r\n dispatch(alertActions.error('Device not available'))\r\n })\r\n .finally(() => setRetireProgress(false))\r\n }\r\n\r\n const handleUpdate = () => {\r\n dispatch(alertActions.clear())\r\n if(isUpdateProgress)\r\n return\r\n setUpdateProgress(true)\r\n WebAPI\r\n .get(`UpgradeManager/TriggerForceUpdateClient?deviceId=${id}`)\r\n .then(({ data: res }) => {\r\n if (res.status)\r\n dispatch(alertActions.success('Force updated Sucessfully'))\r\n else\r\n dispatch(alertActions.error('Device not available'))\r\n setTimeout(() => {\r\n dispatch(alertActions.clear())\r\n }, 2500);\r\n })\r\n .finally(() => setUpdateProgress(false))\r\n }\r\n\r\n\r\n return (\r\n \r\n
\r\n history.go(-1)}\r\n >\r\n \r\n \r\n Endpoint Details\r\n
\r\n \r\n \r\n {isLog && (\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n

Summary

\r\n \r\n \r\n
\r\n \r\n {(user.role === \"partner\" || user.role === \"admin\") && (\r\n setLog(log)}\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 \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

Running Services

\r\n \r\n \r\n \r\n Refresh\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
\r\n \r\n \r\n

Agent Settings

\r\n \r\n \r\n \r\n history.push(`/endpoints/endpoint_settings/${id}`)\r\n }\r\n >\r\n Change\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 setFolderProtectionModel(true)}\r\n >\r\n Show\r\n \r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n setFolderProtectionModel(false)}\r\n UnmountOnClose\r\n >\r\n
\r\n setFolderProtectionModel(false)}\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 { useState, useEffect } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Button, Col, Container, Row, Spinner } from \"reactstrap\";\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport paginationFactory,\r\n{ PaginationProvider, SizePerPageDropdownStandalone, PaginationTotalStandalone, PaginationListStandalone }\r\n from 'react-bootstrap-table2-paginator';\r\nimport ToolkitProvider, { Search } from 'react-bootstrap-table2-toolkit';\r\n\r\nimport WebAPI from 'services/WebAPI'\r\n\r\nconst { SearchBar } = Search;\r\n\r\nconst UserList = () => {\r\n const [rowData, setRowData] = useState([]);\r\n const [loading, setLoading] = useState(false);\r\n\r\n let history = useHistory();\r\n\r\n useEffect(() => {\r\n if (loading)\r\n return\r\n setLoading(true)\r\n WebAPI\r\n .get('/Users/GetUsers')\r\n .then(({ data: res }) => {\r\n if (res.status)\r\n setRowData(res.data.map(row => ({\r\n ...row,\r\n Type: row.Customer === null ? row.Partner === null ? \"Admin\" : 'Partner' : 'Customer'\r\n })))\r\n })\r\n .finally(() => setLoading(false))\r\n }, []);\r\n\r\n\r\n const rowEvents = {\r\n onClick: (e, row, rowIndex) => {\r\n history.push(`/users/user_details/${row.Id}`)\r\n },\r\n };\r\n\r\n\r\n const columns = [{\r\n text: 'Type',\r\n sort: true,\r\n searchable: true,\r\n classes: 'common-table-column-style',\r\n headerStyle: { width: '120px' },\r\n dataField:'Type'\r\n }, {\r\n dataField: 'Email',\r\n text: 'Contact Email',\r\n classes: 'common-table-column-style',\r\n headerStyle: { width: '240px' },\r\n sort: true,\r\n searchable: true\r\n }, {\r\n text: 'Customer',\r\n dataField: 'Customer.FirstName',\r\n classes: 'common-table-column-style',\r\n formatter: (cellContent, row) => (\r\n \r\n ),\r\n sort: true,\r\n searchable: true\r\n }, {\r\n text: 'Partner',\r\n dataField: 'Partner.EntityName',\r\n classes: 'common-table-column-style',\r\n sort: true,\r\n searchable: true\r\n }, {\r\n dataField: 'TwoFactorEnabled',\r\n text: '2FA Enabled',\r\n classes: 'common-table-column-style',\r\n formatter: (cellContent, row) => (\r\n
\r\n \r\n
\r\n )\r\n }, {\r\n dataField: 'LockoutEnabled',\r\n text: 'Lockout Enabled',\r\n classes: 'common-table-column-style',\r\n formatter: (cellContent, row) => (\r\n
\r\n \r\n
\r\n )\r\n }, {\r\n dataField: 'AccessFailedCount',\r\n text: 'Failed Logins',\r\n classes: 'common-table-column-style',\r\n }];\r\n\r\n const paginationOptions = {\r\n custom: true,\r\n totalSize: rowData.length\r\n };\r\n\r\n return (\r\n \r\n
Users
\r\n \r\n
\r\n \r\n {props => (\r\n \r\n {\r\n ({\r\n paginationProps,\r\n paginationTableProps\r\n }) => (\r\n
\r\n \r\n \r\n Entries per page :\r\n \r\n\r\n \r\n \r\n \r\n history.push(\"/users/add_user/\")}\r\n >\r\n Add New User\r\n \r\n \r\n \r\n : \"No Data\"}\r\n headerWrapperClasses=\"table-header-light common-table-column-style\"\r\n bodyClasses=\"clickable-table-row\"\r\n {...props.baseProps}\r\n {...paginationTableProps}\r\n rowStyle={{\r\n //backgroundColor: '#fff',\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 \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default UserList;","import { useState, useEffect } from \"react\";\r\nimport { useParams, useHistory } from \"react-router-dom\";\r\nimport { Card, Col, Container, Row } from \"reactstrap\";\r\nimport { useDispatch } from 'react-redux'\r\nimport Button from 'components/Inputs/TButton'\r\nimport { alertActions } from 'redux/_actions/'\r\nimport AlertMessage from \"components/Alert\";\r\nimport WebAPI from 'services/WebAPI'\r\n\r\n\r\nconst UserDetails = () => {\r\n const [user, setUser] = useState({});\r\n\r\n let history = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n const { id } = useParams()\r\n\r\n useEffect(() => {\r\n getUser(id)\r\n }, [id]);\r\n\r\n const getUser = (id) => {\r\n WebAPI\r\n .get(`/Users/GetDetails/${id}`)\r\n .then(({ data: res }) => {\r\n if (res.status)\r\n setUser(res.data)\r\n else {\r\n setUser({})\r\n dispatch(alertActions.error(res.message))\r\n }\r\n })\r\n }\r\n\r\n const getUserType = (user) => {\r\n if (!user.Customer && !user.Partner)\r\n return 'Administrator'\r\n if (!user.Customer)\r\n return 'Partner'\r\n return 'Customer'\r\n }\r\n const [locking, setLocking] = useState(false);\r\n const [deleting, setDeleting] = useState(false);\r\n const [mfaSwitching, setMFASwitching] = useState(false);\r\n const handleLock = () => {\r\n if (locking)\r\n return;\r\n setLocking(true)\r\n WebAPI\r\n .post(`/Users/ToggleLock/${id}`)\r\n .then(() => getUser(id))\r\n .finally(() => setLocking(false))\r\n }\r\n\r\n const handleDelete = () => {\r\n if (deleting)\r\n return;\r\n setDeleting(true)\r\n WebAPI\r\n .post(`/Users/Delete/${id}`)\r\n .then(({ data: res }) => {\r\n if(res.status)\r\n history.push('/users')\r\n })\r\n .finally(() => setDeleting(false))\r\n }\r\n\r\n const handleMFASwitch = () => {\r\n if (mfaSwitching)\r\n return;\r\n setMFASwitching(true)\r\n WebAPI\r\n .post(`/Users/DisableMFA/${id}`)\r\n .then(() => getUser(id))\r\n .finally(() => setMFASwitching(false))\r\n }\r\n\r\n return (\r\n \r\n
\r\n history.push('/users')}\r\n >\r\n \r\n \r\n {user.Email}\r\n
\r\n \r\n \r\n
\r\n User Details\r\n
\r\n \r\n \r\n history.push(`/users/edit_user/${id}`)}\r\n >\r\n Edit Details\r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n

Email

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

{user.Email}

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

Type

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

{getUserType(user)}

\r\n \r\n
\r\n {getUserType(user) === \"Partner\" && (\r\n \r\n \r\n

Partner Name

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

\r\n {!user.Partner ? \"\" : user.Partner?.EntityName}\r\n

\r\n \r\n
\r\n )}\r\n\r\n {getUserType(user) === \"Customer\" && (\r\n \r\n \r\n

Customer Name

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

\r\n {user.Customer?.FirstName} {user.Customer?.LastName}\r\n

\r\n \r\n
\r\n )}\r\n\r\n \r\n \r\n

Two Factor Enabled

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

{user.TwoFactorEnabled ? \"Yes\" : \"No\"}

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

Access Failed Count

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

{user.AccessFailedCount}

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

Lockout Status

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

{!user.LockoutEnabled ? \"No\" : \"Locked\"}

\r\n \r\n
\r\n
\r\n handleLock()}\r\n isLoading= {locking}\r\n >\r\n {user.LockoutEnabled ? \"Unlock\" : 'Lock'}\r\n \r\n handleDelete()}\r\n isLoading= {deleting}\r\n >\r\n Delete\r\n \r\n handleMFASwitch()}\r\n isLoading= {mfaSwitching}\r\n >\r\n Remove MFA\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default UserDetails;","import { useEffect, useState } from \"react\";\r\nimport {\r\n Col,\r\n Row,\r\n Form,\r\n Input,\r\n Label,\r\n FormGroup,\r\n FormFeedback\r\n} from \"reactstrap\";\r\nimport validator from 'validator';\r\n\r\nimport Button from 'components/Inputs/TButton'\r\nimport AlertMessage from \"components/Alert\";\r\n\r\nimport WebAPI from 'services/WebAPI'\r\n\r\nconst getUserType = (user) => {\r\n if (!user.Customer && !user.Partner)\r\n return 'Administrator'\r\n if (!user.Customer)\r\n return 'Partner'\r\n return 'Customer'\r\n}\r\n\r\nconst UserForm = (props) => {\r\n const [allowed, setAllowed] = useState({ roles: [], customers: [], partners: [] })\r\n\r\n const [passwordScore, setPasswordScore] = useState(0)\r\n\r\n useEffect(() => {\r\n WebAPI.get('/Users/GetAllowedEntities')\r\n .then(({ data: res }) => {\r\n if (res.status) {\r\n setAllowed({ ...res.data })\r\n }\r\n })\r\n }, [])\r\n\r\n useEffect(() => {\r\n if (props.editMode) {\r\n const { user } = props\r\n setFormState({\r\n Role: getUserType(user),\r\n PartnerId: user.Partner?.PartnerId || null,\r\n CustomerId: user.Customer?.CustomerId || null,\r\n UserEmail: user.Email\r\n })\r\n }\r\n }, [props.user])\r\n const [formState, setFormState] = useState({\r\n Role: \"\",\r\n PartnerId: \"\",\r\n CustomerId: \"\",\r\n UserEmail: \"\",\r\n Password: \"\"\r\n });\r\n const [invalidFormState, setInvalidFormState] = useState({\r\n Role: false,\r\n PartnerId: false,\r\n CustomerId: false,\r\n UserEmail: false,\r\n Password: false\r\n });\r\n\r\n const handleSave = (e) => {\r\n let flag = 0\r\n e.preventDefault();\r\n if (!validator.isEmail(formState.UserEmail)) {\r\n invalidFormState['UserEmail'] = true;\r\n flag = 1\r\n }\r\n if (validator.isEmpty(formState.Role)) {\r\n invalidFormState['Role'] = true;\r\n flag = 1\r\n }\r\n if (!props.editMode && validator.isEmpty(formState.Password)) {\r\n invalidFormState['Password'] = true;\r\n flag = 1\r\n }\r\n if (formState.Role === 'Partner' && !formState.PartnerId){\r\n invalidFormState['PartnerId'] = true;\r\n flag = 1\r\n }\r\n\r\n if (formState.Role === 'Customer' && !formState.CustomerId){\r\n flag = 1\r\n invalidFormState['CustomerId'] = true;\r\n }\r\n\r\n setInvalidFormState({ ...invalidFormState })\r\n if (flag === 0) {\r\n formState.CustomerId = parseInt(formState.CustomerId) || null\r\n formState.PartnerId = parseInt(formState.PartnerId) || null\r\n props.shareFormData(formState)\r\n }\r\n\r\n }\r\n\r\n const handleFormValueChange = ({ target: { id, value } }) => {\r\n invalidFormState[id] = false\r\n formState[id] = value\r\n setFormState({ ...formState })\r\n setInvalidFormState({ ...invalidFormState })\r\n }\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {allowed.roles.map(r => )}\r\n \r\n Please select a user Role\r\n \r\n {formState.Role === \"Partner\" && (\r\n \r\n \r\n \r\n \r\n {allowed.partners.map(r => )}\r\n \r\n Please select a PartnerId\r\n \r\n )}\r\n\r\n {formState.Role === \"Customer\" && (\r\n\r\n \r\n \r\n \r\n \r\n {allowed.customers.map(r => )}\r\n \r\n Please select a CustomerId\r\n \r\n )}\r\n \r\n \r\n \r\n Please enter a valid UserEmail\r\n \r\n {\r\n props.editMode ? null :\r\n \r\n \r\n \r\n Please enter a strong Password. Current Score {passwordScore}\r\n \r\n }\r\n \r\n \r\n {props.editMode ? \"Save\" : \"Create\"}\r\n \r\n \r\n
\r\n )\r\n};\r\n\r\nexport default UserForm;","import { useEffect, useState } from \"react\";\r\nimport { useParams, useHistory } from \"react-router-dom\";\r\nimport { useDispatch } from 'react-redux'\r\nimport { alertActions } from 'redux/_actions/'\r\nimport WebAPI from 'services/WebAPI'\r\nimport { \r\n Col, \r\n Row, \r\n Card, \r\n Button,\r\n CardBody, \r\n Container\r\n} from \"reactstrap\";\r\nimport UserForm from \"./form\";\r\n\r\nconst UserAdd = () => {\r\n let history = useHistory();\r\n const [loading, setLoading] = useState(false);\r\n\r\n const dispatch = useDispatch();\r\n\r\n const saveUser = (data) => {\r\n\r\n if (loading)\r\n return\r\n setLoading(true)\r\n if(data.PartnerId === null)\r\n delete(data.PartnerId)\r\n if(data.CustomerId === null)\r\n delete(data.CustomerId)\r\n WebAPI\r\n .post(`/Users/Create`, data)\r\n .then(({ data: res }) => {\r\n if (res.status) {\r\n history.push('/users/user_details/' + res.data.Id)\r\n } else {\r\n dispatch(alertActions.error(res.message))\r\n }\r\n })\r\n .finally(() => setLoading(false))\r\n }\r\n\r\n\r\n return(\r\n <>\r\n \r\n
\r\n history.push('/users')}\r\n >\r\n \r\n \r\n Add User\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\r\nexport default UserAdd;","import { useEffect, useState } from \"react\";\r\nimport { useParams, useHistory } from \"react-router-dom\";\r\nimport { useDispatch } from 'react-redux'\r\nimport { alertActions } from 'redux/_actions/'\r\n\r\nimport WebAPI from 'services/WebAPI'\r\nimport {\r\n Col,\r\n Row,\r\n Card,\r\n Button,\r\n CardBody,\r\n Container\r\n} from \"reactstrap\";\r\nimport UserForm from \"./form\";\r\n\r\nconst UserEdit = () => {\r\n let history = useHistory();\r\n const { id } = useParams();\r\n const [user, setUser] = useState({});\r\n const [loading, setLoading] = useState(false);\r\n\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n getUser(id)\r\n }, [id]);\r\n\r\n const getUser = (id) => {\r\n WebAPI\r\n .get(`/Users/GetDetails/${id}`)\r\n .then(({ data: res }) => {\r\n if (res.status)\r\n setUser(res.data)\r\n else{\r\n setUser({})\r\n dispatch(alertActions.error(res.message))\r\n }\r\n })\r\n }\r\n const saveUser = (data) => {\r\n\r\n if (loading)\r\n return\r\n setLoading(true)\r\n if(data.PartnerId === null)\r\n delete(data.PartnerId)\r\n if(data.CustomerId === null)\r\n delete(data.CustomerId)\r\n WebAPI\r\n .post(`/Users/Edit/${id}`, data)\r\n .then(({ data: res }) => {\r\n if (res.status) {\r\n history.push('/users/user_details/' + id)\r\n } else {\r\n dispatch(alertActions.error(res.message))\r\n }\r\n })\r\n .finally(() => setLoading(false))\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
\r\n history.push(`/users/user_details/${id}`)}\r\n >\r\n \r\n \r\n Edit User\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\r\nexport default UserEdit;","import { useState, useEffect } from \"react\";\r\nimport { Container, FormGroup, Input, Label } from \"reactstrap\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport Button from \"components/Inputs/TButton\";\r\nimport AlertMessage from \"components/Alert\";\r\nimport validator from \"validator\";\r\n\r\nimport WebAPI from 'services/WebAPI'\r\nimport { alertActions } from \"redux/_actions\";\r\n\r\nexport default function Upload(props) {\r\n\r\n const [formData, setFormData] = useState({ type: 'alpha', version: '' })\r\n const [process, setProcess] = useState(false)\r\n\r\n const [channel, setChannel] = useState([])\r\n\r\n const dispatch = useDispatch()\r\n\r\n useEffect(() => {\r\n loadChannels();\r\n }, []);\r\n\r\n const loadChannels = () => {\r\n WebAPI.get(\"/UpgradeManager/FetchAllPackageChannels\")\r\n .then(({ data: res }) => {\r\n if (res.status) setChannel(res.result);\r\n })\r\n };\r\n\r\n\r\n const formChanged = (key, value) => {\r\n setFormData({ ...formData, [key]: value })\r\n }\r\n\r\n const formSubmit = (e) => {\r\n e.preventDefault()\r\n dispatch(alertActions.clear())\r\n\r\n if (process)\r\n return\r\n\r\n if (!validator.isSemVer(formData.version)) {\r\n dispatch(alertActions.error(\"Invalid version\"))\r\n return\r\n }\r\n if (validator.isEmpty(formData.type)) {\r\n dispatch(alertActions.error(\"Invalid Type\"))\r\n return\r\n }\r\n if (!formData.file) {\r\n dispatch(alertActions.error(\"Select valid file\"))\r\n return\r\n }\r\n\r\n setProcess(true)\r\n const data = new FormData()\r\n data.append('file', formData.file)\r\n data.append('version', formData.version)\r\n data.append('packageType', formData.type)\r\n\r\n WebAPI\r\n .post('/UpgradeManager/Create', data, {\r\n headers: {\r\n 'Content-Type': 'multipart/form-data'\r\n }\r\n })\r\n .then(({ data: res }) => {\r\n if (res.status){\r\n props.reload()\r\n }\r\n else\r\n dispatch(alertActions.error(res.message))\r\n })\r\n .finally(() => setProcess(false))\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n formChanged('file', e.target.files[0])}\r\n />\r\n \r\n \r\n \r\n formChanged('version', e.target.value)}\r\n />\r\n \r\n \r\n \r\n formChanged('type', e.target.value)}\r\n >\r\n {channel.map(i => )}\r\n \r\n \r\n \r\n \r\n Submit\r\n \r\n \r\n \r\n )\r\n}","import _ from \"lodash\";\r\nimport React, { useState, useEffect } from \"react\";\r\nimport {\r\n Modal,\r\n ModalHeader,\r\n Label,\r\n Input,\r\n Button,\r\n Table,\r\n ModalBody,\r\n} from \"reactstrap\";\r\nimport WebAPI from \"services/WebAPI\";\r\n\r\nexport default function Channel({ open, OnClose }) {\r\n const [row, setRow] = useState([]);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const [name, setName] = useState(\"\");\r\n const [prio, setPrio] = useState(null)\r\n const [isAdd, setAdd] = useState(false);\r\n\r\n useEffect(() => {\r\n loadChannels();\r\n }, []);\r\n\r\n const loadChannels = () => {\r\n setLoading(true);\r\n WebAPI.get(\"/UpgradeManager/FetchAllPackageChannels\")\r\n .then(({ data: res }) => {\r\n if (res.status) setRow(_.orderBy(res.result, 'Priority', 'desc'));\r\n })\r\n .finally(() => setLoading(false));\r\n };\r\n\r\n const addChannel = () => {\r\n setLoading(true);\r\n WebAPI.post(\"/UpgradeManager/AddorUpdatePackageChannel\", { Channel: name, Priority: parseInt(prio, 10) })\r\n .then(({ data: res }) => {\r\n if (res.status) loadChannels();\r\n })\r\n .finally(() => setLoading(false));\r\n setName(\"\");\r\n setPrio(null)\r\n };\r\n\r\n const deleteChannel = ({ PackageChannelId }) => {\r\n setLoading(true);\r\n WebAPI.post(\r\n \"/UpgradeManager/DeletePackageChannel?channelId=\" + PackageChannelId\r\n )\r\n .then(({ data: res }) => {\r\n if (res.status) loadChannels();\r\n })\r\n .finally(() => setLoading(false));\r\n };\r\n\r\n return (\r\n
\r\n \r\n Rollout Channels\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {row.map((i) => (\r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
Channel NamePriorityActions
{i.Channel}{i.Priority}\r\n {i.Channel!==\"stable\" && (\r\n deleteChannel(i)}\r\n >\r\n \r\n \r\n )} \r\n
\r\n {loading ? (\r\n \r\n ) : (\r\n
\r\n setAdd(!isAdd)}\r\n >\r\n {isAdd ? : }\r\n \r\n {isAdd && <>\r\n setName(e.target.value)}\r\n />\r\n setPrio(e.target.value)}\r\n />\r\n `${r.Priority}`).includes(prio)}\r\n onClick={addChannel}\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 _ from \"lodash\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport {\r\n Modal,\r\n ModalHeader,\r\n Label,\r\n Input,\r\n Button,\r\n FormGroup,\r\n Form,\r\n} from \"reactstrap\";\r\nimport WebAPI from \"services/WebAPI\";\r\n\r\nexport default function ChangeChannel({ open, OnClose, handleSave }) {\r\n const [row, setRow] = useState([]);\r\n const [channel, setChannel]= useState('')\r\n\r\n useEffect(() => {\r\n if(open){\r\n loadChannels();\r\n }\r\n }, [open]);\r\n\r\n const loadChannels = () => {\r\n WebAPI.get(\"/UpgradeManager/FetchAllPackageChannels\").then(\r\n ({ data: res }) => {\r\n if (res.status) setRow(_.sortBy(res.result,'Priority'));\r\n }\r\n );\r\n };\r\n\r\n const _handleSave = () => {\r\n if(open.Id && channel){\r\n handleSave(open.Id, channel)\r\n OnClose()\r\n }\r\n }\r\n\r\n return (\r\n
\r\n \r\n Change Channel\r\n
\r\n \r\n \r\n setChannel(e.target.value)} style={{width:250}} type=\"select\" name=\"select\" id=\"exampleSelect\">\r\n {row.map((i) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n );\r\n}\r\n","import PartnerList from \"screens/partner/list\";\r\nimport PartnerAdd from \"screens/partner/add\";\r\nimport PartnerEdit from \"screens/partner/edit\";\r\nimport PartnerCustomers from \"screens/partner/customers\";\r\nimport CustomerList from \"screens/customer/list\";\r\nimport CustomerListByPartner from \"screens/customer/list_partner\";\r\nimport CustomerAdd from \"screens/customer/add\";\r\nimport CustomerEdit from \"screens/customer/edit\";\r\nimport Login from \"screens/login\";\r\nimport ForegetPass from 'screens/login/forgot_password';\r\nimport Reset from 'screens/login/reset';\r\nimport ChangePartner from \"screens/partner/changePartner\";\r\nimport CustomerDetails from \"screens/customer/view\";\r\nimport LicenseAdd from \"screens/customer/license/add\";\r\nimport Preferences from \"screens/preferences\";\r\nimport ChangePassword from \"screens/preferences/change_password\";\r\nimport LogoUpload from \"screens/preferences/logo_upload\";\r\nimport { TwoFactorSettings } from \"screens/preferences/two_factor\";\r\nimport Reports from \"screens/reports\";\r\n\r\nimport Notification from 'screens/customer/notification'\r\nimport ReportSettings from 'screens/reports/reports/index'\r\nimport CustomerSettings from 'screens/customer/settings'\r\n\r\n\r\nimport EndpointList from \"screens/endpoints/list\";\r\nimport AttackList from \"screens/attacks\";\r\nimport EndpointListC from \"screens/endpoints/list_by_customer\";\r\nimport EndpointListL from \"screens/endpoints/list_by_license\";\r\nimport EndpointListP from \"screens/endpoints/list_by_partner\";\r\nimport EndpointDetails from \"screens/endpoints/Details\"\r\nimport { EndpointSettings } from \"screens/endpoints/Settings\";\r\nimport Landing from \"screens/Landing\";\r\n\r\n///\r\n\r\nimport UserList from \"screens/users/list\";\r\nimport UserDetails from \"screens/users/view\";\r\nimport UserAdd from \"screens/users/add\";\r\nimport UserEdit from \"screens/users/edit\";\r\nimport Version from \"screens/upgrades/Versions\";\r\nimport GlobalSettings from \"screens/others/global_settings\";\r\n//import Reporing from \"screens/reporting\";\r\n\r\nvar routes = [\r\n {\r\n path: \"/login\",\r\n component: Login,\r\n layout: \"/auth\",\r\n },\r\n {\r\n path: \"/forget_pass\",\r\n component: ForegetPass,\r\n layout: \"/auth\"\r\n },\r\n {\r\n path: \"/reset\",\r\n component: Reset,\r\n layout: \"/auth\"\r\n },\r\n // partners\r\n {\r\n path: \"/partners/\",\r\n component: PartnerList,\r\n layout: \"/admin\",\r\n // parent is for active left menu item\r\n parent: \"Partners\",\r\n // roles is for managing rbac of each page\r\n roles: [\"admin\"],\r\n },\r\n {\r\n path: \"/partners/edit_partner/:id\",\r\n component: PartnerEdit,\r\n layout: \"/admin\",\r\n parent: \"Partners\",\r\n roles: [\"admin\"],\r\n },\r\n {\r\n path: \"/partners/add_partner\",\r\n component: PartnerAdd,\r\n layout: \"/admin\",\r\n parent: \"Partners\",\r\n roles: [\"admin\"],\r\n },\r\n // ==>Validate following page<==\r\n {\r\n path: \"/Partner/PartnerCustomers\",\r\n component: PartnerCustomers,\r\n layout: \"/admin\",\r\n parent: \"Partners\",\r\n roles: [\"admin\"],\r\n },\r\n // ==>Validate following page<==\r\n {\r\n path: \"/Partner/PartnerChange/:id\",\r\n component: ChangePartner,\r\n layout: \"/admin\",\r\n parent: \"Partners\",\r\n roles: [\"admin\"],\r\n },\r\n {\r\n path: \"/partners/list_customers/:id\",\r\n component: CustomerListByPartner,\r\n layout: \"/admin\",\r\n parent: \"Partners\",\r\n roles: [\"admin\"],\r\n },\r\n // Customer\r\n {\r\n path: \"/customers\",\r\n component: CustomerList,\r\n layout: \"/admin\",\r\n parent: \"Customers\",\r\n roles: [\"admin\", \"partner\"],\r\n },\r\n {\r\n path: \"/customers/customer_details/:id\",\r\n component: CustomerDetails,\r\n layout: \"/admin\",\r\n parent: \"Customers\",\r\n roles: [\"admin\", \"partner\"],\r\n },\r\n {\r\n path: \"/customers/new_license/:id\",\r\n component: LicenseAdd,\r\n layout: \"/admin\",\r\n parent: \"Customers\",\r\n roles: [\"admin\", \"partner\"],\r\n },\r\n {\r\n path: \"/customers/add_customer\",\r\n component: CustomerAdd,\r\n layout: \"/admin\",\r\n parent: \"Customers\",\r\n roles: [\"admin\", \"partner\"],\r\n },\r\n {\r\n path: \"/customers/edit_customer/:id\",\r\n component: CustomerEdit,\r\n layout: \"/admin\",\r\n parent: \"Customers\",\r\n roles: [\"admin\", \"partner\"],\r\n },\r\n {\r\n path: \"/customers/notification_settings/:id\",\r\n component: Notification,\r\n layout: \"/admin\",\r\n parent: \"Customers\",\r\n roles: [\"admin\", \"partner\"],\r\n },\r\n {\r\n path: \"/customers/customer_settings/:id\",\r\n component: CustomerSettings,\r\n layout: \"/admin\",\r\n parent: \"Customers\",\r\n roles: [\"admin\", \"partner\"],\r\n },\r\n {\r\n path: \"/customers/global_agent_settings\",\r\n component: GlobalSettings,\r\n layout: \"/admin\",\r\n roles: [\"admin\"],\r\n },\r\n {\r\n path: \"/customers/list_endpoints/:id\",\r\n component: EndpointListC,\r\n layout: \"/admin\",\r\n parent: \"Customers\",\r\n roles: [\"admin\", \"partner\"],\r\n },\r\n {\r\n path: \"/customers/endpoints_under_license/:id\",\r\n component: EndpointListL,\r\n layout: \"/admin\",\r\n parent: \"Customers\",\r\n roles: [\"admin\", \"partner\"],\r\n },\r\n\r\n // Endpoints\r\n {\r\n path: \"/endpoints\",\r\n component: EndpointList,\r\n layout: \"/admin\",\r\n parent: \"Endpoints\",\r\n roles: [\"admin\", \"partner\", \"customer\"],\r\n },\r\n {\r\n path: \"/endpoints/endpoint_details/:id\",\r\n component: EndpointDetails,\r\n layout: \"/admin\",\r\n parent: \"Endpoints\",\r\n roles: [\"admin\", \"partner\", \"customer\"],\r\n },\r\n {\r\n path: \"/endpoints/endpoint_settings/:id\",\r\n component: EndpointSettings,\r\n layout: \"/admin\",\r\n parent: \"Endpoints\",\r\n roles: [\"admin\", \"partner\", \"customer\"],\r\n },\r\n // ==>Validate following page<==\r\n {\r\n path: \"/Endpoints/ListFromPartner/:id\",\r\n component: EndpointListP,\r\n layout: \"/admin\",\r\n parent: \"Partners\",\r\n roles: [\"admin\"],\r\n },\r\n\r\n // Profile\r\n {\r\n path: \"/preferences/change_password\",\r\n component: ChangePassword,\r\n layout: \"/admin\",\r\n roles: [\"admin\", \"partner\", \"customer\"],\r\n },\r\n {\r\n path: \"/preferences/change_2FA\",\r\n component: TwoFactorSettings,\r\n layout: '/admin',\r\n roles: [\"admin\", \"partner\", \"customer\"]\r\n },\r\n {\r\n path: '/preferences/logo_upload',\r\n component: LogoUpload,\r\n layout: '/admin',\r\n roles: [\"admin\", \"partner\"]\r\n },\r\n {\r\n path: '/preferences',\r\n component: Preferences,\r\n layout: \"/admin\",\r\n roles: [\"admin\", \"partner\", \"customer\"],\r\n },\r\n\r\n // Reports\r\n {\r\n path: \"/reports\",\r\n component: Reports,\r\n layout: \"/admin\",\r\n parent: \"Reports\",\r\n roles: [\"admin\", \"partner\"],\r\n },\r\n {\r\n path: \"/reports/report_settings\",\r\n component: ReportSettings,\r\n layout: \"/admin\",\r\n parent: \"Reports\",\r\n roles: [\"admin\", \"partner\"],\r\n },\r\n\r\n // Reporting\r\n/* {\r\n path: \"/reporting\",\r\n component: Reporing,\r\n layout: \"/admin\",\r\n parent: \"Reporting\",\r\n roles: [\"admin\", \"partner\"],\r\n }, */\r\n\r\n // Users\r\n\r\n {\r\n path: \"/users/user_details/:id\",\r\n component: UserDetails,\r\n layout: \"/admin\",\r\n parent: \"Users\",\r\n roles: [\"admin\", \"partner\", \"customer\"],\r\n },\r\n {\r\n path: \"/users/add_user\",\r\n component: UserAdd,\r\n layout: \"/admin\",\r\n parent: \"Users\",\r\n roles: [\"admin\", \"partner\", \"customer\"],\r\n },\r\n {\r\n path: \"/users/edit_user/:id\",\r\n component: UserEdit,\r\n layout: \"/admin\",\r\n parent: \"Users\",\r\n roles: [\"admin\", \"partner\", \"customer\"],\r\n },\r\n {\r\n path: \"/users\",\r\n component: UserList,\r\n layout: \"/admin\",\r\n parent: \"Users\",\r\n roles: [\"admin\", \"partner\", \"customer\"],\r\n },\r\n\r\n // Upgrades\r\n {\r\n path: \"/upgrade_manager\",\r\n component: Version,\r\n layout: \"/admin\",\r\n roles: [\"admin\"],\r\n },\r\n\r\n // Handle Landig\r\n {\r\n path: \"/\",\r\n component: Landing,\r\n layout: \"/admin\",\r\n },\r\n // Alerts\r\n {\r\n path: \"/alerts\",\r\n component: AttackList,\r\n layout: \"/admin\",\r\n parent: \"Alerts\",\r\n roles: [\"admin\", \"partner\", \"customer\"],\r\n },\r\n];\r\n\r\nexport default routes;\r\n","\r\nimport Configuration from 'components/Configuration'\r\nimport { useParams, useHistory } from 'react-router-dom'\r\n\r\nimport { Container,Button } from 'reactstrap'\r\n\r\nexport default function CustomerSettings() {\r\n const { id } = useParams()\r\n const history = useHistory()\r\n\r\n return (\r\n \r\n
\r\n history.go(-1)}\r\n >\r\n \r\n \r\n Agent Default Settings\r\n
\r\n \r\n
\r\n )\r\n\r\n}","import Configuration from 'components/Configuration'\r\nimport { useHistory } from 'react-router-dom'\r\n\r\nimport { Container, Button } from 'reactstrap'\r\n\r\nexport default function GlobalSettings() {\r\n const history = useHistory()\r\n\r\n return (\r\n \r\n
\r\n history.go(-1)}\r\n >\r\n \r\n \r\n Global Agent Settings\r\n
\r\n \r\n
\r\n )\r\n}","\r\nimport Configuration from 'components/Configuration'\r\nimport { useParams, useHistory } from 'react-router-dom'\r\n\r\nimport { Container,Button } from 'reactstrap'\r\n\r\nexport function EndpointSettings() {\r\n const { id } = useParams()\r\n const history = useHistory()\r\n\r\n return (\r\n \r\n
\r\n history.go(-1)}\r\n >\r\n \r\n \r\n Endpoint Settings\r\n
\r\n \r\n
\r\n )\r\n\r\n}","import { useState } from \"react\";\r\nimport validator from \"validator\";\r\nimport AlertMessage from \"components/Alert\";\r\nimport { Container, Row, Col, Card, CardBody } from \"reactstrap\";\r\nimport WebAPI from 'services/WebAPI'\r\nimport { Helmet } from \"react-helmet\";\r\n\r\nimport {\r\n Form,\r\n Input,\r\n Label,\r\n FormGroup,\r\n FormFeedback\r\n} from \"reactstrap\";\r\nimport Button from \"components/Inputs/TButton\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { alertActions } from \"redux/_actions\";\r\n\r\nexport default function ChangePassword() {\r\n\r\n const dispatch = useDispatch()\r\n\r\n const [formState, setFormState] = useState({\r\n OldPassword: \"\",\r\n NewPassword: \"\",\r\n ConfirmPassword: \"\",\r\n })\r\n\r\n const [isLoading, setIsLoading] = useState(false)\r\n\r\n const [invalidFormState, setInvalidFormState] = useState({\r\n OldPassword: false,\r\n NewPassword: false,\r\n ConfirmPassword: false,\r\n })\r\n\r\n const handleFormValueChange = ({ target: { id, value } }) => {\r\n invalidFormState[id] = false\r\n formState[id] = value\r\n setFormState({ ...formState })\r\n setInvalidFormState({ ...invalidFormState })\r\n }\r\n\r\n const handleSave = (e) => {\r\n e.preventDefault()\r\n let flag = false\r\n Object.entries(formState).forEach(([a, b]) => {\r\n if (validator.isEmpty(b)) {\r\n flag = true\r\n invalidFormState[a] = true\r\n setInvalidFormState({ ...invalidFormState })\r\n }\r\n })\r\n\r\n if (formState['ConfirmPassword'] !== formState['NewPassword']) {\r\n flag = true\r\n invalidFormState['ConfirmPassword'] = true\r\n setInvalidFormState({ ...invalidFormState })\r\n }\r\n\r\n if (!flag) {\r\n setIsLoading(true)\r\n WebAPI\r\n .post('Preferences/ChangePassword', formState)\r\n .then(result => {\r\n const { status, message } = result.data\r\n if (status)\r\n dispatch(alertActions.success(message))\r\n else\r\n dispatch(alertActions.error(message))\r\n })\r\n .catch(() => dispatch(alertActions.error('Error sending request.')))\r\n .finally(() => setIsLoading(false))\r\n }\r\n\r\n }\r\n\r\n return (\r\n \r\n
\r\n Change Password\r\n
\r\n \r\n \r\n {\"Change Password\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n Please enter a current password\r\n \r\n \r\n \r\n \r\n Please enter a password\r\n \r\n \r\n \r\n \r\n Password not matching\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 { Container, Row, Col, CardBody, Card, FormGroup, Input } from 'reactstrap'\r\nimport AlertMessage from 'components/Alert'\r\nimport Button from 'components/Inputs/TButton'\r\nimport { useEffect, useState } from 'react'\r\nimport { useHistory } from 'react-router-dom'\r\nimport QRCode from 'qrcode'\r\nimport WebAPI from 'services/WebAPI'\r\nimport { useDispatch } from 'react-redux'\r\nimport { Helmet } from 'react-helmet'\r\nimport { alertActions, userActions } from 'redux/_actions'\r\nimport { Spin } from \"antd\";\r\n\r\n\r\nexport function TwoFactorSettings() {\r\n\r\n const [isLoading, setIsLoading] = useState(false)\r\n\r\n const [enabled, setEnabled] = useState(false)\r\n const [verificationCode, setVerificationCode] = useState('')\r\n const [QRCodeURL, setQRCode] = useState('')\r\n\r\n const dispatch = useDispatch()\r\n const history = useHistory()\r\n\r\n useEffect(() => {\r\n loadTwoFactorStatus()\r\n }, [loadTwoFactorStatus])\r\n\r\n const loadTwoFactorStatus = () => {\r\n WebAPI\r\n .get('Preferences/GetTwoFactor')\r\n .then(result => {\r\n const { data: { status, data } } = result\r\n const { twoFactorStatus, qrCode } = data\r\n QRCode.toDataURL(qrCode).then(r => setQRCode(r))\r\n setEnabled(twoFactorStatus);\r\n })\r\n }\r\n\r\n const UpdateQrCode = () => {\r\n setQRCode('');\r\n WebAPI.get(\"Preferences/GetTwoFactor\").then((result) => {\r\n const {\r\n data: { status, data },\r\n } = result;\r\n const { qrCode } = data;\r\n QRCode.toDataURL(qrCode).then((r) => setQRCode(r));\r\n \r\n });\r\n };\r\n\r\n const onSubmit = () => {\r\n const submitModel = { Enabled: enabled, VerificationCode: verificationCode }\r\n setIsLoading(true)\r\n WebAPI.post('Preferences/SetTwoFactor', submitModel)\r\n .then(result => {\r\n const { data: { status, message } } = result\r\n if(status){\r\n dispatch(alertActions.success(message))\r\n userActions.getAndSetUser(dispatch) \r\n setTimeout(()=>{\r\n dispatch(alertActions.clear())\r\n history.push('/')\r\n },2000)\r\n }\r\n else\r\n dispatch(alertActions.error(message))\r\n })\r\n .catch(() => dispatch(alertActions.error('Network error')))\r\n .finally(()=>setIsLoading(false))\r\n }\r\n\r\n return (\r\n \r\n
Configure Multi-Factor Authenticator
\r\n \r\n {\"Two-Factor Authentication\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {enabled && (\r\n
\r\n

\r\n \r\n To use an authenticator app go through the following\r\n steps:\r\n \r\n

\r\n
    \r\n
  1. \r\n

    \r\n Download a two-factor authenticator app like Microsoft\r\n Authenticator for\r\n \r\n Android\r\n {\" \"}\r\n and\r\n \r\n iOS\r\n {\" \"}\r\n or Google Authenticator for\r\n \r\n Android\r\n {\" \"}\r\n and\r\n \r\n iOS\r\n \r\n .\r\n

    \r\n
  2. \r\n
  3. \r\n

    \r\n Scan the QR Code into your two factor authenticator app.\r\n Spaces and casing do not matter.\r\n

    \r\n {QRCodeURL ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
  4. \r\n
  5. \r\n

    \r\n Once you have scanned the QR code or input the key\r\n above, your two factor authentication app will provide\r\n you with a unique code. Enter the code in the\r\n confirmation box below.\r\n

    \r\n \r\n \r\n setVerificationCode(value)\r\n }\r\n />\r\n \r\n
  6. \r\n
\r\n
\r\n )}\r\n \r\n \r\n Update\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n}","import React, { useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport {\r\n Container,\r\n Row,\r\n Card,\r\n CardBody,\r\n Col,\r\n Button,\r\n ButtonGroup,\r\n Spinner,\r\n} from \"reactstrap\";\r\n\r\nimport CustomerReportSettings from './offlineReport'\r\nimport LicenseReport from \"./licenseReport\";\r\nimport EndpointSettingReport from \"./endpointSetting\";\r\n\r\nexport default function Reports() {\r\n const [offlineReport, setOfflinereport] = useState(true);\r\n const [endpointSettings, setEndpointSettings] = useState(false);\r\n const [licenseReport, setLicenseReport] = useState(false);\r\n\r\n const history= useHistory()\r\n\r\n const clearData = () => {\r\n setOfflinereport(false);\r\n setEndpointSettings(false);\r\n setLicenseReport(false);\r\n };\r\n return (\r\n \r\n
\r\n history.go(-1)}\r\n >\r\n \r\n \r\n Report Settings\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n clearData();\r\n setOfflinereport(true);\r\n }}\r\n >\r\n Endpoint Offline report\r\n \r\n {/* {\r\n clearData();\r\n setLicenseReport(true);\r\n }}\r\n >\r\n License Report\r\n \r\n {\r\n clearData();\r\n setEndpointSettings(true);\r\n }}\r\n >\r\n Endpoint Settings and Issues Report\r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {offlineReport&&(\r\n \r\n )}\r\n {licenseReport&&(\r\n \r\n )}\r\n {endpointSettings&&(\r\n \r\n )}\r\n
\r\n );\r\n}\r\n","import { Container, Row, Col, Spinner, Popover } from \"reactstrap\"\r\nimport Button from \"components/Inputs/TButton\";\r\nimport BootstrapTable from 'react-bootstrap-table-next';\r\nimport { useEffect, useState } from \"react\";\r\nimport WebAPI from 'services/WebAPI'\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Upload from './Upload'\r\nimport Channel from './channel'\r\nimport ChangeChannel from \"./changeChannel\";\r\n\r\n\r\nexport default function Version() {\r\n const history = useHistory()\r\n\r\n const [versions, setVersions] = useState([])\r\n const [isChange, setChange] =useState(null)\r\n const [loading, setLoading] = useState(false)\r\n useEffect(() => {\r\n loadVersions()\r\n }, [])\r\n\r\n const loadVersions = () => {\r\n setLoading(true)\r\n WebAPI.get('/UpgradeManager/Versions')\r\n .then(({ data: res }) => {\r\n if (res.status)\r\n setVersions(res.data)\r\n })\r\n .finally(() => setLoading(false))\r\n }\r\n const columns = (currentItem, deleting) => [\r\n {\r\n dataField: 'Version',\r\n text: 'Version',\r\n classes: 'common-table-column-style',\r\n },\r\n {\r\n dataField: 'Type',\r\n text: 'Channel',\r\n classes: 'common-table-column-style',\r\n formatter: (cell) => cell ? cell.charAt(0).toUpperCase() + cell.slice(1) : cell\r\n },\r\n {\r\n dataField: 'Id',\r\n isDummyField: true,\r\n formatter: (cell, row, rowId) => (\r\n
\r\n {setChange(row)}}\r\n isLoading={currentItem === row.Id && updating}\r\n >\r\n Change Channel\r\n \r\n handleDelete(row.Id)}\r\n isLoading={currentItem === row.Id && deleting}\r\n >\r\n Remove\r\n \r\n
\r\n )\r\n }\r\n ]\r\n\r\n\r\n const [uploadOpen, setUploadOpen] = useState(false)\r\n const [channelOpen, setChannelOpen] = useState(false)\r\n\r\n const [currentItem, setCurrentItem] = useState(0)\r\n const [deleting, setDeleting] = useState(false)\r\n\r\n const reload = () => {\r\n setUploadOpen(false)\r\n setCurrentItem(0)\r\n setVersions([])\r\n loadVersions()\r\n }\r\n const handleDelete = (id) => {\r\n if (deleting)\r\n return\r\n setDeleting(true)\r\n setCurrentItem(id)\r\n WebAPI\r\n .post('/UpgradeManager/Delete/' + id)\r\n .then(({ data: res }) => {\r\n if (res.status) {\r\n reload()\r\n }\r\n })\r\n .finally(() => setDeleting(false))\r\n }\r\n\r\n const [updating,setUpdating] = useState(false)\r\n const handleChange = (id, state) => {\r\n if (updating)\r\n return\r\n setUpdating(true)\r\n setCurrentItem(id)\r\n WebAPI\r\n .post('/UpgradeManager/ChangeState/' + id, { type : state})\r\n .then(({ data: res }) => {\r\n if (res.status) {\r\n reload()\r\n }\r\n })\r\n .finally(() => setUpdating(false))\r\n }\r\n\r\n\r\n return (\r\n \r\n
Versions
\r\n \r\n \r\n \r\n \r\n
\r\n setChannelOpen(true)}\r\n outline\r\n >\r\n Channels\r\n \r\n setUploadOpen(true)}\r\n color=\"primary\"\r\n >\r\n Upload\r\n \r\n
\r\n \r\n
\r\n \r\n : \"No Data\"}\r\n />\r\n \r\n \r\n
\r\n setUploadOpen(!uploadOpen)}\r\n >\r\n \r\n \r\n setChannelOpen(!channelOpen)} />\r\n {setChange(null)}} />\r\n
\r\n )\r\n}","import { useSelector } from \"react-redux\";\r\nimport { Redirect } from \"react-router-dom\";\r\n\r\nexport default function Landing() {\r\n const user = useSelector(store => store.authentication.user) || {}\r\n const { role } = user;\r\n switch (role) {\r\n case 'admin': return \r\n case 'parter': return \r\n default: return \r\n }\r\n}","/*eslint-disable*/\r\nimport { useEffect, useState } from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { NavLink as NavLinkRRD, Link } from \"react-router-dom\";\r\n// nodejs library to set properties for components\r\nimport { PropTypes } from \"prop-types\";\r\nimport _ from 'lodash'\r\nimport { Helmet } from \"react-helmet\";\r\n\r\n// reactstrap components\r\nimport {\r\n DropdownMenu,\r\n DropdownItem,\r\n UncontrolledDropdown,\r\n DropdownToggle,\r\n Media,\r\n NavbarBrand,\r\n Navbar,\r\n NavItem,\r\n NavLink,\r\n Nav,\r\n Container,\r\n Button\r\n} from \"reactstrap\";\r\n\r\nimport { getSideBarClass } from \"../../utils/getGlobalStyles\";\r\nimport menuBarItems from \"utils/getMenuBar\";\r\n\r\nimport routes from \"routes.js\";\r\n\r\n\r\nconst Sidebar = (props) => {\r\n const [collapseOpen, setCollapseOpen] = useState(localStorage.getItem('menuCollapse') === 'true' ? true : false);\r\n\r\n const { theme, role } = useSelector(state => state.authentication.user) || { theme: \"white\" }\r\n const [activeItem, setActive] = useState(null)\r\n const [title,setTitle]= useState('Canauri Portal')\r\n\r\n const { location } = props\r\n useEffect(()=>{\r\n getCurrentActive()\r\n },[location])\r\n\r\n const handleToggle = () => {\r\n setCollapseOpen(!collapseOpen)\r\n localStorage.setItem('menuCollapse', !collapseOpen ? 'true' : 'false')\r\n }\r\n\r\n const LinksForMenu = (routes) => {\r\n const children = []\r\n children.push(\r\n \r\n {\r\n e.preventDefault()\r\n handleToggle()\r\n }\r\n }\r\n style={{ cursor: 'pointer' }}\r\n >\r\n \r\n \r\n \r\n \r\n {collapseOpen ? \"Collapse\" : \"\"}\r\n \r\n \r\n )\r\n children.push(...createLinks(routes))\r\n children.push(\r\n \r\n \r\n \r\n \r\n \r\n \r\n {collapseOpen ? \"Resources\" : \"\"}\r\n \r\n \r\n )\r\n\r\n return children\r\n }\r\n\r\n // creates the links that appear in the left menu / Sidebar\r\n const createLinks = (routes) => {\r\n return routes.map((prop, key) => {\r\n return (
\r\n \r\n \r\n {title}\r\n \r\n \r\n \r\n setTitle(prop.name)}\r\n >\r\n {prop.icon}\r\n {collapseOpen ? prop.name : \"\"}\r\n \r\n \r\n
\r\n );\r\n });\r\n };\r\n \r\n /* need to change this logic - (added parent field in routes page) */\r\n\r\n const getCurrentActive = () => {\r\n const { location: { pathname } } = props\r\n const all_matches = []\r\n routes.forEach(({ path, parent }) => {\r\n if (pathname.includes(path.split(':')[0])) {\r\n all_matches.push({ path, parent })\r\n }\r\n });\r\n\r\n if (all_matches.length) {\r\n const best_match = _.maxBy(all_matches, (({ path }) => path.length))\r\n setActive(best_match.parent ? best_match.parent : null)\r\n }\r\n else {\r\n setActive(null)\r\n }\r\n }\r\n\r\n /* -------------------------- */\r\n\r\n const { bgColor, routes, logo } = props;\r\n let navbarBrandProps;\r\n if (logo && logo.innerLink) {\r\n navbarBrandProps = {\r\n to: logo.innerLink,\r\n tag: Link,\r\n };\r\n } else if (logo && logo.outterLink) {\r\n navbarBrandProps = {\r\n href: logo.outterLink,\r\n target: \"_blank\",\r\n };\r\n }\r\n\r\n return (\r\n \r\n \r\n {/* Brand */}\r\n {logo ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nSidebar.defaultProps = {\r\n routes: [{}],\r\n};\r\n\r\nSidebar.propTypes = {\r\n // links that will be displayed inside the component\r\n routes: PropTypes.arrayOf(PropTypes.object),\r\n logo: PropTypes.shape({\r\n // innerLink is for links that will direct the user within the app\r\n // it will be rendered as ... tag\r\n innerLink: PropTypes.string,\r\n // outterLink is for links that will direct the user outside the app\r\n // it will be rendered as simple ... tag\r\n outterLink: PropTypes.string,\r\n // the image src of the logo\r\n imgSrc: PropTypes.string.isRequired,\r\n // the alt for the img\r\n imgAlt: PropTypes.string.isRequired,\r\n }),\r\n};\r\n\r\nexport default Sidebar;\r\n","import React from \"react\";\r\nimport { Breadcrumb, BreadcrumbItem } from \"reactstrap\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport styles from \"./styles.module.scss\";\r\n\r\nfunction BreadCrumbNavigation() {\r\n const { pathname } = useLocation();\r\n const _path = pathname.split(\"/\").splice(1);\r\n\r\n // filtering id from url\r\n const special = [\r\n /^add_/,\r\n /^edit_/,\r\n /^list_/,\r\n /^new_/,\r\n /_details$/,\r\n /_settings$/,\r\n /endpoints_under_license/,\r\n ];\r\n const to_render = [];\r\n _path.every((path, i) => {\r\n to_render.push(path);\r\n return !special.map((r) => path.match(r)).filter((n) => n).length;\r\n });\r\n\r\n return (\r\n
\r\n \r\n \r\n Home\r\n \r\n {to_render.map((path, i) => (\r\n \r\n {path.replace(/_/g, \" \")}\r\n \r\n ))}\r\n \r\n
\r\n );\r\n}\r\n\r\nexport default BreadCrumbNavigation;\r\n","import React from \"react\";\r\nimport { useSelector } from \"react-redux\";\r\nimport { useLocation, Route, Switch, Redirect } from \"react-router-dom\";\r\nimport Helmet from \"react-helmet\";\r\n// core components\r\nimport AdminNavbar from \"components/Navbars/AdminNavbar.js\";\r\nimport Sidebar from \"components/Sidebar/Sidebar.js\";\r\nimport { Alert } from \"reactstrap\";\r\n\r\nimport routes from \"routes.js\";\r\nimport BreadCrumbNavigation from \"components/Breadcrumb\";\r\n\r\nconst Admin = (props) => {\r\n const mainContent = React.useRef(null);\r\n const location = useLocation();\r\n\r\n React.useEffect(() => {\r\n document.documentElement.scrollTop = 0;\r\n document.scrollingElement.scrollTop = 0;\r\n mainContent.current.scrollTop = 0;\r\n }, [location]);\r\n\r\n const {\r\n theme = \"white\",\r\n twoFactorActive,\r\n role = \"customer\",\r\n } = useSelector((state) => state.authentication.user) || {\r\n theme: \"white\",\r\n role: \"customer\",\r\n };\r\n\r\n const getRoutes = (routes) => {\r\n return routes.map((prop, key) => {\r\n if (\r\n prop.layout === \"/admin\" &&\r\n ((prop.roles && prop.roles.includes(role)) || !prop.roles)\r\n ) {\r\n return ;\r\n } else {\r\n return null;\r\n }\r\n });\r\n };\r\n\r\n const getBrandText = (path) => {\r\n for (let i = 0; i < routes.length; i++) {\r\n if (\r\n props.location.pathname.indexOf(routes[i].layout + routes[i].path) !==\r\n -1\r\n ) {\r\n return routes[i].name;\r\n }\r\n }\r\n return \"Brand\";\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n
\r\n {!twoFactorActive && (\r\n
\r\n \r\n You have not enabled multi-factor authentication for your\r\n account. Please enable the 2FA to access the portal\r\n \r\n
\r\n )}\r\n
\r\n \r\n {getRoutes(routes)}\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Admin;\r\n","export default __webpack_public_path__ + \"static/media/dark.32abdf63.png\";","import React from \"react\";\r\nimport { Redirect, Route, Switch, useLocation } from \"react-router-dom\";\r\nimport { useSelector } from \"react-redux\";\r\n\r\nimport styled from \"styled-components\";\r\n\r\nimport routes from \"routes.js\";\r\nimport { Spinner } from \"reactstrap\";\r\n\r\nimport Logo from '../assets/img/brand/dark.png'\r\n\r\nconst LoginContainer = styled.div`\r\n width: 360px;\r\n margin: 7% auto;\r\n background: #fff;\r\n padding: 20px;\r\n border-top: 0;\r\n color: #666;\r\n`\r\n\r\n\r\nconst Auth = (props) => {\r\n\r\n const authStore = useSelector(store => store.authentication)\r\n\r\n const isAuthenticated = authStore.loggedIn\r\n\r\n const location = useLocation()\r\n if (isAuthenticated) {\r\n const next_url = new URLSearchParams(location.search).get('next_url') || '/'\r\n return \r\n }\r\n\r\n const getRoutes = (routes) => {\r\n const _routes = [];\r\n routes.forEach((prop, key) => {\r\n if (prop.layout === \"/auth\")\r\n _routes.push(\r\n \r\n );\r\n });\r\n return _routes;\r\n };\r\n\r\n return (\r\n <>\r\n
\r\n \r\n \r\n
\r\n {authStore.firstLoad && (\r\n
\r\n \r\n
\r\n ) || (\r\n \r\n {getRoutes(routes)}\r\n \r\n )}\r\n
\r\n\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Auth;\r\n","import { Redirect, useHistory } from \"react-router-dom\"\r\n\r\nimport { useSelector } from 'react-redux'\r\n\r\nfunction RequireAuth({ children }) {\r\n const isAuthenticated = useSelector(store => store.authentication.loggedIn)\r\n const history = useHistory()\r\n const nextUrl = encodeURIComponent(history.location.pathname)\r\n return isAuthenticated === true\r\n ? children : ;\r\n}\r\n\r\nexport default RequireAuth","\r\nimport Configuration from \"components/Configuration\"\r\n\r\nimport WebAPI from 'services/WebAPI'\r\nimport { useEffect } from 'react'\r\n\r\n\r\nexport default function TestPage(props) {\r\n\r\n useEffect(() => {\r\n WebAPI\r\n .get('/Users/GetUsers')\r\n .then(r=>console.log(r.data))\r\n }, [])\r\n\r\n return (\r\n \"Testing\"\r\n )\r\n}","import { Redirect, useHistory } from \"react-router-dom\"\r\n\r\nimport { useSelector } from 'react-redux'\r\n\r\nfunction Require2FA({ children }) {\r\n const { twoFactorActive } = useSelector(store => store.authentication.user)\r\n const history = useHistory()\r\n return twoFactorActive || history.location.pathname === '/preferences/change_2FA'\r\n ? children : ;\r\n}\r\n\r\nexport default Require2FA","import React, { useEffect } from 'react';\r\nimport { HashRouter as Router, Route, Switch } from 'react-router-dom';\r\nimport { useDispatch, useSelector } from 'react-redux';\r\nimport { createBrowserHistory } from 'history';\r\n\r\nimport { IntercomProvider, useIntercom } from 'react-use-intercom';\r\n\r\nimport AdminLayout from 'layouts/Admin'\r\nimport AuthLayout from 'layouts/Auth'\r\nimport { alertActions, userActions } from './redux/_actions';\r\nimport RequireAuth from 'helpers/requireauth';\r\nimport TestPage from 'screens/test';\r\nimport Require2FA from 'helpers/Require2FA';\r\n\r\n\r\nconst INTERCOM_APP_ID = 'lf2jzawl';\r\n\r\nconst IntercomMask = ({ children }) => {\r\n const { boot, shutdown } = useIntercom()\r\n const user = useSelector(store => store.authentication.user)\r\n\r\n useEffect(() => {\r\n bootOrClose()\r\n }, [user])\r\n\r\n const bootOrClose = () => {\r\n if (user) {\r\n boot({\r\n appId: INTERCOM_APP_ID,\r\n email: user.email\r\n })\r\n } else {\r\n shutdown()\r\n }\r\n\r\n }\r\n\r\n return children\r\n}\r\n\r\nconst IntercomWrapper = ({ children }) => {\r\n return (\r\n \r\n {children}\r\n \r\n )\r\n}\r\n\r\n\r\n\r\nconst history = createBrowserHistory()\r\n\r\nfunction App() {\r\n const dispatch = useDispatch();\r\n\r\n useEffect(() => {\r\n history.listen((location, action) => {\r\n dispatch(alertActions.clear());\r\n });\r\n }, [dispatch])\r\n\r\n useEffect(() => {\r\n userActions.getAndSetUser(dispatch)\r\n /*\r\n setInterval(() => {\r\n userActions.getAndSetUser(dispatch)\r\n }, 5 * 1000);\r\n */\r\n }, [dispatch])\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\nexport { App };","import React from \"react\";\r\nimport ReactDOM from \"react-dom\";\r\nimport { Provider } from 'react-redux';\r\n\r\nimport { createStore, applyMiddleware } from 'redux';\r\nimport thunkMiddleware from 'redux-thunk';\r\nimport { createLogger } from 'redux-logger';\r\nimport rootReducer from './redux/_reducers';\r\n\r\nimport { App } from \"./app\";\r\n\r\nimport \"assets/plugins/nucleo/css/nucleo.css\";\r\nimport \"@fortawesome/fontawesome-free/css/all.min.css\";\r\nimport \"bootstrap-icons/font/bootstrap-icons.css\";\r\nimport \"assets/scss/argon-dashboard-react.scss\";\r\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\r\n\r\nconst loggerMiddleware = createLogger();\r\n\r\nexport const store = createStore(\r\n rootReducer,\r\n applyMiddleware(\r\n thunkMiddleware,\r\n loggerMiddleware\r\n )\r\n);\r\n\r\nReactDOM.render(\r\n \r\n \r\n ,\r\n document.getElementById(\"root\")\r\n);\r\n"],"sourceRoot":""}