2020-06-13 07:42:55 +12:00
|
|
|
const Router = require("@koa/router")
|
2020-10-10 07:10:28 +13:00
|
|
|
const rowController = require("../controllers/row")
|
2020-06-13 07:42:55 +12:00
|
|
|
const authorized = require("../../middleware/authorized")
|
2020-10-07 07:13:41 +13:00
|
|
|
const usage = require("../../middleware/usageQuota")
|
2020-11-12 06:34:15 +13:00
|
|
|
const {
|
|
|
|
PermissionLevels,
|
|
|
|
PermissionTypes,
|
|
|
|
} = require("../../utilities/security/permissions")
|
2020-06-13 07:42:55 +12:00
|
|
|
|
|
|
|
const router = Router()
|
|
|
|
|
|
|
|
router
|
2020-09-30 00:02:06 +13:00
|
|
|
.get(
|
2020-10-10 07:10:28 +13:00
|
|
|
"/api/:tableId/:rowId/enrich",
|
2020-11-12 06:34:15 +13:00
|
|
|
authorized(PermissionTypes.TABLE, PermissionLevels.READ),
|
2020-10-10 07:10:28 +13:00
|
|
|
rowController.fetchEnrichedRow
|
2020-09-30 00:02:06 +13:00
|
|
|
)
|
2020-06-13 07:42:55 +12:00
|
|
|
.get(
|
2020-10-10 07:10:28 +13:00
|
|
|
"/api/:tableId/rows",
|
2020-11-12 06:34:15 +13:00
|
|
|
authorized(PermissionTypes.TABLE, PermissionLevels.READ),
|
2020-10-10 07:10:28 +13:00
|
|
|
rowController.fetchTableRows
|
2020-06-13 07:42:55 +12:00
|
|
|
)
|
|
|
|
.get(
|
2020-10-10 07:10:28 +13:00
|
|
|
"/api/:tableId/rows/:rowId",
|
2020-11-12 06:34:15 +13:00
|
|
|
authorized(PermissionTypes.TABLE, PermissionLevels.READ),
|
2020-10-10 07:10:28 +13:00
|
|
|
rowController.find
|
2020-06-13 07:42:55 +12:00
|
|
|
)
|
|
|
|
.post(
|
2020-10-10 07:10:28 +13:00
|
|
|
"/api/:tableId/rows",
|
2020-11-12 06:34:15 +13:00
|
|
|
authorized(PermissionTypes.TABLE, PermissionLevels.WRITE),
|
2020-10-07 07:13:41 +13:00
|
|
|
usage,
|
2020-10-10 07:10:28 +13:00
|
|
|
rowController.save
|
2020-06-13 07:42:55 +12:00
|
|
|
)
|
2020-09-10 20:36:14 +12:00
|
|
|
.patch(
|
2020-10-10 07:10:28 +13:00
|
|
|
"/api/:tableId/rows/:id",
|
2020-11-12 06:34:15 +13:00
|
|
|
authorized(PermissionTypes.TABLE, PermissionLevels.WRITE),
|
2020-10-10 07:10:28 +13:00
|
|
|
rowController.patch
|
2020-09-10 20:36:14 +12:00
|
|
|
)
|
2020-06-13 07:42:55 +12:00
|
|
|
.post(
|
2020-10-10 07:10:28 +13:00
|
|
|
"/api/:tableId/rows/validate",
|
2020-11-12 06:34:15 +13:00
|
|
|
authorized(PermissionTypes.TABLE, PermissionLevels.WRITE),
|
2020-10-10 07:10:28 +13:00
|
|
|
rowController.validate
|
2020-06-13 07:42:55 +12:00
|
|
|
)
|
|
|
|
.delete(
|
2020-10-10 07:10:28 +13:00
|
|
|
"/api/:tableId/rows/:rowId/:revId",
|
2020-11-12 06:34:15 +13:00
|
|
|
authorized(PermissionTypes.TABLE, PermissionLevels.WRITE),
|
2020-10-07 07:13:41 +13:00
|
|
|
usage,
|
2020-10-10 07:10:28 +13:00
|
|
|
rowController.destroy
|
2020-06-13 07:42:55 +12:00
|
|
|
)
|
|
|
|
|
|
|
|
module.exports = router
|