diff --git a/src/api/index.js b/src/api/index.js index a251da8..83872b8 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -14,5 +14,5 @@ app.get('/', (req, res, next) => { res.send(publicContent); }); -app.use('/:key', authMiddleware, require('./v1/public')); +app.use('/:key', require('./v1/public')); app.use('/:key/:id/:token', authMiddleware, jsonParser, require('./v1/calls')); diff --git a/src/api/middleware/auth/index.js b/src/api/middleware/auth/index.js index 77b750f..6620a2d 100644 --- a/src/api/middleware/auth/index.js +++ b/src/api/middleware/auth/index.js @@ -10,7 +10,7 @@ module.exports = (req, res, next) => { } if (!id) { - return next(); + return res.sendStatus(401); } const client = realm.getClientById(id); diff --git a/src/api/v1/calls/index.js b/src/api/v1/calls/index.js index 172e816..1f2dc53 100644 --- a/src/api/v1/calls/index.js +++ b/src/api/v1/calls/index.js @@ -1,42 +1,34 @@ const express = require('express'); -// const realm = require('../../../realm'); +const realm = require('../../../services/realm'); +const messageHandler = require('../../../messageHandler'); const app = module.exports = express.Router(); -// const handle = (req, res, next) => { -// var id = req.params.id; +const handle = (req, res, next) => { + const { id } = req.params; -// let client; -// if (!(client = realm.getClientById(id))) { -// if (req.params.retry) { -// res.sendStatus(401); -// return; -// } else { -// // Retry this request -// req.params.retry = true; -// setTimeout(handle, 25, req, res); -// return; -// } -// } + if (!id) return next(); -// // Auth the req -// if (client.token && req.params.token !== client.token) { -// res.sendStatus(401); -// } else { -// self._handleTransmission(key, { -// type: req.body.type, -// src: id, -// dst: req.body.dst, -// payload: req.body.payload -// }); -// res.sendStatus(200); -// } -// }; + const client = realm.getClientById(id); -// app.post('/:key/:id/:token/offer', jsonParser, handle); + const { type, dst, payload } = req.body; -// app.post('/:key/:id/:token/candidate', jsonParser, handle); + const message = { + type, + src: id, + dst, + payload + }; -// app.post('/:key/:id/:token/answer', jsonParser, handle); + messageHandler(client, message); -// app.post('/:key/:id/:token/leave', jsonParser, handle); + res.sendStatus(200); +}; + +app.post('/offer', handle); + +app.post('/candidate', handle); + +app.post('/answer', handle); + +app.post('/leave', handle);