diff --git a/lib/models/user.dart b/lib/models/user.dart new file mode 100644 index 00000000..ccc6147a --- /dev/null +++ b/lib/models/user.dart @@ -0,0 +1,23 @@ +import 'package:json_annotation/json_annotation.dart'; + +part 'user.g.dart'; + +// Twitch (default) user +@JsonSerializable(createToJson: false, fieldRename: FieldRename.snake) +class UserTwitch { + final String id; + final String login; + final String displayName; + final String type; + final String broadcasterType; + final String description; + final String profileImageUrl; + final String offlineImageUrl; + final String viewCount; + final String createdAt; + + UserTwitch(this.id, this.login, this.displayName, this.type, this.broadcasterType, this.description, this.profileImageUrl, this.offlineImageUrl, + this.viewCount, this.createdAt); + + factory UserTwitch.fromJson(Map json) => _$UserTwitchFromJson(json); +} diff --git a/lib/models/user.g.dart b/lib/models/user.g.dart new file mode 100644 index 00000000..14eb6fd8 --- /dev/null +++ b/lib/models/user.g.dart @@ -0,0 +1,22 @@ +// GENERATED CODE - DO NOT MODIFY BY HAND + +part of 'user.dart'; + +// ************************************************************************** +// JsonSerializableGenerator +// ************************************************************************** + +UserTwitch _$UserTwitchFromJson(Map json) { + return UserTwitch( + json['id'] as String, + json['login'] as String, + json['display_name'] as String, + json['type'] as String, + json['broadcaster_type'] as String, + json['description'] as String, + json['profile_image_url'] as String, + json['offline_image_url'] as String, + json['view_count'] as String, + json['created_at'] as String, + ); +}