1 | DeploymentsController = require './controllers/deployments-controller'
|
2 | CancellationController = require './controllers/cancellation-controller'
|
3 | SchedulesController = require './controllers/schedules-controller'
|
4 | StatusController = require './controllers/status-controller'
|
5 |
|
6 | class Router
|
7 | constructor: ({client, deployDelay, redisQueue}) ->
|
8 | throw new Error('client is required') unless client?
|
9 | throw new Error('deployDelay is required') unless deployDelay?
|
10 | throw new Error('redisQueue is required') unless redisQueue?
|
11 |
|
12 | @deploymentsController = new DeploymentsController {client, deployDelay, redisQueue}
|
13 | @cancellationController = new CancellationController {client}
|
14 | @schedulesController = new SchedulesController {client, redisQueue}
|
15 | @statusController = new StatusController {client, redisQueue}
|
16 |
|
17 | route: (app) =>
|
18 | app.post '/deployments', @deploymentsController.create
|
19 | app.post '/cancellations', @cancellationController.create
|
20 | app.post '/schedules', @schedulesController.create
|
21 | app.get '/status', @statusController.show
|
22 |
|
23 | module.exports = Router
|