diff --git a/lib/models/store_transaction.dart b/lib/models/store_transaction.dart index 72c9ec91a..97c23fd3e 100644 --- a/lib/models/store_transaction.dart +++ b/lib/models/store_transaction.dart @@ -11,8 +11,10 @@ class StoreTransaction with _$StoreTransaction { /// Experimental. This factory method is subject to changes without /// a major release. const factory StoreTransaction.create( - /// RevenueCat Id associated to the transaction. - String transactionIdentifier, + /// RevenueCat Id associated to the transaction, always null for Amazon. + // ignore: invalid_annotation_target + @JsonKey(readValue: _readRevenueCatIdentifier) + String? orderId, /// Deprecated: Use transactionIdentifier instead. @Deprecated('Use transactionIdentifier instead.') @@ -25,11 +27,17 @@ class StoreTransaction with _$StoreTransaction { /// Purchase date of the transaction in ISO 8601 format. String purchaseDate, + { + /// Deprecated: Use transactionIdentifier instead. + @Deprecated('Use orderId instead.') + /// RevenueCat Id associated to the transaction. + @Default('') String transactionIdentifier, + } ) = _StoreTransaction; @Deprecated('Constructor has become experimental. Keeping old constructor ' 'for backwards compatibility.') - factory StoreTransaction( + factory StoreTransaction.deprecated( /// Deprecated: Use transactionIdentifier instead. @Deprecated('Use transactionIdentifier instead.') String revenueCatIdentifier, @@ -47,6 +55,31 @@ class StoreTransaction with _$StoreTransaction { purchaseDate, ); + @Deprecated('Constructor has become experimental. Keeping old constructor ' + 'for backwards compatibility.') + factory StoreTransaction( + /// Deprecated: Use transactionIdentifier instead. + @Deprecated('Use transactionIdentifier instead.') + String transactionIdentifier, + + /// Deprecated: Use transactionIdentifier instead. + @Deprecated('Use transactionIdentifier instead.') + String revenueCatIdentifier, + + /// Product Id associated with the transaction. + String productIdentifier, + + /// Purchase date of the transaction in ISO 8601 format. + String purchaseDate, + ) => + StoreTransaction.create( + revenueCatIdentifier, + revenueCatIdentifier, + revenueCatIdentifier, + productIdentifier, + purchaseDate, + ); + factory StoreTransaction.fromJson(Map json) => _$StoreTransactionFromJson(json); } diff --git a/lib/models/store_transaction.freezed.dart b/lib/models/store_transaction.freezed.dart index cb954583a..6bbf1257e 100644 --- a/lib/models/store_transaction.freezed.dart +++ b/lib/models/store_transaction.freezed.dart @@ -20,8 +20,9 @@ StoreTransaction _$StoreTransactionFromJson(Map json) { /// @nodoc mixin _$StoreTransaction { - /// RevenueCat Id associated to the transaction. - String get transactionIdentifier => throw _privateConstructorUsedError; + /// RevenueCat Id associated to the transaction, always null for Amazon. + @JsonKey(readValue: _readRevenueCatIdentifier) + String? get orderId => throw _privateConstructorUsedError; /// Deprecated: Use transactionIdentifier instead. @Deprecated('Use transactionIdentifier instead.') @@ -33,39 +34,46 @@ mixin _$StoreTransaction { /// Purchase date of the transaction in ISO 8601 format. String get purchaseDate => throw _privateConstructorUsedError; + + /// Deprecated: Use transactionIdentifier instead. + @Deprecated('Use orderId instead.') + String get transactionIdentifier => throw _privateConstructorUsedError; @optionalTypeArgs TResult when({ required TResult Function( - String transactionIdentifier, + @JsonKey(readValue: _readRevenueCatIdentifier) String? orderId, @Deprecated('Use transactionIdentifier instead.') @JsonKey(readValue: _readRevenueCatIdentifier) String revenueCatIdentifier, String productIdentifier, - String purchaseDate) + String purchaseDate, + @Deprecated('Use orderId instead.') String transactionIdentifier) create, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult? whenOrNull({ TResult? Function( - String transactionIdentifier, + @JsonKey(readValue: _readRevenueCatIdentifier) String? orderId, @Deprecated('Use transactionIdentifier instead.') @JsonKey(readValue: _readRevenueCatIdentifier) String revenueCatIdentifier, String productIdentifier, - String purchaseDate)? + String purchaseDate, + @Deprecated('Use orderId instead.') String transactionIdentifier)? create, }) => throw _privateConstructorUsedError; @optionalTypeArgs TResult maybeWhen({ TResult Function( - String transactionIdentifier, + @JsonKey(readValue: _readRevenueCatIdentifier) String? orderId, @Deprecated('Use transactionIdentifier instead.') @JsonKey(readValue: _readRevenueCatIdentifier) String revenueCatIdentifier, String productIdentifier, - String purchaseDate)? + String purchaseDate, + @Deprecated('Use orderId instead.') String transactionIdentifier)? create, required TResult orElse(), }) => @@ -99,12 +107,13 @@ abstract class $StoreTransactionCopyWith<$Res> { _$StoreTransactionCopyWithImpl<$Res, StoreTransaction>; @useResult $Res call( - {String transactionIdentifier, + {@JsonKey(readValue: _readRevenueCatIdentifier) String? orderId, @Deprecated('Use transactionIdentifier instead.') @JsonKey(readValue: _readRevenueCatIdentifier) String revenueCatIdentifier, String productIdentifier, - String purchaseDate}); + String purchaseDate, + @Deprecated('Use orderId instead.') String transactionIdentifier}); } /// @nodoc @@ -120,16 +129,17 @@ class _$StoreTransactionCopyWithImpl<$Res, $Val extends StoreTransaction> @pragma('vm:prefer-inline') @override $Res call({ - Object? transactionIdentifier = null, + Object? orderId = freezed, Object? revenueCatIdentifier = null, Object? productIdentifier = null, Object? purchaseDate = null, + Object? transactionIdentifier = null, }) { return _then(_value.copyWith( - transactionIdentifier: null == transactionIdentifier - ? _value.transactionIdentifier - : transactionIdentifier // ignore: cast_nullable_to_non_nullable - as String, + orderId: freezed == orderId + ? _value.orderId + : orderId // ignore: cast_nullable_to_non_nullable + as String?, revenueCatIdentifier: null == revenueCatIdentifier ? _value.revenueCatIdentifier : revenueCatIdentifier // ignore: cast_nullable_to_non_nullable @@ -142,6 +152,10 @@ class _$StoreTransactionCopyWithImpl<$Res, $Val extends StoreTransaction> ? _value.purchaseDate : purchaseDate // ignore: cast_nullable_to_non_nullable as String, + transactionIdentifier: null == transactionIdentifier + ? _value.transactionIdentifier + : transactionIdentifier // ignore: cast_nullable_to_non_nullable + as String, ) as $Val); } } @@ -155,12 +169,13 @@ abstract class _$$StoreTransactionImplCopyWith<$Res> @override @useResult $Res call( - {String transactionIdentifier, + {@JsonKey(readValue: _readRevenueCatIdentifier) String? orderId, @Deprecated('Use transactionIdentifier instead.') @JsonKey(readValue: _readRevenueCatIdentifier) String revenueCatIdentifier, String productIdentifier, - String purchaseDate}); + String purchaseDate, + @Deprecated('Use orderId instead.') String transactionIdentifier}); } /// @nodoc @@ -174,16 +189,17 @@ class __$$StoreTransactionImplCopyWithImpl<$Res> @pragma('vm:prefer-inline') @override $Res call({ - Object? transactionIdentifier = null, + Object? orderId = freezed, Object? revenueCatIdentifier = null, Object? productIdentifier = null, Object? purchaseDate = null, + Object? transactionIdentifier = null, }) { return _then(_$StoreTransactionImpl( - null == transactionIdentifier - ? _value.transactionIdentifier - : transactionIdentifier // ignore: cast_nullable_to_non_nullable - as String, + freezed == orderId + ? _value.orderId + : orderId // ignore: cast_nullable_to_non_nullable + as String?, null == revenueCatIdentifier ? _value.revenueCatIdentifier : revenueCatIdentifier // ignore: cast_nullable_to_non_nullable @@ -196,6 +212,10 @@ class __$$StoreTransactionImplCopyWithImpl<$Res> ? _value.purchaseDate : purchaseDate // ignore: cast_nullable_to_non_nullable as String, + transactionIdentifier: null == transactionIdentifier + ? _value.transactionIdentifier + : transactionIdentifier // ignore: cast_nullable_to_non_nullable + as String, )); } } @@ -204,19 +224,21 @@ class __$$StoreTransactionImplCopyWithImpl<$Res> @JsonSerializable() class _$StoreTransactionImpl implements _StoreTransaction { const _$StoreTransactionImpl( - this.transactionIdentifier, + @JsonKey(readValue: _readRevenueCatIdentifier) this.orderId, @Deprecated('Use transactionIdentifier instead.') @JsonKey(readValue: _readRevenueCatIdentifier) this.revenueCatIdentifier, this.productIdentifier, - this.purchaseDate); + this.purchaseDate, + {@Deprecated('Use orderId instead.') this.transactionIdentifier = ''}); factory _$StoreTransactionImpl.fromJson(Map json) => _$$StoreTransactionImplFromJson(json); - /// RevenueCat Id associated to the transaction. + /// RevenueCat Id associated to the transaction, always null for Amazon. @override - final String transactionIdentifier; + @JsonKey(readValue: _readRevenueCatIdentifier) + final String? orderId; /// Deprecated: Use transactionIdentifier instead. @override @@ -232,9 +254,15 @@ class _$StoreTransactionImpl implements _StoreTransaction { @override final String purchaseDate; + /// Deprecated: Use transactionIdentifier instead. + @override + @JsonKey() + @Deprecated('Use orderId instead.') + final String transactionIdentifier; + @override String toString() { - return 'StoreTransaction.create(transactionIdentifier: $transactionIdentifier, revenueCatIdentifier: $revenueCatIdentifier, productIdentifier: $productIdentifier, purchaseDate: $purchaseDate)'; + return 'StoreTransaction.create(orderId: $orderId, revenueCatIdentifier: $revenueCatIdentifier, productIdentifier: $productIdentifier, purchaseDate: $purchaseDate, transactionIdentifier: $transactionIdentifier)'; } @override @@ -242,20 +270,21 @@ class _$StoreTransactionImpl implements _StoreTransaction { return identical(this, other) || (other.runtimeType == runtimeType && other is _$StoreTransactionImpl && - (identical(other.transactionIdentifier, transactionIdentifier) || - other.transactionIdentifier == transactionIdentifier) && + (identical(other.orderId, orderId) || other.orderId == orderId) && (identical(other.revenueCatIdentifier, revenueCatIdentifier) || other.revenueCatIdentifier == revenueCatIdentifier) && (identical(other.productIdentifier, productIdentifier) || other.productIdentifier == productIdentifier) && (identical(other.purchaseDate, purchaseDate) || - other.purchaseDate == purchaseDate)); + other.purchaseDate == purchaseDate) && + (identical(other.transactionIdentifier, transactionIdentifier) || + other.transactionIdentifier == transactionIdentifier)); } @JsonKey(ignore: true) @override - int get hashCode => Object.hash(runtimeType, transactionIdentifier, - revenueCatIdentifier, productIdentifier, purchaseDate); + int get hashCode => Object.hash(runtimeType, orderId, revenueCatIdentifier, + productIdentifier, purchaseDate, transactionIdentifier); @JsonKey(ignore: true) @override @@ -268,50 +297,53 @@ class _$StoreTransactionImpl implements _StoreTransaction { @optionalTypeArgs TResult when({ required TResult Function( - String transactionIdentifier, + @JsonKey(readValue: _readRevenueCatIdentifier) String? orderId, @Deprecated('Use transactionIdentifier instead.') @JsonKey(readValue: _readRevenueCatIdentifier) String revenueCatIdentifier, String productIdentifier, - String purchaseDate) + String purchaseDate, + @Deprecated('Use orderId instead.') String transactionIdentifier) create, }) { - return create(transactionIdentifier, revenueCatIdentifier, - productIdentifier, purchaseDate); + return create(orderId, revenueCatIdentifier, productIdentifier, + purchaseDate, transactionIdentifier); } @override @optionalTypeArgs TResult? whenOrNull({ TResult? Function( - String transactionIdentifier, + @JsonKey(readValue: _readRevenueCatIdentifier) String? orderId, @Deprecated('Use transactionIdentifier instead.') @JsonKey(readValue: _readRevenueCatIdentifier) String revenueCatIdentifier, String productIdentifier, - String purchaseDate)? + String purchaseDate, + @Deprecated('Use orderId instead.') String transactionIdentifier)? create, }) { - return create?.call(transactionIdentifier, revenueCatIdentifier, - productIdentifier, purchaseDate); + return create?.call(orderId, revenueCatIdentifier, productIdentifier, + purchaseDate, transactionIdentifier); } @override @optionalTypeArgs TResult maybeWhen({ TResult Function( - String transactionIdentifier, + @JsonKey(readValue: _readRevenueCatIdentifier) String? orderId, @Deprecated('Use transactionIdentifier instead.') @JsonKey(readValue: _readRevenueCatIdentifier) String revenueCatIdentifier, String productIdentifier, - String purchaseDate)? + String purchaseDate, + @Deprecated('Use orderId instead.') String transactionIdentifier)? create, required TResult orElse(), }) { if (create != null) { - return create(transactionIdentifier, revenueCatIdentifier, - productIdentifier, purchaseDate); + return create(orderId, revenueCatIdentifier, productIdentifier, + purchaseDate, transactionIdentifier); } return orElse(); } @@ -354,20 +386,23 @@ class _$StoreTransactionImpl implements _StoreTransaction { abstract class _StoreTransaction implements StoreTransaction { const factory _StoreTransaction( - final String transactionIdentifier, + @JsonKey(readValue: _readRevenueCatIdentifier) final String? orderId, @Deprecated('Use transactionIdentifier instead.') @JsonKey(readValue: _readRevenueCatIdentifier) final String revenueCatIdentifier, final String productIdentifier, - final String purchaseDate) = _$StoreTransactionImpl; + final String purchaseDate, + {@Deprecated('Use orderId instead.') + final String transactionIdentifier}) = _$StoreTransactionImpl; factory _StoreTransaction.fromJson(Map json) = _$StoreTransactionImpl.fromJson; @override - /// RevenueCat Id associated to the transaction. - String get transactionIdentifier; + /// RevenueCat Id associated to the transaction, always null for Amazon. + @JsonKey(readValue: _readRevenueCatIdentifier) + String? get orderId; @override /// Deprecated: Use transactionIdentifier instead. @@ -383,6 +418,11 @@ abstract class _StoreTransaction implements StoreTransaction { /// Purchase date of the transaction in ISO 8601 format. String get purchaseDate; @override + + /// Deprecated: Use transactionIdentifier instead. + @Deprecated('Use orderId instead.') + String get transactionIdentifier; + @override @JsonKey(ignore: true) _$$StoreTransactionImplCopyWith<_$StoreTransactionImpl> get copyWith => throw _privateConstructorUsedError; diff --git a/lib/models/store_transaction.g.dart b/lib/models/store_transaction.g.dart index d59124fc3..aee395240 100644 --- a/lib/models/store_transaction.g.dart +++ b/lib/models/store_transaction.g.dart @@ -8,17 +8,19 @@ part of 'store_transaction.dart'; _$StoreTransactionImpl _$$StoreTransactionImplFromJson(Map json) => _$StoreTransactionImpl( - json['transactionIdentifier'] as String, + _readRevenueCatIdentifier(json, 'orderId') as String?, _readRevenueCatIdentifier(json, 'revenueCatIdentifier') as String, json['productIdentifier'] as String, json['purchaseDate'] as String, + transactionIdentifier: json['transactionIdentifier'] as String? ?? '', ); Map _$$StoreTransactionImplToJson( _$StoreTransactionImpl instance) => { - 'transactionIdentifier': instance.transactionIdentifier, + 'orderId': instance.orderId, 'revenueCatIdentifier': instance.revenueCatIdentifier, 'productIdentifier': instance.productIdentifier, 'purchaseDate': instance.purchaseDate, + 'transactionIdentifier': instance.transactionIdentifier, };