diff --git a/mateamt.cabal b/mateamt.cabal index fa565f6..8041a7d 100644 --- a/mateamt.cabal +++ b/mateamt.cabal @@ -93,6 +93,7 @@ library , servant , servant-server , servant-rawm >= 0.3.0.0 + , servant-rawm-server , opaleye , aeson , text diff --git a/shell.nix b/shell.nix index 8bb6391..7c03e51 100644 --- a/shell.nix +++ b/shell.nix @@ -56,9 +56,11 @@ let f = { mkDerivation, aeson, base, base16-bytestring , bytestring, case-insensitive, clock , containers, extra, HsYAML, http-api-data, http-types, iproute - , mtl, network, opaleye, optparse-applicative, postgresql-simple + , mtl, network, opaleye, optparse-applicative + , postgresql-simple , product-profunctors, profunctors - , pureMD5, random-bytestring, servant, servant-rawm, servant-server + , pureMD5, random-bytestring, servant, servant-rawm, servant-rawm-server + , servant-server , stdenv, stm, text, time, wai, wai-logger, wai-middleware-throttle , warp }: @@ -72,11 +74,13 @@ let aeson base base16-bytestring base64-bytestring bytestring containers http-api-data http-types mtl opaleye postgresql-simple product-profunctors profunctors pureMD5 random-bytestring servant - servant-rawm servant-server stm text time wai wai-logger warp + servant-rawm servant-rawm-server servant-server stm text time wai + wai-logger warp ]; executableHaskellDepends = [ base base16-bytestring bytestring case-insensitive clock containers - extra HsYAML iproute mtl network opaleye optparse-applicative + extra HsYAML iproute mtl network opaleye + optparse-applicative postgresql-simple postgresql-simple-migration servant servant-server stm text time wai wai-logger wai-middleware-throttle warp diff --git a/src/API.hs b/src/API.hs index 6c454fe..805fe09 100644 --- a/src/API.hs +++ b/src/API.hs @@ -9,10 +9,14 @@ module API where import Servant.API import Servant.Links -import Servant.RawM import Data.Proxy +import Servant.RawM +import Servant.RawM.Server () + +import Network.Wai (Application) + -- internal imports import Types @@ -61,7 +65,7 @@ type MateAPI = "v1" :> ( :> ReqBody '[JSON] JournalCashCheck :> Post '[JSON] () - :<|> "avatar" :> Capture "id" Int :> RawM + :<|> "avatar" :> Capture "id" Int :> RawM' Application :<|> "avatar" :> AuthProtect "header-auth" :> ReqBody '[JSON] AvatarData :> Post '[JSON] Int :<|> "avatar" :> AuthProtect "header-auth" :> Capture "id" Int @@ -89,7 +93,6 @@ type MateAPI = "v1" :> ( :<|> "meta" :> Get '[JSON] MetaInformation ) - authGetLink :: Link authSendLink :: Link authLogoutLink :: Link