Files
unocial-api/functions/communityFunctions.js

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;
}
}