Application Channel Update Event
Published to the sdk-management.updates Pub/Sub topic with eventType=application-channel-update for each application affected by a channel state change.
This is a derived event — it is not published directly by the web process but by the dedicated application-channel-update-event-publisher worker.
How It Works
-
A ChannelUpdateEvent is published to
sdk-management.updateswitheventType=channel-update. -
The
application-channel-update-event-publisherworker subscribes tosdk-management.updatesvia thesdk-management.application-channel-update-event-publishersubscription, filtered toeventType=channel-update. -
For each incoming channel update, the worker looks up all applications associated with the channel.
-
One
ApplicationChannelUpdateEventis published per application tosdk-management.updateswitheventType=application-channel-update.
This fan-out allows downstream consumers to subscribe to application-scoped channel changes without having to resolve the channel-to-application mapping themselves.
Trigger Operations
The channelOperation field mirrors the operation from the originating channel update event:
| Operation | Description |
|---|---|
|
A channel was created. |
|
A channel’s configuration was modified. |
|
A channel was activated. |
|
A channel was deactivated. |
|
A channel was archived. |
Message Schema
{
"channelId": 7,
"channelOperation": "update",
"channelType": "push_firebase",
"applicationId": 42,
"applicationCode": "ABCDE-12345",
"tenantId": 123456,
"eventTime": "2025-01-15T11:00:00.000Z"
}
Fields
| Field | Type | Description |
|---|---|---|
|
|
The unique identifier of the channel that changed. |
|
|
The operation that triggered the original channel update. One of: |
|
|
The type of channel (e.g. |
|
|
The unique identifier of the application associated with the channel. |
|
|
The human-readable code of the application. |
|
|
The identifier of the tenant that owns the application. |
|
|
The timestamp from the original channel update event. |
Source
The event is constructed by the publishApplicationChannelUpdateEventCommand, which combines a ChannelUpdateEvent with an Application entity.
The PublishApplicationChannelUpdateEventsForChannelUseCase orchestrates the fan-out by querying for all applications linked to the channel and publishing one event per application.