lots of post-DB cleanup
This commit is contained in:
parent
965d6f5c3e
commit
c9d950d2b2
23 changed files with 412 additions and 550 deletions
|
@ -6,24 +6,25 @@ import (
|
|||
"strings"
|
||||
|
||||
"arimelody.me/arimelody.me/global"
|
||||
db "arimelody.me/arimelody.me/music/controller"
|
||||
"arimelody.me/arimelody.me/music/model"
|
||||
controller "arimelody.me/arimelody.me/music/controller"
|
||||
)
|
||||
|
||||
func serveRelease() http.Handler {
|
||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
slices := strings.Split(r.URL.Path[1:], "/")
|
||||
releaseID := slices[0]
|
||||
release, err := controller.GetRelease(global.DB, releaseID)
|
||||
|
||||
release, err := db.GetFullRelease(global.DB, releaseID)
|
||||
if err != nil {
|
||||
fmt.Printf("FATAL: Failed to pull release %s: %s\n", releaseID, err)
|
||||
if strings.Contains(err.Error(), "no rows") {
|
||||
http.NotFound(w, r)
|
||||
return
|
||||
}
|
||||
fmt.Printf("FATAL: Failed to pull full release data for %s: %s\n", release.ID, err)
|
||||
http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
if release == nil {
|
||||
http.NotFound(w, r)
|
||||
return
|
||||
}
|
||||
|
||||
authorised := GetSession(r) != nil
|
||||
if !authorised && !release.Visible {
|
||||
|
@ -31,32 +32,25 @@ func serveRelease() http.Handler {
|
|||
return
|
||||
}
|
||||
|
||||
fullRelease, err := controller.GetFullRelease(global.DB, release)
|
||||
if err != nil {
|
||||
fmt.Printf("FATAL: Failed to pull full release data for %s: %s\n", release.ID, err)
|
||||
http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
||||
if len(slices) > 1 {
|
||||
switch slices[1] {
|
||||
case "editcredits":
|
||||
serveEditCredits(fullRelease).ServeHTTP(w, r)
|
||||
serveEditCredits(release).ServeHTTP(w, r)
|
||||
return
|
||||
case "addcredit":
|
||||
serveAddCredit(fullRelease).ServeHTTP(w, r)
|
||||
serveAddCredit(release).ServeHTTP(w, r)
|
||||
return
|
||||
case "newcredit":
|
||||
serveNewCredit().ServeHTTP(w, r)
|
||||
return
|
||||
case "editlinks":
|
||||
serveEditLinks(fullRelease).ServeHTTP(w, r)
|
||||
serveEditLinks(release).ServeHTTP(w, r)
|
||||
return
|
||||
case "edittracks":
|
||||
serveEditTracks(fullRelease).ServeHTTP(w, r)
|
||||
serveEditTracks(release).ServeHTTP(w, r)
|
||||
return
|
||||
case "addtrack":
|
||||
serveAddTrack(fullRelease).ServeHTTP(w, r)
|
||||
serveAddTrack(release).ServeHTTP(w, r)
|
||||
return
|
||||
case "newtrack":
|
||||
serveNewTrack().ServeHTTP(w, r)
|
||||
|
@ -66,7 +60,7 @@ func serveRelease() http.Handler {
|
|||
return
|
||||
}
|
||||
|
||||
err = pages["release"].Execute(w, fullRelease)
|
||||
err = pages["release"].Execute(w, release)
|
||||
if err != nil {
|
||||
fmt.Printf("Error rendering admin release page for %s: %s\n", release.ID, err)
|
||||
http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
|
||||
|
@ -87,7 +81,7 @@ func serveEditCredits(release *model.FullRelease) http.Handler {
|
|||
|
||||
func serveAddCredit(release *model.FullRelease) http.Handler {
|
||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
artists, err := controller.GetArtistsNotOnRelease(global.DB, release.Release)
|
||||
artists, err := db.GetArtistsNotOnRelease(global.DB, release.Release.ID)
|
||||
if err != nil {
|
||||
fmt.Printf("FATAL: Failed to pull artists not on %s: %s\n", release.ID, err)
|
||||
http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
|
||||
|
@ -114,7 +108,7 @@ func serveAddCredit(release *model.FullRelease) http.Handler {
|
|||
func serveNewCredit() http.Handler {
|
||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
artistID := strings.Split(r.URL.Path, "/")[3]
|
||||
artist, err := controller.GetArtist(global.DB, artistID)
|
||||
artist, err := db.GetArtist(global.DB, artistID)
|
||||
if err != nil {
|
||||
fmt.Printf("FATAL: Failed to pull artists %s: %s\n", artistID, err)
|
||||
http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
|
||||
|
@ -158,7 +152,7 @@ func serveEditTracks(release *model.FullRelease) http.Handler {
|
|||
|
||||
func serveAddTrack(release *model.FullRelease) http.Handler {
|
||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
tracks, err := controller.GetTracksNotOnRelease(global.DB, release.Release)
|
||||
tracks, err := db.GetTracksNotOnRelease(global.DB, release.Release.ID)
|
||||
if err != nil {
|
||||
fmt.Printf("FATAL: Failed to pull tracks not on %s: %s\n", release.ID, err)
|
||||
http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
|
||||
|
@ -186,7 +180,7 @@ func serveAddTrack(release *model.FullRelease) http.Handler {
|
|||
func serveNewTrack() http.Handler {
|
||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
trackID := strings.Split(r.URL.Path, "/")[3]
|
||||
track, err := controller.GetTrack(global.DB, trackID)
|
||||
track, err := db.GetTrack(global.DB, trackID)
|
||||
if err != nil {
|
||||
fmt.Printf("Error rendering new track component for %s: %s\n", trackID, err)
|
||||
http.Error(w, http.StatusText(http.StatusInternalServerError), http.StatusInternalServerError)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue