@contember/schema-migrations 1.2.0-alpha.8 → 1.2.0-alpha.9

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.
Files changed (220) hide show
  1. package/dist/src/MigrationDescriber.d.ts +1 -2
  2. package/dist/src/MigrationDescriber.d.ts.map +1 -1
  3. package/dist/src/MigrationDescriber.js +5 -7
  4. package/dist/src/MigrationDescriber.js.map +1 -1
  5. package/dist/src/SchemaDiffer.d.ts.map +1 -1
  6. package/dist/src/SchemaDiffer.js +35 -48
  7. package/dist/src/SchemaDiffer.js.map +1 -1
  8. package/dist/src/SchemaMigrator.d.ts +1 -1
  9. package/dist/src/SchemaMigrator.d.ts.map +1 -1
  10. package/dist/src/index.d.ts +1 -5
  11. package/dist/src/index.d.ts.map +1 -1
  12. package/dist/src/index.js +1 -11
  13. package/dist/src/index.js.map +1 -1
  14. package/dist/src/modifications/ModificationHandler.d.ts +11 -6
  15. package/dist/src/modifications/ModificationHandler.d.ts.map +1 -1
  16. package/dist/src/modifications/ModificationHandler.js +9 -1
  17. package/dist/src/modifications/ModificationHandler.js.map +1 -1
  18. package/dist/src/modifications/ModificationHandlerFactory.d.ts +6 -5
  19. package/dist/src/modifications/ModificationHandlerFactory.d.ts.map +1 -1
  20. package/dist/src/modifications/ModificationHandlerFactory.js +41 -39
  21. package/dist/src/modifications/ModificationHandlerFactory.js.map +1 -1
  22. package/dist/src/modifications/acl/PatchAclSchemaModification.d.ts +13 -2
  23. package/dist/src/modifications/acl/PatchAclSchemaModification.d.ts.map +1 -1
  24. package/dist/src/modifications/acl/PatchAclSchemaModification.js +28 -28
  25. package/dist/src/modifications/acl/PatchAclSchemaModification.js.map +1 -1
  26. package/dist/src/modifications/acl/UpdateAclSchemaModification.d.ts +17 -3
  27. package/dist/src/modifications/acl/UpdateAclSchemaModification.d.ts.map +1 -1
  28. package/dist/src/modifications/acl/UpdateAclSchemaModification.js +33 -30
  29. package/dist/src/modifications/acl/UpdateAclSchemaModification.js.map +1 -1
  30. package/dist/src/modifications/columns/CreateColumnModification.d.ts +23 -3
  31. package/dist/src/modifications/columns/CreateColumnModification.d.ts.map +1 -1
  32. package/dist/src/modifications/columns/CreateColumnModification.js +70 -67
  33. package/dist/src/modifications/columns/CreateColumnModification.js.map +1 -1
  34. package/dist/src/modifications/columns/UpdateColumnDefinitionModification.d.ts +21 -3
  35. package/dist/src/modifications/columns/UpdateColumnDefinitionModification.d.ts.map +1 -1
  36. package/dist/src/modifications/columns/UpdateColumnDefinitionModification.js +73 -70
  37. package/dist/src/modifications/columns/UpdateColumnDefinitionModification.js.map +1 -1
  38. package/dist/src/modifications/columns/UpdateColumnNameModification.d.ts +20 -2
  39. package/dist/src/modifications/columns/UpdateColumnNameModification.d.ts.map +1 -1
  40. package/dist/src/modifications/columns/UpdateColumnNameModification.js +97 -94
  41. package/dist/src/modifications/columns/UpdateColumnNameModification.js.map +1 -1
  42. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.d.ts +21 -3
  43. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.d.ts.map +1 -1
  44. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js +72 -66
  45. package/dist/src/modifications/constraints/CreateUniqueConstraintModification.js.map +1 -1
  46. package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.d.ts +18 -2
  47. package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.d.ts.map +1 -1
  48. package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js +45 -42
  49. package/dist/src/modifications/constraints/RemoveUniqueConstraintModification.js.map +1 -1
  50. package/dist/src/modifications/differs/ChangeViewNonViewDiffer.js +1 -1
  51. package/dist/src/modifications/differs/RemoveChangedFieldDiffer.js +1 -1
  52. package/dist/src/modifications/differs/RemoveChangedViewDiffer.js +1 -1
  53. package/dist/src/modifications/entities/CreateEntityModification.d.ts +19 -2
  54. package/dist/src/modifications/entities/CreateEntityModification.d.ts.map +1 -1
  55. package/dist/src/modifications/entities/CreateEntityModification.js +65 -62
  56. package/dist/src/modifications/entities/CreateEntityModification.js.map +1 -1
  57. package/dist/src/modifications/entities/CreateViewModification.d.ts +21 -2
  58. package/dist/src/modifications/entities/CreateViewModification.d.ts.map +1 -1
  59. package/dist/src/modifications/entities/CreateViewModification.js +59 -56
  60. package/dist/src/modifications/entities/CreateViewModification.js.map +1 -1
  61. package/dist/src/modifications/entities/RemoveEntityModification.d.ts +21 -2
  62. package/dist/src/modifications/entities/RemoveEntityModification.d.ts.map +1 -1
  63. package/dist/src/modifications/entities/RemoveEntityModification.js +73 -70
  64. package/dist/src/modifications/entities/RemoveEntityModification.js.map +1 -1
  65. package/dist/src/modifications/entities/ToggleEventLogModification.d.ts +19 -2
  66. package/dist/src/modifications/entities/ToggleEventLogModification.d.ts.map +1 -1
  67. package/dist/src/modifications/entities/ToggleEventLogModification.js +57 -54
  68. package/dist/src/modifications/entities/ToggleEventLogModification.js.map +1 -1
  69. package/dist/src/modifications/entities/UpdateEntityNameModification.d.ts +18 -2
  70. package/dist/src/modifications/entities/UpdateEntityNameModification.d.ts.map +1 -1
  71. package/dist/src/modifications/entities/UpdateEntityNameModification.js +78 -78
  72. package/dist/src/modifications/entities/UpdateEntityNameModification.js.map +1 -1
  73. package/dist/src/modifications/entities/UpdateEntityTableNameModification.d.ts +18 -2
  74. package/dist/src/modifications/entities/UpdateEntityTableNameModification.d.ts.map +1 -1
  75. package/dist/src/modifications/entities/UpdateEntityTableNameModification.js +40 -34
  76. package/dist/src/modifications/entities/UpdateEntityTableNameModification.js.map +1 -1
  77. package/dist/src/modifications/entities/UpdateViewModification.d.ts +15 -3
  78. package/dist/src/modifications/entities/UpdateViewModification.d.ts.map +1 -1
  79. package/dist/src/modifications/entities/UpdateViewModification.js +28 -28
  80. package/dist/src/modifications/entities/UpdateViewModification.js.map +1 -1
  81. package/dist/src/modifications/enums/CreateEnumModification.d.ts +18 -2
  82. package/dist/src/modifications/enums/CreateEnumModification.d.ts.map +1 -1
  83. package/dist/src/modifications/enums/CreateEnumModification.js +42 -36
  84. package/dist/src/modifications/enums/CreateEnumModification.js.map +1 -1
  85. package/dist/src/modifications/enums/RemoveEnumModification.d.ts +18 -2
  86. package/dist/src/modifications/enums/RemoveEnumModification.d.ts.map +1 -1
  87. package/dist/src/modifications/enums/RemoveEnumModification.js +36 -33
  88. package/dist/src/modifications/enums/RemoveEnumModification.js.map +1 -1
  89. package/dist/src/modifications/enums/UpdateEnumModification.d.ts +19 -2
  90. package/dist/src/modifications/enums/UpdateEnumModification.d.ts.map +1 -1
  91. package/dist/src/modifications/enums/UpdateEnumModification.js +43 -40
  92. package/dist/src/modifications/enums/UpdateEnumModification.js.map +1 -1
  93. package/dist/src/modifications/fields/RemoveFieldModification.d.ts +20 -2
  94. package/dist/src/modifications/fields/RemoveFieldModification.d.ts.map +1 -1
  95. package/dist/src/modifications/fields/RemoveFieldModification.js +67 -64
  96. package/dist/src/modifications/fields/RemoveFieldModification.js.map +1 -1
  97. package/dist/src/modifications/fields/UpdateFieldNameModification.d.ts +18 -2
  98. package/dist/src/modifications/fields/UpdateFieldNameModification.d.ts.map +1 -1
  99. package/dist/src/modifications/fields/UpdateFieldNameModification.js +132 -132
  100. package/dist/src/modifications/fields/UpdateFieldNameModification.js.map +1 -1
  101. package/dist/src/modifications/index.d.ts +14 -0
  102. package/dist/src/modifications/index.d.ts.map +1 -0
  103. package/dist/src/modifications/index.js +32 -0
  104. package/dist/src/modifications/index.js.map +1 -0
  105. package/dist/src/modifications/indexes/CreateIndexModification.d.ts +18 -3
  106. package/dist/src/modifications/indexes/CreateIndexModification.d.ts.map +1 -1
  107. package/dist/src/modifications/indexes/CreateIndexModification.js +68 -65
  108. package/dist/src/modifications/indexes/CreateIndexModification.js.map +1 -1
  109. package/dist/src/modifications/indexes/RemoveIndexModification.d.ts +18 -2
  110. package/dist/src/modifications/indexes/RemoveIndexModification.d.ts.map +1 -1
  111. package/dist/src/modifications/indexes/RemoveIndexModification.js +47 -44
  112. package/dist/src/modifications/indexes/RemoveIndexModification.js.map +1 -1
  113. package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts +23 -3
  114. package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.d.ts.map +1 -1
  115. package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js +68 -65
  116. package/dist/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.js.map +1 -1
  117. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts +23 -2
  118. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.d.ts.map +1 -1
  119. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js +73 -70
  120. package/dist/src/modifications/relations/ConvertOneToManyRelationModification.js.map +1 -1
  121. package/dist/src/modifications/relations/CreateRelationInverseSideModification.d.ts +20 -3
  122. package/dist/src/modifications/relations/CreateRelationInverseSideModification.d.ts.map +1 -1
  123. package/dist/src/modifications/relations/CreateRelationInverseSideModification.js +36 -33
  124. package/dist/src/modifications/relations/CreateRelationInverseSideModification.js.map +1 -1
  125. package/dist/src/modifications/relations/CreateRelationModification.d.ts +25 -3
  126. package/dist/src/modifications/relations/CreateRelationModification.d.ts.map +1 -1
  127. package/dist/src/modifications/relations/CreateRelationModification.js +88 -85
  128. package/dist/src/modifications/relations/CreateRelationModification.js.map +1 -1
  129. package/dist/src/modifications/relations/DisableOrphanRemovalModification.d.ts +20 -2
  130. package/dist/src/modifications/relations/DisableOrphanRemovalModification.d.ts.map +1 -1
  131. package/dist/src/modifications/relations/DisableOrphanRemovalModification.js +42 -39
  132. package/dist/src/modifications/relations/DisableOrphanRemovalModification.js.map +1 -1
  133. package/dist/src/modifications/relations/EnableOrphanRemovalModification.d.ts +20 -2
  134. package/dist/src/modifications/relations/EnableOrphanRemovalModification.d.ts.map +1 -1
  135. package/dist/src/modifications/relations/EnableOrphanRemovalModification.js +45 -42
  136. package/dist/src/modifications/relations/EnableOrphanRemovalModification.js.map +1 -1
  137. package/dist/src/modifications/relations/MakeRelationNotNullModification.d.ts +21 -2
  138. package/dist/src/modifications/relations/MakeRelationNotNullModification.d.ts.map +1 -1
  139. package/dist/src/modifications/relations/MakeRelationNotNullModification.js +55 -52
  140. package/dist/src/modifications/relations/MakeRelationNotNullModification.js.map +1 -1
  141. package/dist/src/modifications/relations/MakeRelationNullableModification.d.ts +20 -2
  142. package/dist/src/modifications/relations/MakeRelationNullableModification.d.ts.map +1 -1
  143. package/dist/src/modifications/relations/MakeRelationNullableModification.js +54 -51
  144. package/dist/src/modifications/relations/MakeRelationNullableModification.js.map +1 -1
  145. package/dist/src/modifications/relations/ToggleJunctionEventLogModification.d.ts +27 -0
  146. package/dist/src/modifications/relations/ToggleJunctionEventLogModification.d.ts.map +1 -0
  147. package/dist/src/modifications/relations/ToggleJunctionEventLogModification.js +84 -0
  148. package/dist/src/modifications/relations/ToggleJunctionEventLogModification.js.map +1 -0
  149. package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.d.ts +20 -3
  150. package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.d.ts.map +1 -1
  151. package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.js +42 -39
  152. package/dist/src/modifications/relations/UpdateRelationOnDeleteModification.js.map +1 -1
  153. package/dist/src/modifications/relations/UpdateRelationOrderByModification.d.ts +20 -3
  154. package/dist/src/modifications/relations/UpdateRelationOrderByModification.d.ts.map +1 -1
  155. package/dist/src/modifications/relations/UpdateRelationOrderByModification.js +43 -40
  156. package/dist/src/modifications/relations/UpdateRelationOrderByModification.js.map +1 -1
  157. package/dist/src/modifications/relations/index.d.ts +1 -1
  158. package/dist/src/modifications/relations/index.d.ts.map +1 -1
  159. package/dist/src/modifications/relations/index.js +1 -1
  160. package/dist/src/modifications/relations/index.js.map +1 -1
  161. package/dist/src/modifications/validation/PatchValidationSchemaModification.d.ts +13 -2
  162. package/dist/src/modifications/validation/PatchValidationSchemaModification.d.ts.map +1 -1
  163. package/dist/src/modifications/validation/PatchValidationSchemaModification.js +28 -28
  164. package/dist/src/modifications/validation/PatchValidationSchemaModification.js.map +1 -1
  165. package/dist/src/modifications/validation/UpdateValidationSchemaModification.d.ts +17 -3
  166. package/dist/src/modifications/validation/UpdateValidationSchemaModification.d.ts.map +1 -1
  167. package/dist/src/modifications/validation/UpdateValidationSchemaModification.js +33 -30
  168. package/dist/src/modifications/validation/UpdateValidationSchemaModification.js.map +1 -1
  169. package/dist/src/tsconfig.tsbuildinfo +1 -1
  170. package/dist/tests/tsconfig.tsbuildinfo +1 -1
  171. package/package.json +6 -6
  172. package/src/MigrationDescriber.ts +8 -8
  173. package/src/SchemaDiffer.ts +65 -79
  174. package/src/SchemaMigrator.ts +1 -1
  175. package/src/index.ts +1 -5
  176. package/src/modifications/ModificationHandler.ts +20 -8
  177. package/src/modifications/ModificationHandlerFactory.ts +65 -64
  178. package/src/modifications/acl/PatchAclSchemaModification.ts +7 -8
  179. package/src/modifications/acl/UpdateAclSchemaModification.ts +16 -15
  180. package/src/modifications/columns/CreateColumnModification.ts +18 -16
  181. package/src/modifications/columns/UpdateColumnDefinitionModification.ts +27 -25
  182. package/src/modifications/columns/UpdateColumnNameModification.ts +23 -16
  183. package/src/modifications/constraints/CreateUniqueConstraintModification.ts +21 -15
  184. package/src/modifications/constraints/RemoveUniqueConstraintModification.ts +18 -14
  185. package/src/modifications/differs/ChangeViewNonViewDiffer.ts +2 -2
  186. package/src/modifications/differs/RemoveChangedFieldDiffer.ts +2 -2
  187. package/src/modifications/differs/RemoveChangedViewDiffer.ts +2 -2
  188. package/src/modifications/entities/CreateEntityModification.ts +16 -8
  189. package/src/modifications/entities/CreateViewModification.ts +10 -8
  190. package/src/modifications/entities/RemoveEntityModification.ts +22 -15
  191. package/src/modifications/entities/ToggleEventLogModification.ts +20 -13
  192. package/src/modifications/entities/UpdateEntityNameModification.ts +9 -9
  193. package/src/modifications/entities/UpdateEntityTableNameModification.ts +18 -13
  194. package/src/modifications/entities/UpdateViewModification.ts +7 -7
  195. package/src/modifications/enums/CreateEnumModification.ts +18 -13
  196. package/src/modifications/enums/RemoveEnumModification.ts +14 -12
  197. package/src/modifications/enums/UpdateEnumModification.ts +15 -13
  198. package/src/modifications/fields/RemoveFieldModification.ts +16 -13
  199. package/src/modifications/fields/UpdateFieldNameModification.ts +9 -10
  200. package/src/modifications/index.ts +13 -0
  201. package/src/modifications/indexes/CreateIndexModification.ts +10 -9
  202. package/src/modifications/indexes/RemoveIndexModification.ts +12 -8
  203. package/src/modifications/relations/ConvertOneHasManyToManyHasManyRelationModification.ts +35 -25
  204. package/src/modifications/relations/ConvertOneToManyRelationModification.ts +31 -24
  205. package/src/modifications/relations/CreateRelationInverseSideModification.ts +15 -13
  206. package/src/modifications/relations/CreateRelationModification.ts +32 -24
  207. package/src/modifications/relations/DisableOrphanRemovalModification.ts +15 -12
  208. package/src/modifications/relations/EnableOrphanRemovalModification.ts +16 -13
  209. package/src/modifications/relations/MakeRelationNotNullModification.ts +16 -14
  210. package/src/modifications/relations/MakeRelationNullableModification.ts +17 -13
  211. package/src/modifications/relations/{ToggleManyHasManyEventLogModification.ts → ToggleJunctionEventLogModification.ts} +21 -14
  212. package/src/modifications/relations/UpdateRelationOnDeleteModification.ts +16 -14
  213. package/src/modifications/relations/UpdateRelationOrderByModification.ts +17 -14
  214. package/src/modifications/relations/index.ts +1 -1
  215. package/src/modifications/validation/PatchValidationSchemaModification.ts +7 -7
  216. package/src/modifications/validation/UpdateValidationSchemaModification.ts +17 -14
  217. package/dist/src/modifications/relations/ToggleManyHasManyEventLogModification.d.ts +0 -8
  218. package/dist/src/modifications/relations/ToggleManyHasManyEventLogModification.d.ts.map +0 -1
  219. package/dist/src/modifications/relations/ToggleManyHasManyEventLogModification.js +0 -81
  220. package/dist/src/modifications/relations/ToggleManyHasManyEventLogModification.js.map +0 -1
@@ -1,12 +1,11 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Model, Schema } from '@contember/schema'
3
3
  import { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'
4
- import { ModificationHandlerStatic } from '../ModificationHandler'
4
+ import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'
5
5
  import { isOwningRelation } from '@contember/schema-utils'
6
6
  import { updateRelations } from '../utils/diffUtils'
7
7
 
8
- export const DisableOrphanRemovalModification: ModificationHandlerStatic<DisableOrphanRemovalModificationData> = class {
9
- static id = 'disableOrphanRemoval'
8
+ export class DisableOrphanRemovalModificationHandler implements ModificationHandler<DisableOrphanRemovalModificationData> {
10
9
 
11
10
  constructor(private readonly data: DisableOrphanRemovalModificationData, private readonly schema: Schema) {}
12
11
 
@@ -27,12 +26,20 @@ export const DisableOrphanRemovalModification: ModificationHandlerStatic<Disable
27
26
  message: `Disable orphan removal on ${this.data.entityName}.${this.data.fieldName}`,
28
27
  }
29
28
  }
29
+ }
30
30
 
31
- static createModification(data: DisableOrphanRemovalModificationData) {
32
- return { modification: this.id, ...data }
33
- }
31
+ export interface DisableOrphanRemovalModificationData {
32
+ entityName: string
33
+ fieldName: string
34
+ }
34
35
 
35
- static createDiff(originalSchema: Schema, updatedSchema: Schema) {
36
+ export const disableOrphanRemovalModification = createModificationType({
37
+ id: 'disableOrphanRemoval',
38
+ handler: DisableOrphanRemovalModificationHandler,
39
+ })
40
+
41
+ export class DisableOrphanRemovalDiffer implements Differ {
42
+ createDiff(originalSchema: Schema, updatedSchema: Schema) {
36
43
  return updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {
37
44
  if (
38
45
  isOwningRelation(originalRelation) &&
@@ -42,7 +49,7 @@ export const DisableOrphanRemovalModification: ModificationHandlerStatic<Disable
42
49
  originalRelation.orphanRemoval &&
43
50
  !updatedRelation.orphanRemoval
44
51
  ) {
45
- return DisableOrphanRemovalModification.createModification({
52
+ return disableOrphanRemovalModification.createModification({
46
53
  entityName: updatedEntity.name,
47
54
  fieldName: updatedRelation.name,
48
55
  })
@@ -51,7 +58,3 @@ export const DisableOrphanRemovalModification: ModificationHandlerStatic<Disable
51
58
  })
52
59
  }
53
60
  }
54
- export interface DisableOrphanRemovalModificationData {
55
- entityName: string
56
- fieldName: string
57
- }
@@ -1,12 +1,11 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Model, Schema } from '@contember/schema'
3
3
  import { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'
4
- import { ModificationHandlerStatic } from '../ModificationHandler'
4
+ import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'
5
5
  import { isOwningRelation } from '@contember/schema-utils'
6
6
  import { updateRelations } from '../utils/diffUtils'
7
7
 
8
- export const EnableOrphanRemovalModification: ModificationHandlerStatic<EnableOrphanRemovalModificationData> = class {
9
- static id = 'enableOrphanRemoval'
8
+ export class EnableOrphanRemovalModificationHandler implements ModificationHandler<EnableOrphanRemovalModificationData> {
10
9
  constructor(private readonly data: EnableOrphanRemovalModificationData, private readonly schema: Schema) {}
11
10
 
12
11
  public createSql(builder: MigrationBuilder): void {}
@@ -30,11 +29,20 @@ export const EnableOrphanRemovalModification: ModificationHandlerStatic<EnableOr
30
29
  }
31
30
  }
32
31
 
33
- static createModification(data: EnableOrphanRemovalModificationData) {
34
- return { modification: this.id, ...data }
35
- }
32
+ }
33
+
34
+ export interface EnableOrphanRemovalModificationData {
35
+ entityName: string
36
+ fieldName: string
37
+ }
36
38
 
37
- static createDiff(originalSchema: Schema, updatedSchema: Schema) {
39
+ export const enableOrphanRemovalModification = createModificationType({
40
+ id: 'enableOrphanRemoval',
41
+ handler: EnableOrphanRemovalModificationHandler,
42
+ })
43
+
44
+ export class EnableOrphanRemovalDiffer implements Differ {
45
+ createDiff(originalSchema: Schema, updatedSchema: Schema) {
38
46
  return updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {
39
47
  if (
40
48
  isOwningRelation(originalRelation) &&
@@ -44,7 +52,7 @@ export const EnableOrphanRemovalModification: ModificationHandlerStatic<EnableOr
44
52
  !originalRelation.orphanRemoval &&
45
53
  updatedRelation.orphanRemoval
46
54
  ) {
47
- return EnableOrphanRemovalModification.createModification({
55
+ return enableOrphanRemovalModification.createModification({
48
56
  entityName: updatedEntity.name,
49
57
  fieldName: updatedRelation.name,
50
58
  })
@@ -53,8 +61,3 @@ export const EnableOrphanRemovalModification: ModificationHandlerStatic<EnableOr
53
61
  })
54
62
  }
55
63
  }
56
-
57
- export interface EnableOrphanRemovalModificationData {
58
- entityName: string
59
- fieldName: string
60
- }
@@ -1,13 +1,12 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Model, Schema } from '@contember/schema'
3
3
  import { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'
4
- import { ModificationHandlerStatic } from '../ModificationHandler'
4
+ import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'
5
5
  import { getEntity, tryGetColumnName } from '@contember/schema-utils'
6
6
  import { isIt } from '../../utils/isIt'
7
7
  import { updateRelations } from '../utils/diffUtils'
8
8
 
9
- export const MakeRelationNotNullModification: ModificationHandlerStatic<MakeRelationNotNullModificationData> = class {
10
- static id = 'makeRelationNotNull'
9
+ export class MakeRelationNotNullModificationHandler implements ModificationHandler<MakeRelationNotNullModificationData> {
11
10
  constructor(private readonly data: MakeRelationNotNullModificationData, private readonly schema: Schema) {}
12
11
 
13
12
  public createSql(builder: MigrationBuilder): void {
@@ -43,12 +42,21 @@ export const MakeRelationNotNullModification: ModificationHandlerStatic<MakeRela
43
42
  failureWarning: 'Changing to not-null may fail in runtime',
44
43
  }
45
44
  }
45
+ }
46
46
 
47
- static createModification(data: MakeRelationNotNullModificationData) {
48
- return { modification: this.id, ...data }
49
- }
47
+ export interface MakeRelationNotNullModificationData {
48
+ entityName: string
49
+ fieldName: string
50
+ // todo fillValue
51
+ }
50
52
 
51
- static createDiff(originalSchema: Schema, updatedSchema: Schema) {
53
+ export const makeRelationNotNullModification = createModificationType({
54
+ id: 'makeRelationNotNull',
55
+ handler: MakeRelationNotNullModificationHandler,
56
+ })
57
+
58
+ export class MakeRelationNotNullDiffer implements Differ {
59
+ createDiff(originalSchema: Schema, updatedSchema: Schema) {
52
60
  return updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {
53
61
  if (
54
62
  originalRelation.type === updatedRelation.type &&
@@ -57,7 +65,7 @@ export const MakeRelationNotNullModification: ModificationHandlerStatic<MakeRela
57
65
  !updatedRelation.nullable &&
58
66
  originalRelation.nullable
59
67
  ) {
60
- return MakeRelationNotNullModification.createModification({
68
+ return makeRelationNotNullModification.createModification({
61
69
  entityName: updatedEntity.name,
62
70
  fieldName: updatedRelation.name,
63
71
  })
@@ -66,9 +74,3 @@ export const MakeRelationNotNullModification: ModificationHandlerStatic<MakeRela
66
74
  })
67
75
  }
68
76
  }
69
-
70
- export interface MakeRelationNotNullModificationData {
71
- entityName: string
72
- fieldName: string
73
- // todo fillValue
74
- }
@@ -1,13 +1,12 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Model, Schema } from '@contember/schema'
3
3
  import { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'
4
- import { ModificationHandlerStatic } from '../ModificationHandler'
4
+ import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'
5
5
  import { getEntity, tryGetColumnName } from '@contember/schema-utils'
6
6
  import { isIt } from '../../utils/isIt'
7
7
  import { updateRelations } from '../utils/diffUtils'
8
8
 
9
- export const MakeRelationNullableModification: ModificationHandlerStatic<MakeRelationNullableModificationData> = class {
10
- static id = 'makeRelationNullable'
9
+ export class MakeRelationNullableModificationHandler implements ModificationHandler<MakeRelationNullableModificationData> {
11
10
  constructor(private readonly data: MakeRelationNullableModificationData, private readonly schema: Schema) {}
12
11
 
13
12
  public createSql(builder: MigrationBuilder): void {
@@ -43,11 +42,21 @@ export const MakeRelationNullableModification: ModificationHandlerStatic<MakeRel
43
42
  }
44
43
  }
45
44
 
46
- static createModification(data: MakeRelationNullableModificationData) {
47
- return { modification: this.id, ...data }
48
- }
45
+ }
46
+
47
+ export interface MakeRelationNullableModificationData {
48
+ entityName: string
49
+ fieldName: string
50
+ }
49
51
 
50
- static createDiff(originalSchema: Schema, updatedSchema: Schema) {
52
+
53
+ export const makeRelationNullableModification = createModificationType({
54
+ id: 'makeRelationNullable',
55
+ handler: MakeRelationNullableModificationHandler,
56
+ })
57
+
58
+ export class MakeRelationNullableDiffer implements Differ {
59
+ createDiff(originalSchema: Schema, updatedSchema: Schema) {
51
60
  return updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {
52
61
  if (
53
62
  originalRelation.type === updatedRelation.type &&
@@ -56,7 +65,7 @@ export const MakeRelationNullableModification: ModificationHandlerStatic<MakeRel
56
65
  updatedRelation.nullable &&
57
66
  !originalRelation.nullable
58
67
  ) {
59
- return MakeRelationNullableModification.createModification({
68
+ return makeRelationNullableModification.createModification({
60
69
  entityName: updatedEntity.name,
61
70
  fieldName: updatedRelation.name,
62
71
  })
@@ -65,8 +74,3 @@ export const MakeRelationNullableModification: ModificationHandlerStatic<MakeRel
65
74
  })
66
75
  }
67
76
  }
68
-
69
- export interface MakeRelationNullableModificationData {
70
- entityName: string
71
- fieldName: string
72
- }
@@ -1,7 +1,12 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Model, Schema } from '@contember/schema'
3
3
  import { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'
4
- import { ModificationHandlerOptions, ModificationHandlerStatic } from '../ModificationHandler'
4
+ import {
5
+ createModificationType,
6
+ Differ,
7
+ ModificationHandler,
8
+ ModificationHandlerOptions,
9
+ } from '../ModificationHandler'
5
10
  import {
6
11
  createEventTrigger,
7
12
  createEventTrxTrigger,
@@ -12,8 +17,7 @@ import { isOwningRelation, isRelation } from '@contember/schema-utils'
12
17
  import { updateRelations } from '../utils/diffUtils'
13
18
  import { isIt } from '../../utils/isIt'
14
19
 
15
- export const ToggleJunctionEventLogModification: ModificationHandlerStatic<ToggleJunctionEventLogModificationData> = class {
16
- static id = 'toggleJunctionEventLog'
20
+ export class ToggleJunctionEventLogModificationHandler implements ModificationHandler<ToggleJunctionEventLogModificationData> {
17
21
 
18
22
  constructor(
19
23
  private readonly data: ToggleJunctionEventLogModificationData,
@@ -67,12 +71,21 @@ export const ToggleJunctionEventLogModification: ModificationHandlerStatic<Toggl
67
71
  message: `${this.data.enabled ? 'Enable' : 'Disable'} event log for ${this.data.entityName}.${this.data.fieldName}`,
68
72
  }
69
73
  }
74
+ }
70
75
 
71
- static createModification(data: ToggleJunctionEventLogModificationData) {
72
- return { modification: this.id, ...data }
73
- }
76
+ export interface ToggleJunctionEventLogModificationData {
77
+ entityName: string
78
+ fieldName: string
79
+ enabled: boolean
80
+ }
74
81
 
75
- static createDiff(originalSchema: Schema, updatedSchema: Schema) {
82
+ export const toggleJunctionEventLogModification = createModificationType({
83
+ id: 'toggleJunctionEventLog',
84
+ handler: ToggleJunctionEventLogModificationHandler,
85
+ })
86
+
87
+ export class ToggleJunctionEventLogDiffer implements Differ {
88
+ createDiff(originalSchema: Schema, updatedSchema: Schema) {
76
89
  return updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {
77
90
  if (
78
91
  originalRelation.type === updatedRelation.type &&
@@ -82,7 +95,7 @@ export const ToggleJunctionEventLogModification: ModificationHandlerStatic<Toggl
82
95
  const newValue = updatedRelation.joiningTable.eventLog?.enabled ?? false
83
96
  const oldValue = originalRelation.joiningTable.eventLog?.enabled ?? false
84
97
  if (newValue !== oldValue) {
85
- return ToggleJunctionEventLogModification.createModification({
98
+ return toggleJunctionEventLogModification.createModification({
86
99
  entityName: updatedEntity.name,
87
100
  fieldName: updatedRelation.name,
88
101
  enabled: newValue,
@@ -94,9 +107,3 @@ export const ToggleJunctionEventLogModification: ModificationHandlerStatic<Toggl
94
107
 
95
108
  }
96
109
  }
97
-
98
- export interface ToggleJunctionEventLogModificationData {
99
- entityName: string
100
- fieldName: string
101
- enabled: boolean
102
- }
@@ -1,12 +1,11 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Model, Schema } from '@contember/schema'
3
3
  import { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'
4
- import { ModificationHandlerStatic } from '../ModificationHandler'
4
+ import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'
5
5
  import { isIt } from '../../utils/isIt'
6
6
  import { updateRelations } from '../utils/diffUtils'
7
7
 
8
- export const UpdateRelationOnDeleteModification: ModificationHandlerStatic<UpdateRelationOnDeleteModificationData> = class {
9
- static id = 'updateRelationOnDelete'
8
+ export class UpdateRelationOnDeleteModificationHandler implements ModificationHandler<UpdateRelationOnDeleteModificationData> {
10
9
  constructor(private readonly data: UpdateRelationOnDeleteModificationData, private readonly schema: Schema) {}
11
10
 
12
11
  public createSql(builder: MigrationBuilder): void {}
@@ -27,12 +26,21 @@ export const UpdateRelationOnDeleteModification: ModificationHandlerStatic<Updat
27
26
  describe() {
28
27
  return { message: `Change on-delete policy of relation ${this.data.entityName}.${this.data.fieldName}` }
29
28
  }
29
+ }
30
30
 
31
- static createModification(data: UpdateRelationOnDeleteModificationData) {
32
- return { modification: this.id, ...data }
33
- }
31
+ export interface UpdateRelationOnDeleteModificationData {
32
+ entityName: string
33
+ fieldName: string
34
+ onDelete: Model.OnDelete
35
+ }
34
36
 
35
- static createDiff(originalSchema: Schema, updatedSchema: Schema) {
37
+ export const updateRelationOnDeleteModification = createModificationType({
38
+ id: 'updateRelationOnDelete',
39
+ handler: UpdateRelationOnDeleteModificationHandler,
40
+ })
41
+
42
+ export class UpdateRelationOnDeleteDiffer implements Differ {
43
+ createDiff(originalSchema: Schema, updatedSchema: Schema) {
36
44
  return updateRelations(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {
37
45
  if (
38
46
  originalRelation.type === updatedRelation.type &&
@@ -40,7 +48,7 @@ export const UpdateRelationOnDeleteModification: ModificationHandlerStatic<Updat
40
48
  isIt<Model.JoiningColumnRelation>(originalRelation, 'joiningColumn') &&
41
49
  updatedRelation.joiningColumn.onDelete !== originalRelation.joiningColumn.onDelete
42
50
  ) {
43
- return UpdateRelationOnDeleteModification.createModification({
51
+ return updateRelationOnDeleteModification.createModification({
44
52
  entityName: updatedEntity.name,
45
53
  fieldName: updatedRelation.name,
46
54
  onDelete: updatedRelation.joiningColumn.onDelete,
@@ -50,9 +58,3 @@ export const UpdateRelationOnDeleteModification: ModificationHandlerStatic<Updat
50
58
  })
51
59
  }
52
60
  }
53
-
54
- export interface UpdateRelationOnDeleteModificationData {
55
- entityName: string
56
- fieldName: string
57
- onDelete: Model.OnDelete
58
- }
@@ -1,12 +1,12 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Model, Schema } from '@contember/schema'
3
3
  import { SchemaUpdater, updateEntity, updateField, updateModel } from '../utils/schemaUpdateUtils'
4
- import { ModificationHandlerStatic } from '../ModificationHandler'
4
+ import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'
5
5
  import deepEqual from 'fast-deep-equal'
6
6
  import { updateRelations } from '../utils/diffUtils'
7
7
 
8
- export const UpdateRelationOrderByModification: ModificationHandlerStatic<UpdateRelationOrderByModificationData> = class {
9
- static id = 'updateRelationOrderBy'
8
+ export class UpdateRelationOrderByModificationHandler implements ModificationHandler<UpdateRelationOrderByModificationData> {
9
+
10
10
  constructor(private readonly data: UpdateRelationOrderByModificationData, private readonly schema: Schema) {}
11
11
 
12
12
  public createSql(builder: MigrationBuilder): void {}
@@ -27,12 +27,21 @@ export const UpdateRelationOrderByModification: ModificationHandlerStatic<Update
27
27
  describe() {
28
28
  return { message: `Update order-by of relation ${this.data.entityName}.${this.data.fieldName}` }
29
29
  }
30
+ }
30
31
 
31
- static createModification(data: UpdateRelationOrderByModificationData) {
32
- return { modification: this.id, ...data }
33
- }
32
+ export interface UpdateRelationOrderByModificationData {
33
+ entityName: string
34
+ fieldName: string
35
+ orderBy: readonly Model.OrderBy[]
36
+ }
34
37
 
35
- static createDiff(originalSchema: Schema, updatedSchema: Schema) {
38
+ export const updateRelationOrderByModification = createModificationType({
39
+ id: 'updateRelationOrderBy',
40
+ handler: UpdateRelationOrderByModificationHandler,
41
+ })
42
+
43
+ export class UpdateRelationOrderByDiffer implements Differ {
44
+ createDiff(originalSchema: Schema, updatedSchema: Schema) {
36
45
  return updateRelations(originalSchema, updatedSchema, ({ updatedRelation, originalRelation, updatedEntity }) => {
37
46
  const isItOrderable = (relation: Model.AnyRelation): relation is Model.OrderableRelation & Model.AnyRelation =>
38
47
  relation.type === Model.RelationType.ManyHasMany || relation.type === Model.RelationType.OneHasMany
@@ -42,7 +51,7 @@ export const UpdateRelationOrderByModification: ModificationHandlerStatic<Update
42
51
  isItOrderable(originalRelation) &&
43
52
  !deepEqual(updatedRelation.orderBy || [], originalRelation.orderBy || [])
44
53
  ) {
45
- return UpdateRelationOrderByModification.createModification({
54
+ return updateRelationOrderByModification.createModification({
46
55
  entityName: updatedEntity.name,
47
56
  fieldName: updatedRelation.name,
48
57
  orderBy: updatedRelation.orderBy || [],
@@ -52,9 +61,3 @@ export const UpdateRelationOrderByModification: ModificationHandlerStatic<Update
52
61
  })
53
62
  }
54
63
  }
55
-
56
- export interface UpdateRelationOrderByModificationData {
57
- entityName: string
58
- fieldName: string
59
- orderBy: readonly Model.OrderBy[]
60
- }
@@ -6,6 +6,6 @@ export * from './DisableOrphanRemovalModification'
6
6
  export * from './EnableOrphanRemovalModification'
7
7
  export * from './MakeRelationNotNullModification'
8
8
  export * from './MakeRelationNullableModification'
9
- export * from './ToggleManyHasManyEventLogModification'
9
+ export * from './ToggleJunctionEventLogModification'
10
10
  export * from './UpdateRelationOnDeleteModification'
11
11
  export * from './UpdateRelationOrderByModification'
@@ -1,11 +1,10 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { SchemaUpdater } from '../utils/schemaUpdateUtils'
3
- import { ModificationHandlerStatic } from '../ModificationHandler'
3
+ import { createModificationType, ModificationHandler } from '../ModificationHandler'
4
4
  import { applyPatch, Operation } from 'rfc6902'
5
5
  import deepCopy from '../../utils/deepCopy'
6
6
 
7
- export const PatchValidationSchemaModification: ModificationHandlerStatic<PatchValidationSchemaModificationData> = class {
8
- static id = 'patchValidationSchema'
7
+ export class PatchValidationSchemaModificationHandler implements ModificationHandler<PatchValidationSchemaModificationData> {
9
8
  constructor(private readonly data: PatchValidationSchemaModificationData) {}
10
9
 
11
10
  public createSql(builder: MigrationBuilder): void {}
@@ -28,12 +27,13 @@ export const PatchValidationSchemaModification: ModificationHandlerStatic<PatchV
28
27
  describe() {
29
28
  return { message: 'Update validation schema' }
30
29
  }
31
-
32
- static createModification(data: PatchValidationSchemaModificationData) {
33
- return { modification: this.id, ...data }
34
- }
35
30
  }
36
31
 
37
32
  export interface PatchValidationSchemaModificationData {
38
33
  patch: Operation[]
39
34
  }
35
+
36
+ export const patchValidationSchemaModification = createModificationType({
37
+ id: 'patchValidationSchema',
38
+ handler: PatchValidationSchemaModificationHandler,
39
+ })
@@ -1,13 +1,12 @@
1
1
  import { MigrationBuilder } from '@contember/database-migrations'
2
2
  import { Schema, Validation } from '@contember/schema'
3
3
  import { SchemaUpdater } from '../utils/schemaUpdateUtils'
4
- import { ModificationHandlerStatic } from '../ModificationHandler'
4
+ import { createModificationType, Differ, ModificationHandler } from '../ModificationHandler'
5
5
  import deepEqual from 'fast-deep-equal'
6
6
  import { createPatch } from 'rfc6902'
7
- import { PatchValidationSchemaModification } from './PatchValidationSchemaModification'
7
+ import { patchValidationSchemaModification } from './PatchValidationSchemaModification'
8
8
 
9
- export const UpdateValidationSchemaModification: ModificationHandlerStatic<UpdateValidationSchemaModificationData> = class {
10
- static id = 'updateValidationSchema'
9
+ export class UpdateValidationSchemaModificationHandler implements ModificationHandler<UpdateValidationSchemaModificationData> {
11
10
  constructor(private readonly data: UpdateValidationSchemaModificationData) {}
12
11
 
13
12
  public createSql(builder: MigrationBuilder): void {}
@@ -23,22 +22,26 @@ export const UpdateValidationSchemaModification: ModificationHandlerStatic<Updat
23
22
  return { message: 'Update validation schema' }
24
23
  }
25
24
 
26
- static createModification(data: UpdateValidationSchemaModificationData) {
27
- return { modification: this.id, ...data }
28
- }
25
+ }
26
+
27
+ export interface UpdateValidationSchemaModificationData {
28
+ schema: Validation.Schema
29
+ }
29
30
 
30
- static createDiff(originalSchema: Schema, updatedSchema: Schema) {
31
+ export const updateValidationSchemaModification = createModificationType({
32
+ id: 'updateValidationSchema',
33
+ handler: UpdateValidationSchemaModificationHandler,
34
+ })
35
+
36
+ export class UpdateValidationSchemaDiffer implements Differ {
37
+ createDiff(originalSchema: Schema, updatedSchema: Schema) {
31
38
  if (deepEqual(originalSchema.validation, updatedSchema.validation)) {
32
39
  return []
33
40
  }
34
41
  const patch = createPatch(originalSchema.validation, updatedSchema.validation)
35
42
  if (patch.length <= 20) {
36
- return [PatchValidationSchemaModification.createModification({ patch })]
43
+ return [patchValidationSchemaModification.createModification({ patch })]
37
44
  }
38
- return [UpdateValidationSchemaModification.createModification({ schema: updatedSchema.validation })]
45
+ return [updateValidationSchemaModification.createModification({ schema: updatedSchema.validation })]
39
46
  }
40
47
  }
41
-
42
- export interface UpdateValidationSchemaModificationData {
43
- schema: Validation.Schema
44
- }
@@ -1,8 +0,0 @@
1
- import { ModificationHandlerStatic } from '../ModificationHandler';
2
- export declare const ToggleJunctionEventLogModification: ModificationHandlerStatic<ToggleJunctionEventLogModificationData>;
3
- export interface ToggleJunctionEventLogModificationData {
4
- entityName: string;
5
- fieldName: string;
6
- enabled: boolean;
7
- }
8
- //# sourceMappingURL=ToggleManyHasManyEventLogModification.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToggleManyHasManyEventLogModification.d.ts","sourceRoot":"","sources":["../../../../src/modifications/relations/ToggleManyHasManyEventLogModification.ts"],"names":[],"mappings":"AAGA,OAAO,EAA8B,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAW9F,eAAO,MAAM,kCAAkC,EAAE,yBAAyB,CAAC,sCAAsC,CAiFhH,CAAA;AAED,MAAM,WAAW,sCAAsC;IACtD,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,OAAO,CAAA;CAChB"}
@@ -1,81 +0,0 @@
1
- "use strict";
2
- var _a;
3
- Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.ToggleJunctionEventLogModification = void 0;
5
- const schema_1 = require("@contember/schema");
6
- const schemaUpdateUtils_1 = require("../utils/schemaUpdateUtils");
7
- const sqlUpdateUtils_1 = require("../utils/sqlUpdateUtils");
8
- const schema_utils_1 = require("@contember/schema-utils");
9
- const diffUtils_1 = require("../utils/diffUtils");
10
- const isIt_1 = require("../../utils/isIt");
11
- exports.ToggleJunctionEventLogModification = (_a = class {
12
- constructor(data, schema, options) {
13
- this.data = data;
14
- this.schema = schema;
15
- this.options = options;
16
- }
17
- createSql(builder) {
18
- const entity = this.schema.model.entities[this.data.entityName];
19
- const relation = entity.fields[this.data.fieldName];
20
- if (!(0, schema_utils_1.isRelation)(relation) || relation.type !== schema_1.Model.RelationType.ManyHasMany || !(0, schema_utils_1.isOwningRelation)(relation)) {
21
- throw new Error('invalid field');
22
- }
23
- const tableName = relation.joiningTable.tableName;
24
- if (this.data.enabled) {
25
- const primaryColumns = [
26
- relation.joiningTable.joiningColumn.columnName,
27
- relation.joiningTable.inverseJoiningColumn.columnName,
28
- ];
29
- (0, sqlUpdateUtils_1.createEventTrigger)(builder, this.options.systemSchema, tableName, primaryColumns);
30
- (0, sqlUpdateUtils_1.createEventTrxTrigger)(builder, this.options.systemSchema, tableName);
31
- }
32
- else {
33
- (0, sqlUpdateUtils_1.dropEventTrigger)(builder, tableName);
34
- (0, sqlUpdateUtils_1.dropEventTrxTrigger)(builder, tableName);
35
- }
36
- }
37
- getSchemaUpdater() {
38
- const { entityName, fieldName, enabled } = this.data;
39
- return (0, schemaUpdateUtils_1.updateModel)((0, schemaUpdateUtils_1.updateEntity)(entityName, (0, schemaUpdateUtils_1.updateField)(fieldName, ({ field: { joiningTable: { eventLog, ...joiningTable }, ...field } }) => {
40
- return {
41
- ...field,
42
- joiningTable: {
43
- ...joiningTable,
44
- eventLog: {
45
- enabled,
46
- },
47
- },
48
- };
49
- })));
50
- }
51
- describe() {
52
- return {
53
- message: `${this.data.enabled ? 'Enable' : 'Disable'} event log for ${this.data.entityName}.${this.data.fieldName}`,
54
- };
55
- }
56
- static createModification(data) {
57
- return { modification: this.id, ...data };
58
- }
59
- static createDiff(originalSchema, updatedSchema) {
60
- return (0, diffUtils_1.updateRelations)(originalSchema, updatedSchema, ({ originalRelation, updatedRelation, updatedEntity }) => {
61
- var _a, _b, _c, _d;
62
- if (originalRelation.type === updatedRelation.type &&
63
- (0, isIt_1.isIt)(updatedRelation, 'joiningTable') &&
64
- (0, isIt_1.isIt)(originalRelation, 'joiningTable')) {
65
- const newValue = (_b = (_a = updatedRelation.joiningTable.eventLog) === null || _a === void 0 ? void 0 : _a.enabled) !== null && _b !== void 0 ? _b : false;
66
- const oldValue = (_d = (_c = originalRelation.joiningTable.eventLog) === null || _c === void 0 ? void 0 : _c.enabled) !== null && _d !== void 0 ? _d : false;
67
- if (newValue !== oldValue) {
68
- return exports.ToggleJunctionEventLogModification.createModification({
69
- entityName: updatedEntity.name,
70
- fieldName: updatedRelation.name,
71
- enabled: newValue,
72
- });
73
- }
74
- }
75
- return undefined;
76
- });
77
- }
78
- },
79
- _a.id = 'toggleJunctionEventLog',
80
- _a);
81
- //# sourceMappingURL=ToggleManyHasManyEventLogModification.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ToggleManyHasManyEventLogModification.js","sourceRoot":"","sources":["../../../../src/modifications/relations/ToggleManyHasManyEventLogModification.ts"],"names":[],"mappings":"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"}