towerops/lib/towerops_web
Graham McIntire 6f6627a54d
refactor: consolidate device count calculations in agent_live
Remove duplicate device counting logic by consolidating three identical
implementations into a single reusable function.

**Changes:**
- Refactor agent_live/index.ex mount/3 to use calculate_device_counts/1
- Delete duplicate calculate_cloud_poller_counts/1 function
- Replace all usages with calculate_device_counts/1

**Before:**
- Lines 31-47: Inline counting for agent_tokens and cloud_pollers
- Lines 312-318: calculate_device_counts/1
- Lines 320-326: calculate_cloud_poller_counts/1 (identical logic)

**After:**
- Single calculate_device_counts/1 function used everywhere
- ~20 lines removed

**Benefits:**
- Eliminates triple duplication of counting logic
- Single source of truth for device counting
- Easier to maintain and test

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2026-02-04 17:53:18 -06:00
..
channels tcp snmp test 2026-02-04 17:28:14 -06:00
components make sites optional 2026-02-04 13:05:32 -06:00
controllers Device list bug fix 2026-02-04 16:49:17 -06:00
helpers Mikrotik backup and gettext start 2026-02-02 09:11:22 -06:00
live refactor: consolidate device count calculations in agent_live 2026-02-04 17:53:18 -06:00
plugs snmp v3 support 2026-02-04 12:02:38 -06:00
endpoint.ex Move CaptureTimezone plug to browser pipeline 2026-02-01 11:15:51 -06:00
gettext.ex init 2025-12-21 11:10:43 -06:00
gettext_helpers.ex feat: migrate email templates to gettext (Phase 2 - Emails) 2026-02-02 09:48:30 -06:00
permissions.ex handle mikrotik ssh 2026-02-02 16:42:18 -06:00
plug_exceptions.ex handle exceptions gracefully on api endpoints 2026-02-04 12:18:14 -06:00
router.ex Mikrotik backup and gettext start 2026-02-02 09:11:22 -06:00
telemetry.ex fix: add Oban config to dev.exs and replace Exq telemetry with Oban 2026-01-24 16:39:45 -06:00
user_auth.ex feat: migrate all remaining authentication and session flash messages to gettext 2026-02-02 13:02:44 -06:00