towerops/lib/towerops_web
Graham McIntire e0bcd4feda
feat: add profile export/import workflow via API
Add export and import functionality for device SNMP profiles:

Export (local):
- New mix task: mix export_profiles --librenms-path ~/dev/librenms --output profiles.json
- Exports all profiles to JSON format
- Can filter specific profiles with --profiles flag

Import (production):
- New API endpoint: POST /api/v1/admin/profiles/import
- Requires superuser authentication via browser session
- Processes imports in background via Exq worker (maintenance queue)
- Returns job ID for tracking

New modules:
- Mix.Tasks.ExportProfiles - Export profiles to JSON
- ProfileImportWorker - Background job for importing profiles
- ProfilesController - API endpoint for bulk import
- RequireSuperuser plug - Restricts access to superusers
- Importer.import_profile_from_data/2 - Import from data structures

This enables bulk profile management without SSH access to production.
2026-01-18 09:23:38 -06:00
..
channels Convert Task.* calls to Exq background workers 2026-01-17 16:46:36 -06:00
components rename equipment to device 2026-01-17 14:48:46 -06:00
controllers feat: add profile export/import workflow via API 2026-01-18 09:23:38 -06:00
helpers Add build timestamp to footer with shared time formatting helpers 2026-01-17 11:10:50 -06:00
live feat: redirect to device page after triggering rediscovery 2026-01-17 18:20:24 -06:00
plugs feat: add profile export/import workflow via API 2026-01-18 09:23:38 -06:00
endpoint.ex agent improvements and agent config 2026-01-16 17:26:51 -06:00
gettext.ex init 2025-12-21 11:10:43 -06:00
router.ex feat: add profile export/import workflow via API 2026-01-18 09:23:38 -06:00
telemetry.ex updates 2026-01-17 17:49:53 -06:00
user_auth.ex moduledocs 2026-01-17 15:08:49 -06:00