rename apps endpoints to package and add header to addl endpoint

This commit is contained in:
Lucy Cifferello
2021-07-06 11:25:14 -04:00
committed by Keagan McClelland
parent e5ab62c313
commit 9e9ece45f8
4 changed files with 15 additions and 5 deletions

View File

@@ -3,11 +3,11 @@
/version VersionR GET
/apps/version/#Text VersionAppR GET -- get most recent appId version
/package/version/#Text VersionAppR GET -- get most recent appId version
/sys/version/#Text VersionSysR GET -- get most recent sys app version
/icons/#PNG IconsR GET -- get icons
!/apps/#S9PK AppR GET -- get most recent appId at appversion spec, defaults to >=0.0.0 -- ?spec={semver-spec}
!/package/#S9PK AppR GET -- get most recent appId at appversion spec, defaults to >=0.0.0 -- ?spec={semver-spec}
/sys/status SystemStatusR GET -- get system update status and version
!/sys/#SYS_EXTENSIONLESS SysR GET -- get most recent sys app -- ?spec={semver-spec}

View File

@@ -112,12 +112,16 @@ getApp rootDir ext@(Extension appId) = do
putStrLn $ "valid appversion for " <> (show ext :: String) <> ": " <> show appVersions
let satisfactory = filter ((<|| spec) . fst . unRegisteredAppVersion) appVersions
let best = fst . getMaxVersion <$> foldMap (Just . MaxVersion . (, fst . unRegisteredAppVersion)) satisfactory
(appsDir, appMgrDir) <- getsYesod $ ((</> "apps") . resourcesDir &&& staticBinDir) . appSettings
case best of
Nothing -> notFound
Just (RegisteredAppVersion (appVersion, filePath)) -> do
exists' <- liftIO $ doesFileExist filePath >>= \case
True -> pure Existent
False -> pure NonExistent
let appDir = (<> "/") . (</> show appVersion) . (</> toS appId) $ appsDir
let appExt = Extension (toS appId) :: Extension "s9pk"
addPackageHeader appMgrDir appDir appExt
determineEvent exists' (extension ext) filePath appVersion
where
determineEvent :: FileExistence -> String -> FilePath -> Version -> HandlerFor RegistryCtx TypedContent

View File

@@ -213,7 +213,7 @@ getServiceR = do
-- @TODO uncomment when sdk icon working
-- icon <- decodeIcon appMgrDir depPath appExt
let icon = [i|https://#{domain}/icons/#{appId}.png|]
-- addPackageHeader appMgrDir appDir appExt
addPackageHeader appMgrDir appDir appExt
pure $ ServiceRes
{ serviceResIcon = icon
, serviceResManifest = manifest -- TypedContent "application/json" (toContent manifest)

View File

@@ -27,8 +27,14 @@ getVersionR = do
getVersionAppR :: Text -> Handler (Maybe AppVersionRes)
getVersionAppR appId = do
appsDir <- (</> "apps") . resourcesDir . appSettings <$> getYesod
getVersionWSpec appsDir appExt
(appsDir, appMgrDir) <- getsYesod $ ((</> "apps") . resourcesDir &&& staticBinDir) . appSettings
res <- getVersionWSpec appsDir appExt
case res of
Nothing -> pure res
Just r -> do
let appDir = (<> "/") . (</> (show $ appVersionVersion r)) . (</> toS appId) $ appsDir
addPackageHeader appMgrDir appDir appExt
pure res
where appExt = Extension (toS appId) :: Extension "s9pk"
-- @TODO update to using db record