From cdfa7efd2da38565ca104f3c396d3783e31b6322 Mon Sep 17 00:00:00 2001 From: Samuel Lorch Date: Thu, 2 Nov 2023 00:57:58 +0100 Subject: [PATCH] wip, adjust create and update to rust backend --- .../src/pages/[subsystem]/[entity]/edit/[id].vue | 15 ++++++++++++--- .../src/pages/[subsystem]/[entity]/edit/index.vue | 11 ++++++++++- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/client/src/pages/[subsystem]/[entity]/edit/[id].vue b/client/src/pages/[subsystem]/[entity]/edit/[id].vue index 3969b02..be27ace 100644 --- a/client/src/pages/[subsystem]/[entity]/edit/[id].vue +++ b/client/src/pages/[subsystem]/[entity]/edit/[id].vue @@ -14,9 +14,9 @@ async function load(){ loading = true; let res: any; if (editTypes[subsystem][entity].idType == 'Number') { - res = await apiCall(`${subsystem }.${entity}.get`, {id: id as number - 0}); + res = await apiCall(`${subsystem}.${entity}.get`, {id: id as number - 0}); } else { - res = await apiCall(`${subsystem }.${entity}.get`, {id: id}); + res = await apiCall(`${subsystem}.${entity}.get`, {id: id}); } if (res.Error === null) { @@ -30,7 +30,16 @@ async function load(){ async function update(value: any) { console.debug('value', value); - let res = await apiCall(`${subsystem}.${entity}.update`, value); + let res: any; + + if (editTypes[subsystem][entity].idType == 'Number') { + res = await apiCall(`${subsystem}.${entity}.update`, {id: id as number - 0, thing: value}); + } else { + // TODO dont have name in value at all, see create (index.vue) + delete value.name; + res = await apiCall(`${subsystem}.${entity}.update`, {id: id, thing: value}); + } + if (res.Error === null) { p.toast.success(`Updated ${ editTypes[subsystem][entity].name}`); p.router.go(-1); diff --git a/client/src/pages/[subsystem]/[entity]/edit/index.vue b/client/src/pages/[subsystem]/[entity]/edit/index.vue index db1726b..31586e5 100644 --- a/client/src/pages/[subsystem]/[entity]/edit/index.vue +++ b/client/src/pages/[subsystem]/[entity]/edit/index.vue @@ -9,7 +9,16 @@ const { subsystem, entity } = $(props); async function create(value: any) { console.debug('value', value); - let res = await apiCall(`${subsystem}.${entity}.create`, value); + let res: any; + if (editTypes[subsystem][entity].idType == 'Number') { + res = await apiCall(`${subsystem }.${entity}.create`, value); + } else { + // TODO find way to only have a name/id field in the form on create and not put it into the value + let id = value.name; + delete value.name; + res = await apiCall(`${subsystem }.${entity}.create`, {id: id, thing: value}); + } + if (res.Error === null) { p.toast.success(`Created ${ editTypes[subsystem][entity].name}`); p.router.go(-1);