const API = require('../../../../lib/API') const AccessControl = require('../../../../lib/AccessControl') const { BaseStdResponse } = require('../../../../BaseStdResponse') const { importFromText } = require('../../../../lib/Lepao/lepaoProxyPoolService') class ImportText extends API { constructor() { super() this.setPath('/Admin/Lepao/Proxy/ImportText') this.setMethod('post') } async onRequest(req, res) { const { uuid, session, text } = req.body 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 }) } try { const r = await importFromText(String(text || ''), 'manual') return res.json({ ...BaseStdResponse.OK, data: r }) } catch (e) { return res.json({ ...BaseStdResponse.ERR, msg: e.message || '导入失败' }) } } } module.exports.ImportText = ImportText