feat(tenant): per-tenant brand and question limit overrides
Add nullable brand_limit / question_limit columns on tenants so ops admins can override the plan-derived brand-library quotas per account. When set, these take precedence over config.yml plan defaults across the brand-library summary, question materialization, and the daily monitoring worker's primary-client plan resolution. Ops side exposes them on admin-user create plus a new PUT /admin-users/:id/limits endpoint, invalidating the brand-library summary cache on change. The ops-web AdminUsers view gains matching inputs on the create and edit modals. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -112,6 +112,7 @@ func RegisterRoutes(d Deps) {
|
||||
authed.POST("/admin-users", createAdminUserHandler(d.AdminUsers))
|
||||
authed.GET("/admin-users/:id", getAdminUserHandler(d.AdminUsers))
|
||||
authed.PATCH("/admin-users/:id", updateAdminUserHandler(d.AdminUsers))
|
||||
authed.PUT("/admin-users/:id/limits", updateAdminUserLimitsHandler(d.AdminUsers))
|
||||
authed.POST("/admin-users/:id/plan", changeAdminUserPlanHandler(d.AdminUsers))
|
||||
authed.POST("/admin-users/:id/subscription-expiry", updateAdminUserSubscriptionExpiryHandler(d.AdminUsers))
|
||||
authed.POST("/admin-users/:id/reset-plan-usage", resetAdminUserPlanUsageHandler(d.AdminUsers))
|
||||
|
||||
Reference in New Issue
Block a user