@@ -61,6 +61,11 @@ func (ss *StatisticService) StatisticData(statisticObject *model.StatisticObject
6161 logger .Debug ("inside of the array" , index )
6262 logger .Debug (query .Main )
6363
64+ if err := validateStatisticQueryEntry (query .Database , query .Retention , query .Main , query .Type ); err != nil {
65+ logger .Error ("Rejected statistic query parameters: " , err )
66+ return "" , err
67+ }
68+
6469 counterArray := []string {}
6570 for _ , el := range query .Type {
6671 meanEl := fmt .Sprintf ("mean(\" %s%s\" ) AS %s" , myPrefix , el , el )
@@ -135,6 +140,11 @@ func (ss *StatisticService) StatisticDataBaseList() (string, error) {
135140// StatisticData: this method create new user in the database
136141func (ss * StatisticService ) StatisticRetentionsList (statisticObject * model.StatisticSearchObject ) (string , error ) {
137142
143+ if err := validateInfluxDatabase (statisticObject .Param .Search .Database ); err != nil {
144+ logger .Error ("Rejected statistic database: " , err )
145+ return "" , err
146+ }
147+
138148 infQuery := fmt .Sprintf ("SHOW RETENTION POLICIES ON %s" , statisticObject .Param .Search .Database )
139149
140150 logger .Debug (infQuery )
@@ -168,6 +178,11 @@ func (ss *StatisticService) StatisticRetentionsList(statisticObject *model.Stati
168178// StatisticData: this method create new user in the database
169179func (ss * StatisticService ) StatisticMeasurementsList (dbId string ) (string , error ) {
170180
181+ if err := validateInfluxDatabase (dbId ); err != nil {
182+ logger .Error ("Rejected statistic database: " , err )
183+ return "" , err
184+ }
185+
171186 infQuery := fmt .Sprintf ("SHOW MEASUREMENTS ON %s" , dbId )
172187
173188 logger .Debug (infQuery )
@@ -201,6 +216,16 @@ func (ss *StatisticService) StatisticMeasurementsList(dbId string) (string, erro
201216// StatisticData: this method create new user in the database
202217func (ss * StatisticService ) StatisticMetricsList (statisticObject * model.StatisticObject ) (string , error ) {
203218
219+ if len (statisticObject .Param .Query ) == 0 {
220+ return "" , fmt .Errorf ("statistic query is required" )
221+ }
222+
223+ query := statisticObject .Param .Query [0 ]
224+ if err := validateStatisticQueryEntry (query .Database , query .Retention , query .Main , nil ); err != nil {
225+ logger .Error ("Rejected statistic query parameters: " , err )
226+ return "" , err
227+ }
228+
204229 var infQuery string
205230
206231 if statisticObject .Param .Query [0 ].Retention == "" || statisticObject .Param .Query [0 ].Retention == "none" {
@@ -239,6 +264,16 @@ func (ss *StatisticService) StatisticMetricsList(statisticObject *model.Statisti
239264// StatisticData: this method create new user in the database
240265func (ss * StatisticService ) StatisticTagsList (statisticObject * model.StatisticObject ) (string , error ) {
241266
267+ if len (statisticObject .Param .Query ) == 0 {
268+ return "" , fmt .Errorf ("statistic query is required" )
269+ }
270+
271+ query := statisticObject .Param .Query [0 ]
272+ if err := validateStatisticQueryEntry (query .Database , query .Retention , query .Main , nil ); err != nil {
273+ logger .Error ("Rejected statistic query parameters: " , err )
274+ return "" , err
275+ }
276+
242277 var infQuery string
243278
244279 if statisticObject .Param .Query [0 ].Retention == "" || statisticObject .Param .Query [0 ].Retention == "none" {
0 commit comments