Backend:
- SharedMessageRecord Model + shared_messages DB-Tabelle
- SharedEndpoint: POST /api/messages/{id}/share, GET /api/shared/{token},
GET /api/shared (Liste), DELETE /api/shared/{token}
- Auth-Ausnahme für GET /api/shared/{token} (öffentlich ohne Login)
- DB-Methoden: CreateSharedMessage, GetSharedMessage, GetChainMessagesUpTo
Frontend:
- Share-Button (fa-share-alt) an jeder Nachricht
- Kontextmenü: Einzelnachricht oder mit Thread-Kontext teilen
- Link wird automatisch in Zwischenablage kopiert
- Öffentliche Shared-Page (#shared/{token}) ohne Login
- Markdown-Rendering in der geteilten Ansicht
- CSS für Share-Button, Share-Menü und Shared-Page
13 lines
345 B
C#
13 lines
345 B
C#
namespace Gott.Models;
|
|
|
|
public class SharedMessageRecord
|
|
{
|
|
public long Id { get; set; }
|
|
public string ShareToken { get; set; }
|
|
public long MessageId { get; set; }
|
|
public string UserId { get; set; }
|
|
public bool IncludeContext { get; set; }
|
|
public string ExpiresAt { get; set; }
|
|
public string CreatedAt { get; set; }
|
|
}
|