pfaffman
(Jay Pfaffman)
27.Ноябрь.2024 21:59:25
1
Меня интересует реализация функционала, аналогичного GitHub - nolosb/discourse-featured-lists: A Discourse theme component to feature custom topic lists. · GitHub , который позволяет отображать личные сообщения (ЛС) на других страницах (например, на странице «Последние»).
Идея в том, что групповые ЛС бывает трудно найти, поэтому было бы здорово, если бы, например, непрочитанные групповые ЛС отображались на странице /unread.
Предположим на минуту, что я смогу разобраться, как их отобразить, мне нужно получить данные для их показа.
Могу ли я сделать что-то вроде этого:
const topicList = await this.store.findFiltered('topicList', {
filter: this.args.list.filter,
params: {
category: this.args.list.category,
tags: this.args.list.tag,
solved: solvedFilter,
},
});
но настроить параметры так, чтобы они, например, получали групповые ЛС для сотрудников, команды или чего-то подобного?
pfaffman
(Jay Pfaffman)
29.Ноябрь.2024 15:13:52
2
Что ж, похоже, я могу отчасти сделать это так:
const topicList = await this.store.findFiltered('topicList', {
filter: this.args.list.filter,
// filter: "search",
params: {
// category: this.args.list.category,
// tags: this.args.list.tag,
// solved: solvedFilter,
q: "upgraded in:messages"
},
});
Это даст мне сообщения, в которых есть слово «upgraded».
Но я всё ещё не могу понять, как получить, скажем, непрочитанные сообщения, новые сообщения, все сообщения или сообщения, отправленные в группу.
Вздох. Но это не список тем.
pfaffman
(Jay Pfaffman)
29.Ноябрь.2024 16:28:15
3
Но подождите!!! Я нашел правильный фильтр здесь:
https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/routes/build-private-messages-group-route.js#L33
let topicListFilter = `topics/private-messages-group/${this.currentUser.username}/${groupName}`;
console.log("рассмотрите список тем", topicListFilter);
const topicList = await this.store.findFiltered('topicList', {
filter: topicListFilter,
params: { },
});