mirror of
https://github.com/chaos-zhu/easynode.git
synced 2026-06-06 19:40:08 +08:00
✨ 支持快捷脚本&简化客户端安装脚本
This commit is contained in:
52
server/app/controller/scripts.js
Normal file
52
server/app/controller/scripts.js
Normal file
@@ -0,0 +1,52 @@
|
||||
const { readScriptList, writeScriptList } = require('../utils')
|
||||
|
||||
async function getScriptList({ res }) {
|
||||
let data = await readScriptList()
|
||||
data = data.map(item => {
|
||||
return { ...item, id: item._id }
|
||||
})
|
||||
data?.sort((a, b) => Number(b.index || 0) - Number(a.index || 0))
|
||||
res.success({ data })
|
||||
}
|
||||
|
||||
const addScript = async ({ res, request }) => {
|
||||
let { body: { name, remark, content, index } } = request
|
||||
if (!name || !content) return res.fail({ data: false, msg: '参数错误' })
|
||||
index = Number(index) || 0
|
||||
let scriptsList = await readScriptList()
|
||||
let record = { name, remark, content, index }
|
||||
scriptsList.push(record)
|
||||
await writeScriptList(scriptsList)
|
||||
res.success({ data: '添加成功' })
|
||||
}
|
||||
|
||||
const updateScriptList = async ({ res, request }) => {
|
||||
let { params: { id } } = request
|
||||
let { body: { name, remark, content, index } } = request
|
||||
if (!name || !content) return res.fail({ data: false, msg: '参数错误' })
|
||||
let scriptsList = await readScriptList()
|
||||
let idx = scriptsList.findIndex(item => item._id === id)
|
||||
if (idx === -1) return res.fail({ data: false, msg: `脚本ID${ id }不存在` })
|
||||
const { _id } = scriptsList[idx]
|
||||
let record = Object.assign({ _id }, { name, remark, content, index })
|
||||
scriptsList.splice(idx, 1, record)
|
||||
await writeScriptList(scriptsList)
|
||||
res.success({ data: '修改成功' })
|
||||
}
|
||||
|
||||
const removeScript = async ({ res, request }) => {
|
||||
let { params: { id } } = request
|
||||
let scriptsList = await readScriptList()
|
||||
let idx = scriptsList.findIndex(item => item._id === id)
|
||||
if (idx === -1) return res.fail({ msg: '脚本ID不存在' })
|
||||
scriptsList.splice(idx, 1)
|
||||
await writeScriptList(scriptsList)
|
||||
res.success({ data: '移除成功' })
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
addScript,
|
||||
getScriptList,
|
||||
updateScriptList,
|
||||
removeScript
|
||||
}
|
||||
Reference in New Issue
Block a user