using MediatR; namespace IamService.API.Application.Queries.AccessRequests; /// /// EN: Query to get access request by ID. /// VI: Query để lấy yêu cầu truy cập theo ID. /// public record GetAccessRequestByIdQuery(Guid Id) : IRequest; /// /// EN: Query to get my access requests. /// VI: Query để lấy yêu cầu truy cập của tôi. /// public record GetMyAccessRequestsQuery(Guid RequesterId) : IRequest>; /// /// EN: Query to get pending approvals for current user. /// VI: Query để lấy các yêu cầu đang chờ phê duyệt của user hiện tại. /// public record GetPendingApprovalsQuery(Guid ApproverId) : IRequest>; /// /// EN: Access request DTO. /// VI: DTO cho yêu cầu truy cập. /// public record AccessRequestDto( Guid Id, Guid RequesterId, string ResourceType, Guid ResourceId, string RequestedPermission, string? Justification, string Status, string Priority, DateTime CreatedAt, DateTime? SubmittedAt, DateTime? ResolvedAt, DateTime? ExpiresAt, IEnumerable Approvers); /// /// EN: Access request approver DTO. /// VI: DTO cho người phê duyệt yêu cầu truy cập. /// public record AccessRequestApproverDto( Guid Id, Guid UserId, int Order, string Status, DateTime? RespondedAt, string? Comments);