(this.webpackJsonpworkstations3=this.webpackJsonpworkstations3||[]).push([[0],{100:function(e,t,a){"use strict";a.r(t);var n=a(0),r=a.n(n),i=a(8),o=a.n(i),s=(a(93),a(12)),c=a.n(s),l=a(19),u=a(34),d=a(23),p=a(47),m=a(48),h=a(16),f=a(53),g=(a(95),a(11)),b=a(17),w=a(66),v=a(3),k=a(145),y=a(13),E=a(176),O=a(148),j=a(150),x=a(151),C=a(153),S=a(42),T=a(156),I=a(152),N=a(69),L=a.n(N),P=a(70),A=a.n(P),W=a(71),U=a.n(W),B=a(154),z=a(155),J=Object(k.a)((function(e){return{root:{display:"flex"},appBar:{transition:e.transitions.create(["margin","width"],{easing:e.transitions.easing.sharp,duration:e.transitions.duration.leavingScreen})},appBarShift:{width:"calc(100% - ".concat(240,"px)"),marginLeft:240,transition:e.transitions.create(["margin","width"],{easing:e.transitions.easing.easeOut,duration:e.transitions.duration.enteringScreen})},menuButton:{marginRight:e.spacing(2)},hide:{display:"none"},drawer:{width:240,flexShrink:0},drawerPaper:{width:240},drawerHeader:Object(w.a)({display:"flex",alignItems:"center",padding:e.spacing(0,1)},e.mixins.toolbar,{justifyContent:"flex-end"}),content:{flexGrow:1,padding:e.spacing(3),transition:e.transitions.create("margin",{easing:e.transitions.easing.sharp,duration:e.transitions.duration.leavingScreen}),marginLeft:-240},contentShift:{transition:e.transitions.create("margin",{easing:e.transitions.easing.easeOut,duration:e.transitions.duration.enteringScreen}),marginLeft:0}}}));var G=function(e){var t,a=J(),n=Object(y.a)(),i=r.a.useState(!1),o=Object(b.a)(i,2),s=o[0],c=o[1],l=function(){c(!1)},u=null===(t=e.servers)||void 0===t?void 0:t.map((function(e){return e.ProjectName}));return r.a.createElement("div",{className:a.root},r.a.createElement(O.a,null),r.a.createElement(j.a,{position:"fixed",className:Object(v.a)(a.appBar,Object(g.a)({},a.appBarShift,s))},r.a.createElement(x.a,null,r.a.createElement(I.a,{color:"inherit","aria-label":"open drawer",onClick:function(){c(!0)},edge:"start",className:Object(v.a)(a.menuButton,s&&a.hide)},r.a.createElement(L.a,null)),r.a.createElement(S.a,{variant:"h4",noWrap:!0},"Workstations"))),r.a.createElement(E.a,{className:a.drawer,variant:"persistent",anchor:"left",open:s,classes:{paper:a.drawerPaper}},r.a.createElement("div",{className:a.drawerHeader},r.a.createElement(I.a,{onClick:l},"ltr"===n.direction?r.a.createElement(A.a,null):r.a.createElement(U.a,null))),r.a.createElement(C.a,null,null===u||void 0===u?void 0:u.map((function(t,a){return r.a.createElement(B.a,{button:!0,key:t,onClick:function(){return function(t){l(),e.handleClick(t)}(t)}},r.a.createElement(z.a,{primary:t}))}))),r.a.createElement(T.a,null)),r.a.createElement("main",{className:Object(v.a)(a.content,Object(g.a)({},a.contentShift,s))},r.a.createElement("div",{className:a.drawerHeader})))},H=a(72),V=a(158),R=a(162),$=a(161),F=a(157),q=a(159),D=a(174),M=a(160),Y=a(163),K=function(e){function t(){return Object(u.a)(this,t),Object(p.a)(this,Object(m.a)(t).apply(this,arguments))}return Object(f.a)(t,e),Object(d.a)(t,[{key:"render",value:function(){return"TurnedOff"===this.props.item?r.a.createElement("div",{className:"led-red"},r.a.createElement("span",{className:"tooltiptext"},"Turned Off")):"Available"===this.props.item?r.a.createElement("div",{className:"led-green"},r.a.createElement("span",{className:"tooltiptext"},"Available")):"InUse"===this.props.item?r.a.createElement("div",{className:"led-blue"},r.a.createElement("span",{className:"tooltiptext"},"In Use")):r.a.createElement("div",{className:"led-yellow"},r.a.createElement("span",{className:"tooltiptext"},this.props.item))}}]),t}(r.a.Component);var Q=[{id:"name",label:"Name",minWidth:170},{id:"instanceId",label:"Instance Id",minWidth:100},{id:"status",label:"Status",minWidth:100}],X=Object(k.a)({root:{width:"100%"},container:{maxHeight:"80%"}});var Z=function(e){var t=X(),a=r.a.useState(0),n=Object(b.a)(a,2),i=n[0],o=n[1],s=r.a.useState(25),u=Object(b.a)(s,2),d=u[0],p=u[1],m=function(){var t=Object(l.a)(c.a.mark((function t(a){return c.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(!1!==window.confirm("Are you sure?")){t.next=3;break}return t.abrupt("return");case 3:return t.next=5,fetch("https://piwrho5f25.execute-api.ap-southeast-2.amazonaws.com/Prod/servers/stop/",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",Authorization:e.apiToken},body:JSON.stringify({InstanceId:a})});case 5:window.alert("Server is stopping"),e.refreshState();case 7:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}(),h=function(){var t=Object(l.a)(c.a.mark((function t(a){var n;return c.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:if(console.log(e),!1!==window.confirm("Are you sure?")){t.next=4;break}return t.abrupt("return");case 4:return t.next=6,fetch("https://piwrho5f25.execute-api.ap-southeast-2.amazonaws.com/Prod/servers/start/",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json",Authorization:e.apiToken},body:JSON.stringify({InstanceId:a})});case 6:200===(n=t.sent).status?window.alert("Server is starting"):401===n.status?window.alert("Unauthorized, You may not start a server outside of its allowed start hours"):window.alert("Something went wrong. please contact your Administrator for assistance"),e.refreshState();case 9:case"end":return t.stop()}}),t)})));return function(e){return t.apply(this,arguments)}}();return r.a.createElement(H.a,{className:t.root},r.a.createElement(F.a,{className:t.container},r.a.createElement(V.a,{stickyHeader:!0,"aria-label":"sticky table"},r.a.createElement(q.a,null,r.a.createElement(M.a,null,Q.map((function(e){return r.a.createElement($.a,{key:e.id,align:e.align,style:{minWidth:e.minWidth}},e.label)})))),r.a.createElement(R.a,null,e.servers.slice(i*d,i*d+d).map((function(e){var t;return t=""===e.port?r.a.createElement($.a,{key:"login",align:"center"},r.a.createElement(Y.a,{variant:"outlined",color:"primary",onClick:function(){return function(e,t){var a="https://"+e+"/"+t+"/";window.open(a)}(e.lb,e.name)}},"Log In")):r.a.createElement($.a,{key:"login",align:"center"},r.a.createElement(Y.a,{variant:"outlined",color:"primary",onClick:function(){return function(e,t,a){var n,r=document.createElement("a"),i=new Blob([(n=e+":"+t,"\nscreen mode id:i:2\nuse multimon:i:0\ndesktopwidth:i:1920\ndesktopheight:i:1080\nsession bpp:i:32\nwinposstr:s:0,1,454,355,1016,654\ncompression:i:1\nkeyboardhook:i:2\naudiocapturemode:i:0\nvideoplaybackmode:i:1\nconnection type:i:7\nnetworkautodetect:i:1\nbandwidthautodetect:i:1\ndisplayconnectionbar:i:1\nenableworkspacereconnect:i:0\ndisable wallpaper:i:0\nallow font smoothing:i:0\nallow desktop composition:i:0\ndisable full window drag:i:1\ndisable menu anims:i:1\ndisable themes:i:0\ndisable cursor setting:i:0\nbitmapcachepersistenable:i:1\nfull address:s:".concat(n,"\naudiomode:i:0\nredirectprinters:i:1\nredirectcomports:i:0\nredirectsmartcards:i:1\nredirectclipboard:i:1\nredirectposdevices:i:0\nautoreconnection enabled:i:1\nauthentication level:i:2\nprompt for credentials:i:0\nnegotiate security layer:i:1\nremoteapplicationmode:i:0\nalternate shell:s:\nshell working directory:s:\ngatewayhostname:s:\ngatewayusagemethod:i:4\ngatewaycredentialssource:i:4\ngatewayprofileusagemethod:i:0\npromptcredentialonce:i:0\ngatewaybrokeringtype:i:0\nuse redirection server name:i:0\nrdgiskdcproxy:i:0\nkdcproxyname:s:\n"))],{type:"text/plain"});r.href=URL.createObjectURL(i),r.download=a+".rdp",document.body.appendChild(r),r.click()}(e.lb,e.port,e.name)}},"Log In")),r.a.createElement(M.a,{hover:!0,role:"checkbox",tabIndex:-1,key:e.code},Q.map((function(t){var a=e[t.id];return r.a.createElement($.a,{key:t.id,align:t.align},t.format&&"number"===typeof a?t.format(a):a)})),r.a.createElement($.a,{key:"indicator",align:"left"},r.a.createElement(K,{item:e.status,key:e.status})),t,r.a.createElement($.a,{key:"start",align:"right"},r.a.createElement(Y.a,{variant:"contained",color:"primary",onClick:function(){return h(e.instanceId)}},"Start")),r.a.createElement($.a,{key:"stop",align:"left"},r.a.createElement(Y.a,{variant:"contained",color:"secondary",onClick:function(){return m(e.instanceId)}},"Stop")))}))))),r.a.createElement(D.a,{rowsPerPageOptions:[10,25,100],component:"div",count:e.servers.length,rowsPerPage:d,page:i,onChangePage:function(e,t){o(t)},onChangeRowsPerPage:function(e){p(+e.target.value),o(0)}}))},_=a(169),ee=a(175),te=a(170),ae=a(171),ne=a(166),re=a(172),ie=a(168),oe=a(167);function se(e){var t=r.a.useState(e.openLogin),a=Object(b.a)(t,2),n=a[0],i=a[1],o=r.a.useState(""),s=Object(b.a)(o,2),u=s[0],d=s[1],p=r.a.useState(""),m=Object(b.a)(p,2),h=m[0],f=m[1],g=function(){i(!1)},w=function(){var t=Object(l.a)(c.a.mark((function t(){return c.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:e.handleLogOut();case 1:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}(),v=function(){var t=Object(l.a)(c.a.mark((function t(){var a,n;return c.a.wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.next=2,fetch("https://piwrho5f25.execute-api.ap-southeast-2.amazonaws.com/Prod/login/",{method:"POST",headers:{Accept:"application/json","Content-Type":"application/json"},body:JSON.stringify({username:u,password:h})});case 2:if(200!==(a=t.sent).status){t.next=12;break}return t.next=6,a.json();case 6:n=t.sent,document.cookie="auth="+n.token+";expires="+n.expiry,e.handleUpdateApiToken(n.token),g(),t.next=13;break;case 12:window.alert("Incorrect login details");case 13:case"end":return t.stop()}}),t)})));return function(){return t.apply(this,arguments)}}();return!1===e.openLogin?r.a.createElement("div",null,r.a.createElement(Y.a,{variant:"outlined",color:"primary",onClick:w},"Log Out")):r.a.createElement("div",null,r.a.createElement(Y.a,{variant:"outlined",color:"primary",onClick:function(){i(!0)}},"Log In"),r.a.createElement(ne.a,{open:n,onClose:g,"aria-labelledby":"alert-dialog-title","aria-describedby":"alert-dialog-description"},r.a.createElement(oe.a,{id:"alert-dialog-title"},"Log In"),r.a.createElement(ie.a,null,r.a.createElement(_.a,{container:!0,spacing:4,alignItems:"flex-end"},r.a.createElement(_.a,{item:!0},r.a.createElement(te.a,null)),r.a.createElement(_.a,{item:!0,md:!0,sm:!0,xs:!0},r.a.createElement(ee.a,{id:"username",label:"Username",onChange:function(e){return d(e.target.value)},type:"email",fullWidth:!0,autoFocus:!0,required:!0}))),r.a.createElement(_.a,{container:!0,spacing:4,alignItems:"flex-end"},r.a.createElement(_.a,{item:!0},r.a.createElement(ae.a,null)),r.a.createElement(_.a,{item:!0,md:!0,sm:!0,xs:!0},r.a.createElement(ee.a,{id:"password",label:"Password",onChange:function(e){return f(e.target.value)},type:"password",fullWidth:!0,required:!0})))),r.a.createElement(re.a,null,r.a.createElement(Y.a,{onClick:v,color:"primary"},"Log In"),r.a.createElement(Y.a,{onClick:g,color:"primary",autoFocus:!0},"Cancel"))))}var ce=function(e){function t(e){var a;Object(u.a)(this,t),(a=Object(p.a)(this,Object(m.a)(t).call(this,e))).handler=Object(l.a)(c.a.mark((function e(){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(""!==a.state.apiToken){e.next=2;break}return e.abrupt("return");case 2:return e.next=4,fetch("https://piwrho5f25.execute-api.ap-southeast-2.amazonaws.com/Prod/servers/",{method:"GET",headers:{Accept:"application/json","Content-Type":"application/json",Authorization:a.state.apiToken}}).then((function(e){return e.json()})).then((function(e){return e.Projects})).then((function(e){return a.setState({list:e})}));case 4:a.updateSelectedClient();case 5:case"end":return e.stop()}}),e)}))),a.updateSelectedClient=Object(l.a)(c.a.mark((function e(){var t;return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:""===a.state.selectedClient?void 0!==a.state.list&&a.setState({showList:a.state.list[0].ProjectServers}):(t=a.state.list.filter((function(e){return e.ProjectName===a.state.selectedClient})),a.setState({showList:t[0].ProjectServers}));case 1:case"end":return e.stop()}}),e)}))),a.updateApiToken=function(){var e=Object(l.a)(c.a.mark((function e(t){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:a.setState({apiToken:t}),a.handler();case 2:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}(),a.logOut=Object(l.a)(c.a.mark((function e(){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:a.setState({apiToken:"",showList:[]}),document.cookie="auth=logout;expires=Fri, 27 Jul 2001 02:47:11 UTC;",console.log("LOGGING OUT");case 3:case"end":return e.stop()}}),e)}))),a.handleClick=function(){var e=Object(l.a)(c.a.mark((function e(t){return c.a.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a.setState({selectedClient:t});case 2:a.updateSelectedClient();case 3:case"end":return e.stop()}}),e)})));return function(t){return e.apply(this,arguments)}}();var n=document.cookie.replace(/(?:(?:^|.*;\s*)auth\s*\=\s*([^;]*).*$)|^.*$/,"$1");return a.state={list:null,showList:[],selectedClient:"",interval:"",apiToken:n},a.handleClick=a.handleClick.bind(Object(h.a)(a)),a.handler=a.handler.bind(Object(h.a)(a)),a.handleVisibilityChange=a.handleVisibilityChange.bind(Object(h.a)(a)),a.updateApiToken=a.updateApiToken.bind(Object(h.a)(a)),a.logOut=a.logOut.bind(Object(h.a)(a)),a}return Object(f.a)(t,e),Object(d.a)(t,[{key:"handleVisibilityChange",value:function(){if(document.hidden)try{clearInterval(this.state.interval)}catch(t){}else{this.handler();var e=setInterval(this.handler,12e5);this.setState({interval:e})}}},{key:"componentDidMount",value:function(){this.handleVisibilityChange(),document.addEventListener("visibilitychange",this.handleVisibilityChange,!1)}},{key:"render",value:function(){return r.a.createElement("div",null,r.a.createElement(G,{servers:this.state.list,handleClick:this.handleClick}),r.a.createElement(Z,{servers:this.state.showList,refreshState:this.handler,apiToken:this.state.apiToken}),r.a.createElement(se,{handleUpdateApiToken:this.updateApiToken,handleLogOut:this.logOut,openLogin:""===this.state.apiToken}))}}]),t}(r.a.Component);Boolean("localhost"===window.location.hostname||"[::1]"===window.location.hostname||window.location.hostname.match(/^127(?:\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/));o.a.render(r.a.createElement(ce,null),document.getElementById("root")),"serviceWorker"in navigator&&navigator.serviceWorker.ready.then((function(e){e.unregister()})).catch((function(e){console.error(e.message)}))},88:function(e,t,a){e.exports=a(100)},93:function(e,t,a){},95:function(e,t,a){}},[[88,1,2]]]); //# sourceMappingURL=main.131438d4.chunk.js.map