2020-10-23 05:48:32 +13:00
|
|
|
const Router = require("@koa/router")
|
|
|
|
const controller = require("../controllers/webhook")
|
|
|
|
const authorized = require("../../middleware/authorized")
|
2022-01-11 08:33:00 +13:00
|
|
|
const { BUILDER } = require("@budibase/backend-core/permissions")
|
2022-02-25 00:39:38 +13:00
|
|
|
const { webhookValidator } = require("./utils/validators")
|
2020-10-23 05:48:32 +13:00
|
|
|
|
|
|
|
const router = Router()
|
|
|
|
|
|
|
|
router
|
|
|
|
.get("/api/webhooks", authorized(BUILDER), controller.fetch)
|
|
|
|
.put(
|
|
|
|
"/api/webhooks",
|
|
|
|
authorized(BUILDER),
|
2022-02-25 00:39:38 +13:00
|
|
|
webhookValidator(),
|
2020-10-23 05:48:32 +13:00
|
|
|
controller.save
|
|
|
|
)
|
|
|
|
.delete("/api/webhooks/:id/:rev", authorized(BUILDER), controller.destroy)
|
|
|
|
.post(
|
|
|
|
"/api/webhooks/schema/:instance/:id",
|
|
|
|
authorized(BUILDER),
|
|
|
|
controller.buildSchema
|
|
|
|
)
|
2021-02-27 23:15:05 +13:00
|
|
|
// this shouldn't have authorisation, right now its always public
|
|
|
|
.post("/api/webhooks/trigger/:instance/:id", controller.trigger)
|
2020-10-23 05:48:32 +13:00
|
|
|
|
|
|
|
module.exports = router
|