pfaffman
(Jay Pfaffman)
Novembro 27, 2024, 9:59pm
1
Estou interessado em fazer algo como GitHub - nolosb/discourse-featured-lists: A Discourse theme component to feature custom topic lists. que exibe Mensagens Privadas (PMs) em outras páginas (como a mais recente).
A ideia é que as PMs de grupo podem ser difíceis de encontrar, então se eu pudesse fazer com que, digamos, as PMs de grupo não lidas fossem exibidas em /unread, isso seria muito legal.
Fingindo por um minuto que consigo descobrir como exibi-las, o que preciso é obter os dados para poder exibi-los.
Posso fazer algo como isto:
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,
},
});
mas fazer com que os parâmetros obtenham, digamos, as PMs de grupo para a equipe ou time, ou qualquer outra coisa?
3 curtidas
pfaffman
(Jay Pfaffman)
Novembro 29, 2024, 3:13pm
2
Bem, parece que consigo fazer algo assim:
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"
},
});
isso me dará minhas mensagens que contêm “upgraded”.
Mas ainda não consigo descobrir como obter, digamos, mensagens não lidas, novas mensagens, todas as mensagens, mensagens enviadas para um grupo.
Suspiro. Mas não é uma topic_list.
2 curtidas
pfaffman
(Jay Pfaffman)
Novembro 29, 2024, 4:28pm
3
Mas espere!!! Encontrei o filtro certo em
}
return [title, i18n(`user.private_messages`)];
}
}
async model(params = {}) {
const username = this.modelFor("user").get("username_lower");
const groupName = this.modelFor("userPrivateMessages.group").name;
let topicListFilter = `topics/private-messages-group/${username}/${groupName}`;
if (filter !== "inbox") {
topicListFilter = `${topicListFilter}/${filter}`;
}
const lastTopicList = findOrResetCachedTopicList(
this.session,
topicListFilter
);
let topicListFilter = `topics/private-messages-group/${this.currentUser.username}/${groupName}`;
console.log("consider the topic list", topicListFilter);
const topicList = await this.store.findFiltered('topicList', {
filter: topicListFilter,
params: { },
});
2 curtidas