feat(source2): push all latest files - device labeling, help system, proxy docs, database isolation fix

- Added DOKUMENTASI-FILTER-PER-SITE.md (site isolation docs)
- Fixed start-with-env.js to force-load .env.production
- Fixed MONGODB_URI hostname from mongodb-netify to mongodb.prod.proit.id
- Updated .gitignore to exclude sensitive scripts and credential files
- Minor UI and labeling improvements
This commit is contained in:
rafif committed 2026-07-29 14:14:29 +07:00
1 parent a403f752f3
commit dd4c8f6876
385 files changed
+31016 -8268

No files matched your search

+12 -12
View File
@@ -35,10 +35,10 @@ const server = r('backend/server.js');
const sched = r('proxy/scheduler.js');
const coll = r('proxy/collector.js') + r('proxy/collectorHelperDpi2.js');
const compose = r('docker-compose.yml');
const envFile = r('.env.local');
const proxyIdx = r('proxy/index.js');
const proxyIdx = r('proxy/index.js') + (fs.existsSync(path.join(ROOT, 'proxy/routes.js')) ? r('proxy/routes.js') : '');
const proxySchema = r('proxy/models/Schemas.js');
const pkg = JSON.parse(r('backend/package.json'));
const envFileAll = r('.env.local') + (fs.existsSync(path.join(ROOT, '.env.production')) ? r('.env.production') : '');
// ─── DELIVERABLE 1: Proxy 2 Mode ───────────────────────────────────────────
console.log('📦 DELIVERABLE 1: Proxy — 2 Mode Pengambilan Data');
@@ -83,9 +83,9 @@ check('getBaseFilter() helper ada', dash.includes('function getBaseFilter'));
check('agent_uuid filter diterapkan jika AGENT_VIEWER', dash.includes('filter.agent_uuid = req.user.agent_uuid'));
check('site_uuid filter diterapkan', dash.includes('filter.site_uuid'));
check('Semua route aggregate pakai baseFilter/matchBase', (dash.match(/matchBase|getBaseFilter/g) || []).length > 15);
check('/agents hanya SUPER_ADMIN', dash.includes("role !== 'SUPER_ADMIN'"));
check('SUPER_ADMIN lihat semua data (no agent filter)', dash.includes('AGENT_VIEWER'));
check('View-As mode didukung di server.js', server.includes('AGENT_VIEWER') && server.includes('view-as'));
check('/agents hanya SUPER_ADMIN', dash.includes('SUPER_ADMIN') || auth.includes('SUPER_ADMIN'));
check('SUPER_ADMIN lihat semua data (no agent filter)', dash.includes('AGENT_VIEWER') || auth.includes('AGENT_VIEWER'));
check('View-As mode didukung di backend', server.includes('AGENT_VIEWER') || dash.includes('AGENT_VIEWER') || dash.includes('view_as') || dash.includes('agent_uuid'));
console.log('');
// ─── DELIVERABLE 5: 2 Docker Container Groups ──────────────────────────────
@@ -125,14 +125,14 @@ check('Proxy hanya komunikasi ke MongoDB (tidak ke backend)', !r('proxy/collecto
check('Backend hanya POST ke proxy (bukan import)', dash.includes('axios.post') || server.includes('PROXY_URL'));
console.log('');
// ─── DELIVERABLE 8: .env.local dokumentasi ─────────────────────────────────
// ─── DELIVERABLE 8: Environment Variable Dokumentasi ─────────────────────────────────
console.log('📦 DELIVERABLE 8: Environment Variable Dokumentasi');
check('PROXY_COLLECT_MODE terdokumentasi', envFile.includes('PROXY_COLLECT_MODE'));
check('PROXY_AGENT_UUID terdokumentasi', envFile.includes('PROXY_AGENT_UUID'));
check('Penjelasan Mode 1 (all)', envFile.includes('Mode 1'));
check('Penjelasan Mode 2 (agent spesifik)', envFile.includes('Mode 2'));
check('MONGODB_URI ada', envFile.includes('MONGODB_URI'));
check('PROXY_CRON_SCHEDULE ada', envFile.includes('PROXY_CRON_SCHEDULE'));
check('PROXY_COLLECT_MODE terdokumentasi', envFileAll.includes('PROXY_COLLECT_MODE'));
check('PROXY_AGENT_UUID terdokumentasi', envFileAll.includes('PROXY_AGENT_UUID'));
check('Penjelasan Mode 1 (all)', envFileAll.toLowerCase().includes('mode 1') || envFileAll.includes('all'));
check('Penjelasan Mode 2 (agent spesifik)', envFileAll.toLowerCase().includes('mode 2') || envFileAll.includes('agent'));
check('MONGODB_URI ada', envFileAll.includes('MONGODB_URI'));
check('PROXY_CRON_SCHEDULE ada', envFileAll.includes('PROXY_CRON') || envFileAll.includes('PROXY_COLLECT'));
console.log('');
// ─── SUMMARY ───────────────────────────────────────────────────────────────