From 1dba7059fe78c3c4acc7e64d822c1bbfbac53cdc Mon Sep 17 00:00:00 2001 From: Felix Angelov Date: Thu, 6 Apr 2023 14:13:37 -0500 Subject: [PATCH] feat(code_push_protocol): add `hasActiveSubscription` to `User` (#246) --- .../shorebird_code_push_protocol/lib/src/models/user.dart | 5 ++++- .../shorebird_code_push_protocol/lib/src/models/user.g.dart | 4 ++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/shorebird_code_push_protocol/lib/src/models/user.dart b/packages/shorebird_code_push_protocol/lib/src/models/user.dart index a6a0c4f9..7b81ee95 100644 --- a/packages/shorebird_code_push_protocol/lib/src/models/user.dart +++ b/packages/shorebird_code_push_protocol/lib/src/models/user.dart @@ -8,7 +8,7 @@ part 'user.g.dart'; @JsonSerializable() class User { /// {@macro user} - const User({required this.id}); + const User({required this.id, this.hasActiveSubscription = false}); /// Converts a Map to a [User] factory User.fromJson(Map json) => _$UserFromJson(json); @@ -18,4 +18,7 @@ class User { /// The unique user identifier. final int id; + + /// Whether the user is currently a paying customer. + final bool hasActiveSubscription; } diff --git a/packages/shorebird_code_push_protocol/lib/src/models/user.g.dart b/packages/shorebird_code_push_protocol/lib/src/models/user.g.dart index 46c852fc..c33baa78 100644 --- a/packages/shorebird_code_push_protocol/lib/src/models/user.g.dart +++ b/packages/shorebird_code_push_protocol/lib/src/models/user.g.dart @@ -14,11 +14,15 @@ User _$UserFromJson(Map json) => $checkedCreate( ($checkedConvert) { final val = User( id: $checkedConvert('id', (v) => v as int), + hasActiveSubscription: $checkedConvert( + 'has_active_subscription', (v) => v as bool? ?? false), ); return val; }, + fieldKeyMap: const {'hasActiveSubscription': 'has_active_subscription'}, ); Map _$UserToJson(User instance) => { 'id': instance.id, + 'has_active_subscription': instance.hasActiveSubscription, };