inboxFetchUnreadCount method

  1. @override
Future<int> inboxFetchUnreadCount()
override

Implementation

@override
Future<int> inboxFetchUnreadCount() async {
  final userId = await _getProfileId();
  if (userId == null) throw Exception('userId not set — call setProfileId first');

  final url = '${_getInboxUrl('unread-count')}?userId=${Uri.encodeComponent(userId)}';
  final response = await http.get(Uri.parse(url), headers: _inboxHeaders());
  if (response.statusCode != 200) {
    throw Exception('Unread count API error: ${response.statusCode} - ${response.body}');
  }
  final data = jsonDecode(utf8.decode(response.bodyBytes)) as Map<String, dynamic>;
  return data['count'] as int? ?? 0;
}