1
0
Fork 0
mirror of synced 2024-09-29 16:51:33 +13:00
budibase/packages/server/src/middleware/publicApi.ts

21 lines
605 B
TypeScript

const { Header } = require("@budibase/backend-core/constants")
const { getAppIdFromCtx } = require("@budibase/backend-core/utils")
module.exports = function ({ requiresAppId } = {}) {
return async (ctx, next) => {
const appId = await getAppIdFromCtx(ctx)
if (requiresAppId && !appId) {
ctx.throw(
400,
`Invalid app ID provided, please check the ${Header.APP_ID} header.`
)
}
if (!ctx.headers[Header.API_KEY]) {
ctx.throw(
400,
`Invalid API key provided, please check the ${Header.API_KEY} header.`
)
}
return next()
}
}