-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | A Haskell bindings for Webex Teams API -- -- Please see the README on Github at -- https://github.com/nshimaza/webex-teams-api#readme @package webex-teams-api @version 0.2.0.1 -- | Implements some internal functions for Cisco Webex Teams API. module Network.WebexTeams.Internal -- | Drop given number of characters from the given String then -- change first character of the remaining string to lowercase. This -- function is intended to be used for fieldLabelModifier and -- constructorTagModifier argument of DeriveJSON from -- DATA.Aeson.TH. You can find how this function is used in -- WebexTeams source code. dropAndLow :: Int -> String -> String -- | Parsed Link header parameter. Convert only rel param to Rel and -- keeps other params as-is. data LinkParam Rel :: LinkParam Other :: ByteString -> LinkParam -- | Parsed entire Link header value. It keeps URI-Reference part untouched -- for farther processing in different way. data LinkHeader LinkHeader :: ByteString -> [(LinkParam, ByteString)] -> LinkHeader [linkHeaderUrl] :: LinkHeader -> ByteString [linkHeaderParams] :: LinkHeader -> [(LinkParam, ByteString)] -- | Matches to double quote. dQuote :: Parser Word8 -- | Matches to semicolon. semicolon :: Parser Word8 -- | Matches to equal character. equalChar :: Parser Word8 -- | Matches to less-than character. lessThan :: Parser Word8 -- | Matches to greater-than character. greaterThan :: Parser Word8 -- | Skips white spaces. skipSpace :: Parser () -- | Parse RFC7230 token. token :: Parser ByteString -- | Parse RFC7230 quoted-pair. quotedPair :: Parser Word8 -- | Parse RFC7230 quoted-string. quotedString :: Parser ByteString -- | Parse a parameter value in Link header. paramValue :: Parser ByteString -- | Convert parameter name string to LinkParam. paramName :: ByteString -> LinkParam -- | Parse parameter part of Link header. param :: Parser (LinkParam, ByteString) -- | Attoparsec parser of RFC5988 HTTP Link Header. Link header is defined -- in RFC5988 https://tools.ietf.org/html/rfc5988. This parser -- doesn't parse complete spec of RFC5988 but only parses rel="next" link -- for simple pagination. It doesn't parse obs-fold defined in RFC7230 -- https://tools.ietf.org/html/rfc7230. It assumes Header in -- Response never contains CRLF or LF. linkHeader :: Parser LinkHeader -- | Accept all RFC5988 Link HTTP header, filter first header containing -- rel="next" param, parse URL part. extractNextUrl :: [ByteString] -> [ByteString] -- | Return URL for next page if it exists in given response. getNextUrl :: Response a -> Maybe ByteString -- | Validate extracted URL from HTTP Link Header by getNextUrl. -- Check if it has same scheme and URI authority as original request. validateUrl :: String -> URIAuth -> ByteString -> Maybe ByteString instance GHC.Show.Show Network.WebexTeams.Internal.LinkHeader instance GHC.Classes.Eq Network.WebexTeams.Internal.LinkHeader instance GHC.Show.Show Network.WebexTeams.Internal.LinkParam instance GHC.Classes.Eq Network.WebexTeams.Internal.LinkParam -- | Deprecated: Use Network.WebexTeams.Internal module Network.CiscoSpark.Internal -- | This module defines most of types and records used in webex-teams-api -- package. Records used for REST communications are designed to be -- converted from / to JSON using Aeson package. Those records are also -- designed to allow create lenses by Control.Lens.TH.makeFields. -- -- Following example creates overloaded accessors for Person, -- Room and Team. -- --
--   makeFields ''Person
--   makeFields ''Room
--   makeFields ''Team
--   
-- -- You can access personId, roomId and teamId via -- overloaded accessor function id like this. -- --
--   let yourPersonId = yourPerson ^. id
--       yourRoomId = yourRoom ^. id
--       yourTeamId = yourTeam ^. id
--   
-- -- This package doesn't pre-generate those lenses for you because it is -- so easy. Please create them by yourself as needed. module Network.WebexTeams.Types -- | URL path for people API. peoplePath :: ByteString -- | URL path for rooms API. roomsPath :: ByteString -- | URL path for memberships API. membershipsPath :: ByteString -- | URL path for messages API. messagesPath :: ByteString -- | URL path for teams API. teamsPath :: ByteString -- | URL path for team memberships API. teamMembershipsPath :: ByteString -- | URL path for organizations API. organizationsPath :: ByteString -- | URL path for licenes API. licensesPath :: ByteString -- | URL path for roles API. rolesPath :: ByteString -- | URL path for webhooks API. webhooksPath :: ByteString -- | WebexTeamsListItem is a type class grouping types with following -- common usage. -- -- -- -- WebexTeamsListItem also associates the above type to wrapping list -- type (e.g. associates Person to PersonList). Wrapping -- type (PersonList in this case) is necessary for parsing JSON from REST -- API but what we are interested in is bare list such like [Person]. -- Type family association defined in this class is used for type -- translation from type of items to type of wrapper. class FromJSON (ToList i) => WebexTeamsListItem i where { -- | Associate item type to wrapping list type. type family ToList i :: *; } -- | Get bare list from wrapped type which can be parsed directly from -- JSON. unwrap :: WebexTeamsListItem i => ToList i -> [i] -- | Type class for getting URL path of API category from given type of -- value. class WebexTeamsApiPath a apiPath :: WebexTeamsApiPath a => a -> ByteString -- | Type family to associate a type appears in an argument to response -- type. class FromJSON (ToResponse a) => WebexTeamsResponse a where { -- | Associate response type to input parameter type such as filter -- criteria, entity key or create / update parameters. type family ToResponse a :: *; } -- | Extract containing entity ID string from given type of value. class (WebexTeamsApiPath a, WebexTeamsResponse a) => WebexTeamsDetail a toIdStr :: WebexTeamsDetail a => a -> Text -- | Convert given filter condition parameter in a concrete type to HTTP -- query strings. class (WebexTeamsApiPath a, WebexTeamsResponse a) => WebexTeamsFilter a toFilterList :: WebexTeamsFilter a => a -> [(ByteString, Maybe ByteString)] -- | Type class for parameter type for create entity API. class (WebexTeamsApiPath a, WebexTeamsResponse a, ToJSON a) => WebexTeamsCreate a -- | Type class for parameter type for update entity API. class (WebexTeamsApiPath a, WebexTeamsResponse a, ToJSON a) => WebexTeamsUpdate a -- | Type representing timestamp. For now, it is just copied from API -- response JSON. newtype Timestamp Timestamp :: Text -> Timestamp -- | Error code for element level error potentially contained in List API -- responses. newtype ErrorCode ErrorCode :: Text -> ErrorCode -- | ErrorTitle represent concrete error code and reason. It appears -- in Errors. data ErrorTitle ErrorTitle :: ErrorCode -> Text -> ErrorTitle -- | Error code of element level error in List API response. [errorTitleCode] :: ErrorTitle -> ErrorCode -- | Reason explanation of the error. [errorTitleReason] :: ErrorTitle -> Text -- | Errors is used for element level error in List API. When list -- API failed to retrieve an element, it returns this object for the -- element and response API status as successful instead of failing -- entire API request. -- -- Refer to API Document for more detail. newtype Errors Errors :: ErrorTitle -> Errors [errorsTitle] :: Errors -> ErrorTitle -- | Identifying Person describing detail of Webex Teams user or -- bot. newtype PersonId PersonId :: Text -> PersonId -- | Email address of user. newtype Email Email :: Text -> Email -- | Display name of user. newtype DisplayName DisplayName :: Text -> DisplayName -- | Nickname of user. newtype NickName NickName :: Text -> NickName -- | First name of user. newtype FirstName FirstName :: Text -> FirstName -- | Last name of user. newtype LastName LastName :: Text -> LastName -- | URL pointing to image file of Avatar. newtype AvatarUrl AvatarUrl :: Text -> AvatarUrl -- | Organization identifier which user or team belongs to. newtype OrganizationId OrganizationId :: Text -> OrganizationId -- | Role identifier which can be assigned to user. See Role -- too. newtype RoleId RoleId :: Text -> RoleId -- | License identifier which can be enabled on user. See -- License too. newtype LicenseId LicenseId :: Text -> LicenseId -- | Timezone in timezone name. newtype Timezone Timezone :: Text -> Timezone -- | Current status of Person. It can be updated automatically by -- recent activity or explicitly updated by user's operation or -- propagated from vacation setting on email system. data PersonStatus -- | The Person is currently active. Decoded from "active". PersonStatusActive :: PersonStatus -- | The Person is currently not active. Decoded from "inactive". PersonStatusInactive :: PersonStatus -- | Email system of the Person currently sets vacation. Decoded -- from "OutOfOffice". PersonStatusOutOfOffice :: PersonStatus -- | The Person is explicitly indicated do-not-disturb. Decoded from -- "DoNotDisturb". PersonStatusDoNotDisturb :: PersonStatus -- | The status of the Person is unknown. Decoded from "unknown". PersonStatusUnknown :: PersonStatus -- | PersonType indicates whether the Person is real human or bot. data PersonType -- | The Person is a real human. Decoded from "person". PersonTypePerson :: PersonType -- | The Person is a bot. Decoded from "bot". PersonTypeBot :: PersonType -- | Person is detail description of Webex Teams user or bot. Person -- is decoded from response JSON of Get Person Details REST call. It is -- also element type of response of List People call. data Person Person :: PersonId -> Maybe Errors -> Maybe [Email] -> Maybe DisplayName -> Maybe NickName -> Maybe FirstName -> Maybe LastName -> Maybe AvatarUrl -> Maybe OrganizationId -> Maybe [RoleId] -> Maybe [LicenseId] -> Maybe Timestamp -> Maybe Timezone -> Maybe Timestamp -> Maybe PersonStatus -> Maybe Bool -> Maybe Bool -> Maybe PersonType -> Person -- | Identifier of the Person. [personId] :: Person -> PersonId -- | Element level error possibly contained in List API response. [personErrors] :: Person -> Maybe Errors -- | List of email addresses which the Person has. [personEmails] :: Person -> Maybe [Email] -- | Display name of the Person. [personDisplayName] :: Person -> Maybe DisplayName -- | Nickname of the Person. [personNickName] :: Person -> Maybe NickName -- | First name of the Person. [personFirstName] :: Person -> Maybe FirstName -- | Last name of the Person. [personLastName] :: Person -> Maybe LastName -- | URL pointing a image used for Avatar of the Person. [personAvatar] :: Person -> Maybe AvatarUrl -- | Organization which the Person belongs to. [personOrgId] :: Person -> Maybe OrganizationId -- | List of roles assigned to the Person. [personRoles] :: Person -> Maybe [RoleId] -- | List of licenses effective on the Person. [personLicenses] :: Person -> Maybe [LicenseId] -- | Timestamp when the Person was created. [personCreated] :: Person -> Maybe Timestamp -- | Timezone of the Person. [personTimezone] :: Person -> Maybe Timezone -- | Timestamp of the latest activity of the Person. [personLastActivity] :: Person -> Maybe Timestamp -- | Current status of the Person [personStatus] :: Person -> Maybe PersonStatus -- | True if invitation for the Person is pending. [personInvitePending] :: Person -> Maybe Bool -- | True if login of the Person is enabled. [personLoginEnabled] :: Person -> Maybe Bool -- | Indicating if the Person is real human or bot. [personType] :: Person -> Maybe PersonType -- | PersonList is decoded from response JSON of List People REST -- call. It is list of Person. newtype PersonList PersonList :: [Person] -> PersonList [personListItems] :: PersonList -> [Person] -- | Optional query strings for people list API. data PersonFilter PersonFilter :: Maybe Email -> Maybe DisplayName -> Maybe OrganizationId -> PersonFilter -- | Find person who has given email address. [personFilterEmail] :: PersonFilter -> Maybe Email -- | Find person who has given display name. [personFilterDisplayName] :: PersonFilter -> Maybe DisplayName -- | Find person who belongs to given organization. [personFilterOrgId] :: PersonFilter -> Maybe OrganizationId -- | CreatePerson is encoded to request body JSON of Create a Person -- REST call. data CreatePerson CreatePerson :: Maybe [Email] -> Maybe DisplayName -> Maybe FirstName -> Maybe LastName -> Maybe AvatarUrl -> Maybe OrganizationId -> Maybe [RoleId] -> Maybe [LicenseId] -> CreatePerson -- | List of email addresses which the Person has. [createPersonEmails] :: CreatePerson -> Maybe [Email] -- | Display name of the Person. [createPersonDisplayName] :: CreatePerson -> Maybe DisplayName -- | First name of the Person. [createPersonFirstName] :: CreatePerson -> Maybe FirstName -- | Last name of the Person. [createPersonLastName] :: CreatePerson -> Maybe LastName -- | URL pointing a image used for Avatar of the Person. [createPersonAvatar] :: CreatePerson -> Maybe AvatarUrl -- | Organization which the Person belongs to. [createPersonOrgId] :: CreatePerson -> Maybe OrganizationId -- | List of roles assigned to the person. [createPersonRoles] :: CreatePerson -> Maybe [RoleId] -- | List of licenses effective on the Person. [createPersonLicenses] :: CreatePerson -> Maybe [LicenseId] -- | UpdatePerson is encoded to request body JSON of Update a Person -- REST call. data UpdatePerson UpdatePerson :: Maybe DisplayName -> Maybe FirstName -> Maybe LastName -> Maybe AvatarUrl -> Maybe OrganizationId -> Maybe [RoleId] -> Maybe [LicenseId] -> UpdatePerson -- | Display name of the Person. [updatePersonDisplayName] :: UpdatePerson -> Maybe DisplayName -- | First name of the Person. [updatePersonFirstName] :: UpdatePerson -> Maybe FirstName -- | Last name of the Person. [updatePersonLastName] :: UpdatePerson -> Maybe LastName -- | URL pointing a image used for Avatar of the Person. [updatePersonAvatar] :: UpdatePerson -> Maybe AvatarUrl -- | Organization which the Person belongs to. [updatePersonOrgId] :: UpdatePerson -> Maybe OrganizationId -- | List of roles assigned to the person. [updatePersonRoles] :: UpdatePerson -> Maybe [RoleId] -- | List of licenses effective on the Person. [updatePersonLicenses] :: UpdatePerson -> Maybe [LicenseId] -- | Identifying Team. newtype TeamId TeamId :: Text -> TeamId -- | Name of Team newtype TeamName TeamName :: Text -> TeamName -- | Team is group of Person and group of Room. A -- Person can belong to multiple Team but a Room can belong to at most -- one Team. Team is decoded from response JSON of Get Team Details REST -- call. It is also element type of response of List Teams call. data Team Team :: TeamId -> Maybe Errors -> Maybe TeamName -> Maybe PersonId -> Maybe Timestamp -> Team -- | Identifier of the Team. [teamId] :: Team -> TeamId -- | Element level error possibly contained in List API response. [teamErrors] :: Team -> Maybe Errors -- | Name of the Team. [teamName] :: Team -> Maybe TeamName -- | Identifier of the Person who created the Team. [teamCreatorId] :: Team -> Maybe PersonId -- | Timestamp when the Team was created. [teamCreated] :: Team -> Maybe Timestamp -- | TeamList is decoded from response JSON of List Teams REST call. -- It is list of Team. newtype TeamList TeamList :: [Team] -> TeamList [teamListItems] :: TeamList -> [Team] -- | CreateTeam is encoded to request body JSON of Create a Team -- REST call. newtype CreateTeam CreateTeam :: TeamName -> CreateTeam [createTeamName] :: CreateTeam -> TeamName -- | UpdateTeam is encoded to request body JSON of Update a Team -- REST call. newtype UpdateTeam UpdateTeam :: TeamName -> UpdateTeam [updateTeamName] :: UpdateTeam -> TeamName -- | Identifying TeamMembership. newtype TeamMembershipId TeamMembershipId :: Text -> TeamMembershipId -- | TeamMembership is association between Team and -- Person. It can be N:N relation. A Person can belong to multiple -- Team. TeamMembership is decoded from response JSON of Get Team -- Membership Details REST call. It is also element type of response of -- List Team Memberships call. data TeamMembership TeamMembership :: TeamMembershipId -> Maybe Errors -> Maybe TeamId -> Maybe PersonId -> Maybe Email -> Maybe DisplayName -> Maybe OrganizationId -> Maybe Bool -> Maybe Timestamp -> TeamMembership -- | Identifier of the TeamMembership entry. [teamMembershipId] :: TeamMembership -> TeamMembershipId -- | Element level error possibly contained in List API response. [teamMembershipErrors] :: TeamMembership -> Maybe Errors -- | Identifier of the Team which the Person belongs to. [teamMembershipTeamId] :: TeamMembership -> Maybe TeamId -- | Identifier of user who belongs to the Team. [teamMembershipPersonId] :: TeamMembership -> Maybe PersonId -- | Email address of the user identified by the PersonId. [teamMembershipPersonEmail] :: TeamMembership -> Maybe Email -- | Display name of the user identified by the PersonId. [teamMembershipPersonDisplayName] :: TeamMembership -> Maybe DisplayName -- | Identifier of Organization which the Team blongs to. [teamMembershipPersonOrgId] :: TeamMembership -> Maybe OrganizationId -- | The Person is moderator of the Team when True. [teamMembershipIsModerator] :: TeamMembership -> Maybe Bool -- | Timestamp when the TeamMembership entry created. [teamMembershipCreated] :: TeamMembership -> Maybe Timestamp -- | TeamMembershipList is decoded from response JSON of List Team -- Memberships REST call. It is list of TeamMembership. newtype TeamMembershipList TeamMembershipList :: [TeamMembership] -> TeamMembershipList [teamMembershipListItems] :: TeamMembershipList -> [TeamMembership] -- | Optional query strings for team membership list API newtype TeamMembershipFilter TeamMembershipFilter :: TeamId -> TeamMembershipFilter -- | List membership only in given team. [teamMembershipFilterTeamId] :: TeamMembershipFilter -> TeamId -- | Default value of query strings for team membership list API. Because -- TeamId is mandatory, user have to supply it in order to get -- rest of defaults. As of writing, there is no filter parameter other -- than TeamId but TeamMembershipFilter is used for providing -- consistent API like streamEntityWithFilter. defaultTeamMembershipFilter :: TeamId -> TeamMembershipFilter -- | CreateTeamMembership is encoded to request body JSON of Create -- a Team Membership REST call. data CreateTeamMembership CreateTeamMembership :: TeamId -> Maybe PersonId -> Maybe Email -> Maybe Bool -> CreateTeamMembership -- | Identifier of Team which the user will be added to. [createTeamMembershipTeamId] :: CreateTeamMembership -> TeamId -- | Identifier of Person who will be added to the Team. [createTeamMembershipPersonId] :: CreateTeamMembership -> Maybe PersonId -- | Email of the Person to be added. [createTeamMembershipPersonEmail] :: CreateTeamMembership -> Maybe Email -- | The user becomes a moderator of the team if True. [createTeamMembershipIsModerator] :: CreateTeamMembership -> Maybe Bool -- | UpdateTeamMembership is encoded to request body JSON of Update -- a Team Membership REST call. newtype UpdateTeamMembership UpdateTeamMembership :: Bool -> UpdateTeamMembership [updateTeamMembershipIsModerator] :: UpdateTeamMembership -> Bool -- | Identifying Room. newtype RoomId RoomId :: Text -> RoomId -- | Title text of Room. newtype RoomTitle RoomTitle :: Text -> RoomTitle -- | SIP address. newtype SipAddr SipAddr :: Text -> SipAddr -- | RoomType indicates if the Room is for 1:1 user or group -- of users. data RoomType -- | The Room is for 1:1. Decoded from "direct". RoomTypeDirect :: RoomType -- | The Room is for group. Decoded from "group". RoomTypeGroup :: RoomType -- | Room is communication space in Webex Teams and called "Space" -- on UI. Historically it was called Room on UI too but UI has been -- changed to "Space" in order to avoid confusion with the concept "Room" -- associated to hardware facility of video conferencing on Webex Teams. -- The name of Room is kept unchanged for backward compatibility. -- -- Room is decoded from response JSON of Get Room Details REST call. It -- is also element type of response of List Rooms call. data Room Room :: RoomId -> Maybe Errors -> Maybe RoomTitle -> Maybe RoomType -> Maybe Bool -> Maybe SipAddr -> Maybe Timestamp -> Maybe TeamId -> Maybe PersonId -> Maybe Timestamp -> Room -- | Identifier of the Room. [roomId] :: Room -> RoomId -- | Element level error possibly contained in List API response. [roomErrors] :: Room -> Maybe Errors -- | Title text of the Room. [roomTitle] :: Room -> Maybe RoomTitle -- | Indicates if the Room is for 1:1 or group. [roomType] :: Room -> Maybe RoomType -- | True if the Room is locked. [roomIsLocked] :: Room -> Maybe Bool -- | SIP address of the Room. [roomSipAddress] :: Room -> Maybe SipAddr -- | Timestamp when the last activity was happen on the Room. [roomLastActivity] :: Room -> Maybe Timestamp -- | Identifier of the Team which the Room belongs to. [roomTeamId] :: Room -> Maybe TeamId -- | Identifier of Person who created the Room. [roomCreatorId] :: Room -> Maybe PersonId -- | Timestamp when the Room was created. [roomCreated] :: Room -> Maybe Timestamp -- | RoomList is decoded from response JSON of List Rooms REST call. -- It is list of Room. newtype RoomList RoomList :: [Room] -> RoomList [roomListItems] :: RoomList -> [Room] -- | Sorting option for room list API. data RoomFilterSortBy RoomFilterSortById :: RoomFilterSortBy RoomFilterSortByLastActivity :: RoomFilterSortBy RoomFilterSortByCreated :: RoomFilterSortBy -- | Optional query strings for room list API data RoomFilter RoomFilter :: Maybe TeamId -> Maybe RoomType -> Maybe RoomFilterSortBy -> RoomFilter -- | List rooms only in given team. [roomFilterTeamId] :: RoomFilter -> Maybe TeamId -- | List given type rooms only. [roomFilterRoomType] :: RoomFilter -> Maybe RoomType -- | Sort response by given option. [roomFilterSortBy] :: RoomFilter -> Maybe RoomFilterSortBy -- | Sum type to ByteString converter for RoomType. roomTypeToFilterString :: RoomType -> ByteString -- | Sum type to ByteString converter for RoomFilterSortBy. roomFilterSortByToFilterString :: RoomFilterSortBy -> ByteString -- | CreateRoom is encoded to request body JSON of Create a Room -- REST call. data CreateRoom CreateRoom :: RoomTitle -> Maybe TeamId -> CreateRoom -- | Title text of newly created Room. [createRoomTitle] :: CreateRoom -> RoomTitle -- | Identifier of Team which the Room will belong to. If Nothing, -- the new Room will be standalone. [createRoomTeamId] :: CreateRoom -> Maybe TeamId -- | UpdateRoom is encoded to request body JSON of Update a Room -- REST call. newtype UpdateRoom UpdateRoom :: RoomTitle -> UpdateRoom [updateRoomTitle] :: UpdateRoom -> RoomTitle -- | Identifying Membership. newtype MembershipId MembershipId :: Text -> MembershipId -- | Membership is association between Room and -- Person. It can be N:N relation. A Person can belong to multiple -- Room. Membership is decoded from response JSON of Get Membership -- Details REST call. It is also element type of response of List -- Memberships call. data Membership Membership :: MembershipId -> Maybe Errors -> Maybe RoomId -> Maybe PersonId -> Maybe Email -> Maybe DisplayName -> Maybe OrganizationId -> Maybe Bool -> Maybe Bool -> Maybe Timestamp -> Membership -- | Identifier of the Membership entry. [membershipId] :: Membership -> MembershipId -- | Element level error possibly contained in List API response. [membershipErrors] :: Membership -> Maybe Errors -- | Identifier of the Room associated to the Person [membershipRoomId] :: Membership -> Maybe RoomId -- | Identifier of the Person associated to the Room [membershipPersonId] :: Membership -> Maybe PersonId -- | Email of the Person [membershipPersonEmail] :: Membership -> Maybe Email -- | Display name of the Person [membershipPersonDisplayName] :: Membership -> Maybe DisplayName -- | Identifier of Organization which the Person belongs to. [membershipPersonOrgId] :: Membership -> Maybe OrganizationId -- | True if the Person is a moderator of the room. [membershipIsModerator] :: Membership -> Maybe Bool -- | True if the Person is monitoring the Room. [membershipIsMonitor] :: Membership -> Maybe Bool -- | Timestamp when the Membership was created. [membershipCreated] :: Membership -> Maybe Timestamp -- | MembershipList is decoded from response JSON of List -- Memberships REST call. It is list of Membership. newtype MembershipList MembershipList :: [Membership] -> MembershipList [membershipListItems] :: MembershipList -> [Membership] -- | Optional query strings for room membership list API data MembershipFilter MembershipFilter :: Maybe RoomId -> Maybe PersonId -> Maybe Email -> MembershipFilter -- | List membership only in given room. [membershipFilterRoomId] :: MembershipFilter -> Maybe RoomId -- | List membership related to given person of personId. [membershipFilterPersonId] :: MembershipFilter -> Maybe PersonId -- | List membership related to given person of email. [membershipFilterPersonEmail] :: MembershipFilter -> Maybe Email -- | CreateMembership is encoded to request body JSON of Create a -- Membership REST call. data CreateMembership CreateMembership :: RoomId -> Maybe PersonId -> Maybe Email -> Maybe Bool -> CreateMembership -- | Identifier of Room which the Person will be added to. [createMembershipRoomId] :: CreateMembership -> RoomId -- | Identifier of Person who will be added to the Room. [createMembershipPersonId] :: CreateMembership -> Maybe PersonId -- | Email of the Person to be added. [createMembershipPersonEmail] :: CreateMembership -> Maybe Email -- | The Person becomes a moderator of the Room if True. [createMembershipIsModerator] :: CreateMembership -> Maybe Bool -- | UpdateMembership is encoded to request body JSON of Update a -- Membership REST call. newtype UpdateMembership UpdateMembership :: Bool -> UpdateMembership [updateMembershipIsModerator] :: UpdateMembership -> Bool -- | Identifying Message. newtype MessageId MessageId :: Text -> MessageId -- | Body of message in plain text. newtype MessageText MessageText :: Text -> MessageText -- | Body of message in html. newtype MessageHtml MessageHtml :: Text -> MessageHtml -- | Body of message in markdown. newtype MessageMarkdown MessageMarkdown :: Text -> MessageMarkdown -- | URL pointing attached file of message. newtype FileUrl FileUrl :: Text -> FileUrl -- | Message is a message posted to a Room by some -- Person. Room is decoded from response JSON of Get Message -- Details REST call. It is also element type of response of List -- Messages call. data Message Message :: MessageId -> Maybe Errors -> Maybe RoomId -> Maybe RoomType -> Maybe PersonId -> Maybe Email -> Maybe MessageText -> Maybe MessageHtml -> Maybe [FileUrl] -> Maybe PersonId -> Maybe Email -> Maybe Timestamp -> Maybe [PersonId] -> Message -- | Identifier of the Message. [messageId] :: Message -> MessageId -- | Element level error possibly contained in List API response. [messageErrors] :: Message -> Maybe Errors -- | Identifier of the room where the Message was sent. [messageRoomId] :: Message -> Maybe RoomId -- | Type of Room the message was sent to. [messageRoomType] :: Message -> Maybe RoomType -- | Presents in documentation but doesn't appear in actual API response. [messageToPersonId] :: Message -> Maybe PersonId -- | Presents in documentation but doesn't appear in actual API response. [messageToPersonEmail] :: Message -> Maybe Email -- | Message body in plain text. [messageText] :: Message -> Maybe MessageText -- | Message body in HTML. [messageHtml] :: Message -> Maybe MessageHtml -- | URL to files attached to the message. [messageFiles] :: Message -> Maybe [FileUrl] -- | Identifier of Person who sent the message. [messagePersonId] :: Message -> Maybe PersonId -- | Email of Person who sent the message. [messagePersonEmail] :: Message -> Maybe Email -- | Timestamp when the massage was sent. [messageCreated] :: Message -> Maybe Timestamp -- | List of identifiers of Person were mentioned in the message. [messageMentionedPeople] :: Message -> Maybe [PersonId] -- | MessageList is decoded from response JSON of List Messages REST -- call. It is list of Message. newtype MessageList MessageList :: [Message] -> MessageList [messageListItems] :: MessageList -> [Message] -- | Sum type for mentionedPeople query string. It can be "me" or -- PersonId. data MentionedPeople MentionedPeopleMe :: MentionedPeople MentionedPeople :: PersonId -> MentionedPeople -- | Optional query strings for message list API data MessageFilter MessageFilter :: RoomId -> Maybe MentionedPeople -> Maybe Timestamp -> Maybe MessageId -> MessageFilter -- | Mandatory parameter which room to search. [messageFilterRoomId] :: MessageFilter -> RoomId -- | List messages only mentioned to given person. [messageFilterMentionedPeople] :: MessageFilter -> Maybe MentionedPeople -- | List messages posted before given timestamp. [messageFilterBefore] :: MessageFilter -> Maybe Timestamp -- | List messages posted before given message. [messageFilterBeforeMessage] :: MessageFilter -> Maybe MessageId -- | Default value of query strings for message list API. Because -- RoomId is mandatory, user have to supply it in order to get -- rest of defaults. defaultMessageFilter :: RoomId -> MessageFilter -- | Sum type to ByteString converter for mentionedPeople query string. mentionedPeopleToFilterString :: MentionedPeople -> ByteString -- | CreateMessage is encoded to request body JSON of Create a -- Message REST call. data CreateMessage CreateMessage :: Maybe RoomId -> Maybe PersonId -> Maybe Email -> Maybe MessageText -> Maybe MessageMarkdown -> Maybe [FileUrl] -> CreateMessage -- | Identifier of the Room the message will be posted to. [createMessageRoomId] :: CreateMessage -> Maybe RoomId -- | Identifier of the Person to whom the direct message will be -- sent. [createMessageToPersonId] :: CreateMessage -> Maybe PersonId -- | Email of Person who receives the Message. [createMessageToPersonEmail] :: CreateMessage -> Maybe Email -- | Message body in plain text. [createMessageText] :: CreateMessage -> Maybe MessageText -- | Message body in markdown format. [createMessageMarkdown] :: CreateMessage -> Maybe MessageMarkdown -- | URLs of Attached files to the message. [createMessageFiles] :: CreateMessage -> Maybe [FileUrl] -- | Display name of Organization newtype OrganizationDisplayName OrganizationDisplayName :: Text -> OrganizationDisplayName -- | Organization is an administrative group of Webex Teams users. -- Each Person belongs to one Organization. Organization is -- decoded from response JSON of Get Organization Details REST call. It -- is also element type of response of List Organizations call. data Organization Organization :: OrganizationId -> Maybe Errors -> Maybe OrganizationDisplayName -> Maybe Timestamp -> Organization -- | Identifier of the Organization. [organizationId] :: Organization -> OrganizationId -- | Element level error possibly contained in List API response. [organizationErrors] :: Organization -> Maybe Errors -- | Display name of the Organization. [organizationDisplayName] :: Organization -> Maybe OrganizationDisplayName -- | Timestamp when the Organization was created. [organizationCreated] :: Organization -> Maybe Timestamp -- | OrganizationList is decoded from response JSON of List -- Organizations REST call. It is list of Organization. newtype OrganizationList OrganizationList :: [Organization] -> OrganizationList [organizationListItems] :: OrganizationList -> [Organization] -- | Display name of License newtype LicenseName LicenseName :: Text -> LicenseName -- | Counting number of granted or consumed License newtype LicenseUnit LicenseUnit :: Integer -> LicenseUnit -- | License is allowance for features and services of Webex Teams -- subscription. License is decoded from response JSON of Get License -- Details REST call. It is also element type of response of List -- Licenses call. data License License :: LicenseId -> Maybe Errors -> Maybe LicenseName -> Maybe LicenseUnit -> Maybe LicenseUnit -> License -- | Identifier of the License. [licenseId] :: License -> LicenseId -- | Element level error possibly contained in List API response. [licenseErrors] :: License -> Maybe Errors -- | Name of the License. [licenseName] :: License -> Maybe LicenseName -- | Number of granted License. [licenseTotalUnits] :: License -> Maybe LicenseUnit -- | Number of currently consumed License. [licenseConsumedUnits] :: License -> Maybe LicenseUnit -- | LicenseList is decoded from response JSON of List Licenses REST -- call. It is list of License. newtype LicenseList LicenseList :: [License] -> LicenseList [licenseListItems] :: LicenseList -> [License] -- | Optional query strings for license list API newtype LicenseFilter LicenseFilter :: Maybe OrganizationId -> LicenseFilter -- | List licenses only applicable to given organization. [licenseFilterOrgId] :: LicenseFilter -> Maybe OrganizationId -- | Name of Role. newtype RoleName RoleName :: Text -> RoleName -- | A persona for an authenticated user, corresponding to a set of -- privileges within an organization. Role is decoded from response JSON -- of Get Role Details REST call. It is also element type of response of -- List Roles call. data Role Role :: RoleId -> Maybe Errors -> Maybe RoleName -> Role -- | Identifier of the Role [roleId] :: Role -> RoleId -- | Element level error possibly contained in List API response. [roleErrors] :: Role -> Maybe Errors -- | Name of the Role [roleName] :: Role -> Maybe RoleName -- | RoleList is decoded from response JSON of List Role REST call. -- It is list of Role. newtype RoleList RoleList :: [Role] -> RoleList [roleListItems] :: RoleList -> [Role] -- | Webhook identifier which can be assigned to user. See -- Webhook too. newtype WebhookId WebhookId :: Text -> WebhookId -- | Name of Webhook. newtype WebhookName WebhookName :: Text -> WebhookName -- | URL pointing to webhook target. newtype WebhookUrl WebhookUrl :: Text -> WebhookUrl -- | URL-encoded set of webhook filtering criteria. newtype WebhookFilter WebhookFilter :: Text -> WebhookFilter -- | Shared secret supplied by user to authenticate Webex Cloud by webhook -- receiver. newtype WebhookSecret WebhookSecret :: Text -> WebhookSecret -- | WebhookResource indicates source of event which triggered -- webhook access. data WebhookResource WebhookResourceAll :: WebhookResource WebhookResourceTeams :: WebhookResource WebhookResourceMemberships :: WebhookResource WebhookResourceMessages :: WebhookResource WebhookResourceRooms :: WebhookResource -- | WebhookEvent indicates which event triggered Webhook access. data WebhookEvent WebhookEventAll :: WebhookEvent WebhookEventCreated :: WebhookEvent WebhookEventUpdated :: WebhookEvent WebhookEventDeleted :: WebhookEvent -- | Webhook allow your app to be notified via HTTP when a specific -- event occurs on Webex Teams. For example, your app can register a -- webhook to be notified when a new message is posted into a specific -- room. data Webhook Webhook :: WebhookId -> Maybe Errors -> Maybe WebhookName -> Maybe WebhookUrl -> Maybe WebhookResource -> Maybe WebhookEvent -> Maybe WebhookFilter -> Maybe WebhookSecret -> Maybe Timestamp -> Webhook -- | Identifier of the Webhook. [webhookId] :: Webhook -> WebhookId -- | Element level error possibly contained in List API response. [webhookErrors] :: Webhook -> Maybe Errors -- | Name of the Webhook. [webhookName] :: Webhook -> Maybe WebhookName -- | URL pointing to webhook target. [webhookTargetUrl] :: Webhook -> Maybe WebhookUrl -- | Resource type where events are monitored. [webhookResource] :: Webhook -> Maybe WebhookResource -- | Event type which will be monitored. [webhookEvent] :: Webhook -> Maybe WebhookEvent -- | URL-encoded set of webhook filtering criteria. [webhookFilter] :: Webhook -> Maybe WebhookFilter -- | User supplied shared secret for authentication. [webhookSecret] :: Webhook -> Maybe WebhookSecret -- | Timestamp when the Webhook was created. [webhookCreated] :: Webhook -> Maybe Timestamp -- | WebhookList is decoded from response JSON of List Webhook REST -- call. It is list of Webhook. newtype WebhookList WebhookList :: [Webhook] -> WebhookList [webhookListItems] :: WebhookList -> [Webhook] -- | CreateWebhook is encoded to request body JSON of Create a -- Webhook REST call. data CreateWebhook CreateWebhook :: WebhookName -> WebhookUrl -> WebhookResource -> WebhookEvent -> Maybe WebhookFilter -> Maybe WebhookSecret -> CreateWebhook -- | Name of Webhook to be created. [createWebhookName] :: CreateWebhook -> WebhookName -- | URL pointing to webhook target. [createWebhookTargetUrl] :: CreateWebhook -> WebhookUrl -- | Resource type where events will be monitored. [createWebhookResource] :: CreateWebhook -> WebhookResource -- | Event type which will be monitored. [createWebhookEvent] :: CreateWebhook -> WebhookEvent -- | URL-encoded set of webhook filtering criteria. [createWebhookFilter] :: CreateWebhook -> Maybe WebhookFilter -- | User supplied shared secret for authentication. [createWebhookSecret] :: CreateWebhook -> Maybe WebhookSecret -- | UpdateWebhook is encoded to request body JSON of Update a -- Webhook REST call. data UpdateWebhook UpdateWebhook :: WebhookName -> WebhookUrl -> UpdateWebhook -- | Name of Webhook to be created. [updateWebhookName] :: UpdateWebhook -> WebhookName -- | URL pointing to webhook target. [updateWebhookTargetUrl] :: UpdateWebhook -> WebhookUrl -- | Optional query strings for membership event. data WebhookMembershipFilter WebhookMembershipFilter :: Maybe RoomId -> Maybe PersonId -> Maybe Email -> Maybe Bool -> WebhookMembershipFilter -- | Feed events only for given room. [webhookFilterMembershipRoomId] :: WebhookMembershipFilter -> Maybe RoomId -- | Feed events only for given person. [webhookFilterMembershipPersonId] :: WebhookMembershipFilter -> Maybe PersonId -- | Feed events only person who has given email. [webhookFilterMembershipPersonEmail] :: WebhookMembershipFilter -> Maybe Email -- | Feed events only for moderator membership changes. [webhookFilterMembershipIsModerator] :: WebhookMembershipFilter -> Maybe Bool -- | Optional query strings for message event. data WebhookMessageFilter WebhookMessageFilter :: Maybe RoomId -> Maybe RoomType -> Maybe PersonId -> Maybe Email -> Maybe MentionedPeople -> Maybe Bool -> WebhookMessageFilter -- | Feed events only for given room. [webhookFilterMessageRoomId] :: WebhookMessageFilter -> Maybe RoomId -- | Feed events only for given room type. [webhookFilterMessageRoomType] :: WebhookMessageFilter -> Maybe RoomType -- | Feed events only for given person. [webhookFilterMessagePersonId] :: WebhookMessageFilter -> Maybe PersonId -- | Feed events only person who has given email. [webhookFilterMessagePersonEmail] :: WebhookMessageFilter -> Maybe Email -- | Feed events only mentioned for given person. [webhookFilterMessagememtionedPeople] :: WebhookMessageFilter -> Maybe MentionedPeople -- | Feed events only messages with attached file. [webhookFilterMessageHasFiles] :: WebhookMessageFilter -> Maybe Bool -- | Optional query strings for room event. data WebhookRoomFilter WebhookRoomFilter :: Maybe RoomType -> Maybe Bool -> WebhookRoomFilter -- | Feed events only for given room type. [webhookFilterRoomType] :: WebhookRoomFilter -> Maybe RoomType -- | Feed events only locked unlocked rooms when true. [webhookFilterRoomIsLocked] :: WebhookRoomFilter -> Maybe Bool -- | Identifier of app. newtype AppId AppId :: Text -> AppId -- | WebhookNotifyOwnedBy indicates if the webhook is owned by the -- org or the creator. data WebhookNotifyOwnedBy WebhookNotifyOwnedByOrg :: WebhookNotifyOwnedBy WebhookNotifyOwnedByCreator :: WebhookNotifyOwnedBy -- | WebhookNotifyStatus indicates if the webhook is active. data WebhookNotifyStatus WebhookNotifyStatusActive :: WebhookNotifyStatus WebhookNotifyStatusDesabled :: WebhookNotifyStatus -- | Webhook decodes webhook notification from Webex Cloud except -- data field. Data field can be one of Membership, Message -- or Room. Type of data field is shown as value of resource -- field. data WebhookNotify WebhookNotify :: WebhookId -> WebhookName -> WebhookResource -> WebhookEvent -> WebhookFilter -> Organization -> PersonId -> AppId -> WebhookNotifyOwnedBy -> WebhookNotifyStatus -> PersonId -> WebhookNotify [webhookNotifyId] :: WebhookNotify -> WebhookId [webhookNotifyName] :: WebhookNotify -> WebhookName [webhookNotifyResource] :: WebhookNotify -> WebhookResource [webhookNotifyEvent] :: WebhookNotify -> WebhookEvent [webhookNotifyFilter] :: WebhookNotify -> WebhookFilter [webhookNotifyOrgId] :: WebhookNotify -> Organization [webhookNotifyCreatedBy] :: WebhookNotify -> PersonId [webhookNotifyAppId] :: WebhookNotify -> AppId [webhookNotifyOwnedBy] :: WebhookNotify -> WebhookNotifyOwnedBy [webhookNotifyStatus] :: WebhookNotify -> WebhookNotifyStatus [webhookNotifyActorId] :: WebhookNotify -> PersonId -- | Data part of webhook notification is decoded to Membership when -- resource field value is "memberships". newtype WebhookNotifyMembership WebhookNotifyMembership :: Membership -> WebhookNotifyMembership [webhookNotifyMembershipData] :: WebhookNotifyMembership -> Membership -- | Data part of webhook notification is decoded to Message when -- resource field value is "messages". newtype WebhookNotifyMessage WebhookNotifyMessage :: Message -> WebhookNotifyMessage [webhookNotifyMessageData] :: WebhookNotifyMessage -> Message -- | Data part of webhook notification is decoded to Room when -- resource field value is "rooms". newtype WebhookNotifyRoom WebhookNotifyRoom :: Room -> WebhookNotifyRoom [webhookNotifyRoomData] :: WebhookNotifyRoom -> Room instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.WebhookNotifyRoom instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.WebhookNotifyRoom instance GHC.Show.Show Network.WebexTeams.Types.WebhookNotifyRoom instance GHC.Classes.Eq Network.WebexTeams.Types.WebhookNotifyRoom instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.WebhookNotifyMessage instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.WebhookNotifyMessage instance GHC.Show.Show Network.WebexTeams.Types.WebhookNotifyMessage instance GHC.Classes.Eq Network.WebexTeams.Types.WebhookNotifyMessage instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.WebhookNotifyMembership instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.WebhookNotifyMembership instance GHC.Show.Show Network.WebexTeams.Types.WebhookNotifyMembership instance GHC.Classes.Eq Network.WebexTeams.Types.WebhookNotifyMembership instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.WebhookNotify instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.WebhookNotify instance GHC.Show.Show Network.WebexTeams.Types.WebhookNotify instance GHC.Classes.Eq Network.WebexTeams.Types.WebhookNotify instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.WebhookNotifyStatus instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.WebhookNotifyStatus instance GHC.Show.Show Network.WebexTeams.Types.WebhookNotifyStatus instance GHC.Classes.Eq Network.WebexTeams.Types.WebhookNotifyStatus instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.WebhookNotifyOwnedBy instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.WebhookNotifyOwnedBy instance GHC.Show.Show Network.WebexTeams.Types.WebhookNotifyOwnedBy instance GHC.Classes.Eq Network.WebexTeams.Types.WebhookNotifyOwnedBy instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.AppId instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.AppId instance GHC.Generics.Generic Network.WebexTeams.Types.AppId instance GHC.Show.Show Network.WebexTeams.Types.AppId instance GHC.Classes.Eq Network.WebexTeams.Types.AppId instance GHC.Show.Show Network.WebexTeams.Types.WebhookRoomFilter instance GHC.Classes.Eq Network.WebexTeams.Types.WebhookRoomFilter instance GHC.Show.Show Network.WebexTeams.Types.WebhookMessageFilter instance GHC.Classes.Eq Network.WebexTeams.Types.WebhookMessageFilter instance GHC.Show.Show Network.WebexTeams.Types.WebhookMembershipFilter instance GHC.Classes.Eq Network.WebexTeams.Types.WebhookMembershipFilter instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.WebhookRoomFilter instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.WebhookRoomFilter instance Network.WebexTeams.Types.WebexTeamsFilter Network.WebexTeams.Types.WebhookRoomFilter instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.WebhookMessageFilter instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.WebhookMessageFilter instance Network.WebexTeams.Types.WebexTeamsFilter Network.WebexTeams.Types.WebhookMessageFilter instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.WebhookMembershipFilter instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.WebhookMembershipFilter instance Network.WebexTeams.Types.WebexTeamsFilter Network.WebexTeams.Types.WebhookMembershipFilter instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.UpdateWebhook instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.UpdateWebhook instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.UpdateWebhook instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.UpdateWebhook instance Network.WebexTeams.Types.WebexTeamsUpdate Network.WebexTeams.Types.UpdateWebhook instance GHC.Show.Show Network.WebexTeams.Types.UpdateWebhook instance GHC.Classes.Eq Network.WebexTeams.Types.UpdateWebhook instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.CreateWebhook instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.CreateWebhook instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.CreateWebhook instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.CreateWebhook instance Network.WebexTeams.Types.WebexTeamsCreate Network.WebexTeams.Types.CreateWebhook instance GHC.Show.Show Network.WebexTeams.Types.CreateWebhook instance GHC.Classes.Eq Network.WebexTeams.Types.CreateWebhook instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.WebhookList instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.WebhookList instance Network.WebexTeams.Types.WebexTeamsListItem Network.WebexTeams.Types.Webhook instance GHC.Show.Show Network.WebexTeams.Types.WebhookList instance GHC.Classes.Eq Network.WebexTeams.Types.WebhookList instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.Webhook instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.Webhook instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.WebhookId instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.WebhookId instance Network.WebexTeams.Types.WebexTeamsDetail Network.WebexTeams.Types.WebhookId instance GHC.Show.Show Network.WebexTeams.Types.Webhook instance GHC.Classes.Eq Network.WebexTeams.Types.Webhook instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.WebhookEvent instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.WebhookEvent instance GHC.Show.Show Network.WebexTeams.Types.WebhookEvent instance GHC.Classes.Eq Network.WebexTeams.Types.WebhookEvent instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.WebhookResource instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.WebhookResource instance GHC.Show.Show Network.WebexTeams.Types.WebhookResource instance GHC.Classes.Eq Network.WebexTeams.Types.WebhookResource instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.WebhookSecret instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.WebhookSecret instance GHC.Generics.Generic Network.WebexTeams.Types.WebhookSecret instance GHC.Show.Show Network.WebexTeams.Types.WebhookSecret instance GHC.Classes.Eq Network.WebexTeams.Types.WebhookSecret instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.WebhookFilter instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.WebhookFilter instance GHC.Generics.Generic Network.WebexTeams.Types.WebhookFilter instance GHC.Show.Show Network.WebexTeams.Types.WebhookFilter instance GHC.Classes.Eq Network.WebexTeams.Types.WebhookFilter instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.WebhookUrl instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.WebhookUrl instance GHC.Generics.Generic Network.WebexTeams.Types.WebhookUrl instance GHC.Show.Show Network.WebexTeams.Types.WebhookUrl instance GHC.Classes.Eq Network.WebexTeams.Types.WebhookUrl instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.WebhookName instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.WebhookName instance GHC.Generics.Generic Network.WebexTeams.Types.WebhookName instance GHC.Show.Show Network.WebexTeams.Types.WebhookName instance GHC.Classes.Eq Network.WebexTeams.Types.WebhookName instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.WebhookId instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.WebhookId instance GHC.Generics.Generic Network.WebexTeams.Types.WebhookId instance GHC.Show.Show Network.WebexTeams.Types.WebhookId instance GHC.Classes.Eq Network.WebexTeams.Types.WebhookId instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.RoleList instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.RoleList instance Network.WebexTeams.Types.WebexTeamsListItem Network.WebexTeams.Types.Role instance GHC.Show.Show Network.WebexTeams.Types.RoleList instance GHC.Classes.Eq Network.WebexTeams.Types.RoleList instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.Role instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.Role instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.RoleId instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.RoleId instance Network.WebexTeams.Types.WebexTeamsDetail Network.WebexTeams.Types.RoleId instance GHC.Show.Show Network.WebexTeams.Types.Role instance GHC.Classes.Eq Network.WebexTeams.Types.Role instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.RoleName instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.RoleName instance GHC.Generics.Generic Network.WebexTeams.Types.RoleName instance GHC.Show.Show Network.WebexTeams.Types.RoleName instance GHC.Classes.Eq Network.WebexTeams.Types.RoleName instance GHC.Show.Show Network.WebexTeams.Types.LicenseFilter instance GHC.Generics.Generic Network.WebexTeams.Types.LicenseFilter instance GHC.Classes.Eq Network.WebexTeams.Types.LicenseFilter instance Data.Default.Class.Default Network.WebexTeams.Types.LicenseFilter instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.LicenseFilter instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.LicenseFilter instance Network.WebexTeams.Types.WebexTeamsFilter Network.WebexTeams.Types.LicenseFilter instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.LicenseList instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.LicenseList instance Network.WebexTeams.Types.WebexTeamsListItem Network.WebexTeams.Types.License instance GHC.Show.Show Network.WebexTeams.Types.LicenseList instance GHC.Classes.Eq Network.WebexTeams.Types.LicenseList instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.License instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.License instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.LicenseId instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.LicenseId instance Network.WebexTeams.Types.WebexTeamsDetail Network.WebexTeams.Types.LicenseId instance GHC.Show.Show Network.WebexTeams.Types.License instance GHC.Classes.Eq Network.WebexTeams.Types.License instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.LicenseUnit instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.LicenseUnit instance GHC.Generics.Generic Network.WebexTeams.Types.LicenseUnit instance GHC.Show.Show Network.WebexTeams.Types.LicenseUnit instance GHC.Classes.Eq Network.WebexTeams.Types.LicenseUnit instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.LicenseName instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.LicenseName instance GHC.Generics.Generic Network.WebexTeams.Types.LicenseName instance GHC.Show.Show Network.WebexTeams.Types.LicenseName instance GHC.Classes.Eq Network.WebexTeams.Types.LicenseName instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.OrganizationList instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.OrganizationList instance Network.WebexTeams.Types.WebexTeamsListItem Network.WebexTeams.Types.Organization instance GHC.Show.Show Network.WebexTeams.Types.OrganizationList instance GHC.Classes.Eq Network.WebexTeams.Types.OrganizationList instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.Organization instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.Organization instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.OrganizationId instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.OrganizationId instance Network.WebexTeams.Types.WebexTeamsDetail Network.WebexTeams.Types.OrganizationId instance GHC.Show.Show Network.WebexTeams.Types.Organization instance GHC.Classes.Eq Network.WebexTeams.Types.Organization instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.OrganizationDisplayName instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.OrganizationDisplayName instance GHC.Generics.Generic Network.WebexTeams.Types.OrganizationDisplayName instance GHC.Show.Show Network.WebexTeams.Types.OrganizationDisplayName instance GHC.Classes.Eq Network.WebexTeams.Types.OrganizationDisplayName instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.CreateMessage instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.CreateMessage instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.CreateMessage instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.CreateMessage instance Network.WebexTeams.Types.WebexTeamsCreate Network.WebexTeams.Types.CreateMessage instance GHC.Show.Show Network.WebexTeams.Types.CreateMessage instance GHC.Classes.Eq Network.WebexTeams.Types.CreateMessage instance GHC.Show.Show Network.WebexTeams.Types.MessageFilter instance GHC.Classes.Eq Network.WebexTeams.Types.MessageFilter instance GHC.Show.Show Network.WebexTeams.Types.MentionedPeople instance GHC.Classes.Eq Network.WebexTeams.Types.MentionedPeople instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.MessageFilter instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.MessageFilter instance Network.WebexTeams.Types.WebexTeamsFilter Network.WebexTeams.Types.MessageFilter instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.MessageList instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.MessageList instance Network.WebexTeams.Types.WebexTeamsListItem Network.WebexTeams.Types.Message instance GHC.Show.Show Network.WebexTeams.Types.MessageList instance GHC.Classes.Eq Network.WebexTeams.Types.MessageList instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.Message instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.Message instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.MessageId instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.MessageId instance Network.WebexTeams.Types.WebexTeamsDetail Network.WebexTeams.Types.MessageId instance GHC.Show.Show Network.WebexTeams.Types.Message instance GHC.Classes.Eq Network.WebexTeams.Types.Message instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.FileUrl instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.FileUrl instance GHC.Generics.Generic Network.WebexTeams.Types.FileUrl instance GHC.Show.Show Network.WebexTeams.Types.FileUrl instance GHC.Classes.Eq Network.WebexTeams.Types.FileUrl instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.MessageMarkdown instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.MessageMarkdown instance GHC.Generics.Generic Network.WebexTeams.Types.MessageMarkdown instance GHC.Show.Show Network.WebexTeams.Types.MessageMarkdown instance GHC.Classes.Eq Network.WebexTeams.Types.MessageMarkdown instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.MessageHtml instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.MessageHtml instance GHC.Generics.Generic Network.WebexTeams.Types.MessageHtml instance GHC.Show.Show Network.WebexTeams.Types.MessageHtml instance GHC.Classes.Eq Network.WebexTeams.Types.MessageHtml instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.MessageText instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.MessageText instance GHC.Generics.Generic Network.WebexTeams.Types.MessageText instance GHC.Show.Show Network.WebexTeams.Types.MessageText instance GHC.Classes.Eq Network.WebexTeams.Types.MessageText instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.MessageId instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.MessageId instance GHC.Generics.Generic Network.WebexTeams.Types.MessageId instance GHC.Show.Show Network.WebexTeams.Types.MessageId instance GHC.Classes.Eq Network.WebexTeams.Types.MessageId instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.UpdateMembership instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.UpdateMembership instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.UpdateMembership instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.UpdateMembership instance Network.WebexTeams.Types.WebexTeamsUpdate Network.WebexTeams.Types.UpdateMembership instance GHC.Show.Show Network.WebexTeams.Types.UpdateMembership instance GHC.Classes.Eq Network.WebexTeams.Types.UpdateMembership instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.CreateMembership instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.CreateMembership instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.CreateMembership instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.CreateMembership instance Network.WebexTeams.Types.WebexTeamsCreate Network.WebexTeams.Types.CreateMembership instance GHC.Show.Show Network.WebexTeams.Types.CreateMembership instance GHC.Classes.Eq Network.WebexTeams.Types.CreateMembership instance GHC.Show.Show Network.WebexTeams.Types.MembershipFilter instance GHC.Generics.Generic Network.WebexTeams.Types.MembershipFilter instance GHC.Classes.Eq Network.WebexTeams.Types.MembershipFilter instance Data.Default.Class.Default Network.WebexTeams.Types.MembershipFilter instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.MembershipFilter instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.MembershipFilter instance Network.WebexTeams.Types.WebexTeamsFilter Network.WebexTeams.Types.MembershipFilter instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.MembershipList instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.MembershipList instance Network.WebexTeams.Types.WebexTeamsListItem Network.WebexTeams.Types.Membership instance GHC.Show.Show Network.WebexTeams.Types.MembershipList instance GHC.Classes.Eq Network.WebexTeams.Types.MembershipList instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.Membership instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.Membership instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.MembershipId instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.MembershipId instance Network.WebexTeams.Types.WebexTeamsDetail Network.WebexTeams.Types.MembershipId instance GHC.Show.Show Network.WebexTeams.Types.Membership instance GHC.Classes.Eq Network.WebexTeams.Types.Membership instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.MembershipId instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.MembershipId instance GHC.Generics.Generic Network.WebexTeams.Types.MembershipId instance GHC.Show.Show Network.WebexTeams.Types.MembershipId instance GHC.Classes.Eq Network.WebexTeams.Types.MembershipId instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.UpdateRoom instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.UpdateRoom instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.UpdateRoom instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.UpdateRoom instance Network.WebexTeams.Types.WebexTeamsUpdate Network.WebexTeams.Types.UpdateRoom instance GHC.Show.Show Network.WebexTeams.Types.UpdateRoom instance GHC.Classes.Eq Network.WebexTeams.Types.UpdateRoom instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.CreateRoom instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.CreateRoom instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.CreateRoom instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.CreateRoom instance Network.WebexTeams.Types.WebexTeamsCreate Network.WebexTeams.Types.CreateRoom instance GHC.Show.Show Network.WebexTeams.Types.CreateRoom instance GHC.Classes.Eq Network.WebexTeams.Types.CreateRoom instance GHC.Show.Show Network.WebexTeams.Types.RoomFilter instance GHC.Generics.Generic Network.WebexTeams.Types.RoomFilter instance GHC.Classes.Eq Network.WebexTeams.Types.RoomFilter instance Data.Default.Class.Default Network.WebexTeams.Types.RoomFilter instance GHC.Show.Show Network.WebexTeams.Types.RoomFilterSortBy instance GHC.Classes.Eq Network.WebexTeams.Types.RoomFilterSortBy instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.RoomFilter instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.RoomFilter instance Network.WebexTeams.Types.WebexTeamsFilter Network.WebexTeams.Types.RoomFilter instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.RoomList instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.RoomList instance Network.WebexTeams.Types.WebexTeamsListItem Network.WebexTeams.Types.Room instance GHC.Show.Show Network.WebexTeams.Types.RoomList instance GHC.Classes.Eq Network.WebexTeams.Types.RoomList instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.Room instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.Room instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.RoomId instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.RoomId instance Network.WebexTeams.Types.WebexTeamsDetail Network.WebexTeams.Types.RoomId instance GHC.Show.Show Network.WebexTeams.Types.Room instance GHC.Classes.Eq Network.WebexTeams.Types.Room instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.RoomType instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.RoomType instance GHC.Show.Show Network.WebexTeams.Types.RoomType instance GHC.Classes.Eq Network.WebexTeams.Types.RoomType instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.SipAddr instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.SipAddr instance GHC.Generics.Generic Network.WebexTeams.Types.SipAddr instance GHC.Show.Show Network.WebexTeams.Types.SipAddr instance GHC.Classes.Eq Network.WebexTeams.Types.SipAddr instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.RoomTitle instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.RoomTitle instance GHC.Generics.Generic Network.WebexTeams.Types.RoomTitle instance GHC.Show.Show Network.WebexTeams.Types.RoomTitle instance GHC.Classes.Eq Network.WebexTeams.Types.RoomTitle instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.RoomId instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.RoomId instance GHC.Generics.Generic Network.WebexTeams.Types.RoomId instance GHC.Show.Show Network.WebexTeams.Types.RoomId instance GHC.Classes.Eq Network.WebexTeams.Types.RoomId instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.UpdateTeamMembership instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.UpdateTeamMembership instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.UpdateTeamMembership instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.UpdateTeamMembership instance Network.WebexTeams.Types.WebexTeamsUpdate Network.WebexTeams.Types.UpdateTeamMembership instance GHC.Show.Show Network.WebexTeams.Types.UpdateTeamMembership instance GHC.Classes.Eq Network.WebexTeams.Types.UpdateTeamMembership instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.CreateTeamMembership instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.CreateTeamMembership instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.CreateTeamMembership instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.CreateTeamMembership instance Network.WebexTeams.Types.WebexTeamsCreate Network.WebexTeams.Types.CreateTeamMembership instance GHC.Show.Show Network.WebexTeams.Types.CreateTeamMembership instance GHC.Classes.Eq Network.WebexTeams.Types.CreateTeamMembership instance GHC.Show.Show Network.WebexTeams.Types.TeamMembershipFilter instance GHC.Classes.Eq Network.WebexTeams.Types.TeamMembershipFilter instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.TeamMembershipFilter instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.TeamMembershipFilter instance Network.WebexTeams.Types.WebexTeamsFilter Network.WebexTeams.Types.TeamMembershipFilter instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.TeamMembershipList instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.TeamMembershipList instance Network.WebexTeams.Types.WebexTeamsListItem Network.WebexTeams.Types.TeamMembership instance GHC.Show.Show Network.WebexTeams.Types.TeamMembershipList instance GHC.Classes.Eq Network.WebexTeams.Types.TeamMembershipList instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.TeamMembership instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.TeamMembership instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.TeamMembershipId instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.TeamMembershipId instance Network.WebexTeams.Types.WebexTeamsDetail Network.WebexTeams.Types.TeamMembershipId instance GHC.Show.Show Network.WebexTeams.Types.TeamMembership instance GHC.Classes.Eq Network.WebexTeams.Types.TeamMembership instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.TeamMembershipId instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.TeamMembershipId instance GHC.Generics.Generic Network.WebexTeams.Types.TeamMembershipId instance GHC.Show.Show Network.WebexTeams.Types.TeamMembershipId instance GHC.Classes.Eq Network.WebexTeams.Types.TeamMembershipId instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.UpdateTeam instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.UpdateTeam instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.UpdateTeam instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.UpdateTeam instance Network.WebexTeams.Types.WebexTeamsUpdate Network.WebexTeams.Types.UpdateTeam instance GHC.Show.Show Network.WebexTeams.Types.UpdateTeam instance GHC.Classes.Eq Network.WebexTeams.Types.UpdateTeam instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.CreateTeam instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.CreateTeam instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.CreateTeam instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.CreateTeam instance Network.WebexTeams.Types.WebexTeamsCreate Network.WebexTeams.Types.CreateTeam instance GHC.Show.Show Network.WebexTeams.Types.CreateTeam instance GHC.Classes.Eq Network.WebexTeams.Types.CreateTeam instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.TeamList instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.TeamList instance Network.WebexTeams.Types.WebexTeamsListItem Network.WebexTeams.Types.Team instance GHC.Show.Show Network.WebexTeams.Types.TeamList instance GHC.Classes.Eq Network.WebexTeams.Types.TeamList instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.Team instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.Team instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.TeamId instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.TeamId instance Network.WebexTeams.Types.WebexTeamsDetail Network.WebexTeams.Types.TeamId instance GHC.Show.Show Network.WebexTeams.Types.Team instance GHC.Classes.Eq Network.WebexTeams.Types.Team instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.TeamName instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.TeamName instance GHC.Generics.Generic Network.WebexTeams.Types.TeamName instance GHC.Show.Show Network.WebexTeams.Types.TeamName instance GHC.Classes.Eq Network.WebexTeams.Types.TeamName instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.TeamId instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.TeamId instance GHC.Generics.Generic Network.WebexTeams.Types.TeamId instance GHC.Show.Show Network.WebexTeams.Types.TeamId instance GHC.Classes.Eq Network.WebexTeams.Types.TeamId instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.UpdatePerson instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.UpdatePerson instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.UpdatePerson instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.UpdatePerson instance Network.WebexTeams.Types.WebexTeamsUpdate Network.WebexTeams.Types.UpdatePerson instance GHC.Show.Show Network.WebexTeams.Types.UpdatePerson instance GHC.Classes.Eq Network.WebexTeams.Types.UpdatePerson instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.CreatePerson instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.CreatePerson instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.CreatePerson instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.CreatePerson instance Network.WebexTeams.Types.WebexTeamsCreate Network.WebexTeams.Types.CreatePerson instance GHC.Show.Show Network.WebexTeams.Types.CreatePerson instance GHC.Classes.Eq Network.WebexTeams.Types.CreatePerson instance GHC.Show.Show Network.WebexTeams.Types.PersonFilter instance GHC.Generics.Generic Network.WebexTeams.Types.PersonFilter instance GHC.Classes.Eq Network.WebexTeams.Types.PersonFilter instance Data.Default.Class.Default Network.WebexTeams.Types.PersonFilter instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.PersonFilter instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.PersonFilter instance Network.WebexTeams.Types.WebexTeamsFilter Network.WebexTeams.Types.PersonFilter instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.PersonList instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.PersonList instance Network.WebexTeams.Types.WebexTeamsListItem Network.WebexTeams.Types.Person instance GHC.Show.Show Network.WebexTeams.Types.PersonList instance GHC.Classes.Eq Network.WebexTeams.Types.PersonList instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.Person instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.Person instance Network.WebexTeams.Types.WebexTeamsApiPath Network.WebexTeams.Types.PersonId instance Network.WebexTeams.Types.WebexTeamsResponse Network.WebexTeams.Types.PersonId instance Network.WebexTeams.Types.WebexTeamsDetail Network.WebexTeams.Types.PersonId instance GHC.Show.Show Network.WebexTeams.Types.Person instance GHC.Classes.Eq Network.WebexTeams.Types.Person instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.PersonType instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.PersonType instance GHC.Show.Show Network.WebexTeams.Types.PersonType instance GHC.Classes.Eq Network.WebexTeams.Types.PersonType instance GHC.Show.Show Network.WebexTeams.Types.PersonStatus instance GHC.Generics.Generic Network.WebexTeams.Types.PersonStatus instance GHC.Classes.Eq Network.WebexTeams.Types.PersonStatus instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.Timezone instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.Timezone instance GHC.Generics.Generic Network.WebexTeams.Types.Timezone instance GHC.Show.Show Network.WebexTeams.Types.Timezone instance GHC.Classes.Eq Network.WebexTeams.Types.Timezone instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.LicenseId instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.LicenseId instance GHC.Generics.Generic Network.WebexTeams.Types.LicenseId instance GHC.Show.Show Network.WebexTeams.Types.LicenseId instance GHC.Classes.Eq Network.WebexTeams.Types.LicenseId instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.RoleId instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.RoleId instance GHC.Generics.Generic Network.WebexTeams.Types.RoleId instance GHC.Show.Show Network.WebexTeams.Types.RoleId instance GHC.Classes.Eq Network.WebexTeams.Types.RoleId instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.OrganizationId instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.OrganizationId instance GHC.Generics.Generic Network.WebexTeams.Types.OrganizationId instance GHC.Show.Show Network.WebexTeams.Types.OrganizationId instance GHC.Classes.Eq Network.WebexTeams.Types.OrganizationId instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.AvatarUrl instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.AvatarUrl instance GHC.Generics.Generic Network.WebexTeams.Types.AvatarUrl instance GHC.Show.Show Network.WebexTeams.Types.AvatarUrl instance GHC.Classes.Eq Network.WebexTeams.Types.AvatarUrl instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.LastName instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.LastName instance GHC.Generics.Generic Network.WebexTeams.Types.LastName instance GHC.Show.Show Network.WebexTeams.Types.LastName instance GHC.Classes.Eq Network.WebexTeams.Types.LastName instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.FirstName instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.FirstName instance GHC.Generics.Generic Network.WebexTeams.Types.FirstName instance GHC.Show.Show Network.WebexTeams.Types.FirstName instance GHC.Classes.Eq Network.WebexTeams.Types.FirstName instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.NickName instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.NickName instance GHC.Generics.Generic Network.WebexTeams.Types.NickName instance GHC.Show.Show Network.WebexTeams.Types.NickName instance GHC.Classes.Eq Network.WebexTeams.Types.NickName instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.DisplayName instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.DisplayName instance GHC.Generics.Generic Network.WebexTeams.Types.DisplayName instance GHC.Show.Show Network.WebexTeams.Types.DisplayName instance GHC.Classes.Eq Network.WebexTeams.Types.DisplayName instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.Email instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.Email instance GHC.Generics.Generic Network.WebexTeams.Types.Email instance GHC.Show.Show Network.WebexTeams.Types.Email instance GHC.Classes.Eq Network.WebexTeams.Types.Email instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.PersonId instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.PersonId instance GHC.Generics.Generic Network.WebexTeams.Types.PersonId instance GHC.Show.Show Network.WebexTeams.Types.PersonId instance GHC.Classes.Eq Network.WebexTeams.Types.PersonId instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.PersonStatus instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.PersonStatus instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.Errors instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.Errors instance GHC.Show.Show Network.WebexTeams.Types.Errors instance GHC.Classes.Eq Network.WebexTeams.Types.Errors instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.ErrorTitle instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.ErrorTitle instance GHC.Show.Show Network.WebexTeams.Types.ErrorTitle instance GHC.Classes.Eq Network.WebexTeams.Types.ErrorTitle instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.ErrorCode instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.ErrorCode instance GHC.Generics.Generic Network.WebexTeams.Types.ErrorCode instance GHC.Show.Show Network.WebexTeams.Types.ErrorCode instance GHC.Classes.Eq Network.WebexTeams.Types.ErrorCode instance Data.Aeson.Types.FromJSON.FromJSON Network.WebexTeams.Types.Timestamp instance Data.Aeson.Types.ToJSON.ToJSON Network.WebexTeams.Types.Timestamp instance GHC.Generics.Generic Network.WebexTeams.Types.Timestamp instance GHC.Show.Show Network.WebexTeams.Types.Timestamp instance GHC.Classes.Eq Network.WebexTeams.Types.Timestamp -- | This module provides types and functions for accessing Cisco Webex -- Teams REST API. -- -- The module is designed to improve type safety over the API. Each -- entity is separately typed. JSON messages contained in REST responses -- are decoded into appropriate type of Haskell record. JSON messages -- sent in REST requests are encoded only from correct type of record. -- -- Some Webex Teams REST API return list of objects. Those APIs require -- HTTP Link Header based pagination. Haskell functions for those APIs -- automatically request subsequent pages as needed. -- --

Examples

-- --
--   -- Sending a message to a room.
--   let auth        = Authorization "your authorization token"
--       roomId      = RoomId "Room ID your message to be sent"
--       messageText = MessageText "your message"
--       message     = CreateMessage (Just roomId) Nothing Nothing (Just messageText) Nothing Nothing
--   createEntity auth def createMessage >>= print . getResponseBody
--   
--   -- Obtaining detail of a user.
--   let personId    = PersonId "your person ID"
--   getDetail auth def personId >>= print . getResponseBody
--   
--   -- Obtaining membership of a room as stream of object representing each membership relation.
--   let filter = MembershipFilter yourRoomId Nothing Nothing
--   runConduit $ streamListWithFilter auth def filter .| takeC 200 .| mapM_C print
--   
--   -- Create a room.
--   let createRoom  = CreateRoom "Title of the new room" Nothing
--   createEntity auth def createRoom >>= print . getResponseBody
--   
--   -- Delete a room.
--   deleteRoom auth def roomId >>= print . getResponseBody
--   
-- --

List and steaming

-- -- The WebexTeams module doesn't provide streaming API for REST -- response returning list of entities. It is because the author of the -- package wants to keep it streaming library agnostic. Instead, it -- provides ListReader IO action to read list responses with -- automatic pagenation. Streaming APIs can be found in separate packages -- like webex-teams-pipes or webex-teams-conduit. -- --

Support for Lens

-- -- This package provides many of records representing objects -- communicated via Webex Teams REST API. Those records are designed to -- allow create lenses by Control.Lens.TH.makeFields. -- -- Following example creates overloaded accessors for Person, -- Room and Team. -- --
--   makeFields ''Person
--   makeFields ''Room
--   makeFields ''Team
--   
-- -- You can access personId, roomId and teamId via -- overloaded accessor function id like this. -- --
--   let yourPersonId = yourPerson ^. id
--       yourRoomId = yourRoom ^. id
--       yourTeamId = yourTeam ^. id
--   
-- -- This package does not provide pre-generated lenses for you because not -- everyone need it but you can make it by yourself so easily as -- described. module Network.WebexTeams -- | Convert given filter condition parameter in a concrete type to HTTP -- query strings. class (WebexTeamsApiPath a, WebexTeamsResponse a) => WebexTeamsFilter a -- | WebexTeamsListItem is a type class grouping types with following -- common usage. -- -- -- -- WebexTeamsListItem also associates the above type to wrapping list -- type (e.g. associates Person to PersonList). Wrapping -- type (PersonList in this case) is necessary for parsing JSON from REST -- API but what we are interested in is bare list such like [Person]. -- Type family association defined in this class is used for type -- translation from type of items to type of wrapper. class FromJSON (ToList i) => WebexTeamsListItem i -- | Associate response type to input parameter type such as filter -- criteria, entity key or create / update parameters. type family ToResponse a :: * -- | Authorization string against Webex Teams API to be contained in HTTP -- Authorization header of every request. newtype Authorization Authorization :: ByteString -> Authorization -- | Type synonym for backward compatibility. type CiscoSparkRequest = WebexTeamsRequest -- | Wrapping Request in order to provide easy default value -- specifically for Webex Teams public API. data WebexTeamsRequest WebexTeamsRequest :: Request -> String -> URIAuth -> WebexTeamsRequest -- | Holds pre-set Request for REST API. [webexTeamsRequestRequest] :: WebexTeamsRequest -> Request -- | Should be "https:" in production. [webexTeamsRequestScheme] :: WebexTeamsRequest -> String -- | Authority part of request URI. [webexTeamsRequestAuthority] :: WebexTeamsRequest -> URIAuth -- | Type representing timestamp. For now, it is just copied from API -- response JSON. newtype Timestamp Timestamp :: Text -> Timestamp -- | Error code for element level error potentially contained in List API -- responses. newtype ErrorCode ErrorCode :: Text -> ErrorCode -- | ErrorTitle represent concrete error code and reason. It appears -- in Errors. data ErrorTitle ErrorTitle :: ErrorCode -> Text -> ErrorTitle -- | Error code of element level error in List API response. [errorTitleCode] :: ErrorTitle -> ErrorCode -- | Reason explanation of the error. [errorTitleReason] :: ErrorTitle -> Text -- | Errors is used for element level error in List API. When list -- API failed to retrieve an element, it returns this object for the -- element and response API status as successful instead of failing -- entire API request. -- -- Refer to API Document for more detail. newtype Errors Errors :: ErrorTitle -> Errors [errorsTitle] :: Errors -> ErrorTitle -- | Person is detail description of Webex Teams user or bot. Person -- is decoded from response JSON of Get Person Details REST call. It is -- also element type of response of List People call. data Person Person :: PersonId -> Maybe Errors -> Maybe [Email] -> Maybe DisplayName -> Maybe NickName -> Maybe FirstName -> Maybe LastName -> Maybe AvatarUrl -> Maybe OrganizationId -> Maybe [RoleId] -> Maybe [LicenseId] -> Maybe Timestamp -> Maybe Timezone -> Maybe Timestamp -> Maybe PersonStatus -> Maybe Bool -> Maybe Bool -> Maybe PersonType -> Person -- | Identifier of the Person. [personId] :: Person -> PersonId -- | Element level error possibly contained in List API response. [personErrors] :: Person -> Maybe Errors -- | List of email addresses which the Person has. [personEmails] :: Person -> Maybe [Email] -- | Display name of the Person. [personDisplayName] :: Person -> Maybe DisplayName -- | Nickname of the Person. [personNickName] :: Person -> Maybe NickName -- | First name of the Person. [personFirstName] :: Person -> Maybe FirstName -- | Last name of the Person. [personLastName] :: Person -> Maybe LastName -- | URL pointing a image used for Avatar of the Person. [personAvatar] :: Person -> Maybe AvatarUrl -- | Organization which the Person belongs to. [personOrgId] :: Person -> Maybe OrganizationId -- | List of roles assigned to the Person. [personRoles] :: Person -> Maybe [RoleId] -- | List of licenses effective on the Person. [personLicenses] :: Person -> Maybe [LicenseId] -- | Timestamp when the Person was created. [personCreated] :: Person -> Maybe Timestamp -- | Timezone of the Person. [personTimezone] :: Person -> Maybe Timezone -- | Timestamp of the latest activity of the Person. [personLastActivity] :: Person -> Maybe Timestamp -- | Current status of the Person [personStatus] :: Person -> Maybe PersonStatus -- | True if invitation for the Person is pending. [personInvitePending] :: Person -> Maybe Bool -- | True if login of the Person is enabled. [personLoginEnabled] :: Person -> Maybe Bool -- | Indicating if the Person is real human or bot. [personType] :: Person -> Maybe PersonType -- | Identifying Person describing detail of Webex Teams user or -- bot. newtype PersonId PersonId :: Text -> PersonId -- | Email address of user. newtype Email Email :: Text -> Email -- | Display name of user. newtype DisplayName DisplayName :: Text -> DisplayName -- | Nickname of user. newtype NickName NickName :: Text -> NickName -- | First name of user. newtype FirstName FirstName :: Text -> FirstName -- | Last name of user. newtype LastName LastName :: Text -> LastName -- | URL pointing to image file of Avatar. newtype AvatarUrl AvatarUrl :: Text -> AvatarUrl -- | Timezone in timezone name. newtype Timezone Timezone :: Text -> Timezone -- | Current status of Person. It can be updated automatically by -- recent activity or explicitly updated by user's operation or -- propagated from vacation setting on email system. data PersonStatus -- | The Person is currently active. Decoded from "active". PersonStatusActive :: PersonStatus -- | The Person is currently not active. Decoded from "inactive". PersonStatusInactive :: PersonStatus -- | Email system of the Person currently sets vacation. Decoded -- from "OutOfOffice". PersonStatusOutOfOffice :: PersonStatus -- | The Person is explicitly indicated do-not-disturb. Decoded from -- "DoNotDisturb". PersonStatusDoNotDisturb :: PersonStatus -- | The status of the Person is unknown. Decoded from "unknown". PersonStatusUnknown :: PersonStatus -- | PersonType indicates whether the Person is real human or bot. data PersonType -- | The Person is a real human. Decoded from "person". PersonTypePerson :: PersonType -- | The Person is a bot. Decoded from "bot". PersonTypeBot :: PersonType -- | PersonList is decoded from response JSON of List People REST -- call. It is list of Person. newtype PersonList PersonList :: [Person] -> PersonList [personListItems] :: PersonList -> [Person] -- | Optional query strings for people list API. data PersonFilter PersonFilter :: Maybe Email -> Maybe DisplayName -> Maybe OrganizationId -> PersonFilter -- | Find person who has given email address. [personFilterEmail] :: PersonFilter -> Maybe Email -- | Find person who has given display name. [personFilterDisplayName] :: PersonFilter -> Maybe DisplayName -- | Find person who belongs to given organization. [personFilterOrgId] :: PersonFilter -> Maybe OrganizationId -- | CreatePerson is encoded to request body JSON of Create a Person -- REST call. data CreatePerson CreatePerson :: Maybe [Email] -> Maybe DisplayName -> Maybe FirstName -> Maybe LastName -> Maybe AvatarUrl -> Maybe OrganizationId -> Maybe [RoleId] -> Maybe [LicenseId] -> CreatePerson -- | List of email addresses which the Person has. [createPersonEmails] :: CreatePerson -> Maybe [Email] -- | Display name of the Person. [createPersonDisplayName] :: CreatePerson -> Maybe DisplayName -- | First name of the Person. [createPersonFirstName] :: CreatePerson -> Maybe FirstName -- | Last name of the Person. [createPersonLastName] :: CreatePerson -> Maybe LastName -- | URL pointing a image used for Avatar of the Person. [createPersonAvatar] :: CreatePerson -> Maybe AvatarUrl -- | Organization which the Person belongs to. [createPersonOrgId] :: CreatePerson -> Maybe OrganizationId -- | List of roles assigned to the person. [createPersonRoles] :: CreatePerson -> Maybe [RoleId] -- | List of licenses effective on the Person. [createPersonLicenses] :: CreatePerson -> Maybe [LicenseId] -- | UpdatePerson is encoded to request body JSON of Update a Person -- REST call. data UpdatePerson UpdatePerson :: Maybe DisplayName -> Maybe FirstName -> Maybe LastName -> Maybe AvatarUrl -> Maybe OrganizationId -> Maybe [RoleId] -> Maybe [LicenseId] -> UpdatePerson -- | Display name of the Person. [updatePersonDisplayName] :: UpdatePerson -> Maybe DisplayName -- | First name of the Person. [updatePersonFirstName] :: UpdatePerson -> Maybe FirstName -- | Last name of the Person. [updatePersonLastName] :: UpdatePerson -> Maybe LastName -- | URL pointing a image used for Avatar of the Person. [updatePersonAvatar] :: UpdatePerson -> Maybe AvatarUrl -- | Organization which the Person belongs to. [updatePersonOrgId] :: UpdatePerson -> Maybe OrganizationId -- | List of roles assigned to the person. [updatePersonRoles] :: UpdatePerson -> Maybe [RoleId] -- | List of licenses effective on the Person. [updatePersonLicenses] :: UpdatePerson -> Maybe [LicenseId] -- | Room is communication space in Webex Teams and called "Space" -- on UI. Historically it was called Room on UI too but UI has been -- changed to "Space" in order to avoid confusion with the concept "Room" -- associated to hardware facility of video conferencing on Webex Teams. -- The name of Room is kept unchanged for backward compatibility. -- -- Room is decoded from response JSON of Get Room Details REST call. It -- is also element type of response of List Rooms call. data Room Room :: RoomId -> Maybe Errors -> Maybe RoomTitle -> Maybe RoomType -> Maybe Bool -> Maybe SipAddr -> Maybe Timestamp -> Maybe TeamId -> Maybe PersonId -> Maybe Timestamp -> Room -- | Identifier of the Room. [roomId] :: Room -> RoomId -- | Element level error possibly contained in List API response. [roomErrors] :: Room -> Maybe Errors -- | Title text of the Room. [roomTitle] :: Room -> Maybe RoomTitle -- | Indicates if the Room is for 1:1 or group. [roomType] :: Room -> Maybe RoomType -- | True if the Room is locked. [roomIsLocked] :: Room -> Maybe Bool -- | SIP address of the Room. [roomSipAddress] :: Room -> Maybe SipAddr -- | Timestamp when the last activity was happen on the Room. [roomLastActivity] :: Room -> Maybe Timestamp -- | Identifier of the Team which the Room belongs to. [roomTeamId] :: Room -> Maybe TeamId -- | Identifier of Person who created the Room. [roomCreatorId] :: Room -> Maybe PersonId -- | Timestamp when the Room was created. [roomCreated] :: Room -> Maybe Timestamp -- | Identifying Room. newtype RoomId RoomId :: Text -> RoomId -- | Title text of Room. newtype RoomTitle RoomTitle :: Text -> RoomTitle -- | RoomType indicates if the Room is for 1:1 user or group -- of users. data RoomType -- | The Room is for 1:1. Decoded from "direct". RoomTypeDirect :: RoomType -- | The Room is for group. Decoded from "group". RoomTypeGroup :: RoomType -- | SIP address. newtype SipAddr SipAddr :: Text -> SipAddr -- | RoomList is decoded from response JSON of List Rooms REST call. -- It is list of Room. newtype RoomList RoomList :: [Room] -> RoomList [roomListItems] :: RoomList -> [Room] -- | Optional query strings for room list API data RoomFilter RoomFilter :: Maybe TeamId -> Maybe RoomType -> Maybe RoomFilterSortBy -> RoomFilter -- | List rooms only in given team. [roomFilterTeamId] :: RoomFilter -> Maybe TeamId -- | List given type rooms only. [roomFilterRoomType] :: RoomFilter -> Maybe RoomType -- | Sort response by given option. [roomFilterSortBy] :: RoomFilter -> Maybe RoomFilterSortBy -- | Sorting option for room list API. data RoomFilterSortBy RoomFilterSortById :: RoomFilterSortBy RoomFilterSortByLastActivity :: RoomFilterSortBy RoomFilterSortByCreated :: RoomFilterSortBy -- | CreateRoom is encoded to request body JSON of Create a Room -- REST call. data CreateRoom CreateRoom :: RoomTitle -> Maybe TeamId -> CreateRoom -- | Title text of newly created Room. [createRoomTitle] :: CreateRoom -> RoomTitle -- | Identifier of Team which the Room will belong to. If Nothing, -- the new Room will be standalone. [createRoomTeamId] :: CreateRoom -> Maybe TeamId -- | UpdateRoom is encoded to request body JSON of Update a Room -- REST call. newtype UpdateRoom UpdateRoom :: RoomTitle -> UpdateRoom [updateRoomTitle] :: UpdateRoom -> RoomTitle -- | Membership is association between Room and -- Person. It can be N:N relation. A Person can belong to multiple -- Room. Membership is decoded from response JSON of Get Membership -- Details REST call. It is also element type of response of List -- Memberships call. data Membership Membership :: MembershipId -> Maybe Errors -> Maybe RoomId -> Maybe PersonId -> Maybe Email -> Maybe DisplayName -> Maybe OrganizationId -> Maybe Bool -> Maybe Bool -> Maybe Timestamp -> Membership -- | Identifier of the Membership entry. [membershipId] :: Membership -> MembershipId -- | Element level error possibly contained in List API response. [membershipErrors] :: Membership -> Maybe Errors -- | Identifier of the Room associated to the Person [membershipRoomId] :: Membership -> Maybe RoomId -- | Identifier of the Person associated to the Room [membershipPersonId] :: Membership -> Maybe PersonId -- | Email of the Person [membershipPersonEmail] :: Membership -> Maybe Email -- | Display name of the Person [membershipPersonDisplayName] :: Membership -> Maybe DisplayName -- | Identifier of Organization which the Person belongs to. [membershipPersonOrgId] :: Membership -> Maybe OrganizationId -- | True if the Person is a moderator of the room. [membershipIsModerator] :: Membership -> Maybe Bool -- | True if the Person is monitoring the Room. [membershipIsMonitor] :: Membership -> Maybe Bool -- | Timestamp when the Membership was created. [membershipCreated] :: Membership -> Maybe Timestamp -- | Identifying Membership. newtype MembershipId MembershipId :: Text -> MembershipId -- | MembershipList is decoded from response JSON of List -- Memberships REST call. It is list of Membership. newtype MembershipList MembershipList :: [Membership] -> MembershipList [membershipListItems] :: MembershipList -> [Membership] -- | Optional query strings for room membership list API data MembershipFilter MembershipFilter :: Maybe RoomId -> Maybe PersonId -> Maybe Email -> MembershipFilter -- | List membership only in given room. [membershipFilterRoomId] :: MembershipFilter -> Maybe RoomId -- | List membership related to given person of personId. [membershipFilterPersonId] :: MembershipFilter -> Maybe PersonId -- | List membership related to given person of email. [membershipFilterPersonEmail] :: MembershipFilter -> Maybe Email -- | CreateMembership is encoded to request body JSON of Create a -- Membership REST call. data CreateMembership CreateMembership :: RoomId -> Maybe PersonId -> Maybe Email -> Maybe Bool -> CreateMembership -- | Identifier of Room which the Person will be added to. [createMembershipRoomId] :: CreateMembership -> RoomId -- | Identifier of Person who will be added to the Room. [createMembershipPersonId] :: CreateMembership -> Maybe PersonId -- | Email of the Person to be added. [createMembershipPersonEmail] :: CreateMembership -> Maybe Email -- | The Person becomes a moderator of the Room if True. [createMembershipIsModerator] :: CreateMembership -> Maybe Bool -- | UpdateMembership is encoded to request body JSON of Update a -- Membership REST call. newtype UpdateMembership UpdateMembership :: Bool -> UpdateMembership [updateMembershipIsModerator] :: UpdateMembership -> Bool -- | Message is a message posted to a Room by some -- Person. Room is decoded from response JSON of Get Message -- Details REST call. It is also element type of response of List -- Messages call. data Message Message :: MessageId -> Maybe Errors -> Maybe RoomId -> Maybe RoomType -> Maybe PersonId -> Maybe Email -> Maybe MessageText -> Maybe MessageHtml -> Maybe [FileUrl] -> Maybe PersonId -> Maybe Email -> Maybe Timestamp -> Maybe [PersonId] -> Message -- | Identifier of the Message. [messageId] :: Message -> MessageId -- | Element level error possibly contained in List API response. [messageErrors] :: Message -> Maybe Errors -- | Identifier of the room where the Message was sent. [messageRoomId] :: Message -> Maybe RoomId -- | Type of Room the message was sent to. [messageRoomType] :: Message -> Maybe RoomType -- | Presents in documentation but doesn't appear in actual API response. [messageToPersonId] :: Message -> Maybe PersonId -- | Presents in documentation but doesn't appear in actual API response. [messageToPersonEmail] :: Message -> Maybe Email -- | Message body in plain text. [messageText] :: Message -> Maybe MessageText -- | Message body in HTML. [messageHtml] :: Message -> Maybe MessageHtml -- | URL to files attached to the message. [messageFiles] :: Message -> Maybe [FileUrl] -- | Identifier of Person who sent the message. [messagePersonId] :: Message -> Maybe PersonId -- | Email of Person who sent the message. [messagePersonEmail] :: Message -> Maybe Email -- | Timestamp when the massage was sent. [messageCreated] :: Message -> Maybe Timestamp -- | List of identifiers of Person were mentioned in the message. [messageMentionedPeople] :: Message -> Maybe [PersonId] -- | Identifying Message. newtype MessageId MessageId :: Text -> MessageId -- | Body of message in plain text. newtype MessageText MessageText :: Text -> MessageText -- | Body of message in html. newtype MessageHtml MessageHtml :: Text -> MessageHtml -- | Body of message in markdown. newtype MessageMarkdown MessageMarkdown :: Text -> MessageMarkdown -- | URL pointing attached file of message. newtype FileUrl FileUrl :: Text -> FileUrl -- | MessageList is decoded from response JSON of List Messages REST -- call. It is list of Message. newtype MessageList MessageList :: [Message] -> MessageList [messageListItems] :: MessageList -> [Message] -- | Optional query strings for message list API data MessageFilter MessageFilter :: RoomId -> Maybe MentionedPeople -> Maybe Timestamp -> Maybe MessageId -> MessageFilter -- | Mandatory parameter which room to search. [messageFilterRoomId] :: MessageFilter -> RoomId -- | List messages only mentioned to given person. [messageFilterMentionedPeople] :: MessageFilter -> Maybe MentionedPeople -- | List messages posted before given timestamp. [messageFilterBefore] :: MessageFilter -> Maybe Timestamp -- | List messages posted before given message. [messageFilterBeforeMessage] :: MessageFilter -> Maybe MessageId -- | Sum type for mentionedPeople query string. It can be "me" or -- PersonId. data MentionedPeople MentionedPeopleMe :: MentionedPeople MentionedPeople :: PersonId -> MentionedPeople -- | CreateMessage is encoded to request body JSON of Create a -- Message REST call. data CreateMessage CreateMessage :: Maybe RoomId -> Maybe PersonId -> Maybe Email -> Maybe MessageText -> Maybe MessageMarkdown -> Maybe [FileUrl] -> CreateMessage -- | Identifier of the Room the message will be posted to. [createMessageRoomId] :: CreateMessage -> Maybe RoomId -- | Identifier of the Person to whom the direct message will be -- sent. [createMessageToPersonId] :: CreateMessage -> Maybe PersonId -- | Email of Person who receives the Message. [createMessageToPersonEmail] :: CreateMessage -> Maybe Email -- | Message body in plain text. [createMessageText] :: CreateMessage -> Maybe MessageText -- | Message body in markdown format. [createMessageMarkdown] :: CreateMessage -> Maybe MessageMarkdown -- | URLs of Attached files to the message. [createMessageFiles] :: CreateMessage -> Maybe [FileUrl] -- | Name of Team newtype TeamName TeamName :: Text -> TeamName -- | Identifying Team. newtype TeamId TeamId :: Text -> TeamId -- | Team is group of Person and group of Room. A -- Person can belong to multiple Team but a Room can belong to at most -- one Team. Team is decoded from response JSON of Get Team Details REST -- call. It is also element type of response of List Teams call. data Team Team :: TeamId -> Maybe Errors -> Maybe TeamName -> Maybe PersonId -> Maybe Timestamp -> Team -- | Identifier of the Team. [teamId] :: Team -> TeamId -- | Element level error possibly contained in List API response. [teamErrors] :: Team -> Maybe Errors -- | Name of the Team. [teamName] :: Team -> Maybe TeamName -- | Identifier of the Person who created the Team. [teamCreatorId] :: Team -> Maybe PersonId -- | Timestamp when the Team was created. [teamCreated] :: Team -> Maybe Timestamp -- | TeamList is decoded from response JSON of List Teams REST call. -- It is list of Team. newtype TeamList TeamList :: [Team] -> TeamList [teamListItems] :: TeamList -> [Team] -- | CreateTeam is encoded to request body JSON of Create a Team -- REST call. newtype CreateTeam CreateTeam :: TeamName -> CreateTeam [createTeamName] :: CreateTeam -> TeamName -- | UpdateTeam is encoded to request body JSON of Update a Team -- REST call. newtype UpdateTeam UpdateTeam :: TeamName -> UpdateTeam [updateTeamName] :: UpdateTeam -> TeamName -- | TeamMembership is association between Team and -- Person. It can be N:N relation. A Person can belong to multiple -- Team. TeamMembership is decoded from response JSON of Get Team -- Membership Details REST call. It is also element type of response of -- List Team Memberships call. data TeamMembership TeamMembership :: TeamMembershipId -> Maybe Errors -> Maybe TeamId -> Maybe PersonId -> Maybe Email -> Maybe DisplayName -> Maybe OrganizationId -> Maybe Bool -> Maybe Timestamp -> TeamMembership -- | Identifier of the TeamMembership entry. [teamMembershipId] :: TeamMembership -> TeamMembershipId -- | Element level error possibly contained in List API response. [teamMembershipErrors] :: TeamMembership -> Maybe Errors -- | Identifier of the Team which the Person belongs to. [teamMembershipTeamId] :: TeamMembership -> Maybe TeamId -- | Identifier of user who belongs to the Team. [teamMembershipPersonId] :: TeamMembership -> Maybe PersonId -- | Email address of the user identified by the PersonId. [teamMembershipPersonEmail] :: TeamMembership -> Maybe Email -- | Display name of the user identified by the PersonId. [teamMembershipPersonDisplayName] :: TeamMembership -> Maybe DisplayName -- | Identifier of Organization which the Team blongs to. [teamMembershipPersonOrgId] :: TeamMembership -> Maybe OrganizationId -- | The Person is moderator of the Team when True. [teamMembershipIsModerator] :: TeamMembership -> Maybe Bool -- | Timestamp when the TeamMembership entry created. [teamMembershipCreated] :: TeamMembership -> Maybe Timestamp -- | Identifying TeamMembership. newtype TeamMembershipId TeamMembershipId :: Text -> TeamMembershipId -- | TeamMembershipList is decoded from response JSON of List Team -- Memberships REST call. It is list of TeamMembership. newtype TeamMembershipList TeamMembershipList :: [TeamMembership] -> TeamMembershipList [teamMembershipListItems] :: TeamMembershipList -> [TeamMembership] -- | Optional query strings for team membership list API newtype TeamMembershipFilter TeamMembershipFilter :: TeamId -> TeamMembershipFilter -- | List membership only in given team. [teamMembershipFilterTeamId] :: TeamMembershipFilter -> TeamId -- | CreateTeamMembership is encoded to request body JSON of Create -- a Team Membership REST call. data CreateTeamMembership CreateTeamMembership :: TeamId -> Maybe PersonId -> Maybe Email -> Maybe Bool -> CreateTeamMembership -- | Identifier of Team which the user will be added to. [createTeamMembershipTeamId] :: CreateTeamMembership -> TeamId -- | Identifier of Person who will be added to the Team. [createTeamMembershipPersonId] :: CreateTeamMembership -> Maybe PersonId -- | Email of the Person to be added. [createTeamMembershipPersonEmail] :: CreateTeamMembership -> Maybe Email -- | The user becomes a moderator of the team if True. [createTeamMembershipIsModerator] :: CreateTeamMembership -> Maybe Bool -- | UpdateTeamMembership is encoded to request body JSON of Update -- a Team Membership REST call. newtype UpdateTeamMembership UpdateTeamMembership :: Bool -> UpdateTeamMembership [updateTeamMembershipIsModerator] :: UpdateTeamMembership -> Bool -- | Organization is an administrative group of Webex Teams users. -- Each Person belongs to one Organization. Organization is -- decoded from response JSON of Get Organization Details REST call. It -- is also element type of response of List Organizations call. data Organization Organization :: OrganizationId -> Maybe Errors -> Maybe OrganizationDisplayName -> Maybe Timestamp -> Organization -- | Identifier of the Organization. [organizationId] :: Organization -> OrganizationId -- | Element level error possibly contained in List API response. [organizationErrors] :: Organization -> Maybe Errors -- | Display name of the Organization. [organizationDisplayName] :: Organization -> Maybe OrganizationDisplayName -- | Timestamp when the Organization was created. [organizationCreated] :: Organization -> Maybe Timestamp -- | Organization identifier which user or team belongs to. newtype OrganizationId OrganizationId :: Text -> OrganizationId -- | Display name of Organization newtype OrganizationDisplayName OrganizationDisplayName :: Text -> OrganizationDisplayName -- | OrganizationList is decoded from response JSON of List -- Organizations REST call. It is list of Organization. newtype OrganizationList OrganizationList :: [Organization] -> OrganizationList [organizationListItems] :: OrganizationList -> [Organization] -- | License is allowance for features and services of Webex Teams -- subscription. License is decoded from response JSON of Get License -- Details REST call. It is also element type of response of List -- Licenses call. data License License :: LicenseId -> Maybe Errors -> Maybe LicenseName -> Maybe LicenseUnit -> Maybe LicenseUnit -> License -- | Identifier of the License. [licenseId] :: License -> LicenseId -- | Element level error possibly contained in List API response. [licenseErrors] :: License -> Maybe Errors -- | Name of the License. [licenseName] :: License -> Maybe LicenseName -- | Number of granted License. [licenseTotalUnits] :: License -> Maybe LicenseUnit -- | Number of currently consumed License. [licenseConsumedUnits] :: License -> Maybe LicenseUnit -- | License identifier which can be enabled on user. See -- License too. newtype LicenseId LicenseId :: Text -> LicenseId -- | Display name of License newtype LicenseName LicenseName :: Text -> LicenseName -- | Counting number of granted or consumed License newtype LicenseUnit LicenseUnit :: Integer -> LicenseUnit -- | LicenseList is decoded from response JSON of List Licenses REST -- call. It is list of License. newtype LicenseList LicenseList :: [License] -> LicenseList [licenseListItems] :: LicenseList -> [License] -- | Optional query strings for license list API newtype LicenseFilter LicenseFilter :: Maybe OrganizationId -> LicenseFilter -- | List licenses only applicable to given organization. [licenseFilterOrgId] :: LicenseFilter -> Maybe OrganizationId -- | A persona for an authenticated user, corresponding to a set of -- privileges within an organization. Role is decoded from response JSON -- of Get Role Details REST call. It is also element type of response of -- List Roles call. data Role Role :: RoleId -> Maybe Errors -> Maybe RoleName -> Role -- | Identifier of the Role [roleId] :: Role -> RoleId -- | Element level error possibly contained in List API response. [roleErrors] :: Role -> Maybe Errors -- | Name of the Role [roleName] :: Role -> Maybe RoleName -- | Role identifier which can be assigned to user. See Role -- too. newtype RoleId RoleId :: Text -> RoleId -- | Name of Role. newtype RoleName RoleName :: Text -> RoleName -- | RoleList is decoded from response JSON of List Role REST call. -- It is list of Role. newtype RoleList RoleList :: [Role] -> RoleList [roleListItems] :: RoleList -> [Role] -- | Get details of a Webex Teams entity. -- -- Obtaining detail of an entity identified by key. The key can be a -- value in one of following types: PersonId, RoomId, -- MembershipId, MessageId, TeamId, -- TeamMembershipId, OrganizationId, LicenseId, -- RoleId. API is automatically selected by type of the key. A -- JSONException runtime exception will be thrown on an JSON parse -- errors. getDetail :: (MonadIO m, WebexTeamsDetail key) => Authorization -> WebexTeamsRequest -> key -> m (Response (ToResponse key)) -- | Get details of a Webex Teams entity. A Left value will be returned on -- an JSON parse errors. getDetailEither :: (MonadIO m, WebexTeamsDetail key) => Authorization -> WebexTeamsRequest -> key -> m (Response (Either JSONException (ToResponse key))) -- | ListReader is IO action returned by functions for list API -- (getListWithFilter, getTeamList etc). It is containing -- URL inside to be accessed. When you call the IO action, it accesses to -- Webex Teams REST API, parse next page URL if available, then return -- new IO action. The new IO action contains list of responded items and -- new URL for next page so you can call the new IO action to get the -- next page. -- -- Following example demonstrates how you can get all items into single -- list. -- --
--   readAllList :: ListReader i -> IO [i]
--   readAllList reader = go []
--     where
--       go xs = reader >>= chunk -> case chunk of
--           [] -> pure xs
--           ys -> go (xs <> ys)
--   
-- -- Note that this example is only for explaining how ListReader -- works. Practically you should not do the above because it eagerly -- creates entire list. You should use streaming APIs instead. Streaming -- APIs are available via webex-teams-conduit and webex-teams-pipes -- package. type ListReader a = IO [a] -- | Get list with query parameter. getListWithFilter :: (MonadIO m, WebexTeamsFilter filter, WebexTeamsListItem (ToResponse filter)) => Authorization -> WebexTeamsRequest -> filter -> m (ListReader (ToResponse filter)) -- | Return ListReader for Team. getTeamList :: MonadIO m => Authorization -> WebexTeamsRequest -> m (ListReader Team) -- | Return ListReader for Team. getOrganizationList :: MonadIO m => Authorization -> WebexTeamsRequest -> m (ListReader Organization) -- | Return ListReader for Team. getRoleList :: MonadIO m => Authorization -> WebexTeamsRequest -> m (ListReader Role) -- | Get list of entities with query parameter and stream it into Conduit -- pipe. It automatically performs pagination. -- | Deprecated: Use getListWithFilter or streamListWithFilter of -- webex-teams-conduit streamEntityWithFilter :: (MonadIO m, WebexTeamsFilter filter, WebexTeamsListItem (ToResponse filter)) => Authorization -> WebexTeamsRequest -> filter -> ConduitT () (ToResponse filter) m () -- | List of Team and stream it into Conduit pipe. It automatically -- performs pagination. -- | Deprecated: Use getTeamList or streamTeamList of -- webex-teams-conduit streamTeamList :: MonadIO m => Authorization -> WebexTeamsRequest -> ConduitT () Team m () -- | Filter list of Organization and stream it into Conduit pipe. It -- automatically performs pagination. -- | Deprecated: Use getOrganizationList or streamOrganizationList of -- webex-teams-conduit streamOrganizationList :: MonadIO m => Authorization -> WebexTeamsRequest -> ConduitT () Organization m () -- | List of Role and stream it into Conduit pipe. It automatically -- performs pagination. -- | Deprecated: Use getRoleList or streamRoleList of -- webex-teams-conduit streamRoleList :: MonadIO m => Authorization -> WebexTeamsRequest -> ConduitT () Role m () -- | Create a Webex Teams entity with given parameters. -- -- Creating a new entity of Webex Teams such as space, team, membership -- or message. REST API path is automatically selected by type of -- createParams. A JSONException runtime exception will be thrown on an -- JSON parse errors. createEntity :: (MonadIO m, WebexTeamsCreate createParams) => Authorization -> WebexTeamsRequest -> createParams -> m (Response (ToResponse createParams)) -- | Create a Webex Teams entity with given parameters. A Left value will -- be returned on an JSON parse errors. createEntityEither :: (MonadIO m, WebexTeamsCreate createParams) => Authorization -> WebexTeamsRequest -> createParams -> m (Response (Either JSONException (ToResponse createParams))) -- | Update a Webex Teams entity with given parameters. -- -- Creating a new entity of Webex Teams such as space, team, or -- membership. REST API path is automatically selected by type of -- updateParams. A JSONException runtime exception will be thrown on an -- JSON parse errors. updateEntity :: (MonadIO m, WebexTeamsUpdate updateParams) => Authorization -> WebexTeamsRequest -> updateParams -> m (Response (ToResponse updateParams)) -- | Update a Webex Teams entity with given parameters. A Left value will -- be returned on an JSON parse errors. updateEntityEither :: (MonadIO m, WebexTeamsUpdate updateParams) => Authorization -> WebexTeamsRequest -> updateParams -> m (Response (Either JSONException (ToResponse updateParams))) -- | Default value of query strings for message list API. Because -- RoomId is mandatory, user have to supply it in order to get -- rest of defaults. defaultMessageFilter :: RoomId -> MessageFilter -- | Default value of query strings for team membership list API. Because -- TeamId is mandatory, user have to supply it in order to get -- rest of defaults. As of writing, there is no filter parameter other -- than TeamId but TeamMembershipFilter is used for providing -- consistent API like streamEntityWithFilter. defaultTeamMembershipFilter :: TeamId -> TeamMembershipFilter -- | Deletes a room, by ID. deleteRoom :: MonadIO m => Authorization -> WebexTeamsRequest -> RoomId -> m (Response ()) -- | Deletes a membership, by ID. deleteMembership :: MonadIO m => Authorization -> WebexTeamsRequest -> MembershipId -> m (Response ()) -- | Deletes a message, by ID. deleteMessage :: MonadIO m => Authorization -> WebexTeamsRequest -> MessageId -> m (Response ()) -- | Deletes a team, by ID. deleteTeam :: MonadIO m => Authorization -> WebexTeamsRequest -> TeamId -> m (Response ()) -- | Deletes a teamMembership, by ID. deleteTeamMembership :: MonadIO m => Authorization -> WebexTeamsRequest -> TeamMembershipId -> m (Response ()) instance GHC.Show.Show Network.WebexTeams.WebexTeamsRequest instance GHC.Show.Show Network.WebexTeams.Authorization instance GHC.Classes.Eq Network.WebexTeams.Authorization instance Data.Default.Class.Default Network.WebexTeams.WebexTeamsRequest -- | Deprecated: Use Network.WebexTeams module Network.CiscoSpark -- | Deprecated: Use Network.WebexTeams.Types module Network.CiscoSpark.Types