Obtenir un objet utilisateur par nom d'utilisateur ou ID en JavaScript

Is there any way to get a user object by username or id via javascript?

It is difficult to answer without some more context. You can always do this: (try it in the dev tools for Meta)

Discourse.User.findByUsername("David_Taylor").then(function(user){
   console.log("User Found", user);
});

But that will result in an additional request to the server, which may not be necessary.

What are you trying to achieve?

Thanks very much. I am trying to get a list of usersnames with certain custom field attributes. As you correctly pointed out, it will result in many additional calls from the API.

Is it possible to achieve what I intend more gracefully?

If this is just for administrators, you might be able to utilise the data-explorer plugin. If you wanted this to work for all users, you would probably need to create a plugin which adds a new HTTP endpoint.

Je travaille sur un bug lié au plugin des événements où l’implémentation actuelle repose sur les noms d’utilisateurs. Même s’il s’agit d’un cas limite, les noms d’utilisateurs peuvent changer, ce qui crée le besoin de pouvoir récupérer un utilisateur par son id.

Je pense qu’il devrait exister une méthode similaire dans le cœur du système pour trouver un utilisateur par son id.

J’aimerais connaître votre avis à ce sujet.

Votre plugin doit pouvoir soit mettre à jour les références de nom d’utilisateur lorsqu’un nom d’utilisateur change, soit ajouter les routes et les sérialiseurs nécessaires pour récupérer les données.

Je vais vérifier s’il est possible de le faire dans le scénario actuel.

Oui. Je devrai ajouter une méthode à UsersController pour trouver un utilisateur par son ID et ajouter une méthode dans le modèle User côté Ember pour appeler cette nouvelle méthode de contrôleur.