Copyright | (c) Naoto Shimazaki 2017 |
---|---|
License | MIT (see the file LICENSE) |
Maintainer | https://github.com/nshimaza |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
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.
- peoplePath :: ByteString
- roomsPath :: ByteString
- membershipsPath :: ByteString
- messagesPath :: ByteString
- teamsPath :: ByteString
- teamMembershipsPath :: ByteString
- organizationsPath :: ByteString
- licensesPath :: ByteString
- rolesPath :: ByteString
- webhooksPath :: ByteString
- class FromJSON (ToList i) => WebexTeamsListItem i where
- class WebexTeamsApiPath a where
- class FromJSON (ToResponse a) => WebexTeamsResponse a where
- type ToResponse a :: *
- class (WebexTeamsApiPath a, WebexTeamsResponse a) => WebexTeamsDetail a where
- class (WebexTeamsApiPath a, WebexTeamsResponse a) => WebexTeamsFilter a where
- class (WebexTeamsApiPath a, WebexTeamsResponse a, ToJSON a) => WebexTeamsCreate a
- class (WebexTeamsApiPath a, WebexTeamsResponse a, ToJSON a) => WebexTeamsUpdate a
- newtype Timestamp = Timestamp Text
- newtype ErrorCode = ErrorCode Text
- data ErrorTitle = ErrorTitle {}
- newtype Errors = Errors {}
- 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 OrganizationId = OrganizationId Text
- newtype RoleId = RoleId Text
- newtype LicenseId = LicenseId Text
- newtype Timezone = Timezone Text
- data PersonStatus
- data PersonType
- 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 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 {}
- newtype TeamId = TeamId Text
- newtype TeamName = TeamName Text
- data Team = Team {}
- newtype TeamList = TeamList {
- teamListItems :: [Team]
- newtype CreateTeam = CreateTeam {}
- newtype UpdateTeam = UpdateTeam {}
- newtype TeamMembershipId = TeamMembershipId Text
- 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 TeamMembershipList = TeamMembershipList {}
- newtype TeamMembershipFilter = TeamMembershipFilter {}
- defaultTeamMembershipFilter :: TeamId -> TeamMembershipFilter
- data CreateTeamMembership = CreateTeamMembership {}
- newtype UpdateTeamMembership = UpdateTeamMembership {}
- newtype RoomId = RoomId Text
- newtype RoomTitle = RoomTitle Text
- newtype SipAddr = SipAddr Text
- data RoomType
- data Room = Room {}
- newtype RoomList = RoomList {
- roomListItems :: [Room]
- data RoomFilterSortBy
- data RoomFilter = RoomFilter {}
- roomTypeToFilterString :: RoomType -> ByteString
- roomFilterSortByToFilterString :: RoomFilterSortBy -> ByteString
- data CreateRoom = CreateRoom {}
- newtype UpdateRoom = UpdateRoom {}
- newtype MembershipId = MembershipId Text
- 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 MembershipList = MembershipList {}
- data MembershipFilter = MembershipFilter {}
- data CreateMembership = CreateMembership {}
- newtype UpdateMembership = UpdateMembership {}
- newtype MessageId = MessageId Text
- newtype MessageText = MessageText Text
- newtype MessageHtml = MessageHtml Text
- newtype MessageMarkdown = MessageMarkdown Text
- newtype FileUrl = FileUrl Text
- 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 MessageList = MessageList {
- messageListItems :: [Message]
- data MentionedPeople
- data MessageFilter = MessageFilter {}
- defaultMessageFilter :: RoomId -> MessageFilter
- mentionedPeopleToFilterString :: MentionedPeople -> ByteString
- data CreateMessage = CreateMessage {}
- newtype OrganizationDisplayName = OrganizationDisplayName Text
- data Organization = Organization {}
- newtype OrganizationList = OrganizationList {}
- newtype LicenseName = LicenseName Text
- newtype LicenseUnit = LicenseUnit Integer
- data License = License {}
- newtype LicenseList = LicenseList {
- licenseListItems :: [License]
- newtype LicenseFilter = LicenseFilter {}
- newtype RoleName = RoleName Text
- data Role = Role {}
- newtype RoleList = RoleList {
- roleListItems :: [Role]
- newtype WebhookId = WebhookId Text
- newtype WebhookName = WebhookName Text
- newtype WebhookUrl = WebhookUrl Text
- newtype WebhookFilter = WebhookFilter Text
- newtype WebhookSecret = WebhookSecret Text
- data WebhookResource
- data WebhookEvent
- data Webhook = Webhook {}
- newtype WebhookList = WebhookList {
- webhookListItems :: [Webhook]
- data CreateWebhook = CreateWebhook {}
- data UpdateWebhook = UpdateWebhook {}
- data WebhookMembershipFilter = WebhookMembershipFilter {}
- data WebhookMessageFilter = WebhookMessageFilter {}
- data WebhookRoomFilter = WebhookRoomFilter {}
- newtype AppId = AppId Text
- data WebhookNotifyOwnedBy
- data WebhookNotifyStatus
- data WebhookNotify = WebhookNotify {
- webhookNotifyId :: WebhookId
- webhookNotifyName :: WebhookName
- webhookNotifyResource :: WebhookResource
- webhookNotifyEvent :: WebhookEvent
- webhookNotifyFilter :: WebhookFilter
- webhookNotifyOrgId :: Organization
- webhookNotifyCreatedBy :: PersonId
- webhookNotifyAppId :: AppId
- webhookNotifyOwnedBy :: WebhookNotifyOwnedBy
- webhookNotifyStatus :: WebhookNotifyStatus
- webhookNotifyActorId :: PersonId
- newtype WebhookNotifyMembership = WebhookNotifyMembership {}
- newtype WebhookNotifyMessage = WebhookNotifyMessage {}
- newtype WebhookNotifyRoom = WebhookNotifyRoom {}
Documentation
peoplePath :: ByteString Source #
URL path for people API.
roomsPath :: ByteString Source #
URL path for rooms API.
membershipsPath :: ByteString Source #
URL path for memberships API.
messagesPath :: ByteString Source #
URL path for messages API.
teamsPath :: ByteString Source #
URL path for teams API.
teamMembershipsPath :: ByteString Source #
URL path for team memberships API.
organizationsPath :: ByteString Source #
URL path for organizations API.
licensesPath :: ByteString Source #
URL path for licenes API.
rolesPath :: ByteString Source #
URL path for roles API.
webhooksPath :: ByteString Source #
URL path for webhooks API.
class FromJSON (ToList i) => WebexTeamsListItem i where Source #
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.
unwrap :: ToList i -> [i] Source #
Get bare list from wrapped type which can be parsed directly from JSON.
class WebexTeamsApiPath a where Source #
Type class for getting URL path of API category from given type of value.
apiPath :: a -> ByteString Source #
WebexTeamsApiPath LicenseId Source # | Get detail for license API uses |
WebexTeamsApiPath RoleId Source # | Get detail for role API uses |
WebexTeamsApiPath OrganizationId Source # | Get detail for organization API uses |
WebexTeamsApiPath PersonId Source # | Get detail for a person API uses |
WebexTeamsApiPath CreatePerson Source # | Create person API uses |
WebexTeamsApiPath PersonFilter Source # | List people API uses |
WebexTeamsApiPath UpdatePerson Source # | Update person API uses |
WebexTeamsApiPath TeamId Source # | Get detail for a team API uses |
WebexTeamsApiPath CreateTeam Source # | Create team API uses |
WebexTeamsApiPath UpdateTeam Source # | Update team API uses |
WebexTeamsApiPath TeamMembershipId Source # | Get detail for a team membership API uses |
WebexTeamsApiPath CreateTeamMembership Source # | Create teamMembership API uses |
WebexTeamsApiPath TeamMembershipFilter Source # | List team memberships API uses |
WebexTeamsApiPath UpdateTeamMembership Source # | Update teamMembership API uses |
WebexTeamsApiPath RoomId Source # | Get detail for a room API uses |
WebexTeamsApiPath CreateRoom Source # | Create room API uses |
WebexTeamsApiPath RoomFilter Source # | List rooms API uses |
WebexTeamsApiPath UpdateRoom Source # | Update room API uses |
WebexTeamsApiPath MembershipId Source # | Get detail for a membership API uses |
WebexTeamsApiPath CreateMembership Source # | Create membership API uses |
WebexTeamsApiPath MembershipFilter Source # | List memberships API uses |
WebexTeamsApiPath UpdateMembership Source # | Update membership API uses |
WebexTeamsApiPath MessageId Source # | Get detail for message API uses |
WebexTeamsApiPath CreateMessage Source # | Create message API uses |
WebexTeamsApiPath MessageFilter Source # | List messages API uses |
WebexTeamsApiPath LicenseFilter Source # | List licenses API uses |
WebexTeamsApiPath WebhookId Source # | Get detail for webhook API uses |
WebexTeamsApiPath CreateWebhook Source # | Create webhook API uses |
WebexTeamsApiPath UpdateWebhook Source # | Update webhook API uses |
WebexTeamsApiPath WebhookRoomFilter Source # | Create webhook API accepts |
WebexTeamsApiPath WebhookMessageFilter Source # | Create webhook API accepts |
WebexTeamsApiPath WebhookMembershipFilter Source # | Create webhook API accepts |
class FromJSON (ToResponse a) => WebexTeamsResponse a Source #
Type family to associate a type appears in an argument to response type.
type ToResponse a :: * Source #
Associate response type to input parameter type such as filter criteria, entity key or create / update parameters.
WebexTeamsResponse LicenseId Source # | Get detail for a license API uses "LicenseId' and responses |
WebexTeamsResponse RoleId Source # | Get detail for a role API uses "RoleId' and responses |
WebexTeamsResponse OrganizationId Source # | Get detail for a organization API uses "OrganizationId' and responses |
WebexTeamsResponse PersonId Source # | Get detail for a person API uses "PersonId' and responses |
WebexTeamsResponse CreatePerson Source # | Create person API uses "CreatePerson' and responses |
WebexTeamsResponse PersonFilter Source # | List people API uses |
WebexTeamsResponse UpdatePerson Source # | Update person API uses "UpdatePerson' and responses |
WebexTeamsResponse TeamId Source # | Get detail for a team API uses "TeamId' and responses |
WebexTeamsResponse CreateTeam Source # | Create team API uses "CreateTeam' and responses |
WebexTeamsResponse UpdateTeam Source # | Update team API uses "UpdateTeam' and responses |
WebexTeamsResponse TeamMembershipId Source # | Get detail for a team membership API uses "TeamMembershipId' and responses |
WebexTeamsResponse CreateTeamMembership Source # | Create teamMembership API uses "CreateTeamMembership' and responses |
WebexTeamsResponse TeamMembershipFilter Source # | List team memberships API uses |
WebexTeamsResponse UpdateTeamMembership Source # | Update teamMembership API uses "UpdateTeamMembership' and responses |
WebexTeamsResponse RoomId Source # | Get detail for a room API uses "RoomId' and responses |
WebexTeamsResponse CreateRoom Source # | Create room API uses "CreateRoom' and responses |
WebexTeamsResponse RoomFilter Source # | List rooms API uses |
WebexTeamsResponse UpdateRoom Source # | Update room API uses "UpdateRoom' and responses |
WebexTeamsResponse MembershipId Source # | Get detail for a membership API uses "MembershipId' and responses |
WebexTeamsResponse CreateMembership Source # | Create membership API uses "CreateMembership' and responses |
WebexTeamsResponse MembershipFilter Source # | List memberships API uses |
WebexTeamsResponse UpdateMembership Source # | Update membership API uses "UpdateMembership' and responses |
WebexTeamsResponse MessageId Source # | Get detail for a message API uses "MessageId' and responses |
WebexTeamsResponse CreateMessage Source # | Create message API uses "CreateMessage' and responses |
WebexTeamsResponse MessageFilter Source # | List messages API uses |
WebexTeamsResponse LicenseFilter Source # | List licenses API uses |
WebexTeamsResponse WebhookId Source # | Get detail for a webhook API uses "WebhookId' and responses |
WebexTeamsResponse CreateWebhook Source # | Create webhook API uses "CreateWebhook' and responses |
WebexTeamsResponse UpdateWebhook Source # | Update webhook API uses "UpdateWebhook' and responses |
WebexTeamsResponse WebhookRoomFilter Source # | List team memberships API accepts |
WebexTeamsResponse WebhookMessageFilter Source # | List team memberships API accepts |
WebexTeamsResponse WebhookMembershipFilter Source # | List team memberships API accepts |
class (WebexTeamsApiPath a, WebexTeamsResponse a) => WebexTeamsDetail a where Source #
Extract containing entity ID string from given type of value.
WebexTeamsDetail LicenseId Source # | User can get detail of a license. |
WebexTeamsDetail RoleId Source # | User can get detail of a role. |
WebexTeamsDetail OrganizationId Source # | User can get detail of a organization. |
WebexTeamsDetail PersonId Source # | User can get detail of a person. |
WebexTeamsDetail TeamId Source # | User can get detail of a team. |
WebexTeamsDetail TeamMembershipId Source # | User can get detail of a team membership. |
WebexTeamsDetail RoomId Source # | User can get detail of a room. |
WebexTeamsDetail MembershipId Source # | User can get detail of a membership. |
WebexTeamsDetail MessageId Source # | User can get detail of a message. |
WebexTeamsDetail WebhookId Source # | User can get detail of a webhook. |
class (WebexTeamsApiPath a, WebexTeamsResponse a) => WebexTeamsFilter a where Source #
Convert given filter condition parameter in a concrete type to HTTP query strings.
toFilterList :: a -> [(ByteString, Maybe ByteString)] Source #
WebexTeamsFilter PersonFilter Source # | User can list people with filter parameter. |
WebexTeamsFilter TeamMembershipFilter Source # | User can list team membership with filter parameter. |
WebexTeamsFilter RoomFilter Source # | User can list rooms with filter parameter. |
WebexTeamsFilter MembershipFilter Source # | User can list memberships with filter parameter. |
WebexTeamsFilter MessageFilter Source # | User can list messages with filter parameter. |
WebexTeamsFilter LicenseFilter Source # | User can list licenses with filter parameter. |
WebexTeamsFilter WebhookRoomFilter Source # | User can filter Webhook events from room. |
WebexTeamsFilter WebhookMessageFilter Source # | User can filter Webhook events from message. |
WebexTeamsFilter WebhookMembershipFilter Source # | User can filter Webhook events from membership. |
class (WebexTeamsApiPath a, WebexTeamsResponse a, ToJSON a) => WebexTeamsCreate a Source #
Type class for parameter type for create entity API.
WebexTeamsCreate CreatePerson Source # | User can create a person. |
WebexTeamsCreate CreateTeam Source # | User can create a team. |
WebexTeamsCreate CreateTeamMembership Source # | User can create a teamMembership. |
WebexTeamsCreate CreateRoom Source # | User can create a room. |
WebexTeamsCreate CreateMembership Source # | User can create a membership. |
WebexTeamsCreate CreateMessage Source # | User can create a message. |
WebexTeamsCreate CreateWebhook Source # | User can create a webhook. |
class (WebexTeamsApiPath a, WebexTeamsResponse a, ToJSON a) => WebexTeamsUpdate a Source #
Type class for parameter type for update entity API.
WebexTeamsUpdate UpdatePerson Source # | User can update a person. |
WebexTeamsUpdate UpdateTeam Source # | User can update a team. |
WebexTeamsUpdate UpdateTeamMembership Source # | User can update a teamMembership. |
WebexTeamsUpdate UpdateRoom Source # | User can update a room. |
WebexTeamsUpdate UpdateMembership Source # | User can update a membership. |
WebexTeamsUpdate UpdateWebhook Source # | User can update a webhook. |
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 Source #
ErrorTitle
represent concrete error code and reason. It appears in Errors
.
ErrorTitle | |
|
Eq ErrorTitle Source # | |
Show ErrorTitle Source # | |
ToJSON ErrorTitle Source # | |
FromJSON ErrorTitle Source # |
|
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.
Identifying Person
describing detail of Webex Teams user or bot.
Eq PersonId Source # | |
Show PersonId Source # | |
Generic PersonId Source # | |
ToJSON PersonId Source # | |
FromJSON PersonId Source # | |
WebexTeamsDetail PersonId Source # | User can get detail of a person. |
WebexTeamsResponse PersonId Source # | Get detail for a person API uses "PersonId' and responses |
WebexTeamsApiPath PersonId Source # | Get detail for a person API uses |
type Rep PersonId Source # | |
type ToResponse PersonId Source # | |
Email address of user.
newtype DisplayName Source #
Display name of user.
Nickname of user.
First name of user.
Last name of user.
URL pointing to image file of Avatar.
newtype OrganizationId Source #
Organization
identifier which user or team belongs to.
Eq OrganizationId Source # | |
Show OrganizationId Source # | |
Generic OrganizationId Source # | |
ToJSON OrganizationId Source # | |
FromJSON OrganizationId Source # | |
WebexTeamsDetail OrganizationId Source # | User can get detail of a organization. |
WebexTeamsResponse OrganizationId Source # | Get detail for a organization API uses "OrganizationId' and responses |
WebexTeamsApiPath OrganizationId Source # | Get detail for organization API uses |
type Rep OrganizationId Source # | |
type ToResponse OrganizationId Source # | |
Eq RoleId Source # | |
Show RoleId Source # | |
Generic RoleId Source # | |
ToJSON RoleId Source # | |
FromJSON RoleId Source # | |
WebexTeamsDetail RoleId Source # | User can get detail of a role. |
WebexTeamsResponse RoleId Source # | Get detail for a role API uses "RoleId' and responses |
WebexTeamsApiPath RoleId Source # | Get detail for role API uses |
type Rep RoleId Source # | |
type ToResponse RoleId Source # | |
Eq LicenseId Source # | |
Show LicenseId Source # | |
Generic LicenseId Source # | |
ToJSON LicenseId Source # | |
FromJSON LicenseId Source # | |
WebexTeamsDetail LicenseId Source # | User can get detail of a license. |
WebexTeamsResponse LicenseId Source # | Get detail for a license API uses "LicenseId' and responses |
WebexTeamsApiPath LicenseId Source # | Get detail for license API uses |
type Rep LicenseId Source # | |
type ToResponse LicenseId Source # | |
Timezone in timezone name.
data PersonStatus Source #
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.
PersonStatusActive | The |
PersonStatusInactive | The |
PersonStatusOutOfOffice | Email system of the |
PersonStatusDoNotDisturb | The |
PersonStatusUnknown | The status of the |
Eq PersonStatus Source # | |
Show PersonStatus Source # | |
Generic PersonStatus Source # | |
ToJSON PersonStatus Source # |
|
FromJSON PersonStatus Source # |
|
type Rep PersonStatus Source # | |
data PersonType Source #
PersonType
indicates whether the Person is real human or bot.
PersonTypePerson | The |
PersonTypeBot | The |
Eq PersonType Source # | |
Show PersonType Source # | |
ToJSON PersonType Source # | |
FromJSON PersonType Source # |
|
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.
Person | |
|
newtype PersonList Source #
PersonList
is decoded from response JSON of List People REST call. It is list of Person
.
Eq PersonList Source # | |
Show PersonList Source # | |
ToJSON PersonList Source # | |
FromJSON PersonList Source # |
|
data PersonFilter Source #
Optional query strings for people list API.
PersonFilter | |
|
Eq PersonFilter Source # | |
Show PersonFilter Source # | |
Generic PersonFilter Source # | |
Default PersonFilter Source # | |
WebexTeamsFilter PersonFilter Source # | User can list people with filter parameter. |
WebexTeamsResponse PersonFilter Source # | List people API uses |
WebexTeamsApiPath PersonFilter Source # | List people API uses |
type Rep PersonFilter Source # | |
type ToResponse PersonFilter Source # | |
data CreatePerson Source #
CreatePerson
is encoded to request body JSON of Create a Person REST call.
CreatePerson | |
|
Eq CreatePerson Source # | |
Show CreatePerson Source # | |
ToJSON CreatePerson Source # | |
FromJSON CreatePerson Source # |
|
WebexTeamsCreate CreatePerson Source # | User can create a person. |
WebexTeamsResponse CreatePerson Source # | Create person API uses "CreatePerson' and responses |
WebexTeamsApiPath CreatePerson Source # | Create person API uses |
type ToResponse CreatePerson Source # | |
data UpdatePerson Source #
UpdatePerson
is encoded to request body JSON of Update a Person REST call.
UpdatePerson | |
|
Eq UpdatePerson Source # | |
Show UpdatePerson Source # | |
ToJSON UpdatePerson Source # | |
FromJSON UpdatePerson Source # |
|
WebexTeamsUpdate UpdatePerson Source # | User can update a person. |
WebexTeamsResponse UpdatePerson Source # | Update person API uses "UpdatePerson' and responses |
WebexTeamsApiPath UpdatePerson Source # | Update person API uses |
type ToResponse UpdatePerson Source # | |
Identifying Team.
Eq TeamId Source # | |
Show TeamId Source # | |
Generic TeamId Source # | |
ToJSON TeamId Source # | |
FromJSON TeamId Source # | |
WebexTeamsDetail TeamId Source # | User can get detail of a team. |
WebexTeamsResponse TeamId Source # | Get detail for a team API uses "TeamId' and responses |
WebexTeamsApiPath TeamId Source # | Get detail for a team API uses |
type Rep TeamId Source # | |
type ToResponse TeamId Source # | |
Name of Team
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.
Team | |
|
TeamList | |
|
newtype CreateTeam Source #
CreateTeam
is encoded to request body JSON of Create a Team REST call.
Eq CreateTeam Source # | |
Show CreateTeam Source # | |
ToJSON CreateTeam Source # | |
FromJSON CreateTeam Source # |
|
WebexTeamsCreate CreateTeam Source # | User can create a team. |
WebexTeamsResponse CreateTeam Source # | Create team API uses "CreateTeam' and responses |
WebexTeamsApiPath CreateTeam Source # | Create team API uses |
type ToResponse CreateTeam Source # | |
newtype UpdateTeam Source #
UpdateTeam
is encoded to request body JSON of Update a Team REST call.
Eq UpdateTeam Source # | |
Show UpdateTeam Source # | |
ToJSON UpdateTeam Source # | |
FromJSON UpdateTeam Source # |
|
WebexTeamsUpdate UpdateTeam Source # | User can update a team. |
WebexTeamsResponse UpdateTeam Source # | Update team API uses "UpdateTeam' and responses |
WebexTeamsApiPath UpdateTeam Source # | Update team API uses |
type ToResponse UpdateTeam Source # | |
newtype TeamMembershipId Source #
Identifying TeamMembership.
Eq TeamMembershipId Source # | |
Show TeamMembershipId Source # | |
Generic TeamMembershipId Source # | |
ToJSON TeamMembershipId Source # | |
FromJSON TeamMembershipId Source # | |
WebexTeamsDetail TeamMembershipId Source # | User can get detail of a team membership. |
WebexTeamsResponse TeamMembershipId Source # | Get detail for a team membership API uses "TeamMembershipId' and responses |
WebexTeamsApiPath TeamMembershipId Source # | Get detail for a team membership API uses |
type Rep TeamMembershipId Source # | |
type ToResponse TeamMembershipId Source # | |
data TeamMembership Source #
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.
TeamMembership | |
|
Eq TeamMembership Source # | |
Show TeamMembership Source # | |
ToJSON TeamMembership Source # | |
FromJSON TeamMembership Source # |
|
WebexTeamsListItem TeamMembership Source # | |
type ToList TeamMembership Source # | |
newtype TeamMembershipList Source #
TeamMembershipList
is decoded from response JSON of List Team Memberships REST call. It is list of TeamMembership
.
Eq TeamMembershipList Source # | |
Show TeamMembershipList Source # | |
ToJSON TeamMembershipList Source # | |
FromJSON TeamMembershipList Source # |
|
newtype TeamMembershipFilter Source #
Optional query strings for team membership list API
TeamMembershipFilter | |
|
Eq TeamMembershipFilter Source # | |
Show TeamMembershipFilter Source # | |
WebexTeamsFilter TeamMembershipFilter Source # | User can list team membership with filter parameter. |
WebexTeamsResponse TeamMembershipFilter Source # | List team memberships API uses |
WebexTeamsApiPath TeamMembershipFilter Source # | List team memberships API uses |
type ToResponse TeamMembershipFilter Source # | |
defaultTeamMembershipFilter :: TeamId -> TeamMembershipFilter Source #
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
.
data CreateTeamMembership Source #
CreateTeamMembership
is encoded to request body JSON of Create a Team Membership REST call.
CreateTeamMembership | |
|
Eq CreateTeamMembership Source # | |
Show CreateTeamMembership Source # | |
ToJSON CreateTeamMembership Source # | |
FromJSON CreateTeamMembership Source # |
|
WebexTeamsCreate CreateTeamMembership Source # | User can create a teamMembership. |
WebexTeamsResponse CreateTeamMembership Source # | Create teamMembership API uses "CreateTeamMembership' and responses |
WebexTeamsApiPath CreateTeamMembership Source # | Create teamMembership API uses |
type ToResponse CreateTeamMembership Source # | |
newtype UpdateTeamMembership Source #
UpdateTeamMembership
is encoded to request body JSON of Update a Team Membership REST call.
Eq UpdateTeamMembership Source # | |
Show UpdateTeamMembership Source # | |
ToJSON UpdateTeamMembership Source # | |
FromJSON UpdateTeamMembership Source # |
|
WebexTeamsUpdate UpdateTeamMembership Source # | User can update a teamMembership. |
WebexTeamsResponse UpdateTeamMembership Source # | Update teamMembership API uses "UpdateTeamMembership' and responses |
WebexTeamsApiPath UpdateTeamMembership Source # | Update teamMembership API uses |
type ToResponse UpdateTeamMembership Source # | |
Identifying Room
.
Eq RoomId Source # | |
Show RoomId Source # | |
Generic RoomId Source # | |
ToJSON RoomId Source # | |
FromJSON RoomId Source # | |
WebexTeamsDetail RoomId Source # | User can get detail of a room. |
WebexTeamsResponse RoomId Source # | Get detail for a room API uses "RoomId' and responses |
WebexTeamsApiPath RoomId Source # | Get detail for a room API uses |
type Rep RoomId Source # | |
type ToResponse RoomId Source # | |
Title text of Room
.
SIP address.
RoomTypeDirect | The Room is for 1:1. Decoded from "direct". |
RoomTypeGroup | The Room is for group. Decoded from "group". |
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.
Room | |
|
RoomList | |
|
data RoomFilterSortBy Source #
Sorting option for room list API.
data RoomFilter Source #
Optional query strings for room list API
RoomFilter | |
|
Eq RoomFilter Source # | |
Show RoomFilter Source # | |
Generic RoomFilter Source # | |
Default RoomFilter Source # | |
WebexTeamsFilter RoomFilter Source # | User can list rooms with filter parameter. |
WebexTeamsResponse RoomFilter Source # | List rooms API uses |
WebexTeamsApiPath RoomFilter Source # | List rooms API uses |
type Rep RoomFilter Source # | |
type ToResponse RoomFilter Source # | |
roomTypeToFilterString :: RoomType -> ByteString Source #
Sum type to ByteString converter for RoomType
.
roomFilterSortByToFilterString :: RoomFilterSortBy -> ByteString Source #
Sum type to ByteString converter for RoomFilterSortBy
.
data CreateRoom Source #
CreateRoom
is encoded to request body JSON of Create a Room REST call.
CreateRoom | |
|
Eq CreateRoom Source # | |
Show CreateRoom Source # | |
ToJSON CreateRoom Source # | |
FromJSON CreateRoom Source # |
|
WebexTeamsCreate CreateRoom Source # | User can create a room. |
WebexTeamsResponse CreateRoom Source # | Create room API uses "CreateRoom' and responses |
WebexTeamsApiPath CreateRoom Source # | Create room API uses |
type ToResponse CreateRoom Source # | |
newtype UpdateRoom Source #
UpdateRoom
is encoded to request body JSON of Update a Room REST call.
Eq UpdateRoom Source # | |
Show UpdateRoom Source # | |
ToJSON UpdateRoom Source # | |
FromJSON UpdateRoom Source # |
|
WebexTeamsUpdate UpdateRoom Source # | User can update a room. |
WebexTeamsResponse UpdateRoom Source # | Update room API uses "UpdateRoom' and responses |
WebexTeamsApiPath UpdateRoom Source # | Update room API uses |
type ToResponse UpdateRoom Source # | |
newtype MembershipId Source #
Identifying Membership
.
Eq MembershipId Source # | |
Show MembershipId Source # | |
Generic MembershipId Source # | |
ToJSON MembershipId Source # | |
FromJSON MembershipId Source # | |
WebexTeamsDetail MembershipId Source # | User can get detail of a membership. |
WebexTeamsResponse MembershipId Source # | Get detail for a membership API uses "MembershipId' and responses |
WebexTeamsApiPath MembershipId Source # | Get detail for a membership API uses |
type Rep MembershipId Source # | |
type ToResponse MembershipId Source # | |
data Membership Source #
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.
Membership | |
|
Eq Membership Source # | |
Show Membership Source # | |
ToJSON Membership Source # | |
FromJSON Membership Source # |
|
WebexTeamsListItem Membership Source # |
|
type ToList Membership Source # | |
newtype MembershipList Source #
MembershipList
is decoded from response JSON of List Memberships REST call. It is list of Membership
.
Eq MembershipList Source # | |
Show MembershipList Source # | |
ToJSON MembershipList Source # | |
FromJSON MembershipList Source # |
|
data MembershipFilter Source #
Optional query strings for room membership list API
MembershipFilter | |
|
Eq MembershipFilter Source # | |
Show MembershipFilter Source # | |
Generic MembershipFilter Source # | |
Default MembershipFilter Source # | |
WebexTeamsFilter MembershipFilter Source # | User can list memberships with filter parameter. |
WebexTeamsResponse MembershipFilter Source # | List memberships API uses |
WebexTeamsApiPath MembershipFilter Source # | List memberships API uses |
type Rep MembershipFilter Source # | |
type ToResponse MembershipFilter Source # | |
data CreateMembership Source #
CreateMembership
is encoded to request body JSON of Create a Membership REST call.
CreateMembership | |
|
Eq CreateMembership Source # | |
Show CreateMembership Source # | |
ToJSON CreateMembership Source # | |
FromJSON CreateMembership Source # |
|
WebexTeamsCreate CreateMembership Source # | User can create a membership. |
WebexTeamsResponse CreateMembership Source # | Create membership API uses "CreateMembership' and responses |
WebexTeamsApiPath CreateMembership Source # | Create membership API uses |
type ToResponse CreateMembership Source # | |
newtype UpdateMembership Source #
UpdateMembership
is encoded to request body JSON of Update a Membership REST call.
Eq UpdateMembership Source # | |
Show UpdateMembership Source # | |
ToJSON UpdateMembership Source # | |
FromJSON UpdateMembership Source # |
|
WebexTeamsUpdate UpdateMembership Source # | User can update a membership. |
WebexTeamsResponse UpdateMembership Source # | Update membership API uses "UpdateMembership' and responses |
WebexTeamsApiPath UpdateMembership Source # | Update membership API uses |
type ToResponse UpdateMembership Source # | |
Identifying Message
.
Eq MessageId Source # | |
Show MessageId Source # | |
Generic MessageId Source # | |
ToJSON MessageId Source # | |
FromJSON MessageId Source # | |
WebexTeamsDetail MessageId Source # | User can get detail of a message. |
WebexTeamsResponse MessageId Source # | Get detail for a message API uses "MessageId' and responses |
WebexTeamsApiPath MessageId Source # | Get detail for message API uses |
type Rep MessageId Source # | |
type ToResponse MessageId Source # | |
newtype MessageText Source #
Body of message in plain text.
newtype MessageHtml Source #
Body of message in html.
newtype MessageMarkdown Source #
Body of message in markdown.
URL pointing attached file of message.
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.
Message | |
|
newtype MessageList Source #
MessageList
is decoded from response JSON of List Messages REST call. It is list of Message
.
Eq MessageList Source # | |
Show MessageList Source # | |
ToJSON MessageList Source # | |
FromJSON MessageList Source # |
|
data MentionedPeople Source #
Sum type for mentionedPeople query string. It can be "me" or PersonId
.
data MessageFilter Source #
Optional query strings for message list API
MessageFilter | |
|
Eq MessageFilter Source # | |
Show MessageFilter Source # | |
WebexTeamsFilter MessageFilter Source # | User can list messages with filter parameter. |
WebexTeamsResponse MessageFilter Source # | List messages API uses |
WebexTeamsApiPath MessageFilter Source # | List messages API uses |
type ToResponse MessageFilter Source # | |
defaultMessageFilter :: RoomId -> MessageFilter Source #
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.
mentionedPeopleToFilterString :: MentionedPeople -> ByteString Source #
Sum type to ByteString converter for mentionedPeople query string.
data CreateMessage Source #
CreateMessage
is encoded to request body JSON of Create a Message REST call.
CreateMessage | |
|
Eq CreateMessage Source # | |
Show CreateMessage Source # | |
ToJSON CreateMessage Source # | |
FromJSON CreateMessage Source # |
|
WebexTeamsCreate CreateMessage Source # | User can create a message. |
WebexTeamsResponse CreateMessage Source # | Create message API uses "CreateMessage' and responses |
WebexTeamsApiPath CreateMessage Source # | Create message API uses |
type ToResponse CreateMessage Source # | |
newtype OrganizationDisplayName Source #
Display name of Organization
data Organization Source #
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.
Organization | |
|
Eq Organization Source # | |
Show Organization Source # | |
ToJSON Organization Source # | |
FromJSON Organization Source # |
|
WebexTeamsListItem Organization Source # |
|
type ToList Organization Source # | |
newtype OrganizationList Source #
OrganizationList
is decoded from response JSON of List Organizations REST call. It is list of Organization
.
Eq OrganizationList Source # | |
Show OrganizationList Source # | |
ToJSON OrganizationList Source # | |
FromJSON OrganizationList Source # |
|
newtype LicenseName Source #
Display name of License
newtype LicenseUnit Source #
Counting number of granted or consumed License
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.
License | |
|
newtype LicenseList Source #
LicenseList
is decoded from response JSON of List Licenses REST call. It is list of License
.
Eq LicenseList Source # | |
Show LicenseList Source # | |
ToJSON LicenseList Source # | |
FromJSON LicenseList Source # |
|
newtype LicenseFilter Source #
Optional query strings for license list API
LicenseFilter | |
|
Eq LicenseFilter Source # | |
Show LicenseFilter Source # | |
Generic LicenseFilter Source # | |
Default LicenseFilter Source # | |
WebexTeamsFilter LicenseFilter Source # | User can list licenses with filter parameter. |
WebexTeamsResponse LicenseFilter Source # | List licenses API uses |
WebexTeamsApiPath LicenseFilter Source # | List licenses API uses |
type Rep LicenseFilter Source # | |
type ToResponse LicenseFilter Source # | |
Name of Role
.
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.
RoleList | |
|
Eq WebhookId Source # | |
Show WebhookId Source # | |
Generic WebhookId Source # | |
ToJSON WebhookId Source # | |
FromJSON WebhookId Source # | |
WebexTeamsDetail WebhookId Source # | User can get detail of a webhook. |
WebexTeamsResponse WebhookId Source # | Get detail for a webhook API uses "WebhookId' and responses |
WebexTeamsApiPath WebhookId Source # | Get detail for webhook API uses |
type Rep WebhookId Source # | |
type ToResponse WebhookId Source # | |
newtype WebhookName Source #
Name of Webhook
.
newtype WebhookUrl Source #
URL pointing to webhook target.
newtype WebhookFilter Source #
URL-encoded set of webhook filtering criteria.
newtype WebhookSecret Source #
Shared secret supplied by user to authenticate Webex Cloud by webhook receiver.
data WebhookResource Source #
WebhookResource
indicates source of event which triggered webhook access.
WebhookResourceAll | |
WebhookResourceTeams | |
WebhookResourceMemberships | |
WebhookResourceMessages | |
WebhookResourceRooms |
Eq WebhookResource Source # | |
Show WebhookResource Source # | |
ToJSON WebhookResource Source # | |
FromJSON WebhookResource Source # |
|
data WebhookEvent Source #
WebhookEvent indicates which event triggered Webhook access.
Eq WebhookEvent Source # | |
Show WebhookEvent Source # | |
ToJSON WebhookEvent Source # | |
FromJSON WebhookEvent Source # |
|
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.
Webhook | |
|
newtype WebhookList Source #
WebhookList
is decoded from response JSON of List Webhook REST call. It is list of Webhook
.
Eq WebhookList Source # | |
Show WebhookList Source # | |
ToJSON WebhookList Source # | |
FromJSON WebhookList Source # |
|
data CreateWebhook Source #
CreateWebhook
is encoded to request body JSON of Create a Webhook REST call.
CreateWebhook | |
|
Eq CreateWebhook Source # | |
Show CreateWebhook Source # | |
ToJSON CreateWebhook Source # | |
FromJSON CreateWebhook Source # |
|
WebexTeamsCreate CreateWebhook Source # | User can create a webhook. |
WebexTeamsResponse CreateWebhook Source # | Create webhook API uses "CreateWebhook' and responses |
WebexTeamsApiPath CreateWebhook Source # | Create webhook API uses |
type ToResponse CreateWebhook Source # | |
data UpdateWebhook Source #
UpdateWebhook
is encoded to request body JSON of Update a Webhook REST call.
UpdateWebhook | |
|
Eq UpdateWebhook Source # | |
Show UpdateWebhook Source # | |
ToJSON UpdateWebhook Source # | |
FromJSON UpdateWebhook Source # |
|
WebexTeamsUpdate UpdateWebhook Source # | User can update a webhook. |
WebexTeamsResponse UpdateWebhook Source # | Update webhook API uses "UpdateWebhook' and responses |
WebexTeamsApiPath UpdateWebhook Source # | Update webhook API uses |
type ToResponse UpdateWebhook Source # | |
data WebhookMembershipFilter Source #
Optional query strings for membership event.
WebhookMembershipFilter | |
|
Eq WebhookMembershipFilter Source # | |
Show WebhookMembershipFilter Source # | |
WebexTeamsFilter WebhookMembershipFilter Source # | User can filter Webhook events from membership. |
WebexTeamsResponse WebhookMembershipFilter Source # | List team memberships API accepts |
WebexTeamsApiPath WebhookMembershipFilter Source # | Create webhook API accepts |
type ToResponse WebhookMembershipFilter Source # | |
data WebhookMessageFilter Source #
Optional query strings for message event.
WebhookMessageFilter | |
|
Eq WebhookMessageFilter Source # | |
Show WebhookMessageFilter Source # | |
WebexTeamsFilter WebhookMessageFilter Source # | User can filter Webhook events from message. |
WebexTeamsResponse WebhookMessageFilter Source # | List team memberships API accepts |
WebexTeamsApiPath WebhookMessageFilter Source # | Create webhook API accepts |
type ToResponse WebhookMessageFilter Source # | |
data WebhookRoomFilter Source #
Optional query strings for room event.
WebhookRoomFilter | |
|
Eq WebhookRoomFilter Source # | |
Show WebhookRoomFilter Source # | |
WebexTeamsFilter WebhookRoomFilter Source # | User can filter Webhook events from room. |
WebexTeamsResponse WebhookRoomFilter Source # | List team memberships API accepts |
WebexTeamsApiPath WebhookRoomFilter Source # | Create webhook API accepts |
type ToResponse WebhookRoomFilter Source # | |
Identifier of app.
data WebhookNotifyOwnedBy Source #
WebhookNotifyOwnedBy
indicates if the webhook is owned by the org or the creator.
Eq WebhookNotifyOwnedBy Source # | |
Show WebhookNotifyOwnedBy Source # | |
ToJSON WebhookNotifyOwnedBy Source # | |
FromJSON WebhookNotifyOwnedBy Source # |
|
data WebhookNotifyStatus Source #
WebhookNotifyStatus
indicates if the webhook is active.
Eq WebhookNotifyStatus Source # | |
Show WebhookNotifyStatus Source # | |
ToJSON WebhookNotifyStatus Source # | |
FromJSON WebhookNotifyStatus Source # |
|
data WebhookNotify Source #
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.
Eq WebhookNotify Source # | |
Show WebhookNotify Source # | |
ToJSON WebhookNotify Source # | |
FromJSON WebhookNotify Source # |
|
newtype WebhookNotifyMembership Source #
Data part of webhook notification is decoded to Membership
when resource field value is "memberships".
Eq WebhookNotifyMembership Source # | |
Show WebhookNotifyMembership Source # | |
ToJSON WebhookNotifyMembership Source # | |
FromJSON WebhookNotifyMembership Source # |
|
newtype WebhookNotifyMessage Source #
Data part of webhook notification is decoded to Message
when resource field value is "messages".
Eq WebhookNotifyMessage Source # | |
Show WebhookNotifyMessage Source # | |
ToJSON WebhookNotifyMessage Source # | |
FromJSON WebhookNotifyMessage Source # |
|
newtype WebhookNotifyRoom Source #
Data part of webhook notification is decoded to Room
when resource field value is "rooms".
Eq WebhookNotifyRoom Source # | |
Show WebhookNotifyRoom Source # | |
ToJSON WebhookNotifyRoom Source # | |
FromJSON WebhookNotifyRoom Source # |
|