#!/bin/bash

# Hilfe-Funktion
usage() {
  echo "Usage: $0 [-a] [-f] [-up]"
  echo "  -a     update APT packages"
  echo "  -f     update Flatpak packages"
  echo "  -up    update all (APT, Flatpak)"
  exit 1
}

# Standardwerte für Flags setzen
update_apt=0
update_flatpak=0
update_all=0

# Überprüfen, ob -up als Argument übergeben wurde
for arg in "$@"; do
  case "$arg" in
    -a)
      update_apt=1
      ;;
    -f)
      update_flatpak=1
      ;;
    -up)
      update_all=1
      ;;
    *)
      usage
      ;;
  esac
done

# Wenn -up gesetzt ist, alle Updates aktivieren
if [[ $update_all -eq 1 ]]; then
  update_apt=1
  update_flatpak=1
fi

# APT-Update ausführen, falls -a oder -up gesetzt ist
if [[ $update_apt -eq 1 ]]; then
  echo "Updating APT packages..."
  sudo apt update && sudo apt upgrade && sudo apt autoremove -y
fi

# Flatpak-Update ausführen, falls -f oder -up gesetzt ist
if [[ $update_flatpak -eq 1 ]]; then
  echo "Updating Flatpak packages..."
  flatpak update -y
fi

# Hinweis, falls keine Option angegeben wurde
if [[ $update_apt -eq 0 && $update_flatpak -eq 0 ]]; then
  echo "No update option provided."
  usage
fi
