Skip to content

Commit c63a61d

Browse files
authored
Merge pull request #15698 from Budibase/fix/import-query
Import OpenAPI fixes
2 parents 57d6b5d + d13c1e5 commit c63a61d

File tree

6 files changed

+38
-165
lines changed

6 files changed

+38
-165
lines changed

packages/bbui/src/Form/Core/TextArea.svelte

+12-9
Original file line numberDiff line numberDiff line change
@@ -1,33 +1,36 @@
1-
<script>
1+
<script lang="ts">
22
import "@spectrum-css/textfield/dist/index-vars.css"
33
import { createEventDispatcher } from "svelte"
44
55
export let value = ""
6-
export let placeholder = null
6+
export let placeholder: string | undefined = undefined
77
export let disabled = false
88
export let readonly = false
9-
export let id = null
10-
export let height = null
11-
export let minHeight = null
9+
export let id: string | undefined = undefined
10+
export let height: string | number | undefined = undefined
11+
export let minHeight: string | number | undefined = undefined
1212
export const getCaretPosition = () => ({
1313
start: textarea.selectionStart,
1414
end: textarea.selectionEnd,
1515
})
1616
export let align = null
1717
1818
let focus = false
19-
let textarea
19+
let textarea: any
2020
const dispatch = createEventDispatcher()
21-
const onChange = event => {
21+
const onChange = (event: any) => {
2222
dispatch("change", event.target.value)
2323
focus = false
2424
}
2525
26-
const getStyleString = (attribute, value) => {
26+
const getStyleString = (
27+
attribute: string,
28+
value: string | number | undefined
29+
) => {
2730
if (!attribute || value == null) {
2831
return ""
2932
}
30-
if (isNaN(value)) {
33+
if (typeof value === "number" && isNaN(value)) {
3134
return `${attribute}:${value};`
3235
}
3336
return `${attribute}:${value}px;`

packages/bbui/src/Form/TextArea.svelte

+11-12
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
1-
<script>
1+
<script lang="ts">
22
import Field from "./Field.svelte"
33
import TextArea from "./Core/TextArea.svelte"
44
import { createEventDispatcher } from "svelte"
55
6-
export let value = null
7-
export let label = null
8-
export let labelPosition = "above"
9-
export let placeholder = null
6+
export let value: string | undefined = undefined
7+
export let label: string | undefined = undefined
8+
export let labelPosition: string = "above"
9+
export let placeholder: string | undefined = undefined
1010
export let disabled = false
11-
export let error = null
12-
export let getCaretPosition = null
13-
export let height = null
14-
export let minHeight = null
15-
export let helpText = null
11+
export let error: string | undefined = undefined
12+
export let getCaretPosition: any = undefined
13+
export let height: string | number | undefined = undefined
14+
export let minHeight: string | number | undefined = undefined
15+
export let helpText: string | undefined = undefined
1616
1717
const dispatch = createEventDispatcher()
18-
const onChange = e => {
18+
const onChange = (e: any) => {
1919
value = e.detail
2020
dispatch("change", e.detail)
2121
}
@@ -24,7 +24,6 @@
2424
<Field {helpText} {label} {labelPosition} {error}>
2525
<TextArea
2626
bind:getCaretPosition
27-
{error}
2827
{disabled}
2928
{value}
3029
{placeholder}

packages/bbui/src/Tabs/Tab.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
55
export let title
66
export let icon = ""
7-
export let id
7+
export let id = undefined
88
export let href = "#"
99
export let link = false
1010

packages/builder/src/components/backend/DatasourceNavigator/modals/ImportRestQueriesModal.svelte

-132
This file was deleted.

packages/builder/src/pages/builder/app/[application]/data/datasource/[datasourceId]/_components/panels/Queries/RestImportQueriesModal.svelte

+13-10
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
<script>
1+
<script lang="ts">
22
import { goto } from "@roxi/routify"
33
import {
44
keepOpen,
@@ -14,26 +14,29 @@
1414
} from "@budibase/bbui"
1515
import { datasources, queries } from "@/stores/builder"
1616
import { writable } from "svelte/store"
17+
import type { Datasource } from "@budibase/types"
1718
1819
export let navigateDatasource = false
19-
export let datasourceId
20+
export let datasourceId: string | undefined = undefined
2021
export let createDatasource = false
21-
export let onCancel
22+
export let onCancel: (() => void) | undefined = undefined
2223
23-
const data = writable({
24+
const data = writable<{ url: string; raw: string; file?: any }>({
2425
url: "",
2526
raw: "",
2627
file: undefined,
2728
})
2829
2930
let lastTouched = "url"
3031
31-
const getData = async () => {
32+
$: datasource = $datasources.selected as Datasource
33+
34+
const getData = async (): Promise<string> => {
3235
let dataString
3336
3437
// parse the file into memory and send as string
3538
if (lastTouched === "file") {
36-
dataString = await $data.file.text()
39+
dataString = await $data.file?.text()
3740
} else if (lastTouched === "url") {
3841
const response = await fetch($data.url)
3942
dataString = await response.text()
@@ -55,9 +58,9 @@
5558
const body = {
5659
data: dataString,
5760
datasourceId,
61+
datasource,
5862
}
59-
60-
const importResult = await queries.import(body)
63+
const importResult = await queries.importQueries(body)
6164
if (!datasourceId) {
6265
datasourceId = importResult.datasourceId
6366
}
@@ -71,8 +74,8 @@
7174
}
7275
7376
notifications.success("Imported successfully")
74-
} catch (error) {
75-
notifications.error("Error importing queries")
77+
} catch (error: any) {
78+
notifications.error(`Error importing queries - ${error.message}`)
7679
7780
return keepOpen
7881
}

packages/types/src/api/web/app/query.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ export interface SaveQueryRequest extends Query {}
1111
export interface SaveQueryResponse extends Query {}
1212

1313
export interface ImportRestQueryRequest {
14-
datasourceId: string
14+
datasourceId?: string
1515
data: string
1616
datasource: Datasource
1717
}

0 commit comments

Comments
 (0)