tempfix: added some debug console logs for easiest debug

This commit is contained in:
Giuseppe Raffa
2026-04-21 20:27:44 +02:00
parent 974cbe93cd
commit e43c330594
5 changed files with 96 additions and 26 deletions

View File

@@ -33,23 +33,34 @@ async function register(username, password) {
* Esegue il login di un utente
*/
async function login(username, password) {
console.log('[DEBUG AUTH] login() START - username:', username);
const result = await query('SELECT id, username, password_hash, created_at FROM users WHERE username = $1', [username]);
console.log('[DEBUG AUTH] login() - query result rows:', result.rows.length);
if (result.rows.length === 0) {
console.log('[DEBUG AUTH] login() - user not found');
throw new Error('No user matched')
}
const user = result.rows[0];
console.log('[DEBUG AUTH] login() - user found:', { id: user.id, username: user.username });
const isValid = await security.verifyPassword(password, user.password_hash);
console.log('[DEBUG AUTH] login() - password valid:', isValid);
if (!isValid) {
console.log('[DEBUG AUTH] login() - password mismatch');
throw new Error('Password mismatch')
}
return {
const result_obj = {
id: user.id,
username: user.username,
created: user.created_at
}
};
console.log('[DEBUG AUTH] login() SUCCESS - returning user:', result_obj);
return result_obj;
}
/**
@@ -69,38 +80,61 @@ async function logout(sessionID) {
* Crea una nuova sessione per un utente che ha appaena eseguito il login
*/
async function newSession(userId, userAgent, ip) {
console.log('[DEBUG AUTH] newSession() START - userId:', userId);
const id = uuid();
const sessionCode = security.generateSessionCode();
const metadata = track.getBasicMetadata(userAgent);
console.log('[DEBUG AUTH] newSession() - sessionCode generated:', sessionCode, 'metadata:', metadata);
await query(
const insertResult = await query(
`INSERT INTO sessions (id, user_id, session_code, encoded_username, ip_address, user_agent, browser, os, device_type)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9)`,
[id, userId, sessionCode, '', ip, userAgent, metadata.browser, metadata.os, metadata.device_type]
);
console.log('[DEBUG AUTH] newSession() - INSERT result:', { rowCount: insertResult.rowCount });
return { id, sessionCode };
const result = { id, sessionCode };
console.log('[DEBUG AUTH] newSession() SUCCESS - returning:', result);
return result;
}
/**
* Valida una sessione tramite il suo UUID
*/
async function validateSession(sessionId) {
console.log('[DEBUG AUTH] validateSession() START - sessionId:', sessionId);
if (!sessionId || typeof sessionId !== 'string') {
console.log('[DEBUG AUTH] validateSession() - invalid sessionId type');
throw new Error('Invalid session ID');
}
const result = await query(
'SELECT s.id, u.is_active FROM sessions s JOIN users u ON s.user_id = u.id WHERE s.id = $1 AND s.is_revoked = FALSE',
[sessionId]
);
console.log('[DEBUG AUTH] validateSession() - executing query with sessionId:', sessionId);
try {
const result = await query(
'SELECT s.id, u.is_active FROM sessions s JOIN users u ON s.user_id = u.id WHERE s.id = $1 AND s.is_revoked = FALSE',
[sessionId]
);
console.log('[DEBUG AUTH] validateSession() - query SUCCESS, rows:', result.rows.length);
if (result.rows.length === 0) {
throw new Error('Session not found or revoked');
}
if (result.rows.length === 0) {
console.log('[DEBUG AUTH] validateSession() - session not found or revoked');
throw new Error('Session not found or revoked');
}
if (!result.rows[0].is_active) {
throw new Error('User account is not active');
console.log('[DEBUG AUTH] validateSession() - row data:', result.rows[0]);
if (!result.rows[0].is_active) {
console.log('[DEBUG AUTH] validateSession() - user not active');
throw new Error('User account is not active');
}
console.log('[DEBUG AUTH] validateSession() SUCCESS');
} catch (err) {
console.error('[DEBUG AUTH] validateSession() ERROR:', err.message, err.code);
throw err;
}
}