module TD.Query.GetTonConnectSessions
  (GetTonConnectSessions(..)
  ) where

import qualified Data.Aeson as A
import qualified Data.Aeson.Types as AT
import qualified TD.Lib.Internal as I

-- | Returns active TON Connect sessions; can be used only if getOption("can_use_ton_wallet"). Returns 'TD.Data.TonConnectSessions.TonConnectSessions'
data GetTonConnectSessions
  = GetTonConnectSessions
  deriving (GetTonConnectSessions -> GetTonConnectSessions -> Bool
(GetTonConnectSessions -> GetTonConnectSessions -> Bool)
-> (GetTonConnectSessions -> GetTonConnectSessions -> Bool)
-> Eq GetTonConnectSessions
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: GetTonConnectSessions -> GetTonConnectSessions -> Bool
== :: GetTonConnectSessions -> GetTonConnectSessions -> Bool
$c/= :: GetTonConnectSessions -> GetTonConnectSessions -> Bool
/= :: GetTonConnectSessions -> GetTonConnectSessions -> Bool
Eq, Int -> GetTonConnectSessions -> ShowS
[GetTonConnectSessions] -> ShowS
GetTonConnectSessions -> String
(Int -> GetTonConnectSessions -> ShowS)
-> (GetTonConnectSessions -> String)
-> ([GetTonConnectSessions] -> ShowS)
-> Show GetTonConnectSessions
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> GetTonConnectSessions -> ShowS
showsPrec :: Int -> GetTonConnectSessions -> ShowS
$cshow :: GetTonConnectSessions -> String
show :: GetTonConnectSessions -> String
$cshowList :: [GetTonConnectSessions] -> ShowS
showList :: [GetTonConnectSessions] -> ShowS
Show)

instance I.ShortShow GetTonConnectSessions where
  shortShow :: GetTonConnectSessions -> String
shortShow
    GetTonConnectSessions
GetTonConnectSessions
        = String
"GetTonConnectSessions"

instance AT.ToJSON GetTonConnectSessions where
  toJSON :: GetTonConnectSessions -> Value
toJSON
    GetTonConnectSessions
GetTonConnectSessions
        = [Pair] -> Value
A.object
          [ Key
"@type" Key -> Value -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
forall v. ToJSON v => Key -> v -> Pair
A..= Text -> Value
AT.String Text
"getTonConnectSessions"
          ]