GetUserInfo.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  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 GetRepoList extends API {
  6. constructor() {
  7. super();
  8. this.setPath('/User/Info')
  9. this.setMethod('GET')
  10. }
  11. async onRequest(req, res) {
  12. let {
  13. uuid,
  14. session
  15. } = req.query
  16. if ([uuid, session].some(value => value === '' || value === null || value === undefined))
  17. return res.json({
  18. ...BaseStdResponse.MISSING_PARAMETER
  19. })
  20. // 检查 session
  21. if (!await AccessControl.checkSession(uuid, session))
  22. return res.status(401).json({
  23. ...BaseStdResponse.ACCESS_DENIED
  24. })
  25. let sql = 'SELECT uuid, session, username, permission AS roles, avatar, email, registTime FROM users WHERE uuid = ?'
  26. let rows = await db.query(sql, [uuid])
  27. if (!rows || rows.length === 0)
  28. return res.json({
  29. ...BaseStdResponse.MISSING_FILE,
  30. msg: '获取用户信息失败!'
  31. })
  32. res.json({
  33. ...BaseStdResponse.OK,
  34. data: rows[0]
  35. })
  36. }
  37. }
  38. module.exports.GetRepoList = GetRepoList;