License | BSD-3-Clause |
---|---|
Safe Haskell | Safe-Inferred |
Language | Haskell2010 |
Swarm.Web.Tournament.Database.Query
Description
SQL Queries for Swarm tournaments.
Synopsis
- type ConnectInfo = String
- databaseFilename :: ConnectInfo
- newtype UserId = UserId Int
- data AuthenticationStorage m = AuthenticationStorage {
- usernameFromCookie :: Text -> m (Maybe UserAlias)
- cookieFromUsername :: UserAlias -> m Text
- data PersistenceLayer m = PersistenceLayer {}
- data ScenarioPersistence m a = ScenarioPersistence {
- lookupCache :: Sha1 -> m (Maybe AssociatedSolutionCharacterization)
- storeCache :: CharacterizationResponse a -> m Sha1
- getContent :: Sha1 -> m (Maybe ByteString)
- data UserAttributedUpload = UserAttributedUpload {}
- data CharacterizationResponse a = CharacterizationResponse {}
- data ScenarioUploadResponsePayload = ScenarioUploadResponsePayload {
- swarmGameVersion :: Sha1
- sTitle :: Text
- newtype SolutionUploadResponsePayload = SolutionUploadResponsePayload {
- scenariohash :: Sha1
- insertCookie :: UserAlias -> ReaderT Connection IO Text
- insertGitHubTokens :: UserAlias -> ReceivedTokens -> ReaderT Connection IO ()
- getUsernameFromCookie :: Text -> ReaderT Connection IO (Maybe UserAlias)
- lookupScenarioContent :: Sha1 -> ReaderT Connection IO (Maybe ByteString)
- lookupSolutionContent :: Sha1 -> ReaderT Connection IO (Maybe ByteString)
- lookupSolutionSubmission :: Sha1 -> ReaderT Connection IO (Maybe AssociatedSolutionCharacterization)
- lookupScenarioSolution :: Sha1 -> ReaderT Connection IO (Maybe AssociatedSolutionCharacterization)
- listGames :: ReaderT Connection IO [TournamentGame]
- listSubmissions :: Sha1 -> ReaderT Connection IO GameWithSolutions
- insertScenario :: CharacterizationResponse ScenarioUploadResponsePayload -> ReaderT Connection IO Sha1
- insertSolutionSubmission :: CharacterizationResponse SolutionUploadResponsePayload -> ReaderT Connection IO Sha1
- insertSolution :: Connection -> Bool -> Sha1 -> SolutionCharacterization -> IO Int
Documentation
type ConnectInfo = String Source #
data AuthenticationStorage m Source #
Constructors
AuthenticationStorage | |
Fields
|
data PersistenceLayer m Source #
data ScenarioPersistence m a Source #
Constructors
ScenarioPersistence | |
Fields
|
data UserAttributedUpload Source #
Constructors
UserAttributedUpload | |
Fields |
data CharacterizationResponse a Source #
Constructors
CharacterizationResponse | |
data ScenarioUploadResponsePayload Source #
Constructors
ScenarioUploadResponsePayload | |
Fields
|
newtype SolutionUploadResponsePayload Source #
Constructors
SolutionUploadResponsePayload | |
Fields
|
Authentication
insertCookie :: UserAlias -> ReaderT Connection IO Text Source #
If the username already exists, overwrite the row.
insertGitHubTokens :: UserAlias -> ReceivedTokens -> ReaderT Connection IO () Source #
If the username already exists, overwrite the row.
Retrieval
lookupSolutionSubmission :: Sha1 -> ReaderT Connection IO (Maybe AssociatedSolutionCharacterization) Source #
lookupScenarioSolution :: Sha1 -> ReaderT Connection IO (Maybe AssociatedSolutionCharacterization) Source #
There should only be one builtin solution for the scenario.
Insertion
insertScenario :: CharacterizationResponse ScenarioUploadResponsePayload -> ReaderT Connection IO Sha1 Source #
insertSolutionSubmission :: CharacterizationResponse SolutionUploadResponsePayload -> ReaderT Connection IO Sha1 Source #
insertSolution :: Connection -> Bool -> Sha1 -> SolutionCharacterization -> IO Int Source #
Orphan instances
FromRow AssociatedSolutionCharacterization Source # | |
Methods | |
FromRow SolutionCharacterization Source # | |
Methods | |
FromRow SolutionFileCharacterization Source # | |
Methods | |
FromRow TournamentGame Source # | |
Methods | |
FromRow TournamentSolution Source # | |
Methods |