1
0
Fork 0
mirror of synced 2024-06-02 02:25:17 +12:00
budibase/packages/server/src/api/routes/automation.js

86 lines
2 KiB
JavaScript
Raw Normal View History

2020-05-21 04:02:46 +12:00
const Router = require("@koa/router")
const controller = require("../controllers/automation")
2020-05-28 04:23:01 +12:00
const authorized = require("../../middleware/authorized")
const {
BUILDER,
2022-11-18 03:59:18 +13:00
PermissionLevel,
PermissionType,
} = require("@budibase/backend-core/permissions")
const { bodyResource, paramResource } = require("../../middleware/resourceId")
const {
middleware: appInfoMiddleware,
AppType,
} = require("../../middleware/appInfo")
const { automationValidator } = require("./utils/validators")
2020-05-21 04:02:46 +12:00
const router = new Router()
2020-05-21 04:02:46 +12:00
router
2020-09-15 01:35:03 +12:00
.get(
"/api/automations/trigger/list",
2020-09-15 01:35:03 +12:00
authorized(BUILDER),
controller.getTriggerList
)
.get(
"/api/automations/action/list",
2020-09-15 01:35:03 +12:00
authorized(BUILDER),
controller.getActionList
)
.get(
"/api/automations/definitions/list",
authorized(BUILDER),
controller.getDefinitionList
)
.get("/api/automations", authorized(BUILDER), controller.fetch)
.get(
"/api/automations/:id",
paramResource("id"),
authorized(BUILDER),
controller.find
)
2020-09-15 01:35:03 +12:00
.put(
"/api/automations",
bodyResource("_id"),
2020-09-15 01:35:03 +12:00
authorized(BUILDER),
automationValidator(true),
2020-09-15 01:35:03 +12:00
controller.update
)
.post(
"/api/automations",
2020-09-15 01:35:03 +12:00
authorized(BUILDER),
automationValidator(false),
2020-09-15 01:35:03 +12:00
controller.create
)
.post(
"/api/automations/logs/search",
authorized(BUILDER),
controller.logSearch
)
.delete(
"/api/automations/logs",
authorized(BUILDER),
controller.clearLogError
)
.delete(
"/api/automations/:id/:rev",
paramResource("id"),
authorized(BUILDER),
controller.destroy
)
.post(
"/api/automations/:id/trigger",
appInfoMiddleware({ appType: AppType.PROD }),
paramResource("id"),
2022-11-18 03:59:18 +13:00
authorized(PermissionType.AUTOMATION, PermissionLevel.EXECUTE),
controller.trigger
)
.post(
"/api/automations/:id/test",
appInfoMiddleware({ appType: AppType.DEV }),
paramResource("id"),
2022-11-18 03:59:18 +13:00
authorized(PermissionType.AUTOMATION, PermissionLevel.EXECUTE),
controller.test
)
2020-05-21 04:02:46 +12:00
module.exports = router