2020-05-07 21:53:34 +12:00
|
|
|
const Router = require("@koa/router")
|
|
|
|
const controller = require("../controllers/user")
|
2020-05-22 01:31:23 +12:00
|
|
|
const authorized = require("../../middleware/authorized")
|
2020-11-12 06:34:15 +13:00
|
|
|
const {
|
|
|
|
PermissionLevels,
|
|
|
|
PermissionTypes,
|
|
|
|
} = require("../../utilities/security/permissions")
|
2020-10-08 05:56:47 +13:00
|
|
|
const usage = require("../../middleware/usageQuota")
|
2020-04-30 07:29:42 +12:00
|
|
|
|
2020-05-07 21:53:34 +12:00
|
|
|
const router = Router()
|
2020-04-30 07:29:42 +12:00
|
|
|
|
2020-05-05 04:13:57 +12:00
|
|
|
router
|
2020-11-12 06:34:15 +13:00
|
|
|
.get(
|
|
|
|
"/api/users",
|
|
|
|
authorized(PermissionTypes.USER, PermissionLevels.READ),
|
|
|
|
controller.fetch
|
|
|
|
)
|
|
|
|
.get(
|
2020-12-05 01:22:45 +13:00
|
|
|
"/api/users/:email",
|
2020-11-12 06:34:15 +13:00
|
|
|
authorized(PermissionTypes.USER, PermissionLevels.READ),
|
|
|
|
controller.find
|
|
|
|
)
|
|
|
|
.put(
|
2021-03-10 06:09:18 +13:00
|
|
|
"/api/users",
|
2020-11-12 06:34:15 +13:00
|
|
|
authorized(PermissionTypes.USER, PermissionLevels.WRITE),
|
|
|
|
controller.update
|
|
|
|
)
|
|
|
|
.post(
|
|
|
|
"/api/users",
|
|
|
|
authorized(PermissionTypes.USER, PermissionLevels.WRITE),
|
|
|
|
usage,
|
|
|
|
controller.create
|
|
|
|
)
|
2020-05-22 01:31:23 +12:00
|
|
|
.delete(
|
2020-12-05 01:22:45 +13:00
|
|
|
"/api/users/:email",
|
2020-11-12 06:34:15 +13:00
|
|
|
authorized(PermissionTypes.USER, PermissionLevels.WRITE),
|
2020-10-08 05:56:47 +13:00
|
|
|
usage,
|
2020-05-22 01:31:23 +12:00
|
|
|
controller.destroy
|
|
|
|
)
|
2020-04-30 07:29:42 +12:00
|
|
|
|
2020-05-07 21:53:34 +12:00
|
|
|
module.exports = router
|