webex-teams-api-0.2.0.1: 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 Source #

Convert given filter condition parameter in a concrete type to HTTP query strings.

Minimal complete definition

toFilterList

Instances
WebexTeamsFilter PersonFilter Source #

User can list people with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsFilter TeamMembershipFilter Source #

User can list team membership with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsFilter RoomFilter Source #

User can list rooms with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsFilter MembershipFilter Source #

User can list memberships with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsFilter MessageFilter Source #

User can list messages with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsFilter LicenseFilter Source #

User can list licenses with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsFilter WebhookRoomFilter Source #

User can filter Webhook events from room.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsFilter WebhookMessageFilter Source #

User can filter Webhook events from message.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsFilter WebhookMembershipFilter Source #

User can filter Webhook events from membership.

Instance details

Defined in Network.WebexTeams.Types

class FromJSON (ToList i) => WebexTeamsListItem i 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.

Minimal complete definition

unwrap

Instances
WebexTeamsListItem Person Source #

PersonList wraps Person.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Person :: Type Source #

WebexTeamsListItem Team Source #

TeamList wraps Team

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Team :: Type Source #

Methods

unwrap :: ToList Team -> [Team] Source #

WebexTeamsListItem TeamMembership Source #

TeamMembershipList wraps TeamMembership

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList TeamMembership :: Type Source #

WebexTeamsListItem Room Source #

RoomList wraps Room

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Room :: Type Source #

Methods

unwrap :: ToList Room -> [Room] Source #

WebexTeamsListItem Membership Source #

MembershipList wraps Membership

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Membership :: Type Source #

WebexTeamsListItem Message Source #

MessageList wraps Message

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Message :: Type Source #

WebexTeamsListItem Organization Source #

OrganizationList wraps Organization

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Organization :: Type Source #

WebexTeamsListItem License Source #

LicenseList wraps License

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList License :: Type Source #

WebexTeamsListItem Role Source #

RoleList wraps Role

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Role :: Type Source #

Methods

unwrap :: ToList Role -> [Role] Source #

WebexTeamsListItem Webhook Source #

WebhookList wraps Webhook

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Webhook :: Type Source #

type family ToResponse a :: * Source #

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

Instances
type ToResponse LicenseId Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse RoleId Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse OrganizationId Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse PersonId Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreatePerson Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse PersonFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse UpdatePerson Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse TeamId Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreateTeam Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse UpdateTeam Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse TeamMembershipId Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreateTeamMembership Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse TeamMembershipFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse UpdateTeamMembership Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse RoomId Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreateRoom Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse RoomFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse UpdateRoom Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse MembershipId Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreateMembership Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse MembershipFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse UpdateMembership Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse MessageId Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreateMessage Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse MessageFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse LicenseFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse WebhookId Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreateWebhook Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse UpdateWebhook Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse WebhookRoomFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse WebhookMessageFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

type ToResponse WebhookMembershipFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

Common Types

newtype Authorization Source #

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

type CiscoSparkRequest = WebexTeamsRequest Source #

Type synonym for backward compatibility.

data WebexTeamsRequest Source #

Wrapping Request in order to provide easy default value specifically for Webex Teams public API.

Constructors

WebexTeamsRequest 

Fields

Instances
Show WebexTeamsRequest Source # 
Instance details

Defined in Network.WebexTeams

Default WebexTeamsRequest Source #

Default parameters for HTTP request to Webex Teams REST API.

Instance details

Defined in Network.WebexTeams

newtype Timestamp Source #

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

Constructors

Timestamp Text 
Instances
Eq Timestamp Source # 
Instance details

Defined in Network.WebexTeams.Types

Show Timestamp Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic Timestamp Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep Timestamp :: Type -> Type #

ToJSON Timestamp Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON Timestamp Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep Timestamp Source # 
Instance details

Defined in Network.WebexTeams.Types

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

newtype ErrorCode Source #

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

Constructors

ErrorCode Text 
Instances
Eq ErrorCode Source # 
Instance details

Defined in Network.WebexTeams.Types

Show ErrorCode Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic ErrorCode Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep ErrorCode :: Type -> Type #

ToJSON ErrorCode Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON ErrorCode Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep ErrorCode Source # 
Instance details

Defined in Network.WebexTeams.Types

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

data ErrorTitle Source #

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

Constructors

ErrorTitle 

Fields

Instances
Eq ErrorTitle Source # 
Instance details

Defined in Network.WebexTeams.Types

Show ErrorTitle Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON ErrorTitle Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON ErrorTitle Source #

ErrorTitle derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

newtype Errors Source #

Errors is used for element level error in List API. When list API failed to retrieve an element, it returns this object for the element and response API status as successful instead of failing entire API request.

Refer to API Document for more detail.

Constructors

Errors 
Instances
Eq Errors Source # 
Instance details

Defined in Network.WebexTeams.Types

Methods

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

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

Show Errors Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON Errors Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON Errors Source #

Errors derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

People related types

data Person Source #

Person is detail description of Webex Teams user or bot. Person is decoded from response JSON of Get Person Details REST call. It is also element type of response of List People call.

Constructors

Person 

Fields

Instances
Eq Person Source # 
Instance details

Defined in Network.WebexTeams.Types

Methods

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

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

Show Person Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON Person Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON Person Source #

Person derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsListItem Person Source #

PersonList wraps Person.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Person :: Type Source #

type ToList Person Source # 
Instance details

Defined in Network.WebexTeams.Types

newtype PersonId Source #

Identifying Person describing detail of Webex Teams user or bot.

Constructors

PersonId Text 
Instances
Eq PersonId Source # 
Instance details

Defined in Network.WebexTeams.Types

Show PersonId Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic PersonId Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep PersonId :: Type -> Type #

Methods

from :: PersonId -> Rep PersonId x #

to :: Rep PersonId x -> PersonId #

ToJSON PersonId Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON PersonId Source # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsDetail PersonId Source #

User can get detail of a person.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse PersonId Source #

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

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse PersonId :: Type Source #

WebexTeamsApiPath PersonId Source #

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

Instance details

Defined in Network.WebexTeams.Types

type Rep PersonId Source # 
Instance details

Defined in Network.WebexTeams.Types

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

Defined in Network.WebexTeams.Types

newtype Email Source #

Email address of user.

Constructors

Email Text 
Instances
Eq Email Source # 
Instance details

Defined in Network.WebexTeams.Types

Methods

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

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

Show Email Source # 
Instance details

Defined in Network.WebexTeams.Types

Methods

showsPrec :: Int -> Email -> ShowS #

show :: Email -> String #

showList :: [Email] -> ShowS #

Generic Email Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep Email :: Type -> Type #

Methods

from :: Email -> Rep Email x #

to :: Rep Email x -> Email #

ToJSON Email Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON Email Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep Email Source # 
Instance details

Defined in Network.WebexTeams.Types

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

newtype DisplayName Source #

Display name of user.

Constructors

DisplayName Text 
Instances
Eq DisplayName Source # 
Instance details

Defined in Network.WebexTeams.Types

Show DisplayName Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic DisplayName Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep DisplayName :: Type -> Type #

ToJSON DisplayName Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON DisplayName Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep DisplayName Source # 
Instance details

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

newtype NickName Source #

Nickname of user.

Constructors

NickName Text 
Instances
Eq NickName Source # 
Instance details

Defined in Network.WebexTeams.Types

Show NickName Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic NickName Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep NickName :: Type -> Type #

Methods

from :: NickName -> Rep NickName x #

to :: Rep NickName x -> NickName #

ToJSON NickName Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON NickName Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep NickName Source # 
Instance details

Defined in Network.WebexTeams.Types

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

newtype FirstName Source #

First name of user.

Constructors

FirstName Text 
Instances
Eq FirstName Source # 
Instance details

Defined in Network.WebexTeams.Types

Show FirstName Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic FirstName Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep FirstName :: Type -> Type #

ToJSON FirstName Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON FirstName Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep FirstName Source # 
Instance details

Defined in Network.WebexTeams.Types

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

newtype LastName Source #

Last name of user.

Constructors

LastName Text 
Instances
Eq LastName Source # 
Instance details

Defined in Network.WebexTeams.Types

Show LastName Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic LastName Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep LastName :: Type -> Type #

Methods

from :: LastName -> Rep LastName x #

to :: Rep LastName x -> LastName #

ToJSON LastName Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON LastName Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep LastName Source # 
Instance details

Defined in Network.WebexTeams.Types

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

newtype AvatarUrl Source #

URL pointing to image file of Avatar.

Constructors

AvatarUrl Text 
Instances
Eq AvatarUrl Source # 
Instance details

Defined in Network.WebexTeams.Types

Show AvatarUrl Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic AvatarUrl Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep AvatarUrl :: Type -> Type #

ToJSON AvatarUrl Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON AvatarUrl Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep AvatarUrl Source # 
Instance details

Defined in Network.WebexTeams.Types

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

newtype Timezone Source #

Timezone in timezone name.

Constructors

Timezone Text 
Instances
Eq Timezone Source # 
Instance details

Defined in Network.WebexTeams.Types

Show Timezone Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic Timezone Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep Timezone :: Type -> Type #

Methods

from :: Timezone -> Rep Timezone x #

to :: Rep Timezone x -> Timezone #

ToJSON Timezone Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON Timezone Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep Timezone Source # 
Instance details

Defined in Network.WebexTeams.Types

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

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

Defined in Network.WebexTeams.Types

Show PersonStatus Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic PersonStatus Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep PersonStatus :: Type -> Type #

ToJSON PersonStatus Source #

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

Instance details

Defined in Network.WebexTeams.Types

FromJSON PersonStatus Source #

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

Instance details

Defined in Network.WebexTeams.Types

type Rep PersonStatus Source # 
Instance details

Defined in Network.WebexTeams.Types

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

data PersonType Source #

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

Defined in Network.WebexTeams.Types

Show PersonType Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON PersonType Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON PersonType Source #

PersonType derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

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

Defined in Network.WebexTeams.Types

Show PersonList Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON PersonList Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON PersonList Source #

PersonList derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

data PersonFilter Source #

Optional query strings for people list API.

Constructors

PersonFilter 

Fields

Instances
Eq PersonFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

Show PersonFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic PersonFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep PersonFilter :: Type -> Type #

Default PersonFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

Methods

def :: PersonFilter #

WebexTeamsFilter PersonFilter Source #

User can list people with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse PersonFilter Source #

List people API uses PersonFilter and responses Person.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse PersonFilter :: Type Source #

WebexTeamsApiPath PersonFilter Source #

List people API uses PersonFilter and path "people".

Instance details

Defined in Network.WebexTeams.Types

type Rep PersonFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep PersonFilter = D1 (MetaData "PersonFilter" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.1-q6fXIzP74m9qzihYCvefh" 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 Source # 
Instance details

Defined in Network.WebexTeams.Types

data CreatePerson Source #

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

Constructors

CreatePerson 

Fields

Instances
Eq CreatePerson Source # 
Instance details

Defined in Network.WebexTeams.Types

Show CreatePerson Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON CreatePerson Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON CreatePerson Source #

CreatePerson derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsCreate CreatePerson Source #

User can create a person.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse CreatePerson Source #

Create person API uses "CreatePerson' and responses Person.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse CreatePerson :: Type Source #

WebexTeamsApiPath CreatePerson Source #

Create person API uses CreatePerson and path "people".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreatePerson Source # 
Instance details

Defined in Network.WebexTeams.Types

data UpdatePerson Source #

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

Constructors

UpdatePerson 

Fields

Instances
Eq UpdatePerson Source # 
Instance details

Defined in Network.WebexTeams.Types

Show UpdatePerson Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON UpdatePerson Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON UpdatePerson Source #

UpdatePerson derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsUpdate UpdatePerson Source #

User can update a person.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse UpdatePerson Source #

Update person API uses "UpdatePerson' and responses Person.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse UpdatePerson :: Type Source #

WebexTeamsApiPath UpdatePerson Source #

Update person API uses UpdatePerson and path "people".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse UpdatePerson Source # 
Instance details

Defined in Network.WebexTeams.Types

Room related types

data Room Source #

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

Defined in Network.WebexTeams.Types

Methods

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

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

Show Room Source # 
Instance details

Defined in Network.WebexTeams.Types

Methods

showsPrec :: Int -> Room -> ShowS #

show :: Room -> String #

showList :: [Room] -> ShowS #

ToJSON Room Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON Room Source #

Room derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsListItem Room Source #

RoomList wraps Room

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Room :: Type Source #

Methods

unwrap :: ToList Room -> [Room] Source #

type ToList Room Source # 
Instance details

Defined in Network.WebexTeams.Types

newtype RoomId Source #

Identifying Room.

Constructors

RoomId Text 
Instances
Eq RoomId Source # 
Instance details

Defined in Network.WebexTeams.Types

Methods

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

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

Show RoomId Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic RoomId Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep RoomId :: Type -> Type #

Methods

from :: RoomId -> Rep RoomId x #

to :: Rep RoomId x -> RoomId #

ToJSON RoomId Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON RoomId Source # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsDetail RoomId Source #

User can get detail of a room.

Instance details

Defined in Network.WebexTeams.Types

Methods

toIdStr :: RoomId -> Text Source #

WebexTeamsResponse RoomId Source #

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

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse RoomId :: Type Source #

WebexTeamsApiPath RoomId Source #

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

Instance details

Defined in Network.WebexTeams.Types

type Rep RoomId Source # 
Instance details

Defined in Network.WebexTeams.Types

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

Defined in Network.WebexTeams.Types

newtype RoomTitle Source #

Title text of Room.

Constructors

RoomTitle Text 
Instances
Eq RoomTitle Source # 
Instance details

Defined in Network.WebexTeams.Types

Show RoomTitle Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic RoomTitle Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep RoomTitle :: Type -> Type #

ToJSON RoomTitle Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON RoomTitle Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep RoomTitle Source # 
Instance details

Defined in Network.WebexTeams.Types

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

data RoomType Source #

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

Defined in Network.WebexTeams.Types

Show RoomType Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON RoomType Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON RoomType Source #

RoomType derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

newtype SipAddr Source #

SIP address.

Constructors

SipAddr Text 
Instances
Eq SipAddr Source # 
Instance details

Defined in Network.WebexTeams.Types

Methods

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

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

Show SipAddr Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic SipAddr Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep SipAddr :: Type -> Type #

Methods

from :: SipAddr -> Rep SipAddr x #

to :: Rep SipAddr x -> SipAddr #

ToJSON SipAddr Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON SipAddr Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep SipAddr Source # 
Instance details

Defined in Network.WebexTeams.Types

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

newtype RoomList Source #

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

Constructors

RoomList 

Fields

Instances
Eq RoomList Source # 
Instance details

Defined in Network.WebexTeams.Types

Show RoomList Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON RoomList Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON RoomList Source #

RoomList derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

data RoomFilter Source #

Optional query strings for room list API

Constructors

RoomFilter 

Fields

Instances
Eq RoomFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

Show RoomFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic RoomFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep RoomFilter :: Type -> Type #

Default RoomFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

Methods

def :: RoomFilter #

WebexTeamsFilter RoomFilter Source #

User can list rooms with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse RoomFilter Source #

List rooms API uses RoomFilter and responses Room.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse RoomFilter :: Type Source #

WebexTeamsApiPath RoomFilter Source #

List rooms API uses RoomFilter and path "rooms".

Instance details

Defined in Network.WebexTeams.Types

type Rep RoomFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep RoomFilter = D1 (MetaData "RoomFilter" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.1-q6fXIzP74m9qzihYCvefh" 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 Source # 
Instance details

Defined in Network.WebexTeams.Types

data CreateRoom Source #

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

Constructors

CreateRoom 

Fields

Instances
Eq CreateRoom Source # 
Instance details

Defined in Network.WebexTeams.Types

Show CreateRoom Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON CreateRoom Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON CreateRoom Source #

CreateRoom derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsCreate CreateRoom Source #

User can create a room.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse CreateRoom Source #

Create room API uses "CreateRoom' and responses Room.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse CreateRoom :: Type Source #

WebexTeamsApiPath CreateRoom Source #

Create room API uses CreateRoom and path "rooms".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreateRoom Source # 
Instance details

Defined in Network.WebexTeams.Types

newtype UpdateRoom Source #

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

Constructors

UpdateRoom 
Instances
Eq UpdateRoom Source # 
Instance details

Defined in Network.WebexTeams.Types

Show UpdateRoom Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON UpdateRoom Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON UpdateRoom Source #

UpdateRoom derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsUpdate UpdateRoom Source #

User can update a room.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse UpdateRoom Source #

Update room API uses "UpdateRoom' and responses Room.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse UpdateRoom :: Type Source #

WebexTeamsApiPath UpdateRoom Source #

Update room API uses UpdateRoom and path "rooms".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse UpdateRoom Source # 
Instance details

Defined in Network.WebexTeams.Types

Membership related types

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

Defined in Network.WebexTeams.Types

Show Membership Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON Membership Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON Membership Source #

Membership derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsListItem Membership Source #

MembershipList wraps Membership

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Membership :: Type Source #

type ToList Membership Source # 
Instance details

Defined in Network.WebexTeams.Types

newtype MembershipId Source #

Identifying Membership.

Constructors

MembershipId Text 
Instances
Eq MembershipId Source # 
Instance details

Defined in Network.WebexTeams.Types

Show MembershipId Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic MembershipId Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep MembershipId :: Type -> Type #

ToJSON MembershipId Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON MembershipId Source # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsDetail MembershipId Source #

User can get detail of a membership.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse MembershipId Source #

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

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse MembershipId :: Type Source #

WebexTeamsApiPath MembershipId Source #

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

Instance details

Defined in Network.WebexTeams.Types

type Rep MembershipId Source # 
Instance details

Defined in Network.WebexTeams.Types

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

Defined in Network.WebexTeams.Types

newtype MembershipList Source #

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

data MembershipFilter Source #

Optional query strings for room membership list API

Constructors

MembershipFilter 

Fields

Instances
Eq MembershipFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

Show MembershipFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic MembershipFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep MembershipFilter :: Type -> Type #

Default MembershipFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsFilter MembershipFilter Source #

User can list memberships with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse MembershipFilter Source #

List memberships API uses MembershipFilter and responses Membership.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse MembershipFilter :: Type Source #

WebexTeamsApiPath MembershipFilter Source #

List memberships API uses MembershipFilter and path "memberships".

Instance details

Defined in Network.WebexTeams.Types

type Rep MembershipFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep MembershipFilter = D1 (MetaData "MembershipFilter" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.1-q6fXIzP74m9qzihYCvefh" 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 Source # 
Instance details

Defined in Network.WebexTeams.Types

data CreateMembership Source #

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

Constructors

CreateMembership 

Fields

Instances
Eq CreateMembership Source # 
Instance details

Defined in Network.WebexTeams.Types

Show CreateMembership Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON CreateMembership Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON CreateMembership Source #

CreateMembership derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsCreate CreateMembership Source #

User can create a membership.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse CreateMembership Source #

Create membership API uses "CreateMembership' and responses Membership.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse CreateMembership :: Type Source #

WebexTeamsApiPath CreateMembership Source #

Create membership API uses CreateMembership and path "memberships".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreateMembership Source # 
Instance details

Defined in Network.WebexTeams.Types

newtype UpdateMembership Source #

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

Instances
Eq UpdateMembership Source # 
Instance details

Defined in Network.WebexTeams.Types

Show UpdateMembership Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON UpdateMembership Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON UpdateMembership Source #

UpdateMembership derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsUpdate UpdateMembership Source #

User can update a membership.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse UpdateMembership Source #

Update membership API uses "UpdateMembership' and responses Membership.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse UpdateMembership :: Type Source #

WebexTeamsApiPath UpdateMembership Source #

Update membership API uses UpdateMembership and path "memberships".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse UpdateMembership Source # 
Instance details

Defined in Network.WebexTeams.Types

Message related types

data Message Source #

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

Defined in Network.WebexTeams.Types

Methods

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

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

Show Message Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON Message Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON Message Source #

Message derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsListItem Message Source #

MessageList wraps Message

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Message :: Type Source #

type ToList Message Source # 
Instance details

Defined in Network.WebexTeams.Types

newtype MessageId Source #

Identifying Message.

Constructors

MessageId Text 
Instances
Eq MessageId Source # 
Instance details

Defined in Network.WebexTeams.Types

Show MessageId Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic MessageId Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep MessageId :: Type -> Type #

ToJSON MessageId Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON MessageId Source # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsDetail MessageId Source #

User can get detail of a message.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse MessageId Source #

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

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse MessageId :: Type Source #

WebexTeamsApiPath MessageId Source #

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

Instance details

Defined in Network.WebexTeams.Types

type Rep MessageId Source # 
Instance details

Defined in Network.WebexTeams.Types

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

Defined in Network.WebexTeams.Types

newtype MessageText Source #

Body of message in plain text.

Constructors

MessageText Text 
Instances
Eq MessageText Source # 
Instance details

Defined in Network.WebexTeams.Types

Show MessageText Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic MessageText Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep MessageText :: Type -> Type #

ToJSON MessageText Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON MessageText Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep MessageText Source # 
Instance details

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

Defined in Network.WebexTeams.Types

Show MessageHtml Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic MessageHtml Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep MessageHtml :: Type -> Type #

ToJSON MessageHtml Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON MessageHtml Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep MessageHtml Source # 
Instance details

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 

newtype FileUrl Source #

URL pointing attached file of message.

Constructors

FileUrl Text 
Instances
Eq FileUrl Source # 
Instance details

Defined in Network.WebexTeams.Types

Methods

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

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

Show FileUrl Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic FileUrl Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep FileUrl :: Type -> Type #

Methods

from :: FileUrl -> Rep FileUrl x #

to :: Rep FileUrl x -> FileUrl #

ToJSON FileUrl Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON FileUrl Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep FileUrl Source # 
Instance details

Defined in Network.WebexTeams.Types

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

newtype MessageList Source #

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

Constructors

MessageList 
Instances
Eq MessageList Source # 
Instance details

Defined in Network.WebexTeams.Types

Show MessageList Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON MessageList Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON MessageList Source #

MessageList derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

data MessageFilter Source #

Optional query strings for message list API

Constructors

MessageFilter 

Fields

Instances
Eq MessageFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

Show MessageFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsFilter MessageFilter Source #

User can list messages with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse MessageFilter Source #

List messages API uses MessageFilter and responses Message.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse MessageFilter :: Type Source #

WebexTeamsApiPath MessageFilter Source #

List messages API uses MessageFilter and path "messages".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse MessageFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

data MentionedPeople Source #

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

data CreateMessage Source #

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

Constructors

CreateMessage 

Fields

Instances
Eq CreateMessage Source # 
Instance details

Defined in Network.WebexTeams.Types

Show CreateMessage Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON CreateMessage Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON CreateMessage Source #

CreateMessage derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsCreate CreateMessage Source #

User can create a message.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse CreateMessage Source #

Create message API uses "CreateMessage' and responses Message.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse CreateMessage :: Type Source #

WebexTeamsApiPath CreateMessage Source #

Create message API uses CreateMessage and path "messages".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreateMessage Source # 
Instance details

Defined in Network.WebexTeams.Types

Team related types

newtype TeamName Source #

Name of Team

Constructors

TeamName Text 
Instances
Eq TeamName Source # 
Instance details

Defined in Network.WebexTeams.Types

Show TeamName Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic TeamName Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep TeamName :: Type -> Type #

Methods

from :: TeamName -> Rep TeamName x #

to :: Rep TeamName x -> TeamName #

ToJSON TeamName Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON TeamName Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep TeamName Source # 
Instance details

Defined in Network.WebexTeams.Types

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

newtype TeamId Source #

Identifying Team.

Constructors

TeamId Text 
Instances
Eq TeamId Source # 
Instance details

Defined in Network.WebexTeams.Types

Methods

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

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

Show TeamId Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic TeamId Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep TeamId :: Type -> Type #

Methods

from :: TeamId -> Rep TeamId x #

to :: Rep TeamId x -> TeamId #

ToJSON TeamId Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON TeamId Source # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsDetail TeamId Source #

User can get detail of a team.

Instance details

Defined in Network.WebexTeams.Types

Methods

toIdStr :: TeamId -> Text Source #

WebexTeamsResponse TeamId Source #

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

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse TeamId :: Type Source #

WebexTeamsApiPath TeamId Source #

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

Instance details

Defined in Network.WebexTeams.Types

type Rep TeamId Source # 
Instance details

Defined in Network.WebexTeams.Types

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

Defined in Network.WebexTeams.Types

data Team Source #

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

Defined in Network.WebexTeams.Types

Methods

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

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

Show Team Source # 
Instance details

Defined in Network.WebexTeams.Types

Methods

showsPrec :: Int -> Team -> ShowS #

show :: Team -> String #

showList :: [Team] -> ShowS #

ToJSON Team Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON Team Source #

Team derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsListItem Team Source #

TeamList wraps Team

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Team :: Type Source #

Methods

unwrap :: ToList Team -> [Team] Source #

type ToList Team Source # 
Instance details

Defined in Network.WebexTeams.Types

newtype TeamList Source #

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

Constructors

TeamList 

Fields

Instances
Eq TeamList Source # 
Instance details

Defined in Network.WebexTeams.Types

Show TeamList Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON TeamList Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON TeamList Source #

TeamList derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

newtype CreateTeam Source #

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

Constructors

CreateTeam 
Instances
Eq CreateTeam Source # 
Instance details

Defined in Network.WebexTeams.Types

Show CreateTeam Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON CreateTeam Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON CreateTeam Source #

CreateTeam derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsCreate CreateTeam Source #

User can create a team.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse CreateTeam Source #

Create team API uses "CreateTeam' and responses Team.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse CreateTeam :: Type Source #

WebexTeamsApiPath CreateTeam Source #

Create team API uses CreateTeam and path "teams".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreateTeam Source # 
Instance details

Defined in Network.WebexTeams.Types

newtype UpdateTeam Source #

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

Constructors

UpdateTeam 
Instances
Eq UpdateTeam Source # 
Instance details

Defined in Network.WebexTeams.Types

Show UpdateTeam Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON UpdateTeam Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON UpdateTeam Source #

UpdateTeam derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsUpdate UpdateTeam Source #

User can update a team.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse UpdateTeam Source #

Update team API uses "UpdateTeam' and responses Team.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse UpdateTeam :: Type Source #

WebexTeamsApiPath UpdateTeam Source #

Update team API uses UpdateTeam and path "teams".

Instance details

Defined in Network.WebexTeams.Types

type ToResponse UpdateTeam Source # 
Instance details

Defined in Network.WebexTeams.Types

Team Membership related types

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

newtype TeamMembershipId Source #

Identifying TeamMembership.

Constructors

TeamMembershipId Text 
Instances
Eq TeamMembershipId Source # 
Instance details

Defined in Network.WebexTeams.Types

Show TeamMembershipId Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic TeamMembershipId Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep TeamMembershipId :: Type -> Type #

ToJSON TeamMembershipId Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON TeamMembershipId Source # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsDetail TeamMembershipId Source #

User can get detail of a team membership.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse TeamMembershipId Source #

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

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse TeamMembershipId :: Type Source #

WebexTeamsApiPath TeamMembershipId Source #

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

Instance details

Defined in Network.WebexTeams.Types

type Rep TeamMembershipId Source # 
Instance details

Defined in Network.WebexTeams.Types

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

Defined in Network.WebexTeams.Types

newtype TeamMembershipFilter Source #

Optional query strings for team membership list API

Constructors

TeamMembershipFilter 

Fields

data CreateTeamMembership Source #

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

Constructors

CreateTeamMembership 

Fields

Instances
Eq CreateTeamMembership Source # 
Instance details

Defined in Network.WebexTeams.Types

Show CreateTeamMembership Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON CreateTeamMembership Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON CreateTeamMembership Source #

CreateTeamMembership derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsCreate CreateTeamMembership Source #

User can create a teamMembership.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse CreateTeamMembership Source #

Create teamMembership API uses "CreateTeamMembership' and responses TeamMembership.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse CreateTeamMembership :: Type Source #

WebexTeamsApiPath CreateTeamMembership Source #

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

Instance details

Defined in Network.WebexTeams.Types

type ToResponse CreateTeamMembership Source # 
Instance details

Defined in Network.WebexTeams.Types

newtype UpdateTeamMembership Source #

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

Instances
Eq UpdateTeamMembership Source # 
Instance details

Defined in Network.WebexTeams.Types

Show UpdateTeamMembership Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON UpdateTeamMembership Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON UpdateTeamMembership Source #

UpdateTeamMembership derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsUpdate UpdateTeamMembership Source #

User can update a teamMembership.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse UpdateTeamMembership Source #

Update teamMembership API uses "UpdateTeamMembership' and responses TeamMembership.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse UpdateTeamMembership :: Type Source #

WebexTeamsApiPath UpdateTeamMembership Source #

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

Instance details

Defined in Network.WebexTeams.Types

type ToResponse UpdateTeamMembership Source # 
Instance details

Defined in Network.WebexTeams.Types

Organization related types

data Organization Source #

Organization is an administrative group of Webex Teams users. Each Person belongs to one Organization. Organization is decoded from response JSON of Get Organization Details REST call. It is also element type of response of List Organizations call.

Constructors

Organization 

Fields

newtype OrganizationId Source #

Organization identifier which user or team belongs to.

Constructors

OrganizationId Text 
Instances
Eq OrganizationId Source # 
Instance details

Defined in Network.WebexTeams.Types

Show OrganizationId Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic OrganizationId Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep OrganizationId :: Type -> Type #

ToJSON OrganizationId Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON OrganizationId Source # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsDetail OrganizationId Source #

User can get detail of a organization.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse OrganizationId Source #

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

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse OrganizationId :: Type Source #

WebexTeamsApiPath OrganizationId Source #

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

Instance details

Defined in Network.WebexTeams.Types

type Rep OrganizationId Source # 
Instance details

Defined in Network.WebexTeams.Types

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

Defined in Network.WebexTeams.Types

newtype OrganizationDisplayName Source #

Display name of Organization

Instances
Eq OrganizationDisplayName Source # 
Instance details

Defined in Network.WebexTeams.Types

Show OrganizationDisplayName Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic OrganizationDisplayName Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep OrganizationDisplayName :: Type -> Type #

ToJSON OrganizationDisplayName Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON OrganizationDisplayName Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep OrganizationDisplayName Source # 
Instance details

Defined in Network.WebexTeams.Types

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

newtype OrganizationList Source #

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

License related types

data License Source #

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

Defined in Network.WebexTeams.Types

Methods

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

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

Show License Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON License Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON License Source #

License derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsListItem License Source #

LicenseList wraps License

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList License :: Type Source #

type ToList License Source # 
Instance details

Defined in Network.WebexTeams.Types

newtype LicenseId Source #

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

Constructors

LicenseId Text 
Instances
Eq LicenseId Source # 
Instance details

Defined in Network.WebexTeams.Types

Show LicenseId Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic LicenseId Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep LicenseId :: Type -> Type #

ToJSON LicenseId Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON LicenseId Source # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsDetail LicenseId Source #

User can get detail of a license.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse LicenseId Source #

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

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse LicenseId :: Type Source #

WebexTeamsApiPath LicenseId Source #

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

Instance details

Defined in Network.WebexTeams.Types

type Rep LicenseId Source # 
Instance details

Defined in Network.WebexTeams.Types

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

Defined in Network.WebexTeams.Types

newtype LicenseName Source #

Display name of License

Constructors

LicenseName Text 
Instances
Eq LicenseName Source # 
Instance details

Defined in Network.WebexTeams.Types

Show LicenseName Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic LicenseName Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep LicenseName :: Type -> Type #

ToJSON LicenseName Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON LicenseName Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep LicenseName Source # 
Instance details

Defined in Network.WebexTeams.Types

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

newtype LicenseUnit Source #

Counting number of granted or consumed License

Constructors

LicenseUnit Integer 
Instances
Eq LicenseUnit Source # 
Instance details

Defined in Network.WebexTeams.Types

Show LicenseUnit Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic LicenseUnit Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep LicenseUnit :: Type -> Type #

ToJSON LicenseUnit Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON LicenseUnit Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep LicenseUnit Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep LicenseUnit = D1 (MetaData "LicenseUnit" "Network.WebexTeams.Types" "webex-teams-api-0.2.0.1-q6fXIzP74m9qzihYCvefh" True) (C1 (MetaCons "LicenseUnit" PrefixI False) (S1 (MetaSel (Nothing :: Maybe Symbol) NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 Integer)))

newtype LicenseList Source #

LicenseList is decoded from response JSON of List Licenses REST call. It is list of License.

Constructors

LicenseList 
Instances
Eq LicenseList Source # 
Instance details

Defined in Network.WebexTeams.Types

Show LicenseList Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON LicenseList Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON LicenseList Source #

LicenseList derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

newtype LicenseFilter Source #

Optional query strings for license list API

Constructors

LicenseFilter 

Fields

Instances
Eq LicenseFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

Show LicenseFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic LicenseFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep LicenseFilter :: Type -> Type #

Default LicenseFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

Methods

def :: LicenseFilter #

WebexTeamsFilter LicenseFilter Source #

User can list licenses with filter parameter.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsResponse LicenseFilter Source #

List licenses API uses LicenseFilter and responses License.

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse LicenseFilter :: Type Source #

WebexTeamsApiPath LicenseFilter Source #

List licenses API uses LicenseFilter and path "licenses".

Instance details

Defined in Network.WebexTeams.Types

type Rep LicenseFilter Source # 
Instance details

Defined in Network.WebexTeams.Types

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

Defined in Network.WebexTeams.Types

Role related types

data Role Source #

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

Defined in Network.WebexTeams.Types

Methods

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

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

Show Role Source # 
Instance details

Defined in Network.WebexTeams.Types

Methods

showsPrec :: Int -> Role -> ShowS #

show :: Role -> String #

showList :: [Role] -> ShowS #

ToJSON Role Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON Role Source #

Role derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

WebexTeamsListItem Role Source #

RoleList wraps Role

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToList Role :: Type Source #

Methods

unwrap :: ToList Role -> [Role] Source #

type ToList Role Source # 
Instance details

Defined in Network.WebexTeams.Types

newtype RoleId Source #

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

Constructors

RoleId Text 
Instances
Eq RoleId Source # 
Instance details

Defined in Network.WebexTeams.Types

Methods

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

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

Show RoleId Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic RoleId Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep RoleId :: Type -> Type #

Methods

from :: RoleId -> Rep RoleId x #

to :: Rep RoleId x -> RoleId #

ToJSON RoleId Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON RoleId Source # 
Instance details

Defined in Network.WebexTeams.Types

WebexTeamsDetail RoleId Source #

User can get detail of a role.

Instance details

Defined in Network.WebexTeams.Types

Methods

toIdStr :: RoleId -> Text Source #

WebexTeamsResponse RoleId Source #

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

Instance details

Defined in Network.WebexTeams.Types

Associated Types

type ToResponse RoleId :: Type Source #

WebexTeamsApiPath RoleId Source #

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

Instance details

Defined in Network.WebexTeams.Types

type Rep RoleId Source # 
Instance details

Defined in Network.WebexTeams.Types

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

Defined in Network.WebexTeams.Types

newtype RoleName Source #

Name of Role.

Constructors

RoleName Text 
Instances
Eq RoleName Source # 
Instance details

Defined in Network.WebexTeams.Types

Show RoleName Source # 
Instance details

Defined in Network.WebexTeams.Types

Generic RoleName Source # 
Instance details

Defined in Network.WebexTeams.Types

Associated Types

type Rep RoleName :: Type -> Type #

Methods

from :: RoleName -> Rep RoleName x #

to :: Rep RoleName x -> RoleName #

ToJSON RoleName Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON RoleName Source # 
Instance details

Defined in Network.WebexTeams.Types

type Rep RoleName Source # 
Instance details

Defined in Network.WebexTeams.Types

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

newtype RoleList Source #

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

Constructors

RoleList 

Fields

Instances
Eq RoleList Source # 
Instance details

Defined in Network.WebexTeams.Types

Show RoleList Source # 
Instance details

Defined in Network.WebexTeams.Types

ToJSON RoleList Source # 
Instance details

Defined in Network.WebexTeams.Types

FromJSON RoleList Source #

RoleList derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.WebexTeams.Types

Functions

Getting detail of an entity

getDetail Source #

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

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] Source #

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

Get list with query parameter.

streamEntityWithFilter :: (MonadIO m, WebexTeamsFilter filter, WebexTeamsListItem (ToResponse filter)) => Authorization -> WebexTeamsRequest -> filter -> ConduitT () (ToResponse filter) m () Source #

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 () Source #

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 () Source #

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 () Source #

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

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

Create a Webex Teams entity with given parameters. A Left value will be returned on an JSON parse errors.

Updating an entity

updateEntity Source #

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

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

Default value of query strings for message list API. Because RoomId is mandatory, user have to supply it in order to get rest of defaults.

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.

Deleting an entity

deleteRoom Source #

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

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

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

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

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.