@playlive/realtime-pipeline
    Preparing search index...

    Interface ScheduleTransitionBlock

    One row of campaign_schedule_entries annotated with the campaign's total_amount_raised at the block boundaries.

    Mirrors CampaignScheduleEntryWithAmounts from @playlive/schedule-builder-data (server-side). Kept as a local interface so this package doesn't take a hard dep on the server data package — the shape has been stable since block-amounts landed and any drift will surface as a plain type error at the send site.

    • startAmount / endAmount are null when no tiltify_campaign_snapshots row covers the boundary (campaign wasn't subscribed to webhooks yet, or the boundary is in the future).
    • endAmount is always null for the next upcoming block.
    • raisedDuringBlock is endAmount - startAmount when both are defined, otherwise null.
    • scheduleData is the raw Tiltify schedule object (TiltifySchedule). Typed as unknown on the wire to keep this package free of a hard tiltify-core version pin — cast downstream when consuming.
    • campaignData is the raw TiltifyCampaign. Same rationale.
    interface ScheduleTransitionBlock {
        campaignData: unknown;
        campaignId: string;
        createdAt: string;
        endAmount: number | null;
        endsAt: string | null;
        id: string;
        isCurrent: boolean;
        needsEndDate: boolean;
        raisedDuringBlock: number | null;
        scheduleData: unknown;
        scheduleId: string;
        scheduleName: string;
        startAmount: number | null;
        startsAt: string;
    }
    Index
    campaignData: unknown
    campaignId: string
    createdAt: string
    endAmount: number | null
    endsAt: string | null
    id: string
    isCurrent: boolean
    needsEndDate: boolean
    raisedDuringBlock: number | null
    scheduleData: unknown
    scheduleId: string
    scheduleName: string
    startAmount: number | null
    startsAt: string