139 lines
3.3 KiB
JavaScript
139 lines
3.3 KiB
JavaScript
const fs = require('fs')
|
|
const { sshRecordPath, hostListPath, keyPath, emailPath, notifyPath, groupPath } = require('../config')
|
|
|
|
const readSSHRecord = () => {
|
|
let list
|
|
try {
|
|
list = JSON.parse(fs.readFileSync(sshRecordPath, 'utf8'))
|
|
} catch (error) {
|
|
consola.error('读取ssh-record错误, 即将重置ssh列表: ', error)
|
|
writeSSHRecord([])
|
|
}
|
|
return list || []
|
|
}
|
|
|
|
const writeSSHRecord = (record = []) => {
|
|
fs.writeFileSync(sshRecordPath, JSON.stringify(record, null, 2))
|
|
}
|
|
|
|
const readHostList = () => {
|
|
let list
|
|
try {
|
|
list = JSON.parse(fs.readFileSync(hostListPath, 'utf8'))
|
|
} catch (error) {
|
|
consola.error('读取host-list错误, 即将重置host列表: ', error)
|
|
writeHostList([])
|
|
}
|
|
return list || []
|
|
}
|
|
|
|
const writeHostList = (record = []) => {
|
|
fs.writeFileSync(hostListPath, JSON.stringify(record, null, 2))
|
|
}
|
|
|
|
const readKey = () => {
|
|
let keyObj = JSON.parse(fs.readFileSync(keyPath, 'utf8'))
|
|
return keyObj
|
|
}
|
|
|
|
const writeKey = (keyObj = {}) => {
|
|
fs.writeFileSync(keyPath, JSON.stringify(keyObj, null, 2))
|
|
}
|
|
|
|
const readEmailJson = () => {
|
|
let emailJson = {}
|
|
try {
|
|
emailJson = JSON.parse(fs.readFileSync(emailPath, 'utf8'))
|
|
} catch (error) {
|
|
consola.error('读取email.json错误: ', error)
|
|
}
|
|
return emailJson
|
|
}
|
|
|
|
const readSupportEmailList = () => {
|
|
let supportEmailList = []
|
|
try {
|
|
supportEmailList = readEmailJson().support
|
|
} catch (error) {
|
|
consola.error('读取email support错误: ', error)
|
|
}
|
|
return supportEmailList
|
|
}
|
|
|
|
const readUserEmailList = () => {
|
|
let configEmailList = []
|
|
try {
|
|
configEmailList = readEmailJson().user
|
|
} catch (error) {
|
|
consola.error('读取email config错误: ', error)
|
|
}
|
|
return configEmailList
|
|
}
|
|
|
|
const writeUserEmailList = (user) => {
|
|
let support = readSupportEmailList()
|
|
const emailJson = { support, user }
|
|
try {
|
|
fs.writeFileSync(emailPath, JSON.stringify(emailJson, null, 2))
|
|
return { code: 0 }
|
|
} catch (error) {
|
|
return { code: -1, msg: error.message || error }
|
|
}
|
|
}
|
|
|
|
const readNotifyList = () => {
|
|
let notifyList = []
|
|
try {
|
|
notifyList = JSON.parse(fs.readFileSync(notifyPath, 'utf8'))
|
|
} catch (error) {
|
|
consola.error('读取notify list错误: ', error)
|
|
}
|
|
return notifyList
|
|
}
|
|
|
|
const getNotifySwByType = (type) => {
|
|
if(!type) throw Error('missing params: type')
|
|
try {
|
|
let { sw } = readNotifyList().find((item) => item.type === type)
|
|
return sw
|
|
} catch (error) {
|
|
consola.error(`通知类型[${ type }]不存在`)
|
|
return false
|
|
}
|
|
}
|
|
|
|
const writeNotifyList = (notifyList) => {
|
|
fs.writeFileSync(notifyPath, JSON.stringify(notifyList, null, 2))
|
|
}
|
|
|
|
const readGroupList = () => {
|
|
let list
|
|
try {
|
|
list = JSON.parse(fs.readFileSync(groupPath, 'utf8'))
|
|
} catch (error) {
|
|
consola.error('读取group-list错误, 即将重置group列表: ', error)
|
|
writeSSHRecord([])
|
|
}
|
|
return list || []
|
|
}
|
|
|
|
const writeGroupList = (list = []) => {
|
|
fs.writeFileSync(groupPath, JSON.stringify(list, null, 2))
|
|
}
|
|
|
|
module.exports = {
|
|
readSSHRecord,
|
|
writeSSHRecord,
|
|
readHostList,
|
|
writeHostList,
|
|
readKey,
|
|
writeKey,
|
|
readSupportEmailList,
|
|
readUserEmailList,
|
|
writeUserEmailList,
|
|
readNotifyList,
|
|
getNotifySwByType,
|
|
writeNotifyList,
|
|
readGroupList,
|
|
writeGroupList
|
|
} |