#!/usr/bin/env bash
set -euo pipefail

set -a
source /etc/cpt-odoo/odoo.env
set +a

root_dir="/srv/cpt-odoo"
backup_dir="${root_dir}/backups/$(date '+%Y%m%dT%H%M%S%z')"
db_name="${ODOO_DB_NAME:-cpt_odoo_demo}"
odoo_image="${ODOO_IMAGE:-docker.m.daocloud.io/library/odoo:19.0}"
mkdir -p "$backup_dir"

podman exec cpt-odoo-db pg_dump -U odoo -d "$db_name" -Fc > "$backup_dir/${db_name}.dump"
podman run --rm --user 0 -v cpt-odoo-data:/data:ro "$odoo_image" \
  sh -lc "tar -czf - -C /data filestore/${db_name}" > "$backup_dir/filestore.tar.gz"
cp "$root_dir/ACTIVE_RELEASE" "$backup_dir/ACTIVE_RELEASE"
sha256sum "$backup_dir"/* > "$backup_dir/SHA256SUMS"
find "$root_dir/backups" -mindepth 1 -maxdepth 1 -type d -mtime +14 -exec rm -rf -- {} +
echo "$backup_dir"
