final | |
|---|---|
implements |
TenantResolverInterface |
The shipped default: the installation's platform owner is its tenant.
A standalone SDK installation is its own tenant, and since ui5:intake the
installation already names the organisation that operates it. So the default reads
that partner and projects it, rather than inventing anyone. The author's argument
for the change, and it is the whole of it: „Ist ja nur zu logisch, dass ui5:intake
den Tenant Partner benennt."
What this replaced. Until 1.2.0 this class inlined a fictional operator
(ACME Corporation, LocalAdmin) with no DB read at all. It was an honest
placeholder and a dishonest answer: every installation that had named its owner
still saw a fiction, and the tenancy spec's invariant I5 — the tenant feeds the
branding — could not begin to hold while the tenant was made up.
It resolves through the same seam ui5:sync uses. Not a second lookup of its
own: {@see SystemActorResolverInterface} is the one place that answers who owns
this installation, and a host that rebinds it moves both consumers at once.
This default can now throw, and that is new. Its predecessor never did. Without
a platform owner it raises MissingSystemActorException, exactly as ui5:sync
does — the same missing step, reported the same way, rather than a plausible
substitute. Run ui5:intake first; the public page says so.
One read per request. The resolver is called once and the result lives
immutably on the SdkContext, so the projection below is not a per-call query.
| Methods | ||
|---|---|---|
public
|
__construct(SystemActorResolverInterface $systemActor)
|
# |
public
|
resolve(): TenantInterface
|
# |