Fix: Fallback to singular BACKONE_SITE_UUID env var if plural is missing

This commit is contained in:
ypratama committed 2026-09-02 12:06:01 +07:00
1 parent 763970c774
commit e28bfbb022
2 files changed
+10 -10

No files matched your search

+9 -9
View File
@@ -37,11 +37,11 @@ router.get('/agents/uptime', async (req, res) => {
if (isGlobalUser && requestedSiteUuid && requestedSiteUuid !== 'all' && isKnownSite(requestedSiteUuid)) {
query.site_uuid = { $in: [requestedSiteUuid, 'global'] };
} else if (isGlobalUser && process.env.BACKONE_SITE_UUIDS) {
const envSites = process.env.BACKONE_SITE_UUIDS.split(',').map(s => s.trim()).filter(Boolean);
} else if (isGlobalUser && (process.env.BACKONE_SITE_UUIDS || process.env.BACKONE_SITE_UUID)) {
const envSites = (process.env.BACKONE_SITE_UUIDS || process.env.BACKONE_SITE_UUID).split(',').map(s => s.trim()).filter(Boolean);
if (envSites.length > 0) query.site_uuid = { $in: [...envSites, 'global'] };
} else if (!isGlobalUser) {
const envSites = (process.env.BACKONE_SITE_UUIDS || '').split(',').map(s => s.trim()).filter(Boolean);
const envSites = ((process.env.BACKONE_SITE_UUIDS || process.env.BACKONE_SITE_UUID) || '').split(',').map(s => s.trim()).filter(Boolean);
if (envSites.length > 0) {
query.site_uuid = { $in: [...envSites, req.user?.site_uuid, 'global'].filter(Boolean) };
} else if (req.user?.site_uuid) {
@@ -90,11 +90,11 @@ router.get('/agents', async (req, res) => {
if (isGlobalUser && requestedSiteUuid && requestedSiteUuid !== 'all' && isKnownSite(requestedSiteUuid)) {
query.site_uuid = { $in: [requestedSiteUuid, 'global'] };
} else if (isGlobalUser && process.env.BACKONE_SITE_UUIDS) {
const envSites = process.env.BACKONE_SITE_UUIDS.split(',').map(s => s.trim()).filter(Boolean);
} else if (isGlobalUser && (process.env.BACKONE_SITE_UUIDS || process.env.BACKONE_SITE_UUID)) {
const envSites = (process.env.BACKONE_SITE_UUIDS || process.env.BACKONE_SITE_UUID).split(',').map(s => s.trim()).filter(Boolean);
if (envSites.length > 0) query.site_uuid = { $in: [...envSites, 'global'] };
} else if (effectiveRole === 'TENANT_ADMIN') {
const envSites = (process.env.BACKONE_SITE_UUIDS || '').split(',').map(s => s.trim()).filter(Boolean);
const envSites = ((process.env.BACKONE_SITE_UUIDS || process.env.BACKONE_SITE_UUID) || '').split(',').map(s => s.trim()).filter(Boolean);
if (envSites.length > 0) {
query.site_uuid = { $in: [...envSites, req.user.site_uuid, 'global'].filter(Boolean) };
} else {
@@ -199,11 +199,11 @@ router.get('/agents/list', async (req, res) => {
if (isGlobalUser && requestedSiteUuid && requestedSiteUuid !== 'all' && isKnownSite(requestedSiteUuid)) {
filter.site_uuid = { $in: [requestedSiteUuid, 'global'] };
} else if (isGlobalUser && process.env.BACKONE_SITE_UUIDS) {
const envSites = process.env.BACKONE_SITE_UUIDS.split(',').map(s => s.trim()).filter(Boolean);
} else if (isGlobalUser && (process.env.BACKONE_SITE_UUIDS || process.env.BACKONE_SITE_UUID)) {
const envSites = (process.env.BACKONE_SITE_UUIDS || process.env.BACKONE_SITE_UUID).split(',').map(s => s.trim()).filter(Boolean);
if (envSites.length > 0) filter.site_uuid = { $in: [...envSites, 'global'] };
} else if (!isGlobalUser) {
const envSites = (process.env.BACKONE_SITE_UUIDS || '').split(',').map(s => s.trim()).filter(Boolean);
const envSites = ((process.env.BACKONE_SITE_UUIDS || process.env.BACKONE_SITE_UUID) || '').split(',').map(s => s.trim()).filter(Boolean);
if (envSites.length > 0) {
filter.site_uuid = { $in: [...envSites, user?.site_uuid, 'global'].filter(Boolean) };
} else if (user?.site_uuid) {
+1 -1
View File
@@ -3,7 +3,7 @@ const { CustomDeviceLabel, Flow } = require('../../models/Schemas');
// Valid tenant site UUIDs (from env). A global user requesting a site that is not
// in this list (e.g. a stale 'test-site' from the account's site_uuid column) must
// NOT silently filter everything out — treat it as "all sites" instead.
const KNOWN_SITES = (process.env.BACKONE_SITE_UUIDS || '')
const KNOWN_SITES = (process.env.BACKONE_SITE_UUIDS || process.env.BACKONE_SITE_UUID || '')
.split(',')
.map(s => s.trim())
.filter(Boolean);