#pragma warning disable 8625 using PrivaPub.ClientModels; using PrivaPub.ClientModels.User; namespace PrivaPub.Services { public interface IRootUsersService { Task LoginAsync(LoginForm loginForm); Task SignUpAsync(LoginForm signUpForm); Task BanUserAsync(UsersIds usersIds); Task UnbanUserAsync(UsersIds usersIds); Task RemoveUserAsync(UsersIds usersIds); Task RemoveSelfAsync(string rootId, string password); Task UpdateUserPasswordAsync(UserPasswordForm userPasswordForm, string userId); Task GetUserSettingsAsync(string userId, LoginForm loginForm = default); Task UpdateUserSettingsAsync(ViewUserSettings userSettings, string userId); Task SetupAndSendRecoveryEmail(PasswordRecoveryForm passwordRecoveryForm, string host); Task IsValidRecoveryCode(string recoveryCode); Task ChangePassword(NewPasswordForm newPasswordForm); Task AccountAsync(string rootId); Task RequestEmailChangeAsync(string rootId, EmailChangeForm form); Task VerifyEmailAsync(string rootId, string code); Task RemoveEmailAsync(string rootId, string password); } }