88)
99from dateutil import parser
1010from .types import (
11+ Discount ,
12+ DiscountCoupon ,
13+ DiscountFilter ,
1114 Invoice ,
1215 ListConsumptionsResponse ,
1316 ListConsumptionsResponseConsumption ,
17+ ListDiscountsResponse ,
1418 ListInvoicesResponse ,
1519 ListTaxesResponse ,
1620 ListTaxesResponseTax ,
1721)
1822
1923
24+ def unmarshal_DiscountCoupon (data : Any ) -> DiscountCoupon :
25+ if type (data ) is not dict :
26+ raise TypeError (
27+ f"Unmarshalling the type 'DiscountCoupon' failed as data isn't a dictionary."
28+ )
29+
30+ args : Dict [str , Any ] = {}
31+
32+ field = data .get ("description" , None )
33+ args ["description" ] = field
34+
35+ return DiscountCoupon (** args )
36+
37+
38+ def unmarshal_DiscountFilter (data : Any ) -> DiscountFilter :
39+ if type (data ) is not dict :
40+ raise TypeError (
41+ f"Unmarshalling the type 'DiscountFilter' failed as data isn't a dictionary."
42+ )
43+
44+ args : Dict [str , Any ] = {}
45+
46+ field = data .get ("type" , None )
47+ args ["type_" ] = field
48+
49+ field = data .get ("value" , None )
50+ args ["value" ] = field
51+
52+ return DiscountFilter (** args )
53+
54+
55+ def unmarshal_Discount (data : Any ) -> Discount :
56+ if type (data ) is not dict :
57+ raise TypeError (
58+ f"Unmarshalling the type 'Discount' failed as data isn't a dictionary."
59+ )
60+
61+ args : Dict [str , Any ] = {}
62+
63+ field = data .get ("coupon" , None )
64+ args ["coupon" ] = unmarshal_DiscountCoupon (field ) if field is not None else None
65+
66+ field = data .get ("creation_date" , None )
67+ args ["creation_date" ] = parser .isoparse (field ) if type (field ) is str else field
68+
69+ field = data .get ("description" , None )
70+ args ["description" ] = field
71+
72+ field = data .get ("filters" , None )
73+ args ["filters" ] = (
74+ [unmarshal_DiscountFilter (v ) for v in field ] if field is not None else None
75+ )
76+
77+ field = data .get ("id" , None )
78+ args ["id" ] = field
79+
80+ field = data .get ("mode" , None )
81+ args ["mode" ] = field
82+
83+ field = data .get ("organization_id" , None )
84+ args ["organization_id" ] = field
85+
86+ field = data .get ("start_date" , None )
87+ args ["start_date" ] = parser .isoparse (field ) if type (field ) is str else field
88+
89+ field = data .get ("stop_date" , None )
90+ args ["stop_date" ] = parser .isoparse (field ) if type (field ) is str else field
91+
92+ field = data .get ("value" , None )
93+ args ["value" ] = field
94+
95+ field = data .get ("value_remaining" , None )
96+ args ["value_remaining" ] = field
97+
98+ field = data .get ("value_used" , None )
99+ args ["value_used" ] = field
100+
101+ return Discount (** args )
102+
103+
20104def unmarshal_Invoice (data : Any ) -> Invoice :
21105 if type (data ) is not dict :
22106 raise TypeError (
@@ -28,9 +112,6 @@ def unmarshal_Invoice(data: Any) -> Invoice:
28112 field = data .get ("billing_period" , None )
29113 args ["billing_period" ] = parser .isoparse (field ) if type (field ) is str else field
30114
31- field = data .get ("customer_name" , None )
32- args ["customer_name" ] = field
33-
34115 field = data .get ("due_date" , None )
35116 args ["due_date" ] = parser .isoparse (field ) if type (field ) is str else field
36117
@@ -92,6 +173,9 @@ def unmarshal_ListConsumptionsResponseConsumption(
92173
93174 args : Dict [str , Any ] = {}
94175
176+ field = data .get ("billed_quantity" , None )
177+ args ["billed_quantity" ] = field
178+
95179 field = data .get ("category_name" , None )
96180 args ["category_name" ] = field
97181
@@ -107,6 +191,9 @@ def unmarshal_ListConsumptionsResponseConsumption(
107191 field = data .get ("sku" , None )
108192 args ["sku" ] = field
109193
194+ field = data .get ("unit" , None )
195+ args ["unit" ] = field
196+
110197 field = data .get ("value" , None )
111198 args ["value" ] = unmarshal_Money (field ) if field is not None else None
112199
@@ -163,6 +250,25 @@ def unmarshal_ListConsumptionsResponse(data: Any) -> ListConsumptionsResponse:
163250 return ListConsumptionsResponse (** args )
164251
165252
253+ def unmarshal_ListDiscountsResponse (data : Any ) -> ListDiscountsResponse :
254+ if type (data ) is not dict :
255+ raise TypeError (
256+ f"Unmarshalling the type 'ListDiscountsResponse' failed as data isn't a dictionary."
257+ )
258+
259+ args : Dict [str , Any ] = {}
260+
261+ field = data .get ("discounts" , None )
262+ args ["discounts" ] = (
263+ [unmarshal_Discount (v ) for v in field ] if field is not None else None
264+ )
265+
266+ field = data .get ("total_count" , None )
267+ args ["total_count" ] = field
268+
269+ return ListDiscountsResponse (** args )
270+
271+
166272def unmarshal_ListInvoicesResponse (data : Any ) -> ListInvoicesResponse :
167273 if type (data ) is not dict :
168274 raise TypeError (
0 commit comments