From 172e7ee87f342d1681cc5c48bf69673849d128da Mon Sep 17 00:00:00 2001 From: zeripath Date: Sun, 25 Oct 2020 17:19:06 +0000 Subject: Fix Storage mapping (#13297) This PR fixes several bugs in setting storage * The default STORAGE_TYPE should be the provided type. * The Storage config should be passed in to NewStorage as a pointer - otherwise the Mappable interface function MapTo will not be found * There was a bug in the MapTo function. Fix #13286 Signed-off-by: Andrew Thornton --- modules/setting/storage.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'modules/setting') diff --git a/modules/setting/storage.go b/modules/setting/storage.go index ab0598ccf8..e743d6c20c 100644 --- a/modules/setting/storage.go +++ b/modules/setting/storage.go @@ -21,7 +21,7 @@ type Storage struct { // MapTo implements the Mappable interface func (s *Storage) MapTo(v interface{}) error { - pathValue := reflect.ValueOf(v).FieldByName("Path") + pathValue := reflect.ValueOf(v).Elem().FieldByName("Path") if pathValue.IsValid() && pathValue.Kind() == reflect.String { pathValue.SetString(s.Path) } @@ -46,7 +46,7 @@ func getStorage(name, typ string, overrides ...*ini.Section) Storage { var storage Storage - storage.Type = sec.Key("STORAGE_TYPE").MustString("") + storage.Type = sec.Key("STORAGE_TYPE").MustString(typ) storage.ServeDirect = sec.Key("SERVE_DIRECT").MustBool(false) // Global Defaults -- cgit v1.2.3