notification_handler


Description

{“what”:“Delivery configuration linking a notification to a channel type and optional template.”,“why”:“Enables sending the same notification through multiple channels with distinct settings.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:10:12.723419505+00:00”}

Columns

Column Type Size Nulls Auto Default Children Parents Comments
id int4 10 √ null
notification_recipient.notification_handler_id fk_notification_recipient_notification_handler_id C

{“what”:“Unique integer assigned to each handler record.”,“why”:“Without it, no stable way to identify a single handler for updates or deletion.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:10:12.735081658+00:00”}

channel_type varchar 64 null

{“what”:“Channel category such as email, SMS, or push.”,“why”:“Determines which channel-specific logic or provider to use for delivery.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:10:12.754947606+00:00”}

notification_id int4 10 null
notification.id fk_notification_handler_notification_id C

{“what”:“ID of the notification event this handler processes.”,“why”:“Links each handler to its parent notification; without it, a handler has no event to send.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:10:12.772990883+00:00”}

channel_id int4 10 √ null
channel.id fk_notification_handler_channel_id C

{“what”:“Identifier of the concrete channel endpoint (e.g., device token) when applicable.”,“why”:“Without it, only the channel type is known, not the exact destination.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:10:12.819713580+00:00”}

template_id int4 10 √ null
channel_template.id fk_notification_handler_template_id N

{“what”:“ID of the message template used for this notification.”,“why”:“Defines the content structure; without it, the message body is unknown.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:10:12.842626179+00:00”}

active bool 1 true

{“what”:“Flag indicating whether this handler is currently enabled.”,“why”:“Allows disabling a handler without deleting it; inactive handlers are skipped during sending.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:10:12.858996075+00:00”}

created_at timestamptz 35,6 now()

{“what”:“Timestamp when the handler row was created.”,“why”:“Without it, cannot determine when the handler was added.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:10:12.879364963+00:00”}

updated_at timestamptz 35,6 now()

{“what”:“Timestamp of the last modification to this handler.”,“why”:“Tracks changes; without it, stale configurations cannot be detected.”,“by”:“fleet-annotator-worker”,“at”:“2026-09-23T04:10:12.898977196+00:00”}

Indexes

Constraint Name Type Sort Column(s)
notification_handler_pkey Primary key Asc id
idx_notification_handler_channel_id Performance Asc channel_id
idx_notification_handler_notification_id Performance Asc notification_id
idx_notification_handler_template_id Performance Asc template_id

Relationships