@@ -363,6 +363,7 @@ describe('MoveQueue', () => {
expect(screen.getByTestId('closeout-tab-link')).toBeInTheDocument();
expect(screen.getByTestId('search-tab-link')).toBeInTheDocument();
expect(screen.getByText('Task Order Queue', { selector: 'span' })).toBeInTheDocument();
+ expect(screen.getByText('Destination Requests Queue', { selector: 'span' })).toBeInTheDocument();
expect(screen.getByText('Search', { selector: 'span' })).toBeInTheDocument();
});
it('renders TableQueue when Search tab is selected', () => {
diff --git a/src/pages/Office/ServicesCounselingQueue/ServicesCounselingQueue.jsx b/src/pages/Office/ServicesCounselingQueue/ServicesCounselingQueue.jsx
index 3ea15da0f27..be1c4ec9e4c 100644
--- a/src/pages/Office/ServicesCounselingQueue/ServicesCounselingQueue.jsx
+++ b/src/pages/Office/ServicesCounselingQueue/ServicesCounselingQueue.jsx
@@ -615,7 +615,7 @@ const ServicesCounselingQueue = ({
return ;
};
- if (queueType === 'Search') {
+ if (queueType === generalRoutes.QUEUE_SEARCH_PATH) {
return (
{renderNavBar()}
diff --git a/src/services/ghcApi.js b/src/services/ghcApi.js
index b05441939fc..c600b531a72 100644
--- a/src/services/ghcApi.js
+++ b/src/services/ghcApi.js
@@ -643,6 +643,22 @@ export async function getMovesQueue(
);
}
+export async function getDestinationRequestsQueue(
+ key,
+ { sort, order, filters = [], currentPage = 1, currentPageSize = 20, viewAsGBLOC },
+) {
+ const operationPath = 'queues.getDestinationRequestsQueue';
+ const paramFilters = {};
+ filters.forEach((filter) => {
+ paramFilters[`${filter.id}`] = filter.value;
+ });
+ return makeGHCRequest(
+ operationPath,
+ { sort, order, page: currentPage, perPage: currentPageSize, viewAsGBLOC, ...paramFilters },
+ { schemaKey: 'queueMovesResult', normalize: false },
+ );
+}
+
export async function getServicesCounselingQueue(
key,
{
diff --git a/swagger-def/ghc.yaml b/swagger-def/ghc.yaml
index abb47f8b06f..faf1e7b44af 100644
--- a/swagger-def/ghc.yaml
+++ b/swagger-def/ghc.yaml
@@ -3784,11 +3784,116 @@ paths:
"200":
description: Successfully returned all moves matching the criteria
schema:
- $ref: "#/definitions/QueueMovesResult"
- "403":
- $ref: "#/responses/PermissionDenied"
- "500":
- $ref: "#/responses/ServerError"
+ $ref: '#/definitions/QueueMovesResult'
+ '403':
+ $ref: '#/responses/PermissionDenied'
+ '500':
+ $ref: '#/responses/ServerError'
+ /queues/destination-requests:
+ get:
+ produces:
+ - application/json
+ summary: Gets queued list of all customer moves by GBLOC that have both CONUS & OCONUS destination requests (destination SIT, destination shuttle, address requests)
+ description: >
+ A TOO will view this queue when they have destination requests tied to their GBLOC. This includes unapproved destination SIT service items, destination shuttle service items and destination address requests that are not yet approved by the TOO.
+ operationId: getDestinationRequestsQueue
+ tags:
+ - queues
+ parameters:
+ - in: query
+ name: page
+ type: integer
+ description: requested page of results
+ - in: query
+ name: perPage
+ type: integer
+ description: results per page
+ - in: query
+ name: sort
+ type: string
+ enum:
+ [
+ customerName,
+ edipi,
+ emplid,
+ branch,
+ locator,
+ status,
+ originDutyLocation,
+ destinationDutyLocation,
+ requestedMoveDate,
+ appearedInTooAt,
+ assignedTo,
+ counselingOffice,
+ ]
+ description: field that results should be sorted by
+ - in: query
+ name: order
+ type: string
+ enum: [asc, desc]
+ description: direction of sort order if applied
+ - in: query
+ name: branch
+ type: string
+ - in: query
+ name: locator
+ type: string
+ - in: query
+ name: customerName
+ type: string
+ - in: query
+ name: edipi
+ type: string
+ - in: query
+ name: emplid
+ type: string
+ - in: query
+ name: originDutyLocation
+ type: array
+ uniqueItems: true
+ collectionFormat: multi
+ items:
+ type: string
+ - in: query
+ name: destinationDutyLocation
+ type: string
+ - in: query
+ name: appearedInTooAt
+ type: string
+ format: date-time
+ - in: query
+ name: requestedMoveDate
+ type: string
+ description: filters the requested pickup date of a shipment on the move
+ - in: query
+ name: status
+ type: array
+ description: Filtering for the status.
+ uniqueItems: true
+ items:
+ type: string
+ enum:
+ - SUBMITTED
+ - SERVICE COUNSELING COMPLETED
+ - APPROVALS REQUESTED
+ - in: query
+ name: assignedTo
+ type: string
+ description: |
+ Used to illustrate which user is assigned to this move.
+ - in: query
+ name: counselingOffice
+ type: string
+ description: filters using a counselingOffice name of the move
+ responses:
+ '200':
+ description: Successfully returned all moves matching the criteria
+ schema:
+ $ref: '#/definitions/QueueMovesResult'
+ '403':
+ $ref: '#/responses/PermissionDenied'
+ '500':
+ $ref: '#/responses/ServerError'
/queues/payment-requests:
get:
produces:
diff --git a/swagger/ghc.yaml b/swagger/ghc.yaml
index 870a8832ffe..e6b1d27b36e 100644
--- a/swagger/ghc.yaml
+++ b/swagger/ghc.yaml
@@ -3947,6 +3947,117 @@ paths:
$ref: '#/responses/PermissionDenied'
'500':
$ref: '#/responses/ServerError'
+ /queues/destination-requests:
+ get:
+ produces:
+ - application/json
+ summary: >-
+ Gets queued list of all customer moves by GBLOC that have both CONUS &
+ OCONUS destination requests (destination SIT, destination shuttle,
+ address requests)
+ description: >
+ A TOO will view this queue when they have destination requests tied to
+ their GBLOC. This includes unapproved destination SIT service items,
+ destination shuttle service items and destination address requests that
+ are not yet approved by the TOO.
+ operationId: getDestinationRequestsQueue
+ tags:
+ - queues
+ parameters:
+ - in: query
+ name: page
+ type: integer
+ description: requested page of results
+ - in: query
+ name: perPage
+ type: integer
+ description: results per page
+ - in: query
+ name: sort
+ type: string
+ enum:
+ - customerName
+ - edipi
+ - emplid
+ - branch
+ - locator
+ - status
+ - originDutyLocation
+ - destinationDutyLocation
+ - requestedMoveDate
+ - appearedInTooAt
+ - assignedTo
+ - counselingOffice
+ description: field that results should be sorted by
+ - in: query
+ name: order
+ type: string
+ enum:
+ - asc
+ - desc
+ description: direction of sort order if applied
+ - in: query
+ name: branch
+ type: string
+ - in: query
+ name: locator
+ type: string
+ - in: query
+ name: customerName
+ type: string
+ - in: query
+ name: edipi
+ type: string
+ - in: query
+ name: emplid
+ type: string
+ - in: query
+ name: originDutyLocation
+ type: array
+ uniqueItems: true
+ collectionFormat: multi
+ items:
+ type: string
+ - in: query
+ name: destinationDutyLocation
+ type: string
+ - in: query
+ name: appearedInTooAt
+ type: string
+ format: date-time
+ - in: query
+ name: requestedMoveDate
+ type: string
+ description: filters the requested pickup date of a shipment on the move
+ - in: query
+ name: status
+ type: array
+ description: Filtering for the status.
+ uniqueItems: true
+ items:
+ type: string
+ enum:
+ - SUBMITTED
+ - SERVICE COUNSELING COMPLETED
+ - APPROVALS REQUESTED
+ - in: query
+ name: assignedTo
+ type: string
+ description: |
+ Used to illustrate which user is assigned to this move.
+ - in: query
+ name: counselingOffice
+ type: string
+ description: filters using a counselingOffice name of the move
+ responses:
+ '200':
+ description: Successfully returned all moves matching the criteria
+ schema:
+ $ref: '#/definitions/QueueMovesResult'
+ '403':
+ $ref: '#/responses/PermissionDenied'
+ '500':
+ $ref: '#/responses/ServerError'
/queues/payment-requests:
get:
produces: