52 lines
1.3 KiB
JavaScript
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');
|
|
}); |