ebook-manager/backend/src/API.hs

36 lines
1.1 KiB
Haskell
Raw Normal View History

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
:<|> "api" :> "current" :> Channels.API
:<|> "api" :> "current" :> Books.API
:<|> "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
:<|> Catalogue.handler
:<|> Catalogue.handler
2018-08-03 23:36:38 +03:00