using IWS5.DatabaseAccess.IwsDataModels;

namespace IWS5.DatabaseAccess.Interfaces.IAdmin;

public interface IScheduleTaskRepository
{
    Task<List<AtscheduledTask>> ListByScheduleAsync(int scheduleId);
    Task<AtscheduledTask?> GetByIdAsync(int taskId);
    Task AddAsync(AtscheduledTask entity);
    Task UpdateAsync(AtscheduledTask entity);
    Task DeleteAsync(AtscheduledTask entity);
    Task<bool> RunTaskAsync(int taskId);

    Task<List<AttaskType>> ListTaskTypesAsync();
    Task<AttaskType?> GetTaskTypeByIdAsync(int taskTypeId);

    Task<List<AttaskActionType>> ListTaskActionTypesAsync();
    Task<AttaskActionType?> GetTaskActionTypeByIdAsync(int actionId);
}
