Recherche de plusieurs appareils
📡 POST /devices/lookup
POST /devices/lookupPermet de récupérer plusieurs appareils à partir de leurs identifiants en une seule requête. Cette route est utile pour obtenir en batch les informations de plusieurs casques Pulse ou terminaux Android déjà enregistrés dans la base de données.
🧭 Endpoint
POST /devices/lookup
Content-Type: application/json🧱 Description
Cette route accepte une liste d’identifiants (ids) et renvoie tous les appareils correspondants.
Les identifiants invalides ou introuvables sont signalés séparément dans la réponse, mais ne bloquent pas la requête, sauf si le mode strict est activé.
🧩 Body JSON
ids
string[]
✅ Oui
Tableau des identifiants MongoDB des appareils à récupérer.
projection
string[]
❌ Non
Liste optionnelle des champs à inclure dans la réponse (ex. ["name", "brand"]). Si non fourni, tous les champs sont renvoyés.
strict
boolean
❌ Non
Si true, renvoie une erreur 404 si un ou plusieurs IDs sont invalides ou manquants. Par défaut false.
🧠 Règles de validation
idsdoit être un tableau non vide.Maximum 1000 IDs par requête.
Chaque
iddoit être un identifiant MongoDB valide (24 caractères hexadécimaux).Si
strictesttrue, la requête échoue si un seul ID est invalide ou introuvable.
🧾 Exemple de requête
🧩 Exemple de réponse (succès)
🚫 Exemple de réponse (mode strict activé)
📎 Code HTTP : 404 Not Found
📦 Exemple de réponse (erreur serveur)
📎 Code HTTP : 500 Internal Server Error
🧮 Champs de la réponse (succès)
requested
number
Nombre total d’IDs envoyés dans la requête.
returned
number
Nombre d’appareils effectivement trouvés.
invalidIds
string[]
Liste des identifiants invalides (non conformes à un ObjectId MongoDB).
notFoundIds
string[]
Liste des identifiants valides mais non trouvés dans la base.
results
Device[]
Liste des objets Device trouvés (structure dépend du modèle Device).
🧱 Structure type d’un objet Device
Device(Les champs exacts peuvent varier selon ton modèle Mongoose)
🧰 Notes techniques
⚙️ Méthode HTTP :
POST📦 Consommation : JSON
🕒 Latence moyenne : dépend du nombre d’IDs (≈ 10 ms / 100 IDs)
🔒 Authentification : Requiert un token valide (selon ton middleware
auth).💾 Optimisation MongoDB : Utilise un
$inunique avec projection optionnelle et.lean()pour des performances optimales.
🧭 Exemples d’usages côté client
En JavaScript (Fetch API)
Mis à jour