61 lines
1.3 KiB
JavaScript
61 lines
1.3 KiB
JavaScript
'use server'
|
|
|
|
import { cookies } from 'next/headers'
|
|
import { redirect } from 'next/navigation'
|
|
|
|
import { getIronSession } from 'iron-session'
|
|
import { sessionOptions } from './session'
|
|
|
|
export async function logout() {
|
|
const session = await getSession()
|
|
session.destroy()
|
|
// redirect('/login')
|
|
}
|
|
|
|
export async function getSession() {
|
|
let session
|
|
session = await getIronSession(cookies(), sessionOptions)
|
|
|
|
if (!session.isLoggedIn) {
|
|
session.isLoggedIn = false
|
|
}
|
|
|
|
return session
|
|
}
|
|
|
|
export async function checkSession() {
|
|
const session = await getSession()
|
|
return session.isLoggedIn
|
|
}
|
|
|
|
export async function setSession(data) {
|
|
const session = await getSession()
|
|
|
|
session.userId = data.userId
|
|
session.name = data.name
|
|
session.saleStoreId = data.saleStoreId
|
|
session.mail = data.mail
|
|
session.tel = data.tel
|
|
session.storeId = data.storeId
|
|
session.userNm = data.userNm
|
|
session.userNmKana = data.userNmKana
|
|
session.category = data.category
|
|
session.telNo = data.telNo
|
|
session.fax = data.fax
|
|
session.email = data.email
|
|
session.storeLvl = data.storeLvl
|
|
session.groupId = data.groupId
|
|
session.pwdInitYn = data.pwdInitYn
|
|
session.custCd = data.custCd
|
|
session.isLoggedIn = true
|
|
|
|
await session.save()
|
|
}
|
|
|
|
export async function login() {
|
|
const session = await getSession()
|
|
if (session) {
|
|
redirect('/')
|
|
}
|
|
}
|