mirror of
https://github.com/Rain-kl/OpenFlare.git
synced 2026-10-05 15:26:36 +08:00
feat(push): validate push channels presence before enabling push event
- Reject toggling an event to enabled in ToggleEvent handler if channels list is empty. - Add model-level validation in PushEvent.Validate() to prevent enabling events without channels during creation/updates. - Update TestPushRouters/toggle_event_status unit test to cover this verification.
This commit is contained in:
@@ -351,6 +351,10 @@ func ToggleEvent(c *gin.Context) {
|
||||
}
|
||||
|
||||
event.Enabled = !event.Enabled
|
||||
if event.Enabled && len(event.Channels) == 0 {
|
||||
c.JSON(http.StatusBadRequest, response.Err("cannot enable event without any push channels configured"))
|
||||
return
|
||||
}
|
||||
if err := db.DB(c.Request.Context()).Model(&event).Update("enabled", event.Enabled).Error; err != nil {
|
||||
c.JSON(http.StatusInternalServerError, response.Err(err.Error()))
|
||||
return
|
||||
|
||||
Reference in New Issue
Block a user