#!/bin/bash
#
# Copyright (C) 2019 OX Software GmbH
# 
# This file is part of OX Automation.
#
# OX Automation is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# OX Automation is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# 
# See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with OX Automation. If not, see <http://www.gnu.org/licenses/>.
#
#
# Authors:
# Benedikt Kroening <benedikt.kroening@open-xchange.com>
#
set -e
SCRIPT_DIR="$( cd "$(dirname "$0")" ; pwd -P)"
# sourcing some commonly used functions and executing basic checks
source ${SCRIPT_DIR}/../lib/common.bash
source ${SCRIPT_DIR}/../lib/setup.bash

INSTALL_DOC_BACKEND=false
INSTALL_DOC_MIDDLEWARE=false
INSTALL_DOC_FRONTEND=false
## Help text
show_usage() {
echo -n "


"
}

### reading config from command line; overriding defaults
POSITIONAL=()
while [[ $# -gt 0 ]]
do
key="$1"

case $key in
    -h|--help)
    show_usage
    exit 0
    shift
    ;;
    --debug)
    echo "WARNING: Debug flag set (--debug)"
    set -x
    shift
    ;;
    --middleware)
    INSTALL_DOC_MIDDLEWARE=true
    shift
    ;;
    --backend)
    INSTALL_DOC_BACKEND=true
    shift
    ;;
    --frontend)
    INSTALL_DOC_FRONTEND=true
    shift
    ;;
    # --frontend)
    # export INSTALL_FRONTEND=true
    # shift
    # ;;

    # --repo-guard)
    # OX_REPO_GUARD="$2"
    # echo "WARNING: Using $OX_REPO_GUARD as guard repository source"
    # shift 
    # shift 
    # ;;
    *) # unknown option
    echo "Unknonwn option: $1"
    POSITIONAL+=("$1") # save it in an array for later
    shift 
    ;;
esac
done
set -- "${POSITIONAL[@]}" # restore positional parameters

# move this?
if [[ -z "${AS_OFFICE_VERSION}" ]] || [[ "${INSTALL_DOCUMENTS}" = false  ]]; then
    echo ""
    echo "WARNING: Skipping documents setup"
    echo ""
    sleep 3
    exit 0
fi

# These packages are for document middleware components (not the documents backend)
if [[ "${INSTALL_DOC_MIDDLEWARE}" = true  ]]; then
    echo "Adding OX Documents middleware packages ..."
    PACKAGES="${PACKAGES} open-xchange-realtime-core open-xchange-realtime-events open-xchange-realtime-json open-xchange-documents-backend open-xchange-documents-templates open-xchange-documents-ui-common open-xchange-documents-ui-editors open-xchange-documentconverter-api"
fi

# These packages are for the document backend (e.g. standalone documents backend) 
# if [[ "${INSTALL_DOC_BACKEND}" = true  ]]; then
#     echo "Adding OX Documents backend packages ..."
#     PACKAGES="${PACKAGES} open-xchange-documents-backend open-xchange-documents-templates open-xchange-documents-ui-common open-xchange-documents-ui-editors readerengine open-xchange-pdftool open-xchange-documentconverter-client"
# fi

# 
if [[ "${INSTALL_DOC_FRONTEND}" = true  ]]; then
    echo "Adding OX Documents frontend packages ..."
    PACKAGES="${PACKAGES} open-xchange-documents-ui-static open-xchange-documents-help-*"
fi

installPackages ${PACKAGES}

if [ "$INIT" = true ] ; then
    ${SCRIPT_DIR}/../config/init-documents.sh
fi