|
@@ -0,0 +1,65 @@
|
|
|
|
|
+const API = require("../../../lib/API");
|
|
|
|
|
+const db = require("../../../plugin/DataBase/db");
|
|
|
|
|
+const AccessControl = require("../../../lib/AccessControl");
|
|
|
|
|
+const { BaseStdResponse } = require("../../../BaseStdResponse");
|
|
|
|
|
+
|
|
|
|
|
+class AddRule extends API {
|
|
|
|
|
+ constructor() {
|
|
|
|
|
+ super()
|
|
|
|
|
+
|
|
|
|
|
+ this.setPath('/QK/Rule')
|
|
|
|
|
+ this.setMethod('POST')
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ async onRequest(req, res) {
|
|
|
|
|
+ let {
|
|
|
|
|
+ uuid,
|
|
|
|
|
+ session,
|
|
|
|
|
+ id,
|
|
|
|
|
+ name,
|
|
|
|
|
+ account,
|
|
|
|
|
+ crouse,
|
|
|
|
|
+ state
|
|
|
|
|
+ } = req.body
|
|
|
|
|
+
|
|
|
|
|
+ if ([uuid, session, name, account, crouse].some(value => value === '' || value === null || value === undefined) || (loop && !day_of_week))
|
|
|
|
|
+ return res.json({
|
|
|
|
|
+ ...BaseStdResponse.MISSING_PARAMETER
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ // 检查 session
|
|
|
|
|
+ if (!await AccessControl.checkSession(uuid, session))
|
|
|
|
|
+ return res.status(401).json({
|
|
|
|
|
+ ...BaseStdResponse.ACCESS_DENIED
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ let sql, r
|
|
|
|
|
+ const time = new Date().getTime()
|
|
|
|
|
+
|
|
|
|
|
+ if (!id) {
|
|
|
|
|
+ sql = 'INSERT INTO qk_rule (\`name\`, create_user, create_time, account, crouse) VALUES (?, ?, ?, ?, ?)'
|
|
|
|
|
+ r = await db.query(sql, [name, uuid, time, account, crouse])
|
|
|
|
|
+ } else {
|
|
|
|
|
+ sql = 'UPDATE qk_rule SET \`name\` = ?, account = ?, crouse = ?, update_time = ?, \`state\` = ? WHERE id = ? AND create_user = ?'
|
|
|
|
|
+ r = await db.query(sql, [name, account, crouse, time, state, id, uuid])
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ try {
|
|
|
|
|
+ if (r && r.affectedRows > 0) {
|
|
|
|
|
+ res.json({
|
|
|
|
|
+ ...BaseStdResponse.OK
|
|
|
|
|
+ })
|
|
|
|
|
+ } else {
|
|
|
|
|
+ res.json({ ...BaseStdResponse.ERR, endpoint: 7894378, msg: '添加规则失败!数据库错误' })
|
|
|
|
|
+ }
|
|
|
|
|
+ } catch (err) {
|
|
|
|
|
+ this.logger.error(`添加规则失败!${err.stack}`)
|
|
|
|
|
+ res.json({
|
|
|
|
|
+ ...BaseStdResponse.ERR,
|
|
|
|
|
+ msg: "添加规则失败!",
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
|
|
+module.exports.AddRule = AddRule;
|