23 lines
522 B
TypeScript
23 lines
522 B
TypeScript
import 'server-only'
|
|||
|
|
import { cookies } from 'next/headers'
|
||
|
|
import { decrypt } from '@/app/lib/session'
|
||
|
|
|
||
|
|
export async function updateSession() {
|
||
|
|
const session = (await cookies()).get('session')?.value
|
||
|
|
const payload = await decrypt(session)
|
||
|
|
|
||
|
|
if (!session || !payload) {
|
||
|
|
return null
|
||
|
|
}
|
||
|
|
|
||
|
|
const expires = new Date(Date.now() + 7 * 24 * 60 * 60 * 1000)
|
||
|
|
|
||
|
|
const cookieStore = await cookies()
|
||
|
|
cookieStore.set('session', session, {
|
||
|
|
httpOnly: true,
|
||
|
|
secure: true,
|
||
|
|
expires: expires,
|
||
|
|
sameSite: 'lax',
|
||
|
|
path: '/',
|
||
|
|
})
|
||
|
|
}
|