This commit is contained in:
Lucy Cifferello
2023-09-19 10:46:42 -04:00
parent e1fbac315b
commit 3a7d9d5057

View File

@@ -66,7 +66,7 @@ instance FromJSON PackageManifest where
let packageManifestAlerts = HM.fromList a let packageManifestAlerts = HM.fromList a
packageManifestDependencies <- o .: "dependencies" packageManifestDependencies <- o .: "dependencies"
packageManifestEosVersion <- o .: "eos-version" packageManifestEosVersion <- o .: "eos-version"
packageHardwareDevice <- o .:? "hardware-requirements" >>= maybe (pure Nothing) (.:? "devices") >>= parsePackageDevice packageHardwareDevice <- o .:? "hardware-requirements" >>= maybe (pure Nothing) (.:? "device") >>= parsePackageDevice
packageHardwareRam <- o .:? "hardware-requirements" >>= maybe (pure Nothing) (.:? "ram") packageHardwareRam <- o .:? "hardware-requirements" >>= maybe (pure Nothing) (.:? "ram")
packageHardwareArch <- o .:? "hardware-requirements" >>= maybe (pure Nothing) (.:? "arch") packageHardwareArch <- o .:? "hardware-requirements" >>= maybe (pure Nothing) (.:? "arch")
pure PackageManifest{..} pure PackageManifest{..}
@@ -121,7 +121,7 @@ data ServiceAlert = INSTALL | UNINSTALL | RESTORE | START | STOP
-- >>> eitherDecodeStrict testManifest :: Either String PackageManifest -- >>> eitherDecodeStrict testManifest :: Either String PackageManifest
-- Right (PackageManifest {packageManifestId = embassy-pages, packageManifestTitle = "Embassy Pages", packageManifestVersion = 0.1.3, packageManifestDescriptionLong = "Embassy Pages is a simple web server that uses directories inside File Browser to serve Tor websites.", packageManifestDescriptionShort = "Create Tor websites, hosted on your Embassy.", packageManifestReleaseNotes = "Upgrade to EmbassyOS v0.3.0", packageManifestIcon = Just "icon.png", packageManifestAlerts = fromList [(STOP,Nothing),(RESTORE,Nothing),(INSTALL,Nothing),(START,Nothing),(UNINSTALL,Nothing)], packageManifestDependencies = fromList [(filebrowser,PackageDependency {packageDependencyOptional = Nothing, packageDependencyVersion = >=2.14.1.1 <3.0.0, packageDependencyDescription = Just "Used to upload files to serve."})], packageManifestEosVersion = 0.3.0, packageHardwareDevice = Just (PackageDevice (fromList [("processor",RegexPattern "^[A-Za-z0-9]+$"),("display",RegexPattern "^[A-Za-z0-9]+$")])), packageHardwareRam = Just 8000000000, packageHardwareArch = Just [aarch64,x86_64]}) -- Right (PackageManifest {packageManifestId = embassy-pages, packageManifestTitle = "Embassy Pages", packageManifestVersion = 0.1.3, packageManifestDescriptionLong = "Embassy Pages is a simple web server that uses directories inside File Browser to serve Tor websites.", packageManifestDescriptionShort = "Create Tor websites, hosted on your Embassy.", packageManifestReleaseNotes = "Upgrade to EmbassyOS v0.3.0", packageManifestIcon = Just "icon.png", packageManifestAlerts = fromList [(STOP,Nothing),(RESTORE,Nothing),(INSTALL,Nothing),(START,Nothing),(UNINSTALL,Nothing)], packageManifestDependencies = fromList [(filebrowser,PackageDependency {packageDependencyOptional = Nothing, packageDependencyVersion = >=2.14.1.1 <3.0.0, packageDependencyDescription = Just "Used to upload files to serve."})], packageManifestEosVersion = 0.3.0, packageHardwareDevice = Just (PackageDevice {unPackageDevice = fromList [("processor",RegexPattern "^[A-Za-z0-9]+$"),("display",RegexPattern "CometLake")]}), packageHardwareRam = Just 8000000000, packageHardwareArch = Just [aarch64,x86_64]})
testManifest :: ByteString testManifest :: ByteString
testManifest = testManifest =
[i|{ [i|{
@@ -136,7 +136,7 @@ testManifest =
"hardware-requirements": { "hardware-requirements": {
"device": { "device": {
"processor": "^[A-Za-z0-9]+$", "processor": "^[A-Za-z0-9]+$",
"display": "^[A-Za-z0-9]+$" "display": "CometLake"
}, },
"ram": 8000000000, "ram": 8000000000,
"arch": ["aarch64", "x86_64"] "arch": ["aarch64", "x86_64"]