2018-11-12 22:58:50 +02:00
|
|
|
{-# LANGUAGE DataKinds #-}
|
|
|
|
{-# LANGUAGE DeriveGeneric #-}
|
|
|
|
{-# LANGUAGE FlexibleInstances #-}
|
|
|
|
{-# LANGUAGE MultiParamTypeClasses #-}
|
|
|
|
{-# LANGUAGE NoImplicitPrelude #-}
|
|
|
|
{-# LANGUAGE OverloadedStrings #-}
|
|
|
|
{-# LANGUAGE QuasiQuotes #-}
|
|
|
|
{-# LANGUAGE RecordWildCards #-}
|
|
|
|
{-# LANGUAGE TemplateHaskell #-}
|
|
|
|
{-# LANGUAGE TypeFamilies #-}
|
|
|
|
{-# LANGUAGE TypeOperators #-}
|
2018-08-02 22:11:11 +03:00
|
|
|
module API (API, handler) where
|
|
|
|
|
|
|
|
|
2018-11-12 22:58:50 +02:00
|
|
|
import Servant
|
|
|
|
import Types
|
2018-08-02 23:59:08 +03:00
|
|
|
|
2018-11-12 22:58:50 +02:00
|
|
|
import qualified API.Books as Books
|
|
|
|
import qualified API.Catalogue as Catalogue
|
|
|
|
import qualified API.Channels as Channels
|
|
|
|
import qualified API.Users as Users
|
2018-08-03 23:36:38 +03:00
|
|
|
|
2018-11-12 21:32:42 +02:00
|
|
|
type API = Users.API
|
2018-08-14 22:11:52 +03:00
|
|
|
:<|> "api" :> "current" :> Channels.API
|
|
|
|
:<|> "api" :> "current" :> Books.API
|
2018-08-14 00:03:52 +03:00
|
|
|
:<|> "api" :> "1" :> Catalogue.VersionedAPI 1
|
|
|
|
:<|> "api" :> "current" :> Catalogue.VersionedAPI 1
|
2018-08-02 22:11:11 +03:00
|
|
|
|
2018-08-02 22:32:23 +03:00
|
|
|
handler :: ServerT API AppM
|
2018-11-12 21:32:42 +02:00
|
|
|
handler = Users.handler
|
2018-08-05 23:13:49 +03:00
|
|
|
:<|> Channels.handler
|
2018-08-05 23:42:37 +03:00
|
|
|
:<|> Books.handler
|
2018-08-14 00:03:52 +03:00
|
|
|
:<|> Catalogue.handler
|
|
|
|
:<|> Catalogue.handler
|
2018-08-03 23:36:38 +03:00
|
|
|
|