X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=Rakka.git;a=blobdiff_plain;f=Rakka%2FResource%2FUsers.hs;h=a4bf60204b047d54944afb08dadc62fd08386f13;hp=7eb0e136b0974dbc4121825cdb664e1c0084dc04;hb=e72dffe3a211d94a123a9a0b6843ae9b4b9838f5;hpb=547fd6221931c8025085db91f7424db850156129
diff --git a/Rakka/Resource/Users.hs b/Rakka/Resource/Users.hs
index 7eb0e13..a4bf602 100644
--- a/Rakka/Resource/Users.hs
+++ b/Rakka/Resource/Users.hs
@@ -7,12 +7,9 @@ import Control.Monad
import Control.Monad.Trans
import Data.Maybe
import Network.HTTP.Lucu
-import Network.URI hiding (path)
import Rakka.Authorization
import Rakka.Environment
import Rakka.Resource
-import Rakka.SystemConfig
-import System.FilePath
import Text.XML.HXT.Arrow hiding (when)
@@ -31,17 +28,11 @@ resUsers env
{-
[GET /users]
-
-
-
-
-
-
- ...
-
-
-
-
+
+
+
+ ...
+
[GET /users/foo]
204 No Content
@@ -63,42 +54,20 @@ handleGet env
where
returnUserList :: Resource ()
returnUserList
- = do BaseURI baseURI <- getSysConf (envSysConf env)
- users <- liftIO $ getUserList $ envAuthDB env
+ = do users <- liftIO $ getUserList $ envAuthDB env
runIdempotentA' $ proc ()
-> do tree <- ( eelem "/"
- += ( eelem "rdf:RDF"
- += sattr "xmlns" "http://cielonegro.org/terms/"
- += sattr "xmlns:rdf" "http://www.w3.org/1999/02/22-rdf-syntax-ns#"
- += ( eelem "rdf:Description"
- += sattr "rdf:about" (uriToString id (mkUserURI baseURI Nothing) "")
- += ( eelem "users"
- += ( eelem "rdf:Bag"
- += ( constL users
- >>>
- ( eelem "rdf:li"
- += attr "rdf:resource" ( arr ( \ name ->
- uriToString
- id
- (mkUserURI baseURI $ Just name)
- ""
- )
- >>>
- mkText
- )
- )
- )
- )
- )
+ += ( eelem "users"
+ += ( constL users
+ >>>
+ ( eelem "user"
+ += attr "id" mkText
+ )
)
)
) -< ()
returnA -< outputXml tree
- mkUserURI :: URI -> Maybe String -> URI
- mkUserURI baseURI Nothing = baseURI { uriPath = uriPath baseURI > "users" }
- mkUserURI baseURI (Just x) = baseURI { uriPath = uriPath baseURI > "users" > x }
-
returnUser :: String -> Resource ()
returnUser name
= do users <- liftIO $ getUserList $ envAuthDB env