{-# LANGUAGE DataKinds #-}
module Hercules.API.Agent.Tasks where
import Data.Aeson (Object)
import Hercules.API.Prelude
import qualified Hercules.API.Task as Task
import Hercules.API.TaskStatus
import Servant.API
data TasksAPI auth f = TasksAPI
{ tasksReady ::
f
:- "tasks"
:> auth
:> Post '[JSON] (Maybe (Task.Task Task.Any)),
tasksSetStatus ::
f
:- "tasks"
:> Capture "taskId" (Id (Task.Task Task.Any))
:> ReqBody '[JSON] TaskStatus
:> auth
:> Post '[JSON] NoContent,
postLog ::
f
:- "tasks"
:> "log"
:> ReqBody '[JSON] [Object]
:> auth
:> Post '[JSON] NoContent
}
deriving (Generic)