diff --git a/src/app/api/auth/login/route.ts b/src/app/api/auth/login/route.ts index 7c2b2fed..17ca2f7d 100644 --- a/src/app/api/auth/login/route.ts +++ b/src/app/api/auth/login/route.ts @@ -7,7 +7,7 @@ import { checkPassword } from '@/lib/password'; import redis from '@/lib/redis'; import { parseRequest } from '@/lib/request'; import { json, unauthorized } from '@/lib/response'; -import { getUserByUsername } from '@/queries/prisma'; +import { getAllUserTeams, getUserByUsername } from '@/queries/prisma'; export async function POST(request: Request) { const schema = z.object({ @@ -39,8 +39,10 @@ export async function POST(request: Request) { token = createSecureToken({ userId: user.id, role }, secret()); } + const teams = await getAllUserTeams(id); + return json({ token, - user: { id, username, role, createdAt, isAdmin: role === ROLES.admin }, + user: { id, username, role, createdAt, isAdmin: role === ROLES.admin, teams }, }); } diff --git a/src/components/metrics/Legend.tsx b/src/components/metrics/Legend.tsx index 63231919..34ddb5a0 100644 --- a/src/components/metrics/Legend.tsx +++ b/src/components/metrics/Legend.tsx @@ -22,7 +22,12 @@ export function Legend({ return ( onClick(item)}> - + {text} diff --git a/src/queries/prisma/website.ts b/src/queries/prisma/website.ts index d6ba6d38..79cb7247 100644 --- a/src/queries/prisma/website.ts +++ b/src/queries/prisma/website.ts @@ -137,6 +137,9 @@ export async function resetWebsite(websiteId: string) { return transaction( [ + client.revenue.deleteMany({ + where: { websiteId }, + }), client.eventData.deleteMany({ where: { websiteId }, }), @@ -175,35 +178,44 @@ export async function deleteWebsite(websiteId: string) { const { client, transaction } = prisma; const cloudMode = !!process.env.CLOUD_MODE; - return transaction([ - client.eventData.deleteMany({ - where: { websiteId }, - }), - client.sessionData.deleteMany({ - where: { websiteId }, - }), - client.websiteEvent.deleteMany({ - where: { websiteId }, - }), - client.session.deleteMany({ - where: { websiteId }, - }), - client.report.deleteMany({ - where: { - websiteId, - }, - }), - cloudMode - ? client.website.update({ - data: { - deletedAt: new Date(), - }, - where: { id: websiteId }, - }) - : client.website.delete({ - where: { id: websiteId }, - }), - ]).then(async data => { + return transaction( + [ + client.revenue.deleteMany({ + where: { websiteId }, + }), + client.eventData.deleteMany({ + where: { websiteId }, + }), + client.sessionData.deleteMany({ + where: { websiteId }, + }), + client.websiteEvent.deleteMany({ + where: { websiteId }, + }), + client.session.deleteMany({ + where: { websiteId }, + }), + client.report.deleteMany({ + where: { websiteId }, + }), + client.segment.deleteMany({ + where: { websiteId }, + }), + cloudMode + ? client.website.update({ + data: { + deletedAt: new Date(), + }, + where: { id: websiteId }, + }) + : client.website.delete({ + where: { id: websiteId }, + }), + ], + { + timeout: 30000, + }, + ).then(async data => { if (cloudMode) { await redis.client.del(`website:${websiteId}`); }