move admin playlist handlers to own file

This commit is contained in:
sentriz
2020-03-15 00:03:15 +00:00
parent acb9625f34
commit 4b32bc0e4d
3 changed files with 32 additions and 30 deletions

View File

@@ -274,36 +274,6 @@ func (c *Controller) ServeStartScanDo(r *http.Request) *Response {
}
}
func (c *Controller) ServeUploadPlaylist(r *http.Request) *Response {
return &Response{template: "upload_playlist.tmpl"}
}
func (c *Controller) ServeUploadPlaylistDo(r *http.Request) *Response {
if err := r.ParseMultipartForm((1 << 10) * 24); nil != err {
return &Response{
err: "couldn't parse mutlipart",
code: 500,
}
}
user := r.Context().Value(CtxUser).(*db.User)
var playlistCount int
var errors []string
for _, headers := range r.MultipartForm.File {
for _, header := range headers {
headerErrors, created := playlistParseUpload(c, user.ID, header)
if created {
playlistCount++
}
errors = append(errors, headerErrors...)
}
}
return &Response{
redirect: "/admin/home",
flashN: []string{fmt.Sprintf("%d playlist(s) created", playlistCount)},
flashW: errors,
}
}
func (c *Controller) ServeCreateTranscodePrefDo(r *http.Request) *Response {
client := r.FormValue("client")
profile := r.FormValue("profile")

View File

@@ -4,6 +4,7 @@ import (
"bufio"
"fmt"
"mime/multipart"
"net/http"
"strings"
"github.com/jinzhu/gorm"
@@ -71,3 +72,33 @@ func playlistParseUpload(c *Controller, userID int, header *multipart.FileHeader
c.DB.Save(playlist)
return errors, true
}
func (c *Controller) ServeUploadPlaylist(r *http.Request) *Response {
return &Response{template: "upload_playlist.tmpl"}
}
func (c *Controller) ServeUploadPlaylistDo(r *http.Request) *Response {
if err := r.ParseMultipartForm((1 << 10) * 24); nil != err {
return &Response{
err: "couldn't parse mutlipart",
code: 500,
}
}
user := r.Context().Value(CtxUser).(*db.User)
var playlistCount int
var errors []string
for _, headers := range r.MultipartForm.File {
for _, header := range headers {
headerErrors, created := playlistParseUpload(c, user.ID, header)
if created {
playlistCount++
}
errors = append(errors, headerErrors...)
}
}
return &Response{
redirect: "/admin/home",
flashN: []string{fmt.Sprintf("%d playlist(s) created", playlistCount)},
flashW: errors,
}
}

View File

@@ -20,6 +20,7 @@ import (
// a) write to response writer
// b) return a non-nil spec.Response
// _but not both_
func (c *Controller) ServeGetCoverArt(w http.ResponseWriter, r *http.Request) *spec.Response {
params := r.Context().Value(CtxParams).(params.Params)
id, err := params.GetInt("id")