#!/usr/bin/env bash
set -e

script=$(basename "$0")
version="1.0.1"

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
}

if [[ "$1" == 'help' ]]; then
  help
  exit
fi

container=odoo
database=odoo

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

echo "Delete these assets on $container for $database:"
docker exec "$container" /bin/bash -c "psql postgresql://\$PGUSER:\$PGPASSWORD@\$PGHOST/$database -c \"SELECT id,name FROM ir_asset WHERE bundle='web.assets_backend';\""
docker exec "$container" /bin/bash -c "psql postgresql://\$PGUSER:\$PGPASSWORD@\$PGHOST/$database -c \"DELETE FROM ir_asset WHERE bundle='web.assets_backend';\""
docker exec "$container" /bin/bash -c "psql postgresql://\$PGUSER:\$PGPASSWORD@\$PGHOST/$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://\$PGUSER:\$PGPASSWORD@\$PGHOST/$database -c \"DELETE FROM ir_attachment WHERE res_model='ir.ui.view' and name like '%assets_%';\""

echo 'Assets cleared. Please restart the Odoo container/process.'
