From 6e9496323fbdfbe2b60122ce68cf3791ccb2910d Mon Sep 17 00:00:00 2001 From: citrons Date: Thu, 12 Jun 2025 15:19:56 -0500 Subject: object.Tombstone --- server/object/tombstone.go | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 server/object/tombstone.go (limited to 'server/object/tombstone.go') diff --git a/server/object/tombstone.go b/server/object/tombstone.go new file mode 100644 index 0000000..05d9600 --- /dev/null +++ b/server/object/tombstone.go @@ -0,0 +1,29 @@ +package object + +import ( + "citrons.xyz/talk/proto" + "citrons.xyz/talk/server/session" +) + +type Tombstone struct { + Id string + Fields map[string]string +} + +func (t Tombstone) InfoFor(uid string) proto.Object { + return proto.Object {"gone", t.Id, t.Fields} +} + +func (t Tombstone) SendRequest(r session.Request) { + switch r.Cmd.Kind { + + case "i", "s": + r.Reply(proto.NewCmd("i", "", t.InfoFor(r.From.UserId))) + + case "u": + r.ReplyOk() + + default: + r.Reply(proto.Fail{"bad-target", "", nil}.Cmd()) + } +} -- cgit v1.2.3