|
1 | 1 | import pool from '../db/connections/connection.js'; |
2 | 2 |
|
3 | 3 | export async function validateSessionAccess(sessionId, accessId) { |
4 | | - if (!sessionId || !accessId) return false; |
| 4 | + console.log(`[validateSessionAccess] Input - SessionID: "${sessionId}", AccessID: "${accessId}"`); |
| 5 | + |
| 6 | + if (!sessionId || !accessId) { |
| 7 | + console.log(`[validateSessionAccess] Validation failed - Missing parameters`); |
| 8 | + return false; |
| 9 | + } |
5 | 10 |
|
6 | 11 | try { |
7 | 12 | const result = await pool.query( |
8 | | - 'SELECT 1 FROM sessions WHERE session_id = $1 AND access_id = $2', |
| 13 | + 'SELECT session_id, access_id FROM sessions WHERE session_id = $1 AND access_id = $2', |
9 | 14 | [sessionId, accessId] |
10 | 15 | ); |
11 | | - return result.rowCount > 0; |
| 16 | + |
| 17 | + console.log(`[validateSessionAccess] Query result - rowCount: ${result.rowCount}, rows:`, result.rows); |
| 18 | + |
| 19 | + if (result.rowCount > 0) { |
| 20 | + console.log(`[validateSessionAccess] ✓ Validation successful`); |
| 21 | + return true; |
| 22 | + } else { |
| 23 | + // Check if session exists with any accessId |
| 24 | + const sessionCheck = await pool.query( |
| 25 | + 'SELECT session_id, access_id FROM sessions WHERE session_id = $1', |
| 26 | + [sessionId] |
| 27 | + ); |
| 28 | + |
| 29 | + if (sessionCheck.rowCount > 0) { |
| 30 | + console.log(`[validateSessionAccess] ✗ Session exists but accessId mismatch. Expected: "${sessionCheck.rows[0].access_id}", Got: "${accessId}"`); |
| 31 | + } else { |
| 32 | + console.log(`[validateSessionAccess] ✗ Session not found in database`); |
| 33 | + } |
| 34 | + return false; |
| 35 | + } |
12 | 36 | } catch (error) { |
13 | | - console.error('Session validation error:', error); |
| 37 | + console.error('[validateSessionAccess] Database error:', error); |
14 | 38 | return false; |
15 | 39 | } |
16 | 40 | } |
|
0 commit comments