importQueries()}
- onCancel={() => modal.show()}
+ {onCancel}
confirmText={"Import"}
cancelText="Back"
size="L"
diff --git a/packages/builder/src/pages/builder/app/[application]/data/datasource/[selectedDatasource]/index.svelte b/packages/builder/src/pages/builder/app/[application]/data/datasource/[selectedDatasource]/index.svelte
index 6cbe0c8359..40d0583532 100644
--- a/packages/builder/src/pages/builder/app/[application]/data/datasource/[selectedDatasource]/index.svelte
+++ b/packages/builder/src/pages/builder/app/[application]/data/datasource/[selectedDatasource]/index.svelte
@@ -17,7 +17,9 @@
import CreateExternalTableModal from "./modals/CreateExternalTableModal.svelte"
import ICONS from "components/backend/DatasourceNavigator/icons"
import { capitalise } from "helpers"
+ import ImportRestQueriesModal from "components/backend/DatasourceNavigator/modals/ImportRestQueriesModal.svelte"
+ let importQueriesModal
let relationshipModal
let createExternalTableModal
let selectedFromRelationship, selectedToRelationship
@@ -131,6 +133,15 @@
/>
+
+ {#if datasource.source === "REST"}
+
+ {/if}
+
+
@@ -246,7 +257,14 @@
{#each $queries.list.filter(query => query.datasourceId === datasource._id) as query}
@@ -293,6 +311,11 @@
margin: 0 0 var(--spacing-s) 0;
}
+ .query-buttons {
+ display: flex;
+ gap: var(--spacing-l);
+ }
+
.query-list {
display: flex;
flex-direction: column;
diff --git a/packages/server/src/api/controllers/query/import/sources/curl.ts b/packages/server/src/api/controllers/query/import/sources/curl.ts
index fd1a25d5db..e4289016c5 100644
--- a/packages/server/src/api/controllers/query/import/sources/curl.ts
+++ b/packages/server/src/api/controllers/query/import/sources/curl.ts
@@ -27,6 +27,17 @@ const parseBody = (curl: any) => {
return undefined
}
+const parseCookie = (curl: any) => {
+ if (curl.cookies){
+ return Object.entries(curl.cookies).reduce((acc, entry) => {
+ const [key, value] = entry
+ return acc + `${key}=${value}; `
+ }, "")
+ }
+
+ return null
+}
+
/**
* Curl
* https://curl.se/docs/manpage.html
@@ -61,6 +72,11 @@ export class Curl extends ImportSource {
const headers = this.curl.headers
const requestBody = parseBody(this.curl)
+ const cookieHeader = parseCookie(this.curl)
+ if (cookieHeader) {
+ headers["Cookie"] = cookieHeader
+ }
+
const query = this.constructQuery(
datasourceId,
name,