diff options
Diffstat (limited to 'store/sql_supplier.go')
-rw-r--r-- | store/sql_supplier.go | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/store/sql_supplier.go b/store/sql_supplier.go index 5b9c268bb..f56a9f448 100644 --- a/store/sql_supplier.go +++ b/store/sql_supplier.go @@ -786,6 +786,8 @@ func (me mattermConverter) ToDb(val interface{}) (interface{}, error) { switch t := val.(type) { case model.StringMap: return model.MapToJson(t), nil + case map[string]string: + return model.MapToJson(model.StringMap(t)), nil case model.StringArray: return model.ArrayToJson(t), nil case model.StringInterface: @@ -809,6 +811,16 @@ func (me mattermConverter) FromDb(target interface{}) (gorp.CustomScanner, bool) return json.Unmarshal(b, target) } return gorp.CustomScanner{Holder: new(string), Target: target, Binder: binder}, true + case *map[string]string: + binder := func(holder, target interface{}) error { + s, ok := holder.(*string) + if !ok { + return errors.New(utils.T("store.sql.convert_string_map")) + } + b := []byte(*s) + return json.Unmarshal(b, target) + } + return gorp.CustomScanner{Holder: new(string), Target: target, Binder: binder}, true case *model.StringArray: binder := func(holder, target interface{}) error { s, ok := holder.(*string) |