From e073d195fdec7f8bdb67e5e3dae522a0fd121ad2 Mon Sep 17 00:00:00 2001 From: Ibrahim <93064150+IbrahimCSAE@users.noreply.github.com> Date: Thu, 30 May 2024 11:11:08 -0400 Subject: [PATCH] fix(queryparam): set all query params to lowercase by default (#4190) --- platform/app/src/routes/DataSourceWrapper.tsx | 21 ++++++++++++------- platform/app/src/routes/WorkList/WorkList.tsx | 8 ++++++- 2 files changed, 20 insertions(+), 9 deletions(-) diff --git a/platform/app/src/routes/DataSourceWrapper.tsx b/platform/app/src/routes/DataSourceWrapper.tsx index 0ae2b698e..ebc38aa44 100644 --- a/platform/app/src/routes/DataSourceWrapper.tsx +++ b/platform/app/src/routes/DataSourceWrapper.tsx @@ -234,29 +234,34 @@ export default DataSourceWrapper; */ function _getQueryFilterValues(query, queryLimit) { query = new URLSearchParams(query); + const newParams = new URLSearchParams(); + for (const [key, value] of query) { + newParams.set(key.toLowerCase(), value); + } + query = newParams; - const pageNumber = _tryParseInt(query.get('pageNumber'), 1); - const resultsPerPage = _tryParseInt(query.get('resultsPerPage'), 25); + const pageNumber = _tryParseInt(query.get('pagenumber'), 1); + const resultsPerPage = _tryParseInt(query.get('resultsperpage'), 25); const queryFilterValues = { // DCM patientId: query.get('mrn'), - patientName: query.get('patientName'), + patientName: query.get('patientname'), studyDescription: query.get('description'), modalitiesInStudy: query.get('modalities') && query.get('modalities').split(','), accessionNumber: query.get('accession'), // - startDate: query.get('startDate'), - endDate: query.get('endDate'), + startDate: query.get('startdate'), + endDate: query.get('enddate'), page: _tryParseInt(query.get('page'), undefined), pageNumber, resultsPerPage, // Rarely supported server-side - sortBy: query.get('sortBy'), - sortDirection: query.get('sortDirection'), + sortBy: query.get('sortby'), + sortDirection: query.get('sortdirection'), // Offset... offset: Math.floor((pageNumber * resultsPerPage) / queryLimit) * (queryLimit - 1), - config: query.get('configUrl'), + config: query.get('configurl'), }; // patientName: good diff --git a/platform/app/src/routes/WorkList/WorkList.tsx b/platform/app/src/routes/WorkList/WorkList.tsx index 307c0b4e9..01c39509e 100644 --- a/platform/app/src/routes/WorkList/WorkList.tsx +++ b/platform/app/src/routes/WorkList/WorkList.tsx @@ -618,6 +618,12 @@ function _tryParseInt(str, defaultValue) { } function _getQueryFilterValues(params) { + const newParams = new URLSearchParams(); + for (const [key, value] of params) { + newParams.set(key.toLowerCase(), value); + } + params = newParams; + const queryFilterValues = { patientName: params.get('patientname'), mrn: params.get('mrn'), @@ -631,7 +637,7 @@ function _getQueryFilterValues(params) { sortBy: params.get('sortby'), sortDirection: params.get('sortdirection'), pageNumber: _tryParseInt(params.get('pagenumber'), undefined), - resultsPerPage: _tryParseInt(params.get('resultsPerPage'), undefined), + resultsPerPage: _tryParseInt(params.get('resultsperpage'), undefined), datasources: params.get('datasources'), configUrl: params.get('configurl'), };