toodles-1.1.0: src/ToodlesApi.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE ScopedTypeVariables #-}
{-# LANGUAGE TypeOperators #-}
module ToodlesApi where
import Types
import Data.Proxy (Proxy)
import Data.Text (Text)
import Servant
import Servant.HTML.Blaze (HTML)
import Text.Blaze.Html5 (Html)
type ToodlesAPI = "todos" :> QueryFlag "recompute" :> Get '[JSON] TodoListResult
:<|> "todos" :> "delete" :> ReqBody '[JSON] DeleteTodoRequest :> Post '[JSON] Text
:<|> "todos" :> "edit" :> ReqBody '[JSON] EditTodoRequest :> Post '[JSON] Text
:<|> "license" :> Post '[JSON] GetLicenseResponse
:<|> "static" :> Raw
:<|> "source_file" :> Capture "id" Integer :> Get '[HTML] Html
:<|> CaptureAll "anything-else" Text :> Get '[HTML] Html
toodlesAPI :: Proxy ToodlesAPI
toodlesAPI = Proxy