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/packet/packet.go | 8 ++++++++ internal/packet/types.go | 21 +++++++++++++++++++++ 2 files changed, 29 insertions(+) (limited to 'internal/packet') diff --git a/internal/packet/packet.go b/internal/packet/packet.go index 57260da..e629f32 100644 --- a/internal/packet/packet.go +++ b/internal/packet/packet.go @@ -76,6 +76,9 @@ const ( PacketSetMember PacketMembersInfo + PacketTrustUser + PacketTrustInfo + PacketMax ) @@ -234,6 +237,11 @@ func (p Packet) DecodedPayload() (Payload, error) { case PacketMembersInfo: payload = &MembersInfo{} + case PacketTrustUser: + payload = &TrustUser{} + case PacketTrustInfo: + payload = &TrustInfo{} + default: assert.Never("unexpected packet.PacketType", "type", p.Type()) } diff --git a/internal/packet/types.go b/internal/packet/types.go index f142a48..5dba38b 100644 --- a/internal/packet/types.go +++ b/internal/packet/types.go @@ -1,6 +1,8 @@ package packet import ( + "crypto/ed25519" + "github.com/kyren223/eko/internal/data" "github.com/kyren223/eko/pkg/snowflake" ) @@ -203,3 +205,22 @@ type GetUserData struct{} func (m *GetUserData) Type() PacketType { return PacketGetUserData } + +type TrustUser struct { + User snowflake.ID + Trust bool +} + +func (m *TrustUser) Type() PacketType { + return PacketTrustUser +} + +type TrustInfo struct { + Trusteds []snowflake.ID + TrustedPublicKeys []ed25519.PublicKey + RemovedTrusteds []snowflake.ID +} + +func (m *TrustInfo) Type() PacketType { + return PacketTrustInfo +} -- cgit v1.3.1