mongoose + tests
This commit is contained in:
97
server/routers/old/zoom-bar/index.js
Normal file
97
server/routers/old/zoom-bar/index.js
Normal file
@@ -0,0 +1,97 @@
|
||||
const router = require('express').Router()
|
||||
|
||||
const onlines = new Map([
|
||||
])
|
||||
|
||||
const otmetki = new Map()
|
||||
|
||||
setInterval(() => {
|
||||
[...otmetki.entries()].forEach(([user, otm]) => {
|
||||
if (Date.now() - otm > 3500) {
|
||||
onlines.set(user, {
|
||||
...(onlines.get(user) || {
|
||||
}),
|
||||
online: false,
|
||||
})
|
||||
}
|
||||
})
|
||||
}, 3000)
|
||||
|
||||
const mapToObj = (map) => [...map.entries()].reduce((acc, [key, value]) => ({
|
||||
...acc,
|
||||
[key]: {
|
||||
name: key,
|
||||
...value,
|
||||
},
|
||||
}), {
|
||||
})
|
||||
|
||||
router.post('/enter', (req, res) => {
|
||||
const { username } = req.body
|
||||
onlines.set(username, {
|
||||
...(onlines.get(username) || {
|
||||
}),
|
||||
online: true,
|
||||
})
|
||||
req.session.username = username
|
||||
res.send({
|
||||
})
|
||||
})
|
||||
|
||||
let syncData = {
|
||||
online: mapToObj(onlines),
|
||||
}
|
||||
|
||||
router.get('/events', (req, res) => {
|
||||
syncData.online = mapToObj(onlines)
|
||||
res.send(syncData)
|
||||
})
|
||||
|
||||
router.post('/set-usr-event', (req, res) => {
|
||||
const {
|
||||
username,
|
||||
userData,
|
||||
} = req.body
|
||||
onlines.set(username, {
|
||||
...(onlines.get(username) || {
|
||||
}),
|
||||
data: userData,
|
||||
})
|
||||
res.send({
|
||||
})
|
||||
})
|
||||
|
||||
router.post('/set-bar-event', (req, res) => {
|
||||
const { type } = req.body
|
||||
syncData.event = type
|
||||
syncData.id = Math.random()
|
||||
|
||||
res.send({
|
||||
})
|
||||
})
|
||||
|
||||
router.get('/bar/:u', (req, res) => {
|
||||
onlines.set(req.params.u, {
|
||||
...(onlines.get(req.params.u) || {
|
||||
}),
|
||||
online: true,
|
||||
})
|
||||
syncData.online = mapToObj(onlines)
|
||||
// syncData.id = Math.random();
|
||||
otmetki.set(req.params.u, Date.now())
|
||||
|
||||
res.send(syncData)
|
||||
})
|
||||
|
||||
router.get('/quit-bar', (req, res) => {
|
||||
onlines.set(req.session.username || req.params.u, {
|
||||
...(onlines.get(req.session.username || req.params.u) || {
|
||||
}),
|
||||
online: false,
|
||||
})
|
||||
syncData.online = mapToObj(onlines)
|
||||
res.send({
|
||||
})
|
||||
})
|
||||
|
||||
module.exports = router
|
||||
Reference in New Issue
Block a user