{"version":3,"sources":["views/pages/login/Login.js","views/pages/login/index.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","assets/icons/loading.svg","assets/icons/man-blue.png","views/pages/login/TabConnection.js","views/pages/login/TabSentDevice.js","views/pages/login/ViewResult.js","assets/icons/iSense-Logo.png","assets/icons/Cahyo_MFD.png"],"names":["cryptoRandomString","require","cookies","Cookies","Login","props","inputChange","event","setState","target","name","value","handleSubmit","bind","changeCapt","captchaOnChange","captchaRefresh","state","username","password","loading","error","errMsg","login","captcha","myCapt","wrCount","minutes","seconds","captchaCorrect","console","log","get","menit","detik","this","countDown","myInterval","setInterval","set","JSON","stringify","path","clearInterval","remove","preventDefault","deviceid","length","type","authUser","response","headers","status_in_ex","status_aktif","window","location","reload","xmls","ldapws","appConfig","LDAP_API","axios","post","then","res","doc","DOMParser","parseFromString","data","valueXML","getElementsByTagName","innerHTML","catch","err","result","characters","charactersLength","i","charAt","Math","floor","random","timeout","className","onSubmit","onChange","placeholder","required","onRefresh","style","width","margin","src","Loading","Component","view","changeView","history","push","pathname","parse","localStorage","getItem","setItem","href","Logo","alt","marginTop","LoginIcon","onClick","req","a","url","BASE_API","options","postMethod","loginHeader","body","fetch","parseJSON","json","refreshToken","checkStatus","status","getAllCustomer","createAuthRefreshInterceptor","refreshAuthLogic","jsonHeaderAuth","getCustomer","id","createCustomer","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","cookie","token","refreshtoken","method","Accept","failedRequest","sessionStorage","clear","refreshStatus","Promise","resolve","getrefreshtoken","tok","Error","statusText","reject","Object","freeze","APP_NAME","DEV_MODE","DEBUG_ENABLED","FAKE_ASYNC_DELAY","CONNECTION_STATUS","online","disconnected","earningGraph","API","teamMates","userInfos","HELLO_WORD","module","exports","TabConnection","connections","customer","isNull","Table","date","d","Date","getDate","getMonth","getFullYear","getHours","getMinutes","getSeconds","UserIco","customer_name","customer_number","map","key","connection_type","handleDate","received_date_time","position","marginLeft","icon","color","TabSentDevice","sentdevices","model","ViewResult","changeTab","undefined"],"mappings":"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","file":"static/js/16.b38bf4f4.chunk.js","sourcesContent":["import React, { Component } from 'react'\r\nimport { appConfig } from '../../../config';\r\nimport axios from 'axios'\r\nimport { authUser } from \"../../../services/API\"\r\nimport Loading from '../../../assets/icons/loading.svg'\r\nimport Cookies from 'universal-cookie'\r\n// import Captcha from './Captcha'\r\nimport Captcha from \"demos-react-captcha\";\r\nconst cryptoRandomString = require('crypto-random-string');\r\nconst cookies = new Cookies();\r\n\r\nclass Login extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.handleSubmit = this.handleSubmit.bind(this)\r\n this.changeCapt = this.changeCapt.bind(this)\r\n this.captchaOnChange = this.captchaOnChange.bind(this)\r\n this.captchaRefresh = this.captchaRefresh.bind(this)\r\n\r\n\r\n this.state = {\r\n username: \"\",\r\n password: \"\",\r\n loading: false,\r\n error: false,\r\n errMsg: \"\",\r\n login: false,\r\n captcha: \"\",\r\n myCapt: \"\",\r\n wrCount: 0,\r\n minutes: 0,\r\n seconds: 0,\r\n captchaCorrect:false\r\n };\r\n\r\n }\r\n\r\n async componentDidMount() { \r\n \r\n console.log('update 2024 01 19')\r\n\r\n if (cookies.get('count_down')) {\r\n var menit = cookies.get('count_down').minutes\r\n var detik = cookies.get('count_down').seconds\r\n\r\n this.setState({minutes: menit, seconds: detik, error: true, login: false, errMsg: \"incorrect captcha, try again after 5 minutes\"})\r\n this.countDown()\r\n }\r\n this.setState({myCapt: this.myCapt(5),captchaCorrect:true})\r\n\r\n }\r\n\r\n countDown(){\r\n this.myInterval = setInterval(() => {\r\n const { seconds, minutes } = this.state\r\n if (seconds > 0) {\r\n cookies.set('count_down', JSON.stringify({minutes: minutes, seconds: seconds}), { path: '/' });\r\n this.setState(({ seconds }) => ({\r\n seconds: seconds - 1\r\n }))\r\n }\r\n if (seconds === 0) {\r\n if (minutes === 0) {\r\n clearInterval(this.myInterval)\r\n this.setState({wrCount: 0, captcha: ''})\r\n cookies.remove('count_down', {path: '/'})\r\n } else {\r\n this.setState(({ minutes }) => ({\r\n minutes: minutes - 1,\r\n seconds: 59\r\n }))\r\n }\r\n }\r\n }, 1000)\r\n }\r\n\r\n componentWillUnmount() {\r\n clearInterval(this.myInterval)\r\n }\r\n \r\n async handleSubmit(event){\r\n event.preventDefault()\r\n\r\n const {username, password, captcha, myCapt,captchaCorrect, wrCount} = this.state\r\n var deviceid=cryptoRandomString({length: 40, type: 'base64'});\r\n cookies.set('deviceid', deviceid, { path: '/' });\r\n if (!captchaCorrect) {\r\n // console.log('captcha',captcha)\r\n // console.log('myCapt',myCapt)\r\n this.setState({ error: true, login: false, errMsg: \"incorrect Captcha, try again!\", myCapt: this.myCapt(5), wrCount: (wrCount+1)})\r\n if ((wrCount+1) == 3) {\r\n \r\n this.setState({minutes: 5, errMsg: \"incorrect captcha, try again after 5 minutes\"})\r\n this.countDown()\r\n }\r\n }else{\r\n \r\n this.setState({loading:true, error: false})\r\n const response = await authUser({\r\n username: username, password: password, deviceid:deviceid\r\n });\r\n\r\n const headers = {\r\n 'Accept' : '*/*',\r\n 'Content-Type': 'text/xml; charset=UTF-8',\r\n 'Access-Control-Allow-Origin' : '*',\r\n 'SOAPActions' : 'http://tempuri.org/LoginLDAP'\r\n }\r\n console.log('response', response)\r\n if (response != null) {\r\n // console.log('response', response)\r\n if (response.status_in_ex == 'Eksternal') {\r\n if (response.status_aktif == true) {\r\n \r\n cookies.set('iSense_user', JSON.stringify(response), { path: '/' });\r\n // console.log('iSense_user', cookies.get('iSense_user')); // Pacman\r\n this.setState({loading:false, error: false, login: true})\r\n window.location.reload(false);\r\n }else{\r\n this.setState({loading:false, error: true, login: false, errMsg: \"User is non active\"})\r\n \r\n }\r\n }else {\r\n \r\n let xmls=`\r\n \r\n \r\n \r\n ${username}\r\n ${password}\r\n \r\n \r\n `;\r\n let ldapws=`${appConfig.LDAP_API}ws_ldap.asmx`\r\n axios.post(ldapws, xmls, {headers: headers}).then(res=>{\r\n \r\n var doc = new DOMParser().parseFromString(res.data, 'text/xml');\r\n var valueXML = doc.getElementsByTagName('LoginLDAPResult');\r\n console.log('resa', doc);\r\n console.log('resa', valueXML[0].innerHTML);\r\n\r\n if (valueXML[0].innerHTML == 'False') {\r\n this.setState({loading:false, error: true, login: false, errMsg: \"Invalid username / password\"})\r\n }else if (valueXML[0].innerHTML == 'True'){\r\n cookies.set('iSense_user', JSON.stringify(response), { path: '/' });\r\n this.setState({loading:false, error: false, login: true})\r\n window.location.reload(false);\r\n }\r\n /*let parser = new xml2js.Parser();\r\n parser.parseString(res.data,\r\n function(err, result) {\r\n console.log('kolp', result.soap);\r\n }\r\n );*/\r\n }).catch(err=>{\r\n console.log(err)\r\n this.setState({loading:false, error: true, login: false, errMsg: \"Login error, please try again\"})\r\n });\r\n }\r\n \r\n \r\n }else{\r\n this.setState({loading:false, error: true, login: false, errMsg: \"Invalid username / password\"})\r\n }\r\n\r\n }\r\n }\r\n\r\n myCapt(length) {\r\n var result = '';\r\n var characters = 'ABCDEFGHJKMNOPQRSTUVWXYZabcdefghjkmnopqrstuvwxyz023456789';\r\n var charactersLength = characters.length;\r\n for ( var i = 0; i < length; i++ ) {\r\n result += characters.charAt(Math.floor(Math.random() * charactersLength));\r\n }\r\n return result;\r\n }\r\n captchaOnChange(value){\r\n this.setState({captchaCorrect: value});\r\n }\r\n captchaRefresh(){\r\n this.setState({captchaCorrect: false});\r\n }\r\n\r\n changeCapt(){\r\n this.setState({myCapt: this.myCapt(5)})\r\n }\r\n\r\n inputChange = (event) => {\r\n this.setState({ [event.target.name] : event.target.value });\r\n }\r\n render() {\r\n const {username, password, loading, error, errMsg, captcha, myCapt, wrCount, minutes, seconds} = this.state\r\n var timeout = minutes === 0 && seconds === 0 ? true : false\r\n return (\r\n
\r\n

Sign In to your iSense account

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n\r\n
\r\n
{timeout ? 'Captcha' : 'Countdown Timer'}
\r\n\r\n
\r\n { timeout\r\n ? \r\n : minutes + ':' + (seconds < 10 ? `0${seconds}` : seconds)\r\n }\r\n
\r\n
\r\n\r\n {/*
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
*/}\r\n\r\n {loading &&
\r\n \r\n
}\r\n \r\n {timeout && !loading\r\n &&
\r\n \r\n
\r\n }\r\n {error && }\r\n
\r\n
\r\n OR\r\n
\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n )\r\n }\r\n}\r\n\r\n\r\nexport default Login\r\n","import React, { Component } from 'react'\r\nimport Cookies from 'universal-cookie'\r\nimport VLogin from './Login'\r\nimport VResult from './ViewResult'\r\nimport Logo from '../../../assets/icons/iSense-Logo.png'\r\nimport LoginIcon from '../../../assets/icons/Cahyo_MFD.png'\r\nimport './login.css'\r\n\r\nconst cookies = new Cookies();\r\n\r\nclass Login extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n view: false \r\n };\r\n\r\n this.changeView = this.changeView.bind(this)\r\n }\r\n\r\n async componentDidMount() {\r\n if (cookies.get('iSense_user')) {\r\n \r\n this.props.history.push({\r\n pathname: '/home'\r\n });\r\n }else{\r\n if (JSON.parse(localStorage.getItem('thisView'))) {\r\n this.setState({view: localStorage.getItem('thisView')})\r\n }\r\n }\r\n }\r\n\r\n changeView(){\r\n localStorage.setItem('thisView', JSON.stringify(!this.state.view));\r\n this.setState({view: !this.state.view})\r\n }\r\n \r\n render() {\r\n const {view} = this.state\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 {!view ? \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n :\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n }\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n }\r\n}\r\n\r\n\r\nexport default Login\r\n","// @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","module.exports = __webpack_public_path__ + \"static/media/loading.5cc6a7da.svg\";","module.exports = \"data:image/png;base64,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\"","import React, { Component } from 'react'\r\nimport Cookies from 'universal-cookie'\r\nimport './login.css'\r\nimport Loading from '../../../assets/icons/loading.svg'\r\nimport UserIco from '../../../assets/icons/man-blue.png'\r\nimport MaterialIcon from 'material-icons-react';\r\nimport {\r\n CCard,\r\n CCardBody,\r\n CInput,\r\n CInputGroup,\r\n CInputGroupPrepend,\r\n CInputGroupText\r\n} from '@coreui/react'\r\nimport { getConnection } from \"../../../services/API\"\r\n\r\nconst cookies = new Cookies();\r\n\r\nclass TabConnection extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n connections:[],\r\n customer:'',\r\n loading: false,\r\n isNull: '' \r\n };\r\n\r\n this.handleSubmit = this.handleSubmit.bind(this)\r\n }\r\n\r\n async componentDidMount() {\r\n if (JSON.parse(localStorage.getItem('dataConn'))) {\r\n this.setState({connections: JSON.parse(localStorage.getItem('dataConn'))})\r\n }\r\n } \r\n\r\n async handleSubmit(){\r\n this.setState({loading: true})\r\n const {customer} = this.state\r\n if (customer) {\r\n\r\n try {\r\n const res = await getConnection(customer);\r\n if (res.Table.length > 0) {\r\n this.setState({connections: res.Table, isNull: ''})\r\n } else {\r\n this.setState({connections: [], isNull: 'empty'})\r\n }\r\n localStorage.setItem('dataConn', JSON.stringify(res.Table));\r\n\r\n } catch(e) {\r\n console.log(\"Error\", e);\r\n this.setState({connections: [], isNull: 'err'})\r\n }\r\n }\r\n\r\n this.setState({loading: false})\r\n }\r\n inputChange = (event) => {\r\n this.setState({ [event.target.name] : event.target.value });\r\n }\r\n handleDate(date){\r\n var d = new Date(date)\r\n var n = d.getDate()+'/'+(d.getMonth() + 1)+'/'+d.getFullYear()+' '+d.getHours()+':'+d.getMinutes()+':'+d.getSeconds()\r\n return n\r\n }\r\n render() {\r\n const {connections, loading, isNull} = this.state\r\n return (\r\n \r\n
Connection Test List
\r\n \r\n \r\n \r\n \r\n \r\n   Search\r\n \r\n \r\n \r\n
\r\n \r\n {loading &&
}\r\n {!loading && connections.length > 0 &&\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{connections[0].customer_name}

\r\n
{connections[0].customer_number}
\r\n
\r\n
\r\n \r\n {connections.map((data, i) => \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n \r\n }\r\n {isNull == 'empty' && \r\n
\r\n
Data Not Found
\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 TabConnection\r\n","import React, { Component } from 'react'\r\nimport Cookies from 'universal-cookie'\r\nimport './login.css'\r\nimport Loading from '../../../assets/icons/loading.svg'\r\nimport UserIco from '../../../assets/icons/man-blue.png'\r\nimport MaterialIcon from 'material-icons-react';\r\nimport {\r\n CCard,\r\n CCardBody,\r\n CInput,\r\n CInputGroup,\r\n CInputGroupPrepend,\r\n CInputGroupText\r\n} from '@coreui/react'\r\nimport { getSentDevice } from \"../../../services/API\"\r\n\r\nconst cookies = new Cookies();\r\n\r\nclass TabSentDevice extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n sentdevices:[],\r\n customer:'',\r\n loading: false,\r\n isNull: ''\r\n };\r\n\r\n this.handleSubmit = this.handleSubmit.bind(this)\r\n }\r\n\r\n async componentDidMount() {\r\n if (JSON.parse(localStorage.getItem('dataSent'))) {\r\n this.setState({sentdevices: JSON.parse(localStorage.getItem('dataSent'))})\r\n }\r\n } \r\n\r\n async handleSubmit(){\r\n this.setState({loading: true})\r\n const {customer} = this.state\r\n if (customer) {\r\n\r\n try {\r\n const res = await getSentDevice(customer);\r\n if (res.Table.length > 0) {\r\n this.setState({sentdevices: res.Table, isNull: ''})\r\n } else {\r\n this.setState({sentdevices: [], isNull: 'empty'})\r\n }\r\n localStorage.setItem('dataSent', JSON.stringify(res.Table));\r\n\r\n } catch(e) {\r\n console.log(\"Error\", e);\r\n this.setState({sentdevices: [], isNull: 'err'})\r\n }\r\n }\r\n\r\n this.setState({loading: false})\r\n }\r\n inputChange = (event) => {\r\n this.setState({ [event.target.name] : event.target.value });\r\n }\r\n handleDate(date){\r\n var d = new Date(date)\r\n var n = d.getDate()+'/'+(d.getMonth() + 1)+'/'+d.getFullYear()+' '+d.getHours()+':'+d.getMinutes()+':'+d.getSeconds()\r\n return n\r\n }\r\n render() {\r\n const {sentdevices, loading, isNull} = this.state\r\n return (\r\n \r\n
Sent Device List
\r\n \r\n \r\n \r\n \r\n \r\n   Search\r\n \r\n \r\n \r\n
\r\n \r\n {loading &&
}\r\n {!loading && sentdevices.length > 0 &&\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

{sentdevices[0].customer_name}

\r\n
{sentdevices[0].customer_number}
\r\n
\r\n
\r\n \r\n {sentdevices.map((data, i) => \r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n \r\n }\r\n\r\n {isNull == 'empty' && \r\n
\r\n
Data Not Found
\r\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 TabSentDevice\r\n","import React, { Component } from 'react'\r\nimport Cookies from 'universal-cookie'\r\nimport './login.css'\r\nimport TabConn from './TabConnection'\r\nimport TabSent from './TabSentDevice'\r\n\r\nconst cookies = new Cookies();\r\n\r\nclass ViewResult extends Component {\r\n\r\n constructor(props) {\r\n super(props);\r\n\r\n this.state = {\r\n view: 'conn' \r\n };\r\n\r\n this.changeTab = this.changeTab.bind(this)\r\n }\r\n\r\n async componentDidMount() {\r\n if (cookies.get('iSense_user')) {\r\n \r\n if(this.props.history != undefined)\r\n {\r\n this.props.history.push({\r\n pathname: '/home'\r\n });\r\n }\r\n }\r\n }\r\n\r\n changeTab(event){\r\n this.setState({view: event.target.value})\r\n }\r\n \r\n\r\n render() {\r\n const {view} = this.state\r\n return (\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n {view == 'conn' ? : }\r\n
\r\n
\r\n
\r\n )\r\n }\r\n}\r\n\r\n\r\nexport default ViewResult\r\n","module.exports = __webpack_public_path__ + \"static/media/iSense-Logo.5015ddd9.png\";","module.exports = __webpack_public_path__ + \"static/media/Cahyo_MFD.3bf42dbf.png\";"],"sourceRoot":""}