82 lines
2.3 KiB
JavaScript
82 lines
2.3 KiB
JavaScript
import {pool} from '../db.js';
|
|
|
|
export const createNewCommunity = async (req, res) => {
|
|
try {
|
|
const { nombre, descripcion } = req.body;
|
|
const query = await pool.query(
|
|
`INSERT INTO comunidad (nombre, descripcion)
|
|
VALUES ($1, $2)
|
|
RETURNING *`,
|
|
[nombre, descripcion]
|
|
);
|
|
res.status(201).json(query.rows[0]);
|
|
} catch (err) {
|
|
console.error('Error creating community:', err);
|
|
res.status(500).json({
|
|
error: 'Error al crear la comunidad: ' + err.message
|
|
});
|
|
}
|
|
}
|
|
|
|
export const getCommunityById = async (req, res) => {
|
|
try {
|
|
const { id_comunidad } = req.params;
|
|
const query = await pool.query(
|
|
`SELECT * FROM comunidad
|
|
WHERE id_comunidad = $1`,
|
|
[id_comunidad]
|
|
);
|
|
res.json(query.rows[0]);
|
|
} catch (err) {
|
|
console.error(err);
|
|
res.status(500).json({ error: err.message });
|
|
throw err;
|
|
}
|
|
}
|
|
|
|
export const getAllCommunities = async (req, res) => {
|
|
try {
|
|
const query = await pool.query(
|
|
`SELECT * FROM comunidad
|
|
ORDER BY nombre ASC`
|
|
);
|
|
res.json(query.rows);
|
|
}
|
|
catch (err) {
|
|
console.error(err);
|
|
res.status(500).json({ error: err.message });
|
|
throw err;
|
|
}
|
|
}
|
|
|
|
export const editCommunity = async (req, res) => {
|
|
try {
|
|
const { id_comunidad } = req.params;
|
|
const { nombre, descripcion } = req.body;
|
|
const query = await pool.query(
|
|
'UPDATE comunidad SET nombre = $1, descripcion = $2 WHERE id_comunidad = $3 RETURNING *',
|
|
[nombre, descripcion, id_comunidad]
|
|
);
|
|
res.json(query.rows[0]);
|
|
}
|
|
catch (err) {
|
|
console.error(err);
|
|
res.status(500).json({ error: err.message });
|
|
throw err;
|
|
}
|
|
}
|
|
|
|
export const deleteCommunity = async (req, res) => {
|
|
try {
|
|
const { id_comunidad } = req.params;
|
|
const query = await pool.query(
|
|
'DELETE FROM comunidad WHERE id_comunidad = $1 RETURNING *',
|
|
[id_comunidad]
|
|
);
|
|
res.json(query.rows[0]);
|
|
} catch (err) {
|
|
console.error(err);
|
|
res.status(500).json({ error: err.message });
|
|
throw err;
|
|
}
|
|
} |