#!/bin/bash
#
# Octop 本地版 — 配置变更前回调
# 设置窗口只改管理员密码：两栏都空=保持不变；填了则校验一致与密码策略。
#
set -euo pipefail

_OCTOP_COMMON="$(dirname "$0")/common.sh"
[ -f "$_OCTOP_COMMON" ] || _OCTOP_COMMON="/var/apps/octop-native/cmd/common.sh"
[ -f "$_OCTOP_COMMON" ] && source "$_OCTOP_COMMON"

fail_config() {
    echo "[octop-native] $1" > "${TRIM_TEMP_LOGFILE:-/dev/null}" 2>&1 || true
    echo "[octop-native] $1" >&2 || true
    exit 1
}

WIZARD_PASSWORD="$(octop_sanitize_value "${wizard_admin_password:-}")"
WIZARD_CONFIRM="$(octop_sanitize_value "${wizard_admin_password_confirm:-}")"

if ! REASON="$(octop_validate_optional_password_change "$WIZARD_PASSWORD" "$WIZARD_CONFIRM" 2>&1)"; then
    fail_config "$REASON"
fi

exit 0
