mirror of
https://github.com/0xJacky/nginx-ui.git
synced 2026-05-07 06:23:39 +08:00
42 lines
952 B
Go
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",
|
|
})
|
|
}
|