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

printf 'CURRENT_RELEASE='
readlink -f /srv/cpt-odoo/current
printf 'STACK_ACTIVE='
systemctl is-active cpt-odoo-stack.service
printf 'BACKUP_TIMER='
systemctl is-active cpt-odoo-backup.timer
printf 'DISK='
df -P /srv/cpt-odoo | awk 'NR==2{print $5}'
printf 'CONTAINERS\n'
podman ps --filter 'name=cpt-odoo-' --format '{{.Names}}|{{.Status}}|{{.Ports}}'
printf 'RUNNING_AGENT\n'
podman ps --filter 'name=running-agent' --format '{{.Names}}|{{.Status}}|{{.Ports}}'
printf 'LOCAL_HTTP='
curl -sS -o /dev/null -w '%{http_code}' http://127.0.0.1:8069/web/login
printf '\nCONFIG\n'
podman exec cpt-odoo-db psql -U odoo -d cpt_odoo_demo -Atc "
SELECT key || '=' || value
FROM ir_config_parameter
WHERE key IN ('web.base.url', 'web.base.url.freeze')
ORDER BY key;
"
printf 'MODULES\n'
podman exec cpt-odoo-db psql -U odoo -d cpt_odoo_demo -Atc "
SELECT name || '=' || state
FROM ir_module_module
WHERE name IN ('portal', 'sale_management', 'sale_pdf_quote_builder', 'website', 'website_sale')
ORDER BY name;
"
printf 'DATA\n'
podman exec cpt-odoo-db psql -U odoo -d cpt_odoo_demo -Atc "
SELECT 'products=' || count(*) FROM product_template;
SELECT 'packages=' || count(*) FROM sale_order_template;
SELECT 'cases=' || count(*) FROM cpt_product_case;
SELECT 'case_3d=' || count(DISTINCT res_id) FROM ir_attachment
 WHERE res_model='cpt.product.case' AND res_field='image_3d';
SELECT 'case_external=' || count(*) FROM cpt_product_case WHERE publication_state='external';
SELECT 'quote_docs=' || count(*) FROM quotation_document;
SELECT 'product_docs=' || count(*) FROM product_document;
SELECT 'orders=' || count(*) FROM sale_order;
SELECT 'active_quote_signature=' || count(*) FROM sale_order WHERE state IN ('draft','sent') AND require_signature IS TRUE;
SELECT 'active_quote_payment=' || count(*) FROM sale_order WHERE state IN ('draft','sent') AND require_payment IS TRUE;
SELECT 'orders_sensitive_note=' || count(*) FROM sale_order
 WHERE note ILIKE ANY (ARRAY['%成本%','%毛利%','%发票号%','%发货单号%','%源表行%','%供应商%','%厂商%','%采购价%']);
"
