@@ -0,0 +1,55 @@
|
||||
import pool, { run } from '../db/index.js';
|
||||
|
||||
export async function getSuppliers(req, res) {
|
||||
try {
|
||||
const { rows } = await pool.query(
|
||||
'SELECT id, code, name, email, type, active, created_at FROM suppliers ORDER BY name'
|
||||
);
|
||||
res.json(rows);
|
||||
} catch (err) {
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
}
|
||||
|
||||
export async function createSupplier(req, res) {
|
||||
try {
|
||||
const { code, name, email, type, active = 1 } = req.body || {};
|
||||
if (!code || !name || !email || !type) {
|
||||
return res.status(400).json({ error: 'code, name, email et type sont requis.' });
|
||||
}
|
||||
await run(
|
||||
'INSERT INTO suppliers (code, name, email, type, active) VALUES ($1, $2, $3, $4, $5)',
|
||||
[code, name, email, type, active]
|
||||
);
|
||||
const { rows } = await pool.query('SELECT * FROM suppliers ORDER BY id DESC LIMIT 1');
|
||||
res.status(201).json(rows[0]);
|
||||
} catch (err) {
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
}
|
||||
|
||||
export async function updateSupplier(req, res) {
|
||||
try {
|
||||
const { id } = req.params;
|
||||
const { name, email, type, active } = req.body || {};
|
||||
await run(
|
||||
'UPDATE suppliers SET name = $1, email = $2, type = $3, active = $4 WHERE id = $5',
|
||||
[name, email, type, active, id]
|
||||
);
|
||||
const { rows } = await pool.query('SELECT * FROM suppliers WHERE id = $1', [id]);
|
||||
if (rows.length === 0) return res.status(404).json({ error: 'Fournisseur introuvable.' });
|
||||
res.json(rows[0]);
|
||||
} catch (err) {
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
}
|
||||
|
||||
export async function deleteSupplier(req, res) {
|
||||
try {
|
||||
const { id } = req.params;
|
||||
await run('DELETE FROM suppliers WHERE id = $1', [id]);
|
||||
res.status(204).end();
|
||||
} catch (err) {
|
||||
res.status(500).json({ error: err.message });
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user