Files
mp-qvyun/backend/modules/medias/router.go
2024-12-13 18:09:10 +08:00

34 lines
827 B
Go
Executable File

package medias
import (
_ "git.ipao.vip/rogeecn/atom"
_ "git.ipao.vip/rogeecn/atom/contracts"
"github.com/gofiber/fiber/v3"
log "github.com/sirupsen/logrus"
)
// @provider:except contracts.HttpRoute atom.GroupRoutes
type Router struct {
log *log.Entry `inject:"false"`
controller *Controller
}
func (r *Router) Name() string {
return "medias"
}
func (r *Router) Prepare() error {
r.log = log.WithField("http.group", r.Name())
return nil
}
func (r *Router) Register(router fiber.Router) {
group := router.Group(r.Name())
group.Post("", r.controller.List)
group.Get(":hash", r.controller.Show)
group.Get(":hash/:type<regex([video|audio])>", r.controller.MediaIndex)
group.Get(":hash/:type<regex([video|audio])>/:segment.ts", r.controller.MediaSegment)
group.Patch(":hash/checkout", r.controller.Checkout)
}