Files
artsite/server/routes/visitors.ts
2025-02-02 13:09:10 +01:00

18 lines
566 B
TypeScript

import { getQuery } from 'ufo'
export default defineWebSocketHandler({
open(peer) {
const locations = Array.from(peer.peers.values()).map(peer => getQuery(peer.websocket.url!))
peer.subscribe('visitors')
peer.publish('visitors', JSON.stringify(locations))
peer.send(JSON.stringify(locations))
},
close(peer) {
peer.unsubscribe('visitors')
setTimeout(() => {
const locations = Array.from(peer.peers.values()).map(peer => getQuery(peer.websocket.url!))
peer.publish('visitors', JSON.stringify(locations))
}, 500)
},
})