diff --git a/src/app/(root)/layout.tsx b/src/app/(root)/layout.tsx
index c7b9bdd..78a36fb 100644
--- a/src/app/(root)/layout.tsx
+++ b/src/app/(root)/layout.tsx
@@ -1,9 +1,24 @@
import Navbar from "@/components/navbar";
import { Sidebar } from "@/components/sidebar";
import { checkSubscription } from "@/lib/subscriptions";
+import { incrementSearchCredit, checkSearchCredits } from "@/lib/searchCredits";
+import { auth } from "@clerk/nextjs";
+import { redirect } from "next/navigation";
const RootLayout = async ({ children }: { children: React.ReactNode }) => {
+ const { userId } = auth();
const hasSubscription = await checkSubscription();
+
+ if (!userId) {
+ return redirect("/");
+ }
+ const inSearchCreditsDb = await checkSearchCredits(userId);
+
+ if (!inSearchCreditsDb) {
+ await incrementSearchCredit(userId, 5);
+ console.log("First time logging in. 5 credits are given.");
+ }
+
return (
diff --git a/src/app/api/search/route.ts b/src/app/api/search/route.ts
index 0a67d08..6369a4f 100644
--- a/src/app/api/search/route.ts
+++ b/src/app/api/search/route.ts
@@ -4,7 +4,7 @@ import dayjs from "dayjs";
import prismadb from '../../lib/prismadb';
import { auth, currentUser } from "@clerk/nextjs";
import { NextResponse } from 'next/server';
-import { checkSearchCredits, deductSearchCredit, getSearchCreditCount, incrementSearchCredit } from '@/lib/searchCredits';
+import { checkSearchCredits, deductSearchCredit, getSearchCreditCount } from '@/lib/searchCredits';
@@ -52,8 +52,7 @@ export async function POST(req: Request) {
const inSearchCreditsDb = await checkSearchCredits(userId)
if (!inSearchCreditsDb) {
- await incrementSearchCredit(userId, 5)
- console.log("First time searching. Added 5 credits.")
+ return new NextResponse("Not inside credits database", {status: 401})
}
const creditsLeft = await getSearchCreditCount(userId)
@@ -63,10 +62,9 @@ export async function POST(req: Request) {
}
if (creditsLeft == false) {
- return new NextResponse("Not inside credits database", {status: 401})
+ return new NextResponse("Credits left is null.", {status: 401})
}
-
if (creditsLeft > 0) {
await deductSearchCredit(userId)