@@ -107,6 +107,9 @@ type queryRequest struct {
107107 SQL string `json:"sql"`
108108 Endpoint string `json:"endpoint,omitempty"`
109109 BearerToken string `json:"bearerToken,omitempty"`
110+ Start string `json:"start,omitempty"`
111+ End string `json:"end,omitempty"`
112+ ExecMode string `json:"execMode,omitempty"`
110113}
111114
112115type queryResponse struct {
@@ -135,6 +138,13 @@ func (s *Server) handleQuery(w http.ResponseWriter, r *http.Request) {
135138 writeJSON (w , http .StatusBadRequest , queryResponse {Error : "sql query is required" })
136139 return
137140 }
141+ execMode := strings .TrimSpace (strings .ToLower (req .ExecMode ))
142+ if execMode != "" && execMode != "translate" && execMode != "query" {
143+ writeJSON (w , http .StatusBadRequest , queryResponse {Error : "invalid execMode: possible values are translate and query" })
144+ return
145+ }
146+ start := strings .TrimSpace (req .Start )
147+ end := strings .TrimSpace (req .End )
138148
139149 statement , err := processQuery (sqlText , s .sp )
140150 if err != nil {
@@ -158,9 +168,14 @@ func (s *Server) handleQuery(w http.ResponseWriter, r *http.Request) {
158168 }
159169
160170 resp := queryResponse {LogsQL : statement .LogsQL }
161- data , err := s .api .Execute (r .Context (), statement , vlogs.EndpointConfig {
162- Endpoint : req .Endpoint ,
163- BearerToken : req .BearerToken ,
171+ data , err := s .api .Execute (r .Context (), statement , vlogs.RequestParams {
172+ EndpointConfig : vlogs.EndpointConfig {
173+ Endpoint : req .Endpoint ,
174+ BearerToken : req .BearerToken ,
175+ },
176+ Start : start ,
177+ End : end ,
178+ ExecMode : execMode ,
164179 })
165180 if err != nil {
166181 log .Printf ("ERROR: query execution failed: %v" , err )
0 commit comments