...
Settings control which required parties require approval. Typical office defaults to schedule settings
Requesting a change produces a DraftGame and . After save hook on DraftGame automatically produces DraftGameApprovals based on the office settings . Technically this is based on and if updatedGameId is present. Settings are based on the published game (a move to another schedule/teams requires the original schedule/teams to approve).
The DraftGame modal mentioned in UX would also apply to games produced by leagues through the draft flow. This modal should only be visible for required parties for approval with permission
A new permission scope (
scheduling:approve
) to be added, which allows responding to a DraftGameApprovalFor the migration, grant it to any role that has
scheduling:manage
,scheduling:games
,scheduling:drafts
orteams:roster
A notification task that runs every 5 minutes should check for newly created DraftGameApprovals and send a notification
A new notification type for Draft Game Approvals to be created. By default (in the view) anyone with a
scheduling:
approvalsapprove
role has it enabledDraftGame Target → Permission Target to determine who receives the notification
When a DraftGameApproval is changed to Accepted, check if all others are accepted. If so, publish the draft game to update the game
The standard game rescheduled notification covers this case already
If an approval is declined, the league is responsible for deleting the draft game
Scheduling changes to the draft game must reset any approvals