diff --git a/src/app/api/auth/route.ts b/src/app/api/auth/route.ts index d5149a9..8205132 100644 --- a/src/app/api/auth/route.ts +++ b/src/app/api/auth/route.ts @@ -15,7 +15,9 @@ export async function POST(request: Request) { }) console.log('🚀 ~ result ~ result:', result.data) - if (result.data.result.code === 200) { + let finalResult = {} + + if (result.data.result.resultCode === 'S') { tracking({ url: `/api/auth/login`, data: JSON.stringify({ @@ -72,52 +74,64 @@ export async function POST(request: Request) { console.log('end session edit!') await session.save() - } - const resultForSession = { - LANG_CD: result.data.data.langCd, - CURR_PAGE: result.data.data.currPage, - ROW_COUNT: result.data.data.rowCount, - START_ROW: result.data.data.startRow, - END_ROW: result.data.data.endRow, - COMP_CD: result.data.data.compCd, - AGENCY_STORE_ID: result.data.data.agencyStoreId, - STORE_ID: result.data.data.storeId, - STORE_NM: result.data.data.storeNm, - USER_ID: result.data.data.userId, - CATEGORY: result.data.data.category, - USER_NM: result.data.data.userNm, - USER_NM_KANA: result.data.data.userNmKana, - TEL_NO: result.data.data.telNo, - FAX: result.data.data.fax, - EMAIL: result.data.data.email, - LAST_EDIT_USER: result.data.data.lastEditUser, - STORE_GUBUN: result.data.data.storeGubun, - PW_CURR: result.data.data.pwCurr, - PWD_INIT_YN: result.data.data.pwdInitYn, - APPR_STAT_CD: result.data.data.apprStatCd, - LOGIN_FAIL_CNT: result.data.data.loginFailCnt, - LOGIN_FAIL_MIN_YN: result.data.data.loginFailMinYn, - PRICE_VIEW_STAT_CD: result.data.data.priceViewStatCd, - GROUP_ID: result.data.data.groupId, - STORE_LVL: result.data.data.storeLvl, - CUST_CD: result.data.data.custCd, - BUILDER_NO: result.data.data.builderNo, - IS_LOGGED_IN: true, - ROLE: '', - } + const resultForSession = { + LANG_CD: result.data.data.langCd, + CURR_PAGE: result.data.data.currPage, + ROW_COUNT: result.data.data.rowCount, + START_ROW: result.data.data.startRow, + END_ROW: result.data.data.endRow, + COMP_CD: result.data.data.compCd, + AGENCY_STORE_ID: result.data.data.agencyStoreId, + STORE_ID: result.data.data.storeId, + STORE_NM: result.data.data.storeNm, + USER_ID: result.data.data.userId, + CATEGORY: result.data.data.category, + USER_NM: result.data.data.userNm, + USER_NM_KANA: result.data.data.userNmKana, + TEL_NO: result.data.data.telNo, + FAX: result.data.data.fax, + EMAIL: result.data.data.email, + LAST_EDIT_USER: result.data.data.lastEditUser, + STORE_GUBUN: result.data.data.storeGubun, + PW_CURR: result.data.data.pwCurr, + PWD_INIT_YN: result.data.data.pwdInitYn, + APPR_STAT_CD: result.data.data.apprStatCd, + LOGIN_FAIL_CNT: result.data.data.loginFailCnt, + LOGIN_FAIL_MIN_YN: result.data.data.loginFailMinYn, + PRICE_VIEW_STAT_CD: result.data.data.priceViewStatCd, + GROUP_ID: result.data.data.groupId, + STORE_LVL: result.data.data.storeLvl, + CUST_CD: result.data.data.custCd, + BUILDER_NO: result.data.data.builderNo, + IS_LOGGED_IN: true, + ROLE: '', + } - if (result.data.data.userId === 'T01') { - resultForSession.ROLE = 'T01' - } else if (result.data.data.groupId === '60000') { - resultForSession.ROLE = 'Admin' - } else if (result.data.data.groupId === '70000' && result.data.data.builderNo === null) { - resultForSession.ROLE = 'Admin_Sub' - } else if (result.data.data.groupId === '70000' && result.data.data.builderNo !== null) { - resultForSession.ROLE = 'Builder' + if (result.data.data.userId === 'T01') { + resultForSession.ROLE = 'T01' + } else if (result.data.data.groupId === '60000') { + resultForSession.ROLE = 'Admin' + } else if (result.data.data.groupId === '70000' && result.data.data.builderNo === null) { + resultForSession.ROLE = 'Admin_Sub' + } else if (result.data.data.groupId === '70000' && result.data.data.builderNo !== null) { + resultForSession.ROLE = 'Builder' + } else { + resultForSession.ROLE = 'User' + } + + finalResult = { + code: 200, + message: 'Login is Succecss!!', + result: resultForSession, + } } else { - resultForSession.ROLE = 'User' + finalResult = { + code: 400, + message: 'Login is Failed!!', + result: {}, + } } - return NextResponse.json({ code: 200, message: 'Login is Succecss!!', result: resultForSession }) + return NextResponse.json(finalResult) } diff --git a/src/components/Login.tsx b/src/components/Login.tsx index 043fee6..4a77ad6 100644 --- a/src/components/Login.tsx +++ b/src/components/Login.tsx @@ -39,6 +39,26 @@ export default function Login() { return emailRegex.test(email) } + const handleLogin = () => { + if (validateLogin()) { + setIsLogin(true) + } + } + + const handleKeyDown = (e: React.KeyboardEvent) => { + if (e.key === 'Enter') { + handleLogin() + } + } + + const validateLogin = () => { + if (account.loginId === '' || account.pwd === '') { + alert('Please enter your ID and password.') + return false + } + return true + } + interface LoginData { code: number message: string | null @@ -85,6 +105,9 @@ export default function Login() { ...loginData?.result, }) router.push('/') + } else if (loginData?.code === 400) { + alert(loginData?.message) + setAccount({ loginId: '', pwd: '' }) } }, [loginData]) @@ -106,6 +129,7 @@ export default function Login() { className="login-frame" placeholder="Input Frame ID" value={account.loginId} + onKeyDown={(e) => handleKeyDown(e)} onChange={(e) => setAccount({ loginId: e.target.value })} />