Safe Haskell | None |
---|---|
Language | Haskell2010 |
The telegraph API.
Every function that runs in MonadTelegraph
might throw a TelegraphError
.
Synopsis
- data Telegraph = Telegraph {
- accessToken :: Text
- shortName :: Text
- authorName :: Text
- authorUrl :: Text
- class MonadThrow m => MonadTelegraph m where
- takeTelegraph :: m Telegraph
- readTelegraph :: m Telegraph
- putTelegraph :: Telegraph -> m ()
- data AccountInfo = AccountInfo {}
- newtype TelegraphT m a = TelegraphT {
- runTelegraphT :: ReaderT (MVar Telegraph) m a
- runTelegraph :: HasHttpCap env m => Text -> TelegraphT m a -> m a
- runTelegraph' :: HasHttpCap env m => AccountInfo -> TelegraphT m a -> m a
- type HasHttpCap env m = (MonadIO m, HasHttpManager env, MonadReader env m)
- editAccountInfo :: (HasHttpCap env m, MonadTelegraph m, MonadMask m) => AccountInfo -> m ()
- getAccountInfo :: (HasHttpCap env m, MonadTelegraph m) => m Account
- revokeAccessToken :: (HasHttpCap env m, MonadTelegraph m, MonadMask m) => m Account
- createPage :: (HasHttpCap env m, MonadTelegraph m) => Text -> [Node] -> m Page
- editPage :: (HasHttpCap env m, MonadTelegraph m) => Text -> Text -> [Node] -> m Page
- getPageList :: (HasHttpCap env m, MonadTelegraph m) => Int -> Int -> m PageList
- createAccount :: HasHttpCap env m => AccountInfo -> m (Result Account)
- getAccountInfo' :: HasHttpCap env m => Text -> m (Result Account)
- getPage :: HasHttpCap env m => Text -> m (Result Page)
- getTotalViews :: HasHttpCap env m => Text -> m (Result PageViews)
- uploadImageFromFile :: (HasHttpCap env m, MonadMask m) => FilePath -> m UploadResult
- uploadImageFromFiles :: (HasHttpCap env m, MonadMask m) => [FilePath] -> m UploadResult
- data ImgStream = ImgStream {}
- uploadImageStreaming :: HasHttpCap env m => ImgStream -> m UploadResult
- uploadImagesStreaming :: HasHttpCap env m => [ImgStream] -> m UploadResult
- uploadParts :: HasHttpCap env m => [PartM m] -> m UploadResult
Types
Telegraph | |
|
Instances
Eq Telegraph Source # | |
Show Telegraph Source # | |
Generic Telegraph Source # | |
type Rep Telegraph Source # | |
Defined in Web.Telegraph.API type Rep Telegraph = D1 ('MetaData "Telegraph" "Web.Telegraph.API" "telegraph-0.1.0-inplace" 'False) (C1 ('MetaCons "Telegraph" 'PrefixI 'True) ((S1 ('MetaSel ('Just "accessToken") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "shortName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "authorName") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "authorUrl") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))) |
class MonadThrow m => MonadTelegraph m where Source #
takeTelegraph :: m Telegraph Source #
readTelegraph :: m Telegraph Source #
putTelegraph :: Telegraph -> m () Source #
Instances
(MonadTelegraph m, MonadTrans f, MonadThrow (f m)) => MonadTelegraph (f m) Source # | |
Defined in Web.Telegraph.API takeTelegraph :: f m Telegraph Source # readTelegraph :: f m Telegraph Source # putTelegraph :: Telegraph -> f m () Source # | |
(MonadThrow m, MonadIO m) => MonadTelegraph (TelegraphT m) Source # | |
Defined in Web.Telegraph.API takeTelegraph :: TelegraphT m Telegraph Source # readTelegraph :: TelegraphT m Telegraph Source # putTelegraph :: Telegraph -> TelegraphT m () Source # |
data AccountInfo Source #
Instances
Interpreting MonadTelegraph
newtype TelegraphT m a Source #
TelegraphT | |
|
Instances
runTelegraph :: HasHttpCap env m => Text -> TelegraphT m a -> m a Source #
interprets TelegraphT
using the access token of an existing account
runTelegraph' :: HasHttpCap env m => AccountInfo -> TelegraphT m a -> m a Source #
Create a new account and interprets TelegraphT
using that account
Type Synonyms
type HasHttpCap env m = (MonadIO m, HasHttpManager env, MonadReader env m) Source #
Account related APIs
editAccountInfo :: (HasHttpCap env m, MonadTelegraph m, MonadMask m) => AccountInfo -> m () Source #
Use this method to update information about this Telegraph account
getAccountInfo :: (HasHttpCap env m, MonadTelegraph m) => m Account Source #
Use this method to get information about this Telegraph account
revokeAccessToken :: (HasHttpCap env m, MonadTelegraph m, MonadMask m) => m Account Source #
Use this method to revoke access_token and generate a new one
:: (HasHttpCap env m, MonadTelegraph m) | |
=> Text | title |
-> [Node] | content |
-> m Page |
Use this method to create a new Telegraph page
:: (HasHttpCap env m, MonadTelegraph m) | |
=> Text | path |
-> Text | title |
-> [Node] | content |
-> m Page |
Use this method to edit an existing Telegraph page
:: (HasHttpCap env m, MonadTelegraph m) | |
=> Int | offset |
-> Int | limit (0 - 200) |
-> m PageList |
Use this method to get a list of pages belonging to this Telegraph account
Account independent APIs
createAccount :: HasHttpCap env m => AccountInfo -> m (Result Account) Source #
Use this method to create a new Telegraph account
getAccountInfo' :: HasHttpCap env m => Text -> m (Result Account) Source #
getPage :: HasHttpCap env m => Text -> m (Result Page) Source #
Use this method to get a Telegraph page
getTotalViews :: HasHttpCap env m => Text -> m (Result PageViews) Source #
Use this method to get the total number of views for a Telegraph article
Image uploading API
uploadImageFromFile :: (HasHttpCap env m, MonadMask m) => FilePath -> m UploadResult Source #
Upload a image from a filepath to Telegraph
uploadImageFromFiles :: (HasHttpCap env m, MonadMask m) => [FilePath] -> m UploadResult Source #
Upload a list of images to Telegraph. The resulting list of images will be in the same order
uploadImageStreaming :: HasHttpCap env m => ImgStream -> m UploadResult Source #
Upload a image stream to Telegraph
uploadImagesStreaming :: HasHttpCap env m => [ImgStream] -> m UploadResult Source #
Upload a list of image streams to Telegraph. The resulting list of images
uploadParts :: HasHttpCap env m => [PartM m] -> m UploadResult Source #