Removed blocking logic and duplicate validations.

This commit is contained in:
Mike Cao
2024-04-25 23:21:12 -07:00
parent 439f8a8aa3
commit 216304a191
4 changed files with 8 additions and 37 deletions

View File

@@ -1,9 +1,8 @@
import { isUuid, secret, uuid, visitSalt } from 'lib/crypto';
import { secret, uuid, visitSalt } from 'lib/crypto';
import { getClientInfo } from 'lib/detect';
import { parseToken } from 'next-basics';
import { NextApiRequestCollect } from 'pages/api/send';
import { createSession } from 'queries';
import cache from './cache';
import clickhouse from './clickhouse';
import { loadSession, loadWebsite } from './load';
import { SessionData } from 'lib/types';
@@ -23,8 +22,6 @@ export async function getSession(req: NextApiRequestCollect): Promise<SessionDat
// Token is valid
if (result) {
await checkUserBlock(result?.ownerId);
return result;
}
}
@@ -32,15 +29,6 @@ export async function getSession(req: NextApiRequestCollect): Promise<SessionDat
// Verify payload
const { website: websiteId, hostname, screen, language } = payload;
const validHostnameRegex = /^[\w-.]+$/;
if (!validHostnameRegex.test(hostname)) {
throw new Error('Invalid hostname.');
}
if (!isUuid(websiteId)) {
throw new Error('Invalid website ID.');
}
// Find website
const website = await loadWebsite(websiteId);
@@ -48,8 +36,6 @@ export async function getSession(req: NextApiRequestCollect): Promise<SessionDat
throw new Error(`Website not found: ${websiteId}.`);
}
await checkUserBlock(website.userId);
const { userAgent, browser, os, ip, country, subdivision1, subdivision2, city, device } =
await getClientInfo(req);
@@ -72,7 +58,6 @@ export async function getSession(req: NextApiRequestCollect): Promise<SessionDat
subdivision1,
subdivision2,
city,
ownerId: website.userId,
};
}
@@ -103,13 +88,5 @@ export async function getSession(req: NextApiRequestCollect): Promise<SessionDat
}
}
return { ...session, ownerId: website.userId, visitId: visitId };
}
async function checkUserBlock(userId: string) {
if (process.env.ENABLE_BLOCKER && (await cache.fetchUserBlock(userId))) {
await cache.incrementUserBlock(userId);
throw new Error('Usage Limit.');
}
return { ...session, visitId: visitId };
}