@daiso-tech/core
Version:
The library offers flexible, framework-agnostic solutions for modern web applications, built on adaptable components that integrate seamlessly with popular frameworks like Next Js.
19 lines (18 loc) • 955 B
TypeScript
/**
* @module Lock
*/
import { type IReadableContext } from "../../../../execution-context/contracts/_module.js";
import { type IDatabaseLockAdapter, type ILockAdapter, type ILockAdapterState } from "../../../../lock/contracts/_module.js";
import { type TimeSpan } from "../../../../time-span/implementations/_module.js";
/**
* @internal
*/
export declare class DatabaseLockAdapter implements ILockAdapter {
private readonly adapter;
constructor(adapter: IDatabaseLockAdapter);
acquire(context: IReadableContext, key: string, lockId: string, ttl: TimeSpan | null): Promise<boolean>;
release(context: IReadableContext, key: string, lockId: string): Promise<boolean>;
forceRelease(context: IReadableContext, key: string): Promise<boolean>;
refresh(context: IReadableContext, key: string, lockId: string, ttl: TimeSpan): Promise<boolean>;
getState(context: IReadableContext, key: string): Promise<ILockAdapterState | null>;
}