feat(cms): sync site assets, revalidate webhook, and document download naming

This commit is contained in:
2026-02-10 23:38:31 +08:00
parent c4969cd4d2
commit b6e18a83ec
27 changed files with 1019 additions and 26 deletions

View File

@@ -5,6 +5,7 @@ namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use App\Models\AuditLog;
use App\Models\Page;
use App\Services\SiteRevalidationService;
use Illuminate\Http\Request;
class PageController extends Controller
@@ -72,6 +73,10 @@ class PageController extends Controller
'ip_address' => request()->ip(),
]);
if ($validated['status'] === 'published') {
SiteRevalidationService::revalidatePage($page->slug);
}
return redirect()
->route('admin.pages.show', $page)
->with('status', '頁面已成功建立');
@@ -135,6 +140,10 @@ class PageController extends Controller
'ip_address' => request()->ip(),
]);
if ($page->isPublished()) {
SiteRevalidationService::revalidatePage($page->slug);
}
return redirect()
->route('admin.pages.show', $page)
->with('status', '頁面已成功更新');
@@ -147,6 +156,8 @@ class PageController extends Controller
}
$title = $page->title;
$slug = $page->slug;
$wasPublished = $page->isPublished();
$page->delete();
AuditLog::create([
@@ -156,6 +167,10 @@ class PageController extends Controller
'ip_address' => request()->ip(),
]);
if ($wasPublished) {
SiteRevalidationService::revalidatePage($slug);
}
return redirect()
->route('admin.pages.index')
->with('status', '頁面已成功刪除');
@@ -176,6 +191,8 @@ class PageController extends Controller
'ip_address' => request()->ip(),
]);
SiteRevalidationService::revalidatePage($page->slug);
return back()->with('status', '頁面已成功發布');
}
}