module Network.Pushbullet (
sendPush
, module PBT
)where
import Control.Lens ((&), (?~))
import Data.Aeson
import qualified Data.HashMap.Strict as H
import Data.Monoid
import Network.Pushbullet.Internal
import Network.Pushbullet.Types as PBT
import Network.Wreq
sendPush :: PushSecret
-> Maybe DeviceId
-> PushBullet
-> IO ()
sendPush secret d p = do
_ <- postWith
(defaults & auth ?~ (unPushSecret secret))
"https://api.pushbullet.com/v2/pushes"
(addDeviceIden d $ toJSON p)
return ()
addDeviceIden :: Maybe DeviceId -> Value -> Value
addDeviceIden (Just devId) (Object o) =
Object $
o <> H.fromList ["device_iden" .= unDeviceId devId]
addDeviceIden _ v = v