| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- const API = require('../../../lib/API')
- const { BaseStdResponse } = require('../../../BaseStdResponse')
- const AccessControl = require('../../../lib/AccessControl')
- const WeixinBindingService = require('../../../lib/AIChat/WeixinBindingService')
- class GetWeixinBinding extends API {
- constructor() {
- super()
- this.setPath('/AIChat/Weixin/Binding')
- 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 binding = await WeixinBindingService.refreshQrStatus(uuid)
- || await WeixinBindingService.getBindingByUser(uuid)
- return res.json({ ...BaseStdResponse.OK, data: binding })
- }
- }
- class CreateWeixinBinding extends API {
- constructor() {
- super()
- this.setPath('/AIChat/Weixin/Binding')
- this.setMethod('POST')
- }
- async onRequest(req, res) {
- const { uuid, session } = 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 result = await WeixinBindingService.createBinding(uuid)
- if (!result.ok) return res.json({ ...BaseStdResponse.ERR, msg: result.msg })
- return res.json({ ...BaseStdResponse.OK, data: result.data })
- }
- }
- class DeleteWeixinBinding extends API {
- constructor() {
- super()
- this.setPath('/AIChat/Weixin/Binding')
- this.setMethod('DELETE')
- }
- async onRequest(req, res) {
- const { uuid, session } = 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 })
- await WeixinBindingService.disableBinding(uuid)
- return res.json({ ...BaseStdResponse.OK })
- }
- }
- module.exports = {
- GetWeixinBinding,
- CreateWeixinBinding,
- DeleteWeixinBinding
- }
|