1
0
Fork 0
mirror of synced 2024-09-21 20:01:32 +12:00
budibase/packages/server/src/api/routes/query.ts
melohagan 896b879ce7
Feature/query array schema (#13118)
* Revert "Revert "Add nestedSchemaFields to RestQueryViewer (#13102)""

This reverts commit 6545af12fa.

* Revert "Revert "Dynamic schema generation for query arrays: bug fix and refactor (#13…""

This reverts commit ae4bc362c3.
2024-02-22 17:06:08 +00:00

62 lines
1.6 KiB
TypeScript

import Router from "@koa/router"
import * as queryController from "../controllers/query"
import authorized from "../../middleware/authorized"
import { permissions } from "@budibase/backend-core"
import {
bodyResource,
bodySubResource,
paramResource,
} from "../../middleware/resourceId"
import {
generateQueryValidation,
generateQueryPreviewValidation,
} from "../controllers/query/validation"
const { BUILDER, PermissionType, PermissionLevel } = permissions
const router: Router = new Router()
router
.get("/api/queries", authorized(BUILDER), queryController.fetch)
.post(
"/api/queries",
bodySubResource("datasourceId", "_id"),
authorized(BUILDER),
generateQueryValidation(),
queryController.save
)
.post("/api/queries/import", authorized(BUILDER), queryController.import)
.post(
"/api/queries/preview",
bodyResource("datasourceId"),
authorized(BUILDER),
generateQueryPreviewValidation(),
queryController.preview
)
.get(
"/api/queries/:queryId",
paramResource("queryId"),
authorized(PermissionType.QUERY, PermissionLevel.READ),
queryController.find
)
// DEPRECATED - use new query endpoint for future work
.post(
"/api/queries/:queryId",
paramResource("queryId"),
authorized(PermissionType.QUERY, PermissionLevel.WRITE),
queryController.executeV1
)
.delete(
"/api/queries/:queryId/:revId",
paramResource("queryId"),
authorized(BUILDER),
queryController.destroy
)
.post(
"/api/v2/queries/:queryId",
paramResource("queryId"),
authorized(PermissionType.QUERY, PermissionLevel.WRITE),
queryController.executeV2 as any
)
export default router