@@ -2,10 +2,6 @@ import 'dart:async';
22
33import 'package:stripe/messages.dart' ;
44import 'package:stripe/src/expanded.dart' ;
5- import 'package:stripe/src/utils/expandable_field.dart' ;
6- import 'package:stripe/src/utils/expandable_fields/customer_expandable_field.dart' ;
7- import 'package:stripe/src/utils/expandable_fields/discounts_expandable_field.dart' ;
8- import 'package:stripe/src/utils/expandable_fields/latest_invoice_expanded_expandable_field.dart' ;
95
106import '../client.dart' ;
117import '_resource.dart' ;
@@ -34,38 +30,27 @@ class SubscriptionResource extends Resource<Subscription> {
3430 String id, {
3531 required Set <SubscriptionExpandableField > expand,
3632 }) async {
37- final expandableFields = _expandableFields (expand);
3833 final response = await get (
3934 '$_resourceName /$id ' ,
4035 queryParameters: {
41- 'expand' : expandableFields. map ((e) => e.field). toList () ,
36+ 'expand' : _expandParamComponents ,
4237 },
4338 );
4439
4540 return SubscriptionExpanded .fromJson (response, expand);
4641 }
4742
48- Iterable <ExpandableField > _expandableFields (
49- Set <SubscriptionExpandableField > fields,
50- ) {
51- return fields.map (
52- (field) => _expandableField (field),
53- );
54- }
55-
56- ExpandableField _expandableField (
57- SubscriptionExpandableField field,
58- ) {
59- switch (field) {
60- case SubscriptionExpandableField .discounts:
61- return DiscountsExpandableField ();
62- case SubscriptionExpandableField .latestInvoice:
63- return LatestInvoiceExpandedExpandableField (
64- expand: {InvoiceExpandableField .paymentIntent},
65- );
66- case SubscriptionExpandableField .customer:
67- return CustomerExpandableField ();
68- }
43+ List <String > _expandParamComponents (Set <SubscriptionExpandableField > fields) {
44+ return fields.map ((field) {
45+ switch (field) {
46+ case SubscriptionExpandableField .discounts:
47+ return 'discounts' ;
48+ case SubscriptionExpandableField .latestInvoice:
49+ return 'latest_invoice.payment_intent' ;
50+ case SubscriptionExpandableField .customer:
51+ return 'customer' ;
52+ }
53+ }).toList ();
6954 }
7055
7156 Future <DataList <Subscription >> list (
@@ -79,13 +64,11 @@ class SubscriptionResource extends Resource<Subscription> {
7964 required Set <SubscriptionExpandableField > expand,
8065 ListSubscriptionsRequest ? request,
8166 }) async {
82- final expandableFields = _expandableFields (expand);
83-
8467 final response = await get (
8568 _resourceName,
8669 queryParameters: {
8770 ...? request? .toJson (),
88- 'expand' : expandableFields .map ((e) => 'data.${ e . field } ' ).toList (),
71+ 'expand' : _expandParamComponents (expand) .map ((e) => 'data.$e ' ).toList (),
8972 },
9073 );
9174
0 commit comments