Do Pagination missing sortBy and sortDirection parameters
This commit is contained in:
@@ -124,13 +124,15 @@ public class DigitizationBatchesController : ControllerBase
|
||||
[FromQuery] Guid? assignedTo,
|
||||
[FromQuery] string? track,
|
||||
[FromQuery] int page = 1,
|
||||
[FromQuery] int pageSize = 20)
|
||||
[FromQuery] int pageSize = 20,
|
||||
[FromQuery] string sortBy = "createdAt",
|
||||
[FromQuery] string sortDirection = "desc")
|
||||
{
|
||||
BatchStatus? parsedStatus = string.IsNullOrEmpty(status) ? null : BatchStatusExtensions.FromDbString(status.ToUpperInvariant());
|
||||
BatchType? parsedBatchType = string.IsNullOrEmpty(batchType) ? null : BatchTypeExtensions.FromDbString(batchType.ToUpperInvariant());
|
||||
BatchTrack? parsedTrack = string.IsNullOrEmpty(track) ? null : BatchTrackExtensions.FromDbString(track.ToUpperInvariant());
|
||||
|
||||
var result = await _batches.ListAsync(parsedStatus, parsedBatchType, assignedTo, parsedTrack, page, pageSize);
|
||||
var result = await _batches.ListAsync(parsedStatus, parsedBatchType, assignedTo, parsedTrack, page, pageSize, sortBy, sortDirection);
|
||||
return Ok(ApiResponse<BatchListResponse>.Ok(new BatchListResponse(
|
||||
result.Items.Select(b => BatchDetailResponse.FromEntity(b)).ToList(),
|
||||
result.Page,
|
||||
@@ -154,6 +156,23 @@ public class DigitizationBatchesController : ControllerBase
|
||||
return Ok(ApiResponse<BatchDetailResponse>.Ok(BatchDetailResponse.FromEntity(batch)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Cancels a batch permanently. Only batches in UPLOADED, IN_ENTRY, or REJECTED
|
||||
/// status can be cancelled. Admin only.
|
||||
/// </summary>
|
||||
[HttpPost("{id:guid}/cancel")]
|
||||
[Authorize(Roles = "ADMINISTRATOR")]
|
||||
[ProducesResponseType(typeof(ApiResponse<BatchDetailResponse>), StatusCodes.Status200OK)]
|
||||
[ProducesResponseType(typeof(ApiResponse<object>), StatusCodes.Status404NotFound)]
|
||||
[ProducesResponseType(typeof(ApiResponse<object>), StatusCodes.Status409Conflict)]
|
||||
[ProducesResponseType(typeof(ApiResponse<object>), StatusCodes.Status422UnprocessableEntity)]
|
||||
public async Task<IActionResult> Cancel(Guid id, [FromBody] CancelBatchRequest req)
|
||||
{
|
||||
var actorUserId = Guid.Parse(User.FindFirstValue(ClaimTypes.NameIdentifier)!);
|
||||
var batch = await _batches.CancelAsync(id, req.Reason, actorUserId);
|
||||
return Ok(ApiResponse<BatchDetailResponse>.Ok(BatchDetailResponse.FromEntity(batch)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Promotes an approved batch to live clinical data. For correction batches,
|
||||
/// marks the original batch's live observations as superseded (append-only).
|
||||
|
||||
@@ -29,9 +29,11 @@ public class WorkQueueController : ControllerBase
|
||||
[ProducesResponseType(typeof(ApiResponse<WorkQueueResponse>), StatusCodes.Status200OK)]
|
||||
public async Task<IActionResult> GetVerificationQueue(
|
||||
[FromQuery] int page = 1,
|
||||
[FromQuery] int pageSize = 20)
|
||||
[FromQuery] int pageSize = 20,
|
||||
[FromQuery] string sortBy = "updatedAt",
|
||||
[FromQuery] string sortDirection = "asc")
|
||||
{
|
||||
var result = await _workQueue.GetVerificationQueueAsync(page, pageSize);
|
||||
var result = await _workQueue.GetVerificationQueueAsync(page, pageSize, sortBy, sortDirection);
|
||||
return Ok(ApiResponse<WorkQueueResponse>.Ok(result));
|
||||
}
|
||||
|
||||
@@ -46,9 +48,11 @@ public class WorkQueueController : ControllerBase
|
||||
[ProducesResponseType(typeof(ApiResponse<WorkQueueResponse>), StatusCodes.Status200OK)]
|
||||
public async Task<IActionResult> GetEntryQueue(
|
||||
[FromQuery] int page = 1,
|
||||
[FromQuery] int pageSize = 20)
|
||||
[FromQuery] int pageSize = 20,
|
||||
[FromQuery] string sortBy = "updatedAt",
|
||||
[FromQuery] string sortDirection = "asc")
|
||||
{
|
||||
var result = await _workQueue.GetEntryQueueAsync(page, pageSize);
|
||||
var result = await _workQueue.GetEntryQueueAsync(page, pageSize, sortBy, sortDirection);
|
||||
return Ok(ApiResponse<WorkQueueResponse>.Ok(result));
|
||||
}
|
||||
|
||||
@@ -63,9 +67,11 @@ public class WorkQueueController : ControllerBase
|
||||
[ProducesResponseType(typeof(ApiResponse<WorkQueueResponse>), StatusCodes.Status200OK)]
|
||||
public async Task<IActionResult> GetClinicalApprovalQueue(
|
||||
[FromQuery] int page = 1,
|
||||
[FromQuery] int pageSize = 20)
|
||||
[FromQuery] int pageSize = 20,
|
||||
[FromQuery] string sortBy = "updatedAt",
|
||||
[FromQuery] string sortDirection = "asc")
|
||||
{
|
||||
var result = await _workQueue.GetClinicalApprovalQueueAsync(page, pageSize);
|
||||
var result = await _workQueue.GetClinicalApprovalQueueAsync(page, pageSize, sortBy, sortDirection);
|
||||
return Ok(ApiResponse<WorkQueueResponse>.Ok(result));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user