From 9c86018653d5c0a34c003d73441c1beed962b030 Mon Sep 17 00:00:00 2001 From: "D. Berge" Date: Thu, 7 Aug 2025 10:42:08 +0200 Subject: [PATCH] Auto-refresh materialised view if necessary --- lib/www/server/lib/db/project/summary/get.js | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/lib/www/server/lib/db/project/summary/get.js b/lib/www/server/lib/db/project/summary/get.js index 06f7f35..f3f52cb 100644 --- a/lib/www/server/lib/db/project/summary/get.js +++ b/lib/www/server/lib/db/project/summary/get.js @@ -1,4 +1,5 @@ const { setSurvey } = require('../../connection'); +const refresh = require('./refresh'); async function get (projectId, opts = {}) { try { @@ -13,7 +14,11 @@ async function get (projectId, opts = {}) { client.release(); return res.rows[0]; } catch (err) { - if (err.code == "42P01") { + if (err.code == "55000") { + // Materialised view has not been refreshed + await refresh(projectId, opts); + return get(projectId, opts); + } else if (err.code == "42P01") { throw { status: 404, message: "Not found" }; } else { throw err;