From ad8ff0d8719cf34a366e74f71ef28e1ee848856a Mon Sep 17 00:00:00 2001 From: kolaente Date: Thu, 11 Jun 2020 18:19:59 +0200 Subject: [PATCH] Add file upload --- pkg/modules/background/upload/upload.go | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/pkg/modules/background/upload/upload.go b/pkg/modules/background/upload/upload.go index 8fc25bd8f..aa77f5ccd 100644 --- a/pkg/modules/background/upload/upload.go +++ b/pkg/modules/background/upload/upload.go @@ -17,9 +17,11 @@ package upload import ( + "code.vikunja.io/api/pkg/files" "code.vikunja.io/api/pkg/models" "code.vikunja.io/api/pkg/modules/background" "code.vikunja.io/web" + "strconv" ) type Provider struct { @@ -45,5 +47,19 @@ func (p *Provider) Search(search string, page int64) (result []*background.Image // @Failure 500 {object} models.Message "Internal error" // @Router /lists/{id}/backgrounds/upload [put] func (p *Provider) Set(image *background.Image, list *models.List, auth web.Auth) (err error) { + // Remove the old background if one exists + if list.BackgroundFileID != 0 { + file := files.File{ID: list.BackgroundFileID} + if err := file.Delete(); err != nil { + return err + } + } + file := &files.File{} + file.ID, err = strconv.ParseInt(image.ID, 10, 64) + if err != nil { + return + } + + return models.SetListBackground(list.ID, file) }