package routing import "github.com/gin-gonic/gin" type Handlers struct { Index gin.HandlerFunc ShowBox gin.HandlerFunc BoxLogin gin.HandlerFunc BoxLoginPost gin.HandlerFunc BoxStatus gin.HandlerFunc DownloadBox gin.HandlerFunc DownloadFile gin.HandlerFunc DownloadThumbnail gin.HandlerFunc CreateBox gin.HandlerFunc ManifestFileUpload gin.HandlerFunc FileStatusUpdate gin.HandlerFunc DirectBoxUpload gin.HandlerFunc LegacyUpload gin.HandlerFunc } func Register(router *gin.Engine, handlers Handlers) { router.GET("/", handlers.Index) router.GET("/box/:id", handlers.ShowBox) router.GET("/box/:id/login", handlers.BoxLogin) router.GET("/box/:id/status", handlers.BoxStatus) router.GET("/box/:id/download", handlers.DownloadBox) router.GET("/box/:id/files/:filename", handlers.DownloadFile) router.GET("/box/:id/thumbnails/:file_id", handlers.DownloadThumbnail) router.POST("/box", handlers.CreateBox) router.POST("/box/:id/login", handlers.BoxLoginPost) router.POST("/box/:id/files/:file_id/upload", handlers.ManifestFileUpload) router.POST("/box/:id/files/:file_id/status", handlers.FileStatusUpdate) // Legacy upload routes are kept for compatibility with older clients. router.POST("/box/:id/upload", handlers.DirectBoxUpload) router.POST("/upload", handlers.LegacyUpload) }