feat: tenant management console commands

Signed-off-by: Sebastian Krupinski <krupinski01@gmail.com>
This commit is contained in:
2026-07-19 22:38:43 -04:00
parent 2c640125e8
commit 934fb24217
16 changed files with 793 additions and 5 deletions
+25
View File
@@ -21,6 +21,31 @@ class TenantService
return $this->store->fetch($identifier);
}
/**
* List all tenants keyed by id
*
* @return array<string, TenantObject>
*/
public function list(): array
{
return $this->store->list();
}
public function deposit(TenantObject $tenant): ?TenantObject
{
$domains = $tenant->getDomains();
if ($domains === null || count($domains) === 0) {
throw new \InvalidArgumentException('A tenant must have at least one domain.');
}
return $this->store->deposit($tenant);
}
public function destroy(TenantObject $tenant): void
{
$this->store->destroy($tenant);
}
// =========================================================================
// Settings
// =========================================================================