From 9d1158f03e63c32c426f3ee9edfce310dd4c2492 Mon Sep 17 00:00:00 2001 From: Kyren223 Date: Wed, 5 Feb 2025 16:45:01 +0200 Subject: Implemented deleting messages in user signals --- internal/server/api/api.go | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) (limited to 'internal/server') diff --git a/internal/server/api/api.go b/internal/server/api/api.go index a95065c..92679b8 100644 --- a/internal/server/api/api.go +++ b/internal/server/api/api.go @@ -1037,7 +1037,20 @@ func DeleteMessage(ctx context.Context, sess *session.Session, request *packet.D } if message.ReceiverID != nil { - return &ErrNotImplemented + if message.SenderID != sess.ID() { + return &ErrPermissionDenied + } + + err = queries.DeleteMessage(ctx, message.ID) + if err != nil { + log.Println("database error 5:", err) + return &ErrInternalError + } + + return UserPropagate(ctx, sess, *message.ReceiverID, &packet.MessagesInfo{ + Messages: nil, + RemovedMessages: []snowflake.ID{message.ID}, + }) } assert.Never("unreachable") -- cgit v1.3.1