diff --git a/src/API.hs b/src/API.hs index 8ad9f98..33f2584 100644 --- a/src/API.hs +++ b/src/API.hs @@ -34,6 +34,8 @@ type UserAPI = :> Capture "uid'" Int :> ReqBody '[JSON] UserDetailsSubmit :> Patch '[JSON] () :<|> "user" :> "list" :> AuthProtect "header-auth" :> QueryParam "refine" Refine :> Get '[JSON] [User] + :<|> "user" :> "recharge" :> AuthProtect "header-auth" + :> ReqBody '[JSON] UserRecharge :> Post '[JSON] () :<|> "product" :> AuthProtect "header-auth" :> ReqBody '[JSON] ProductSubmit :> Post '[JSON] Int diff --git a/src/Main.hs b/src/Main.hs index 30cbaab..b79e2ad 100644 --- a/src/Main.hs +++ b/src/Main.hs @@ -75,6 +75,7 @@ app initState = userGet :<|> userUpdate :<|> userList :<|> + userRecharge :<|> productNew :<|> productOverview :<|> diff --git a/src/Types/User.hs b/src/Types/User.hs index 1cd9bfb..65ed15d 100644 --- a/src/Types/User.hs +++ b/src/Types/User.hs @@ -81,3 +81,15 @@ instance ToJSON UserDetailsSubmit where toEncoding = genericToEncoding defaultOptions instance FromJSON UserDetailsSubmit + + +data UserRecharge = UserRecharge + { userRechargeId :: Int + , userRechargeAmount :: Int + } + deriving (Generic, Show) + +instance ToJSON UserRecharge where + toEncoding = genericToEncoding defaultOptions + +instance FromJSON UserRecharge