Merge branch 'dev' of https://git.hanasys.jp/qcast3/onsitesurvey into feature/survey

This commit is contained in:
Dayoung 2025-05-21 10:19:49 +09:00
commit b3550ff497
6 changed files with 72 additions and 14 deletions

View File

@ -12,7 +12,7 @@ export async function POST(request: Request) {
loginId,
pwd,
})
// console.log('🚀 ~ result ~ result:', result)
console.log('🚀 ~ result ~ result:', result.data)
if (result.data.result.code === 200) {
const cookieStore = await cookies()
@ -57,8 +57,6 @@ export async function POST(request: Request) {
session.role = 'Admin_Sub'
} else if (result.data.data.groupId === '70000' && result.data.data.builderNo !== null) {
session.role = 'Builder'
} else if (result.data.data.groupId === '90000' && result.data.data.builderNo !== null) {
session.role = 'Partner'
} else {
session.role = 'User'
}
@ -68,5 +66,50 @@ export async function POST(request: Request) {
await session.save()
}
return NextResponse.json({ code: 200, message: 'Login is Succecss!!', result: result.data.data })
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'
} else {
resultForSession.ROLE = 'User'
}
return NextResponse.json({ code: 200, message: 'Login is Succecss!!', result: resultForSession })
}

View File

@ -123,6 +123,8 @@ export async function POST(request: Request) {
STORE_LVL: null,
CUST_CD: null,
BUILDER_NO: data[0].user_seko_id,
IS_LOGGED_IN: true,
ROLE: 'Partner',
}
return NextResponse.json({ code: 200, message: 'Partner Login is Succecss!!', result })

View File

@ -3,10 +3,8 @@
import type { SessionData } from '@/types/Auth'
import { useEffect, useReducer, useState } from 'react'
import { useRouter } from 'next/navigation'
import { useLocalStorage } from 'usehooks-ts'
import { useQuery } from '@tanstack/react-query'
import { axiosInstance } from '@/libs/axios'
import { useSessionStore } from '@/store/session'

View File

@ -57,9 +57,11 @@ export default function MemberInformationPopup() {
<input type="text" className="input-frame" defaultValue={session.builderNo ?? ''} disabled />
</div>
</div>
<button className="btn-frame n-blue icon" onClick={handlePwReset}>
<i className="btn-arr"></i>
</button>
{session.role !== 'Partner' && (
<button className="btn-frame n-blue icon" onClick={handlePwReset}>
<i className="btn-arr"></i>
</button>
)}
</div>
</div>
</div>

View File

@ -114,9 +114,11 @@ export default function Header() {
<li className="side-nav-item">
<button onClick={() => router.push('/inquiry/regist')}>1:1お問い合わせ登録</button>
</li>
<li className="side-nav-item">
<button onClick={() => router.push('/pw-reset')}></button>
</li>
{session.role !== 'Partner' && (
<li className="side-nav-item">
<button onClick={() => router.push('/pw-reset')}></button>
</li>
)}
</ul>
</nav>
<div className="side-nav-footer">

View File

@ -75,8 +75,19 @@ export const transformObjectKeys = (obj: any): any => {
if (obj !== null && typeof obj === 'object') {
return Object.keys(obj).reduce((acc: any, key: string) => {
const camelKey = snakeToCamel(key)
acc[camelKey] = transformObjectKeys(obj[key])
let transformedKey = key
// Handle uppercase snake_case (e.g., USER_NAME -> userName)
if (/^[A-Z_]+$/.test(key)) {
transformedKey = snakeToCamel(key)
}
// Handle single uppercase word (e.g., ROLE -> role)
else if (/^[A-Z]+$/.test(key)) {
transformedKey = key.toLowerCase()
}
// Preserve existing camelCase
acc[transformedKey] = transformObjectKeys(obj[key])
return acc
}, {})
}