Untitled
unknown
javascript
a year ago
1.9 kB
5
Indexable
const express = require('express') var admin = require("firebase-admin"); admin.initializeApp({ credential: admin.credential.cert("cosan-2ab11-firebase-adminsdk-2nx4r-0bf17911c7.json") }); const app = express() let db={}; app.get('/list', (req, res) => { let code=req.query.code; if(code in db){ res.send(db[code].listNoti); }else res.send([]) }); app.get('/register', (req, res) => { let token=req.query.token; let code=req.query.code; if(code!=undefined && code!=""){ if(db[code]==undefined || db[code]!=null){ db[code]={ listDevices:[], listNoti:[] }; } for (const keyCode in db) { if(db[keyCode].listDevices.includes(token)) { const index = db[keyCode].listDevices.indexOf(token); db[keyCode].listDevices.splice(index, 1); break; } } db[code].listDevices.push(token); res.sendStatus(200); }else res.sendStatus(501); }); app.get('/send', async (req, res) => { console.log(req.query); const code=req.query.code; let message={ title:req.query.title, body:req.query.body+'\n'+(new Date().toLocaleString()), }; if(code in db){ db[code].listNoti.push(message) if(db[code].listNoti.length>100) db[code].listNoti.shift(); try { if(db[code].listDevices.length>0) await admin.messaging().sendEachForMulticast({ notification: message, tokens:db[code].listDevices }); console.log(message); res.send(message); } catch (error) { console.error(error); res.sendStatus(500); } } else res.sendStatus(404); }); app.listen(3000,()=>{ console.log("Started"); })
Editor is loading...
Leave a Comment