const express = require('express'); const { get, all, run } = require('../db'); const { authMiddleware } = require('../auth'); const router = express.Router(); router.use(authMiddleware); router.get('/', async (req, res) => { const rows = await all('SELECT * FROM properties WHERE user_id = ? ORDER BY created_at DESC', [req.userId]); res.json(rows); }); router.post('/', async (req, res) => { const { name, address, city, zip_code, type, rooms, area } = req.body; if (!name || !address || !city || !zip_code || !type) return res.status(400).json({ error: 'Champs requis manquants' }); const result = await run( 'INSERT INTO properties (user_id, name, address, city, zip_code, type, rooms, area) VALUES (?, ?, ?, ?, ?, ?, ?, ?)', [req.userId, name, address, city, zip_code, type, rooms || null, area || null] ); res.status(201).json({ id: result.insertId }); }); router.put('/:id', async (req, res) => { const { name, address, city, zip_code, type, rooms, area } = req.body; const prop = await get('SELECT id FROM properties WHERE id = ? AND user_id = ?', [req.params.id, req.userId]); if (!prop) return res.status(404).json({ error: 'Bien non trouvé' }); await run( 'UPDATE properties SET name=?, address=?, city=?, zip_code=?, type=?, rooms=?, area=? WHERE id=?', [name, address, city, zip_code, type, rooms || null, area || null, req.params.id] ); res.json({ success: true }); }); router.delete('/:id', async (req, res) => { const prop = await get('SELECT id FROM properties WHERE id = ? AND user_id = ?', [req.params.id, req.userId]); if (!prop) return res.status(404).json({ error: 'Bien non trouvé' }); await run('DELETE FROM properties WHERE id = ?', [req.params.id]); res.json({ success: true }); }); module.exports = router;