asana-1.0.0.0: Asana API Client
Safe HaskellNone
LanguageHaskell2010

Asana.Api.Request

Synopsis

Documentation

newtype AsanaAccessKey Source #

Constructors

AsanaAccessKey 

Instances

Instances details
HasAsanaAccessKey AsanaAccessKey Source # 
Instance details

Defined in Asana.Api.Request

newtype Single a Source #

Type for a single-resource response, containing { data: { ... } }

Constructors

Single 

Fields

Instances

Instances details
Eq a => Eq (Single a) Source # 
Instance details

Defined in Asana.Api.Request

Methods

(==) :: Single a -> Single a -> Bool #

(/=) :: Single a -> Single a -> Bool #

Show a => Show (Single a) Source # 
Instance details

Defined in Asana.Api.Request

Methods

showsPrec :: Int -> Single a -> ShowS #

show :: Single a -> String #

showList :: [Single a] -> ShowS #

Generic (Single a) Source # 
Instance details

Defined in Asana.Api.Request

Associated Types

type Rep (Single a) :: Type -> Type #

Methods

from :: Single a -> Rep (Single a) x #

to :: Rep (Single a) x -> Single a #

FromJSON a => FromJSON (Single a) Source # 
Instance details

Defined in Asana.Api.Request

type Rep (Single a) Source # 
Instance details

Defined in Asana.Api.Request

type Rep (Single a) = D1 ('MetaData "Single" "Asana.Api.Request" "asana-1.0.0.0-JNzL5iyCZIM39EPv9JLtHU" 'True) (C1 ('MetaCons "Single" 'PrefixI 'True) (S1 ('MetaSel ('Just "sData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

data Page a Source #

Type for a list-resource response, containing { data: [{ ... }] }

Constructors

Page 

Fields

Instances

Instances details
Eq a => Eq (Page a) Source # 
Instance details

Defined in Asana.Api.Request

Methods

(==) :: Page a -> Page a -> Bool #

(/=) :: Page a -> Page a -> Bool #

Show a => Show (Page a) Source # 
Instance details

Defined in Asana.Api.Request

Methods

showsPrec :: Int -> Page a -> ShowS #

show :: Page a -> String #

showList :: [Page a] -> ShowS #

Generic (Page a) Source # 
Instance details

Defined in Asana.Api.Request

Associated Types

type Rep (Page a) :: Type -> Type #

Methods

from :: Page a -> Rep (Page a) x #

to :: Rep (Page a) x -> Page a #

FromJSON a => FromJSON (Page a) Source # 
Instance details

Defined in Asana.Api.Request

type Rep (Page a) Source # 
Instance details

Defined in Asana.Api.Request

type Rep (Page a) = D1 ('MetaData "Page" "Asana.Api.Request" "asana-1.0.0.0-JNzL5iyCZIM39EPv9JLtHU" 'False) (C1 ('MetaCons "Page" 'PrefixI 'True) (S1 ('MetaSel ('Just "pData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [a]) :*: S1 ('MetaSel ('Just "pNextPage") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe NextPage))))

data NextPage Source #

The next_page element of a paginated response

Constructors

NextPage 

Fields

Instances

Instances details
Eq NextPage Source # 
Instance details

Defined in Asana.Api.Request

Show NextPage Source # 
Instance details

Defined in Asana.Api.Request

Generic NextPage Source # 
Instance details

Defined in Asana.Api.Request

Associated Types

type Rep NextPage :: Type -> Type #

Methods

from :: NextPage -> Rep NextPage x #

to :: Rep NextPage x -> NextPage #

FromJSON NextPage Source # 
Instance details

Defined in Asana.Api.Request

type Rep NextPage Source # 
Instance details

Defined in Asana.Api.Request

type Rep NextPage = D1 ('MetaData "NextPage" "Asana.Api.Request" "asana-1.0.0.0-JNzL5iyCZIM39EPv9JLtHU" 'False) (C1 ('MetaCons "NextPage" 'PrefixI 'True) (S1 ('MetaSel ('Just "npOffset") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: (S1 ('MetaSel ('Just "npPath") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text) :*: S1 ('MetaSel ('Just "npUri") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text))))

newtype ApiData a Source #

Generic type for un/wrapping an item as { data: item }

Constructors

ApiData 

Fields

Instances

Instances details
Eq a => Eq (ApiData a) Source # 
Instance details

Defined in Asana.Api.Request

Methods

(==) :: ApiData a -> ApiData a -> Bool #

(/=) :: ApiData a -> ApiData a -> Bool #

Show a => Show (ApiData a) Source # 
Instance details

Defined in Asana.Api.Request

Methods

showsPrec :: Int -> ApiData a -> ShowS #

show :: ApiData a -> String #

showList :: [ApiData a] -> ShowS #

Generic (ApiData a) Source # 
Instance details

Defined in Asana.Api.Request

Associated Types

type Rep (ApiData a) :: Type -> Type #

Methods

from :: ApiData a -> Rep (ApiData a) x #

to :: Rep (ApiData a) x -> ApiData a #

ToJSON a => ToJSON (ApiData a) Source # 
Instance details

Defined in Asana.Api.Request

FromJSON a => FromJSON (ApiData a) Source # 
Instance details

Defined in Asana.Api.Request

type Rep (ApiData a) Source # 
Instance details

Defined in Asana.Api.Request

type Rep (ApiData a) = D1 ('MetaData "ApiData" "Asana.Api.Request" "asana-1.0.0.0-JNzL5iyCZIM39EPv9JLtHU" 'True) (C1 ('MetaCons "ApiData" 'PrefixI 'True) (S1 ('MetaSel ('Just "adData") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 a)))

getAll :: (MonadUnliftIO m, MonadLogger m, MonadReader env m, HasAsanaAccessKey env, FromJSON a) => String -> m [a] Source #

Naively GET all pages of a paginated resource

getSingle :: (MonadUnliftIO m, MonadLogger m, MonadReader env m, HasAsanaAccessKey env, FromJSON a) => String -> m a Source #

Get a single resource