Repository navigation
Release v1.15.0
A managed product now gets its whole side of the Box Office contract from one call, builder.AddBoxOfficeProduct(...), in the new Cratis.Showrunner.BoxOffice.Product package. The application writes only what is its own: creating a tenant.
Added
Cratis.Showrunner.BoxOffice.Product:AddBoxOfficeProductadds Box Office and the product side in one call.- Provisioning: the product implements
IProvisionTenants; Box Office hears the operator'sTenantRegistered, calls it and reportsTenantProvisionedonce per tenant. A refusal that retrying will not change is reported asTenantNotProvisionedwith a reason; a transient failure is retried. ISeatLicenses.For(tenant, holder)answersLicensed,NoLicense(with who to ask) orUnknownOrganizationfrom what the operator published, with no call to the operator.ITenantAccess.IsReadOnly(tenant)for jobs, reactors and endpoints; Box Office's command filter already refuses the commands of a read-only tenant.- AuthProxy's sign-in callback is received automatically at
/.cratis/showrunner/sign-in, with no endpoint to map. It reportsSeatHolderActiveat most once per person and day, so the operator can show when a person was last seen.IReportActivityreports activity AuthProxy cannot see. - Two public contract events,
SeatHolderActiveandTenantNotProvisioned; existing events are unchanged. IClosingTenants, an optional hook that is told when the operator closes a tenant.- Documentation: The product side, including the AuthProxy configuration.
Changed
- Box Office also subscribes the product to the operator's
TenantRegisteredandTenantClosing.