aboutsummaryrefslogtreecommitdiff
path: root/src/lib/websocket.ts
blob: f78d390303d4e934d55cbf6d8416d7d0d5143c8f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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));
				});
			});
		});
	}
};