{"version":3,"sources":["routes.js","containers/TheContent.js","containers/TheFooter.js","containers/TheHeader.js","containers/TheHeaderDropdown.js","containers/_nav.js","containers/TheSidebar.js","containers/TheLayout.js","services/API/mod_auth.js","services/API/mod_customer.js","services/API/mod_user.js","services/API/mod_device.js","services/API/mod_notification.js","services/API/mod_device_user.js","services/API/mod_test_connection.js","services/API/mod_ticket.js","services/API/mod_ds.js","services/fetchTools.js","config/appConfig.js"],"names":["Toaster","React","lazy","Alerts","Badges","Modals","Colors","Typography","Widgets","Users","User","ChangePassword","Dashboard","DetailDeviceNew","Musers","InstallationResult","Mcustomers","DeviceEDS","LogDevice","DeviceGCS","LogDeviceGCS","DeviceSearch","NewTicket","NewTicketReadyReserved","TicketProgress","TicketReporting","routes","path","exact","name","component","loading","className","memo","fluid","fallback","map","route","idx","key","render","props","from","to","fixed","style","float","href","target","alt","TheHeader","dispatch","useDispatch","sidebarShow","useSelector","state","withSubheader","inHeader","onClick","val","includes","type","cookies","Cookies","TheHeaderDropdown","handleLogOut","bind","handleChangePassword","login","username","role","inex","get","session_user","console","log","this","setState","account_type","status_in_ex","remove","sessionStorage","clear","localStorage","window","location","reload","history","push","pathname","inNav","direction","caret","src","placement","header","tag","color","divider","Component","session","Mmenu","_tag","icon","_children","badge","text","show","onShowChange","items","navigation","components","CSidebarNavDivider","CSidebarNavDropdown","CSidebarNavItem","CSidebarNavTitle","TheLayout","cektoken","getrefreshtoken","cookie","refreshStatus","set","JSON","stringify","authUser","req","a","url","appConfig","BASE_API","options","postMethod","loginHeader","body","fetch","response","parseJSON","json","refreshToken","checkStatus","status","getAllCustomer","createAuthRefreshInterceptor","axios","refreshAuthLogic","jsonHeaderAuth","then","res","data","catch","error","result","getCustomer","id","createCustomer","post","Data","deleteCustomer","updateCustomer","cnumb","getCustomerByUser","userId","updateAutoConsumable","searchCustomer","getAllUser","addUser","updateUser","ids","changePassword","userid","deleteUser","updateUser_autoSendAdisa","getUserInfo","getTop10Device","getTop10DeviceGCS","getDeviceByCustNumb","numb","getLogDevice","sn","getDevice","getDeviceGCSByCustNumb","getLogDeviceGCS","getDeviceGCS","getDeviceGCSStatus","getDeviceStatus","logRangeDevice","searchDeviceBySNEQ","logRangeDeviceGCS","logRangebySnDevice","logRangebySnDeviceGCS","updateBoundary","updateBoundaryGCS","updatePicDeviceEDS","updatePicDeviceGCS","searchHistorySN","getCustNotif","insertNotif","deleteCustNotif","idnotif","getDeviceUSerbyCnumb","insertDeviceUSer","deleteDeviceUSer","duse_id","getTotalDeviceUser","getConnection","nocust","getMethod","jsonHeader","getSentDevice","getProgressTicket","getProgressTicketGCS","updateTicket","updateTicketLoopEDS","updateTicketGCS","updateTicketLoopGCS","getTicketById","ticket_id","getTicketGCSById","getTicketByCn","serial_number","getTicketByCnGCS","getTicketReportingByDateFlag","getTicketReportingGCSByDateFlag","getUserAgent","getHistoryThreeMonth","getHistoryThreeMonthGCS","getChartStatusToner","getChartStatusTonerGCS","sendToAdisa","getResultAdisa","getTicketAdisa","getSlaToday","newTicketUnion","newTicketUnionReadyReserved","InsertDS","SearchConsumableRequest","SearchConsumableRequestGCS","InsertDSHistory","ReadDSHistory","token","refreshtoken","method","headers","Accept","failedRequest","Promise","resolve","tok","Error","statusText","reject","LDAP_API","Object","freeze","APP_NAME","DEV_MODE","DEBUG_ENABLED","FAKE_ASYNC_DELAY","CONNECTION_STATUS","online","disconnected","earningGraph","API","teamMates","userInfos","HELLO_WORD"],"mappings":"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","file":"static/js/30.26bfedd4.chunk.js","sourcesContent":["import React from 'react';\r\n\r\nconst Toaster = React.lazy(() => import('./views/notifications/toaster/Toaster'));\r\nconst Tables = React.lazy(() => import('./views/base/tables/Tables'));\r\nconst Alerts = React.lazy(() => import('./views/notifications/alerts/Alerts'));\r\nconst Badges = React.lazy(() => import('./views/notifications/badges/Badges'));\r\nconst Modals = React.lazy(() => import('./views/notifications/modals/Modals'));\r\nconst Colors = React.lazy(() => import('./views/theme/colors/Colors'));\r\nconst Typography = React.lazy(() => import('./views/theme/typography/Typography'));\r\nconst Widgets = React.lazy(() => import('./views/widgets/Widgets'));\r\nconst Users = React.lazy(() => import('./views/users/Users'));\r\nconst User = React.lazy(() => import('./views/users/User'));\r\nconst ChangePassword = React.lazy(() => import('./views/users/ChangePassword'));\r\nconst Dashboard = React.lazy(() => import('./views/dashboard/Dashboard'));\r\nconst DetailDevice = React.lazy(() => import('./views/dashboard/DetailDevice'));\r\nconst DetailDeviceNew = React.lazy(() => import('./views/dashboard/DetailDeviceNew'));\r\nconst Musers = React.lazy(() => import('./views/users/Musers')); \r\nconst InstallationResult = React.lazy(() => import('./views/pages/login/ViewInstallation')); \r\nconst Mcustomers = React.lazy(() => import('./views/customers/Mcustomers'));\r\nconst DeviceEDS = React.lazy(() => import('./views/device/eds/DeviceEDS'));\r\nconst LogDevice = React.lazy(() => import('./views/device/eds/detail/LogDevice'));\r\nconst DeviceGCS = React.lazy(() => import('./views/device/gcs/DeviceGCS'));\r\nconst LogDeviceGCS = React.lazy(() => import('./views/device/gcs/detail/LogDevice'));\r\nconst DeviceSearch = React.lazy(() => import('./views/device/search/DeviceSearch'));\r\nconst NewTicket = React.lazy(() => import('./views/tickets/NewTicket'));\r\nconst NewTicketReadyReserved = React.lazy(() => import('./views/tickets/NewTicketReadyReserved'));\r\nconst TicketProgress = React.lazy(() => import('./views/tickets/ProgressTicket'));\r\nconst TicketReporting = React.lazy(() => import('./views/tickets/Reporting'));\r\nconst TicketInfo = React.lazy(() => import('./views/tickets/detail/'));\r\nconst TestConnection = React.lazy(() => import('./views/pages/page404/Page404'));\r\nconst UploadDS = React.lazy(() => import('./views/ds/UploadDS'))\r\nconst ChartStatusToner = React.lazy(() => import('./views/tickets/detail/ChartStatusToner'))\r\nconst ChartStatusTonerGCS = React.lazy(() => import('./views/tickets/detail/ChartStatusTonerGCS'))\r\nconst ChartSample = React.lazy(() => import('./views/tickets/detail/MainChartExample'))\r\nconst SearchConsumable = React.lazy(() => import('./views/ds/SearchConsumable'))\r\nconst SearchConsumableGCS = React.lazy(() => import('./views/ds/SearchConsumableGCS'))\r\nconst SearchSNTonerDrum = React.lazy(() => import('./views/device/eds/SearchSNTonerDrum'))\r\n//const Switches = React.lazy(() => import('./views/base/switches/Switches'))\r\n\r\nconst routes = [\r\n { path: '/', exact: true, name: 'Home' },\r\n { path: '/dashboard', name: 'Dashboard', component: Dashboard },\r\n // { path: '/detailDevice', name: 'Detail Device', component: DetailDevice },\r\n { path: '/detailDevice', name: 'Detail Device', component: DetailDeviceNew },\r\n { path: '/theme', name: 'Theme', component: Colors, exact: true },\r\n { path: '/theme/colors', name: 'Colors', component: Colors },\r\n { path: '/theme/typography', name: 'Typography', component: Typography },\r\n { path: '/notifications', name: 'Notifications', component: Alerts, exact: true },\r\n { path: '/notifications/alerts', name: 'Alerts', component: Alerts },\r\n { path: '/notifications/badges', name: 'Badges', component: Badges },\r\n { path: '/notifications/modals', name: 'Modals', component: Modals },\r\n { path: '/notifications/toaster', name: 'Toaster', component: Toaster },\r\n { path: '/widgets', name: 'Widgets', component: Widgets },\r\n { path: '/users', exact: true, name: 'Users', component: Users },\r\n { path: '/users/:id', exact: true, name: 'User Details', component: User },\r\n { path: '/changepassword', exact: true, name: 'ChangePassword', component: ChangePassword },\r\n { path: '/managementusers', exact: true, name: 'Management users', component: Musers },\r\n { path: '/instalationresult', name: 'Instalation Result', component: InstallationResult },\r\n { path: '/management-customers', exact: true, name: 'Management customers', component: Mcustomers },\r\n { path: '/deviceeds', exact: true, name: 'EDS Device', component: DeviceEDS },\r\n { path: '/deviceeds/log/:sn', name: 'Log Device', component: LogDevice },\r\n { path: '/devicegcs', exact: true, name: 'GCS Device', component: DeviceGCS },\r\n { path: '/devicegcs/log/:sn', name: 'Log Device GCS', component: LogDeviceGCS },\r\n { path: '/devicesearch', exact: true, name: 'Search Device', component: DeviceSearch },\r\n { path: '/ticket/new', exact: true, name: 'New Ticket', component: NewTicket },\r\n { path: '/ticket/readyreserved', exact: true, name: 'Ready to Reserved', component: NewTicketReadyReserved },\r\n { path: '/ticket/progress', exact: true, name: 'Progress Ticket', component: TicketProgress },\r\n { path: '/ticket/progress/:id/:type', exact: true, name: 'Detail Ticket', component: TicketInfo },\r\n { path: '/ticket/report', exact: true, name: 'Report Ticket', component: TicketReporting },\r\n { path: '/test-connection', name: 'Test Connection', component: TestConnection },\r\n { path: '/uploadds', name:'Upload DS', component: UploadDS},\r\n { path: '/chartstatustoner', name:'History Pemakaian Consumable', component: ChartStatusToner},\r\n { path: '/chartstatustonergcs', name:'History Pemakaian Consumable', component: ChartStatusTonerGCS},\r\n { path: '/chartSample', name:'chart sample', component: ChartSample},\r\n { path: '/searchconsumable', name:'Search Consumable', component: SearchConsumable},\r\n { path: '/searchconsumableGCS', name:'Search Consumable', component: SearchConsumableGCS},\r\n { path: '/searchsn', name:'Search SN Toner & Drum', component: SearchSNTonerDrum}\r\n //{ path: '/switches', name:'Switches', component: Switches},\r\n];\r\n\r\nexport default routes;\r\n","import React, { Suspense } from 'react'\r\nimport {\r\n Redirect,\r\n Route,\r\n Switch\r\n} from 'react-router-dom'\r\nimport { CContainer, CFade } from '@coreui/react'\r\n\r\n// routes config\r\nimport routes from '../routes'\r\n \r\nconst loading = (\r\n
\r\n
\r\n
\r\n)\r\n\r\nconst TheContent = () => {\r\n return (\r\n
\r\n \r\n \r\n \r\n {routes.map((route, idx) => {\r\n return route.component && (\r\n (\r\n \r\n \r\n \r\n )} />\r\n )\r\n })}\r\n \r\n \r\n \r\n \r\n
\r\n )\r\n}\r\n\r\nexport default React.memo(TheContent)\r\n","import React from 'react'\r\nimport { CFooter } from '@coreui/react'\r\n\r\nconst TheFooter = () => {\r\n return (\r\n \r\n
\r\n Powered by\r\n 3PM IT Solutions\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default React.memo(TheFooter)\r\n","import React from 'react'\r\nimport { useSelector, useDispatch } from 'react-redux'\r\nimport {\r\n CHeader,\r\n CToggler,\r\n CHeaderBrand,\r\n CHeaderNav,\r\n CSubheader,\r\n CBreadcrumbRouter\r\n} from '@coreui/react'\r\n\r\n// routes config\r\nimport routes from '../routes'\r\nimport './header.css'\r\n\r\nimport { \r\n TheHeaderDropdown\r\n} from './index'\r\n\r\nconst TheHeader = () => {\r\n const dispatch = useDispatch()\r\n const sidebarShow = useSelector(state => state.sidebarShow)\r\n\r\n const toggleSidebar = () => {\r\n const val = [true, 'responsive'].includes(sidebarShow) ? false : 'responsive'\r\n dispatch({type: 'set', sidebarShow: val})\r\n }\r\n\r\n const toggleSidebarMobile = () => {\r\n const val = [false, 'responsive'].includes(sidebarShow) ? true : 'responsive'\r\n dispatch({type: 'set', sidebarShow: val})\r\n }\r\n\r\n return (\r\n \r\n \r\n \r\n

iSense

\r\n \r\n \r\n \r\n\r\n \r\n {/*\r\n Dashboard\r\n \r\n \r\n Users\r\n \r\n \r\n Settings\r\n */}\r\n \r\n\r\n \r\n {/**/}\r\n {/**/}\r\n {/**/}\r\n \r\n \r\n\r\n \r\n \r\n {/*
\r\n \r\n \r\n \r\n \r\n  Dashboard\r\n \r\n \r\n  Settings\r\n \r\n
*/}\r\n
\r\n
\r\n )\r\n}\r\n\r\nexport default TheHeader\r\n","import React, { Component } from 'react'\r\nimport { Link } from 'react-router-dom'\r\nimport {\r\n CDropdown,\r\n CDropdownItem,\r\n CDropdownMenu,\r\n CDropdownToggle,\r\n CImg\r\n} from '@coreui/react'\r\nimport CIcon from '@coreui/icons-react'\r\nimport Cookies from 'universal-cookie'\r\nconst cookies = new Cookies();\r\n\r\nclass TheHeaderDropdown extends Component {\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleLogOut = this.handleLogOut.bind(this)\r\n this.handleChangePassword = this.handleChangePassword.bind(this)\r\n this.state = {\r\n login: false,\r\n username: \"\",\r\n role:\"\",\r\n inex:\"in\"\r\n };\r\n }\r\n\r\n componentDidMount(){\r\n if (cookies.get('iSense_user')) {\r\n let session_user = cookies.get('iSense_user')\r\n console.log(session_user)\r\n this.setState({username: session_user.username, role: session_user.account_type, inex:session_user.status_in_ex})\r\n }\r\n }\r\n\r\n handleLogOut() {\r\n cookies.remove('iSense_user', {path: '/'})\r\n sessionStorage.clear()\r\n localStorage.clear()\r\n window.location.reload(false);\r\n }\r\n handleChangePassword() {\r\n this.props.history.push({\r\n pathname: '/changepassword'\r\n });\r\n }\r\n render(){ \r\n const {inex} = this.state\r\n return (\r\n \r\n \r\n {this.state.role} | {this.state.username}  \r\n
\r\n \r\n
\r\n
\r\n \r\n {/*\r\n Account\r\n \r\n \r\n \r\n Updates\r\n 42\r\n \r\n \r\n \r\n Messages\r\n 42\r\n \r\n \r\n \r\n Tasks\r\n 42\r\n \r\n \r\n \r\n Comments\r\n 42\r\n */}\r\n \r\n Settings\r\n \r\n { inex==\"Eksternal\" && \r\n \r\n \r\n Change Password\r\n \r\n \r\n }\r\n {/*\r\n \r\n Payments\r\n 42\r\n \r\n \r\n \r\n Projects\r\n 42\r\n */}\r\n \r\n \r\n \r\n Log out\r\n \r\n \r\n \r\n )\r\n }\r\n}\r\n\r\nexport default TheHeaderDropdown\r\n","import Cookies from 'universal-cookie'\r\nconst cookies = new Cookies()\r\n\r\nlet session = cookies.get('iSense_user') ? cookies.get('iSense_user') : []\r\n\r\nconst menuAdmin = [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Dashboard',\r\n to: '/dashboard',\r\n icon: 'cil-speedometer',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Management User',\r\n to: '/managementusers',\r\n icon: 'cil-user'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Instalation Result',\r\n to: '/instalationresult',\r\n icon: 'cil-laptop'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Download iSense Installer',\r\n target: \"_blank\",\r\n href: 'https://tinyurl.com/NewiSense4',\r\n icon: 'cil-cloud-download'\r\n },\r\n {\r\n _tag: 'CSidebarNavTitle',\r\n _children: ['CUSTOMER']\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Management Customers',\r\n to: '/management-customers',\r\n icon: 'cil-people'\r\n },\r\n {\r\n _tag: 'CSidebarNavTitle',\r\n _children: ['DEVICE']\r\n },\r\n {\r\n _tag: 'CSidebarNavDropdown',\r\n name: 'Device',\r\n route: '/device',\r\n icon: 'cil-puzzle',\r\n _children: [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'EDS DEVICE',\r\n to: '/deviceeds',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'GCS Device',\r\n to: '/devicegcs',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Search Device',\r\n to: '/devicesearch',\r\n }\r\n ],\r\n },\r\n {\r\n _tag: 'CSidebarNavTitle',\r\n _children: ['CCC']\r\n },\r\n {\r\n _tag: 'CSidebarNavDropdown',\r\n name: 'CCC Dashboard',\r\n route: '/#',\r\n icon: 'cil-speedometer',\r\n _children: [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'New Ticket',\r\n to: '/ticket/new',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Ready to Reserved',\r\n to: '/ticket/readyreserved',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Progress',\r\n to: '/ticket/progress',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Reporting',\r\n to: '/ticket/report',\r\n }\r\n ],\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Upload DS',\r\n to: '/uploadds',\r\n icon: 'cilFile'\r\n },\r\n {\r\n _tag: 'CSidebarNavDropdown',\r\n name: 'Consumable',\r\n route: '/consumable',\r\n icon: 'cil-chartPie',\r\n _children: [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Data Consumable EDS',\r\n to: '/searchconsumable',\r\n // icon: 'cil-calculator'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Data Consumable GCS',\r\n to: '/searchconsumablegcs',\r\n // icon: 'cil-calculator'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'History Consumable EDS',\r\n to: '/chartstatustoner',\r\n // icon: 'cil-chartPie'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'History Consumable GCS',\r\n to: '/chartstatustonergcs',\r\n // icon: 'cil-chartPie'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Search SN Toner & Drum',\r\n to: '/searchsn',\r\n // icon: 'cil-chartPie'\r\n },\r\n ],\r\n },\r\n]\r\n\r\nconst menuSA = [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Dashboard',\r\n to: '/dashboard',\r\n icon: 'cil-speedometer',\r\n badge: {\r\n color: 'info',\r\n text: 'NEW',\r\n }\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Download iSense Installer',\r\n target: \"_blank\",\r\n href: 'https://tinyurl.com/NewiSense4',\r\n icon: 'cil-cloud-download'\r\n },\r\n {\r\n _tag: 'CSidebarNavTitle',\r\n _children: ['CUSTOMER']\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Management Customers',\r\n to: '/management-customers',\r\n icon: 'cil-people'\r\n },\r\n {\r\n _tag: 'CSidebarNavTitle',\r\n _children: ['DEVICE']\r\n },\r\n {\r\n _tag: 'CSidebarNavDropdown',\r\n name: 'Device',\r\n route: '/device',\r\n icon: 'cil-puzzle',\r\n _children: [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'EDS DEVICE',\r\n to: '/deviceeds',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'GCS Device',\r\n to: '/devicegcs',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Search Device',\r\n to: '/devicesearch',\r\n }\r\n ],\r\n },\r\n {\r\n _tag: 'CSidebarNavDropdown',\r\n name: 'Consumable',\r\n route: '/consumable',\r\n icon: 'cil-chartPie',\r\n _children: [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Data Consumable EDS',\r\n to: '/searchconsumable',\r\n // icon: 'cil-calculator'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Data Consumable GCS',\r\n to: '/searchconsumablegcs',\r\n // icon: 'cil-calculator'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'History Consumable EDS',\r\n to: '/chartstatustoner',\r\n // icon: 'cil-chartPie'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'History Consumable GCS',\r\n to: '/chartstatustonergcs',\r\n // icon: 'cil-chartPie'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Search SN Toner & Drum',\r\n to: '/searchsn',\r\n // icon: 'cil-chartPie'\r\n },\r\n ],\r\n },\r\n]\r\n\r\nconst menuCCC = [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Dashboard',\r\n to: '/dashboard',\r\n icon: 'cil-speedometer'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Download iSense Installer',\r\n target: \"_blank\",\r\n href: 'https://tinyurl.com/NewiSense4',\r\n icon: 'cil-cloud-download'\r\n },\r\n {\r\n _tag: 'CSidebarNavTitle',\r\n _children: ['DEVICE']\r\n },\r\n {\r\n _tag: 'CSidebarNavDropdown',\r\n name: 'Device',\r\n route: '/device',\r\n icon: 'cil-puzzle',\r\n _children: [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'EDS DEVICE',\r\n to: '/deviceeds',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'GCS Device',\r\n to: '/devicegcs',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Search Device',\r\n to: '/devicesearch',\r\n }\r\n ],\r\n },\r\n {\r\n _tag: 'CSidebarNavTitle',\r\n _children: ['CCC']\r\n },\r\n {\r\n _tag: 'CSidebarNavDropdown',\r\n name: 'CCC Dashboard',\r\n route: '/#',\r\n icon: 'cil-speedometer',\r\n _children: [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'New Ticket',\r\n to: '/ticket/new',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Ready to Reserved',\r\n to: '/ticket/readyreserved',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Progress',\r\n to: '/ticket/progress',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Reporting',\r\n to: '/ticket/report',\r\n }\r\n ],\r\n },\r\n {\r\n _tag: 'CSidebarNavDropdown',\r\n name: 'Consumable',\r\n route: '/consumable',\r\n icon: 'cil-chartPie',\r\n _children: [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Data Consumable EDS',\r\n to: '/searchconsumable',\r\n // icon: 'cil-calculator'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Data Consumable GCS',\r\n to: '/searchconsumablegcs',\r\n // icon: 'cil-calculator'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'History Consumable EDS',\r\n to: '/chartstatustoner',\r\n // icon: 'cil-chartPie'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'History Consumable GCS',\r\n to: '/chartstatustonergcs',\r\n // icon: 'cil-chartPie'\r\n },\r\n ],\r\n },\r\n]\r\nconst menuCSM = [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Dashboard',\r\n to: '/dashboard',\r\n icon: 'cil-speedometer'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Instalation Result',\r\n to: '/instalationresult',\r\n icon: 'cil-laptop'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Download iSense Installer',\r\n target: \"_blank\",\r\n href: 'https://tinyurl.com/NewiSense4',\r\n icon: 'cil-cloud-download'\r\n },\r\n {\r\n _tag: 'CSidebarNavTitle',\r\n _children: ['CUSTOMER']\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Management Customers',\r\n to: '/management-customers',\r\n icon: 'cil-people'\r\n },\r\n {\r\n _tag: 'CSidebarNavTitle',\r\n _children: ['DEVICE']\r\n },\r\n {\r\n _tag: 'CSidebarNavDropdown',\r\n name: 'Device',\r\n route: '/device',\r\n icon: 'cil-puzzle',\r\n _children: [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'EDS DEVICE',\r\n to: '/deviceeds',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'GCS Device',\r\n to: '/devicegcs',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Search Device',\r\n to: '/devicesearch',\r\n }\r\n ],\r\n },\r\n {\r\n _tag: 'CSidebarNavDropdown',\r\n name: 'Consumable',\r\n route: '/consumable',\r\n icon: 'cil-chartPie',\r\n _children: [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Data Consumable EDS',\r\n to: '/searchconsumable',\r\n // icon: 'cil-calculator'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Data Consumable GCS',\r\n to: '/searchconsumablegcs',\r\n // icon: 'cil-calculator'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'History Consumable EDS',\r\n to: '/chartstatustoner',\r\n // icon: 'cil-chartPie'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'History Consumable GCS',\r\n to: '/chartstatustonergcs',\r\n // icon: 'cil-chartPie'\r\n },\r\n ],\r\n },\r\n]\r\nconst menuSDM = [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Dashboard',\r\n to: '/dashboard',\r\n icon: 'cil-speedometer',\r\n badge: {\r\n color: 'info',\r\n text: 'NEW',\r\n }\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Download iSense Installer',\r\n target: \"_blank\",\r\n href: 'https://tinyurl.com/NewiSense4',\r\n icon: 'cil-cloud-download'\r\n },\r\n {\r\n _tag: 'CSidebarNavTitle',\r\n _children: ['DEVICE']\r\n },\r\n {\r\n _tag: 'CSidebarNavDropdown',\r\n name: 'Device',\r\n route: '/device',\r\n icon: 'cil-puzzle',\r\n _children: [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'EDS DEVICE',\r\n to: '/deviceeds',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'GCS Device',\r\n to: '/devicegcs',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Search Device',\r\n to: '/devicesearch',\r\n }\r\n ],\r\n },\r\n {\r\n _tag: 'CSidebarNavDropdown',\r\n name: 'Consumable',\r\n route: '/consumable',\r\n icon: 'cil-chartPie',\r\n _children: [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Data Consumable EDS',\r\n to: '/searchconsumable',\r\n // icon: 'cil-calculator'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Data Consumable GCS',\r\n to: '/searchconsumablegcs',\r\n // icon: 'cil-calculator'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'History Consumable EDS',\r\n to: '/chartstatustoner',\r\n // icon: 'cil-chartPie'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'History Consumable GCS',\r\n to: '/chartstatustonergcs',\r\n // icon: 'cil-chartPie'\r\n },\r\n ],\r\n },\r\n]\r\n\r\nconst menuBM = [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Dashboard',\r\n to: '/dashboard',\r\n icon: 'cil-speedometer',\r\n badge: {\r\n color: 'info',\r\n text: 'NEW',\r\n }\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Download iSense Installer',\r\n target: \"_blank\",\r\n href: 'https://tinyurl.com/NewiSense4',\r\n icon: 'cil-cloud-download'\r\n },\r\n {\r\n _tag: 'CSidebarNavTitle',\r\n _children: ['CUSTOMER']\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Management Customers',\r\n to: '/management-customers',\r\n icon: 'cil-people'\r\n },\r\n {\r\n _tag: 'CSidebarNavTitle',\r\n _children: ['DEVICE']\r\n },\r\n {\r\n _tag: 'CSidebarNavDropdown',\r\n name: 'Device',\r\n route: '/device',\r\n icon: 'cil-puzzle',\r\n _children: [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'EDS DEVICE',\r\n to: '/deviceeds',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'GCS Device',\r\n to: '/devicegcs',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Search Device',\r\n to: '/devicesearch',\r\n }\r\n ],\r\n },\r\n]\r\n\r\nconst menuCustomer = [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Dashboard',\r\n to: '/dashboard',\r\n icon: 'cil-speedometer',\r\n badge: {\r\n color: 'info',\r\n text: 'NEW',\r\n }\r\n },\r\n // {\r\n // _tag: 'CSidebarNavItem',\r\n // name: 'Download iSense Installer',\r\n // target: \"_blank\",\r\n // href: 'https://tinyurl.com/NewiSense4',\r\n // icon: 'cil-cloud-download'\r\n // },\r\n {\r\n _tag: 'CSidebarNavTitle',\r\n _children: ['DEVICE']\r\n },\r\n {\r\n _tag: 'CSidebarNavDropdown',\r\n name: 'Device',\r\n route: '/device',\r\n icon: 'cil-puzzle',\r\n _children: [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'EDS DEVICE',\r\n to: '/deviceeds',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'GCS Device',\r\n to: '/devicegcs',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Search Device',\r\n to: '/devicesearch',\r\n }\r\n ],\r\n },\r\n]\r\n\r\nconst menuCE = [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Dashboard',\r\n to: '/dashboard',\r\n icon: 'cil-speedometer',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Instalation Result',\r\n to: '/instalationresult',\r\n icon: 'cil-laptop'\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Download iSense Installer',\r\n target: \"_blank\",\r\n href: 'https://tinyurl.com/NewiSense4',\r\n icon: 'cil-cloud-download'\r\n },\r\n {\r\n _tag: 'CSidebarNavTitle',\r\n _children: ['CUSTOMER']\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Management Customers',\r\n to: '/management-customers',\r\n icon: 'cil-people'\r\n },\r\n {\r\n _tag: 'CSidebarNavTitle',\r\n _children: ['DEVICE']\r\n },\r\n {\r\n _tag: 'CSidebarNavDropdown',\r\n name: 'Device',\r\n route: '/device',\r\n icon: 'cil-puzzle',\r\n _children: [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'EDS DEVICE',\r\n to: '/deviceeds',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'GCS Device',\r\n to: '/devicegcs',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Search Device',\r\n to: '/devicesearch',\r\n }\r\n ],\r\n }\r\n]\r\n\r\nconst menuOther = [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Dashboard',\r\n to: '/dashboard',\r\n icon: 'cil-speedometer',\r\n badge: {\r\n color: 'info',\r\n text: 'NEW',\r\n }\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Download iSense Installer',\r\n target: \"_blank\",\r\n href: 'https://tinyurl.com/NewiSense4',\r\n icon: 'cil-cloud-download'\r\n },\r\n {\r\n _tag: 'CSidebarNavTitle',\r\n _children: ['DEVICE']\r\n },\r\n {\r\n _tag: 'CSidebarNavDropdown',\r\n name: 'Device',\r\n route: '/device',\r\n icon: 'cil-puzzle',\r\n _children: [\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'EDS DEVICE',\r\n to: '/deviceeds',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'GCS Device',\r\n to: '/devicegcs',\r\n },\r\n {\r\n _tag: 'CSidebarNavItem',\r\n name: 'Search Device',\r\n to: '/devicesearch',\r\n }\r\n ],\r\n },\r\n]\r\n\r\nlet Mmenu = ''\r\nif (session.account_type == 'Admin') {\r\n Mmenu = menuAdmin\r\n} else if (session.account_type == 'SA') {\r\n Mmenu = menuSA\r\n} else if (session.account_type == 'CCC') {\r\n Mmenu = menuCCC\r\n} else if (session.account_type == 'CSM') {\r\n Mmenu = menuCSM\r\n} else if (session.account_type == 'SDM') {\r\n Mmenu = menuSDM\r\n} else if (session.account_type == 'BM') {\r\n Mmenu = menuBM\r\n} else if (session.account_type == 'Customer') {\r\n Mmenu = menuCustomer\r\n} else if (session.account_type == 'CE') {\r\n Mmenu = menuCE\r\n} else {\r\n Mmenu = menuOther\r\n}\r\n\r\nexport default Mmenu\r\n\r\n","import React from 'react'\r\nimport { useSelector, useDispatch } from 'react-redux'\r\nimport {\r\n CCreateElement,\r\n CSidebar,\r\n CSidebarBrand,\r\n CSidebarNav,\r\n CSidebarNavDivider,\r\n CSidebarNavTitle,\r\n CSidebarMinimizer,\r\n CSidebarNavDropdown,\r\n CSidebarNavItem,\r\n} from '@coreui/react'\r\n\r\n// sidebar nav config\r\nimport navigation from './_nav'\r\n\r\nconst TheSidebar = () => {\r\n const dispatch = useDispatch()\r\n const show = useSelector(state => state.sidebarShow)\r\n console.log('useSelector(state => state.sidebarShow)', useSelector(state => state.sidebarShow))\r\n return (\r\n dispatch({type: 'set', sidebarShow: val })}\r\n >\r\n \r\n

iSense

\r\n
\r\n \r\n\r\n \r\n \r\n \r\n \r\n )\r\n}\r\n\r\nexport default React.memo(TheSidebar)\r\n","import React, { Component } from 'react'\r\nimport {\r\n TheContent,\r\n TheSidebar,\r\n TheFooter,\r\n TheHeader\r\n} from './index'\r\nimport {\r\n getrefreshtoken\r\n} from '../services/fetchTools';\r\nimport Cookies from 'universal-cookie'\r\n\r\nconst cookies = new Cookies();\r\n\r\nclass TheLayout extends Component {\r\n componentDidMount() {\r\n this.cektoken();\r\n }\r\n async cektoken(){\r\n //console.log('layout cektoken')\r\n const token=await getrefreshtoken();\r\n let cookie=cookies.get('iSense_user')\r\n if (!cookie) {\r\n this.props.history.push({\r\n pathname: '/login'\r\n });\r\n }else{ \r\n cookie.refreshStatus=\"idle\"; \r\n cookies.set('iSense_user', JSON.stringify(cookie), { path: '/' }); \r\n }\r\n // console.log('token',token)\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\nexport default TheLayout\r\n","// @flow weak\r\n\r\nimport { appConfig } from '../../config';\r\nimport {\r\n checkStatus,\r\n parseJSON,\r\n loginHeader,\r\n postMethod\r\n} from '../fetchTools';\r\n\r\nexport const authUser = async (req) => {\r\n const url = `${appConfig.BASE_API}/login`;\r\n const options = { ...postMethod, ...loginHeader, body: JSON.stringify(req) };\r\n \r\n try {\r\n var response = await fetch(url, options);\r\n // var status = await checkStatus(response);\r\n var json = await parseJSON(response);\r\n return json;\r\n } catch (error) {\r\n /*console.log('error', error)*/\r\n return null;\r\n }\r\n \r\n};\r\nexport const refreshToken = async (req) => {\r\n // console.log('refreshToken', req);\r\n const url = `${appConfig.BASE_API}/refreshtoken`;\r\n const options = { ...postMethod, ...loginHeader, body: JSON.stringify(req) };\r\n // console.log(url,options)\r\n try {\r\n var response = await fetch(url, options);\r\n console.log('response refresh', response)\r\n var status = await checkStatus(response);\r\n console.log('status refresh', status)\r\n var json = await parseJSON(response);\r\n // console.log('json', json)\r\n return json;\r\n } catch (error) {\r\n \r\n return response.status;\r\n }\r\n}\r\n","// @flow weak\r\n\r\nimport { appConfig } from '../../config';\r\nimport {\r\n jsonHeaderAuth,\r\n refreshAuthLogic\r\n} from '../fetchTools';\r\nimport axios from 'axios';\r\nimport createAuthRefreshInterceptor from 'axios-auth-refresh';\r\n\r\n// Function that will be called to refresh authorization\r\n\r\n\r\n// Instantiate the interceptor (you can chain it as it returns the axios instance)\r\n\r\nexport const getAllCustomer = async () => {\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const url = `${appConfig.BASE_API}/customer/readall`; \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n \r\n};\r\n\r\nexport const getCustomer = async (id) => {\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const url = `${appConfig.BASE_API}/customer/read/${id}`;\r\n \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n \r\n};\r\n\r\nexport const createCustomer = async (req) => {\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const url = `${appConfig.BASE_API}/customer/create`;\r\n \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n if (res.Data)\r\n return res.data\r\n else\r\n return { 'status': 'OK' };\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return 'error';\r\n })\r\n return result \r\n};\r\n\r\nexport const deleteCustomer = async (id) => {\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const url = `${appConfig.BASE_API}/customer/delete/${id}`;\r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n console.log('getallcustomer',res.data) \r\n return res.data \r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return 'error';\r\n })\r\n return result \r\n \r\n};\r\n\r\nexport const updateCustomer = async (cnumb, req) => {\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const url = `${appConfig.BASE_API}/customer/update/${cnumb}`;\r\n \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n console.log('update customer',res)\r\n if (res.status)\r\n return true\r\n else\r\n return false\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return false\r\n })\r\n return result \r\n};\r\n\r\nexport const getCustomerByUser = async (userId) => {\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const url = `${appConfig.BASE_API}/deviceuser/readbyuserid/${userId}`;\r\n \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{ \r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null\r\n })\r\n return result \r\n \r\n};\r\n\r\nexport const updateAutoConsumable = async (req) => {\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const url = `${appConfig.BASE_API}/customer/updateAutoConsumable`;\r\n \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n console.log('SERVICE res edit auto consum',res)\r\n if (res.status==200)\r\n {\r\n window.location.reload();\r\n return true\r\n }\r\n else\r\n {\r\n return false\r\n }\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return false\r\n })\r\n return result \r\n};\r\n\r\nexport const searchCustomer = async (req) => {\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const url = `${appConfig.BASE_API}/customer/search`;\r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n //console.log('get customer with paging',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n console.log('error searchCustomer()', error)\r\n return null;\r\n })\r\n return result \r\n};","// @flow weak\r\n\r\nimport { appConfig } from '../../config';\r\nimport {\r\n jsonHeaderAuth,\r\n refreshAuthLogic\r\n} from '../fetchTools';\r\nimport axios from 'axios';\r\nimport createAuthRefreshInterceptor from 'axios-auth-refresh';\r\n\r\nexport const getAllUser = async () => {\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const url = `${appConfig.BASE_API}/user/readall`;\r\n \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n \r\n};\r\n\r\nexport const getUser = async (id) => {\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const url = `${appConfig.BASE_API}/user/read/${id}`;\r\n \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n \r\n};\r\n\r\nexport const addUser = async (req) => {\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const url = `${appConfig.BASE_API}/register`;\r\n \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n console.log('add user',res.status)\r\n if (res.status==200)\r\n return true\r\n else\r\n return false\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return false;\r\n })\r\n return result\r\n \r\n};\r\n\r\nexport const updateUser = async (ids, req) => {\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const url = `${appConfig.BASE_API}/user/update/${ids}`;\r\n \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n console.log('update user',res.status)\r\n if (res.status==200)\r\n return true\r\n else\r\n return false\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return false;\r\n })\r\n return result \r\n \r\n};\r\n\r\nexport const changePassword = async (req,userid) => {\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const url = `${appConfig.BASE_API}/user/changepassword/${userid}`;\r\n // console.log(req,userid,jsonHeaderAuth())\r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('changepassword',res) \r\n return res\r\n \r\n }) \r\n .catch (error=> {\r\n // console.log('error', error.response.data)\r\n return error.response\r\n })\r\n return result \r\n \r\n};\r\n\r\nexport const deleteUser = async (id) => {\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const url = `${appConfig.BASE_API}/user/delete/${id}`;\r\n \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result \r\n \r\n};\r\n\r\nexport const updateUser_autoSendAdisa = async (req) => {\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const url = `${appConfig.BASE_API}/user/update_autoSendAdisa_general`;\r\n \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n console.log('update_autoSendAdisa_general',res.status)\r\n if (res.status==200)\r\n return true\r\n else\r\n return false\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return false;\r\n })\r\n return result \r\n \r\n};\r\n\r\nexport const getUserInfo = async () => {\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const url = `${appConfig.BASE_API}/user/adisa_info`;\r\n \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n \r\n};","// @flow weak\r\n\r\nimport { appConfig } from '../../config';\r\nimport {\r\n jsonHeaderAuth,\r\n refreshAuthLogic\r\n} from '../fetchTools';\r\nimport axios from 'axios';\r\nimport createAuthRefreshInterceptor from 'axios-auth-refresh';\r\nexport const getTop10Device = async (cnumb) => {\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const url = `${appConfig.BASE_API}/count/toptendevice/${cnumb}`;\r\n \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n \r\n};\r\n\r\nexport const getTop10DeviceGCS = async (cnumb) => {\r\n const url = `${appConfig.BASE_API}/count/toptendevicegcs/${cnumb}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const getDeviceByCustNumb = async (numb) => {\r\n const url = `${appConfig.BASE_API}/device/readall/${numb}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const getLogDevice = async (sn) => {\r\n const url = `${appConfig.BASE_API}/logdevice/readbysn/${sn}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const getDevice = async (sn) => {\r\n const url = `${appConfig.BASE_API}/device/${sn}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const getDeviceGCSByCustNumb = async (numb) => {\r\n const url = `${appConfig.BASE_API}/devicegcs/readall/${numb}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const getLogDeviceGCS = async (sn) => {\r\n const url = `${appConfig.BASE_API}/logdevicegcs/readbysn/${sn}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const getDeviceGCS = async (sn) => {\r\n const url = `${appConfig.BASE_API}/devicegcs/${sn}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const getDeviceGCSStatus = async (sn) => {\r\n const url = `${appConfig.BASE_API}/devicegcs/status/${sn}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const getDeviceStatus = async (sn) => {\r\n const url = `${appConfig.BASE_API}/device/status/${sn}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const logRangeDevice = async (cnumb, req) => {\r\n const url = `${appConfig.BASE_API}/logdevice/range/${cnumb}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const searchDeviceBySNEQ = async (req) => {\r\n const url = `${appConfig.BASE_API}/device/search`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const logRangeDeviceGCS = async (cnumb, req) => {\r\n const url = `${appConfig.BASE_API}/logdevicegcs/range/${cnumb}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const logRangebySnDevice = async (cnumb, req) => {\r\n const url = `${appConfig.BASE_API}/logdevice/rangebysn/${cnumb}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const logRangebySnDeviceGCS = async (cnumb, req) => {\r\n const url = `${appConfig.BASE_API}/logdevicegcs/rangebysn/${cnumb}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const updateBoundary = async (req) => {\r\n const url = `${appConfig.BASE_API}/device/updateboundary`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const updateBoundaryGCS = async (req) => {\r\n const url = `${appConfig.BASE_API}/devicegcs/updateboundary`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const updatePicDeviceEDS = async (req) => {\r\n const url = `${appConfig.BASE_API}/device/updatePIC`; \r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n if (res.status==200)\r\n return true\r\n else\r\n return false\r\n \r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return false;\r\n })\r\n return result\r\n};\r\n\r\nexport const updatePicDeviceGCS = async (req) => {\r\n const url = `${appConfig.BASE_API}/devicegcs/updatePIC`; \r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n if (res.status==200)\r\n return true\r\n else\r\n return false\r\n \r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return false;\r\n })\r\n return result\r\n};\r\n\r\nexport const searchHistorySN = async (req) => {\r\n const url = `${appConfig.BASE_API}/HistorySN/search/`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};","// @flow weak\r\n\r\nimport { appConfig } from '../../config';\r\nimport {\r\n jsonHeaderAuth,\r\n refreshAuthLogic\r\n} from '../fetchTools';\r\nimport axios from 'axios';\r\nimport createAuthRefreshInterceptor from 'axios-auth-refresh';\r\n\r\nexport const getAllNotif = async () => {\r\n const url = `${appConfig.BASE_API}/customernotif/readall`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const getCustNotif = async (cnumb) => {\r\n const url = `${appConfig.BASE_API}/customernotif/readbycn/${cnumb}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const insertNotif = async (req) => {\r\n const url = `${appConfig.BASE_API}/customernotif/insert`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return false;\r\n })\r\n return result\r\n};\r\n\r\nexport const deleteCustNotif = async (idnotif) => {\r\n const url = `${appConfig.BASE_API}/customernotif/delete/${idnotif}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n if (res.status==200)\r\n return true\r\n else\r\n return false\r\n \r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return false;\r\n })\r\n return result\r\n};","// @flow weak\r\n\r\nimport { appConfig } from '../../config';\r\nimport {\r\n jsonHeaderAuth,\r\n refreshAuthLogic\r\n} from '../fetchTools';\r\nimport axios from 'axios';\r\nimport createAuthRefreshInterceptor from 'axios-auth-refresh';\r\nexport const getAllDeviceUSer = async () => {\r\n const url = `${appConfig.BASE_API}/deviceuser/readall`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n \r\n};\r\n\r\nexport const getDeviceUSerbyCnumb = async (cnumb) => {\r\n const url = `${appConfig.BASE_API}/deviceuser/readbycn/${cnumb}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n \r\n};\r\n\r\n\r\nexport const insertDeviceUSer = async (req) => {\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const url = `${appConfig.BASE_API}/deviceuser/insert`; \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n console.log('update customer',res)\r\n if (res.status)\r\n return true\r\n else\r\n return false\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return false\r\n })\r\n return result \r\n};\r\n\r\nexport const deleteDeviceUSer = async (duse_id) => {\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const url = `${appConfig.BASE_API}/deviceuser/delete/${duse_id}`;\r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n if (res.status==200)\r\n return true\r\n else\r\n return false\r\n \r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return false;\r\n })\r\n return result\r\n \r\n};\r\n\r\nexport const getTotalDeviceUser = async (userid) => {\r\n const url = `${appConfig.BASE_API}/count/alldevicebyuserid/${userid}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n \r\n};","// @flow weak\r\n\r\nimport { appConfig } from '../../config';\r\nimport {\r\n checkStatus,\r\n parseJSON,\r\n jsonHeader,\r\n postMethod,\r\n getMethod\r\n} from '../fetchTools';\r\n\r\nexport const addConnection = async (req) => {\r\n \r\n const url = `${appConfig.BASE_API}/login`;\r\n const options = { ...postMethod, ...jsonHeader, body: JSON.stringify(req) };\r\n \r\n try {\r\n var response = await fetch(url, options);\r\n // var status = await checkStatus(response);\r\n var json = await parseJSON(response);\r\n return json;\r\n } catch (error) {\r\n return null;\r\n }\r\n};\r\n\r\nexport const getConnection = async (nocust) => {\r\n\r\n const url = `${appConfig.BASE_API}/test_connection/readbycn/${nocust}`;\r\n const options = { ...getMethod, ...jsonHeader };\r\n try {\r\n var response = await fetch(url, options);\r\n var status = await checkStatus(response);\r\n var json = await parseJSON(response);\r\n return json;\r\n } catch (error) {\r\n console.log('error', error)\r\n return null;\r\n }\r\n \r\n};\r\n\r\nexport const getSentDevice = async (nocust) => {\r\n\r\n const url = `${appConfig.BASE_API}/test_mode/readbycn/${nocust}`;\r\n const options = { ...getMethod, ...jsonHeader };\r\n try {\r\n var response = await fetch(url, options);\r\n var status = await checkStatus(response);\r\n var json = await parseJSON(response);\r\n return json;\r\n } catch (error) {\r\n console.log('error', error)\r\n return null;\r\n }\r\n \r\n};\r\n","// @flow weak\r\n\r\nimport { appConfig } from '../../config';\r\nimport {\r\n jsonHeaderAuth,\r\n refreshAuthLogic\r\n} from '../fetchTools';\r\nimport axios from 'axios';\r\nimport createAuthRefreshInterceptor from 'axios-auth-refresh';\r\nexport const getAllTicket = async () => {\r\n const url = `${appConfig.BASE_API}/ticket/readall`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const getProgressTicket = async (req) => {\r\n const url = `${appConfig.BASE_API}/ticket/progress`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\nexport const getProgressTicketGCS = async (req) => {\r\n const url = `${appConfig.BASE_API}/ticketgcs/progress`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const updateTicket = async (req) => {\r\n const url = `${appConfig.BASE_API}/ticket/update`; \r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n if (res.status==200)\r\n return true\r\n else\r\n return false\r\n \r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return false;\r\n })\r\n return result\r\n};\r\n\r\nexport const updateTicketLoopEDS = async (req) => {\r\n const url = `${appConfig.BASE_API}/ticket/updateloop`; \r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n if (res.status==200)\r\n return true\r\n else\r\n return false\r\n \r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return false;\r\n })\r\n return result\r\n};\r\n\r\nexport const updateTicketGCS = async (req) => {\r\n const url = `${appConfig.BASE_API}/ticketgcs/update`; \r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n if (res.status==200)\r\n return true\r\n else\r\n return false\r\n \r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return false;\r\n })\r\n return result\r\n};\r\n\r\nexport const updateTicketLoopGCS = async (req) => {\r\n const url = `${appConfig.BASE_API}/ticketgcs/updateloop`; \r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n if (res.status==200)\r\n return true\r\n else\r\n return false\r\n \r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return false;\r\n })\r\n return result\r\n};\r\n\r\nexport const getTicketById = async (ticket_id) => {\r\n const url = `${appConfig.BASE_API}/ticket/readbyid/${ticket_id}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\nexport const getTicketGCSById = async (ticket_id) => {\r\n const url = `${appConfig.BASE_API}/ticketgcs/readbyid/${ticket_id}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\nexport const getTicketByCn = async (serial_number) => {\r\n const url = `${appConfig.BASE_API}/ticket/readbycn/${serial_number}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const getTicketByCnGCS = async (serial_number) => {\r\n const url = `${appConfig.BASE_API}/ticketgcs/readbycn/${serial_number}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const getTicketByDateFlag = async (req) => {\r\n const url = `${appConfig.BASE_API}/ticket/readbyflag`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const getTicketGCSByDateFlag = async (req) => {\r\n const url = `${appConfig.BASE_API}/ticketgcs/readbyflag`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const getTicketReportingByDateFlag = async (req) => {\r\n const url = `${appConfig.BASE_API}/ticketReporting/readbyflag`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const getTicketReportingGCSByDateFlag = async (req) => {\r\n const url = `${appConfig.BASE_API}/ticketgcsReporting/readbyflag`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const getUserAgent = async () => {\r\n const url = `${appConfig.BASE_API}/ticket/useragent`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const getHistoryThreeMonth = async (serial_number) => {\r\n const url = `${appConfig.BASE_API}/Chart/${serial_number}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const getHistoryThreeMonthGCS = async (serial_number) => {\r\n const url = `${appConfig.BASE_API}/Chartgcs/${serial_number}`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const getChartStatusToner = async (req) => {\r\n const url = `${appConfig.BASE_API}/chart/tonerstatus`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const getChartStatusTonerGCS = async (req) => {\r\n const url = `${appConfig.BASE_API}/chartgcs/tonerstatus`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const sendToAdisa = async (req) => {\r\n const url = `${appConfig.BASE_API}/sendadisa`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const getResultAdisa = async (req) => {\r\n const url = `${appConfig.BASE_API}/adisagetresult`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\n\r\nexport const getTicketAdisa = async () => {\r\n const url = `${appConfig.BASE_API}/ticket/getadisa`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const getSlaToday = async () => {\r\n const url = `${appConfig.BASE_API}/ticket/getSlaToday_view`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n // console.log('getallcustomer',res.data)\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n // console.log('error', error)\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const newTicketUnion = async () => {\r\n const url = `${appConfig.BASE_API}/ticket/newTicketUnion`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const newTicketUnionReadyReserved = async () => {\r\n const url = `${appConfig.BASE_API}/ticket/newTicketUnionReadyReserved`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const data_timeToSla = async () => {\r\n const url = `${appConfig.BASE_API}/ticket/data_timeToSla`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.get(url,jsonHeaderAuth())\r\n .then(res=>{\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n return null;\r\n })\r\n return result\r\n};","import { appConfig } from '../../config';\r\nimport {\r\n jsonHeaderAuth,\r\n refreshAuthLogic\r\n} from '../fetchTools';\r\nimport axios from 'axios';\r\nimport createAuthRefreshInterceptor from 'axios-auth-refresh';\r\n\r\nexport const InsertDS = async (req) => {\r\n const url = `${appConfig.BASE_API}/ds/insert`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n return null;\r\n })\r\n return result\r\n };\r\n\r\nexport const SearchConsumableRequest = async (req) => {\r\n const url = `${appConfig.BASE_API}/consumable/search`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const SearchConsumableRequestGCS = async (req) => {\r\n const url = `${appConfig.BASE_API}/consumablegcs/search`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const InsertDSHistory = async (req) => {\r\n const url = `${appConfig.BASE_API}/dsh/insert`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n return null;\r\n })\r\n return result\r\n};\r\n\r\nexport const ReadDSHistory = async (req) => {\r\n const url = `${appConfig.BASE_API}/dsh/range`;\r\n createAuthRefreshInterceptor(axios, refreshAuthLogic); \r\n const result=await axios.post(url,req,jsonHeaderAuth())\r\n .then(res=>{\r\n return res.data\r\n }) \r\n .catch (error=> {\r\n return null;\r\n })\r\n return result\r\n};","// @flow\r\n\r\nimport { Base64 } from 'js-base64';\r\nimport Cookies from 'universal-cookie'\r\nimport { refreshToken } from \"./API\"\r\nimport { appConfig } from '../config';\r\n/*\r\n window.location.origin polyfill\r\n */\r\n\r\nexport const getLocationOrigin = () => {\r\n if (!window.location.origin) {\r\n window.location.origin = `${window.location.protocol}//${\r\n window.location.hostname\r\n }${window.location.port ? ':' + window.location.port : ''}`;\r\n }\r\n return window.location.origin;\r\n};\r\nconst cookies = new Cookies()\r\nlet cookie=cookies.get('iSense_user') \r\nlet token=''\r\nlet refreshtoken=''\r\nif (cookie) token=cookies.get('iSense_user').token\r\nif (cookie) refreshtoken=cookies.get('iSense_user').refreshtoken\r\n/*\r\n query options:\r\n */\r\nexport const defaultOptions = {\r\n credentials: 'same-origin',\r\n};\r\n\r\nexport const postMethod = {\r\n method: 'POST',\r\n};\r\n\r\nexport const getMethod = {\r\n method: 'GET',\r\n};\r\nexport const loginHeader = {\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json'\r\n },\r\n};\r\nexport const refreshAuthLogic = async failedRequest => {\r\n \r\n const url = `${appConfig.BASE_API}/refreshtoken`;\r\n console.log('refresh request',url)\r\n \r\n let cookie=cookies.get('iSense_user')\r\n \r\n try{ \r\n let param={\r\n token: cookie.token, refreshtoken: cookie.refreshtoken\r\n }\r\n // console.log('refresh token param',param)\r\n let response = await refreshToken({\r\n token: cookie.token, refreshtoken: cookie.refreshtoken\r\n });\r\n console.log('refresh token response',response)\r\n if (response){ \r\n if (response==403 || response==401){\r\n cookies.remove('iSense_user', {path: '/'})\r\n sessionStorage.clear()\r\n localStorage.clear() \r\n return null;\r\n }\r\n token=response.token;\r\n refreshtoken=response.refreshtoken;\r\n cookie.token=token;\r\n cookie.refreshtoken=refreshtoken;\r\n } \r\n cookie.refreshStatus=\"idle\";\r\n // console.log('idle')\r\n cookies.set('iSense_user', JSON.stringify(cookie), { path: '/' }); \r\n return Promise.resolve();\r\n }\r\n catch(error){\r\n \r\n \r\n }\r\n \r\n}\r\nexport const gettoken = async () => {\r\n let cookie=cookies.get('iSense_user')\r\n return cookie.token\r\n }\r\nexport const getrefreshtoken = async () => {\r\n let cookie=cookies.get('iSense_user') \r\n // console.log('get refresh token',cookie)\r\n if (!cookie) return null\r\n \r\n // if (!cookie.refreshStatus || cookie.refreshStatus==\"idle\"){\r\n // // console.log('requesting token')\r\n // cookie.refreshStatus=\"requesting\";\r\n // cookies.set('iSense_user', JSON.stringify(cookie), { path: '/' }); \r\n // try{ \r\n // let param={\r\n // token: cookie.token, refreshtoken: cookie.refreshtoken\r\n // }\r\n // // console.log('refresh token param',param)\r\n // let response = await refreshToken({\r\n // token: cookie.token, refreshtoken: cookie.refreshtoken\r\n // });\r\n // console.log('refresh token response',response)\r\n // if (response){ \r\n // if (response==403 || response==401){\r\n // cookies.remove('iSense_user', {path: '/'})\r\n // sessionStorage.clear()\r\n // localStorage.clear() \r\n // return null;\r\n // }\r\n // token=response.token;\r\n // refreshtoken=response.refreshtoken;\r\n // cookie.token=token;\r\n // cookie.refreshtoken=refreshtoken;\r\n // } \r\n // cookie.refreshStatus=\"idle\";\r\n // // console.log('idle')\r\n // cookies.set('iSense_user', JSON.stringify(cookie), { path: '/' }); \r\n // return response.token;\r\n // }\r\n // catch(error){\r\n \r\n \r\n // }\r\n \r\n // }\r\n // cookie.refreshStatus=\"idle\";\r\n // // console.log('idle')\r\n // cookies.set('iSense_user', JSON.stringify(cookie), { path: '/' }); \r\n return cookie.token;\r\n};\r\nexport const getaccesstoken = async () => {\r\n let cookie=cookies.get('iSense_user') \r\n if (cookie) \r\n return cookie.token;\r\n else\r\n return null;\r\n};\r\nexport const jsonHeaderAuth = () => {\r\n let cookie=cookies.get('iSense_user')\r\n let header={headers : {\r\n Accept: 'application/json',\r\n 'Content-Type' : 'application/json',\r\n 'Authorization' :'Bearer '+ cookie.token\r\n }}\r\n return header;\r\n};\r\nexport const jsonHeader = (tok) => {\r\n let header={headers : {\r\n Accept: 'application/json',\r\n 'Content-Type' : 'application/json',\r\n 'Authorization' :'Bearer '+ tok\r\n }}\r\n return header;\r\n};\r\nexport const rajaOngkirHeader = {\r\n headers: {\r\n Accept: 'application/json',\r\n 'Content-Type': 'application/json',\r\n 'key': 'fcc82bee33a4517f61c265e4bfe913d4',\r\n 'Access-Control-Allow-Origin' : '*'\r\n },\r\n};\r\n \r\n\r\n/*\r\n query response helpers:\r\n */\r\nexport const checkStatus = (response: {\r\n status: number,\r\n statusText: string,\r\n body: any,\r\n ...any,\r\n}) => {\r\n if (response.status >= 200 && response.status < 300) {\r\n return response;\r\n }\r\n\r\n const error = new Error(response.statusText);\r\n return Promise.reject(error);\r\n};\r\n\r\nexport const parseJSON = (response: any): any => {\r\n try{\r\n let result= response.json();\r\n return result;\r\n }catch(error){\r\n console.log('error parse json',response.json())\r\n return response;\r\n }\r\n};\r\n\r\n/*\r\n general helpers\r\n */\r\nexport const encodeBase64 = (stringToEncode: string): string => {\r\n return Base64.encode(stringToEncode);\r\n};\r\n","// @flow\r\nconst {BASE_API} =window['runConfig']\r\nconst {LDAP_API} =window['runConfig']\r\nexport const appConfig = Object.freeze({\r\n APP_NAME: 'reactDirector',\r\n // dev mode to mock async data for instance\r\n DEV_MODE: true,\r\n // When you need some kind \"console spam\" to debug\r\n DEBUG_ENABLED: true,\r\n // fake delay to mock async\r\n FAKE_ASYNC_DELAY: 1000,\r\n BASE_API: BASE_API,\r\n LDAP_API: LDAP_API,\r\n CONNECTION_STATUS: {\r\n online: 'online',\r\n disconnected: 'disconnected',\r\n },\r\n\r\n // #region API configs\r\n earningGraph: {\r\n data: {\r\n API: 'api/earnigGraphData',\r\n },\r\n },\r\n teamMates: {\r\n data: {\r\n API: 'api/teamMates',\r\n },\r\n },\r\n userInfos: {\r\n data: {\r\n API: 'api/userInfos',\r\n },\r\n },\r\n // #endregion\r\n\r\n HELLO_WORD: 'Hello',\r\n});\r\n"],"sourceRoot":""}