- 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.
53 lines
1.5 KiB
C#
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);
|