Files
pos-system/services/iam-service-net/src/IamService.API/Application/Queries/AccessRequests/AccessRequestQueries.cs
Ho Ngoc Hai c041f3f7b2 feat: Add Access Request functionality to IAM Service
- Introduced new Access Request and Access Request Approver entities in the DbContext to support access management features.
- Updated Dependency Injection to include the AccessRequestRepository, enhancing the service's capabilities for handling access requests.
- Added example curl command for token retrieval using the test account, improving developer experience for testing authentication flows.
2026-01-14 15:51:16 +07:00

53 lines
1.5 KiB
C#

using MediatR;
namespace IamService.API.Application.Queries.AccessRequests;
/// <summary>
/// EN: Query to get access request by ID.
/// VI: Query để lấy yêu cầu truy cập theo ID.
/// </summary>
public record GetAccessRequestByIdQuery(Guid Id) : IRequest<AccessRequestDto?>;
/// <summary>
/// EN: Query to get my access requests.
/// VI: Query để lấy yêu cầu truy cập của tôi.
/// </summary>
public record GetMyAccessRequestsQuery(Guid RequesterId) : IRequest<IEnumerable<AccessRequestDto>>;
/// <summary>
/// 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.
/// </summary>
public record GetPendingApprovalsQuery(Guid ApproverId) : IRequest<IEnumerable<AccessRequestDto>>;
/// <summary>
/// EN: Access request DTO.
/// VI: DTO cho yêu cầu truy cập.
/// </summary>
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<AccessRequestApproverDto> Approvers);
/// <summary>
/// EN: Access request approver DTO.
/// VI: DTO cho người phê duyệt yêu cầu truy cập.
/// </summary>
public record AccessRequestApproverDto(
Guid Id,
Guid UserId,
int Order,
string Status,
DateTime? RespondedAt,
string? Comments);