mirror of
https://github.com/Start9Labs/registry.git
synced 2026-03-30 11:51:57 +00:00
fix bug where packages with unknown dependencies won't be accepted
This commit is contained in:
@@ -60,7 +60,8 @@ import Database.Persist.Sql ( SqlPersistT
|
|||||||
import Database.PostgreSQL.Simple ( SqlError(sqlState) )
|
import Database.PostgreSQL.Simple ( SqlError(sqlState) )
|
||||||
import Lib.Error ( S9Error(NotFoundE) )
|
import Lib.Error ( S9Error(NotFoundE) )
|
||||||
import qualified Lib.External.AppMgr as AppMgr
|
import qualified Lib.External.AppMgr as AppMgr
|
||||||
import Lib.Types.AppIndex ( PackageManifest(..)
|
import Lib.Types.AppIndex ( PackageDependency(..)
|
||||||
|
, PackageManifest(..)
|
||||||
, PkgId(..)
|
, PkgId(..)
|
||||||
, packageDependencyVersion
|
, packageDependencyVersion
|
||||||
, packageManifestDependencies
|
, packageManifestDependencies
|
||||||
@@ -198,6 +199,8 @@ loadPkgDependencies appConnPool manifest = do
|
|||||||
for_
|
for_
|
||||||
deps'
|
deps'
|
||||||
(\d -> flip runSqlPool appConnPool $ do
|
(\d -> flip runSqlPool appConnPool $ do
|
||||||
|
_ <- runWith appConnPool $ insertKey (fst d) (PkgRecord time Nothing) `catch` \(e :: SqlError) ->
|
||||||
|
if sqlState e == "23505" then update (fst d) [PkgRecordUpdatedAt =. Just time] else throwIO e
|
||||||
insertUnique
|
insertUnique
|
||||||
$ PkgDependency time (PkgRecordKey pkgId) pkgVersion (fst d) (packageDependencyVersion . snd $ d)
|
$ PkgDependency time (PkgRecordKey pkgId) pkgVersion (fst d) (packageDependencyVersion . snd $ d)
|
||||||
)
|
)
|
||||||
|
|||||||
Reference in New Issue
Block a user