diff --git a/src/app/api/related-subject/route.ts b/src/app/api/related-subject/route.ts
index 77800cb..6f374ff 100644
--- a/src/app/api/related-subject/route.ts
+++ b/src/app/api/related-subject/route.ts
@@ -1,14 +1,10 @@
+import { getRelatedSubjects } from "@/lib/services/subject";
import { NextResponse, type NextRequest } from "next/server";
-import { connectToDatabase } from "@/lib/database/mongoose";
-import { IRelatedSubject } from "@/interface";
-import RelatedSubject from "@/db/relatedSubjects";
-import { escapeRegExp } from "@/lib/utils/regex";
export const dynamic = "force-dynamic";
export async function GET(req: NextRequest) {
try {
- await connectToDatabase();
const url = req.nextUrl.searchParams;
const subject = url.get("subject");
@@ -18,18 +14,10 @@ export async function GET(req: NextRequest) {
{ status: 400 },
);
}
-
- const escapedSubject = escapeRegExp(subject);
- const subjects: IRelatedSubject[] = await RelatedSubject.find({
- subject: { $regex: new RegExp(`${escapedSubject}`, "i") },
- });
-
- console.log("realted", subjects);
+ const relatedSubjects = await getRelatedSubjects(subject);
return NextResponse.json(
- {
- related_subjects: subjects[0]?.related_subjects
- },
+ {related_subjects: relatedSubjects},
{ status: 200 },
);
} catch (error) {
diff --git a/src/app/page.tsx b/src/app/page.tsx
index 514a606..1ec001d 100644
--- a/src/app/page.tsx
+++ b/src/app/page.tsx
@@ -8,6 +8,7 @@ const HomePage = () => {
+ {/* Happy Birthday Abhi broski, Hope you have an amazing year!!! Love you lots*/}
);
};
diff --git a/src/lib/services/subject.ts b/src/lib/services/subject.ts
new file mode 100644
index 0000000..4298ba3
--- /dev/null
+++ b/src/lib/services/subject.ts
@@ -0,0 +1,14 @@
+import { connectToDatabase } from "@/lib/database/mongoose";
+import { IRelatedSubject } from "@/interface";
+import { escapeRegExp } from "@/lib/utils/regex";
+import RelatedSubject from "@/db/relatedSubjects";
+
+export async function getRelatedSubjects(subject: string) {
+ await connectToDatabase();
+ const escapedSubject = escapeRegExp(subject);
+ const subjects: IRelatedSubject[] = await RelatedSubject.find({
+ subject: { $regex: new RegExp(`${escapedSubject}`, "i") },
+ });
+
+ return subjects[0]?.related_subjects ?? [];
+}
\ No newline at end of file