slack-web-2.2.0.0: Bindings for the Slack web API
Safe HaskellSafe-Inferred
LanguageHaskell2010

Web.Slack.Experimental.Views

Description

Publishing views using the Blocks API.

This is used for App Home and modals.

https://api.slack.com/methods/views.publish

Since: 2.1.0.0

Synopsis

Types

data SlackView inner Source #

View definition for some Slack surface. Has an inner type of either ModalView or HomeTabView.

https://api.slack.com/reference/surfaces/views

Since: 2.1.0.0

Instances

Instances details
FromJSON inner => FromJSON (SlackView inner) Source # 
Instance details

Defined in Web.Slack.Experimental.Views

ToJSON inner => ToJSON (SlackView inner) Source # 
Instance details

Defined in Web.Slack.Experimental.Views

Methods

toJSON :: SlackView inner -> Value #

toEncoding :: SlackView inner -> Encoding #

toJSONList :: [SlackView inner] -> Value #

toEncodingList :: [SlackView inner] -> Encoding #

omitField :: SlackView inner -> Bool #

Generic (SlackView inner) Source # 
Instance details

Defined in Web.Slack.Experimental.Views

Associated Types

type Rep (SlackView inner) :: Type -> Type #

Methods

from :: SlackView inner -> Rep (SlackView inner) x #

to :: Rep (SlackView inner) x -> SlackView inner #

Show inner => Show (SlackView inner) Source # 
Instance details

Defined in Web.Slack.Experimental.Views

Methods

showsPrec :: Int -> SlackView inner -> ShowS #

show :: SlackView inner -> String #

showList :: [SlackView inner] -> ShowS #

Eq inner => Eq (SlackView inner) Source # 
Instance details

Defined in Web.Slack.Experimental.Views

Methods

(==) :: SlackView inner -> SlackView inner -> Bool #

(/=) :: SlackView inner -> SlackView inner -> Bool #

type Rep (SlackView inner) Source # 
Instance details

Defined in Web.Slack.Experimental.Views

type Rep (SlackView inner) = D1 ('MetaData "SlackView" "Web.Slack.Experimental.Views" "slack-web-2.2.0.0-75TRpAA2kJ66CiJcWIDmf" 'False) (C1 ('MetaCons "SlackView" 'PrefixI 'True) ((S1 ('MetaSel ('Just "blocks") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Vector SlackBlock)) :*: S1 ('MetaSel ('Just "privateMetadata") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text))) :*: (S1 ('MetaSel ('Just "callbackId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: (S1 ('MetaSel ('Just "externalId") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Maybe Text)) :*: S1 ('MetaSel ('Just "inner") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 inner)))))

data HomeTabView Source #

Since: 2.1.0.0

Constructors

HomeTabView 

Fields

Instances

Instances details
FromJSON HomeTabView Source # 
Instance details

Defined in Web.Slack.Experimental.Views

ToJSON HomeTabView Source # 
Instance details

Defined in Web.Slack.Experimental.Views

Generic HomeTabView Source # 
Instance details

Defined in Web.Slack.Experimental.Views

Associated Types

type Rep HomeTabView :: Type -> Type #

Show HomeTabView Source # 
Instance details

Defined in Web.Slack.Experimental.Views

Eq HomeTabView Source # 
Instance details

Defined in Web.Slack.Experimental.Views

type Rep HomeTabView Source # 
Instance details

Defined in Web.Slack.Experimental.Views

type Rep HomeTabView = D1 ('MetaData "HomeTabView" "Web.Slack.Experimental.Views" "slack-web-2.2.0.0-75TRpAA2kJ66CiJcWIDmf" 'False) (C1 ('MetaCons "HomeTabView" 'PrefixI 'True) (S1 ('MetaSel ('Just "type_") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (Expected "home"))))

data ModalView Source #

Constructors

ModalView 

Fields

Instances

Instances details
FromJSON ModalView Source # 
Instance details

Defined in Web.Slack.Experimental.Views

ToJSON ModalView Source # 
Instance details

Defined in Web.Slack.Experimental.Views

Generic ModalView Source # 
Instance details

Defined in Web.Slack.Experimental.Views

Associated Types

type Rep ModalView :: Type -> Type #

Show ModalView Source # 
Instance details

Defined in Web.Slack.Experimental.Views

Eq ModalView Source # 
Instance details

Defined in Web.Slack.Experimental.Views

type Rep ModalView Source # 
Instance details

Defined in Web.Slack.Experimental.Views

data Expected (lit :: Symbol) Source #

Expected a given value as a string. Useful for type fields in json.

Constructors

Expected 

Instances

Instances details
KnownSymbol lit => FromJSON (Expected lit) Source # 
Instance details

Defined in Web.Slack.AesonUtils

KnownSymbol lit => ToJSON (Expected lit) Source # 
Instance details

Defined in Web.Slack.AesonUtils

KnownSymbol lit => Show (Expected lit) Source # 
Instance details

Defined in Web.Slack.AesonUtils

Methods

showsPrec :: Int -> Expected lit -> ShowS #

show :: Expected lit -> String #

showList :: [Expected lit] -> ShowS #

KnownSymbol lit => Eq (Expected lit) Source # 
Instance details

Defined in Web.Slack.AesonUtils

Methods

(==) :: Expected lit -> Expected lit -> Bool #

(/=) :: Expected lit -> Expected lit -> Bool #

Requests and responses

data PublishReq Source #

Publishes the App Home view for a user.

https://api.slack.com/methods/views.publish

Since: 2.1.0.0

Constructors

PublishReq 

Fields

Instances

Instances details
Show PublishReq Source # 
Instance details

Defined in Web.Slack.Experimental.Views

ToForm PublishReq Source # 
Instance details

Defined in Web.Slack.Experimental.Views

Methods

toForm :: PublishReq -> Form #

type Api = "views.publish" :> (AuthProtect "token" :> (ReqBody '[FormUrlEncoded] PublishReq :> Post '[JSON] (ResponseJSON PublishResp))) Source #

Since: 2.1.0.0

viewsPublish :: SlackConfig -> PublishReq -> IO (Response PublishResp) Source #

Publishes the App Home view for a user.

https://api.slack.com/methods/views.publish

Since: 2.1.0.0