diff options
Diffstat (limited to 'internal/client/ui/core/state/state.go')
| -rw-r--r-- | internal/client/ui/core/state/state.go | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/internal/client/ui/core/state/state.go b/internal/client/ui/core/state/state.go index 182a957..03b7b9d 100644 --- a/internal/client/ui/core/state/state.go +++ b/internal/client/ui/core/state/state.go @@ -1,6 +1,7 @@ package state import ( + "crypto/ed25519" "encoding/json" "slices" @@ -28,6 +29,7 @@ type state struct { Frequencies map[snowflake.ID][]data.Frequency // key is network id Members map[snowflake.ID]map[snowflake.ID]data.Member // key is network id then user id Users map[snowflake.ID]data.User // key is user id + Trusteds map[snowflake.ID]ed25519.PublicKey // key is user id } var State state = state{ @@ -38,6 +40,7 @@ var State state = state{ Frequencies: map[snowflake.ID][]data.Frequency{}, Members: map[snowflake.ID]map[snowflake.ID]data.Member{}, Users: map[snowflake.ID]data.User{}, + Trusteds: map[snowflake.ID]ed25519.PublicKey{}, } type UserData struct { @@ -195,3 +198,13 @@ func FromJsonUserData(s string) { } Data = data } + +func UpdateTrusteds(info *packet.TrustInfo) { + for _, removed := range info.RemovedTrusteds { + delete(State.Trusteds, removed) + } + + for i, trusted := range info.Trusteds { + State.Trusteds[trusted] = info.TrustedPublicKeys[i] + } +} |
