using DotBased.AspNet.Authority.Models; using DotBased.AspNet.Authority.Models.Authority; namespace DotBased.AspNet.Authority.Repositories; public interface IUserRepository { public Task> GetUsersAsync(int limit = 20, int offset = 0, string search = "", CancellationToken cancellationToken = default); public Task GetUserByIdAsync(Guid id, CancellationToken cancellationToken = default); public Task CreateUserAsync(AuthorityUser user, CancellationToken cancellationToken = default); public Task UpdateUserAsync(AuthorityUser user, CancellationToken cancellationToken = default); public Task DeleteUsersAsync(List users, CancellationToken cancellationToken = default); public Task GetUserByEmailAsync(string email, CancellationToken cancellationToken = default); public Task SetVersionAsync(AuthorityUser user, long version, CancellationToken cancellationToken = default); public Task GetVersionAsync(AuthorityUser user, CancellationToken cancellationToken = default); public Task SetSecurityVersionAsync(AuthorityUser user, long securityVersion, CancellationToken cancellationToken = default); public Task GetSecurityVersionAsync(AuthorityUser user, CancellationToken cancellationToken = default); }