1
0
Fork 0
mirror of synced 2024-06-28 02:50:50 +12:00
budibase/packages/server/src/api/controllers/dev.js

49 lines
1.2 KiB
JavaScript
Raw Normal View History

const fetch = require("node-fetch")
const env = require("../../environment")
const { checkSlashesInUrl } = require("../../utilities")
const { request } = require("../../utilities/workerRequests")
2021-05-13 04:43:01 +12:00
const { getGlobalIDFromUserMetadataID } = require("../../db/utils")
const { clearLock } = require("../../utilities/redis")
async function redirect(ctx, method) {
const { devPath } = ctx.params
const response = await fetch(
checkSlashesInUrl(`${env.WORKER_URL}/api/admin/${devPath}`),
request(ctx, {
method,
body: ctx.request.body,
})
)
ctx.body = await response.json()
const cookie = response.headers.get("set-cookie")
if (cookie) {
ctx.set("set-cookie", cookie)
}
ctx.status = response.status
ctx.cookies
}
2021-05-04 22:32:22 +12:00
exports.redirectGet = async ctx => {
await redirect(ctx, "GET")
}
2021-05-04 22:32:22 +12:00
exports.redirectPost = async ctx => {
await redirect(ctx, "POST")
}
2021-05-04 22:32:22 +12:00
exports.redirectDelete = async ctx => {
await redirect(ctx, "DELETE")
}
2021-05-13 04:43:01 +12:00
exports.removeLock = async ctx => {
const { appId } = ctx.params
try {
await clearLock(appId, ctx.user)
2021-05-13 04:43:01 +12:00
} catch (err) {
ctx.throw(400, "Unable to remove lock.")
}
ctx.body = {
2021-05-13 04:43:29 +12:00
message: "Lock removed successfully.",
2021-05-13 04:43:01 +12:00
}
}