using System; using System.Collections.Generic; using System.Threading.Tasks; using IRaCIS.Application.ViewModels; using IRaCIS.Core.Application.Contracts.RequestAndResponse; namespace IRaCIS.Application.Interfaces { public interface IUserService { Task SendVerificationCode(string emailOrPhone, int verificationType,bool isReviewer=false); IResponseOutput SetNewPassword(string emailOrPhone, int verificationType, string verificationCode, string newPwd,bool isReviewer); IResponseOutput Login(string userName, string password); IResponseOutput VerifySignature(string userName, string password); IEnumerable GetAllUser(); PageOutput GetUserList(UserListQueryDTO userQueryModel); IResponseOutput UpdateUserState(Guid userId, int state); UserDetailDTO GetUserById(Guid id); IResponseOutput AddUser(UserCommand userAddModel, Guid userId); IResponseOutput UpdateUser(UserCommand userUpdateModel, Guid userId); IResponseOutput ResetPassword(Guid userId); List GetUserRolesById(Guid userId); int GetUserRoleMaxPrivilegeLevel(Guid userId); IResponseOutput ModifyPassword(EditPasswordCommand editPwModel); } }