diff --git a/prodServer.ts b/prodServer.ts index b769c8a..ec10499 100644 --- a/prodServer.ts +++ b/prodServer.ts @@ -2,26 +2,30 @@ import { handler } from './build/handler.js'; import express from 'express'; import { createServer } from 'http'; import { Server } from 'socket.io'; +import { client, createChannel, storeMessage } from './src/lib/server/db'; +import { v4 as uuidv4 } from 'uuid'; const app = express(); const server = createServer(app); const io = new Server(server); -io.on('connection', (socket) => { +io.on('connection', async (socket) => { // Runs on client connect console.log(`[ws:kit] client connected (${socket.id})`); - io!.emit('message', `[ws] Hello from SvelteKit ${new Date().toLocaleString()} (${socket.id})`); - // Runs on message receive - socket.on('message', (msg) => { - console.log(`[ws:kit] message from ${socket.id}: ${msg}`); - io!.emit('message', `[${socket.id}] ${msg}`); - }); - - // Runs on client disconnect - socket.on('disconnect', () => { - io!.emit('message', `client disconnected (${socket.id})`); - console.log(`[ws:kit] client disconnected (${socket.id})`); + socket.on('message', async (msg) => { + // If message not empty + if (msg.content !== '') { + console.log(`[ws:kit] message from ${socket.id}: ${msg.content}`); + // Store the message in the database + await createChannel(client, '000'); + await storeMessage(client, '000', msg.content, msg.id, uuidv4()); + io!.emit('message', { + user: msg.id, + message: msg.content, + imageSrc: 'https://www.arithefirst.com/images/pfp.png', + }); + } }); });