feat: change custom SMS instances to SMS notices and all its interfaces
This commit is contained in:
parent
04f4891291
commit
0d5f5167ef
12 changed files with 153 additions and 149 deletions
56
lib/sms-notices.js
Normal file
56
lib/sms-notices.js
Normal file
|
|
@ -0,0 +1,56 @@
|
|||
const _ = require('lodash/fp')
|
||||
const uuid = require('uuid')
|
||||
const db = require('./db')
|
||||
|
||||
const getSMSNotices = () => {
|
||||
const sql = `SELECT * FROM sms_notices ORDER BY created`
|
||||
return db.any(sql).then(res => _.map(
|
||||
it => ({
|
||||
id: it.id,
|
||||
event: _.camelCase(it.event),
|
||||
message: it.message,
|
||||
messageName: it.message_name,
|
||||
enabled: it.enabled,
|
||||
allowToggle: it.allow_toggle
|
||||
}), res))
|
||||
}
|
||||
|
||||
const createSMSNotice = (event, messageName, message, enabled, allowToggle) => {
|
||||
const sql = `INSERT INTO sms_notices (id, event, message_name, message${enabled ? `, enabled`: ``}${allowToggle ? `, allowToggle`: ``}) VALUES ($1, $2, $3, $4${enabled ? `, $5`: ``}${allowToggle ? `, $6`: ``})`
|
||||
return db.none(sql, [uuid.v4(), _.snakeCase(event), messageName, message, enabled, allowToggle])
|
||||
}
|
||||
|
||||
const editSMSNotice = (id, event, message) => {
|
||||
const sql = `UPDATE sms_notices SET event=$2, message=$3 WHERE id=$1`
|
||||
return db.none(sql, [id, _.snakeCase(event), message])
|
||||
}
|
||||
|
||||
const deleteSMSNotice = id => {
|
||||
const sql = `DELETE FROM sms_notices WHERE id=$1`
|
||||
return db.none(sql, [id])
|
||||
}
|
||||
|
||||
const getSMSNotice = event => {
|
||||
const sql = `SELECT * FROM sms_notices WHERE event=$1 LIMIT 1`
|
||||
return db.oneOrNone(sql, [event])
|
||||
}
|
||||
|
||||
const enableSMSNotice = id => {
|
||||
const sql = `UPDATE sms_notices SET enabled = true WHERE id=$1 LIMIT 1`
|
||||
return db.oneOrNone(sql, [id])
|
||||
}
|
||||
|
||||
const disableSMSNotice = id => {
|
||||
const sql = `UPDATE sms_notices SET enabled = false WHERE id=$1 LIMIT 1`
|
||||
return db.oneOrNone(sql, [id])
|
||||
}
|
||||
|
||||
module.exports = {
|
||||
getSMSNotices,
|
||||
createSMSNotice,
|
||||
editSMSNotice,
|
||||
deleteSMSNotice,
|
||||
getSMSNotice,
|
||||
enableSMSNotice,
|
||||
disableSMSNotice
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue