@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.
Files changed (36) hide show
  1. package/client/bootstrap.ts +2 -6
  2. package/client/index.ts +0 -20
  3. package/client/load-components.ts +17 -0
  4. package/client/pages/entity/main-menu-selector.js +0 -4
  5. package/client/pages/personalize/personal-column-selector.js +0 -4
  6. package/dist-client/actions/main.d.ts +0 -1
  7. package/dist-client/actions/main.js +0 -1
  8. package/dist-client/actions/main.js.map +1 -1
  9. package/dist-client/bootstrap.d.ts +1 -0
  10. package/dist-client/bootstrap.js +2 -5
  11. package/dist-client/bootstrap.js.map +1 -1
  12. package/dist-client/index.d.ts +0 -16
  13. package/dist-client/index.js +0 -17
  14. package/dist-client/index.js.map +1 -1
  15. package/dist-client/load-components.d.ts +15 -0
  16. package/dist-client/load-components.js +17 -0
  17. package/dist-client/load-components.js.map +1 -0
  18. package/dist-client/pages/entity/main-menu-selector.js +0 -4
  19. package/dist-client/pages/entity/main-menu-selector.js.map +1 -1
  20. package/dist-client/pages/personalize/personal-column-selector.js +0 -4
  21. package/dist-client/pages/personalize/personal-column-selector.js.map +1 -1
  22. package/dist-client/reducers/main.js +0 -3
  23. package/dist-client/reducers/main.js.map +1 -1
  24. package/dist-client/tsconfig.tsbuildinfo +1 -1
  25. package/dist-server/service/dynamic-menu/dynamic-menu-query.js +50 -16
  26. package/dist-server/service/dynamic-menu/dynamic-menu-query.js.map +1 -1
  27. package/dist-server/service/dynamic-menu/dynamic-menu-type.js.map +1 -1
  28. package/dist-server/tsconfig.tsbuildinfo +1 -1
  29. package/package.json +5 -5
  30. package/server/service/dynamic-menu/dynamic-menu-query.ts +145 -115
  31. package/server/service/dynamic-menu/dynamic-menu-type.ts +11 -16
  32. package/client/actions/main.js +0 -127
  33. package/client/pages/menu/dynamic-menu-setting-let.ts +0 -82
  34. package/client/reducers/main.js +0 -79
  35. package/client/viewparts/dynamic-menu-part.ts +0 -119
  36. 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 => { return y.databaseName.toUpperCase(); })
29
+ columns: x.columns.map(y => {
30
+ return y.databaseName.toUpperCase();
31
+ })
30
32
  };
31
33
  });
32
- const columns = entityMeta.columns.map(x => {
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(",") : x.length,
39
+ length: x.type == 'numeric' ? [x.precision, x.scale].join(',') : x.length,
37
40
  type: x.type.toString(),
38
- default: (typeof x.default === 'function') ? undefined : x.default
41
+ default: typeof x.default === 'function' ? undefined : x.default
39
42
  };
40
- }).filter(x => ['data_revision_no', 'deleted_at'].includes(x.name) == false);
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 => { return x.name; });
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'].filter(x => ['meta-object-selector', 'object', 'resource-object'].includes(x.type) && x.object_opt && !x.object_opt.menu).map(x => { return x.object_opt; }));
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'].filter(x => ['meta-object-selector', 'object', 'resource-object'].includes(x.type) && x.object_opt && x.object_opt.menu).map(x => { return x.object_opt.menu; }));
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'].filter(x => ['meta-code-selector', 'resource-code-selector'].includes(x.type) && x.object_opt && !x.object_opt.menu).map(x => { return x.object_opt; }));
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'].filter(x => ['meta-code-selector', 'resource-code-selector'].includes(x.type) && x.object_opt && x.object_opt.menu).map(x => { return x.object_opt.menu; }));
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'].filter(x => x.type == 'select' && x.select_opt && x.select_opt.type == 'entity').map(x => { return x.select_opt; }));
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'].filter(x => x.type == 'select' && x.select_opt && x.select_opt.type == 'code').map(x => { return x.select_opt.name; }));
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'].filter(x => x.type == 'select' && x.select_opt && x.select_opt.type == 'scenario').map(x => { return x.select_opt.name; }));
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":"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","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":"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","sourcesContent":["\nimport { ObjectType, Field, InputType, Int, ID, Float, registerEnumType } from 'type-graphql'\nimport { ObjectRef } from '@things-factory/shell'\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\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\n\n"]}
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"]}