diff options
| author | Fuwn <[email protected]> | 2023-10-29 21:21:10 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-10-29 21:29:08 -0700 |
| commit | 2ac499695aa89b68863c0e34c6237a833ec0e03b (patch) | |
| tree | 78af4f3f23061acfa6382b7129e866f55389f8ec /src/lib | |
| parent | ci(docker): only copy needed (diff) | |
| download | due.moe-2ac499695aa89b68863c0e34c6237a833ec0e03b.tar.xz due.moe-2ac499695aa89b68863c0e34c6237a833ec0e03b.zip | |
feat(badges): websocket loading
Diffstat (limited to 'src/lib')
| -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)); + }); + }); + }); + } +}; |