Type Alias IDatabaseLockAdapter

IDatabaseLockAdapter: {
    find(key: string): Promise<null | ILockData>;
    remove(key: string): Promise<null | ILockExpirationData>;
    removeIfOwner(key: string, lockId: string): Promise<null | ILockData>;
    transaction<TReturn>(
        fn: InvokableFn<
            [transaction: IDatabaseLockTransaction],
            Promise<TReturn>,
        >,
    ): Promise<TReturn>;
    updateExpiration(
        key: string,
        lockId: string,
        expiration: Date,
    ): Promise<number>;
}

The IDatabaseLockAdapter contract defines a way for managing locks independent of data storage. This contract simplifies the implementation of lock adapters with CRUD-based databases, such as SQL databases and ORMs like TypeOrm and MikroOrm.

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

Type declaration