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)
|
||||
}
|
||||
|
||||
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) {
|
||||
id, err := strconv.ParseUint(c.Param("id"), 10, 64)
|
||||
if err != nil {
|
||||
|
||||
@@ -50,6 +50,7 @@ func main() {
|
||||
auth.DELETE("/tasks/:id", a.requirePermission(PermDownload), a.deleteTask)
|
||||
admin := api.Group("/admin", a.requireAuth, a.requireAdmin)
|
||||
admin.GET("/users", a.adminListUsers)
|
||||
admin.GET("/audit", a.adminAudit)
|
||||
admin.POST("/users", a.adminCreateUser)
|
||||
admin.PUT("/users/:id", a.adminUpdateUser)
|
||||
admin.GET("/redeem", a.adminListRedeemBatches)
|
||||
|
||||
Reference in New Issue
Block a user