module Admin
  ( admin
  , with
  ) where

import Admin.Components
import Admin.Server (adminApp)
import Data.ByteString.Char8 (ByteString)
import Network.Wai (Application)

-- | Create WAI application containing the Haskell Admin server 
-- based on the provided Components and authentication tokens
admin ::
     Components components names api
  => [ByteString]
  -> components
  -> Application
admin :: [ByteString] -> components -> Application
admin [ByteString]
tokens components
c = components -> [ByteString] -> Application
forall a (names :: [Symbol]) api.
Components a names api =>
a -> [ByteString] -> Application
adminApp components
c [ByteString]
tokens