package controller import ( "encoding/json" "net/http" "openflare/service" "strconv" "github.com/gin-gonic/gin" ) func GetOrigins(c *gin.Context) { origins, err := service.ListOrigins() if err != nil { c.JSON(http.StatusOK, gin.H{ "success": false, "message": err.Error(), }) return } c.JSON(http.StatusOK, gin.H{ "success": true, "message": "", "data": origins, }) } func GetOrigin(c *gin.Context) { id, err := strconv.ParseUint(c.Param("id"), 10, 64) if err != nil || id == 0 { c.JSON(http.StatusBadRequest, gin.H{ "success": false, "message": "无效的参数", }) return } origin, err := service.GetOriginDetail(uint(id)) if err != nil { c.JSON(http.StatusOK, gin.H{ "success": false, "message": err.Error(), }) return } c.JSON(http.StatusOK, gin.H{ "success": true, "message": "", "data": origin, }) } func CreateOrigin(c *gin.Context) { var input service.OriginInput if err := json.NewDecoder(c.Request.Body).Decode(&input); err != nil { c.JSON(http.StatusBadRequest, gin.H{ "success": false, "message": "无效的参数", }) return } origin, err := service.CreateOrigin(input) if err != nil { c.JSON(http.StatusOK, gin.H{ "success": false, "message": err.Error(), }) return } c.JSON(http.StatusOK, gin.H{ "success": true, "message": "", "data": origin, }) } func UpdateOrigin(c *gin.Context) { id, err := strconv.ParseUint(c.Param("id"), 10, 64) if err != nil || id == 0 { c.JSON(http.StatusBadRequest, gin.H{ "success": false, "message": "无效的参数", }) return } var input service.OriginInput if err = json.NewDecoder(c.Request.Body).Decode(&input); err != nil { c.JSON(http.StatusBadRequest, gin.H{ "success": false, "message": "无效的参数", }) return } origin, err := service.UpdateOrigin(uint(id), input) if err != nil { c.JSON(http.StatusOK, gin.H{ "success": false, "message": err.Error(), }) return } c.JSON(http.StatusOK, gin.H{ "success": true, "message": "", "data": origin, }) } func DeleteOrigin(c *gin.Context) { id, err := strconv.ParseUint(c.Param("id"), 10, 64) if err != nil || id == 0 { c.JSON(http.StatusBadRequest, gin.H{ "success": false, "message": "无效的参数", }) return } if err = service.DeleteOrigin(uint(id)); err != nil { c.JSON(http.StatusOK, gin.H{ "success": false, "message": err.Error(), }) return } c.JSON(http.StatusOK, gin.H{ "success": true, "message": "", }) }