name: wheb-mongo version: 0.0.2.0 synopsis: MongoDB plugin for Wheb homepage: https://github.com/hansonkd/Wheb-Framework license: BSD3 license-file: LICENSE author: Kyle Hanson maintainer: hanooter@gmail.com category: Database build-type: Simple cabal-version: >=1.8 description: Wheb plugin for MongoDB. . * Implements SessionBackend and AuthBackend instances using MongoDB and Wheb. . * Creates simple interface for arbitrary MongoDB actions using . * Creates simple interface for arbitrary MongoDB actions using . For a complete example, see the examples folder at . You can override the collection names for the Auth and Session documents by using 'addSetting' and setting keys for \"session-collection\" and \"auth-collection\" . > opts <- generateOptions $ do > addSetting "session-collection" "my-collection" . Reimplimentation of official example below. Use with language extensions /OvererloadedStrings/ & /ExtendedDefaultRules/. . > import qualified Data.Text.Lazy as T > > import Web.Wheb > import Web.Wheb.Plugins.Mongo > > data MyApp = MyApp MongoContainer > data MyRequestState = MyRequestState > > instance MongoApp MyApp where > getMongoContainer (MyApp mc) = mc > > homePage :: WhebHandler MyApp MyRequestState > homePage = do > teams <- runAction $ rest =<< find (select [] "team") > text $ T.intercalate " | " $ map spack teams > > main :: IO () > main = do > opts <- generateOptions $ do > addGET "." rootPat $ homePage > mongo <- initMongo "127.0.0.1:27017" "master" > return (MyApp mongo, MyRequestState) > > runRawHandler opts $ do > runAction $ do > delete (select [] "team") > insertMany "team" [ > ["name" =: "Yankees", "home" =: ["city" =: "New York", "state" =: "NY"], "league" =: "American"], > ["name" =: "Mets", "home" =: ["city" =: "New York", "state" =: "NY"], "league" =: "National"], > ["name" =: "Phillies", "home" =: ["city" =: "Philadelphia", "state" =: "PA"], "league" =: "National"], > ["name" =: "Red Sox", "home" =: ["city" =: "Boston", "state" =: "MA"], "league" =: "American"] ] > > runWhebServer opts library exposed-modules: Web.Wheb.Plugins.Mongo build-depends: base >=4.7 && <4.8, text >= 1.0 && < 1.2, mongoDB >=2.0 && < 2.1, Wheb >=0.2 && < 0.3, bson >=0.3 && <0.4, mtl >= 2.1 && < 2.3