38 lines
1020 B
Dart
38 lines
1020 B
Dart
class Channel {
|
|
final int id;
|
|
final String name;
|
|
final String? description;
|
|
final String? photoBaseUrl;
|
|
final String? link;
|
|
final String? webApp;
|
|
final List<String> options;
|
|
final int updateTime;
|
|
|
|
Channel({
|
|
required this.id,
|
|
required this.name,
|
|
this.description,
|
|
this.photoBaseUrl,
|
|
this.link,
|
|
this.webApp,
|
|
required this.options,
|
|
required this.updateTime,
|
|
});
|
|
|
|
factory Channel.fromJson(Map<String, dynamic> json) {
|
|
final names = json['names'] as List<dynamic>?;
|
|
final nameData = names?.isNotEmpty == true ? names![0] : null;
|
|
|
|
return Channel(
|
|
id: json['id'] as int,
|
|
name: nameData?['name'] as String? ?? 'Неизвестный канал',
|
|
description: nameData?['description'] as String?,
|
|
photoBaseUrl: json['baseUrl'] as String?,
|
|
link: json['link'] as String?,
|
|
webApp: json['webApp'] as String?,
|
|
options: List<String>.from(json['options'] ?? []),
|
|
updateTime: json['updateTime'] as int? ?? 0,
|
|
);
|
|
}
|
|
}
|