mirror of
https://github.com/Start9Labs/registry.git
synced 2026-03-31 04:03:40 +00:00
rework to normalize version in db and small cleanups
This commit is contained in:
@@ -5,51 +5,44 @@
|
||||
module Database.Queries where
|
||||
|
||||
import Startlude
|
||||
import Lib.Types.Semver
|
||||
import Database.Persist.Sql
|
||||
import Model
|
||||
import Settings
|
||||
import Lib.Types.Semver
|
||||
|
||||
fetchApp :: MonadIO m => AppIdentifier -> AppVersion -> ReaderT SqlBackend m (Maybe (Entity SApp))
|
||||
fetchApp appId appVersion = selectFirst [SAppAppId ==. appId, SAppVersion ==. appVersion] []
|
||||
fetchApp :: MonadIO m => AppIdentifier -> ReaderT SqlBackend m (Maybe (Entity SApp))
|
||||
fetchApp appId = selectFirst [SAppAppId ==. appId] []
|
||||
|
||||
createApp :: MonadIO m => AppIdentifier -> AppSeed -> ReaderT SqlBackend m (Maybe (Key SApp))
|
||||
createApp appId AppSeed{..} = do
|
||||
time <- liftIO $ getCurrentTime
|
||||
insertUnique $ SApp
|
||||
time
|
||||
Nothing
|
||||
appSeedTitle
|
||||
appId
|
||||
appSeedDescShort
|
||||
appSeedDescLong
|
||||
appSeedVersion
|
||||
appSeedReleaseNotes
|
||||
appSeedIconType
|
||||
fetchAppVersion :: MonadIO m => AppVersion -> Key SApp -> ReaderT SqlBackend m (Maybe (Entity Version))
|
||||
fetchAppVersion appVersion appId = selectFirst [VersionNumber ==. appVersion, VersionAppId ==. appId] []
|
||||
|
||||
createMetric :: MonadIO m => Maybe (Key SApp) -> AppIdentifier -> ReaderT SqlBackend m ()
|
||||
createMetric appId event = do
|
||||
time <- liftIO $ getCurrentTime
|
||||
insert_ $ Metric
|
||||
time
|
||||
appId
|
||||
event
|
||||
|
||||
createAllAppVersions :: MonadIO m => StoreApp -> AppIdentifier -> ReaderT SqlBackend m ()
|
||||
createAllAppVersions app appId = do
|
||||
time <- liftIO $ getCurrentTime
|
||||
-- inseryt new records and replace existing records (matching any unique constraint)
|
||||
putMany $ toList $ storeAppToSeed time appId app
|
||||
|
||||
storeAppToSeed :: UTCTime -> AppIdentifier -> StoreApp -> NonEmpty SApp
|
||||
storeAppToSeed time appId StoreApp{..} = map (\b -> SApp
|
||||
createApp :: MonadIO m => AppIdentifier -> StoreApp -> ReaderT SqlBackend m (Key SApp)
|
||||
createApp appId StoreApp{..} = do
|
||||
time <- liftIO getCurrentTime
|
||||
insert $ SApp
|
||||
time
|
||||
Nothing
|
||||
storeAppTitle
|
||||
appId
|
||||
storeAppDescShort
|
||||
storeAppDescLong
|
||||
(version' b)
|
||||
(releaseNotes' b)
|
||||
storeAppIconType
|
||||
) storeAppVersionInfo
|
||||
|
||||
createAppVersion :: MonadIO m => Key SApp -> VersionInfo -> ReaderT SqlBackend m (Key Version)
|
||||
createAppVersion sId VersionInfo{..} = do
|
||||
time <- liftIO getCurrentTime
|
||||
insert $ Version
|
||||
time
|
||||
Nothing
|
||||
sId
|
||||
versionInfoVersion
|
||||
versionInfoReleaseNotes
|
||||
|
||||
createMetric :: MonadIO m => Maybe (Key SApp) -> Maybe (Key Version) -> AppIdentifier -> ReaderT SqlBackend m ()
|
||||
createMetric appId versionId event = do
|
||||
time <- liftIO $ getCurrentTime
|
||||
insert_ $ Metric
|
||||
time
|
||||
appId
|
||||
versionId
|
||||
event
|
||||
|
||||
Reference in New Issue
Block a user