using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using WorkFlowCheck.Common.DTO; namespace WorkFlowCheck.BL.Services.Interfaces { public interface IUserService { Task GetUserAsync(int Id); Task> GetAllUserAsync(); Task DeleteUserAsync(int Id); Task UpdateUserAsync(UserDTO userDTO); Task Authenticate(string UserName, string Password); Task Authenticate2F1(string UserName, string Password); Task Authenticate2F2(string UserName, string Password, string Code, string token2FA); Task Authenticate2F2ChangePassword(string UserName, string OldPassword, string NewPassword, string Code, string token2FA); Task AuthenticateNFC(string NFCCode); Task GetRoleAsync(int Id); Task> GetAllRoleAsync(); Task DeleteRoleAsync(int Id); Task UpdateRoleAsync(RoleDTO roleDTO); Task GetUserRoleAsync(int Id); Task> GetAllUserRoleAsync(); Task DeleteUserRoleAsync(int Id); Task UpdateUserRoleAsync(UserRoleDTO userRoleDTO); Task GetRoleCheckListTemplateHeaderAsync(int Id); Task> GetAllRoleCheckListTemplateHeadersAsync(); Task DeleteRoleCheckListTemplateHeaderAsync(int Id); Task UpdateRoleCheckListTemplateHeaderAsync(RoleCheckListTemplateHeaderDTO roleCheckListTemplateHeaderDTO); Task GetRoleCheckPointAsync(int Id); Task> GetAllRoleCheckPointsAsync(); Task DeleteRoleCheckPointAsync(int Id); Task UpdateRoleCheckPointAsync(RoleCheckPointDTO roleCheckPointDTO); string GenerateJwtToken(UserDTO userDTO); } }