| Copyright | (c) Naoto Shimazaki 20172018 |
|---|---|
| License | MIT (see the file LICENSE) |
| Maintainer | https://github.com/nshimaza |
| Stability | experimental |
| Safe Haskell | None |
| Language | Haskell2010 |
Network.WebexTeams
Description
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.
Synopsis
- class (WebexTeamsApiPath a, WebexTeamsResponse a) => WebexTeamsFilter a
- class FromJSON (ToList i) => WebexTeamsListItem i
- type family ToResponse a :: *
- newtype Authorization = Authorization ByteString
- type CiscoSparkRequest = WebexTeamsRequest
- data WebexTeamsRequest = WebexTeamsRequest {}
- newtype Timestamp = Timestamp Text
- newtype ErrorCode = ErrorCode Text
- data ErrorTitle = ErrorTitle {}
- newtype Errors = Errors {}
- data Person = Person {
- personId :: PersonId
- personErrors :: Maybe Errors
- personEmails :: Maybe [Email]
- personDisplayName :: Maybe DisplayName
- personNickName :: Maybe NickName
- personFirstName :: Maybe FirstName
- personLastName :: Maybe LastName
- personAvatar :: Maybe AvatarUrl
- personOrgId :: Maybe OrganizationId
- personRoles :: Maybe [RoleId]
- personLicenses :: Maybe [LicenseId]
- personCreated :: Maybe Timestamp
- personTimezone :: Maybe Timezone
- personLastActivity :: Maybe Timestamp
- personStatus :: Maybe PersonStatus
- personInvitePending :: Maybe Bool
- personLoginEnabled :: Maybe Bool
- personType :: Maybe PersonType
- newtype PersonId = PersonId Text
- newtype Email = Email Text
- newtype DisplayName = DisplayName Text
- newtype NickName = NickName Text
- newtype FirstName = FirstName Text
- newtype LastName = LastName Text
- newtype AvatarUrl = AvatarUrl Text
- newtype Timezone = Timezone Text
- data PersonStatus
- data PersonType
- newtype PersonList = PersonList {
- personListItems :: [Person]
- data PersonFilter = PersonFilter {}
- data CreatePerson = CreatePerson {
- createPersonEmails :: Maybe [Email]
- createPersonDisplayName :: Maybe DisplayName
- createPersonFirstName :: Maybe FirstName
- createPersonLastName :: Maybe LastName
- createPersonAvatar :: Maybe AvatarUrl
- createPersonOrgId :: Maybe OrganizationId
- createPersonRoles :: Maybe [RoleId]
- createPersonLicenses :: Maybe [LicenseId]
- data UpdatePerson = UpdatePerson {}
- data Room = Room {}
- newtype RoomId = RoomId Text
- newtype RoomTitle = RoomTitle Text
- data RoomType
- newtype SipAddr = SipAddr Text
- newtype RoomList = RoomList {
- roomListItems :: [Room]
- data RoomFilter = RoomFilter {}
- data RoomFilterSortBy
- data CreateRoom = CreateRoom {}
- newtype UpdateRoom = UpdateRoom {}
- data Membership = Membership {
- membershipId :: MembershipId
- membershipErrors :: Maybe Errors
- membershipRoomId :: Maybe RoomId
- membershipPersonId :: Maybe PersonId
- membershipPersonEmail :: Maybe Email
- membershipPersonDisplayName :: Maybe DisplayName
- membershipPersonOrgId :: Maybe OrganizationId
- membershipIsModerator :: Maybe Bool
- membershipIsMonitor :: Maybe Bool
- membershipCreated :: Maybe Timestamp
- newtype MembershipId = MembershipId Text
- newtype MembershipList = MembershipList {}
- data MembershipFilter = MembershipFilter {}
- data CreateMembership = CreateMembership {}
- newtype UpdateMembership = UpdateMembership {}
- data Message = Message {
- messageId :: MessageId
- messageErrors :: Maybe Errors
- messageRoomId :: Maybe RoomId
- messageRoomType :: Maybe RoomType
- messageToPersonId :: Maybe PersonId
- messageToPersonEmail :: Maybe Email
- messageText :: Maybe MessageText
- messageHtml :: Maybe MessageHtml
- messageFiles :: Maybe [FileUrl]
- messagePersonId :: Maybe PersonId
- messagePersonEmail :: Maybe Email
- messageCreated :: Maybe Timestamp
- messageMentionedPeople :: Maybe [PersonId]
- newtype MessageId = MessageId Text
- newtype MessageText = MessageText Text
- newtype MessageHtml = MessageHtml Text
- newtype MessageMarkdown = MessageMarkdown Text
- newtype FileUrl = FileUrl Text
- newtype MessageList = MessageList {
- messageListItems :: [Message]
- data MessageFilter = MessageFilter {}
- data MentionedPeople
- data CreateMessage = CreateMessage {}
- newtype TeamName = TeamName Text
- newtype TeamId = TeamId Text
- data Team = Team {}
- newtype TeamList = TeamList {
- teamListItems :: [Team]
- newtype CreateTeam = CreateTeam {}
- newtype UpdateTeam = UpdateTeam {}
- data TeamMembership = TeamMembership {
- teamMembershipId :: TeamMembershipId
- teamMembershipErrors :: Maybe Errors
- teamMembershipTeamId :: Maybe TeamId
- teamMembershipPersonId :: Maybe PersonId
- teamMembershipPersonEmail :: Maybe Email
- teamMembershipPersonDisplayName :: Maybe DisplayName
- teamMembershipPersonOrgId :: Maybe OrganizationId
- teamMembershipIsModerator :: Maybe Bool
- teamMembershipCreated :: Maybe Timestamp
- newtype TeamMembershipId = TeamMembershipId Text
- newtype TeamMembershipList = TeamMembershipList {}
- newtype TeamMembershipFilter = TeamMembershipFilter {}
- data CreateTeamMembership = CreateTeamMembership {}
- newtype UpdateTeamMembership = UpdateTeamMembership {}
- data Organization = Organization {}
- newtype OrganizationId = OrganizationId Text
- newtype OrganizationDisplayName = OrganizationDisplayName Text
- newtype OrganizationList = OrganizationList {}
- data License = License {}
- newtype LicenseId = LicenseId Text
- newtype LicenseName = LicenseName Text
- newtype LicenseUnit = LicenseUnit Integer
- newtype LicenseList = LicenseList {
- licenseListItems :: [License]
- newtype LicenseFilter = LicenseFilter {}
- data Role = Role {}
- newtype RoleId = RoleId Text
- newtype RoleName = RoleName Text
- newtype RoleList = RoleList {
- roleListItems :: [Role]
- getDetail :: (MonadIO m, WebexTeamsDetail key) => Authorization -> WebexTeamsRequest -> key -> m (Response (ToResponse key))
- getDetailEither :: (MonadIO m, WebexTeamsDetail key) => Authorization -> WebexTeamsRequest -> key -> m (Response (Either JSONException (ToResponse key)))
- type ListReader a = IO [a]
- getListWithFilter :: (MonadIO m, WebexTeamsFilter filter, WebexTeamsListItem (ToResponse filter)) => Authorization -> WebexTeamsRequest -> filter -> m (ListReader (ToResponse filter))
- getTeamList :: MonadIO m => Authorization -> WebexTeamsRequest -> m (ListReader Team)
- getOrganizationList :: MonadIO m => Authorization -> WebexTeamsRequest -> m (ListReader Organization)
- getRoleList :: MonadIO m => Authorization -> WebexTeamsRequest -> m (ListReader Role)
- streamEntityWithFilter :: (MonadIO m, WebexTeamsFilter filter, WebexTeamsListItem (ToResponse filter)) => Authorization -> WebexTeamsRequest -> filter -> ConduitT () (ToResponse filter) m ()
- streamTeamList :: MonadIO m => Authorization -> WebexTeamsRequest -> ConduitT () Team m ()
- streamOrganizationList :: MonadIO m => Authorization -> WebexTeamsRequest -> ConduitT () Organization m ()
- streamRoleList :: MonadIO m => Authorization -> WebexTeamsRequest -> ConduitT () Role m ()
- createEntity :: (MonadIO m, WebexTeamsCreate createParams) => Authorization -> WebexTeamsRequest -> createParams -> m (Response (ToResponse createParams))
- createEntityEither :: (MonadIO m, WebexTeamsCreate createParams) => Authorization -> WebexTeamsRequest -> createParams -> m (Response (Either JSONException (ToResponse createParams)))
- updateEntity :: (MonadIO m, WebexTeamsUpdate updateParams) => Authorization -> WebexTeamsRequest -> updateParams -> m (Response (ToResponse updateParams))
- updateEntityEither :: (MonadIO m, WebexTeamsUpdate updateParams) => Authorization -> WebexTeamsRequest -> updateParams -> m (Response (Either JSONException (ToResponse updateParams)))
- defaultMessageFilter :: RoomId -> MessageFilter
- defaultTeamMembershipFilter :: TeamId -> TeamMembershipFilter
- deleteRoom :: MonadIO m => Authorization -> WebexTeamsRequest -> RoomId -> m (Response ())
- deleteMembership :: MonadIO m => Authorization -> WebexTeamsRequest -> MembershipId -> m (Response ())
- deleteMessage :: MonadIO m => Authorization -> WebexTeamsRequest -> MessageId -> m (Response ())
- deleteTeam :: MonadIO m => Authorization -> WebexTeamsRequest -> TeamId -> m (Response ())
- deleteTeamMembership :: MonadIO m => Authorization -> WebexTeamsRequest -> TeamMembershipId -> m (Response ())
Types
Class and Type Families
class (WebexTeamsApiPath a, WebexTeamsResponse a) => WebexTeamsFilter a #
Convert given filter condition parameter in a concrete type to HTTP query strings.
Minimal complete definition
Instances
class FromJSON (ToList i) => WebexTeamsListItem i #
WebexTeamsListItem is a type class grouping types with following common usage.
- It is used for return value of get-detail APIs.
- It is used for element of return value of list APIs.
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.
Minimal complete definition
Instances
| WebexTeamsListItem Person # |
|
| WebexTeamsListItem Team # | |
| WebexTeamsListItem TeamMembership # | |
Defined in Network.WebexTeams.Types Associated Types type ToList TeamMembership :: * # Methods unwrap :: ToList TeamMembership -> [TeamMembership] # | |
| WebexTeamsListItem Room # | |
| WebexTeamsListItem Membership # |
|
Defined in Network.WebexTeams.Types Associated Types type ToList Membership :: * # Methods unwrap :: ToList Membership -> [Membership] # | |
| WebexTeamsListItem Message # |
|
| WebexTeamsListItem Organization # |
|
Defined in Network.WebexTeams.Types Associated Types type ToList Organization :: * # Methods unwrap :: ToList Organization -> [Organization] # | |
| WebexTeamsListItem License # |
|
| WebexTeamsListItem Role # | |
| WebexTeamsListItem Webhook # |
|
type family ToResponse a :: * #
Associate response type to input parameter type such as filter criteria, entity key or create / update parameters.
Instances
Common Types
newtype Authorization #
Authorization string against Webex Teams API to be contained in HTTP Authorization header of every request.
Constructors
| Authorization ByteString |
Instances
| Eq Authorization # | |
Defined in Network.WebexTeams Methods (==) :: Authorization -> Authorization -> Bool # (/=) :: Authorization -> Authorization -> Bool # | |
| Show Authorization # | |
Defined in Network.WebexTeams Methods showsPrec :: Int -> Authorization -> ShowS # show :: Authorization -> String # showList :: [Authorization] -> ShowS # | |
type CiscoSparkRequest = WebexTeamsRequest #
Type synonym for backward compatibility.
data WebexTeamsRequest #
Wrapping Request in order to provide easy default value specifically for Webex Teams public API.
Constructors
| WebexTeamsRequest | |
Fields
| |
Instances
| Show WebexTeamsRequest # | |
Defined in Network.WebexTeams Methods showsPrec :: Int -> WebexTeamsRequest -> ShowS # show :: WebexTeamsRequest -> String # showList :: [WebexTeamsRequest] -> ShowS # | |
| Default WebexTeamsRequest # | Default parameters for HTTP request to Webex Teams REST API. |
Defined in Network.WebexTeams Methods | |
Type representing timestamp. For now, it is just copied from API response JSON.
Error code for element level error potentially contained in List API responses.
data ErrorTitle #
ErrorTitle represent concrete error code and reason. It appears in Errors.
Constructors
| ErrorTitle | |
Fields
| |
Instances
| Eq ErrorTitle # | |
Defined in Network.WebexTeams.Types | |
| Show ErrorTitle # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> ErrorTitle -> ShowS # show :: ErrorTitle -> String # showList :: [ErrorTitle] -> ShowS # | |
| ToJSON ErrorTitle # | |
Defined in Network.WebexTeams.Types Methods toJSON :: ErrorTitle -> Value # toEncoding :: ErrorTitle -> Encoding # toJSONList :: [ErrorTitle] -> Value # toEncodingList :: [ErrorTitle] -> Encoding # | |
| FromJSON ErrorTitle # |
|
Defined in Network.WebexTeams.Types | |
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.
Constructors
| Errors | |
Fields | |
People related types
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.
Constructors
| Person | |
Fields
| |
Identifying Person describing detail of Webex Teams user or bot.
Instances
| Eq PersonId # | |
| Show PersonId # | |
| Generic PersonId # | |
| ToJSON PersonId # | |
Defined in Network.WebexTeams.Types | |
| FromJSON PersonId # | |
| WebexTeamsDetail PersonId # | User can get detail of a person. |
Defined in Network.WebexTeams.Types | |
| WebexTeamsResponse PersonId # | Get detail for a person API uses "PersonId' and responses |
Defined in Network.WebexTeams.Types Associated Types type ToResponse PersonId :: * # | |
| WebexTeamsApiPath PersonId # | Get detail for a person API uses |
Defined in Network.WebexTeams.Types Methods apiPath :: PersonId -> ByteString # | |
| type Rep PersonId # | |
Defined in Network.WebexTeams.Types | |
| type ToResponse PersonId # | |
Defined in Network.WebexTeams.Types | |
Email address of user.
newtype DisplayName #
Display name of user.
Constructors
| DisplayName Text |
Instances
| Eq DisplayName # | |
Defined in Network.WebexTeams.Types | |
| Show DisplayName # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> DisplayName -> ShowS # show :: DisplayName -> String # showList :: [DisplayName] -> ShowS # | |
| Generic DisplayName # | |
Defined in Network.WebexTeams.Types Associated Types type Rep DisplayName :: * -> * # | |
| ToJSON DisplayName # | |
Defined in Network.WebexTeams.Types Methods toJSON :: DisplayName -> Value # toEncoding :: DisplayName -> Encoding # toJSONList :: [DisplayName] -> Value # toEncodingList :: [DisplayName] -> Encoding # | |
| FromJSON DisplayName # | |
Defined in Network.WebexTeams.Types | |
| type Rep DisplayName # | |
Defined in Network.WebexTeams.Types type Rep DisplayName = D1 (MetaData "DisplayName" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "DisplayName" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))) | |
Nickname of user.
First name of user.
Last name of user.
URL pointing to image file of Avatar.
Timezone in timezone name.
data PersonStatus #
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.
Constructors
| PersonStatusActive | The |
| PersonStatusInactive | The |
| PersonStatusOutOfOffice | Email system of the |
| PersonStatusDoNotDisturb | The |
| PersonStatusUnknown | The status of the |
Instances
data PersonType #
PersonType indicates whether the Person is real human or bot.
Constructors
| PersonTypePerson | The |
| PersonTypeBot | The |
Instances
| Eq PersonType # | |
Defined in Network.WebexTeams.Types | |
| Show PersonType # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> PersonType -> ShowS # show :: PersonType -> String # showList :: [PersonType] -> ShowS # | |
| ToJSON PersonType # | |
Defined in Network.WebexTeams.Types Methods toJSON :: PersonType -> Value # toEncoding :: PersonType -> Encoding # toJSONList :: [PersonType] -> Value # toEncodingList :: [PersonType] -> Encoding # | |
| FromJSON PersonType # |
|
Defined in Network.WebexTeams.Types | |
newtype PersonList #
PersonList is decoded from response JSON of List People REST call. It is list of Person.
Constructors
| PersonList | |
Fields
| |
Instances
| Eq PersonList # | |
Defined in Network.WebexTeams.Types | |
| Show PersonList # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> PersonList -> ShowS # show :: PersonList -> String # showList :: [PersonList] -> ShowS # | |
| ToJSON PersonList # | |
Defined in Network.WebexTeams.Types Methods toJSON :: PersonList -> Value # toEncoding :: PersonList -> Encoding # toJSONList :: [PersonList] -> Value # toEncodingList :: [PersonList] -> Encoding # | |
| FromJSON PersonList # |
|
Defined in Network.WebexTeams.Types | |
data PersonFilter #
Optional query strings for people list API.
Constructors
| PersonFilter | |
Fields
| |
Instances
data CreatePerson #
CreatePerson is encoded to request body JSON of Create a Person REST call.
Constructors
| CreatePerson | |
Fields
| |
Instances
data UpdatePerson #
UpdatePerson is encoded to request body JSON of Update a Person REST call.
Constructors
| UpdatePerson | |
Fields
| |
Instances
Room related types
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.
Constructors
| Room | |
Fields
| |
Identifying Room.
Instances
| Eq RoomId # | |
| Show RoomId # | |
| Generic RoomId # | |
| ToJSON RoomId # | |
Defined in Network.WebexTeams.Types | |
| FromJSON RoomId # | |
| WebexTeamsDetail RoomId # | User can get detail of a room. |
Defined in Network.WebexTeams.Types | |
| WebexTeamsResponse RoomId # | Get detail for a room API uses "RoomId' and responses |
Defined in Network.WebexTeams.Types Associated Types type ToResponse RoomId :: * # | |
| WebexTeamsApiPath RoomId # | Get detail for a room API uses |
Defined in Network.WebexTeams.Types Methods apiPath :: RoomId -> ByteString # | |
| type Rep RoomId # | |
Defined in Network.WebexTeams.Types | |
| type ToResponse RoomId # | |
Defined in Network.WebexTeams.Types | |
Title text of Room.
Constructors
| RoomTypeDirect | The Room is for 1:1. Decoded from "direct". |
| RoomTypeGroup | The Room is for group. Decoded from "group". |
SIP address.
Constructors
| RoomList | |
Fields
| |
data RoomFilter #
Optional query strings for room list API
Constructors
| RoomFilter | |
Fields
| |
Instances
data RoomFilterSortBy #
Sorting option for room list API.
Instances
| Eq RoomFilterSortBy # | |
Defined in Network.WebexTeams.Types Methods (==) :: RoomFilterSortBy -> RoomFilterSortBy -> Bool # (/=) :: RoomFilterSortBy -> RoomFilterSortBy -> Bool # | |
| Show RoomFilterSortBy # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> RoomFilterSortBy -> ShowS # show :: RoomFilterSortBy -> String # showList :: [RoomFilterSortBy] -> ShowS # | |
data CreateRoom #
CreateRoom is encoded to request body JSON of Create a Room REST call.
Constructors
| CreateRoom | |
Fields
| |
Instances
newtype UpdateRoom #
UpdateRoom is encoded to request body JSON of Update a Room REST call.
Constructors
| UpdateRoom | |
Fields | |
Instances
Membership related types
data Membership #
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.
Constructors
| Membership | |
Fields
| |
Instances
| Eq Membership # | |
Defined in Network.WebexTeams.Types | |
| Show Membership # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> Membership -> ShowS # show :: Membership -> String # showList :: [Membership] -> ShowS # | |
| ToJSON Membership # | |
Defined in Network.WebexTeams.Types Methods toJSON :: Membership -> Value # toEncoding :: Membership -> Encoding # toJSONList :: [Membership] -> Value # toEncodingList :: [Membership] -> Encoding # | |
| FromJSON Membership # |
|
Defined in Network.WebexTeams.Types | |
| WebexTeamsListItem Membership # |
|
Defined in Network.WebexTeams.Types Associated Types type ToList Membership :: * # Methods unwrap :: ToList Membership -> [Membership] # | |
| type ToList Membership # | |
Defined in Network.WebexTeams.Types | |
newtype MembershipId #
Identifying Membership.
Constructors
| MembershipId Text |
Instances
newtype MembershipList #
MembershipList is decoded from response JSON of List Memberships REST call. It is list of Membership.
Constructors
| MembershipList | |
Fields | |
Instances
| Eq MembershipList # | |
Defined in Network.WebexTeams.Types Methods (==) :: MembershipList -> MembershipList -> Bool # (/=) :: MembershipList -> MembershipList -> Bool # | |
| Show MembershipList # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> MembershipList -> ShowS # show :: MembershipList -> String # showList :: [MembershipList] -> ShowS # | |
| ToJSON MembershipList # | |
Defined in Network.WebexTeams.Types Methods toJSON :: MembershipList -> Value # toEncoding :: MembershipList -> Encoding # toJSONList :: [MembershipList] -> Value # toEncodingList :: [MembershipList] -> Encoding # | |
| FromJSON MembershipList # |
|
Defined in Network.WebexTeams.Types Methods parseJSON :: Value -> Parser MembershipList # parseJSONList :: Value -> Parser [MembershipList] # | |
data MembershipFilter #
Optional query strings for room membership list API
Constructors
| MembershipFilter | |
Fields
| |
Instances
data CreateMembership #
CreateMembership is encoded to request body JSON of Create a Membership REST call.
Constructors
| CreateMembership | |
Fields
| |
Instances
newtype UpdateMembership #
UpdateMembership is encoded to request body JSON of Update a Membership REST call.
Constructors
| UpdateMembership | |
Fields | |
Instances
Message related types
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.
Constructors
| Message | |
Fields
| |
Identifying Message.
Instances
| Eq MessageId # | |
| Show MessageId # | |
| Generic MessageId # | |
| ToJSON MessageId # | |
Defined in Network.WebexTeams.Types | |
| FromJSON MessageId # | |
| WebexTeamsDetail MessageId # | User can get detail of a message. |
Defined in Network.WebexTeams.Types | |
| WebexTeamsResponse MessageId # | Get detail for a message API uses "MessageId' and responses |
Defined in Network.WebexTeams.Types Associated Types type ToResponse MessageId :: * # | |
| WebexTeamsApiPath MessageId # | Get detail for message API uses |
Defined in Network.WebexTeams.Types Methods apiPath :: MessageId -> ByteString # | |
| type Rep MessageId # | |
Defined in Network.WebexTeams.Types | |
| type ToResponse MessageId # | |
Defined in Network.WebexTeams.Types | |
newtype MessageText #
Body of message in plain text.
Constructors
| MessageText Text |
Instances
| Eq MessageText # | |
Defined in Network.WebexTeams.Types | |
| Show MessageText # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> MessageText -> ShowS # show :: MessageText -> String # showList :: [MessageText] -> ShowS # | |
| Generic MessageText # | |
Defined in Network.WebexTeams.Types Associated Types type Rep MessageText :: * -> * # | |
| ToJSON MessageText # | |
Defined in Network.WebexTeams.Types Methods toJSON :: MessageText -> Value # toEncoding :: MessageText -> Encoding # toJSONList :: [MessageText] -> Value # toEncodingList :: [MessageText] -> Encoding # | |
| FromJSON MessageText # | |
Defined in Network.WebexTeams.Types | |
| type Rep MessageText # | |
Defined in Network.WebexTeams.Types type Rep MessageText = D1 (MetaData "MessageText" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "MessageText" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))) | |
newtype MessageHtml #
Body of message in html.
Constructors
| MessageHtml Text |
Instances
| Eq MessageHtml # | |
Defined in Network.WebexTeams.Types | |
| Show MessageHtml # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> MessageHtml -> ShowS # show :: MessageHtml -> String # showList :: [MessageHtml] -> ShowS # | |
| Generic MessageHtml # | |
Defined in Network.WebexTeams.Types Associated Types type Rep MessageHtml :: * -> * # | |
| ToJSON MessageHtml # | |
Defined in Network.WebexTeams.Types Methods toJSON :: MessageHtml -> Value # toEncoding :: MessageHtml -> Encoding # toJSONList :: [MessageHtml] -> Value # toEncodingList :: [MessageHtml] -> Encoding # | |
| FromJSON MessageHtml # | |
Defined in Network.WebexTeams.Types | |
| type Rep MessageHtml # | |
Defined in Network.WebexTeams.Types type Rep MessageHtml = D1 (MetaData "MessageHtml" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "MessageHtml" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))) | |
newtype MessageMarkdown #
Body of message in markdown.
Constructors
| MessageMarkdown Text |
Instances
URL pointing attached file of message.
newtype MessageList #
MessageList is decoded from response JSON of List Messages REST call. It is list of Message.
Constructors
| MessageList | |
Fields
| |
Instances
| Eq MessageList # | |
Defined in Network.WebexTeams.Types | |
| Show MessageList # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> MessageList -> ShowS # show :: MessageList -> String # showList :: [MessageList] -> ShowS # | |
| ToJSON MessageList # | |
Defined in Network.WebexTeams.Types Methods toJSON :: MessageList -> Value # toEncoding :: MessageList -> Encoding # toJSONList :: [MessageList] -> Value # toEncodingList :: [MessageList] -> Encoding # | |
| FromJSON MessageList # |
|
Defined in Network.WebexTeams.Types | |
data MessageFilter #
Optional query strings for message list API
Constructors
| MessageFilter | |
Fields
| |
Instances
| Eq MessageFilter # | |
Defined in Network.WebexTeams.Types Methods (==) :: MessageFilter -> MessageFilter -> Bool # (/=) :: MessageFilter -> MessageFilter -> Bool # | |
| Show MessageFilter # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> MessageFilter -> ShowS # show :: MessageFilter -> String # showList :: [MessageFilter] -> ShowS # | |
| WebexTeamsFilter MessageFilter # | User can list messages with filter parameter. |
Defined in Network.WebexTeams.Types Methods toFilterList :: MessageFilter -> [(ByteString, Maybe ByteString)] # | |
| WebexTeamsResponse MessageFilter # | List messages API uses |
Defined in Network.WebexTeams.Types Associated Types type ToResponse MessageFilter :: * # | |
| WebexTeamsApiPath MessageFilter # | List messages API uses |
Defined in Network.WebexTeams.Types Methods apiPath :: MessageFilter -> ByteString # | |
| type ToResponse MessageFilter # | |
Defined in Network.WebexTeams.Types | |
data MentionedPeople #
Sum type for mentionedPeople query string. It can be "me" or PersonId.
Constructors
| MentionedPeopleMe | |
| MentionedPeople PersonId |
Instances
| Eq MentionedPeople # | |
Defined in Network.WebexTeams.Types Methods (==) :: MentionedPeople -> MentionedPeople -> Bool # (/=) :: MentionedPeople -> MentionedPeople -> Bool # | |
| Show MentionedPeople # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> MentionedPeople -> ShowS # show :: MentionedPeople -> String # showList :: [MentionedPeople] -> ShowS # | |
data CreateMessage #
CreateMessage is encoded to request body JSON of Create a Message REST call.
Constructors
| CreateMessage | |
Fields
| |
Instances
Team related types
Name of Team
Identifying Team.
Instances
| Eq TeamId # | |
| Show TeamId # | |
| Generic TeamId # | |
| ToJSON TeamId # | |
Defined in Network.WebexTeams.Types | |
| FromJSON TeamId # | |
| WebexTeamsDetail TeamId # | User can get detail of a team. |
Defined in Network.WebexTeams.Types | |
| WebexTeamsResponse TeamId # | Get detail for a team API uses "TeamId' and responses |
Defined in Network.WebexTeams.Types Associated Types type ToResponse TeamId :: * # | |
| WebexTeamsApiPath TeamId # | Get detail for a team API uses |
Defined in Network.WebexTeams.Types Methods apiPath :: TeamId -> ByteString # | |
| type Rep TeamId # | |
Defined in Network.WebexTeams.Types | |
| type ToResponse TeamId # | |
Defined in Network.WebexTeams.Types | |
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.
Constructors
| Team | |
Fields
| |
Constructors
| TeamList | |
Fields
| |
newtype CreateTeam #
CreateTeam is encoded to request body JSON of Create a Team REST call.
Constructors
| CreateTeam | |
Fields | |
Instances
newtype UpdateTeam #
UpdateTeam is encoded to request body JSON of Update a Team REST call.
Constructors
| UpdateTeam | |
Fields | |
Instances
Team Membership related types
data TeamMembership #
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.
Constructors
| TeamMembership | |
Fields
| |
Instances
newtype TeamMembershipId #
Identifying TeamMembership.
Constructors
| TeamMembershipId Text |
Instances
newtype TeamMembershipList #
TeamMembershipList is decoded from response JSON of List Team Memberships REST call. It is list of TeamMembership.
Constructors
| TeamMembershipList | |
Fields | |
Instances
| Eq TeamMembershipList # | |
Defined in Network.WebexTeams.Types Methods (==) :: TeamMembershipList -> TeamMembershipList -> Bool # (/=) :: TeamMembershipList -> TeamMembershipList -> Bool # | |
| Show TeamMembershipList # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> TeamMembershipList -> ShowS # show :: TeamMembershipList -> String # showList :: [TeamMembershipList] -> ShowS # | |
| ToJSON TeamMembershipList # | |
Defined in Network.WebexTeams.Types Methods toJSON :: TeamMembershipList -> Value # toEncoding :: TeamMembershipList -> Encoding # toJSONList :: [TeamMembershipList] -> Value # toEncodingList :: [TeamMembershipList] -> Encoding # | |
| FromJSON TeamMembershipList # |
|
Defined in Network.WebexTeams.Types Methods parseJSON :: Value -> Parser TeamMembershipList # parseJSONList :: Value -> Parser [TeamMembershipList] # | |
newtype TeamMembershipFilter #
Optional query strings for team membership list API
Constructors
| TeamMembershipFilter | |
Fields
| |
Instances
data CreateTeamMembership #
CreateTeamMembership is encoded to request body JSON of Create a Team Membership REST call.
Constructors
| CreateTeamMembership | |
Fields
| |
Instances
newtype UpdateTeamMembership #
UpdateTeamMembership is encoded to request body JSON of Update a Team Membership REST call.
Constructors
| UpdateTeamMembership | |
Fields | |
Instances
Organization related types
data Organization #
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.
Constructors
| Organization | |
Fields
| |
Instances
| Eq Organization # | |
Defined in Network.WebexTeams.Types | |
| Show Organization # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> Organization -> ShowS # show :: Organization -> String # showList :: [Organization] -> ShowS # | |
| ToJSON Organization # | |
Defined in Network.WebexTeams.Types Methods toJSON :: Organization -> Value # toEncoding :: Organization -> Encoding # toJSONList :: [Organization] -> Value # toEncodingList :: [Organization] -> Encoding # | |
| FromJSON Organization # |
|
Defined in Network.WebexTeams.Types | |
| WebexTeamsListItem Organization # |
|
Defined in Network.WebexTeams.Types Associated Types type ToList Organization :: * # Methods unwrap :: ToList Organization -> [Organization] # | |
| type ToList Organization # | |
Defined in Network.WebexTeams.Types | |
newtype OrganizationId #
Organization identifier which user or team belongs to.
Constructors
| OrganizationId Text |
Instances
newtype OrganizationDisplayName #
Display name of Organization
Constructors
| OrganizationDisplayName Text |
Instances
newtype OrganizationList #
OrganizationList is decoded from response JSON of List Organizations REST call. It is list of Organization.
Constructors
| OrganizationList | |
Fields | |
Instances
| Eq OrganizationList # | |
Defined in Network.WebexTeams.Types Methods (==) :: OrganizationList -> OrganizationList -> Bool # (/=) :: OrganizationList -> OrganizationList -> Bool # | |
| Show OrganizationList # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> OrganizationList -> ShowS # show :: OrganizationList -> String # showList :: [OrganizationList] -> ShowS # | |
| ToJSON OrganizationList # | |
Defined in Network.WebexTeams.Types Methods toJSON :: OrganizationList -> Value # toEncoding :: OrganizationList -> Encoding # toJSONList :: [OrganizationList] -> Value # toEncodingList :: [OrganizationList] -> Encoding # | |
| FromJSON OrganizationList # |
|
Defined in Network.WebexTeams.Types Methods parseJSON :: Value -> Parser OrganizationList # parseJSONList :: Value -> Parser [OrganizationList] # | |
License related types
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.
Constructors
| License | |
Fields
| |
Instances
| Eq LicenseId # | |
| Show LicenseId # | |
| Generic LicenseId # | |
| ToJSON LicenseId # | |
Defined in Network.WebexTeams.Types | |
| FromJSON LicenseId # | |
| WebexTeamsDetail LicenseId # | User can get detail of a license. |
Defined in Network.WebexTeams.Types | |
| WebexTeamsResponse LicenseId # | Get detail for a license API uses "LicenseId' and responses |
Defined in Network.WebexTeams.Types Associated Types type ToResponse LicenseId :: * # | |
| WebexTeamsApiPath LicenseId # | Get detail for license API uses |
Defined in Network.WebexTeams.Types Methods apiPath :: LicenseId -> ByteString # | |
| type Rep LicenseId # | |
Defined in Network.WebexTeams.Types | |
| type ToResponse LicenseId # | |
Defined in Network.WebexTeams.Types | |
newtype LicenseName #
Display name of License
Constructors
| LicenseName Text |
Instances
| Eq LicenseName # | |
Defined in Network.WebexTeams.Types | |
| Show LicenseName # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> LicenseName -> ShowS # show :: LicenseName -> String # showList :: [LicenseName] -> ShowS # | |
| Generic LicenseName # | |
Defined in Network.WebexTeams.Types Associated Types type Rep LicenseName :: * -> * # | |
| ToJSON LicenseName # | |
Defined in Network.WebexTeams.Types Methods toJSON :: LicenseName -> Value # toEncoding :: LicenseName -> Encoding # toJSONList :: [LicenseName] -> Value # toEncodingList :: [LicenseName] -> Encoding # | |
| FromJSON LicenseName # | |
Defined in Network.WebexTeams.Types | |
| type Rep LicenseName # | |
Defined in Network.WebexTeams.Types type Rep LicenseName = D1 (MetaData "LicenseName" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "LicenseName" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))) | |
newtype LicenseUnit #
Counting number of granted or consumed License
Constructors
| LicenseUnit Integer |
Instances
| Eq LicenseUnit # | |
Defined in Network.WebexTeams.Types | |
| Show LicenseUnit # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> LicenseUnit -> ShowS # show :: LicenseUnit -> String # showList :: [LicenseUnit] -> ShowS # | |
| Generic LicenseUnit # | |
Defined in Network.WebexTeams.Types Associated Types type Rep LicenseUnit :: * -> * # | |
| ToJSON LicenseUnit # | |
Defined in Network.WebexTeams.Types Methods toJSON :: LicenseUnit -> Value # toEncoding :: LicenseUnit -> Encoding # toJSONList :: [LicenseUnit] -> Value # toEncodingList :: [LicenseUnit] -> Encoding # | |
| FromJSON LicenseUnit # | |
Defined in Network.WebexTeams.Types | |
| type Rep LicenseUnit # | |
Defined in Network.WebexTeams.Types type Rep LicenseUnit = D1 (MetaData "LicenseUnit" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "LicenseUnit" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Integer))) | |
newtype LicenseList #
LicenseList is decoded from response JSON of List Licenses REST call. It is list of License.
Constructors
| LicenseList | |
Fields
| |
Instances
| Eq LicenseList # | |
Defined in Network.WebexTeams.Types | |
| Show LicenseList # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> LicenseList -> ShowS # show :: LicenseList -> String # showList :: [LicenseList] -> ShowS # | |
| ToJSON LicenseList # | |
Defined in Network.WebexTeams.Types Methods toJSON :: LicenseList -> Value # toEncoding :: LicenseList -> Encoding # toJSONList :: [LicenseList] -> Value # toEncodingList :: [LicenseList] -> Encoding # | |
| FromJSON LicenseList # |
|
Defined in Network.WebexTeams.Types | |
newtype LicenseFilter #
Optional query strings for license list API
Constructors
| LicenseFilter | |
Fields
| |
Instances
Role related types
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.
Constructors
| Role | |
Instances
| Eq RoleId # | |
| Show RoleId # | |
| Generic RoleId # | |
| ToJSON RoleId # | |
Defined in Network.WebexTeams.Types | |
| FromJSON RoleId # | |
| WebexTeamsDetail RoleId # | User can get detail of a role. |
Defined in Network.WebexTeams.Types | |
| WebexTeamsResponse RoleId # | Get detail for a role API uses "RoleId' and responses |
Defined in Network.WebexTeams.Types Associated Types type ToResponse RoleId :: * # | |
| WebexTeamsApiPath RoleId # | Get detail for role API uses |
Defined in Network.WebexTeams.Types Methods apiPath :: RoleId -> ByteString # | |
| type Rep RoleId # | |
Defined in Network.WebexTeams.Types | |
| type ToResponse RoleId # | |
Defined in Network.WebexTeams.Types | |
Name of Role.
Constructors
| RoleList | |
Fields
| |
Functions
Getting detail of an entity
Arguments
| :: (MonadIO m, WebexTeamsDetail key) | |
| => Authorization | Authorization string against Webex Teams API. |
| -> WebexTeamsRequest | Predefined part of |
| -> key | One of PersonId, RoomId, MembershipId, MessageId, TeamId, TeamMembershipId, OrganizationId, LicenseId and RoleId. |
| -> m (Response (ToResponse key)) |
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.
getDetailEither :: (MonadIO m, WebexTeamsDetail key) => Authorization -> WebexTeamsRequest -> key -> m (Response (Either JSONException (ToResponse key))) #
Get details of a Webex Teams entity. A Left value will be returned on an JSON parse errors.
Streaming response of List API with auto pagenation
type ListReader a = IO [a] #
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.
getListWithFilter :: (MonadIO m, WebexTeamsFilter filter, WebexTeamsListItem (ToResponse filter)) => Authorization -> WebexTeamsRequest -> filter -> m (ListReader (ToResponse filter)) #
Get list with query parameter.
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) #
Return ListReader for Team.
streamEntityWithFilter :: (MonadIO m, WebexTeamsFilter filter, WebexTeamsListItem (ToResponse filter)) => Authorization -> WebexTeamsRequest -> filter -> ConduitT () (ToResponse filter) m () #
Deprecated: Use getListWithFilter or streamListWithFilter of webex-teams-conduit
Get list of entities with query parameter and stream it into Conduit pipe. It automatically performs pagination.
streamTeamList :: MonadIO m => Authorization -> WebexTeamsRequest -> ConduitT () Team m () #
Deprecated: Use getTeamList or streamTeamList of webex-teams-conduit
List of Team and stream it into Conduit pipe. It automatically performs pagination.
streamOrganizationList :: MonadIO m => Authorization -> WebexTeamsRequest -> ConduitT () Organization m () #
Deprecated: Use getOrganizationList or streamOrganizationList of webex-teams-conduit
Filter list of Organization and stream it into Conduit pipe. It automatically performs pagination.
streamRoleList :: MonadIO m => Authorization -> WebexTeamsRequest -> ConduitT () Role m () #
Deprecated: Use getRoleList or streamRoleList of webex-teams-conduit
List of Role and stream it into Conduit pipe. It automatically performs pagination.
Creating an entity
Arguments
| :: (MonadIO m, WebexTeamsCreate createParams) | |
| => Authorization | Authorization string against Webex Teams API. |
| -> WebexTeamsRequest | Predefined part of |
| -> createParams | One of |
| -> m (Response (ToResponse createParams)) |
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.
createEntityEither :: (MonadIO m, WebexTeamsCreate createParams) => Authorization -> WebexTeamsRequest -> createParams -> m (Response (Either JSONException (ToResponse createParams))) #
Create a Webex Teams entity with given parameters. A Left value will be returned on an JSON parse errors.
Updating an entity
Arguments
| :: (MonadIO m, WebexTeamsUpdate updateParams) | |
| => Authorization | Authorization string against Webex Teams API. |
| -> WebexTeamsRequest | Predefined part of |
| -> updateParams | One of |
| -> m (Response (ToResponse updateParams)) |
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.
updateEntityEither :: (MonadIO m, WebexTeamsUpdate updateParams) => Authorization -> WebexTeamsRequest -> updateParams -> m (Response (Either JSONException (ToResponse updateParams))) #
Update a Webex Teams entity with given parameters. A Left value will be returned on an JSON parse errors.
Creating default filter spec from mandatory field
defaultMessageFilter :: RoomId -> MessageFilter #
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.
defaultTeamMembershipFilter :: TeamId -> TeamMembershipFilter #
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.
Deleting an entity
Arguments
| :: MonadIO m | |
| => Authorization | Authorization string against Webex Teams API. |
| -> WebexTeamsRequest | Predefined part of |
| -> RoomId | Identifier of a space to be deleted. |
| -> m (Response ()) |
Deletes a room, by ID.
Arguments
| :: MonadIO m | |
| => Authorization | Authorization string against Webex Teams API. |
| -> WebexTeamsRequest | Predefined part of |
| -> MembershipId | Identifier of a space to be deleted. |
| -> m (Response ()) |
Deletes a membership, by ID.
Arguments
| :: MonadIO m | |
| => Authorization | Authorization string against Webex Teams API. |
| -> WebexTeamsRequest | Predefined part of |
| -> MessageId | Identifier of a space to be deleted. |
| -> m (Response ()) |
Deletes a message, by ID.
Arguments
| :: MonadIO m | |
| => Authorization | Authorization string against Webex Teams API. |
| -> WebexTeamsRequest | Predefined part of |
| -> TeamId | Identifier of a space to be deleted. |
| -> m (Response ()) |
Deletes a team, by ID.
Arguments
| :: MonadIO m | |
| => Authorization | Authorization string against Webex Teams API. |
| -> WebexTeamsRequest | Predefined part of |
| -> TeamMembershipId | Identifier of a space to be deleted. |
| -> m (Response ()) |
Deletes a teamMembership, by ID.