heddit-0.2: Reddit API bindings
Copyright(c) 2021 Rory Tyler Hayford
LicenseBSD-3-Clause
Maintainerrory.hayford@protonmail.com
Stabilityexperimental
PortabilityGHC
Safe HaskellNone
LanguageHaskell2010

Network.Reddit.Types.Flair

Description

 
Synopsis

Documentation

data AssignedFlair Source #

Flair that has been, or will be, assigned to a user

Instances

Instances details
Eq AssignedFlair Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Show AssignedFlair Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Generic AssignedFlair Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Associated Types

type Rep AssignedFlair :: Type -> Type #

FromJSON AssignedFlair Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Paginable AssignedFlair Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep AssignedFlair Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep AssignedFlair = D1 ('MetaData "AssignedFlair" "Network.Reddit.Types.Flair" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "AssignedFlair" 'PrefixI 'True) (S1 ('MetaSel ('Just "user") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Username) :*: (S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe FlairText)) :*: S1 ('MetaSel ('Just "cssClass") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe CSSClass)))))
type PaginateOptions AssignedFlair Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type PaginateThing AssignedFlair Source # 
Instance details

Defined in Network.Reddit.Types.Flair

data FlairTemplate Source #

Flair "templates" that describe choices for self-assigned flair, for both users and submissions

Instances

Instances details
Eq FlairTemplate Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Show FlairTemplate Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Generic FlairTemplate Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Associated Types

type Rep FlairTemplate :: Type -> Type #

FromJSON FlairTemplate Source # 
Instance details

Defined in Network.Reddit.Types.Flair

ToForm FlairTemplate Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Methods

toForm :: FlairTemplate -> Form #

type Rep FlairTemplate Source # 
Instance details

Defined in Network.Reddit.Types.Flair

defaultFlairTemplate :: FlairTemplate Source #

A FlairTemplate with default fields, for convenience when creating new templates

data PostedFlairTemplate Source #

Wrapper around FlairTemplates for posting via the API. If the flairID field is Nothing, a new template will be created. Otherwise, the template with the matching ID will be updated

type FlairID = Text Source #

An identifier for a FlairTemplate

data FlairText Source #

The text displayed by the FlairTemplate

Instances

Instances details
Eq FlairText Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Show FlairText Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Generic FlairText Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Associated Types

type Rep FlairText :: Type -> Type #

Semigroup FlairText Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Monoid FlairText Source # 
Instance details

Defined in Network.Reddit.Types.Flair

ToJSON FlairText Source # 
Instance details

Defined in Network.Reddit.Types.Flair

FromJSON FlairText Source # 
Instance details

Defined in Network.Reddit.Types.Flair

ToHttpApiData FlairText Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep FlairText Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep FlairText = D1 ('MetaData "FlairText" "Network.Reddit.Types.Flair" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'True) (C1 ('MetaCons "FlairText" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 Text)))

mkFlairText :: MonadThrow m => Text -> m FlairText Source #

Smart constructor for FlairText, the length of which not exceed 64 characters

data FlairSelection Source #

Select a FlairChoice for a submission or for the user

Constructors

FlairSelection 

Fields

Instances

Instances details
Eq FlairSelection Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Show FlairSelection Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Generic FlairSelection Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Associated Types

type Rep FlairSelection :: Type -> Type #

type Rep FlairSelection Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep FlairSelection = D1 ('MetaData "FlairSelection" "Network.Reddit.Types.Flair" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "FlairSelection" 'PrefixI 'True) (S1 ('MetaSel ('Just "flairChoice") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 FlairChoice) :*: (S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "subreddit") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 SubredditName))))

data FlairChoice Source #

Information about flair that a user can choose. The templateID corresponds to the flairID field of a FlairTemplate

Instances

Instances details
Eq FlairChoice Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Show FlairChoice Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Generic FlairChoice Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Associated Types

type Rep FlairChoice :: Type -> Type #

FromJSON FlairChoice Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep FlairChoice Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep FlairChoice = D1 ('MetaData "FlairChoice" "Network.Reddit.Types.Flair" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "FlairChoice" 'PrefixI 'True) ((S1 ('MetaSel ('Just "templateID") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 FlairID) :*: S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 FlairText)) :*: (S1 ('MetaSel ('Just "textEditable") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "cssClass") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe CSSClass)))))

data UserFlair Source #

Flair that is currently assigned to a user

Constructors

UserFlair 

Instances

Instances details
Eq UserFlair Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Show UserFlair Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Generic UserFlair Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Associated Types

type Rep UserFlair :: Type -> Type #

FromJSON UserFlair Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep UserFlair Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep UserFlair = D1 ('MetaData "UserFlair" "Network.Reddit.Types.Flair" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "UserFlair" 'PrefixI 'True) (S1 ('MetaSel ('Just "text") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe FlairText)) :*: S1 ('MetaSel ('Just "cssClass") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe CSSClass))))

data ForegroundColor Source #

Foreground color for v2 flair

Constructors

Dark 
Light 

Instances

Instances details
Eq ForegroundColor Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Show ForegroundColor Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Generic ForegroundColor Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Associated Types

type Rep ForegroundColor :: Type -> Type #

ToJSON ForegroundColor Source # 
Instance details

Defined in Network.Reddit.Types.Flair

FromJSON ForegroundColor Source # 
Instance details

Defined in Network.Reddit.Types.Flair

ToHttpApiData ForegroundColor Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep ForegroundColor Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep ForegroundColor = D1 ('MetaData "ForegroundColor" "Network.Reddit.Types.Flair" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "Dark" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "Light" 'PrefixI 'False) (U1 :: Type -> Type))

data FlairResult Source #

The result of bulk setting of users' flairs as a mod action. The warnings and errors fields may be dynamically generated by Reddit, so they are represented here as HashMaps

Constructors

FlairResult 

Fields

Instances

Instances details
Eq FlairResult Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Show FlairResult Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Generic FlairResult Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Associated Types

type Rep FlairResult :: Type -> Type #

FromJSON FlairResult Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep FlairResult Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep FlairResult = D1 ('MetaData "FlairResult" "Network.Reddit.Types.Flair" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "FlairResult" 'PrefixI 'True) ((S1 ('MetaSel ('Just "ok") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Bool) :*: S1 ('MetaSel ('Just "status") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 Text)) :*: (S1 ('MetaSel ('Just "warnings") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (HashMap Text Text)) :*: S1 ('MetaSel ('Just "errors") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (HashMap Text Text)))))

data CurrentUserFlair Source #

Wrapper around UserFlair for fetching the current flair. This uses the same endpoint as the FlairChoiceList above

Instances

Instances details
Show CurrentUserFlair Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Generic CurrentUserFlair Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Associated Types

type Rep CurrentUserFlair :: Type -> Type #

FromJSON CurrentUserFlair Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep CurrentUserFlair Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep CurrentUserFlair = D1 ('MetaData "CurrentUserFlair" "Network.Reddit.Types.Flair" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'True) (C1 ('MetaCons "CurrentUserFlair" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 UserFlair)))

data FlairChoiceList Source #

Instances

Instances details
Show FlairChoiceList Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Generic FlairChoiceList Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Associated Types

type Rep FlairChoiceList :: Type -> Type #

FromJSON FlairChoiceList Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep FlairChoiceList Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep FlairChoiceList = D1 ('MetaData "FlairChoiceList" "Network.Reddit.Types.Flair" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'True) (C1 ('MetaCons "FlairChoiceList" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Seq FlairChoice))))

data FlairList Source #

Reddit strangely does not use their usual Listing mechanism for paginating assigned flairs, but a different data structure

Constructors

FlairList 

Instances

Instances details
Eq FlairList Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Show FlairList Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Generic FlairList Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Associated Types

type Rep FlairList :: Type -> Type #

FromJSON FlairList Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep FlairList Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep FlairList = D1 ('MetaData "FlairList" "Network.Reddit.Types.Flair" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "FlairList" 'PrefixI 'True) (S1 ('MetaSel ('Just "prev") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe UserID)) :*: (S1 ('MetaSel ('Just "next") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Maybe UserID)) :*: S1 ('MetaSel ('Just "users") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedStrict) (Rec0 (Seq AssignedFlair)))))

flairlistToListing :: FlairList -> Listing UserID AssignedFlair Source #

Convert a FlairList to a Listing, allowing it to be used with other functions/actions expecting a listing

data FlairContent Source #

The type of content that is allowed in a flair template

Instances

Instances details
Eq FlairContent Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Show FlairContent Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Generic FlairContent Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Associated Types

type Rep FlairContent :: Type -> Type #

FromJSON FlairContent Source # 
Instance details

Defined in Network.Reddit.Types.Flair

ToHttpApiData FlairContent Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep FlairContent Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep FlairContent = D1 ('MetaData "FlairContent" "Network.Reddit.Types.Flair" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "AllContent" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "EmojisOnly" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "TextOnly" 'PrefixI 'False) (U1 :: Type -> Type)))

data FlairType Source #

The type of flair, when creating a new template

Instances

Instances details
Eq FlairType Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Show FlairType Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Generic FlairType Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Associated Types

type Rep FlairType :: Type -> Type #

ToHttpApiData FlairType Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep FlairType Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep FlairType = D1 ('MetaData "FlairType" "Network.Reddit.Types.Flair" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "UserFlairType" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "SubmissionFlairType" 'PrefixI 'False) (U1 :: Type -> Type))

type CSSClass = Text Source #

CSS class for flair

data FlairConfig Source #

Configuration options for subreddit flair, including both user and submission flair. Also see defaultFlairConfig

Constructors

FlairConfig 

Fields

Instances

Instances details
Eq FlairConfig Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Show FlairConfig Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Generic FlairConfig Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Associated Types

type Rep FlairConfig :: Type -> Type #

ToForm FlairConfig Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Methods

toForm :: FlairConfig -> Form #

type Rep FlairConfig Source # 
Instance details

Defined in Network.Reddit.Types.Flair

data FlairPosition Source #

Position for subreddit flair

Constructors

OnLeft 
OnRight 

Instances

Instances details
Eq FlairPosition Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Show FlairPosition Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Generic FlairPosition Source # 
Instance details

Defined in Network.Reddit.Types.Flair

Associated Types

type Rep FlairPosition :: Type -> Type #

ToHttpApiData FlairPosition Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep FlairPosition Source # 
Instance details

Defined in Network.Reddit.Types.Flair

type Rep FlairPosition = D1 ('MetaData "FlairPosition" "Network.Reddit.Types.Flair" "heddit-0.2-6CPbqZeiNUj1PM6nX368ZU" 'False) (C1 ('MetaCons "OnLeft" 'PrefixI 'False) (U1 :: Type -> Type) :+: C1 ('MetaCons "OnRight" 'PrefixI 'False) (U1 :: Type -> Type))