fixes missing dependency info

This commit is contained in:
Keagan McClelland
2020-09-23 11:38:13 -06:00
parent fc10cb5f5a
commit d2b68f2fd9
2 changed files with 3 additions and 1 deletions

View File

@@ -28,7 +28,6 @@ module Application
import Startlude import Startlude
import Control.Monad.Logger (liftLoc, runLoggingT) import Control.Monad.Logger (liftLoc, runLoggingT)
import Data.Aeson
import Data.Default import Data.Default
import Database.Persist.Postgresql (createPostgresqlPool, pgConnStr, pgPoolSize, runSqlPool, runMigration) import Database.Persist.Postgresql (createPostgresqlPool, pgConnStr, pgPoolSize, runSqlPool, runMigration)
import Language.Haskell.TH.Syntax (qLocation) import Language.Haskell.TH.Syntax (qLocation)

View File

@@ -17,6 +17,7 @@ type AppIdentifier = Text
data VersionInfo = VersionInfo data VersionInfo = VersionInfo
{ versionInfoVersion :: AppVersion { versionInfoVersion :: AppVersion
, versionInfoReleaseNotes :: Text , versionInfoReleaseNotes :: Text
, versionInfoDependencies :: HM.HashMap Text AppVersionSpec
, versionInfoOsRequired :: AppVersionSpec , versionInfoOsRequired :: AppVersionSpec
, versionInfoOsRecommended :: AppVersionSpec , versionInfoOsRecommended :: AppVersionSpec
} }
@@ -29,6 +30,7 @@ instance FromJSON VersionInfo where
parseJSON = withObject "version info" $ \o -> do parseJSON = withObject "version info" $ \o -> do
versionInfoVersion <- o .: "version" versionInfoVersion <- o .: "version"
versionInfoReleaseNotes <- o .: "release-notes" versionInfoReleaseNotes <- o .: "release-notes"
versionInfoDependencies <- o .:? "dependencies" .!= HM.empty
versionInfoOsRequired <- o .:? "os-version-required" .!= AppVersionAny versionInfoOsRequired <- o .:? "os-version-required" .!= AppVersionAny
versionInfoOsRecommended <- o .:? "os-version-recommended" .!= AppVersionAny versionInfoOsRecommended <- o .:? "os-version-recommended" .!= AppVersionAny
pure VersionInfo { .. } pure VersionInfo { .. }
@@ -37,6 +39,7 @@ instance ToJSON VersionInfo where
toJSON VersionInfo {..} = object toJSON VersionInfo {..} = object
[ "version" .= versionInfoVersion [ "version" .= versionInfoVersion
, "release-notes" .= versionInfoReleaseNotes , "release-notes" .= versionInfoReleaseNotes
, "dependencies" .= versionInfoDependencies
, "os-version-required" .= versionInfoOsRequired , "os-version-required" .= versionInfoOsRequired
, "os-version-recommended" .= versionInfoOsRecommended , "os-version-recommended" .= versionInfoOsRecommended
] ]