Docs fallback

This commit is contained in:
Michael Snoyman 2014-12-24 09:23:38 +02:00
parent a7254a0140
commit 5cb2a6a296

View File

@ -42,12 +42,18 @@ getStackageSdistR slug (PNVNameVersion name version) = packagePage
name (Just version) name (Just version)
(do (do
Entity sid _ <- getBy404 $ UniqueSnapshot slug Entity sid _ <- getBy404 $ UniqueSnapshot slug
selectFirst let loop [] = return Nothing
[ DocsName ==. name loop (x:xs) = do
, DocsVersion ==. version mdocs <- selectFirst x []
, DocsSnapshot ==. Just sid case mdocs of
Nothing -> loop xs
Just _ -> return mdocs
loop
[ [DocsName ==. name, DocsVersion ==. version, DocsSnapshot ==. Just sid]
, [DocsName ==. name, DocsVersion ==. version]
, [DocsName ==. name]
] ]
[]) >>= sendResponse ) >>= sendResponse
addDownload :: Maybe PackageSetIdent addDownload :: Maybe PackageSetIdent
-> Maybe HackageView -> Maybe HackageView