1
0
Fork 0
mirror of synced 2024-09-18 10:20:11 +12:00
budibase/packages/client/src/api/queries.js

26 lines
780 B
JavaScript

import { notificationStore, dataSourceStore } from "../store"
import API from "./api"
/**
* Executes a query against an external data connector.
*/
export const executeQuery = async ({ queryId, parameters }) => {
const query = await API.get({ url: `/api/queries/${queryId}` })
if (query?.datasourceId == null) {
notificationStore.actions.error("That query couldn't be found")
return
}
const res = await API.post({
url: `/api/queries/${queryId}`,
body: {
parameters,
},
})
if (res.error) {
notificationStore.actions.error("An error has occurred")
} else if (!query.readable) {
notificationStore.actions.success("Query executed successfully")
dataSourceStore.actions.invalidateDataSource(query.datasourceId)
}
return res
}