88 lines
2.1 KiB
TypeScript
88 lines
2.1 KiB
TypeScript
import Router from "@koa/router"
|
|
import * as controller from "../controllers/automation"
|
|
import authorized from "../../middleware/authorized"
|
|
import { permissions } from "@budibase/backend-core"
|
|
import { bodyResource, paramResource } from "../../middleware/resourceId"
|
|
import {
|
|
middleware as appInfoMiddleware,
|
|
AppType,
|
|
} from "../../middleware/appInfo"
|
|
import { automationValidator } from "./utils/validators"
|
|
|
|
const router: Router = new Router()
|
|
|
|
router
|
|
.get(
|
|
"/api/automations/trigger/list",
|
|
authorized(permissions.BUILDER),
|
|
controller.getTriggerList
|
|
)
|
|
.get(
|
|
"/api/automations/action/list",
|
|
authorized(permissions.BUILDER),
|
|
controller.getActionList
|
|
)
|
|
.get(
|
|
"/api/automations/definitions/list",
|
|
authorized(permissions.BUILDER),
|
|
controller.getDefinitionList
|
|
)
|
|
.get("/api/automations", authorized(permissions.BUILDER), controller.fetch)
|
|
.get(
|
|
"/api/automations/:id",
|
|
paramResource("id"),
|
|
authorized(permissions.BUILDER),
|
|
controller.find
|
|
)
|
|
.put(
|
|
"/api/automations",
|
|
bodyResource("_id"),
|
|
authorized(permissions.BUILDER),
|
|
automationValidator(true),
|
|
controller.update
|
|
)
|
|
.post(
|
|
"/api/automations",
|
|
authorized(permissions.BUILDER),
|
|
automationValidator(false),
|
|
controller.create
|
|
)
|
|
.post(
|
|
"/api/automations/logs/search",
|
|
authorized(permissions.BUILDER),
|
|
controller.logSearch
|
|
)
|
|
.delete(
|
|
"/api/automations/logs",
|
|
authorized(permissions.BUILDER),
|
|
controller.clearLogError
|
|
)
|
|
.delete(
|
|
"/api/automations/:id/:rev",
|
|
paramResource("id"),
|
|
authorized(permissions.BUILDER),
|
|
controller.destroy
|
|
)
|
|
.post(
|
|
"/api/automations/:id/trigger",
|
|
appInfoMiddleware({ appType: AppType.PROD }),
|
|
paramResource("id"),
|
|
authorized(
|
|
permissions.PermissionType.AUTOMATION,
|
|
permissions.PermissionLevel.EXECUTE
|
|
),
|
|
controller.trigger
|
|
)
|
|
.post(
|
|
"/api/automations/:id/test",
|
|
appInfoMiddleware({ appType: AppType.DEV }),
|
|
paramResource("id"),
|
|
authorized(
|
|
permissions.PermissionType.AUTOMATION,
|
|
permissions.PermissionLevel.EXECUTE
|
|
),
|
|
controller.test
|
|
)
|
|
|
|
export default router
|