battleplace-0.1.0.7: Core definitions for BattlePlace.io service

LicenseMIT
Safe HaskellNone
LanguageHaskell2010

BattlePlace.WebApi.Types

Description

 
Synopsis

Documentation

newtype AccountId Source #

Account id. At the moment it's just itch user id, but that may change.

Constructors

AccountId Base64Word64 

data Auth Source #

Instances
Generic Auth Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Associated Types

type Rep Auth :: * -> * #

Methods

from :: Auth -> Rep Auth x #

to :: Rep Auth x -> Auth #

ToJSON Auth Source # 
Instance details

Defined in BattlePlace.WebApi.Types

FromJSON Auth Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep Auth Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep Auth = D1 (MetaData "Auth" "BattlePlace.WebApi.Types" "battleplace-0.1.0.7-GzTbf17NQ257znzzAEUSPC" False) ((C1 (MetaCons "Auth_itchJwtToken" PrefixI True) (S1 (MetaSel (Just "auth_itchJwtToken") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)) :+: C1 (MetaCons "Auth_itchApiKey" PrefixI True) (S1 (MetaSel (Just "auth_itchApiKey") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text))) :+: (C1 (MetaCons "Auth_steamEncryptedTicket" PrefixI True) (S1 (MetaSel (Just "auth_steamEncryptedTicket") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text)) :+: C1 (MetaCons "Auth_testKey" PrefixI True) (S1 (MetaSel (Just "auth_testKey") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Text) :*: S1 (MetaSel (Just "auth_testId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 StrWord64))))

data AuthType Source #

Auth type (for logging).

Instances
Eq AuthType Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Generic AuthType Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Associated Types

type Rep AuthType :: * -> * #

Methods

from :: AuthType -> Rep AuthType x #

to :: Rep AuthType x -> AuthType #

Hashable AuthType Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Methods

hashWithSalt :: Int -> AuthType -> Int #

hash :: AuthType -> Int #

ToJSON AuthType Source # 
Instance details

Defined in BattlePlace.WebApi.Types

FromJSON AuthType Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep AuthType Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep AuthType = D1 (MetaData "AuthType" "BattlePlace.WebApi.Types" "battleplace-0.1.0.7-GzTbf17NQ257znzzAEUSPC" False) ((C1 (MetaCons "AuthType_itchJwtToken" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "AuthType_itchApiKey" PrefixI False) (U1 :: * -> *)) :+: (C1 (MetaCons "AuthType_steamEncryptedTicket" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "AuthType_testKey" PrefixI False) (U1 :: * -> *)))

data Client Source #

Instances
Eq Client Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Methods

(==) :: Client -> Client -> Bool #

(/=) :: Client -> Client -> Bool #

Generic Client Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Associated Types

type Rep Client :: * -> * #

Methods

from :: Client -> Rep Client x #

to :: Rep Client x -> Client #

Hashable Client Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Methods

hashWithSalt :: Int -> Client -> Int #

hash :: Client -> Int #

ToJSON Client Source # 
Instance details

Defined in BattlePlace.WebApi.Types

FromJSON Client Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep Client Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep Client = D1 (MetaData "Client" "BattlePlace.WebApi.Types" "battleplace-0.1.0.7-GzTbf17NQ257znzzAEUSPC" False) (C1 (MetaCons "Client_itch" PrefixI True) (S1 (MetaSel (Just "client_itchUserId") SourceUnpack SourceStrict DecidedStrict) (Rec0 StrWord64)) :+: (C1 (MetaCons "Client_steam" PrefixI True) (S1 (MetaSel (Just "client_steamId") SourceUnpack SourceStrict DecidedStrict) (Rec0 StrWord64)) :+: C1 (MetaCons "Client_test" PrefixI True) (S1 (MetaSel (Just "client_testId") SourceUnpack SourceStrict DecidedStrict) (Rec0 StrWord64))))

data ClientType Source #

Type of the client. Must correspont to JSON field "type" of Client.

Instances
Eq ClientType Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Generic ClientType Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Associated Types

type Rep ClientType :: * -> * #

Hashable ClientType Source # 
Instance details

Defined in BattlePlace.WebApi.Types

ToJSON ClientType Source # 
Instance details

Defined in BattlePlace.WebApi.Types

FromJSON ClientType Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep ClientType Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep ClientType = D1 (MetaData "ClientType" "BattlePlace.WebApi.Types" "battleplace-0.1.0.7-GzTbf17NQ257znzzAEUSPC" False) (C1 (MetaCons "ClientType_itch" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "ClientType_steam" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "ClientType_test" PrefixI False) (U1 :: * -> *)))

type MatchTeamSize = Int Source #

Size of a team in match request.

newtype MatchTag Source #

Match tag in match request.

Constructors

MatchTag Text 

data MatchToken Source #

Match token.

Constructors

MatchToken 
Instances
Generic MatchToken Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Associated Types

type Rep MatchToken :: * -> * #

ToJSON MatchToken Source # 
Instance details

Defined in BattlePlace.WebApi.Types

FromJSON MatchToken Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep MatchToken Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep MatchToken = D1 (MetaData "MatchToken" "BattlePlace.WebApi.Types" "battleplace-0.1.0.7-GzTbf17NQ257znzzAEUSPC" False) (C1 (MetaCons "MatchToken" PrefixI False) (U1 :: * -> *))

data MatchFailureReason Source #

Reason of match failure.

Constructors

MatchFailureReason_timedOut

Failed to make a match in a specified time.

MatchFailureReason_noServer

Match was made, but no server is available (and use of server is mandatory).

MatchFailureReason_cancelled

Matching was explicitly cancelled by user.

Instances
Generic MatchFailureReason Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Associated Types

type Rep MatchFailureReason :: * -> * #

ToJSON MatchFailureReason Source # 
Instance details

Defined in BattlePlace.WebApi.Types

FromJSON MatchFailureReason Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep MatchFailureReason Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep MatchFailureReason = D1 (MetaData "MatchFailureReason" "BattlePlace.WebApi.Types" "battleplace-0.1.0.7-GzTbf17NQ257znzzAEUSPC" False) (C1 (MetaCons "MatchFailureReason_timedOut" PrefixI False) (U1 :: * -> *) :+: (C1 (MetaCons "MatchFailureReason_noServer" PrefixI False) (U1 :: * -> *) :+: C1 (MetaCons "MatchFailureReason_cancelled" PrefixI False) (U1 :: * -> *)))

data SessionToken Source #

Session token.

Instances
Generic SessionToken Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Associated Types

type Rep SessionToken :: * -> * #

ToJSON SessionToken Source # 
Instance details

Defined in BattlePlace.WebApi.Types

FromJSON SessionToken Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep SessionToken Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep SessionToken = D1 (MetaData "SessionToken" "BattlePlace.WebApi.Types" "battleplace-0.1.0.7-GzTbf17NQ257znzzAEUSPC" False) (C1 (MetaCons "SessionToken" PrefixI True) (S1 (MetaSel (Just "sessionToken_sessionId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 SessionId) :*: (S1 (MetaSel (Just "sessionToken_teamIndex") SourceUnpack SourceStrict DecidedStrict) (Rec0 Int) :*: S1 (MetaSel (Just "sessionToken_mateIndex") SourceUnpack SourceStrict DecidedStrict) (Rec0 Int))))

newtype ServerSessionToken Source #

Server session token.

Instances
Generic ServerSessionToken Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Associated Types

type Rep ServerSessionToken :: * -> * #

ToJSON ServerSessionToken Source # 
Instance details

Defined in BattlePlace.WebApi.Types

FromJSON ServerSessionToken Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep ServerSessionToken Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep ServerSessionToken = D1 (MetaData "ServerSessionToken" "BattlePlace.WebApi.Types" "battleplace-0.1.0.7-GzTbf17NQ257znzzAEUSPC" True) (C1 (MetaCons "ServerSessionToken" PrefixI True) (S1 (MetaSel (Just "serverSessionToken_sessionId") NoSourceUnpackedness NoSourceStrictness DecidedLazy) (Rec0 SessionId)))

data MatchSession Source #

Match session.

Instances
Generic MatchSession Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Associated Types

type Rep MatchSession :: * -> * #

ToJSON MatchSession Source # 
Instance details

Defined in BattlePlace.WebApi.Types

FromJSON MatchSession Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep MatchSession Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep MatchSession = D1 (MetaData "MatchSession" "BattlePlace.WebApi.Types" "battleplace-0.1.0.7-GzTbf17NQ257znzzAEUSPC" False) (C1 (MetaCons "MatchSession" PrefixI True) ((S1 (MetaSel (Just "matchSession_sessionId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 SessionId) :*: (S1 (MetaSel (Just "matchSession_sessionToken") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (InternalToken SessionToken)) :*: S1 (MetaSel (Just "matchSession_teams") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Vector MatchTeam)))) :*: (S1 (MetaSel (Just "matchSession_teamIndex") SourceUnpack SourceStrict DecidedStrict) (Rec0 Int) :*: (S1 (MetaSel (Just "matchSession_mateIndex") SourceUnpack SourceStrict DecidedStrict) (Rec0 Int) :*: S1 (MetaSel (Just "matchSession_server") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe MatchServer))))))

data MatchServerSession Source #

Match server session.

Instances
Generic MatchServerSession Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Associated Types

type Rep MatchServerSession :: * -> * #

ToJSON MatchServerSession Source # 
Instance details

Defined in BattlePlace.WebApi.Types

FromJSON MatchServerSession Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep MatchServerSession Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep MatchServerSession = D1 (MetaData "MatchServerSession" "BattlePlace.WebApi.Types" "battleplace-0.1.0.7-GzTbf17NQ257znzzAEUSPC" False) (C1 (MetaCons "MatchServerSession" PrefixI True) ((S1 (MetaSel (Just "matchServerSession_sessionId") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 SessionId) :*: S1 (MetaSel (Just "matchServerSession_serverSessionToken") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (InternalToken ServerSessionToken))) :*: (S1 (MetaSel (Just "matchServerSession_teams") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Vector MatchTeam)) :*: (S1 (MetaSel (Just "matchServerSession_matchTag") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 MatchTag) :*: S1 (MetaSel (Just "matchServerSession_serverTag") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 ServerTag)))))

data MatchPlayer Source #

Match player.

Instances
Generic MatchPlayer Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Associated Types

type Rep MatchPlayer :: * -> * #

ToJSON MatchPlayer Source # 
Instance details

Defined in BattlePlace.WebApi.Types

FromJSON MatchPlayer Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep MatchPlayer Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep MatchPlayer = D1 (MetaData "MatchPlayer" "BattlePlace.WebApi.Types" "battleplace-0.1.0.7-GzTbf17NQ257znzzAEUSPC" False) (C1 (MetaCons "MatchPlayer" PrefixI True) (S1 (MetaSel (Just "matchPlayer_info") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 MatchPlayerInfo) :*: (S1 (MetaSel (Just "matchPlayer_ourTicket") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Ticket)) :*: S1 (MetaSel (Just "matchPlayer_theirTicket") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 (Maybe Ticket)))))

data MatchServer Source #

Match server.

Instances
Generic MatchServer Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Associated Types

type Rep MatchServer :: * -> * #

ToJSON MatchServer Source # 
Instance details

Defined in BattlePlace.WebApi.Types

FromJSON MatchServer Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep MatchServer Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep MatchServer = D1 (MetaData "MatchServer" "BattlePlace.WebApi.Types" "battleplace-0.1.0.7-GzTbf17NQ257znzzAEUSPC" False) (C1 (MetaCons "MatchServer" PrefixI True) (S1 (MetaSel (Just "matchServer_info") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 MatchServerInfo) :*: (S1 (MetaSel (Just "matchServer_ourTicket") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Ticket) :*: S1 (MetaSel (Just "matchServer_theirTicket") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 Ticket))))

data UserStats Source #

User stats.

Constructors

UserStats 
Instances
Generic UserStats Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Associated Types

type Rep UserStats :: * -> * #

ToJSON UserStats Source # 
Instance details

Defined in BattlePlace.WebApi.Types

FromJSON UserStats Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep UserStats Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep UserStats = D1 (MetaData "UserStats" "BattlePlace.WebApi.Types" "battleplace-0.1.0.7-GzTbf17NQ257znzzAEUSPC" False) (C1 (MetaCons "UserStats" PrefixI True) (S1 (MetaSel (Just "userStats_rank") SourceUnpack SourceStrict DecidedStrict) (Rec0 Int) :*: S1 (MetaSel (Just "userStats_rating") SourceUnpack SourceStrict DecidedStrict) (Rec0 Rating)))

data Identified i a Source #

Generic data type for id + object.

Constructors

Identified 

Fields

Instances
Generic (Identified i a) Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Associated Types

type Rep (Identified i a) :: * -> * #

Methods

from :: Identified i a -> Rep (Identified i a) x #

to :: Rep (Identified i a) x -> Identified i a #

(ToJSON i, ToJSON a) => ToJSON (Identified i a) Source # 
Instance details

Defined in BattlePlace.WebApi.Types

(FromJSON i, FromJSON a) => FromJSON (Identified i a) Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep (Identified i a) Source # 
Instance details

Defined in BattlePlace.WebApi.Types

type Rep (Identified i a) = D1 (MetaData "Identified" "BattlePlace.WebApi.Types" "battleplace-0.1.0.7-GzTbf17NQ257znzzAEUSPC" False) (C1 (MetaCons "Identified" PrefixI True) (S1 (MetaSel (Just "identified_id") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 i) :*: S1 (MetaSel (Just "identified_info") NoSourceUnpackedness SourceStrict DecidedStrict) (Rec0 a)))

newtype Base64ByteString Source #

ByteString which serializes to JSON as base64 string.

Instances
Eq Base64ByteString Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Ord Base64ByteString Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Semigroup Base64ByteString Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Monoid Base64ByteString Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Hashable Base64ByteString Source # 
Instance details

Defined in BattlePlace.WebApi.Types

ToJSON Base64ByteString Source # 
Instance details

Defined in BattlePlace.WebApi.Types

FromJSON Base64ByteString Source # 
Instance details

Defined in BattlePlace.WebApi.Types

ByteArrayAccess Base64ByteString Source # 
Instance details

Defined in BattlePlace.WebApi.Types

ByteArray Base64ByteString Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Methods

allocRet :: Int -> (Ptr p -> IO a) -> IO (a, Base64ByteString) #

newtype Base64Word64 Source #

Word64 which serializes to JSON as base64 string. Useful because 64-bit integer is not representable in javascript.

Constructors

Base64Word64 Word64 
Instances
Eq Base64Word64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Num Base64Word64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Ord Base64Word64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Read Base64Word64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Show Base64Word64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

IsString Base64Word64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Hashable Base64Word64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

ToJSON Base64Word64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

ToJSONKey Base64Word64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

FromJSON Base64Word64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

FromJSONKey Base64Word64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Storable Base64Word64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Serialize Base64Word64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

FromHttpApiData Base64Word64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

newtype StrWord64 Source #

Word64 which serializes to JSON as decimal string. Useful because 64-bit integer is not representable in javascript.

Constructors

StrWord64 Word64 
Instances
Eq StrWord64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Num StrWord64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Ord StrWord64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Read StrWord64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Show StrWord64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Hashable StrWord64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

ToJSON StrWord64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

FromJSON StrWord64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Storable StrWord64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

Serialize StrWord64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types

FromHttpApiData StrWord64 Source # 
Instance details

Defined in BattlePlace.WebApi.Types