2017-05-04 18:46:45 +00:00
|
|
|
{-# LANGUAGE DataKinds #-}
|
|
|
|
|
{-# LANGUAGE OverloadedStrings #-}
|
|
|
|
|
{-# LANGUAGE TypeFamilies #-}
|
|
|
|
|
{-# LANGUAGE TypeOperators #-}
|
|
|
|
|
|
|
|
|
|
module Api (module Api,module Models) where
|
|
|
|
|
|
|
|
|
|
import Data.Proxy
|
2017-05-06 09:55:27 +00:00
|
|
|
import Data.Swagger
|
2017-05-04 18:46:45 +00:00
|
|
|
import Data.Text
|
|
|
|
|
import Models
|
|
|
|
|
import Servant.API
|
2017-05-06 09:55:27 +00:00
|
|
|
import SwaggerGen
|
2017-05-04 18:46:45 +00:00
|
|
|
|
|
|
|
|
type CouponApi =
|
|
|
|
|
"coupon" :> "add" :> ReqBody '[JSON] Coupon :> Post '[JSON] (Maybe Coupon)
|
|
|
|
|
:<|> "coupon" :> "get" :> Capture "name" Text :> Get '[JSON] (Maybe Coupon)
|
|
|
|
|
:<|> "coupon" :> "del" :> Capture "name" Text :> Get '[JSON] (Maybe Coupon)
|
|
|
|
|
|
|
|
|
|
type BillCouponApi =
|
|
|
|
|
"billcoupon" :> ReqBody '[JSON] BillCoupon :> Post '[JSON] CouponResult
|
|
|
|
|
|
2017-05-06 09:55:27 +00:00
|
|
|
type SwaggerApi = "swagger.json" :> Get '[JSON] Swagger
|
|
|
|
|
|
|
|
|
|
type ServerApi = CouponApi :<|> BillCouponApi :<|> SwaggerApi
|
|
|
|
|
|
|
|
|
|
couponApi :: Proxy (CouponApi :<|> BillCouponApi)
|
|
|
|
|
couponApi = Proxy
|
2017-05-04 18:46:45 +00:00
|
|
|
|
|
|
|
|
api :: Proxy ServerApi
|
|
|
|
|
api = Proxy
|