Can I get findFilteredTopics to get Pms?

I’m interested in doing something like GitHub - nolosb/discourse-featured-lists: A Discourse theme component to feature custom topic lists. that makes Pms display on some other pages (like latest).

The idea is that group PMs can be hard to find, so if I could get, say, unread group pms to display on /unread then that would be really cool.

Pretending for a minute that I can figure out how to get them to display, what I need is to get the data so that I can display it.

Can I do something like this:

    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,
      },
    });

but make the params get, say, the group PMs for staff or team or whatever?

3 Likes

Well, it looks like I can sort-of do it like this:

    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"
      },
    });

that will give me my messages that have “upgraded” in them.

But I still can’t figure out how to get, say, unread messages, new messages, all messages, messages sent to a group.

Sigh. But it’s not a topic_list.

2 Likes

But wait!!! I found the right filter over in

    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 Likes