diff --git a/socialdragon/main.go b/socialdragon/main.go index b08e1d8..750c592 100644 --- a/socialdragon/main.go +++ b/socialdragon/main.go @@ -44,6 +44,9 @@ func setupGin() { router.GET("/admin/approved", renderAdminApproved) router.GET("/admin/rejected", renderAdminRejected) + router.POST("/admin/approve/:id", approveSnap) + router.POST("/admin/reject/:id", rejectSnap) + router.GET("/ws", func(c *gin.Context) { wsHandler(c.Writer, c.Request) }) router.LoadHTMLGlob(config.C.TemplatesDirectory + "/*.html") diff --git a/socialdragon/webapp.go b/socialdragon/webapp.go index e9320af..4c7e9e2 100644 --- a/socialdragon/webapp.go +++ b/socialdragon/webapp.go @@ -28,3 +28,19 @@ func renderAdminRejected(c *gin.Context) { database.Db.Order("updated_at", true).Find(&ITs, "state = ?", database.Rejected) c.HTML(200, "admin.html", gin.H{"its": ITs, "title": "SocialDragon – Admin – Rejected", "site": "admin-rejected"}) } + +func approveSnap(c *gin.Context) { + var IT database.Item + database.Db.First(&IT, c.Param("id")) + IT.State = database.Approved + database.Db.Save(&IT) + c.JSON(200, IT) +} + +func rejectSnap(c *gin.Context) { + var IT database.Item + database.Db.First(&IT, c.Param("id")) + IT.State = database.Rejected + database.Db.Save(&IT) + c.JSON(200, IT) +}