Added support for Streamdeck Pedal and updated UI to better fit the Packed UI style

This commit is contained in:
2026-02-27 22:47:08 +01:00
committed by erik
parent 5a70f775f1
commit 93faae5cc8
1463 changed files with 306917 additions and 0 deletions

113
pirp/reset.sh Normal file
View File

@@ -0,0 +1,113 @@
#!/bin/bash
# PIRP Reset Script - Setzt DB und Uploads komplett zurück
# Default Login nach Reset: admin:admin
#
# Verwendung:
# ./reset.sh - Interaktiv (fragt nach Docker/Lokal)
# ./reset.sh docker - Nur Docker
# ./reset.sh local - Nur Lokal
set -e
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
cd "$SCRIPT_DIR"
# DB-Verbindungsdaten für lokalen Betrieb (aus config.php oder Env)
DB_HOST="${DB_HOST:-127.0.0.1}"
DB_PORT="${DB_PORT:-5432}"
DB_NAME="${DB_NAME:-pirp}"
DB_USER="${DB_USER:-pirp_user}"
DB_PASS="${DB_PASS:-PIRPdb2025!}"
# admin:admin Password Hash
ADMIN_HASH='$2y$10$YourHashHere'
echo "=== PIRP Reset ==="
echo "WARNUNG: Dies löscht ALLE Daten (Datenbank + Uploads)!"
echo ""
# Modus bestimmen
MODE="$1"
if [ -z "$MODE" ]; then
echo "Welchen Modus verwenden?"
echo " 1) Docker (docker-compose)"
echo " 2) Lokal (PostgreSQL direkt)"
echo ""
read -p "Auswahl (1/2): " choice
case "$choice" in
1) MODE="docker" ;;
2) MODE="local" ;;
*) echo "Ungültige Auswahl."; exit 1 ;;
esac
fi
echo ""
read -p "Wirklich ALLE Daten löschen? (ja/nein): " confirm
if [ "$confirm" != "ja" ]; then
echo "Abgebrochen."
exit 0
fi
# Uploads löschen
echo ""
echo "=> Uploads löschen..."
rm -rf public/uploads/logos/* 2>/dev/null || true
rm -rf public/uploads/expenses/* 2>/dev/null || true
rm -rf public/uploads/invoices/* 2>/dev/null || true
mkdir -p public/uploads/logos public/uploads/expenses public/uploads/invoices
echo " Uploads gelöscht."
if [ "$MODE" = "docker" ]; then
# === DOCKER MODUS ===
echo ""
echo "=> Docker Container stoppen und Volume löschen..."
docker compose down -v 2>/dev/null || docker-compose down -v 2>/dev/null || true
echo ""
echo "=> Docker Container neu starten..."
docker compose up -d 2>/dev/null || docker-compose up -d
echo ""
echo "=> Warte auf Datenbank..."
sleep 5
echo ""
echo "=> Migrationen ausführen..."
docker compose exec -T db psql -U "$DB_USER" -d "$DB_NAME" -f /docker-entrypoint-initdb.d/02-journal.sql 2>/dev/null || true
else
# === LOKAL MODUS ===
export PGPASSWORD="$DB_PASS"
echo ""
echo "=> Datenbank zurücksetzen..."
# Alle Tabellen droppen und Schema neu erstellen
echo " Schema anwenden..."
psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "$DB_NAME" -f schema.sql
echo " Journal-Migration..."
psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "$DB_NAME" -f tools/migrate_journal.sql
# Admin-User erstellen (admin:admin)
echo " Admin-User erstellen..."
ADMIN_HASH=$(php -r "echo password_hash('admin', PASSWORD_DEFAULT);")
psql -h "$DB_HOST" -p "$DB_PORT" -U "$DB_USER" -d "$DB_NAME" <<EOF
INSERT INTO users (username, password_hash)
VALUES ('admin', '$ADMIN_HASH')
ON CONFLICT (username) DO UPDATE SET password_hash = EXCLUDED.password_hash;
EOF
unset PGPASSWORD
fi
echo ""
echo "=== Reset abgeschlossen ==="
echo ""
echo "Login: admin / admin"
if [ "$MODE" = "docker" ]; then
echo "URL: http://localhost:8080"
else
echo "Starte Server mit: php -S localhost:8080 -t public"
fi
echo ""