From ade730944946f9263830535933ab7ba999d4894a Mon Sep 17 00:00:00 2001 From: marsalva Date: Sat, 14 Mar 2026 21:40:05 +0000 Subject: [PATCH] Actualizar server.js --- server.js | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/server.js b/server.js index 3cb8288..670d11d 100644 --- a/server.js +++ b/server.js @@ -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) => { try { const ownerId = parseInt(req.params.id) || 1; - // 1. Leemos la configuración de esta empresa - const userQ = await pool.query("SELECT portal_settings FROM users WHERE id = $1", [ownerId]); + // 1. Leemos la configuración de esta empresa (INCLUYENDO LOGO Y NOMBRE) + 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}); - const settings = userQ.rows[0].portal_settings || {}; + const company = userQ.rows[0]; + const settings = company.portal_settings || {}; const visibleIds = settings.visible_guilds || []; - // Si no seleccionó ninguno, devolvemos array vacío - if (visibleIds.length === 0) return res.json({ok: true, guilds: []}); - - // 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]); + let guilds = []; + // 2. Buscamos los gremios seleccionados + if (visibleIds.length > 0) { + 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) { res.status(500).json({ok: false}); }