fix(queryparam): set all query params to lowercase by default (#4190)

This commit is contained in:
Ibrahim 2024-05-30 11:11:08 -04:00 committed by GitHub
parent 4ce7831ea7
commit e073d195fd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 20 additions and 9 deletions

View File

@ -234,29 +234,34 @@ export default DataSourceWrapper;
*/ */
function _getQueryFilterValues(query, queryLimit) { function _getQueryFilterValues(query, queryLimit) {
query = new URLSearchParams(query); 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 pageNumber = _tryParseInt(query.get('pagenumber'), 1);
const resultsPerPage = _tryParseInt(query.get('resultsPerPage'), 25); const resultsPerPage = _tryParseInt(query.get('resultsperpage'), 25);
const queryFilterValues = { const queryFilterValues = {
// DCM // DCM
patientId: query.get('mrn'), patientId: query.get('mrn'),
patientName: query.get('patientName'), patientName: query.get('patientname'),
studyDescription: query.get('description'), studyDescription: query.get('description'),
modalitiesInStudy: query.get('modalities') && query.get('modalities').split(','), modalitiesInStudy: query.get('modalities') && query.get('modalities').split(','),
accessionNumber: query.get('accession'), accessionNumber: query.get('accession'),
// //
startDate: query.get('startDate'), startDate: query.get('startdate'),
endDate: query.get('endDate'), endDate: query.get('enddate'),
page: _tryParseInt(query.get('page'), undefined), page: _tryParseInt(query.get('page'), undefined),
pageNumber, pageNumber,
resultsPerPage, resultsPerPage,
// Rarely supported server-side // Rarely supported server-side
sortBy: query.get('sortBy'), sortBy: query.get('sortby'),
sortDirection: query.get('sortDirection'), sortDirection: query.get('sortdirection'),
// Offset... // Offset...
offset: Math.floor((pageNumber * resultsPerPage) / queryLimit) * (queryLimit - 1), offset: Math.floor((pageNumber * resultsPerPage) / queryLimit) * (queryLimit - 1),
config: query.get('configUrl'), config: query.get('configurl'),
}; };
// patientName: good // patientName: good

View File

@ -618,6 +618,12 @@ function _tryParseInt(str, defaultValue) {
} }
function _getQueryFilterValues(params) { function _getQueryFilterValues(params) {
const newParams = new URLSearchParams();
for (const [key, value] of params) {
newParams.set(key.toLowerCase(), value);
}
params = newParams;
const queryFilterValues = { const queryFilterValues = {
patientName: params.get('patientname'), patientName: params.get('patientname'),
mrn: params.get('mrn'), mrn: params.get('mrn'),
@ -631,7 +637,7 @@ function _getQueryFilterValues(params) {
sortBy: params.get('sortby'), sortBy: params.get('sortby'),
sortDirection: params.get('sortdirection'), sortDirection: params.get('sortdirection'),
pageNumber: _tryParseInt(params.get('pagenumber'), undefined), pageNumber: _tryParseInt(params.get('pagenumber'), undefined),
resultsPerPage: _tryParseInt(params.get('resultsPerPage'), undefined), resultsPerPage: _tryParseInt(params.get('resultsperpage'), undefined),
datasources: params.get('datasources'), datasources: params.get('datasources'),
configUrl: params.get('configurl'), configUrl: params.get('configurl'),
}; };