cake_wallet/lib/twitter/twitter_user.dart

47 lines
1.2 KiB
Dart
Raw Normal View History

2023-01-24 18:24:46 +00:00
class TwitterUser {
2023-02-13 22:23:57 +00:00
TwitterUser(
{required this.id,
required this.username,
required this.name,
required this.description,
required this.profileImageUrl,
this.pinnedTweet});
2023-02-13 22:23:57 +00:00
final String id;
final String username;
final String name;
final String description;
final String profileImageUrl;
final Tweet? pinnedTweet;
2023-02-13 22:23:57 +00:00
factory TwitterUser.fromJson(Map<String, dynamic> json, [Tweet? pinnedTweet]) {
final profileImageUrl = json['data']['profile_image_url'] as String? ?? '';
final scaledProfileImageUrl = profileImageUrl.replaceFirst('normal', '200x200');
2023-02-13 22:23:57 +00:00
return TwitterUser(
id: json['data']['id'] as String,
username: json['data']['username'] as String? ?? '',
2023-02-13 22:23:57 +00:00
name: json['data']['name'] as String,
description: json['data']['description'] as String? ?? '',
profileImageUrl: scaledProfileImageUrl,
pinnedTweet: pinnedTweet,
2023-02-13 22:23:57 +00:00
);
2023-02-12 22:38:12 +00:00
}
}
2023-02-13 22:23:57 +00:00
class Tweet {
Tweet({
2023-02-12 22:38:12 +00:00
required this.id,
required this.text,
});
2023-02-13 22:23:57 +00:00
final String id;
final String text;
2023-02-12 22:38:12 +00:00
2023-02-13 22:23:57 +00:00
factory Tweet.fromJson(Map<String, dynamic> json) {
return Tweet(
id: json['id'] as String,
text: json['text'] as String,
);
2023-01-24 18:24:46 +00:00
}
}