@@ -74,7 +74,7 @@ formOptions x =
74
74
75
75
-- | A 'UTCTime' wrapper that has unix timestamp JSON representation
76
76
newtype TimeStamp = TimeStamp { unTimeStamp :: UTCTime }
77
- deriving (Show , Eq )
77
+ deriving (Eq , Ord , Show , Read , Data , Generic )
78
78
79
79
instance A. ToJSON TimeStamp where
80
80
toJSON = A. Number . fromRational . toRational . utcTimeToPOSIXSeconds . unTimeStamp
@@ -95,7 +95,7 @@ data StripeList a = StripeList
95
95
{ slHasMore :: Bool ,
96
96
slData :: V. Vector a
97
97
}
98
- deriving (Show , Eq , Functor )
98
+ deriving (Eq , Ord , Show , Read , Data , Generic , Functor )
99
99
100
100
instance Semigroup (StripeList a ) where
101
101
(<>) a b = StripeList (slHasMore a || slHasMore b) (slData a <> slData b)
@@ -108,7 +108,7 @@ instance Applicative StripeList where
108
108
(<*>) go x = StripeList (slHasMore go || slHasMore x) (slData go <*> slData x)
109
109
110
110
newtype CustomerId = CustomerId { unCustomerId :: T. Text}
111
- deriving (Show , Eq , ToJSON , FromJSON , ToHttpApiData )
111
+ deriving (Eq , Ord , Show , Read , Data , Generic , ToJSON , FromJSON , ToHttpApiData )
112
112
113
113
data Customer = Customer
114
114
{ cId :: CustomerId ,
@@ -117,22 +117,22 @@ data Customer = Customer
117
117
cName :: Maybe T. Text ,
118
118
cEmail :: Maybe T. Text
119
119
}
120
- deriving (Show , Eq )
120
+ deriving (Eq , Ord , Show , Read , Data , Generic )
121
121
122
122
data CustomerCreate = CustomerCreate
123
123
{ ccName :: Maybe T. Text ,
124
124
ccEmail :: Maybe T. Text
125
125
}
126
- deriving (Show , Eq , Generic )
126
+ deriving (Eq , Ord , Show , Read , Data , Generic )
127
127
128
128
data CustomerUpdate = CustomerUpdate
129
129
{ cuName :: Maybe T. Text ,
130
130
cuEmail :: Maybe T. Text
131
131
}
132
- deriving (Show , Eq , Generic )
132
+ deriving (Eq , Ord , Show , Read , Data , Generic )
133
133
134
134
newtype EventId = EventId { unEventId :: T. Text}
135
- deriving (Show , Eq , ToJSON , FromJSON , ToHttpApiData )
135
+ deriving (Eq , Ord , Show , Read , Data , Generic , ToJSON , FromJSON , ToHttpApiData )
136
136
137
137
data Event = Event
138
138
{ eId :: EventId ,
@@ -142,15 +142,15 @@ data Event = Event
142
142
eApiVersion :: T. Text ,
143
143
eData :: EventData
144
144
}
145
- deriving (Show , Eq )
145
+ deriving (Eq , Ord , Show , Read , Data , Generic )
146
146
147
147
data EventData = EventData
148
148
{ edObject :: A. Value
149
149
}
150
- deriving (Show , Eq )
150
+ deriving (Eq , Ord , Show , Read , Data , Generic )
151
151
152
152
newtype PriceId = PriceId { unPriceId :: T. Text}
153
- deriving (Show , Eq , ToJSON , FromJSON , ToHttpApiData )
153
+ deriving (Eq , Ord , Show , Read , Data , Generic , ToJSON , FromJSON , ToHttpApiData )
154
154
155
155
data Price = Price
156
156
{ pId :: PriceId ,
@@ -163,13 +163,13 @@ data Price = Price
163
163
pProduct :: ProductId ,
164
164
pLookupKey :: Maybe T. Text
165
165
}
166
- deriving (Show , Eq )
166
+ deriving (Eq , Ord , Show , Read , Data , Generic )
167
167
168
168
data PriceRecurring = PriceRecurring
169
169
{ prInterval :: T. Text , -- TODO: make enum
170
170
prIntervalCount :: Int
171
171
}
172
- deriving (Show , Eq )
172
+ deriving (Eq , Ord , Show , Read , Data , Generic )
173
173
174
174
data PriceCreate = PriceCreate
175
175
{ pcCurrency :: T. Text ,
@@ -179,33 +179,33 @@ data PriceCreate = PriceCreate
179
179
pcTransferLookupKey :: Bool ,
180
180
pcRecurring :: Maybe PriceCreateRecurring
181
181
}
182
- deriving (Show , Eq , Generic )
182
+ deriving (Eq , Ord , Show , Read , Data , Generic )
183
183
184
184
data PriceCreateRecurring = PriceCreateRecurring
185
185
{ prcInterval :: T. Text , -- TODO: make enum
186
186
prcIntervalCount :: Maybe Int
187
187
}
188
- deriving (Show , Eq )
188
+ deriving (Eq , Ord , Show , Read , Data , Generic )
189
189
190
190
newtype ProductId = ProductId { unProductId :: T. Text}
191
- deriving (Show , Eq , ToJSON , FromJSON , ToHttpApiData )
191
+ deriving (Eq , Ord , Show , Read , Data , Generic , ToJSON , FromJSON , ToHttpApiData )
192
192
193
193
data Product = Product
194
194
{ prId :: ProductId ,
195
195
prActive :: Bool ,
196
196
prName :: T. Text ,
197
197
prDescription :: Maybe T. Text
198
198
}
199
- deriving (Show , Eq )
199
+ deriving (Eq , Ord , Show , Read , Data , Generic )
200
200
201
201
data ProductCreate = ProductCreate
202
202
{ prcName :: T. Text ,
203
203
prcDescription :: Maybe T. Text
204
204
}
205
- deriving (Show , Eq , Generic )
205
+ deriving (Eq , Ord , Show , Read , Data , Generic )
206
206
207
207
newtype SubscriptionId = SubscriptionId { unSubscriptionId :: T. Text}
208
- deriving (Show , Eq , ToJSON , FromJSON , ToHttpApiData )
208
+ deriving (Eq , Ord , Show , Read , Data , Generic , ToJSON , FromJSON , ToHttpApiData )
209
209
210
210
data SubscriptionStatus
211
211
= SsIncomplete
@@ -227,35 +227,35 @@ data Subscription = Subscription
227
227
sItems :: StripeList SubscriptionItem ,
228
228
sStatus :: SubscriptionStatus
229
229
}
230
- deriving (Show , Eq )
230
+ deriving (Eq , Ord , Show , Read , Data , Generic )
231
231
232
232
newtype SubscriptionItemId = SubscriptionItemId { unSubscriptionItemId :: T. Text}
233
- deriving (Show , Eq , ToJSON , FromJSON , ToHttpApiData )
233
+ deriving (Eq , Ord , Show , Read , Data , Generic , ToJSON , FromJSON , ToHttpApiData )
234
234
235
235
data SubscriptionItem = SubscriptionItem
236
236
{ siId :: SubscriptionItemId ,
237
237
siPrice :: Price ,
238
238
siQuantity :: Maybe Int ,
239
239
siSubscription :: SubscriptionId
240
240
}
241
- deriving (Show , Eq )
241
+ deriving (Eq , Ord , Show , Read , Data , Generic )
242
242
243
243
data SubscriptionCreateItem = SubscriptionCreateItem
244
244
{ sciPrice :: PriceId ,
245
245
sciQuantity :: Maybe Int
246
246
}
247
- deriving (Show , Eq , Generic )
247
+ deriving (Eq , Ord , Show , Read , Data , Generic )
248
248
249
249
data SubscriptionCreate = SubscriptionCreate
250
250
{ scCustomer :: CustomerId ,
251
251
scItems :: [SubscriptionCreateItem ],
252
252
scCancelAtPeriodEnd :: Maybe Bool ,
253
253
scTrialEnd :: Maybe TimeStamp
254
254
}
255
- deriving (Show , Eq , Generic )
255
+ deriving (Eq , Ord , Show , Read , Data , Generic )
256
256
257
257
newtype CheckoutSessionId = CheckoutSessionId { unCheckoutSessionId :: T. Text}
258
- deriving (Show , Eq , ToJSON , FromJSON , ToHttpApiData )
258
+ deriving (Eq , Ord , Show , Read , Data , Generic , ToJSON , FromJSON , ToHttpApiData )
259
259
260
260
data CheckoutSessionStatus
261
261
= CssOpen
@@ -275,7 +275,7 @@ data CheckoutSession = CheckoutSession
275
275
csStatus :: CheckoutSessionStatus ,
276
276
csUrl :: T. Text
277
277
}
278
- deriving (Show , Eq )
278
+ deriving (Eq , Ord , Show , Read , Data , Generic )
279
279
280
280
data CheckoutSessionCreate = CheckoutSessionCreate
281
281
{ cscCancelUrl :: T. Text ,
@@ -287,16 +287,16 @@ data CheckoutSessionCreate = CheckoutSessionCreate
287
287
cscAllowPromotionCodes :: Maybe Bool ,
288
288
cscLineItems :: [CheckoutSessionCreateLineItem ]
289
289
}
290
- deriving (Show , Eq , Generic )
290
+ deriving (Eq , Ord , Show , Read , Data , Generic )
291
291
292
292
data CheckoutSessionCreateLineItem = CheckoutSessionCreateLineItem
293
293
{ cscliPrice :: PriceId ,
294
294
cscliQuantity :: Integer
295
295
}
296
- deriving (Show , Eq , Generic )
296
+ deriving (Eq , Ord , Show , Read , Data , Generic )
297
297
298
298
newtype CustomerPortalId = CustomerPortalId { unCustomerPortalId :: T. Text}
299
- deriving (Show , Eq , ToJSON , FromJSON , ToHttpApiData )
299
+ deriving (Eq , Ord , Show , Read , Data , Generic , ToJSON , FromJSON , ToHttpApiData )
300
300
301
301
data CustomerPortal = CustomerPortal
302
302
{ cpId :: CustomerPortalId ,
@@ -306,13 +306,13 @@ data CustomerPortal = CustomerPortal
306
306
cpReturnUrl :: Maybe T. Text ,
307
307
cpUrl :: T. Text
308
308
}
309
- deriving (Show , Eq )
309
+ deriving (Eq , Ord , Show , Read , Data , Generic )
310
310
311
311
data CustomerPortalCreate = CustomerPortalCreate
312
312
{ cpcCustomer :: CustomerId ,
313
313
cpcReturnUrl :: Maybe T. Text
314
314
}
315
- deriving (Show , Eq , Generic )
315
+ deriving (Eq , Ord , Show , Read , Data , Generic )
316
316
317
317
$ (deriveJSON (jsonOpts 2 ) ''StripeList)
318
318
$ (deriveJSON (jsonOpts 1 ) ''Customer)
0 commit comments