Spaces:
Running
Running
| const express = require('express'); | |
| const mysql = require('mysql2'); | |
| const cors = require('cors'); | |
| const path = require('path'); | |
| const app = express(); | |
| const PORT = process.env.PORT || 7860; | |
| app.use(cors()); | |
| app.use(express.json()); | |
| app.use(express.static(path.join(__dirname))); | |
| const db = mysql.createConnection({ | |
| host: '42.115.33.6', | |
| port: 1611, | |
| user: 'root', | |
| password: 'root', | |
| database: 'appdb', | |
| charset: 'utf8mb4' | |
| }); | |
| db.connect(err => { | |
| if (err) { | |
| console.error('MySQL connection failed:', err); | |
| return; | |
| } | |
| console.log('Connected to MySQL'); | |
| db.execute(` | |
| CREATE TABLE IF NOT EXISTS comments ( | |
| id INT AUTO_INCREMENT PRIMARY KEY, | |
| anime VARCHAR(100) NOT NULL, | |
| name VARCHAR(100) NOT NULL, | |
| message TEXT NOT NULL, | |
| created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP | |
| ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 | |
| `); | |
| }); | |
| app.post('/api/comments', (req, res) => { | |
| const { anime, name, message } = req.body; | |
| if (!anime || !name || !message) { | |
| return res.status(400).json({ error: 'Missing fields' }); | |
| } | |
| db.execute( | |
| 'INSERT INTO comments (anime, name, message) VALUES (?, ?, ?)', | |
| [anime, name, message], | |
| (err, result) => { | |
| if (err) { | |
| console.error(err); | |
| return res.status(500).json({ error: 'Database error' }); | |
| } | |
| res.json({ success: true, id: result.insertId }); | |
| } | |
| ); | |
| }); | |
| app.get('/api/comments', (req, res) => { | |
| const { anime } = req.query; | |
| if (!anime) { | |
| return res.status(400).json({ error: 'Missing anime parameter' }); | |
| } | |
| db.execute( | |
| 'SELECT name, message, created_at FROM comments WHERE anime = ? ORDER BY created_at DESC', | |
| [anime], | |
| (err, rows) => { | |
| if (err) { | |
| console.error(err); | |
| return res.status(500).json({ error: 'Database error' }); | |
| } | |
| res.json(rows); | |
| } | |
| ); | |
| }); | |
| app.listen(PORT, '0.0.0.0', () => { | |
| console.log(`Server running at http://0.0.0.0:${PORT}`); | |
| }); | |