@@ -137,7 +137,8 @@ function getParameter(item) {
137137 oneOf : [
138138 'sourceKey' ,
139139 'limit' ,
140- 'queryId'
140+ 'queryId' ,
141+ 'queryName'
141142 ] ,
142143 startWith : [
143144 'param_number_' ,
@@ -187,12 +188,14 @@ function validateTemplateFieldsParams(query) {
187188 * @returns {boolean|void }
188189 */
189190function validateGlobalQueryParams ( params ) {
190- if ( params . queryId === undefined ) {
191- return handleError ( { body : { message : 'Missing URL parameter “query_id”' } } ) ;
192- } else if ( ! Number . isInteger ( + params . queryId ) ) {
193- return handleError ( { body : { message : 'URL parameter “query_id” must be a number' } } ) ;
191+ if ( params . queryId === undefined && params . queryName === undefined ) {
192+ return handleError ( { body : { message : 'Missing URL parameter: a “queryId” (number) or a “queryName” (string) is mandatory' } } ) ;
193+ } else if ( params . queryId !== undefined && params . queryName !== undefined ) {
194+ return handleError ( { body : { message : 'Only one query parameter is allowed: impossible to use “queryId” and “queryName” at the same moment' } } ) ;
195+ } else if ( params . queryId !== undefined && ! Number . isInteger ( + params . queryId ) ) {
196+ return handleError ( { body : { message : 'URL parameter “queryId” must be a number' } } ) ;
194197 } else if ( params . sourceKey === undefined ) {
195- return handleError ( { body : { message : 'Missing URL parameter “source_key ” (must be a string)' } } ) ;
198+ return handleError ( { body : { message : 'Missing URL parameter “sourceKey ” (must be a string)' } } ) ;
196199 }
197200 return true ;
198201}
@@ -682,14 +685,26 @@ function escapeDotCharacters(value) {
682685 */
683686async function getQuery ( ) {
684687 try {
685- return await makeRequest (
686- 'POST' ,
687- `api/getQuery` ,
688- {
689- id : queryParams . global . queryId ,
690- sourceKey : queryParams . global . sourceKey
691- }
692- ) ;
688+ if ( queryParams . global . queryId !== undefined ) {
689+ return await makeRequest (
690+ 'POST' ,
691+ `api/getQuery` ,
692+ {
693+ id : queryParams . global . queryId ,
694+ sourceKey : queryParams . global . sourceKey
695+ }
696+ ) ;
697+ } else {
698+ return await makeRequest (
699+ 'POST' ,
700+ `api/getQueryByName` ,
701+ {
702+ name : queryParams . global . queryName ,
703+ sourceKey : queryParams . global . sourceKey
704+ }
705+ ) ;
706+ }
707+
693708 } catch ( e ) {
694709 handleError ( e ) ;
695710 }
0 commit comments