Exibir lista de tópicos por array de IDs de tópicos

In our company we use discourse for everyday business.
Discourse is deeply integrated in our erp software.
For better organization of topics,our erp holds many kind of topics ids and posts ids.
In some parts of our app we want to show user list of specific topics in discource. (filtered by our citiera).
In our app there is form which users fills and our app has array of filtered topics.

Is there a way to send query string or formdata to discource endpoint among with array of wanted topics ids and to get list of topics in discource. (ideally with predefined order or ordered as array was)

Same needs we have for getting specific lists of posts by providing array of topics ids.

Eu também preciso dessa funcionalidade. No momento, estou fazendo assim, mas isso leva muito tempo.

    const selectedTopics = this.selectedTopics
     // consome tópicos como IDs e devolve tópicos reais
     this.selectedTopicsID.forEach(function(tid,index){
       Topic.find(tid,{}).then(results => {
         selectedTopics.pushObject(results)
       })
     });

Estou prestes a reabrir o listcontroller no meu plugin.rb e adicionar um novo endpoint, além de reabrir o topic-list no inicializador do frontend e fazer algo semelhante a isso:

https://github.com/discourse/discourse/blob/master/app/assets/javascripts/discourse/models/topic-list.js.es6#L129
Mas deve haver uma maneira mais fácil de fazer isso. Será que realmente não existe ainda um endpoint para buscar tópicos em massa por ID?
Ficaria muito grato por alguma ajuda :smiley:
EDIT: É assim que resolvi esse problema para mim:

É assim que pode ser usado.

import TopicList from 'discourse/models/topic-list';
    const selectedTopics = this.selectedTopics
    // consome tópicos como IDs
    TopicList.topics_array(this.selectedTopicsID).then(results => selectedTopics.pushObjects(results.topic_list.topics))

No momento, isso ainda tem a desvantagem de não retornar objetos “reais” de Topic, mas acho que adicionar uma linha como esta vai resolver:

Ainda não tenho certeza se essa é a maneira correta de fazer isso e/ou se isso quebra a segurança.
Outra coisa que poderia ser feita: primeiro verificar no store se o registro já está lá e depois carregar apenas o que não está, usando fromMap. Algo semelhante a:

De qualquer forma, isso está ficando muito verboso aqui :smiley:
Essa é minha solução final; vou encerrar por hoje: