module Wire.API.Routes.Public.Galley.Bot where
import Servant
import Servant.OpenApi.Internal.Orphans ()
import Wire.API.Error
import Wire.API.Error.Galley
import Wire.API.Message
import Wire.API.Provider.Bot
import Wire.API.Routes.MultiVerb
import Wire.API.Routes.Named
import Wire.API.Routes.Public
import Wire.API.Routes.Public.Galley.Messaging
type BotAPI =
Named
"post-bot-message-unqualified"
( ZBot
:> ZConversation
:> CanThrow 'ConvNotFound
:> "bot"
:> "messages"
:> QueryParam "ignore_missing" IgnoreMissing
:> QueryParam "report_missing" ReportMissing
:> ReqBody '[JSON] NewOtrMessage
:> MultiVerb
'POST
'[Servant.JSON]
(PostOtrResponses ClientMismatch)
(PostOtrResponse ClientMismatch)
)
:<|> Named
"get-bot-conversation"
( CanThrow 'AccessDenied
:> CanThrow 'ConvNotFound
:> CanThrow OperationDenied
:> CanThrow 'NotATeamMember
:> CanThrow 'TeamNotFound
:> "bot"
:> "conversation"
:> ZBot
:> ZConversation
:> Get '[JSON] BotConvView
)