#!/bin/bash

function sectionHeader() {
  echo ""
  echo "======================================================================="
  echo $1
  echo ""
  echo ""
}

function sectionFooter() {
  echo ""
  echo "-----------------------------------------------------------------------"
  echo ""
}

function infol3d() {
  sectionHeader "Your L3D"
  if [[ $HOSTMODE == true ]]; then
    ${SCRIPTPATH}/version
    echo ""
    ${SCRIPTPATH}/list
  else
    if [[ "$1" == "info" ]]; then
      echo "Here we will be printing useful information soon !!!"
    else
      echo "You're calling L3D inside of L3D, that's not useful."
    fi
  fi
  sectionFooter
}

function infohost() {
  sectionHeader "Your Host"
  echo "OS: ${L3DHOSTOS}"
  echo "User: ${USERNAME} (${USERID}:${GROUPID} - ${GROUPIDS})"
  echo "Home: ${HOMEDIR}"
  echo "Shell: ${L3DSHELL}"
  echo "Workdir: ${WORKDIR}"
  echo "SSH: ${SSHAUTH} - ${SSHAUTHSOCK}"
  sectionFooter
}

function infodocker() {
  sectionHeader "Your Docker"
  docker info 2>/dev/null | grep "Server Version:"
  docker info 2>/dev/null | grep "Operating System:"
  docker info 2>/dev/null | grep "OSType:"
  docker info 2>/dev/null | grep "Architecture:"
  sectionFooter
}

SCRIPTPATH="$(cd "$(dirname "$0")" && pwd -P)"
HOSTMODE=false
if [[ -f ${SCRIPTPATH}/selfupdate ]]; then
  HOSTMODE=true
fi

infol3d $1
if [[ $HOSTMODE == true ]]; then
  infohost
  infodocker
fi