[backend/masto-client] Don't silently drop invalid reply targets

This commit is contained in:
Laura Hausmann 2024-02-07 20:47:25 +01:00
parent c8c09591f9
commit 06e4a0ac9d
No known key found for this signature in database
GPG key ID: D044E84C5BE01605

View file

@ -52,7 +52,8 @@ public class MastodonStatusController(DatabaseContext db, NoteRenderer noteRende
var visibility = Status.DecodeVisibility(request.Visibility); var visibility = Status.DecodeVisibility(request.Visibility);
var reply = request.ReplyId != null var reply = request.ReplyId != null
? await db.Notes.Where(p => p.Id == request.ReplyId).EnsureVisibleFor(user).FirstOrDefaultAsync() ? await db.Notes.Where(p => p.Id == request.ReplyId).EnsureVisibleFor(user).FirstOrDefaultAsync() ??
throw GracefulException.BadRequest("Reply target is nonexistent or inaccessible")
: null; : null;
var note = await noteSvc.CreateNoteAsync(user, visibility, request.Text, request.Cw, reply); var note = await noteSvc.CreateNoteAsync(user, visibility, request.Text, request.Cw, reply);