cisco-spark-api-0.1.0.4: DEPRECATED in favor of webex-teams-api

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

Network.CiscoSpark

Contents

Description

This module provides types and functions for accessing Cisco Spark 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 Spark 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. Also those functions transform chunky response into seamless stream of elements.

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

Support for Lens

This package provides many of records representing objects communicated via Cisco Spark 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

Common Types

newtype Authorization Source #

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

data CiscoSparkRequest Source #

Wrapping Request in order to provide easy default value specifically for Cisco Spark public API.

Constructors

CiscoSparkRequest 

Fields

Instances
Show CiscoSparkRequest Source # 
Instance details

Defined in Network.CiscoSpark

Default CiscoSparkRequest Source #

Default parameters for HTTP request to Cisco Spark REST API.

Instance details

Defined in Network.CiscoSpark

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

Show Timestamp Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic Timestamp Source # 
Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type Rep Timestamp :: Type -> Type #

ToJSON Timestamp Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON Timestamp Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep Timestamp Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep Timestamp = D1 (MetaData "Timestamp" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

Show ErrorCode Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic ErrorCode Source # 
Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type Rep ErrorCode :: Type -> Type #

ToJSON ErrorCode Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON ErrorCode Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep ErrorCode Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep ErrorCode = D1 (MetaData "ErrorCode" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

Show ErrorTitle Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON ErrorTitle Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON ErrorTitle Source #

ErrorTitle derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

Methods

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

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

Show Errors Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON Errors Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON Errors Source #

Errors derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

People related types

data Person Source #

Person is detail description of Cisco Spark 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.CiscoSpark.Types

Methods

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

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

Show Person Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON Person Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON Person Source #

Person derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

SparkListItem Person Source #

PersonList wraps Person.

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToList Person :: Type Source #

type ToList Person Source # 
Instance details

Defined in Network.CiscoSpark.Types

newtype PersonId Source #

Identifying Person describing detail of Cisco Spark user or bot.

Constructors

PersonId Text 
Instances
Eq PersonId Source # 
Instance details

Defined in Network.CiscoSpark.Types

Show PersonId Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic PersonId Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

FromJSON PersonId Source # 
Instance details

Defined in Network.CiscoSpark.Types

SparkDetail PersonId Source #

User can get detail of a person.

Instance details

Defined in Network.CiscoSpark.Types

SparkResponse PersonId Source #

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

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse PersonId :: Type Source #

SparkApiPath PersonId Source #

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

Instance details

Defined in Network.CiscoSpark.Types

type Rep PersonId Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep PersonId = D1 (MetaData "PersonId" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

newtype Email Source #

Email address of user.

Constructors

Email Text 
Instances
Eq Email Source # 
Instance details

Defined in Network.CiscoSpark.Types

Methods

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

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

Show Email Source # 
Instance details

Defined in Network.CiscoSpark.Types

Methods

showsPrec :: Int -> Email -> ShowS #

show :: Email -> String #

showList :: [Email] -> ShowS #

Generic Email Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

FromJSON Email Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep Email Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep Email = D1 (MetaData "Email" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

Show DisplayName Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic DisplayName Source # 
Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type Rep DisplayName :: Type -> Type #

ToJSON DisplayName Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON DisplayName Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep DisplayName Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep DisplayName = D1 (MetaData "DisplayName" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

Show NickName Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic NickName Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

FromJSON NickName Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep NickName Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep NickName = D1 (MetaData "NickName" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

Show FirstName Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic FirstName Source # 
Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type Rep FirstName :: Type -> Type #

ToJSON FirstName Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON FirstName Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep FirstName Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep FirstName = D1 (MetaData "FirstName" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

Show LastName Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic LastName Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

FromJSON LastName Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep LastName Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep LastName = D1 (MetaData "LastName" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

Show AvatarUrl Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic AvatarUrl Source # 
Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type Rep AvatarUrl :: Type -> Type #

ToJSON AvatarUrl Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON AvatarUrl Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep AvatarUrl Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep AvatarUrl = D1 (MetaData "AvatarUrl" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

Show Timezone Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic Timezone Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

FromJSON Timezone Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep Timezone Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep Timezone = D1 (MetaData "Timezone" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

Show PersonStatus Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic PersonStatus Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

FromJSON PersonStatus Source #

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

Instance details

Defined in Network.CiscoSpark.Types

type Rep PersonStatus Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep PersonStatus = D1 (MetaData "PersonStatus" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

Show PersonType Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON PersonType Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON PersonType Source #

PersonType derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

Show PersonList Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON PersonList Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON PersonList Source #

PersonList derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

data PersonFilter Source #

Optional query strings for people list API.

Constructors

PersonFilter 

Fields

Instances
Eq PersonFilter Source # 
Instance details

Defined in Network.CiscoSpark.Types

Show PersonFilter Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic PersonFilter Source # 
Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type Rep PersonFilter :: Type -> Type #

Default PersonFilter Source # 
Instance details

Defined in Network.CiscoSpark.Types

Methods

def :: PersonFilter #

SparkFilter PersonFilter Source #

User can list people with filter parameter.

Instance details

Defined in Network.CiscoSpark.Types

SparkResponse PersonFilter Source #

List people API uses PersonFilter and responses Person.

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse PersonFilter :: Type Source #

SparkApiPath PersonFilter Source #

List people API uses PersonFilter and path "people".

Instance details

Defined in Network.CiscoSpark.Types

type Rep PersonFilter Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep PersonFilter = D1 (MetaData "PersonFilter" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.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.CiscoSpark.Types

Show CreatePerson Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON CreatePerson Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON CreatePerson Source #

CreatePerson derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

SparkCreate CreatePerson Source #

User can create a person.

Instance details

Defined in Network.CiscoSpark.Types

SparkResponse CreatePerson Source #

Create person API uses "CreatePerson' and responses Person.

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse CreatePerson :: Type Source #

SparkApiPath CreatePerson Source #

Create person API uses CreatePerson and path "people".

Instance details

Defined in Network.CiscoSpark.Types

type ToResponse CreatePerson Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

Show UpdatePerson Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON UpdatePerson Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON UpdatePerson Source #

UpdatePerson derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

SparkUpdate UpdatePerson Source #

User can update a person.

Instance details

Defined in Network.CiscoSpark.Types

SparkResponse UpdatePerson Source #

Update person API uses "UpdatePerson' and responses Person.

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse UpdatePerson :: Type Source #

SparkApiPath UpdatePerson Source #

Update person API uses UpdatePerson and path "people".

Instance details

Defined in Network.CiscoSpark.Types

type ToResponse UpdatePerson Source # 
Instance details

Defined in Network.CiscoSpark.Types

Room related types

data Room Source #

Room is communication space in Cisco Spark 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 Spark. 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.CiscoSpark.Types

Methods

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

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

Show Room Source # 
Instance details

Defined in Network.CiscoSpark.Types

Methods

showsPrec :: Int -> Room -> ShowS #

show :: Room -> String #

showList :: [Room] -> ShowS #

ToJSON Room Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON Room Source #

Room derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

SparkListItem Room Source #

RoomList wraps Room

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToList Room :: Type Source #

Methods

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

type ToList Room Source # 
Instance details

Defined in Network.CiscoSpark.Types

newtype RoomId Source #

Identifying Room.

Constructors

RoomId Text 
Instances
Eq RoomId Source # 
Instance details

Defined in Network.CiscoSpark.Types

Methods

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

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

Show RoomId Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic RoomId Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

FromJSON RoomId Source # 
Instance details

Defined in Network.CiscoSpark.Types

SparkDetail RoomId Source #

User can get detail of a room.

Instance details

Defined in Network.CiscoSpark.Types

Methods

toIdStr :: RoomId -> Text Source #

SparkResponse RoomId Source #

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

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse RoomId :: Type Source #

SparkApiPath RoomId Source #

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

Instance details

Defined in Network.CiscoSpark.Types

type Rep RoomId Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep RoomId = D1 (MetaData "RoomId" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

newtype RoomTitle Source #

Title text of Room.

Constructors

RoomTitle Text 
Instances
Eq RoomTitle Source # 
Instance details

Defined in Network.CiscoSpark.Types

Show RoomTitle Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic RoomTitle Source # 
Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type Rep RoomTitle :: Type -> Type #

ToJSON RoomTitle Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON RoomTitle Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep RoomTitle Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep RoomTitle = D1 (MetaData "RoomTitle" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

Show RoomType Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON RoomType Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON RoomType Source #

RoomType derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

newtype SipAddr Source #

SIP address.

Constructors

SipAddr Text 
Instances
Eq SipAddr Source # 
Instance details

Defined in Network.CiscoSpark.Types

Methods

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

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

Show SipAddr Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic SipAddr Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

FromJSON SipAddr Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep SipAddr Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep SipAddr = D1 (MetaData "SipAddr" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

Show RoomList Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON RoomList Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON RoomList Source #

RoomList derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

data RoomFilter Source #

Optional query strings for room list API

Constructors

RoomFilter 

Fields

Instances
Eq RoomFilter Source # 
Instance details

Defined in Network.CiscoSpark.Types

Show RoomFilter Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic RoomFilter Source # 
Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type Rep RoomFilter :: Type -> Type #

Default RoomFilter Source # 
Instance details

Defined in Network.CiscoSpark.Types

Methods

def :: RoomFilter #

SparkFilter RoomFilter Source #

User can list rooms with filter parameter.

Instance details

Defined in Network.CiscoSpark.Types

SparkResponse RoomFilter Source #

List rooms API uses RoomFilter and responses Room.

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse RoomFilter :: Type Source #

SparkApiPath RoomFilter Source #

List rooms API uses RoomFilter and path "rooms".

Instance details

Defined in Network.CiscoSpark.Types

type Rep RoomFilter Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep RoomFilter = D1 (MetaData "RoomFilter" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.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.CiscoSpark.Types

Show CreateRoom Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON CreateRoom Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON CreateRoom Source #

CreateRoom derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

SparkCreate CreateRoom Source #

User can create a room.

Instance details

Defined in Network.CiscoSpark.Types

SparkResponse CreateRoom Source #

Create room API uses "CreateRoom' and responses Room.

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse CreateRoom :: Type Source #

SparkApiPath CreateRoom Source #

Create room API uses CreateRoom and path "rooms".

Instance details

Defined in Network.CiscoSpark.Types

type ToResponse CreateRoom Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

Show UpdateRoom Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON UpdateRoom Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON UpdateRoom Source #

UpdateRoom derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

SparkUpdate UpdateRoom Source #

User can update a room.

Instance details

Defined in Network.CiscoSpark.Types

SparkResponse UpdateRoom Source #

Update room API uses "UpdateRoom' and responses Room.

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse UpdateRoom :: Type Source #

SparkApiPath UpdateRoom Source #

Update room API uses UpdateRoom and path "rooms".

Instance details

Defined in Network.CiscoSpark.Types

type ToResponse UpdateRoom Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

Show Membership Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON Membership Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON Membership Source #

Membership derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

SparkListItem Membership Source #

MembershipList wraps Membership

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToList Membership :: Type Source #

type ToList Membership Source # 
Instance details

Defined in Network.CiscoSpark.Types

newtype MembershipId Source #

Identifying Membership.

Constructors

MembershipId Text 
Instances
Eq MembershipId Source # 
Instance details

Defined in Network.CiscoSpark.Types

Show MembershipId Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic MembershipId Source # 
Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type Rep MembershipId :: Type -> Type #

ToJSON MembershipId Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON MembershipId Source # 
Instance details

Defined in Network.CiscoSpark.Types

SparkDetail MembershipId Source #

User can get detail of a membership.

Instance details

Defined in Network.CiscoSpark.Types

SparkResponse MembershipId Source #

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

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse MembershipId :: Type Source #

SparkApiPath MembershipId Source #

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

Instance details

Defined in Network.CiscoSpark.Types

type Rep MembershipId Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep MembershipId = D1 (MetaData "MembershipId" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.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.CiscoSpark.Types

Show MembershipFilter Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic MembershipFilter Source # 
Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type Rep MembershipFilter :: Type -> Type #

Default MembershipFilter Source # 
Instance details

Defined in Network.CiscoSpark.Types

SparkFilter MembershipFilter Source #

User can list memberships with filter parameter.

Instance details

Defined in Network.CiscoSpark.Types

SparkResponse MembershipFilter Source #

List memberships API uses MembershipFilter and responses Membership.

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse MembershipFilter :: Type Source #

SparkApiPath MembershipFilter Source #

List memberships API uses MembershipFilter and path "memberships".

Instance details

Defined in Network.CiscoSpark.Types

type Rep MembershipFilter Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep MembershipFilter = D1 (MetaData "MembershipFilter" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.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.CiscoSpark.Types

Show CreateMembership Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON CreateMembership Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON CreateMembership Source #

CreateMembership derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

SparkCreate CreateMembership Source #

User can create a membership.

Instance details

Defined in Network.CiscoSpark.Types

SparkResponse CreateMembership Source #

Create membership API uses "CreateMembership' and responses Membership.

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse CreateMembership :: Type Source #

SparkApiPath CreateMembership Source #

Create membership API uses CreateMembership and path "memberships".

Instance details

Defined in Network.CiscoSpark.Types

type ToResponse CreateMembership Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

Show UpdateMembership Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON UpdateMembership Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON UpdateMembership Source #

UpdateMembership derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

SparkUpdate UpdateMembership Source #

User can update a membership.

Instance details

Defined in Network.CiscoSpark.Types

SparkResponse UpdateMembership Source #

Update membership API uses "UpdateMembership' and responses Membership.

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse UpdateMembership :: Type Source #

SparkApiPath UpdateMembership Source #

Update membership API uses UpdateMembership and path "memberships".

Instance details

Defined in Network.CiscoSpark.Types

type ToResponse UpdateMembership Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

Methods

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

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

Show Message Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON Message Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON Message Source #

Message derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

SparkListItem Message Source #

MessageList wraps Message

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToList Message :: Type Source #

type ToList Message Source # 
Instance details

Defined in Network.CiscoSpark.Types

newtype MessageId Source #

Identifying Message.

Constructors

MessageId Text 
Instances
Eq MessageId Source # 
Instance details

Defined in Network.CiscoSpark.Types

Show MessageId Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic MessageId Source # 
Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type Rep MessageId :: Type -> Type #

ToJSON MessageId Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON MessageId Source # 
Instance details

Defined in Network.CiscoSpark.Types

SparkDetail MessageId Source #

User can get detail of a message.

Instance details

Defined in Network.CiscoSpark.Types

SparkResponse MessageId Source #

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

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse MessageId :: Type Source #

SparkApiPath MessageId Source #

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

Instance details

Defined in Network.CiscoSpark.Types

type Rep MessageId Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep MessageId = D1 (MetaData "MessageId" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

newtype MessageText Source #

Body of message in plain text.

Constructors

MessageText Text 
Instances
Eq MessageText Source # 
Instance details

Defined in Network.CiscoSpark.Types

Show MessageText Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic MessageText Source # 
Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type Rep MessageText :: Type -> Type #

ToJSON MessageText Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON MessageText Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep MessageText Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep MessageText = D1 (MetaData "MessageText" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

Show MessageHtml Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic MessageHtml Source # 
Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type Rep MessageHtml :: Type -> Type #

ToJSON MessageHtml Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON MessageHtml Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep MessageHtml Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep MessageHtml = D1 (MetaData "MessageHtml" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

Methods

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

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

Show FileUrl Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic FileUrl Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

FromJSON FileUrl Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep FileUrl Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep FileUrl = D1 (MetaData "FileUrl" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

Show MessageList Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON MessageList Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON MessageList Source #

MessageList derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

data MessageFilter Source #

Optional query strings for message list API

Constructors

MessageFilter 

Fields

Instances
Eq MessageFilter Source # 
Instance details

Defined in Network.CiscoSpark.Types

Show MessageFilter Source # 
Instance details

Defined in Network.CiscoSpark.Types

SparkFilter MessageFilter Source #

User can list messages with filter parameter.

Instance details

Defined in Network.CiscoSpark.Types

SparkResponse MessageFilter Source #

List messages API uses MessageFilter and responses Message.

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse MessageFilter :: Type Source #

SparkApiPath MessageFilter Source #

List messages API uses MessageFilter and path "messages".

Instance details

Defined in Network.CiscoSpark.Types

type ToResponse MessageFilter Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

Show CreateMessage Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON CreateMessage Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON CreateMessage Source #

CreateMessage derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

SparkCreate CreateMessage Source #

User can create a message.

Instance details

Defined in Network.CiscoSpark.Types

SparkResponse CreateMessage Source #

Create message API uses "CreateMessage' and responses Message.

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse CreateMessage :: Type Source #

SparkApiPath CreateMessage Source #

Create message API uses CreateMessage and path "messages".

Instance details

Defined in Network.CiscoSpark.Types

type ToResponse CreateMessage Source # 
Instance details

Defined in Network.CiscoSpark.Types

Team related types

newtype TeamName Source #

Name of Team

Constructors

TeamName Text 
Instances
Eq TeamName Source # 
Instance details

Defined in Network.CiscoSpark.Types

Show TeamName Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic TeamName Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

FromJSON TeamName Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep TeamName Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep TeamName = D1 (MetaData "TeamName" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

Methods

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

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

Show TeamId Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic TeamId Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

FromJSON TeamId Source # 
Instance details

Defined in Network.CiscoSpark.Types

SparkDetail TeamId Source #

User can get detail of a team.

Instance details

Defined in Network.CiscoSpark.Types

Methods

toIdStr :: TeamId -> Text Source #

SparkResponse TeamId Source #

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

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse TeamId :: Type Source #

SparkApiPath TeamId Source #

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

Instance details

Defined in Network.CiscoSpark.Types

type Rep TeamId Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep TeamId = D1 (MetaData "TeamId" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.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.CiscoSpark.Types

Methods

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

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

Show Team Source # 
Instance details

Defined in Network.CiscoSpark.Types

Methods

showsPrec :: Int -> Team -> ShowS #

show :: Team -> String #

showList :: [Team] -> ShowS #

ToJSON Team Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON Team Source #

Team derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

SparkListItem Team Source #

TeamList wraps Team

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToList Team :: Type Source #

Methods

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

type ToList Team Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

Show TeamList Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON TeamList Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON TeamList Source #

TeamList derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

Show CreateTeam Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON CreateTeam Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON CreateTeam Source #

CreateTeam derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

SparkCreate CreateTeam Source #

User can create a team.

Instance details

Defined in Network.CiscoSpark.Types

SparkResponse CreateTeam Source #

Create team API uses "CreateTeam' and responses Team.

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse CreateTeam :: Type Source #

SparkApiPath CreateTeam Source #

Create team API uses CreateTeam and path "teams".

Instance details

Defined in Network.CiscoSpark.Types

type ToResponse CreateTeam Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

Show UpdateTeam Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON UpdateTeam Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON UpdateTeam Source #

UpdateTeam derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

SparkUpdate UpdateTeam Source #

User can update a team.

Instance details

Defined in Network.CiscoSpark.Types

SparkResponse UpdateTeam Source #

Update team API uses "UpdateTeam' and responses Team.

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse UpdateTeam :: Type Source #

SparkApiPath UpdateTeam Source #

Update team API uses UpdateTeam and path "teams".

Instance details

Defined in Network.CiscoSpark.Types

type ToResponse UpdateTeam Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

Show TeamMembershipId Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic TeamMembershipId Source # 
Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type Rep TeamMembershipId :: Type -> Type #

ToJSON TeamMembershipId Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON TeamMembershipId Source # 
Instance details

Defined in Network.CiscoSpark.Types

SparkDetail TeamMembershipId Source #

User can get detail of a team membership.

Instance details

Defined in Network.CiscoSpark.Types

SparkResponse TeamMembershipId Source #

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

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse TeamMembershipId :: Type Source #

SparkApiPath TeamMembershipId Source #

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

Instance details

Defined in Network.CiscoSpark.Types

type Rep TeamMembershipId Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep TeamMembershipId = D1 (MetaData "TeamMembershipId" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.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.CiscoSpark.Types

Show CreateTeamMembership Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON CreateTeamMembership Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON CreateTeamMembership Source #

CreateTeamMembership derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

SparkCreate CreateTeamMembership Source #

User can create a teamMembership.

Instance details

Defined in Network.CiscoSpark.Types

SparkResponse CreateTeamMembership Source #

Create teamMembership API uses "CreateTeamMembership' and responses TeamMembership.

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse CreateTeamMembership :: Type Source #

SparkApiPath CreateTeamMembership Source #

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

Instance details

Defined in Network.CiscoSpark.Types

type ToResponse CreateTeamMembership Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

Show UpdateTeamMembership Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON UpdateTeamMembership Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON UpdateTeamMembership Source #

UpdateTeamMembership derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

SparkUpdate UpdateTeamMembership Source #

User can update a teamMembership.

Instance details

Defined in Network.CiscoSpark.Types

SparkResponse UpdateTeamMembership Source #

Update teamMembership API uses "UpdateTeamMembership' and responses TeamMembership.

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse UpdateTeamMembership :: Type Source #

SparkApiPath UpdateTeamMembership Source #

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

Instance details

Defined in Network.CiscoSpark.Types

type ToResponse UpdateTeamMembership Source # 
Instance details

Defined in Network.CiscoSpark.Types

Organization related types

data Organization Source #

Organization is an administrative group of Cisco Spark 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.CiscoSpark.Types

Show OrganizationId Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic OrganizationId Source # 
Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type Rep OrganizationId :: Type -> Type #

ToJSON OrganizationId Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON OrganizationId Source # 
Instance details

Defined in Network.CiscoSpark.Types

SparkDetail OrganizationId Source #

User can get detail of a organization.

Instance details

Defined in Network.CiscoSpark.Types

SparkResponse OrganizationId Source #

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

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse OrganizationId :: Type Source #

SparkApiPath OrganizationId Source #

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

Instance details

Defined in Network.CiscoSpark.Types

type Rep OrganizationId Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep OrganizationId = D1 (MetaData "OrganizationId" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

newtype OrganizationDisplayName Source #

Display name of Organization

Instances
Eq OrganizationDisplayName Source # 
Instance details

Defined in Network.CiscoSpark.Types

Show OrganizationDisplayName Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic OrganizationDisplayName Source # 
Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type Rep OrganizationDisplayName :: Type -> Type #

ToJSON OrganizationDisplayName Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON OrganizationDisplayName Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep OrganizationDisplayName Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep OrganizationDisplayName = D1 (MetaData "OrganizationDisplayName" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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 Cisco Spark 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.CiscoSpark.Types

Methods

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

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

Show License Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON License Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON License Source #

License derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

SparkListItem License Source #

LicenseList wraps License

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToList License :: Type Source #

type ToList License Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

Show LicenseId Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic LicenseId Source # 
Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type Rep LicenseId :: Type -> Type #

ToJSON LicenseId Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON LicenseId Source # 
Instance details

Defined in Network.CiscoSpark.Types

SparkDetail LicenseId Source #

User can get detail of a license.

Instance details

Defined in Network.CiscoSpark.Types

SparkResponse LicenseId Source #

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

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse LicenseId :: Type Source #

SparkApiPath LicenseId Source #

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

Instance details

Defined in Network.CiscoSpark.Types

type Rep LicenseId Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep LicenseId = D1 (MetaData "LicenseId" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

newtype LicenseName Source #

Display name of License

Constructors

LicenseName Text 
Instances
Eq LicenseName Source # 
Instance details

Defined in Network.CiscoSpark.Types

Show LicenseName Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic LicenseName Source # 
Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type Rep LicenseName :: Type -> Type #

ToJSON LicenseName Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON LicenseName Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep LicenseName Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep LicenseName = D1 (MetaData "LicenseName" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

Show LicenseUnit Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic LicenseUnit Source # 
Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type Rep LicenseUnit :: Type -> Type #

ToJSON LicenseUnit Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON LicenseUnit Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep LicenseUnit Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep LicenseUnit = D1 (MetaData "LicenseUnit" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

Show LicenseList Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON LicenseList Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON LicenseList Source #

LicenseList derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

newtype LicenseFilter Source #

Optional query strings for license list API

Constructors

LicenseFilter 

Fields

Instances
Eq LicenseFilter Source # 
Instance details

Defined in Network.CiscoSpark.Types

Show LicenseFilter Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic LicenseFilter Source # 
Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type Rep LicenseFilter :: Type -> Type #

Default LicenseFilter Source # 
Instance details

Defined in Network.CiscoSpark.Types

Methods

def :: LicenseFilter #

SparkFilter LicenseFilter Source #

User can list licenses with filter parameter.

Instance details

Defined in Network.CiscoSpark.Types

SparkResponse LicenseFilter Source #

List licenses API uses LicenseFilter and responses License.

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse LicenseFilter :: Type Source #

SparkApiPath LicenseFilter Source #

List licenses API uses LicenseFilter and path "licenses".

Instance details

Defined in Network.CiscoSpark.Types

type Rep LicenseFilter Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep LicenseFilter = D1 (MetaData "LicenseFilter" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.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.CiscoSpark.Types

Methods

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

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

Show Role Source # 
Instance details

Defined in Network.CiscoSpark.Types

Methods

showsPrec :: Int -> Role -> ShowS #

show :: Role -> String #

showList :: [Role] -> ShowS #

ToJSON Role Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON Role Source #

Role derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

SparkListItem Role Source #

RoleList wraps Role

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToList Role :: Type Source #

Methods

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

type ToList Role Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

Methods

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

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

Show RoleId Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic RoleId Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

FromJSON RoleId Source # 
Instance details

Defined in Network.CiscoSpark.Types

SparkDetail RoleId Source #

User can get detail of a role.

Instance details

Defined in Network.CiscoSpark.Types

Methods

toIdStr :: RoleId -> Text Source #

SparkResponse RoleId Source #

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

Instance details

Defined in Network.CiscoSpark.Types

Associated Types

type ToResponse RoleId :: Type Source #

SparkApiPath RoleId Source #

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

Instance details

Defined in Network.CiscoSpark.Types

type Rep RoleId Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep RoleId = D1 (MetaData "RoleId" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

newtype RoleName Source #

Name of Role.

Constructors

RoleName Text 
Instances
Eq RoleName Source # 
Instance details

Defined in Network.CiscoSpark.Types

Show RoleName Source # 
Instance details

Defined in Network.CiscoSpark.Types

Generic RoleName Source # 
Instance details

Defined in Network.CiscoSpark.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.CiscoSpark.Types

FromJSON RoleName Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep RoleName Source # 
Instance details

Defined in Network.CiscoSpark.Types

type Rep RoleName = D1 (MetaData "RoleName" "Network.CiscoSpark.Types" "cisco-spark-api-0.1.0.4-7N32BESAftiBRSGVOsHhQ" 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.CiscoSpark.Types

Show RoleList Source # 
Instance details

Defined in Network.CiscoSpark.Types

ToJSON RoleList Source # 
Instance details

Defined in Network.CiscoSpark.Types

FromJSON RoleList Source #

RoleList derives ToJSON and FromJSON via deriveJSON template haskell function.

Instance details

Defined in Network.CiscoSpark.Types

Functions

Getting detail of an entity

getDetail Source #

Arguments

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

Authorization string against Spark API.

-> CiscoSparkRequest

Predefined part of Request commonly used for Cisco Spark API.

-> key

One of PersonId, RoomId, MembershipId, MessageId, TeamId, TeamMembershipId, OrganizationId, LicenseId and RoleId.

-> m (Response (ToResponse key)) 

Get details of a Spark 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, SparkDetail key) => Authorization -> CiscoSparkRequest -> key -> m (Response (Either JSONException (ToResponse key))) Source #

Get details of a Spark entity. A Left value will be returned on an JSON parse errors.

Streaming response of List API with auto pagenation

streamEntityWithFilter :: (MonadIO m, SparkFilter filter, SparkListItem (ToResponse filter)) => Authorization -> CiscoSparkRequest -> filter -> ConduitT () (ToResponse filter) m () Source #

Get list of entities with query parameter and stream it into Conduit pipe. It automatically performs pagination.

streamTeamList :: MonadIO m => Authorization -> CiscoSparkRequest -> ConduitT () Team m () Source #

List of Team and stream it into Conduit pipe. It automatically performs pagination.

streamOrganizationList :: MonadIO m => Authorization -> CiscoSparkRequest -> ConduitT () Organization m () Source #

Filter list of Organization and stream it into Conduit pipe. It automatically performs pagination.

streamRoleList :: MonadIO m => Authorization -> CiscoSparkRequest -> ConduitT () Role m () Source #

List of Role and stream it into Conduit pipe. It automatically performs pagination.

Creating an entity

createEntity Source #

Arguments

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

Authorization string against Spark API.

-> CiscoSparkRequest

Predefined part of Request commonly used for Cisco Spark API.

-> createParams

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

-> m (Response (ToResponse createParams)) 

Create a Spark entity with given parameters.

Creating a new entity of Spark 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, SparkCreate createParams) => Authorization -> CiscoSparkRequest -> createParams -> m (Response (Either JSONException (ToResponse createParams))) Source #

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

Updating an entity

updateEntity Source #

Arguments

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

Authorization string against Spark API.

-> CiscoSparkRequest

Predefined part of Request commonly used for Cisco Spark API.

-> updateParams

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

-> m (Response (ToResponse updateParams)) 

Update a Spark entity with given parameters.

Creating a new entity of Spark 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, SparkUpdate updateParams) => Authorization -> CiscoSparkRequest -> updateParams -> m (Response (Either JSONException (ToResponse updateParams))) Source #

Update a Spark 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 Spark API.

-> CiscoSparkRequest

Predefined part of Request commonly used for Cisco Spark 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 Spark API.

-> CiscoSparkRequest

Predefined part of Request commonly used for Cisco Spark 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 Spark API.

-> CiscoSparkRequest

Predefined part of Request commonly used for Cisco Spark 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 Spark API.

-> CiscoSparkRequest

Predefined part of Request commonly used for Cisco Spark 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 Spark API.

-> CiscoSparkRequest

Predefined part of Request commonly used for Cisco Spark API.

-> TeamMembershipId

Identifier of a space to be deleted.

-> m (Response ()) 

Deletes a teamMembership, by ID.