Beignet API reference
    Preparing search index...

    Interface DrizzleTursoUnitOfWorkOptions<TSchema, TxPorts>

    Options for creating a Drizzle/Turso-backed Unit of Work port.

    interface DrizzleTursoUnitOfWorkOptions<
        TSchema extends Record<string, unknown>,
        TxPorts,
    > {
        createTransactionPorts: (
            db: DrizzleTursoTransaction<TSchema>,
            events: BufferedDomainEventRecorder,
        ) => TxPorts;
        db: LibSQLDatabase<TSchema>;
        eventBus?: EventBusPort;
        transactionConfig?: SQLiteTransactionConfig;
    }

    Type Parameters

    • TSchema extends Record<string, unknown>
    • TxPorts
    Index

    Properties

    createTransactionPorts: (
        db: DrizzleTursoTransaction<TSchema>,
        events: BufferedDomainEventRecorder,
    ) => TxPorts

    Create transaction-scoped ports from the Drizzle transaction client.

    The event recorder is transaction-local. Record domain events inside the callback and pass eventBus to publish them after the database commit.

    db: LibSQLDatabase<TSchema>

    The root Drizzle database instance from ctx.ports.db.db.

    eventBus?: EventBusPort

    Optional event bus used to flush recorded domain events after commit.

    transactionConfig?: SQLiteTransactionConfig

    Optional Drizzle transaction configuration.