budibase/packages/server/src/api/controllers/backup.js

19 lines
706 B
JavaScript
Raw Normal View History

const { streamBackup } = require("../../utilities/fileSystem")
const { events, context } = require("@budibase/backend-core")
const { DocumentTypes } = require("../../db/utils")
2021-01-27 14:55:46 +01:00
2021-05-03 09:31:09 +02:00
exports.exportAppDump = async function (ctx) {
2022-06-06 16:17:14 +02:00
let { appId, excludeRows } = ctx.query
const appName = decodeURI(ctx.query.appname)
2022-06-06 16:17:14 +02:00
excludeRows = excludeRows === "true"
const backupIdentifier = `${appName}-export-${new Date().getTime()}.txt`
2021-01-29 22:52:45 +01:00
ctx.attachment(backupIdentifier)
2022-06-06 16:17:14 +02:00
ctx.body = await streamBackup(appId, excludeRows)
await context.doInAppContext(appId, async () => {
const appDb = context.getAppDB()
const app = await appDb.get(DocumentTypes.APP_METADATA)
await events.app.exported(app)
})
2021-01-27 14:55:46 +01:00
}