feat: Enhance player comment features with AI rewriting and collapsible form
This commit is contained in:
@@ -61,6 +61,8 @@ Eine Web-App inspiriert von Heardle, bei der Nutzer täglich einen Song anhand k
|
||||
- **Kommentar-Verwaltung:** Kuratoren können Spieler-Kommentare zu ihren Rätseln einsehen, als gelesen markieren und archivieren.
|
||||
- **Spieler-Kommentare:**
|
||||
- **Feedback an Kuratoren:** Spieler können nach Abschluss eines Rätsels optional eine Nachricht an die Kuratoren senden.
|
||||
- **KI-gestützte Formulierungshilfe:** Nachrichten können vor dem Absenden auf Wunsch automatisch von einer KI umformuliert/verbessert werden.
|
||||
- **Einklappbares Kommentar-Formular:** Das Nachrichtenformular ist dezent als einklappbarer Bereich eingebunden und stört den Spielfluss nicht.
|
||||
- **Automatische Zuordnung:** Kommentare werden automatisch an relevante Kuratoren verteilt (Genre-Kuratoren, Special-Kuratoren, Global-Kuratoren).
|
||||
- **Rate-Limiting:** Pro Spieler nur ein Kommentar pro Puzzle möglich.
|
||||
- **Kontext-Informationen:** Kommentare enthalten vollständigen Rätsel-Kontext (Hördle #, Genre/Special, Titel/Artist).
|
||||
|
||||
98
scripts/restore-restic.sh
Normal file
98
scripts/restore-restic.sh
Normal file
@@ -0,0 +1,98 @@
|
||||
#!/bin/bash
|
||||
# Restic restore script for Hördle deployment
|
||||
# Restores files from the Restic repository created by backup-restic.sh
|
||||
#
|
||||
# Usage:
|
||||
# scripts/restore-restic.sh [SNAPSHOT] [TARGET_DIR]
|
||||
#
|
||||
# SNAPSHOT : Optional. Restic snapshot reference (ID, tag, or "latest").
|
||||
# Defaults to "latest".
|
||||
# TARGET_DIR : Optional. Directory to restore into.
|
||||
# Defaults to "./restic-restore-<DATE>-<TIME>".
|
||||
#
|
||||
# Examples:
|
||||
# scripts/restore-restic.sh
|
||||
# → Restore latest snapshot into a new timestamped directory
|
||||
#
|
||||
# scripts/restore-restic.sh latest ./restore-latest
|
||||
# → Restore latest snapshot into ./restore-latest
|
||||
#
|
||||
# scripts/restore-restic.sh d3adb33f ./restore-commit
|
||||
# → Restore specific snapshot ID into ./restore-commit
|
||||
|
||||
set -e
|
||||
|
||||
echo "💾 Restoring from Restic backup..."
|
||||
|
||||
if ! command -v restic >/dev/null 2>&1; then
|
||||
echo "❌ restic nicht im PATH gefunden. Bitte installiere restic oder füge es zum PATH hinzu."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Erforderliche Umgebungsvariablen prüfen
|
||||
if [ -z "$RESTIC_PASSWORD" ]; then
|
||||
echo "❌ RESTIC_PASSWORD ist nicht gesetzt. Abbruch."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ -z "$RESTIC_AUTH_USER" ] || [ -z "$RESTIC_AUTH_PASSWORD" ]; then
|
||||
echo "❌ RESTIC_AUTH_USER oder RESTIC_AUTH_PASSWORD ist nicht gesetzt. Abbruch."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Repository-URL auf Basis des Backup-Skripts
|
||||
RESTIC_REPO="rest:https://${RESTIC_AUTH_USER}:${RESTIC_AUTH_PASSWORD}@restic.elpatron.me/"
|
||||
|
||||
# Passwort für restic exportieren
|
||||
export RESTIC_PASSWORD
|
||||
|
||||
# Snapshot-Referenz und Zielverzeichnis bestimmen
|
||||
SNAPSHOT_REF="${1:-latest}"
|
||||
TIMESTAMP="$(date +%Y-%m-%d_%H-%M-%S)"
|
||||
DEFAULT_TARGET_DIR="./restic-restore-${TIMESTAMP}"
|
||||
TARGET_DIR="${2:-$DEFAULT_TARGET_DIR}"
|
||||
|
||||
echo " Repository : $RESTIC_REPO"
|
||||
echo " Snapshot : $SNAPSHOT_REF"
|
||||
echo " Zielordner : $TARGET_DIR"
|
||||
|
||||
# Prüfen, ob Repository existiert
|
||||
if ! restic -r "$RESTIC_REPO" snapshots >/dev/null 2>&1; then
|
||||
echo "❌ Kein gültiges Restic-Repository gefunden (oder keine Snapshots vorhanden)."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Zielverzeichnis vorbereiten
|
||||
if [ -e "$TARGET_DIR" ] && [ ! -d "$TARGET_DIR" ]; then
|
||||
echo "❌ $TARGET_DIR existiert und ist kein Verzeichnis. Abbruch."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [ ! -d "$TARGET_DIR" ]; then
|
||||
echo " Erstelle Zielverzeichnis $TARGET_DIR ..."
|
||||
mkdir -p "$TARGET_DIR"
|
||||
fi
|
||||
|
||||
echo " Verfügbare Snapshots (gekürzt):"
|
||||
restic -r "$RESTIC_REPO" snapshots --compact || true
|
||||
echo
|
||||
|
||||
echo " Starte Restic-Restore..."
|
||||
|
||||
RESTIC_EXIT_CODE=0
|
||||
|
||||
# Standard-Restore: gesamtes Repo in Zielverzeichnis
|
||||
# (Das spiegelt die beim Backup gesicherten Pfade unterhalb von TARGET_DIR.)
|
||||
restic -r "$RESTIC_REPO" restore "$SNAPSHOT_REF" \
|
||||
--target "$TARGET_DIR" || RESTIC_EXIT_CODE=$?
|
||||
|
||||
if [ $RESTIC_EXIT_CODE -eq 0 ]; then
|
||||
echo "✅ Restic-Restore erfolgreich abgeschlossen."
|
||||
echo " Wiederhergestellte Daten befinden sich in: $TARGET_DIR"
|
||||
exit 0
|
||||
else
|
||||
echo "⚠️ Restic-Restore fehlgeschlagen (Exit-Code: $RESTIC_EXIT_CODE)."
|
||||
exit $RESTIC_EXIT_CODE
|
||||
fi
|
||||
|
||||
|
||||
Reference in New Issue
Block a user