From dc5db6f552309f8e1e2e6b501f2b679e321a0ee3 Mon Sep 17 00:00:00 2001 From: kevmodrome Date: Tue, 7 Jul 2020 14:44:05 +0200 Subject: [PATCH 1/2] adds delete functionality to application --- .../components/settings/tabs/DangerZone.svelte | 18 +++++++++++++++--- .../server/src/api/controllers/application.js | 16 ++++++++++++++++ packages/server/src/api/routes/application.js | 1 + 3 files changed, 32 insertions(+), 3 deletions(-) diff --git a/packages/builder/src/components/settings/tabs/DangerZone.svelte b/packages/builder/src/components/settings/tabs/DangerZone.svelte index ad243527ce..40286a902d 100644 --- a/packages/builder/src/components/settings/tabs/DangerZone.svelte +++ b/packages/builder/src/components/settings/tabs/DangerZone.svelte @@ -1,14 +1,26 @@ diff --git a/packages/server/src/api/controllers/application.js b/packages/server/src/api/controllers/application.js index 890e573817..526c36d423 100644 --- a/packages/server/src/api/controllers/application.js +++ b/packages/server/src/api/controllers/application.js @@ -10,6 +10,7 @@ const { budibaseAppsDir } = require("../../utilities/budibaseDir") const { exec } = require("child_process") const sqrl = require("squirrelly") const setBuilderToken = require("../../utilities/builder/setBuilderToken") +const fs = require("fs-extra") exports.fetch = async function(ctx) { const db = new CouchDB(ClientDb.name(getClientId(ctx))) @@ -106,6 +107,21 @@ exports.update = async function(ctx) { ctx.body = response } +exports.delete = async function(ctx) { + const db = new CouchDB(ClientDb.name(getClientId(ctx))) + const app = await db.get(ctx.params.applicationId) + const result = await db.remove(app) + await fs.rmdir(`${budibaseAppsDir()}/${ctx.params.applicationId}`, { + recursive: true, + }) + + console.log + + ctx.status = 200 + ctx.message = `Application ${app.name} deleted successfully.` + ctx.body = result +} + const createEmptyAppPackage = async (ctx, app) => { const templateFolder = resolve( __dirname, diff --git a/packages/server/src/api/routes/application.js b/packages/server/src/api/routes/application.js index 2843770b46..65e73e95f5 100644 --- a/packages/server/src/api/routes/application.js +++ b/packages/server/src/api/routes/application.js @@ -14,5 +14,6 @@ router ) .put("/api/:applicationId", authorized(BUILDER), controller.update) .post("/api/applications", authorized(BUILDER), controller.create) + .delete("/api/:applicationId", authorized(BUILDER), controller.delete) module.exports = router From a85d67574a48ad5080087562c20a673949ce37c5 Mon Sep 17 00:00:00 2001 From: kevmodrome Date: Tue, 7 Jul 2020 14:47:27 +0200 Subject: [PATCH 2/2] remove som console.logs --- packages/builder/src/components/settings/tabs/DangerZone.svelte | 1 - packages/server/src/api/controllers/application.js | 2 -- 2 files changed, 3 deletions(-) diff --git a/packages/builder/src/components/settings/tabs/DangerZone.svelte b/packages/builder/src/components/settings/tabs/DangerZone.svelte index 40286a902d..524fee3351 100644 --- a/packages/builder/src/components/settings/tabs/DangerZone.svelte +++ b/packages/builder/src/components/settings/tabs/DangerZone.svelte @@ -11,7 +11,6 @@ loading = true const id = $params.application const res = await del(`/api/${id}`) - console.log(res) const json = await res.json() loading = false diff --git a/packages/server/src/api/controllers/application.js b/packages/server/src/api/controllers/application.js index 526c36d423..e1b850a31f 100644 --- a/packages/server/src/api/controllers/application.js +++ b/packages/server/src/api/controllers/application.js @@ -115,8 +115,6 @@ exports.delete = async function(ctx) { recursive: true, }) - console.log - ctx.status = 200 ctx.message = `Application ${app.name} deleted successfully.` ctx.body = result