Files
gott/Models/MessageRecord.cs
T
Meleki a14a991a0f feat: Nachrichten als gelöscht markieren
- DB: deleted_on TEXT Spalte in messages (Migration)
- Backend: ToggleMessageDelete(), includeDeleted-Parameter in allen History-Queries
- Neuer Endpoint: PUT /api/messages/{id}/delete
- Frontend: Trash-Button zwischen Reply- und Mark-Button
- Gelöschte Nachrichten: durchgestrichen + roter Rand (oder versteckt je nach Einstellung)
- Einstellungen: Toggle-Switch 'Gelöschte Nachrichten anzeigen'
- KI-Payload: gelöschte Nachrichten werden nicht mitgeschickt
2026-03-03 11:45:52 +01:00

31 lines
1.4 KiB
C#

namespace Gott.Models;
public class MessageRecord
{
public long Id { get; set; }
public string ChainId { get; set; }
public string Role { get; set; } // user, assistant
public string Type { get; set; } // text, tool_use, tool_result
public string Content { get; set; } // Text oder JSON
public string ToolName { get; set; } // null bei text
public string ToolCallId { get; set; } // tool_use id
public bool IsError { get; set; }
public int Iteration { get; set; } // welche Loop-Iteration
public int AttachmentCount { get; set; } // Anzahl angehängter Dateien
public string AttachmentNames { get; set; } // JSON-Array mit Dateinamen
public bool IsMarked { get; set; } // als wichtig markiert
public string DeletedOn { get; set; } // null = aktiv, sonst Zeitstempel der Löschung
public string CreatedAt { get; set; }
}
public class AttachmentRecord
{
public long Id { get; set; }
public long MessageId { get; set; } // FK auf messages.id
public string Type { get; set; } // image, document
public string MediaType { get; set; } // image/png, application/pdf, etc.
public string FileName { get; set; } // Original-Dateiname (optional)
public string Data { get; set; } // Base64-encoded Inhalt
public string CreatedAt { get; set; }
}