Type Alias IDatabaseWriterLockTransaction

IDatabaseWriterLockTransaction: {
    find(
        context: IReadableContext,
        key: string,
    ): Promise<null | IWriterLockData>;
    remove(
        context: IReadableContext,
        key: string,
    ): Promise<null | IWriterLockExpirationData>;
    removeIfOwner(
        context: IReadableContext,
        key: string,
        lockId: string,
    ): Promise<null | IWriterLockData>;
    updateExpiration(
        context: IReadableContext,
        key: string,
        lockId: string,
        expiration: Date,
    ): Promise<number>;
    upsert(
        context: IReadableContext,
        key: string,
        lockId: string,
        expiration: null | Date,
    ): Promise<void>;
}

Transaction context for writer (exclusive) lock operations. Provides CRUD methods for managing write lock state within a database transaction.

Writer locks are exclusive: only one entity can hold the lock at a time. When a writer lock is held, no readers can acquire slots.

IMPORT_PATH: "@daiso-tech/core/shared-lock/contracts"

Type declaration