mirror of
https://github.com/strukturag/nextcloud-spreed-signaling
synced 2026-03-14 14:35:44 +01:00
Rewrite chat actor information for federation.
This commit is contained in:
parent
e6dd45b2cc
commit
63b658574a
5 changed files with 202 additions and 27 deletions
|
|
@ -24,6 +24,15 @@ package api
|
|||
// StringMap maps string keys to arbitrary values.
|
||||
type StringMap map[string]any
|
||||
|
||||
func (m StringMap) GetStringMap(key string) (StringMap, bool) {
|
||||
v, found := m[key]
|
||||
if !found {
|
||||
return nil, false
|
||||
}
|
||||
|
||||
return ConvertStringMap(v)
|
||||
}
|
||||
|
||||
func ConvertStringMap(ob any) (StringMap, bool) {
|
||||
if ob == nil {
|
||||
return nil, true
|
||||
|
|
|
|||
|
|
@ -88,3 +88,28 @@ func TestGetStringMapString(t *testing.T) {
|
|||
_, ok = GetStringMapString[StringMapTestString](m, "invalid")
|
||||
assert.False(ok)
|
||||
}
|
||||
|
||||
func TestGetStringMapStringMap(t *testing.T) {
|
||||
assert := assert.New(t)
|
||||
|
||||
m := StringMap{
|
||||
"foo": map[string]any{
|
||||
"bar": 1,
|
||||
},
|
||||
"bar": StringMap{
|
||||
"baz": 2,
|
||||
},
|
||||
}
|
||||
if v, ok := m.GetStringMap("foo"); assert.True(ok) {
|
||||
assert.EqualValues(map[string]any{
|
||||
"bar": 1,
|
||||
}, v)
|
||||
}
|
||||
if v, ok := m.GetStringMap("bar"); assert.True(ok) {
|
||||
assert.EqualValues(map[string]any{
|
||||
"baz": 2,
|
||||
}, v)
|
||||
}
|
||||
v, ok := m.GetStringMap("baz")
|
||||
assert.False(ok, "expected missing entry, got %+v", v)
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue