#!/bin/sh
# 部署頁面權限系統
set -e

PROJ=/www/wwwroot/faithfulness
BASE=/home/wing1/wkr_tmp

echo "=== [1/4] 解壓 + 備份 ==="
rm -rf $BASE/extract_pp
mkdir -p $BASE/extract_pp $BASE/backup/files_pp
tar -xzf $BASE/wkr_page_permissions.tar.gz -C $BASE/extract_pp

for f in app/Support/PagePermissions.php app/Http/Middleware/EnsurePagePermission.php app/Http/Controllers/UserController.php app/Models/User.php database/migrations/2026_09_09_200000_add_page_permissions_to_users_table.php resources/views/users_edit.blade.php resources/views/layouts/admin.blade.php bootstrap/app.php; do
  mkdir -p $BASE/backup/files_pp/$(dirname $f)
  cp -a $PROJ/$f $BASE/backup/files_pp/$f 2>/dev/null || true
  cp -a $BASE/extract_pp/$f $PROJ/$f
done

echo "=== [2/4] 權限 + migration ==="
chown -R www:www $PROJ/app $PROJ/database $PROJ/resources $PROJ/bootstrap 2>/dev/null || true
chown www:www $PROJ/app $PROJ/database $PROJ/resources $PROJ/bootstrap
cd $PROJ
sudo -u www /usr/bin/php artisan migrate --force 2>&1 | grep -v Warning | tail -2

echo "=== [3/4] 清快取 ==="
sudo -u www /usr/bin/php artisan optimize:clear 2>&1 | tail -1

echo "=== [4/4] 驗證 ==="
echo "-- page_permissions col: $(sudo -u www /usr/bin/php artisan tinker --execute=\"echo Illuminate\Support\Facades\Schema::hasColumn('users','page_permissions')?'OK':'MISSING';\" 2>/dev/null | tail -1)"
echo "-- middleware file: $(test -f app/Http/Middleware/EnsurePagePermission.php && echo OK || echo MISSING)"
echo "-- helper file: $(test -f app/Support/PagePermissions.php && echo OK || echo MISSING)"
echo "-- bootstrap middleware: $(grep -c 'EnsurePagePermission' bootstrap/app.php) (1 = OK)"
echo "=== 完成 ==="
