towerops/lib/towerops
mayor 0c77dd84e7
Add strict typespecs to all Oban worker perform/1 functions
Adds @spec annotations to all Oban worker perform/1 functions to improve
static analysis and documentation. Return types are specific to each worker's
actual behavior:

Workers returning 🆗
- BackupSummaryWorker
- BackupTimeoutWorker
- DeviceMonitorWorker
- DevicePollerWorker
- JobHealthCheckWorker
- NeighborCleanupWorker

Workers with complex returns:
- DiscoveryWorker: :ok | :discard
- FirmwareVersionFetcherWorker: :ok | {:error, term()}
- LoginHistoryCleanupWorker: {:ok, %{deleted: non_neg_integer(), anonymized_deleted: non_neg_integer()}}
- MikrotikBackupWorker: :ok | {:error, String.t()}
- SessionCleanupWorker: {:ok, %{sessions_deleted: non_neg_integer()}}

Analysis found that none of these workers have complex job parameters that
would benefit from embedded schemas - all use either no parameters or simple
device_id strings passed in job args.

StaleAgentWorker already had a typespec on find_stale_agents/0 from previous work.

All 98 worker tests passing after changes.
2026-02-06 09:50:51 -06:00
..
accounts add device count to superadmin 2026-02-06 09:32:13 -06:00
admin feat: add audit logging to grant_sudo_mode/1 2026-02-01 14:09:40 -06:00
agent Add comprehensive typespecs to agent-related modules 2026-02-06 09:33:44 -06:00
agents Add comprehensive typespecs to agent-related modules 2026-02-06 09:33:44 -06:00
alerts feat: add Meraki/FortiWLC vendors, remove AlertNotifier temporarily 2026-01-22 10:40:44 -06:00
api_tokens refactor: use API token auth for profile imports instead of session cookies 2026-01-18 09:30:21 -06:00
contexts help update 2026-02-04 17:56:48 -06:00
devices fix nil firmware comparison 2026-02-05 13:47:56 -06:00
ecto_types Implement MacAddress and SnmpOid custom Ecto types 2026-02-06 09:41:54 -06:00
geoip remove Mix.env and support ip database import 2026-01-28 13:08:06 -06:00
mobile_sessions Fix datetime truncation for mobile session schemas 2026-01-15 16:17:05 -06:00
monitoring refactor: convert periodic workers to Oban Cron for better resilience 2026-01-24 16:56:28 -06:00
organizations fix device count 2026-02-05 15:04:34 -06:00
profiles fix: handle nil sys_descr in profile matching 2026-02-04 18:22:12 -06:00
proto fix: improve agent polling and SNMP testing 2026-02-05 12:34:28 -06:00
settings remote agent/cloud improvements 2026-01-24 09:16:41 -06:00
sites tcp snmp test 2026-02-04 17:28:14 -06:00
snmp Add strict typespecs to all Oban worker perform/1 functions 2026-02-06 09:50:51 -06:00
workers Add strict typespecs to all Oban worker perform/1 functions 2026-02-06 09:50:51 -06:00
accounts.ex more dialyzer specs 2026-02-05 13:11:18 -06:00
admin.ex add device count to superadmin 2026-02-06 09:32:13 -06:00
agents.ex Add comprehensive typespecs to agent-related modules 2026-02-06 09:33:44 -06:00
alerts.ex more dialyzer specs 2026-02-05 13:11:18 -06:00
api_tokens.ex fix my-data page 2026-01-30 16:47:11 -06:00
application.ex fix: improve agent polling and SNMP testing 2026-02-05 12:34:28 -06:00
devices.ex fix mistaken poller ids 2026-02-05 13:57:15 -06:00
geoip.ex remove Mix.env and support ip database import 2026-01-28 13:08:06 -06:00
honeybadger_filter.ex filter more honeybadger alerts, format dates to users time zone, email template cleanup 2026-02-01 09:27:42 -06:00
log_filter.ex Add comprehensive Dialyzer type specifications 2026-01-17 10:52:02 -06:00
logger_filters.ex refactor: filter harmless Oban shutdown messages during deployments 2026-01-25 08:38:33 -06:00
mailer.ex moduledocs 2026-01-17 15:08:49 -06:00
mobile_sessions.ex credo cleanup 2026-01-17 15:00:52 -06:00
monitoring.ex more dialyzer specs 2026-02-05 13:11:18 -06:00
organizations.ex more dialyzer specs 2026-02-05 13:11:18 -06:00
profiles.ex add universoal import 2026-01-18 16:59:34 -06:00
redis_health_check.ex fix: remove to_charlist conversion for Redix host option 2026-01-24 17:49:57 -06:00
release.ex fix dialyzer things 2026-01-03 12:56:40 -06:00
repo.ex moduledocs 2026-01-17 15:08:49 -06:00
result.ex more tests 2026-02-03 13:20:33 -06:00
settings.ex remote agent/cloud improvements 2026-01-24 09:16:41 -06:00
sites.ex more dialyzer specs 2026-02-05 13:11:18 -06:00
snmp.ex more dialyzer specs 2026-02-05 13:11:18 -06:00
vault.ex add mikrotik device handling 2026-02-01 16:42:39 -06:00