AccessControl.js 804 B

12345678910111213141516171819202122232425
  1. const db = require('../plugin/DataBase/db')
  2. const Redis = require('../plugin/DataBase/Redis')
  3. class AccessControl {
  4. async checkSession(uuid, session) {
  5. return (await Redis.get(`userSession:${uuid}`)) === session
  6. }
  7. async getPermission(uuid) {
  8. const sql = 'SELECT permission FROM users WHERE uuid = ?'
  9. const rows = await db.query(sql, [uuid])
  10. return rows[0]?.permission || []
  11. }
  12. async checkJwAccount(uuid, username) {
  13. const sql = 'SELECT password FROM jw_account WHERE create_user = ? AND state = 1 AND username = ?'
  14. const rows = await db.query(sql, [uuid, username]);
  15. if (!rows || rows.length !== 1 || !rows[0].password)
  16. return false
  17. return rows[0]?.password
  18. }
  19. }
  20. module.exports = new AccessControl();