webex-teams-api-0.2.0.0: A Haskell bindings for Webex Teams API

Copyright(c) Naoto Shimazaki 20172018
LicenseMIT (see the file LICENSE)
Maintainerhttps://github.com/nshimaza
Stabilityexperimental
Safe HaskellNone
LanguageHaskell2010

Network.WebexTeams

Contents

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

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

toFilterList

Instances
WebexTeamsFilter PersonFilter #

User can list people with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsFilter TeamMembershipFilter #

User can list team membership with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsFilter RoomFilter #

User can list rooms with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsFilter MembershipFilter #

User can list memberships with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsFilter MessageFilter #

User can list messages with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsFilter LicenseFilter #

User can list licenses with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsFilter WebhookRoomFilter #

User can filter Webhook events from room.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsFilter WebhookMessageFilter #

User can filter Webhook events from message.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsFilter WebhookMembershipFilter #

User can filter Webhook events from membership.

Instance details

Defined in Network.WebexTeams.Types

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

unwrap

Instances
WebexTeamsListItem Person #

PersonList wraps Person.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Person :: * #

Methods

unwrap :: ToList Person -> [Person] #

WebexTeamsListItem Team #

TeamList wraps Team

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Team :: * #

Methods

unwrap :: ToList Team -> [Team] #

WebexTeamsListItem TeamMembership #

TeamMembershipList wraps TeamMembership

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList TeamMembership :: * #

WebexTeamsListItem Room #

RoomList wraps Room

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Room :: * #

Methods

unwrap :: ToList Room -> [Room] #

WebexTeamsListItem Membership #

MembershipList wraps Membership

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Membership :: * #

WebexTeamsListItem Message #

MessageList wraps Message

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Message :: * #

Methods

unwrap :: ToList Message -> [Message] #

WebexTeamsListItem Organization #

OrganizationList wraps Organization

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Organization :: * #

WebexTeamsListItem License #

LicenseList wraps License

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList License :: * #

Methods

unwrap :: ToList License -> [License] #

WebexTeamsListItem Role #

RoleList wraps Role

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Role :: * #

Methods

unwrap :: ToList Role -> [Role] #

WebexTeamsListItem Webhook #

WebhookList wraps Webhook

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Webhook :: * #

Methods

unwrap :: ToList Webhook -> [Webhook] #

type family ToResponse a :: * #

Associate response type to input parameter type such as filter criteria, entity key or create / update parameters.

Instances
type ToResponse LicenseId # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse RoleId # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse OrganizationId # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse PersonId # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreatePerson # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse PersonFilter # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse UpdatePerson # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse TeamId # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreateTeam # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse UpdateTeam # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse TeamMembershipId # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreateTeamMembership # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse TeamMembershipFilter # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse UpdateTeamMembership # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse RoomId # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreateRoom # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse RoomFilter # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse UpdateRoom # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse MembershipId # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreateMembership # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse MembershipFilter # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse UpdateMembership # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse MessageId # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreateMessage # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse MessageFilter # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse LicenseFilter # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse WebhookId # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreateWebhook # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse UpdateWebhook # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse WebhookRoomFilter # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse WebhookMessageFilter # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse WebhookMembershipFilter # 
Instance details

Defined in Network.WebexTeams.Types

Common Types

newtype Authorization #

Authorization string against Webex Teams API to be contained in HTTP Authorization header of every request.

Instances
Eq Authorization # 
Instance details

Defined in Network.WebexTeams

Show Authorization # 
Instance details

Defined in Network.WebexTeams

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 # 
Instance details

Defined in Network.WebexTeams

Default WebexTeamsRequest #

Default parameters for HTTP request to Webex Teams REST API.

Instance details

Defined in Network.WebexTeams

newtype Timestamp #

Type representing timestamp. For now, it is just copied from API response JSON.

Constructors

Timestamp Text 
Instances
Eq Timestamp # 
Instance details

Defined in Network.WebexTeams.Types

Show Timestamp # 
Instance details

Defined in Network.WebexTeams.Types

Generic Timestamp # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep Timestamp :: * -> * #

ToJSON Timestamp # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON Timestamp # 
Instance details

Defined in Network.WebexTeams.Types

type Rep Timestamp # 
Instance details

Defined in Network.WebexTeams.Types

type Rep Timestamp = D1 (MetaData "Timestamp" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "Timestamp" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

newtype ErrorCode #

Error code for element level error potentially contained in List API responses.

Constructors

ErrorCode Text 
Instances
Eq ErrorCode # 
Instance details

Defined in Network.WebexTeams.Types

Show ErrorCode # 
Instance details

Defined in Network.WebexTeams.Types

Generic ErrorCode # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep ErrorCode :: * -> * #

ToJSON ErrorCode # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON ErrorCode # 
Instance details

Defined in Network.WebexTeams.Types

type Rep ErrorCode # 
Instance details

Defined in Network.WebexTeams.Types

type Rep ErrorCode = D1 (MetaData "ErrorCode" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "ErrorCode" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

data ErrorTitle #

ErrorTitle represent concrete error code and reason. It appears in Errors.

Constructors

ErrorTitle 

Fields

Instances
Eq ErrorTitle # 
Instance details

Defined in Network.WebexTeams.Types

Show ErrorTitle # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON ErrorTitle # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON ErrorTitle #

ErrorTitle derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

newtype Errors #

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 
Instances
Eq Errors # 
Instance details

Defined in Network.WebexTeams.Types

Methods

(==) :: Errors -> Errors -> Bool #

(/=) :: Errors -> Errors -> Bool #

Show Errors # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON Errors # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON Errors #

Errors derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

People related types

data Person #

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 # 
Instance details

Defined in Network.WebexTeams.Types

Methods

(==) :: Person -> Person -> Bool #

(/=) :: Person -> Person -> Bool #

Show Person # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON Person # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON Person #

Person derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsListItem Person #

PersonList wraps Person.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Person :: * #

Methods

unwrap :: ToList Person -> [Person] #

type ToList Person # 
Instance details

Defined in Network.WebexTeams.Types

newtype PersonId #

Identifying Person describing detail of Webex Teams user or bot.

Constructors

PersonId Text 
Instances
Eq PersonId # 
Instance details

Defined in Network.WebexTeams.Types

Show PersonId # 
Instance details

Defined in Network.WebexTeams.Types

Generic PersonId # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep PersonId :: * -> * #

Methods

from :: PersonId -> Rep PersonId x #

to :: Rep PersonId x -> PersonId #

ToJSON PersonId # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON PersonId # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsDetail PersonId #

User can get detail of a person.

Instance details

Defined in Network.WebexTeams.Types

Methods

toIdStr :: PersonId -> Text #

WebexTeamsResponse PersonId #

Get detail for a person API uses "PersonId' and responses Person.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse PersonId :: * #

WebexTeamsApiPath PersonId #

Get detail for a person API uses PersonId and path "people".

Instance details

Defined in Network.WebexTeams.Types

type Rep PersonId # 
Instance details

Defined in Network.WebexTeams.Types

type Rep PersonId = D1 (MetaData "PersonId" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "PersonId" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))
type ToResponse PersonId # 
Instance details

Defined in Network.WebexTeams.Types

newtype Email #

Email address of user.

Constructors

Email Text 
Instances
Eq Email # 
Instance details

Defined in Network.WebexTeams.Types

Methods

(==) :: Email -> Email -> Bool #

(/=) :: Email -> Email -> Bool #

Show Email # 
Instance details

Defined in Network.WebexTeams.Types

Methods

showsPrec :: Int -> Email -> ShowS #

show :: Email -> String #

showList :: [Email] -> ShowS #

Generic Email # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep Email :: * -> * #

Methods

from :: Email -> Rep Email x #

to :: Rep Email x -> Email #

ToJSON Email # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON Email # 
Instance details

Defined in Network.WebexTeams.Types

type Rep Email # 
Instance details

Defined in Network.WebexTeams.Types

type Rep Email = D1 (MetaData "Email" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "Email" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

newtype DisplayName #

Display name of user.

Constructors

DisplayName Text 
Instances
Eq DisplayName # 
Instance details

Defined in Network.WebexTeams.Types

Show DisplayName # 
Instance details

Defined in Network.WebexTeams.Types

Generic DisplayName # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep DisplayName :: * -> * #

ToJSON DisplayName # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON DisplayName # 
Instance details

Defined in Network.WebexTeams.Types

type Rep DisplayName # 
Instance details

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)))

newtype NickName #

Nickname of user.

Constructors

NickName Text 
Instances
Eq NickName # 
Instance details

Defined in Network.WebexTeams.Types

Show NickName # 
Instance details

Defined in Network.WebexTeams.Types

Generic NickName # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep NickName :: * -> * #

Methods

from :: NickName -> Rep NickName x #

to :: Rep NickName x -> NickName #

ToJSON NickName # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON NickName # 
Instance details

Defined in Network.WebexTeams.Types

type Rep NickName # 
Instance details

Defined in Network.WebexTeams.Types

type Rep NickName = D1 (MetaData "NickName" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "NickName" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

newtype FirstName #

First name of user.

Constructors

FirstName Text 
Instances
Eq FirstName # 
Instance details

Defined in Network.WebexTeams.Types

Show FirstName # 
Instance details

Defined in Network.WebexTeams.Types

Generic FirstName # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep FirstName :: * -> * #

ToJSON FirstName # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON FirstName # 
Instance details

Defined in Network.WebexTeams.Types

type Rep FirstName # 
Instance details

Defined in Network.WebexTeams.Types

type Rep FirstName = D1 (MetaData "FirstName" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "FirstName" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

newtype LastName #

Last name of user.

Constructors

LastName Text 
Instances
Eq LastName # 
Instance details

Defined in Network.WebexTeams.Types

Show LastName # 
Instance details

Defined in Network.WebexTeams.Types

Generic LastName # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep LastName :: * -> * #

Methods

from :: LastName -> Rep LastName x #

to :: Rep LastName x -> LastName #

ToJSON LastName # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON LastName # 
Instance details

Defined in Network.WebexTeams.Types

type Rep LastName # 
Instance details

Defined in Network.WebexTeams.Types

type Rep LastName = D1 (MetaData "LastName" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "LastName" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

newtype AvatarUrl #

URL pointing to image file of Avatar.

Constructors

AvatarUrl Text 
Instances
Eq AvatarUrl # 
Instance details

Defined in Network.WebexTeams.Types

Show AvatarUrl # 
Instance details

Defined in Network.WebexTeams.Types

Generic AvatarUrl # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep AvatarUrl :: * -> * #

ToJSON AvatarUrl # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON AvatarUrl # 
Instance details

Defined in Network.WebexTeams.Types

type Rep AvatarUrl # 
Instance details

Defined in Network.WebexTeams.Types

type Rep AvatarUrl = D1 (MetaData "AvatarUrl" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "AvatarUrl" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

newtype Timezone #

Timezone in timezone name.

Constructors

Timezone Text 
Instances
Eq Timezone # 
Instance details

Defined in Network.WebexTeams.Types

Show Timezone # 
Instance details

Defined in Network.WebexTeams.Types

Generic Timezone # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep Timezone :: * -> * #

Methods

from :: Timezone -> Rep Timezone x #

to :: Rep Timezone x -> Timezone #

ToJSON Timezone # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON Timezone # 
Instance details

Defined in Network.WebexTeams.Types

type Rep Timezone # 
Instance details

Defined in Network.WebexTeams.Types

type Rep Timezone = D1 (MetaData "Timezone" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "Timezone" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

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 Person is currently active. Decoded from "active".

PersonStatusInactive

The Person is currently not active. Decoded from "inactive".

PersonStatusOutOfOffice

Email system of the Person currently sets vacation. Decoded from "OutOfOffice".

PersonStatusDoNotDisturb

The Person is explicitly indicated do-not-disturb. Decoded from "DoNotDisturb".

PersonStatusUnknown

The status of the Person is unknown. Decoded from "unknown".

Instances
Eq PersonStatus # 
Instance details

Defined in Network.WebexTeams.Types

Show PersonStatus # 
Instance details

Defined in Network.WebexTeams.Types

Generic PersonStatus # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep PersonStatus :: * -> * #

ToJSON PersonStatus #

PersonStatus implements toEncoding to encode each constructor into JSON enum value.

Instance details

Defined in Network.WebexTeams.Types

FromJSON PersonStatus #

PersonStatus implements parseJSON to decode JSON enum value to a constructor.

Instance details

Defined in Network.WebexTeams.Types

type Rep PersonStatus # 
Instance details

Defined in Network.WebexTeams.Types

type Rep PersonStatus = D1 (MetaData "PersonStatus" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" False) ((C1 (MetaCons "PersonStatusActive" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "PersonStatusInactive" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "PersonStatusOutOfOffice" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "PersonStatusDoNotDisturb" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "PersonStatusUnknown" PrefixI False) (U1 :: * -> *))))

data PersonType #

PersonType indicates whether the Person is real human or bot.

Constructors

PersonTypePerson

The Person is a real human. Decoded from "person".

PersonTypeBot

The Person is a bot. Decoded from "bot".

Instances
Eq PersonType # 
Instance details

Defined in Network.WebexTeams.Types

Show PersonType # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON PersonType # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON PersonType #

PersonType derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

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 # 
Instance details

Defined in Network.WebexTeams.Types

Show PersonList # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON PersonList # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON PersonList #

PersonList derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

data PersonFilter #

Optional query strings for people list API.

Constructors

PersonFilter 

Fields

Instances
Eq PersonFilter # 
Instance details

Defined in Network.WebexTeams.Types

Show PersonFilter # 
Instance details

Defined in Network.WebexTeams.Types

Generic PersonFilter # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep PersonFilter :: * -> * #

Default PersonFilter # 
Instance details

Defined in Network.WebexTeams.Types

Methods

def :: PersonFilter #

WebexTeamsFilter PersonFilter #

User can list people with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse PersonFilter #

List people API uses PersonFilter and responses Person.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse PersonFilter :: * #

WebexTeamsApiPath PersonFilter #

List people API uses PersonFilter and path "people".

Instance details

Defined in Network.WebexTeams.Types

type Rep PersonFilter # 
Instance details

Defined in Network.WebexTeams.Types

type Rep PersonFilter = D1 (MetaData "PersonFilter" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" False) (C1 (MetaCons "PersonFilter" PrefixI True) (S1 (MetaSel (Just "personFilterEmail") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Email)) :*: (S1 (MetaSel (Just "personFilterDisplayName") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe DisplayName)) :*: S1 (MetaSel (Just "personFilterOrgId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe OrganizationId)))))
type ToResponse PersonFilter # 
Instance details

Defined in Network.WebexTeams.Types

data CreatePerson #

CreatePerson is encoded to request body JSON of Create a Person REST call.

Constructors

CreatePerson 

Fields

Instances
Eq CreatePerson # 
Instance details

Defined in Network.WebexTeams.Types

Show CreatePerson # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON CreatePerson # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON CreatePerson #

CreatePerson derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsCreate CreatePerson #

User can create a person.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse CreatePerson #

Create person API uses "CreatePerson' and responses Person.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse CreatePerson :: * #

WebexTeamsApiPath CreatePerson #

Create person API uses CreatePerson and path "people".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreatePerson # 
Instance details

Defined in Network.WebexTeams.Types

data UpdatePerson #

UpdatePerson is encoded to request body JSON of Update a Person REST call.

Constructors

UpdatePerson 

Fields

Instances
Eq UpdatePerson # 
Instance details

Defined in Network.WebexTeams.Types

Show UpdatePerson # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON UpdatePerson # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON UpdatePerson #

UpdatePerson derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsUpdate UpdatePerson #

User can update a person.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse UpdatePerson #

Update person API uses "UpdatePerson' and responses Person.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse UpdatePerson :: * #

WebexTeamsApiPath UpdatePerson #

Update person API uses UpdatePerson and path "people".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse UpdatePerson # 
Instance details

Defined in Network.WebexTeams.Types

Room related types

data Room #

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

Instances
Eq Room # 
Instance details

Defined in Network.WebexTeams.Types

Methods

(==) :: Room -> Room -> Bool #

(/=) :: Room -> Room -> Bool #

Show Room # 
Instance details

Defined in Network.WebexTeams.Types

Methods

showsPrec :: Int -> Room -> ShowS #

show :: Room -> String #

showList :: [Room] -> ShowS #

ToJSON Room # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON Room #

Room derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsListItem Room #

RoomList wraps Room

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Room :: * #

Methods

unwrap :: ToList Room -> [Room] #

type ToList Room # 
Instance details

Defined in Network.WebexTeams.Types

newtype RoomId #

Identifying Room.

Constructors

RoomId Text 
Instances
Eq RoomId # 
Instance details

Defined in Network.WebexTeams.Types

Methods

(==) :: RoomId -> RoomId -> Bool #

(/=) :: RoomId -> RoomId -> Bool #

Show RoomId # 
Instance details

Defined in Network.WebexTeams.Types

Generic RoomId # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep RoomId :: * -> * #

Methods

from :: RoomId -> Rep RoomId x #

to :: Rep RoomId x -> RoomId #

ToJSON RoomId # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON RoomId # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsDetail RoomId #

User can get detail of a room.

Instance details

Defined in Network.WebexTeams.Types

Methods

toIdStr :: RoomId -> Text #

WebexTeamsResponse RoomId #

Get detail for a room API uses "RoomId' and responses Room.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse RoomId :: * #

WebexTeamsApiPath RoomId #

Get detail for a room API uses RoomId and path "rooms".

Instance details

Defined in Network.WebexTeams.Types

Methods

apiPath :: RoomId -> ByteString #

type Rep RoomId # 
Instance details

Defined in Network.WebexTeams.Types

type Rep RoomId = D1 (MetaData "RoomId" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "RoomId" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))
type ToResponse RoomId # 
Instance details

Defined in Network.WebexTeams.Types

newtype RoomTitle #

Title text of Room.

Constructors

RoomTitle Text 
Instances
Eq RoomTitle # 
Instance details

Defined in Network.WebexTeams.Types

Show RoomTitle # 
Instance details

Defined in Network.WebexTeams.Types

Generic RoomTitle # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep RoomTitle :: * -> * #

ToJSON RoomTitle # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON RoomTitle # 
Instance details

Defined in Network.WebexTeams.Types

type Rep RoomTitle # 
Instance details

Defined in Network.WebexTeams.Types

type Rep RoomTitle = D1 (MetaData "RoomTitle" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "RoomTitle" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

data RoomType #

RoomType indicates if the Room is for 1:1 user or group of users.

Constructors

RoomTypeDirect

The Room is for 1:1. Decoded from "direct".

RoomTypeGroup

The Room is for group. Decoded from "group".

Instances
Eq RoomType # 
Instance details

Defined in Network.WebexTeams.Types

Show RoomType # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON RoomType # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON RoomType #

RoomType derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

newtype SipAddr #

SIP address.

Constructors

SipAddr Text 
Instances
Eq SipAddr # 
Instance details

Defined in Network.WebexTeams.Types

Methods

(==) :: SipAddr -> SipAddr -> Bool #

(/=) :: SipAddr -> SipAddr -> Bool #

Show SipAddr # 
Instance details

Defined in Network.WebexTeams.Types

Generic SipAddr # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep SipAddr :: * -> * #

Methods

from :: SipAddr -> Rep SipAddr x #

to :: Rep SipAddr x -> SipAddr #

ToJSON SipAddr # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON SipAddr # 
Instance details

Defined in Network.WebexTeams.Types

type Rep SipAddr # 
Instance details

Defined in Network.WebexTeams.Types

type Rep SipAddr = D1 (MetaData "SipAddr" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "SipAddr" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

newtype RoomList #

RoomList is decoded from response JSON of List Rooms REST call. It is list of Room.

Constructors

RoomList 

Fields

Instances
Eq RoomList # 
Instance details

Defined in Network.WebexTeams.Types

Show RoomList # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON RoomList # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON RoomList #

RoomList derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

data RoomFilter #

Optional query strings for room list API

Constructors

RoomFilter 

Fields

Instances
Eq RoomFilter # 
Instance details

Defined in Network.WebexTeams.Types

Show RoomFilter # 
Instance details

Defined in Network.WebexTeams.Types

Generic RoomFilter # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep RoomFilter :: * -> * #

Default RoomFilter # 
Instance details

Defined in Network.WebexTeams.Types

Methods

def :: RoomFilter #

WebexTeamsFilter RoomFilter #

User can list rooms with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse RoomFilter #

List rooms API uses RoomFilter and responses Room.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse RoomFilter :: * #

WebexTeamsApiPath RoomFilter #

List rooms API uses RoomFilter and path "rooms".

Instance details

Defined in Network.WebexTeams.Types

type Rep RoomFilter # 
Instance details

Defined in Network.WebexTeams.Types

type Rep RoomFilter = D1 (MetaData "RoomFilter" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" False) (C1 (MetaCons "RoomFilter" PrefixI True) (S1 (MetaSel (Just "roomFilterTeamId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe TeamId)) :*: (S1 (MetaSel (Just "roomFilterRoomType") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe RoomType)) :*: S1 (MetaSel (Just "roomFilterSortBy") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe RoomFilterSortBy)))))
type ToResponse RoomFilter # 
Instance details

Defined in Network.WebexTeams.Types

data CreateRoom #

CreateRoom is encoded to request body JSON of Create a Room REST call.

Constructors

CreateRoom 

Fields

Instances
Eq CreateRoom # 
Instance details

Defined in Network.WebexTeams.Types

Show CreateRoom # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON CreateRoom # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON CreateRoom #

CreateRoom derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsCreate CreateRoom #

User can create a room.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse CreateRoom #

Create room API uses "CreateRoom' and responses Room.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse CreateRoom :: * #

WebexTeamsApiPath CreateRoom #

Create room API uses CreateRoom and path "rooms".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreateRoom # 
Instance details

Defined in Network.WebexTeams.Types

newtype UpdateRoom #

UpdateRoom is encoded to request body JSON of Update a Room REST call.

Constructors

UpdateRoom 
Instances
Eq UpdateRoom # 
Instance details

Defined in Network.WebexTeams.Types

Show UpdateRoom # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON UpdateRoom # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON UpdateRoom #

UpdateRoom derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsUpdate UpdateRoom #

User can update a room.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse UpdateRoom #

Update room API uses "UpdateRoom' and responses Room.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse UpdateRoom :: * #

WebexTeamsApiPath UpdateRoom #

Update room API uses UpdateRoom and path "rooms".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse UpdateRoom # 
Instance details

Defined in Network.WebexTeams.Types

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 # 
Instance details

Defined in Network.WebexTeams.Types

Show Membership # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON Membership # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON Membership #

Membership derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsListItem Membership #

MembershipList wraps Membership

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Membership :: * #

type ToList Membership # 
Instance details

Defined in Network.WebexTeams.Types

newtype MembershipId #

Identifying Membership.

Constructors

MembershipId Text 
Instances
Eq MembershipId # 
Instance details

Defined in Network.WebexTeams.Types

Show MembershipId # 
Instance details

Defined in Network.WebexTeams.Types

Generic MembershipId # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep MembershipId :: * -> * #

ToJSON MembershipId # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON MembershipId # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsDetail MembershipId #

User can get detail of a membership.

Instance details

Defined in Network.WebexTeams.Types

Methods

toIdStr :: MembershipId -> Text #

WebexTeamsResponse MembershipId #

Get detail for a membership API uses "MembershipId' and responses Membership.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse MembershipId :: * #

WebexTeamsApiPath MembershipId #

Get detail for a membership API uses MembershipId and path "memberships".

Instance details

Defined in Network.WebexTeams.Types

type Rep MembershipId # 
Instance details

Defined in Network.WebexTeams.Types

type Rep MembershipId = D1 (MetaData "MembershipId" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "MembershipId" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))
type ToResponse MembershipId # 
Instance details

Defined in Network.WebexTeams.Types

newtype MembershipList #

MembershipList is decoded from response JSON of List Memberships REST call. It is list of Membership.

data MembershipFilter #

Optional query strings for room membership list API

Constructors

MembershipFilter 

Fields

Instances
Eq MembershipFilter # 
Instance details

Defined in Network.WebexTeams.Types

Show MembershipFilter # 
Instance details

Defined in Network.WebexTeams.Types

Generic MembershipFilter # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep MembershipFilter :: * -> * #

Default MembershipFilter # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsFilter MembershipFilter #

User can list memberships with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse MembershipFilter #

List memberships API uses MembershipFilter and responses Membership.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse MembershipFilter :: * #

WebexTeamsApiPath MembershipFilter #

List memberships API uses MembershipFilter and path "memberships".

Instance details

Defined in Network.WebexTeams.Types

type Rep MembershipFilter # 
Instance details

Defined in Network.WebexTeams.Types

type Rep MembershipFilter = D1 (MetaData "MembershipFilter" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" False) (C1 (MetaCons "MembershipFilter" PrefixI True) (S1 (MetaSel (Just "membershipFilterRoomId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe RoomId)) :*: (S1 (MetaSel (Just "membershipFilterPersonId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe PersonId)) :*: S1 (MetaSel (Just "membershipFilterPersonEmail") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe Email)))))
type ToResponse MembershipFilter # 
Instance details

Defined in Network.WebexTeams.Types

data CreateMembership #

CreateMembership is encoded to request body JSON of Create a Membership REST call.

Constructors

CreateMembership 

Fields

Instances
Eq CreateMembership # 
Instance details

Defined in Network.WebexTeams.Types

Show CreateMembership # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON CreateMembership # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON CreateMembership #

CreateMembership derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsCreate CreateMembership #

User can create a membership.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse CreateMembership #

Create membership API uses "CreateMembership' and responses Membership.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse CreateMembership :: * #

WebexTeamsApiPath CreateMembership #

Create membership API uses CreateMembership and path "memberships".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreateMembership # 
Instance details

Defined in Network.WebexTeams.Types

newtype UpdateMembership #

UpdateMembership is encoded to request body JSON of Update a Membership REST call.

Instances
Eq UpdateMembership # 
Instance details

Defined in Network.WebexTeams.Types

Show UpdateMembership # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON UpdateMembership # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON UpdateMembership #

UpdateMembership derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsUpdate UpdateMembership #

User can update a membership.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse UpdateMembership #

Update membership API uses "UpdateMembership' and responses Membership.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse UpdateMembership :: * #

WebexTeamsApiPath UpdateMembership #

Update membership API uses UpdateMembership and path "memberships".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse UpdateMembership # 
Instance details

Defined in Network.WebexTeams.Types

Message related types

data 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 # 
Instance details

Defined in Network.WebexTeams.Types

Methods

(==) :: Message -> Message -> Bool #

(/=) :: Message -> Message -> Bool #

Show Message # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON Message # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON Message #

Message derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsListItem Message #

MessageList wraps Message

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Message :: * #

Methods

unwrap :: ToList Message -> [Message] #

type ToList Message # 
Instance details

Defined in Network.WebexTeams.Types

newtype MessageId #

Identifying Message.

Constructors

MessageId Text 
Instances
Eq MessageId # 
Instance details

Defined in Network.WebexTeams.Types

Show MessageId # 
Instance details

Defined in Network.WebexTeams.Types

Generic MessageId # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep MessageId :: * -> * #

ToJSON MessageId # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON MessageId # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsDetail MessageId #

User can get detail of a message.

Instance details

Defined in Network.WebexTeams.Types

Methods

toIdStr :: MessageId -> Text #

WebexTeamsResponse MessageId #

Get detail for a message API uses "MessageId' and responses Message.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse MessageId :: * #

WebexTeamsApiPath MessageId #

Get detail for message API uses MessageId and path "messages".

Instance details

Defined in Network.WebexTeams.Types

type Rep MessageId # 
Instance details

Defined in Network.WebexTeams.Types

type Rep MessageId = D1 (MetaData "MessageId" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "MessageId" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))
type ToResponse MessageId # 
Instance details

Defined in Network.WebexTeams.Types

newtype MessageText #

Body of message in plain text.

Constructors

MessageText Text 
Instances
Eq MessageText # 
Instance details

Defined in Network.WebexTeams.Types

Show MessageText # 
Instance details

Defined in Network.WebexTeams.Types

Generic MessageText # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep MessageText :: * -> * #

ToJSON MessageText # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON MessageText # 
Instance details

Defined in Network.WebexTeams.Types

type Rep MessageText # 
Instance details

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 # 
Instance details

Defined in Network.WebexTeams.Types

Show MessageHtml # 
Instance details

Defined in Network.WebexTeams.Types

Generic MessageHtml # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep MessageHtml :: * -> * #

ToJSON MessageHtml # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON MessageHtml # 
Instance details

Defined in Network.WebexTeams.Types

type Rep MessageHtml # 
Instance details

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 

newtype FileUrl #

URL pointing attached file of message.

Constructors

FileUrl Text 
Instances
Eq FileUrl # 
Instance details

Defined in Network.WebexTeams.Types

Methods

(==) :: FileUrl -> FileUrl -> Bool #

(/=) :: FileUrl -> FileUrl -> Bool #

Show FileUrl # 
Instance details

Defined in Network.WebexTeams.Types

Generic FileUrl # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep FileUrl :: * -> * #

Methods

from :: FileUrl -> Rep FileUrl x #

to :: Rep FileUrl x -> FileUrl #

ToJSON FileUrl # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON FileUrl # 
Instance details

Defined in Network.WebexTeams.Types

type Rep FileUrl # 
Instance details

Defined in Network.WebexTeams.Types

type Rep FileUrl = D1 (MetaData "FileUrl" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "FileUrl" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

newtype MessageList #

MessageList is decoded from response JSON of List Messages REST call. It is list of Message.

Constructors

MessageList 
Instances
Eq MessageList # 
Instance details

Defined in Network.WebexTeams.Types

Show MessageList # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON MessageList # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON MessageList #

MessageList derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

data MessageFilter #

Optional query strings for message list API

Constructors

MessageFilter 

Fields

Instances
Eq MessageFilter # 
Instance details

Defined in Network.WebexTeams.Types

Show MessageFilter # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsFilter MessageFilter #

User can list messages with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse MessageFilter #

List messages API uses MessageFilter and responses Message.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse MessageFilter :: * #

WebexTeamsApiPath MessageFilter #

List messages API uses MessageFilter and path "messages".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse MessageFilter # 
Instance details

Defined in Network.WebexTeams.Types

data MentionedPeople #

Sum type for mentionedPeople query string. It can be "me" or PersonId.

data CreateMessage #

CreateMessage is encoded to request body JSON of Create a Message REST call.

Constructors

CreateMessage 

Fields

Instances
Eq CreateMessage # 
Instance details

Defined in Network.WebexTeams.Types

Show CreateMessage # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON CreateMessage # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON CreateMessage #

CreateMessage derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsCreate CreateMessage #

User can create a message.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse CreateMessage #

Create message API uses "CreateMessage' and responses Message.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse CreateMessage :: * #

WebexTeamsApiPath CreateMessage #

Create message API uses CreateMessage and path "messages".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreateMessage # 
Instance details

Defined in Network.WebexTeams.Types

Team related types

newtype TeamName #

Name of Team

Constructors

TeamName Text 
Instances
Eq TeamName # 
Instance details

Defined in Network.WebexTeams.Types

Show TeamName # 
Instance details

Defined in Network.WebexTeams.Types

Generic TeamName # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep TeamName :: * -> * #

Methods

from :: TeamName -> Rep TeamName x #

to :: Rep TeamName x -> TeamName #

ToJSON TeamName # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON TeamName # 
Instance details

Defined in Network.WebexTeams.Types

type Rep TeamName # 
Instance details

Defined in Network.WebexTeams.Types

type Rep TeamName = D1 (MetaData "TeamName" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "TeamName" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

newtype TeamId #

Identifying Team.

Constructors

TeamId Text 
Instances
Eq TeamId # 
Instance details

Defined in Network.WebexTeams.Types

Methods

(==) :: TeamId -> TeamId -> Bool #

(/=) :: TeamId -> TeamId -> Bool #

Show TeamId # 
Instance details

Defined in Network.WebexTeams.Types

Generic TeamId # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep TeamId :: * -> * #

Methods

from :: TeamId -> Rep TeamId x #

to :: Rep TeamId x -> TeamId #

ToJSON TeamId # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON TeamId # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsDetail TeamId #

User can get detail of a team.

Instance details

Defined in Network.WebexTeams.Types

Methods

toIdStr :: TeamId -> Text #

WebexTeamsResponse TeamId #

Get detail for a team API uses "TeamId' and responses Team.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse TeamId :: * #

WebexTeamsApiPath TeamId #

Get detail for a team API uses TeamId and path "teams".

Instance details

Defined in Network.WebexTeams.Types

Methods

apiPath :: TeamId -> ByteString #

type Rep TeamId # 
Instance details

Defined in Network.WebexTeams.Types

type Rep TeamId = D1 (MetaData "TeamId" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "TeamId" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))
type ToResponse TeamId # 
Instance details

Defined in Network.WebexTeams.Types

data 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

Instances
Eq Team # 
Instance details

Defined in Network.WebexTeams.Types

Methods

(==) :: Team -> Team -> Bool #

(/=) :: Team -> Team -> Bool #

Show Team # 
Instance details

Defined in Network.WebexTeams.Types

Methods

showsPrec :: Int -> Team -> ShowS #

show :: Team -> String #

showList :: [Team] -> ShowS #

ToJSON Team # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON Team #

Team derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsListItem Team #

TeamList wraps Team

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Team :: * #

Methods

unwrap :: ToList Team -> [Team] #

type ToList Team # 
Instance details

Defined in Network.WebexTeams.Types

newtype TeamList #

TeamList is decoded from response JSON of List Teams REST call. It is list of Team.

Constructors

TeamList 

Fields

Instances
Eq TeamList # 
Instance details

Defined in Network.WebexTeams.Types

Show TeamList # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON TeamList # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON TeamList #

TeamList derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

newtype CreateTeam #

CreateTeam is encoded to request body JSON of Create a Team REST call.

Constructors

CreateTeam 
Instances
Eq CreateTeam # 
Instance details

Defined in Network.WebexTeams.Types

Show CreateTeam # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON CreateTeam # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON CreateTeam #

CreateTeam derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsCreate CreateTeam #

User can create a team.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse CreateTeam #

Create team API uses "CreateTeam' and responses Team.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse CreateTeam :: * #

WebexTeamsApiPath CreateTeam #

Create team API uses CreateTeam and path "teams".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreateTeam # 
Instance details

Defined in Network.WebexTeams.Types

newtype UpdateTeam #

UpdateTeam is encoded to request body JSON of Update a Team REST call.

Constructors

UpdateTeam 
Instances
Eq UpdateTeam # 
Instance details

Defined in Network.WebexTeams.Types

Show UpdateTeam # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON UpdateTeam # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON UpdateTeam #

UpdateTeam derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsUpdate UpdateTeam #

User can update a team.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse UpdateTeam #

Update team API uses "UpdateTeam' and responses Team.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse UpdateTeam :: * #

WebexTeamsApiPath UpdateTeam #

Update team API uses UpdateTeam and path "teams".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse UpdateTeam # 
Instance details

Defined in Network.WebexTeams.Types

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

newtype TeamMembershipId #

Identifying TeamMembership.

Constructors

TeamMembershipId Text 
Instances
Eq TeamMembershipId # 
Instance details

Defined in Network.WebexTeams.Types

Show TeamMembershipId # 
Instance details

Defined in Network.WebexTeams.Types

Generic TeamMembershipId # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep TeamMembershipId :: * -> * #

ToJSON TeamMembershipId # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON TeamMembershipId # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsDetail TeamMembershipId #

User can get detail of a team membership.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse TeamMembershipId #

Get detail for a team membership API uses "TeamMembershipId' and responses TeamMembership.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse TeamMembershipId :: * #

WebexTeamsApiPath TeamMembershipId #

Get detail for a team membership API uses TeamMembershipId and path "team/memberships".

Instance details

Defined in Network.WebexTeams.Types

type Rep TeamMembershipId # 
Instance details

Defined in Network.WebexTeams.Types

type Rep TeamMembershipId = D1 (MetaData "TeamMembershipId" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "TeamMembershipId" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))
type ToResponse TeamMembershipId # 
Instance details

Defined in Network.WebexTeams.Types

newtype TeamMembershipFilter #

Optional query strings for team membership list API

Constructors

TeamMembershipFilter 

Fields

Instances
Eq TeamMembershipFilter # 
Instance details

Defined in Network.WebexTeams.Types

Show TeamMembershipFilter # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsFilter TeamMembershipFilter #

User can list team membership with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse TeamMembershipFilter #

List team memberships API uses TeamMembershipFilter and responses TeamMembership.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse TeamMembershipFilter :: * #

WebexTeamsApiPath TeamMembershipFilter #

List team memberships API uses TeamMembershipFilter and path "team/memberships".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse TeamMembershipFilter # 
Instance details

Defined in Network.WebexTeams.Types

data CreateTeamMembership #

CreateTeamMembership is encoded to request body JSON of Create a Team Membership REST call.

Constructors

CreateTeamMembership 

Fields

Instances
Eq CreateTeamMembership # 
Instance details

Defined in Network.WebexTeams.Types

Show CreateTeamMembership # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON CreateTeamMembership # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON CreateTeamMembership #

CreateTeamMembership derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsCreate CreateTeamMembership #

User can create a teamMembership.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse CreateTeamMembership #

Create teamMembership API uses "CreateTeamMembership' and responses TeamMembership.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse CreateTeamMembership :: * #

WebexTeamsApiPath CreateTeamMembership #

Create teamMembership API uses CreateTeamMembership and path "team/memberships".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreateTeamMembership # 
Instance details

Defined in Network.WebexTeams.Types

newtype UpdateTeamMembership #

UpdateTeamMembership is encoded to request body JSON of Update a Team Membership REST call.

Instances
Eq UpdateTeamMembership # 
Instance details

Defined in Network.WebexTeams.Types

Show UpdateTeamMembership # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON UpdateTeamMembership # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON UpdateTeamMembership #

UpdateTeamMembership derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsUpdate UpdateTeamMembership #

User can update a teamMembership.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse UpdateTeamMembership #

Update teamMembership API uses "UpdateTeamMembership' and responses TeamMembership.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse UpdateTeamMembership :: * #

WebexTeamsApiPath UpdateTeamMembership #

Update teamMembership API uses UpdateTeamMembership and path "team/memberships".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse UpdateTeamMembership # 
Instance details

Defined in Network.WebexTeams.Types

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 # 
Instance details

Defined in Network.WebexTeams.Types

Show Organization # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON Organization # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON Organization #

Organization derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsListItem Organization #

OrganizationList wraps Organization

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Organization :: * #

type ToList Organization # 
Instance details

Defined in Network.WebexTeams.Types

newtype OrganizationId #

Organization identifier which user or team belongs to.

Constructors

OrganizationId Text 
Instances
Eq OrganizationId # 
Instance details

Defined in Network.WebexTeams.Types

Show OrganizationId # 
Instance details

Defined in Network.WebexTeams.Types

Generic OrganizationId # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep OrganizationId :: * -> * #

ToJSON OrganizationId # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON OrganizationId # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsDetail OrganizationId #

User can get detail of a organization.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse OrganizationId #

Get detail for a organization API uses "OrganizationId' and responses Organization.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse OrganizationId :: * #

WebexTeamsApiPath OrganizationId #

Get detail for organization API uses OrganizationId and path "organizations".

Instance details

Defined in Network.WebexTeams.Types

type Rep OrganizationId # 
Instance details

Defined in Network.WebexTeams.Types

type Rep OrganizationId = D1 (MetaData "OrganizationId" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "OrganizationId" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))
type ToResponse OrganizationId # 
Instance details

Defined in Network.WebexTeams.Types

newtype OrganizationDisplayName #

Display name of Organization

Instances
Eq OrganizationDisplayName # 
Instance details

Defined in Network.WebexTeams.Types

Show OrganizationDisplayName # 
Instance details

Defined in Network.WebexTeams.Types

Generic OrganizationDisplayName # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep OrganizationDisplayName :: * -> * #

ToJSON OrganizationDisplayName # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON OrganizationDisplayName # 
Instance details

Defined in Network.WebexTeams.Types

type Rep OrganizationDisplayName # 
Instance details

Defined in Network.WebexTeams.Types

type Rep OrganizationDisplayName = D1 (MetaData "OrganizationDisplayName" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "OrganizationDisplayName" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

newtype OrganizationList #

OrganizationList is decoded from response JSON of List Organizations REST call. It is list of Organization.

License related types

data 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.

Constructors

License 

Fields

Instances
Eq License # 
Instance details

Defined in Network.WebexTeams.Types

Methods

(==) :: License -> License -> Bool #

(/=) :: License -> License -> Bool #

Show License # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON License # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON License #

License derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsListItem License #

LicenseList wraps License

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList License :: * #

Methods

unwrap :: ToList License -> [License] #

type ToList License # 
Instance details

Defined in Network.WebexTeams.Types

newtype LicenseId #

License identifier which can be enabled on user. See License too.

Constructors

LicenseId Text 
Instances
Eq LicenseId # 
Instance details

Defined in Network.WebexTeams.Types

Show LicenseId # 
Instance details

Defined in Network.WebexTeams.Types

Generic LicenseId # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep LicenseId :: * -> * #

ToJSON LicenseId # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON LicenseId # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsDetail LicenseId #

User can get detail of a license.

Instance details

Defined in Network.WebexTeams.Types

Methods

toIdStr :: LicenseId -> Text #

WebexTeamsResponse LicenseId #

Get detail for a license API uses "LicenseId' and responses License.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse LicenseId :: * #

WebexTeamsApiPath LicenseId #

Get detail for license API uses LicenseId and path "licenses".

Instance details

Defined in Network.WebexTeams.Types

type Rep LicenseId # 
Instance details

Defined in Network.WebexTeams.Types

type Rep LicenseId = D1 (MetaData "LicenseId" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "LicenseId" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))
type ToResponse LicenseId # 
Instance details

Defined in Network.WebexTeams.Types

newtype LicenseName #

Display name of License

Constructors

LicenseName Text 
Instances
Eq LicenseName # 
Instance details

Defined in Network.WebexTeams.Types

Show LicenseName # 
Instance details

Defined in Network.WebexTeams.Types

Generic LicenseName # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep LicenseName :: * -> * #

ToJSON LicenseName # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON LicenseName # 
Instance details

Defined in Network.WebexTeams.Types

type Rep LicenseName # 
Instance details

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 # 
Instance details

Defined in Network.WebexTeams.Types

Show LicenseUnit # 
Instance details

Defined in Network.WebexTeams.Types

Generic LicenseUnit # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep LicenseUnit :: * -> * #

ToJSON LicenseUnit # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON LicenseUnit # 
Instance details

Defined in Network.WebexTeams.Types

type Rep LicenseUnit # 
Instance details

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 
Instances
Eq LicenseList # 
Instance details

Defined in Network.WebexTeams.Types

Show LicenseList # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON LicenseList # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON LicenseList #

LicenseList derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

newtype LicenseFilter #

Optional query strings for license list API

Constructors

LicenseFilter 

Fields

Instances
Eq LicenseFilter # 
Instance details

Defined in Network.WebexTeams.Types

Show LicenseFilter # 
Instance details

Defined in Network.WebexTeams.Types

Generic LicenseFilter # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep LicenseFilter :: * -> * #

Default LicenseFilter # 
Instance details

Defined in Network.WebexTeams.Types

Methods

def :: LicenseFilter #

WebexTeamsFilter LicenseFilter #

User can list licenses with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse LicenseFilter #

List licenses API uses LicenseFilter and responses License.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse LicenseFilter :: * #

WebexTeamsApiPath LicenseFilter #

List licenses API uses LicenseFilter and path "licenses".

Instance details

Defined in Network.WebexTeams.Types

type Rep LicenseFilter # 
Instance details

Defined in Network.WebexTeams.Types

type Rep LicenseFilter = D1 (MetaData "LicenseFilter" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "LicenseFilter" PrefixI True) (S1 (MetaSel (Just "licenseFilterOrgId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 (Maybe OrganizationId))))
type ToResponse LicenseFilter # 
Instance details

Defined in Network.WebexTeams.Types

Role related types

data 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.

Constructors

Role 

Fields

Instances
Eq Role # 
Instance details

Defined in Network.WebexTeams.Types

Methods

(==) :: Role -> Role -> Bool #

(/=) :: Role -> Role -> Bool #

Show Role # 
Instance details

Defined in Network.WebexTeams.Types

Methods

showsPrec :: Int -> Role -> ShowS #

show :: Role -> String #

showList :: [Role] -> ShowS #

ToJSON Role # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON Role #

Role derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsListItem Role #

RoleList wraps Role

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Role :: * #

Methods

unwrap :: ToList Role -> [Role] #

type ToList Role # 
Instance details

Defined in Network.WebexTeams.Types

newtype RoleId #

Role identifier which can be assigned to user. See Role too.

Constructors

RoleId Text 
Instances
Eq RoleId # 
Instance details

Defined in Network.WebexTeams.Types

Methods

(==) :: RoleId -> RoleId -> Bool #

(/=) :: RoleId -> RoleId -> Bool #

Show RoleId # 
Instance details

Defined in Network.WebexTeams.Types

Generic RoleId # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep RoleId :: * -> * #

Methods

from :: RoleId -> Rep RoleId x #

to :: Rep RoleId x -> RoleId #

ToJSON RoleId # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON RoleId # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsDetail RoleId #

User can get detail of a role.

Instance details

Defined in Network.WebexTeams.Types

Methods

toIdStr :: RoleId -> Text #

WebexTeamsResponse RoleId #

Get detail for a role API uses "RoleId' and responses Role.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse RoleId :: * #

WebexTeamsApiPath RoleId #

Get detail for role API uses RoleId and path "roles".

Instance details

Defined in Network.WebexTeams.Types

Methods

apiPath :: RoleId -> ByteString #

type Rep RoleId # 
Instance details

Defined in Network.WebexTeams.Types

type Rep RoleId = D1 (MetaData "RoleId" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "RoleId" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))
type ToResponse RoleId # 
Instance details

Defined in Network.WebexTeams.Types

newtype RoleName #

Name of Role.

Constructors

RoleName Text 
Instances
Eq RoleName # 
Instance details

Defined in Network.WebexTeams.Types

Show RoleName # 
Instance details

Defined in Network.WebexTeams.Types

Generic RoleName # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep RoleName :: * -> * #

Methods

from :: RoleName -> Rep RoleName x #

to :: Rep RoleName x -> RoleName #

ToJSON RoleName # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON RoleName # 
Instance details

Defined in Network.WebexTeams.Types

type Rep RoleName # 
Instance details

Defined in Network.WebexTeams.Types

type Rep RoleName = D1 (MetaData "RoleName" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.0-Lley1OzTymIMLru0MlBZs" True) (C1 (MetaCons "RoleName" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Text)))

newtype RoleList #

RoleList is decoded from response JSON of List Role REST call. It is list of Role.

Constructors

RoleList 

Fields

Instances
Eq RoleList # 
Instance details

Defined in Network.WebexTeams.Types

Show RoleList # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON RoleList # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON RoleList #

RoleList derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

Functions

Getting detail of an entity

getDetail #

Arguments

:: (MonadIO m, WebexTeamsDetail key) 
=> Authorization

Authorization string against Webex Teams API.

-> WebexTeamsRequest

Predefined part of Request commonly used for Webex Teams API.

-> 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.

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

createEntity #

Arguments

:: (MonadIO m, WebexTeamsCreate createParams) 
=> Authorization

Authorization string against Webex Teams API.

-> WebexTeamsRequest

Predefined part of Request commonly used for Webex Teams API.

-> createParams

One of CreatePerson, CreateRoom, CreateMembership, CreateMessage, CreateTeam and CreateTeamMembership.

-> 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

updateEntity #

Arguments

:: (MonadIO m, WebexTeamsUpdate updateParams) 
=> Authorization

Authorization string against Webex Teams API.

-> WebexTeamsRequest

Predefined part of Request commonly used for Webex Teams API.

-> updateParams

One of UpdatePerson, UpdateRoom, UpdateMembership, UpdateTeam and UpdateTeamMembership.

-> 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

deleteRoom #

Arguments

:: MonadIO m 
=> Authorization

Authorization string against Webex Teams API.

-> WebexTeamsRequest

Predefined part of Request commonly used for Webex Teams API.

-> RoomId

Identifier of a space to be deleted.

-> m (Response ()) 

Deletes a room, by ID.

deleteMembership #

Arguments

:: MonadIO m 
=> Authorization

Authorization string against Webex Teams API.

-> WebexTeamsRequest

Predefined part of Request commonly used for Webex Teams API.

-> MembershipId

Identifier of a space to be deleted.

-> m (Response ()) 

Deletes a membership, by ID.

deleteMessage #

Arguments

:: MonadIO m 
=> Authorization

Authorization string against Webex Teams API.

-> WebexTeamsRequest

Predefined part of Request commonly used for Webex Teams API.

-> MessageId

Identifier of a space to be deleted.

-> m (Response ()) 

Deletes a message, by ID.

deleteTeam #

Arguments

:: MonadIO m 
=> Authorization

Authorization string against Webex Teams API.

-> WebexTeamsRequest

Predefined part of Request commonly used for Webex Teams API.

-> TeamId

Identifier of a space to be deleted.

-> m (Response ()) 

Deletes a team, by ID.

deleteTeamMembership #

Arguments

:: MonadIO m 
=> Authorization

Authorization string against Webex Teams API.

-> WebexTeamsRequest

Predefined part of Request commonly used for Webex Teams API.

-> TeamMembershipId

Identifier of a space to be deleted.

-> m (Response ()) 

Deletes a teamMembership, by ID.