Fixing some issues around deleting datasources/queries and managing the full URL for migrating queries.
This commit is contained in:
parent
a7743c8481
commit
1948c867cc
|
@ -1,6 +1,6 @@
|
|||
<script>
|
||||
import { goto } from "@roxi/routify"
|
||||
import { datasources, tables } from "stores/backend"
|
||||
import { datasources, queries, tables } from "stores/backend"
|
||||
import { notifications } from "@budibase/bbui"
|
||||
import { ActionMenu, MenuItem, Icon } from "@budibase/bbui"
|
||||
import ConfirmDialog from "components/common/ConfirmDialog.svelte"
|
||||
|
@ -12,7 +12,13 @@
|
|||
let updateDatasourceDialog
|
||||
|
||||
async function deleteDatasource() {
|
||||
const wasSelectedSource = $datasources.selected
|
||||
let wasSelectedSource = $datasources.selected
|
||||
if (!wasSelectedSource && $queries.selected) {
|
||||
const queryId = $queries.selected
|
||||
wasSelectedSource = $datasources.list.find(ds =>
|
||||
queryId.includes(ds._id)
|
||||
)?._id
|
||||
}
|
||||
const wasSelectedTable = $tables.selected
|
||||
await datasources.delete(datasource)
|
||||
notifications.success("Datasource deleted")
|
||||
|
|
|
@ -1,14 +1,20 @@
|
|||
<script>
|
||||
import { goto } from "@roxi/routify"
|
||||
import { ActionMenu, MenuItem, Icon, notifications } from "@budibase/bbui"
|
||||
import ConfirmDialog from "components/common/ConfirmDialog.svelte"
|
||||
import { queries } from "stores/backend"
|
||||
import { datasources, queries } from "stores/backend"
|
||||
|
||||
export let query
|
||||
|
||||
let confirmDeleteDialog
|
||||
|
||||
async function deleteQuery() {
|
||||
const wasSelectedQuery = $queries.selected
|
||||
const selectedDatasource = $datasources.selected
|
||||
await queries.delete(query)
|
||||
if (wasSelectedQuery === query._id) {
|
||||
$goto(`./datasource/${selectedDatasource}`)
|
||||
}
|
||||
notifications.success("Query deleted")
|
||||
}
|
||||
|
||||
|
|
|
@ -52,7 +52,6 @@
|
|||
let response, schema, enabledHeaders
|
||||
let datasourceType, integrationInfo, queryConfig, responseSuccess
|
||||
|
||||
$: datasource = $datasources.list.find(ds => ds._id === query?.datasourceId)
|
||||
$: datasourceType = datasource?.source
|
||||
$: integrationInfo = $integrations[datasourceType]
|
||||
$: queryConfig = integrationInfo?.query
|
||||
|
@ -135,8 +134,14 @@
|
|||
|
||||
onMount(() => {
|
||||
query = getSelectedQuery()
|
||||
datasource = $datasources.list.find(ds => ds._id === query?.datasourceId)
|
||||
const datasourceUrl = datasource?.config.url
|
||||
const qs = query?.fields.queryString
|
||||
breakQs = breakQueryString(qs)
|
||||
if (datasourceUrl && !query.fields.path?.startsWith(datasourceUrl)) {
|
||||
const path = query.fields.path
|
||||
query.fields.path = `${datasource.config.url}/${path ? path : ""}`
|
||||
}
|
||||
url = buildUrl(query.fields.path, breakQs)
|
||||
schema = schemaToFields(query.schema)
|
||||
bindings = queryParametersToKeyValue(query.parameters)
|
||||
|
|
|
@ -153,7 +153,10 @@ module RestModule {
|
|||
|
||||
getUrl(path: string, queryString: string): string {
|
||||
const main = `${path}?${queryString}`
|
||||
let complete = !this.config.url ? main : `${this.config.url}/${main}`
|
||||
let complete = main
|
||||
if (this.config.url && !main.startsWith(this.config.url)) {
|
||||
complete = !this.config.url ? main : `${this.config.url}/${main}`
|
||||
}
|
||||
if (!complete.startsWith("http")) {
|
||||
complete = `http://${complete}`
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue