-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | Example project for rest -- -- Example project for rest @package rest-example @version 0.2.0.4 module Type.UserSignupError data UserSignupError InvalidPassword :: UserSignupError InvalidUserName :: UserSignupError instance GHC.Generics.Constructor Type.UserSignupError.C1_1UserSignupError instance GHC.Generics.Constructor Type.UserSignupError.C1_0UserSignupError instance GHC.Generics.Datatype Type.UserSignupError.D1UserSignupError instance GHC.Show.Show Type.UserSignupError.UserSignupError instance GHC.Classes.Ord Type.UserSignupError.UserSignupError instance GHC.Generics.Generic Type.UserSignupError.UserSignupError instance GHC.Classes.Eq Type.UserSignupError.UserSignupError instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler Type.UserSignupError.UserSignupError instance Data.JSON.Schema.Types.JSONSchema Type.UserSignupError.UserSignupError instance Data.Aeson.Types.Class.FromJSON Type.UserSignupError.UserSignupError instance Data.Aeson.Types.Class.ToJSON Type.UserSignupError.UserSignupError instance Rest.Types.Error.ToResponseCode Type.UserSignupError.UserSignupError module Api.Test.Err2 data Err Err :: Err instance GHC.Generics.Constructor Api.Test.Err2.C1_0Err instance GHC.Generics.Datatype Api.Test.Err2.D1Err instance GHC.Show.Show Api.Test.Err2.Err instance GHC.Generics.Generic Api.Test.Err2.Err instance Data.Aeson.Types.Class.ToJSON Api.Test.Err2.Err instance Data.Aeson.Types.Class.FromJSON Api.Test.Err2.Err instance Data.JSON.Schema.Types.JSONSchema Api.Test.Err2.Err instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler Api.Test.Err2.Err instance Rest.Types.Error.ToResponseCode Api.Test.Err2.Err module Type.User type Name = Text type Password = Text data User User :: Name -> Password -> User [name] :: User -> Name [password] :: User -> Password instance GHC.Generics.Selector Type.User.S1_0_1User instance GHC.Generics.Selector Type.User.S1_0_0User instance GHC.Generics.Constructor Type.User.C1_0User instance GHC.Generics.Datatype Type.User.D1User instance GHC.Show.Show Type.User.User instance GHC.Classes.Ord Type.User.User instance GHC.Generics.Generic Type.User.User instance GHC.Classes.Eq Type.User.User instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler Type.User.User instance Data.JSON.Schema.Types.JSONSchema Type.User.User instance Data.Aeson.Types.Class.FromJSON Type.User.User instance Data.Aeson.Types.Class.ToJSON Type.User.User module Type.UserComment data UserComment UserComment :: User -> Text -> UserComment [user] :: UserComment -> User [comment] :: UserComment -> Text instance GHC.Generics.Selector Type.UserComment.S1_0_1UserComment instance GHC.Generics.Selector Type.UserComment.S1_0_0UserComment instance GHC.Generics.Constructor Type.UserComment.C1_0UserComment instance GHC.Generics.Datatype Type.UserComment.D1UserComment instance GHC.Show.Show Type.UserComment.UserComment instance GHC.Classes.Ord Type.UserComment.UserComment instance GHC.Generics.Generic Type.UserComment.UserComment instance GHC.Classes.Eq Type.UserComment.UserComment instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler Type.UserComment.UserComment instance Data.JSON.Schema.Types.JSONSchema Type.UserComment.UserComment instance Data.Aeson.Types.Class.FromJSON Type.UserComment.UserComment instance Data.Aeson.Types.Class.ToJSON Type.UserComment.UserComment module Type.UserInfo data UserInfo UserInfo :: Name -> UserInfo [name] :: UserInfo -> Name instance GHC.Generics.Selector Type.UserInfo.S1_0_0UserInfo instance GHC.Generics.Constructor Type.UserInfo.C1_0UserInfo instance GHC.Generics.Datatype Type.UserInfo.D1UserInfo instance GHC.Show.Show Type.UserInfo.UserInfo instance GHC.Generics.Generic Type.UserInfo.UserInfo instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler Type.UserInfo.UserInfo instance Data.JSON.Schema.Types.JSONSchema Type.UserInfo.UserInfo instance Data.Aeson.Types.Class.FromJSON Type.UserInfo.UserInfo instance Data.Aeson.Types.Class.ToJSON Type.UserInfo.UserInfo module Type.PostError data PostError InvalidTitle :: PostError InvalidContent :: PostError instance GHC.Generics.Constructor Type.PostError.C1_1PostError instance GHC.Generics.Constructor Type.PostError.C1_0PostError instance GHC.Generics.Datatype Type.PostError.D1PostError instance GHC.Show.Show Type.PostError.PostError instance GHC.Classes.Ord Type.PostError.PostError instance GHC.Generics.Generic Type.PostError.PostError instance GHC.Classes.Eq Type.PostError.PostError instance Data.Aeson.Types.Class.FromJSON Type.PostError.PostError instance Data.JSON.Schema.Types.JSONSchema Type.PostError.PostError instance Data.Aeson.Types.Class.ToJSON Type.PostError.PostError instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler Type.PostError.PostError instance Rest.Types.Error.ToResponseCode Type.PostError.PostError module Type.Post type Id = Int type Title = Text data Post Post :: Id -> Name -> UTCTime -> Title -> Text -> Post [id] :: Post -> Id [author] :: Post -> Name [createdTime] :: Post -> UTCTime [title] :: Post -> Title [content] :: Post -> Text instance GHC.Generics.Selector Type.Post.S1_0_4Post instance GHC.Generics.Selector Type.Post.S1_0_3Post instance GHC.Generics.Selector Type.Post.S1_0_2Post instance GHC.Generics.Selector Type.Post.S1_0_1Post instance GHC.Generics.Selector Type.Post.S1_0_0Post instance GHC.Generics.Constructor Type.Post.C1_0Post instance GHC.Generics.Datatype Type.Post.D1Post instance GHC.Show.Show Type.Post.Post instance GHC.Classes.Ord Type.Post.Post instance GHC.Generics.Generic Type.Post.Post instance GHC.Classes.Eq Type.Post.Post instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler Type.Post.Post instance Data.JSON.Schema.Types.JSONSchema Type.Post.Post instance Data.Aeson.Types.Class.FromJSON Type.Post.Post instance Data.Aeson.Types.Class.ToJSON Type.Post.Post instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler Data.Time.Clock.UTC.UTCTime module Type.Comment data Comment Comment :: Name -> UTCTime -> Text -> Comment [author] :: Comment -> Name [createdTime] :: Comment -> UTCTime [content] :: Comment -> Text instance GHC.Generics.Selector Type.Comment.S1_0_2Comment instance GHC.Generics.Selector Type.Comment.S1_0_1Comment instance GHC.Generics.Selector Type.Comment.S1_0_0Comment instance GHC.Generics.Constructor Type.Comment.C1_0Comment instance GHC.Generics.Datatype Type.Comment.D1Comment instance GHC.Show.Show Type.Comment.Comment instance GHC.Classes.Ord Type.Comment.Comment instance GHC.Generics.Generic Type.Comment.Comment instance GHC.Classes.Eq Type.Comment.Comment instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler Type.Comment.Comment instance Data.JSON.Schema.Types.JSONSchema Type.Comment.Comment instance Data.Aeson.Types.Class.FromJSON Type.Comment.Comment instance Data.Aeson.Types.Class.ToJSON Type.Comment.Comment module Type.CreatePost type Title = Text data CreatePost CreatePost :: Title -> Text -> CreatePost [title] :: CreatePost -> Title [content] :: CreatePost -> Text instance GHC.Generics.Selector Type.CreatePost.S1_0_1CreatePost instance GHC.Generics.Selector Type.CreatePost.S1_0_0CreatePost instance GHC.Generics.Constructor Type.CreatePost.C1_0CreatePost instance GHC.Generics.Datatype Type.CreatePost.D1CreatePost instance GHC.Show.Show Type.CreatePost.CreatePost instance GHC.Classes.Ord Type.CreatePost.CreatePost instance GHC.Generics.Generic Type.CreatePost.CreatePost instance GHC.Classes.Eq Type.CreatePost.CreatePost instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler Type.CreatePost.CreatePost instance Data.JSON.Schema.Types.JSONSchema Type.CreatePost.CreatePost instance Data.Aeson.Types.Class.FromJSON Type.CreatePost.CreatePost instance Data.Aeson.Types.Class.ToJSON Type.CreatePost.CreatePost module Type.UserPost data UserPost UserPost :: User -> CreatePost -> UserPost [user] :: UserPost -> User [post] :: UserPost -> CreatePost instance GHC.Generics.Selector Type.UserPost.S1_0_1UserPost instance GHC.Generics.Selector Type.UserPost.S1_0_0UserPost instance GHC.Generics.Constructor Type.UserPost.C1_0UserPost instance GHC.Generics.Datatype Type.UserPost.D1UserPost instance GHC.Show.Show Type.UserPost.UserPost instance GHC.Classes.Ord Type.UserPost.UserPost instance GHC.Generics.Generic Type.UserPost.UserPost instance GHC.Classes.Eq Type.UserPost.UserPost instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler Type.UserPost.UserPost instance Data.JSON.Schema.Types.JSONSchema Type.UserPost.UserPost instance Data.Aeson.Types.Class.FromJSON Type.UserPost.UserPost instance Data.Aeson.Types.Class.ToJSON Type.UserPost.UserPost module ApiTypes data ServerData ServerData :: TVar (Set User) -> TVar (Set Post) -> TVar (HashMap Id (Set Comment)) -> ServerData [users] :: ServerData -> TVar (Set User) [posts] :: ServerData -> TVar (Set Post) [comments] :: ServerData -> TVar (HashMap Id (Set Comment)) newtype BlogApi a BlogApi :: ReaderT ServerData IO a -> BlogApi a [unBlogApi] :: BlogApi a -> ReaderT ServerData IO a runBlogApi :: ServerData -> BlogApi a -> IO a instance Control.Monad.Reader.Class.MonadReader ApiTypes.ServerData ApiTypes.BlogApi instance Control.Monad.IO.Class.MonadIO ApiTypes.BlogApi instance GHC.Base.Monad ApiTypes.BlogApi instance GHC.Base.Functor ApiTypes.BlogApi instance GHC.Base.Applicative ApiTypes.BlogApi module Api.Post data Identifier Latest :: Identifier ById :: Int -> Identifier -- | Post extends the root of the API with a reader containing the ways to -- identify a Post in our URLs. Currently only by the title of the post. type WithPost = ReaderT Identifier BlogApi -- | Defines the /post api end-point. resource :: Resource BlogApi WithPost Identifier () Void postFromIdentifier :: Identifier -> TVar (Set Post) -> STM (Maybe Post) instance GHC.Read.Read Api.Post.Identifier instance GHC.Show.Show Api.Post.Identifier instance GHC.Classes.Eq Api.Post.Identifier instance Rest.Types.Info.Info Api.Post.Identifier instance Rest.Types.ShowUrl.ShowUrl Api.Post.Identifier module Api.Post.Comment resource :: Resource WithPost WithComment Identifier () Void module Api.Test resource :: Resource BlogApi WithText Text Void Void -- | User extends the root of the API with a reader containing the ways to -- identify a user in our URLs. Currently only by the user name. type WithText = ReaderT Text BlogApi data Err Err :: Err data Ok Ok :: Ok instance GHC.Generics.Constructor Api.Test.C1_0Ok instance GHC.Generics.Datatype Api.Test.D1Ok instance GHC.Generics.Constructor Api.Test.C1_0Err instance GHC.Generics.Datatype Api.Test.D1Err instance GHC.Show.Show Api.Test.Ok instance GHC.Generics.Generic Api.Test.Ok instance GHC.Show.Show Api.Test.Err instance GHC.Generics.Generic Api.Test.Err instance Data.Aeson.Types.Class.ToJSON Api.Test.Err instance Data.Aeson.Types.Class.FromJSON Api.Test.Err instance Data.JSON.Schema.Types.JSONSchema Api.Test.Err instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler Api.Test.Err instance Rest.Types.Error.ToResponseCode Api.Test.Err instance Text.XML.HXT.Arrow.Pickle.Xml.XmlPickler Api.Test.Ok instance Data.Aeson.Types.Class.ToJSON Api.Test.Ok instance Data.Aeson.Types.Class.FromJSON Api.Test.Ok instance Data.JSON.Schema.Types.JSONSchema Api.Test.Ok module Api.Test.DashedName resource :: Resource WithText WithSiteSubscription SiteId Void Void module Api.Test.ReservedName resource :: Resource WithText WithText Text Void Void module Api.User -- | Defines the /user api end-point. resource :: Resource BlogApi WithUser Name () Void module Example exampleBlog :: IO ServerData -- | The API path hierarchy module Api -- | Defines a versioned api api :: Api BlogApi -- | The entire routing table for v1.0.0 of the blog blog :: Router BlogApi BlogApi