Access Windows
The dated windows of access on an installation's places, for a connector that shows them on its platform ahead of time — the catch-up read beside the live announcements.
Subscriby\Connector\Core\AccessWindows. A pass window is the core's: the ledger grants and revokes at its edges through your AccessController. The core announces each window as it is scheduled, opened, closed and cancelled through the AccessWindowChanged event, once per gated place of the window's plan, which is enough for a connector that was listening. This read is for the windows it was not: the ones scheduled before the connector was installed, or beyond the horizon it mirrors to, so a daily sweep catches up without the core knowing what the connector makes of a window. The Discord connector is the first caller: it turns a window into a scheduled event on the server.
listUpcoming()
$windows = $accessWindows->listUpcoming($installation, new DateTimeImmutable('+30 days'));The windows on the installation's project's places that have not ended, soonest first, up to the horizon; a window starting after it is left out, and a cancelled one never appears. Each item is an AccessWindowChanged, the same summary the live announcement carries: the ResourceRef, the window id, the title (the plan's name and the window's range in the plan's time zone), the state (scheduled, open or closed), when it opens and closes, and the portal address. A window on a plan that sells two gated places on your connector appears twice, once per place, as the announcements do; places on another connector are left out. The list is empty for an installation the core does not know.
Read it on a schedule
Ask once a day per installation with the horizon you mirror to, and let the live event handle the rest; the read walks the project's unfinished windows each time it is asked.
How is this guide?
Last updated on