Copyright | (c) Naoto Shimazaki 2017 |
---|---|
License | MIT (see the file LICENSE) |
Maintainer | https://github.com/nshimaza |
Stability | experimental |
Safe Haskell | None |
Language | Haskell2010 |
Network.WebexTeams.Types
Description
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.
Synopsis
- 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
- apiPath :: a -> ByteString
- 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
- toFilterList :: a -> [(ByteString, Maybe ByteString)]
- 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.
Methods
unwrap :: ToList i -> [i] Source #
Get bare list from wrapped type which can be parsed directly from JSON.
Instances
class WebexTeamsApiPath a where Source #
Type class for getting URL path of API category from given type of value.
Methods
apiPath :: a -> ByteString Source #
Instances
class FromJSON (ToResponse a) => WebexTeamsResponse a Source #
Type family to associate a type appears in an argument to response type.
Associated Types
type ToResponse a :: * Source #
Associate response type to input parameter type such as filter criteria, entity key or create / update parameters.
Instances
class (WebexTeamsApiPath a, WebexTeamsResponse a) => WebexTeamsDetail a where Source #
Extract containing entity ID string from given type of value.
Instances
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. |
Defined in Network.WebexTeams.Types Methods toIdStr :: OrganizationId -> Text Source # | |
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. |
Defined in Network.WebexTeams.Types Methods toIdStr :: TeamMembershipId -> Text Source # | |
WebexTeamsDetail RoomId Source # | User can get detail of a room. |
WebexTeamsDetail MembershipId Source # | User can get detail of a membership. |
Defined in Network.WebexTeams.Types Methods toIdStr :: MembershipId -> Text Source # | |
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.
Methods
toFilterList :: a -> [(ByteString, Maybe ByteString)] Source #
Instances
class (WebexTeamsApiPath a, WebexTeamsResponse a, ToJSON a) => WebexTeamsCreate a Source #
Type class for parameter type for create entity API.
Instances
WebexTeamsCreate CreatePerson Source # | User can create a person. |
Defined in Network.WebexTeams.Types | |
WebexTeamsCreate CreateTeam Source # | User can create a team. |
Defined in Network.WebexTeams.Types | |
WebexTeamsCreate CreateTeamMembership Source # | User can create a teamMembership. |
Defined in Network.WebexTeams.Types | |
WebexTeamsCreate CreateRoom Source # | User can create a room. |
Defined in Network.WebexTeams.Types | |
WebexTeamsCreate CreateMembership Source # | User can create a membership. |
Defined in Network.WebexTeams.Types | |
WebexTeamsCreate CreateMessage Source # | User can create a message. |
Defined in Network.WebexTeams.Types | |
WebexTeamsCreate CreateWebhook Source # | User can create a webhook. |
Defined in Network.WebexTeams.Types |
class (WebexTeamsApiPath a, WebexTeamsResponse a, ToJSON a) => WebexTeamsUpdate a Source #
Type class for parameter type for update entity API.
Instances
WebexTeamsUpdate UpdatePerson Source # | User can update a person. |
Defined in Network.WebexTeams.Types | |
WebexTeamsUpdate UpdateTeam Source # | User can update a team. |
Defined in Network.WebexTeams.Types | |
WebexTeamsUpdate UpdateTeamMembership Source # | User can update a teamMembership. |
Defined in Network.WebexTeams.Types | |
WebexTeamsUpdate UpdateRoom Source # | User can update a room. |
Defined in Network.WebexTeams.Types | |
WebexTeamsUpdate UpdateMembership Source # | User can update a membership. |
Defined in Network.WebexTeams.Types | |
WebexTeamsUpdate UpdateWebhook Source # | User can update a webhook. |
Defined in Network.WebexTeams.Types |
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
.
Constructors
ErrorTitle | |
Fields
|
Instances
Eq ErrorTitle Source # | |
Defined in Network.WebexTeams.Types | |
Show ErrorTitle Source # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> ErrorTitle -> ShowS # show :: ErrorTitle -> String # showList :: [ErrorTitle] -> ShowS # | |
ToJSON ErrorTitle Source # | |
Defined in Network.WebexTeams.Types Methods toJSON :: ErrorTitle -> Value # toEncoding :: ErrorTitle -> Encoding # toJSONList :: [ErrorTitle] -> Value # toEncodingList :: [ErrorTitle] -> Encoding # | |
FromJSON ErrorTitle Source # |
|
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 |
Identifying Person
describing detail of Webex Teams user or bot.
Instances
Eq PersonId Source # | |
Show PersonId Source # | |
Generic PersonId Source # | |
ToJSON PersonId Source # | |
Defined in Network.WebexTeams.Types | |
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 |
Defined in Network.WebexTeams.Types Associated Types type ToResponse PersonId :: Type Source # | |
WebexTeamsApiPath PersonId Source # | Get detail for a person API uses |
Defined in Network.WebexTeams.Types Methods apiPath :: PersonId -> ByteString Source # | |
type Rep PersonId Source # | |
Defined in Network.WebexTeams.Types | |
type ToResponse PersonId Source # | |
Defined in Network.WebexTeams.Types |
Email address of user.
newtype DisplayName Source #
Display name of user.
Constructors
DisplayName Text |
Instances
Eq DisplayName Source # | |
Defined in Network.WebexTeams.Types | |
Show DisplayName Source # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> DisplayName -> ShowS # show :: DisplayName -> String # showList :: [DisplayName] -> ShowS # | |
Generic DisplayName Source # | |
Defined in Network.WebexTeams.Types Associated Types type Rep DisplayName :: Type -> Type # | |
ToJSON DisplayName Source # | |
Defined in Network.WebexTeams.Types Methods toJSON :: DisplayName -> Value # toEncoding :: DisplayName -> Encoding # toJSONList :: [DisplayName] -> Value # toEncodingList :: [DisplayName] -> Encoding # | |
FromJSON DisplayName Source # | |
Defined in Network.WebexTeams.Types | |
type Rep DisplayName Source # | |
Defined in Network.WebexTeams.Types type Rep DisplayName = D1 (MetaData "DisplayName" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.1-q6fXIzP74m9qzihYCvefh" 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.
newtype OrganizationId Source #
Organization
identifier which user or team belongs to.
Constructors
OrganizationId Text |
Instances
Instances
Eq RoleId Source # | |
Show RoleId Source # | |
Generic RoleId Source # | |
ToJSON RoleId Source # | |
Defined in Network.WebexTeams.Types | |
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 |
Defined in Network.WebexTeams.Types Associated Types type ToResponse RoleId :: Type Source # | |
WebexTeamsApiPath RoleId Source # | Get detail for role API uses |
Defined in Network.WebexTeams.Types Methods apiPath :: RoleId -> ByteString Source # | |
type Rep RoleId Source # | |
Defined in Network.WebexTeams.Types | |
type ToResponse RoleId Source # | |
Defined in Network.WebexTeams.Types |
Instances
Eq LicenseId Source # | |
Show LicenseId Source # | |
Generic LicenseId Source # | |
ToJSON LicenseId Source # | |
Defined in Network.WebexTeams.Types | |
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 |
Defined in Network.WebexTeams.Types Associated Types type ToResponse LicenseId :: Type Source # | |
WebexTeamsApiPath LicenseId Source # | Get detail for license API uses |
Defined in Network.WebexTeams.Types Methods apiPath :: LicenseId -> ByteString Source # | |
type Rep LicenseId Source # | |
Defined in Network.WebexTeams.Types | |
type ToResponse LicenseId Source # | |
Defined in Network.WebexTeams.Types |
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.
Constructors
PersonStatusActive | The |
PersonStatusInactive | The |
PersonStatusOutOfOffice | Email system of the |
PersonStatusDoNotDisturb | The |
PersonStatusUnknown | The status of the |
Instances
data PersonType Source #
PersonType
indicates whether the Person is real human or bot.
Constructors
PersonTypePerson | The |
PersonTypeBot | The |
Instances
Eq PersonType Source # | |
Defined in Network.WebexTeams.Types | |
Show PersonType Source # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> PersonType -> ShowS # show :: PersonType -> String # showList :: [PersonType] -> ShowS # | |
ToJSON PersonType Source # | |
Defined in Network.WebexTeams.Types Methods toJSON :: PersonType -> Value # toEncoding :: PersonType -> Encoding # toJSONList :: [PersonType] -> Value # toEncodingList :: [PersonType] -> Encoding # | |
FromJSON PersonType Source # |
|
Defined in Network.WebexTeams.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
|
Instances
Eq Person Source # | |
Show Person Source # | |
ToJSON Person Source # | |
Defined in Network.WebexTeams.Types | |
FromJSON Person Source # |
|
WebexTeamsListItem Person Source # |
|
type ToList Person Source # | |
Defined in Network.WebexTeams.Types |
newtype PersonList Source #
PersonList
is decoded from response JSON of List People REST call. It is list of Person
.
Constructors
PersonList | |
Fields
|
Instances
Eq PersonList Source # | |
Defined in Network.WebexTeams.Types | |
Show PersonList Source # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> PersonList -> ShowS # show :: PersonList -> String # showList :: [PersonList] -> ShowS # | |
ToJSON PersonList Source # | |
Defined in Network.WebexTeams.Types Methods toJSON :: PersonList -> Value # toEncoding :: PersonList -> Encoding # toJSONList :: [PersonList] -> Value # toEncodingList :: [PersonList] -> Encoding # | |
FromJSON PersonList Source # |
|
Defined in Network.WebexTeams.Types |
data PersonFilter Source #
Optional query strings for people list API.
Constructors
PersonFilter | |
Fields
|
Instances
data CreatePerson Source #
CreatePerson
is encoded to request body JSON of Create a Person REST call.
Constructors
CreatePerson | |
Fields
|
Instances
data UpdatePerson Source #
UpdatePerson
is encoded to request body JSON of Update a Person REST call.
Constructors
UpdatePerson | |
Fields
|
Instances
Identifying Team.
Instances
Eq TeamId Source # | |
Show TeamId Source # | |
Generic TeamId Source # | |
ToJSON TeamId Source # | |
Defined in Network.WebexTeams.Types | |
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 |
Defined in Network.WebexTeams.Types Associated Types type ToResponse TeamId :: Type Source # | |
WebexTeamsApiPath TeamId Source # | Get detail for a team API uses |
Defined in Network.WebexTeams.Types Methods apiPath :: TeamId -> ByteString Source # | |
type Rep TeamId Source # | |
Defined in Network.WebexTeams.Types | |
type ToResponse TeamId Source # | |
Defined in Network.WebexTeams.Types |
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.
Constructors
Team | |
Fields
|
Constructors
TeamList | |
Fields
|
newtype CreateTeam Source #
CreateTeam
is encoded to request body JSON of Create a Team REST call.
Constructors
CreateTeam | |
Fields |
Instances
newtype UpdateTeam Source #
UpdateTeam
is encoded to request body JSON of Update a Team REST call.
Constructors
UpdateTeam | |
Fields |
Instances
newtype TeamMembershipId Source #
Identifying TeamMembership.
Constructors
TeamMembershipId Text |
Instances
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.
Constructors
TeamMembership | |
Fields
|
Instances
newtype TeamMembershipList Source #
TeamMembershipList
is decoded from response JSON of List Team Memberships REST call. It is list of TeamMembership
.
Constructors
TeamMembershipList | |
Fields |
Instances
Eq TeamMembershipList Source # | |
Defined in Network.WebexTeams.Types Methods (==) :: TeamMembershipList -> TeamMembershipList -> Bool # (/=) :: TeamMembershipList -> TeamMembershipList -> Bool # | |
Show TeamMembershipList Source # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> TeamMembershipList -> ShowS # show :: TeamMembershipList -> String # showList :: [TeamMembershipList] -> ShowS # | |
ToJSON TeamMembershipList Source # | |
Defined in Network.WebexTeams.Types Methods toJSON :: TeamMembershipList -> Value # toEncoding :: TeamMembershipList -> Encoding # toJSONList :: [TeamMembershipList] -> Value # toEncodingList :: [TeamMembershipList] -> Encoding # | |
FromJSON TeamMembershipList Source # |
|
Defined in Network.WebexTeams.Types Methods parseJSON :: Value -> Parser TeamMembershipList # parseJSONList :: Value -> Parser [TeamMembershipList] # |
newtype TeamMembershipFilter Source #
Optional query strings for team membership list API
Constructors
TeamMembershipFilter | |
Fields
|
Instances
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.
Constructors
CreateTeamMembership | |
Fields
|
Instances
newtype UpdateTeamMembership Source #
UpdateTeamMembership
is encoded to request body JSON of Update a Team Membership REST call.
Constructors
UpdateTeamMembership | |
Fields |
Instances
Identifying Room
.
Instances
Eq RoomId Source # | |
Show RoomId Source # | |
Generic RoomId Source # | |
ToJSON RoomId Source # | |
Defined in Network.WebexTeams.Types | |
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 |
Defined in Network.WebexTeams.Types Associated Types type ToResponse RoomId :: Type Source # | |
WebexTeamsApiPath RoomId Source # | Get detail for a room API uses |
Defined in Network.WebexTeams.Types Methods apiPath :: RoomId -> ByteString Source # | |
type Rep RoomId Source # | |
Defined in Network.WebexTeams.Types | |
type ToResponse RoomId Source # | |
Defined in Network.WebexTeams.Types |
Title text of Room
.
SIP address.
Constructors
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.
Constructors
Room | |
Fields
|
Constructors
RoomList | |
Fields
|
data RoomFilterSortBy Source #
Sorting option for room list API.
Instances
Eq RoomFilterSortBy Source # | |
Defined in Network.WebexTeams.Types Methods (==) :: RoomFilterSortBy -> RoomFilterSortBy -> Bool # (/=) :: RoomFilterSortBy -> RoomFilterSortBy -> Bool # | |
Show RoomFilterSortBy Source # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> RoomFilterSortBy -> ShowS # show :: RoomFilterSortBy -> String # showList :: [RoomFilterSortBy] -> ShowS # |
data RoomFilter Source #
Optional query strings for room list API
Constructors
RoomFilter | |
Fields
|
Instances
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.
Constructors
CreateRoom | |
Fields
|
Instances
newtype UpdateRoom Source #
UpdateRoom
is encoded to request body JSON of Update a Room REST call.
Constructors
UpdateRoom | |
Fields |
Instances
newtype MembershipId Source #
Identifying Membership
.
Constructors
MembershipId Text |
Instances
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.
Constructors
Membership | |
Fields
|
Instances
Eq Membership Source # | |
Defined in Network.WebexTeams.Types | |
Show Membership Source # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> Membership -> ShowS # show :: Membership -> String # showList :: [Membership] -> ShowS # | |
ToJSON Membership Source # | |
Defined in Network.WebexTeams.Types Methods toJSON :: Membership -> Value # toEncoding :: Membership -> Encoding # toJSONList :: [Membership] -> Value # toEncodingList :: [Membership] -> Encoding # | |
FromJSON Membership Source # |
|
Defined in Network.WebexTeams.Types | |
WebexTeamsListItem Membership Source # |
|
Defined in Network.WebexTeams.Types Associated Types type ToList Membership :: Type Source # Methods unwrap :: ToList Membership -> [Membership] Source # | |
type ToList Membership Source # | |
Defined in Network.WebexTeams.Types |
newtype MembershipList Source #
MembershipList
is decoded from response JSON of List Memberships REST call. It is list of Membership
.
Constructors
MembershipList | |
Fields |
Instances
Eq MembershipList Source # | |
Defined in Network.WebexTeams.Types Methods (==) :: MembershipList -> MembershipList -> Bool # (/=) :: MembershipList -> MembershipList -> Bool # | |
Show MembershipList Source # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> MembershipList -> ShowS # show :: MembershipList -> String # showList :: [MembershipList] -> ShowS # | |
ToJSON MembershipList Source # | |
Defined in Network.WebexTeams.Types Methods toJSON :: MembershipList -> Value # toEncoding :: MembershipList -> Encoding # toJSONList :: [MembershipList] -> Value # toEncodingList :: [MembershipList] -> Encoding # | |
FromJSON MembershipList Source # |
|
Defined in Network.WebexTeams.Types Methods parseJSON :: Value -> Parser MembershipList # parseJSONList :: Value -> Parser [MembershipList] # |
data MembershipFilter Source #
Optional query strings for room membership list API
Constructors
MembershipFilter | |
Fields
|
Instances
data CreateMembership Source #
CreateMembership
is encoded to request body JSON of Create a Membership REST call.
Constructors
CreateMembership | |
Fields
|
Instances
newtype UpdateMembership Source #
UpdateMembership
is encoded to request body JSON of Update a Membership REST call.
Constructors
UpdateMembership | |
Fields |
Instances
Identifying Message
.
Instances
Eq MessageId Source # | |
Show MessageId Source # | |
Generic MessageId Source # | |
ToJSON MessageId Source # | |
Defined in Network.WebexTeams.Types | |
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 |
Defined in Network.WebexTeams.Types Associated Types type ToResponse MessageId :: Type Source # | |
WebexTeamsApiPath MessageId Source # | Get detail for message API uses |
Defined in Network.WebexTeams.Types Methods apiPath :: MessageId -> ByteString Source # | |
type Rep MessageId Source # | |
Defined in Network.WebexTeams.Types | |
type ToResponse MessageId Source # | |
Defined in Network.WebexTeams.Types |
newtype MessageText Source #
Body of message in plain text.
Constructors
MessageText Text |
Instances
Eq MessageText Source # | |
Defined in Network.WebexTeams.Types | |
Show MessageText Source # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> MessageText -> ShowS # show :: MessageText -> String # showList :: [MessageText] -> ShowS # | |
Generic MessageText Source # | |
Defined in Network.WebexTeams.Types Associated Types type Rep MessageText :: Type -> Type # | |
ToJSON MessageText Source # | |
Defined in Network.WebexTeams.Types Methods toJSON :: MessageText -> Value # toEncoding :: MessageText -> Encoding # toJSONList :: [MessageText] -> Value # toEncodingList :: [MessageText] -> Encoding # | |
FromJSON MessageText Source # | |
Defined in Network.WebexTeams.Types | |
type Rep MessageText Source # | |
Defined in Network.WebexTeams.Types type Rep MessageText = D1 (MetaData "MessageText" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.1-q6fXIzP74m9qzihYCvefh" True) (C1 (MetaCons "MessageText" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))) |
newtype MessageHtml Source #
Body of message in html.
Constructors
MessageHtml Text |
Instances
Eq MessageHtml Source # | |
Defined in Network.WebexTeams.Types | |
Show MessageHtml Source # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> MessageHtml -> ShowS # show :: MessageHtml -> String # showList :: [MessageHtml] -> ShowS # | |
Generic MessageHtml Source # | |
Defined in Network.WebexTeams.Types Associated Types type Rep MessageHtml :: Type -> Type # | |
ToJSON MessageHtml Source # | |
Defined in Network.WebexTeams.Types Methods toJSON :: MessageHtml -> Value # toEncoding :: MessageHtml -> Encoding # toJSONList :: [MessageHtml] -> Value # toEncodingList :: [MessageHtml] -> Encoding # | |
FromJSON MessageHtml Source # | |
Defined in Network.WebexTeams.Types | |
type Rep MessageHtml Source # | |
Defined in Network.WebexTeams.Types type Rep MessageHtml = D1 (MetaData "MessageHtml" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.1-q6fXIzP74m9qzihYCvefh" True) (C1 (MetaCons "MessageHtml" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text))) |
newtype MessageMarkdown Source #
Body of message in markdown.
Constructors
MessageMarkdown Text |
Instances
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.
Constructors
Message | |
Fields
|
Instances
Eq Message Source # | |
Show Message Source # | |
ToJSON Message Source # | |
Defined in Network.WebexTeams.Types | |
FromJSON Message Source # |
|
WebexTeamsListItem Message Source # |
|
type ToList Message Source # | |
Defined in Network.WebexTeams.Types |
newtype MessageList Source #
MessageList
is decoded from response JSON of List Messages REST call. It is list of Message
.
Constructors
MessageList | |
Fields
|
Instances
Eq MessageList Source # | |
Defined in Network.WebexTeams.Types | |
Show MessageList Source # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> MessageList -> ShowS # show :: MessageList -> String # showList :: [MessageList] -> ShowS # | |
ToJSON MessageList Source # | |
Defined in Network.WebexTeams.Types Methods toJSON :: MessageList -> Value # toEncoding :: MessageList -> Encoding # toJSONList :: [MessageList] -> Value # toEncodingList :: [MessageList] -> Encoding # | |
FromJSON MessageList Source # |
|
Defined in Network.WebexTeams.Types |
data MentionedPeople Source #
Sum type for mentionedPeople query string. It can be "me" or PersonId
.
Constructors
MentionedPeopleMe | |
MentionedPeople PersonId |
Instances
Eq MentionedPeople Source # | |
Defined in Network.WebexTeams.Types Methods (==) :: MentionedPeople -> MentionedPeople -> Bool # (/=) :: MentionedPeople -> MentionedPeople -> Bool # | |
Show MentionedPeople Source # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> MentionedPeople -> ShowS # show :: MentionedPeople -> String # showList :: [MentionedPeople] -> ShowS # |
data MessageFilter Source #
Optional query strings for message list API
Constructors
MessageFilter | |
Fields
|
Instances
Eq MessageFilter Source # | |
Defined in Network.WebexTeams.Types Methods (==) :: MessageFilter -> MessageFilter -> Bool # (/=) :: MessageFilter -> MessageFilter -> Bool # | |
Show MessageFilter Source # | |
Defined in Network.WebexTeams.Types Methods showsPrec :: Int -> MessageFilter -> ShowS # show :: MessageFilter -> String # showList :: [MessageFilter] -> ShowS # | |
WebexTeamsFilter MessageFilter Source # | User can list messages with filter parameter. |
Defined in Network.WebexTeams.Types Methods toFilterList :: MessageFilter -> [(ByteString, Maybe ByteString)] Source # | |
WebexTeamsResponse MessageFilter Source # | List messages API uses |
Defined in Network.WebexTeams.Types Associated Types type ToResponse MessageFilter :: Type Source # | |
WebexTeamsApiPath MessageFilter Source # | List messages API uses |
Defined in Network.WebexTeams.Types Methods apiPath :: |