diff options
| author | Kyren223 <Kyren223@proton.me> | 2025-02-05 16:45:01 +0200 |
|---|---|---|
| committer | Kyren223 <Kyren223@proton.me> | 2025-02-05 16:45:01 +0200 |
| commit | 9d1158f03e63c32c426f3ee9edfce310dd4c2492 (patch) | |
| tree | 5b37029312cf054676140c1afffd045874910da0 /internal/server/api/api.go | |
| parent | f0607f16633d266f55a4b08f7edbbc13d08121ae (diff) | |
Implemented deleting messages in user signals
Diffstat (limited to 'internal/server/api/api.go')
| -rw-r--r-- | internal/server/api/api.go | 15 |
1 files changed, 14 insertions, 1 deletions
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") |
