TreasureTrails/backend/dist/index.js

52 lines
2 KiB
JavaScript

"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.prisma = void 0;
const express_1 = __importDefault(require("express"));
const cors_1 = __importDefault(require("cors"));
const http_1 = require("http");
const socket_io_1 = require("socket.io");
const client_1 = require("@prisma/client");
const auth_1 = __importDefault(require("./routes/auth"));
const games_1 = __importDefault(require("./routes/games"));
const teams_1 = __importDefault(require("./routes/teams"));
const routes_1 = __importDefault(require("./routes/routes"));
const users_1 = __importDefault(require("./routes/users"));
const upload_1 = __importDefault(require("./routes/upload"));
const admin_1 = __importDefault(require("./routes/admin"));
const apikeys_1 = __importDefault(require("./routes/apikeys"));
const index_1 = __importDefault(require("./socket/index"));
const app = (0, express_1.default)();
const httpServer = (0, http_1.createServer)(app);
const io = new socket_io_1.Server(httpServer, {
cors: {
origin: ['http://localhost:5173', 'http://localhost:3000'],
methods: ['GET', 'POST']
}
});
exports.prisma = new client_1.PrismaClient();
app.use((0, cors_1.default)());
app.use(express_1.default.json());
app.use('/uploads', express_1.default.static('uploads'));
app.use('/api/auth', auth_1.default);
app.use('/api/games', games_1.default);
app.use('/api/teams', teams_1.default);
app.use('/api/routes', routes_1.default);
app.use('/api/users', users_1.default);
app.use('/api/upload', upload_1.default);
app.use('/api/admin', admin_1.default);
app.use('/api', apikeys_1.default);
app.get('/api/health', (req, res) => {
res.json({ status: 'ok' });
});
(0, index_1.default)(io);
const PORT = process.env.PORT || 3001;
httpServer.listen(PORT, () => {
console.log(`Server running on port ${PORT}`);
});
process.on('SIGINT', async () => {
await exports.prisma.$disconnect();
process.exit();
});