File tree Expand file tree Collapse file tree 4 files changed +42
-1
lines changed
shared-common/src/Shared/KnowledgeModel/Constant
wizard-server/src/Wizard/Service/KnowledgeModel/Metamodel/Migrator Expand file tree Collapse file tree 4 files changed +42
-1
lines changed Original file line number Diff line number Diff line change 11module Shared.KnowledgeModel.Constant.KnowledgeModel where
22
33knowledgeModelMetamodelVersion :: Int
4- knowledgeModelMetamodelVersion = 19
4+ knowledgeModelMetamodelVersion = 20
Original file line number Diff line number Diff line change @@ -24,6 +24,7 @@ import qualified Wizard.Service.KnowledgeModel.Metamodel.Migrator.Migrations.Mig
2424import qualified Wizard.Service.KnowledgeModel.Metamodel.Migrator.Migrations.Migration0016 as M16
2525import qualified Wizard.Service.KnowledgeModel.Metamodel.Migrator.Migrations.Migration0017 as M17
2626import qualified Wizard.Service.KnowledgeModel.Metamodel.Migrator.Migrations.Migration0018 as M18
27+ import qualified Wizard.Service.KnowledgeModel.Metamodel.Migrator.Migrations.Migration0019 as M19
2728import Wizard.Service.KnowledgeModel.Metamodel.Migrator.Migrations.MigrationContext (MigrationContext )
2829
2930type Version = Int
@@ -50,6 +51,7 @@ migrations =
5051 , (16 , M16. migrateEventValue)
5152 , (17 , M17. migrateEventValue)
5253 , (18 , M18. migrateEventValue)
54+ , (19 , M19. migrateEventValue)
5355 ]
5456
5557migrate :: MigrationContext -> Version -> Version -> Value -> Either String [Value ]
Original file line number Diff line number Diff line change 1+ module Wizard.Service.KnowledgeModel.Metamodel.Migrator.Migrations.Migration0019 (
2+ migrateEventValue ,
3+ ) where
4+
5+ import Data.Aeson
6+ import qualified Data.Aeson.KeyMap as KM
7+ import qualified Data.Text as T
8+
9+ import Wizard.Service.KnowledgeModel.Metamodel.Migrator.Migrations.MigrationContext
10+ import Wizard.Service.KnowledgeModel.Metamodel.Migrator.Migrations.Utils
11+
12+ -- Migration #0019 (KM v19 -> v20)
13+ -- - remove:
14+ -- - AddApiLegacyIntegrationEvent, EditApiLegacyIntegrationEvent
15+ -- - AddWidgetIntegrationEvent, EditWidgetIntegrationEvent
16+ migrateEventValue :: MigrationContext -> Value -> Either String [Value ]
17+ migrateEventValue _ = Right . migrate
18+
19+ migrateIntegrationEvent :: Object -> [Object ]
20+ migrateIntegrationEvent obj =
21+ case KM. lookup " integrationType" obj of
22+ (Just (String " ApiLegacyIntegration" )) -> []
23+ (Just (String " WidgetIntegration" )) -> []
24+ _ -> [obj]
25+
26+ runMigration :: T. Text -> Object -> [Object ]
27+ runMigration " AddIntegrationEvent" obj = migrateIntegrationEvent obj
28+ runMigration " EditIntegrationEvent" obj = migrateIntegrationEvent obj
29+ runMigration _ obj = [obj]
30+
31+ migrate :: Value -> [Value ]
32+ migrate = migrateByEventTypeList runMigration
Original file line number Diff line number Diff line change @@ -40,6 +40,13 @@ migrateByEventType migrationFn v@(Object obj) =
4040 _ -> v
4141migrateByEventType _ v = v
4242
43+ migrateByEventTypeList :: (T. Text -> Object -> [Object ]) -> Value -> [Value ]
44+ migrateByEventTypeList migrationFn v@ (Object obj) =
45+ case KM. lookup " eventType" obj of
46+ (Just (String eventType)) -> Object <$> (migrationFn eventType obj)
47+ _ -> [v]
48+ migrateByEventTypeList _ v = [v]
49+
4350unchangedValue :: Value
4451unchangedValue = Object (KM. singleton " changed" (Bool False ))
4552
You can’t perform that action at this time.
0 commit comments