package com.sungardas.enhancedsnapshots.service;
import com.sungardas.enhancedsnapshots.aws.dynamodb.model.TaskEntry.TaskEntryStatus;
import com.sungardas.enhancedsnapshots.dto.Dto;
import com.sungardas.enhancedsnapshots.dto.ExceptionDto;
import com.sungardas.enhancedsnapshots.dto.TaskProgressDto;
public interface NotificationService {
/**
* Send notification to user about running task progress
*
* @param taskId task ID
* @param message message to user
* @param progress progress in range from 0 to 100
*/
void notifyAboutRunningTaskProgress(String taskId, String message, double progress);
/**
* Send notification to user about task progress
*
* @param taskId task ID
* @param message message to user
* @param progress progress in range from 0 to 100
* @param status task status
*/
void notifyAboutTaskProgress(String taskId, String message, double progress, TaskEntryStatus status);
void notifyAboutTaskProgress(TaskProgressDto dto);
void notifyAboutError(ExceptionDto exceptionDto);
void notifyUser(String broker, Dto dto);
}