Actualizar server.js
This commit is contained in:
28
server.js
28
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) => {
|
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});
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user