using IWS5.Core.Enums;
using IWS5.Core.Models.Request;
using IWS5.Core.Models.Request.Process;
using IWS5.DatabaseAccess.IwsDataModels;

namespace IWS5.DatabaseAccess.Interfaces;

public interface IProcessRepository : IIWSRepository<AtprocessDefinition>
{
    Task<IReadOnlyCollection<AtprocessDefinition>> GetAllowedProcesses(string userName, bool latestVersionOnly = false);
    Task<ATRightAllowRight[]> ListProcessesAllowedRights(ListProcessAllowedRights request);
    Task<AtprocessDefinition> ListProcessesAllowedTemplates(ListProcessAllowedTemplatesRequest listProcessAllowedTemplatesRequest);
    Task<int> UpdateProcessDefaultTemplate(UpdateProcessDefaultTemplateRequest request);
}
