From f1cd6d01e9debd969b1ebe46eca2085cf975816f Mon Sep 17 00:00:00 2001
From: Martin McKeaveney <martin@shogunsystems.co.uk>
Date: Mon, 17 May 2021 14:24:37 +0100
Subject: [PATCH] tidy up

---
 .../src/components/deploy/RevertModal.svelte  |  9 +++
 .../builder/app/deploy_old/_layout.svelte     |  2 -
 .../pages/builder/app/deploy_old/index.svelte | 79 -------------------
 .../pages/builder/portal/apps/index.svelte    |  6 ++
 packages/server/src/api/index.js              |  1 -
 5 files changed, 15 insertions(+), 82 deletions(-)
 delete mode 100644 packages/builder/src/pages/builder/app/deploy_old/_layout.svelte
 delete mode 100644 packages/builder/src/pages/builder/app/deploy_old/index.svelte

diff --git a/packages/builder/src/components/deploy/RevertModal.svelte b/packages/builder/src/components/deploy/RevertModal.svelte
index 7eaac42bbd..c35fbd36c2 100644
--- a/packages/builder/src/components/deploy/RevertModal.svelte
+++ b/packages/builder/src/components/deploy/RevertModal.svelte
@@ -15,6 +15,15 @@
       const json = await response.json()
       if (response.status !== 200) throw json.message
 
+      // Reset frontend state after revert  
+      const applicationPkg = await api.get(`/api/applications/${appId}/appPackage`)
+      const pkg = await applicationPkg.json()
+      if (applicationPkg.ok) {
+        await store.actions.initialise(pkg)
+      } else {
+        throw new Error(pkg)
+      }
+
       notifications.info("Changes reverted.")
     } catch (err) {
       notifications.error(`Error reverting changes: ${err}`)
diff --git a/packages/builder/src/pages/builder/app/deploy_old/_layout.svelte b/packages/builder/src/pages/builder/app/deploy_old/_layout.svelte
deleted file mode 100644
index ef86cab68c..0000000000
--- a/packages/builder/src/pages/builder/app/deploy_old/_layout.svelte
+++ /dev/null
@@ -1,2 +0,0 @@
-<!-- routify:options index=4 -->
-<!-- <slot /> -->
diff --git a/packages/builder/src/pages/builder/app/deploy_old/index.svelte b/packages/builder/src/pages/builder/app/deploy_old/index.svelte
deleted file mode 100644
index 77b6d51520..0000000000
--- a/packages/builder/src/pages/builder/app/deploy_old/index.svelte
+++ /dev/null
@@ -1,79 +0,0 @@
-<script>
-  import { Button, Modal, notifications, Heading } from "@budibase/bbui"
-  import { store } from "builderStore"
-  import api from "builderStore/api"
-  import DeploymentHistory from "components/deploy/DeploymentHistory.svelte"
-  import analytics from "analytics"
-  import FeedbackIframe from "components/feedback/FeedbackIframe.svelte"
-  import Rocket from "/assets/deploy-rocket.jpg"
-
-  let loading = false
-  let deployments = []
-  let poll
-  let feedbackModal
-
-  $: appId = $store.appId
-
-  async function deployApp() {
-    try {
-      notifications.info(`Deployment started. Please wait.`)
-      const response = await api.post("/api/deploy")
-      const json = await response.json()
-      if (response.status !== 200) {
-        throw new Error()
-      }
-
-      if (analytics.requestFeedbackOnDeploy()) {
-        feedbackModal.show()
-      }
-    } catch (err) {
-      analytics.captureException(err)
-      notifications.error("Deployment unsuccessful. Please try again later.")
-    }
-  }
-</script>
-
-<section>
-  <img src={Rocket} alt="Rocket flying through sky" />
-  <div>
-    <Heading size="M">It's time to shine!</Heading>
-    <Button size="XL" cta medium on:click={deployApp}>Publish App</Button>
-  </div>
-</section>
-<Modal bind:this={feedbackModal}>
-  <FeedbackIframe on:finished={() => feedbackModal.hide()} />
-</Modal>
-<DeploymentHistory {appId} />
-
-<style>
-  img {
-    width: 100%;
-    height: 100%;
-    object-fit: cover;
-    filter: brightness(80%);
-  }
-
-  section {
-    position: relative;
-    min-height: 100%;
-  }
-
-  div {
-    position: absolute;
-    display: flex;
-    text-align: center;
-    flex-direction: column;
-    align-items: center;
-    justify-content: center;
-    left: 0;
-    right: 0;
-    top: 20%;
-    margin-left: auto;
-    margin-right: auto;
-    width: 50%;
-    gap: var(--spacing-xl);
-  }
-  div :global(h1) {
-    color: white;
-  }
-</style>
diff --git a/packages/builder/src/pages/builder/portal/apps/index.svelte b/packages/builder/src/pages/builder/portal/apps/index.svelte
index c7c8d10062..0136c9cab2 100644
--- a/packages/builder/src/pages/builder/portal/apps/index.svelte
+++ b/packages/builder/src/pages/builder/portal/apps/index.svelte
@@ -18,6 +18,7 @@
   import analytics from "analytics"
   import { onMount } from "svelte"
   import { apps } from "stores/portal"
+  import { auth } from "stores/backend"
   import download from "downloadjs"
   import { goto } from "@roxi/routify"
   import ConfirmDialog from "components/common/ConfirmDialog.svelte"
@@ -61,6 +62,11 @@
   }
 
   const openApp = app => {
+    if (app.lockedBy && app.lockedBy?.email === $auth.user?.email) {
+      notifications.error(`App locked by ${app.lockedBy.email}. Please allow lock to expire or have them unlock this app.`)
+      return
+    }
+
     if (appStatus === AppStatus.DEV) {
       $goto(`../../app/${app.appId}`)
     } else {
diff --git a/packages/server/src/api/index.js b/packages/server/src/api/index.js
index 31559d2e2f..332b917a76 100644
--- a/packages/server/src/api/index.js
+++ b/packages/server/src/api/index.js
@@ -37,7 +37,6 @@ router
     })
   )
   .use(currentApp)
-// .use(development)
 
 // error handling middleware
 router.use(async (ctx, next) => {