Display list of topics by array of topics ids

Мне тоже нужна эта функциональность. Сейчас я делаю это вот так, но это занимает слишком много времени.

    const selectedTopics = this.selectedTopics
     // Получаем темы по ID и возвращаем реальные объекты тем
     this.selectedTopicsID.forEach(function(tid,index){
       Topic.find(tid,{}).then(results => {
         selectedTopics.pushObject(results)
       })
     });

Я собирался переоткрыть listcontroller в моем плагине (plugin.rb), добавить новый endpoint, а также переоткрыть topic-list в инициализаторе фронтенда и сделать что-то похожее на это:

https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/models/topic-list.js.es6#L129
Но surely должен быть более простой способ. Действительно ли пока нет endpoint для массовой загрузки тем по ID?
Буду очень благодарен за любую помощь :smiley:
РЕДАКТИРОВАНИЕ: Вот как я решил эту проблему для себя:

Вот как этим можно воспользоваться.

import TopicList from 'discourse/models/topic-list';
    const selectedTopics = this.selectedTopics
    // Получаем темы по ID
    TopicList.topics_array(this.selectedTopicsID).then(results => selectedTopics.pushObjects(results.topic_list.topics))

Пока что у этого подхода есть недостаток: он не возвращает «реальные» объекты Topic, но, думаю, добавление строки, подобной этой, исправит ситуацию:

Я всё ещё не уверен, что это правильный подход и/или не нарушает ли это безопасность.
Ещё один возможный вариант: сначала проверить в store, есть ли уже запись, и загрузить только то, чего нет, используя fromMap. Похоже на:

В любом случае, здесь становится слишком многословно :smiley:
Вот моё окончательное решение, на этом я остановлюсь: