diff --git a/server/settings/btsets.go b/server/settings/btsets.go index e31307a..62b8acd 100644 --- a/server/settings/btsets.go +++ b/server/settings/btsets.go @@ -76,6 +76,10 @@ func loadBTSets() { log.TLogln("Error unmarshal btsets", err) } + SetDefault() +} + +func SetDefault() { sets := new(BTSets) sets.EnableDebug = false sets.DisableUTP = true diff --git a/server/torr/apihelper.go b/server/torr/apihelper.go index cbd5665..d6c4d75 100644 --- a/server/torr/apihelper.go +++ b/server/torr/apihelper.go @@ -129,6 +129,15 @@ func SetSettings(set *sets.BTSets) { bts.Connect() } +func SetDefSettings() { + if sets.ReadOnly { + return + } + bts.Disconnect() + sets.SetDefault() + bts.Connect() +} + func Shutdown() { bts.Disconnect() sets.CloseDB() diff --git a/server/web/api/settings.go b/server/web/api/settings.go index 2d7c3a8..0269dcc 100644 --- a/server/web/api/settings.go +++ b/server/web/api/settings.go @@ -10,7 +10,7 @@ import ( "server/torr" ) -//Action: get, set +//Action: get, set, def type setsReqJS struct { requestI Sets *sets.BTSets `json:"sets,omitempty"` @@ -27,11 +27,14 @@ func settings(c *gin.Context) { if req.Action == "get" { c.JSON(200, sets.BTsets) return - } - if req.Action == "set" { + } else if req.Action == "set" { torr.SetSettings(req.Sets) c.Status(200) return + } else if req.Action == "def" { + torr.SetDefSettings() + c.Status(200) + return } c.AbortWithError(http.StatusBadRequest, errors.New("action is empty")) }