packages feed

haskell-admin-managed-functions-1.0.0.0: src/Admin/Component/Managed.hs

{-# LANGUAGE DataKinds #-}

module Admin.Component.Managed
  ( ManagedAPI
  , ManagedComponent
  , managed
  , serveManaged
  , module Managed
  ) where

import Admin.Components
import Data.Version (makeVersion)
import Managed
import Managed.Connectors.HTTPConnector
import Servant

type ManagedAPI = HTTPConnectorAPI

type ManagedComponent = Component "managed" ManagedAPI

managed :: Agent SR -> ManagedComponent
managed agent =
  Component {server = serveManaged agent, version = makeVersion [1]}

serveManaged :: Agent SR -> Server ManagedAPI
serveManaged = httpConnectorServer