#!/bin/bash

cliHandleSetupCommands()
{
    local action="$initial_command2"
    local arg1="$initial_command3"

    case "$action" in
        "apply")
            if [[ -z "$arg1" ]]; then
                isError "Missing payload. Usage: libreportal setup apply <base64-json>"
                return 1
            fi
            setupApply "$arg1"
            ;;

        "config")
            if [[ -z "$arg1" ]]; then
                isError "Missing payload. Usage: libreportal setup config <base64-json>"
                return 1
            fi
            setupApplyConfig "$arg1"
            ;;

        "finalize")
            setupApplyFinalize
            ;;

        "status")
            if isSetupWizardComplete; then
                echo '{"complete":true}'
            else
                echo '{"complete":false}'
            fi
            ;;

        "reset")
            setupWizardReset
            isSuccessful "Setup Wizard lock cleared. The wizard will run again on next entry."
            ;;

        "suggest-name")
            setupGenerateName
            ;;

        "dns-check")
            setupCheckDomainPointsHere "$arg1"
            ;;

        *)
            cliShowSetupHelp
            ;;
    esac
}
