feat: Einzelne Nachrichten als Link teilen
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
This commit is contained in:
1 parent
4e915f76af
commit
be29984b25
12 files changed
+591
-8
No files matched your search
@@ -19,7 +19,8 @@ public class AuthMiddleware
|
||||
|
||||
// Static files, login and telegram webhook don't require auth
|
||||
var isTelegramWebhook = path.StartsWith("/api/telegram/webhook/") && ctx.Request.Method == "POST";
|
||||
if (!path.StartsWith("/api/") || path == "/api/auth/login" || isTelegramWebhook)
|
||||
var isSharedGet = path.StartsWith("/api/shared/") && ctx.Request.Method == "GET";
|
||||
if (!path.StartsWith("/api/") || path == "/api/auth/login" || isTelegramWebhook || isSharedGet)
|
||||
{
|
||||
await _next(ctx);
|
||||
return;
|
||||
|
||||
Reference in new issue
Block a user