const express = require("express"); const router = express.Router(); const pool = require("../../db"); const { strictInput } = require("../../middleware/strict_input"); const { authenticateToken } = require("../../middleware/authenticate_token"); async function getProfile(req, res) { const id = req.params.id === "me" ? req.user.id : req.params.id; try { const { rows } = await pool.query( "SELECT id, name, username FROM people WHERE id = $1", [id], ); if (rows.length === 0) return res.status(404).send("Profile not found"); return res.status(200).json(rows[0]); } catch (err) { console.error("profile query failed", { message: err.message, code: err.code, detail: err.detail, hint: err.hint, }); return res.status(500).send("Profile could not be retrieved, request failed"); } } router.get("/me", authenticateToken, strictInput(), getProfile); router.get("/:id", authenticateToken, strictInput(), getProfile); module.exports = router;