#!/bin/bash # Skript zum Rückgängigmachen der aktuellen Frontend-Installation # und Wiederherstellung des Torben-Frontends set -e # Beende das Skript bei Fehlern SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" FRONTEND_DIR="$SCRIPT_DIR/reservation-platform" LOG_FILE="$SCRIPT_DIR/frontend-restore.log" # Logfunktion log() { echo "$(date '+%Y-%m-%d %H:%M:%S') - $1" | tee -a "$LOG_FILE" } # Lösche Log-Datei, falls vorhanden > "$LOG_FILE" log "Beginne mit der Wiederherstellung des Frontend-Commits von Torben" # Überprüfe, ob wir in einem Git-Repository sind if ! git -C "$SCRIPT_DIR" rev-parse --is-inside-work-tree > /dev/null 2>&1; then log "FEHLER: Das Skript muss innerhalb eines Git-Repositories ausgeführt werden" exit 1 fi # Sichere aktuelle Änderungen, falls gewünscht read -p "Möchtest du aktuelle ungespeicherte Änderungen sichern? (j/n): " backup_changes if [[ "$backup_changes" == "j" ]]; then BACKUP_DIR="$SCRIPT_DIR/../frontend-backup-$(date '+%Y%m%d-%H%M%S')" log "Erstelle Backup in $BACKUP_DIR" mkdir -p "$BACKUP_DIR" if [ -d "$FRONTEND_DIR" ]; then cp -r "$FRONTEND_DIR" "$BACKUP_DIR/" log "Frontend-Backup erstellt in $BACKUP_DIR/reservation-platform" else log "Warnung: Frontend-Verzeichnis existiert nicht, kein Backup nötig" fi fi # Resette das Frontend auf den Torben-Commit (27. Mai 2024) TORBEN_COMMIT="3fd586caaf131006c429b48ee89d757062d4c9a1" log "Resette Frontend auf Torben's Commit ($TORBEN_COMMIT)" # Lösche ggf. vorhandenes Frontend-Verzeichnis if [ -d "$FRONTEND_DIR" ]; then log "Lösche existierendes Frontend-Verzeichnis" rm -rf "$FRONTEND_DIR" fi # Checkout das Frontend vom Torben-Commit log "Checkout Frontend aus dem Commit $TORBEN_COMMIT" git -C "$SCRIPT_DIR" checkout $TORBEN_COMMIT -- reservation-platform log "Frontend wurde erfolgreich auf Torben's Version zurückgesetzt" # Erstelle einen Commit mit der Wiederherstellung, falls gewünscht read -p "Möchtest du die Wiederherstellung committen? (j/n): " commit_changes if [[ "$commit_changes" == "j" ]]; then git -C "$SCRIPT_DIR" add reservation-platform git -C "$SCRIPT_DIR" commit -m "Setze Frontend auf den Stand von Torben zurück (Commit: $TORBEN_COMMIT)" log "Änderungen wurden committet" else log "Änderungen wurden NICHT committet" fi log "Frontend-Wiederherstellung abgeschlossen" log "Um das Frontend zu starten, führe folgendes aus:" log "cd $FRONTEND_DIR && pnpm install && pnpm dev"