25 lines
843 B
JavaScript
25 lines
843 B
JavaScript
import express from "express";
|
|
import cors from "cors";
|
|
import { createServer } from "http";
|
|
import { Server } from "socket.io";
|
|
import { setupSocket } from "./socket.js";
|
|
import campaignRoutes from "./routes/campaigns.js";
|
|
import characterRoutes from "./routes/characters.js";
|
|
const app = express();
|
|
const httpServer = createServer(app);
|
|
const io = new Server(httpServer, {
|
|
cors: { origin: "*" },
|
|
});
|
|
app.use(cors());
|
|
app.use(express.json());
|
|
// Make io accessible to route handlers
|
|
app.set("io", io);
|
|
setupSocket(io);
|
|
app.use("/api/campaigns", campaignRoutes);
|
|
app.use("/api/campaigns/:campaignId/characters", characterRoutes);
|
|
app.use("/api/characters", characterRoutes);
|
|
const PORT = process.env.PORT || 3000;
|
|
httpServer.listen(PORT, () => {
|
|
console.log(`Shadowdark server running on http://localhost:${PORT}`);
|
|
});
|
|
export { io };
|