wulf-pulse/scripts/list-rmm-sites.ts
lorentz 672f17b7f9 chore: check in pending work — queue preferences, QBO AR diagnostics, mobile engagement fixes, ops scripts
Bundles several in-progress efforts that were sitting uncommitted:
- User queue-preferences (migration 087, API route, popover component)
- QBO invoice soft-delete (migration 088) and AR diagnostics route
- Dashboard/mobile engagement route and page adjustments
- Docker Compose log-rotation config
- One-off ticket/RMM investigation scripts (scripts/)
- Planning docs: phase verification/pattern notes, mobile shell design spec
- .gitignore: exclude local scratch financial/inventory data and Claude Code
  worktree/local-settings runtime state (never meant for version control)

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01W6RuWdiUiXrPK6FLBHjtpY
2026-07-18 06:34:57 -04:00

22 lines
666 B
TypeScript

import { config } from 'dotenv';
import { resolve } from 'path';
config({ path: resolve('/opt/stacks/pulse/.env.local') });
import { getDattoRMMClient } from '../lib/services/datto-rmm-factory';
async function main() {
const client = getDattoRMMClient();
const sites = await client.getSites();
console.log(`Found ${sites.length} sites\n`);
console.log('NAME\tUID\tDEVICES\tON-DEMAND');
for (const s of sites.sort((a, b) => a.name.localeCompare(b.name))) {
const devs = s.devicesStatus?.numberOfDevices ?? '';
console.log(`${s.name}\t${s.uid}\t${devs}\t${s.onDemand}`);
}
}
main().catch((err) => {
console.error(err);
process.exit(1);
});