diff --git a/src/PaymentServer/Server.hs b/src/PaymentServer/Server.hs index 5b7f52eb73b27914aaa8bea1e4bef89f7fa2c70f..f55b779b99f7a3395a02aca78a0f636e358f2542 100644 --- a/src/PaymentServer/Server.hs +++ b/src/PaymentServer/Server.hs @@ -13,11 +13,16 @@ import Servant , Application , serve , (:>) + , (:<|>)((:<|>)) ) import PaymentServer.Processors.Stripe ( StripeAPI , stripeServer ) +import PaymentServer.Redemption + ( RedemptionAPI + , redemptionServer + ) import PaymentServer.Persistence ( VoucherDatabase ) @@ -25,11 +30,13 @@ import PaymentServer.Persistence -- | This is the complete type of the server API. type PaymentServerAPI = "v1" :> "stripe" :> StripeAPI - -- :<|> "v1" :> "redeem" :> RedeemAPI + :<|> "v1" :> "redeem" :> RedemptionAPI -- | Create a server which uses the given database. paymentServer :: VoucherDatabase d => d -> Server PaymentServerAPI -paymentServer = stripeServer +paymentServer d = + stripeServer d + :<|> redemptionServer d paymentServerAPI :: Proxy PaymentServerAPI paymentServerAPI = Proxy