feat: auto-populate auvik_tenants and rmm_sites tables when fetching mappings
When includeUnmapped=true, the mapping APIs now populate the auvik_tenants and rmm_sites tables with all fetched data. This ensures accurate mapped/unmapped counts on the dashboard.
This commit is contained in:
parent
c0190c7dd1
commit
4d531b2f2d
2 changed files with 35 additions and 0 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue