From 7fb9dd02673fb63be67ec1e4dc793f5b86bc7359 Mon Sep 17 00:00:00 2001 From: Mikhail Chusavitin Date: Mon, 2 Feb 2026 14:19:23 +0300 Subject: [PATCH] fix: cache database username to avoid redundant API calls\n\n- Added cachedDbUsername variable to store username after first API call\n- Modified loadPricelistsDbUsername to check cache before making API request\n- Reduces unnecessary API calls when opening pricelists modal multiple times\n- Improves performance and reduces server load --- web/templates/admin_pricing.html | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/web/templates/admin_pricing.html b/web/templates/admin_pricing.html index cc133ac..0618a30 100644 --- a/web/templates/admin_pricing.html +++ b/web/templates/admin_pricing.html @@ -221,6 +221,7 @@ let sortDir = 'desc'; let pricelistsPage = 1; let pricelistsCanWrite = false; let isCreatingPricelist = false; +let cachedDbUsername = null; async function loadTab(tab) { currentTab = tab; @@ -998,10 +999,16 @@ function renderPricelistsPagination(total, page, perPage) { } async function loadPricelistsDbUsername() { + if (cachedDbUsername) { + document.getElementById('pricelists-db-username').textContent = cachedDbUsername; + return; + } + try { const resp = await fetch('/api/current-user'); const data = await resp.json(); - document.getElementById('pricelists-db-username').textContent = data.username || 'неизвестно'; + cachedDbUsername = data.username || 'неизвестно'; + document.getElementById('pricelists-db-username').textContent = cachedDbUsername; } catch (e) { document.getElementById('pricelists-db-username').textContent = 'неизвестно'; }