{"version":3,"sources":["redux/types.js","images/things-logo.png","redux/security.js","panel/Dashboard/actionType.js","panel/loginAction.js","panel/ImageStream/actionTypes.js","Components/Alarm.js","Components/Alarmtable.js","Components/alarmFeed.js","panel/Dashboard.js","library/utils.js","Components/Loader.js","constants/selectableconstants.js","library/Constants.js","Components/modal/flashNotification.js","Components/chart/linebar.js","constants/api.js","landing_page/Footer.js","landing_page/Header.js","landing_page/client.js","landing_page/Landingpage.js","images/epsumThings Logo.png","LandingPage/Navbar.js","LandingPage/Footer.js","images/privacy.jpg","LandingPage/p&p.js","Components/chart/donutchart.js","Components/chart/barchart.js","panel/Analytics/component/AnalyticsKPIDetails.js","App.js","serviceWorker.js","redux/reducer/userReducer.js","redux/reducer/thingsReducer.js","redux/reducer/projectsReducer.js","redux/reducer/irReducer.js","redux/reducer/cameraReducer.js","redux/reducer/uiReducer.js","redux/reducer/webhooks.js","redux/reducer/processReducer.js","redux/reducer/scopeReducer.js","redux/reducer/permissionReducer.js","redux/reducer/groupReducer.js","redux/reducer/rolesReducer.js","panel/ImageStream/reducer.js","redux/reducer/packageReducer.js","panel/Dashboard/reducer.js","redux/reducer/index.js","index.js","redux/action/uiAction.js"],"names":["LOGIN","LOGOUT","PROJECTS","PROFILE_UPDATE","ACCESS_TOKEN","THINGS_LIST","PROJECTS_LIST","PROCESS_LIST","SCOPE_LIST","IR_REMOTES_LIST","CAMERA_LIST","WEBHOOKS_LIST","GROUP_LIST","ROLES_LIST","FLASH_NOTIFICATION","PERMISSION_LIST","ROLE_PERMISSION_LIST","PROFILE_DATA","ORGANIZATION_USER_LIST","USER_GROUP_LIST","GROUP_ROLES_LIST","THING_ALARM_LIST","ACCOUNT_NO","SELECTED_PACKAGE_DETAILS","SELECTED_ADDON_LIST","SELECTED_ADDON_DETAILS_LIST","CLEAR_CART","SELECTED_PAGE_NO","SELECTED_PAGE_NO_OF_PROJECTS","SELECTED_PAGE_NO_OF_WEBHOOK","bb64encod","password","b64encoded","btoa","utf8","unescape","encodeURIComponent","arr2","i","length","push","charCodeAt","a","Uint8Array","String","fromCharCode","apply","DASHBOARD_THING","DASHBOARD_COMPONENT","getAccessToken","email","history","myHeaders","Headers","append","dispatch","fetch","baseurl","method","headers","then","response","json","result","status","setUserDataToStorage","data","access_token","type","payload","username","name","timezone","setFlashNotification","msg","NOTIFICATION_COLOUR","SUCCESS","alert","catch","error","getProfileDetail","accessToken","getProfileData","responseFailed","responseError","setThingAlarmList","list","IMAGE_STREAM_LIST","IMAGE_STREAM_DATA","Alarmsred","Component","render","className","Alarmgreen","Alarmyellow","Alarm","style","marginTop","alarmsTable_rows","map","row","color","alarm_name","Alarmfeed","constructor","super","this","state","checked","handleChange","bind","avtarClick","popupVisible","e","setState","prevState","preventDefault","ref","node","Grid","container","mainTheme","createMuiTheme","palette","useStyles","makeStyles","theme","root","display","appBar","height","zIndex","drawer","transition","transitions","create","easing","sharp","duration","leavingScreen","appBarShift","width","enteringScreen","menuButton","marginRight","hide","drawerHeader","alignItems","padding","spacing","mixins","toolbar","justifyContent","backgroundColor","flexShrink","whiteSpace","drawerOpen","drawerClose","overflowX","breakpoints","up","content","flexGrow","zeroPaddingContent","useStyle","background","paper","nested","paddingLeft","nestedd","ne_stedd","connect","store","token","profileData","userReducer","userData","thingAlarmList","logout","populate_project","projects","props","classes","showAlert","changeShowAlertState","React","useState","open","setOpen","open_project_actions","set_open_project_actions","projects_expansion","setProjectsExpansion","setProjects","useHistory","classess","setOpenn","open_n","set_Open","open_nn","set_Openn","expand","set_expand","gps_reports","setGps_reports","groups_status","setGroups_status","user_thing_list","setUser_thing_list","id","setId","setoPen","useEffect","Object","keys","myList","getUserWiseThingList","success","console","log","listNProjects","successResponse","window","Notification","permission","requestPermission","ws","WebSocket","ws_baseurl","onmessage","event","json_message","JSON","parse","json_message_data","message","title","things","item","index","my_index","alarm","checkExistAlarm","project_id","project_name","thing_name","thing_id","pin","alarm_type","toUpperCase","value","body","onopen","failure","anchorEl","setAnchorEl","handleClose","CssBaseline","AppBar","position","clsx","Toolbar","IconButton","onClick","edge","to","Typography","variant","noWrap","currentTarget","keepMounted","Boolean","onClose","MenuItem","localStorage","removeItem","Drawer","List","ListItem","button","ListItemIcon","ListItemText","primary","Divider","Collapse","in","timeout","unmountOnExit","component","disablePadding","project","Fragment","expansion_state","handleProjectExpansion","GamesTwoTone","undefined","organisation","flashColor","zeroPad","contentShift","children","setItem","stringify","distance","lat1","lat2","lon1","lon2","Math","PI","dlon","dlat","pow","sin","cos","asin","sqrt","getTimeDifference","startDate","endDate","Date","getTime","validateSpeed","time","maxmSpeed","handleDatalogCoordinate","returnedData","key","filter","xaxis","mapDatatoCoordiante","useGPSKey","coordianate","lat","GPS","lng","mapCoordinateToArray","coordianateArray","removeArrayElementByIndex","array","splice","updateLatLngArrayByIndex","myArrya","formatDate","date","d","month","getMonth","day","getDate","year","getFullYear","join","getFormatedDateAndTime","dateTime","toDateString","toLocaleTimeString","validateEmail","mail","test","validateUsername","validatePassword","validatePhoneNumber","number","validateName","validate","n","indexOf","charAt","getProjectName","dataList","x","y","Set","getThingsCount","projectId","getDatalogs","gps","handleTotalDistance","arr","values","j","sum","parseInt","ResponsiveDialog","componentDidMount","marginLeft","marginBottom","loading","borderRadius","src","Logo","alt","units","param_types","activityLogs","log_id","log_name","log_time","log_role","log_company","log_detail","userTable","user_id","user_name","user_time","role","company","detail","thingTable","desc","unit","min","max","proTable","pro_id","pro_name","pro_desc","created","updated","schema_header","schemaTable","schema_id","schema_name","addedon","schemaTable_rows","alarmsTable","ProjectshortcutTable","project_path","videoTable","video_link","video_desc","latTable","latitude","longitude","appTable","app_id","app_name","country","code","gpstypes","distance_reports","GOOGLE_MAP_URL","FlashNotification","flashNotification","visibility","autoHideDuration","ResetFlashNotification","severity","sx","uiReducer","unsetFlashNotification","avg","Linechart","margin","top","right","bottom","left","stroke","dataKey","fill","barSize","process","SCADA_HOST","api","user","user_register","user_profile","user_logs","org","org_user","project_user","things_datalog","things_schema","camera_list","verify","camera","webhooks","profile","datalog_export","WARNING","INFO","DANGER","DEFAULT_DATA","count","next","previous","results","RESPONSE_TYPE","fetchApi","url","successCallback","failureCallback","errorCallback","responseType","options","blob","responseJson","apiErrorHandler","includes","RESPONSE_CODE","errorCallBack","statusText","getApiErrorMessage","getGroups","org_id","assignGroupsToUser","deleteGroupUser","getAssignGroupsUser","search","setProperties","deleteProperties","confirm","updateProperties","updateGroups","getProperties","getAlarmsThingWise","postGroups","deleteGroups","getUserProfile","createProject","project_desc","deleteProject","updateProject","listProjects","pageNumber","searchlistProjects","listProjectsWithSearch","searchText","project_count","listCameras","listThings","pagecount","registerThing","thingname","thingid","schema","description","transfer","register_thing_payload","regenerateImageStream","imagestream_id","deleteProjectThing","thingId","updateThing","transfer_status","getThingDetails","getThingDatalog","from_date","to_date","createCamera","camera_name","camera_desc","camera_type","local_url","modifyCamera","camera_id","deleteCamera","createTrend","yaxis","getTrends","getTrendData","trend_id","from","deleteTrend","createAlarm","alarm_desc","alarm_status","thing_pin","h","hh","l","ll","getAlarms","deleteAlarm","alarm_id","modifyAlarm","modifyUserProfile","phone","updateUserPassword","oldpassword","newpassword","old_password","new_password","getUserLogs","pageNo","createApp","scopes","getAllScopes","getAppsList","revokeApp","appid","getIRBlasters","deleteIRBlasters","irblaster_id","registerIRBlaster","irblaster_name","irblaster_desc","updateIRBlaster","createWebHook","webhooks_type","end_point","header","extra","getWebHook","webhooks_id","updateWebHook","deleteWebHook","controlThing","forgotPassword","resetPassword","saveFencingData","coordinates_list","fencing_name","updateFencingData","requestBody","fetchFencing","deleteFencing","fetchFencingAlerts","fromDate","toDate","dashboard","listAvailablePermission","listAvailableGroup","organisation_Id","createGroup","modifyGroup","group_id","removeGroup","listAvailableRoles","createRoles","modifyRoles","role_id","removeRoles","fetchRolePermissions","makeRolePermission","permission_id","removeRolePermission","role_permission_id","listImageStream","createImageStream","imageStreamData","listWebScada","createWebScadaView","webScadaData","deleteWebScadaView","scadaId","webScadaDetail","updateWebScadaView","makeRoleGroup","deleteImageStream","imageStreamId","updateImageStream","frequency","preview_number","storage_period","imageStreamDetail","listAvailableUsers","getAllUserGroup","deleteUserGroup","group_user_id","createUserGroup","getAllGroupRoles","deleteGroupRole","role_group_id","createOrgUser","userObject","getOrgUsers","removeUserFromOrg","transferThingToInternalProject","transferThingToExternalProject","createDashboard","createAnalyticsKPI","listDashboards","listKPIs","KPIDetails","kpiId","deleteDashboard","dashboard_id","deleteAnalytics","KPI_id","editDashboard","saveDashboardLayout","ui_config","editedAnalytics","getDashboard","listWidgetTypes","addWidget","str_rep","getCameraDetails","Authorization","removeWidget","widget_id","listDashboardShareKeys","generateDashboardShareKey","ttl","deleteDashboardShareKey","share_key_id","displayAllPackages","checkBillingAccount","createBillingAccount","fetchSubscription","fetchAddOnFeatures","fetchPackageFeatures","package_id","billingSubscription","subscription_data","subscriptionHistory","account_number","purchaseExtraAddon","addon_data","getAlarmHistory","start_date","end_date","acknowledgeAlarmLog","userProfileIntegration","profileMail","userProfileUnlink","profileType","userLinkedStatus","subscriptionCancel","subscriptionData","updateAppSecretKey","appId","updateAppName","appName","setThingProperty","propertyData","getCMSContent","getWelcomePageDetails","resources","getalaramgroupsubgroup","pid","gid","getThingGPS_Details","ITEM_PER_PAGE_LIST","DEFAULT_PAGE_NUMBER","Footer","Navigation","expanded","show","contactNo","subject","designation","partnerStatus","handleAboutClick","scrollToAbout","handleServiceClick","scrollToService","handleVideoClick","scrollToVideo","handleContactClick","scrollToContact","handleInputChange","target","handleFormSubmit","href","paddingTop","paddingBottom","cursor","Modal","onHide","Header","closeButton","Title","Body","aspectRatio","Form","onSubmit","Group","controlId","Label","Control","placeholder","required","onChange","containerStyle","inputStyle","enableSearch","defaultValue","as","rows","Button","border","Navbar","onToggle","bg","Brand","Link","Toggle","Nav","NavDropdown","Item","client","charSet","httpEquiv","dangerouslySetInnerHTML","__html","fontSize","Landingpage","aboutRef","current","scrollIntoView","behavior","serviceRef","VideoRef","ContactRef","createRef","fontFamily","controls","muted","autoPlay","preLoad","loop","textAlign","backgroundImage","backgroundSize","overflowY","NavbarPage","isOpen","toggleCollapse","ClassName","PrivacyPolicy","privacyimg","lg","md","sm","xs","DoNutChart","PureComponent","isAnimationActive","piechartData","cx","cy","getIntroOfPage","label","CustomTooltip","active","BarGraph","strokeDasharray","xTag","yTag","barChartData","uv","pv","amt","charts","AnalyticsKPIDetails","fetchKPIDetails","thing_loading","match","params","kpi_id","_renderToolbar","float","ButtonGroup","size","addWidgetDialog","_addWidgetDialogLoading","shareDialog","fetchThingList","addKPI","thing","today","yesterday","yesterday_date","thingSchemaData","thing_schema","failureResponse","errorResponse","dashboard_name","dashboard_widgets","thingSearch","thing_list","projects_loading","selected_project","widget_types","selected_widget_type","widget_values","selected_value","layout","KPIType","variable","fetchWidgetTypes","_renderAddWidgetDialog","Dialog","fullWidth","DialogTitle","DialogContent","flexDirection","marginBlock","fontWeight","Autocomplete","filterOptions","createFilterOptions","matchFrom","option","newValue","selectedThing","onInputChange","autoHighlight","getOptionLabel","renderOption","renderInput","TextField","inputProps","autoComplete","Tooltip","Info","DialogActions","autoFocus","showCharts","trendName","toLocaleDateString","Loader","xl","w","Group_Subgroup","lazy","BulkInsert","Advance_GPS_History","Advance_GPS_Reports","DistanceReport","StatusReport","TravelSummaryReport","AssignUser_Group","Profile","Logs","AlarmLog","Analytics","Users","UserRole","IRRemote","IRRemotes","Camera","Webhooks","Thing","Project","Schema","Project_1","Things","Apps","Trends","Trend","Register","Error","Login","Welcome","AccessControl","ResetPassword","ImageStream","ImageStreamDetails","WebScada","WebScadaView","Dashboard","DashboardDetails","DashboardShared","Upgrade","Package","Integration","AddOnFeatures","BillingSummary","BillingAccount","AllProperties","DashboardAdvance","HistoryMap","App","fallback","exact","path","LandingPage","location","hostname","initialState","organisationUserList","userGroupList","organisationUserCount","action","thingList","selected_page_no","thingsReducer","projectList","project_selected_page_no","projectsReducer","irRemotesList","irReducer","cameraList","cameraCount","cameraReducer","webHooksList","webHookCount","webhooks_selected_page_no","WebhooksReducer","processList","process_id","process_name","processReducer","scopeList","scopeReducer","permissionList","rolePermissionList","permissionReducer","groupList","groupRolesList","groupCount","groupReducer","rolesList","roleCount","rolesReducer","imageStreamList","imageStreamReducer","Types","billing_account_no","selected_package_details","selected_addon_list","selected_addon_details_list","packageReducer","dashboardThing","dashboardComponent","thingDashboard","rootReducer","combineReducers","persistedState","serializedState","getItem","loadStoreFromLocalStorage","composeEnhancers","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","compose","createStore","applyMiddleware","thunk","subscribe","saveToLocalStorage","getState","ReactDOM","document","getElementById","navigator","serviceWorker","ready","registration","unregister"],"mappings":"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","file":"static/js/main.d6125ae3.chunk.js","sourcesContent":["const LOGIN = \"LOGIN\";\r\nconst LOGOUT = \"LOGOUT\";\r\nconst PROJECTS = \"PROJECTS\"\r\nconst PROFILE_UPDATE = 'PROFILE_UPDATE'\r\nexport const USER_DATA = 'USER_DATA'\r\nexport const ACCESS_TOKEN = 'ACCESS_TOKEN'\r\nexport const THINGS_LIST = 'THINGS_LIST'\r\nexport const PROJECTS_LIST = 'PROJECTS_LIST'\r\nexport const PROCESS_LIST = 'PROCESS_LIST'\r\nexport const SCOPE_LIST = 'SCOPE_LIST'\r\nexport const IR_REMOTES_LIST = 'IR_REMOTES_LIST'\r\nexport const CAMERA_LIST = 'CAMERA_LIST'\r\nexport const WEBHOOKS_LIST = 'WEBHOOKS_LIST'\r\nexport const GROUP_LIST = 'GROUP_LIST'\r\nexport const ROLES_LIST = 'ROLES_LIST'\r\nexport const LOADING_START = 'LOADING_START'\r\nexport const LOADING_END = 'LOADING_END'\r\nexport const FLASH_NOTIFICATION = 'FLASH_NOTIFICATION'\r\nexport const HIDE_FLASH_NOTIFICATION = 'HIDE_FLASH_NOTIFICATION'\r\nexport { LOGIN, LOGOUT, PROJECTS, PROFILE_UPDATE };\r\nexport const PERMISSION_LIST = 'PERMISSION_LIST';\r\nexport const ROLE_PERMISSION_LIST = 'ROLE_PERMISSION_LIST';\r\nexport const PROFILE_DATA = 'PROFILE_DATA';\r\nexport const ORGANIZATION_USER_LIST = 'ORGANIZATION_USER_LIST';\r\nexport const USER_GROUP_LIST = 'USER_GROUP_LIST';\r\nexport const GROUP_ROLES_LIST = 'GROUP_ROLES_LIST';\r\nexport const THING_ALARM_LIST = 'THING_ALARM_LIST';\r\n\r\nexport const ACCOUNT_NO = 'ACCOUNT_NO';\r\nexport const SELECTED_PACKAGE_DETAILS = 'SELECTED_PACKAGE_DETAILS';\r\nexport const SELECTED_ADDON_LIST = 'SELECTED_ADDON_LIST';\r\nexport const SELECTED_ADDON_DETAILS_LIST = 'SELECTED_ADDON_DETAILS_LIST';\r\nexport const CLEAR_CART = 'CLEAR_CART';\r\nexport const SELECTED_PAGE_NO = 'SELECTED_PAGE_NO';\r\nexport const SELECTED_PAGE_NO_OF_PROJECTS = 'SELECTED_PAGE_NO_OF_PROJECTS';\r\nexport const SELECTED_PAGE_NO_OF_WEBHOOK = 'SELECTED_PAGE_NO_OF_WEBHOOK';","export default __webpack_public_path__ + \"static/media/things-logo.18bd2671.png\";","// import sha from 'js-sha256';\r\nexport function bb64encod(password){\r\n // const arr = sha.array(password);\r\n // var ascii = new Uint8Array(password);\r\n // var b64encoded = btoa(String.fromCharCode.apply(null, ascii));\r\n var b64encoded = btoa(password);\r\n \r\n var utf8 = unescape(encodeURIComponent(b64encoded));\r\n var arr2 = [];\r\n for (var i = 0; i < utf8.length; i++) {\r\n arr2.push(utf8.charCodeAt(i));\r\n }\r\n var a = new Uint8Array(arr2);\r\n var bb64encoded = btoa(String.fromCharCode.apply(null, a));\r\n return bb64encoded\r\n}","export const DASHBOARD_THING = 'DASHBOARD_THING'\r\nexport const DASHBOARD_COMPONENT = 'DASHBOARD_COMPONENT'","import { baseurl } from '../constants/api'\r\nimport { ACCESS_TOKEN, LOGIN, THING_ALARM_LIST } from '../redux/types'\r\nimport { setUserDataToStorage } from '../library/utils'\r\nimport { NOTIFICATION_COLOUR } from '../constants/api'\r\nimport { setFlashNotification } from '../redux/action/uiAction';\r\nimport { getProfileData } from '../constants/api'\r\nimport { PROFILE_DATA } from '../redux/types'\r\nconst user_auth = '/user/auth/'\r\nconst user_verify = '/user/verify/'\r\n\r\nexport function getAccessToken(email, password, history) {\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", \"Authenticate \" + btoa(email + \":\" + btoa(password)));\r\n return function (dispatch) {\r\n fetch(baseurl + user_auth, {\r\n method: 'POST',\r\n headers: myHeaders\r\n })\r\n .then(response => response.json())\r\n .then(result => {\r\n if (result.status === \"success\") {\r\n setUserDataToStorage(result.data.access_token)\r\n dispatch({ type: ACCESS_TOKEN, payload: result.data.access_token });\r\n dispatch({\r\n type: LOGIN,\r\n payload: {\r\n access_token: 'Bearer ' + result.data.access_token,\r\n username: email,\r\n name: 'PRE_USER_FETCH',\r\n timezone: \"Asia/Kolkata\"\r\n }\r\n });\r\n dispatch(setFlashNotification(result.msg, NOTIFICATION_COLOUR.SUCCESS))\r\n // setTimeout(() => dispatch(unsetFlashNotification()), 4000)\r\n history.push(\"/home\")\r\n } else {\r\n alert(result.msg)\r\n }\r\n })\r\n .catch(error => alert('Wrong Credentials', error))\r\n }\r\n}\r\n\r\nexport function verifyUser(accessToken) {\r\n console.log('Acess_Token', accessToken)\r\n var myHeaders = new Headers();\r\n myHeaders.append(\"Authorization\", 'Bearer ' + accessToken);\r\n return function (dispatch) {\r\n fetch(baseurl + user_verify, {\r\n method: 'GET',\r\n headers: myHeaders\r\n })\r\n .then(response => response.json())\r\n .then(result => { console.log(result) })\r\n .catch(error => console.log('error', error));\r\n }\r\n}\r\n\r\nexport function getProfileDetail(accessToken) {\r\n return function (dispatch) {\r\n dispatch({ type: PROFILE_DATA, payload: {} })\r\n getProfileData(accessToken,\r\n (response) => {\r\n dispatch({ type: PROFILE_DATA, payload: response.data })\r\n },\r\n (responseFailed) => {\r\n dispatch(setFlashNotification(responseFailed.msg, 'error'))\r\n },\r\n (responseError) => {\r\n dispatch(setFlashNotification(responseError.msg, 'error'))\r\n })\r\n }\r\n\r\n}\r\n\r\nexport function setThingAlarmList(list = []) {\r\n return function (dispatch) {\r\n dispatch({ type: THING_ALARM_LIST, payload: list })\r\n }\r\n}","export const IMAGE_STREAM_LIST = 'panel/ImageStream/IMAGE_STREAM_LIST';\r\nexport const IMAGE_STREAM_DATA = 'panel/ImageStream/IMAGE_STREAM_DATA';\r\n","import React, {Component} from 'react';\r\n\r\nexport default class Alarmsred extends Component{\r\n render(){\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 );\r\n }\r\n}\r\n\r\nclass Alarmgreen extends Component{\r\n render(){\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 );\r\n }\r\n}\r\n\r\nclass Alarmyellow extends Component{\r\n render(){\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 );\r\n }\r\n}\r\n","import React, {Component} from 'react';\r\nimport Alarms from './Alarm';\r\nimport {alarmsTable_rows} from '../constants/selectableconstants';\r\nexport default class Alarm extends Component{\r\n render(){\r\n return( \r\n
\r\n \r\n \r\n {alarmsTable_rows.map(row => (\r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
notifications_active   {row.alarm_name}
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { Component } from 'react';\r\nimport Grid from '@material-ui/core/Grid';\r\nimport Fab from '@material-ui/core/Fab';\r\nimport AlarmIcon from '@material-ui/icons/AlarmOn';\r\nimport Alarmtable from './Alarmtable';\r\n\r\n\r\nexport default class Alarmfeed extends Component {\r\n constructor() {\r\n super();\r\n this.state = { checked: false };\r\n this.handleChange = this.handleChange.bind(this);\r\n this.avtarClick = this.avtarClick.bind(this);\r\n this.state = {\r\n popupVisible: false\r\n };\r\n }\r\n\r\n avtarClick(e) {\r\n this.setState(prevState => ({\r\n popupVisible: !prevState.popupVisible,\r\n }));\r\n e.preventDefault();\r\n }\r\n\r\n handleChange(checked) {\r\n this.setState({ checked });\r\n }\r\n render() {\r\n\r\n return (\r\n
{ this.node = node; }}>\r\n \r\n {/* \r\n \r\n */}\r\n {this.state.popupVisible && (\r\n
\r\n
Alarm Feed
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n );\r\n }\r\n}\r\n","import React, { useEffect } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport clsx from \"clsx\";\r\nimport {\r\n makeStyles,\r\n useTheme,\r\n createMuiTheme,\r\n MuiThemeProvider,\r\n} from \"@material-ui/core/styles\";\r\n// import { makeStyles, MuiThemeProvider } from '@material-ui/core/styles';\r\n\r\nimport Drawer from \"@material-ui/core/Drawer\";\r\nimport AppBar from \"@material-ui/core/AppBar\";\r\nimport Toolbar from \"@material-ui/core/Toolbar\";\r\nimport List from \"@material-ui/core/List\";\r\nimport CssBaseline from \"@material-ui/core/CssBaseline\";\r\nimport Typography from \"@material-ui/core/Typography\";\r\nimport Divider from \"@material-ui/core/Divider\";\r\nimport IconButton from \"@material-ui/core/IconButton\";\r\n\r\nimport MenuIcon from \"@material-ui/icons/Menu\";\r\nimport SettingsIcon from \"@material-ui/icons/Settings\";\r\nimport ListItem from \"@material-ui/core/ListItem\";\r\nimport ListItemIcon from \"@material-ui/core/ListItemIcon\";\r\nimport ListItemText from \"@material-ui/core/ListItemText\";\r\nimport Collapse from \"@material-ui/core/Collapse\";\r\nimport ExpandLess from \"@material-ui/icons/ExpandLess\";\r\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\r\nimport GpsFixedIcon from '@material-ui/icons/GpsFixed';\r\nimport LinkedCameraIcon from \"@material-ui/icons/LinkedCamera\";\r\nimport LinkIcon from \"@material-ui/icons/Link\";\r\nimport SettingsInputComponentIcon from \"@material-ui/icons/SettingsInputComponent\";\r\nimport AssessmentIcon from \"@material-ui/icons/Assessment\";\r\nimport PhotoLibraryIcon from \"@material-ui/icons/PhotoLibrary\";\r\n\r\nimport Grid from \"@material-ui/core/Grid\";\r\nimport Link from \"react-router-dom/Link\";\r\nimport AlarmFeed from \"../Components/alarmFeed\";\r\nimport {\r\n baseurl,\r\n getUserWiseThingList,\r\n listNProjects,\r\n NOTIFICATION_COLOUR,\r\n ws_baseurl,\r\n} from \"../constants/api\";\r\nimport { connect } from \"react-redux\";\r\nimport { LOGOUT, PROJECTS } from \"../redux/types\";\r\nimport { MenuItem, Menu } from \"@material-ui/core\";\r\nimport FlashNotification from \"../Components/modal/flashNotification\";\r\nimport { setFlashNotification } from \"../redux/action/uiAction\";\r\nimport { GamesTwoTone } from \"@material-ui/icons\";\r\n\r\nimport { getProfileDetail, setThingAlarmList } from \"../panel/loginAction\";\r\n\r\nconst mainTheme = createMuiTheme({\r\n palette: {\r\n type: \"light\",\r\n },\r\n});\r\n\r\n// const styles = {\r\n// paper: {\r\n// background: \"#fff\",\r\n// marginTop:'-14px',\r\n// }\r\n// };\r\n\r\nconst drawerWidth = 240;\r\n\r\nconst useStyles = makeStyles((theme) => ({\r\n root: {\r\n display: \"flex\",\r\n },\r\n appBar: {\r\n height: `40`,\r\n zIndex: theme.zIndex.drawer + 1,\r\n transition: theme.transitions.create([\"width\", \"margin\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n },\r\n appBarShift: {\r\n // marginLeft: drawerWidth,\r\n // width: `calc(100% - ${drawerWidth}px)`,\r\n width: `100%`,\r\n\r\n transition: theme.transitions.create([\"width\", \"margin\"], {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n menuButton: {\r\n marginRight: 0,\r\n },\r\n hide: {\r\n display: \"none\",\r\n },\r\n drawerHeader: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n padding: theme.spacing(0, 1),\r\n // necessary for content to be below app bar\r\n ...theme.mixins.toolbar,\r\n justifyContent: \"flex-end\",\r\n },\r\n drawer: {\r\n backgroundColor: \"#333\",\r\n width: drawerWidth,\r\n flexShrink: 0,\r\n whiteSpace: \"nowrap\",\r\n },\r\n drawerOpen: {\r\n width: drawerWidth,\r\n transition: theme.transitions.create(\"width\", {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.enteringScreen,\r\n }),\r\n },\r\n drawerClose: {\r\n transition: theme.transitions.create(\"width\", {\r\n easing: theme.transitions.easing.sharp,\r\n duration: theme.transitions.duration.leavingScreen,\r\n }),\r\n overflowX: \"hidden\",\r\n width: theme.spacing(7) + 1,\r\n [theme.breakpoints.up(\"sm\")]: {\r\n width: theme.spacing(9) + 1,\r\n },\r\n },\r\n toolbar: {\r\n display: \"flex\",\r\n alignItems: \"center\",\r\n justifyContent: \"flex-end\",\r\n padding: \"0 8px\",\r\n ...theme.mixins.toolbar,\r\n },\r\n content: {\r\n flexGrow: 1,\r\n padding: theme.spacing(3),\r\n },\r\n zeroPaddingContent: {\r\n flexGrow: 1,\r\n padding: theme.spacing(0),\r\n },\r\n}));\r\n\r\nconst useStyle = makeStyles((theme) => ({\r\n root: {\r\n width: \"100%\",\r\n backgroundColor: theme.palette.background.paper,\r\n },\r\n nested: {\r\n paddingLeft: theme.spacing(3),\r\n },\r\n nestedd: {\r\n paddingLeft: theme.spacing(5),\r\n },\r\n ne_stedd: {\r\n paddingLeft: theme.spacing(7),\r\n },\r\n}));\r\n\r\nfunction DashboardRoot(props) {\r\n const classes = useStyles();\r\n const [showAlert, changeShowAlertState] = React.useState(false);\r\n const [open, setOpen] = React.useState(true);\r\n const [open_project_actions, set_open_project_actions] =\r\n React.useState(false);\r\n const [projects_expansion, setProjectsExpansion] = React.useState([]);\r\n const [projects, setProjects] = React.useState([]);\r\n\r\n function handleProjectExpansion(index) {\r\n let expansion_state = [...projects_expansion];\r\n expansion_state[index] = !expansion_state[index];\r\n setProjectsExpansion(expansion_state);\r\n }\r\n\r\n function changeState() {\r\n changeShowAlertState(!showAlert);\r\n }\r\n\r\n const history = useHistory();\r\n\r\n function handleDrawerOpen() {\r\n setOpen(true);\r\n }\r\n\r\n function handleDrawerClose() {\r\n setOpen(false);\r\n setOpenn(false);\r\n set_Open(false);\r\n setoPen(false);\r\n }\r\n const classess = useStyle();\r\n const [, setOpenn] = React.useState(false);\r\n const [open_n, set_Open] = React.useState(false);\r\n const [open_nn, set_Openn] = React.useState(false);\r\n const [expand, set_expand] = React.useState(false);\r\n const [gps_reports, setGps_reports] = React.useState(false);\r\n const [groups_status, setGroups_status] = React.useState(false);\r\n const [user_thing_list, setUser_thing_list] = React.useState([]);\r\n const [id, setId] = React.useState(false);\r\n const [] = React.useState(false);\r\n const [, setoPen] = React.useState(false);\r\n\r\n // const [state, setState] = React.useState({\r\n // open: false,\r\n // vertical: 'top',\r\n // horizontal: 'right',\r\n // snack_message: ''\r\n // });\r\n\r\n // const { vertical, horizontal, open_snack, snack_message } = state;\r\n\r\n function handle_Click() {\r\n set_Open(!open_n);\r\n }\r\n function handle_Clicks() {\r\n set_Openn(!open_nn);\r\n }\r\n function account_tab() {\r\n set_expand(!expand);\r\n }\r\n\r\n function triggerAlarm(title, message) {\r\n new window.Notification(title, {\r\n body: message,\r\n });\r\n // setState({ open_snack: true, snack_message: message, ...state })\r\n }\r\n // const handleClose = () => {\r\n // setState({ ...state, open: false });\r\n // };\r\n\r\n const checkExistAlarm = (list, alarm) => {\r\n var status = false;\r\n\r\n for (let index = 0; index < list.length; index++) {\r\n if (list[index].name == alarm.name) {\r\n status = index;\r\n break;\r\n }\r\n }\r\n return status;\r\n };\r\n \r\n useEffect(() => {\r\n props.getProfileDetail(props.userData.access_token);\r\n if (Object.keys(props.userData).length === 0) {\r\n alert(\"Authentication Failed, Please Login Again\");\r\n history.push(\"/login\");\r\n }\r\n // GetId(props.userData.access_token);\r\n\r\n var myList = [];\r\n\r\n getUserWiseThingList(\r\n props.userData.access_token,\r\n (success) => {\r\n console.log(\"sucess\", success);\r\n\r\n listNProjects(\r\n props.userData.access_token,\r\n props.userData.username,\r\n 5,\r\n (successResponse) => {\r\n setProjects(successResponse.data.data);\r\n\r\n props.populate_project(successResponse.data);\r\n if (window.Notification.permission !== \"granted\") {\r\n window.Notification.requestPermission();\r\n }\r\n\r\n const ws = new WebSocket(`${ws_baseurl}/alarm`);\r\n ws.onmessage = (event) => {\r\n const json_message = JSON.parse(event.data);\r\n const json_message_data = json_message.message;\r\n console.log(\"json_message_data\", json_message_data);\r\n if (\r\n typeof json_message.message == \"object\" &&\r\n success.data.things.length > 0\r\n ) {\r\n success.data.things.map((item, index) => {\r\n console.log(\"itemsssssss\", success);\r\n if (json_message_data) {\r\n var my_index = checkExistAlarm(myList, json_message_data);\r\n console.log(\"my_index\", my_index);\r\n if (my_index) {\r\n myList[my_index] = {\r\n project_id: item.project_id ?? \"\",\r\n project_name: item.project_name ?? \"\",\r\n thing_name: item.thing_name,\r\n ...json_message_data,\r\n };\r\n } else {\r\n myList.push({\r\n project_id: item.project_id ?? \"\",\r\n project_name: item.project_name ?? \"\",\r\n thing_name: item.thing_name,\r\n thing_id: item.thing_id,\r\n pin: item.pin,\r\n ...json_message_data,\r\n });\r\n }\r\n }\r\n });\r\n // console.log(\"myList\", myList)\r\n props.setThingAlarmList(myList);\r\n }\r\n if (typeof json_message.message.alarm_type !== \"undefined\")\r\n triggerAlarm(\r\n \"Title\",\r\n `${json_message.message.alarm_type.toUpperCase()}\\nPin \"${\r\n json_message.message.name\r\n }\" reached value \"${json_message.message.value}\"`\r\n );\r\n };\r\n ws.onopen = (event) => {\r\n console.log(event);\r\n };\r\n },\r\n () => {},\r\n () => {}\r\n );\r\n },\r\n (failure) => {\r\n alert(failure.msg);\r\n },\r\n (error) => {\r\n alert(error);\r\n }\r\n );\r\n console.log(\"myList\", myList);\r\n }, []);\r\n\r\n const [anchorEl, setAnchorEl] = React.useState(null);\r\n\r\n const handleClick = (event) => {\r\n setAnchorEl(event.currentTarget);\r\n };\r\n\r\n const handleClose = () => {\r\n setAnchorEl(null);\r\n };\r\n console.log(\"props\", id);\r\n return (\r\n
\r\n \r\n \r\n \r\n {/* \r\n {theme.direction === 'rtl' ? : }\r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n EpsumThings\r\n \r\n \r\n    \r\n {/* */}\r\n {/* */}\r\n
\r\n \r\n {/*
\r\n \r\n \r\n \r\n \r\n
*/}\r\n \r\n \r\n \r\n \r\n \r\n My account\r\n \r\n\r\n {\r\n props.setFlashNotification(\r\n \"Logged Out Successfully\",\r\n NOTIFICATION_COLOUR.SUCCESS\r\n );\r\n props.logout();\r\n localStorage.removeItem(\"accessToken\");\r\n localStorage.removeItem(\"state\");\r\n }}\r\n >\r\n Logout\r\n \r\n \r\n   \r\n {/* \r\n \r\n */}\r\n
\r\n
\r\n {props.name}\r\n {/* */}\r\n
\r\n \r\n \r\n \r\n
\r\n {/* \r\n {theme.direction === 'rtl' ? : }\r\n */}\r\n
\r\n \r\n \r\n \r\n \r\n home\r\n \r\n \r\n \r\n \r\n \r\n\r\n {\r\n setGroups_status(!groups_status);\r\n }}\r\n title=\"Master\"\r\n >\r\n \r\n group\r\n \r\n \r\n {groups_status ? : }\r\n \r\n\r\n \r\n \r\n \r\n \r\n group_add\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n assignment_ind\r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* \r\n \r\n \r\n insert_chart\r\n \r\n \r\n \r\n */}\r\n\r\n \r\n \r\n \r\n art_track\r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* { setGps_reports(!gps_reports) }} title=\"GPS Reports\">\r\n \r\n location_on\r\n \r\n \r\n {\r\n gps_reports ? : }\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n gps_fixed\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n add_location\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n insert_chart\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n directions_car\r\n \r\n \r\n \r\n \r\n \r\n */}\r\n\r\n {/* */}\r\n \r\n \r\n account_tree\r\n \r\n \r\n {open_n ? : }\r\n \r\n {/* */}\r\n\r\n \r\n \r\n \r\n \r\n \r\n bookmarks\r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n code\r\n \r\n \r\n \r\n */}\r\n\r\n {/* */}\r\n\r\n {projects.map((project, i) => (\r\n \r\n handleProjectExpansion(i)}\r\n className={classess.nestedd}\r\n title=\"Projects\"\r\n >\r\n \r\n \r\n bookmark_border\r\n \r\n \r\n \r\n {projects_expansion[i] ? : }\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n book\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n scatter_plot\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n alarm_on\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n trending_up\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n gesture\r\n \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n ))}\r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n settings_input_composite\r\n \r\n \r\n \r\n */}\r\n\r\n {props.profileData.organisation !== undefined &&\r\n props.profileData.organisation.length >= 1 && (\r\n <>\r\n \r\n \r\n card_travel\r\n \r\n \r\n {open_nn ? : }\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n check_circle_outline\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\" \"}\r\n person_add\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\" \"}\r\n groups\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n dashboard\r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n dashboard\r\n \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n list_alt\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n widgets\r\n \r\n \r\n \r\n \r\n \r\n {/* --------tab for account expand------------ */}\r\n \r\n \r\n manage_accounts\r\n \r\n \r\n {expand ? : }\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n account_circle\r\n \r\n \r\n \r\n \r\n \r\n\r\n {/* \r\n \r\n \r\n account_balance_wallet\r\n \r\n \r\n \r\n */}\r\n\r\n {/* \r\n \r\n \r\n inventory\r\n \r\n \r\n \r\n */}\r\n\r\n {/* \r\n \r\n \r\n gamepad\r\n \r\n \r\n \r\n */}\r\n \r\n \r\n\r\n \r\n {/* --------end of tab for account expand------------ */}\r\n\r\n {/* \r\n \r\n \r\n poll\r\n \r\n \r\n \r\n */}\r\n \r\n {/* \r\n \r\n \r\n polymer\r\n \r\n \r\n \r\n */}\r\n\r\n {/* \r\n \r\n \r\n exit_to_app\r\n \r\n \r\n \r\n */}\r\n\r\n {\r\n props.logout();\r\n localStorage.removeItem(\"accessToken\");\r\n localStorage.removeItem(\"state\");\r\n }}\r\n >\r\n \r\n \r\n exit_to_app\r\n \r\n \r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n how_to_vote\r\n \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n
\r\n \r\n \r\n\r\n {props.zeroPad ? (\r\n \r\n
\r\n\r\n {props.children}\r\n \r\n ) : (\r\n \r\n
\r\n\r\n {props.children}\r\n \r\n )}\r\n {/* } */}\r\n
\r\n );\r\n}\r\n\r\nconst mapPropsToState = (store) => {\r\n return {\r\n username: store.username,\r\n token: store.access_token,\r\n name: store.name,\r\n profileData: store.userReducer.profileData,\r\n userData: store.userReducer.userData,\r\n thingAlarmList: store.userReducer.thingAlarmList,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n logout: () => dispatch({ type: LOGOUT }),\r\n populate_project: (projects) =>\r\n dispatch({ type: PROJECTS, payload: { projects: projects } }),\r\n setFlashNotification: (msg, color) =>\r\n dispatch(setFlashNotification(msg, color)),\r\n getProfileDetail: (accessToken) => dispatch(getProfileDetail(accessToken)),\r\n setThingAlarmList: (list) => dispatch(setThingAlarmList(list)),\r\n };\r\n};\r\n\r\nexport default connect(mapPropsToState, mapDispatchToProps)(DashboardRoot);\r\n","import { maxmSpeed } from \"./Constants\"\r\n\r\nexport function setUserDataToStorage(data) {\r\n localStorage.setItem('accessToken', JSON.stringify(data))\r\n}\r\n\r\nexport function getUserDataFromStorage(data) {\r\n try {\r\n const serializedState = localStorage.getItem('userData')\r\n if (serializedState === null) return undefined\r\n return JSON.parse(serializedState)\r\n } catch (e) {\r\n return undefined\r\n }\r\n}\r\n\r\nexport const distance = (lat1, lat2, lon1, lon2) => {\r\n\r\n // The math module contains a function\r\n // named toRadians which converts from\r\n // degrees to radians.\r\n lon1 = lon1 * Math.PI / 180;\r\n lon2 = lon2 * Math.PI / 180;\r\n lat1 = lat1 * Math.PI / 180;\r\n lat2 = lat2 * Math.PI / 180;\r\n\r\n // Haversine formula\r\n let dlon = lon2 - lon1;\r\n let dlat = lat2 - lat1;\r\n let a = Math.pow(Math.sin(dlat / 2), 2)\r\n + Math.cos(lat1) * Math.cos(lat2)\r\n * Math.pow(Math.sin(dlon / 2), 2);\r\n\r\n let c = 2 * Math.asin(Math.sqrt(a));\r\n\r\n // Radius of earth in kilometers. Use 3956\r\n // for miles\r\n let r = 6371;\r\n\r\n // calculate the result\r\n // console.log(\"distance\", c * r * 1000 > 100 ? c * r * 1000 : '')\r\n\r\n return (c * r * 1000);\r\n}\r\n\r\nexport const getTimeDifference = (startDate, endDate) => {\r\n return (new Date(endDate).getTime() - new Date(startDate).getTime()) / 1000\r\n}\r\n\r\nexport const validateSpeed = (distance, time) => {\r\n if ((distance / time) > maxmSpeed) {\r\n return false\r\n }\r\n else {\r\n return true\r\n }\r\n}\r\n\r\nexport const handleDatalogCoordinate = (data) => {\r\n var returnedData = []\r\n for (let i = 0; i < data?.length; i++) {\r\n let key = Object.keys(data[i]).filter(item => item !== \"xaxis\")[0]\r\n if (data[i + 1] !== undefined) {\r\n if (getTimeDifference(data[i].xaxis, data[i + 1].xaxis) > 0 && validateSpeed(distance(data[i][key][0], data[i + 1][key][0], data[i][key][1], data[i + 1][key][1]), getTimeDifference(data[i].xaxis, data[i + 1].xaxis))) {\r\n returnedData.push(data[i])\r\n }\r\n }\r\n\r\n }\r\n return returnedData\r\n}\r\n\r\nexport function mapDatatoCoordiante(data, useGPSKey = true) {\r\n let coordianate = [];\r\n for (let i = 0; i < data.length; i++) {\r\n if (useGPSKey) {\r\n try {\r\n coordianate.push({ lat: data[i].GPS[0], lng: data[i].GPS[1] })\r\n } catch (e) {\r\n let key = Object.keys(data[i]).filter(item => item !== \"xaxis\")[0]\r\n coordianate.push({ lat: data[i][key][0], lng: data[i][key][1] })\r\n }\r\n\r\n } else {\r\n coordianate.push({ lat: data[i][0], lng: data[i][1] })\r\n }\r\n }\r\n return coordianate;\r\n}\r\n\r\nexport function mapCoordinateToArray(coordianate) {\r\n let coordianateArray = [];\r\n coordianate.map((data, index) => {\r\n coordianateArray.push([data.lat, data.lng]\r\n )\r\n });\r\n return coordianateArray;\r\n}\r\n\r\nexport function removeArrayElementByIndex(array: array, index: Int) {\r\n if (index > -1) {\r\n array.splice(index, 1);\r\n }\r\n return array;\r\n}\r\n\r\nexport function updateLatLngArrayByIndex(array: array, lat, lng, index: Int) {\r\n let myArrya = array;\r\n myArrya[index].lat = lat;\r\n myArrya[index].lng = lng;\r\n return myArrya;\r\n}\r\n\r\nexport function formatDate(date = new Date()) {\r\n var d = new Date(date),\r\n month = '' + (d.getMonth() + 1),\r\n day = '' + d.getDate(),\r\n year = d.getFullYear();\r\n\r\n if (month.length < 2)\r\n month = '0' + month;\r\n if (day.length < 2)\r\n day = '0' + day;\r\n\r\n return [year, month, day].join('-');\r\n}\r\nexport function getFormatedDateAndTime(dateTime) {\r\n return (new Date(dateTime)).toDateString() + ' ' + (new Date(dateTime)).toLocaleTimeString()\r\n}\r\n\r\n\r\nexport function validateEmail(mail) {\r\n let regex = /^\\w+([\\.-]?\\w+)*@\\w+([\\.-]?\\w+)*(\\.\\w{2,3})+$/\r\n return regex.test(mail);\r\n}\r\nexport function validateUsername(username) {\r\n var re = /^[a-zA-Z_\\.\\- ]+$/;\r\n return re.test(username);\r\n}\r\nexport function validatePassword(password) {\r\n var re = /^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]).{8,}$/;\r\n return re.test(password);\r\n}\r\n\r\nexport function validatePhoneNumber(number) {\r\n var re = /^(\\+\\d{1,3}[- ]?)?\\d{10}$/\r\n return (re.test(number))\r\n}\r\n\r\nexport function validateName(name) {\r\n var validate = \"\"\r\n var n = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]\r\n var s = \"!@#$%^&*()+=-[]\\\\\\';,./{}|\\\":<>?\";\r\n for (var i = 0; i < name.length; i++) {\r\n if (name[i] in n) {\r\n validate = 'false'\r\n break\r\n }\r\n else if (s.indexOf(name.charAt(i)) != -1) {\r\n validate = 'false'\r\n break\r\n }\r\n else {\r\n validate = \"true\"\r\n }\r\n }\r\n return validate\r\n}\r\n\r\nexport function changeDropdownArrayType(data) {\r\n var returnDataArray = []\r\n data.length > 0 && data.map((value, index) => {\r\n var returnDataObj = {}\r\n returnDataObj['name'] = value.thing_name\r\n returnDataObj['value'] = value.thing_id\r\n returnDataArray.push(returnDataObj)\r\n })\r\n return returnDataArray\r\n}\r\n\r\nexport const getProjectName = (dataList) => {\r\n var x = dataList.map((item, index) => {\r\n return item.project\r\n })\r\n var y = new Set(x)\r\n y = [...y]\r\n return y\r\n}\r\n\r\nexport const getThingsCount = (dataList, projectId) => {\r\n var x = 0\r\n dataList.map((item, index) => {\r\n if (projectId == item.project) {\r\n x = x + 1\r\n }\r\n })\r\n return x\r\n}\r\n\r\nexport const getDatalogs = (list) => {\r\n var x = []\r\n list.map((item, index) => {\r\n if (item.gps.length > 0 && item.gps[0] !== 0) {\r\n x.push({\r\n \"GPS\": item.gps\r\n })\r\n }\r\n })\r\n return x\r\n}\r\n\r\nexport const handleTotalDistance = (arr) => {\r\n var x = []\r\n arr.map((item, index) => {\r\n x.push(Object.values(item))\r\n })\r\n const result = [];\r\n\r\n for (let j = 1; j < x[0].length; j++) {\r\n let sum = 0;\r\n\r\n for (let i = 0; i < x.length; i++) {\r\n sum += parseInt(x[i][j]);\r\n }\r\n\r\n result.push(sum);\r\n }\r\n\r\n var y = ['Total', ...result]\r\n\r\n return y;\r\n}","import React, { Component } from \"react\";\r\nimport Logo from \"../images/things-logo.png\";\r\n\r\nexport default class ResponsiveDialog extends Component {\r\n componentDidMount() {\r\n // this.authenticate().then(() => {\r\n // const loader = document.getElementById('ipl-progress-indicator')\r\n // if(loader){\r\n // // fade out\r\n // loader.classList.add('available')\r\n // setTimeout(() => {\r\n // // remove from DOM\r\n // loader.outerHTML = ''\r\n // }, 500)\r\n // }\r\n // })\r\n // const loader = document.getElementById('ipl-progress-indicator')\r\n // loader.outerHTML='';\r\n }\r\n\r\n render() {\r\n return (\r\n \r\n {this.props.loading ? (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"logo\"\r\n
\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n );\r\n }\r\n}\r\n","const units = [\r\n \"Unit\", \"m\", \"mm\", \"cm\", \"kg\", \"gm\", \"C\", \"K\", \"F\", \"Pa\", \"Kgf\", \"kmph\", \"m/s\"\r\n]\r\n\r\nconst param_types = [\r\n\r\n \"digital\",\r\n \"digital_in\",\r\n \"analog_in\",\r\n \"analog\",\r\n \"GPS\",\r\n \"text\"\r\n]\r\n\r\n//Activity Logs Table start\r\nconst activityLogs_header = [\r\n 'User Id', 'User Name', 'User Role', 'Last Updated'\r\n]\r\nfunction activityLogs(log_id, log_name, log_time, log_role, log_company, time, log_detail) {\r\n return { log_id, log_name, log_time, log_role, log_company, time, log_detail };\r\n}\r\nconst activityLogs_rows = [\r\n activityLogs('user-001', 'Sapan', 'Given access 10 days ago', 'Ui developer', 'Epsum Labs', '04/07/2019 04:16 PM', 'Sidebar Update'),\r\n activityLogs('user-002', 'Sapan', 'Given access 10 days ago', 'Ui developer', 'Epsum Labs', '04/07/2019 04:16 PM', 'Sidebar Update'),\r\n activityLogs('user-003', 'Sapan', 'Given access 10 days ago', 'Ui developer', 'Epsum Labs', '04/07/2019 04:16 PM', 'Sidebar Update'),\r\n activityLogs('user-004', 'Sapan', 'Given access 10 days ago', 'Ui developer', 'Epsum Labs', '04/07/2019 04:16 PM', 'Sidebar Update'),\r\n activityLogs('user-005', 'Sapan', 'Given access 10 days ago', 'Ui developer', 'Epsum Labs', '04/07/2019 04:16 PM', 'Sidebar Update'),\r\n activityLogs('user-006', 'Sapan', 'Given access 10 days ago', 'Ui developer', 'Epsum Labs', '04/07/2019 04:16 PM', 'Sidebar Update'),\r\n activityLogs('user-007', 'Sapan', 'Given access 10 days ago', 'Ui developer', 'Epsum Labs', '04/07/2019 04:16 PM', 'Sidebar Update'),\r\n activityLogs('user-008', 'Sapan', 'Given access 10 days ago', 'Ui developer', 'Epsum Labs', '04/07/2019 04:16 PM', 'Sidebar Update'),\r\n activityLogs('user-009', 'Sapan', 'Given access 10 days ago', 'Ui developer', 'Epsum Labs', '04/07/2019 04:16 PM', 'Sidebar Update'),\r\n activityLogs('user-010', 'Sapan', 'Given access 10 days ago', 'Ui developer', 'Epsum Labs', '04/07/2019 04:16 PM', 'Sidebar Update'),\r\n activityLogs('user-011', 'Sapan', 'Given access 10 days ago', 'Ui developer', 'Epsum Labs', '04/07/2019 04:16 PM', 'Sidebar Update'),\r\n];\r\n//Activity Logs Table end\r\n\r\n// User Detail table List start\r\nconst userTable_header = [\r\n 'User Id', 'User Name', 'User Role', 'Last Updated', 'Action'\r\n]\r\nfunction userTable(user_id, user_name, user_time, role, company, time, detail) {\r\n return { user_id, user_name, user_time, role, company, time, detail };\r\n}\r\nconst userTable_rows = [\r\n userTable('user-001', 'Bill Gates', 'Given access 10 days ago', 'Admin', 'Epsum Labs', '04/07/2019 04:16 PM', 'Sidebar Update'),\r\n userTable('user-002', 'Brian Acton', 'Given access 10 days ago', 'Manager', 'TCS', '04/07/2019 04:16 PM', 'Sidebar Update'),\r\n userTable('user-003', 'Jan Koum', 'Given access 10 days ago', 'Admin', 'Epsum Things', '04/07/2019 04:16 PM', 'Sidebar Update'),\r\n userTable('user-004', 'Evan Williams', 'Given access 10 days ago', 'Manager', 'D & D Labs', '04/07/2019 04:16 PM', 'Sidebar Update'),\r\n userTable('user-005', 'Biz Stone', 'Given access 10 days ago', 'Admin', 'Wipro', '04/07/2019 04:16 PM', 'Sidebar Update'),\r\n userTable('user-006', 'Jack Dorsey', 'Given access 10 days ago', 'Manager', 'D & D Labs', '04/07/2019 04:16 PM', 'Sidebar Update'),\r\n userTable('user-007', 'Mark zuckerberg', 'Given access 10 days ago', 'Admin', 'Wipro', '04/07/2019 04:16 PM', 'Sidebar Update'),\r\n userTable('user-008', 'Bill Gates', 'Given access 10 days ago', 'Manager', 'Wipro', '04/07/2019 04:16 PM', 'Sidebar Update'),\r\n userTable('user-009', 'Mark zuckerberg', 'Given access 10 days ago', 'Admin', 'D & D Labs', '04/07/2019 04:16 PM', 'Sidebar Update'),\r\n];\r\n\r\n// User Detail table List end\r\n\r\n// Thing Detail Table List start\r\nconst thingTable_header = [\r\n 'Thing Id', 'Thing Name', 'Description', 'Type', 'Unit', 'Min', 'Max'\r\n]\r\nfunction thingTable(thing_id, thing_name, desc, type, unit, min, max) {\r\n return { thing_id, thing_name, desc, type, unit, min, max };\r\n}\r\nconst thingTable_rows = [\r\n thingTable('thing-001', 'Gps', 'GPS', 'Analog', 'Kg', 10, 30),\r\n thingTable('thing-002', 'Sensor', 'Sensor', 'Analog', 'Kg', 10, 30),\r\n thingTable('thing-003', 'Camera', 'Camera', 'Analog', 'Kg', 10, 30),\r\n thingTable('thing-004', 'Gps', 'Gps', 'Analog', 'Kg', 10, 30),\r\n thingTable('thing-005', 'Camera', 'Camera', 'Analog', 'Kg', 10, 30),\r\n thingTable('thing-006', 'Gps', 'GPS', 'Analog', 'Kg', 10, 30),\r\n thingTable('thing-007', 'Sensor', 'Sensor', 'Analog', 'Kg', 10, 30),\r\n thingTable('thing-008', 'Camera', 'Camera', 'Analog', 'Kg', 10, 30),\r\n thingTable('thing-009', 'Gps', 'Gps', 'Analog', 'Kg', 10, 30),\r\n];\r\n// Thing Detail Table List end\r\n\r\n// Project Detail Table List start\r\nconst proTable_header = [\r\n 'Project Id', 'Project Name', 'Description', 'Created On', 'Last Updated', 'Actions'\r\n];\r\nfunction proTable(pro_id, pro_name, pro_desc, created, updated) {\r\n return { pro_id, pro_name, pro_desc, created, updated };\r\n}\r\nconst proTable_rows = [\r\n proTable('Pro-001', 'Epsum Things', 'Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', '14/07/2019 08:35:23 PM', '14/07/2019 08:35:23 PM'),\r\n proTable('Pro-002', 'D & D Labs', 'Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', '14/07/2019 08:35:23 PM', '14/07/2019 08:35:23 PM'),\r\n proTable('Pro-003', 'Monkey Ropes', 'Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', '14/07/2019 08:35:23 PM', '14/07/2019 08:35:23 PM'),\r\n proTable('Pro-004', 'D & D Labs', 'Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', '14/07/2019 08:35:23 PM', '14/07/2019 08:35:23 PM'),\r\n proTable('Pro-005', 'Baby Dolphin', 'Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', '14/07/2019 08:35:23 PM', '14/07/2019 08:35:23 PM'),\r\n proTable('Pro-006', 'Epsum Things', 'Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', '14/07/2019 08:35:23 PM', '14/07/2019 08:35:23 PM'),\r\n proTable('Pro-007', 'D & D Labs', 'Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', '14/07/2019 08:35:23 PM', '14/07/2019 08:35:23 PM'),\r\n proTable('Pro-008', 'Monkey Ropes', 'Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', '14/07/2019 08:35:23 PM', '14/07/2019 08:35:23 PM'),\r\n proTable('Pro-009', 'D & D Labs', 'Lorem Ipsum Lorem Ipsum Lorem Ipsum Lorem Ipsum ', '14/07/2019 08:35:23 PM', '14/07/2019 08:35:23 PM'),\r\n];\r\n// Project Detail Table List end\r\n\r\n// Project Detail Table List start\r\nconst schema_header = [\r\n 'Schema Id', 'Schema Name', 'Added On', 'Action'\r\n];\r\nfunction schemaTable(schema_id, schema_name, addedon) {\r\n return { schema_id, schema_name, addedon };\r\n}\r\nconst schemaTable_rows = [\r\n schemaTable('schema-001', 'schema name', '14/07/2019 08:35:23 PM'),\r\n schemaTable('schema-002', 'schema name', '14/07/2019 08:35:23 PM'),\r\n schemaTable('schema-003', 'schema name', '14/07/2019 08:35:23 PM'),\r\n schemaTable('schema-004', 'schema name', '14/07/2019 08:35:23 PM'),\r\n schemaTable('schema-005', 'schema name', '14/07/2019 08:35:23 PM'),\r\n schemaTable('schema-006', 'schema name', '14/07/2019 08:35:23 PM'),\r\n schemaTable('schema-007', 'schema name', '14/07/2019 08:35:23 PM'),\r\n schemaTable('schema-008', 'schema name', '14/07/2019 08:35:23 PM'),\r\n schemaTable('schema-009', 'schema name', '14/07/2019 08:35:23 PM'),\r\n];\r\n// Project Detail Table List end\r\n\r\n// Alarm table start\r\nfunction alarmsTable(alarm_name) {\r\n return { alarm_name }\r\n}\r\nconst alarmsTable_rows = [\r\n alarmsTable('Alarm - 1'), alarmsTable('Alarm - 2'), alarmsTable('Alarm - 3'), alarmsTable('Alarm - 4'),\r\n alarmsTable('Alarm - 5'), alarmsTable('Alarm - 6'), alarmsTable('Alarm - 7'), alarmsTable('Alarm - 8'),\r\n alarmsTable('Alarm - 9'),\r\n]\r\n// Alarm table end\r\n\r\n// Project shortcut table start\r\nfunction ProjectshortcutTable(project_id, project_path) {\r\n return { project_id, project_path }\r\n}\r\nconst ProjectshortcutTable_rows = [\r\n ProjectshortcutTable('things_001', 'c://epsumlabs/projects/things/things_001'),\r\n ProjectshortcutTable('things_002', 'c://epsumlabs/projects/things/things_002'),\r\n ProjectshortcutTable('things_003', 'c://epsumlabs/projects/things/things_003'),\r\n ProjectshortcutTable('things_004', 'c://epsumlabs/projects/things/things_004'),\r\n ProjectshortcutTable('things_005', 'c://epsumlabs/projects/things/things_005'),\r\n ProjectshortcutTable('things_006', 'c://epsumlabs/projects/things/things_006'),\r\n ProjectshortcutTable('things_007', 'c://epsumlabs/projects/things/things_007'),\r\n ProjectshortcutTable('things_008', 'c://epsumlabs/projects/things/things_008'),\r\n ProjectshortcutTable('things_009', 'c://epsumlabs/projects/things/things_009'),\r\n ProjectshortcutTable('things_010', 'c://epsumlabs/projects/things/things_010'),\r\n]\r\n// Project shortcut table end\r\n\r\n// youtube video start\r\nfunction videoTable(video_link, video_desc) {\r\n return { video_link, video_desc }\r\n}\r\nconst videoTable_rows = [\r\n videoTable('https://youtu.be/7QYDPFkbeXM', 'Keiri - Accounting Software (introductory Video)'),\r\n videoTable('https://youtu.be/IiGnmrfS6Ko', 'Smart Garbage Management'),\r\n videoTable('https://youtu.be/-8sGs0sX59I', 'Epsum ERP Software Demo'),\r\n videoTable('https://youtu.be/pgGtNgk9nyo', 'Keiri Accounting Software'),\r\n videoTable('https://youtu.be/d-VJZoQN7oc', 'Epsum Office ERP'),\r\n videoTable('https://youtu.be/xBLN2OhjclA', 'Epsum Software Services.'),\r\n videoTable('https://youtu.be/vMAT9mwZM64', 'Journey of Epsum Labs \"How to Now\"!!!'),\r\n];\r\n// youtube video end\r\n\r\n// Lat & Lng start\r\nfunction latTable(latitude, longitude) {\r\n return { latitude, longitude }\r\n}\r\nconst latTable_rows = [\r\n latTable('20.323607', '84.821914'),\r\n latTable('20.3242116', '85.821081'),\r\n latTable('40.36', '66.54'),\r\n latTable('35.45', '67.45'),\r\n latTable('89.45', '56.34'),\r\n];\r\n// Lat & Lng end\r\n\r\n\r\n// Apps Table List start\r\nconst appTable_header = [\r\n 'App Id', 'App Name', 'Added On', 'Action'\r\n];\r\nfunction appTable(app_id, app_name, addedon) {\r\n return { app_id, app_name, addedon };\r\n}\r\nconst appTable_rows = [\r\n appTable('App-001', 'App name', '14/07/2019 08:35:23 PM'),\r\n appTable('App-002', 'App name', '14/07/2019 08:35:23 PM'),\r\n appTable('App-003', 'App name', '14/07/2019 08:35:23 PM'),\r\n appTable('App-004', 'App name', '14/07/2019 08:35:23 PM'),\r\n appTable('App-005', 'App name', '14/07/2019 08:35:23 PM'),\r\n appTable('App-006', 'App name', '14/07/2019 08:35:23 PM'),\r\n appTable('App-007', 'App name', '14/07/2019 08:35:23 PM'),\r\n appTable('App-008', 'App name', '14/07/2019 08:35:23 PM'),\r\n appTable('App-009', 'App name', '14/07/2019 08:35:23 PM'),\r\n appTable('App-010', 'App name', '14/07/2019 08:35:23 PM'),\r\n];\r\n// Apps Table List end\r\n\r\n// country List start\r\nconst country = [\r\n { name: 'Afghanistan', code: 'AF' },\r\n { name: 'Åland Islands', code: 'AX' },\r\n { name: 'Albania', code: 'AL' },\r\n { name: 'Algeria', code: 'DZ' },\r\n { name: 'American Samoa', code: 'AS' },\r\n { name: 'AndorrA', code: 'AD' },\r\n { name: 'Angola', code: 'AO' },\r\n { name: 'Anguilla', code: 'AI' },\r\n { name: 'Antarctica', code: 'AQ' },\r\n { name: 'Antigua and Barbuda', code: 'AG' },\r\n { name: 'Argentina', code: 'AR' },\r\n { name: 'Armenia', code: 'AM' },\r\n { name: 'Aruba', code: 'AW' },\r\n { name: 'Australia', code: 'AU' },\r\n { name: 'Austria', code: 'AT' },\r\n { name: 'Azerbaijan', code: 'AZ' },\r\n { name: 'Bahamas', code: 'BS' },\r\n { name: 'Bahrain', code: 'BH' },\r\n { name: 'Bangladesh', code: 'BD' },\r\n { name: 'Barbados', code: 'BB' },\r\n { name: 'Belarus', code: 'BY' },\r\n { name: 'Belgium', code: 'BE' },\r\n { name: 'Belize', code: 'BZ' },\r\n { name: 'Benin', code: 'BJ' },\r\n { name: 'Bermuda', code: 'BM' },\r\n { name: 'Bhutan', code: 'BT' },\r\n { name: 'Bolivia', code: 'BO' },\r\n { name: 'Bosnia and Herzegovina', code: 'BA' },\r\n { name: 'Botswana', code: 'BW' },\r\n { name: 'Bouvet Island', code: 'BV' },\r\n { name: 'Brazil', code: 'BR' },\r\n { name: 'British Indian Ocean Territory', code: 'IO' },\r\n { name: 'Brunei Darussalam', code: 'BN' },\r\n { name: 'Bulgaria', code: 'BG' },\r\n { name: 'Burkina Faso', code: 'BF' },\r\n { name: 'Burundi', code: 'BI' },\r\n { name: 'Cambodia', code: 'KH' },\r\n { name: 'Cameroon', code: 'CM' },\r\n { name: 'Canada', code: 'CA' },\r\n { name: 'Cape Verde', code: 'CV' },\r\n { name: 'Cayman Islands', code: 'KY' },\r\n { name: 'Central African Republic', code: 'CF' },\r\n { name: 'Chad', code: 'TD' },\r\n { name: 'Chile', code: 'CL' },\r\n { name: 'China', code: 'CN' },\r\n { name: 'Christmas Island', code: 'CX' },\r\n { name: 'Cocos (Keeling) Islands', code: 'CC' },\r\n { name: 'Colombia', code: 'CO' },\r\n { name: 'Comoros', code: 'KM' },\r\n { name: 'Congo', code: 'CG' },\r\n { name: 'Congo, The Democratic Republic of the', code: 'CD' },\r\n { name: 'Cook Islands', code: 'CK' },\r\n { name: 'Costa Rica', code: 'CR' },\r\n { name: 'Cote D\\'Ivoire', code: 'CI' },\r\n { name: 'Croatia', code: 'HR' },\r\n { name: 'Cuba', code: 'CU' },\r\n { name: 'Cyprus', code: 'CY' },\r\n { name: 'Czech Republic', code: 'CZ' },\r\n { name: 'Denmark', code: 'DK' },\r\n { name: 'Djibouti', code: 'DJ' },\r\n { name: 'Dominica', code: 'DM' },\r\n { name: 'Dominican Republic', code: 'DO' },\r\n { name: 'Ecuador', code: 'EC' },\r\n { name: 'Egypt', code: 'EG' },\r\n { name: 'El Salvador', code: 'SV' },\r\n { name: 'Equatorial Guinea', code: 'GQ' },\r\n { name: 'Eritrea', code: 'ER' },\r\n { name: 'Estonia', code: 'EE' },\r\n { name: 'Ethiopia', code: 'ET' },\r\n { name: 'Falkland Islands (Malvinas)', code: 'FK' },\r\n { name: 'Faroe Islands', code: 'FO' },\r\n { name: 'Fiji', code: 'FJ' },\r\n { name: 'Finland', code: 'FI' },\r\n { name: 'France', code: 'FR' },\r\n { name: 'French Guiana', code: 'GF' },\r\n { name: 'French Polynesia', code: 'PF' },\r\n { name: 'French Southern Territories', code: 'TF' },\r\n { name: 'Gabon', code: 'GA' },\r\n { name: 'Gambia', code: 'GM' },\r\n { name: 'Georgia', code: 'GE' },\r\n { name: 'Germany', code: 'DE' },\r\n { name: 'Ghana', code: 'GH' },\r\n { name: 'Gibraltar', code: 'GI' },\r\n { name: 'Greece', code: 'GR' },\r\n { name: 'Greenland', code: 'GL' },\r\n { name: 'Grenada', code: 'GD' },\r\n { name: 'Guadeloupe', code: 'GP' },\r\n { name: 'Guam', code: 'GU' },\r\n { name: 'Guatemala', code: 'GT' },\r\n { name: 'Guernsey', code: 'GG' },\r\n { name: 'Guinea', code: 'GN' },\r\n { name: 'Guinea-Bissau', code: 'GW' },\r\n { name: 'Guyana', code: 'GY' },\r\n { name: 'Haiti', code: 'HT' },\r\n { name: 'Heard Island and Mcdonald Islands', code: 'HM' },\r\n { name: 'Holy See (Vatican City State)', code: 'VA' },\r\n { name: 'Honduras', code: 'HN' },\r\n { name: 'Hong Kong', code: 'HK' },\r\n { name: 'Hungary', code: 'HU' },\r\n { name: 'Iceland', code: 'IS' },\r\n { name: 'India', code: 'IN' },\r\n { name: 'Indonesia', code: 'ID' },\r\n { name: 'Iran, Islamic Republic Of', code: 'IR' },\r\n { name: 'Iraq', code: 'IQ' },\r\n { name: 'Ireland', code: 'IE' },\r\n { name: 'Isle of Man', code: 'IM' },\r\n { name: 'Israel', code: 'IL' },\r\n { name: 'Italy', code: 'IT' },\r\n { name: 'Jamaica', code: 'JM' },\r\n { name: 'Japan', code: 'JP' },\r\n { name: 'Jersey', code: 'JE' },\r\n { name: 'Jordan', code: 'JO' },\r\n { name: 'Kazakhstan', code: 'KZ' },\r\n { name: 'Kenya', code: 'KE' },\r\n { name: 'Kiribati', code: 'KI' },\r\n { name: 'Korea, Democratic People\\'S Republic of', code: 'KP' },\r\n { name: 'Korea, Republic of', code: 'KR' },\r\n { name: 'Kuwait', code: 'KW' },\r\n { name: 'Kyrgyzstan', code: 'KG' },\r\n { name: 'Lao People\\'S Democratic Republic', code: 'LA' },\r\n { name: 'Latvia', code: 'LV' },\r\n { name: 'Lebanon', code: 'LB' },\r\n { name: 'Lesotho', code: 'LS' },\r\n { name: 'Liberia', code: 'LR' },\r\n { name: 'Libyan Arab Jamahiriya', code: 'LY' },\r\n { name: 'Liechtenstein', code: 'LI' },\r\n { name: 'Lithuania', code: 'LT' },\r\n { name: 'Luxembourg', code: 'LU' },\r\n { name: 'Macao', code: 'MO' },\r\n { name: 'Macedonia, The Former Yugoslav Republic of', code: 'MK' },\r\n { name: 'Madagascar', code: 'MG' },\r\n { name: 'Malawi', code: 'MW' },\r\n { name: 'Malaysia', code: 'MY' },\r\n { name: 'Maldives', code: 'MV' },\r\n { name: 'Mali', code: 'ML' },\r\n { name: 'Malta', code: 'MT' },\r\n { name: 'Marshall Islands', code: 'MH' },\r\n { name: 'Martinique', code: 'MQ' },\r\n { name: 'Mauritania', code: 'MR' },\r\n { name: 'Mauritius', code: 'MU' },\r\n { name: 'Mayotte', code: 'YT' },\r\n { name: 'Mexico', code: 'MX' },\r\n { name: 'Micronesia, Federated States of', code: 'FM' },\r\n { name: 'Moldova, Republic of', code: 'MD' },\r\n { name: 'Monaco', code: 'MC' },\r\n { name: 'Mongolia', code: 'MN' },\r\n { name: 'Montserrat', code: 'MS' },\r\n { name: 'Morocco', code: 'MA' },\r\n { name: 'Mozambique', code: 'MZ' },\r\n { name: 'Myanmar', code: 'MM' },\r\n { name: 'Namibia', code: 'NA' },\r\n { name: 'Nauru', code: 'NR' },\r\n { name: 'Nepal', code: 'NP' },\r\n { name: 'Netherlands', code: 'NL' },\r\n { name: 'Netherlands Antilles', code: 'AN' },\r\n { name: 'New Caledonia', code: 'NC' },\r\n { name: 'New Zealand', code: 'NZ' },\r\n { name: 'Nicaragua', code: 'NI' },\r\n { name: 'Niger', code: 'NE' },\r\n { name: 'Nigeria', code: 'NG' },\r\n { name: 'Niue', code: 'NU' },\r\n { name: 'Norfolk Island', code: 'NF' },\r\n { name: 'Northern Mariana Islands', code: 'MP' },\r\n { name: 'Norway', code: 'NO' },\r\n { name: 'Oman', code: 'OM' },\r\n { name: 'Pakistan', code: 'PK' },\r\n { name: 'Palau', code: 'PW' },\r\n { name: 'Palestinian Territory, Occupied', code: 'PS' },\r\n { name: 'Panama', code: 'PA' },\r\n { name: 'Papua New Guinea', code: 'PG' },\r\n { name: 'Paraguay', code: 'PY' },\r\n { name: 'Peru', code: 'PE' },\r\n { name: 'Philippines', code: 'PH' },\r\n { name: 'Pitcairn', code: 'PN' },\r\n { name: 'Poland', code: 'PL' },\r\n { name: 'Portugal', code: 'PT' },\r\n { name: 'Puerto Rico', code: 'PR' },\r\n { name: 'Qatar', code: 'QA' },\r\n { name: 'Reunion', code: 'RE' },\r\n { name: 'Romania', code: 'RO' },\r\n { name: 'Russian Federation', code: 'RU' },\r\n { name: 'RWANDA', code: 'RW' },\r\n { name: 'Saint Helena', code: 'SH' },\r\n { name: 'Saint Kitts and Nevis', code: 'KN' },\r\n { name: 'Saint Lucia', code: 'LC' },\r\n { name: 'Saint Pierre and Miquelon', code: 'PM' },\r\n { name: 'Saint Vincent and the Grenadines', code: 'VC' },\r\n { name: 'Samoa', code: 'WS' },\r\n { name: 'San Marino', code: 'SM' },\r\n { name: 'Sao Tome and Principe', code: 'ST' },\r\n { name: 'Saudi Arabia', code: 'SA' },\r\n { name: 'Senegal', code: 'SN' },\r\n { name: 'Serbia and Montenegro', code: 'CS' },\r\n { name: 'Seychelles', code: 'SC' },\r\n { name: 'Sierra Leone', code: 'SL' },\r\n { name: 'Singapore', code: 'SG' },\r\n { name: 'Slovakia', code: 'SK' },\r\n { name: 'Slovenia', code: 'SI' },\r\n { name: 'Solomon Islands', code: 'SB' },\r\n { name: 'Somalia', code: 'SO' },\r\n { name: 'South Africa', code: 'ZA' },\r\n { name: 'South Georgia and the South Sandwich Islands', code: 'GS' },\r\n { name: 'Spain', code: 'ES' },\r\n { name: 'Sri Lanka', code: 'LK' },\r\n { name: 'Sudan', code: 'SD' },\r\n { name: 'Suriname', code: 'SR' },\r\n { name: 'Svalbard and Jan Mayen', code: 'SJ' },\r\n { name: 'Swaziland', code: 'SZ' },\r\n { name: 'Sweden', code: 'SE' },\r\n { name: 'Switzerland', code: 'CH' },\r\n { name: 'Syrian Arab Republic', code: 'SY' },\r\n { name: 'Taiwan, Province of China', code: 'TW' },\r\n { name: 'Tajikistan', code: 'TJ' },\r\n { name: 'Tanzania, United Republic of', code: 'TZ' },\r\n { name: 'Thailand', code: 'TH' },\r\n { name: 'Timor-Leste', code: 'TL' },\r\n { name: 'Togo', code: 'TG' },\r\n { name: 'Tokelau', code: 'TK' },\r\n { name: 'Tonga', code: 'TO' },\r\n { name: 'Trinidad and Tobago', code: 'TT' },\r\n { name: 'Tunisia', code: 'TN' },\r\n { name: 'Turkey', code: 'TR' },\r\n { name: 'Turkmenistan', code: 'TM' },\r\n { name: 'Turks and Caicos Islands', code: 'TC' },\r\n { name: 'Tuvalu', code: 'TV' },\r\n { name: 'Uganda', code: 'UG' },\r\n { name: 'Ukraine', code: 'UA' },\r\n { name: 'United Arab Emirates', code: 'AE' },\r\n { name: 'United Kingdom', code: 'GB' },\r\n { name: 'United States', code: 'US' },\r\n { name: 'United States Minor Outlying Islands', code: 'UM' },\r\n { name: 'Uruguay', code: 'UY' },\r\n { name: 'Uzbekistan', code: 'UZ' },\r\n { name: 'Vanuatu', code: 'VU' },\r\n { name: 'Venezuela', code: 'VE' },\r\n { name: 'Viet Nam', code: 'VN' },\r\n { name: 'Virgin Islands, British', code: 'VG' },\r\n { name: 'Virgin Islands, U.S.', code: 'VI' },\r\n { name: 'Wallis and Futuna', code: 'WF' },\r\n { name: 'Western Sahara', code: 'EH' },\r\n { name: 'Yemen', code: 'YE' },\r\n { name: 'Zambia', code: 'ZM' },\r\n { name: 'Zimbabwe', code: 'ZW' }\r\n]\r\n// country List end\r\n\r\n\r\nconst gender = [\r\n 'Select Gender', 'Male', 'Female', 'Others'\r\n]\r\n\r\nconst schemaa = [\r\n \"Select schema\", 'schema-001', 'schema-002', 'schema-003', 'schema-004'\r\n]\r\n\r\nconst gpstypes = [\"Select format\", \"NMEA\", \"LAT_LONG\"]\r\n\r\n\r\nexport { ProjectshortcutTable_rows, latTable_rows, videoTable_rows, alarmsTable_rows, appTable_header, appTable_rows, schema_header, schemaTable_rows, gpstypes, schemaa, units, param_types, thingTable_header, thingTable_rows, proTable_header, proTable_rows, gender, country, userTable_header, userTable_rows, activityLogs_header, activityLogs_rows }\r\n\r\nexport const features = [\r\n {\r\n name: \"Camera\",\r\n create: true,\r\n write: true,\r\n control: true,\r\n delete: true,\r\n read: true,\r\n },\r\n {\r\n name: \"Alarms\",\r\n create: true,\r\n write: true,\r\n control: true,\r\n delete: true,\r\n read: true\r\n },\r\n {\r\n name: \"Things\",\r\n create: true,\r\n write: true,\r\n control: true,\r\n delete: true,\r\n read: true\r\n },\r\n {\r\n name: \"Trends\",\r\n create: true,\r\n write: true,\r\n control: true,\r\n delete: true,\r\n read: true\r\n },\r\n {\r\n name: \"Project\",\r\n create: true,\r\n write: true,\r\n control: true,\r\n delete: true,\r\n read: true\r\n },\r\n\r\n {\r\n name: \"Webhook\",\r\n create: true,\r\n write: true,\r\n control: true,\r\n delete: true,\r\n read: true\r\n },\r\n {\r\n name: \"Infrared\",\r\n create: true,\r\n write: true,\r\n control: true,\r\n delete: true,\r\n read: true\r\n },\r\n\r\n {\r\n name: \"Process\",\r\n create: true,\r\n write: true,\r\n control: true,\r\n delete: true,\r\n read: true\r\n },\r\n {\r\n name: \"Analytics\",\r\n create: true,\r\n write: true,\r\n control: true,\r\n delete: true,\r\n read: true\r\n },\r\n\r\n\r\n\r\n\r\n]\r\n\r\nexport const userrole = [\r\n {\r\n no: \"1\",\r\n name: \"Manager\"\r\n },\r\n {\r\n no: \"2\",\r\n name: \"Project head\"\r\n },\r\n {\r\n no: \"3\",\r\n name: \"Sub ordinates\"\r\n }\r\n]\r\n\r\nexport const users = [\r\n {\r\n no: \"1\",\r\n name: \"Anna\"\r\n },\r\n {\r\n no: \"2\",\r\n name: \"Diree\"\r\n }\r\n]\r\n\r\n\r\nexport const distance_reports = {\r\n \"status\": \"OK\",\r\n \"code\": 200,\r\n \"data\": [\r\n {\r\n \"Vehicle\": \"HR79A0942\",\r\n \"01/04/2023\": \"2\",\r\n \"02/04/2023\": \"8\",\r\n \"03/04/2023\": \"9\",\r\n \"04/04/2023\": \"2\",\r\n \"05/04/2023\": \"8\",\r\n \"06/04/2023\": \"2\",\r\n \"07/04/2023\": \"11\",\r\n \"08/04/2023\": \"17\",\r\n \"09/04/2023\": \"2\",\r\n \"10/04/2023\": \"23\",\r\n \"11/04/2023\": \"27\",\r\n \"12/04/2023\": \"11\",\r\n \"13/04/2023\": \"18\",\r\n \"14/04/2023\": \"18\",\r\n \"15/04/2023\": \"6\",\r\n \"16/04/2023\": \"18\",\r\n \"17/04/2023\": \"35\",\r\n \"18/04/2023\": \"25\",\r\n \"19/04/2023\": \"27\",\r\n \"20/04/2023\": \"27\",\r\n \"21/04/2023\": \"25\",\r\n \"22/04/2023\": \"25\",\r\n \"23/04/2023\": \"4\",\r\n \"24/04/2023\": \"23\",\r\n \"25/04/2023\": \"7\",\r\n \"26/04/2023\": \"9\",\r\n \"27/04/2023\": \"20\",\r\n \"28/04/2023\": \"7\",\r\n \"29/04/2023\": \"29\",\r\n \"30/04/2023\": \"20\",\r\n \"01/05/2023\": \"5\",\r\n \"TotalKm\": \"470\"\r\n },\r\n {\r\n \"Vehicle\": \"JCB\",\r\n \"01/04/2023\": \"2\",\r\n \"02/04/2023\": \"2\",\r\n \"03/04/2023\": \"7\",\r\n \"04/04/2023\": \"8\",\r\n \"05/04/2023\": \"33\",\r\n \"06/04/2023\": \"5\",\r\n \"07/04/2023\": \"20\",\r\n \"08/04/2023\": \"24\",\r\n \"09/04/2023\": \"16\",\r\n \"10/04/2023\": \"44\",\r\n \"11/04/2023\": \"5\",\r\n \"12/04/2023\": \"0\",\r\n \"13/04/2023\": \"0\",\r\n \"14/04/2023\": \"0\",\r\n \"15/04/2023\": \"0\",\r\n \"16/04/2023\": \"0\",\r\n \"17/04/2023\": \"0\",\r\n \"18/04/2023\": \"0\",\r\n \"19/04/2023\": \"0\",\r\n \"20/04/2023\": \"0\",\r\n \"21/04/2023\": \"0\",\r\n \"22/04/2023\": \"0\",\r\n \"23/04/2023\": \"0\",\r\n \"24/04/2023\": \"0\",\r\n \"25/04/2023\": \"0\",\r\n \"26/04/2023\": \"0\",\r\n \"27/04/2023\": \"0\",\r\n \"28/04/2023\": \"0\",\r\n \"29/04/2023\": \"0\",\r\n \"30/04/2023\": \"0\",\r\n \"01/05/2023\": \"0\",\r\n \"TotalKm\": \"166\"\r\n },\r\n {\r\n \"Vehicle\": \"JCB-220\",\r\n \"01/04/2023\": \"0\",\r\n \"02/04/2023\": \"1\",\r\n \"03/04/2023\": \"1\",\r\n \"04/04/2023\": \"5\",\r\n \"05/04/2023\": \"11\",\r\n \"06/04/2023\": \"0\",\r\n \"07/04/2023\": \"9\",\r\n \"08/04/2023\": \"5\",\r\n \"09/04/2023\": \"0\",\r\n \"10/04/2023\": \"10\",\r\n \"11/04/2023\": \"0\",\r\n \"12/04/2023\": \"0\",\r\n \"13/04/2023\": \"0\",\r\n \"14/04/2023\": \"0\",\r\n \"15/04/2023\": \"0\",\r\n \"16/04/2023\": \"65\",\r\n \"17/04/2023\": \"54\",\r\n \"18/04/2023\": \"0\",\r\n \"19/04/2023\": \"0\",\r\n \"20/04/2023\": \"0\",\r\n \"21/04/2023\": \"0\",\r\n \"22/04/2023\": \"0\",\r\n \"23/04/2023\": \"0\",\r\n \"24/04/2023\": \"0\",\r\n \"25/04/2023\": \"0\",\r\n \"26/04/2023\": \"0\",\r\n \"27/04/2023\": \"0\",\r\n \"28/04/2023\": \"0\",\r\n \"29/04/2023\": \"0\",\r\n \"30/04/2023\": \"0\",\r\n \"01/05/2023\": \"0\",\r\n \"TotalKm\": \"161\"\r\n }\r\n ]\r\n}","\r\nexport const BASEURL = process.env.REACT_APP_EPSUMTHINGS_BASEURL;\r\nexport const IRBASEURL = process.env.REACT_APP_IRBLASTER_URL;\r\nexport const WEBSOCKET_BASEURL = process.env.REACT_APP_WEBSOCKET_BASEURL;\r\nexport const MQTT_URL = process.env.REACT_APP_MQTT_URL;\r\nexport const MQTT_CLIENT_ID = 'MQTT_EPSUMTHINGS_UI'\r\n\r\nexport const RESPONSE_CODE = {\r\n SUCCESS: 200,\r\n CREATED: 201,\r\n ACCEPTED: 202,\r\n NO_CONTENT: 204,\r\n BAD_REQUEST: 400,\r\n FORBIDDEN: 403,\r\n NOT_FOUND: 404,\r\n INTERNAL_SERVER_ERROR: 500\r\n}\r\n\r\nexport const maxmSpeed = 55.5556 // meter per sec\r\nexport const GOOGLE_MAP_URL = \"https://maps.googleapis.com/maps/api/js?v=3.exp&libraries=geometry,drawing,places&key=AIzaSyDjCX0hCACCUVwfOsI5uWVouJv7rJtGgn0\"","import React, { Component } from 'react';\r\nimport { connect } from \"react-redux\";\r\nimport { Alert } from '@material-ui/lab';\r\nimport { Snackbar } from '@material-ui/core';\r\nimport { unsetFlashNotification } from '../../redux/action/uiAction';\r\n\r\nclass FlashNotification extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = {\r\n }\r\n }\r\n\r\n render() {\r\n return (\r\n this.props.ResetFlashNotification()}>\r\n { this.props.ResetFlashNotification() }}\r\n variant=\"filled\"\r\n severity={this.props.flashNotification.color}\r\n sx={{ width: '100%' }} >\r\n {this.props.flashNotification.message}\r\n \r\n \r\n );\r\n }\r\n}\r\n\r\nconst mapPropsToState = (store) => {\r\n return {\r\n flashNotification: store.uiReducer.flashNotification\r\n }\r\n}\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n ResetFlashNotification: () => dispatch(unsetFlashNotification()),\r\n }\r\n}\r\nexport default (connect(mapPropsToState, mapDispatchToProps)(FlashNotification));\r\n","import React, { Component } from 'react';\r\nimport {\r\n ResponsiveContainer, ComposedChart, Line, Area, Bar, XAxis, YAxis, CartesianGrid, Tooltip, Legend,\r\n} from 'recharts';\r\n\r\nconst data = [\r\n {\r\n name: '2014', min: 590, max: 800, avg: 1400,\r\n },\r\n {\r\n name: '2015', min: 868, max: 967, avg: 1506,\r\n },\r\n {\r\n name: '2016', min: 1397, max: 1098, avg: 989,\r\n },\r\n {\r\n name: '2017', min: 1480, max: 1200, avg: 1228,\r\n },\r\n {\r\n name: '2018', min: 1520, max: 1108, avg: 1100,\r\n },\r\n {\r\n name: '2019', min: 1400, max: 680, avg: 1700,\r\n },\r\n];\r\n\r\nexport default class Linechart extends Component {\r\n\r\n render() {\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 }\r\n}\r\n","import { bb64encod } from \"../redux/security\";\r\n// export let baseurl = \"https://backend.epsumthings.com\";\r\nexport let baseurl = process.env.REACT_APP_EPSUMTHINGS_BASEURL;\r\n\r\n// export let baseurl = \"http://192.168.0.107:8005\";\r\n// export let baseurl = \"http://192.168.29.177:8000\";\r\n\r\n\r\nexport const SCADA_HOST = process.env.REACT_APP_SCADA_HOST // No http or https and end point only host\r\n// export const SCADA_HOST = \"epsumscada.innocule.tech\" // No http or https and end point only host\r\nlet ws_baseurl = process.env.REACT_APP_WEBSOCKET_BASEURL;\r\nlet irbaseurl = process.env.REACT_APP_IRBLASTER_URL;\r\nexport let MQTT_URL = process.env.REACT_APP_MQTT_URL;\r\n\r\n// export\r\n// let baseurl = \"http://3.17.49.10:8000\";\r\n// let ws_baseurl = \"ws://3.17.49.10:8000\";\r\n// let irbaseurl = \"http://3.17.49.10:8000\";\r\n// export let MQTT_URL = \"http://3.17.49.10:8000\";\r\n\r\n// let baseurl = \"https://staging-backend.epsumthings.com\";\r\n// let ws_baseurl = \"wss://staging-backend.epsumthings.com\";\r\n// let irbaseurl = \"http://staging-backend.epsumthings.com:8001\";\r\n// export let MQTT_URL = \"mqtt://staging-backend.epsumthings.com:1883\";\r\n\r\n// if (process.env.REACT_APP_ENV === \"staging\") {\r\n// baseurl = \"https://staging-backend.epsumthings.com\";\r\n// ws_baseurl = \"wss://staging-backend.epsumthings.com\";\r\n// irbaseurl = \"http://staging-backend.epsumthings.com:8001\";\r\n// MQTT_URL = \"mqtt://staging-backend.epsumthings.com:1883\";\r\n\r\n// console.log(\"Staging environment\")\r\n// } else if (process.env.REACT_APP_ENV === \"local\") {\r\n// console.log(\"Local environment\")\r\n// baseurl = \"http://localhost:8000\";\r\n// ws_baseurl = \"ws://localhost:8000\";\r\n// irbaseurl = \"http://localhost:8001\";\r\n// MQTT_URL = \"mqtt://localhost:1883\";\r\n\r\n// } else if (process.env.NODE_ENV === \"production\" || process.env.REACT_APP_ENV === \"production\") {\r\n// baseurl = \"https://backend.epsumthings.com\";\r\n// ws_baseurl = \"wss://backend.epsumthings.com\";\r\n// irbaseurl = \"http://things.epsumlabs.com:8001\";\r\n// MQTT_URL = \"mqtt://epsumthings.com:1883\";\r\n// console.log(\"Production environment\")\r\n// }\r\n\r\nexport const MQTT_CLIENT_ID = 'EPSUMTHINGS_UI'\r\n\r\n\r\nexport const api = {\r\n user: baseurl + '/user/',\r\n user_register: baseurl + '/user/register/',\r\n user_profile: baseurl + '/user/profile/',\r\n user_logs: baseurl + '/user/logs/',\r\n org: baseurl + '/organisation/',\r\n org_user: baseurl + '/organisation/user/',\r\n project_user: baseurl + '/projects/user/',\r\n project: baseurl + '/projects/',\r\n things: baseurl + '/things/',\r\n things_datalog: baseurl + '/things/datalog/',\r\n things_schema: baseurl + \"/things/schema/\",\r\n camera_list: baseurl + \"/camera/\",\r\n verify: baseurl + \"/user/verify/\",\r\n camera: baseurl + \"/camera/\",\r\n webhooks: baseurl + \"/things/webhooks/\",\r\n process: baseurl + \"/process/\",\r\n profile: baseurl + '/user/',\r\n datalog_export: baseurl + '/things/datalog/',\r\n}\r\n\r\nexport const NOTIFICATION_COLOUR = {\r\n SUCCESS: 'success',\r\n WARNING: 'warning',\r\n INFO: 'info',\r\n DANGER: 'error'\r\n}\r\n\r\n/**\r\n * fetchApi calls the api and communcates data using callbacks. Returns null when get request has a body\r\n * \r\n * @param {string} url - URL to which fetch api \r\n * @param {string} headers - Headers\r\n * @param {string} method - get | post | put | delete \r\n * @param {object} body - API call using body\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nexport const DEFAULT_DATA = {\r\n count: 0,\r\n next: null,\r\n previous: null,\r\n results: []\r\n}\r\n\r\n\r\nexport const RESPONSE_TYPE = {\r\n JSON: 'json',\r\n NULL: null,\r\n BLOB: 'blob'\r\n}\r\n\r\nconst fetchApi = (url, headers, method, body = null, successCallback, failureCallback, errorCallback, responseType = RESPONSE_TYPE.JSON) => {\r\n let options = null;\r\n\r\n if (method === \"get\" && body !== null) {\r\n errorCallback(\"GET request does not support body\")\r\n return null\r\n } else if (method === \"get\") {\r\n\r\n options = {\r\n\r\n method: method,\r\n headers: headers\r\n }\r\n } else {\r\n options = {\r\n method: method,\r\n body: JSON.stringify(body),\r\n headers: headers\r\n }\r\n }\r\n\r\n fetch(url, options)\r\n .then(response => {\r\n if (response.status >= 400) {\r\n return response\r\n } else {\r\n switch (responseType) {\r\n case RESPONSE_TYPE.JSON:\r\n return response.json();\r\n case RESPONSE_TYPE.BLOB:\r\n return response.blob();\r\n case RESPONSE_TYPE.NULL:\r\n return DEFAULT_DATA\r\n }\r\n }\r\n })\r\n .then(responseJson => {\r\n if (responseJson.type === 'cors') {\r\n apiErrorHandler(responseJson, errorCallback)\r\n } else {\r\n if (responseJson.status === \"success\") {\r\n successCallback(responseJson)\r\n } else {\r\n let key = Object.keys(responseJson)\r\n if (key.includes('msg')) {\r\n key = key[key.indexOf('msg')]\r\n }\r\n else {\r\n key = 0\r\n }\r\n failureCallback(responseJson[key])\r\n }\r\n }\r\n }).catch(error => {\r\n errorCallback(error)\r\n })\r\n\r\n}\r\n\r\n\r\nexport const RESPONSE_CODE = {\r\n SUCCESS: 200,\r\n CREATED: 201,\r\n ACCEPTED: 202,\r\n NO_CONTENT: 204,\r\n BAD_REQUEST: 400,\r\n FORBIDDEN: 403,\r\n NOT_FOUND: 404,\r\n INTERNAL_SERVER_ERROR: 500\r\n}\r\nexport function apiErrorHandler(response, errorCallBack) {\r\n switch (response.status) {\r\n case RESPONSE_CODE.INTERNAL_SERVER_ERROR:\r\n return response.statusText;\r\n default:\r\n getApiErrorMessage(response, errorCallBack);\r\n break;\r\n }\r\n}\r\n\r\nfunction getApiErrorMessage(response, errorCallBack) {\r\n (response.json()).then((data) => {\r\n\r\n let key = Object.keys(data)\r\n if (key.includes('msg')) {\r\n key = key[key.indexOf('msg')]\r\n } else {\r\n key = key[0]\r\n }\r\n if (typeof data[key] === 'string')\r\n return errorCallBack(data[key])\r\n if (data.length > 0) {\r\n data = data[0]\r\n }\r\n let keys = Object.keys(data)\r\n if (keys.length > 0) {\r\n keys = keys[0]\r\n }\r\n return errorCallBack(data[keys][0])\r\n })\r\n}\r\n\r\nexport const getGroups = (token, org_id, successCallback, failureCallback, errorCallback) => {\r\n // fetchApi(`${baseurl}/groups/${org_id}`,\r\n fetchApi(`${baseurl}/groups/`,\r\n\r\n {\r\n\r\n \"Authorization\": token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"mode\": 'no-cors', \"Content-Type\": \"application/json\",\r\n \"accept\": \"application/json\"\r\n\r\n }, \"get\", null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nexport const assignGroupsToUser = (token, body, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/groups/user/`,\r\n {\r\n\r\n \"Authorization\": token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"mode\": 'no-cors', \"Content-Type\": \"application/json\",\r\n \"accept\": \"application/json\"\r\n\r\n }, \"post\", body, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nexport const deleteGroupUser = (token, body, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/groups/user/`,\r\n {\r\n\r\n \"Authorization\": token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"mode\": 'no-cors', \"Content-Type\": \"application/json\",\r\n \"accept\": \"application/json\"\r\n\r\n }, \"delete\", body, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nexport const getAssignGroupsUser = (token, search, org_id, successCallback, failureCallback, errorCallback) => {\r\n // fetchApi(`${baseurl}/groups/user/${org_id}${search}`,\r\n fetchApi(`${baseurl}/groups/user/${search}`,\r\n {\r\n\r\n \"Authorization\": token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"mode\": 'no-cors', \"Content-Type\": \"application/json\",\r\n \"accept\": \"application/json\"\r\n\r\n }, \"get\", null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n\r\nexport const setProperties = (token, body, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/groups/properties/`,\r\n {\r\n\r\n \"Authorization\": token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"mode\": 'no-cors', \"Content-Type\": \"application/json\",\r\n \"accept\": \"application/json\"\r\n\r\n }, \"post\", body, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nexport const deleteProperties = (token, body, successCallback, failureCallback, errorCallback) => {\r\n if (window.confirm(\"Are you sure want to delete this property ?\")) {\r\n fetchApi(`${baseurl}/groups/properties/`,\r\n {\r\n\r\n \"Authorization\": token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"mode\": 'no-cors', \"Content-Type\": \"application/json\",\r\n \"accept\": \"application/json\"\r\n\r\n }, \"delete\", body, successCallback, failureCallback, errorCallback)\r\n }\r\n}\r\n\r\n\r\nexport const updateProperties = (token, body, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/groups/properties/`,\r\n {\r\n\r\n \"Authorization\": token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"mode\": 'no-cors', \"Content-Type\": \"application/json\",\r\n \"accept\": \"application/json\"\r\n\r\n }, \"put\", body, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n\r\n\r\nexport const updateGroups = (token, body, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/groups/`,\r\n {\r\n\r\n \"Authorization\": token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"mode\": 'no-cors', \"Content-Type\": \"application/json\",\r\n \"accept\": \"application/json\"\r\n\r\n }, \"put\", body, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n\r\nexport const getProperties = (token, org_id, successCallback, failureCallback, errorCallback) => {\r\n // fetchApi(`${baseurl}/groups/properties/${org_id}`,\r\n fetchApi(`${baseurl}/groups/properties/`,\r\n {\r\n\r\n \"Authorization\": token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"mode\": 'no-cors', \"Content-Type\": \"application/json\",\r\n \"accept\": \"application/json\"\r\n\r\n }, \"get\", null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nexport const downloadCSV_File = (token, project_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/things/bulk/sample-csv/${project_id}`,\r\n {\r\n\r\n \"Authorization\": token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"mode\": 'no-cors', \"Content-Type\": \"application/json\",\r\n \"accept\": \"application/json\"\r\n\r\n }, \"get\", null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nexport const getAlarmsThingWise = (token, username, project_id, thing_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/projects/${project_id}/${thing_id}/alarm/`,\r\n {\r\n \"Authorization\": token,\r\n \"user\": username,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"mode\": 'no-cors', \"Content-Type\": \"application/json\",\r\n \"accept\": \"application/json\"\r\n\r\n },\r\n \"get\", null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nexport const postGroups = (token, body, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/groups/`,\r\n {\r\n \"Authorization\": token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"mode\": 'no-cors', \"Content-Type\": \"application/json\",\r\n \"accept\": \"application/json\"\r\n\r\n }, \"post\", body, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nexport const deleteGroups = (token, body, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/groups/`,\r\n {\r\n \"Authorization\": token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"mode\": 'no-cors', \"Content-Type\": \"application/json\",\r\n \"accept\": \"application/json\"\r\n\r\n }, \"delete\", body, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * Get user profile\r\n * \r\n * @param {string} token Access token\r\n * @param {string} user Username\r\n * @param {function} successCallback Success Callback function\r\n * @param {function} failureCallback Failure Callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\n\r\nconst getUserProfile = (token, username, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(api.user_profile,\r\n {\r\n \"Authorization\": token,\r\n \"user\": username,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"mode\": 'no-cors', \"Content-Type\": \"application/json\",\r\n \"accept\": \"application/json\"\r\n\r\n }, \"get\", null, successCallback, failureCallback, errorCallback)\r\n\r\n}\r\n\r\n/**\r\n * Get user profile\r\n * \r\n * @param {string} token Access token\r\n * @param {string} user Username\r\n * @param {function} successCallback Success Callback function\r\n * @param {function} failureCallback Failure Callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\n\r\nconst getProfileData = (token, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(api.profile,\r\n {\r\n \"Authorization\": token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"mode\": 'no-cors', \"Content-Type\": \"application/json\",\r\n \"accept\": \"application/json\"\r\n }, \"get\", null, successCallback, failureCallback, errorCallback)\r\n\r\n}\r\n\r\n\r\n/**\r\n * Create project\r\n * \r\n * @param {string} project_name - Project name to be registered\r\n * @param {string} project_desc - Project name to be registered\r\n * @param {string} username - username to be passed through header\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst createProject = (project_name, project_desc, token, username, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(api.project_user,\r\n {\r\n \"Authorization\": token,\r\n \"user\": username\r\n\r\n\r\n }, \"post\", {\r\n \"project_name\": project_name,\r\n \"project_desc\": project_desc\r\n }, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * Create project\r\n * \r\n * @param {string} project_name - Project name to be registered\r\n * @param {string} project_desc - Project name to be registered\r\n * @param {string} username - username to be passed through header\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\n\r\nconst deleteProject = (accessToken, projectId, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/projects/${projectId}/`,\r\n {\r\n \"Authorization\": accessToken\r\n }, \"delete\", {\r\n \"project_id\": projectId,\r\n }, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n\r\n\r\nconst updateProject = (project_id, project_name, project_desc, token, successCallback, failureCallback, errorCallback) => {\r\n\r\n fetchApi(api.project_user,\r\n {\r\n \"Authorization\": token\r\n\r\n }, \"PUT\", {\r\n \"project_id\": project_id,\r\n \"project_name\": project_name,\r\n \"project_desc\": project_desc\r\n }, successCallback, failureCallback, errorCallback)\r\n\r\n}\r\n\r\n\r\n/**\r\n* List of projects\r\n* \r\n* \r\n* \r\n* @param {string} token - Bearer token for authorization\r\n* @param {string} username - username to be passed through header\r\n* @param {function} successCallback - Callback upon successful api fetch\r\n* @param {function} failureCallback - Callback upon failed api fetch\r\n* @param {function} errorCallback - Callback upon fetch exception\r\n* \r\n*/\r\nconst listProjects = (token, pageNumber, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/projects/user/?page=${pageNumber}`,\r\n {\r\n\r\n \"Authorization\": token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"mode\": 'no-cors', \"Content-Type\": \"application/json\",\r\n \"accept\": \"application/json\"\r\n\r\n }, \"get\", null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nexport const searchlistProjects = (token, search, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/projects/user/?search=${search}`,\r\n {\r\n\r\n \"Authorization\": token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"mode\": 'no-cors', \"Content-Type\": \"application/json\",\r\n \"accept\": \"application/json\"\r\n\r\n }, \"get\", null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n\r\n/**\r\n* List of projects with search support\r\n* \r\n* \r\n* \r\n* @param {string} token - Bearer token for authorization\r\n* @param {string} username - username to be passed through header\r\n* @param {function} successCallback - Callback upon successful api fetch\r\n* @param {function} failureCallback - Callback upon failed api fetch\r\n* @param {function} errorCallback - Callback upon fetch exception\r\n* \r\n*/\r\nexport const listProjectsWithSearch = (token, pageNumber, searchText, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/projects/user/?page=${pageNumber}&search=${searchText}`,\r\n {\r\n\r\n \"Authorization\": token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"mode\": 'no-cors', \"Content-Type\": \"application/json\",\r\n \"accept\": \"application/json\"\r\n\r\n }, \"get\", null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n\r\n/**\r\n* List of N number of projects\r\n* \r\n* \r\n* \r\n* @param {string} token - Bearer token for authorization\r\n* @param {string} username - username to be passed through header\r\n* @param {number} project_count - Number of latest projects to be fetched\r\n* @param {function} successCallback - Callback upon successful api fetch\r\n* @param {function} failureCallback - Callback upon failed api fetch\r\n* @param {function} errorCallback - Callback upon fetch exception\r\n* \r\n*/\r\nconst listNProjects = (token, username, project_count, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(api.project_user,\r\n {\r\n \"Authorization\": token,\r\n \"user\": username,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"mode\": 'no-cors', \"Content-Type\": \"application/json\",\r\n \"accept\": \"application/json\"\r\n\r\n }, \"get\", null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n *\r\n * Get a list of cameras for a user\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {string} username - username to be passed through header\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst listCameras = (token, project_id, pageNumber, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/camera/all/${project_id}/?page=${pageNumber}`,\r\n {\r\n \"Authorization\": token,\r\n \"Access-Control-Allow-Origin\": \"*\",\r\n \"mode\": 'no-cors', \"Content-Type\": \"application/json\",\r\n \"accept\": \"application/json\"\r\n\r\n }, \"get\", null, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n\r\n/**\r\n *\r\n * Get a list of Things for a given project\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {string} username - username to be passed through header\r\n * @param {string} project - Project id from where things to be fetched\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst listThings = (token, project, pagecount, search = '', successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/projects/${project}/things/?page=${pagecount}&search=${search}`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"get\", null, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n\r\n/**\r\n *\r\n * Register a thing\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {string} username - username to be passed through header\r\n * @param {string} project - Project id from where things to be fetched\r\n * @param {string} thingname - Name of thing\r\n * @param {string} thingid - Thing id\r\n * @param {object} schema - Schema of the thing\r\n * @param {string} description - Thing description\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nfunction registerThing(token, username, project, thingname, thingid, schema, description, transfer, successCallback, failureCallback, errorCallback) {\r\n let register_thing_payload = {\r\n \"project_id\": project,\r\n \"thing_name\": thingname,\r\n \"thing_id\": thingid,\r\n \"schema\": schema,\r\n \"desc\": description,\r\n \"product\": transfer,\r\n }\r\n\r\n // console.log(JSON.stringify(register_thing_payload))\r\n\r\n fetchApi(api.things, {\r\n \"Authorization\": token,\r\n \"user\": username\r\n },\r\n \"post\", register_thing_payload, successCallback, failureCallback, errorCallback);\r\n}\r\n\r\n/**\r\n * For regenerating Image stream key\r\n * \r\n * @param {*} token Bearer token for authorization\r\n * @param {*} project_id Project id from where things to be fetched\r\n * @param {*} imagestream_id Image stream ID\r\n * @param {*} successCallback Success callback\r\n * @param {*} failureCallback Failure callback\r\n * @param {*} errorCallback Error callback\r\n */\r\nexport function regenerateImageStream(token, project_id, imagestream_id, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/imagestream/${project_id}/streams/${imagestream_id}/`, {\r\n \"authorization\": token\r\n },\r\n \"POST\", {}, successCallback, failureCallback, errorCallback);\r\n}\r\n\r\n/**\r\n *\r\n * Delete a Project thing\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {string} username - username to be passed through header\r\n * @param {string} project - Project id from where things to be fetched\r\n * @param {string} thingname - Name of thing\r\n * @param {string} thingid - Thing id\r\n * @param {object} schema - Schema of the thing\r\n * @param {string} description - Thing description\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nfunction deleteProjectThing(token, projectId, thingId, successCallback, failureCallback, errorCallback) {\r\n let register_thing_payload = {\r\n \"things_id\": thingId,\r\n }\r\n\r\n fetchApi(`${baseurl}/projects/${projectId}/things/`, {\r\n \"Authorization\": token,\r\n },\r\n \"delete\", register_thing_payload, successCallback, failureCallback, errorCallback);\r\n}\r\n\r\n/**\r\n *\r\n * Update a Project thing\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {string} username - username to be passed through header\r\n * @param {string} project - Project id from where things to be fetched\r\n * @param {string} thingname - Name of thing\r\n * @param {string} thingid - Thing id\r\n * @param {object} schema - Schema of the thing\r\n * @param {string} description - Thing description\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nfunction updateThing(token, project, thingname, thingid, schema, description, transfer_status, successCallback, failureCallback, errorCallback) {\r\n let register_thing_payload = {\r\n \"project_id\": project,\r\n \"thing_name\": thingname,\r\n \"thing_id\": thingid,\r\n \"schema\": schema,\r\n \"desc\": description,\r\n \"product\": transfer_status,\r\n }\r\n\r\n\r\n fetchApi(api.things, {\r\n \"Authorization\": token,\r\n },\r\n \"Put\", register_thing_payload, successCallback, failureCallback, errorCallback);\r\n}\r\n\r\n/**\r\n *\r\n * Get thing details\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {string} project - Project id \r\n * @param {string} thingid - Thing id\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\n\r\nfunction getThingDetails(token, project, thingid, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${api.things}?project_id=${project}&thing_id=${thingid}`, {\r\n \"Authorization\": token,\r\n }, 'get', null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n\r\n/**\r\n *\r\n * Get thing datalog\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {string} username - username to be passed through header\r\n * @param {string} project - Project id \r\n * @param {string} thingid - Thing id\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nfunction getThingDatalog(token, username, project, thingid, from_date, to_date, successCallback, failureCallback, errorCallback) {\r\n fetchApi(api.things_datalog, {\r\n \"Authorization\": token,\r\n \"user\": username\r\n }, 'post', {\r\n \"from_date\": from_date,\r\n \"to_date\": to_date,\r\n \"thing_id\": thingid,\r\n \"project\": project\r\n }, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nconst onExportCSV = (accessToken, project_id, thing_id, date, yesterday_date, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(api.datalog_export,\r\n {\r\n 'Authorization': accessToken\r\n }, 'PATCH', {\r\n \"thing_id\": thing_id,\r\n \"project\": project_id,\r\n \"from_date\": yesterday_date,\r\n \"to_date\": date\r\n }, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n *\r\n * Verify existing access token\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {string} username - username to be passed through header\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nfunction verifyToken(token, username, successCallback, failureCallback, errorCallback) {\r\n // debugger\r\n fetchApi(api.verify, {\r\n \"Authorization\": token,\r\n \"user\": username\r\n }, 'get', null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n *\r\n * Create new camera\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {string} username - username to be passed through header\r\n * @param {string} camera_name - Given name of the camera\r\n * @param {string} camera_type - Type of camera\r\n * @param {string} project_id - Project id of the camera associated with\r\n * @param {string} local_url - Local url where the visual data is collected from \r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nfunction createCamera(token, camera_name, camera_desc, camera_type, project_id, local_url, successCallback, failureCallback, errorCallback) {\r\n fetchApi(api.camera, {\r\n \"Authorization\": token,\r\n }, 'post', {\r\n \"camera_name\": camera_name,\r\n \"camera_desc\": camera_desc,\r\n \"camera_type\": camera_type,\r\n 'project_id': project_id,\r\n 'local_url': local_url\r\n }, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n *\r\n * Create new camera\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {string} username - username to be passed through header\r\n * @param {string} camera_name - Given name of the camera\r\n * @param {string} camera_type - Type of camera\r\n * @param {string} project_id - Project id of the camera associated with\r\n * @param {string} local_url - Local url where the visual data is collected from \r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nfunction modifyCamera(token, camera_name, camera_desc, camera_type, camera_id, local_url, successCallback, failureCallback, errorCallback) {\r\n fetchApi(api.camera, {\r\n \"Authorization\": token,\r\n }, 'put', {\r\n \"camera_name\": camera_name,\r\n \"camera_desc\": camera_desc,\r\n \"camera_type\": camera_type,\r\n 'camera_id': camera_id,\r\n 'local_url': local_url\r\n }, successCallback, failureCallback, errorCallback)\r\n}\r\n/**\r\n *\r\n * Create new camera\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {string} username - username to be passed through header\r\n * @param {string} camera_name - Given name of the camera\r\n * @param {string} camera_type - Type of camera\r\n * @param {string} project_id - Project id of the camera associated with\r\n * @param {string} local_url - Local url where the visual data is collected from \r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nfunction deleteCamera(token, camera_id, successCallback, failureCallback, errorCallback) {\r\n fetchApi(api.camera + camera_id + '/', {\r\n \"Authorization\": token,\r\n }, 'delete', null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n *\r\n * Create Trend\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {string} username - username to be passed through header\r\n * @param {string} name - Given name of the Trend\r\n * @param {string} desc - Trend Description\r\n * @param {string} project_id - Project id of the camera associated with\r\n * @param {string} xaxis - xaxis parameters \r\n * @param {string} yaxis - yaxis parameters \r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nfunction createTrend(token, username, name, desc, project_id, xaxis, yaxis, successCallback, failureCallback, errorCallback) {\r\n fetchApi(api.project + project_id + \"/trend/\", {\r\n \"Authorization\": token,\r\n \"user\": username\r\n }, 'post', {\r\n \"trend_name\": name,\r\n \"trend_desc\": desc,\r\n \"xaxis\": xaxis,\r\n 'yaxis': yaxis\r\n }, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n\r\n/**\r\n *\r\n * Get Trends for a project\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {string} username - username to be passed through header\r\n * @param {string} project_id - Project id of the camera associated with\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nfunction getTrends(token, username, project_id, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${api.project}${project_id}/trend/`, {\r\n \"Authorization\": token,\r\n \"user\": username\r\n }, 'get', null, successCallback, failureCallback, errorCallback)\r\n\r\n}\r\n\r\n/**\r\n * Get Trend data using project and trend id\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {string} username - username to be passed through header\r\n * @param {string} project_id - Project id of the Trend associated with\r\n * @param {string} trend_id - Trend id \r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nfunction getTrendData(token, username, project_id, trend_id, from, to, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${api.project}${project_id}/trend/${trend_id}?from=${from}&to=${to}`, {\r\n \"Authorization\": token,\r\n \"user\": username\r\n }, 'get', null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {string} username username to be passed through header\r\n * @param {string} project_id Project id of the Trend associated with\r\n * @param {string} trend_id Trend id\r\n * @param {function} successCallback successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback errorCallback - Callback upon fetch exception\r\n */\r\nfunction deleteTrend(token, username, project_id, trend_id, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${api.project}${project_id}/trend/${trend_id}`, {\r\n \"Authorization\": token,\r\n \"user\": username\r\n }, 'delete', { project_id: project_id }, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n\r\n/**\r\n *\r\n * Create Alarm for a project\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {string} username - username to be passed through header\r\n * @param {string} project_id - Project id with which alarm is associated\r\n * @param {string} alarm_name - Alarm name\r\n * @param {string} alarm_desc - Alarm description\r\n * @param {string} thing_id - Thing id associated with the alarm\r\n * @param {boolean} alarm_status - Alarm status on/off\r\n * @param {int} thing_pin - Thing pin that for which alarm is set for\r\n * @param {string} h - warning high value \r\n * @param {string} hh - Alarm high panic value\r\n * @param {string} l - Warning low value\r\n * @param {string} ll - Alarm low panic value\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst createAlarm = (token, username, project_id, alarm_name, alarm_desc, thing_id, alarm_status, thing_pin, h, hh, l, ll, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${api.project}${project_id}/alarm/`,\r\n {\r\n \"Authorization\": token,\r\n \"user\": username\r\n },\r\n 'post',\r\n {\r\n alarm_name: alarm_name,\r\n alarm_desc: alarm_desc,\r\n project_id: project_id,\r\n thing_id: thing_id,\r\n alarm_status: alarm_status,\r\n thing_pin: thing_pin,\r\n h: h, hh: hh, l: l, ll: ll\r\n }, successCallback, failureCallback, errorCallback)\r\n\r\n}\r\n\r\n\r\n/**\r\n *\r\n * Get Alarms for a project\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {string} usernprojectame - username to be passed through header\r\n * @param {string} project_id - Project id of the camera associated with\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nfunction getAlarms(token, username, project_id, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${api.project}${project_id}/alarm/`,\r\n {\r\n \"Authorization\": token,\r\n \"user\": username\r\n }, 'get', null, successCallback, failureCallback, errorCallback)\r\n\r\n}\r\n\r\n\r\n/**\r\n *\r\n * Delete Alarm for a project\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {string} username - username to be passed through header\r\n * @param {string} project_id - Project id of the camera associated with\r\n * @param {string} alarm_id - Project id of the camera associated with\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nfunction deleteAlarm(token, username, project_id, alarm_id, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${api.project}${project_id}/alarm/`, {\r\n \"Authorization\": token,\r\n \"user\": username\r\n }, 'delete', { \"alarm_id\": alarm_id }, successCallback, failureCallback, errorCallback)\r\n\r\n}\r\n\r\n\r\n/**\r\n *\r\n * Modify Alarm for a project\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {string} username - username to be passed through header\r\n * @param {string} project_id - Project id of the camera associated with\r\n * @param {string} alarm_id - Project id of the camera associated with\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nfunction modifyAlarm(token, project_id, alarm_id, name, description, alarm_status, thing_id, thing_pin, h, hh, l, ll, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${api.project}${project_id}/alarm/`, {\r\n \"Authorization\": token,\r\n }, 'put',\r\n {\r\n \"alarm_id\": alarm_id, \"alarm_name\": name, \"alarm_desc\": description, \"alarm_status\": alarm_status, thing_id: thing_id, thing_pin: thing_pin, h: h, hh: hh, l: l, ll: ll\r\n\r\n }, successCallback, failureCallback, errorCallback)\r\n\r\n}\r\n\r\n/**\r\n * Update user profile\r\n * \r\n * @param {string} token Bearer Access token\r\n * @param {string} username - Username \r\n * @param {string} name - User Full name\r\n * @param {string} phone - Phone number\r\n * @param {string} country - Country\r\n * @param {string} timezone - Time zone\r\n * @param {function} successCallback - Success callback function\r\n * @param {function} failureCallback - Failure callback function\r\n * @param {function} errorCallback - Error Callback function\r\n */\r\nfunction modifyUserProfile(token, username, name, phone, country, timezone, successCallback, failureCallback, errorCallback) {\r\n fetchApi(api.user_profile, {\r\n \"Authorization\": token,\r\n \"user\": username\r\n }, 'post', { name: name, phone: phone, country: country, timezone: timezone },\r\n successCallback, failureCallback, errorCallback)\r\n\r\n}\r\n\r\n/**\r\n * Update user password\r\n * \r\n * @param {string} token - Bearer access token\r\n * @param {string} username - Username\r\n * @param {string} oldpassword - Old password of the user logged in\r\n * @param {string} newpassword - New Password of the user logged in\r\n * @param {function} successCallback - Success callback function\r\n * @param {function} failureCallback - Failure callback function\r\n * @param {function} errorCallback - Error Callback function\r\n */\r\nfunction updateUserPassword(token, username, oldpassword, newpassword, successCallback, failureCallback, errorCallback) {\r\n fetchApi(\r\n api.user_profile, {\r\n \"Authorization\": token,\r\n \"user\": username\r\n }, 'PATCH', {\r\n old_password: bb64encod(oldpassword),\r\n new_password: bb64encod(newpassword),\r\n }, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n/**\r\n * Get User logs\r\n * \r\n * @param {string} token - Bearer access token\r\n * @param {string} username - Username\r\n * @param {function} successCallback - Success callback function\r\n * @param {function} failureCallback - Failure callback function\r\n * @param {function} errorCallback - Error Callback function\r\n */\r\n// function getUserLogs(token, username, successCallback, failureCallback, errorCallback) {\r\n// fetchApi(\r\n// api.user_logs, {\r\n// \"Authorization\": token,\r\n// \"user\": username\r\n// }, 'get', null, successCallback, failureCallback, errorCallback\r\n// )\r\n// }\r\nfunction getUserLogs(token, pageNo, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/user/logs/?page=${pageNo}`,\r\n {\r\n \"Authorization\": token,\r\n }, 'get', null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * Creates a new app for the user\r\n * \r\n * @param {string} token \r\n * @param {string} username Username\r\n * @param {string} app_name App name provided by the user\r\n * @param {array} scopes List of scopes the app has access to\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nfunction createApp(token, username, app_name, scopes, successCallback, failureCallback, errorCallback) {\r\n fetchApi(\r\n `${baseurl}/api/v1/app/`, {\r\n \"Authorization\": token,\r\n \"user\": username\r\n }, 'post', {\r\n app_name: app_name, scopes: scopes\r\n }, successCallback, failureCallback, errorCallback\r\n )\r\n\r\n}\r\n\r\nfunction getAllScopes(token, successCallback, failureCallback, errorCallback) {\r\n fetchApi(\r\n `${baseurl}/api/v1/scopes/`, {\r\n \"Authorization\": token,\r\n }, 'get', null, successCallback, failureCallback, errorCallback\r\n )\r\n\r\n}\r\n\r\n\r\n/**\r\n * Get registered user apps\r\n * \r\n * @param {string} token Access bearer token \r\n * @param {string} username Username\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nfunction getAppsList(token, username, successCallback, failureCallback, errorCallback) {\r\n fetchApi(\r\n `${baseurl}/api/v1/app/`, {\r\n \"Authorization\": token,\r\n \"user\": username\r\n }, 'get', null, successCallback, failureCallback, errorCallback\r\n )\r\n\r\n}\r\n\r\n/**\r\n * Revoke / delete an existing app\r\n * \r\n * @param {string} token Access bearer token\r\n * @param {string} username Username\r\n * @param {string} appid Appid to be removed\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nfunction revokeApp(token, username, appid, successCallback, failureCallback, errorCallback) {\r\n fetchApi(\r\n `${baseurl}/api/v1/app/`, {\r\n \"Authorization\": token,\r\n \"user\": username\r\n }, 'delete', { app_id: appid }, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n/**\r\n * \r\n * @param {function} successCallback Success callback\r\n * @param {function} failureCallback Failure callback\r\n * @param {function} errorCallback Error callback\r\n */\r\nfunction getBrands(successCallback, failureCallback, errorCallback) {\r\n fetchApi(\r\n `${irbaseurl}/api/brands`, {\r\n \"Content-type\": 'application/json'\r\n }, 'get', null, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n/**\r\n * \r\n * @param {string} username \r\n * @param {string} token \r\n * @param {string} project_id \r\n * @param {function} successCallback \r\n * @param {function} failureCallback \r\n * @param {function} errorCallback \r\n */\r\nfunction getIRBlasters(token, project_id, successCallback, failureCallback, errorCallback) {\r\n fetchApi(\r\n `${baseurl}/irblaster/?project_id=${project_id}`, {\r\n \"Authorization\": token,\r\n }, 'get', null,\r\n successCallback, failureCallback, errorCallback\r\n )\r\n\r\n}\r\n/**\r\n * \r\n * @param {string} username \r\n * @param {string} token \r\n * @param {string} project_id \r\n * @param {function} successCallback \r\n * @param {function} failureCallback \r\n * @param {function} errorCallback \r\n */\r\nfunction deleteIRBlasters(token, project_id, irblaster_id, successCallback, failureCallback, errorCallback) {\r\n fetchApi(\r\n `${baseurl}/irblaster/`, {\r\n \"Authorization\": token,\r\n }, 'delete', {\r\n \"project_id\": project_id,\r\n \"irblaster_id\": irblaster_id\r\n }\r\n ,\r\n successCallback, failureCallback, errorCallback\r\n )\r\n\r\n}\r\n\r\n\r\n/**\r\n * \r\n * @param {string} name IRBlaster name\r\n * @param {string} desc IRBlaster description\r\n * @param {string} username \r\n * @param {string} token \r\n * @param {string} project_id \r\n * @param {function} successCallback \r\n * @param {function} failureCallback \r\n * @param {function} errorCallback \r\n */\r\nfunction registerIRBlaster(name, desc, username, token, project_id, successCallback, failureCallback, errorCallback) {\r\n fetchApi(\r\n `${baseurl}/irblaster/`, {\r\n \"Authorization\": token,\r\n \"user\": username\r\n }, 'post', { irblaster_name: name, irblaster_desc: desc, project_id: project_id },\r\n successCallback, failureCallback, errorCallback\r\n )\r\n\r\n}\r\n\r\n/**\r\n * \r\n * @param {string} name IRBlaster name\r\n * @param {string} desc IRBlaster description\r\n * @param {string} username \r\n * @param {string} token \r\n * @param {string} project_id \r\n * @param {function} successCallback \r\n * @param {function} failureCallback \r\n * @param {function} errorCallback \r\n */\r\nfunction updateIRBlaster(name, desc, username, token, irblaster_id, project_id, successCallback, failureCallback, errorCallback) {\r\n fetchApi(\r\n `${baseurl}/irblaster/`, {\r\n \"Authorization\": token,\r\n \"user\": username\r\n }, 'put', { irblaster_name: name, irblaster_desc: desc, project_id: project_id, irblaster_id: irblaster_id },\r\n successCallback, failureCallback, errorCallback\r\n )\r\n\r\n}\r\n\r\nconst createWebHook = (token, thing_id, project_id, method, webhooks_type, end_point, header, body, extra, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(api.webhooks,\r\n {\r\n \"Authorization\": token,\r\n\r\n\r\n }, \"post\", {\r\n \"thing_id\": thing_id,\r\n \"project_id\": project_id,\r\n \"method\": method,\r\n \"webhooks_type\": webhooks_type,\r\n \"end_point\": end_point,\r\n \"header\": header,\r\n \"body\": body,\r\n \"extra\": extra\r\n }, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nconst getWebHook = (token, thing_id = '', project_id = '', webhooks_id = '', pageNumber, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/things/webhooks/?webhook_id=${webhooks_id}&thing_id=${thing_id}&project_id=${project_id}&page=${pageNumber}`,\r\n {\r\n \"Authorization\": token,\r\n\r\n\r\n }, \"get\", null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nconst updateWebHook = (token, webhooks_id, thing_id, project_id, method, webhooks_type, end_point, header, body, extra, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(api.webhooks,\r\n {\r\n \"Authorization\": token,\r\n\r\n\r\n }, \"put\", {\r\n \"webhooks_id\": webhooks_id,\r\n \"thing_id\": thing_id,\r\n \"project_id\": project_id,\r\n \"method\": method,\r\n \"webhooks_type\": webhooks_type,\r\n \"end_point\": end_point,\r\n \"header\": header,\r\n \"body\": body,\r\n \"extra\": extra\r\n }, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nconst deleteWebHook = (token, webhooks_id, project_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(api.webhooks,\r\n {\r\n \"Authorization\": token,\r\n\r\n\r\n }, \"delete\", {\r\n \"project_id\": project_id,\r\n \"webhooks_id\": webhooks_id\r\n }, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * Function to Get Process List using projectId\r\n *\r\n * @param {string} project_id the id of the project\r\n * @param {string} token token\r\n * @param {function} successCallback Successcallback function\r\n * @param {function} failureCallback \r\n * @param {function} errorCallback \r\n */\r\n\r\nconst getProcess = (token, project_id = '', successCallback, failureCallback, errorCallback) => {\r\n fetchApi(api?.process + '?project_id=' + project_id,\r\n {\r\n \"Authorization\": token,\r\n\r\n\r\n }, \"get\", null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * Function to update Process List using projectId\r\n *\r\n * @param {string} project_id the id of the project\r\n * @param {string} process_id the id of the process\r\n * @param {string} token token\r\n * @param {function} successCallback Successcallback function\r\n * @param {function} failureCallback \r\n * @param {function} errorCallback \r\n */\r\n\r\nconst updateProcess = (token, project_id, process_id, process_name, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(api.process,\r\n {\r\n \"Authorization\": token\r\n\r\n\r\n }, 'put',\r\n {\r\n \"process_name\": process_name,\r\n \"project_id\": project_id,\r\n \"process_id\": process_id\r\n }, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * Function to update Process List using projectId\r\n *\r\n * @param {string} project_id the id of the project\r\n * @param {string} process_id the id of the process\r\n * @param {string} token token\r\n * @param {function} successCallback Successcallback function\r\n * @param {function} failureCallback \r\n * @param {function} errorCallback \r\n */\r\n\r\nconst createProcess = (token, project_id, process_name, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(api.process,\r\n {\r\n \"Authorization\": token\r\n\r\n\r\n }, 'post',\r\n {\r\n \"process_name\": process_name,\r\n \"project_id\": project_id\r\n }, successCallback, failureCallback, errorCallback)\r\n}\r\n/**\r\n * Function to Remove Process List using projectId\r\n *\r\n * @param {string} project_id the id of the project\r\n * @param {string} process_id the id of the process\r\n * @param {string} token token\r\n * @param {function} successCallback Successcallback function\r\n * @param {function} failureCallback \r\n * @param {function} errorCallback \r\n */\r\n\r\nconst removeProcess = (token, project_id, process_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(api.process,\r\n {\r\n \"Authorization\": token\r\n\r\n\r\n }, 'delete',\r\n {\r\n \"project_id\": project_id,\r\n \"process_id\": process_id\r\n }, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * Get process identified by ID\r\n * \r\n * @param {string} token Access token\r\n * @param {string} project_id Project ID to which process belongs to\r\n * @param {string} process_id Process ID to get\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback failure callback function\r\n * @param {function} errorCallback Error Callback function\r\n */\r\nexport const getProcessByID = (token, project_id, process_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${api.process}?project_id=${project_id}&process_id=${process_id}`,\r\n {\r\n \"Authorization\": token\r\n }, 'get', null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * Save process flow\r\n * \r\n * @param {string} token Access token\r\n * @param {string} project_id Project ID to which process belongs to\r\n * @param {string} process_id Process ID to get\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback failure callback function\r\n * @param {function} errorCallback Error Callback function\r\n */\r\nexport const saveProcessFlow = (token, project_id, process_id, flow, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${api.process}flow/`,\r\n {\r\n \"Authorization\": token\r\n }, 'post', {\r\n project_id: project_id,\r\n process_id: process_id,\r\n flow: flow\r\n }, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * Function to Control thing using thingid\r\n * \r\n * @param {string} thingid Thingid of the thing to be controlled\r\n * @param {string} status action status for controlling\r\n * @param {string} username username\r\n * @param {string} token token\r\n * @param {function} successCallback Successcallback function\r\n * @param {function} failureCallback \r\n * @param {function} errorCallback \r\n */\r\nfunction controlThing(thingid, status, username, token, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/things/control/`, {\r\n \"Authorization\": token,\r\n 'user': username\r\n }, 'post', { thingid: thingid, status: status }, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nexport function getACLs(username, token, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/management/acl/`, {\r\n \"Authorization\": token,\r\n 'user': username\r\n }, 'get', null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * Forgot password request \r\n * \r\n * @param {string} email Email for forgot password\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nfunction forgotPassword(email, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/user/forgotpassword/?email=${email}`, {\r\n }, 'get', null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * Reset password setting procedure \r\n * \r\n * @param {string} token Access token\r\n * @param {string} password New password \r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport function resetPassword(token, password, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/user/forgotpassword/`, {\r\n\r\n }, 'post', {\r\n \"token\": token,\r\n \"password\": password\r\n }, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nexport function saveFencingData(token, thing_id, coordinates_list, fencing_name, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/things/geofence/${thing_id}`,\r\n { \"Authorization\": token },\r\n 'post', { coordinates_list: coordinates_list, name: fencing_name },\r\n successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nexport function updateFencingData(token, thing_id, id, requestBody, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/things/geofence/${thing_id}/${id}`,\r\n { \"Authorization\": token },\r\n 'post', requestBody,\r\n successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nexport function fetchFencing(token, thing_id, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/things/geofence/${thing_id}`,\r\n { \"Authorization\": token },\r\n 'get', null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nexport function deleteFencing(token, thing_id, id, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/things/geofence/${thing_id}/${id}`,\r\n { \"Authorization\": token },\r\n 'delete', null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nexport function fetchFencingAlerts(token, thing_id, fromDate, toDate, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/things/geofence/${thing_id}/alerts?from_date=${fromDate}&to_date=${toDate}`,\r\n { \"Authorization\": token },\r\n 'get', null, successCallback, failureCallback, errorCallback)\r\n}\r\n/**\r\n * Welcome page stats and information\r\n * \r\n * @param {string} token Access token\r\n * @param {function} successCallback Success callback\r\n * @param {function} failureCallback Failure callback\r\n * @param {function} errorCallback Error callback\r\n */\r\nexport function dashboard(token, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/dashboard/`,\r\n {\r\n \"Authorization\": token\r\n }, 'get', null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n *\r\n * Get a list of Available Permissions for a given project\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst listAvailablePermission = (token, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/management/permission/`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"get\", null, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n/**\r\n *\r\n * Get a list of Available Groups for a given project\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst listAvailableGroup = (token, organisation_Id, pageNumber, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/management/group/?org_id=${organisation_Id}&page=${pageNumber}`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"get\", null, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n/**\r\n *\r\n * Create a Groups for a given project\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst createGroup = (token, name, organisation, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/management/group/`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"post\", { \"name\": name, \"organisation\": organisation }, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n/**\r\n *\r\n * Update a Groups for a given project\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst modifyGroup = (token, group_id, name, organisation, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/management/group/`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"put\", { \"group_id\": group_id, \"name\": name, \"organisation\": organisation }, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n/**\r\n *\r\n * Remove a Groups for a given project\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst removeGroup = (token, group_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/management/group/`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"delete\", { \"group_id\": group_id }, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n/**\r\n *\r\n * Get a list of Available Roles for a given project\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst listAvailableRoles = (token, organisation_Id, pageNumber, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/management/role/?org_id=${organisation_Id}&page=${pageNumber}`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"get\", null, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n/**\r\n *\r\n * Create a Roles for a given project\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst createRoles = (token, name, organisation, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/management/role/`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"post\", { \"name\": name, \"organisation\": organisation }, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n/**\r\n *\r\n * Update a Roles for a given project\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst modifyRoles = (token, role_id, name, organisation, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/management/role/`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"put\", { \"role_id\": role_id, \"name\": name, \"organisation\": organisation }, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n/**\r\n *\r\n * Remove a Role for a given project\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst removeRoles = (token, role_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/management/role/`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"delete\", { \"role_id\": role_id }, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n/**\r\n *\r\n * Get Permissions of a Role for a given project\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst fetchRolePermissions = (token, role_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/management/permission_role/?role_id=${role_id}`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"get\", null, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n\r\n/**\r\n *\r\n * Create Role Permissions \r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst makeRolePermission = (token, role_id, permission_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/management/permission_role/`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"post\",\r\n {\r\n \"role_id\": role_id,\r\n \"permission_id\": permission_id\r\n }\r\n , successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n/**\r\n *\r\n * Delete Role Permissions \r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst removeRolePermission = (token, role_permission_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/management/permission_role/`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"delete\",\r\n {\r\n \"role_permission_id\": role_permission_id,\r\n }\r\n , successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\nexport function listImageStream(accessToken, projectId, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/imagestream/${projectId}/streams/`, {\r\n \"Authorization\": accessToken\r\n }, 'get', null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nexport function createImageStream(accessToken, projectId, imageStreamData, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/imagestream/${projectId}/stream/`, {\r\n \"Authorization\": accessToken\r\n }, 'post', imageStreamData, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n\r\n/**\r\n * Retrieves a list of Web Scada views for a given project.\r\n *\r\n * @param {string} accessToken - The access token for authentication.\r\n * @param {string} projectId - The ID of the project.\r\n * @param {function} successCallback - The callback function to be executed on a successful response.\r\n * @param {function} failureCallback - The callback function to be executed on a failed response.\r\n * @param {function} errorCallback - The callback function to be executed on an error.\r\n */\r\nfunction listWebScada(accessToken, projectId, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/scada/${projectId}/scadalist/`, {\r\n \"Authorization\": accessToken\r\n }, 'get', null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n\r\n\r\n/**\r\n * Creates a web SCADA view.\r\n *\r\n * @param {string} accessToken - The access token for authentication.\r\n * @param {string} projectId - The ID of the project.\r\n * @param {object} webScadaData - The data for the web SCADA view.\r\n * @param {function} successCallback - The callback function to be called on success.\r\n * @param {function} failureCallback - The callback function to be called on failure.\r\n * @param {function} errorCallback - The callback function to be called on error.\r\n */\r\nfunction createWebScadaView(accessToken, projectId, webScadaData, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/scada/${projectId}/scada/`, {\r\n \"Authorization\": accessToken\r\n }, 'post', webScadaData, successCallback, failureCallback, errorCallback);\r\n}\r\n\r\n\r\n/**\r\n * Deletes a Web Scada view.\r\n *\r\n * @param {string} accessToken - The access token for authentication.\r\n * @param {string} projectId - The ID of the project.\r\n * @param {string} scadaId - The ID of the Scada view.\r\n * @param {function} successCallback - The callback function to be called on success.\r\n * @param {function} failureCallback - The callback function to be called on failure.\r\n * @param {function} errorCallback - The callback function to be called on error.\r\n */\r\nfunction deleteWebScadaView(accessToken, projectId, scadaId, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/scada/${projectId}/scada/${scadaId}/delete/`, {\r\n \"Authorization\": accessToken\r\n }, 'DELETE', null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * Fetches the details of a web SCADA.\r\n *\r\n * @param {string} accessToken - The access token for authentication.\r\n * @param {string} projectId - The ID of the project.\r\n * @param {string} scadaId - The ID of the SCADA.\r\n * @param {function} successCallback - The callback function to be executed on successful API call.\r\n * @param {function} failureCallback - The callback function to be executed on API call failure.\r\n * @param {function} errorCallback - The callback function to be executed on API call error.\r\n */\r\nfunction webScadaDetail(accessToken, projectId, scadaId, successCallback, failureCallback, errorCallback){\r\n console.log(accessToken)\r\n fetchApi(`${baseurl}/scada/${projectId}/scada/${scadaId}/`, {\r\n \"Authorization\": accessToken\r\n }, 'get', null, successCallback, failureCallback, errorCallback)\r\n\r\n}\r\n\r\n\r\n/**\r\n * Updates the web SCADA view.\r\n *\r\n * @param {string} accessToken - The access token.\r\n * @param {string} projectId - The project ID.\r\n * @param {string} scadaId - The SCADA ID.\r\n * @param {object} webScadaData - The data for the web SCADA view.\r\n * @param {function} successCallback - The callback function to be executed on success.\r\n * @param {function} failureCallback - The callback function to be executed on failure.\r\n * @param {function} errorCallback - The callback function to be executed on error.\r\n * @return {void}\r\n */\r\nfunction updateWebScadaView(accessToken, projectId, scadaId, webScadaData, successCallback, failureCallback, errorCallback){\r\n fetchApi(`${baseurl}/scada/${projectId}/scada/${scadaId}/edit/`, {\r\n \"Authorization\": accessToken\r\n }, 'post', webScadaData, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nexport function saveWebScadaHMI(accessToken, projectId, scadaId, webScadaData, successCallback, failureCallback, errorCallback){\r\n fetchApi(`${baseurl}/scada/${projectId}/hmi/${scadaId}/save/`, {\r\n \"Authorization\": accessToken\r\n }, 'post', webScadaData, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n\r\n\r\n/**\r\n *\r\n * Create Role_GROUP \r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst makeRoleGroup = (token, role_id, group_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/management/role_group/`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"post\",\r\n {\r\n \"role_id\": role_id,\r\n \"group_id\": group_id\r\n }\r\n , successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\nexport function deleteImageStream(accessToken, projectId, imageStreamId, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/imagestream/${projectId}/streams/${imageStreamId}/delete/`, {\r\n \"Authorization\": accessToken\r\n }, 'DELETE', null, successCallback, failureCallback, errorCallback)\r\n}\r\nexport function updateImageStream(accessToken, projectId, imageStreamId, body, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/imagestream/${projectId}/streams/${imageStreamId}/edit/`, {\r\n \"Authorization\": accessToken\r\n }, 'POST',\r\n {\r\n \"name\": body.name,\r\n \"frequency\": body.frequency,\r\n \"preview_number\": body.preview_number,\r\n \"storage_period\": body.storage_period\r\n },\r\n successCallback, failureCallback, errorCallback)\r\n}\r\nexport function imageStreamDetail(accessToken, projectId, imageStreamId, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/imagestream/${projectId}/streams/${imageStreamId}/`, {\r\n \"Authorization\": accessToken\r\n }, 'get', null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n *\r\n * Get a list of Available User of an Organization\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst listAvailableUsers = (token, org_id, pageNumber, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/organisation/user/?org_id=${org_id}&page=${pageNumber}`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"get\", null, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n/**\r\n *\r\n * Get a list of Available User of an Organization\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst getAllUserGroup = (token, user_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/management/group/user/?user_id=${user_id}`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"get\", null, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n/**\r\n *\r\n * Get a list of Available User of an Organization\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst deleteUserGroup = (token, group_user_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/management/group_user/`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"delete\",\r\n { \"group_user_id\": group_user_id }, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n/**\r\n *\r\n * Get a list of Available User of an Organization\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst createUserGroup = (token, user_id, group_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/management/group_user/`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"post\",\r\n { \"group_id\": group_id, \"user_id\": user_id }, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n/**\r\n *\r\n * Get a list of Available User of an Organization\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst getAllGroupRoles = (token, group_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/management/role_group/?group_id=${group_id}`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"get\", null, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n/**\r\n *\r\n * Get a list of Available User of an Organization\r\n * \r\n * @param {string} token - Bearer token for authorization\r\n * @param {function} successCallback - Callback upon successful api fetch\r\n * @param {function} failureCallback - Callback upon failed api fetch\r\n * @param {function} errorCallback - Callback upon fetch exception\r\n * \r\n */\r\nconst deleteGroupRole = (token, role_group_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/management/role_group/`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"delete\",\r\n { \"role_group_id\": role_group_id }, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n/**\r\n * Create a new user under an organisation for a enterprise account.\r\n * \r\n * @param {string} token Access token\r\n * @param {string} org_id Organisation ID\r\n * @param {object} userObject User information object\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nconst createOrgUser = (token, org_id, userObject, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/organisation/user/`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"post\",\r\n {\r\n \"org_id\": org_id,\r\n \"user\": {\r\n \"name\": userObject.name,\r\n \"email\": userObject.email,\r\n \"password\": userObject.password,\r\n \"phone\": userObject.phone,\r\n \"country\": userObject.country,\r\n \"timezone\": userObject.timezone\r\n }\r\n }, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\nexport const getOrgUsers = (token, org_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/organisation/user/?org_id=${org_id}`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"get\", null, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\nexport function removeUserFromOrg(token, org_id, user_id, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/organisation/user/`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"delete\",\r\n {\r\n \"user_id\": user_id,\r\n \"org_id\": org_id\r\n }, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\nconst transferThingToInternalProject = (token, thing_id, project_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/things/transfer/`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"put\",\r\n {\r\n \"project_id\": project_id,\r\n \"thing_id\": thing_id\r\n }\r\n\r\n , successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\nconst transferThingToExternalProject = (token, thing_id, project_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/projects/${project_id}/transfer/${thing_id}/`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"get\",\r\n null, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\nexport const createDashboard = (token, name, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/dashboards/create/`, {\r\n \"Authorization\": token,\r\n },\r\n \"post\",\r\n {\r\n \"name\": name\r\n }, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\nexport const createAnalyticsKPI = (token, name, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/dashboards/create/`, {\r\n \"Authorization\": token,\r\n },\r\n \"post\",\r\n {\r\n \"name\": name\r\n }, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\nexport const listDashboards = (token, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/dashboards/all/`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"get\",\r\n null, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\nexport const listKPIs = (token, projectId, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/analytics/${projectId}/kpi/`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"get\",\r\n null, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\nexport const KPIDetails = (token, projectId, kpiId, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/analytics/${projectId}/kpi/${kpiId}/`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"get\",\r\n null, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\nexport const deleteDashboard = (token, dashboard_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/dashboards/delete/${dashboard_id}/`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"delete\",\r\n null, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\nexport const deleteAnalytics = (token, KPI_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/dashboards/delete/${KPI_id}/`,\r\n {\r\n \"Authorization\": token,\r\n },\r\n \"delete\",\r\n null, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\nexport const editDashboard = (token, dashboard_id, name, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/dashboards/update/${dashboard_id}/`, {\r\n \"Authorization\": token,\r\n },\r\n \"post\",\r\n {\r\n \"name\": name\r\n }, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\nexport const saveDashboardLayout = (token, dashboard_id, ui_config, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/dashboards/update/${dashboard_id}/`, {\r\n \"Authorization\": token,\r\n },\r\n \"post\",\r\n {\r\n \"ui_config\": ui_config\r\n }, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n\r\nexport const editedAnalytics = (token, KPI_id, name, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/dashboards/update/${KPI_id}/`, {\r\n \"Authorization\": token,\r\n },\r\n \"post\",\r\n {\r\n \"name\": name\r\n }, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n/**\r\n * Get details of a single dashboard\r\n * \r\n * @param {string} token Access token\r\n * @param {string} dashboard_id Dashboard id \r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport const getDashboard = (token, dashboard_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/dashboards/view/${dashboard_id}/`, {\r\n \"Authorization\": token,\r\n },\r\n \"get\", null, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n\r\n/**\r\n * List widget types acceptable to add widget\r\n * \r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback funcation\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport const listWidgetTypes = (successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/dashboards/widget/types/`,\r\n {},\r\n \"get\",\r\n null, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n\r\n/**\r\n * Add a widget to the dashboard identified by Dashboard ID\r\n * \r\n * @param {string} token Access token\r\n * @param {string} dashboard_id Dashboard ID\r\n * @param {string} str_rep String representation of the widget\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport const addWidget = (token, dashboard_id, str_rep, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/dashboards/add/widget/${dashboard_id}/`, {\r\n \"Authorization\": token,\r\n },\r\n \"post\",\r\n {\r\n \"str_rep\": str_rep\r\n }, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n/**\r\n * \r\n * Get camera details\r\n * \r\n * @param {string} token Access token\r\n * @param {string} camera_id Camera ID\r\n * @param {function} successCallback Callback function\r\n * @param {function} failureCallback Callback function\r\n * @param {function} errorCallback Callback function\r\n */\r\nexport const getCameraDetails = (token, camera_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/camera/${camera_id}/`,\r\n {\r\n Authorization: token\r\n },\r\n \"get\",\r\n null, successCallback, failureCallback, errorCallback\r\n )\r\n}\r\n\r\n/**\r\n * Remove widget from a dashboard \r\n * \r\n * @param {string} token Access token\r\n * @param {string} dashboard_id Dashboard ID\r\n * @param {string} widget_id Widget ID to be deleted\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport const removeWidget = (token, dashboard_id, widget_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/dashboards/remove/widget/${dashboard_id}/${widget_id}/`,\r\n {\r\n \"Authorization\": token\r\n\r\n }, \"delete\", null, successCallback, failureCallback, errorCallback)\r\n\r\n}\r\n\r\n/**\r\n * List shared keys \r\n * \r\n * @param {string} token Access token\r\n * @param {string} dashboard_id Dashboard ID\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport const listDashboardShareKeys = (token, dashboard_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/dashboards/share/${dashboard_id}/`,\r\n {\r\n \"Authorization\": token\r\n\r\n }, \"get\", null, successCallback, failureCallback, errorCallback)\r\n\r\n}\r\n\r\n/**\r\n * Generate a shared key \r\n * \r\n * @param {string} token Access token\r\n * @param {string} dashboard_id Dashboard ID\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport const generateDashboardShareKey = (token, dashboard_id, ttl, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/dashboards/share/${dashboard_id}/`,\r\n {\r\n \"Authorization\": token\r\n\r\n }, \"post\", { \"ttl\": ttl }, successCallback, failureCallback, errorCallback)\r\n\r\n}\r\n\r\n\r\n/**\r\n * Delete a shared key \r\n * \r\n * @param {string} token Access token\r\n * @param {string} dashboard_id Dashboard ID\r\n * @param {string} share_key_id Share key ID\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport const deleteDashboardShareKey = (token, dashboard_id, share_key_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/dashboards/share/${dashboard_id}/?sid=${share_key_id}`,\r\n {\r\n \"Authorization\": token\r\n\r\n }, \"delete\", null, successCallback, failureCallback, errorCallback)\r\n\r\n}\r\n\r\n// --------------------------------API's for Package------------------------------//\r\n/**\r\n * Display all packages \r\n * \r\n * @param {string} token Access token\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport const displayAllPackages = (token, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/billing/user/package/`,\r\n {\r\n \"Authorization\": token\r\n }, \"get\", null, successCallback, failureCallback, errorCallback)\r\n\r\n}\r\n\r\n/**\r\n * Check users billing account is present or not \r\n * \r\n * @param {string} token Access token\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport const checkBillingAccount = (token, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/billing/account/`,\r\n {\r\n \"Authorization\": token\r\n\r\n }, \"get\", null, successCallback, failureCallback, errorCallback)\r\n\r\n}\r\n\r\n/**\r\n * Create Billing Account\r\n * \r\n * @param {string} token Access token\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport const createBillingAccount = (token, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/billing/account/`,\r\n {\r\n \"Authorization\": token\r\n\r\n }, \"post\", null, successCallback, failureCallback, errorCallback)\r\n\r\n}\r\n\r\n/**\r\n * Fetch currenct subscription\r\n * \r\n * @param {string} token Access token\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport const fetchSubscription = (token, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/billing/subscription/current/`,\r\n {\r\n \"Authorization\": token\r\n\r\n }, \"get\", null, successCallback, failureCallback, errorCallback)\r\n\r\n}\r\n\r\n/**\r\n * Fetch all Add on features\r\n * \r\n * @param {string} token Access token\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport const fetchAddOnFeatures = (token, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/billing/user/feature/`,\r\n {\r\n \"Authorization\": token\r\n\r\n }, \"get\", null, successCallback, failureCallback, errorCallback)\r\n\r\n}\r\n\r\n/**\r\n * Fetch package features package-wise\r\n * \r\n * @param {string} token Access token\r\n * @param {function} package_id package-id\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport const fetchPackageFeatures = (token, package_id, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/billing/user/package_features/?package_id=${package_id}`,\r\n {\r\n \"Authorization\": token\r\n\r\n }, \"get\", null, successCallback, failureCallback, errorCallback)\r\n\r\n}\r\n\r\n/**\r\n * Send billing subscription data in post method\r\n * \r\n * @param {string} token Access token\r\n * @param {function} subscription_data package subscription data: acc_no, pack_id, addon_features\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport const billingSubscription = (token, subscription_data, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/billing/subscription/`,\r\n {\r\n \"Authorization\": token\r\n\r\n }, \"post\", subscription_data, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * fetch previous subscription history\r\n * \r\n * @param {string} token Access token\r\n * @param {function} account_number billing account number\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport const subscriptionHistory = (token, account_number, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/billing/subscription/?account_number=${account_number}`,\r\n {\r\n \"Authorization\": token\r\n\r\n }, \"get\", null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * send existing subscription extra addon data in post method\r\n * \r\n * @param {string} token Access token\r\n * @param {function} addon_data addon data: feature_id and purchase_value\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport const purchaseExtraAddon = (token, addon_data, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/billing/addon/`,\r\n {\r\n \"Authorization\": token\r\n\r\n }, \"post\", addon_data, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n// ----------API for alarmLog-----------//\r\n\r\n/**\r\n * api to fetch alarm logs w.r.t selected start-date and end-date\r\n * \r\n * @param {string} token Access token\r\n * @param {function} project_id project id\r\n * @param {function} alarm_id alarm id\r\n * @param {function} start_date start date to display alarm log\r\n * @param {function} end_date end date to display alarm log\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport function getAlarmHistory(token, project_id, alarm_id, start_date, end_date, successCallback, failureCallback, errorCallback) {\r\n // fetchApi(`${baseurl}/projects/${project_id}/alarmlog/${alarm_id}/`,\r\n fetchApi(`${baseurl}/projects/${project_id}/alarmlog/${alarm_id}/?start_date=${start_date}&end_date=${end_date}`,\r\n {\r\n \"Authorization\": token\r\n }, 'get', null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * api to fetch alarm logs w.r.t selected start-date and end-date\r\n * \r\n * @param {string} token Access token\r\n * @param {function} log_id log id\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport function acknowledgeAlarmLog(token, log_id, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/projects/alarm/acknowledge/`,\r\n {\r\n \"Authorization\": token\r\n }, 'put', log_id, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * Link user profile integration with google and amazon\r\n * \r\n * @param {string} token Access token\r\n * @param {function} profileMail linked profile's mail-id\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport const userProfileIntegration = (token, profileMail, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/user/profile/integration/`,\r\n {\r\n \"Authorization\": token\r\n\r\n }, \"post\", profileMail, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * Unlink user profile integration with google and amazon\r\n * \r\n * @param {string} token Access token\r\n * @param {function} profileMail unlink profile type\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport const userProfileUnlink = (token, profileType, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/user/profile/integration/`,\r\n {\r\n \"Authorization\": token\r\n\r\n }, \"put\", profileType, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * fetch status of user linked to google and amazon \r\n * \r\n * @param {string} token Access token\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport const userLinkedStatus = (token, successCallback, failureCallback, errorCallback) => {\r\n fetchApi(`${baseurl}/user/profile/integration/`,\r\n {\r\n \"Authorization\": token\r\n\r\n }, \"get\", null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * api to cancel subscription\r\n * \r\n * @param {string} token Access token\r\n * @param {function} subscriptionData subscription_id and status= cancel\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport function subscriptionCancel(token, subscriptionData, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/billing/subscription/`,\r\n {\r\n \"Authorization\": token\r\n }, 'put', subscriptionData, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * Update app secret key\r\n * \r\n * @param {string} token Access token\r\n * @param {function} appId app id\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport function updateAppSecretKey(token, appId, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/api/v1/key/`,\r\n {\r\n \"Authorization\": token\r\n }, 'PATCH',\r\n {\r\n app_id: appId\r\n }, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * Update app name\r\n * \r\n * @param {string} token Access token\r\n * @param {function} appId app id\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport function updateAppName(token, appName, appId, successCallback, failureCallback, errorCallback) {\r\n\r\n fetchApi(`${baseurl}/api/v1/app/`,\r\n {\r\n \"Authorization\": token\r\n }, 'PATCH',\r\n {\r\n app_name: appName,\r\n app_id: appId\r\n }, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * set thing properties\r\n * \r\n * @param {string} token Access token\r\n * @param {function} propertyData thing_id, ssid, password\r\n * @param {function} successCallback Success callback function\r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport function setThingProperty(token, propertyData, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/things/properties/`,\r\n {\r\n \"Authorization\": token\r\n }, 'put', propertyData, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\n/**\r\n * Get CMS Content from the api\r\n * \r\n * @param {function} successCallback \r\n * @param {function} failureCallback Failure callback function\r\n * @param {function} errorCallback Error callback function\r\n */\r\nexport function getCMSContent(successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/cms/`, { \"Content-Type\": 'application/json' }, 'get', null, successCallback, failureCallback, errorCallback)\r\n\r\n\r\n}\r\n\r\nexport function getWelcomePageDetails(token, resources, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/resource/details?resources=${resources}`,\r\n {\r\n \"Authorization\": token\r\n }, 'get', null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nexport function getUserWiseThingList(token, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/things/groupsubgroup/`,\r\n {\r\n \"Authorization\": token\r\n }, 'get', null, successCallback, failureCallback, errorCallback)\r\n}\r\nexport function getalaramgroupsubgroup(token, successCallback,pid,gid) {\r\n fetchApi(`${baseurl}/projects/${pid}/alarm-details/${gid}/`,\r\n {\r\n \"Authorization\": token\r\n }, 'get', null, successCallback, null, null)\r\n}\r\n\r\nexport function getThingGPS_Details(token, thing_id, successCallback, failureCallback, errorCallback) {\r\n fetchApi(`${baseurl}/gps/${thing_id}`,\r\n {\r\n \"Authorization\": token\r\n }, 'get', null, successCallback, failureCallback, errorCallback)\r\n}\r\n\r\nexport default api;\r\nexport {\r\n transferThingToInternalProject,\r\n transferThingToExternalProject,\r\n createOrgUser,\r\n deleteGroupRole,\r\n getAllGroupRoles,\r\n createUserGroup,\r\n deleteUserGroup,\r\n getAllUserGroup,\r\n listAvailableUsers,\r\n makeRoleGroup,\r\n removeRolePermission,\r\n fetchRolePermissions,\r\n makeRolePermission,\r\n removeRoles,\r\n modifyRoles,\r\n createRoles,\r\n listAvailableRoles,\r\n listAvailableGroup,\r\n createGroup,\r\n listAvailablePermission,\r\n ws_baseurl,\r\n modifyGroup,\r\n removeGroup,\r\n forgotPassword,\r\n fetchApi,\r\n getUserProfile,\r\n getProfileData,\r\n createProject,\r\n updateProject,\r\n listProjects,\r\n listNProjects,\r\n listCameras,\r\n createCamera,\r\n listThings,\r\n registerThing,\r\n getThingDetails,\r\n getThingDatalog,\r\n verifyToken,\r\n createTrend,\r\n getTrends,\r\n deleteTrend,\r\n createAlarm,\r\n getAlarms,\r\n deleteAlarm,\r\n getTrendData,\r\n modifyAlarm,\r\n modifyUserProfile,\r\n updateUserPassword,\r\n getUserLogs,\r\n createApp,\r\n getAppsList,\r\n revokeApp,\r\n getBrands,\r\n getIRBlasters,\r\n registerIRBlaster,\r\n updateIRBlaster,\r\n controlThing,\r\n deleteProject,\r\n deleteProjectThing,\r\n updateThing,\r\n deleteIRBlasters,\r\n deleteCamera,\r\n modifyCamera,\r\n createWebHook,\r\n updateWebHook,\r\n deleteWebHook,\r\n getWebHook,\r\n getProcess,\r\n updateProcess,\r\n removeProcess,\r\n createProcess,\r\n getAllScopes,\r\n onExportCSV,\r\n listWebScada,\r\n createWebScadaView,\r\n deleteWebScadaView,\r\n webScadaDetail,\r\n updateWebScadaView,\r\n};\r\nexport const ITEM_PER_PAGE_LIST = [10, 20];\r\nexport const DEFAULT_PAGE_NUMBER = 1;","import React, { Component } from 'react'\r\n\r\nexport default class Footer extends Component {\r\n render() {\r\n return (\r\n
\r\n \r\n
\r\n )\r\n }\r\n}\r\n","\r\n\r\nimport React, { Component } from 'react';\r\nimport { Link } from 'react-router-dom';\r\nimport { Navbar, Nav, NavDropdown } from 'react-bootstrap';\r\nimport Button from 'react-bootstrap/Button';\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport { Form } from 'react-bootstrap';\r\nimport PhoneInput from 'react-phone-input-2'\r\nimport 'react-phone-input-2/lib/style.css'\r\n\r\n\r\nexport default class Navigation extends Component {\r\n\r\n state = {\r\n expanded: false,\r\n show: false,\r\n name: '',\r\n email: '',\r\n company: '',\r\n contactNo: '',\r\n subject: '',\r\n message: '',\r\n designation: '',\r\n partnerStatus: false\r\n };\r\n\r\n handleAboutClick = () => {\r\n this.props.scrollToAbout();\r\n }\r\n handleServiceClick = () => {\r\n this.props.scrollToService();\r\n }\r\n handleVideoClick = () => {\r\n this.props.scrollToVideo();\r\n }\r\n handleContactClick = () => {\r\n this.props.scrollToContact();\r\n }\r\n handleInputChange = (event) => {\r\n const { name, value } = event.target;\r\n this.setState({\r\n [name]: value\r\n });\r\n }\r\n\r\n handleFormSubmit = (event) => {\r\n event.preventDefault();\r\n // code to handle form submission\r\n }\r\n\r\n render() {\r\n const { expanded } = this.state;\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 { this.setState({ show: false }) }}>\r\n \r\n \r\n \r\n \r\n
\r\n \r\n Name\r\n \r\n \r\n\r\n \r\n Email\r\n \r\n \r\n\r\n \r\n Company Name\r\n \r\n \r\n\r\n { this.setState({ phone: event }); }} style={{color: \"black\", marginTop: \"30px\"}}\r\n />\r\n \r\n Designation\r\n \r\n \r\n\r\n \r\n Subject\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n Message\r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n
\r\n {/* \r\n \r\n \r\n */}\r\n
\r\n\r\n\r\n
\r\n \r\n
\r\n
\r\n this.setState({ expanded: !expanded })} bg=\"light\" expand=\"lg\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n )\r\n\r\n }\r\n}\r\n","import React, { Component } from 'react'\r\n\r\nexport default class client extends Component {\r\n render() {\r\n return (\r\n
\r\n \r\n \r\n {/* \r\n \r\n \r\n */}\r\n Document\r\n