qcast-front/src/lib/authActions.js

82 lines
1.9 KiB
JavaScript

'use server'
import { cookies } from 'next/headers'
import { redirect } from 'next/navigation'
import { getIronSession } from 'iron-session'
import { getUserByIdAndPassword } from './user'
import { defaultSession, 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 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('/')
}