decentralised message store
1import { setupDbWithMigrations } from "@/db"; 2import { DB_URL, SERVER_PORT } from "@/lib/env"; 3import { routes } from "@/routes"; 4import { setupServer } from "@/server"; 5 6const main = async () => { 7 if (DB_URL === ":memory:") await setupDbWithMigrations("./drizzle"); 8 9 const server = await setupServer(); 10 for (const [url, route] of Object.entries(routes)) { 11 if (!route.wsHandler) { 12 const { handler, method } = route; 13 server.route({ 14 url, 15 method, 16 handler, 17 }); 18 } else { 19 const { wsHandler, method, handler } = route; 20 server.route({ 21 url, 22 method: method ?? "GET", 23 handler: handler ?? (() => new Response()), 24 wsHandler, 25 }); 26 } 27 } 28 29 server.listen({ port: SERVER_PORT }).catch((err: unknown) => { 30 server.log.error(err); 31 process.exit(1); 32 }); 33}; 34 35main() 36 .then(() => { 37 console.log(`Server is running on port ${SERVER_PORT.toString()}`); 38 }) 39 .catch((err: unknown) => { 40 console.error("Something went wrong :("); 41 console.error( 42 "=========================== FULL ERROR BELOW ===========================", 43 ); 44 console.error(err); 45 });