summaryrefslogtreecommitdiffstats
path: root/models/notification.go
diff options
context:
space:
mode:
Diffstat (limited to 'models/notification.go')
-rw-r--r--models/notification.go10
1 files changed, 10 insertions, 0 deletions
diff --git a/models/notification.go b/models/notification.go
index 46da059852..dcd624e514 100644
--- a/models/notification.go
+++ b/models/notification.go
@@ -311,3 +311,13 @@ func getNotificationByID(notificationID int64) (*Notification, error) {
return notification, nil
}
+
+// UpdateNotificationStatuses updates the statuses of all of a user's notifications that are of the currentStatus type to the desiredStatus
+func UpdateNotificationStatuses(user *User, currentStatus NotificationStatus, desiredStatus NotificationStatus) error {
+ n := &Notification{Status: desiredStatus, UpdatedBy: user.ID}
+ _, err := x.
+ Where("user_id = ? AND status = ?", user.ID, currentStatus).
+ Cols("status", "updated_by", "updated_unix").
+ Update(n)
+ return err
+}