v1.3.0-beta/voice call implemented
This commit is contained in:
+2
-1
@@ -11,8 +11,9 @@ app.get('/refresher/:token', FunctionModules.tokenRefresher);
|
||||
app.post('/create', FunctionModules.createRoom);
|
||||
app.post('/join', FunctionModules.joinRoom);
|
||||
app.post('/message', FunctionModules.sendMessage);
|
||||
app.post('/updatePlayer', FunctionModules.updatePlayer);
|
||||
app.post('/updateVoxeet', FunctionModules.updateVoxeet);
|
||||
app.delete('/leave/:rid/users/:uid', FunctionModules.leaveRoom);
|
||||
app.delete('/delete/:rid', FunctionModules.deleteRoom);
|
||||
app.post('/updatePlayer', FunctionModules.updatePlayer);
|
||||
|
||||
module.exports = app;
|
||||
|
||||
@@ -10,6 +10,7 @@ const timeDiff = require('./timeDiff');
|
||||
const updatePlayer = require('./updatePlayer');
|
||||
const tokenValidator = require('./tokenValidator');
|
||||
const tokenRefresher = require('./tokenRefresher');
|
||||
const updateVoxeet = require('./updateVoxeet');
|
||||
|
||||
module.exports = {
|
||||
authenticator,
|
||||
@@ -24,4 +25,5 @@ module.exports = {
|
||||
timeDiff,
|
||||
tokenValidator,
|
||||
tokenRefresher,
|
||||
updateVoxeet,
|
||||
};
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
const VoxeetSecret = require('../VoxeetSecret.json');
|
||||
const fetch = require('node-fetch');
|
||||
module.exports = async (req, res) => {
|
||||
const { key, secret } = VoxeetSecret;
|
||||
const credentials = btoa(encodeURI(key) + ':' + encodeURI(secret));
|
||||
const credentials = Buffer.from(encodeURI(key) + ':' + encodeURI(secret)).toString('base64');
|
||||
const headers = {
|
||||
'Content-Type': 'application/json',
|
||||
'Cache-Control': 'no-cache',
|
||||
|
||||
@@ -0,0 +1,47 @@
|
||||
const admin = require('firebase-admin');
|
||||
|
||||
module.exports = async (req, res) => {
|
||||
const { conference, partyName, partyPin, userName } = JSON.parse(req.body);
|
||||
// GET ROOM PIN
|
||||
const roomPin = await admin
|
||||
.firestore()
|
||||
.collection('rooms')
|
||||
.doc(partyName)
|
||||
.get()
|
||||
.then((roomSnap) => (roomSnap.exists ? roomSnap.data().pin : null));
|
||||
// CHECK IF ROOM EXISTS
|
||||
if (roomPin) {
|
||||
// CHECK FOR CORRECT PIN
|
||||
if (roomPin === partyPin) {
|
||||
// UPDATE CONFERENCE DETAILS
|
||||
await admin
|
||||
.firestore()
|
||||
.collection('rooms')
|
||||
.doc(partyName)
|
||||
.update({ conference })
|
||||
.catch((err) =>
|
||||
res.status(500).send({ message: 'Unable to update the call details', error: err })
|
||||
);
|
||||
// ADD SYSTEM MESSAGE
|
||||
await admin
|
||||
.firestore()
|
||||
.collection('rooms')
|
||||
.doc(partyName)
|
||||
.collection('messages')
|
||||
.add({
|
||||
uid: '<system>',
|
||||
name: '',
|
||||
text: `${userName} started the call.`,
|
||||
time: new Date(),
|
||||
})
|
||||
.catch((err) => console.error('Failed to add update conference message', err));
|
||||
res.status(200).send({ message: 'Started the conference' });
|
||||
} else {
|
||||
// WRONG ROOM PIN
|
||||
return res.status(401).send({ message: 'Wrong party pin, try rejoining' });
|
||||
}
|
||||
} else {
|
||||
// ROOM DOESN'T EXIST
|
||||
return res.status(404).send({ message: 'Party Not Found' });
|
||||
}
|
||||
};
|
||||
Generated
+1
-2
@@ -2085,8 +2085,7 @@
|
||||
"node-fetch": {
|
||||
"version": "2.6.0",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
|
||||
"integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==",
|
||||
"optional": true
|
||||
"integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA=="
|
||||
},
|
||||
"node-forge": {
|
||||
"version": "0.7.4",
|
||||
|
||||
@@ -17,7 +17,8 @@
|
||||
"cors": "^2.8.5",
|
||||
"express": "^4.17.1",
|
||||
"firebase-admin": "^8.6.0",
|
||||
"firebase-functions": "^3.3.0"
|
||||
"firebase-functions": "^3.3.0",
|
||||
"node-fetch": "^2.6.0"
|
||||
},
|
||||
"devDependencies": {
|
||||
"eslint": "^5.12.0",
|
||||
|
||||
Reference in New Issue
Block a user