Skip to content

Commit e0041bf

Browse files
committed
some stripe classes
1 parent 6492a44 commit e0041bf

File tree

1 file changed

+30
-30
lines changed

1 file changed

+30
-30
lines changed

pub/stripe-servant/src/Stripe/Resources.hs

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -74,7 +74,7 @@ formOptions x =
7474

7575
-- | A 'UTCTime' wrapper that has unix timestamp JSON representation
7676
newtype TimeStamp = TimeStamp {unTimeStamp :: UTCTime}
77-
deriving (Show, Eq)
77+
deriving (Eq, Ord, Show, Read, Data, Generic)
7878

7979
instance A.ToJSON TimeStamp where
8080
toJSON = A.Number . fromRational . toRational . utcTimeToPOSIXSeconds . unTimeStamp
@@ -95,7 +95,7 @@ data StripeList a = StripeList
9595
{ slHasMore :: Bool,
9696
slData :: V.Vector a
9797
}
98-
deriving (Show, Eq, Functor)
98+
deriving (Eq, Ord, Show, Read, Data, Generic, Functor)
9999

100100
instance Semigroup (StripeList a) where
101101
(<>) a b = StripeList (slHasMore a || slHasMore b) (slData a <> slData b)
@@ -108,7 +108,7 @@ instance Applicative StripeList where
108108
(<*>) go x = StripeList (slHasMore go || slHasMore x) (slData go <*> slData x)
109109

110110
newtype CustomerId = CustomerId {unCustomerId :: T.Text}
111-
deriving (Show, Eq, ToJSON, FromJSON, ToHttpApiData)
111+
deriving (Eq, Ord, Show, Read, Data, Generic, ToJSON, FromJSON, ToHttpApiData)
112112

113113
data Customer = Customer
114114
{ cId :: CustomerId,
@@ -117,22 +117,22 @@ data Customer = Customer
117117
cName :: Maybe T.Text,
118118
cEmail :: Maybe T.Text
119119
}
120-
deriving (Show, Eq)
120+
deriving (Eq, Ord, Show, Read, Data, Generic)
121121

122122
data CustomerCreate = CustomerCreate
123123
{ ccName :: Maybe T.Text,
124124
ccEmail :: Maybe T.Text
125125
}
126-
deriving (Show, Eq, Generic)
126+
deriving (Eq, Ord, Show, Read, Data, Generic)
127127

128128
data CustomerUpdate = CustomerUpdate
129129
{ cuName :: Maybe T.Text,
130130
cuEmail :: Maybe T.Text
131131
}
132-
deriving (Show, Eq, Generic)
132+
deriving (Eq, Ord, Show, Read, Data, Generic)
133133

134134
newtype EventId = EventId {unEventId :: T.Text}
135-
deriving (Show, Eq, ToJSON, FromJSON, ToHttpApiData)
135+
deriving (Eq, Ord, Show, Read, Data, Generic, ToJSON, FromJSON, ToHttpApiData)
136136

137137
data Event = Event
138138
{ eId :: EventId,
@@ -142,15 +142,15 @@ data Event = Event
142142
eApiVersion :: T.Text,
143143
eData :: EventData
144144
}
145-
deriving (Show, Eq)
145+
deriving (Eq, Ord, Show, Read, Data, Generic)
146146

147147
data EventData = EventData
148148
{ edObject :: A.Value
149149
}
150-
deriving (Show, Eq)
150+
deriving (Eq, Ord, Show, Read, Data, Generic)
151151

152152
newtype PriceId = PriceId {unPriceId :: T.Text}
153-
deriving (Show, Eq, ToJSON, FromJSON, ToHttpApiData)
153+
deriving (Eq, Ord, Show, Read, Data, Generic, ToJSON, FromJSON, ToHttpApiData)
154154

155155
data Price = Price
156156
{ pId :: PriceId,
@@ -163,13 +163,13 @@ data Price = Price
163163
pProduct :: ProductId,
164164
pLookupKey :: Maybe T.Text
165165
}
166-
deriving (Show, Eq)
166+
deriving (Eq, Ord, Show, Read, Data, Generic)
167167

168168
data PriceRecurring = PriceRecurring
169169
{ prInterval :: T.Text, -- TODO: make enum
170170
prIntervalCount :: Int
171171
}
172-
deriving (Show, Eq)
172+
deriving (Eq, Ord, Show, Read, Data, Generic)
173173

174174
data PriceCreate = PriceCreate
175175
{ pcCurrency :: T.Text,
@@ -179,33 +179,33 @@ data PriceCreate = PriceCreate
179179
pcTransferLookupKey :: Bool,
180180
pcRecurring :: Maybe PriceCreateRecurring
181181
}
182-
deriving (Show, Eq, Generic)
182+
deriving (Eq, Ord, Show, Read, Data, Generic)
183183

184184
data PriceCreateRecurring = PriceCreateRecurring
185185
{ prcInterval :: T.Text, -- TODO: make enum
186186
prcIntervalCount :: Maybe Int
187187
}
188-
deriving (Show, Eq)
188+
deriving (Eq, Ord, Show, Read, Data, Generic)
189189

190190
newtype ProductId = ProductId {unProductId :: T.Text}
191-
deriving (Show, Eq, ToJSON, FromJSON, ToHttpApiData)
191+
deriving (Eq, Ord, Show, Read, Data, Generic, ToJSON, FromJSON, ToHttpApiData)
192192

193193
data Product = Product
194194
{ prId :: ProductId,
195195
prActive :: Bool,
196196
prName :: T.Text,
197197
prDescription :: Maybe T.Text
198198
}
199-
deriving (Show, Eq)
199+
deriving (Eq, Ord, Show, Read, Data, Generic)
200200

201201
data ProductCreate = ProductCreate
202202
{ prcName :: T.Text,
203203
prcDescription :: Maybe T.Text
204204
}
205-
deriving (Show, Eq, Generic)
205+
deriving (Eq, Ord, Show, Read, Data, Generic)
206206

207207
newtype SubscriptionId = SubscriptionId {unSubscriptionId :: T.Text}
208-
deriving (Show, Eq, ToJSON, FromJSON, ToHttpApiData)
208+
deriving (Eq, Ord, Show, Read, Data, Generic, ToJSON, FromJSON, ToHttpApiData)
209209

210210
data SubscriptionStatus
211211
= SsIncomplete
@@ -227,35 +227,35 @@ data Subscription = Subscription
227227
sItems :: StripeList SubscriptionItem,
228228
sStatus :: SubscriptionStatus
229229
}
230-
deriving (Show, Eq)
230+
deriving (Eq, Ord, Show, Read, Data, Generic)
231231

232232
newtype SubscriptionItemId = SubscriptionItemId {unSubscriptionItemId :: T.Text}
233-
deriving (Show, Eq, ToJSON, FromJSON, ToHttpApiData)
233+
deriving (Eq, Ord, Show, Read, Data, Generic, ToJSON, FromJSON, ToHttpApiData)
234234

235235
data SubscriptionItem = SubscriptionItem
236236
{ siId :: SubscriptionItemId,
237237
siPrice :: Price,
238238
siQuantity :: Maybe Int,
239239
siSubscription :: SubscriptionId
240240
}
241-
deriving (Show, Eq)
241+
deriving (Eq, Ord, Show, Read, Data, Generic)
242242

243243
data SubscriptionCreateItem = SubscriptionCreateItem
244244
{ sciPrice :: PriceId,
245245
sciQuantity :: Maybe Int
246246
}
247-
deriving (Show, Eq, Generic)
247+
deriving (Eq, Ord, Show, Read, Data, Generic)
248248

249249
data SubscriptionCreate = SubscriptionCreate
250250
{ scCustomer :: CustomerId,
251251
scItems :: [SubscriptionCreateItem],
252252
scCancelAtPeriodEnd :: Maybe Bool,
253253
scTrialEnd :: Maybe TimeStamp
254254
}
255-
deriving (Show, Eq, Generic)
255+
deriving (Eq, Ord, Show, Read, Data, Generic)
256256

257257
newtype CheckoutSessionId = CheckoutSessionId {unCheckoutSessionId :: T.Text}
258-
deriving (Show, Eq, ToJSON, FromJSON, ToHttpApiData)
258+
deriving (Eq, Ord, Show, Read, Data, Generic, ToJSON, FromJSON, ToHttpApiData)
259259

260260
data CheckoutSessionStatus
261261
= CssOpen
@@ -275,7 +275,7 @@ data CheckoutSession = CheckoutSession
275275
csStatus :: CheckoutSessionStatus,
276276
csUrl :: T.Text
277277
}
278-
deriving (Show, Eq)
278+
deriving (Eq, Ord, Show, Read, Data, Generic)
279279

280280
data CheckoutSessionCreate = CheckoutSessionCreate
281281
{ cscCancelUrl :: T.Text,
@@ -287,16 +287,16 @@ data CheckoutSessionCreate = CheckoutSessionCreate
287287
cscAllowPromotionCodes :: Maybe Bool,
288288
cscLineItems :: [CheckoutSessionCreateLineItem]
289289
}
290-
deriving (Show, Eq, Generic)
290+
deriving (Eq, Ord, Show, Read, Data, Generic)
291291

292292
data CheckoutSessionCreateLineItem = CheckoutSessionCreateLineItem
293293
{ cscliPrice :: PriceId,
294294
cscliQuantity :: Integer
295295
}
296-
deriving (Show, Eq, Generic)
296+
deriving (Eq, Ord, Show, Read, Data, Generic)
297297

298298
newtype CustomerPortalId = CustomerPortalId {unCustomerPortalId :: T.Text}
299-
deriving (Show, Eq, ToJSON, FromJSON, ToHttpApiData)
299+
deriving (Eq, Ord, Show, Read, Data, Generic, ToJSON, FromJSON, ToHttpApiData)
300300

301301
data CustomerPortal = CustomerPortal
302302
{ cpId :: CustomerPortalId,
@@ -306,13 +306,13 @@ data CustomerPortal = CustomerPortal
306306
cpReturnUrl :: Maybe T.Text,
307307
cpUrl :: T.Text
308308
}
309-
deriving (Show, Eq)
309+
deriving (Eq, Ord, Show, Read, Data, Generic)
310310

311311
data CustomerPortalCreate = CustomerPortalCreate
312312
{ cpcCustomer :: CustomerId,
313313
cpcReturnUrl :: Maybe T.Text
314314
}
315-
deriving (Show, Eq, Generic)
315+
deriving (Eq, Ord, Show, Read, Data, Generic)
316316

317317
$(deriveJSON (jsonOpts 2) ''StripeList)
318318
$(deriveJSON (jsonOpts 1) ''Customer)

0 commit comments

Comments
 (0)