2020-05-21 04:02:46 +12:00
|
|
|
const Router = require("@koa/router")
|
2020-09-22 00:49:34 +12:00
|
|
|
const controller = require("../controllers/automation")
|
2020-05-28 04:23:01 +12:00
|
|
|
const authorized = require("../../middleware/authorized")
|
2020-11-12 06:34:15 +13:00
|
|
|
const {
|
|
|
|
BUILDER,
|
|
|
|
PermissionLevels,
|
|
|
|
PermissionTypes,
|
2022-01-11 08:33:00 +13:00
|
|
|
} = require("@budibase/backend-core/permissions")
|
2021-02-09 06:22:07 +13:00
|
|
|
const { bodyResource, paramResource } = require("../../middleware/resourceId")
|
2021-09-09 06:29:28 +12:00
|
|
|
const {
|
|
|
|
middleware: appInfoMiddleware,
|
|
|
|
AppType,
|
|
|
|
} = require("../../middleware/appInfo")
|
2022-02-25 00:39:38 +13:00
|
|
|
const { automationValidator } = require("./utils/validators")
|
2020-05-21 04:02:46 +12:00
|
|
|
|
|
|
|
const router = Router()
|
|
|
|
|
|
|
|
router
|
2020-09-15 01:35:03 +12:00
|
|
|
.get(
|
2020-09-22 00:49:34 +12:00
|
|
|
"/api/automations/trigger/list",
|
2020-09-15 01:35:03 +12:00
|
|
|
authorized(BUILDER),
|
|
|
|
controller.getTriggerList
|
|
|
|
)
|
|
|
|
.get(
|
2020-09-22 00:49:34 +12:00
|
|
|
"/api/automations/action/list",
|
2020-09-15 01:35:03 +12:00
|
|
|
authorized(BUILDER),
|
|
|
|
controller.getActionList
|
|
|
|
)
|
2020-09-15 02:34:09 +12:00
|
|
|
.get(
|
2020-09-22 00:49:34 +12:00
|
|
|
"/api/automations/definitions/list",
|
2020-09-15 02:34:09 +12:00
|
|
|
authorized(BUILDER),
|
|
|
|
controller.getDefinitionList
|
|
|
|
)
|
2020-09-22 00:49:34 +12:00
|
|
|
.get("/api/automations", authorized(BUILDER), controller.fetch)
|
2021-02-09 06:22:07 +13:00
|
|
|
.get(
|
|
|
|
"/api/automations/:id",
|
|
|
|
paramResource("id"),
|
|
|
|
authorized(BUILDER),
|
|
|
|
controller.find
|
|
|
|
)
|
2020-09-15 01:35:03 +12:00
|
|
|
.put(
|
2020-09-22 00:49:34 +12:00
|
|
|
"/api/automations",
|
2021-02-09 06:22:07 +13:00
|
|
|
bodyResource("_id"),
|
2020-09-15 01:35:03 +12:00
|
|
|
authorized(BUILDER),
|
2022-02-25 00:39:38 +13:00
|
|
|
automationValidator(true),
|
2020-09-15 01:35:03 +12:00
|
|
|
controller.update
|
|
|
|
)
|
|
|
|
.post(
|
2020-09-22 00:49:34 +12:00
|
|
|
"/api/automations",
|
2020-09-15 01:35:03 +12:00
|
|
|
authorized(BUILDER),
|
2022-02-25 00:39:38 +13:00
|
|
|
automationValidator(false),
|
2020-09-15 01:35:03 +12:00
|
|
|
controller.create
|
|
|
|
)
|
2021-09-09 06:29:28 +12:00
|
|
|
.delete(
|
|
|
|
"/api/automations/:id/:rev",
|
|
|
|
paramResource("id"),
|
|
|
|
authorized(BUILDER),
|
|
|
|
controller.destroy
|
|
|
|
)
|
2022-06-02 03:01:06 +12:00
|
|
|
.post(
|
|
|
|
"/api/automations/logs/search",
|
|
|
|
authorized(BUILDER),
|
|
|
|
controller.logSearch
|
|
|
|
)
|
2020-10-23 05:48:32 +13:00
|
|
|
.post(
|
|
|
|
"/api/automations/:id/trigger",
|
2021-09-09 06:29:28 +12:00
|
|
|
appInfoMiddleware({ appType: AppType.PROD }),
|
2021-02-09 06:22:07 +13:00
|
|
|
paramResource("id"),
|
2020-11-12 06:34:15 +13:00
|
|
|
authorized(PermissionTypes.AUTOMATION, PermissionLevels.EXECUTE),
|
2021-09-09 01:08:22 +12:00
|
|
|
controller.trigger
|
|
|
|
)
|
|
|
|
.post(
|
|
|
|
"/api/automations/:id/test",
|
2021-09-09 06:29:28 +12:00
|
|
|
appInfoMiddleware({ appType: AppType.DEV }),
|
2021-09-09 01:08:22 +12:00
|
|
|
paramResource("id"),
|
|
|
|
authorized(PermissionTypes.AUTOMATION, PermissionLevels.EXECUTE),
|
2021-09-08 06:06:20 +12:00
|
|
|
controller.test
|
2020-10-23 05:48:32 +13:00
|
|
|
)
|
2020-05-21 04:02:46 +12:00
|
|
|
|
|
|
|
module.exports = router
|