#!/bin/sh
# Install or upgrade jb_ai_assistant on production.
set -e
ADDONS_DIR="${ADDONS_DIR:-/mnt/extra-addons}"
ODOO_CONF="${ODOO_CONF:-/etc/odoo/odoo.conf}"
if [ -f /mnt/repo/config/odoo.prod.conf ]; then
  ODOO_CONF=/mnt/repo/config/odoo.prod.conf
fi
CONF=/tmp/odoo.runtime.conf
cat "$ODOO_CONF" > "$CONF"
if [ -n "$SODOO_ADMIN_PASSWORD" ]; then
  echo "admin_passwd = $SODOO_ADMIN_PASSWORD" >> "$CONF"
fi
if [ -n "$SODOO_DB_PASSWORD" ]; then
  echo "db_password = $SODOO_DB_PASSWORD" >> "$CONF"
fi
if [ -d /mnt/repo/addons ]; then
  echo "addons_path = /mnt/repo/addons,/usr/lib/python3/dist-packages/odoo/addons" >> "$CONF"
fi

if [ ! -d "$ADDONS_DIR/jb_ai_assistant" ]; then
  echo "jb_ai_assistant addon not found under $ADDONS_DIR"
  exit 1
fi

STATE=$(python3 <<PY
import odoo
from odoo.tools import config
config.parse_config(['-c', '${CONF}', '-d', 'odoo', '--no-http'])
registry = odoo.registry('odoo')
with registry.cursor() as cr:
    env = odoo.api.Environment(cr, odoo.SUPERUSER_ID, {})
    mod = env['ir.module.module'].search([('name', '=', 'jb_ai_assistant')], limit=1)
    print(mod.state or 'uninstalled')
PY
)

if [ "$STATE" = "installed" ]; then
  echo "Upgrading jb_ai_assistant ..."
  odoo -c "$CONF" -d odoo --stop-after-init -u jb_ai_assistant
else
  echo "Installing jb_ai_assistant ..."
  odoo -c "$CONF" -d odoo --stop-after-init -i jb_ai_assistant
fi
