diff --git a/apps/dashboard/src/routes/org/[slug]/courses/+page.server.ts b/apps/dashboard/src/routes/org/[slug]/courses/+page.server.ts index c6dc79de..d159d66c 100644 --- a/apps/dashboard/src/routes/org/[slug]/courses/+page.server.ts +++ b/apps/dashboard/src/routes/org/[slug]/courses/+page.server.ts @@ -1,10 +1,19 @@ import { classroomio, getApiHeaders } from '$lib/utils/services/api'; +import { PUBLIC_IS_SELFHOSTED } from '$env/static/public'; + export const load = async ({ parent, locals, cookies, url }) => { + const loadStart = performance.now(); + const tagsParam = url.searchParams.get('tags'); const { orgId } = await parent(); if (!orgId || !locals.user?.id) { + const loadMs = Math.round((performance.now() - loadStart) * 100) / 100; + console.log( + `[org/[slug]/courses +page.server] load: ${loadMs}ms (skipped: no orgId or user) | PUBLIC_IS_SELFHOSTED=${PUBLIC_IS_SELFHOSTED}` + ); + return { courses: [] }; @@ -16,6 +25,7 @@ export const load = async ({ parent, locals, cookies, url }) => { .filter(Boolean); const normalizedTagsQuery = normalizedTags && normalizedTags.length > 0 ? normalizedTags.join(',') : undefined; + const apiStart = performance.now(); const [coursesResponse, tagsResponse] = await Promise.all([ classroomio.organization.courses.$get( normalizedTagsQuery @@ -24,16 +34,23 @@ export const load = async ({ parent, locals, cookies, url }) => { tags: normalizedTagsQuery } } - : {}, + : { query: {} }, getApiHeaders(cookies, orgId) ), classroomio.organization.tags.$get({}, getApiHeaders(cookies, orgId)) ]); const [coursesData, tagsData] = await Promise.all([coursesResponse.json(), tagsResponse.json()]); + const apiMs = Math.round((performance.now() - apiStart) * 100) / 100; + const courses = coursesData.success ? coursesData.data : []; const tagGroups = tagsData.success ? tagsData.data : []; + const loadMs = Math.round((performance.now() - loadStart) * 100) / 100; + console.log( + `[org/[slug]/courses +page.server] load: ${loadMs}ms (organization courses + tags API: ${apiMs}ms) | PUBLIC_IS_SELFHOSTED=${PUBLIC_IS_SELFHOSTED}` + ); + return { courses: courses || [], activeTags: normalizedTags ?? [],