const API = require('../../../../lib/API') const db = require('../../../../plugin/DataBase/db') const AccessControl = require('../../../../lib/AccessControl') const { BaseStdResponse } = require('../../../../BaseStdResponse') class GlobalGet extends API { constructor() { super() this.setPath('/Admin/Lepao/Proxy/Global') this.setMethod('get') } async onRequest(req, res) { const { uuid, session } = req.query if ([uuid, session].some((v) => v === '' || v === null || v === undefined)) { return res.json({ ...BaseStdResponse.MISSING_PARAMETER }) } if (!await AccessControl.checkSession(uuid, session)) { return res.status(401).json({ ...BaseStdResponse.ACCESS_DENIED }) } const permission = await AccessControl.getPermission(uuid) if (!permission.includes('admin') && !permission.includes('service')) { return res.json({ ...BaseStdResponse.PERMISSION_DENIED }) } const rows = await db.query('SELECT * FROM lepao_proxy_global WHERE id = 1 LIMIT 1') const row = rows?.[0] if (!row) { return res.json({ ...BaseStdResponse.ERR, msg: '全局配置未初始化,请执行 scripts/lepao_proxy_pool.sql' }) } return res.json({ ...BaseStdResponse.OK, data: row }) } } module.exports.GlobalGet = GlobalGet