diff --git a/src/Database/Queries.hs b/src/Database/Queries.hs index 8ab1923..93bf343 100644 --- a/src/Database/Queries.hs +++ b/src/Database/Queries.hs @@ -31,7 +31,7 @@ import Startlude ( getCurrentTime, maybe, ($), - (.), Bool (True), + (.), Bool (True, False), ) import System.FilePath (takeExtension) import UnliftIO ( @@ -97,7 +97,7 @@ import Model ( VersionRecordNumber, VersionRecordPkgId, VersionRecordTitle, - VersionRecordUpdatedAt, PkgRecordIsLocal + VersionRecordUpdatedAt, PkgRecordHidden ), Key (unPkgRecordKey), PkgCategory, @@ -133,7 +133,7 @@ serviceQuerySource mCat query mOsArch = selectSource $ do `innerJoin` table @PkgRecord `on` (\(v :& _ :& p) -> (PkgRecordId === VersionRecordPkgId) (p :& v)) where_ (service ^. VersionRecordNumber ==. vp ^. VersionPlatformVersionNumber) where_ (vp ^. VersionPlatformArch ==. val osArch) - where_ (pr ^. PkgRecordIsLocal ==. val True) + where_ (pr ^. PkgRecordHidden ==. val False) where_ $ queryInMetadata query service pure service Just category -> do @@ -149,7 +149,7 @@ serviceQuerySource mCat query mOsArch = selectSource $ do where_ $ cat ^. CategoryName ==. val category &&. queryInMetadata query service where_ (service ^. VersionRecordNumber ==. vp ^. VersionPlatformVersionNumber) where_ (vp ^. VersionPlatformArch ==. val osArch) - where_ (pr ^. PkgRecordIsLocal ==. val True) + where_ (pr ^. PkgRecordHidden ==. val False) pure service groupBy (service ^. VersionRecordPkgId, service ^. VersionRecordNumber) orderBy @@ -164,7 +164,7 @@ serviceQuerySource mCat query mOsArch = selectSource $ do (service :& pr) <- from $ table @VersionRecord `innerJoin` table @PkgRecord `on` (\(v :& p) -> (PkgRecordId === VersionRecordPkgId) (p :& v)) where_ $ queryInMetadata query service - where_ (pr ^. PkgRecordIsLocal ==. val True) + where_ (pr ^. PkgRecordHidden ==. val False) pure service Just category -> do (service :& _ :& cat :& pr) <- @@ -176,7 +176,7 @@ serviceQuerySource mCat query mOsArch = selectSource $ do -- if there is a cateogry, only search in category -- weight title, short, long (bitcoin should equal Bitcoin Core) where_ $ cat ^. CategoryName ==. val category &&. queryInMetadata query service - where_ (pr ^. PkgRecordIsLocal ==. val True) + where_ (pr ^. PkgRecordHidden ==. val False) pure service groupBy (service ^. VersionRecordPkgId, service ^. VersionRecordNumber) orderBy @@ -322,7 +322,7 @@ upsertPackageVersion PackageManifest{..} = do iconType packageManifestReleaseNotes packageManifestEosVersion - _res <- try @_ @SomeException $ insertKey pkgId (PkgRecord True now (Just now)) + _res <- try @_ @SomeException $ insertKey pkgId (PkgRecord False now (Just now)) repsert (VersionRecordKey pkgId packageManifestVersion) ins upsertPackageVersionPlatform :: (MonadUnliftIO m) => PackageManifest -> ReaderT SqlBackend m () diff --git a/src/Handler/Package/Api.hs b/src/Handler/Package/Api.hs index 179a489..7a3b0c7 100644 --- a/src/Handler/Package/Api.hs +++ b/src/Handler/Package/Api.hs @@ -77,11 +77,11 @@ instance ApiResponse PackageRes where data DependencyRes = DependencyRes { dependencyResTitle :: !Text , dependencyResIcon :: !(ContentType, ByteString) - , dependencyResIsLocal :: !Bool + , dependencyResHidden :: !Bool } deriving (Eq, Show) instance ApiResponse DependencyRes where - apiEncode V0 DependencyRes{..} = object ["icon" .= encodeBase64 (snd dependencyResIcon), "title" .= dependencyResTitle, "is-local" .= dependencyResIsLocal] - apiEncode V1 DependencyRes{..} = object ["icon" .= dataUrl dependencyResIcon, "title" .= dependencyResTitle, "is-local" .= dependencyResIsLocal] + apiEncode V0 DependencyRes{..} = object ["icon" .= encodeBase64 (snd dependencyResIcon), "title" .= dependencyResTitle, "hidden" .= dependencyResHidden] + apiEncode V1 DependencyRes{..} = object ["icon" .= dataUrl dependencyResIcon, "title" .= dependencyResTitle, "hidden" .= dependencyResHidden] diff --git a/src/Handler/Package/V1/Index.hs b/src/Handler/Package/V1/Index.hs index bb872ff..772642d 100644 --- a/src/Handler/Package/V1/Index.hs +++ b/src/Handler/Package/V1/Index.hs @@ -32,7 +32,7 @@ import Handler.Util (basicRender, parseQueryParam, getArchQuery) import Lib.PkgRepository (PkgRepo, getIcon, getManifest) import Lib.Types.Core (PkgId) import Lib.Types.Emver (Version, VersionRange (..), parseRange, satisfies, (<||)) -import Model (Category (..), Key (..), PkgDependency (..), VersionRecord (..), PkgRecord (pkgRecordIsLocal)) +import Model (Category (..), Key (..), PkgDependency (..), VersionRecord (..), PkgRecord (pkgRecordHidden)) import Protolude.Unsafe (unsafeFromJust) import Settings (AppSettings) import Startlude ( @@ -244,7 +244,7 @@ selectLatestVersionFromSpec pkgRanges vs = selectDependencyBestVersion :: (PkgDependency, PkgRecord) -> [VersionRecord] -> Maybe (PkgId, Text, Version, Bool) selectDependencyBestVersion pkgDepInfo depVersions = do let pkgDepRecord = fst pkgDepInfo - let isLocal = pkgRecordIsLocal $ snd pkgDepInfo + let isLocal = pkgRecordHidden $ snd pkgDepInfo let depId = pkgDependencyDepId pkgDepRecord let versionRequirement = pkgDependencyDepVersionRange pkgDepRecord let satisfactory = filter ((<|| versionRequirement) . versionRecordNumber) depVersions diff --git a/src/Lib/PkgRepository.hs b/src/Lib/PkgRepository.hs index 71d6c06..1307eff 100644 --- a/src/Lib/PkgRepository.hs +++ b/src/Lib/PkgRepository.hs @@ -206,7 +206,7 @@ loadPkgDependencies appConnPool manifest = do time <- liftIO getCurrentTime _ <- runWith appConnPool $ - insertKey (PkgRecordKey pkgId) (PkgRecord True time Nothing) `catch` \(e :: SqlError) -> + insertKey (PkgRecordKey pkgId) (PkgRecord False time Nothing) `catch` \(e :: SqlError) -> -- 23505 is "already exists" if sqlState e == "23505" then update (PkgRecordKey pkgId) [PkgRecordUpdatedAt =. Just time] else throwIO e let deps' = first PkgRecordKey <$> HM.toList deps @@ -215,7 +215,7 @@ loadPkgDependencies appConnPool manifest = do ( \d -> flip runSqlPool appConnPool $ do _ <- runWith appConnPool $ - insertKey (fst d) (PkgRecord True time Nothing) `catch` \(e :: SqlError) -> + insertKey (fst d) (PkgRecord False time Nothing) `catch` \(e :: SqlError) -> -- 23505 is "already exists" if sqlState e == "23505" then update (fst d) [PkgRecordUpdatedAt =. Just time] else throwIO e insertUnique $ diff --git a/src/Model.hs b/src/Model.hs index b9a10ff..4520e51 100644 --- a/src/Model.hs +++ b/src/Model.hs @@ -45,7 +45,7 @@ share [persistLowerCase| PkgRecord Id PkgId sql=pkg_id - isLocal Bool default=True + hidden Bool default=False createdAt UTCTime updatedAt UTCTime Maybe deriving Eq