MCPcopy Index your code
hub / github.com/simstudioai/sim / queryToApiParams

Function queryToApiParams

apps/sim/lib/logs/query-parser.ts:144–303  ·  view source on GitHub ↗
(parsedQuery: ParsedQuery)

Source from the content-addressed store, hash-verified

142 * Convert parsed query back to URL parameters for the logs API
143 */
144export function queryToApiParams(parsedQuery: ParsedQuery): Record<string, string> {
145 const params: Record<string, string> = {}
146
147 if (parsedQuery.textSearch) {
148 params.search = parsedQuery.textSearch
149 }
150
151 for (const filter of parsedQuery.filters) {
152 switch (filter.field) {
153 case 'level':
154 case 'status':
155 if (filter.operator === '=') {
156 const existing = params.level ? params.level.split(',') : []
157 existing.push(filter.value as string)
158 params.level = existing.join(',')
159 }
160 break
161
162 case 'trigger':
163 if (filter.operator === '=') {
164 const existing = params.triggers ? params.triggers.split(',') : []
165 existing.push(filter.value as string)
166 params.triggers = existing.join(',')
167 }
168 break
169
170 case 'workflow':
171 if (filter.operator === '=') {
172 params.workflowName = filter.value as string
173 }
174 break
175
176 case 'folder':
177 if (filter.operator === '=') {
178 params.folderName = filter.value as string
179 }
180 break
181
182 case 'execution':
183 if (filter.operator === '=' && parsedQuery.textSearch) {
184 params.search = `${parsedQuery.textSearch} ${filter.value}`.trim()
185 } else if (filter.operator === '=') {
186 params.search = filter.value as string
187 }
188 break
189
190 case 'workflowId':
191 if (filter.operator === '=') {
192 params.workflowIds = String(filter.value)
193 }
194 break
195
196 case 'executionId':
197 if (filter.operator === '=') {
198 params.executionId = String(filter.value)
199 }
200 break
201

Callers 3

LogsFunction · 0.90
applyFilterParamsFunction · 0.90

Calls 3

joinMethod · 0.80
testMethod · 0.80
pushMethod · 0.45

Tested by

no test coverage detected