|
@@ -50,12 +50,10 @@ import System.IO.Unsafe (unsafePerformIO)
|
|
import qualified System.Random.MWC as R
|
|
import qualified System.Random.MWC as R
|
|
import Text.Blaze.Html.Renderer.Utf8 (renderHtmlBuilder)
|
|
import Text.Blaze.Html.Renderer.Utf8 (renderHtmlBuilder)
|
|
import Yesod
|
|
import Yesod
|
|
-import GHC.Generics
|
|
|
|
|
|
|
|
mkPersist sqlSettings { mpsGeneric = True } [persistLowerCase|
|
|
mkPersist sqlSettings { mpsGeneric = True } [persistLowerCase|
|
|
World sql=World
|
|
World sql=World
|
|
randomNumber Int sql=randomNumber
|
|
randomNumber Int sql=randomNumber
|
|
- deriving Generic Show
|
|
|
|
|]
|
|
|]
|
|
|
|
|
|
mkPersist sqlSettings { mpsGeneric = True } [persistLowerCase|
|
|
mkPersist sqlSettings { mpsGeneric = True } [persistLowerCase|
|
|
@@ -63,8 +61,6 @@ Fortune sql=Fortune
|
|
message Text sql=message
|
|
message Text sql=message
|
|
|]
|
|
|]
|
|
|
|
|
|
-instance ToJSON World
|
|
|
|
-
|
|
|
|
data App = App
|
|
data App = App
|
|
{ appGen :: !(R.Gen (PrimState IO))
|
|
{ appGen :: !(R.Gen (PrimState IO))
|
|
, appDbPool :: !(Pool Pg.SqlBackend)
|
|
, appDbPool :: !(Pool Pg.SqlBackend)
|
|
@@ -133,10 +129,14 @@ getDbR :: Handler Value
|
|
getDbR = do
|
|
getDbR = do
|
|
app <- getYesod
|
|
app <- getYesod
|
|
randomNumber <- liftIO $ ((R.uniformR (1, 1000) (appGen app)) :: IO Int)
|
|
randomNumber <- liftIO $ ((R.uniformR (1, 1000) (appGen app)) :: IO Int)
|
|
- (runPg $ get ((toSqlKey $ fromIntegral randomNumber) :: WorldId)) >>= \case
|
|
|
|
|
|
+ let wId = (toSqlKey $ fromIntegral randomNumber) :: WorldId
|
|
|
|
+ (runPg $ get wId) >>= \case
|
|
-- TODO: Throw appropriate HTTP response
|
|
-- TODO: Throw appropriate HTTP response
|
|
Nothing -> error "This shouldn't be happening"
|
|
Nothing -> error "This shouldn't be happening"
|
|
- Just worldRow -> returnJson worldRow
|
|
|
|
|
|
+ Just worldRow -> returnJson $ object [
|
|
|
|
+ "id" .= wId
|
|
|
|
+ ,"randomnumber" .= (worldRandomNumber worldRow)
|
|
|
|
+ ]
|
|
|
|
|
|
-- getMongoRawDbR :: Handler Value
|
|
-- getMongoRawDbR :: Handler Value
|
|
-- getMongoRawDbR = getDb rawMongoIntQuery
|
|
-- getMongoRawDbR = getDb rawMongoIntQuery
|
|
@@ -273,7 +273,6 @@ getDbR = do
|
|
-- stripEntity e =
|
|
-- stripEntity e =
|
|
-- (My.fromSqlKey (My.entityKey e), fortuneMessage . My.entityVal $ e)
|
|
-- (My.fromSqlKey (My.entityKey e), fortuneMessage . My.entityVal $ e)
|
|
|
|
|
|
-
|
|
|
|
getPlaintextR :: Handler Text
|
|
getPlaintextR :: Handler Text
|
|
getPlaintextR = return "Hello, World!"
|
|
getPlaintextR = return "Hello, World!"
|
|
|
|
|