26 lines
575 B
Go
26 lines
575 B
Go
|
package services
|
||
|
|
||
|
import (
|
||
|
"code.smartsheep.studio/hydrogen/passport/pkg/database"
|
||
|
"code.smartsheep.studio/hydrogen/passport/pkg/models"
|
||
|
)
|
||
|
|
||
|
func NewNotification(user models.ThirdClient, target models.Account, subject, content string, important bool) error {
|
||
|
notification := models.Notification{
|
||
|
Subject: subject,
|
||
|
Content: content,
|
||
|
IsImportant: important,
|
||
|
ReadAt: nil,
|
||
|
SenderID: &user.ID,
|
||
|
RecipientID: target.ID,
|
||
|
}
|
||
|
|
||
|
if err := database.C.Save(¬ification).Error; err != nil {
|
||
|
return err
|
||
|
}
|
||
|
|
||
|
// TODO Notify all the listeners
|
||
|
|
||
|
return nil
|
||
|
}
|