diff options
| author | Arnaud Bailly <arnaud@pankzsoft.com> | 2025-11-04 22:53:47 +0100 |
|---|---|---|
| committer | Arnaud Bailly <arnaud@pankzsoft.com> | 2025-11-05 06:03:37 +0100 |
| commit | 4240c90039e78bde98fcc3e0e27bad5d2c771bae (patch) | |
| tree | 551435bb76cf1463f85cac102a1290790de2633e /lambda-calcul/haskell/src/Minilang/API.hs | |
| parent | 8a2727a05e0b61d300bb46e8e913c9e60ebd6328 (diff) | |
| download | lambda-nantes-4240c90039e78bde98fcc3e0e27bad5d2c771bae.tar.gz | |
post correct challenge response
Diffstat (limited to 'lambda-calcul/haskell/src/Minilang/API.hs')
| -rw-r--r-- | lambda-calcul/haskell/src/Minilang/API.hs | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/lambda-calcul/haskell/src/Minilang/API.hs b/lambda-calcul/haskell/src/Minilang/API.hs index c9cde53..04eda7b 100644 --- a/lambda-calcul/haskell/src/Minilang/API.hs +++ b/lambda-calcul/haskell/src/Minilang/API.hs @@ -16,9 +16,16 @@ import qualified Data.ByteString.Lazy as LBS import Data.Text (Text) import Data.Time (UTCTime) import GHC.Generics (Generic) -import Servant (FromHttpApiData, Get, JSON, QueryParam, Raw, ReqBody, StdMethod (POST), ToHttpApiData, Verb, parseUrlPiece, toUrlPiece, (:<|>), (:>)) +import Servant (FromHttpApiData, Get, JSON, QueryParam, Raw, ReqBody, StdMethod (POST), ToHttpApiData, Verb, parseUrlPiece, toUrlPiece, (:<|>), (:>), Post) import System.Random (StdGen, uniformList) +type LambdaAPI = + "api" :> "register" :> ReqBody '[JSON] User :> Verb 'POST 201 '[JSON] Token + :<|> "api" :> "leaderboard" :> Get '[JSON] [Score] + :<|> "api" :> "challenge" :> QueryParam "token" Token :> Get '[JSON] Challenge + :<|> "api" :> "challenge" :> QueryParam "token" Token :> ReqBody '[JSON] Text :> Post '[JSON] () + :<|> Raw + data Score = Score { user :: User, grade :: Int, @@ -46,9 +53,3 @@ data Challenge = Challenge expr :: Text } deriving (Eq, Show, Generic, ToJSON, FromJSON) - -type LambdaAPI = - "api" :> "register" :> ReqBody '[JSON] User :> Verb 'POST 201 '[JSON] Token - :<|> "api" :> "leaderboard" :> Get '[JSON] [Score] - :<|> "api" :> "challenge" :> QueryParam "token" Token :> Get '[JSON] Challenge - :<|> Raw |
