@things-factory/meta-ui 7.0.1-alpha.51 → 7.0.1-alpha.52
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/client/bootstrap.ts +2 -6
- package/client/index.ts +0 -20
- package/client/load-components.ts +17 -0
- package/client/pages/entity/main-menu-selector.js +0 -4
- package/client/pages/personalize/personal-column-selector.js +0 -4
- package/dist-client/actions/main.d.ts +0 -1
- package/dist-client/actions/main.js +0 -1
- package/dist-client/actions/main.js.map +1 -1
- package/dist-client/bootstrap.d.ts +1 -0
- package/dist-client/bootstrap.js +2 -5
- package/dist-client/bootstrap.js.map +1 -1
- package/dist-client/index.d.ts +0 -16
- package/dist-client/index.js +0 -17
- package/dist-client/index.js.map +1 -1
- package/dist-client/load-components.d.ts +15 -0
- package/dist-client/load-components.js +17 -0
- package/dist-client/load-components.js.map +1 -0
- package/dist-client/pages/entity/main-menu-selector.js +0 -4
- package/dist-client/pages/entity/main-menu-selector.js.map +1 -1
- package/dist-client/pages/personalize/personal-column-selector.js +0 -4
- package/dist-client/pages/personalize/personal-column-selector.js.map +1 -1
- package/dist-client/reducers/main.js +0 -3
- package/dist-client/reducers/main.js.map +1 -1
- package/dist-client/tsconfig.tsbuildinfo +1 -1
- package/dist-server/service/dynamic-menu/dynamic-menu-query.js +50 -16
- package/dist-server/service/dynamic-menu/dynamic-menu-query.js.map +1 -1
- package/dist-server/service/dynamic-menu/dynamic-menu-type.js.map +1 -1
- package/dist-server/tsconfig.tsbuildinfo +1 -1
- package/package.json +5 -5
- package/server/service/dynamic-menu/dynamic-menu-query.ts +145 -115
- package/server/service/dynamic-menu/dynamic-menu-type.ts +11 -16
- package/client/actions/main.js +0 -127
- package/client/pages/menu/dynamic-menu-setting-let.ts +0 -82
- package/client/reducers/main.js +0 -79
- package/client/viewparts/dynamic-menu-part.ts +0 -119
- package/server/controllers/index.ts +0 -0
|
@@ -13,31 +13,35 @@ const { camelCase, startCase, snakeCase, kebabCase, upperFirst } = require('loda
|
|
|
13
13
|
let DynamicMenuQuery = class DynamicMenuQuery {
|
|
14
14
|
async exportMenuInfo(id, context) {
|
|
15
15
|
const { domain } = context.state;
|
|
16
|
-
// 메뉴
|
|
16
|
+
// 메뉴
|
|
17
17
|
const menu = await (0, shell_1.getRepository)(menu_base_1.Menu).findOneBy({ id: id, domain: { id: domain.id } });
|
|
18
18
|
const parentMenu = await (0, shell_1.getRepository)(menu_base_1.Menu).findOneBy({ id: menu.parentId, domain: { id: domain.id } });
|
|
19
|
-
// entity
|
|
19
|
+
// entity
|
|
20
20
|
let entityName = upperFirst(camelCase(menu.routing));
|
|
21
21
|
const entity = await (0, shell_1.getRepository)(resource_base_1.Entity).findOneBy({ domain: { id: domain.id }, name: entityName });
|
|
22
|
-
// entity Columns
|
|
22
|
+
// entity Columns
|
|
23
23
|
const entityColumns = await (0, shell_1.getRepository)(resource_base_1.EntityColumn).findBy({ domain: { id: domain.id }, entity: { id: entity.id } });
|
|
24
24
|
let entityMeta = (0, shell_1.getRepository)(entityName).metadata;
|
|
25
25
|
const indices = entityMeta.indices.map(x => {
|
|
26
26
|
return {
|
|
27
27
|
name: x.name,
|
|
28
28
|
isUnique: x.isUnique,
|
|
29
|
-
columns: x.columns.map(y => {
|
|
29
|
+
columns: x.columns.map(y => {
|
|
30
|
+
return y.databaseName.toUpperCase();
|
|
31
|
+
})
|
|
30
32
|
};
|
|
31
33
|
});
|
|
32
|
-
const columns = entityMeta.columns
|
|
34
|
+
const columns = entityMeta.columns
|
|
35
|
+
.map(x => {
|
|
33
36
|
return {
|
|
34
37
|
name: x.databaseName,
|
|
35
38
|
isNullable: x.isNullable,
|
|
36
|
-
length: x.type == 'numeric' ? [x.precision, x.scale].join(
|
|
39
|
+
length: x.type == 'numeric' ? [x.precision, x.scale].join(',') : x.length,
|
|
37
40
|
type: x.type.toString(),
|
|
38
|
-
default:
|
|
41
|
+
default: typeof x.default === 'function' ? undefined : x.default
|
|
39
42
|
};
|
|
40
|
-
})
|
|
43
|
+
})
|
|
44
|
+
.filter(x => ['data_revision_no', 'deleted_at'].includes(x.name) == false);
|
|
41
45
|
return {
|
|
42
46
|
id,
|
|
43
47
|
menu,
|
|
@@ -99,28 +103,58 @@ let DynamicMenuQuery = class DynamicMenuQuery {
|
|
|
99
103
|
let templateJsonStr = this.dec(template);
|
|
100
104
|
let templateJson = JSON.parse(templateJsonStr);
|
|
101
105
|
if (code === 'col-name') {
|
|
102
|
-
templateString = templateJson['grid_column'].map(x => {
|
|
106
|
+
templateString = templateJson['grid_column'].map(x => {
|
|
107
|
+
return x.name;
|
|
108
|
+
});
|
|
103
109
|
}
|
|
104
110
|
else if (code === 'object-custom') {
|
|
105
|
-
templateString = JSON.stringify(templateJson['grid_column']
|
|
111
|
+
templateString = JSON.stringify(templateJson['grid_column']
|
|
112
|
+
.filter(x => ['meta-object-selector', 'object', 'resource-object'].includes(x.type) && x.object_opt && !x.object_opt.menu)
|
|
113
|
+
.map(x => {
|
|
114
|
+
return x.object_opt;
|
|
115
|
+
}));
|
|
106
116
|
}
|
|
107
117
|
else if (code === 'object-menu') {
|
|
108
|
-
templateString = JSON.stringify(templateJson['grid_column']
|
|
118
|
+
templateString = JSON.stringify(templateJson['grid_column']
|
|
119
|
+
.filter(x => ['meta-object-selector', 'object', 'resource-object'].includes(x.type) && x.object_opt && x.object_opt.menu)
|
|
120
|
+
.map(x => {
|
|
121
|
+
return x.object_opt.menu;
|
|
122
|
+
}));
|
|
109
123
|
}
|
|
110
124
|
else if (code === 'code-custom') {
|
|
111
|
-
templateString = JSON.stringify(templateJson['grid_column']
|
|
125
|
+
templateString = JSON.stringify(templateJson['grid_column']
|
|
126
|
+
.filter(x => ['meta-code-selector', 'resource-code-selector'].includes(x.type) && x.object_opt && !x.object_opt.menu)
|
|
127
|
+
.map(x => {
|
|
128
|
+
return x.object_opt;
|
|
129
|
+
}));
|
|
112
130
|
}
|
|
113
131
|
else if (code === 'code-menu') {
|
|
114
|
-
templateString = JSON.stringify(templateJson['grid_column']
|
|
132
|
+
templateString = JSON.stringify(templateJson['grid_column']
|
|
133
|
+
.filter(x => ['meta-code-selector', 'resource-code-selector'].includes(x.type) && x.object_opt && x.object_opt.menu)
|
|
134
|
+
.map(x => {
|
|
135
|
+
return x.object_opt.menu;
|
|
136
|
+
}));
|
|
115
137
|
}
|
|
116
138
|
else if (code === 'selector-entity') {
|
|
117
|
-
templateString = JSON.stringify(templateJson['grid_column']
|
|
139
|
+
templateString = JSON.stringify(templateJson['grid_column']
|
|
140
|
+
.filter(x => x.type == 'select' && x.select_opt && x.select_opt.type == 'entity')
|
|
141
|
+
.map(x => {
|
|
142
|
+
return x.select_opt;
|
|
143
|
+
}));
|
|
118
144
|
}
|
|
119
145
|
else if (code === 'selector-code') {
|
|
120
|
-
templateString = JSON.stringify(templateJson['grid_column']
|
|
146
|
+
templateString = JSON.stringify(templateJson['grid_column']
|
|
147
|
+
.filter(x => x.type == 'select' && x.select_opt && x.select_opt.type == 'code')
|
|
148
|
+
.map(x => {
|
|
149
|
+
return x.select_opt.name;
|
|
150
|
+
}));
|
|
121
151
|
}
|
|
122
152
|
else if (code === 'selector-scenario') {
|
|
123
|
-
templateString = JSON.stringify(templateJson['grid_column']
|
|
153
|
+
templateString = JSON.stringify(templateJson['grid_column']
|
|
154
|
+
.filter(x => x.type == 'select' && x.select_opt && x.select_opt.type == 'scenario')
|
|
155
|
+
.map(x => {
|
|
156
|
+
return x.select_opt.name;
|
|
157
|
+
}));
|
|
124
158
|
}
|
|
125
159
|
else {
|
|
126
160
|
templateString = templateJsonStr;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-menu-query.js","sourceRoot":"","sources":["../../../server/service/dynamic-menu/dynamic-menu-query.ts"],"names":[],"mappings":"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","sourcesContent":["\nimport { Resolver, FieldResolver, Root, Query, Args, Ctx, Arg } from 'type-graphql'\nimport { ListParam, getRepository, getQueryBuilderFromListParams } from '@things-factory/shell'\nimport { Menu } from '@things-factory/menu-base'\nimport { DynamicMenuList, ExportMenuInfo } from './dynamic-menu-type'\n\nimport { Entity, EntityColumn} from '@things-factory/resource-base'\nimport { Terminology } from '@things-factory/i18n-base'\n\nimport crypto from 'crypto'\nconst { camelCase, startCase, snakeCase, kebabCase, upperFirst } = require('lodash')\n\n\n@Resolver(Menu)\nexport class DynamicMenuQuery {\n\n @Query(returns => ExportMenuInfo, { description: 'To fetch a export menu data' })\n async exportMenuInfo(@Arg('id') id: string, @Ctx() context: any): Promise<ExportMenuInfo> {\n const { domain } = context.state\n\n // 메뉴 \n const menu:Menu = await getRepository(Menu).findOneBy({id:id, domain:{id:domain.id}});\n const parentMenu:Menu = await getRepository(Menu).findOneBy({id:menu.parentId, domain:{id:domain.id}});\n\n // entity \n let entityName = upperFirst(camelCase(menu.routing));\n const entity:Entity = await getRepository(Entity).findOneBy({domain:{id: domain.id}, name: entityName});\n\n // entity Columns \n const entityColumns:EntityColumn[] = await getRepository(EntityColumn).findBy({domain:{id: domain.id}, entity:{id:entity.id}});\n\n let entityMeta = getRepository(entityName).metadata;\n\n const indices = entityMeta.indices.map(x=>{\n return {\n name:x.name,\n isUnique:x.isUnique,\n columns: x.columns.map(y=> {return y.databaseName.toUpperCase()})\n }\n })\n\n const columns = entityMeta.columns.map(x=>{\n return {\n name: x.databaseName,\n isNullable: x.isNullable,\n length: x.type =='numeric' ? [x.precision,x.scale].join(\",\") : x.length,\n type: x.type.toString(),\n default: (typeof x.default === 'function' ) ? undefined : x.default\n }\n }).filter(x => ['data_revision_no','deleted_at'].includes(x.name) == false)\n\n return {\n id,\n menu,\n entity,\n entityColumns,\n indices,\n columns,\n parentMenu\n };\n }\n\n @Query(returns => DynamicMenuList, { description: 'To fetch multiple dynamicMenus' })\n async dynamicMenus(@Args() params: ListParam, @Ctx() context: any): Promise<DynamicMenuList> {\n const { domain } = context.state\n\n let templateCodeIdx = params.filters?.findIndex(x=> x.name == 'templateCode');\n let templateCode = undefined;\n\n if(templateCodeIdx > -1){\n templateCode = params.filters[templateCodeIdx].value;\n params.filters = params.filters.filter(x=> x.name != 'templateCode');\n }\n\n let templateTextIdx = params.filters?.findIndex(x=> x.name == 'templateText');\n let templateText = undefined;\n\n if(templateTextIdx > -1){\n templateText = params.filters[templateTextIdx].value;\n params.filters = params.filters.filter(x=> x.name != 'templateText');\n }\n\n if(templateText){\n params.pagination.limit = 0;\n params.pagination.page = 0;\n }\n\n let groupSearch = params.filters?.findIndex(x=> x.name == 'parentId' && x.operator == 'is_null') > -1 ? true : false;\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(Menu),\n searchables: ['name', 'description', 'routing']\n })\n\n let [items, total] = await queryBuilder.getManyAndCount();\n let result: DynamicMenuList = {items: items, total: total};\n\n let self = this;\n\n if(templateText){\n if(groupSearch === true){\n for(let idx = 0 ; idx < result.items.length ;idx++){\n result.items[idx].children = await getRepository(Menu).findBy({parent: { id: result.items[idx].id }})\n }\n } \n\n items = items.filter(function(item:Menu){\n return self.checkTemplateByContainsText(templateCode, templateText, groupSearch === true ? item.children : item.template);\n })\n }\n\n return {\n items,\n total\n };\n }\n\n checkTemplate(code: string, text:string, template: string){\n if(!template) return false;\n\n let templateString: any = '';\n let templateJsonStr = this.dec(template);\n let templateJson = JSON.parse(templateJsonStr);\n\n if(code === 'col-name'){\n templateString = templateJson['grid_column'].map(x=>{ return x.name;})\n } else if(code === 'object-custom'){\n templateString = JSON.stringify(templateJson['grid_column'].filter(x=>\n ['meta-object-selector','object','resource-object'].includes(x.type) && x.object_opt && !x.object_opt.menu\n ).map(x=> {return x.object_opt}));\n } else if (code === 'object-menu'){\n templateString = JSON.stringify(templateJson['grid_column'].filter(x=>\n ['meta-object-selector','object','resource-object'].includes(x.type) && x.object_opt && x.object_opt.menu\n ).map(x=> {return x.object_opt.menu}));\n } else if (code === 'code-custom'){\n templateString = JSON.stringify(templateJson['grid_column'].filter(x=>\n ['meta-code-selector','resource-code-selector'].includes(x.type) && x.object_opt && !x.object_opt.menu\n ).map(x=> {return x.object_opt}));\n } else if (code === 'code-menu'){\n templateString = JSON.stringify(templateJson['grid_column'].filter(x=>\n ['meta-code-selector','resource-code-selector'].includes(x.type) && x.object_opt && x.object_opt.menu\n ).map(x=> {return x.object_opt.menu}));\n } else if (code === 'selector-entity'){\n templateString = JSON.stringify(templateJson['grid_column'].filter(x=>\n x.type == 'select' && x.select_opt && x.select_opt.type == 'entity'\n ).map(x=> {return x.select_opt}));\n } else if (code === 'selector-code'){\n templateString = JSON.stringify(templateJson['grid_column'].filter(x=>\n x.type == 'select' && x.select_opt && x.select_opt.type == 'code'\n ).map(x=> {return x.select_opt.name}));\n } else if (code === 'selector-scenario'){\n templateString = JSON.stringify(templateJson['grid_column'].filter(x=>\n x.type == 'select' && x.select_opt && x.select_opt.type == 'scenario'\n ).map(x=> {return x.select_opt.name}));\n } else {\n templateString = templateJsonStr;\n }\n\n return templateString.includes(text);\n }\n\n checkTemplateByContainsText(code: string, text:string, template: any){ \n if(Array.isArray(template)){\n for(let idx = 0; idx < template.length ;idx++){\n let contains = this.checkTemplate(code,text, template[idx].template);\n\n if(contains == true){\n return true;\n }\n }\n\n return false;\n } else {\n return this.checkTemplate(code,text,template);\n }\n }\n\n dec(template: string): string {\n let decResults = [];\n let encTemps = template.split('h1z0q9i9x7q6');\n let filters = ['aes-256-ecb', 'aes-256-cbc', 'aes-256-cfb', 'aes-256-cfb8', 'aes-256-cfb1', 'aes-256-ofb', 'aes-256-ctr', 'aes256'];\n let salt = encTemps[0];\n let hexKey = Buffer.from(salt, 'hex');\n let ivBase = salt.substring(0, 16);\n let iv = ['', ivBase, ivBase, ivBase, ivBase, ivBase, ivBase, ivBase];\n let filterIdx = 0;\n\n encTemps = encTemps.splice(1);\n\n for (var i = 0; i < encTemps.length; i++, filterIdx++) {\n if (filterIdx == filters.length) filterIdx = 0;\n\n let decipher = crypto.createDecipheriv(filters[filterIdx], hexKey, iv[filterIdx]);\n let decrypted = decipher.update(encTemps[i], 'hex', 'utf8')\n decrypted += decipher.final('utf8');\n\n decResults.push(decrypted);\n }\n return JSON.parse(decResults.join(''));\n }\n\n @FieldResolver(type => Menu)\n async parent(@Root() menu: Menu): Promise<Menu> {\n return await getRepository(Menu).findOneBy({id:menu.parentId})\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"dynamic-menu-query.js","sourceRoot":"","sources":["../../../server/service/dynamic-menu/dynamic-menu-query.ts"],"names":[],"mappings":";;;;;AAAA,+CAAmF;AACnF,iDAA+F;AAC/F,yDAAgD;AAChD,2DAAqE;AAErE,iEAAoE;AAEpE,4DAA2B;AAC3B,MAAM,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,UAAU,EAAE,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAA;AAG7E,IAAM,gBAAgB,GAAtB,MAAM,gBAAgB;IAErB,AAAN,KAAK,CAAC,cAAc,CAAY,EAAU,EAAS,OAAY;QAC7D,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,KAAK;QACL,MAAM,IAAI,GAAS,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAC7F,MAAM,UAAU,GAAS,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAE9G,SAAS;QACT,IAAI,UAAU,GAAG,UAAU,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAA;QACpD,MAAM,MAAM,GAAW,MAAM,IAAA,qBAAa,EAAC,sBAAM,CAAC,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAA;QAE7G,iBAAiB;QACjB,MAAM,aAAa,GAAmB,MAAM,IAAA,qBAAa,EAAC,4BAAY,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;QAExI,IAAI,UAAU,GAAG,IAAA,qBAAa,EAAC,UAAU,CAAC,CAAC,QAAQ,CAAA;QAEnD,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;YACzC,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,IAAI;gBACZ,QAAQ,EAAE,CAAC,CAAC,QAAQ;gBACpB,OAAO,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;oBACzB,OAAO,CAAC,CAAC,YAAY,CAAC,WAAW,EAAE,CAAA;gBACrC,CAAC,CAAC;aACH,CAAA;QACH,CAAC,CAAC,CAAA;QAEF,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO;aAC/B,GAAG,CAAC,CAAC,CAAC,EAAE;YACP,OAAO;gBACL,IAAI,EAAE,CAAC,CAAC,YAAY;gBACpB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,MAAM,EAAE,CAAC,CAAC,IAAI,IAAI,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM;gBACzE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE;gBACvB,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,KAAK,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO;aACjE,CAAA;QACH,CAAC,CAAC;aACD,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAA;QAE5E,OAAO;YACL,EAAE;YACF,IAAI;YACJ,MAAM;YACN,aAAa;YACb,OAAO;YACP,OAAO;YACP,UAAU;SACX,CAAA;IACH,CAAC;IAGK,AAAN,KAAK,CAAC,YAAY,CAAS,MAAiB,EAAS,OAAY;;QAC/D,MAAM,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,KAAK,CAAA;QAEhC,IAAI,eAAe,GAAG,MAAA,MAAM,CAAC,OAAO,0CAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,cAAc,CAAC,CAAA;QAC9E,IAAI,YAAY,GAAG,SAAS,CAAA;QAE5B,IAAI,eAAe,GAAG,CAAC,CAAC,EAAE;YACxB,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,KAAK,CAAA;YACpD,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,cAAc,CAAC,CAAA;SACtE;QAED,IAAI,eAAe,GAAG,MAAA,MAAM,CAAC,OAAO,0CAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,cAAc,CAAC,CAAA;QAC9E,IAAI,YAAY,GAAG,SAAS,CAAA;QAE5B,IAAI,eAAe,GAAG,CAAC,CAAC,EAAE;YACxB,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC,KAAK,CAAA;YACpD,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,cAAc,CAAC,CAAA;SACtE;QAED,IAAI,YAAY,EAAE;YAChB,MAAM,CAAC,UAAU,CAAC,KAAK,GAAG,CAAC,CAAA;YAC3B,MAAM,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,CAAA;SAC3B;QAED,IAAI,WAAW,GAAG,CAAA,MAAA,MAAM,CAAC,OAAO,0CAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,UAAU,IAAI,CAAC,CAAC,QAAQ,IAAI,SAAS,CAAC,IAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAA;QAErH,MAAM,YAAY,GAAG,IAAA,qCAA6B,EAAC;YACjD,MAAM;YACN,MAAM;YACN,UAAU,EAAE,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC;YACrC,WAAW,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,SAAS,CAAC;SAChD,CAAC,CAAA;QAEF,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,GAAG,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;QACzD,IAAI,MAAM,GAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,CAAA;QAE5D,IAAI,IAAI,GAAG,IAAI,CAAA;QAEf,IAAI,YAAY,EAAE;YAChB,IAAI,WAAW,KAAK,IAAI,EAAE;gBACxB,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,MAAM,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;oBAClD,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,GAAG,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAA;iBACxG;aACF;YAED,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,UAAU,IAAU;gBACvC,OAAO,IAAI,CAAC,2BAA2B,CAAC,YAAY,EAAE,YAAY,EAAE,WAAW,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;YAC3H,CAAC,CAAC,CAAA;SACH;QAED,OAAO;YACL,KAAK;YACL,KAAK;SACN,CAAA;IACH,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,IAAY,EAAE,QAAgB;QACxD,IAAI,CAAC,QAAQ;YAAE,OAAO,KAAK,CAAA;QAE3B,IAAI,cAAc,GAAQ,EAAE,CAAA;QAC5B,IAAI,eAAe,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;QACxC,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAA;QAE9C,IAAI,IAAI,KAAK,UAAU,EAAE;YACvB,cAAc,GAAG,YAAY,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE;gBACnD,OAAO,CAAC,CAAC,IAAI,CAAA;YACf,CAAC,CAAC,CAAA;SACH;aAAM,IAAI,IAAI,KAAK,eAAe,EAAE;YACnC,cAAc,GAAG,IAAI,CAAC,SAAS,CAC7B,YAAY,CAAC,aAAa,CAAC;iBACxB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,sBAAsB,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;iBACzH,GAAG,CAAC,CAAC,CAAC,EAAE;gBACP,OAAO,CAAC,CAAC,UAAU,CAAA;YACrB,CAAC,CAAC,CACL,CAAA;SACF;aAAM,IAAI,IAAI,KAAK,aAAa,EAAE;YACjC,cAAc,GAAG,IAAI,CAAC,SAAS,CAC7B,YAAY,CAAC,aAAa,CAAC;iBACxB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,sBAAsB,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;iBACxH,GAAG,CAAC,CAAC,CAAC,EAAE;gBACP,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAA;YAC1B,CAAC,CAAC,CACL,CAAA;SACF;aAAM,IAAI,IAAI,KAAK,aAAa,EAAE;YACjC,cAAc,GAAG,IAAI,CAAC,SAAS,CAC7B,YAAY,CAAC,aAAa,CAAC;iBACxB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,oBAAoB,EAAE,wBAAwB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;iBACpH,GAAG,CAAC,CAAC,CAAC,EAAE;gBACP,OAAO,CAAC,CAAC,UAAU,CAAA;YACrB,CAAC,CAAC,CACL,CAAA;SACF;aAAM,IAAI,IAAI,KAAK,WAAW,EAAE;YAC/B,cAAc,GAAG,IAAI,CAAC,SAAS,CAC7B,YAAY,CAAC,aAAa,CAAC;iBACxB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,oBAAoB,EAAE,wBAAwB,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC;iBACnH,GAAG,CAAC,CAAC,CAAC,EAAE;gBACP,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAA;YAC1B,CAAC,CAAC,CACL,CAAA;SACF;aAAM,IAAI,IAAI,KAAK,iBAAiB,EAAE;YACrC,cAAc,GAAG,IAAI,CAAC,SAAS,CAC7B,YAAY,CAAC,aAAa,CAAC;iBACxB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,QAAQ,CAAC;iBAChF,GAAG,CAAC,CAAC,CAAC,EAAE;gBACP,OAAO,CAAC,CAAC,UAAU,CAAA;YACrB,CAAC,CAAC,CACL,CAAA;SACF;aAAM,IAAI,IAAI,KAAK,eAAe,EAAE;YACnC,cAAc,GAAG,IAAI,CAAC,SAAS,CAC7B,YAAY,CAAC,aAAa,CAAC;iBACxB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,MAAM,CAAC;iBAC9E,GAAG,CAAC,CAAC,CAAC,EAAE;gBACP,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAA;YAC1B,CAAC,CAAC,CACL,CAAA;SACF;aAAM,IAAI,IAAI,KAAK,mBAAmB,EAAE;YACvC,cAAc,GAAG,IAAI,CAAC,SAAS,CAC7B,YAAY,CAAC,aAAa,CAAC;iBACxB,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,QAAQ,IAAI,CAAC,CAAC,UAAU,IAAI,CAAC,CAAC,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC;iBAClF,GAAG,CAAC,CAAC,CAAC,EAAE;gBACP,OAAO,CAAC,CAAC,UAAU,CAAC,IAAI,CAAA;YAC1B,CAAC,CAAC,CACL,CAAA;SACF;aAAM;YACL,cAAc,GAAG,eAAe,CAAA;SACjC;QAED,OAAO,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACtC,CAAC;IAED,2BAA2B,CAAC,IAAY,EAAE,IAAY,EAAE,QAAa;QACnE,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;YAC3B,KAAK,IAAI,GAAG,GAAG,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;gBAC9C,IAAI,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAA;gBAErE,IAAI,QAAQ,IAAI,IAAI,EAAE;oBACpB,OAAO,IAAI,CAAA;iBACZ;aACF;YAED,OAAO,KAAK,CAAA;SACb;aAAM;YACL,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAA;SAChD;IACH,CAAC;IAED,GAAG,CAAC,QAAgB;QAClB,IAAI,UAAU,GAAG,EAAE,CAAA;QACnB,IAAI,QAAQ,GAAG,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAA;QAC7C,IAAI,OAAO,GAAG,CAAC,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,EAAE,cAAc,EAAE,aAAa,EAAE,aAAa,EAAE,QAAQ,CAAC,CAAA;QACnI,IAAI,IAAI,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA;QACtB,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;QACrC,IAAI,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA;QAClC,IAAI,EAAE,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAA;QACrE,IAAI,SAAS,GAAG,CAAC,CAAA;QAEjB,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;QAE7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE;YACrD,IAAI,SAAS,IAAI,OAAO,CAAC,MAAM;gBAAE,SAAS,GAAG,CAAC,CAAA;YAE9C,IAAI,QAAQ,GAAG,gBAAM,CAAC,gBAAgB,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,CAAA;YACjF,IAAI,SAAS,GAAG,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,CAAA;YAC3D,SAAS,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;YAEnC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;SAC3B;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAA;IACxC,CAAC;IAGK,AAAN,KAAK,CAAC,MAAM,CAAS,IAAU;QAC7B,OAAO,MAAM,IAAA,qBAAa,EAAC,gBAAI,CAAC,CAAC,SAAS,CAAC,EAAE,EAAE,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAA;IACnE,CAAC;CACF,CAAA;AAhOO;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,kCAAc,EAAE,EAAE,WAAW,EAAE,6BAA6B,EAAE,CAAC;IAC3D,mBAAA,IAAA,kBAAG,EAAC,IAAI,CAAC,CAAA;IAAc,mBAAA,IAAA,kBAAG,GAAE,CAAA;;;;sDA+CjD;AAGK;IADL,IAAA,oBAAK,EAAC,OAAO,CAAC,EAAE,CAAC,mCAAe,EAAE,EAAE,WAAW,EAAE,gCAAgC,EAAE,CAAC;IACjE,mBAAA,IAAA,mBAAI,GAAE,CAAA;IAAqB,mBAAA,IAAA,kBAAG,GAAE,CAAA;;6CAAjB,iBAAS;;oDAsD3C;AAqHK;IADL,IAAA,4BAAa,EAAC,IAAI,CAAC,EAAE,CAAC,gBAAI,CAAC;IACd,mBAAA,IAAA,mBAAI,GAAE,CAAA;;iEAAO,gBAAI,oBAAJ,gBAAI;;8CAE9B;AAjOU,gBAAgB;IAD5B,IAAA,uBAAQ,EAAC,gBAAI,CAAC;GACF,gBAAgB,CAkO5B;AAlOY,4CAAgB","sourcesContent":["import { Resolver, FieldResolver, Root, Query, Args, Ctx, Arg } from 'type-graphql'\nimport { ListParam, getRepository, getQueryBuilderFromListParams } from '@things-factory/shell'\nimport { Menu } from '@things-factory/menu-base'\nimport { DynamicMenuList, ExportMenuInfo } from './dynamic-menu-type'\n\nimport { Entity, EntityColumn } from '@things-factory/resource-base'\n\nimport crypto from 'crypto'\nconst { camelCase, startCase, snakeCase, kebabCase, upperFirst } = require('lodash')\n\n@Resolver(Menu)\nexport class DynamicMenuQuery {\n @Query(returns => ExportMenuInfo, { description: 'To fetch a export menu data' })\n async exportMenuInfo(@Arg('id') id: string, @Ctx() context: any): Promise<ExportMenuInfo> {\n const { domain } = context.state\n\n // 메뉴\n const menu: Menu = await getRepository(Menu).findOneBy({ id: id, domain: { id: domain.id } })\n const parentMenu: Menu = await getRepository(Menu).findOneBy({ id: menu.parentId, domain: { id: domain.id } })\n\n // entity\n let entityName = upperFirst(camelCase(menu.routing))\n const entity: Entity = await getRepository(Entity).findOneBy({ domain: { id: domain.id }, name: entityName })\n\n // entity Columns\n const entityColumns: EntityColumn[] = await getRepository(EntityColumn).findBy({ domain: { id: domain.id }, entity: { id: entity.id } })\n\n let entityMeta = getRepository(entityName).metadata\n\n const indices = entityMeta.indices.map(x => {\n return {\n name: x.name,\n isUnique: x.isUnique,\n columns: x.columns.map(y => {\n return y.databaseName.toUpperCase()\n })\n }\n })\n\n const columns = entityMeta.columns\n .map(x => {\n return {\n name: x.databaseName,\n isNullable: x.isNullable,\n length: x.type == 'numeric' ? [x.precision, x.scale].join(',') : x.length,\n type: x.type.toString(),\n default: typeof x.default === 'function' ? undefined : x.default\n }\n })\n .filter(x => ['data_revision_no', 'deleted_at'].includes(x.name) == false)\n\n return {\n id,\n menu,\n entity,\n entityColumns,\n indices,\n columns,\n parentMenu\n }\n }\n\n @Query(returns => DynamicMenuList, { description: 'To fetch multiple dynamicMenus' })\n async dynamicMenus(@Args() params: ListParam, @Ctx() context: any): Promise<DynamicMenuList> {\n const { domain } = context.state\n\n let templateCodeIdx = params.filters?.findIndex(x => x.name == 'templateCode')\n let templateCode = undefined\n\n if (templateCodeIdx > -1) {\n templateCode = params.filters[templateCodeIdx].value\n params.filters = params.filters.filter(x => x.name != 'templateCode')\n }\n\n let templateTextIdx = params.filters?.findIndex(x => x.name == 'templateText')\n let templateText = undefined\n\n if (templateTextIdx > -1) {\n templateText = params.filters[templateTextIdx].value\n params.filters = params.filters.filter(x => x.name != 'templateText')\n }\n\n if (templateText) {\n params.pagination.limit = 0\n params.pagination.page = 0\n }\n\n let groupSearch = params.filters?.findIndex(x => x.name == 'parentId' && x.operator == 'is_null') > -1 ? true : false\n\n const queryBuilder = getQueryBuilderFromListParams({\n domain,\n params,\n repository: await getRepository(Menu),\n searchables: ['name', 'description', 'routing']\n })\n\n let [items, total] = await queryBuilder.getManyAndCount()\n let result: DynamicMenuList = { items: items, total: total }\n\n let self = this\n\n if (templateText) {\n if (groupSearch === true) {\n for (let idx = 0; idx < result.items.length; idx++) {\n result.items[idx].children = await getRepository(Menu).findBy({ parent: { id: result.items[idx].id } })\n }\n }\n\n items = items.filter(function (item: Menu) {\n return self.checkTemplateByContainsText(templateCode, templateText, groupSearch === true ? item.children : item.template)\n })\n }\n\n return {\n items,\n total\n }\n }\n\n checkTemplate(code: string, text: string, template: string) {\n if (!template) return false\n\n let templateString: any = ''\n let templateJsonStr = this.dec(template)\n let templateJson = JSON.parse(templateJsonStr)\n\n if (code === 'col-name') {\n templateString = templateJson['grid_column'].map(x => {\n return x.name\n })\n } else if (code === 'object-custom') {\n templateString = JSON.stringify(\n templateJson['grid_column']\n .filter(x => ['meta-object-selector', 'object', 'resource-object'].includes(x.type) && x.object_opt && !x.object_opt.menu)\n .map(x => {\n return x.object_opt\n })\n )\n } else if (code === 'object-menu') {\n templateString = JSON.stringify(\n templateJson['grid_column']\n .filter(x => ['meta-object-selector', 'object', 'resource-object'].includes(x.type) && x.object_opt && x.object_opt.menu)\n .map(x => {\n return x.object_opt.menu\n })\n )\n } else if (code === 'code-custom') {\n templateString = JSON.stringify(\n templateJson['grid_column']\n .filter(x => ['meta-code-selector', 'resource-code-selector'].includes(x.type) && x.object_opt && !x.object_opt.menu)\n .map(x => {\n return x.object_opt\n })\n )\n } else if (code === 'code-menu') {\n templateString = JSON.stringify(\n templateJson['grid_column']\n .filter(x => ['meta-code-selector', 'resource-code-selector'].includes(x.type) && x.object_opt && x.object_opt.menu)\n .map(x => {\n return x.object_opt.menu\n })\n )\n } else if (code === 'selector-entity') {\n templateString = JSON.stringify(\n templateJson['grid_column']\n .filter(x => x.type == 'select' && x.select_opt && x.select_opt.type == 'entity')\n .map(x => {\n return x.select_opt\n })\n )\n } else if (code === 'selector-code') {\n templateString = JSON.stringify(\n templateJson['grid_column']\n .filter(x => x.type == 'select' && x.select_opt && x.select_opt.type == 'code')\n .map(x => {\n return x.select_opt.name\n })\n )\n } else if (code === 'selector-scenario') {\n templateString = JSON.stringify(\n templateJson['grid_column']\n .filter(x => x.type == 'select' && x.select_opt && x.select_opt.type == 'scenario')\n .map(x => {\n return x.select_opt.name\n })\n )\n } else {\n templateString = templateJsonStr\n }\n\n return templateString.includes(text)\n }\n\n checkTemplateByContainsText(code: string, text: string, template: any) {\n if (Array.isArray(template)) {\n for (let idx = 0; idx < template.length; idx++) {\n let contains = this.checkTemplate(code, text, template[idx].template)\n\n if (contains == true) {\n return true\n }\n }\n\n return false\n } else {\n return this.checkTemplate(code, text, template)\n }\n }\n\n dec(template: string): string {\n let decResults = []\n let encTemps = template.split('h1z0q9i9x7q6')\n let filters = ['aes-256-ecb', 'aes-256-cbc', 'aes-256-cfb', 'aes-256-cfb8', 'aes-256-cfb1', 'aes-256-ofb', 'aes-256-ctr', 'aes256']\n let salt = encTemps[0]\n let hexKey = Buffer.from(salt, 'hex')\n let ivBase = salt.substring(0, 16)\n let iv = ['', ivBase, ivBase, ivBase, ivBase, ivBase, ivBase, ivBase]\n let filterIdx = 0\n\n encTemps = encTemps.splice(1)\n\n for (var i = 0; i < encTemps.length; i++, filterIdx++) {\n if (filterIdx == filters.length) filterIdx = 0\n\n let decipher = crypto.createDecipheriv(filters[filterIdx], hexKey, iv[filterIdx])\n let decrypted = decipher.update(encTemps[i], 'hex', 'utf8')\n decrypted += decipher.final('utf8')\n\n decResults.push(decrypted)\n }\n return JSON.parse(decResults.join(''))\n }\n\n @FieldResolver(type => Menu)\n async parent(@Root() menu: Menu): Promise<Menu> {\n return await getRepository(Menu).findOneBy({ id: menu.parentId })\n }\n}\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dynamic-menu-type.js","sourceRoot":"","sources":["../../../server/service/dynamic-menu/dynamic-menu-type.ts"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"dynamic-menu-type.js","sourceRoot":"","sources":["../../../server/service/dynamic-menu/dynamic-menu-type.ts"],"names":[],"mappings":"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","sourcesContent":["import { ObjectType, Field, InputType, Int, ID, Float, registerEnumType } from 'type-graphql'\n\nimport { Menu } from '@things-factory/menu-base'\nimport { Entity, EntityColumn } from '@things-factory/resource-base'\nimport { Terminology } from '@things-factory/i18n-base'\n\n@ObjectType()\nexport class DynamicMenuList {\n @Field(type => [Menu])\n items: Menu[]\n\n @Field(type => Int)\n total: number\n}\n\n@ObjectType()\nexport class DBIndex {\n @Field(type => String)\n name: string\n\n @Field(type => Boolean)\n isUnique: boolean\n\n @Field(type => [String], { nullable: true })\n columns?: string[]\n}\n\n@ObjectType()\nexport class DBColumn {\n @Field(type => String)\n name: string\n\n @Field(type => Boolean)\n isNullable: boolean\n\n @Field(type => String)\n length: string\n\n @Field(type => String)\n type: string\n\n @Field(type => String || Number || Boolean, { nullable: true })\n default?: any\n}\n\n@ObjectType()\nexport class ExportMenuInfo {\n @Field(type => String)\n id: string\n\n @Field(type => Menu, { nullable: true })\n menu?: Menu\n\n @Field(type => Menu, { nullable: true })\n parentMenu?: Menu\n\n @Field(type => Entity, { nullable: true })\n entity?: Entity\n\n @Field(type => [EntityColumn], { nullable: true })\n entityColumns?: EntityColumn[]\n\n @Field(type => [Terminology], { nullable: true })\n termsLabel?: Terminology[]\n\n @Field(type => [Terminology], { nullable: true })\n termsTitle?: Terminology[]\n\n @Field(type => [DBIndex], { nullable: true })\n indices?: DBIndex[]\n\n @Field(type => [DBColumn], { nullable: true })\n columns?: DBColumn[]\n}\n"]}
|