list method

Channels this account owns, administers or follows.

Implementation

Future<List<WhatsappChatSummary>> list() async {
  final result = await wpClient.evaluateJs(
    '''(async function() {
      var chats = await window.WPP.chat.list({onlyNewsletter: true});
      return chats.map(function(c) {
        var meta = c.newsletterMetadata || {};
        var role = meta.membershipType || c.membershipType || c.role || null;
        var count = meta.subscribersCount != null ? meta.subscribersCount : (c.subscribersCount != null ? c.subscribersCount : null);
        return {
          id: c.id && c.id._serialized ? c.id._serialized : String(c.id),
          name: c.name || meta.name || c.formattedTitle || '',
          role: role ? String(role).toLowerCase() : null,
          memberCount: count
        };
      });
    })()''',
    methodName: "newsletterList",
  );
  return WhatsappChatSummary.parseList(result);
}