#!/bin/bash

# App Commands Header
# Shows available app commands and help information

cliShowAppHelp()
{
    echo ""
    echo "Available App Commands (* is required):"
    echo ""
    echo "  libreportal app list [type*]               - Display a list of applications"
    echo "    available                              - Show available apps to install"
    echo "    installed                              - Show installed apps"
    echo ""
    echo "  libreportal app install [name*] [config] [--reset-network]"
    echo "                                            - Install / reinstall the specified app."
    echo "                                              On reinstall, IPs and ports are preserved by default."
    echo "                                              Pass --reset-network to re-randomize them."
    echo "  libreportal app uninstall [name*]          - Uninstall the specified app"
    echo ""
    echo "  libreportal app start [name*]              - Start the specified app (Must be installed)"
    echo "  libreportal app stop [name*]               - Stop the specified app (Must be installed)"
    echo "  libreportal app restart [name*]            - Restart the specified app (Must be installed)"
    echo ""
    echo "  libreportal app up [name*]                 - Docker-Compose up (Rebuild app)"
    echo "  libreportal app down [name*]               - Docker-Compose up (Uninstall app)"
    echo "  libreportal app reload [name*]             - Docker-Compose up & down (Reinstall app)"
    echo ""
    echo "  libreportal app backup [name*] [password]                          - Backup the specified app (password optional)"
    echo "  libreportal app restore [name*] [file|--latest] [password]         - Restore from local/remote, prefers local"
    echo "  libreportal app restore [name*] [local|remote1|remote2] [file] [password]"
    echo "                                                                    - Restore from a specific location"
    echo "  libreportal app generate [name*]           - Generates new application container install files"
    echo "  libreportal app status [name*]             - Show status of specified app"
    echo "  libreportal app tool [name*] [tool*] [args]"
    echo "                                            - Run a per-app tool (Tools tab actions)."
    echo "                                              [args] is pipe-encoded: key=value|key=value"
    echo "  libreportal app tool list [name]           - List available tools (all apps, or just [name])"
    echo ""
}
