From e1b1b57b6bfcd18ba4daa44230e8a915b4e93a15 Mon Sep 17 00:00:00 2001 From: joonhoekim <26rote@gmail.com> Date: Tue, 22 Jul 2025 03:45:58 +0000 Subject: (김준회) knox 동기화 로직 개선 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../realtime-notification/realtime-notification.ts | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) (limited to 'lib/knox-api/realtime-notification/realtime-notification.ts') diff --git a/lib/knox-api/realtime-notification/realtime-notification.ts b/lib/knox-api/realtime-notification/realtime-notification.ts index a26f5b55..52258010 100644 --- a/lib/knox-api/realtime-notification/realtime-notification.ts +++ b/lib/knox-api/realtime-notification/realtime-notification.ts @@ -1,6 +1,7 @@ "use server" import { z } from "zod" +import { getKnoxConfig, createJsonHeaders } from '../common'; // 타입 정의 const ColorSchema = z.object({ @@ -73,17 +74,7 @@ export interface NotificationError { message: string } -// 환경 변수 검증 -const getApiConfig = () => { - const baseUrl = process.env.KNOX_API_BASE_URL - const systemId = process.env.KNOX_SYSTEM_ID - - if (!baseUrl || !systemId) { - throw new Error("Knox API configuration missing: KNOX_API_BASE_URL and KNOX_SYSTEM_ID are required") - } - - return { baseUrl, systemId } -} + /** * Knox Suite 실시간 토스트 알림 전송 @@ -95,13 +86,12 @@ export async function sendNotification( // 요청 데이터 검증 const validatedRequest = NotificationRequestSchema.parse(request) - const { baseUrl, systemId } = getApiConfig() + const config = await getKnoxConfig() - const response = await fetch(`${baseUrl}/notification/api/v2.0/sendnotification`, { + const response = await fetch(`${config.baseUrl}/notification/api/v2.0/sendnotification`, { method: "POST", headers: { - "Content-Type": "application/json", - "System-ID": systemId, + ...(await createJsonHeaders()), "hint": validatedRequest.exActionsVO.hint || "multibrowser", }, body: JSON.stringify(validatedRequest), -- cgit v1.2.3