const express = require('express'); const router = express.Router(); const { query } = require('../config/database'); const { authenticateToken } = require('../middleware/auth'); router.get('/', authenticateToken, async (req, res) => { try { const result = await query( 'SELECT * FROM activation_keys WHERE company_id = $1 ORDER BY created_at DESC', [req.user.company_id] ); res.json({ success: true, keys: result.rows }); } catch (error) { console.error('Erro ao listar chaves:', error); res.status(500).json({ error: 'Erro ao listar chaves' }); } }); router.post('/', authenticateToken, async (req, res) => { try { const { description } = req.body; const key = `PC-${Date.now()}-${Math.random().toString(36).substring(2, 10).toUpperCase()}`; const result = await query( 'INSERT INTO activation_keys (key, company_id, description, devices_count) VALUES ($1, $2, $3, 0) RETURNING *', [key, req.user.company_id, description] ); res.status(201).json({ success: true, key: result.rows[0] }); } catch (error) { console.error('Erro ao criar chave:', error); res.status(500).json({ error: 'Erro ao criar chave' }); } }); router.delete('/:id', authenticateToken, async (req, res) => { try { const result = await query( 'DELETE FROM activation_keys WHERE id = $1 AND company_id = $2 RETURNING *', [req.params.id, req.user.company_id] ); if (result.rows.length === 0) { return res.status(404).json({ error: 'Chave não encontrada' }); } res.json({ success: true, message: 'Chave deletada' }); } catch (error) { console.error('Erro ao deletar chave:', error); res.status(500).json({ error: 'Erro ao deletar chave' }); } }); module.exports = router;