2020-12-19 07:19:43 +13:00
|
|
|
const Router = require("@koa/router")
|
|
|
|
const datasourceController = require("../controllers/datasource")
|
|
|
|
const authorized = require("../../middleware/authorized")
|
|
|
|
const {
|
|
|
|
BUILDER,
|
|
|
|
PermissionLevels,
|
|
|
|
PermissionTypes,
|
2022-01-11 08:33:00 +13:00
|
|
|
} = require("@budibase/backend-core/permissions")
|
2022-02-25 00:39:38 +13:00
|
|
|
const {
|
|
|
|
datasourceValidator,
|
|
|
|
datasourceQueryValidator,
|
|
|
|
} = require("./utils/validators")
|
2020-12-19 07:19:43 +13:00
|
|
|
|
|
|
|
const router = Router()
|
|
|
|
|
|
|
|
router
|
|
|
|
.get("/api/datasources", authorized(BUILDER), datasourceController.fetch)
|
|
|
|
.get(
|
2021-03-11 00:56:52 +13:00
|
|
|
"/api/datasources/:datasourceId",
|
2020-12-19 07:19:43 +13:00
|
|
|
authorized(PermissionTypes.TABLE, PermissionLevels.READ),
|
|
|
|
datasourceController.find
|
|
|
|
)
|
2021-08-18 09:57:11 +12:00
|
|
|
.put(
|
|
|
|
"/api/datasources/:datasourceId",
|
|
|
|
authorized(PermissionTypes.TABLE, PermissionLevels.READ),
|
|
|
|
datasourceController.update
|
|
|
|
)
|
2021-06-05 01:53:49 +12:00
|
|
|
.post(
|
|
|
|
"/api/datasources/query",
|
|
|
|
authorized(PermissionTypes.TABLE, PermissionLevels.READ),
|
2022-02-25 00:39:38 +13:00
|
|
|
datasourceQueryValidator(),
|
2021-06-05 01:53:49 +12:00
|
|
|
datasourceController.query
|
|
|
|
)
|
2021-06-17 02:45:57 +12:00
|
|
|
.post(
|
|
|
|
"/api/datasources/:datasourceId/schema",
|
|
|
|
authorized(BUILDER),
|
|
|
|
datasourceController.buildSchemaFromDb
|
|
|
|
)
|
2021-06-12 04:52:08 +12:00
|
|
|
.post(
|
|
|
|
"/api/datasources",
|
|
|
|
authorized(BUILDER),
|
2022-02-25 00:39:38 +13:00
|
|
|
datasourceValidator(),
|
2021-06-12 04:52:08 +12:00
|
|
|
datasourceController.save
|
|
|
|
)
|
2020-12-19 07:19:43 +13:00
|
|
|
.delete(
|
|
|
|
"/api/datasources/:datasourceId/:revId",
|
|
|
|
authorized(BUILDER),
|
|
|
|
datasourceController.destroy
|
|
|
|
)
|
|
|
|
|
|
|
|
module.exports = router
|