From ffb3a3819c3a910f860a4844dc451167ee9e3303 Mon Sep 17 00:00:00 2001 From: Dmitri Date: Thu, 19 Mar 2026 07:36:50 +0400 Subject: [PATCH] fixed error --- backend/src/routes/openai.js | 50 ++++++++++++++++++++-------------- backend/src/routes/projects.js | 3 +- 2 files changed, 30 insertions(+), 23 deletions(-) diff --git a/backend/src/routes/openai.js b/backend/src/routes/openai.js index 2d47d9f..b051074 100644 --- a/backend/src/routes/openai.js +++ b/backend/src/routes/openai.js @@ -141,28 +141,36 @@ router.get( ); const role = await RolesDBApi.findBy({ id: roleId }); if (!role?.role_customization) { - await Promise.all(["pie", "bar"].map(async (e) => { - const schema = await sjs.getSequelizeSchema(db.sequelize, {}); - const payload = { - description: `Create some cool ${e} chart`, - modelDefinition: schema.definitions, - }; - const widgetId = await getWidget(payload, currentUser?.id, roleId); - if (widgetId) { - await RolesService.addRoleInfo( - roleId, - currentUser?.id, - 'widgets', - widgetId, - req.currentUser, - ); + try { + await Promise.all(["pie", "bar"].map(async (e) => { + const schema = await sjs.getSequelizeSchema(db.sequelize, {}); + const payload = { + description: `Create some cool ${e} chart`, + modelDefinition: schema.definitions, + }; + const widgetId = await getWidget(payload, currentUser?.id, roleId); + if (widgetId) { + await RolesService.addRoleInfo( + roleId, + currentUser?.id, + 'widgets', + widgetId, + req.currentUser, + ); + } + })); + info = await RolesService.getRoleInfoByKey( + key, + roleId, + currentUser, + ); + } catch (error) { + console.warn('Widget creation skipped (external API unavailable):', error.message); + // Return empty widgets when external API is unavailable + if (key === 'widgets') { + info = []; } - })) - info = await RolesService.getRoleInfoByKey( - key, - roleId, - currentUser, - ); + } } res.status(200).send(info); }), diff --git a/backend/src/routes/projects.js b/backend/src/routes/projects.js index 3be3420..dc7279d 100644 --- a/backend/src/routes/projects.js +++ b/backend/src/routes/projects.js @@ -374,12 +374,11 @@ router.get('/', wrapAsync(async (req, res) => { * description: Some server error */ router.get('/count', wrapAsync(async (req, res) => { - + const currentUser = req.currentUser; const runtimeContext = req.runtimeContext; const payload = await ProjectsDBApi.findAll( req.query, - null, { countOnly: true, currentUser, runtimeContext } );