namespace DotBased.AspNet.Authority.Repositories; public interface IUserRepository where TUser : class { public Task GetUserByIdAsync(string id); public Task GetUserIdAsync(TUser user); public Task GetUserByEmailAsync(string email); public Task SetVersionAsync(TUser user, long version); public Task GetVersionAsync(TUser user); public Task SetSecurityVersionAsync(TUser user, long version); public Task GetSecurityVersionAsync(TUser user); public Task CreateUserAsync(TUser user); public Task UpdateUserAsync(TUser user); public Task DeleteUserAsync(TUser user); }