@contember/schema-migrations 1.2.0-alpha.8 → 1.2.0-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/Migration.d.ts +2 -0
- package/dist/src/Migration.d.ts.map +1 -1
- package/dist/src/Migration.js +2 -2
- package/dist/src/Migration.js.map +1 -1
- package/dist/src/MigrationCreator.d.ts +3 -1
- package/dist/src/MigrationCreator.d.ts.map +1 -1
- package/dist/src/MigrationCreator.js +2 -2
- package/dist/src/MigrationCreator.js.map +1 -1
- package/dist/src/MigrationDescriber.d.ts +1 -2
- package/dist/src/MigrationDescriber.d.ts.map +1 -1
- package/dist/src/MigrationDescriber.js +5 -7
- package/dist/src/MigrationDescriber.js.map +1 -1
- package/dist/src/MigrationFilesManager.d.ts.map +1 -1
- package/dist/src/MigrationFilesManager.js +10 -19
- package/dist/src/MigrationFilesManager.js.map +1 -1
- package/dist/src/MigrationsResolver.d.ts.map +1 -1
- package/dist/src/MigrationsResolver.js +1 -0
- package/dist/src/MigrationsResolver.js.map +1 -1
- package/dist/src/SchemaDiffer.d.ts +6 -1
- package/dist/src/SchemaDiffer.d.ts.map +1 -1
- package/dist/src/SchemaDiffer.js +46 -54
- package/dist/src/SchemaDiffer.js.map +1 -1
- package/dist/src/SchemaMigrator.d.ts +3 -2
- package/dist/src/SchemaMigrator.d.ts.map +1 -1
- package/dist/src/SchemaMigrator.js.map +1 -1
- package/dist/src/index.d.ts +1 -5
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -11
- package/dist/src/index.js.map +1 -1
- package/dist/src/modifications/ModificationHandler.d.ts +16 -8
- package/dist/src/modifications/ModificationHandler.d.ts.map +1 -1
- package/dist/src/modifications/ModificationHandler.js +9 -1
- package/dist/src/modifications/ModificationHandler.js.map +1 -1
- package/dist/src/modifications/ModificationHandlerFactory.d.ts +8 -7
- package/dist/src/modifications/ModificationHandlerFactory.d.ts.map +1 -1
- package/dist/src/modifications/ModificationHandlerFactory.js +43 -39
- package/dist/src/modifications/ModificationHandlerFactory.js.map +1 -1
- package/dist/src/modifications/acl/PatchAclSchemaModification.d.ts +13 -2
- package/dist/src/modifications/acl/PatchAclSchemaModification.d.ts.map +1 -1
- package/dist/src/modifications/acl/PatchAclSchemaModification.js +28 -28
- package/dist/src/modifications/acl/PatchAclSchemaModification.js.map +1 -1
- package/dist/src/modifications/acl/UpdateAclSchemaModification.d.ts +17 -3
- package/dist/src/modifications/acl/UpdateAclSchemaModification.d.ts.map +1 -1
- package/dist/src/modifications/acl/UpdateAclSchemaModification.js +33 -30
- package/dist/src/modifications/acl/UpdateAclSchemaModification.js.map +1 -1
- package/dist/src/modifications/columns/CreateColumnModification.d.ts +21 -3
- package/dist/src/modifications/columns/CreateColumnModification.d.ts.map +1 -1
- package/dist/src/modifications/columns/CreateColumnModification.js +72 -69
- package/dist/src/modifications/columns/CreateColumnModification.js.map +1 -1
- package/dist/src/modifications/columns/UpdateColumnDefinitionModification.d.ts +20 -4
- package/dist/src/modifications/columns/UpdateColumnDefinitionModification.d.ts.map +1 -1
- package/dist/src/modifications/columns/UpdateColumnDefinitionModification.js +78 -71
- package/dist/src/modifications/columns/UpdateColumnDefinitionModification.js.map +1 -1
- package/dist/src/modifications/columns/UpdateColumnNameModification.d.ts +18 -2
- package/dist/src/modifications/columns/UpdateColumnNameModification.d.ts.map +1 -1
- package/dist/src/modifications/columns/UpdateColumnNameModification.js +97 -94
- package/dist/src/modifications/columns/UpdateColumnNameModification.js.map +1 -1
- package/dist/src/modifications/constraints/CreateUniqueConstraintModification.d.ts +21 -3
- package/dist/src/modifications/constraints/CreateUniqueConstraintModification.d.ts.map +1 -1
- package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js +72 -66
- package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js.map +1 -1
- package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.d.ts +18 -2
- package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.d.ts.map +1 -1
- package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js +45 -42
- package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js.map +1 -1
- package/dist/src/modifications/differs/ChangeViewNonViewDiffer.js +1 -1
- package/dist/src/modifications/differs/RemoveChangedFieldDiffer.d.ts +1 -3
- package/dist/src/modifications/differs/RemoveChangedFieldDiffer.d.ts.map +1 -1
- package/dist/src/modifications/differs/RemoveChangedFieldDiffer.js +1 -1
- package/dist/src/modifications/differs/RemoveChangedViewDiffer.d.ts +1 -2
- package/dist/src/modifications/differs/RemoveChangedViewDiffer.d.ts.map +1 -1
- package/dist/src/modifications/differs/RemoveChangedViewDiffer.js +7 -20
- package/dist/src/modifications/differs/RemoveChangedViewDiffer.js.map +1 -1
- package/dist/src/modifications/entities/CreateEntityModification.d.ts +19 -2
- package/dist/src/modifications/entities/CreateEntityModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/CreateEntityModification.js +66 -63
- package/dist/src/modifications/entities/CreateEntityModification.js.map +1 -1
- package/dist/src/modifications/entities/CreateViewModification.d.ts +21 -2
- package/dist/src/modifications/entities/CreateViewModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/CreateViewModification.js +59 -56
- package/dist/src/modifications/entities/CreateViewModification.js.map +1 -1
- package/dist/src/modifications/entities/RemoveEntityModification.d.ts +22 -2
- package/dist/src/modifications/entities/RemoveEntityModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/RemoveEntityModification.js +73 -70
- package/dist/src/modifications/entities/RemoveEntityModification.js.map +1 -1
- package/dist/src/modifications/entities/ToggleEventLogModification.d.ts +19 -2
- package/dist/src/modifications/entities/ToggleEventLogModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/ToggleEventLogModification.js +57 -54
- package/dist/src/modifications/entities/ToggleEventLogModification.js.map +1 -1
- package/dist/src/modifications/entities/UpdateEntityNameModification.d.ts +18 -2
- package/dist/src/modifications/entities/UpdateEntityNameModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/UpdateEntityNameModification.js +78 -78
- package/dist/src/modifications/entities/UpdateEntityNameModification.js.map +1 -1
- package/dist/src/modifications/entities/UpdateEntityTableNameModification.d.ts +18 -2
- package/dist/src/modifications/entities/UpdateEntityTableNameModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/UpdateEntityTableNameModification.js +40 -34
- package/dist/src/modifications/entities/UpdateEntityTableNameModification.js.map +1 -1
- package/dist/src/modifications/entities/UpdateViewModification.d.ts +15 -3
- package/dist/src/modifications/entities/UpdateViewModification.d.ts.map +1 -1
- package/dist/src/modifications/entities/UpdateViewModification.js +28 -28
- package/dist/src/modifications/entities/UpdateViewModification.js.map +1 -1
- package/dist/src/modifications/enums/CreateEnumModification.d.ts +18 -2
- package/dist/src/modifications/enums/CreateEnumModification.d.ts.map +1 -1
- package/dist/src/modifications/enums/CreateEnumModification.js +42 -36
- package/dist/src/modifications/enums/CreateEnumModification.js.map +1 -1
- package/dist/src/modifications/enums/RemoveEnumModification.d.ts +18 -2
- package/dist/src/modifications/enums/RemoveEnumModification.d.ts.map +1 -1
- package/dist/src/modifications/enums/RemoveEnumModification.js +36 -33
- package/dist/src/modifications/enums/RemoveEnumModification.js.map +1 -1
- package/dist/src/modifications/enums/UpdateEnumModification.d.ts +19 -2
- package/dist/src/modifications/enums/UpdateEnumModification.d.ts.map +1 -1
- package/dist/src/modifications/enums/UpdateEnumModification.js +43 -40
- package/dist/src/modifications/enums/UpdateEnumModification.js.map +1 -1
- package/dist/src/modifications/fields/RemoveFieldModification.d.ts +20 -2
- package/dist/src/modifications/fields/RemoveFieldModification.d.ts.map +1 -1
- package/dist/src/modifications/fields/RemoveFieldModification.js +67 -64
- package/dist/src/modifications/fields/RemoveFieldModification.js.map +1 -1
- package/dist/src/modifications/fields/UpdateFieldNameModification.d.ts +18 -2
- package/dist/src/modifications/fields/UpdateFieldNameModification.d.ts.map +1 -1
- package/dist/src/modifications/fields/UpdateFieldNameModification.js +132 -132
- package/dist/src/modifications/fields/UpdateFieldNameModification.js.map +1 -1
- package/dist/src/modifications/index.d.ts +14 -0
- package/dist/src/modifications/index.d.ts.map +1 -0
- package/dist/src/modifications/index.js +32 -0
- package/dist/src/modifications/index.js.map +1 -0
- package/dist/src/modifications/indexes/CreateIndexModification.d.ts +18 -3
- package/dist/src/modifications/indexes/CreateIndexModification.d.ts.map +1 -1
- package/dist/src/modifications/indexes/CreateIndexModification.js +68 -65
- package/dist/src/modifications/indexes/CreateIndexModification.js.map +1 -1
- package/dist/src/modifications/indexes/RemoveIndexModification.d.ts +18 -2
- package/dist/src/modifications/indexes/RemoveIndexModification.d.ts.map +1 -1
- package/dist/src/modifications/indexes/RemoveIndexModification.js +47 -44
- package/dist/src/modifications/indexes/RemoveIndexModification.js.map +1 -1
- package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts +22 -3
- package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js +68 -65
- package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js.map +1 -1
- package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts +22 -2
- package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js +81 -70
- package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js.map +1 -1
- package/dist/src/modifications/relations/CreateRelationInverseSideModification.d.ts +18 -3
- package/dist/src/modifications/relations/CreateRelationInverseSideModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/CreateRelationInverseSideModification.js +36 -33
- package/dist/src/modifications/relations/CreateRelationInverseSideModification.js.map +1 -1
- package/dist/src/modifications/relations/CreateRelationModification.d.ts +24 -3
- package/dist/src/modifications/relations/CreateRelationModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/CreateRelationModification.js +99 -85
- package/dist/src/modifications/relations/CreateRelationModification.js.map +1 -1
- package/dist/src/modifications/relations/DisableOrphanRemovalModification.d.ts +18 -2
- package/dist/src/modifications/relations/DisableOrphanRemovalModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/DisableOrphanRemovalModification.js +42 -39
- package/dist/src/modifications/relations/DisableOrphanRemovalModification.js.map +1 -1
- package/dist/src/modifications/relations/EnableOrphanRemovalModification.d.ts +18 -2
- package/dist/src/modifications/relations/EnableOrphanRemovalModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/EnableOrphanRemovalModification.js +45 -42
- package/dist/src/modifications/relations/EnableOrphanRemovalModification.js.map +1 -1
- package/dist/src/modifications/relations/MakeRelationNotNullModification.d.ts +19 -2
- package/dist/src/modifications/relations/MakeRelationNotNullModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/MakeRelationNotNullModification.js +55 -52
- package/dist/src/modifications/relations/MakeRelationNotNullModification.js.map +1 -1
- package/dist/src/modifications/relations/MakeRelationNullableModification.d.ts +18 -2
- package/dist/src/modifications/relations/MakeRelationNullableModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/MakeRelationNullableModification.js +54 -51
- package/dist/src/modifications/relations/MakeRelationNullableModification.js.map +1 -1
- package/dist/src/modifications/relations/ToggleJunctionEventLogModification.d.ts +25 -0
- package/dist/src/modifications/relations/ToggleJunctionEventLogModification.d.ts.map +1 -0
- package/dist/src/modifications/relations/ToggleJunctionEventLogModification.js +84 -0
- package/dist/src/modifications/relations/ToggleJunctionEventLogModification.js.map +1 -0
- package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.d.ts +18 -3
- package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.js +42 -39
- package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.js.map +1 -1
- package/dist/src/modifications/relations/UpdateRelationOrderByModification.d.ts +18 -3
- package/dist/src/modifications/relations/UpdateRelationOrderByModification.d.ts.map +1 -1
- package/dist/src/modifications/relations/UpdateRelationOrderByModification.js +43 -40
- package/dist/src/modifications/relations/UpdateRelationOrderByModification.js.map +1 -1
- package/dist/src/modifications/relations/index.d.ts +1 -1
- package/dist/src/modifications/relations/index.d.ts.map +1 -1
- package/dist/src/modifications/relations/index.js +1 -1
- package/dist/src/modifications/relations/index.js.map +1 -1
- package/dist/src/modifications/settings/UpdateSettingsModification.d.ts +28 -0
- package/dist/src/modifications/settings/UpdateSettingsModification.d.ts.map +1 -0
- package/dist/src/modifications/settings/UpdateSettingsModification.js +64 -0
- package/dist/src/modifications/settings/UpdateSettingsModification.js.map +1 -0
- package/dist/src/modifications/settings/index.d.ts +2 -0
- package/dist/src/modifications/settings/index.d.ts.map +1 -0
- package/dist/src/modifications/settings/index.js +18 -0
- package/dist/src/modifications/settings/index.js.map +1 -0
- package/dist/src/modifications/utils/columnUtils.d.ts +3 -0
- package/dist/src/modifications/utils/columnUtils.d.ts.map +1 -0
- package/dist/src/modifications/utils/columnUtils.js +9 -0
- package/dist/src/modifications/utils/columnUtils.js.map +1 -0
- package/dist/src/modifications/utils/createJunctionTable.d.ts +2 -1
- package/dist/src/modifications/utils/createJunctionTable.d.ts.map +1 -1
- package/dist/src/modifications/utils/createJunctionTable.js +7 -5
- package/dist/src/modifications/utils/createJunctionTable.js.map +1 -1
- package/dist/src/modifications/utils/diffUtils.d.ts +14 -12
- package/dist/src/modifications/utils/diffUtils.d.ts.map +1 -1
- package/dist/src/modifications/utils/diffUtils.js.map +1 -1
- package/dist/src/modifications/utils/schemaMeta.d.ts +8 -0
- package/dist/src/modifications/utils/schemaMeta.d.ts.map +1 -0
- package/dist/src/modifications/utils/schemaMeta.js +13 -0
- package/dist/src/modifications/utils/schemaMeta.js.map +1 -0
- package/dist/src/modifications/utils/schemaUpdateUtils.d.ts +4 -2
- package/dist/src/modifications/utils/schemaUpdateUtils.d.ts.map +1 -1
- package/dist/src/modifications/utils/schemaUpdateUtils.js +24 -2
- package/dist/src/modifications/utils/schemaUpdateUtils.js.map +1 -1
- package/dist/src/modifications/utils/viewDependencies.d.ts +4 -2
- package/dist/src/modifications/utils/viewDependencies.d.ts.map +1 -1
- package/dist/src/modifications/utils/viewDependencies.js +29 -6
- package/dist/src/modifications/utils/viewDependencies.js.map +1 -1
- package/dist/src/modifications/validation/PatchValidationSchemaModification.d.ts +13 -2
- package/dist/src/modifications/validation/PatchValidationSchemaModification.d.ts.map +1 -1
- package/dist/src/modifications/validation/PatchValidationSchemaModification.js +28 -28
- package/dist/src/modifications/validation/PatchValidationSchemaModification.js.map +1 -1
- package/dist/src/modifications/validation/UpdateValidationSchemaModification.d.ts +17 -3
- package/dist/src/modifications/validation/UpdateValidationSchemaModification.d.ts.map +1 -1
- package/dist/src/modifications/validation/UpdateValidationSchemaModification.js +33 -30
- package/dist/src/modifications/validation/UpdateValidationSchemaModification.js.map +1 -1
- package/dist/src/tsconfig.tsbuildinfo +1 -1
- package/dist/tests/cases/integration/convertOneHasManyToManyHasManyRelation.test.js +3 -2
- package/dist/tests/cases/integration/convertOneHasManyToManyHasManyRelation.test.js.map +1 -1
- package/dist/tests/cases/integration/createColumn.test.js +36 -0
- package/dist/tests/cases/integration/createColumn.test.js.map +1 -1
- package/dist/tests/cases/integration/createManyHasMany.test.js +3 -2
- package/dist/tests/cases/integration/createManyHasMany.test.js.map +1 -1
- package/dist/tests/cases/integration/createView.test.js +80 -0
- package/dist/tests/cases/integration/createView.test.js.map +1 -1
- package/dist/tests/cases/integration/removeField.test.js +72 -0
- package/dist/tests/cases/integration/removeField.test.js.map +1 -1
- package/dist/tests/cases/integration/takenIndexName.test.d.ts +2 -0
- package/dist/tests/cases/integration/takenIndexName.test.d.ts.map +1 -0
- package/dist/tests/cases/integration/takenIndexName.test.js +307 -0
- package/dist/tests/cases/integration/takenIndexName.test.js.map +1 -0
- package/dist/tests/cases/integration/updateColumnDefinition.test.js +160 -0
- package/dist/tests/cases/integration/updateColumnDefinition.test.js.map +1 -1
- package/dist/tests/scripts/checkCreateConsistentMigrations.js +5 -4
- package/dist/tests/scripts/checkCreateConsistentMigrations.js.map +1 -1
- package/dist/tests/src/tests.d.ts.map +1 -1
- package/dist/tests/src/tests.js +15 -5
- package/dist/tests/src/tests.js.map +1 -1
- package/dist/tests/tsconfig.tsbuildinfo +1 -1
- package/package.json +6 -6
- package/src/Migration.ts +3 -1
- package/src/MigrationCreator.ts +2 -1
- package/src/MigrationDescriber.ts +8 -8
- package/src/MigrationFilesManager.ts +10 -20
- package/src/MigrationsResolver.ts +1 -0
- package/src/SchemaDiffer.ts +82 -85
- package/src/SchemaMigrator.ts +3 -2
- package/src/index.ts +1 -5
- package/src/modifications/ModificationHandler.ts +22 -9
- package/src/modifications/ModificationHandlerFactory.ts +69 -65
- package/src/modifications/acl/PatchAclSchemaModification.ts +7 -8
- package/src/modifications/acl/UpdateAclSchemaModification.ts +16 -15
- package/src/modifications/columns/CreateColumnModification.ts +21 -18
- package/src/modifications/columns/UpdateColumnDefinitionModification.ts +58 -47
- package/src/modifications/columns/UpdateColumnNameModification.ts +60 -53
- package/src/modifications/constraints/CreateUniqueConstraintModification.ts +23 -17
- package/src/modifications/constraints/RemoveUniqueConstraintModification.ts +18 -14
- package/src/modifications/differs/ChangeViewNonViewDiffer.ts +2 -2
- package/src/modifications/differs/RemoveChangedFieldDiffer.ts +2 -2
- package/src/modifications/differs/RemoveChangedViewDiffer.ts +9 -22
- package/src/modifications/entities/CreateEntityModification.ts +18 -9
- package/src/modifications/entities/CreateViewModification.ts +10 -8
- package/src/modifications/entities/RemoveEntityModification.ts +24 -16
- package/src/modifications/entities/ToggleEventLogModification.ts +20 -13
- package/src/modifications/entities/UpdateEntityNameModification.ts +11 -10
- package/src/modifications/entities/UpdateEntityTableNameModification.ts +18 -13
- package/src/modifications/entities/UpdateViewModification.ts +7 -7
- package/src/modifications/enums/CreateEnumModification.ts +18 -13
- package/src/modifications/enums/RemoveEnumModification.ts +14 -12
- package/src/modifications/enums/UpdateEnumModification.ts +15 -13
- package/src/modifications/fields/RemoveFieldModification.ts +20 -17
- package/src/modifications/fields/UpdateFieldNameModification.ts +18 -18
- package/src/modifications/index.ts +13 -0
- package/src/modifications/indexes/CreateIndexModification.ts +13 -12
- package/src/modifications/indexes/RemoveIndexModification.ts +12 -8
- package/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.ts +48 -29
- package/src/modifications/relations/ConvertOneToManyRelationModification.ts +50 -27
- package/src/modifications/relations/CreateRelationInverseSideModification.ts +15 -13
- package/src/modifications/relations/CreateRelationModification.ts +65 -35
- package/src/modifications/relations/DisableOrphanRemovalModification.ts +15 -12
- package/src/modifications/relations/EnableOrphanRemovalModification.ts +16 -13
- package/src/modifications/relations/MakeRelationNotNullModification.ts +16 -14
- package/src/modifications/relations/MakeRelationNullableModification.ts +17 -13
- package/src/modifications/relations/{ToggleManyHasManyEventLogModification.ts → ToggleJunctionEventLogModification.ts} +21 -14
- package/src/modifications/relations/UpdateRelationOnDeleteModification.ts +16 -14
- package/src/modifications/relations/UpdateRelationOrderByModification.ts +17 -14
- package/src/modifications/relations/index.ts +1 -1
- package/src/modifications/settings/UpdateSettingsModification.ts +87 -0
- package/src/modifications/settings/index.ts +1 -0
- package/src/modifications/utils/columnUtils.ts +5 -0
- package/src/modifications/utils/createJunctionTable.ts +7 -5
- package/src/modifications/utils/diffUtils.ts +12 -12
- package/src/modifications/utils/schemaMeta.ts +18 -0
- package/src/modifications/utils/schemaUpdateUtils.ts +22 -2
- package/src/modifications/utils/viewDependencies.ts +28 -5
- package/src/modifications/validation/PatchValidationSchemaModification.ts +7 -7
- package/src/modifications/validation/UpdateValidationSchemaModification.ts +17 -14
- package/src/tsconfig.json +2 -2
- package/tests/cases/integration/convertOneHasManyToManyHasManyRelation.test.ts +3 -2
- package/tests/cases/integration/createColumn.test.ts +33 -0
- package/tests/cases/integration/createManyHasMany.test.ts +3 -2
- package/tests/cases/integration/createView.test.ts +70 -0
- package/tests/cases/integration/removeField.test.ts +58 -0
- package/tests/cases/integration/takenIndexName.test.ts +314 -0
- package/tests/cases/integration/updateColumnDefinition.test.ts +138 -1
- package/tests/scripts/checkCreateConsistentMigrations.ts +3 -2
- package/tests/src/tests.ts +21 -11
- package/dist/src/modifications/relations/ToggleManyHasManyEventLogModification.d.ts +0 -8
- package/dist/src/modifications/relations/ToggleManyHasManyEventLogModification.d.ts.map +0 -1
- package/dist/src/modifications/relations/ToggleManyHasManyEventLogModification.js +0 -81
- package/dist/src/modifications/relations/ToggleManyHasManyEventLogModification.js.map +0 -1
|
@@ -1,15 +1,16 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { ModificationHandler, ModificationHandlerOptions, ModificationType } from './ModificationHandler';
|
|
2
|
+
import { SchemaWithMeta } from './utils/schemaMeta';
|
|
3
3
|
declare class ModificationHandlerFactory {
|
|
4
4
|
private readonly map;
|
|
5
|
-
constructor(map: Record<string,
|
|
6
|
-
create<D>(name: string, data: D, schema:
|
|
5
|
+
constructor(map: Record<string, ModificationType<string, any>>);
|
|
6
|
+
create<D>(name: string, data: D, schema: SchemaWithMeta, options: ModificationHandlerOptions): ModificationHandler<D>;
|
|
7
7
|
}
|
|
8
8
|
declare namespace ModificationHandlerFactory {
|
|
9
9
|
type HandlerMap<D> = {
|
|
10
|
-
[modificationName: string]:
|
|
10
|
+
[modificationName: string]: ModificationType<string, D>;
|
|
11
11
|
};
|
|
12
|
-
const defaultFactoryMap: HandlerMap<any>;
|
|
12
|
+
export const defaultFactoryMap: HandlerMap<any>;
|
|
13
|
+
export {};
|
|
13
14
|
}
|
|
14
|
-
export
|
|
15
|
+
export { ModificationHandlerFactory };
|
|
15
16
|
//# sourceMappingURL=ModificationHandlerFactory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModificationHandlerFactory.d.ts","sourceRoot":"","sources":["../../../src/modifications/ModificationHandlerFactory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ModificationHandlerFactory.d.ts","sourceRoot":"","sources":["../../../src/modifications/ModificationHandlerFactory.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,0BAA0B,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAA;AA8BzG,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AAInD,cAAM,0BAA0B;IACnB,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,gBAAgB,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAExE,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,0BAA0B,GAAG,mBAAmB,CAAC,CAAC,CAAC;CAM5H;AAED,kBAAU,0BAA0B,CAAC;IACpC,KAAK,UAAU,CAAC,CAAC,IAAI;QAAE,CAAC,gBAAgB,EAAE,MAAM,GAAG,gBAAgB,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;KAAE,CAAA;IAwChF,MAAM,CAAC,MAAM,iBAAiB,EAAE,UAAU,CAAC,GAAG,CAAuD,CAAA;;CACrG;AAED,OAAO,EAAE,0BAA0B,EAAE,CAAA"}
|
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
const validation_1 = require("./validation");
|
|
3
|
+
exports.ModificationHandlerFactory = void 0;
|
|
5
4
|
const acl_1 = require("./acl");
|
|
5
|
+
const columns_1 = require("./columns");
|
|
6
6
|
const constraints_1 = require("./constraints");
|
|
7
7
|
const entities_1 = require("./entities");
|
|
8
|
+
const UpdateViewModification_1 = require("./entities/UpdateViewModification");
|
|
8
9
|
const enums_1 = require("./enums");
|
|
9
10
|
const fields_1 = require("./fields");
|
|
10
11
|
const relations_1 = require("./relations");
|
|
11
|
-
const
|
|
12
|
+
const validation_1 = require("./validation");
|
|
12
13
|
const indexes_1 = require("./indexes");
|
|
14
|
+
const settings_1 = require("./settings");
|
|
13
15
|
class ModificationHandlerFactory {
|
|
14
16
|
constructor(map) {
|
|
15
17
|
this.map = map;
|
|
@@ -18,47 +20,49 @@ class ModificationHandlerFactory {
|
|
|
18
20
|
if (!this.map[name]) {
|
|
19
21
|
throw new Error(`Undefined modification handler for ${name}`);
|
|
20
22
|
}
|
|
21
|
-
return
|
|
23
|
+
return this.map[name].createHandler(data, schema, options);
|
|
22
24
|
}
|
|
23
25
|
}
|
|
26
|
+
exports.ModificationHandlerFactory = ModificationHandlerFactory;
|
|
24
27
|
(function (ModificationHandlerFactory) {
|
|
25
28
|
const handlers = [
|
|
26
|
-
|
|
27
|
-
acl_1.
|
|
28
|
-
|
|
29
|
-
columns_1.
|
|
30
|
-
columns_1.
|
|
31
|
-
|
|
32
|
-
constraints_1.
|
|
33
|
-
|
|
34
|
-
indexes_1.
|
|
35
|
-
|
|
36
|
-
entities_1.
|
|
37
|
-
entities_1.
|
|
38
|
-
entities_1.
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
enums_1.
|
|
43
|
-
enums_1.
|
|
44
|
-
|
|
45
|
-
fields_1.
|
|
46
|
-
|
|
47
|
-
relations_1.
|
|
48
|
-
relations_1.
|
|
49
|
-
relations_1.
|
|
50
|
-
relations_1.
|
|
51
|
-
relations_1.
|
|
52
|
-
relations_1.
|
|
53
|
-
relations_1.
|
|
54
|
-
|
|
55
|
-
validation_1.
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
relations_1.
|
|
29
|
+
settings_1.updateSettingsModification,
|
|
30
|
+
acl_1.updateAclSchemaModification,
|
|
31
|
+
acl_1.patchAclSchemaModification,
|
|
32
|
+
columns_1.createColumnModification,
|
|
33
|
+
columns_1.updateColumnDefinitionModification,
|
|
34
|
+
columns_1.updateColumnNameModification,
|
|
35
|
+
constraints_1.createUniqueConstraintModification,
|
|
36
|
+
constraints_1.removeUniqueConstraintModification,
|
|
37
|
+
indexes_1.createIndexModification,
|
|
38
|
+
indexes_1.removeIndexModification,
|
|
39
|
+
entities_1.createEntityModification,
|
|
40
|
+
entities_1.removeEntityModification,
|
|
41
|
+
entities_1.updateEntityNameModification,
|
|
42
|
+
entities_1.updateEntityTableNameModification,
|
|
43
|
+
UpdateViewModification_1.updateViewModification,
|
|
44
|
+
entities_1.createViewModification,
|
|
45
|
+
enums_1.createEnumModification,
|
|
46
|
+
enums_1.removeEnumModification,
|
|
47
|
+
enums_1.updateEnumModification,
|
|
48
|
+
fields_1.removeFieldModification,
|
|
49
|
+
fields_1.updateFieldNameModification,
|
|
50
|
+
relations_1.createRelationInverseSideModification,
|
|
51
|
+
relations_1.createRelationModification,
|
|
52
|
+
relations_1.updateRelationOnDeleteModification,
|
|
53
|
+
relations_1.updateRelationOrderByModification,
|
|
54
|
+
relations_1.makeRelationNotNullModification,
|
|
55
|
+
relations_1.makeRelationNullableModification,
|
|
56
|
+
relations_1.enableOrphanRemovalModification,
|
|
57
|
+
relations_1.disableOrphanRemovalModification,
|
|
58
|
+
validation_1.updateValidationSchemaModification,
|
|
59
|
+
validation_1.patchValidationSchemaModification,
|
|
60
|
+
relations_1.convertOneToManyRelationModification,
|
|
61
|
+
entities_1.toggleEventLogModification,
|
|
62
|
+
relations_1.toggleJunctionEventLogModification,
|
|
63
|
+
relations_1.convertOneHasManyToManyHasManyRelationModification,
|
|
60
64
|
];
|
|
61
65
|
ModificationHandlerFactory.defaultFactoryMap = Object.fromEntries(handlers.map(it => [it.id, it]));
|
|
62
66
|
})(ModificationHandlerFactory || (ModificationHandlerFactory = {}));
|
|
63
|
-
exports.
|
|
67
|
+
exports.ModificationHandlerFactory = ModificationHandlerFactory;
|
|
64
68
|
//# sourceMappingURL=ModificationHandlerFactory.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ModificationHandlerFactory.js","sourceRoot":"","sources":["../../../src/modifications/ModificationHandlerFactory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ModificationHandlerFactory.js","sourceRoot":"","sources":["../../../src/modifications/ModificationHandlerFactory.ts"],"names":[],"mappings":";;;AAEA,+BAA+E;AAC/E,uCAAsH;AACtH,+CAAsG;AACtG,yCAKmB;AACnB,8EAA0E;AAC1E,mCAIgB;AAChB,qCAA+E;AAC/E,2CAUoB;AACpB,6CAAoG;AACpG,uCAA4E;AAE5E,yCAAuD;AAGvD,MAAM,0BAA0B;IAC/B,YAA6B,GAAkD;QAAlD,QAAG,GAAH,GAAG,CAA+C;IAAG,CAAC;IAE5E,MAAM,CAAI,IAAY,EAAE,IAAO,EAAE,MAAsB,EAAE,OAAmC;QAClG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YACpB,MAAM,IAAI,KAAK,CAAC,sCAAsC,IAAI,EAAE,CAAC,CAAA;SAC7D;QACD,OAAO,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3D,CAAC;CACD;AA8CQ,gEAA0B;AA5CnC,WAAU,0BAA0B;IAGnC,MAAM,QAAQ,GAAG;QAChB,qCAA0B;QAC1B,iCAA2B;QAC3B,gCAA0B;QAC1B,kCAAwB;QACxB,4CAAkC;QAClC,sCAA4B;QAC5B,gDAAkC;QAClC,gDAAkC;QAClC,iCAAuB;QACvB,iCAAuB;QACvB,mCAAwB;QACxB,mCAAwB;QACxB,uCAA4B;QAC5B,4CAAiC;QACjC,+CAAsB;QACtB,iCAAsB;QACtB,8BAAsB;QACtB,8BAAsB;QACtB,8BAAsB;QACtB,gCAAuB;QACvB,oCAA2B;QAC3B,iDAAqC;QACrC,sCAA0B;QAC1B,8CAAkC;QAClC,6CAAiC;QACjC,2CAA+B;QAC/B,4CAAgC;QAChC,2CAA+B;QAC/B,4CAAgC;QAChC,+CAAkC;QAClC,8CAAiC;QACjC,gDAAoC;QACpC,qCAA0B;QAC1B,8CAAkC;QAClC,8DAAkD;KAClD,CAAA;IAEY,4CAAiB,GAAoB,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAA;AACtG,CAAC,EA1CS,0BAA0B,KAA1B,0BAA0B,QA0CnC;AAEQ,gEAA0B"}
|
|
@@ -1,6 +1,17 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { MigrationBuilder } from '@contember/database-migrations';
|
|
2
|
+
import { SchemaUpdater } from '../utils/schemaUpdateUtils';
|
|
3
|
+
import { ModificationHandler } from '../ModificationHandler';
|
|
2
4
|
import { Operation } from 'rfc6902';
|
|
3
|
-
export declare
|
|
5
|
+
export declare class PatchAclSchemaModificationHandler implements ModificationHandler<PatchAclSchemaModificationData> {
|
|
6
|
+
private readonly data;
|
|
7
|
+
constructor(data: PatchAclSchemaModificationData);
|
|
8
|
+
createSql(builder: MigrationBuilder): void;
|
|
9
|
+
getSchemaUpdater(): SchemaUpdater;
|
|
10
|
+
describe(): {
|
|
11
|
+
message: string;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
export declare const patchAclSchemaModification: import("../ModificationHandler").ModificationType<"patchAclSchema", PatchAclSchemaModificationData>;
|
|
4
15
|
export interface PatchAclSchemaModificationData {
|
|
5
16
|
patch: Operation[];
|
|
6
17
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PatchAclSchemaModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/acl/PatchAclSchemaModification.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PatchAclSchemaModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/acl/PatchAclSchemaModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAA0B,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AACpF,OAAO,EAAc,SAAS,EAAE,MAAM,SAAS,CAAA;AAG/C,qBAAa,iCAAkC,YAAW,mBAAmB,CAAC,8BAA8B,CAAC;IAChG,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,8BAA8B;IAE1D,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAE1C,gBAAgB,IAAI,aAAa;IAexC,QAAQ;;;CAGR;AAED,eAAO,MAAM,0BAA0B,qGAGrC,CAAA;AAEF,MAAM,WAAW,8BAA8B;IAC9C,KAAK,EAAE,SAAS,EAAE,CAAA;CAClB"}
|
|
@@ -2,36 +2,36 @@
|
|
|
2
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
|
-
var _a;
|
|
6
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
6
|
+
exports.patchAclSchemaModification = exports.PatchAclSchemaModificationHandler = void 0;
|
|
7
|
+
const ModificationHandler_1 = require("../ModificationHandler");
|
|
8
8
|
const rfc6902_1 = require("rfc6902");
|
|
9
9
|
const deepCopy_1 = __importDefault(require("../../utils/deepCopy"));
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
};
|
|
10
|
+
class PatchAclSchemaModificationHandler {
|
|
11
|
+
constructor(data) {
|
|
12
|
+
this.data = data;
|
|
13
|
+
}
|
|
14
|
+
createSql(builder) { }
|
|
15
|
+
getSchemaUpdater() {
|
|
16
|
+
return ({ schema }) => {
|
|
17
|
+
const acl = (0, deepCopy_1.default)(schema.acl);
|
|
18
|
+
const result = (0, rfc6902_1.applyPatch)(acl, this.data.patch).filter(it => it !== null);
|
|
19
|
+
if (result.length > 0) {
|
|
20
|
+
throw result[0];
|
|
21
|
+
}
|
|
22
|
+
return {
|
|
23
|
+
...schema,
|
|
24
|
+
acl,
|
|
26
25
|
};
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
describe() {
|
|
29
|
+
return { message: 'Update ACL schema' };
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
exports.PatchAclSchemaModificationHandler = PatchAclSchemaModificationHandler;
|
|
33
|
+
exports.patchAclSchemaModification = (0, ModificationHandler_1.createModificationType)({
|
|
34
|
+
id: 'patchAclSchema',
|
|
35
|
+
handler: PatchAclSchemaModificationHandler,
|
|
36
|
+
});
|
|
37
37
|
//# sourceMappingURL=PatchAclSchemaModification.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PatchAclSchemaModification.js","sourceRoot":"","sources":["../../../../src/modifications/acl/PatchAclSchemaModification.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"PatchAclSchemaModification.js","sourceRoot":"","sources":["../../../../src/modifications/acl/PatchAclSchemaModification.ts"],"names":[],"mappings":";;;;;;AAEA,gEAAoF;AACpF,qCAA+C;AAC/C,oEAA2C;AAE3C,MAAa,iCAAiC;IAC7C,YAA6B,IAAoC;QAApC,SAAI,GAAJ,IAAI,CAAgC;IAAG,CAAC;IAE9D,SAAS,CAAC,OAAyB,IAAS,CAAC;IAE7C,gBAAgB;QACtB,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE;YACrB,MAAM,GAAG,GAAG,IAAA,kBAAQ,EAAC,MAAM,CAAC,GAAG,CAAC,CAAA;YAChC,MAAM,MAAM,GAAG,IAAA,oBAAU,EAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,IAAI,CAAC,CAAA;YACzE,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE;gBACtB,MAAM,MAAM,CAAC,CAAC,CAAC,CAAA;aACf;YAED,OAAO;gBACN,GAAG,MAAM;gBACT,GAAG;aACH,CAAA;QACF,CAAC,CAAA;IACF,CAAC;IAED,QAAQ;QACP,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAA;IACxC,CAAC;CACD;AAvBD,8EAuBC;AAEY,QAAA,0BAA0B,GAAG,IAAA,4CAAsB,EAAC;IAChE,EAAE,EAAE,gBAAgB;IACpB,OAAO,EAAE,iCAAiC;CAC1C,CAAC,CAAA"}
|
|
@@ -1,7 +1,21 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { MigrationBuilder } from '@contember/database-migrations';
|
|
2
|
+
import { Acl, Schema } from '@contember/schema';
|
|
3
|
+
import { SchemaUpdater } from '../utils/schemaUpdateUtils';
|
|
4
|
+
import { Differ, ModificationHandler } from '../ModificationHandler';
|
|
5
|
+
export declare class UpdateAclSchemaModificationHandler implements ModificationHandler<UpdateAclSchemaModificationData> {
|
|
6
|
+
private readonly data;
|
|
7
|
+
constructor(data: UpdateAclSchemaModificationData);
|
|
8
|
+
createSql(builder: MigrationBuilder): void;
|
|
9
|
+
getSchemaUpdater(): SchemaUpdater;
|
|
10
|
+
describe(): {
|
|
11
|
+
message: string;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
4
14
|
export interface UpdateAclSchemaModificationData {
|
|
5
15
|
schema: Acl.Schema;
|
|
6
16
|
}
|
|
17
|
+
export declare const updateAclSchemaModification: import("../ModificationHandler").ModificationType<"updateAclSchema", UpdateAclSchemaModificationData>;
|
|
18
|
+
export declare class UpdateAclSchemaDiffer implements Differ {
|
|
19
|
+
createDiff(originalSchema: Schema, updatedSchema: Schema): import("../../Migration").Migration.Modification<import("./PatchAclSchemaModification").PatchAclSchemaModificationData>[] | import("../../Migration").Migration.Modification<UpdateAclSchemaModificationData>[];
|
|
20
|
+
}
|
|
7
21
|
//# sourceMappingURL=UpdateAclSchemaModification.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateAclSchemaModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/acl/UpdateAclSchemaModification.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UpdateAclSchemaModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/acl/UpdateAclSchemaModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AACjE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAA;AAC1D,OAAO,EAA0B,MAAM,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAK5F,qBAAa,kCAAmC,YAAW,mBAAmB,CAAC,+BAA+B,CAAC;IAClG,OAAO,CAAC,QAAQ,CAAC,IAAI;gBAAJ,IAAI,EAAE,+BAA+B;IAE3D,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAE1C,gBAAgB,IAAI,aAAa;IAOxC,QAAQ;;;CAGR;AAED,MAAM,WAAW,+BAA+B;IAC/C,MAAM,EAAE,GAAG,CAAC,MAAM,CAAA;CAClB;AAED,eAAO,MAAM,2BAA2B,uGAGtC,CAAA;AAEF,qBAAa,qBAAsB,YAAW,MAAM;IACnD,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAUxD"}
|
|
@@ -2,40 +2,43 @@
|
|
|
2
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
|
-
var _a;
|
|
6
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
-
exports.
|
|
6
|
+
exports.UpdateAclSchemaDiffer = exports.updateAclSchemaModification = exports.UpdateAclSchemaModificationHandler = void 0;
|
|
7
|
+
const ModificationHandler_1 = require("../ModificationHandler");
|
|
8
8
|
const fast_deep_equal_1 = __importDefault(require("fast-deep-equal"));
|
|
9
9
|
const rfc6902_1 = require("rfc6902");
|
|
10
10
|
const PatchAclSchemaModification_1 = require("./PatchAclSchemaModification");
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
11
|
+
class UpdateAclSchemaModificationHandler {
|
|
12
|
+
constructor(data) {
|
|
13
|
+
this.data = data;
|
|
14
|
+
}
|
|
15
|
+
createSql(builder) { }
|
|
16
|
+
getSchemaUpdater() {
|
|
17
|
+
return ({ schema }) => ({
|
|
18
|
+
...schema,
|
|
19
|
+
acl: this.data.schema,
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
describe() {
|
|
23
|
+
return { message: 'Update ACL schema' };
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
exports.UpdateAclSchemaModificationHandler = UpdateAclSchemaModificationHandler;
|
|
27
|
+
exports.updateAclSchemaModification = (0, ModificationHandler_1.createModificationType)({
|
|
28
|
+
id: 'updateAclSchema',
|
|
29
|
+
handler: UpdateAclSchemaModificationHandler,
|
|
30
|
+
});
|
|
31
|
+
class UpdateAclSchemaDiffer {
|
|
32
|
+
createDiff(originalSchema, updatedSchema) {
|
|
33
|
+
if ((0, fast_deep_equal_1.default)(originalSchema.acl, updatedSchema.acl)) {
|
|
34
|
+
return [];
|
|
14
35
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return ({
|
|
18
|
-
...schema,
|
|
19
|
-
acl: this.data.schema,
|
|
20
|
-
});
|
|
36
|
+
const patch = (0, rfc6902_1.createPatch)(originalSchema.acl, updatedSchema.acl);
|
|
37
|
+
if (patch.length <= 100) {
|
|
38
|
+
return [PatchAclSchemaModification_1.patchAclSchemaModification.createModification({ patch })];
|
|
21
39
|
}
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return { modification: this.id, ...data };
|
|
27
|
-
}
|
|
28
|
-
static createDiff(originalSchema, updatedSchema) {
|
|
29
|
-
if ((0, fast_deep_equal_1.default)(originalSchema.acl, updatedSchema.acl)) {
|
|
30
|
-
return [];
|
|
31
|
-
}
|
|
32
|
-
const patch = (0, rfc6902_1.createPatch)(originalSchema.acl, updatedSchema.acl);
|
|
33
|
-
if (patch.length <= 100) {
|
|
34
|
-
return [PatchAclSchemaModification_1.PatchAclSchemaModification.createModification({ patch })];
|
|
35
|
-
}
|
|
36
|
-
return [exports.UpdateAclSchemaModification.createModification({ schema: updatedSchema.acl })];
|
|
37
|
-
}
|
|
38
|
-
},
|
|
39
|
-
_a.id = 'updateAclSchema',
|
|
40
|
-
_a);
|
|
40
|
+
return [exports.updateAclSchemaModification.createModification({ schema: updatedSchema.acl })];
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
exports.UpdateAclSchemaDiffer = UpdateAclSchemaDiffer;
|
|
41
44
|
//# sourceMappingURL=UpdateAclSchemaModification.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UpdateAclSchemaModification.js","sourceRoot":"","sources":["../../../../src/modifications/acl/UpdateAclSchemaModification.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UpdateAclSchemaModification.js","sourceRoot":"","sources":["../../../../src/modifications/acl/UpdateAclSchemaModification.ts"],"names":[],"mappings":";;;;;;AAGA,gEAA4F;AAC5F,sEAAuC;AACvC,qCAAqC;AACrC,6EAAyE;AAEzE,MAAa,kCAAkC;IAC9C,YAA6B,IAAqC;QAArC,SAAI,GAAJ,IAAI,CAAiC;IAAG,CAAC;IAE/D,SAAS,CAAC,OAAyB,IAAS,CAAC;IAE7C,gBAAgB;QACtB,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC;YACvB,GAAG,MAAM;YACT,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,MAAM;SACrB,CAAC,CAAA;IACH,CAAC;IAED,QAAQ;QACP,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,CAAA;IACxC,CAAC;CACD;AAfD,gFAeC;AAMY,QAAA,2BAA2B,GAAG,IAAA,4CAAsB,EAAC;IACjE,EAAE,EAAE,iBAAiB;IACrB,OAAO,EAAE,kCAAkC;CAC3C,CAAC,CAAA;AAEF,MAAa,qBAAqB;IACjC,UAAU,CAAC,cAAsB,EAAE,aAAqB;QACvD,IAAI,IAAA,yBAAS,EAAC,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,GAAG,CAAC,EAAE;YACrD,OAAO,EAAE,CAAA;SACT;QACD,MAAM,KAAK,GAAG,IAAA,qBAAW,EAAC,cAAc,CAAC,GAAG,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;QAChE,IAAI,KAAK,CAAC,MAAM,IAAI,GAAG,EAAE;YACxB,OAAO,CAAC,uDAA0B,CAAC,kBAAkB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;SACjE;QACD,OAAO,CAAC,mCAA2B,CAAC,kBAAkB,CAAC,EAAE,MAAM,EAAE,aAAa,CAAC,GAAG,EAAE,CAAC,CAAC,CAAA;IACvF,CAAC;CACD;AAXD,sDAWC"}
|
|
@@ -1,10 +1,28 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
|
|
1
|
+
import { MigrationBuilder } from '@contember/database-migrations';
|
|
2
|
+
import { Model, Schema } from '@contember/schema';
|
|
3
|
+
import { SchemaUpdater } from '../utils/schemaUpdateUtils';
|
|
4
|
+
import { Differ, ModificationHandler } from '../ModificationHandler';
|
|
5
|
+
export declare class CreateColumnModificationHandler implements ModificationHandler<CreateColumnModificationData> {
|
|
6
|
+
private readonly data;
|
|
7
|
+
private readonly schema;
|
|
8
|
+
constructor(data: CreateColumnModificationData, schema: Schema);
|
|
9
|
+
createSql(builder: MigrationBuilder): void;
|
|
10
|
+
getSchemaUpdater(): SchemaUpdater;
|
|
11
|
+
describe({ createdEntities }: {
|
|
12
|
+
createdEntities: string[];
|
|
13
|
+
}): {
|
|
14
|
+
message: string;
|
|
15
|
+
failureWarning: string | undefined;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
4
18
|
export interface CreateColumnModificationData {
|
|
5
19
|
entityName: string;
|
|
6
20
|
field: Model.AnyColumn;
|
|
7
21
|
fillValue?: any;
|
|
8
22
|
copyValue?: string;
|
|
9
23
|
}
|
|
24
|
+
export declare const createColumnModification: import("../ModificationHandler").ModificationType<"createColumn", CreateColumnModificationData>;
|
|
25
|
+
export declare class CreateColumnDiffer implements Differ {
|
|
26
|
+
createDiff(originalSchema: Schema, updatedSchema: Schema): import("../../Migration").Migration.Modification<CreateColumnModificationData>[];
|
|
27
|
+
}
|
|
10
28
|
//# sourceMappingURL=CreateColumnModification.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateColumnModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/columns/CreateColumnModification.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CreateColumnModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/columns/CreateColumnModification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,gBAAgB,EAAE,MAAM,gCAAgC,CAAA;AAC9E,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AACjD,OAAO,EAAY,aAAa,EAA6B,MAAM,4BAA4B,CAAA;AAC/F,OAAO,EAA0B,MAAM,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAA;AAO5F,qBAAa,+BAAgC,YAAW,mBAAmB,CAAC,4BAA4B,CAAC;IAC5F,OAAO,CAAC,QAAQ,CAAC,IAAI;IAAgC,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAA3D,IAAI,EAAE,4BAA4B,EAAmB,MAAM,EAAE,MAAM;IAEzF,SAAS,CAAC,OAAO,EAAE,gBAAgB,GAAG,IAAI;IAsC1C,gBAAgB,IAAI,aAAa;IAIxC,QAAQ,CAAC,EAAE,eAAe,EAAE,EAAE;QAAE,eAAe,EAAE,MAAM,EAAE,CAAA;KAAE;;;;CAS3D;AAED,MAAM,WAAW,4BAA4B;IAC5C,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,SAAS,CAAC,EAAE,GAAG,CAAA;IACf,SAAS,CAAC,EAAE,MAAM,CAAA;CAClB;AAGD,eAAO,MAAM,wBAAwB,iGAGnC,CAAA;AAEF,qBAAa,kBAAmB,YAAW,MAAM;IAChD,UAAU,CAAC,cAAc,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM;CAYxD"}
|
|
@@ -1,83 +1,86 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _a;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.
|
|
3
|
+
exports.CreateColumnDiffer = exports.createColumnModification = exports.CreateColumnModificationHandler = void 0;
|
|
5
4
|
const database_migrations_1 = require("@contember/database-migrations");
|
|
6
|
-
const schema_1 = require("@contember/schema");
|
|
7
5
|
const schemaUpdateUtils_1 = require("../utils/schemaUpdateUtils");
|
|
6
|
+
const ModificationHandler_1 = require("../ModificationHandler");
|
|
8
7
|
const dbHelpers_1 = require("../../utils/dbHelpers");
|
|
9
8
|
const schema_utils_1 = require("@contember/schema-utils");
|
|
10
9
|
const exceptions_1 = require("../../exceptions");
|
|
11
10
|
const diffUtils_1 = require("../utils/diffUtils");
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
11
|
+
const columnUtils_1 = require("../utils/columnUtils");
|
|
12
|
+
class CreateColumnModificationHandler {
|
|
13
|
+
constructor(data, schema) {
|
|
14
|
+
this.data = data;
|
|
15
|
+
this.schema = schema;
|
|
16
|
+
}
|
|
17
|
+
createSql(builder) {
|
|
18
|
+
const entity = this.schema.model.entities[this.data.entityName];
|
|
19
|
+
if (entity.view) {
|
|
20
|
+
return;
|
|
16
21
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
},
|
|
30
|
-
});
|
|
31
|
-
if (hasSeed) {
|
|
32
|
-
if (this.data.fillValue !== undefined) {
|
|
33
|
-
builder.sql(`UPDATE ${(0, dbHelpers_1.wrapIdentifier)(entity.tableName)}
|
|
22
|
+
const column = this.data.field;
|
|
23
|
+
const hasSeed = this.data.fillValue !== undefined || this.data.copyValue !== undefined;
|
|
24
|
+
builder.addColumn(entity.tableName, {
|
|
25
|
+
[column.columnName]: {
|
|
26
|
+
type: (0, columnUtils_1.getColumnSqlType)(column),
|
|
27
|
+
notNull: !column.nullable && !hasSeed,
|
|
28
|
+
sequenceGenerated: column.sequence,
|
|
29
|
+
},
|
|
30
|
+
});
|
|
31
|
+
if (hasSeed) {
|
|
32
|
+
if (this.data.fillValue !== undefined) {
|
|
33
|
+
builder.sql(`UPDATE ${(0, dbHelpers_1.wrapIdentifier)(entity.tableName)}
|
|
34
34
|
SET ${(0, dbHelpers_1.wrapIdentifier)(column.columnName)} = ${(0, database_migrations_1.escapeValue)(this.data.fillValue)}`);
|
|
35
|
-
}
|
|
36
|
-
else if (this.data.copyValue !== undefined) {
|
|
37
|
-
const copyFrom = (0, schema_utils_1.getColumnName)(this.schema.model, entity, this.data.copyValue);
|
|
38
|
-
builder.sql(`UPDATE ${(0, dbHelpers_1.wrapIdentifier)(entity.tableName)}
|
|
39
|
-
SET ${(0, dbHelpers_1.wrapIdentifier)(column.columnName)} = ${(0, dbHelpers_1.wrapIdentifier)(copyFrom)}`);
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
throw new exceptions_1.ImplementationException();
|
|
43
|
-
}
|
|
44
|
-
// event applier defers constraint check, we need to fire them before ALTER
|
|
45
|
-
builder.sql(`SET CONSTRAINTS ALL IMMEDIATE`);
|
|
46
|
-
builder.sql(`SET CONSTRAINTS ALL DEFERRED`);
|
|
47
|
-
if (!column.nullable) {
|
|
48
|
-
builder.alterColumn(entity.tableName, column.columnName, {
|
|
49
|
-
notNull: true,
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
35
|
}
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
static createDiff(originalSchema, updatedSchema) {
|
|
69
|
-
return (0, diffUtils_1.createFields)(originalSchema, updatedSchema, ({ newField, updatedEntity }) => {
|
|
70
|
-
if (!(0, schema_utils_1.isColumn)(newField)) {
|
|
71
|
-
return undefined;
|
|
72
|
-
}
|
|
73
|
-
return exports.CreateColumnModification.createModification({
|
|
74
|
-
entityName: updatedEntity.name,
|
|
75
|
-
field: newField,
|
|
76
|
-
...(newField.default !== undefined ? { fillValue: newField.default } : {}),
|
|
36
|
+
else if (this.data.copyValue !== undefined) {
|
|
37
|
+
const copyFrom = (0, schema_utils_1.getColumnName)(this.schema.model, entity, this.data.copyValue);
|
|
38
|
+
builder.sql(`UPDATE ${(0, dbHelpers_1.wrapIdentifier)(entity.tableName)}
|
|
39
|
+
SET ${(0, dbHelpers_1.wrapIdentifier)(column.columnName)} = ${(0, dbHelpers_1.wrapIdentifier)(copyFrom)}::${(0, columnUtils_1.getColumnSqlType)(column)}`);
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
throw new exceptions_1.ImplementationException();
|
|
43
|
+
}
|
|
44
|
+
// event applier defers constraint check, we need to fire them before ALTER
|
|
45
|
+
builder.sql(`SET CONSTRAINTS ALL IMMEDIATE`);
|
|
46
|
+
builder.sql(`SET CONSTRAINTS ALL DEFERRED`);
|
|
47
|
+
if (!column.nullable) {
|
|
48
|
+
builder.alterColumn(entity.tableName, column.columnName, {
|
|
49
|
+
notNull: true,
|
|
77
50
|
});
|
|
78
|
-
}
|
|
51
|
+
}
|
|
79
52
|
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
|
|
53
|
+
}
|
|
54
|
+
getSchemaUpdater() {
|
|
55
|
+
return (0, schemaUpdateUtils_1.updateModel)((0, schemaUpdateUtils_1.updateEntity)(this.data.entityName, (0, schemaUpdateUtils_1.addField)(this.data.field)));
|
|
56
|
+
}
|
|
57
|
+
describe({ createdEntities }) {
|
|
58
|
+
const notNull = !this.data.field.nullable;
|
|
59
|
+
const hasValue = this.data.fillValue !== undefined || this.data.copyValue !== undefined;
|
|
60
|
+
const failureWarning = notNull && !hasValue && !createdEntities.includes(this.data.entityName)
|
|
61
|
+
? 'May fail in runtime, because column is not-null. Consider setting fillValue or copyValue'
|
|
62
|
+
: undefined;
|
|
63
|
+
return { message: `Add field ${this.data.entityName}.${this.data.field.name}`, failureWarning };
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.CreateColumnModificationHandler = CreateColumnModificationHandler;
|
|
67
|
+
exports.createColumnModification = (0, ModificationHandler_1.createModificationType)({
|
|
68
|
+
id: 'createColumn',
|
|
69
|
+
handler: CreateColumnModificationHandler,
|
|
70
|
+
});
|
|
71
|
+
class CreateColumnDiffer {
|
|
72
|
+
createDiff(originalSchema, updatedSchema) {
|
|
73
|
+
return (0, diffUtils_1.createFields)(originalSchema, updatedSchema, ({ newField, updatedEntity }) => {
|
|
74
|
+
if (!(0, schema_utils_1.isColumn)(newField)) {
|
|
75
|
+
return undefined;
|
|
76
|
+
}
|
|
77
|
+
return exports.createColumnModification.createModification({
|
|
78
|
+
entityName: updatedEntity.name,
|
|
79
|
+
field: newField,
|
|
80
|
+
...(newField.default !== undefined ? { fillValue: newField.default } : {}),
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
exports.CreateColumnDiffer = CreateColumnDiffer;
|
|
83
86
|
//# sourceMappingURL=CreateColumnModification.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CreateColumnModification.js","sourceRoot":"","sources":["../../../../src/modifications/columns/CreateColumnModification.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"CreateColumnModification.js","sourceRoot":"","sources":["../../../../src/modifications/columns/CreateColumnModification.ts"],"names":[],"mappings":";;;AAAA,wEAA8E;AAE9E,kEAA+F;AAC/F,gEAA4F;AAC5F,qDAAsD;AACtD,0DAAiE;AACjE,iDAA0D;AAC1D,kDAAiD;AACjD,sDAAuD;AAEvD,MAAa,+BAA+B;IAC3C,YAA6B,IAAkC,EAAmB,MAAc;QAAnE,SAAI,GAAJ,IAAI,CAA8B;QAAmB,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAE7F,SAAS,CAAC,OAAyB;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAC/D,IAAI,MAAM,CAAC,IAAI,EAAE;YAChB,OAAM;SACN;QACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAA;QAC9B,MAAM,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAA;QACtF,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,SAAS,EAAE;YACnC,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;gBACpB,IAAI,EAAE,IAAA,8BAAgB,EAAC,MAAM,CAAC;gBAC9B,OAAO,EAAE,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,OAAO;gBACrC,iBAAiB,EAAE,MAAM,CAAC,QAAQ;aAClC;SACD,CAAC,CAAA;QACF,IAAI,OAAO,EAAE;YACZ,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;gBACtC,OAAO,CAAC,GAAG,CAAC,UAAU,IAAA,0BAAc,EAAC,MAAM,CAAC,SAAS,CAAC;SACjD,IAAA,0BAAc,EAAC,MAAM,CAAC,UAAU,CAAC,MAAM,IAAA,iCAAW,EAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAA;aAC/E;iBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;gBAC7C,MAAM,QAAQ,GAAG,IAAA,4BAAa,EAAC,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;gBAC9E,OAAO,CAAC,GAAG,CAAC,UAAU,IAAA,0BAAc,EAAC,MAAM,CAAC,SAAS,CAAC;SACjD,IAAA,0BAAc,EAAC,MAAM,CAAC,UAAU,CAAC,MAAM,IAAA,0BAAc,EAAC,QAAQ,CAAC,KAAK,IAAA,8BAAgB,EAAC,MAAM,CAAC,EAAE,CAAC,CAAA;aACpG;iBAAM;gBACN,MAAM,IAAI,oCAAuB,EAAE,CAAA;aACnC;YAED,2EAA2E;YAC3E,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAA;YAC5C,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAA;YAE3C,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE;gBACrB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,EAAE,MAAM,CAAC,UAAU,EAAE;oBACxD,OAAO,EAAE,IAAI;iBACb,CAAC,CAAA;aACF;SACD;IACF,CAAC;IAEM,gBAAgB;QACtB,OAAO,IAAA,+BAAW,EAAC,IAAA,gCAAY,EAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAA,4BAAQ,EAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IAClF,CAAC;IAED,QAAQ,CAAC,EAAE,eAAe,EAAiC;QAC1D,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAA;QACzC,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,KAAK,SAAS,CAAA;QACvF,MAAM,cAAc,GACnB,OAAO,IAAI,CAAC,QAAQ,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC;YACtE,CAAC,CAAC,0FAA0F;YAC5F,CAAC,CAAC,SAAS,CAAA;QACb,OAAO,EAAE,OAAO,EAAE,aAAa,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,cAAc,EAAE,CAAA;IAChG,CAAC;CACD;AAtDD,0EAsDC;AAUY,QAAA,wBAAwB,GAAG,IAAA,4CAAsB,EAAC;IAC9D,EAAE,EAAE,cAAc;IAClB,OAAO,EAAE,+BAA+B;CACxC,CAAC,CAAA;AAEF,MAAa,kBAAkB;IAC9B,UAAU,CAAC,cAAsB,EAAE,aAAqB;QACvD,OAAO,IAAA,wBAAY,EAAC,cAAc,EAAE,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,aAAa,EAAE,EAAE,EAAE;YAClF,IAAI,CAAC,IAAA,uBAAQ,EAAC,QAAQ,CAAC,EAAE;gBACxB,OAAO,SAAS,CAAA;aAChB;YACD,OAAO,gCAAwB,CAAC,kBAAkB,CAAC;gBAClD,UAAU,EAAE,aAAa,CAAC,IAAI;gBAC9B,KAAK,EAAE,QAAQ;gBACf,GAAG,CAAC,QAAQ,CAAC,OAAO,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;aAC1E,CAAC,CAAA;QACH,CAAC,CAAC,CAAA;IACH,CAAC;CACD;AAbD,gDAaC"}
|