Feat: Natively support NETIFY environment variables and improve MongoDB detection based on URI presence

This commit is contained in:
ypratama committed 2026-08-28 16:43:00 +07:00
1 parent eedaa588b5
commit 2be8b08074
8 files changed
+16 -16

No files matched your search

+1 -1
View File
@@ -70,7 +70,7 @@ async function populateAppCache(BASE_URL, token, siteUuid) {
// Core DPI fetch for app-details
async function fetchFromDpiApi(label, agentUuid, timeRange, token, siteUuid) {
const BASE_URL = process.env.BACKONE_INFORMATICS_BASE_URL || 'https://api0.dev.backone.cloud/api/v1';
const BASE_URL = process.env.BACKONE_INFORMATICS_BASE_URL || process.env.NETIFY_INFORMATICS_BASE_URL || 'https://api0.dev.backone.cloud/api/v1';
const headers = { 'x-api-key': token, 'Accept': 'application/json', 'x-net-site': siteUuid };
const TIMEOUT_MS = 12000;
+3 -3
View File
@@ -20,8 +20,8 @@ module.exports = async function appDetailsHandler(req, res, helpers) {
const label = String(req.query.label ?? '');
if (!label) return res.status(400).json({ ok: false, message: 'label required' });
const token = process.env.BACKONE_DPI_API_KEY || process.env.BACKONE_TOKEN;
const SITE_UUID = process.env.BACKONE_SITE_UUID;
const token = process.env.BACKONE_DPI_API_KEY || process.env.NETIFY_API_KEY || process.env.BACKONE_TOKEN || process.env.NETIFY_TOKEN;
const SITE_UUID = process.env.BACKONE_SITE_UUID || process.env.NETIFY_SITE_UUID;
// Respect timeRange from request
const timeFilter = getTimeFilter(req);
@@ -39,7 +39,7 @@ module.exports = async function appDetailsHandler(req, res, helpers) {
if (deviceApps.length > 0) {
// Pre-load application lookup to resolve default domains
const BASE_URL = process.env.BACKONE_INFORMATICS_BASE_URL || 'https://api0.dev.backone.cloud/api/v1';
const BASE_URL = process.env.BACKONE_INFORMATICS_BASE_URL || process.env.NETIFY_INFORMATICS_BASE_URL || 'https://api0.dev.backone.cloud/api/v1';
if (token && SITE_UUID) {
await populateAppCache(BASE_URL, token, SITE_UUID).catch(e => console.warn('[AppDetails] Cache error:', e.message));
}
+1 -1
View File
@@ -17,7 +17,7 @@ async function seedAuth() {
password_hash: hash,
account_name: 'BackOne Administrator',
role: 'SUPER_ADMIN',
site_uuid: process.env.BACKONE_SITE_UUID || null,
site_uuid: process.env.BACKONE_SITE_UUID || process.env.NETIFY_SITE_UUID || null,
agent_uuid: null,
});
console.log('[Auth] ✓ Default SUPER_ADMIN created: admin / admin');
+2 -2
View File
@@ -57,8 +57,8 @@ async function handleCreateExternalUser(req, res) {
const siteUuid = (role === 'EXECUTIVE' || role === 'COMPANY_ADMIN')
? null
: req.adminUser.role === 'SUPER_ADMIN'
? (req.body.site_uuid || process.env.BACKONE_SITE_UUID || null)
: req.adminUser.site_uuid;
? (req.body.site_uuid || process.env.BACKONE_SITE_UUID || process.env.NETIFY_SITE_UUID)
: (req.body.site_uuid || null);
const createdBy = req.adminUser.role === 'SUPER_ADMIN'
? (req.body.created_by || req.adminUser.username)
+1 -1
View File
@@ -23,7 +23,7 @@ async function resolveSiteUuidForAgent(agentUuid, fallbackSiteUuid, adminUser, b
if (!siteUuid) {
siteUuid = adminUser.role === 'SUPER_ADMIN'
? (bodySiteUuid || process.env.BACKONE_SITE_UUID || fallbackSiteUuid || null)
? (bodySiteUuid || process.env.BACKONE_SITE_UUID || process.env.NETIFY_SITE_UUID)
: adminUser.site_uuid;
}
+1 -1
View File
@@ -54,7 +54,7 @@ router.post('/agent-locations', async (req, res) => {
siteUuid = summaryDoc.site_uuid;
} else {
// Fallback or use standard env site_uuid
siteUuid = process.env.BACKONE_SITE_UUID || '6681452d_9cae_4ff4_8ae8_0d504774265e';
siteUuid = process.env.BACKONE_SITE_UUID || process.env.NETIFY_SITE_UUID || '6681452d_9cae_4ff4_8ae8_0d504774265e';
}
}
+3 -3
View File
@@ -34,8 +34,8 @@ export async function getAgents(clientSiteUuid?: string): Promise<Agent[]> {
SITE_UUID = user.site_uuid;
}
// All agent data comes from MongoDB agent_registry (single source of truth)
if (API_KEY && API_KEY.startsWith("sk_db_")) {
// All agent data comes from MongoDB agent_registry if MONGODB_URI is provided or API key is sk_db_
if (process.env.MONGODB_URI || (API_KEY && API_KEY.startsWith("sk_db_"))) {
const MONGODB_URI = process.env.MONGODB_URI || 'mongodb://127.0.0.1:27017/backone_dpi';
try {
@@ -79,7 +79,7 @@ export async function getAgents(clientSiteUuid?: string): Promise<Agent[]> {
export async function getAgent(agentId: string): Promise<Agent | null> {
try {
const API_KEY = getApiKey();
if (API_KEY && API_KEY.startsWith("sk_db_")) {
if (process.env.MONGODB_URI || (API_KEY && API_KEY.startsWith("sk_db_"))) {
const agents = await getAgents();
return agents.find(a => a.uuid === agentId || String(a.id) === agentId) || null;
}
+4 -4
View File
@@ -1,11 +1,11 @@
import { revalidatePath } from "next/cache";
export const BASE_URL = process.env.BACKONE_BASE_URL || process.env.BACKONE_INFORMATICS_BASE_URL || "http://127.0.0.1:3011";
export const BASE_URL = process.env.BACKONE_BASE_URL || process.env.NETIFY_BASE_URL || process.env.BACKONE_INFORMATICS_BASE_URL || process.env.NETIFY_INFORMATICS_BASE_URL || "http://127.0.0.1:3011";
export const API_URL = `${BASE_URL}/assets/agents`;
export const getApiKey = () => process.env.BACKONE_API_KEY || process.env.BACKONE_DPI_API_KEY;
export const getJwtToken = () => process.env.BACKONE_JWT_TOKEN || process.env.BACKONE_TOKEN;
export const getSiteUuid = () => process.env.BACKONE_SITE_UUID;
export const getApiKey = () => process.env.BACKONE_API_KEY || process.env.NETIFY_API_KEY || process.env.BACKONE_DPI_API_KEY || process.env.NETIFY_DPI_API_KEY;
export const getJwtToken = () => process.env.BACKONE_JWT_TOKEN || process.env.NETIFY_JWT_TOKEN || process.env.BACKONE_TOKEN || process.env.NETIFY_TOKEN;
export const getSiteUuid = () => process.env.BACKONE_SITE_UUID || process.env.NETIFY_SITE_UUID;
export interface Agent {
id: number;