Actualizar server.js

This commit is contained in:
2026-03-14 21:40:05 +00:00
parent a1071aa1ba
commit ade7309449

View File

@@ -1274,25 +1274,33 @@ app.get("/public/portal/:token/slots", async (req, res) => {
}); });
// 3. Obtener los Gremios Visibles para el Portal Público // 3. Obtener los Gremios Visibles, Logo y Nombre para el Portal Público
app.get("/public/company/:id/guilds", async (req, res) => { app.get("/public/company/:id/guilds", async (req, res) => {
try { try {
const ownerId = parseInt(req.params.id) || 1; const ownerId = parseInt(req.params.id) || 1;
// 1. Leemos la configuración de esta empresa // 1. Leemos la configuración de esta empresa (INCLUYENDO LOGO Y NOMBRE)
const userQ = await pool.query("SELECT portal_settings FROM users WHERE id = $1", [ownerId]); const userQ = await pool.query("SELECT full_name, company_logo, portal_settings FROM users WHERE id = $1", [ownerId]);
if(userQ.rowCount === 0) return res.status(404).json({ok: false}); if(userQ.rowCount === 0) return res.status(404).json({ok: false});
const settings = userQ.rows[0].portal_settings || {}; const company = userQ.rows[0];
const settings = company.portal_settings || {};
const visibleIds = settings.visible_guilds || []; const visibleIds = settings.visible_guilds || [];
// Si no seleccionó ninguno, devolvemos array vacío let guilds = [];
if (visibleIds.length === 0) return res.json({ok: true, guilds: []}); // 2. Buscamos los gremios seleccionados
if (visibleIds.length > 0) {
// 2. Buscamos el ID y el Nombre real de esos gremios exactos
const guildsQ = await pool.query("SELECT id, name FROM guilds WHERE id = ANY($1::int[]) AND owner_id = $2 ORDER BY name ASC", [visibleIds, ownerId]); const guildsQ = await pool.query("SELECT id, name FROM guilds WHERE id = ANY($1::int[]) AND owner_id = $2 ORDER BY name ASC", [visibleIds, ownerId]);
guilds = guildsQ.rows;
}
res.json({ok: true, guilds: guildsQ.rows}); // Devolvemos TODO empaquetado al frontend
res.json({
ok: true,
name: company.full_name,
logo: company.company_logo,
guilds: guilds
});
} catch(e) { } catch(e) {
res.status(500).json({ok: false}); res.status(500).json({ok: false});
} }