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.
Я работаю над одной из ошибок, связанных с плагином событий, где текущая реализация полагалась на имена пользователей. Хотя это частный случай, имена пользователей могут изменяться, что создаёт необходимость получать пользователя по его id.
Кажется, в ядре должен быть аналогичный метод для поиска пользователя по id.
Интересно узнать ваше мнение по этому поводу.
Ваш плагин должен либо обновлять ссылки на имена пользователей при их изменении, либо добавлять необходимые маршруты и сериализаторы для получения данных.
Я проверю, возможно ли это реализовать в текущей ситуации.
Да. Мне нужно будет добавить метод в UsersController для поиска пользователя по ID и добавить метод в модели User на стороне Ember для вызова этого нового метода контроллера.