summaryrefslogtreecommitdiff
path: root/lambda-calcul/haskell/src/Minilang/API.hs
blob: 65e652a2b49b54810a05a0fdf1a08e5acc457137 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE TypeOperators #-}
{-# LANGUAGE DeriveAnyClass #-}

module Minilang.API where

import Data.Time (UTCTime)
import Servant (Get, JSON, (:>))
import GHC.Generics (Generic)
import Data.Aeson (ToJSON, FromJSON)

data Score = Score
  { name :: String,
    grade :: Int,
    lastTest :: UTCTime
  }
  deriving (Eq, Show, Generic, ToJSON, FromJSON)

type LambdaAPI = "api" :> "leaderboard" :> Get '[JSON] [Score]