// FILE: backend/src/routes/users_extras.js
// NOTE: ของเดิมใช้ cookie + Sequelize -> ปรับให้อยู่หลัง Bearer stack และจำกัดความสามารถ
import { Router } from "express";
import sql from "../db/index.js";
import { requirePerm } from "../middleware/requirePerm.js";

const r = Router();

/**
 * PATCH /users/:id/password
 * เฉพาะผู้มี settings.manage (GLOBAL) — (คำเตือน: ต้องมีระบบ hash/rotate ที่ service auth)
 */
r.patch(
  "/users/:id/password",
  requirePerm("settings.manage"),
  async (_req, res) => {
    // ในโปรเจคนี้การเปลี่ยนรหัสผ่านควรวิ่งที่ auth service/procedure โดยเฉพาะ
    return res
      .status(501)
      .json({ error: "Not implemented here. Use auth service." });
  }
);

/**
 * GET /users/me/projects — สรุปโปรเจ็ค/บทบาทของผู้ใช้
 */
r.get("/users/me/projects", async (req, res) => {
  const uid = req.principal.user_id;
  const [rows] = await sql.query(
    `SELECT upr.project_id, r.role_code, r.role_name
       FROM user_project_roles upr
       JOIN roles r ON r.role_id = upr.role_id
      WHERE upr.user_id=? ORDER BY upr.project_id`,
    [uid]
  );
  res.json(rows);
});

export default r;
