ChangeLepaoCount.js 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. const API = require("../../../../lib/API");
  2. const db = require("../../../../plugin/DataBase/db");
  3. const AccessControl = require("../../../../lib/AccessControl");
  4. const { BaseStdResponse } = require("../../../../BaseStdResponse");
  5. class ChangeLepaoCount extends API {
  6. constructor() {
  7. super()
  8. this.setPath('/Admin/User/ChangeLepaoCount')
  9. this.setMethod('POST')
  10. }
  11. async onRequest(req, res) {
  12. let {
  13. uuid,
  14. session,
  15. userid,
  16. lepao_count
  17. } = req.body
  18. if ([uuid, session, userid, lepao_count].some(value => value === '' || value === null || value === undefined))
  19. return res.json({
  20. ...BaseStdResponse.MISSING_PARAMETER
  21. })
  22. // 检查 session
  23. if (!await AccessControl.checkSession(uuid, session))
  24. return res.status(401).json({
  25. ...BaseStdResponse.ACCESS_DENIED
  26. })
  27. // 检查权限
  28. let permission = await AccessControl.getPermission(uuid)
  29. if (!permission.includes("admin") && !permission.includes("service"))
  30. return res.json({
  31. ...BaseStdResponse.PERMISSION_DENIED
  32. })
  33. let sql = 'UPDATE users SET lepao_count = ? WHERE uuid = ?'
  34. let r = await db.query(sql, [lepao_count, userid])
  35. if (!r || r.affectedRows !== 1)
  36. return res.json({
  37. ...BaseStdResponse.DATABASE_ERR
  38. })
  39. res.json({
  40. ...BaseStdResponse.OK
  41. })
  42. }
  43. }
  44. module.exports.ChangeLepaoCount = ChangeLepaoCount