Кэширование ID пользователей из чатов (на 24 часа)

This commit is contained in:
needle10
2025-11-22 21:38:48 +03:00
parent bf995d8358
commit 321720cd0a
15 changed files with 669 additions and 238 deletions

View File

@@ -22,10 +22,11 @@ class Channel {
factory Channel.fromJson(Map<String, dynamic> json) {
final names = json['names'] as List<dynamic>?;
final nameData = names?.isNotEmpty == true ? names![0] : null;
final channelId = json['id'] as int;
return Channel(
id: json['id'] as int,
name: nameData?['name'] as String? ?? 'Неизвестный канал',
id: channelId,
name: nameData?['name'] as String? ?? 'ID $channelId',
description: nameData?['description'] as String?,
photoBaseUrl: json['baseUrl'] as String?,
link: json['link'] as String?,

View File

@@ -31,10 +31,11 @@ class Contact {
factory Contact.fromJson(Map<String, dynamic> json) {
final nameData = json['names']?[0];
final userId = json['id'] as int;
String finalFirstName = '';
String finalLastName = '';
String finalName = 'Unknown';
String finalName = 'ID $userId';
if (nameData != null) {
finalFirstName = nameData['firstName'] ?? '';
@@ -42,10 +43,9 @@ class Contact {
final fullName = '$finalFirstName $finalLastName'.trim();
finalName = fullName.isNotEmpty
? fullName
: (nameData['name'] ?? 'Unknown');
: (nameData['name'] ?? 'ID $userId');
}
final status = json['status'];
final isBlocked = status == 'BLOCKED';