feat: add ci

This commit is contained in:
2026-09-13 18:02:09 +07:00
parent af34bc11f1
commit ed5146c73b
21 changed files with 186 additions and 2477 deletions
@@ -1,6 +1,7 @@
using Microsoft.EntityFrameworkCore;
using mws.backend.dotnet.application.Common;
using mws.backend.dotnet.application.Common.Repositories;
using mws.backend.dotnet.application.Users;
using mws.backend.dotnet.domain.Users;
namespace mws.backend.dotnet.infrastructure.Persistence.Repositories;
@@ -43,15 +44,20 @@ public class UserRepository(AppDbContext db) : RepositoryBase<User>(db), IUserRe
return query.ToListAsync(ct);
}
public Task<PagedResult<User>> SearchWithRolePagedAsync(string? term, int page, int pageSize, CancellationToken ct = default)
public Task<PagedResult<User>> SearchWithRolePagedAsync(UserListFilter filter, int page, int pageSize, CancellationToken ct = default)
{
var query = Set.Include(u => u.UserRoles).ThenInclude(ur => ur.Role).AsQueryable();
if (!string.IsNullOrWhiteSpace(term))
if (!string.IsNullOrWhiteSpace(filter.Term))
{
var lower = term.Trim().ToLower();
var lower = filter.Term.Trim().ToLower();
query = query.Where(u => u.Username.ToLower().Contains(lower) || u.DisplayName.ToLower().Contains(lower));
}
if (filter.IsActive is { } active)
{
query = query.Where(u => u.IsActive == active);
}
return query.OrderBy(u => u.DisplayName).ToPagedResultAsync(page, pageSize, ct);
}
}