2
2
{-# LANGUAGE OverloadedStrings #-}
3
3
4
4
module Security.Advisories.Queries
5
- ( isAffectedBy
5
+ ( listVersionRangeAffectedBy
6
+ , isVersionRangeAffectedBy
6
7
, parseVersionRange
7
- , listAffectedBy
8
8
)
9
9
where
10
10
@@ -25,8 +25,8 @@ import Security.Advisories.Definition
25
25
import Security.Advisories.Filesystem
26
26
27
27
-- | Check whether a package and a version range is concerned by an advisory
28
- isAffectedBy :: Text -> VersionRange -> Advisory -> Bool
29
- isAffectedBy queryPackageName queryVersionRange =
28
+ isVersionRangeAffectedBy :: Text -> VersionRange -> Advisory -> Bool
29
+ isVersionRangeAffectedBy queryPackageName queryVersionRange =
30
30
any checkAffected . advisoryAffected
31
31
where
32
32
checkAffected :: Affected -> Bool
@@ -47,20 +47,18 @@ isAffectedBy queryPackageName queryVersionRange =
47
47
| [] <- asVersionIntervals range = False
48
48
| otherwise = True
49
49
50
- -- | Parse 'VersionRange' as given to the CLI
51
- parseVersionRange :: Maybe Text -> Either Text VersionRange
52
- parseVersionRange = maybe (return anyVersion) (first T. pack . eitherParsec . T. unpack)
53
-
54
50
-- | List the advisories matching package/version range
55
- listAffectedBy :: FilePath -> Text -> VersionRange -> IO [Advisory ]
56
- listAffectedBy root queryPackageName queryVersionRange = do
57
- advisories <-
51
+ listVersionRangeAffectedBy :: FilePath -> Text -> VersionRange -> IO [Advisory ]
52
+ listVersionRangeAffectedBy root queryPackageName queryVersionRange =
58
53
listAdvisories root >>= \ case
59
54
Failure errors -> do
60
55
T. hPutStrLn stderr " Cannot parse some advisories"
61
56
forM_ errors $
62
57
hPrint stderr
63
58
exitFailure
64
59
Success advisories ->
65
- return advisories
66
- return $ filter (isAffectedBy queryPackageName queryVersionRange) advisories
60
+ return $ filter (isVersionRangeAffectedBy queryPackageName queryVersionRange) advisories
61
+
62
+ -- | Parse 'VersionRange' as given to the CLI
63
+ parseVersionRange :: Maybe Text -> Either Text VersionRange
64
+ parseVersionRange = maybe (return anyVersion) (first T. pack . eitherParsec . T. unpack)
0 commit comments