23 lines
625 B
TypeScript
23 lines
625 B
TypeScript
'use server'
|
|
|
|
import { sessionOptions } from '@/libs/session'
|
|
import type { SessionData } from '@/types/Auth'
|
|
import { getIronSession } from 'iron-session'
|
|
import { cookies } from 'next/headers'
|
|
import { redirect } from 'next/navigation'
|
|
|
|
export const logout = async () => {
|
|
const cookieStore = await cookies()
|
|
const session = await getIronSession<SessionData>(cookieStore, sessionOptions)
|
|
|
|
session.destroy()
|
|
return redirect('/login')
|
|
}
|
|
|
|
export const getSession = async () => {
|
|
const cookieStore = await cookies()
|
|
const session = await getIronSession<SessionData>(cookieStore, sessionOptions)
|
|
|
|
return session
|
|
}
|