diff --git a/src/app/api/auth/logout/route.ts b/src/app/api/auth/logout/route.ts index 78f0a58..ad4b365 100644 --- a/src/app/api/auth/logout/route.ts +++ b/src/app/api/auth/logout/route.ts @@ -3,11 +3,18 @@ import { cookies } from 'next/headers' import { NextResponse } from 'next/server' import { getIronSession } from 'iron-session' import { sessionOptions } from '@/libs/session' +import { tracking } from '@/libs/tracking' export async function GET(request: Request) { const cookieStore = await cookies() const session = await getIronSession(cookieStore, sessionOptions) + tracking({ + url: '/api/auth/logout', + data: JSON.stringify({ + userId: session.userId, + }), + }) session.destroy() // return redirect('/login') diff --git a/src/app/api/auth/route.ts b/src/app/api/auth/route.ts index c595ecd..d5149a9 100644 --- a/src/app/api/auth/route.ts +++ b/src/app/api/auth/route.ts @@ -4,6 +4,7 @@ import { NextResponse } from 'next/server' import { getIronSession } from 'iron-session' import { axiosInstance } from '@/libs/axios' import { sessionOptions } from '@/libs/session' +import { tracking } from '@/libs/tracking' export async function POST(request: Request) { const { loginId, pwd } = await request.json() @@ -15,6 +16,13 @@ export async function POST(request: Request) { console.log('πŸš€ ~ result ~ result:', result.data) if (result.data.result.code === 200) { + tracking({ + url: `/api/auth/login`, + data: JSON.stringify({ + loginId, + pwd, + }), + }) const cookieStore = await cookies() const session = await getIronSession(cookieStore, sessionOptions) diff --git a/src/app/api/tracking/route.ts b/src/app/api/tracking/route.ts index d5f5607..913b4c5 100644 --- a/src/app/api/tracking/route.ts +++ b/src/app/api/tracking/route.ts @@ -1,17 +1,25 @@ import type { SessionData } from '@/types/Auth' import { NextResponse } from 'next/server' import { cookies } from 'next/headers' -import { Prisma } from '@prisma/client' +import { prisma } from '@/libs/prisma' import { getIronSession } from 'iron-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 cookieStore = await cookies() const session = await getIronSession(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 = '' if (url.includes('api')) { type = 'api' @@ -20,12 +28,12 @@ export const POST = async (request: Request) => { } // @ts-ignore - const result = await Prisma.MS_USR_TRK.create({ + const result = await prisma.MS_USR_TRK.create({ data: { - owner, - type, - url, - data: JSON.stringify(data), + OWNER: owner, + TYPE: type, + URL: url, + DATA: JSON.stringify(data), }, }) diff --git a/src/libs/axios.ts b/src/libs/axios.ts index b75e989..0abc6ab 100644 --- a/src/libs/axios.ts +++ b/src/libs/axios.ts @@ -1,5 +1,4 @@ import axios from 'axios' -import { tracking } from './tracking' export const axiosInstance = (url: string | null | undefined) => { const baseURL = url || process.env.NEXT_PUBLIC_API_URL @@ -12,7 +11,7 @@ export const axiosInstance = (url: string | null | undefined) => { instance.interceptors.request.use( (config) => { - console.log('πŸš€ ~ config:', config) + // console.log('πŸš€ ~ config:', config) return config }, (error) => { diff --git a/src/providers/EdgeProvider.tsx b/src/providers/EdgeProvider.tsx index de3c00f..7bba179 100644 --- a/src/providers/EdgeProvider.tsx +++ b/src/providers/EdgeProvider.tsx @@ -108,7 +108,7 @@ export default function EdgeProvider({ children, sessionData }: EdgeProviderProp //μ‚¬μ΄λ“œλ°” μ΄ˆκΈ°ν™” reset() // νŽ˜μ΄μ§€ 이벀트 νŠΈλž˜ν‚Ή - // handlePageEvent(pathname) + handlePageEvent(pathname) }, [pathname]) return <>{children}