feat: add STRM output directory presets

This commit is contained in:
ShukeBta
2026-07-03 00:53:49 +08:00
parent 862443dda6
commit a6f2d0208d
12 changed files with 271 additions and 14 deletions
@@ -52,6 +52,7 @@ func registerAuthedDLNARoutes(authed *gin.RouterGroup, svc *service.Container) {
func registerAuthedSTRMRoutes(authed *gin.RouterGroup, svc *service.Container) {
authed.PUT("/media/:id/strm", middleware.AdminRequired(), setSTRMHandler(svc))
authed.DELETE("/media/:id/strm", middleware.AdminRequired(), clearSTRMHandler(svc))
authed.GET("/strm/output-presets", middleware.AdminRequired(), listSTRMOutputPresetsHandler(svc))
authed.POST("/strm/import", middleware.AdminRequired(), importSTRMHandler(svc))
authed.POST("/strm/generate", middleware.AdminRequired(), generateSTRMHandler(svc))
authed.POST("/strm/generate-from-tree", middleware.AdminRequired(), generateSTRMFromTreeHandler(svc))
+11
View File
@@ -134,6 +134,17 @@ type repairSTRMReq struct {
RefreshLibrary bool `json:"refresh_library"`
}
func listSTRMOutputPresetsHandler(svc *service.Container) gin.HandlerFunc {
return func(c *gin.Context) {
items, err := service.STRMOutputPresets(c.Request.Context(), svc.Repo)
if err != nil {
c.JSON(http.StatusInternalServerError, gin.H{"error": err.Error()})
return
}
c.JSON(http.StatusOK, gin.H{"items": items})
}
}
func generateSTRMHandler(svc *service.Container) gin.HandlerFunc {
return func(c *gin.Context) {
var req generateSTRMReq