diff --git a/src/app/api/send/route.ts b/src/app/api/send/route.ts index 2c2085bfb..f5e00c8aa 100644 --- a/src/app/api/send/route.ts +++ b/src/app/api/send/route.ts @@ -146,7 +146,6 @@ export async function POST(request: Request) { region, city, distinctId: id, - createdAt, }); } diff --git a/src/queries/sql/sessions/createSession.ts b/src/queries/sql/sessions/createSession.ts index b5106a541..958754f1a 100644 --- a/src/queries/sql/sessions/createSession.ts +++ b/src/queries/sql/sessions/createSession.ts @@ -1,44 +1,41 @@ import { Prisma } from '@/generated/prisma/client'; import prisma from '@/lib/prisma'; -const FUNCTION_NAME = 'createSession'; - export async function createSession(data: Prisma.SessionCreateInput) { - const { rawQuery } = prisma; + const { + id, + websiteId, + browser, + os, + device, + screen, + language, + country, + region, + city, + distinctId, + } = data; - await rawQuery( - ` - insert into session ( - session_id, - website_id, - browser, - os, - device, - screen, - language, - country, - region, - city, - distinct_id, - created_at - ) - values ( - {{id}}, - {{websiteId}}, - {{browser}}, - {{os}}, - {{device}}, - {{screen}}, - {{language}}, - {{country}}, - {{region}}, - {{city}}, - {{distinctId}}, - {{createdAt}} - ) - on conflict (session_id) do nothing - `, - data, - FUNCTION_NAME, - ); + try { + return await prisma.client.session.create({ + data: { + id, + websiteId, + browser, + os, + device, + screen, + language, + country, + region, + city, + distinctId, + }, + }); + } catch (e: any) { + if (e.message.toLowerCase().includes('unique constraint')) { + return null; + } + throw e; + } }