89 lines
2.0 KiB
JavaScript
89 lines
2.0 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)
|
|
|
|
console.log('session:', session)
|
|
if (!session.isLoggedIn) {
|
|
// session.isLoggedIn = defaultSession.isLoggedIn
|
|
session.isLoggedIn = false
|
|
}
|
|
|
|
return session
|
|
}
|
|
|
|
export async function checkSession() {
|
|
const session = await getSession()
|
|
|
|
// if (!session.isLoggedIn) {
|
|
// redirect('/login')
|
|
// }
|
|
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.pwdInitYn = data.pwdInitYn
|
|
session.isLoggedIn = true
|
|
// console.log('session:', session)
|
|
|
|
await session.save()
|
|
}
|
|
|
|
export async function login(formData) {
|
|
const session = await getSession()
|
|
|
|
const userId = formData.get('id')
|
|
const password = formData.get('password')
|
|
|
|
console.log('id:', userId)
|
|
console.log('password:', password)
|
|
|
|
// const loginUser = await getUserByIdAndPassword({ userId, password })
|
|
const loginUser = {
|
|
id: 1,
|
|
userId: 'test123',
|
|
name: 'jinsoo Kim',
|
|
email: 'jinsoo.kim@example.com',
|
|
}
|
|
|
|
if (!loginUser) {
|
|
throw Error('Wrong Credentials!')
|
|
}
|
|
|
|
session.name = loginUser.name
|
|
session.userId = loginUser.userId
|
|
session.email = loginUser.email
|
|
session.isLoggedIn = true
|
|
console.log('session:', session)
|
|
|
|
await session.save()
|
|
redirect('/')
|
|
}
|