#!/bin/bash

# FreshRSS 自动初始化脚本
# 生成随机密码并创建管理员账号

FRESHRSS_URL="http://10.7.0.5:8080"
ADMIN_USER="admin"
ADMIN_PASS="FreshRSS_$(date +%Y%m%d)_$(openssl rand -base64 6 | tr -dc 'a-zA-Z0-9' | head -c 8)"
DB_HOST="freshrss-db"
DB_NAME="freshrss"
DB_USER="freshrss"
DB_PASS="freshrss_user_password_2026"

echo "🔐 生成管理员账号密码..."
echo ""
echo "👤 用户名：$ADMIN_USER"
echo "🔑 密码：$ADMIN_PASS"
echo ""
echo "⚠️  请保存以上账号密码！"
echo ""

# 保存账号密码到文件
cat > /root/.openclaw/workspace/rss-service/credentials.txt << EOF
FreshRSS 管理员账号
==================
用户名：$ADMIN_USER
密码：$ADMIN_PASS
URL: $FRESHRSS_URL
生成时间：$(date)
EOF

echo "📝 账号密码已保存到：/root/.openclaw/workspace/rss-service/credentials.txt"
echo ""

# 使用 docker exec 直接在容器内创建账号
echo "🚀 正在创建管理员账号..."
docker exec freshrss php /var/www/FreshRSS/cli/create-user.php --user "$ADMIN_USER" --password "$ADMIN_PASS" --language zh-CN 2>&1

if [ $? -eq 0 ]; then
    echo "✅ 账号创建成功！"
else
    echo "⚠️  账号可能已存在，尝试重置密码..."
    docker exec freshrss php /var/www/FreshRSS/cli/reload-user.php --user "$ADMIN_USER" --password "$ADMIN_PASS" 2>&1
fi

echo ""
echo "📥 正在导入订阅源..."
docker exec -u www-data freshrss php /var/www/FreshRSS/cli/import-for-user.php --user "$ADMIN_USER" --filename /var/www/FreshRSS/data/subscriptions.opml 2>&1

# 复制 OPML 文件到容器
docker cp /root/.openclaw/workspace/rss-service/subscriptions.opml freshrss:/var/www/FreshRSS/data/subscriptions.opml
docker exec -u www-data freshrss chown www-data:www-data /var/www/FreshRSS/data/subscriptions.opml
docker exec -u www-data freshrss php /var/www/FreshRSS/cli/import-for-user.php --user "$ADMIN_USER" --filename /var/www/FreshRSS/data/subscriptions.opml 2>&1

if [ $? -eq 0 ]; then
    echo "✅ 订阅源导入成功！"
else
    echo "⚠️  导入可能需要一些时间，请稍后在界面查看"
fi

echo ""
echo "=========================================="
echo "✅ FreshRSS 配置完成！"
echo "=========================================="
echo ""
echo "📱 访问地址：$FRESHRSS_URL"
echo "👤 用户名：$ADMIN_USER"
echo "🔑 密码：$ADMIN_PASS"
echo ""
echo "💡 建议登录后尽快修改密码"
echo ""
