const express = require('express');
const router = express.Router();
const { MongoClient, ObjectId } = require('mongodb');
require('dotenv').config();

const uri = process.env.MONGO_URI;
const client = new MongoClient(uri);

// Obtener todos los atletas
router.get('/athletes', async (req, res) => {
  try {
    await client.connect();
    const db = client.db('swimartdb');
    const athletes = await db.collection('users')
      .find({ role: 'athlete' })
      .project({ _id: 1, name: 1, idPersonalizado: 1 }) 
      .toArray();

    res.json(athletes);
  } catch (err) {
    console.error('Error al obtener atletas:', err);
    res.status(500).json({ error: 'Error interno del servidor' });
  }
});

// Obtener usuario por ID
router.get('/:id', async (req, res) => {
  try {
    await client.connect();
    const db = client.db('swimartdb');
    const user = await db.collection('users')
      .findOne(
        { _id: new ObjectId(req.params.id) },
        { projection: { name: 1, email: 1, role: 1, language: 1 } } // ← aquí se añade
      );

    if (!user) {
      return res.status(404).json({ error: 'Usuario no encontrado' });
    }

    res.json(user);
  } catch (error) {
    console.error('Error al obtener usuario:', error);
    res.status(500).json({ error: 'Error al obtener usuario', details: error });
  }
});

module.exports = router;
