1
0
Fork 0
mirror of synced 2024-06-29 11:31:06 +12:00
budibase/packages/server/src/api/routes/static.js

44 lines
1.3 KiB
JavaScript
Raw Normal View History

2020-05-07 21:53:34 +12:00
const Router = require("@koa/router")
const controller = require("../controllers/static")
2020-05-12 02:42:42 +12:00
const { budibaseTempDir } = require("../../utilities/budibaseDir")
const env = require("../../environment")
const authorized = require("../../middleware/authorized")
const { BUILDER } = require("../../utilities/security/permissions")
const usage = require("../../middleware/usageQuota")
2020-05-07 21:53:34 +12:00
const router = Router()
/* istanbul ignore next */
router.param("file", async (file, ctx, next) => {
ctx.file = file && file.includes(".") ? file : "index.html"
// Serving the client library from your local dir in dev
if (ctx.isDev && ctx.file.startsWith("budibase-client")) {
ctx.devPath = budibaseTempDir()
}
2020-05-06 23:17:15 +12:00
await next()
})
2020-05-06 23:17:15 +12:00
if (env.NODE_ENV !== "production") {
router.get("/_builder/:file*", controller.serveBuilder)
}
if (env.SELF_HOSTED) {
router.get("/", controller.serveSelfHostPage)
}
router
2020-09-18 03:36:39 +12:00
.post(
"/api/attachments/process",
authorized(BUILDER),
2020-09-24 04:02:06 +12:00
controller.performLocalFileProcessing
2020-09-18 03:36:39 +12:00
)
.post("/api/attachments/upload", usage, controller.uploadFile)
.get("/componentlibrary", controller.serveComponentLibrary)
.get("/assets/:file*", controller.serveAppAsset)
.get("/attachments/:file*", controller.serveAttachment)
.get("/:appId/:path*", controller.serveApp)
2020-05-07 21:53:34 +12:00
module.exports = router