@@ -5,7 +5,7 @@ import express from 'express'
5
5
6
6
const jwt = require ( 'express-jwt' )
7
7
8
- import Environment , { Platform , SessionParameters } from './Environment'
8
+ import Environment , { ContainerStatus , Platform , SessionParameters } from './Environment'
9
9
10
10
const app = express ( )
11
11
const expressWs = require ( 'express-ws' ) ( app )
@@ -303,10 +303,32 @@ expressWs.app.post('/stop', async (req: express.Request, res: express.Response)
303
303
error : `Container ${ containerId } was not stopped.`
304
304
} )
305
305
}
306
-
307
306
} )
308
307
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
+ } )
310
332
311
333
// Error handling middleware
312
334
app . use ( ( error : Error , req : express . Request , res : express . Response , next : any ) => {
0 commit comments