RIDDL Specification For improving.app
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

DraftEventHandler: Handler

ItemValue
BrieflyBrief description missing.
Definition PathImprovingApp.Events.EventContext.Event.DraftEvent.DraftEventHandler
View Source LinkeventContext.riddl(59:15)

OnMessageClause command ScheduleEvent

Statements

{
  "set a scheduled Akka call for emitting StartEvent at DraftEventState.info.expectedStart"
  send event EventScheduled to outlet EventEventsSource.Events
  morph entity Event to state ScheduledEvent with record ScheduledEventState
}
```\n
### _OnMessageClause command EditEventInfo_

#### Statements
```\nset field DraftEventState.info to "EventContext.newEditableInfoFromFieldsPresentInEditable"set field DraftEventState.meta to "EventMetaInfo"send event EventRescheduled to outlet EventEventsSource.Events```\n
### _OnMessageClause command CancelEvent_

#### Statements
```\nif "all required info fields are present" then
{
  "cancel associated scheduled call to emit StartEvent"
  send event EventCancelled to outlet EventEventsSource.Events
  morph entity Event to state ScheduledEvent with record ScheduledEventState
}
```\n
### _OnMessageClause command RescheduleEvent_

#### Statements
```\nif "start is validated to be before end in command" then
{
  "adjust associated scheduled call to emit StartEvent"
  set field DraftEventState.info to "EditableEventInfo"
  set field DraftEventState.meta to "EventMetaInfo"
  send event EventRescheduled to outlet EventEventsSource.Events
}
```\n
### _OnMessageClause command DelayEvent_

#### Statements
```\nif "all required info fields are present" then
{
  "adjust associated scheduled call to emit StartEvent"
  send event EventDelayed to outlet EventEventsSource.Events
  morph entity Event to state ScheduledEvent with record ScheduledEventState
}
```\n
### _OnMessageClause command StartEvent_

#### Statements
```\nerror "Cannot start an event unless is state Scheduled or Delayed"```\n
### _OnMessageClause command EndEvent_

#### Statements
```\nerror "Cannot end an event that has not started."```\n
### _OnMessageClause command AddLiveUpdate_

## *Used By None*

## *Uses Nothing*