Albirew/nyaa-pantsu
Archivé
1
0
Bifurcation 0
Ce dépôt a été archivé le 2022-05-07. Vous pouvez voir ses fichiers ou le cloner, mais pas ouvrir de ticket ou de demandes d'ajout, ni soumettre de changements.
nyaa-pantsu/models/notifications/notifier.go
2017-10-29 00:17:48 +02:00

33 lignes
1 013 o
Go

package notifications
import (
"github.com/NyaaPantsu/nyaa/models"
)
// NotifyUser : Notify a user with a notification according to his settings
func NotifyUser(user *models.User, name string, msg string, url string, email bool) {
if user.ID > 0 {
notification := models.NewNotification(name, msg, url)
notification.UserID = user.ID
models.ORM.Create(&notification)
// TODO: Email notification
/* if email {
}*/
}
}
// ToggleReadNotification : Make a notification as read according to its identifier
func ToggleReadNotification(identifier string, id uint) { //
models.ORM.Model(&models.Notification{}).Where("identifier = ? AND user_id = ?", identifier, id).Updates(models.Notification{Read: true})
}
// DeleteNotifications : Erase notifications from a user
func DeleteNotifications(id uint, all bool) { //
if all {
models.ORM.Where("user_id = ?", id).Delete(&models.Notification{})
} else {
models.ORM.Where("user_id = ? AND read = ?", id, true).Delete(&models.Notification{})
}
}