getConversationStats method

Future<ConversationStats> getConversationStats()

Gets statistics about active conversations.

Implementation

Future<ConversationStats> getConversationStats() async {
  final allKeys = await storage.getAllKeys();
  int active = 0;
  int expired = 0;
  int waiting = 0;

  for (final key in allKeys) {
    final state = await storage.get(key);
    if (state != null) {
      if (_isConversationExpired(state)) {
        expired++;
      } else if (state.isActive) {
        active++;
        if (_waitingConversations.containsKey(key)) {
          waiting++;
        }
      }
    }
  }

  return ConversationStats(
    totalConversations: allKeys.length,
    activeConversations: active,
    expiredConversations: expired,
    waitingConversations: waiting,
  );
}