backend logging
This commit is contained in:
@@ -2,6 +2,7 @@ const express = require("express");
|
||||
const jwt = require("jsonwebtoken");
|
||||
const { OAuth2Client } = require("google-auth-library");
|
||||
const { User } = require("../models"); // Import from models/index.js to get models with associations
|
||||
const logger = require("../utils/logger");
|
||||
const {
|
||||
sanitizeInput,
|
||||
validateRegistration,
|
||||
@@ -84,6 +85,13 @@ router.post(
|
||||
maxAge: 7 * 24 * 60 * 60 * 1000, // 7 days
|
||||
});
|
||||
|
||||
const reqLogger = logger.withRequestId(req.id);
|
||||
reqLogger.info("User registration successful", {
|
||||
userId: user.id,
|
||||
username: user.username,
|
||||
email: user.email
|
||||
});
|
||||
|
||||
res.status(201).json({
|
||||
user: {
|
||||
id: user.id,
|
||||
@@ -95,7 +103,13 @@ router.post(
|
||||
// Don't send token in response body for security
|
||||
});
|
||||
} catch (error) {
|
||||
console.error("Registration error:", error);
|
||||
const reqLogger = logger.withRequestId(req.id);
|
||||
reqLogger.error("Registration error", {
|
||||
error: error.message,
|
||||
stack: error.stack,
|
||||
email: req.body.email,
|
||||
username: req.body.username
|
||||
});
|
||||
res.status(500).json({ error: "Registration failed. Please try again." });
|
||||
}
|
||||
}
|
||||
@@ -164,6 +178,12 @@ router.post(
|
||||
maxAge: 7 * 24 * 60 * 60 * 1000, // 7 days
|
||||
});
|
||||
|
||||
const reqLogger = logger.withRequestId(req.id);
|
||||
reqLogger.info("User login successful", {
|
||||
userId: user.id,
|
||||
email: user.email
|
||||
});
|
||||
|
||||
res.json({
|
||||
user: {
|
||||
id: user.id,
|
||||
@@ -175,7 +195,12 @@ router.post(
|
||||
// Don't send token in response body for security
|
||||
});
|
||||
} catch (error) {
|
||||
console.error("Login error:", error);
|
||||
const reqLogger = logger.withRequestId(req.id);
|
||||
reqLogger.error("Login error", {
|
||||
error: error.message,
|
||||
stack: error.stack,
|
||||
email: req.body.email
|
||||
});
|
||||
res.status(500).json({ error: "Login failed. Please try again." });
|
||||
}
|
||||
}
|
||||
@@ -271,6 +296,13 @@ router.post(
|
||||
maxAge: 7 * 24 * 60 * 60 * 1000,
|
||||
});
|
||||
|
||||
const reqLogger = logger.withRequestId(req.id);
|
||||
reqLogger.info("Google authentication successful", {
|
||||
userId: user.id,
|
||||
email: user.email,
|
||||
isNewUser: !user.createdAt || (Date.now() - new Date(user.createdAt).getTime()) < 1000
|
||||
});
|
||||
|
||||
res.json({
|
||||
user: {
|
||||
id: user.id,
|
||||
@@ -298,7 +330,12 @@ router.post(
|
||||
.status(400)
|
||||
.json({ error: "Malformed Google token. Please try again." });
|
||||
}
|
||||
console.error("Google auth error:", error);
|
||||
const reqLogger = logger.withRequestId(req.id);
|
||||
reqLogger.error("Google auth error", {
|
||||
error: error.message,
|
||||
stack: error.stack,
|
||||
tokenInfo: logger.sanitize({ idToken: req.body.idToken })
|
||||
});
|
||||
res
|
||||
.status(500)
|
||||
.json({ error: "Google authentication failed. Please try again." });
|
||||
@@ -341,6 +378,11 @@ router.post("/refresh", async (req, res) => {
|
||||
maxAge: 15 * 60 * 1000,
|
||||
});
|
||||
|
||||
const reqLogger = logger.withRequestId(req.id);
|
||||
reqLogger.info("Token refresh successful", {
|
||||
userId: user.id
|
||||
});
|
||||
|
||||
res.json({
|
||||
user: {
|
||||
id: user.id,
|
||||
@@ -351,13 +393,23 @@ router.post("/refresh", async (req, res) => {
|
||||
},
|
||||
});
|
||||
} catch (error) {
|
||||
console.error("Token refresh error:", error);
|
||||
const reqLogger = logger.withRequestId(req.id);
|
||||
reqLogger.error("Token refresh error", {
|
||||
error: error.message,
|
||||
stack: error.stack,
|
||||
userId: req.user?.id
|
||||
});
|
||||
res.status(401).json({ error: "Invalid or expired refresh token" });
|
||||
}
|
||||
});
|
||||
|
||||
// Logout endpoint
|
||||
router.post("/logout", (req, res) => {
|
||||
const reqLogger = logger.withRequestId(req.id);
|
||||
reqLogger.info("User logout", {
|
||||
userId: req.user?.id || 'anonymous'
|
||||
});
|
||||
|
||||
// Clear cookies
|
||||
res.clearCookie("accessToken");
|
||||
res.clearCookie("refreshToken");
|
||||
|
||||
Reference in New Issue
Block a user