36 lines
1.1 KiB
Haskell
36 lines
1.1 KiB
Haskell
{-# LANGUAGE DataKinds #-}
|
|
{-# LANGUAGE DeriveGeneric #-}
|
|
{-# LANGUAGE FlexibleInstances #-}
|
|
{-# LANGUAGE MultiParamTypeClasses #-}
|
|
{-# LANGUAGE NoImplicitPrelude #-}
|
|
{-# LANGUAGE OverloadedStrings #-}
|
|
{-# LANGUAGE QuasiQuotes #-}
|
|
{-# LANGUAGE RecordWildCards #-}
|
|
{-# LANGUAGE TemplateHaskell #-}
|
|
{-# LANGUAGE TypeFamilies #-}
|
|
{-# LANGUAGE TypeOperators #-}
|
|
module API (API, handler) where
|
|
|
|
|
|
import Servant
|
|
import Types
|
|
|
|
import qualified API.Books as Books
|
|
import qualified API.Catalogue as Catalogue
|
|
import qualified API.Channels as Channels
|
|
import qualified API.Users as Users
|
|
|
|
type API = Users.API
|
|
:<|> "api" :> "current" :> Channels.API
|
|
:<|> "api" :> "current" :> Books.API
|
|
:<|> "api" :> "1" :> Catalogue.VersionedAPI 1
|
|
:<|> "api" :> "current" :> Catalogue.VersionedAPI 1
|
|
|
|
handler :: ServerT API AppM
|
|
handler = Users.handler
|
|
:<|> Channels.handler
|
|
:<|> Books.handler
|
|
:<|> Catalogue.handler
|
|
:<|> Catalogue.handler
|
|
|