agent-push-kit-0.1.0: lib/AgentPushKit/API/CustomerAccounts.hs
{-
Agent Push Kit API
The complete Agent Push Kit REST API. Application event ingestion uses an organization key beginning with `apk_`. Authenticated user operations accept either an Agent Push Kit login JWT or an agent access token beginning with `apt_`.
OpenAPI Version: 3.1.0
Agent Push Kit API API version: 0.1.0
Generated by OpenAPI Generator (https://openapi-generator.tech)
-}
{-|
Module : AgentPushKit.API.CustomerAccounts
-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MonoLocalBinds #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# OPTIONS_GHC -fno-warn-name-shadowing -fno-warn-unused-binds -fno-warn-unused-imports #-}
module AgentPushKit.API.CustomerAccounts where
import AgentPushKit.Core
import AgentPushKit.MimeTypes
import AgentPushKit.Model as M
import qualified Data.Aeson as A
import qualified Data.ByteString as B
import qualified Data.ByteString.Lazy as BL
import qualified Data.Data as P (Typeable, TypeRep, typeOf, typeRep)
import qualified Data.Foldable as P
import qualified Data.Map as Map
import qualified Data.Maybe as P
import qualified Data.Proxy as P (Proxy(..))
import qualified Data.Set as Set
import qualified Data.String as P
import qualified Data.Text as T
import qualified Data.Text.Encoding as T
import qualified Data.Text.Lazy as TL
import qualified Data.Text.Lazy.Encoding as TL
import qualified Data.Time as TI
import qualified Network.HTTP.Client.MultipartFormData as NH
import qualified Network.HTTP.Media as ME
import qualified Network.HTTP.Types as NH
import qualified Web.FormUrlEncoded as WH
import qualified Web.HttpApiData as WH
import Data.Text (Text)
import GHC.Base ((<|>))
import Prelude ((==),(/=),($), (.),(<$>),(<*>),(>>=),Maybe(..),Bool(..),Char,Double,FilePath,Float,Int,Integer,String,fmap,undefined,mempty,maybe,pure,Monad,Applicative,Functor)
import qualified Prelude as P
-- * Operations
-- ** CustomerAccounts
-- *** addOrganizationMember
-- | @POST \/organizations\/{organizationId}\/members@
--
-- Add an already-registered user to a customer account
--
-- AuthMethod: 'AuthBasicUserOrAgent'
--
addOrganizationMember
:: (Consumes AddOrganizationMember MimeJSON, MimeRender MimeJSON AddMemberInput)
=> AddMemberInput -- ^ "addMemberInput"
-> OrganizationId -- ^ "organizationId"
-> AgentPushKitRequest AddOrganizationMember MimeJSON Membership MimeJSON
addOrganizationMember addMemberInput (OrganizationId organizationId) =
_mkRequest "POST" ["/organizations/",toPath organizationId,"/members"]
`_hasAuthType` (P.Proxy :: P.Proxy AuthBasicUserOrAgent)
`setBodyParam` addMemberInput
data AddOrganizationMember
instance HasBodyParam AddOrganizationMember AddMemberInput
-- | @application/json@
instance Consumes AddOrganizationMember MimeJSON
-- | @application/json@
instance Produces AddOrganizationMember MimeJSON
-- *** createOrganization
-- | @POST \/organizations@
--
-- Create another Agent Push Kit customer account
--
-- AuthMethod: 'AuthBasicUserOrAgent'
--
createOrganization
:: (Consumes CreateOrganization MimeJSON, MimeRender MimeJSON CreateOrganizationInput)
=> CreateOrganizationInput -- ^ "createOrganizationInput"
-> AgentPushKitRequest CreateOrganization MimeJSON OrganizationCreated MimeJSON
createOrganization createOrganizationInput =
_mkRequest "POST" ["/organizations"]
`_hasAuthType` (P.Proxy :: P.Proxy AuthBasicUserOrAgent)
`setBodyParam` createOrganizationInput
data CreateOrganization
instance HasBodyParam CreateOrganization CreateOrganizationInput
-- | @application/json@
instance Consumes CreateOrganization MimeJSON
-- | @application/json@
instance Produces CreateOrganization MimeJSON
-- *** listOrganizationMembers
-- | @GET \/organizations\/{organizationId}\/members@
--
-- List members of a customer account
--
-- AuthMethod: 'AuthBasicUserOrAgent'
--
listOrganizationMembers
:: OrganizationId -- ^ "organizationId"
-> AgentPushKitRequest ListOrganizationMembers MimeNoContent [Membership] MimeJSON
listOrganizationMembers (OrganizationId organizationId) =
_mkRequest "GET" ["/organizations/",toPath organizationId,"/members"]
`_hasAuthType` (P.Proxy :: P.Proxy AuthBasicUserOrAgent)
data ListOrganizationMembers
-- | @application/json@
instance Produces ListOrganizationMembers MimeJSON
-- *** listOrganizations
-- | @GET \/organizations@
--
-- List customer accounts available to the current user
--
-- AuthMethod: 'AuthBasicUserOrAgent'
--
listOrganizations
:: AgentPushKitRequest ListOrganizations MimeNoContent [Organization] MimeJSON
listOrganizations =
_mkRequest "GET" ["/organizations"]
`_hasAuthType` (P.Proxy :: P.Proxy AuthBasicUserOrAgent)
data ListOrganizations
-- | @application/json@
instance Produces ListOrganizations MimeJSON
-- *** regenerateOrganizationApiKey
-- | @POST \/organizations\/{organizationId}\/api-key\/regenerate@
--
-- Rotate the application event-ingestion key
--
-- The previous `apk_` key stops working immediately. The replacement is returned only in this response.
--
-- AuthMethod: 'AuthBasicUserOrAgent'
--
regenerateOrganizationApiKey
:: OrganizationId -- ^ "organizationId"
-> AgentPushKitRequest RegenerateOrganizationApiKey MimeNoContent OrganizationApiKeyCreated MimeJSON
regenerateOrganizationApiKey (OrganizationId organizationId) =
_mkRequest "POST" ["/organizations/",toPath organizationId,"/api-key/regenerate"]
`_hasAuthType` (P.Proxy :: P.Proxy AuthBasicUserOrAgent)
data RegenerateOrganizationApiKey
-- | @application/json@
instance Produces RegenerateOrganizationApiKey MimeJSON