namespace Distribution.Features.User; public interface IUserRepository { Task GetByIdAsync(Guid id); Task GetByUsernameAsync(string username); Task> GetAllAsync(); Task AddAsync(Models.User entity); void Update(Models.User entity); void Remove(Models.User entity); Task> GetRegionScopesAsync(Guid userId); Task> GetRouteScopesAsync(Guid userId); Task> GetStoreScopesAsync(Guid userId); Task ReplaceRegionScopesAsync(Guid userId, IEnumerable regionIds); Task ReplaceRouteScopesAsync(Guid userId, IEnumerable routeIds); Task ReplaceStoreScopesAsync(Guid userId, IEnumerable storeIds); }