39059-vm/server/index.js
2026-03-09 06:28:03 +00:00

52 lines
1.3 KiB
JavaScript

require('dotenv').config();
const express = require('express');
const http = require('http');
const { Server } = require('socket.io');
const cors = require('cors');
const mysql = require('mysql2');
const app = express();
app.use(cors());
app.use(express.json());
const server = http.createServer(app);
const io = new Server(server, {
cors: { origin: "*" }
});
const db = mysql.createConnection({
host: process.env.DB_HOST || 'localhost',
user: process.env.DB_USER || 'root',
password: process.env.DB_PASSWORD || '12345678',
database: process.env.DB_NAME || 'sadamdb'
});
db.connect((err) => {
if (err) console.error('Database connection failed:', err);
else console.log('Connected to MySQL');
});
// API Routes for Rooms
app.get('/api/rooms', (req, res) => {
db.query('SELECT * FROM rooms', (err, results) => {
if (err) return res.status(500).json({ error: err.message });
res.json(results);
});
});
// API Routes for Shop/Gifts
app.get('/api/gifts', (req, res) => {
db.query('SELECT * FROM gifts', (err, results) => {
if (err) return res.status(500).json({ error: err.message });
res.json(results);
});
});
io.on('connection', (socket) => {
console.log('User connected:', socket.id);
socket.on('disconnect', () => console.log('User disconnected'));
});
server.listen(9000, () => {
console.log('Server running on port 9000');
});