01a086a5 - Hide forum posts instead of deleting rows - #105
Conversation
Staff DELETE /messages/:id stamps deleted_at and hides the note from reads. Rows, media, invoices, gifts, and relay copies stay.
MessageRow now requires the hide fields; the inbound create path was the only src/ literal that did not spread unsignedNostrDefaults.
Staff hide uses markDeleted, not deleteById.
|
EN: DE: DetailsPass 1: CONTRIBUTING now lists Pass 2: 0 counted findings at Do not merge the hard-delete PR #101. |
EN:
Staff can hide a forum post without removing the database row. DELETE /messages/:id stamps deleted_at and omits the note from reads; media, invoices, gifts, and relay copies stay. Deploy this API before the matching frontend. This supersedes the hard-delete approach in #101.
DE:
Moderatoren können einen Forenbeitrag ausblenden, ohne die Datenbankzeile zu löschen. DELETE /messages/:id setzt deleted_at und nimmt den Beitrag aus den Reads; Medien, Rechnungen, Geschenke und Relay-Kopien bleiben. Diese API vor dem Frontend deployen. Das ersetzt das echte Löschen in #101.
Details
markDeletedstampsdeleted_at/deleted_byon the target and untagged direct replies.getByIdstill returns the row so a profile note is not recreated. HTTP GET, photo, video, replies, and invoice treat a tagged row as 404. Lists and publish scans skip tagged rows.deleteByIdremains for internal cleanup only and is not used on this path.Founder/moderator only, live role, 401/403/404/204/503. Public JSON never includes
deletedAt.