31 lines
928 B
TypeScript
31 lines
928 B
TypeScript
import { redirect } from "next/navigation"
|
|
import { auth } from "@/lib/auth/auth"
|
|
import { analyzeIndexes } from "@/lib/actions/system-optimization.actions"
|
|
import { OptimizationDashboard } from "@/components/admin/system/optimization-dashboard"
|
|
import { serializeForClient } from "@/lib/utils/serialization"
|
|
|
|
export default async function SystemOptimizePage() {
|
|
const session = await auth()
|
|
|
|
if (!session?.user || session.user.role !== "superadmin") {
|
|
redirect("/admin")
|
|
}
|
|
|
|
const indexInfoData = await analyzeIndexes()
|
|
const indexInfo = serializeForClient(indexInfoData)
|
|
|
|
return (
|
|
<div className="space-y-6">
|
|
<div>
|
|
<h1 className="text-3xl font-bold">System Optimization</h1>
|
|
<p className="text-muted-foreground">
|
|
Database indexes, performance tuning, and optimization tools
|
|
</p>
|
|
</div>
|
|
|
|
<OptimizationDashboard indexInfo={indexInfo} />
|
|
</div>
|
|
)
|
|
}
|
|
|