|
|
@ -1,10 +1,102 @@ |
|
|
|
'use strict'; |
|
|
|
const moment = require('moment') |
|
|
|
|
|
|
|
async function list (ctx) { |
|
|
|
try { |
|
|
|
const models = ctx.fs.dc.models; |
|
|
|
const { keyword, alarmType, state, } = ctx.request.body |
|
|
|
|
|
|
|
let findOption = { |
|
|
|
where: { |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
if (keyword) { |
|
|
|
findOption.where.$or = [ |
|
|
|
{ |
|
|
|
name: { $like: `%${keyword}%` } |
|
|
|
}, |
|
|
|
] |
|
|
|
} |
|
|
|
if (alarmType) { |
|
|
|
findOption.where.alarmType = { $contains: [alarmType] } |
|
|
|
} |
|
|
|
if (state) { |
|
|
|
if (state == 'enable') { |
|
|
|
findOption.where.disable = false |
|
|
|
} else if (state == 'disable') { |
|
|
|
findOption.where.disable = true |
|
|
|
} else if (state == 'overtime') { |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
const listRes = await models.AlarmPushConfig.findAndCountAll(findOption) |
|
|
|
|
|
|
|
ctx.status = 200; |
|
|
|
ctx.body = listRes |
|
|
|
} catch (error) { |
|
|
|
ctx.fs.logger.error(`path: ${ctx.path}, error: error`); |
|
|
|
ctx.status = 400; |
|
|
|
ctx.body = { |
|
|
|
message: typeof error == 'string' ? error : undefined |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
async function edit (ctx) { |
|
|
|
try { |
|
|
|
const models = ctx.fs.dc.models; |
|
|
|
const { userId } = ctx.fs.api |
|
|
|
const { pushId, name, pepProjectId = [], alarmType = [], receiverPepUserId = [], timeType = [], disable } = ctx.request.body |
|
|
|
|
|
|
|
let storageData = { |
|
|
|
name, pepProjectId, alarmType, receiverPepUserId, timeType, disable |
|
|
|
} |
|
|
|
if (pushId) { |
|
|
|
await models.AlarmPushConfig.update(storageData, { |
|
|
|
where: { |
|
|
|
id: pushId |
|
|
|
} |
|
|
|
}) |
|
|
|
} else { |
|
|
|
storageData.createTime = moment().format() |
|
|
|
storageData.createUserId = userId |
|
|
|
await models.AlarmPushConfig.create(storageData) |
|
|
|
} |
|
|
|
|
|
|
|
ctx.status = 204; |
|
|
|
} catch (error) { |
|
|
|
ctx.fs.logger.error(`path: ${ctx.path}, error: error`); |
|
|
|
ctx.status = 400; |
|
|
|
ctx.body = { |
|
|
|
message: typeof error == 'string' ? error : undefined |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
async function state (ctx) { |
|
|
|
try { |
|
|
|
const models = ctx.fs.dc.models; |
|
|
|
const { pushId } = ctx.params |
|
|
|
const { disable = undefined, del = undefined, } = ctx.request.body |
|
|
|
|
|
|
|
|
|
|
|
if (del) { |
|
|
|
await models.AlarmPushConfig.destroy({ |
|
|
|
where: { |
|
|
|
id: pushId |
|
|
|
} |
|
|
|
}) |
|
|
|
} else { |
|
|
|
await models.AlarmPushConfig.update({ |
|
|
|
disable, |
|
|
|
}, { |
|
|
|
where: { |
|
|
|
id: pushId |
|
|
|
} |
|
|
|
}) |
|
|
|
} |
|
|
|
|
|
|
|
ctx.status = 204; |
|
|
|
} catch (error) { |
|
|
@ -16,6 +108,8 @@ async function edit (ctx) { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
module.exports = { |
|
|
|
edit |
|
|
|
list, edit, state |
|
|
|
}; |