🐛 Device no longer can register

This commit is contained in:
LittleSheep 2024-02-08 11:08:29 +08:00
parent c3636c23ff
commit e8b5b05755
2 changed files with 10 additions and 1 deletions

View File

@ -32,6 +32,6 @@ type NotificationSubscriber struct {
UserAgent string `json:"user_agent"`
Provider string `json:"provider"`
DeviceID string `json:"device_id"`
DeviceID string `json:"device_id" gorm:"uniqueIndex"`
AccountID uint `json:"account_id"`
}

View File

@ -1,5 +1,6 @@
package server
import "C"
import (
"code.smartsheep.studio/hydrogen/passport/pkg/database"
"code.smartsheep.studio/hydrogen/passport/pkg/models"
@ -71,6 +72,14 @@ func addNotifySubscriber(c *fiber.Ctx) error {
return err
}
var count int64
if err := database.C.Where(&models.NotificationSubscriber{
DeviceID: data.DeviceID,
AccountID: user.ID,
}).Model(&models.NotificationSubscriber{}).Count(&count).Error; err != nil || count > 0 {
return c.SendStatus(fiber.StatusOK)
}
subscriber, err := services.AddNotifySubscriber(
user,
data.Provider,