diff --git a/apps/web/api/ius/query.ts b/apps/web/api/ius/query.ts index 72f18bc..699d46d 100644 --- a/apps/web/api/ius/query.ts +++ b/apps/web/api/ius/query.ts @@ -1,4 +1,3 @@ -'use server'; import type * as t from './types'; import { getUrls } from '@/config/urls'; import { createUrl, type PageUrlParams } from '@/utils/url'; diff --git a/apps/web/config/urls.ts b/apps/web/config/urls.ts index d3e0f20..2d8c869 100644 --- a/apps/web/config/urls.ts +++ b/apps/web/config/urls.ts @@ -1,9 +1,18 @@ import { getEnv } from './env'; - -const { URL_IUS_DIRECT } = getEnv(); +import proxyUrls from '@/constants/urls'; +import { isServer } from '@/utils/common'; export function getUrls() { + if (isServer()) { + const env = getEnv(); + const { URL_IUS_DIRECT } = env; + + return { + URL_IUS: URL_IUS_DIRECT, + }; + } + return { - URL_IUS: URL_IUS_DIRECT, + URL_IUS: proxyUrls.URL_IUS_PROXY, }; } diff --git a/apps/web/constants/urls.js b/apps/web/constants/urls.js new file mode 100644 index 0000000..c3e693d --- /dev/null +++ b/apps/web/constants/urls.js @@ -0,0 +1,3 @@ +module.exports = { + URL_IUS_PROXY: '/api/ius', +}; diff --git a/apps/web/next.config.js b/apps/web/next.config.js index 296b3ee..4465f25 100644 --- a/apps/web/next.config.js +++ b/apps/web/next.config.js @@ -1,6 +1,7 @@ const fs = require('fs'); const path = require('path'); const envSchema = require('./config/schema/env'); +const urls = require('./constants/urls'); const env = envSchema.parse(process.env); @@ -25,7 +26,13 @@ const nextConfig = { reactStrictMode: true, transpilePackages: ['ui'], async rewrites() { - return [...favicons.map((fileName) => buildFaviconRewrite(`/${fileName}`))]; + return [ + { + destination: env.URL_IUS_DIRECT + '/:path*', + source: urls.URL_IUS_PROXY + '/:path*', + }, + ...favicons.map((fileName) => buildFaviconRewrite(`/${fileName}`)), + ]; }, };