From a8b4b99a337e091e873602dec9bb1b1beb8a052a Mon Sep 17 00:00:00 2001 From: GLiegard Date: Mon, 20 Apr 2026 20:59:51 +0200 Subject: [PATCH] revert previous optimisation as it can be done in the database view --- middlewares/dependencies.js | 34 +--------------------------------- 1 file changed, 1 insertion(+), 33 deletions(-) diff --git a/middlewares/dependencies.js b/middlewares/dependencies.js index 74eeff9..263bc92 100644 --- a/middlewares/dependencies.js +++ b/middlewares/dependencies.js @@ -23,39 +23,7 @@ async function getProjectDependencies(req, res, next) { const params = matchedData(req); const { id } = params; - const query = ` - SELECT - d.id AS dep_id, - d.upstream AS dep_up, - d.downstream AS dep_down, - d.active AS dep_active, - p.id AS project_id, - p.name AS project_name, - p.status AS project_status, - p.priority AS project_priority, - COALESCE(js.ready, 0) AS ready, - COALESCE(js.done, 0) AS done, - COALESCE(js.waiting, 0) AS waiting, - COALESCE(js.running, 0) AS running, - COALESCE(js.failed, 0) AS failed, - COALESCE(js.total, 0) AS total - FROM public.projectdependencies d - JOIN public.projects p ON p.id = d.upstream - LEFT JOIN LATERAL ( - SELECT - COUNT(*) FILTER (WHERE j.status = 'ready') AS ready, - COUNT(*) FILTER (WHERE j.status = 'done') AS done, - COUNT(*) FILTER (WHERE j.status = 'waiting') AS waiting, - COUNT(*) FILTER (WHERE j.status = 'running') AS running, - COUNT(*) FILTER (WHERE j.status = 'failed') AS failed, - COUNT(*) AS total - FROM public.jobs j - WHERE j.id_project = p.id - ) js ON TRUE - WHERE d.downstream = $1 - `; - - await req.client.query(query, [id]) + await req.client.query('SELECT * FROM view_project_dependencies WHERE dep_down=$1', [id]) .then((results) => { req.result = results.rows; }) .catch((error) => { req.error = {