feat(server): add DefaultShareExpiration config option (#4082)

* add DefaultShareExpiration config option

* run prettier so that I can push

* undo reformatting

* sort imports
This commit is contained in:
Caio Cotts 2025-05-20 22:17:30 -04:00 committed by GitHub
parent 453630d430
commit fef1739c1a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 4 additions and 1 deletions

View File

@ -72,6 +72,7 @@ type configOptions struct {
EnableUserEditing bool EnableUserEditing bool
EnableSharing bool EnableSharing bool
ShareURL string ShareURL string
DefaultShareExpiration time.Duration
DefaultDownloadableShare bool DefaultDownloadableShare bool
DefaultTheme string DefaultTheme string
DefaultLanguage string DefaultLanguage string
@ -472,6 +473,7 @@ func init() {
viper.SetDefault("enablecoveranimation", true) viper.SetDefault("enablecoveranimation", true)
viper.SetDefault("enablesharing", false) viper.SetDefault("enablesharing", false)
viper.SetDefault("shareurl", "") viper.SetDefault("shareurl", "")
viper.SetDefault("defaultshareexpiration", 8760*time.Hour)
viper.SetDefault("defaultdownloadableshare", false) viper.SetDefault("defaultdownloadableshare", false)
viper.SetDefault("gatrackingid", "") viper.SetDefault("gatrackingid", "")
viper.SetDefault("enableinsightscollector", true) viper.SetDefault("enableinsightscollector", true)

View File

@ -8,6 +8,7 @@ import (
"github.com/Masterminds/squirrel" "github.com/Masterminds/squirrel"
"github.com/deluan/rest" "github.com/deluan/rest"
gonanoid "github.com/matoous/go-nanoid/v2" gonanoid "github.com/matoous/go-nanoid/v2"
"github.com/navidrome/navidrome/conf"
"github.com/navidrome/navidrome/log" "github.com/navidrome/navidrome/log"
"github.com/navidrome/navidrome/model" "github.com/navidrome/navidrome/model"
. "github.com/navidrome/navidrome/utils/gg" . "github.com/navidrome/navidrome/utils/gg"
@ -93,7 +94,7 @@ func (r *shareRepositoryWrapper) Save(entity interface{}) (string, error) {
} }
s.ID = id s.ID = id
if V(s.ExpiresAt).IsZero() { if V(s.ExpiresAt).IsZero() {
s.ExpiresAt = P(time.Now().Add(365 * 24 * time.Hour)) s.ExpiresAt = P(time.Now().Add(conf.Server.DefaultShareExpiration))
} }
firstId := strings.SplitN(s.ResourceIDs, ",", 2)[0] firstId := strings.SplitN(s.ResourceIDs, ",", 2)[0]