feat(analytics): enhance analytics functionality with token validation and data extraction
All checks were successful
Build & Push Docker Image / build (push) Successful in 6m29s

This commit is contained in:
2026-03-13 10:34:39 +01:00
parent 41ad3e037a
commit 00e563664e
6 changed files with 76 additions and 33 deletions

View File

@@ -14,6 +14,7 @@ import {
endMeeting,
getMeetingInfo,
isMeetingRunning,
getAnalyticsToken,
} from '../config/bbb.js';
import {
isFederationEnabled,
@@ -484,7 +485,7 @@ router.post('/:uid/start', authenticateToken, async (req, res) => {
? `${baseUrl}/uploads/presentations/${room.presentation_file}`
: null;
const analyticsCallbackURL = room.learning_analytics
? `${baseUrl}/api/analytics/callback/${room.uid}`
? `${baseUrl}/api/analytics/callback/${room.uid}?token=${getAnalyticsToken(room.uid)}`
: null;
await createMeeting(room, baseUrl, loginURL, presentationUrl, analyticsCallbackURL);
const avatarURL = getUserAvatarURL(req, req.user);
@@ -632,7 +633,7 @@ router.post('/:uid/guest-join', guestJoinLimiter, async (req, res) => {
const baseUrl = getBaseUrl(req);
const loginURL = `${baseUrl}/join/${room.uid}`;
const analyticsCallbackURL = room.learning_analytics
? `${baseUrl}/api/analytics/callback/${room.uid}`
? `${baseUrl}/api/analytics/callback/${room.uid}?token=${getAnalyticsToken(room.uid)}`
: null;
await createMeeting(room, baseUrl, loginURL, null, analyticsCallbackURL);
}