|
|
8c56cafe0b
|
feat(07.1-05): user-tz on admin sync pages
- duo, sentinelone, datto-rmm, veeam, itglue, mimecast: each gets
useUserTimezone() in default export and threads tz through
fmtDate/sub-component props.
- duo (1 callsite, closure inline), sentinelone (1, module-scope helper),
datto-rmm (1 helper + StatusTab/HistoryTab props), veeam (1 helper +
5 sub-components), itglue (1 helper + StatusTab/HistoryTab props),
mimecast (1 helper + 6 sub-components incl. 2 dialogs with inline
toLocaleString calls).
- Module-scope fmtDate(d) signatures converted to fmtDate(d, tz).
Migrates 13 of 81 audit leak callsites.
|
2026-05-07 08:28:42 -04:00 |
|
|
|
ed6c4a8b65
|
feat: Add SentinelOne integration
- Add SentinelOne API client (lib/services/sentinelone-client.ts)
- Paginated fetching for sites, agents, threats
- JWT token auth via S1_API_URL / S1_API_TOKEN env vars
- Add SentinelOne sync service (lib/services/sentinelone-sync-service.ts)
- Full sync: sites, agents, threats into s1_* tables
- Sync history tracking with per-entity results
- Add DB migration 038: s1_sites, s1_agents, s1_threats,
s1_company_mappings, s1_sync_history tables
- Add API routes:
- POST/GET /api/sentinelone/sync
- GET/POST/DELETE /api/sentinelone/company-mappings
- GET /api/sentinelone/coverage (fixed Cartesian product bug)
- Add UI pages:
- /admin/sync/sentinelone — sync admin with history + stats
- /sentinelone/coverage — AV coverage report per site
- /sentinelone/mappings — map S1 sites to Autotask companies
- Wire SentinelOne into admin sync overview card grid
- Add SentinelOne Sync to app navigation
- Fix docker-compose: remove explicit S1 env var entries that
were overwriting env_file values with empty strings
|
2026-02-27 05:31:31 -05:00 |
|