| License | MIT |
|---|---|
| Safe Haskell | None |
| Language | Haskell2010 |
BattlePlace.WebApi
Description
- type WebApi = "v1a" :> (("client" :> (("auth" :> (ReqBody '[JSON] ClientAuthRequest :> Post '[JSON] ClientAuthResponse)) :<|> (("match" :> ((ReqBody '[JSON] MatchRequest :> Post '[JSON] MatchResponse) :<|> (Capture "matchToken" (InternalToken MatchToken) :> Get '[JSON] MatchStatusResponse))) :<|> ("session" :> (Capture "sessionToken" (InternalToken SessionToken) :> ("result" :> (ReqBody '[JSON] SessionResultRequest :> Post '[JSON] ()))))))) :<|> ("server" :> (("match" :> (ReqBody '[JSON] ServerMatchRequest :> Post '[JSON] ServerMatchResponse)) :<|> ("session" :> (Capture "serverSessionToken" (InternalToken ServerSessionToken) :> ("result" :> (ReqBody '[JSON] ServerSessionResultRequest :> Post '[JSON] ())))))))
- data ClientAuthRequest = ClientAuthRequest {}
- data ClientAuthResponse
- data MatchRequest = MatchRequest {}
- data MatchResponse = MatchResponse {}
- data MatchStatusResponse
- data MatchStatusReason
- newtype MatchTeam = MatchTeam (Vector MatchPlayer)
- data MatchPlayer = MatchPlayer {}
- data MatchServer = MatchServer {}
- newtype MatchServerInfo = MatchServerInfo Text
- data SessionResultRequest
- data ServerMatchRequest = ServerMatchRequest {}
- data ServerMatchResponse = ServerMatchResponse {}
- data ServerSessionResultRequest
- data ServerSession = ServerSession {}
Documentation
type WebApi = "v1a" :> (("client" :> (("auth" :> (ReqBody '[JSON] ClientAuthRequest :> Post '[JSON] ClientAuthResponse)) :<|> (("match" :> ((ReqBody '[JSON] MatchRequest :> Post '[JSON] MatchResponse) :<|> (Capture "matchToken" (InternalToken MatchToken) :> Get '[JSON] MatchStatusResponse))) :<|> ("session" :> (Capture "sessionToken" (InternalToken SessionToken) :> ("result" :> (ReqBody '[JSON] SessionResultRequest :> Post '[JSON] ()))))))) :<|> ("server" :> (("match" :> (ReqBody '[JSON] ServerMatchRequest :> Post '[JSON] ServerMatchResponse)) :<|> ("session" :> (Capture "serverSessionToken" (InternalToken ServerSessionToken) :> ("result" :> (ReqBody '[JSON] ServerSessionResultRequest :> Post '[JSON] ()))))))) Source #
data ClientAuthResponse Source #
Constructors
| ClientAuthResponse_authenticated | |
| ClientAuthResponse_notAuthenticated | |
Fields | |
data MatchStatusResponse Source #
Constructors
| MatchStatusResponse_notFound | |
| MatchStatusResponse_inProgress | |
| MatchStatusResponse_matched | |
| MatchStatusResponse_failed | |
Fields | |
| MatchStatusResponse_cleaned | Match status was cleaned. Normallly this status should not be visible to clients, it's here just in case. |
data MatchStatusReason Source #
Reason of match failure.
Constructors
| MatchStatusReason_timedOut | Failed to make a match in a specified time. |
| MatchStatusReason_noServer | Match was made, but no server is available (and use of server is mandatory). |
| MatchStatusReason_cancelled | Matching was explicitly cancelled by user. |
Instances
Constructors
| MatchTeam (Vector MatchPlayer) |
data SessionResultRequest Source #
Constructors
| SessionResultRequest_finished | |
Fields | |
| SessionResultRequest_cancelled | |
data ServerMatchRequest Source #
Constructors
| ServerMatchRequest | |
data ServerMatchResponse Source #
Constructors
| ServerMatchResponse | |
Fields | |
data ServerSessionResultRequest Source #
Constructors
| ServerSessionResultRequest_finished | |
Fields | |
| ServerSessionResultRequest_cancelled | |