@@ -39,6 +39,10 @@ const {
3939 getAddContainerSequencesScriptDtos,
4040} = require ( './alterScriptHelpers/containerHelpers/sequencesHelper' ) ;
4141const { isObjectInDeltaModelActivated } = require ( '../utils/general' ) ;
42+ const { getModifiedCommentOnColumnScriptDtos } = require ( './alterScriptHelpers/columnHelpers/commentsHelper' ) ;
43+
44+ const getItems = data => [ data ?. items ] . flat ( ) . filter ( Boolean ) ;
45+ const getItemProperties = data => getItems ( data ) . map ( item => Object . values ( item . properties ) [ 0 ] ) ;
4246
4347/**
4448 * @param dto {{
@@ -47,31 +51,24 @@ const { isObjectInDeltaModelActivated } = require('../utils/general');
4751 * @return {AlterScriptDto[] }
4852 * */
4953const getAlterContainersScriptDtos = ( { collection } ) => {
50- const addedContainers = collection . properties ?. containers ?. properties ?. added ?. items ;
51- const deletedContainers = collection . properties ?. containers ?. properties ?. deleted ?. items ;
52- const modifiedContainers = collection . properties ?. containers ?. properties ?. modified ?. items ;
54+ const containersData = collection . properties ?. containers ?. properties ;
55+ const addedContainers = getItems ( containersData ?. added ) ;
56+ const deletedContainers = getItems ( containersData ?. deleted ) ;
57+ const modifiedContainers = getItems ( containersData ?. modified ) ;
58+
59+ const addContainersScriptDtos = addedContainers . map ( container => {
60+ const [ containerName , containerData ] = Object . entries ( container . properties ) [ 0 ] ;
61+ const isActivated = isObjectInDeltaModelActivated ( containerData ) ;
62+ return getAddContainerScriptDto ( containerName , isActivated ) ;
63+ } ) ;
5364
54- const addContainersScriptDtos = [ ]
55- . concat ( addedContainers )
56- . filter ( Boolean )
57- . map ( container => {
58- const [ containerName , containerData ] = Object . entries ( container . properties ) [ 0 ] ;
59- const isActivated = isObjectInDeltaModelActivated ( containerData ) ;
60- return getAddContainerScriptDto ( containerName , isActivated ) ;
61- } ) ;
62-
63- const deleteContainersScriptDtos = [ ]
64- . concat ( deletedContainers )
65- . filter ( Boolean )
66- . map ( container => {
67- const [ containerName , containerData ] = Object . entries ( container . properties ) [ 0 ] ;
68- const isActivated = isObjectInDeltaModelActivated ( containerData ) ;
69- return getDeleteContainerScriptDto ( containerName , isActivated ) ;
70- } ) ;
71-
72- const modifyContainersScriptDtos = [ ]
73- . concat ( modifiedContainers )
74- . filter ( Boolean )
65+ const deleteContainersScriptDtos = deletedContainers . map ( container => {
66+ const [ containerName , containerData ] = Object . entries ( container . properties ) [ 0 ] ;
67+ const isActivated = isObjectInDeltaModelActivated ( containerData ) ;
68+ return getDeleteContainerScriptDto ( containerName , isActivated ) ;
69+ } ) ;
70+
71+ const modifyContainersScriptDtos = modifiedContainers
7572 . map ( containerWrapper => Object . values ( containerWrapper . properties ) [ 0 ] )
7673 . flatMap ( container => getModifyContainerScriptDtos ( container ) ) ;
7774
@@ -149,20 +146,10 @@ const getAlterCollectionsScriptDtos = ({
149146 externalDefinitions,
150147 inlineDeltaRelationships,
151148} ) => {
152- const createScriptsData = [ ]
153- . concat ( collection . properties ?. entities ?. properties ?. added ?. items )
154- . filter ( Boolean )
155- . map ( item => Object . values ( item . properties ) [ 0 ] ) ;
156-
157- const deleteScriptsData = [ ]
158- . concat ( collection . properties ?. entities ?. properties ?. deleted ?. items )
159- . filter ( Boolean )
160- . map ( item => Object . values ( item . properties ) [ 0 ] ) ;
161-
162- const modifyScriptsData = [ ]
163- . concat ( collection . properties ?. entities ?. properties ?. modified ?. items )
164- . filter ( Boolean )
165- . map ( item => Object . values ( item . properties ) [ 0 ] ) ;
149+ const entitiesData = collection . properties ?. entities ?. properties ;
150+ const createScriptsData = getItemProperties ( entitiesData ?. added ) ;
151+ const deleteScriptsData = getItemProperties ( entitiesData ?. deleted ) ;
152+ const modifyScriptsData = getItemProperties ( entitiesData ?. modified ) ;
166153
167154 const createCollectionsScriptDtos = sortCollectionsByRelationships (
168155 createScriptsData . filter ( collection => collection . compMod ?. created ) ,
@@ -216,29 +203,30 @@ const getAlterCollectionsScriptDtos = ({
216203 * @return {AlterScriptDto[] }
217204 * */
218205const getAlterViewScriptDtos = ( collection , app ) => {
219- const createViewsScriptDtos = [ ]
220- . concat ( collection . properties ?. views ?. properties ?. added ?. items )
221- . filter ( Boolean )
222- . map ( item => Object . values ( item . properties ) [ 0 ] )
223- . map ( view => ( { ...view , ...( view . role || { } ) } ) )
206+ const viewsData = collection . properties ?. views ?. properties ;
207+ const modifyScriptsData = getItemProperties ( viewsData ?. modified ) ;
208+
209+ const createViewsScriptDtos = getItemProperties ( viewsData ?. added )
210+ . map ( view => ( { ...view , ..._ . omit ( view . role , 'properties' ) } ) )
224211 . filter ( view => view . compMod ?. created )
225212 . map ( getAddViewScriptDto ( app ) ) ;
226213
227- const deleteViewsScriptDtos = [ ]
228- . concat ( collection . properties ?. views ?. properties ?. deleted ?. items )
229- . filter ( Boolean )
230- . map ( item => Object . values ( item . properties ) [ 0 ] )
231- . map ( view => ( { ...view , ...( view . role || { } ) } ) )
214+ const deleteViewsScriptDtos = getItemProperties ( viewsData ?. deleted )
215+ . map ( view => ( { ...view , ..._ . omit ( view . role , 'properties' ) } ) )
232216 . map ( getDeleteViewScriptDto ( app ) ) ;
233217
234- const modifyViewsScriptDtos = [ ]
235- . concat ( collection . properties ?. views ?. properties ?. modified ?. items )
236- . filter ( Boolean )
237- . map ( viewWrapper => Object . values ( viewWrapper . properties ) [ 0 ] )
238- . map ( view => ( { ...view , ...( view . role || { } ) } ) )
239- . flatMap ( view => getModifyViewScriptDtos ( view ) ) ;
218+ const modifyViewsScriptDtos = modifyScriptsData
219+ . map ( view => ( { ...view , ..._ . omit ( view . role , 'properties' ) } ) )
220+ . flatMap ( getModifyViewScriptDtos ) ;
221+
222+ const modifyCommentScriptDtos = modifyScriptsData . flatMap ( getModifiedCommentOnColumnScriptDtos ) ;
240223
241- return [ ...deleteViewsScriptDtos , ...createViewsScriptDtos , ...modifyViewsScriptDtos ] . filter ( Boolean ) ;
224+ return [
225+ ...deleteViewsScriptDtos ,
226+ ...createViewsScriptDtos ,
227+ ...modifyViewsScriptDtos ,
228+ ...modifyCommentScriptDtos ,
229+ ] . filter ( Boolean ) ;
242230} ;
243231
244232/**
@@ -260,28 +248,20 @@ const getAlterModelDefinitionsScriptDtos = ({
260248 internalDefinitions,
261249 externalDefinitions,
262250} ) => {
263- const createUdtScriptDtos = [ ]
264- . concat ( collection . properties ?. modelDefinitions ?. properties ?. added ?. items )
265- . filter ( Boolean )
266- . map ( item => Object . values ( item . properties ) [ 0 ] )
267- . map ( item => ( { ...item , ...( _ . omit ( item . role , 'properties' ) || { } ) } ) )
251+ const definitionsData = collection . properties ?. modelDefinitions ?. properties ;
252+ const createUdtScriptDtos = getItemProperties ( definitionsData ?. added )
253+ . map ( item => ( { ...item , ..._ . omit ( item . role , 'properties' ) } ) )
268254 . filter ( item => item . compMod ?. created )
269255 . map ( getCreateUdtScriptDto ( { app, dbVersion, modelDefinitions, internalDefinitions, externalDefinitions } ) ) ;
270256
271- const deleteUdtScriptDtos = [ ]
272- . concat ( collection . properties ?. modelDefinitions ?. properties ?. deleted ?. items )
273- . filter ( Boolean )
274- . map ( item => Object . values ( item . properties ) [ 0 ] )
275- . map ( item => ( { ...item , ...( _ . omit ( item . role , 'properties' ) || { } ) } ) )
257+ const deleteUdtScriptDtos = getItemProperties ( definitionsData ?. deleted )
258+ . map ( item => ( { ...item , ..._ . omit ( item . role , 'properties' ) } ) )
276259 . filter ( collection => collection . compMod ?. deleted )
277260 . map ( getDeleteUdtScriptDto ( app ) ) ;
278261
279- const addColumnScriptDtos = [ ]
280- . concat ( collection . properties ?. modelDefinitions ?. properties ?. added ?. items )
281- . filter ( Boolean )
282- . map ( item => Object . values ( item . properties ) [ 0 ] )
262+ const addColumnScriptDtos = getItemProperties ( definitionsData ?. added )
283263 . filter ( item => ! item . compMod )
284- . map ( item => ( { ...item , ...( _ . omit ( item . role , 'properties' ) || { } ) } ) )
264+ . map ( item => ( { ...item , ..._ . omit ( item . role , 'properties' ) } ) )
285265 . filter ( item => item . childType === 'composite' )
286266 . flatMap (
287267 getAddColumnToTypeScriptDtos ( {
@@ -293,21 +273,15 @@ const getAlterModelDefinitionsScriptDtos = ({
293273 } ) ,
294274 ) ;
295275
296- const deleteColumnScriptDtos = [ ]
297- . concat ( collection . properties ?. modelDefinitions ?. properties ?. deleted ?. items )
298- . filter ( Boolean )
299- . map ( item => Object . values ( item . properties ) [ 0 ] )
276+ const deleteColumnScriptDtos = getItemProperties ( definitionsData ?. deleted )
300277 . filter ( item => ! item . compMod )
301- . map ( item => ( { ...item , ...( _ . omit ( item . role , 'properties' ) || { } ) } ) )
278+ . map ( item => ( { ...item , ..._ . omit ( item . role , 'properties' ) } ) )
302279 . filter ( item => item . childType === 'composite' )
303280 . flatMap ( getDeleteColumnFromTypeScriptDtos ( app ) ) ;
304281
305- const modifyColumnScriptDtos = [ ]
306- . concat ( collection . properties ?. modelDefinitions ?. properties ?. modified ?. items )
307- . filter ( Boolean )
308- . map ( item => Object . values ( item . properties ) [ 0 ] )
282+ const modifyColumnScriptDtos = getItemProperties ( definitionsData ?. modified )
309283 . filter ( item => ! item . compMod )
310- . map ( item => ( { ...item , ...( _ . omit ( item . role , 'properties' ) || { } ) } ) )
284+ . map ( item => ( { ...item , ..._ . omit ( item . role , 'properties' ) } ) )
311285 . filter ( item => item . childType === 'composite' )
312286 . flatMap ( getModifyColumnOfTypeScriptDtos ( app ) ) ;
313287
@@ -325,33 +299,20 @@ const getAlterModelDefinitionsScriptDtos = ({
325299 * */
326300const getAlterRelationshipsScriptDtos = ( { collection, app, ignoreRelationshipIDs = [ ] } ) => {
327301 const ddlProvider = require ( '../ddlProvider/ddlProvider' ) ( null , null , app ) ;
302+ const relationshipData = collection . properties ?. relationships ?. properties ;
328303
329- const addedRelationships = [ ]
330- . concat ( collection . properties ?. relationships ?. properties ?. added ?. items )
331- . filter ( Boolean )
332- . map ( item => Object . values ( item . properties ) [ 0 ] )
333- . filter (
334- relationship =>
335- relationship ?. role ?. compMod ?. created && ! ignoreRelationshipIDs . includes ( relationship ?. role ?. id ) ,
336- ) ;
304+ const addedRelationships = getItemProperties ( relationshipData ?. added ) . filter (
305+ relationship => relationship ?. role ?. compMod ?. created && ! ignoreRelationshipIDs . includes ( relationship ?. role ?. id ) ,
306+ ) ;
337307
338- const deletedRelationships = [ ]
339- . concat ( collection . properties ?. relationships ?. properties ?. deleted ?. items )
340- . filter ( Boolean )
341- . map ( item => Object . values ( item . properties ) [ 0 ] )
342- . filter (
343- relationship =>
344- relationship ?. role ?. compMod ?. deleted && ! ignoreRelationshipIDs . includes ( relationship ?. role ?. id ) ,
345- ) ;
308+ const deletedRelationships = getItemProperties ( relationshipData ?. deleted ) . filter (
309+ relationship => relationship ?. role ?. compMod ?. deleted && ! ignoreRelationshipIDs . includes ( relationship ?. role ?. id ) ,
310+ ) ;
346311
347- const modifiedRelationships = [ ]
348- . concat ( collection . properties ?. relationships ?. properties ?. modified ?. items )
349- . filter ( Boolean )
350- . map ( item => Object . values ( item . properties ) [ 0 ] )
351- . filter (
352- relationship =>
353- relationship ?. role ?. compMod ?. modified && ! ignoreRelationshipIDs . includes ( relationship ?. role ?. id ) ,
354- ) ;
312+ const modifiedRelationships = getItemProperties ( relationshipData ?. modified ) . filter (
313+ relationship =>
314+ relationship ?. role ?. compMod ?. modified && ! ignoreRelationshipIDs . includes ( relationship ?. role ?. id ) ,
315+ ) ;
355316
356317 const deleteFkScriptDtos = getDeleteForeignKeyScriptDtos ( ddlProvider ) ( deletedRelationships ) ;
357318 const addFkScriptDtos = getAddForeignKeyScriptDtos ( ddlProvider ) ( addedRelationships ) ;
@@ -394,27 +355,22 @@ const prettifyAlterScriptDto = dto => {
394355 * @return {AlterScriptDto[] }
395356 * */
396357const getAlterContainersSequencesScriptDtos = ( { collection, app } ) => {
397- const addedContainers = collection . properties ?. containers ?. properties ?. added ?. items ;
398- const deletedContainers = collection . properties ?. containers ?. properties ?. deleted ?. items ;
399- const modifiedContainers = collection . properties ?. containers ?. properties ?. modified ?. items ;
358+ const containersData = collection . properties ?. containers ?. properties ;
359+ const addedContainers = getItemProperties ( containersData ?. added ) ;
360+ const deletedContainers = getItemProperties ( containersData ?. deleted ) ;
361+ const modifiedContainers = getItemProperties ( containersData ?. modified ) ;
400362
401- const addContainersSequencesScriptDtos = [ ]
402- . concat ( addedContainers )
403- . filter ( Boolean )
404- . map ( container => Object . values ( container . properties ) [ 0 ] )
405- . flatMap ( container => getAddContainerSequencesScriptDtos ( { container } ) ) ;
363+ const addContainersSequencesScriptDtos = addedContainers . flatMap ( container =>
364+ getAddContainerSequencesScriptDtos ( { container } ) ,
365+ ) ;
406366
407- const deleteContainersScriptDtos = [ ]
408- . concat ( deletedContainers )
409- . filter ( Boolean )
410- . map ( container => Object . values ( container . properties ) [ 0 ] )
411- . flatMap ( container => getDeleteContainerSequencesScriptDtos ( { container } ) ) ;
367+ const deleteContainersScriptDtos = deletedContainers . flatMap ( container =>
368+ getDeleteContainerSequencesScriptDtos ( { container } ) ,
369+ ) ;
412370
413- const modifyContainersScriptDtos = [ ]
414- . concat ( modifiedContainers )
415- . filter ( Boolean )
416- . map ( container => Object . values ( container . properties ) [ 0 ] )
417- . flatMap ( container => getModifyContainerSequencesScriptDtos ( { container } ) ) ;
371+ const modifyContainersScriptDtos = modifiedContainers . flatMap ( container =>
372+ getModifyContainerSequencesScriptDtos ( { container } ) ,
373+ ) ;
418374
419375 return [ ...addContainersSequencesScriptDtos , ...deleteContainersScriptDtos , ...modifyContainersScriptDtos ] . filter (
420376 Boolean ,
@@ -426,13 +382,11 @@ const getInlineRelationships = ({ collection, options }) => {
426382 return [ ] ;
427383 }
428384
429- const addedCollectionIDs = [ ]
430- . concat ( collection . properties ?. entities ?. properties ?. added ?. items )
385+ const addedCollectionIDs = getItems ( collection . properties ?. entities ?. properties ?. added )
431386 . filter ( item => item && Object . values ( item . properties ) ?. [ 0 ] ?. compMod ?. created )
432387 . map ( item => Object . values ( item . properties ) [ 0 ] . role . id ) ;
433388
434- const addedRelationships = [ ]
435- . concat ( collection . properties ?. relationships ?. properties ?. added ?. items )
389+ const addedRelationships = getItems ( collection . properties ?. relationships ?. properties ?. added )
436390 . map ( item => item && Object . values ( item . properties ) [ 0 ] )
437391 . filter ( r => r ?. role ?. compMod ?. created && addedCollectionIDs . includes ( r ?. role ?. childCollection ) ) ;
438392
0 commit comments