ShieldX commited on
Commit
fcddc9e
·
verified ·
1 Parent(s): 3e10ff3

Update src/routes/userRoutes.js

Browse files
Files changed (1) hide show
  1. src/routes/userRoutes.js +18 -0
src/routes/userRoutes.js CHANGED
@@ -5,6 +5,7 @@ import { updateKarma } from '../services/KarmaService.js';
5
  import CallSession from '../models/CallSession.js';
6
  import SupportTicket from '../models/SupportTicket.js';
7
  import { requireAdmin } from '../middleware/requireAdmin.js';
 
8
 
9
  const router = express.Router();
10
 
@@ -153,6 +154,23 @@ router.post('/contact', async (req, res) => {
153
  }
154
  });
155
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
156
  // ADMIN: Get all support tickets
157
  router.get(
158
  '/admin/support-tickets',
 
5
  import CallSession from '../models/CallSession.js';
6
  import SupportTicket from '../models/SupportTicket.js';
7
  import { requireAdmin } from '../middleware/requireAdmin.js';
8
+ import axios from 'axios';
9
 
10
  const router = express.Router();
11
 
 
154
  }
155
  });
156
 
157
+ // 6. Get TURN Credentials
158
+ router.get('/turn-credentials', requireAuth, async (req, res) => {
159
+ try {
160
+ // 1. Ask Metered for credentials using your Secret Key
161
+ const response = await axios.get(`https://www.metered.ca/api/v1/turn/credentials?apiKey=${process.env.METERED_API_KEY}`);
162
+
163
+ // 2. Send the credentials to the frontend
164
+ res.send(response.data);
165
+ } catch (err) {
166
+ console.error("TURN Fetch Error:", err);
167
+ // Fallback to just Google if Metered fails
168
+ res.send([
169
+ { urls: "stun:stun.l.google.com:19302" }
170
+ ]);
171
+ }
172
+ });
173
+
174
  // ADMIN: Get all support tickets
175
  router.get(
176
  '/admin/support-tickets',