From 66a2aa8b58a1b30dd2338c9f6d0708e81245014c Mon Sep 17 00:00:00 2001 From: Andreas Mieke Date: Sun, 28 Feb 2016 15:39:37 +0100 Subject: [PATCH] Setting aired to NULL when merging LPs to remove the old from website and API --- gparser/cli.go | 2 ++ gserver/apiv3/apiv3.go | 6 +++--- gserver/webapp.go | 2 +- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/gparser/cli.go b/gparser/cli.go index 4523b91..c3e6516 100644 --- a/gparser/cli.go +++ b/gparser/cli.go @@ -122,9 +122,11 @@ func MergeLPs() { database.Db.Exec("UPDATE episodes SET season=? WHERE lets_play_id = ?", newseason, OldLP.ID) database.Db.Exec("UPDATE episodes SET lets_play_id=? WHERE lets_play_id = ?", NewLP.ID, OldLP.ID) + database.Db.Exec("UPDATE lets_plays SET aired=NULL WHERE id = ?", OldLP.ID) OldLP.MergeID.Int64 = int64(NewLP.ID) OldLP.MergeSeason.Int64 = newseason + OldLP.Aired = time.Time{} database.Db.Save(&OldLP) } \ No newline at end of file diff --git a/gserver/apiv3/apiv3.go b/gserver/apiv3/apiv3.go index ec74f6b..5ff9930 100644 --- a/gserver/apiv3/apiv3.go +++ b/gserver/apiv3/apiv3.go @@ -64,7 +64,7 @@ func GetAuthorLps(c *gin.Context) { var ALPs []LetsPlay if author, ok := CleanParam(c.Param("aid")); ok { database.Db.Where(author).Find(&AT) - database.Db.Model(&AT).Related(&LPs) + database.Db.Model(&AT).Where("aired IS NOT NULL AND merge_id IS NULL").Related(&LPs) } else { c.AbortWithStatus(404) } @@ -106,7 +106,7 @@ func GetLps(c *gin.Context) { var LPs []database.LetsPlay var ALPs []LetsPlay if lp, ok := CleanParam(c.Param("lid")); ok { - database.Db.Where(lp).Find(&LPs) + database.Db.Where("id=? AND aired IS NOT NULL and merge_id IS NULL", lp).Find(&LPs) if len(LPs) > 0 { copier.Copy(&ALPs, &LPs) if HandleEtag(c, fmt.Sprintf("%#v", ALPs[0])) { @@ -120,7 +120,7 @@ func GetLps(c *gin.Context) { c.JSON(http.StatusOK, gin.H{}) } } else { - database.Db.Find(&LPs) + database.Db.Where("aired IS NOT NULL AND merge_id IS NULL").Find(&LPs) copier.Copy(&ALPs, &LPs) if HandleEtag(c, fmt.Sprintf("%#v", ALPs)) { return diff --git a/gserver/webapp.go b/gserver/webapp.go index 823e2e7..29c7a28 100644 --- a/gserver/webapp.go +++ b/gserver/webapp.go @@ -129,7 +129,7 @@ func GetAtLps(c *gin.Context) { var AT database.Author if database.Db.Where("slug = ?", aslug).First(&AT).Error == nil { var LPs []database.LetsPlay - database.Db.Model(&AT).Where("aired IS NOT NULL").Order("name asc").Related(&LPs) + database.Db.Model(&AT).Where("aired IS NOT NULL AND merge_id IS NULL").Order("name asc").Related(&LPs) var data []gin.H for _, LP := range LPs { data = append(data, gin.H{"LP": LP})