diff --git a/app/api/auvik/tenant-mappings/route.ts b/app/api/auvik/tenant-mappings/route.ts index 188a20e..60deea0 100644 --- a/app/api/auvik/tenant-mappings/route.ts +++ b/app/api/auvik/tenant-mappings/route.ts @@ -42,6 +42,24 @@ export async function GET(request: NextRequest) { const auvikClient = getAuvikClient(); const allTenants = await auvikClient.getTenants(); + // Populate auvik_tenants table with all tenants + for (const tenant of allTenants) { + try { + await pool.query( + `INSERT INTO auvik_tenants (tenant_id, tenant_name, domain_prefix, last_sync_at) + VALUES ($1, $2, $3, CURRENT_TIMESTAMP) + ON CONFLICT (tenant_id) DO UPDATE SET + tenant_name = EXCLUDED.tenant_name, + domain_prefix = EXCLUDED.domain_prefix, + last_sync_at = CURRENT_TIMESTAMP, + updated_at = CURRENT_TIMESTAMP`, + [tenant.id, tenant.domainPrefix, tenant.domainPrefix] + ); + } catch (err) { + console.error(`Failed to upsert tenant ${tenant.id}:`, err); + } + } + const mappedTenantIds = new Set(mappings.map((m) => m.auvikTenantId)); const unmappedTenants = allTenants diff --git a/app/api/rmm/site-mappings/route.ts b/app/api/rmm/site-mappings/route.ts index d2e979e..ae41d6e 100644 --- a/app/api/rmm/site-mappings/route.ts +++ b/app/api/rmm/site-mappings/route.ts @@ -73,6 +73,23 @@ export async function GET(request: NextRequest) { const rmmClient = getDattoRMMClient(); const allSites = await rmmClient.getSites(); + // Populate rmm_sites table with all sites + for (const site of allSites) { + try { + await pool.query( + `INSERT INTO rmm_sites (site_uid, site_name, last_sync_at) + VALUES ($1, $2, CURRENT_TIMESTAMP) + ON CONFLICT (site_uid) DO UPDATE SET + site_name = EXCLUDED.site_name, + last_sync_at = CURRENT_TIMESTAMP, + updated_at = CURRENT_TIMESTAMP`, + [site.uid, site.name] + ); + } catch (err) { + console.error(`Failed to upsert site ${site.uid}:`, err); + } + } + // Get list of already mapped site UIDs const mappedSiteUids = new Set(mappings.map((m: any) => m.rmm_site_uid));