From 6019af93ee07404d29a0faa417127e63fa69f8d6 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Mon, 15 Feb 2021 17:05:53 +0000 Subject: [PATCH] REST integration end to end --- .../integration/QueryFieldsBuilder.svelte | 79 +++++++++++++++++-- packages/server/src/api/controllers/query.js | 8 +- .../server/src/integrations/Integration.js | 1 + packages/server/src/integrations/index.js | 3 + packages/server/src/integrations/mysql.js | 10 +-- packages/server/src/integrations/rest.js | 57 +++++++++++++ 6 files changed, 144 insertions(+), 14 deletions(-) create mode 100644 packages/server/src/integrations/rest.js diff --git a/packages/builder/src/components/integration/QueryFieldsBuilder.svelte b/packages/builder/src/components/integration/QueryFieldsBuilder.svelte index 79728f12fd..e7653f3c6b 100644 --- a/packages/builder/src/components/integration/QueryFieldsBuilder.svelte +++ b/packages/builder/src/components/integration/QueryFieldsBuilder.svelte @@ -18,21 +18,72 @@ $: fieldKeys = Object.keys(fields) $: schemaKeys = Object.keys(schema.fields) + $: console.log({ + fields, + schema + }) + function updateCustomFields({ detail }) { fields.customData = detail.value } + + function updateSubfieldName({ names, definition }) { + console.log(names, definition) + const temp = definition[names.old] + definition[names.new] = temp + delete definition[names.old] + // fields = fields + } + + // function addCustomField() { + + // } + + // function removeCustomField() { + + // }
{#each schemaKeys as field} - + + {#if schema.fields[field]?.type === "object"} + +
+ {#each Object.keys(fields[field] || {}) as subfield} + updateSubfieldName({ + names: { + new: e.target.value, + old: subfield + }, + definition: fields[field] + })} + /> + + { + delete fields[field][subfield] + fields[field] = fields[field] + }} /> + {/each} +
+ { + // set new empty field + fields[field] = { + ...fields[field] || {}, + [""]: "" + } + }} /> + {:else} + + {/if} {/each}
@@ -46,10 +97,22 @@ {/if}