UNPKG

@mbc-cqrs-serverless/task

Version:
60 lines (59 loc) 2.53 kB
import { DetailKey, DynamoDbService, IInvoke, SnsService } from '@mbc-cqrs-serverless/core'; import { ConfigService } from '@nestjs/config'; import { CreateTaskDto } from './dto/create-task.dto'; import { TaskEntity } from './entity/task.entity'; import { TaskListEntity } from './entity/task-list.entity'; import { TaskStatusEnum } from './enums/status.enum'; import { TaskQueueEvent } from './event'; import { StepFunctionTaskEvent } from './event/task.sfn.event'; import { ITaskService } from './interfaces/task-service.interface'; export declare class TaskService implements ITaskService { private readonly dynamoDbService; private readonly snsService; private readonly config; private readonly logger; private readonly tableName; private readonly alarmTopicArn; constructor(dynamoDbService: DynamoDbService, snsService: SnsService, config: ConfigService); createTask(dto: CreateTaskDto, options: { invokeContext: IInvoke; }): Promise<TaskEntity>; createStepFunctionTask(dto: CreateTaskDto, options: { invokeContext: IInvoke; }): Promise<TaskEntity>; createSubTask(event: TaskQueueEvent): Promise<TaskEntity[]>; getAllSubTask(subTask: DetailKey): Promise<TaskEntity[]>; updateStepFunctionTask(key: DetailKey, attributes?: Record<string, any>, status?: string, notifyId?: string): Promise<void>; getTask(key: DetailKey): Promise<TaskEntity>; updateStatus(key: DetailKey, status: string, attributes?: { result?: any; error?: any; }, notifyId?: string): Promise<void>; updateSubTaskStatus(key: DetailKey, status: string, attributes?: { result?: any; error?: any; }, notifyId?: string): Promise<void>; listItemsByPk(tenantCode: string, type?: string, options?: { sk?: { skExpession: string; skAttributeValues: Record<string, string>; skAttributeNames?: Record<string, string>; }; startFromSk?: string; limit?: number; order?: 'asc' | 'desc'; }): Promise<TaskListEntity>; publishAlarm(event: TaskQueueEvent | StepFunctionTaskEvent, errorDetails: any): Promise<void>; formatTaskStatus(tasks: TaskEntity[]): Promise<{ subTaskCount: number; subTaskSucceedCount: number; subTaskFailedCount: number; subTaskRunningCount: number; subTasks: { pk: string; sk: string; status: TaskStatusEnum; }[]; }>; private countTaskStatus; }