BaryoDev / BaryoDev/barakoCMS

Accounts: an account above tenants for agencies and resellers, with console branding as data

Open
#898 0 comments 0 reactions 0 assignees View on GitHub
core design
Dominant language
C#
Stars
6
Forks
7
Avg merge
4h 42m
Merged PRs (30d)
307

Description

There is nothing above a tenant. Managing tenants needs `ManageTenants` or SuperAdmin on the whole deployment (`barakoCMS/Features/Tenants/Endpoints.cs:44`, `:137`, `:215`), and cross-tenant audit is SuperAdmin only. Console branding is a freeform dictionary on the tenant (`barakoCMS/Models/Tenant.cs:35`), #885 moves the club profile off Tenant, and barakoBrew hardcodes its wordmark.

### Why it matters

An agency running ten client sites wants its staff to see and manage its own ten tenants and nobody else's, and to put its own name on the console. A reseller hosting several agencies needs the same one level up. Today the only way to manage more than one tenant is to be an operator of the whole box.

### The general concept

An account that owns tenants, with its own members and roles, so a capability like `ManageTenants` can be granted within an account. Console branding (name, logo, colours) is account data the console reads, not a build setting.

### Where it lives

Core: tenants and roles. Console reads the branding (barakoBrew #15).

### Compatibility

Released. Existing deployments get one implicit account holding every tenant, so today's operators keep the access they have. `Tenant.Branding` keeps being read as a fallback until the account's branding is set.

### Done when

- A user with `ManageTenants` in one account lists and edits only that account's tenants, and a test showing that fails today.
- The console shows the account's name and logo from the API.
- A deployment with no accounts configured behaves as today.

Found in the architecture sweep of 15 September 2026.

Contributor guide

Open the contributing guide

Research direction

Read barakoCMS/Features/Tenants/Endpoints.cs at lines 44, 137, and 215, then inspect barakoCMS/Models/Tenant.cs at line 35 and barakoBrew issue #15. Trace how tenant permissions and branding are currently handled before defining the account boundary. Done means account-scoped tenant management, API-backed console name and logo, compatibility for deployments without accounts, and tests for the stated access behavior.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp
Domain
authorization, backend-api-design, frontend
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.