ObjectStackObjectStack

Realtime

Realtime protocol schemas

Transport Protocol Enum

Defines the communication protocol for realtime data synchronization

Source: packages/spec/src/api/realtime.zod.ts

TypeScript Usage

import { RealtimeConfig, RealtimeEvent, RealtimeEventType, RealtimePresence, Subscription, SubscriptionEvent, TransportProtocol } from '@objectstack/spec/api';
import type { RealtimeConfig, RealtimeEvent, RealtimeEventType, RealtimePresence, Subscription, SubscriptionEvent, TransportProtocol } from '@objectstack/spec/api';

// Validate data
const result = RealtimeConfig.parse(data);

RealtimeConfig

Properties

PropertyTypeRequiredDescription
enabledbooleanEnable realtime synchronization
transportEnum<'websocket' | 'sse' | 'polling'>Transport protocol
subscriptionsObject[]optionalDefault subscriptions

RealtimeEvent

Properties

PropertyTypeRequiredDescription
idstringUnique event identifier
typestringEvent type (e.g., record.created, record.updated)
objectstringoptionalObject name the event relates to
actionEnum<'created' | 'updated' | 'deleted'>optionalAction performed
payloadRecord<string, any>Event payload data
timestampstringISO 8601 datetime when event occurred
userIdstringoptionalUser who triggered the event
sessionIdstringoptionalSession identifier

RealtimeEventType

Allowed Values

  • record.created
  • record.updated
  • record.deleted
  • field.changed

RealtimePresence

Properties

PropertyTypeRequiredDescription
userIdstringUser identifier
statusEnum<'online' | 'away' | 'busy' | 'offline'>Current presence status
lastSeenstringISO 8601 datetime of last activity
metadataRecord<string, any>optionalCustom presence data (e.g., current page, custom status)

Subscription

Properties

PropertyTypeRequiredDescription
idstringUnique subscription identifier
eventsObject[]Array of events to subscribe to
transportEnum<'websocket' | 'sse' | 'polling'>Transport protocol to use
channelstringoptionalOptional channel name for grouping subscriptions

SubscriptionEvent

Properties

PropertyTypeRequiredDescription
typeEnum<'record.created' | 'record.updated' | 'record.deleted' | 'field.changed'>Type of event to subscribe to
objectstringoptionalObject name to subscribe to
filtersanyoptionalFilter conditions

TransportProtocol

Allowed Values

  • websocket
  • sse
  • polling

On this page