feat: add Logs

This commit is contained in:
2026-09-20 16:21:15 +07:00
parent 637ca51f47
commit d3c3ecd5e6
62 changed files with 1577 additions and 66 deletions
+7 -1
View File
@@ -1,5 +1,6 @@
using AutoMapper;
using MediatR;
using mws.backend.dotnet.application.Audit;
using mws.backend.dotnet.application.Common;
using mws.backend.dotnet.domain.Tasks;
using TaskPriority = mws.backend.dotnet.domain.Tasks.TaskPriority;
@@ -7,7 +8,12 @@ using TaskStatus = mws.backend.dotnet.domain.Tasks.TaskStatus;
namespace mws.backend.dotnet.application.Tasks;
public record CreateTaskCommand(Guid UserId, Guid ProjectId, CreateTaskRequest Request) : IRequest<TaskDto>;
public record CreateTaskCommand(Guid UserId, Guid ProjectId, CreateTaskRequest Request) : IRequest<TaskDto>, IAuditableRequest
{
public string Action => "Task.Create";
public string EntityType => "Task";
public string? EntityName => Request.Title;
}
public class CreateTaskHandler(IUnitOfWork uow, IMapper mapper) : IRequestHandler<CreateTaskCommand, TaskDto>
{
+10 -2
View File
@@ -1,16 +1,24 @@
using MediatR;
using mws.backend.dotnet.application.Audit;
using mws.backend.dotnet.application.Common;
namespace mws.backend.dotnet.application.Tasks;
public record DeleteTaskCommand(Guid UserId, Guid TaskId) : IRequest;
public record DeleteTaskCommand(Guid UserId, Guid TaskId) : IRequest, IAuditableRequest
{
public string Action => "Task.Delete";
public string EntityType => "Task";
public Guid? EntityId => TaskId;
}
public class DeleteTaskHandler(IUnitOfWork uow) : IRequestHandler<DeleteTaskCommand>
public class DeleteTaskHandler(IUnitOfWork uow, IAuditContext auditContext) : IRequestHandler<DeleteTaskCommand>
{
public async Task Handle(DeleteTaskCommand command, CancellationToken ct)
{
var task = await TaskAccess.GetTaskForUserAsync(uow, command.UserId, command.TaskId, ct);
uow.Tasks.Remove(task);
await uow.SaveChangesAsync(ct);
auditContext.EntityName = task.Title;
}
}
+8 -1
View File
@@ -1,10 +1,17 @@
using AutoMapper;
using MediatR;
using mws.backend.dotnet.application.Audit;
using mws.backend.dotnet.application.Common;
namespace mws.backend.dotnet.application.Tasks;
public record UpdateTaskCommand(Guid UserId, Guid TaskId, UpdateTaskRequest Request) : IRequest<TaskDto>;
public record UpdateTaskCommand(Guid UserId, Guid TaskId, UpdateTaskRequest Request) : IRequest<TaskDto>, IAuditableRequest
{
public string Action => "Task.Update";
public string EntityType => "Task";
public Guid? EntityId => TaskId;
public string? EntityName => Request.Title;
}
public class UpdateTaskHandler(IUnitOfWork uow, IMapper mapper) : IRequestHandler<UpdateTaskCommand, TaskDto>
{
+3 -1
View File
@@ -1,3 +1,4 @@
using mws.backend.dotnet.application.Audit;
using mws.backend.dotnet.domain.Tasks;
using TaskPriority = mws.backend.dotnet.domain.Tasks.TaskPriority;
using TaskStatus = mws.backend.dotnet.domain.Tasks.TaskStatus;
@@ -24,9 +25,10 @@ public class UpdateTaskRequest
public DateTime? DueDate { get; set; }
}
public class TaskDto
public class TaskDto : IHasEntityId
{
public Guid Id { get; set; }
public Guid EntityId => Id;
public Guid ProjectId { get; set; }
public string Title { get; set; } = string.Empty;
public string? Description { get; set; }