Added reactions for news

This commit is contained in:
mrfry 2021-03-03 18:44:45 +01:00
parent ad030cd560
commit f4519dc84b

View file

@ -103,6 +103,7 @@ function GetApp(): ModuleType {
const uloadFiles = publicDir + 'f'
const motdFile = publicDir + 'motd'
const userSpecificMotdFile = publicDir + 'userSpecificMotd.json'
const newsFile = publicDir + 'news.json'
let domain = url.split('.') // [ "https://api", "frylabs", "net" ]
domain.shift() // [ "frylabs", "net" ]
@ -1306,6 +1307,46 @@ function GetApp(): ModuleType {
)
}
if (req.body.react && req.body.newsKey) {
const { react, newsKey, isDelete } = req.body
const news: any = utils.ReadJSON(newsFile)
if (news[newsKey]) {
if (isDelete) {
if (news[newsKey].reacts) {
news[newsKey].reacts[react] = news[newsKey].reacts[react].filter(
(uid) => {
return uid !== user.id
}
)
if (news[newsKey].reacts[react].length === 0) {
delete news[newsKey].reacts[react]
}
logger.Log(
`User #${user.id} removed reaction '${react}' from '${newsKey}' `,
logger.GetColor('blue')
)
}
} else {
if (!news[newsKey].reacts) {
news[newsKey].reacts = { [react]: [user.id] }
} else {
if (Array.isArray(news[newsKey].reacts[react])) {
news[newsKey].reacts[react].push(user.id)
} else {
news[newsKey].reacts[react] = [user.id]
}
}
logger.Log(
`User #${user.id} reacted on '${newsKey}' with '${react}'`,
logger.GetColor('blue')
)
}
}
utils.WriteFile(JSON.stringify(news, null, 2), newsFile)
}
res.json({ msg: 'done' })
})