UNPKG

@chevre/domain

Version:

Chevre Domain Library for Node.js

37 lines (36 loc) 967 B
import { RedisClientType } from 'redis'; import * as factory from '../../factory'; /** * レート制限キーインターフェース */ export interface IRateLimitKey { project: { id: string; }; reservedTicket: { ticketType: { validRateLimit: factory.offer.IValidRateLimit; }; }; reservationFor: { startDate: Date; }; reservationNumber: string; } /** * オファーレート制限リポジトリ */ export declare class OfferRateLimitRepo { private static readonly KEY_PREFIX_NEW; private readonly concurrentLockRepo; private readonly redisClient; constructor(redisClient: RedisClientType); private static createKey; /** * ロックする * discontinue array params(2025-05-26~) */ lock(params: IRateLimitKey): Promise<void>; unlock(params: IRateLimitKey): Promise<void>; getHolder(ratelimitKey: IRateLimitKey): Promise<string | null>; }