@@ -24,7 +24,15 @@ import (
2424var albumMutex = sync.Mutex {}
2525
2626// SaveAlbumYaml saves the album metadata to a YAML backup file.
27- func SaveAlbumYaml (album entity.Album ) {
27+ func SaveAlbumYaml (album * entity.Album ) {
28+ if album == nil {
29+ log .Debugf ("api: album is nil (update yaml)" )
30+ return
31+ } else if ! album .HasID () {
32+ log .Debugf ("api: album has no ID (update yaml)" )
33+ return
34+ }
35+
2836 conf := get .Config ()
2937
3038 // Check if saving YAML backup files is enabled.
@@ -172,7 +180,7 @@ func CreateAlbum(router *gin.RouterGroup) {
172180 UpdateClientConfig ()
173181
174182 // Update album YAML backup.
175- SaveAlbumYaml (* album )
183+ SaveAlbumYaml (album )
176184
177185 // Add location header if newly created.
178186 if code == http .StatusCreated {
@@ -251,7 +259,7 @@ func UpdateAlbum(router *gin.RouterGroup) {
251259 UpdateClientConfig ()
252260
253261 // Update album YAML backup.
254- SaveAlbumYaml (album )
262+ SaveAlbumYaml (& album )
255263
256264 c .JSON (http .StatusOK , album )
257265 })
@@ -315,7 +323,7 @@ func DeleteAlbum(router *gin.RouterGroup) {
315323 AbortDeleteFailed (c )
316324 return
317325 } else {
318- SaveAlbumYaml (album )
326+ SaveAlbumYaml (& album )
319327 }
320328 } else {
321329 // Permanently delete automatically created albums.
@@ -382,7 +390,7 @@ func LikeAlbum(router *gin.RouterGroup) {
382390 PublishAlbumEvent (StatusUpdated , uid , c )
383391
384392 // Update album YAML backup.
385- SaveAlbumYaml (album )
393+ SaveAlbumYaml (& album )
386394
387395 c .JSON (http .StatusOK , i18n .NewResponse (http .StatusOK , i18n .MsgChangesSaved ))
388396 })
@@ -433,7 +441,7 @@ func DislikeAlbum(router *gin.RouterGroup) {
433441 PublishAlbumEvent (StatusUpdated , uid , c )
434442
435443 // Update album YAML backup.
436- SaveAlbumYaml (album )
444+ SaveAlbumYaml (& album )
437445
438446 c .JSON (http .StatusOK , i18n .NewResponse (http .StatusOK , i18n .MsgChangesSaved ))
439447 })
@@ -510,7 +518,7 @@ func CloneAlbums(router *gin.RouterGroup) {
510518 PublishAlbumEvent (StatusUpdated , album .AlbumUID , c )
511519
512520 // Update album YAML backup.
513- SaveAlbumYaml (album )
521+ SaveAlbumYaml (& album )
514522 }
515523
516524 c .JSON (http .StatusOK , gin.H {"code" : http .StatusOK , "message" : i18n .Msg (i18n .MsgAlbumCloned ), "album" : album , "added" : added })
@@ -592,7 +600,7 @@ func AddPhotosToAlbum(router *gin.RouterGroup) {
592600 PublishAlbumEvent (StatusUpdated , album .AlbumUID , c )
593601
594602 // Update album YAML backup.
595- SaveAlbumYaml (album )
603+ SaveAlbumYaml (& album )
596604
597605 // Auto-approve photos that have been added to an album,
598606 // see https://github.com/photoprism/photoprism/issues/4229
@@ -694,7 +702,7 @@ func RemovePhotosFromAlbum(router *gin.RouterGroup) {
694702 PublishAlbumEvent (StatusUpdated , album .AlbumUID , c )
695703
696704 // Update album YAML backup.
697- SaveAlbumYaml (album )
705+ SaveAlbumYaml (& album )
698706 }
699707
700708 c .JSON (http .StatusOK , gin.H {"code" : http .StatusOK , "message" : i18n .Msg (i18n .MsgChangesSaved ), "album" : album , "photos" : frm .Photos , "removed" : removed })
0 commit comments