@@ -3,6 +3,45 @@ const { getModifyViewCommentsScriptDtos } = require('./viewHelpers/commentsHelpe
33const { AlterScriptDto } = require ( '../types/AlterScriptDto' ) ;
44const { wrapInQuotes } = require ( '../../utils/general' ) ;
55
6+ const getKeys = ( { view, collectionRefsDefinitionsMap, ddlProvider, app } ) => {
7+ const { mapProperties } = app . require ( '@hackolade/ddl-fe-utils' ) ;
8+
9+ return mapProperties ( view , ( propertyName , schema ) => {
10+ const definition = collectionRefsDefinitionsMap [ schema . refId ] ;
11+
12+ if ( ! definition ) {
13+ return ddlProvider . hydrateViewColumn ( {
14+ name : propertyName ,
15+ isActivated : schema . isActivated ,
16+ } ) ;
17+ }
18+
19+ const entityName =
20+ _ . get ( definition . collection , '[0].code' , '' ) ||
21+ _ . get ( definition . collection , '[0].collectionName' , '' ) ||
22+ '' ;
23+ const dbName = _ . get ( definition . bucket , '[0].code' ) || _ . get ( definition . bucket , '[0].name' , '' ) ;
24+ const name = definition . name ;
25+
26+ if ( name === propertyName ) {
27+ return ddlProvider . hydrateViewColumn ( {
28+ name,
29+ dbName,
30+ entityName,
31+ isActivated : schema . isActivated ,
32+ } ) ;
33+ }
34+
35+ return ddlProvider . hydrateViewColumn ( {
36+ name,
37+ dbName,
38+ entityName,
39+ alias : propertyName ,
40+ isActivated : schema . isActivated ,
41+ } ) ;
42+ } ) ;
43+ } ;
44+
645/**
746 * @return {(view: Object) => AlterScriptDto | undefined }
847 * */
@@ -11,7 +50,12 @@ const getAddViewScriptDto = app => view => {
1150
1251 const viewData = {
1352 name : view . code || view . name ,
14- keys : [ ] ,
53+ keys : getKeys ( {
54+ view,
55+ collectionRefsDefinitionsMap : view . compMod ?. collectionData ?. collectionRefsDefinitionsMap ?? { } ,
56+ ddlProvider,
57+ app,
58+ } ) ,
1559 schemaData : { schemaName : '' } ,
1660 } ;
1761 const hydratedView = ddlProvider . hydrateView ( { viewData, entityData : [ view ] } ) ;
0 commit comments