using DotBased.AspNet.Authority.Models.Authority; namespace DotBased.AspNet.Authority.Repositories; public interface IUserRepository { public Task> GetAuthorityUsersAsync(int limit = 20, int offset = 0, string search = "", CancellationToken? cancellationToken = null); public Task> GetAuthorityUserByIdAsync(string id, CancellationToken? cancellationToken = null); public Task> CreateUserAsync(AuthorityUser user, CancellationToken? cancellationToken = null); public Task> UpdateUserAsync(AuthorityUser user, CancellationToken? cancellationToken = null); public Task DeleteUserAsync(AuthorityUser user, CancellationToken? cancellationToken = null); public Task> GetAuthorityUserByEmailAsync(string email, CancellationToken? cancellationToken = null); public Task SetVersionAsync(AuthorityUser user, long version, CancellationToken? cancellationToken = null); public Task> GetVersionAsync(AuthorityUser user, CancellationToken? cancellationToken = null); public Task SetSecurityVersionAsync(AuthorityUser user, long version, CancellationToken? cancellationToken = null); public Task> GetSecurityVersionAsync(AuthorityUser user, CancellationToken? cancellationToken = null); }