GeoLeaf Core API - v3.0.0
    Preparing search index...

    Public API of the outbox store.

    interface OutboxDBInstance {
        append(entry: OutboxEntry): Promise<number>;
        list(): Promise<StoredOutboxEntry[]>;
        listByState(state: string): Promise<StoredOutboxEntry[]>;
        getById(id: string): Promise<StoredOutboxEntry | null>;
        listByEntity(
            layerId: string,
            localId: string,
        ): Promise<StoredOutboxEntry[]>;
        updateState(
            id: string,
            state: string,
            patch?: { attempts?: number; quarantine?: QuarantineReason },
        ): Promise<void>;
        remove(id: string): Promise<void>;
        count(): Promise<number>;
    }
    Index

    Methods

    • Entries in one state, in insertion order within that state.

      Parameters

      • state: string

      Returns Promise<StoredOutboxEntry[]>

    • Looks an entry up by its contract id (unique index).

      Parameters

      • id: string

      Returns Promise<StoredOutboxEntry | null>

    • Entries touching one entity — coalescence (3.10) and join to features.

      Parameters

      • layerId: string
      • localId: string

      Returns Promise<StoredOutboxEntry[]>

    • Change l'état d'une entrée, et — si patch est fourni — son compteur d'essais et son motif de quarantaine, dans la MÊME transaction.

      ⚠️ patch existe parce qu'un état de quarantaine sans motif ne dit rien (B-125) : le contrat déclare quarantine?: QuarantineReason sur l'entrée, et jusqu'ici aucun chemin ne pouvait l'écrire. Écrire l'état d'abord puis le motif ensuite aurait ouvert une fenêtre où l'entrée est mise de côté sans qu'on sache pourquoi.

      Parameters

      • id: string
      • state: string
      • Optionalpatch: { attempts?: number; quarantine?: QuarantineReason }

      Returns Promise<void>