From 76038c43fdcb97f561f599a28cd1aba7b7fb7b98 Mon Sep 17 00:00:00 2001 From: Benjamin Admin Date: Wed, 25 Feb 2026 23:42:25 +0100 Subject: [PATCH] fix(academy): use proxy path instead of unreachable localhost:8093 The Academy API client was using NEXT_PUBLIC_SDK_API_URL with fallback to http://localhost:8093, which is unreachable from the browser. Changed to use the existing Next.js proxy at /api/sdk/v1/academy/. --- admin-compliance/lib/sdk/academy/api.ts | 28 ++++++++++++------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/admin-compliance/lib/sdk/academy/api.ts b/admin-compliance/lib/sdk/academy/api.ts index 852b39b..46e259e 100644 --- a/admin-compliance/lib/sdk/academy/api.ts +++ b/admin-compliance/lib/sdk/academy/api.ts @@ -26,7 +26,7 @@ import { // CONFIGURATION // ============================================================================= -const ACADEMY_API_BASE = process.env.NEXT_PUBLIC_SDK_API_URL || 'http://localhost:8093' +const ACADEMY_API_BASE = '/api/sdk/v1/academy' const API_TIMEOUT = 30000 // 30 seconds // ============================================================================= @@ -111,7 +111,7 @@ async function fetchWithTimeout( */ export async function fetchCourses(): Promise { return fetchWithTimeout( - `${ACADEMY_API_BASE}/api/v1/academy/courses` + `${ACADEMY_API_BASE}/courses` ) } @@ -120,7 +120,7 @@ export async function fetchCourses(): Promise { */ export async function fetchCourse(id: string): Promise { return fetchWithTimeout( - `${ACADEMY_API_BASE}/api/v1/academy/courses/${id}` + `${ACADEMY_API_BASE}/courses/${id}` ) } @@ -129,7 +129,7 @@ export async function fetchCourse(id: string): Promise { */ export async function createCourse(request: CourseCreateRequest): Promise { return fetchWithTimeout( - `${ACADEMY_API_BASE}/api/v1/academy/courses`, + `${ACADEMY_API_BASE}/courses`, { method: 'POST', body: JSON.stringify(request) @@ -142,7 +142,7 @@ export async function createCourse(request: CourseCreateRequest): Promise { return fetchWithTimeout( - `${ACADEMY_API_BASE}/api/v1/academy/courses/${id}`, + `${ACADEMY_API_BASE}/courses/${id}`, { method: 'PUT', body: JSON.stringify(update) @@ -155,7 +155,7 @@ export async function updateCourse(id: string, update: CourseUpdateRequest): Pro */ export async function deleteCourse(id: string): Promise { await fetchWithTimeout( - `${ACADEMY_API_BASE}/api/v1/academy/courses/${id}`, + `${ACADEMY_API_BASE}/courses/${id}`, { method: 'DELETE' } @@ -175,7 +175,7 @@ export async function fetchEnrollments(courseId?: string): Promise params.set('courseId', courseId) } const queryString = params.toString() - const url = `${ACADEMY_API_BASE}/api/v1/academy/enrollments${queryString ? `?${queryString}` : ''}` + const url = `${ACADEMY_API_BASE}/enrollments${queryString ? `?${queryString}` : ''}` return fetchWithTimeout(url) } @@ -185,7 +185,7 @@ export async function fetchEnrollments(courseId?: string): Promise */ export async function enrollUser(request: EnrollUserRequest): Promise { return fetchWithTimeout( - `${ACADEMY_API_BASE}/api/v1/academy/enrollments`, + `${ACADEMY_API_BASE}/enrollments`, { method: 'POST', body: JSON.stringify(request) @@ -198,7 +198,7 @@ export async function enrollUser(request: EnrollUserRequest): Promise { return fetchWithTimeout( - `${ACADEMY_API_BASE}/api/v1/academy/enrollments/${enrollmentId}/progress`, + `${ACADEMY_API_BASE}/enrollments/${enrollmentId}/progress`, { method: 'PUT', body: JSON.stringify(update) @@ -211,7 +211,7 @@ export async function updateProgress(enrollmentId: string, update: UpdateProgres */ export async function completeEnrollment(enrollmentId: string): Promise { return fetchWithTimeout( - `${ACADEMY_API_BASE}/api/v1/academy/enrollments/${enrollmentId}/complete`, + `${ACADEMY_API_BASE}/enrollments/${enrollmentId}/complete`, { method: 'POST' } @@ -227,7 +227,7 @@ export async function completeEnrollment(enrollmentId: string): Promise { return fetchWithTimeout( - `${ACADEMY_API_BASE}/api/v1/academy/certificates/${id}` + `${ACADEMY_API_BASE}/certificates/${id}` ) } @@ -236,7 +236,7 @@ export async function fetchCertificate(id: string): Promise { */ export async function generateCertificate(enrollmentId: string): Promise { return fetchWithTimeout( - `${ACADEMY_API_BASE}/api/v1/academy/enrollments/${enrollmentId}/certificate`, + `${ACADEMY_API_BASE}/enrollments/${enrollmentId}/certificate`, { method: 'POST' } @@ -252,7 +252,7 @@ export async function generateCertificate(enrollmentId: string): Promise { return fetchWithTimeout( - `${ACADEMY_API_BASE}/api/v1/academy/lessons/${lessonId}/quiz`, + `${ACADEMY_API_BASE}/lessons/${lessonId}/quiz`, { method: 'POST', body: JSON.stringify(answers) @@ -269,7 +269,7 @@ export async function submitQuiz(lessonId: string, answers: SubmitQuizRequest): */ export async function fetchAcademyStatistics(): Promise { return fetchWithTimeout( - `${ACADEMY_API_BASE}/api/v1/academy/statistics` + `${ACADEMY_API_BASE}/statistics` ) }