diff --git a/apps/fo/.env.local b/apps/fo/.env.local index 2e937af0c..70b477f17 100644 --- a/apps/fo/.env.local +++ b/apps/fo/.env.local @@ -1,7 +1,7 @@ NEXT_PUBLIC_SITE_ID = FO NEXT_PUBLIC_PORT = 3000 NEXT_PUBLIC_PROXY_HOST = http://localhost:3000 -NEXT_PUBLIC_SERVER_API_URL = http://con.mind-one.co.kr:11082/api/v1 +NEXT_PUBLIC_SERVER_API_URL = http://con.mind-one.co.kr:11082 #NEXT_PUBLIC_SERVER_API_URL = http://dev.onasys.co.kr:8000 NEXT_PUBLIC_WR_SERVER_API_URL = http://con.mind-one.co.kr:11080/api/v1 NEXT_PUBLIC_CS_SERVER_API_URL = http://dev.onasys.co.kr:8000 @@ -14,5 +14,5 @@ NEXT_PUBLIC_ACCESS_TOKEN = access-token NEXT_PUBLIC_REFRESH_TOKEN = refresh-token NEXT_PUBLIC_NGII_URL = https://map.ngii.go.kr/openapi/Gettile.do?apiKey=04trYP9_xwLAfALjwZ-B8g NEXT_PUBLIC_SEWERAGE_API_URL=http://con.mind-one.co.kr:11083/sewerage-service/api # 개발 서버 API - - +NEXT_PUBLIC_DC_URL = https://apigateway.apps.rsonesoft.com +REACT_EDITOR=atom \ No newline at end of file diff --git a/apps/fo/.env.production b/apps/fo/.env.production index fbc643258..7d9b84a8f 100644 --- a/apps/fo/.env.production +++ b/apps/fo/.env.production @@ -17,7 +17,7 @@ NEXT_PUBLIC_SITE_ID = FO NEXT_PUBLIC_PORT = 3000 NEXT_PUBLIC_PROXY_HOST = https://larva.hasuon.or.kr # NEXT_PUBLIC_SERVER_API_URL = http://apigateway.iipbs-was.svc.cluster.local:8000 -NEXT_PUBLIC_SERVER_API_URL = http://apigateway.iipbs-was.svc.cluster.local:8000/operation-service/api/v1 +NEXT_PUBLIC_SERVER_API_URL = http://apigateway.iipbs-was.svc.cluster.local:8000/operation-service NEXT_PUBLIC_FO_SERVER_API_URL = http://apigateway.iipbs-was.svc.cluster.local:8000/operation-service/api/v1 NEXT_PUBLIC_CS_SERVER_API_URL = http://apigateway.iipbs-was.svc.cluster.local:8000 NEXT_PUBLIC_CS_TUS_UPLOAD = /attach-service/api/v1/tus/upload @@ -28,5 +28,5 @@ NEXT_PUBLIC_AUTH_USER_ID = token-id NEXT_PUBLIC_ACCESS_TOKEN = access-token NEXT_PUBLIC_REFRESH_TOKEN = refresh-token NEXT_PUBLIC_WR_SERVER_API_URL = http://apigateway.iipbs-was.svc.cluster.local:8000/reuse-service/api/v1 - -NEXT_PUBLIC_SEWERAGE_API_URL = http://apigateway.iipbs-was.svc.cluster.local:8000/sewerage-service/api \ No newline at end of file +NEXT_PUBLIC_SEWERAGE_API_URL = http://apigateway.iipbs-was.svc.cluster.local:8000/sewerage-service/api +NEXT_PUBLIC_DC_URL = http://apigateway.iipbs-was.svc.cluster.local:8000/dc-service \ No newline at end of file diff --git a/apps/fo/app/components/api/config/env.ts b/apps/fo/app/components/api/config/env.ts index d419bfd1c..1c0ba8b0e 100644 --- a/apps/fo/app/components/api/config/env.ts +++ b/apps/fo/app/components/api/config/env.ts @@ -1,5 +1,5 @@ -import { PROXY_HOST, SERVER_API_URL, SERVER_API_WR_URL } from "@/src/shared/config/env"; +import { PROXY_HOST } from "@/src/shared/config/env"; -export const DEV_URL_FO = SERVER_API_URL; +export const DEV_URL_FO = "/operation-service/api/v1"; export const LOCAL_URL = PROXY_HOST; -export const DEV_URL_WR = SERVER_API_WR_URL; \ No newline at end of file +export const DEV_URL_WR = "/reuse-service/api/v1"; \ No newline at end of file diff --git a/apps/fo/app/components/api/index.ts b/apps/fo/app/components/api/index.ts index 3bba85af2..ba4e9863e 100644 --- a/apps/fo/app/components/api/index.ts +++ b/apps/fo/app/components/api/index.ts @@ -1,12 +1,22 @@ -import { DEV_URL_FO, DEV_URL_WR, LOCAL_URL } from "./config/env"; +import { AUTH_USER_ID, CLAIM_NAME } from "@/src/shared/config"; +import { DEV_URL_FO, DEV_URL_WR, LOCAL_URL } from "./config/env"; +import { getCookie } from "@common/components/lib/cookie"; + +const PROXY_HOST = process.env.NEXT_PUBLIC_PROXY_HOST || ""; + +const tokenId = getCookie(AUTH_USER_ID); +const Authorization = getCookie(CLAIM_NAME); export const getFetch = async (part : string, url: string) => { let reqUrl = ""; reqUrl = part === "fo" ? DEV_URL_FO+url : part === 'local' ? LOCAL_URL+url : DEV_URL_WR+url; + reqUrl = PROXY_HOST + reqUrl; const response = await fetch(reqUrl , { method: "GET", headers: { - accept: "application/json", + accept: "application/json", + [AUTH_USER_ID]: tokenId ?? "", + [CLAIM_NAME]: Authorization ?? "", } }); if(!response.ok) { @@ -17,10 +27,12 @@ export const getFetch = async (part : string, url: string) => { } export const getFetchAreaList = async (url: string) => { - const response = await fetch(url , { + const response = await fetch(PROXY_HOST+url , { method: "GET", headers: { - accept: "application/json", + accept: "application/json", + [AUTH_USER_ID]: tokenId ?? "", + [CLAIM_NAME]: Authorization ?? "", } }); if(!response.ok) { @@ -33,10 +45,13 @@ export const getFetchAreaList = async (url: string) => { export const postFetch = async (part : string, url: string, params: unknown) => { let reqUrl = ""; reqUrl = part === "fo" ? DEV_URL_FO+url : DEV_URL_WR+url; + reqUrl = PROXY_HOST + reqUrl; const response = await fetch(reqUrl, { method: "POST", headers: { "Content-Type": "application/json", + [AUTH_USER_ID]: tokenId ?? "", + [CLAIM_NAME]: Authorization ?? "", }, body: JSON.stringify(params), }); @@ -49,10 +64,13 @@ export const postFetch = async (part : string, url: string, params: unknown) => export const putFetch = async (part : string, url: string, params: unknown) => { let reqUrl = ""; reqUrl = part === "fo" ? DEV_URL_FO+url : DEV_URL_WR+url; + reqUrl = PROXY_HOST + reqUrl; const response = await fetch(reqUrl, { method: "PUT", headers: { - "Content-Type": "application/json", + "Content-Type": "application/json", + [AUTH_USER_ID]: tokenId ?? "", + [CLAIM_NAME]: Authorization ?? "", }, body: JSON.stringify(params), }); @@ -65,10 +83,13 @@ export const putFetch = async (part : string, url: string, params: unknown) => { export const deleteFetch = async (part : string, url: string, params: unknown) => { let reqUrl = ""; reqUrl = part === "fo" ? DEV_URL_FO+url : DEV_URL_WR+url; - const response = await fetch(reqUrl, { + reqUrl = PROXY_HOST + reqUrl; + const response = await fetch(reqUrl, { method: "DELETE", headers: { "Content-Type": "application/json", + [AUTH_USER_ID]: tokenId ?? "", + [CLAIM_NAME]: Authorization ?? "", }, body: JSON.stringify(params), }); diff --git a/apps/fo/app/store/common/index.tsx b/apps/fo/app/store/common/index.tsx index e75492d52..e4aebc982 100644 --- a/apps/fo/app/store/common/index.tsx +++ b/apps/fo/app/store/common/index.tsx @@ -232,7 +232,7 @@ export const COD_YEAR = 2021; */ // 처리시설 계획정보 호출 (알에스원) -export const planInfoUrl = 'https://apigateway.apps.rsonesoft.com/dc-service/api/v1/nowDmgMtncGnsvy'; +export const planInfoUrl = '/dc-service/api/v1/nowDmgMtncGnsvy'; export const fetchPlanInfo = async (targetYear : string | undefined, ctpvNm : string | undefined, sggNm : string | undefined, fcltyCd : string | undefined) => { try { diff --git a/apps/fo/middleware.ts b/apps/fo/middleware.ts index 32257341d..f0918c345 100644 --- a/apps/fo/middleware.ts +++ b/apps/fo/middleware.ts @@ -1,5 +1,5 @@ import { NextRequest, NextResponse } from "next/server"; -import { SERVER_API_CS_URL } from "./src/shared/config/env"; +import { SERVER_API_CS_URL, SERVER_API_FO_URL, SERVER_API_WR_URL } from "./src/shared/config/env"; const AUTH_USER_ID = process.env.NEXT_PUBLIC_AUTH_USER_ID || "token-id"; const CLAIM_NAME = process.env.NEXT_PUBLIC_CLAIM_NAME || "Authorization"; @@ -7,6 +7,8 @@ const GEOSERVER_URL = process.env.NEXT_PUBLIC_GEOSERVER_URL || ""; const LX_GEOSERVER_URL = process.env.NEXT_PUBLIC_LX_GEOSERVER_URL || ""; const SEWERAGE_API_URL = process.env.NEXT_PUBLIC_SEWERAGE_API_URL || ""; const serverApiUrl = SERVER_API_CS_URL; +const DC_URL = process.env.NEXT_PUBLIC_DC_URL || ""; + export function middleware(req: NextRequest) { console.log("Middleware 진입:", req.nextUrl.pathname); const pathname = req.nextUrl.pathname; @@ -89,40 +91,33 @@ export function middleware(req: NextRequest) { }); } - if (pathname.startsWith("/operation-service")) { - const requestHeaders = new Headers(req.headers); - const token = req.cookies.get(CLAIM_NAME)?.value; - const userId = req.cookies.get(AUTH_USER_ID)?.value; - const newUrl = `${serverApiUrl}${pathname}`; - - if (token) requestHeaders.set(CLAIM_NAME, token); - if (userId) requestHeaders.set(AUTH_USER_ID, userId); - - console.log( - `[Middleware] Rewriting from '/operation-service' path to: ${newUrl}` - ); - return NextResponse.rewrite(new URL(newUrl), { - headers: requestHeaders, - }); - } - if (pathname.startsWith("/reuse-service")) { - const requestHeaders = new Headers(req.headers); - const token = req.cookies.get(CLAIM_NAME)?.value; - const userId = req.cookies.get(AUTH_USER_ID)?.value; - const newUrl = `${serverApiUrl}${pathname}`; - - if (token) requestHeaders.set(CLAIM_NAME, token); - if (userId) requestHeaders.set(AUTH_USER_ID, userId); - - console.log( - `[Middleware] Rewriting from '/reuse-service' path to: ${newUrl}` - ); - return NextResponse.rewrite(new URL(newUrl), { - headers: requestHeaders, - }); + const queryParams = searchParams.toString(); + const newUrl = `${SERVER_API_WR_URL}${pathname.replace("/reuse-service", "")}${ + queryParams ? `?${queryParams}` : "" + }`; + console.log(`[Middleware] Rewriting from '/reuse-service' path to: ${newUrl}`); + return NextResponse.rewrite(new URL(newUrl)); } + if (pathname.startsWith("/operation-service")) { + const queryParams = searchParams.toString(); + const newUrl = `${SERVER_API_FO_URL}${pathname.replace("/operation-service", "")}${ + queryParams ? `?${queryParams}` : "" + }`; + console.log(`[Middleware] Rewriting from '/operation-service' path to: ${newUrl}`); + return NextResponse.rewrite(new URL(newUrl)); + } + + if (pathname.startsWith("/dc-service")) { + const queryParams = searchParams.toString(); + const newUrl = `${DC_URL}${pathname.replace("/dc-service", "")}${ + queryParams ? `?${queryParams}` : "" + }`; + console.log(`[Middleware] Rewriting from '/dc-service' path to: ${newUrl}`); + return NextResponse.rewrite(new URL(newUrl)); + } + if (pathname.startsWith("/user-service")) { const requestHeaders = new Headers(req.headers); const newUrl = `${SERVER_API_CS_URL}${pathname}`; diff --git a/apps/fo/src/shared/config/env.ts b/apps/fo/src/shared/config/env.ts index 8baf1b0f0..6e3bf223e 100644 --- a/apps/fo/src/shared/config/env.ts +++ b/apps/fo/src/shared/config/env.ts @@ -2,7 +2,7 @@ export const SITE_ID = process.env.NEXT_PUBLIC_SITE_ID || "FO"; export const PORT = process.env.NEXT_PUBLIC_PORT || "3000"; export const PROXY_HOST = process.env.NEXT_PUBLIC_PROXY_HOST || `http://localhost:${PORT}`; export const SERVER_API_WR_URL = process.env.NEXT_PUBLIC_WR_SERVER_API_URL ||'http://con.mind-one.co.kr:11080/api/v1'; -export const SERVER_API_URL = process.env.NEXT_PUBLIC_SERVER_API_URL||' http://con.mind-one.co.kr:11082/api/v1'; +export const SERVER_API_FO_URL = process.env.NEXT_PUBLIC_SERVER_API_URL||' http://con.mind-one.co.kr:11082/api/v1'; export const SERVER_API_CS_URL = process.env.NEXT_PUBLIC_CS_SERVER_API_URL||'http://dev.onasys.co.kr:8000'; export const CLAIM_NAME = process.env.NEXT_PUBLIC_CLAIM_NAME || "Authorization"; export const ACCESS_TOKEN = process.env.NEXT_PUBLIC_ACCESS_TOKEN || "access-token"; diff --git a/apps/sn/.env.production b/apps/sn/.env.production index b1e64810a..3be1e8f4c 100644 --- a/apps/sn/.env.production +++ b/apps/sn/.env.production @@ -10,4 +10,4 @@ NEXT_PUBLIC_LX_GEOSERVER_URL = http://172.29.143.87:8080/geoserver_swl NEXT_PUBLIC_NGII_URL = http://10.98.25.94:18080/openapi/Gettile.do?apiKey=BDE2BEF39DAFEC293AB6730150F222AC NEXT_PUBLIC_SERVER_API_URL = http://apigateway.iipbs-was.svc.cluster.local:8000 NEXT_PUBLIC_SEWERAGE_API_URL = http://apigateway.iipbs-was.svc.cluster.local:8000 -NEXT_PUBLIC_DC_URL = http://apigateway.iipbs-was.svc.cluster.local:8000 +NEXT_PUBLIC_DC_URL = http://apigateway.iipbs-was.svc.cluster.local:8000/dc-service diff --git a/apps/wr/app/store/common/auth/index.tsx b/apps/wr/app/store/common/auth/index.tsx index 5e65f3b6a..7eceacb39 100644 --- a/apps/wr/app/store/common/auth/index.tsx +++ b/apps/wr/app/store/common/auth/index.tsx @@ -39,8 +39,7 @@ export const authActionsExport: (set: any, get: any) => authActions = ( getMenuAuthrts: async (menuCd: number) => { try { const response = await getFetchWithCount( - fetchType.LOCAL, - + fetchType.CS, `/cms-service/api/v1/menu-authrts/pageinfo/${menuCd}` ); set((state: authState) => { diff --git a/apps/wr/app/store/common/code/index.ts b/apps/wr/app/store/common/code/index.ts index 0601c5e41..f6e28339c 100644 --- a/apps/wr/app/store/common/code/index.ts +++ b/apps/wr/app/store/common/code/index.ts @@ -42,7 +42,7 @@ export const getCommonUpCd = async (set: any) => { try { let lwCdCode: Record = {}; const upCd = await getFetchWithCount( - fetchType.LOCAL, + fetchType.CS, "/cms-service/api/v1/up-codes?keyword=&upCd=&cdSe=&useYn=Y&siteId=WR&page=0&size=100&sort=string" ); @@ -56,7 +56,7 @@ export const getCommonUpCd = async (set: any) => { if (!mapping) return; const lwCd = await getFetchWithCount( - fetchType.LOCAL, + fetchType.CS, `/cms-service/api/v1/lwpo-cds/up-cd/${cd}` ); diff --git a/apps/wr/components/lib/api/index.ts b/apps/wr/components/lib/api/index.ts index 6b1f4292c..dc1147abb 100644 --- a/apps/wr/components/lib/api/index.ts +++ b/apps/wr/components/lib/api/index.ts @@ -4,6 +4,7 @@ import { AUTH_USER_ID, CLAIM_NAME } from "@/src/shared/config"; import { DEV_URL_FO, DEV_URL_WR, LOCAL_URL } from "../config/"; import { getCookie } from "@common/components/lib/cookie"; +const PROXY_HOST = process.env.NEXT_PUBLIC_PROXY_HOST; export const fetchType = { COMMON: "common", WR: "wr", @@ -20,15 +21,15 @@ export const getFetch = async (type: string, url: string) => { : type === fetchType.CS ? "" : DEV_URL_WR; - + const apiUrl = PROXY_HOST + div + url; const tokenId = getCookie(AUTH_USER_ID); const Authorization = getCookie(CLAIM_NAME); - const response = await fetch(div + url, { + const response = await fetch(apiUrl, { method: "GET", headers: { accept: "application/json", - AUTH_USER_ID: tokenId ?? "", - CLAIM_NAME: Authorization ?? "", + [AUTH_USER_ID]: tokenId ?? "", + [CLAIM_NAME]: Authorization ?? "", }, }); @@ -71,15 +72,16 @@ export const getFetchWithCount = async (type: string, url: string) => { : type === fetchType.CS ? "" : DEV_URL_WR; + const apiUrl = PROXY_HOST + div + url; const tokenId = getCookie(AUTH_USER_ID); const Authorization = getCookie(CLAIM_NAME); - const response = await fetch(div + url, { + const response = await fetch(apiUrl, { method: "GET", headers: { accept: "application/json", - AUTH_USER_ID: tokenId ?? "", - CLAIM_NAME: Authorization ?? "", + [AUTH_USER_ID]: tokenId ?? "", + [CLAIM_NAME]: Authorization ?? "", }, }); @@ -116,16 +118,16 @@ export const getFetchWithCount = async (type: string, url: string) => { export const postFectch = async (url: string, params: any, type?: string) => { const div = type === fetchType.COMMON ? DEV_URL_FO : DEV_URL_WR; - const tokenId = getCookie(AUTH_USER_ID); const Authorization = getCookie(CLAIM_NAME); - const response = await fetch(div + url, { + const apiUrl = PROXY_HOST + div + url; + const response = await fetch(apiUrl, { method: "POST", headers: { accept: "application/json", "Content-Type": "application/json", - AUTH_USER_ID: tokenId ?? "", - CLAIM_NAME: Authorization ?? "", + [AUTH_USER_ID]: tokenId ?? "", + [CLAIM_NAME]: Authorization ?? "", }, body: JSON.stringify(params), }); @@ -144,16 +146,16 @@ export const putFectch = async (url: string, params: any, type?: string) => { : type === fetchType.CS ? "" : DEV_URL_WR; - + const apiUrl = PROXY_HOST + div + url; const tokenId = getCookie(AUTH_USER_ID); const Authorization = getCookie(CLAIM_NAME); - const response = await fetch(div + url, { + const response = await fetch(apiUrl, { method: "PUT", headers: { "Content-Type": "application/json", - AUTH_USER_ID: tokenId ?? "", - CLAIM_NAME: Authorization ?? "", + [AUTH_USER_ID]: tokenId ?? "", + [CLAIM_NAME]: Authorization ?? "", }, body: JSON.stringify(params), }); @@ -176,15 +178,16 @@ export const deleteFectch = async ( : type === fetchType.CS ? "" : DEV_URL_WR; + const apiUrl = PROXY_HOST + div + url; const tokenId = getCookie(AUTH_USER_ID); const Authorization = getCookie(CLAIM_NAME); - const response = await fetch(div + url, { + const response = await fetch(apiUrl, { method: "DELETE", headers: { "Content-Type": "application/json", - AUTH_USER_ID: tokenId ?? "", - CLAIM_NAME: Authorization ?? "", + [AUTH_USER_ID]: tokenId ?? "", + [CLAIM_NAME]: Authorization ?? "", }, body: params ? JSON.stringify(params) : undefined, }); diff --git a/apps/wr/components/lib/config/index.ts b/apps/wr/components/lib/config/index.ts index f05a38e62..979862f12 100644 --- a/apps/wr/components/lib/config/index.ts +++ b/apps/wr/components/lib/config/index.ts @@ -2,9 +2,9 @@ import { PROXY_HOST, SERVER_API_CS_TUS_URL, SERVER_API_CS_URL, - SERVER_API_FO_URL, - SERVER_API_WR_URL, - SERVER_SEWERAGE_API_URL, + //SERVER_API_FO_URL, + //SERVER_API_WR_URL, + //SERVER_SEWERAGE_API_URL, } from "@/src/shared/config"; //const DEV_PORT = "11080"; @@ -18,9 +18,10 @@ import { //export const CS_TUS_UPLOAD= "/attach-service/api/v1/tus/upload"; export const LOCAL_URL_WR = PROXY_HOST + `/api/v1`; -export const DEV_URL_WR = SERVER_API_WR_URL; -export const DEV_URL_FO = SERVER_API_FO_URL; -export const DEV_URL_SN = SERVER_SEWERAGE_API_URL; +export const DEV_URL_WR = '/reuse-service'; +export const DEV_URL_FO = '/operation-service'; +//export const DEV_URL_FO = SERVER_API_FO_URL; +export const DEV_URL_SN = '/sewerage-service/api'; export const LOCAL_URL = PROXY_HOST; export const CS_URL = SERVER_API_CS_URL; export const CS_TUS_UPLOAD = SERVER_API_CS_TUS_URL;