UNPKG

@sotatech/nest-taskflow

Version:

A task flow management library for NestJS with Redis Pub/Sub integration.

32 lines (31 loc) 1.4 kB
import { OnModuleDestroy } from '@nestjs/common'; import { RedisService } from '@liaoliaots/nestjs-redis'; import { AddTaskOptions, TaskFlowModuleOptions, TaskFlowRecipients, TaskMetadata } from './interfaces'; import { StrategyRegistry } from './strategies'; export declare class TaskFlowService implements OnModuleDestroy { private readonly moduleOptions; private readonly redisService; private readonly strategyRegistry; private readonly logger; private readonly redisClient; constructor(moduleOptions: TaskFlowModuleOptions, redisService: RedisService, strategyRegistry: StrategyRegistry); addTask<T = any>(queueName: string, data: T, options: AddTaskOptions): Promise<TaskMetadata<T>>; verify(taskId: string, method: string, otp: string): Promise<TaskMetadata>; resendOtp(taskId: string, method: string): Promise<void>; private isValidOtpRequest; private generateAndSendOtp; private cacheOtp; updateRecipient(taskId: string, newRecipient: TaskFlowRecipients): Promise<void>; private persistUpdatedRecipient; private resendOtpsForAllMethods; private createTaskMetadata; private saveTaskMetadata; private executeStrategies; private addToQueue; private updateTaskStatus; private removeFromQueue; private cleanupOtpKeys; private generateTaskId; private getTaskMetadata; onModuleDestroy(): void; }