From 09e1d81a9acf36096379d8ab54d920bc6302aaa0 Mon Sep 17 00:00:00 2001 From: Graham McIntire Date: Thu, 29 Jan 2026 13:01:21 -0600 Subject: [PATCH] fix superuser api device limits --- lib/towerops_web/controllers/api/v1/devices_controller.ex | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/towerops_web/controllers/api/v1/devices_controller.ex b/lib/towerops_web/controllers/api/v1/devices_controller.ex index 8a04c048..3590864c 100644 --- a/lib/towerops_web/controllers/api/v1/devices_controller.ex +++ b/lib/towerops_web/controllers/api/v1/devices_controller.ex @@ -77,11 +77,15 @@ defmodule ToweropsWeb.Api.V1.DevicesController do """ def create(conn, %{"device" => device_params}) do organization_id = conn.assigns.current_organization_id + current_user = conn.assigns[:current_user] # Verify site belongs to organization if site_id is provided case verify_site_access(device_params["site_id"], organization_id) do :ok -> - case Devices.create_device(device_params) do + # Superusers bypass device quota limits + opts = if current_user && current_user.is_superuser, do: [bypass_limits: true], else: [] + + case Devices.create_device(device_params, opts) do {:ok, device} -> # Trigger SNMP discovery if enabled if device.snmp_enabled do