LemonCore. Events. CronJobChanged
(lemon_core v0.1.0)
View Source
A cron job was created, updated or deleted. Published on cron; the specific transition
is the LemonCore.Event type (:cron_job_created, :cron_job_updated,
:cron_job_deleted). Deletions carry no job record.
Summary
Functions
The LemonCore.Event type atom this payload is published under.
Payload version. Bumped only for a breaking field change (see the semver table in docs/platform/bus-events.md §4.3).
The struct's field names, in declaration order.
Build the payload from a map that may be a legacy free-form payload.
Build the payload, raising on unknown or missing keys.
Types
Functions
@spec event_type() :: atom()
The LemonCore.Event type atom this payload is published under.
@spec event_version() :: pos_integer()
Payload version. Bumped only for a breaking field change (see the semver table in docs/platform/bus-events.md §4.3).
@spec fields() :: [atom()]
The struct's field names, in declaration order.
Build the payload from a map that may be a legacy free-form payload.
Unknown keys are dropped and string keys are accepted, so a consumer can coerce whatever arrives on the topic. Enforced keys are still required — a map missing them is not a valid payload under any version.
Build the payload, raising on unknown or missing keys.
This is the publisher-side constructor: a typo should fail at the point of publish, not silently produce a payload with a nil field that a consumer reads as absent.