25bb70cfa6
feat: Mimecast email integration — message logs, threat events, 120d retention, admin UI
2026-03-17 16:23:47 -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
d7c3dc7168
feat: Autotask webhook integration, TicketNotes, Datto RMM, workflow engine, Veeam agents/alarms, AI triage, misc improvements
2026-02-20 10:28:15 -05:00
root
f117210c9d
feat: add scheduled sync system with admin UI
...
Implements comprehensive scheduled sync system using node-cron with
full admin interface for configuration and monitoring.
Features:
- Configurable sync schedules with cron expressions
- Enable/disable schedules without deletion
- Manual trigger for testing
- Status monitoring (last run, next run, success/failure)
- Error tracking and display
- Incremental and full sync support
- Multiple concurrent schedules
- Admin UI with schedule management
Components:
1. Sync Scheduler Service (lib/services/sync-scheduler.ts)
- node-cron integration for scheduling
- Database-backed schedule configuration
- Automatic initialization on startup
- Prevents concurrent runs of same schedule
- Calculates next run times
- Tracks execution status and errors
2. Database Schema (sync_schedules table)
- Schedule configuration storage
- Execution history tracking
- Last run status and errors
- Next run calculation
3. API Endpoints
- GET /api/sync/schedules - List all schedules
- POST /api/sync/schedules - Create schedule
- GET /api/sync/schedules/[id] - Get schedule
- PATCH /api/sync/schedules/[id] - Update schedule
- DELETE /api/sync/schedules/[id] - Delete schedule
- POST /api/sync/schedules/[id]/trigger - Manual trigger
4. Admin UI (components/admin/SyncScheduler.tsx)
- View all schedules with status
- Create/edit/delete schedules
- Enable/disable toggle
- Manual trigger button
- Cron expression presets
- Real-time status updates
- Error message display
- Next run countdown
5. Default Schedules (created on first startup, disabled)
- Daily Incremental: 2 AM daily (0 2 * * *)
- Weekly Full: 3 AM Sunday (0 3 * * 0)
Admin Interface:
- New 'Schedules' tab in sync page
- Schedule cards with status badges
- Enable/disable with play/pause button
- Manual trigger with clock button
- Edit dialog with cron presets
- Create dialog for new schedules
- Real-time status (running, next run, last run)
- Success/failure indicators
- Error message alerts
Cron Features:
- Full cron expression support
- Validation before saving
- Common presets (daily, weekly, hourly)
- Next run time calculation
- Automatic schedule restart on config change
Monitoring:
- Last run timestamp
- Next run countdown (e.g., 'in 2h 15m')
- Success/failure status with icons
- Error messages for failed syncs
- Running indicator (animated badge)
- Schedule validity check
Dependencies:
- node-cron: ^3.0.3
- @types/node-cron: ^3.0.11
UI Components:
- Alert component added (components/ui/alert.tsx)
- Integrated into sync page tabs
- Responsive design
Documentation:
- Complete guide (docs/SCHEDULED_SYNCS.md)
- Cron expression reference
- Best practices
- Troubleshooting guide
- API reference
- Database schema
Use Cases:
1. Daily incremental sync for recent changes
2. Weekly full sync for data integrity
3. Custom schedules for specific needs
4. Off-peak hour automation
5. Backup for webhook failures
Benefits:
- No manual intervention required
- Consistent data freshness
- Flexible scheduling
- Easy monitoring
- Error tracking
- Manual override available
Next Steps:
1. Restart application to initialize scheduler
2. Navigate to Admin → Sync → Schedules tab
3. Enable default schedules or create custom ones
4. Monitor first runs for success
5. Adjust schedules as needed
Files Added/Modified:
- lib/services/sync-scheduler.ts (new)
- app/api/sync/schedules/route.ts (new)
- app/api/sync/schedules/[id]/route.ts (new)
- app/api/sync/schedules/[id]/trigger/route.ts (new)
- components/admin/SyncScheduler.tsx (new)
- components/ui/alert.tsx (new)
- app/admin/sync/page.tsx (modified - added Schedules tab)
- docs/SCHEDULED_SYNCS.md (new)
- package.json (node-cron added)
2026-01-26 10:24:58 -05:00
root
f85741c993
feat: add tabs to sync page and fix pagination
...
- Separate Sync Status and Sync History into tabs with icons
- Fix pagination in sync history by adding offset parameter
- Update getSyncHistory to support offset for proper pagination
- Update API endpoint to pass offset parameter
- Previous/Next buttons now work correctly to navigate pages
This improves UX by organizing the sync page into logical sections
and enables users to browse through historical sync records.
2026-01-24 07:57:09 -05:00
root
6eee14f8af
Add comprehensive admin features and multi-system integration
...
- Add admin dashboard with sync controls and data browser
- Implement RMM, Auvik, and Addigy organization mappings
- Add chunked ticket sync with progress tracking
- Implement entity sync service with rate limiting
- Add analytics engine and performance optimizer
- Create data browser for all PSA entities
- Add navigation components and UI improvements
- Implement background processing and sync services
- Add comprehensive documentation and migration scripts
- Update configuration items with multi-system support
- Enhance contact management and purchase history
- Add issue type assignment and LLM analyzer
- Improve error handling and logging utilities
2025-11-19 14:18:16 -05:00