Interface IUserProvider

Assembly: redb.Core.dll

Provider for user management.
Provides CRUD operations and business logic for working with users.

public interface IUserProvider

Methods

ChangePasswordAsync(IRedbUser, string, string, IRedbUser?)

Change user password.

Task<bool> ChangePasswordAsync(IRedbUser user, string currentPassword, string newPassword, IRedbUser? currentUser = null)

CreateUserAsync(CreateUserRequest, IRedbUser?)

Create new user.

Task<IRedbUser> CreateUserAsync(CreateUserRequest request, IRedbUser? currentUser = null)

DeleteUserAsync(IRedbUser, IRedbUser?)

Delete user (soft delete - deactivation).

Task<bool> DeleteUserAsync(IRedbUser user, IRedbUser? currentUser = null)

DisableUserAsync(IRedbUser, IRedbUser?)

Deactivate user.

Task<bool> DisableUserAsync(IRedbUser user, IRedbUser? currentUser = null)

EnableUserAsync(IRedbUser, IRedbUser?)

Activate user.

Task<bool> EnableUserAsync(IRedbUser user, IRedbUser? currentUser = null)

GetActiveUserCountAsync(DateTimeOffset, DateTimeOffset)

Get active user count for period.

Task<int> GetActiveUserCountAsync(DateTimeOffset fromDate, DateTimeOffset toDate)

GetUserByIdAsync(long)

Get user by ID.

Task<IRedbUser?> GetUserByIdAsync(long userId)

GetUserByLoginAsync(string)

Get user by login.

Task<IRedbUser?> GetUserByLoginAsync(string login)

GetUserConfigurationIdAsync(long)

Get user configuration ID.

Task<long?> GetUserConfigurationIdAsync(long userId)

GetUserCountAsync(bool)

Get user count.

Task<int> GetUserCountAsync(bool includeDisabled = false)

GetUserRolesAsync(long)

Get user roles.

Task<List<IRedbRole>> GetUserRolesAsync(long userId)

GetUsersAsync(UserSearchCriteria?)

Get list of users with filtering.

Task<List<IRedbUser>> GetUsersAsync(UserSearchCriteria? criteria = null)

IsLoginAvailableAsync(string, long?)

Check login availability.

Task<bool> IsLoginAvailableAsync(string login, long? excludeUserId = null)

LoadUserAsync(long)

Load user by ID (throws exception if not found).

Task<IRedbUser> LoadUserAsync(long userId)

LoadUserAsync(string)

Load user by login (throws exception if not found).

Task<IRedbUser> LoadUserAsync(string login)

SetPasswordAsync(IRedbUser, string, IRedbUser?)

Set new password for user (without checking old password).

Task<bool> SetPasswordAsync(IRedbUser user, string newPassword, IRedbUser? currentUser = null)

SetUserConfigurationAsync(long, long?)

Set user configuration.

Task SetUserConfigurationAsync(long userId, long? configId)

UpdateUserAsync(IRedbUser, UpdateUserRequest, IRedbUser?)

Update user data.

Task<IRedbUser> UpdateUserAsync(IRedbUser user, UpdateUserRequest request, IRedbUser? currentUser = null)

ValidateUserAsync(string, string)

Validate user login and password.

Task<IRedbUser?> ValidateUserAsync(string login, string password)

ValidateUserDataAsync(CreateUserRequest)

Validate user data correctness.

Task<UserValidationResult> ValidateUserDataAsync(CreateUserRequest request)