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