From 3a0c5746b7fab6a31c6ce81682aceff5cd5f0ea0 Mon Sep 17 00:00:00 2001 From: parsa aghaei Date: Tue, 23 Jun 2026 18:20:00 +0330 Subject: [PATCH] 1.4-1.6: add rewrites, remove BFF handlers, update client to use relative URLs --- next.config.mjs | 13 ++++++++++++- .../(website)/components/projects/projects.tsx | 2 +- .../(website)/components/services/services.tsx | 2 +- src/app/api/blog/home/rout.ts | 9 --------- src/app/api/website/about-me/route.ts | 9 --------- src/app/api/website/projects/route.ts | 9 --------- src/app/api/website/services/route.ts | 11 ----------- 7 files changed, 14 insertions(+), 41 deletions(-) delete mode 100644 src/app/api/blog/home/rout.ts delete mode 100644 src/app/api/website/about-me/route.ts delete mode 100644 src/app/api/website/projects/route.ts delete mode 100644 src/app/api/website/services/route.ts diff --git a/next.config.mjs b/next.config.mjs index 0af29db..ea5392e 100644 --- a/next.config.mjs +++ b/next.config.mjs @@ -15,7 +15,18 @@ const nextConfig = { }, ], }, - // سایر تنظیمات Next.js شما + async rewrites() { + return [ + { + source: '/api/website/:path*', + destination: `${process.env.NEXT_PUBLIC_BACK_URL}/api/website/:path*`, + }, + { + source: '/api/blog/:path*', + destination: `${process.env.NEXT_PUBLIC_BACK_URL}/api/blog/:path*`, + }, + ]; + }, webpack(config, { isServer }) { if (!isServer) { config.optimization.splitChunks = { diff --git a/src/app/(routes)/(website)/components/projects/projects.tsx b/src/app/(routes)/(website)/components/projects/projects.tsx index 57deaea..7821839 100644 --- a/src/app/(routes)/(website)/components/projects/projects.tsx +++ b/src/app/(routes)/(website)/components/projects/projects.tsx @@ -47,7 +47,7 @@ export default function Projects({ dict }: MyProjectsProps) { ); const fetchProjects = async () => { const res = await fetch( - `${process.env.NEXT_PUBLIC_API_URL}/website/projects/translation/${locale}?sort=desc&per_page=40`, + `/api/website/projects/translation/${locale}?sort=desc&per_page=40`, ); const data = await res.json(); const resProjects: Project[] = diff --git a/src/app/(routes)/(website)/components/services/services.tsx b/src/app/(routes)/(website)/components/services/services.tsx index 1c01dd7..9633703 100644 --- a/src/app/(routes)/(website)/components/services/services.tsx +++ b/src/app/(routes)/(website)/components/services/services.tsx @@ -29,7 +29,7 @@ export default function Services({ dict }: ServicesProps) { const fetchServices = async () => { setLoading(true); const response = await fetch( - `${process.env.NEXT_PUBLIC_API_URL}/website/services/${getCookie("selectedLocale") !== undefined ? getCookie("selectedLocale") : getCookie("defaultLocale")}`, + `/api/website/services/${getCookie("selectedLocale") !== undefined ? getCookie("selectedLocale") : getCookie("defaultLocale")}`, ).then((res) => res.json()); setServices(response); diff --git a/src/app/api/blog/home/rout.ts b/src/app/api/blog/home/rout.ts deleted file mode 100644 index 385be42..0000000 --- a/src/app/api/blog/home/rout.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { NextResponse } from "next/server"; - -export async function GET() { - const response = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/blog/homepage`, { - cache: "no-store" // غیرفعال کردن کش - }); - const data = await response.json(); - return NextResponse.json(data); -} \ No newline at end of file diff --git a/src/app/api/website/about-me/route.ts b/src/app/api/website/about-me/route.ts deleted file mode 100644 index be55cd2..0000000 --- a/src/app/api/website/about-me/route.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { NextResponse } from "next/server"; - -export async function GET() { - const response = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/about-me`, { - cache: "no-store" // غیرفعال کردن کش - }); - const data = await response.json(); - return NextResponse.json(data); -} diff --git a/src/app/api/website/projects/route.ts b/src/app/api/website/projects/route.ts deleted file mode 100644 index 69fcd43..0000000 --- a/src/app/api/website/projects/route.ts +++ /dev/null @@ -1,9 +0,0 @@ -import { NextResponse } from "next/server"; - -export async function GET() { - const response = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/projects`, { - cache: "no-store" // غیرفعال کردن کش - }); - const data = await response.json(); - return NextResponse.json(data); -} diff --git a/src/app/api/website/services/route.ts b/src/app/api/website/services/route.ts deleted file mode 100644 index 3a8736d..0000000 --- a/src/app/api/website/services/route.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { NextResponse } from "next/server"; - -export async function GET() { - const res = await fetch(`${process.env.NEXT_PUBLIC_API_URL}/services`, { - cache: "no-store", // غیرفعال کردن کش - }); - - const services = await res.json(); - - return NextResponse.json(services); -}