using IWS5.Core.DTO.IAdmin.Schedules;
using IWS5.Core.Models;

namespace IWS5.Core.Services.IAdmin;

public interface IScheduleTasksService
{
    Task<CodeResponse<List<ScheduleTaskDTO>>> GetTasksAsync(int scheduleId);
    Task<CodeResponse<ScheduleTaskDTO>> GetTaskAsync(int taskId);
    Task<CodeResponse<ScheduleTaskDTO>> CreateTaskAsync(int scheduleId, ScheduleTaskRequestDTO request);
    Task<CodeResponse<ScheduleTaskDTO>> UpdateTaskAsync(int taskId, ScheduleTaskRequestDTO request);
    Task<bool> DeleteTaskAsync(int taskId);
    Task<bool> RunTaskAsync(int taskId);
    Task<List<TaskTypeDTO>> GetTaskTypesAsync();
    Task<List<TaskActionTypeDTO>> GetTaskActionTypesAsync();
}
