const express = require('express'); const sqlite3 = require('sqlite3').verbose(); const bodyParser = require('body-parser'); const app = express(); // --- CONFIGURAÇÃO DO BANCO DE DADOS (Persistente) --- const db = new sqlite3.Database('./rede_dominios.db'); db.serialize(() => { db.run(`CREATE TABLE IF NOT EXISTS dominios ( id INTEGER PRIMARY KEY AUTOINCREMENT, url TEXT UNIQUE, titulo TEXT, conteudo TEXT )`); // Inserindo dados iniciais apenas se a tabela estiver vazia db.get("SELECT count(*) as count FROM dominios", (err, row) => { if (row.count === 0) { db.run(`INSERT INTO dominios (url, titulo, conteudo) VALUES ('verificador-secure-fb.com', 'Validador de Portfólio v1', '
Protocolo: FB-SEC-9982
'), ('analise-criativos-pro.net', 'Check-in de Segurança', 'Status: Aguardando Verificação...
')`); } }); }); app.use(bodyParser.json()); // --- ROTAS DA API --- app.get('/api/dominios', (req, res) => { db.all("SELECT * FROM dominios", [], (err, rows) => res.json(rows)); }); app.post('/api/save', (req, res) => { const { id, conteudo } = req.body; db.run("UPDATE dominios SET conteudo = ? WHERE id = ?", [conteudo, id], () => res.json({ success: true })); }); app.post('/api/novo', (req, res) => { const { url, titulo } = req.body; db.run("INSERT INTO dominios (url, titulo, conteudo) VALUES (?, ?, 'Novo Portfólio')", [url, titulo], () => res.json({ success: true })); }); // --- INTERFACE INTEGRADA (HTML/CSS/JS) --- app.get('/', (req, res) => { res.send(`