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
+5 -1
View File
@@ -78,4 +78,8 @@ public class RecentDocumentDto
public Guid Id { get; set; }
public string Title { get; set; } = string.Empty;
public DateTime UpdatedAt { get; set; }
}
}
public record ProjectListFilter(Guid UserId, string? Term, ProjectStatus? Status, string? CreatedBy, string? UpdatedBy);
public record MemberListFilter(string? Term, MemberRole? Role);
@@ -4,7 +4,7 @@ using mws.backend.dotnet.domain.Projects;
namespace mws.backend.dotnet.application.Projects;
public record GetProjectMembersQuery(Guid UserId, Guid ProjectId, int Page, int PageSize) : IRequest<PagedResult<ProjectMemberDto>>;
public record GetProjectMembersQuery(Guid UserId, Guid ProjectId, MemberListFilter Filter, int Page, int PageSize) : IRequest<PagedResult<ProjectMemberDto>>;
public class GetProjectMembersHandler(IUnitOfWork uow) : IRequestHandler<GetProjectMembersQuery, PagedResult<ProjectMemberDto>>
{
@@ -16,7 +16,7 @@ public class GetProjectMembersHandler(IUnitOfWork uow) : IRequestHandler<GetProj
throw new NotFoundException("Project not found");
}
var members = await uow.Projects.GetMembersWithUserAsync(query.ProjectId, query.Page, query.PageSize, ct);
var members = await uow.Projects.GetMembersWithUserAsync(query.ProjectId, query.Filter, query.Page, query.PageSize, ct);
var permissions = await uow.Projects.GetMemberPermissionsAsync(query.ProjectId, ProjectPermissionScreens.Documents, ct);
var items = members.Items.Select(m =>
+2 -2
View File
@@ -4,13 +4,13 @@ using mws.backend.dotnet.application.Common;
namespace mws.backend.dotnet.application.Projects;
public record GetProjectsQuery(Guid UserId, int Page, int PageSize) : IRequest<PagedResult<ProjectDto>>;
public record GetProjectsQuery(ProjectListFilter Filter, int Page, int PageSize) : IRequest<PagedResult<ProjectDto>>;
public class GetProjectsHandler(IUnitOfWork uow, IMapper mapper) : IRequestHandler<GetProjectsQuery, PagedResult<ProjectDto>>
{
public async Task<PagedResult<ProjectDto>> Handle(GetProjectsQuery query, CancellationToken ct)
{
var projects = await uow.Projects.GetForUserAsync(query.UserId, query.Page, query.PageSize, ct);
var projects = await uow.Projects.GetForUserAsync(query.Filter, query.Page, query.PageSize, ct);
return new PagedResult<ProjectDto>
{
Items = mapper.Map<List<ProjectDto>>(projects.Items),