2020-06-12 21:42:55 +02:00
|
|
|
const Router = require("@koa/router")
|
2020-10-09 20:10:28 +02:00
|
|
|
const rowController = require("../controllers/row")
|
2020-06-12 21:42:55 +02:00
|
|
|
const authorized = require("../../middleware/authorized")
|
2020-10-06 20:13:41 +02:00
|
|
|
const usage = require("../../middleware/usageQuota")
|
2021-02-08 18:22:07 +01:00
|
|
|
const {
|
|
|
|
paramResource,
|
|
|
|
paramSubResource,
|
|
|
|
} = require("../../middleware/resourceId")
|
2020-11-11 18:34:15 +01:00
|
|
|
const {
|
|
|
|
PermissionLevels,
|
|
|
|
PermissionTypes,
|
2021-05-14 16:43:41 +02:00
|
|
|
} = require("@budibase/auth/permissions")
|
2020-06-12 21:42:55 +02:00
|
|
|
|
|
|
|
const router = Router()
|
|
|
|
|
|
|
|
router
|
2020-09-29 13:02:06 +02:00
|
|
|
.get(
|
2020-10-09 20:10:28 +02:00
|
|
|
"/api/:tableId/:rowId/enrich",
|
2021-02-08 18:22:07 +01:00
|
|
|
paramSubResource("tableId", "rowId"),
|
2020-11-11 18:34:15 +01:00
|
|
|
authorized(PermissionTypes.TABLE, PermissionLevels.READ),
|
2020-10-09 20:10:28 +02:00
|
|
|
rowController.fetchEnrichedRow
|
2020-09-29 13:02:06 +02:00
|
|
|
)
|
2020-06-12 21:42:55 +02:00
|
|
|
.get(
|
2020-10-09 20:10:28 +02:00
|
|
|
"/api/:tableId/rows",
|
2021-02-08 18:22:07 +01:00
|
|
|
paramResource("tableId"),
|
2020-11-11 18:34:15 +01:00
|
|
|
authorized(PermissionTypes.TABLE, PermissionLevels.READ),
|
2021-06-15 14:03:55 +02:00
|
|
|
rowController.fetch
|
2020-06-12 21:42:55 +02:00
|
|
|
)
|
|
|
|
.get(
|
2020-10-09 20:10:28 +02:00
|
|
|
"/api/:tableId/rows/:rowId",
|
2021-02-08 18:22:07 +01:00
|
|
|
paramSubResource("tableId", "rowId"),
|
2020-11-11 18:34:15 +01:00
|
|
|
authorized(PermissionTypes.TABLE, PermissionLevels.READ),
|
2020-10-09 20:10:28 +02:00
|
|
|
rowController.find
|
2020-06-12 21:42:55 +02:00
|
|
|
)
|
2021-06-14 20:05:39 +02:00
|
|
|
.post(
|
|
|
|
"/api/:tableId/search",
|
|
|
|
paramResource("tableId"),
|
|
|
|
authorized(PermissionTypes.TABLE, PermissionLevels.READ),
|
|
|
|
rowController.search
|
|
|
|
)
|
2021-06-21 23:29:32 +02:00
|
|
|
// DEPRECATED - this is an old API, but for backwards compat it needs to be
|
|
|
|
// supported still
|
2021-06-21 23:42:57 +02:00
|
|
|
.post(
|
|
|
|
"/api/search/:tableId/rows",
|
2021-06-21 23:29:32 +02:00
|
|
|
paramResource("tableId"),
|
|
|
|
authorized(PermissionTypes.TABLE, PermissionLevels.READ),
|
2021-06-21 23:42:57 +02:00
|
|
|
rowController.search
|
|
|
|
)
|
2020-06-12 21:42:55 +02:00
|
|
|
.post(
|
2020-10-09 20:10:28 +02:00
|
|
|
"/api/:tableId/rows",
|
2021-02-08 18:22:07 +01:00
|
|
|
paramResource("tableId"),
|
2020-11-11 18:34:15 +01:00
|
|
|
authorized(PermissionTypes.TABLE, PermissionLevels.WRITE),
|
2020-10-06 20:13:41 +02:00
|
|
|
usage,
|
2020-10-09 20:10:28 +02:00
|
|
|
rowController.save
|
2020-06-12 21:42:55 +02:00
|
|
|
)
|
2020-09-10 10:36:14 +02:00
|
|
|
.patch(
|
2021-06-14 20:05:39 +02:00
|
|
|
"/api/:tableId/rows",
|
|
|
|
paramResource("tableId"),
|
2020-11-11 18:34:15 +01:00
|
|
|
authorized(PermissionTypes.TABLE, PermissionLevels.WRITE),
|
2020-10-09 20:10:28 +02:00
|
|
|
rowController.patch
|
2020-09-10 10:36:14 +02:00
|
|
|
)
|
2020-06-12 21:42:55 +02:00
|
|
|
.post(
|
2020-10-09 20:10:28 +02:00
|
|
|
"/api/:tableId/rows/validate",
|
2021-02-08 18:22:07 +01:00
|
|
|
paramResource("tableId"),
|
2020-11-11 18:34:15 +01:00
|
|
|
authorized(PermissionTypes.TABLE, PermissionLevels.WRITE),
|
2020-10-09 20:10:28 +02:00
|
|
|
rowController.validate
|
2020-06-12 21:42:55 +02:00
|
|
|
)
|
|
|
|
.delete(
|
2021-06-11 20:54:47 +02:00
|
|
|
"/api/:tableId/rows",
|
|
|
|
paramResource("tableId"),
|
2020-11-11 18:34:15 +01:00
|
|
|
authorized(PermissionTypes.TABLE, PermissionLevels.WRITE),
|
2020-10-06 20:13:41 +02:00
|
|
|
usage,
|
2020-10-09 20:10:28 +02:00
|
|
|
rowController.destroy
|
2020-06-12 21:42:55 +02:00
|
|
|
)
|
|
|
|
|
|
|
|
module.exports = router
|