feat: add admin audit log endpoint
This commit is contained in:
@@ -82,6 +82,19 @@ func (a *App) adminCreateUser(c *gin.Context) {
|
|||||||
c.JSON(201, u)
|
c.JSON(201, u)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (a *App) adminAudit(c *gin.Context) {
|
||||||
|
var logs []AuditLog
|
||||||
|
q := a.db.Order("id desc").Limit(200)
|
||||||
|
if action := c.Query("action"); action != "" {
|
||||||
|
q = q.Where("action = ?", action)
|
||||||
|
}
|
||||||
|
if err := q.Find(&logs).Error; err != nil {
|
||||||
|
c.JSON(500, gin.H{"error": err.Error()})
|
||||||
|
return
|
||||||
|
}
|
||||||
|
c.JSON(200, gin.H{"data": logs})
|
||||||
|
}
|
||||||
|
|
||||||
func (a *App) adminUpdateUser(c *gin.Context) {
|
func (a *App) adminUpdateUser(c *gin.Context) {
|
||||||
id, err := strconv.ParseUint(c.Param("id"), 10, 64)
|
id, err := strconv.ParseUint(c.Param("id"), 10, 64)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
@@ -50,6 +50,7 @@ func main() {
|
|||||||
auth.DELETE("/tasks/:id", a.requirePermission(PermDownload), a.deleteTask)
|
auth.DELETE("/tasks/:id", a.requirePermission(PermDownload), a.deleteTask)
|
||||||
admin := api.Group("/admin", a.requireAuth, a.requireAdmin)
|
admin := api.Group("/admin", a.requireAuth, a.requireAdmin)
|
||||||
admin.GET("/users", a.adminListUsers)
|
admin.GET("/users", a.adminListUsers)
|
||||||
|
admin.GET("/audit", a.adminAudit)
|
||||||
admin.POST("/users", a.adminCreateUser)
|
admin.POST("/users", a.adminCreateUser)
|
||||||
admin.PUT("/users/:id", a.adminUpdateUser)
|
admin.PUT("/users/:id", a.adminUpdateUser)
|
||||||
admin.GET("/redeem", a.adminListRedeemBatches)
|
admin.GET("/redeem", a.adminListRedeemBatches)
|
||||||
|
|||||||
Reference in New Issue
Block a user