diff options
Diffstat (limited to 'lib/knox-api/realtime-notification')
| -rw-r--r-- | lib/knox-api/realtime-notification/realtime-notification.ts | 20 |
1 files changed, 5 insertions, 15 deletions
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), |
