@@ -5,7 +5,7 @@ import express from 'express'
55
66const jwt = require ( 'express-jwt' )
77
8- import Environment , { Platform , SessionParameters } from './Environment'
8+ import Environment , { ContainerStatus , Platform , SessionParameters } from './Environment'
99
1010const app = express ( )
1111const expressWs = require ( 'express-ws' ) ( app )
@@ -303,10 +303,32 @@ expressWs.app.post('/stop', async (req: express.Request, res: express.Response)
303303 error : `Container ${ containerId } was not stopped.`
304304 } )
305305 }
306-
307306} )
308307
309- // TODO: session (container) info querying (i.e. is container still running)
308+ expressWs . app . post ( '/container-status' , async ( req : express . Request , res : express . Response ) => {
309+ // req: some JSON -> with container ID that will stop the container
310+ if ( ! doRequestValidation ( req , res , [ 'environmentId' , 'containerId' ] ) ) {
311+ return res . end ( )
312+ }
313+
314+ const jwtData = getJwtData ( req , res , req . body . containerId )
315+
316+ if ( jwtData === null ) {
317+ return res . end ( )
318+ }
319+
320+ const env = new Environment ( req . body . environmentId )
321+ const sessionParameters = new SessionParameters ( )
322+ sessionParameters . platform = Platform . DOCKER
323+
324+ const containerId = req . body . containerId
325+
326+ return res . json (
327+ {
328+ status : ContainerStatus [ await env . containerIsRunning ( containerId ) ? ContainerStatus . RUNNING : ContainerStatus . STOPPED ]
329+ }
330+ ) . end ( )
331+ } )
310332
311333// Error handling middleware
312334app . use ( ( error : Error , req : express . Request , res : express . Response , next : any ) => {
0 commit comments