#!/bin/bash
set -e

# Get script name
SCRIPT=$(basename "$0")
VERSION="1.0.0"

# Display Help
Help() {
  echo
  echo "$SCRIPT"
  echo
  echo "Description: Clear all assets of Odoo instance."
  echo "Syntax: $SCRIPT [-c|-d|-v|help]"
  echo "Example: $SCRIPT -c odoo01 -d erp"
  echo "options:"
  echo "  -c    Docker container. Defaults to 'odoo'."
  echo "  -d    Database name. Defaults to 'odoo'."
  echo "  -v    Show $SCRIPT version."
  echo "  help  Show $SCRIPT manual."
  echo
}

# Show help and exit
if [[ "$1" == "help" ]]; then
  Help
  exit
fi

# Process params
while getopts ":c: :d: :v" opt; do
    case $opt in
        c) CONTAINER="$OPTARG" ;;
        d) DATABASE="$OPTARG" ;;
        v) echo "$SCRIPT version $VERSION"
        exit 0
        ;;
        \?) echo "Invalid option -$OPTARG" >&2
        Help
        exit;;
    esac
done

# Fallback to environment vars and default values
: ${CONTAINER:='db'}
: ${DATABASE:='odoo'}

echo "Delete these assets on $CONTAINER for $DATABASE:"
docker exec $CONTAINER bin/bash -c "psql postgresql://\$USER:\$PASSWORD@\$HOST/$DATABASE -c \"select id,name from ir_attachment where res_model='ir.ui.view' and name like '%assets_%';\""
docker exec $CONTAINER bin/bash -c "psql postgresql://\$USER:\$PASSWORD@\$HOST/$DATABASE -c \"delete from ir_attachment where res_model='ir.ui.view' and name like '%assets_%';\""

echo "Restart the Odoo container".
docker restart $CONTAINER