blob: 75d9d3d74c74b344a4c108b6fabbe93256fac0c0 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
import { getServerSession } from "next-auth"
import { redirect } from "next/navigation"
import dbConnect from "@/lib/mongodb"
import User from "@/model/User"
import { authOptions } from "@/lib/auth"
import SettingsContent from "./settings-content"
export default async function SettingsPage() {
const session = await getServerSession(authOptions)
if (!session?.user?.email) {
redirect("/login")
}
await dbConnect()
const user = await User.findOne({ email: session.user.email }).lean() as any
if (!user) {
redirect("/login")
}
// Sanitize user object for client component
const initialUser = {
name: user.name,
email: user.email,
image: user.profileImage?.url || null,
twoFactorEnabled: !!user.twoFactorEnabled,
}
return <SettingsContent initialUser={initialUser} />
}
|