mirror of
https://github.com/Govor-team/Govor.git
synced 2026-07-21 19:54:55 +00:00
Working on the UserRepository functionality
+ Tests + QueryableExtensions. It is an add-on that allows you to implement exceptions if the returned List would be empty.
This commit is contained in:
@@ -10,4 +10,8 @@
|
||||
<Folder Include="DTOs\" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.6" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
|
||||
@@ -0,0 +1,13 @@
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
|
||||
namespace Govor.Core.Infrastructure.Extensions;
|
||||
|
||||
public static class QueryableExtensions
|
||||
{
|
||||
public static async Task<List<T>> ToListOrThrowIfEmpty<T>(this IQueryable<T> query, Exception ex)
|
||||
{
|
||||
var list = await query.ToListAsync();
|
||||
if (list.Count == 0) throw ex;
|
||||
return list;
|
||||
}
|
||||
}
|
||||
@@ -6,9 +6,8 @@ public interface IUsersReader
|
||||
{
|
||||
public Task<IEnumerable<User>> GetAll();
|
||||
public Task<User> FindById(Guid id);
|
||||
public Task<IEnumerable<User>> FindByRangeId(IEnumerable<Guid> ids);
|
||||
public Task<User> FindByUsername(string username);
|
||||
public Task<IEnumerable<User>> FindByRangeUsername(IEnumerable<string> usernames);
|
||||
|
||||
public Task<IEnumerable<User>> FindUsersByCreatedDate(DateOnly createdDate);
|
||||
public Task<List<User>> FindByRangeId(IEnumerable<Guid> ids);
|
||||
public Task<List<User>> FindUsersByName(string username);
|
||||
public Task<List<User>> FindByRangeUsername(IEnumerable<string> usernames);
|
||||
public Task<List<User>> FindUsersByCreatedDate(DateOnly createdDate);
|
||||
}
|
||||
Reference in New Issue
Block a user