| Copyright | (c) Naoto Shimazaki 2017 |
|---|---|
| License | MIT (see the file LICENSE) |
| Maintainer | https://github.com/nshimaza |
| Stability | experimental |
| Safe Haskell | None |
| Language | Haskell2010 |
Network.CiscoSpark.Types
Description
This module defines most of types and records used in cisco-spark-api package. Records used for REST communications are designed to be converted from / to JSON using Aeson package. Those records are also designed to allow create lenses by Control.Lens.TH.makeFields.
Following example creates overloaded accessors for Person, Room and Team.
makeFields ''Person makeFields ''Room makeFields ''Team
You can access personId, roomId and teamId via overloaded accessor function id like this.
let yourPersonId = yourPerson ^. id
yourRoomId = yourRoom ^. id
yourTeamId = yourTeam ^. id
This package doesn't pre-generate those lenses for you because it is so easy. Please create them by yourself as needed.
- peoplePath :: ByteString
- roomsPath :: ByteString
- membershipsPath :: ByteString
- messagesPath :: ByteString
- teamsPath :: ByteString
- teamMembershipsPath :: ByteString
- organizationsPath :: ByteString
- licensesPath :: ByteString
- rolesPath :: ByteString
- webhooksPath :: ByteString
- class FromJSON (ToList i) => SparkListItem i where
- class SparkApiPath a where
- class FromJSON (ToResponse a) => SparkResponse a where
- type ToResponse a :: *
- class (SparkApiPath a, SparkResponse a) => SparkDetail a where
- class (SparkApiPath a, SparkResponse a) => SparkFilter a where
- class (SparkApiPath a, SparkResponse a, ToJSON a) => SparkCreate a
- class (SparkApiPath a, SparkResponse a, ToJSON a) => SparkUpdate a
- newtype Timestamp = Timestamp Text
- newtype ErrorCode = ErrorCode Text
- data ErrorTitle = ErrorTitle {}
- newtype Errors = Errors {}
- newtype PersonId = PersonId Text
- newtype Email = Email Text
- newtype DisplayName = DisplayName Text
- newtype NickName = NickName Text
- newtype FirstName = FirstName Text
- newtype LastName = LastName Text
- newtype AvatarUrl = AvatarUrl Text
- newtype OrganizationId = OrganizationId Text
- newtype RoleId = RoleId Text
- newtype LicenseId = LicenseId Text
- newtype Timezone = Timezone Text
- data PersonStatus
- data PersonType
- data Person = Person {
- personId :: PersonId
- personErrors :: Maybe Errors
- personEmails :: Maybe [Email]
- personDisplayName :: Maybe DisplayName
- personNickName :: Maybe NickName
- personFirstName :: Maybe FirstName
- personLastName :: Maybe LastName
- personAvatar :: Maybe AvatarUrl
- personOrgId :: Maybe OrganizationId
- personRoles :: Maybe [RoleId]
- personLicenses :: Maybe [LicenseId]
- personCreated :: Maybe Timestamp
- personTimezone :: Maybe Timezone
- personLastActivity :: Maybe Timestamp
- personStatus :: Maybe PersonStatus
- personInvitePending :: Maybe Bool
- personLoginEnabled :: Maybe Bool
- personType :: Maybe PersonType
- newtype PersonList = PersonList {
- personListItems :: [Person]
- data PersonFilter = PersonFilter {}
- data CreatePerson = CreatePerson {
- createPersonEmails :: Maybe [Email]
- createPersonDisplayName :: Maybe DisplayName
- createPersonFirstName :: Maybe FirstName
- createPersonLastName :: Maybe LastName
- createPersonAvatar :: Maybe AvatarUrl
- createPersonOrgId :: Maybe OrganizationId
- createPersonRoles :: Maybe [RoleId]
- createPersonLicenses :: Maybe [LicenseId]
- data UpdatePerson = UpdatePerson {}
- newtype TeamId = TeamId Text
- newtype TeamName = TeamName Text
- data Team = Team {}
- newtype TeamList = TeamList {
- teamListItems :: [Team]
- newtype CreateTeam = CreateTeam {}
- newtype UpdateTeam = UpdateTeam {}
- newtype TeamMembershipId = TeamMembershipId Text
- data TeamMembership = TeamMembership {
- teamMembershipId :: TeamMembershipId
- teamMembershipErrors :: Maybe Errors
- teamMembershipTeamId :: Maybe TeamId
- teamMembershipPersonId :: Maybe PersonId
- teamMembershipPersonEmail :: Maybe Email
- teamMembershipPersonDisplayName :: Maybe DisplayName
- teamMembershipPersonOrgId :: Maybe OrganizationId
- teamMembershipIsModerator :: Maybe Bool
- teamMembershipCreated :: Maybe Timestamp
- newtype TeamMembershipList = TeamMembershipList {}
- newtype TeamMembershipFilter = TeamMembershipFilter {}
- defaultTeamMembershipFilter :: TeamId -> TeamMembershipFilter
- data CreateTeamMembership = CreateTeamMembership {}
- newtype UpdateTeamMembership = UpdateTeamMembership {}
- newtype RoomId = RoomId Text
- newtype RoomTitle = RoomTitle Text
- newtype SipAddr = SipAddr Text
- data RoomType
- data Room = Room {}
- newtype RoomList = RoomList {
- roomListItems :: [Room]
- data RoomFilterSortBy
- data RoomFilter = RoomFilter {}
- roomTypeToFilterString :: RoomType -> ByteString
- roomFilterSortByToFilterString :: RoomFilterSortBy -> ByteString
- data CreateRoom = CreateRoom {}
- newtype UpdateRoom = UpdateRoom {}
- newtype MembershipId = MembershipId Text
- data Membership = Membership {
- membershipId :: MembershipId
- membershipErrors :: Maybe Errors
- membershipRoomId :: Maybe RoomId
- membershipPersonId :: Maybe PersonId
- membershipPersonEmail :: Maybe Email
- membershipPersonDisplayName :: Maybe DisplayName
- membershipPersonOrgId :: Maybe OrganizationId
- membershipIsModerator :: Maybe Bool
- membershipIsMonitor :: Maybe Bool
- membershipCreated :: Maybe Timestamp
- newtype MembershipList = MembershipList {}
- data MembershipFilter = MembershipFilter {}
- data CreateMembership = CreateMembership {}
- newtype UpdateMembership = UpdateMembership {}
- newtype MessageId = MessageId Text
- newtype MessageText = MessageText Text
- newtype MessageHtml = MessageHtml Text
- newtype MessageMarkdown = MessageMarkdown Text
- newtype FileUrl = FileUrl Text
- data Message = Message {
- messageId :: MessageId
- messageErrors :: Maybe Errors
- messageRoomId :: Maybe RoomId
- messageRoomType :: Maybe RoomType
- messageToPersonId :: Maybe PersonId
- messageToPersonEmail :: Maybe Email
- messageText :: Maybe MessageText
- messageHtml :: Maybe MessageHtml
- messageFiles :: Maybe [FileUrl]
- messagePersonId :: Maybe PersonId
- messagePersonEmail :: Maybe Email
- messageCreated :: Maybe Timestamp
- messageMentionedPeople :: Maybe [PersonId]
- newtype MessageList = MessageList {
- messageListItems :: [Message]
- data MentionedPeople
- data MessageFilter = MessageFilter {}
- defaultMessageFilter :: RoomId -> MessageFilter
- mentionedPeopleToFilterString :: MentionedPeople -> ByteString
- data CreateMessage = CreateMessage {}
- newtype OrganizationDisplayName = OrganizationDisplayName Text
- data Organization = Organization {}
- newtype OrganizationList = OrganizationList {}
- newtype LicenseName = LicenseName Text
- newtype LicenseUnit = LicenseUnit Integer
- data License = License {}
- newtype LicenseList = LicenseList {
- licenseListItems :: [License]
- newtype LicenseFilter = LicenseFilter {}
- newtype RoleName = RoleName Text
- data Role = Role {}
- newtype RoleList = RoleList {
- roleListItems :: [Role]
- newtype WebhookId = WebhookId Text
- newtype WebhookName = WebhookName Text
- newtype WebhookUrl = WebhookUrl Text
- newtype WebhookFilter = WebhookFilter Text
- newtype WebhookSecret = WebhookSecret Text
- data WebhookResource
- data WebhookEvent
- data Webhook = Webhook {}
- newtype WebhookList = WebhookList {
- webhookListItems :: [Webhook]
- data CreateWebhook = CreateWebhook {}
- data UpdateWebhook = UpdateWebhook {}
- data WebhookMembershipFilter = WebhookMembershipFilter {}
- data WebhookMessageFilter = WebhookMessageFilter {}
- data WebhookRoomFilter = WebhookRoomFilter {}
- newtype AppId = AppId Text
- data WebhookNotifyOwnedBy
- data WebhookNotifyStatus
- data WebhookNotify = WebhookNotify {
- webhookNotifyId :: WebhookId
- webhookNotifyName :: WebhookName
- webhookNotifyResource :: WebhookResource
- webhookNotifyEvent :: WebhookEvent
- webhookNotifyFilter :: WebhookFilter
- webhookNotifyOrgId :: Organization
- webhookNotifyCreatedBy :: PersonId
- webhookNotifyAppId :: AppId
- webhookNotifyOwnedBy :: WebhookNotifyOwnedBy
- webhookNotifyStatus :: WebhookNotifyStatus
- webhookNotifyActorId :: PersonId
- newtype WebhookNotifyMembership = WebhookNotifyMembership {}
- newtype WebhookNotifyMessage = WebhookNotifyMessage {}
- newtype WebhookNotifyRoom = WebhookNotifyRoom {}
Documentation
URL path for people API.
roomsPath :: ByteString #
URL path for rooms API.
membershipsPath :: ByteString #
URL path for memberships API.
URL path for messages API.
teamsPath :: ByteString #
URL path for teams API.
teamMembershipsPath :: ByteString #
URL path for team memberships API.
organizationsPath :: ByteString #
URL path for organizations API.
URL path for licenes API.
rolesPath :: ByteString #
URL path for roles API.
URL path for webhooks API.
class FromJSON (ToList i) => SparkListItem i where #
SparkListItem 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.
SparkListItem 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
Methods
Get bare list from wrapped type which can be parsed directly from JSON.
Instances
class SparkApiPath a where #
Type class for getting URL path of API category from given type of value.
Minimal complete definition
Methods
apiPath :: a -> ByteString #
Instances
| SparkApiPath LicenseId # | Get detail for license API uses |
| SparkApiPath RoleId # | Get detail for role API uses |
| SparkApiPath OrganizationId # | Get detail for organization API uses |
| SparkApiPath PersonId # | Get detail for a person API uses |
| SparkApiPath CreatePerson # | Create person API uses |
| SparkApiPath PersonFilter # | List people API uses |
| SparkApiPath UpdatePerson # | Update person API uses |
| SparkApiPath TeamId # | Get detail for a team API uses |
| SparkApiPath CreateTeam # | Create team API uses |
| SparkApiPath UpdateTeam # | Update team API uses |
| SparkApiPath TeamMembershipId # | Get detail for a team membership API uses |
| SparkApiPath CreateTeamMembership # | Create teamMembership API uses |
| SparkApiPath TeamMembershipFilter # | List team memberships API uses |
| SparkApiPath UpdateTeamMembership # | Update teamMembership API uses |
| SparkApiPath RoomId # | Get detail for a room API uses |
| SparkApiPath CreateRoom # | Create room API uses |
| SparkApiPath RoomFilter # | List rooms API uses |
| SparkApiPath UpdateRoom # | Update room API uses |
| SparkApiPath MembershipId # | Get detail for a membership API uses |
| SparkApiPath CreateMembership # | Create membership API uses |
| SparkApiPath MembershipFilter # | List memberships API uses |
| SparkApiPath UpdateMembership # | Update membership API uses |
| SparkApiPath MessageId # | Get detail for message API uses |
| SparkApiPath CreateMessage # | Create message API uses |
| SparkApiPath MessageFilter # | List messages API uses |
| SparkApiPath LicenseFilter # | List licenses API uses |
| SparkApiPath WebhookId # | Get detail for webhook API uses |
| SparkApiPath CreateWebhook # | Create webhook API uses |
| SparkApiPath UpdateWebhook # | Update webhook API uses |
| SparkApiPath WebhookRoomFilter # | Create webhook API accepts |
| SparkApiPath WebhookMessageFilter # | Create webhook API accepts |
| SparkApiPath WebhookMembershipFilter # | Create webhook API accepts |
class FromJSON (ToResponse a) => SparkResponse a #
Type family to associate a type appears in an argument to response type.
Associated Types
type ToResponse a :: * #
Instances
| SparkResponse LicenseId # | Get detail for a license API uses "LicenseId' and responses |
| SparkResponse RoleId # | Get detail for a role API uses "RoleId' and responses |
| SparkResponse OrganizationId # | Get detail for a organization API uses "OrganizationId' and responses |
| SparkResponse PersonId # | Get detail for a person API uses "PersonId' and responses |
| SparkResponse CreatePerson # | Create person API uses "CreatePerson' and responses |
| SparkResponse PersonFilter # | List people API uses |
| SparkResponse UpdatePerson # | Update person API uses "UpdatePerson' and responses |
| SparkResponse TeamId # | Get detail for a team API uses "TeamId' and responses |
| SparkResponse CreateTeam # | Create team API uses "CreateTeam' and responses |
| SparkResponse UpdateTeam # | Update team API uses "UpdateTeam' and responses |
| SparkResponse TeamMembershipId # | Get detail for a team membership API uses "TeamMembershipId' and responses |
| SparkResponse CreateTeamMembership # | Create teamMembership API uses "CreateTeamMembership' and responses |
| SparkResponse TeamMembershipFilter # | List team memberships API uses |
| SparkResponse UpdateTeamMembership # | Update teamMembership API uses "UpdateTeamMembership' and responses |
| SparkResponse RoomId # | Get detail for a room API uses "RoomId' and responses |
| SparkResponse CreateRoom # | Create room API uses "CreateRoom' and responses |
| SparkResponse RoomFilter # | List rooms API uses |
| SparkResponse UpdateRoom # | Update room API uses "UpdateRoom' and responses |
| SparkResponse MembershipId # | Get detail for a membership API uses "MembershipId' and responses |
| SparkResponse CreateMembership # | Create membership API uses "CreateMembership' and responses |
| SparkResponse MembershipFilter # | List memberships API uses |
| SparkResponse UpdateMembership # | Update membership API uses "UpdateMembership' and responses |
| SparkResponse MessageId # | Get detail for a message API uses "MessageId' and responses |
| SparkResponse CreateMessage # | Create message API uses "CreateMessage' and responses |
| SparkResponse MessageFilter # | List messages API uses |
| SparkResponse LicenseFilter # | List licenses API uses |
| SparkResponse WebhookId # | Get detail for a webhook API uses "WebhookId' and responses |
| SparkResponse CreateWebhook # | Create webhook API uses "CreateWebhook' and responses |
| SparkResponse UpdateWebhook # | Update webhook API uses "UpdateWebhook' and responses |
| SparkResponse WebhookRoomFilter # | List team memberships API accepts |
| SparkResponse WebhookMessageFilter # | List team memberships API accepts |
| SparkResponse WebhookMembershipFilter # | List team memberships API accepts |
class (SparkApiPath a, SparkResponse a) => SparkDetail a where #
Extract containing entity ID string from given type of value.
Minimal complete definition
Instances
| SparkDetail LicenseId # | User can get detail of a license. |
| SparkDetail RoleId # | User can get detail of a role. |
| SparkDetail OrganizationId # | User can get detail of a organization. |
| SparkDetail PersonId # | User can get detail of a person. |
| SparkDetail TeamId # | User can get detail of a team. |
| SparkDetail TeamMembershipId # | User can get detail of a team membership. |
| SparkDetail RoomId # | User can get detail of a room. |
| SparkDetail MembershipId # | User can get detail of a membership. |
| SparkDetail MessageId # | User can get detail of a message. |
| SparkDetail WebhookId # | User can get detail of a webhook. |
class (SparkApiPath a, SparkResponse a) => SparkFilter a where #
Convert given filter condition parameter in a concrete type to HTTP query strings.
Minimal complete definition
Methods
toFilterList :: a -> [(ByteString, Maybe ByteString)] #
Instances
| SparkFilter PersonFilter # | User can list people with filter parameter. |
| SparkFilter TeamMembershipFilter # | User can list team membership with filter parameter. |
| SparkFilter RoomFilter # | User can list rooms with filter parameter. |
| SparkFilter MembershipFilter # | User can list memberships with filter parameter. |
| SparkFilter MessageFilter # | User can list messages with filter parameter. |
| SparkFilter LicenseFilter # | User can list licenses with filter parameter. |
| SparkFilter WebhookRoomFilter # | User can filter Webhook events from room. |
| SparkFilter WebhookMessageFilter # | User can filter Webhook events from message. |
| SparkFilter WebhookMembershipFilter # | User can filter Webhook events from membership. |
class (SparkApiPath a, SparkResponse a, ToJSON a) => SparkCreate a #
Type class for parameter type for create entity API.
Instances
| SparkCreate CreatePerson # | User can create a person. |
| SparkCreate CreateTeam # | User can create a team. |
| SparkCreate CreateTeamMembership # | User can create a teamMembership. |
| SparkCreate CreateRoom # | User can create a room. |
| SparkCreate CreateMembership # | User can create a membership. |
| SparkCreate CreateMessage # | User can create a message. |
| SparkCreate CreateWebhook # | User can create a webhook. |
class (SparkApiPath a, SparkResponse a, ToJSON a) => SparkUpdate a #
Type class for parameter type for update entity API.
Instances
| SparkUpdate UpdatePerson # | User can update a person. |
| SparkUpdate UpdateTeam # | User can update a team. |
| SparkUpdate UpdateTeamMembership # | User can update a teamMembership. |
| SparkUpdate UpdateRoom # | User can update a room. |
| SparkUpdate UpdateMembership # | User can update a membership. |
| SparkUpdate UpdateWebhook # | User can update a webhook. |
Type representing timestamp. For now, it is just copied from API response JSON.
Error code for element level error potentially contained in List API responses.
data ErrorTitle #
ErrorTitle represent concrete error code and reason. It appears in Errors.
Constructors
| ErrorTitle | |
Fields
| |
Instances
| Eq ErrorTitle # | |
| Show ErrorTitle # | |
| ToJSON ErrorTitle # | |
| FromJSON ErrorTitle # |
|
Errors is used for element level error in List API.
When list API failed to retrieve an element, it returns this object for the element
and response API status as successful instead of failing entire API request.
Refer to API Document for more detail.
Constructors
| Errors | |
Fields | |
Identifying Person describing detail of Cisco Spark user or bot.
Instances
| Eq PersonId # | |
| Show PersonId # | |
| Generic PersonId # | |
| ToJSON PersonId # | |
| FromJSON PersonId # | |
| SparkDetail PersonId # | User can get detail of a person. |
| SparkResponse PersonId # | Get detail for a person API uses "PersonId' and responses |
| SparkApiPath PersonId # | Get detail for a person API uses |
| type Rep PersonId # | |
| type ToResponse PersonId # | |
Email address of user.
Nickname of user.
First name of user.
Last name of user.
URL pointing to image file of Avatar.
newtype OrganizationId #
Organization identifier which user or team belongs to.
Constructors
| OrganizationId Text |
Instances
| Eq OrganizationId # | |
| Show OrganizationId # | |
| Generic OrganizationId # | |
| ToJSON OrganizationId # | |
| FromJSON OrganizationId # | |
| SparkDetail OrganizationId # | User can get detail of a organization. |
| SparkResponse OrganizationId # | Get detail for a organization API uses "OrganizationId' and responses |
| SparkApiPath OrganizationId # | Get detail for organization API uses |
| type Rep OrganizationId # | |
| type ToResponse OrganizationId # | |
Instances
| Eq RoleId # | |
| Show RoleId # | |
| Generic RoleId # | |
| ToJSON RoleId # | |
| FromJSON RoleId # | |
| SparkDetail RoleId # | User can get detail of a role. |
| SparkResponse RoleId # | Get detail for a role API uses "RoleId' and responses |
| SparkApiPath RoleId # | Get detail for role API uses |
| type Rep RoleId # | |
| type ToResponse RoleId # | |
Instances
| Eq LicenseId # | |
| Show LicenseId # | |
| Generic LicenseId # | |
| ToJSON LicenseId # | |
| FromJSON LicenseId # | |
| SparkDetail LicenseId # | User can get detail of a license. |
| SparkResponse LicenseId # | Get detail for a license API uses "LicenseId' and responses |
| SparkApiPath LicenseId # | Get detail for license API uses |
| type Rep LicenseId # | |
| type ToResponse LicenseId # | |
Timezone in timezone name.
data PersonStatus #
Current status of Person.
It can be updated automatically by recent activity or explicitly updated by user's operation
or propagated from vacation setting on email system.
Constructors
| PersonStatusActive | The |
| PersonStatusInactive | The |
| PersonStatusOutOfOffice | Email system of the |
| PersonStatusDoNotDisturb | The |
| PersonStatusUnknown | The status of the |
Instances
| Eq PersonStatus # | |
| Show PersonStatus # | |
| Generic PersonStatus # | |
| ToJSON PersonStatus # |
|
| FromJSON PersonStatus # |
|
| type Rep PersonStatus # | |
data PersonType #
PersonType indicates whether the Person is real human or bot.
Constructors
| PersonTypePerson | The |
| PersonTypeBot | The |
Instances
| Eq PersonType # | |
| Show PersonType # | |
| ToJSON PersonType # | |
| FromJSON PersonType # |
|
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
| |
newtype PersonList #
PersonList is decoded from response JSON of List People REST call. It is list of Person.
Constructors
| PersonList | |
Fields
| |
Instances
| Eq PersonList # | |
| Show PersonList # | |
| ToJSON PersonList # | |
| FromJSON PersonList # |
|
data PersonFilter #
Optional query strings for people list API.
Constructors
| PersonFilter | |
Fields
| |
Instances
| Eq PersonFilter # | |
| Show PersonFilter # | |
| Generic PersonFilter # | |
| Default PersonFilter # | |
| SparkFilter PersonFilter # | User can list people with filter parameter. |
| SparkResponse PersonFilter # | List people API uses |
| SparkApiPath PersonFilter # | List people API uses |
| type Rep PersonFilter # | |
| type ToResponse PersonFilter # | |
data CreatePerson #
CreatePerson is encoded to request body JSON of Create a Person REST call.
Constructors
| CreatePerson | |
Fields
| |
Instances
| Eq CreatePerson # | |
| Show CreatePerson # | |
| ToJSON CreatePerson # | |
| FromJSON CreatePerson # |
|
| SparkCreate CreatePerson # | User can create a person. |
| SparkResponse CreatePerson # | Create person API uses "CreatePerson' and responses |
| SparkApiPath CreatePerson # | Create person API uses |
| type ToResponse CreatePerson # | |
data UpdatePerson #
UpdatePerson is encoded to request body JSON of Update a Person REST call.
Constructors
| UpdatePerson | |
Fields
| |
Instances
| Eq UpdatePerson # | |
| Show UpdatePerson # | |
| ToJSON UpdatePerson # | |
| FromJSON UpdatePerson # |
|
| SparkUpdate UpdatePerson # | User can update a person. |
| SparkResponse UpdatePerson # | Update person API uses "UpdatePerson' and responses |
| SparkApiPath UpdatePerson # | Update person API uses |
| type ToResponse UpdatePerson # | |
Identifying Team.
Instances
| Eq TeamId # | |
| Show TeamId # | |
| Generic TeamId # | |
| ToJSON TeamId # | |
| FromJSON TeamId # | |
| SparkDetail TeamId # | User can get detail of a team. |
| SparkResponse TeamId # | Get detail for a team API uses "TeamId' and responses |
| SparkApiPath TeamId # | Get detail for a team API uses |
| type Rep TeamId # | |
| type ToResponse TeamId # | |
Name of Team
Team is group of Person and group of Room.
A Person can belong to multiple Team but a Room can belong to at most one Team.
Team is decoded from response JSON of Get Team Details REST call.
It is also element type of response of List Teams call.
Constructors
| Team | |
Fields
| |
Constructors
| TeamList | |
Fields
| |
newtype CreateTeam #
CreateTeam is encoded to request body JSON of Create a Team REST call.
Constructors
| CreateTeam | |
Fields | |
Instances
| Eq CreateTeam # | |
| Show CreateTeam # | |
| ToJSON CreateTeam # | |
| FromJSON CreateTeam # |
|
| SparkCreate CreateTeam # | User can create a team. |
| SparkResponse CreateTeam # | Create team API uses "CreateTeam' and responses |
| SparkApiPath CreateTeam # | Create team API uses |
| type ToResponse CreateTeam # | |
newtype UpdateTeam #
UpdateTeam is encoded to request body JSON of Update a Team REST call.
Constructors
| UpdateTeam | |
Fields | |
Instances
| Eq UpdateTeam # | |
| Show UpdateTeam # | |
| ToJSON UpdateTeam # | |
| FromJSON UpdateTeam # |
|
| SparkUpdate UpdateTeam # | User can update a team. |
| SparkResponse UpdateTeam # | Update team API uses "UpdateTeam' and responses |
| SparkApiPath UpdateTeam # | Update team API uses |
| type ToResponse UpdateTeam # | |
newtype TeamMembershipId #
Identifying TeamMembership.
Constructors
| TeamMembershipId Text |
Instances
| Eq TeamMembershipId # | |
| Show TeamMembershipId # | |
| Generic TeamMembershipId # | |
| ToJSON TeamMembershipId # | |
| FromJSON TeamMembershipId # | |
| SparkDetail TeamMembershipId # | User can get detail of a team membership. |
| SparkResponse TeamMembershipId # | Get detail for a team membership API uses "TeamMembershipId' and responses |
| SparkApiPath TeamMembershipId # | Get detail for a team membership API uses |
| type Rep TeamMembershipId # | |
| type ToResponse TeamMembershipId # | |
data TeamMembership #
TeamMembership is association between Team and Person.
It can be N:N relation. A Person can belong to multiple Team.
TeamMembership is decoded from response JSON of Get Team Membership Details REST call.
It is also element type of response of List Team Memberships call.
Constructors
| TeamMembership | |
Fields
| |
Instances
| Eq TeamMembership # | |
| Show TeamMembership # | |
| ToJSON TeamMembership # | |
| FromJSON TeamMembership # |
|
| SparkListItem TeamMembership # | |
| type ToList TeamMembership # | |
newtype TeamMembershipList #
TeamMembershipList is decoded from response JSON of List Team Memberships REST call. It is list of TeamMembership.
Constructors
| TeamMembershipList | |
Fields | |
Instances
| Eq TeamMembershipList # | |
| Show TeamMembershipList # | |
| ToJSON TeamMembershipList # | |
| FromJSON TeamMembershipList # |
|
newtype TeamMembershipFilter #
Optional query strings for team membership list API
Constructors
| TeamMembershipFilter | |
Fields
| |
Instances
| Eq TeamMembershipFilter # | |
| Show TeamMembershipFilter # | |
| SparkFilter TeamMembershipFilter # | User can list team membership with filter parameter. |
| SparkResponse TeamMembershipFilter # | List team memberships API uses |
| SparkApiPath TeamMembershipFilter # | List team memberships API uses |
| type ToResponse TeamMembershipFilter # | |
defaultTeamMembershipFilter :: TeamId -> TeamMembershipFilter #
Default value of query strings for team membership list API.
Because TeamId is mandatory, user have to supply it in order to get rest of defaults.
As of writing, there is no filter parameter other than TeamId but TeamMembershipFilter is
used for providing consistent API like streamEntityWithFilter.
data CreateTeamMembership #
CreateTeamMembership is encoded to request body JSON of Create a Team Membership REST call.
Constructors
| CreateTeamMembership | |
Fields
| |
Instances
| Eq CreateTeamMembership # | |
| Show CreateTeamMembership # | |
| ToJSON CreateTeamMembership # | |
| FromJSON CreateTeamMembership # |
|
| SparkCreate CreateTeamMembership # | User can create a teamMembership. |
| SparkResponse CreateTeamMembership # | Create teamMembership API uses "CreateTeamMembership' and responses |
| SparkApiPath CreateTeamMembership # | Create teamMembership API uses |
| type ToResponse CreateTeamMembership # | |
newtype UpdateTeamMembership #
UpdateTeamMembership is encoded to request body JSON of Update a Team Membership REST call.
Constructors
| UpdateTeamMembership | |
Fields | |
Instances
| Eq UpdateTeamMembership # | |
| Show UpdateTeamMembership # | |
| ToJSON UpdateTeamMembership # | |
| FromJSON UpdateTeamMembership # |
|
| SparkUpdate UpdateTeamMembership # | User can update a teamMembership. |
| SparkResponse UpdateTeamMembership # | Update teamMembership API uses "UpdateTeamMembership' and responses |
| SparkApiPath UpdateTeamMembership # | Update teamMembership API uses |
| type ToResponse UpdateTeamMembership # | |
Identifying Room.
Instances
| Eq RoomId # | |
| Show RoomId # | |
| Generic RoomId # | |
| ToJSON RoomId # | |
| FromJSON RoomId # | |
| SparkDetail RoomId # | User can get detail of a room. |
| SparkResponse RoomId # | Get detail for a room API uses "RoomId' and responses |
| SparkApiPath RoomId # | Get detail for a room API uses |
| type Rep RoomId # | |
| type ToResponse RoomId # | |
Title text of Room.
SIP address.
Constructors
| RoomTypeDirect | The Room is for 1:1. Decoded from "direct". |
| RoomTypeGroup | The Room is for group. Decoded from "group". |
Room is communication space in 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
| |
Constructors
| RoomList | |
Fields
| |
data RoomFilter #
Optional query strings for room list API
Constructors
| RoomFilter | |
Fields
| |
Instances
| Eq RoomFilter # | |
| Show RoomFilter # | |
| Generic RoomFilter # | |
| Default RoomFilter # | |
| SparkFilter RoomFilter # | User can list rooms with filter parameter. |
| SparkResponse RoomFilter # | List rooms API uses |
| SparkApiPath RoomFilter # | List rooms API uses |
| type Rep RoomFilter # | |
| type ToResponse RoomFilter # | |
roomTypeToFilterString :: RoomType -> ByteString #
Sum type to ByteString converter for RoomType.
roomFilterSortByToFilterString :: RoomFilterSortBy -> ByteString #
Sum type to ByteString converter for RoomFilterSortBy.
data CreateRoom #
CreateRoom is encoded to request body JSON of Create a Room REST call.
Constructors
| CreateRoom | |
Fields
| |
Instances
| Eq CreateRoom # | |
| Show CreateRoom # | |
| ToJSON CreateRoom # | |
| FromJSON CreateRoom # |
|
| SparkCreate CreateRoom # | User can create a room. |
| SparkResponse CreateRoom # | Create room API uses "CreateRoom' and responses |
| SparkApiPath CreateRoom # | Create room API uses |
| type ToResponse CreateRoom # | |
newtype UpdateRoom #
UpdateRoom is encoded to request body JSON of Update a Room REST call.
Constructors
| UpdateRoom | |
Fields | |
Instances
| Eq UpdateRoom # | |
| Show UpdateRoom # | |
| ToJSON UpdateRoom # | |
| FromJSON UpdateRoom # |
|
| SparkUpdate UpdateRoom # | User can update a room. |
| SparkResponse UpdateRoom # | Update room API uses "UpdateRoom' and responses |
| SparkApiPath UpdateRoom # | Update room API uses |
| type ToResponse UpdateRoom # | |
newtype MembershipId #
Identifying Membership.
Constructors
| MembershipId Text |
Instances
| Eq MembershipId # | |
| Show MembershipId # | |
| Generic MembershipId # | |
| ToJSON MembershipId # | |
| FromJSON MembershipId # | |
| SparkDetail MembershipId # | User can get detail of a membership. |
| SparkResponse MembershipId # | Get detail for a membership API uses "MembershipId' and responses |
| SparkApiPath MembershipId # | Get detail for a membership API uses |
| type Rep MembershipId # | |
| type ToResponse MembershipId # | |
data Membership #
Membership is association between Room and Person.
It can be N:N relation. A Person can belong to multiple Room.
Membership is decoded from response JSON of Get Membership Details REST call.
It is also element type of response of List Memberships call.
Constructors
| Membership | |
Fields
| |
Instances
| Eq Membership # | |
| Show Membership # | |
| ToJSON Membership # | |
| FromJSON Membership # |
|
| SparkListItem Membership # |
|
| type ToList Membership # | |
newtype MembershipList #
MembershipList is decoded from response JSON of List Memberships REST call. It is list of Membership.
Constructors
| MembershipList | |
Fields | |
Instances
| Eq MembershipList # | |
| Show MembershipList # | |
| ToJSON MembershipList # | |
| FromJSON MembershipList # |
|
data MembershipFilter #
Optional query strings for room membership list API
Constructors
| MembershipFilter | |
Fields
| |
Instances
| Eq MembershipFilter # | |
| Show MembershipFilter # | |
| Generic MembershipFilter # | |
| Default MembershipFilter # | |
| SparkFilter MembershipFilter # | User can list memberships with filter parameter. |
| SparkResponse MembershipFilter # | List memberships API uses |
| SparkApiPath MembershipFilter # | List memberships API uses |
| type Rep MembershipFilter # | |
| type ToResponse MembershipFilter # | |
data CreateMembership #
CreateMembership is encoded to request body JSON of Create a Membership REST call.
Constructors
| CreateMembership | |
Fields
| |
Instances
| Eq CreateMembership # | |
| Show CreateMembership # | |
| ToJSON CreateMembership # | |
| FromJSON CreateMembership # |
|
| SparkCreate CreateMembership # | User can create a membership. |
| SparkResponse CreateMembership # | Create membership API uses "CreateMembership' and responses |
| SparkApiPath CreateMembership # | Create membership API uses |
| type ToResponse CreateMembership # | |
newtype UpdateMembership #
UpdateMembership is encoded to request body JSON of Update a Membership REST call.
Constructors
| UpdateMembership | |
Fields | |
Instances
| Eq UpdateMembership # | |
| Show UpdateMembership # | |
| ToJSON UpdateMembership # | |
| FromJSON UpdateMembership # |
|
| SparkUpdate UpdateMembership # | User can update a membership. |
| SparkResponse UpdateMembership # | Update membership API uses "UpdateMembership' and responses |
| SparkApiPath UpdateMembership # | Update membership API uses |
| type ToResponse UpdateMembership # | |
Identifying Message.
Instances
| Eq MessageId # | |
| Show MessageId # | |
| Generic MessageId # | |
| ToJSON MessageId # | |
| FromJSON MessageId # | |
| SparkDetail MessageId # | User can get detail of a message. |
| SparkResponse MessageId # | Get detail for a message API uses "MessageId' and responses |
| SparkApiPath MessageId # | Get detail for message API uses |
| type Rep MessageId # | |
| type ToResponse MessageId # | |
URL pointing attached file of message.
Message is a message posted to a Room by some Person.
Room is decoded from response JSON of Get Message Details REST call.
It is also element type of response of List Messages call.
Constructors
| Message | |
Fields
| |
newtype MessageList #
MessageList is decoded from response JSON of List Messages REST call. It is list of Message.
Constructors
| MessageList | |
Fields
| |
Instances
| Eq MessageList # | |
| Show MessageList # | |
| ToJSON MessageList # | |
| FromJSON MessageList # |
|
data MentionedPeople #
Sum type for mentionedPeople query string. It can be "me" or PersonId.
Constructors
| MentionedPeopleMe | |
| MentionedPeople PersonId |
Instances
data MessageFilter #
Optional query strings for message list API
Constructors
| MessageFilter | |
Fields
| |
Instances
| Eq MessageFilter # | |
| Show MessageFilter # | |
| SparkFilter MessageFilter # | User can list messages with filter parameter. |
| SparkResponse MessageFilter # | List messages API uses |
| SparkApiPath MessageFilter # | List messages API uses |
| type ToResponse MessageFilter # | |
defaultMessageFilter :: RoomId -> MessageFilter #
Default value of query strings for message list API.
Because RoomId is mandatory, user have to supply it in order to get rest of defaults.
mentionedPeopleToFilterString :: MentionedPeople -> ByteString #
Sum type to ByteString converter for mentionedPeople query string.
data CreateMessage #
CreateMessage is encoded to request body JSON of Create a Message REST call.
Constructors
| CreateMessage | |
Fields
| |
Instances
| Eq CreateMessage # | |
| Show CreateMessage # | |
| ToJSON CreateMessage # | |
| FromJSON CreateMessage # |
|
| SparkCreate CreateMessage # | User can create a message. |
| SparkResponse CreateMessage # | Create message API uses "CreateMessage' and responses |
| SparkApiPath CreateMessage # | Create message API uses |
| type ToResponse CreateMessage # | |
newtype OrganizationDisplayName #
Display name of Organization
Constructors
| OrganizationDisplayName Text |
data Organization #
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
| |
Instances
| Eq Organization # | |
| Show Organization # | |
| ToJSON Organization # | |
| FromJSON Organization # |
|
| SparkListItem Organization # |
|
| type ToList Organization # | |
newtype OrganizationList #
OrganizationList is decoded from response JSON of List Organizations REST call. It is list of Organization.
Constructors
| OrganizationList | |
Fields | |
Instances
| Eq OrganizationList # | |
| Show OrganizationList # | |
| ToJSON OrganizationList # | |
| FromJSON OrganizationList # |
|
newtype LicenseUnit #
Counting number of granted or consumed License
Constructors
| LicenseUnit Integer |
Instances
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
| |
newtype LicenseList #
LicenseList is decoded from response JSON of List Licenses REST call. It is list of License.
Constructors
| LicenseList | |
Fields
| |
Instances
| Eq LicenseList # | |
| Show LicenseList # | |
| ToJSON LicenseList # | |
| FromJSON LicenseList # |
|
newtype LicenseFilter #
Optional query strings for license list API
Constructors
| LicenseFilter | |
Fields
| |
Instances
| Eq LicenseFilter # | |
| Show LicenseFilter # | |
| Generic LicenseFilter # | |
| Default LicenseFilter # | |
| SparkFilter LicenseFilter # | User can list licenses with filter parameter. |
| SparkResponse LicenseFilter # | List licenses API uses |
| SparkApiPath LicenseFilter # | List licenses API uses |
| type Rep LicenseFilter # | |
| type ToResponse LicenseFilter # | |
Name of Role.
A persona for an authenticated user, corresponding to a set of privileges within an organization. Role is decoded from response JSON of Get Role Details REST call. It is also element type of response of List Roles call.
Constructors
| Role | |
Constructors
| RoleList | |
Fields
| |
Instances
| Eq WebhookId # | |
| Show WebhookId # | |
| Generic WebhookId # | |
| ToJSON WebhookId # | |
| FromJSON WebhookId # | |
| SparkDetail WebhookId # | User can get detail of a webhook. |
| SparkResponse WebhookId # | Get detail for a webhook API uses "WebhookId' and responses |
| SparkApiPath WebhookId # | Get detail for webhook API uses |
| type Rep WebhookId # | |
| type ToResponse WebhookId # | |
newtype WebhookFilter #
URL-encoded set of webhook filtering criteria.
Constructors
| WebhookFilter Text |
Instances
newtype WebhookSecret #
Shared secret supplied by user to authenticate Spark Cloud by webhook receiver.
Constructors
| WebhookSecret Text |
Instances
data WebhookResource #
WebhookResource indicates source of event which triggered webhook access.
Constructors
| WebhookResourceAll | |
| WebhookResourceTeams | |
| WebhookResourceMemberships | |
| WebhookResourceMessages | |
| WebhookResourceRooms |
Instances
| Eq WebhookResource # | |
| Show WebhookResource # | |
| ToJSON WebhookResource # | |
| FromJSON WebhookResource # |
|
data WebhookEvent #
WebhookEvent indicates which event triggered Webhook access.
Instances
| Eq WebhookEvent # | |
| Show WebhookEvent # | |
| ToJSON WebhookEvent # | |
| FromJSON WebhookEvent # |
|
Webhook allow your app to be notified via HTTP when a specific event occurs on Spark. For example,
your app can register a webhook to be notified when a new message is posted into a specific room.
Constructors
| Webhook | |
Fields
| |
newtype WebhookList #
WebhookList is decoded from response JSON of List Webhook REST call. It is list of Webhook.
Constructors
| WebhookList | |
Fields
| |
Instances
| Eq WebhookList # | |
| Show WebhookList # | |
| ToJSON WebhookList # | |
| FromJSON WebhookList # |
|
data CreateWebhook #
CreateWebhook is encoded to request body JSON of Create a Webhook REST call.
Constructors
| CreateWebhook | |
Fields
| |
Instances
| Eq CreateWebhook # | |
| Show CreateWebhook # | |
| ToJSON CreateWebhook # | |
| FromJSON CreateWebhook # |
|
| SparkCreate CreateWebhook # | User can create a webhook. |
| SparkResponse CreateWebhook # | Create webhook API uses "CreateWebhook' and responses |
| SparkApiPath CreateWebhook # | Create webhook API uses |
| type ToResponse CreateWebhook # | |
data UpdateWebhook #
UpdateWebhook is encoded to request body JSON of Update a Webhook REST call.
Constructors
| UpdateWebhook | |
Fields
| |
Instances
| Eq UpdateWebhook # | |
| Show UpdateWebhook # | |
| ToJSON UpdateWebhook # | |
| FromJSON UpdateWebhook # |
|
| SparkUpdate UpdateWebhook # | User can update a webhook. |
| SparkResponse UpdateWebhook # | Update webhook API uses "UpdateWebhook' and responses |
| SparkApiPath UpdateWebhook # | Update webhook API uses |
| type ToResponse UpdateWebhook # | |
data WebhookMembershipFilter #
Optional query strings for membership event.
Constructors
| WebhookMembershipFilter | |
Fields
| |
Instances
| Eq WebhookMembershipFilter # | |
| Show WebhookMembershipFilter # | |
| SparkFilter WebhookMembershipFilter # | User can filter Webhook events from membership. |
| SparkResponse WebhookMembershipFilter # | List team memberships API accepts |
| SparkApiPath WebhookMembershipFilter # | Create webhook API accepts |
| type ToResponse WebhookMembershipFilter # | |
data WebhookMessageFilter #
Optional query strings for message event.
Constructors
| WebhookMessageFilter | |
Fields
| |
Instances
| Eq WebhookMessageFilter # | |
| Show WebhookMessageFilter # | |
| SparkFilter WebhookMessageFilter # | User can filter Webhook events from message. |
| SparkResponse WebhookMessageFilter # | List team memberships API accepts |
| SparkApiPath WebhookMessageFilter # | Create webhook API accepts |
| type ToResponse WebhookMessageFilter # | |
data WebhookRoomFilter #
Optional query strings for room event.
Constructors
| WebhookRoomFilter | |
Fields
| |
Instances
| Eq WebhookRoomFilter # | |
| Show WebhookRoomFilter # | |
| SparkFilter WebhookRoomFilter # | User can filter Webhook events from room. |
| SparkResponse WebhookRoomFilter # | List team memberships API accepts |
| SparkApiPath WebhookRoomFilter # | Create webhook API accepts |
| type ToResponse WebhookRoomFilter # | |
Identifier of app.
data WebhookNotifyOwnedBy #
WebhookNotifyOwnedBy indicates if the webhook is owned by the org or the creator.
Constructors
| WebhookNotifyOwnedByOrg | |
| WebhookNotifyOwnedByCreator |
Instances
| Eq WebhookNotifyOwnedBy # | |
| Show WebhookNotifyOwnedBy # | |
| ToJSON WebhookNotifyOwnedBy # | |
| FromJSON WebhookNotifyOwnedBy # |
|
data WebhookNotifyStatus #
WebhookNotifyStatus indicates if the webhook is active.
Constructors
| WebhookNotifyStatusActive | |
| WebhookNotifyStatusDesabled |
Instances
| Eq WebhookNotifyStatus # | |
| Show WebhookNotifyStatus # | |
| ToJSON WebhookNotifyStatus # | |
| FromJSON WebhookNotifyStatus # |
|
data WebhookNotify #
Webhook decodes webhook notification from Spark Cloud except data field.
Data field can be one of Membership, Message or Room. Type of data field is
shown as value of resource field.
Constructors
Instances
| Eq WebhookNotify # | |
| Show WebhookNotify # | |
| ToJSON WebhookNotify # | |
| FromJSON WebhookNotify # |
|
newtype WebhookNotifyMembership #
Data part of webhook notification is decoded to Membership when resource field value is "memberships".
Constructors
| WebhookNotifyMembership | |
Fields | |
Instances
| Eq WebhookNotifyMembership # | |
| Show WebhookNotifyMembership # | |
| ToJSON WebhookNotifyMembership # | |
| FromJSON WebhookNotifyMembership # |
|
newtype WebhookNotifyMessage #
Data part of webhook notification is decoded to Message when resource field value is "messages".
Constructors
| WebhookNotifyMessage | |
Fields | |
Instances
| Eq WebhookNotifyMessage # | |
| Show WebhookNotifyMessage # | |
| ToJSON WebhookNotifyMessage # | |
| FromJSON WebhookNotifyMessage # |
|
newtype WebhookNotifyRoom #
Data part of webhook notification is decoded to Room when resource field value is "rooms".
Constructors
| WebhookNotifyRoom | |
Fields | |
Instances
| Eq WebhookNotifyRoom # | |
| Show WebhookNotifyRoom # | |
| ToJSON WebhookNotifyRoom # | |
| FromJSON WebhookNotifyRoom # |
|