Skip to content

Release v1.15.0

Choose a tag to compare

@github-actions github-actions released this 05 Nov 06:18
634ec23

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: AddBoxOfficeProduct adds Box Office and the product side in one call.
  • Provisioning: the product implements IProvisionTenants; Box Office hears the operator's TenantRegistered, calls it and reports TenantProvisioned once per tenant. A refusal that retrying will not change is reported as TenantNotProvisioned with a reason; a transient failure is retried.
  • ISeatLicenses.For(tenant, holder) answers Licensed, NoLicense (with who to ask) or UnknownOrganization from 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 reports SeatHolderActive at most once per person and day, so the operator can show when a person was last seen. IReportActivity reports activity AuthProxy cannot see.
  • Two public contract events, SeatHolderActive and TenantNotProvisioned; 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 TenantRegistered and TenantClosing.