summaryrefslogtreecommitdiff
path: root/internal/packet
diff options
context:
space:
mode:
authorKyren223 <Kyren223@proton.me>2025-01-22 17:23:18 +0200
committerKyren223 <Kyren223@proton.me>2025-01-22 17:23:18 +0200
commita6ea05146050a8b2ae5963d4ea96434dc3005f37 (patch)
tree09128a6f90a0aae8159e0575e11562409f525a1d /internal/packet
parent645247f4ef489c9084a7d8d30db89b083287f0c6 (diff)
Added the ability to trust/untrust users
Diffstat (limited to 'internal/packet')
-rw-r--r--internal/packet/packet.go8
-rw-r--r--internal/packet/types.go21
2 files changed, 29 insertions, 0 deletions
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
+}