2020-05-07 21:53:34 +12:00
|
|
|
const Router = require("@koa/router")
|
2020-05-22 01:31:23 +12:00
|
|
|
const viewController = require("../controllers/view")
|
2020-10-10 07:10:28 +13:00
|
|
|
const rowController = require("../controllers/row")
|
2020-05-22 01:31:23 +12:00
|
|
|
const authorized = require("../../middleware/authorized")
|
|
|
|
const { BUILDER, READ_VIEW } = require("../../utilities/accessLevels")
|
2020-10-08 05:56:47 +13:00
|
|
|
const usage = require("../../middleware/usageQuota")
|
2020-04-08 22:18:30 +12:00
|
|
|
|
2020-05-07 21:53:34 +12:00
|
|
|
const router = Router()
|
2020-04-08 22:18:30 +12:00
|
|
|
|
|
|
|
router
|
2020-05-22 01:31:23 +12:00
|
|
|
.get(
|
2020-06-19 03:59:31 +12:00
|
|
|
"/api/views/:viewName",
|
2020-05-22 01:31:23 +12:00
|
|
|
authorized(READ_VIEW, ctx => ctx.params.viewName),
|
2020-10-10 07:10:28 +13:00
|
|
|
rowController.fetchView
|
2020-05-22 01:31:23 +12:00
|
|
|
)
|
2020-08-18 08:01:43 +12:00
|
|
|
.get("/api/views", authorized(BUILDER), viewController.fetch)
|
2020-10-08 05:56:47 +13:00
|
|
|
.delete(
|
|
|
|
"/api/views/:viewName",
|
|
|
|
authorized(BUILDER),
|
|
|
|
usage,
|
|
|
|
viewController.destroy
|
|
|
|
)
|
|
|
|
.post("/api/views", authorized(BUILDER), usage, viewController.save)
|
2020-09-24 10:56:26 +12:00
|
|
|
.post("/api/views/export", authorized(BUILDER), viewController.exportView)
|
|
|
|
.get(
|
|
|
|
"/api/views/export/download/:fileName",
|
|
|
|
authorized(BUILDER),
|
|
|
|
viewController.downloadExport
|
|
|
|
)
|
2020-04-08 22:18:30 +12:00
|
|
|
|
2020-05-07 21:53:34 +12:00
|
|
|
module.exports = router
|