Files
ReSendit/internal/file/routes.go
root 73b67ab61d Add reinstate feature for deleted files
- Add MarkNotDeleted method to repository
- Add ReinstateFile method to service
- Add AdminReinstate handler
- Add /reinstate/:id route
- Add Reinstate button in admin menu for deleted files
2026-04-15 16:35:08 +02:00

41 lines
1.1 KiB
Go

package file
import (
"ResendIt/internal/api/middleware"
"github.com/gin-gonic/gin"
)
func RegisterRoutes(r *gin.RouterGroup, h *Handler) {
files := r.Group("/files")
files.POST("/upload", h.Upload)
files.POST("/upload-multi", h.UploadMulti)
//files.GET("/download/:id", h.Download)
files.GET("/view/:id", h.View)
files.GET("/delete/:del_id", h.Delete)
// Chunked upload endpoints
files.POST("/upload/init", h.UploadInit)
files.POST("/upload/chunk", h.UploadChunk)
files.POST("/upload/complete", h.UploadComplete)
files.GET("/upload/status/:fileId", h.UploadStatus)
adminRoutes := files.Group("/admin")
adminRoutes.Use(middleware.AuthMiddleware())
adminRoutes.Use(middleware.RequireRole("admin"))
adminRoutes.GET("/", h.AdminList)
adminRoutes.GET("/:id", h.AdminGet)
adminRoutes.GET("/download/:id", h.AdminGet)
adminRoutes.GET("/delete/:id", h.AdminDelete)
adminRoutes.GET("/delete/fr/:id", h.AdminForceDelete)
adminRoutes.GET("/reinstate/:id", h.AdminReinstate)
adminRoutes.POST("/import", h.Import)
adminRoutes.GET("/export", h.Export)
}