Datatypes used by the Pushbullet APIs

Latest on Hackage:

This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.

MIT licensed by Jacob Thomas Errington


Revision history for pushbullet-types -- 2017-08-01

  • Make body field of link pushes optional. Many channel pushes do not include a body, but only the URL and the title.
  • Improve Push parsing. Push sender and receiver information are factored out into separate datatypes, and parsed as a whole. Either you have a full sender (either a client or a channel) or you don't have any of its fields. Same applies to receivers, except that only clients can be receivers, and don't have names. This fixes a bug where pushes sent by channels could not be parsed, since such pushes omit certain fields, such as sender_iden and sender_email. -- 2017-07-29

  • PushEphemeral now supports the targets field, which allows to more faithfully parse clipboard synchronization messages in the realtime event stream.
  • Missing Eq and Show instances for Ephemeral are now derived.
  • Missing device-related datatypes and constructors are now exported.
  • Values commonly used by PushBullet for the DeviceIcon type now have a bunch of constants exported for them.
  • Aeson version upper bound is now higher; this version of pushbullet-types will now build with Stackage resolver lts-9.0.
  • Misc code cleanup. -- 2017-04-30

  • Some fields in PushData are now made optional, since the objects received from Pushbullet may have them missing.
  • A minimum value for PushbulletTime is added. This is just zero seconds since the POSIX epoch.
  • Ephemerals are reworked. Now Ephemeral actually has one constructor per ephemeral type, and the previous constructors of Ephemeral are moved into PushEphemeral. Ephemeral now has a constructor for tickles and nops. Only push-type tickles have a dedicated constructor in TickleType. -- 2017-02-20

Define the following core types:

  • Push -- messages used internally in Pushbullet.
  • Ephemeral -- messages sent directly into the live event stream. These have a multitude of uses, e.g. sending SMS via a phone or seeing whether notifications have occurred on a device.
  • Device -- representation of a device.
  • User -- representation of a user.
  • Permanant -- this is an undocumented type in the Pushbullet API. Notably, SMS threads and messages are permanents.

Some of these types come in two flavors: New and Existing. This is signalled by a type index coming from a datakind.

comments powered byDisqus