UpdateResourceRule.js 1.3 KB

12345678910111213141516171819202122232425262728293031323334
  1. const API = require("../../../lib/API")
  2. const AccessControl = require("../../../lib/AccessControl")
  3. const { BaseStdResponse } = require("../../../BaseStdResponse")
  4. class UpdateResourceRule extends API {
  5. constructor() {
  6. super()
  7. this.setPath("/Admin/Permission/Resource")
  8. this.setMethod("POST")
  9. this.setPermissionCode("action.user.permissionManage")
  10. }
  11. async onRequest(req, res) {
  12. const { id, required_codes, enabled } = req.body
  13. if ([id, required_codes].some(value => value === "" || value === null || value === undefined))
  14. return res.json({ ...BaseStdResponse.MISSING_PARAMETER })
  15. if (!Array.isArray(required_codes))
  16. return res.json({ ...BaseStdResponse.ERR, msg: "权限列表格式错误" })
  17. try {
  18. const ok = await AccessControl.updateResourceRule({ id, required_codes, enabled })
  19. if (!ok)
  20. return res.json({ ...BaseStdResponse.MISSING_FILE, msg: "未找到权限规则" })
  21. return res.json({ ...BaseStdResponse.OK, msg: "权限规则已保存" })
  22. } catch (error) {
  23. return res.json({ ...BaseStdResponse.ERR, msg: error.message || "保存权限规则失败" })
  24. }
  25. }
  26. }
  27. module.exports.UpdateResourceRule = UpdateResourceRule