towerops/lib/towerops_web/graphql
Graham McIntire 5a6acf0d7c feat: simplify device type to manual-only with 6 options (#109)
- Reduce device type options from 10 to 6 (server, switch, router, access_point, backhaul, other)
- Change label from "Device Role" to "Device Type"
- Disable auto-detection - device type is now required and manual-only
- Add migration to map existing device roles to new simplified set
- Update REST API to include device_role and device_role_source fields
- Automatically set device_role_source to "manual" when device_role is provided
- Update wireless detection to include "backhaul" type
- Enhance display formatting for "Access Point"

Breaking Changes:
- Auto-inference of device type has been disabled
- device_role is now a required field in forms
- GraphQL/REST API consumers will see changed device_role values after migration

Files Changed:
- lib/towerops_web/live/device_live/form.html.heex
- lib/towerops/topology.ex
- lib/towerops/snmp/discovery.ex
- lib/towerops/devices/device.ex
- lib/towerops_web/live/device_live/index.ex
- lib/towerops_web/controllers/api/v1/devices_controller.ex
- priv/repo/migrations/20260322152809_migrate_device_roles_to_simplified_set.exs
- test/towerops/topology_test.exs
- test/towerops_web/live/device_live/form_test.exs

Reviewed-on: graham/towerops-web#109
2026-03-22 11:24:53 -05:00
..
middleware add mobile token auth to GraphQL endpoint (#48) 2026-03-16 15:23:07 -05:00
resolvers add query_helpers tests and fix all credo issues (#56) 2026-03-17 10:43:57 -05:00
types feat: simplify device type to manual-only with 6 options (#109) 2026-03-22 11:24:53 -05:00
context.ex Security fixes: mask credentials in logs/API, fix cookie/CSP/LIKE injection/webhooks 2026-02-15 09:09:04 -06:00
schema.ex add service checks REST API, GraphQL API, and ping executor (#52) 2026-03-16 18:40:18 -05:00
subscriptions.ex add real-time GraphQL API with time-series queries and subscriptions 2026-03-12 10:24:39 -05:00