|
|
|
@ -1,10 +1,15 @@ |
|
|
|
import { notificationStore } from "../store/notification" |
|
|
|
import { notificationStore, datasourceStore } from "../store" |
|
|
|
import API from "./api" |
|
|
|
|
|
|
|
/** |
|
|
|
* Executes a query against an external data connector. |
|
|
|
*/ |
|
|
|
export const executeQuery = async ({ queryId, parameters, notify = false }) => { |
|
|
|
export const executeQuery = async ({ queryId, parameters }) => { |
|
|
|
const query = await API.get({ url: `/api/queries/${queryId}` }) |
|
|
|
if (query?.datasourceId == null) { |
|
|
|
notificationStore.danger("That query couldn't be found") |
|
|
|
return |
|
|
|
} |
|
|
|
const res = await API.post({ |
|
|
|
url: `/api/queries/${queryId}`, |
|
|
|
body: { |
|
|
|
@ -13,8 +18,9 @@ export const executeQuery = async ({ queryId, parameters, notify = false }) => { |
|
|
|
}) |
|
|
|
if (res.error) { |
|
|
|
notificationStore.danger("An error has occurred") |
|
|
|
} else if (notify) { |
|
|
|
} else if (!query.readable) { |
|
|
|
notificationStore.success("Query executed successfully") |
|
|
|
datasourceStore.actions.invalidateDatasource(query.datasourceId) |
|
|
|
} |
|
|
|
return res |
|
|
|
} |
|
|
|
|