diff options
Diffstat (limited to 'src/lib/websocket.ts')
| -rw-r--r-- | src/lib/websocket.ts | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/src/lib/websocket.ts b/src/lib/websocket.ts new file mode 100644 index 00000000..f78d3903 --- /dev/null +++ b/src/lib/websocket.ts @@ -0,0 +1,21 @@ +import type { ViteDevServer } from 'vite'; +import { Server } from 'socket.io'; +import { getUserBadges } from '$lib/userBadgesDatabase'; +import { userIdentity } from '$lib/AniList/identity'; + +export const webSocketServer = { + name: 'webSocketServer', + configureServer(server: ViteDevServer) { + if (!server.httpServer) return; + + const io = new Server(server.httpServer); + + io.on('connection', (socket) => { + socket.on('badges', async (data) => { + userIdentity(data).then((identity) => { + socket.emit('badges', getUserBadges(identity.id)); + }); + }); + }); + } +}; |