obsidian-visualiser/server/routes/ws/campaign/[id].ts

22 lines
623 B
TypeScript

export default defineWebSocketHandler({
message(peer, message) {
},
open(peer) {
const id = new URL(peer.request.url).pathname.split('/').slice(-1)[0];
if(!id) return peer.close();
peer.subscribe(`campaigns/${id}`);
peer.publish(`campaigns/${id}`, true);
},
close(peer, details) {
const id = new URL(peer.request.url).pathname.split('/').slice(-1)[0];
if(!id) return peer.close();
peer.publish(`campaigns/${id}`, false);
peer.unsubscribe(`campaigns/${id}`);
},
error(peer, error) {
console.error(error);
}
})