49 lines
925 B
Go
49 lines
925 B
Go
package controller
|
|
|
|
import (
|
|
"strings"
|
|
|
|
"backend/middleware/alibaba"
|
|
|
|
"github.com/gin-gonic/gin"
|
|
)
|
|
|
|
const notificationTemplatePath = `D:\Github\common\sdk\tuyou\notification.json`
|
|
|
|
type notificationConfigUpdateRequest struct {
|
|
Config string `json:"config" binding:"required"`
|
|
}
|
|
|
|
func NotificationConfigGet(c *gin.Context) {
|
|
ossConfig, err := alibaba.GetNotificationConfig()
|
|
if err != nil {
|
|
failed(c, "获取通知配置失败: "+err.Error())
|
|
return
|
|
}
|
|
success(c, gin.H{
|
|
"config": ossConfig.Config,
|
|
"updated_at": ossConfig.LastModified,
|
|
})
|
|
|
|
}
|
|
|
|
func NotificationConfigSave(c *gin.Context) {
|
|
var req notificationConfigUpdateRequest
|
|
if err := c.ShouldBindJSON(&req); err != nil {
|
|
failed(c, "Invalid input: "+err.Error())
|
|
return
|
|
}
|
|
|
|
raw := strings.TrimSpace(req.Config)
|
|
if raw == "" {
|
|
failed(c, "config is required")
|
|
return
|
|
}
|
|
|
|
alibaba.Osscreate(req.Config)
|
|
|
|
success(c, gin.H{
|
|
"code": 0,
|
|
})
|
|
}
|