cachix-api-1.2: src/Cachix/API/Deploy/V1.hs
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE TypeOperators #-}
module Cachix.API.Deploy.V1 where
import Cachix.API (CachixAuth)
import qualified Cachix.Types.Deploy as Deploy
import qualified Cachix.Types.DeployResponse.V1 as DeployResponse.V1
import qualified Cachix.Types.Deployment as Deployment
import Data.UUID (UUID)
import Protolude
import Servant.API
import Servant.API.Generic
type API = "api" :> "v1" :> ToServantApi DeployAPI
data DeployAPI route = DeployAPI
{ activate :: route :- Activate,
getDeployment :: route :- GetDeployment
}
deriving (Generic)
type Activate =
CachixAuth
:> "deploy"
:> "activate"
:> ReqBody '[JSON] Deploy.Deploy
:> Post '[JSON] DeployResponse.V1.DeployResponse
type GetDeployment =
CachixAuth
:> "deploy"
:> "deployment"
:> Capture "uuid" UUID
:> Get '[JSON] Deployment.Deployment