Spaces:
Paused
Paused
CampVerse CI commited on
Commit ·
66f8fec
1
Parent(s): 89a74d9
Deploy backend from GitHub Actions
Browse files- Controller/analytics.js +1 -0
- app.js +23 -1
Controller/analytics.js
CHANGED
|
@@ -1,6 +1,7 @@
|
|
| 1 |
const Event = require('../Models/Event');
|
| 2 |
const User = require('../Models/User');
|
| 3 |
const Certificate = require('../Models/Certificate');
|
|
|
|
| 4 |
const EventParticipationLog = require('../Models/EventParticipationLog');
|
| 5 |
const SearchAnalytics = require('../Models/SearchAnalytics');
|
| 6 |
|
|
|
|
| 1 |
const Event = require('../Models/Event');
|
| 2 |
const User = require('../Models/User');
|
| 3 |
const Certificate = require('../Models/Certificate');
|
| 4 |
+
const Institution = require('../Models/Institution');
|
| 5 |
const EventParticipationLog = require('../Models/EventParticipationLog');
|
| 6 |
const SearchAnalytics = require('../Models/SearchAnalytics');
|
| 7 |
|
app.js
CHANGED
|
@@ -32,6 +32,8 @@ const { memoryManager } = require('./Utils/memoryManager');
|
|
| 32 |
const SocketService = require('./Services/socketService');
|
| 33 |
const cookieParser = require('cookie-parser');
|
| 34 |
const cors = require('cors'); // CRITICAL: Import cors for cookie support
|
|
|
|
|
|
|
| 35 |
|
| 36 |
// Generate correlation ID for request tracking
|
| 37 |
function generateCorrelationId() {
|
|
@@ -414,7 +416,10 @@ app.get('/health', async (req, res) => {
|
|
| 414 |
services: {
|
| 415 |
mongodb: 'unknown',
|
| 416 |
redis: 'unknown',
|
| 417 |
-
memory: 'unknown'
|
|
|
|
|
|
|
|
|
|
| 418 |
},
|
| 419 |
system: {
|
| 420 |
memory: process.memoryUsage(),
|
|
@@ -477,6 +482,23 @@ app.get('/health', async (req, res) => {
|
|
| 477 |
healthStatus.status = 'DEGRADED';
|
| 478 |
}
|
| 479 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 480 |
// Set final status
|
| 481 |
if (healthStatus.status === 'DEGRADED') {
|
| 482 |
res.status(200).json(healthStatus);
|
|
|
|
| 32 |
const SocketService = require('./Services/socketService');
|
| 33 |
const cookieParser = require('cookie-parser');
|
| 34 |
const cors = require('cors'); // CRITICAL: Import cors for cookie support
|
| 35 |
+
const axios = require('axios');
|
| 36 |
+
const { config } = require('./config/environment');
|
| 37 |
|
| 38 |
// Generate correlation ID for request tracking
|
| 39 |
function generateCorrelationId() {
|
|
|
|
| 416 |
services: {
|
| 417 |
mongodb: 'unknown',
|
| 418 |
redis: 'unknown',
|
| 419 |
+
memory: 'unknown',
|
| 420 |
+
ml: 'unknown',
|
| 421 |
+
payment: process.env.PAYMENT_GATEWAY_STATUS || 'maintenance',
|
| 422 |
+
api: 'operational'
|
| 423 |
},
|
| 424 |
system: {
|
| 425 |
memory: process.memoryUsage(),
|
|
|
|
| 482 |
healthStatus.status = 'DEGRADED';
|
| 483 |
}
|
| 484 |
|
| 485 |
+
// Check ML service status (if enabled)
|
| 486 |
+
try {
|
| 487 |
+
if (!config.ml.recommendationEnabled) {
|
| 488 |
+
healthStatus.services.ml = 'disabled';
|
| 489 |
+
} else {
|
| 490 |
+
const mlUrl = `${config.ml.apiUrl}/health`;
|
| 491 |
+
const mlResponse = await axios.get(mlUrl, { timeout: 3000 });
|
| 492 |
+
healthStatus.services.ml = mlResponse.status === 200 ? 'operational' : 'degraded';
|
| 493 |
+
if (mlResponse.status !== 200) {
|
| 494 |
+
healthStatus.status = 'DEGRADED';
|
| 495 |
+
}
|
| 496 |
+
}
|
| 497 |
+
} catch (err) {
|
| 498 |
+
healthStatus.services.ml = 'degraded';
|
| 499 |
+
healthStatus.status = 'DEGRADED';
|
| 500 |
+
}
|
| 501 |
+
|
| 502 |
// Set final status
|
| 503 |
if (healthStatus.status === 'DEGRADED') {
|
| 504 |
res.status(200).json(healthStatus);
|