From a6ea05146050a8b2ae5963d4ea96434dc3005f37 Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Wed, 22 Jan 2025 17:23:18 +0200 Subject: Added the ability to trust/untrust users --- internal/client/ui/core/state/state.go | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'internal/client/ui/core/state/state.go') 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] + } +} -- cgit v1.3.1