Files
nginx-ui/api/external_notify/external_notify.go
2025-07-28 16:46:55 +08:00

42 lines
952 B
Go

package external_notify
import (
"net/http"
"github.com/0xJacky/Nginx-UI/internal/notification"
"github.com/0xJacky/Nginx-UI/model"
"github.com/gin-gonic/gin"
"github.com/uozi-tech/cosy"
)
func InitRouter(r *gin.RouterGroup) {
c := cosy.Api[model.ExternalNotify]("/external_notifies")
c.InitRouter(r)
r.POST("/external_notifies/test", testMessage)
}
// testMessage sends a test message with direct parameters
func testMessage(c *gin.Context) {
var req struct {
Type string `json:"type" binding:"required"`
Language string `json:"language" binding:"required"`
Config map[string]string `json:"config" binding:"required"`
}
if !cosy.BindAndValid(c, &req) {
return
}
// Send test notification with direct parameters
err := notification.SendTestMessage(req.Type, req.Language, req.Config)
if err != nil {
cosy.ErrHandler(c, err)
return
}
c.JSON(http.StatusOK, gin.H{
"message": "ok",
})
}