using Microsoft.AspNetCore.Http; using MTWorkHR.Application.Models; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace MTWorkHR.Application.Identity { public interface IUserService { Task<PagingResultDto<UserAllDto>> GetAll(UserPagingInputDto PagingInputDto); Task<UserDto> GetById(string userId); Task<UserDto> GetByEmail(string email); Task<UserDto> GetById(); Task<List<UserDto>> GetAllEmployees(); Task<UserDto> GetUserById(string id); Task<string> GetUserFullName(string userId); Task Delete(string id); Task<UserDto> Create(UserDto input); Task<UserUpdateDto> Update(UserUpdateDto input); Task<ForgetPasswordResponseDto> ForgetPasswordMail(string input); Task<bool> ResetPassword(ResetPasswordDto input); Task<bool> ForgetPassword(ForgetPasswordDto model); Task<bool> ConfirmEmail(ConfirmEmailDto model); Task<bool> IsExpiredToken(ConfirmEmailDto model); Task<bool> VerifyOTP(VerifyOTPDto input); Task<List<UserAllDto>> GetAllCompanyEmployees(); Task<BlobObject> Download(string filePath); Task<UserDto> GetUserWithAttachmentById(string id); Task<string> GetProfileImage(string userId); Task<bool> Update(string userId, long companyId); Task Suspend(string id); Task<bool> UnAssignCompanyEmployees(long companyId); } }