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

This commit is contained in:
Dayoung 2025-05-21 11:17:26 +09:00
commit e69c45105e
7 changed files with 36 additions and 13 deletions

View File

@ -54,12 +54,13 @@ session에 있는 role 키로 구분한다
session.role === 'Admin_Sub' session.role === 'Admin_Sub'
- constA03_01 / 1234 -> 시공사\ - constA03_01 / 1234 -> 시공사\
session.role === 'Builder' session.role === 'Builder'
- teshg44 / 1234 -> 시공사\
session.role === 'Builder'
- partners -> Q.Partners 계정\ - partners -> Q.Partners 계정\
session.role === 'Partner' session.role === 'Partner'
- 이외의 경우 -> 굳이 체크할 필요 없어보임\ - 이외의 경우 -> 굳이 체크할 필요 없어보임\
session.role === 'User' session.role === 'User'
# 지붕재 적합성 TODO # 지붕재 적합성 TODO
``` ```

View File

@ -3,11 +3,18 @@ import { cookies } from 'next/headers'
import { NextResponse } from 'next/server' import { NextResponse } from 'next/server'
import { getIronSession } from 'iron-session' import { getIronSession } from 'iron-session'
import { sessionOptions } from '@/libs/session' import { sessionOptions } from '@/libs/session'
import { tracking } from '@/libs/tracking'
export async function GET(request: Request) { export async function GET(request: Request) {
const cookieStore = await cookies() const cookieStore = await cookies()
const session = await getIronSession<SessionData>(cookieStore, sessionOptions) const session = await getIronSession<SessionData>(cookieStore, sessionOptions)
tracking({
url: '/api/auth/logout',
data: JSON.stringify({
userId: session.userId,
}),
})
session.destroy() session.destroy()
// return redirect('/login') // return redirect('/login')

View File

@ -4,6 +4,7 @@ import { NextResponse } from 'next/server'
import { getIronSession } from 'iron-session' import { getIronSession } from 'iron-session'
import { axiosInstance } from '@/libs/axios' import { axiosInstance } from '@/libs/axios'
import { sessionOptions } from '@/libs/session' import { sessionOptions } from '@/libs/session'
import { tracking } from '@/libs/tracking'
export async function POST(request: Request) { export async function POST(request: Request) {
const { loginId, pwd } = await request.json() const { loginId, pwd } = await request.json()
@ -15,6 +16,13 @@ export async function POST(request: Request) {
console.log('🚀 ~ result ~ result:', result.data) console.log('🚀 ~ result ~ result:', result.data)
if (result.data.result.code === 200) { if (result.data.result.code === 200) {
tracking({
url: `/api/auth/login`,
data: JSON.stringify({
loginId,
pwd,
}),
})
const cookieStore = await cookies() const cookieStore = await cookies()
const session = await getIronSession<SessionData>(cookieStore, sessionOptions) const session = await getIronSession<SessionData>(cookieStore, sessionOptions)

View File

@ -1,17 +1,25 @@
import type { SessionData } from '@/types/Auth' import type { SessionData } from '@/types/Auth'
import { NextResponse } from 'next/server' import { NextResponse } from 'next/server'
import { cookies } from 'next/headers' import { cookies } from 'next/headers'
import { Prisma } from '@prisma/client' import { prisma } from '@/libs/prisma'
import { getIronSession } from 'iron-session' import { getIronSession } from 'iron-session'
import { sessionOptions } from '@/libs/session' import { sessionOptions } from '@/libs/session'
export const POST = async (request: Request) => { export async function POST(request: Request) {
const { url, data } = await request.json() const { url, data } = await request.json()
const cookieStore = await cookies() const cookieStore = await cookies()
const session = await getIronSession<SessionData>(cookieStore, sessionOptions) const session = await getIronSession<SessionData>(cookieStore, sessionOptions)
let owner = session.userId let owner = ''
if (url === '/api/auth/login') {
owner = 'Login'
} else if (url === '/api/auth/logout') {
owner = 'Logout'
} else {
owner = session.userId ?? 'Direct'
}
let type = '' let type = ''
if (url.includes('api')) { if (url.includes('api')) {
type = 'api' type = 'api'
@ -20,12 +28,12 @@ export const POST = async (request: Request) => {
} }
// @ts-ignore // @ts-ignore
const result = await Prisma.MS_USR_TRK.create({ const result = await prisma.MS_USR_TRK.create({
data: { data: {
owner, OWNER: owner,
type, TYPE: type,
url, URL: url,
data: JSON.stringify(data), DATA: JSON.stringify(data),
}, },
}) })

View File

@ -71,7 +71,7 @@ export default function Header() {
</div> </div>
<div className="profile-group"> <div className="profile-group">
<div className="profile-name">{session.userNm}</div> <div className="profile-name">{session.userNm}</div>
<div className="profile-company">{session.category}</div> <div className="profile-company">{session.storeNm}</div>
</div> </div>
</div> </div>
<div className="side-close-wrap"> <div className="side-close-wrap">

View File

@ -1,5 +1,4 @@
import axios from 'axios' import axios from 'axios'
import { tracking } from './tracking'
export const axiosInstance = (url: string | null | undefined) => { export const axiosInstance = (url: string | null | undefined) => {
const baseURL = url || process.env.NEXT_PUBLIC_API_URL const baseURL = url || process.env.NEXT_PUBLIC_API_URL
@ -12,7 +11,7 @@ export const axiosInstance = (url: string | null | undefined) => {
instance.interceptors.request.use( instance.interceptors.request.use(
(config) => { (config) => {
console.log('🚀 ~ config:', config) // console.log('🚀 ~ config:', config)
return config return config
}, },
(error) => { (error) => {

View File

@ -108,7 +108,7 @@ export default function EdgeProvider({ children, sessionData }: EdgeProviderProp
//사이드바 초기화 //사이드바 초기화
reset() reset()
// 페이지 이벤트 트래킹 // 페이지 이벤트 트래킹
// handlePageEvent(pathname) handlePageEvent(pathname)
}, [pathname]) }, [pathname])
return <>{children}</> return <>{children}</>