Browse Source

Merge pull request #3289 from Budibase/fix/prevent-revert

fix revert on unpublished app
pull/4023/head
Martin McKeaveney 5 years ago
committed by GitHub
parent
commit
08ea3ca3bc
  1. 13
      packages/server/src/api/controllers/application.js
  2. 7
      packages/server/src/api/controllers/dev.js

13
packages/server/src/api/controllers/application.js

@ -329,6 +329,19 @@ exports.sync = async ctx => {
ctx.throw(400, "This action cannot be performed for production apps")
}
const prodAppId = getDeployedAppID(appId)
try {
const prodDb = new CouchDB(prodAppId, { skip_setup: true })
const info = await prodDb.info()
if (info.error) throw info.error
} catch (err) {
// the database doesn't exist. Don't replicate
ctx.body = {
message: "App sync not required, app not deployed.",
}
return
}
const replication = new Replication({
source: prodAppId,
target: appId,

7
packages/server/src/api/controllers/dev.js

@ -82,6 +82,13 @@ exports.revert = async ctx => {
const db = new CouchDB(productionAppId, { skip_setup: true })
const info = await db.info()
if (info.error) throw info.error
const deploymentDoc = await db.get(DocumentTypes.DEPLOYMENTS)
if (
!deploymentDoc.history ||
Object.keys(deploymentDoc.history).length === 0
) {
throw new Error("No deployments for app")
}
} catch (err) {
return ctx.throw(400, "App has not yet been deployed")
}

Loading…
Cancel
Save