{
  "endpoints": [
    {
      "method": "POST",
      "path": "/api/auth/login",
      "description": "Xác thực user qua PostgreSQL và trả về access_token cùng thông tin role."
    },
    {
      "method": "GET",
      "path": "/api/auth/me",
      "description": "Lấy profile và cài đặt (settings như codex_token, openai_key) của user hiện tại từ cơ sở dữ liệu."
    },
    {
      "method": "POST",
      "path": "/api/auth/refresh",
      "description": "Cấp mới một token cho user đang đăng nhập hợp lệ."
    },
    {
      "method": "PUT",
      "path": "/api/auth/me/settings",
      "description": "Lưu các cấu hình bí mật của user vào trường JSONB trong admin_users."
    },
    {
      "method": "GET",
      "path": "/api/auth/users",
      "description": "[Admin] Lấy danh sách toàn bộ users trong hệ thống."
    },
    {
      "method": "POST",
      "path": "/api/auth/users",
      "description": "[Admin] Tạo tài khoản mới với role (admin, editor, viewer)."
    },
    {
      "method": "PUT",
      "path": "/api/auth/users/{user_id}",
      "description": "[Admin] Cập nhật thông tin role hoặc đổi mật khẩu user."
    },
    {
      "method": "DELETE",
      "path": "/api/auth/users/{user_id}",
      "description": "[Admin] Xóa một user khỏi hệ thống."
    },
    {
      "method": "GET",
      "path": "/api/auth/stats",
      "description": "[Admin] Thống kê số lượng user và lượng tin nhắn chat."
    },
    {
      "method": "POST",
      "path": "/api/auth/register",
      "description": "Tạo admin đầu tiên (chỉ chạy khi database chưa có user nào)."
    }
  ]
}