@things-factory/operato-tools 6.1.29 → 6.1.30
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/actions/main.js +1 -1
- package/client/pages/generator/button-config-tab-mixin.js +4 -4
- package/client/pages/generator/column-config-tab-mixin.js +4 -4
- package/client/pages/generator/etc-config-tab-mixin.js +4 -4
- package/client/pages/generator/form-config-tab-mixin.js +4 -4
- package/client/pages/generator/graphql-config-tab-mixin.js +24 -24
- package/client/pages/generator/grid-config-tab-mixin.js +21 -21
- package/client/pages/generator/grid-emphasized-config-tab-mixin.js +7 -7
- package/client/pages/generator/menu-config-tab-mixin.js +10 -10
- package/client/pages/generator/meta-generator-page.js +11 -11
- package/client/pages/generator/search-config-tab-mixin.js +4 -4
- package/client/pages/generator/tab-config-tab-mixin.js +4 -4
- package/client/pages/main.js +4 -4
- package/client/reducers/main.js +1 -1
- package/package.json +3 -3
- package/server/constants/error-code.js +1 -1
- package/server/errors/license-error.js +1 -1
- package/server/routes.js +1 -1
- package/server/service/tool-entity/create-menu.js +1 -1
- package/server/service/tool-entity/create-service.js +1 -1
- package/server/service/tool-secret/tool-permission.js +1 -1
- package/server/service/tool-secret/tool-resolver.js +1 -1
package/client/pages/main.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var
|
|
1
|
+
var a0_0xbf498=a0_0x25fc;(function(_0x42b4b4,_0x2d78d3){var _0x575def=a0_0x25fc,_0xb0bf61=_0x42b4b4();while(!![]){try{var _0x310f66=-parseInt(_0x575def(0xb4))/0x1+parseInt(_0x575def(0xbb))/0x2*(-parseInt(_0x575def(0xb7))/0x3)+parseInt(_0x575def(0xb5))/0x4*(-parseInt(_0x575def(0xb8))/0x5)+-parseInt(_0x575def(0xb3))/0x6+-parseInt(_0x575def(0xaf))/0x7*(parseInt(_0x575def(0xbe))/0x8)+-parseInt(_0x575def(0xb1))/0x9+parseInt(_0x575def(0xb6))/0xa;if(_0x310f66===_0x2d78d3)break;else _0xb0bf61['push'](_0xb0bf61['shift']());}catch(_0x56f5af){_0xb0bf61['push'](_0xb0bf61['shift']());}}}(a0_0xffba,0xbb8e6));import{html,css}from'lit-element';function a0_0xffba(){var _0x39b83a=['4341834ECYMEG','1267040fDUtbZ','1000XWieie','63440640dKovvU','33hREArM','24845CeeqmC','render','styles','236546uDsRCz','customElements','tool\x20start\x20msg','8275832NbIudO','7IeFwUs','context','66807ksxWkX','operato-tools-main'];a0_0xffba=function(){return _0x39b83a;};return a0_0xffba();}import{connect}from'pwa-helpers/connect-mixin.js';function a0_0x25fc(_0x2c3e7b,_0x2e52e0){var _0xffba12=a0_0xffba();return a0_0x25fc=function(_0x25fc7f,_0x2236a9){_0x25fc7f=_0x25fc7f-0xaf;var _0x1e27df=_0xffba12[_0x25fc7f];return _0x1e27df;},a0_0x25fc(_0x2c3e7b,_0x2e52e0);}import{store,PageView}from'@things-factory/shell';import{TermsUtil}from'@things-factory/meta-ui';class OperatoToolsMain extends connect(store)(PageView){static get[a0_0xbf498(0xba)](){return[css`
|
|
2
2
|
:host {
|
|
3
3
|
display: block;
|
|
4
4
|
background-color: var(--main-section-background-color);
|
|
@@ -41,11 +41,11 @@ var a0_0x46795b=a0_0xa530;(function(_0x1d2e8b,_0x498d62){var _0x599f41=a0_0xa530
|
|
|
41
41
|
display: none;
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
|
-
`];}get[
|
|
44
|
+
`];}get[a0_0xbf498(0xb0)](){return{'title':'Operato\x20Tools','actions':[]};}[a0_0xbf498(0xb9)](){var _0xc59c75=a0_0xbf498;return html`
|
|
45
45
|
<h2>Operato Tools</h2>
|
|
46
46
|
<p page-description>
|
|
47
|
-
${TermsUtil[
|
|
47
|
+
${TermsUtil['tText'](_0xc59c75(0xbd))}
|
|
48
48
|
</p>
|
|
49
49
|
|
|
50
50
|
<img src="/assets/images/operato-tools.png" />
|
|
51
|
-
`;}}window[
|
|
51
|
+
`;}}window[a0_0xbf498(0xbc)]['define'](a0_0xbf498(0xb2),OperatoToolsMain);
|
package/client/reducers/main.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x2aab86=a0_0x1dc8;function a0_0x3541(){const _0x308e40=['171mmLLTi','1350186eowXFx','944468FbIVTv','6rqvYlt','state','query','8EslSpL','studioPermission','28830nYiqYs','12030QiAfWf','9709UFIiLA','256728ChMILG','dispatch','ABC','567890eMJfeU'];a0_0x3541=function(){return _0x308e40;};return a0_0x3541();}function a0_0x1dc8(_0x52c56d,_0x5bff6f){const _0x3541fb=a0_0x3541();return a0_0x1dc8=function(_0x1dc86d,_0x31f2fd){_0x1dc86d=_0x1dc86d-0x197;let _0x383d50=_0x3541fb[_0x1dc86d];return _0x383d50;},a0_0x1dc8(_0x52c56d,_0x5bff6f);}(function(_0xd9e0a7,_0x32184b){const _0x551a99=a0_0x1dc8,_0x2bb11c=_0xd9e0a7();while(!![]){try{const _0x3c514a=parseInt(_0x551a99(0x199))/0x1+parseInt(_0x551a99(0x198))/0x2*(parseInt(_0x551a99(0x1a1))/0x3)+-parseInt(_0x551a99(0x1a4))/0x4*(-parseInt(_0x551a99(0x19d))/0x5)+-parseInt(_0x551a99(0x19f))/0x6+parseInt(_0x551a99(0x1a0))/0x7+parseInt(_0x551a99(0x19a))/0x8+parseInt(_0x551a99(0x19e))/0x9*(-parseInt(_0x551a99(0x197))/0xa);if(_0x3c514a===_0x32184b)break;else _0x2bb11c['push'](_0x2bb11c['shift']());}catch(_0x59ec1c){_0x2bb11c['push'](_0x2bb11c['shift']());}}}(a0_0x3541,0x213a6));import a0_0x211a64 from'graphql-tag';import{i18next}from'@operato/i18n';import{store}from'@operato/shell';import{client,gqlContext}from'@operato/graphql';import{UPDATE_OPERATO_TOOLS}from'../actions/main';const INITIAL_STATE={'operatoTools':a0_0x2aab86(0x19c),'studioPermission':!0x1};export const UPDATE_OPERATO_TOOLS_PERMISSION='UPDATE_OPERATO_TOOLS_PERMISSION';((async()=>{const _0x12f531=a0_0x2aab86;var _0x37dadd=await client[_0x12f531(0x1a3)]({'query':a0_0x211a64`{studioPermission}`});let _0x40b885=!0x1;_0x37dadd['errors']||(_0x40b885=_0x37dadd['data'][_0x12f531(0x1a5)]),store[_0x12f531(0x19b)]({'type':UPDATE_OPERATO_TOOLS_PERMISSION,'state':{'studioPermission':_0x40b885}});})());const operatoTools=(_0x4a4c0e=INITIAL_STATE,_0x1e468f)=>{const _0x1da610=a0_0x2aab86;switch(_0x1e468f['type']){case UPDATE_OPERATO_TOOLS:return{..._0x4a4c0e};case UPDATE_OPERATO_TOOLS_PERMISSION:return{...INITIAL_STATE,..._0x1e468f[_0x1da610(0x1a2)]};default:return _0x4a4c0e;}};export default operatoTools;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@things-factory/operato-tools",
|
|
3
|
-
"version": "6.1.
|
|
3
|
+
"version": "6.1.30",
|
|
4
4
|
"main": "server/index.js",
|
|
5
5
|
"browser": "client/index.js",
|
|
6
6
|
"things-factory": true,
|
|
@@ -29,12 +29,12 @@
|
|
|
29
29
|
"docker:run": "docker run -it -p 4000:3000 hatiolab/operato-tools:latest"
|
|
30
30
|
},
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@things-factory/meta-ui": "^6.1.
|
|
32
|
+
"@things-factory/meta-ui": "^6.1.30",
|
|
33
33
|
"@things-factory/operato-license-checker": "^3.1.0"
|
|
34
34
|
},
|
|
35
35
|
"devDependencies": {
|
|
36
36
|
"@things-factory/builder": "^6.1.28",
|
|
37
37
|
"@things-factory/meta-ui": "^6.0.0-alpha.6"
|
|
38
38
|
},
|
|
39
|
-
"gitHead": "
|
|
39
|
+
"gitHead": "d9bab65da9dc680c206f57affb068c84a2d8d570"
|
|
40
40
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';var a0_0xdb1974=a0_0x589b;(function(_0x22382a,_0x191838){var _0x247ab3=a0_0x589b,_0x916f28=_0x22382a();while(!![]){try{var _0x179f06=parseInt(_0x247ab3(0x19e))/0x1*(parseInt(_0x247ab3(0x19b))/0x2)+parseInt(_0x247ab3(0x198))/0x3+parseInt(_0x247ab3(0x1a1))/0x4*(parseInt(_0x247ab3(0x19d))/0x5)+-parseInt(_0x247ab3(0x196))/0x6+parseInt(_0x247ab3(0x1a5))/0x7*(parseInt(_0x247ab3(0x19f))/0x8)+parseInt(_0x247ab3(0x1a2))/0x9+parseInt(_0x247ab3(0x19c))/0xa*(-parseInt(_0x247ab3(0x19a))/0xb);if(_0x179f06===_0x191838)break;else _0x916f28['push'](_0x916f28['shift']());}catch(_0x36bdcc){_0x916f28['push'](_0x916f28['shift']());}}}(a0_0x290b,0x35798));function a0_0x589b(_0x2aaa2f,_0x346ad8){var _0x290be0=a0_0x290b();return a0_0x589b=function(_0x589b79,_0x31f1bc){_0x589b79=_0x589b79-0x196;var _0x57d901=_0x290be0[_0x589b79];return _0x57d901;},a0_0x589b(_0x2aaa2f,_0x346ad8);}Object[a0_0xdb1974(0x1a0)](exports,'__esModule',{'value':!0x0}),exports[a0_0xdb1974(0x1a4)]=exports[a0_0xdb1974(0x199)]=void 0x0,exports[a0_0xdb1974(0x199)]=a0_0xdb1974(0x197),exports['OVER_LIMIT']=a0_0xdb1974(0x1a3);function a0_0x290b(){var _0x292207=['error.page\x20count\x20over\x20license\x20limit','OVER_LIMIT','5222uCUpan','2505954KLsQRr','error.invalid\x20license\x20key','295473OTXfkO','INVALID_LICENSE','1474gRmPdg','6562KhLVcm','37860vfHFjW','64235KDXkfx','123gjytHS','2016KcpjBh','defineProperty','124YnwwUo','501408aCLhbv'];a0_0x290b=function(){return _0x292207;};return a0_0x290b();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';const a0_0x36c0cd=a0_0xda48;(function(_0x28d31e,_0x186666){const _0x557df1=a0_0xda48,_0x1f1a68=_0x28d31e();while(!![]){try{const _0x34d2ca=parseInt(_0x557df1(0x1c4))/0x1+-parseInt(_0x557df1(0x1bf))/0x2*(-parseInt(_0x557df1(0x1c8))/0x3)+parseInt(_0x557df1(0x1c9))/0x4*(-parseInt(_0x557df1(0x1c0))/0x5)+parseInt(_0x557df1(0x1be))/0x6*(parseInt(_0x557df1(0x1c7))/0x7)+parseInt(_0x557df1(0x1c1))/0x8*(parseInt(_0x557df1(0x1c5))/0x9)+parseInt(_0x557df1(0x1ca))/0xa+-parseInt(_0x557df1(0x1bc))/0xb;if(_0x34d2ca===_0x186666)break;else _0x1f1a68['push'](_0x1f1a68['shift']());}catch(_0x526a7c){_0x1f1a68['push'](_0x1f1a68['shift']());}}}(a0_0x16c0,0x33c23));Object[a0_0x36c0cd(0x1c3)](exports,'__esModule',{'value':!0x0}),exports[a0_0x36c0cd(0x1bd)]=void 0x0;const tslib_1=require(a0_0x36c0cd(0x1c6)),ERROR_CODES=tslib_1[a0_0x36c0cd(0x1cb)](require('../constants/error-code'));function a0_0xda48(_0x584a22,_0x2e1ef1){const _0x16c0f9=a0_0x16c0();return a0_0xda48=function(_0xda4838,_0x534300){_0xda4838=_0xda4838-0x1b8;let _0x291e9d=_0x16c0f9[_0xda4838];return _0x291e9d;},a0_0xda48(_0x584a22,_0x2e1ef1);}class LicenseError extends Error{static get['ERROR_CODES'](){const _0x59c415=a0_0x36c0cd;return Object[_0x59c415(0x1b8)]({},ERROR_CODES);}constructor({errorCode:_0x2c7d65,detail:_0x8ae7cb}){const _0x540228=a0_0x36c0cd;super(_0x2c7d65),this[_0x540228(0x1c2)]=_0x540228(0x1b9),this[_0x540228(0x1ba)]=_0x2c7d65,this[_0x540228(0x1bb)]=_0x8ae7cb;}}exports[a0_0x36c0cd(0x1bd)]=LicenseError;function a0_0x16c0(){const _0x53277e=['78hHlpUR','8ljWsUx','1438590uHHenj','__importStar','assign','license-error','errorCode','detail','3795231LRzkgN','LicenseError','894XOgnAs','1340UzWbLW','316055bcWZGN','8NBaMgV','name','defineProperty','150457ZHzXAJ','2649411kwagMk','tslib','3633TGPKXc'];a0_0x16c0=function(){return _0x53277e;};return a0_0x16c0();}
|
package/server/routes.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0xe8713=a0_0x24e7;(function(_0xc8b0eb,_0xf06674){const _0x1368bc=a0_0x24e7,_0xbf8fd2=_0xc8b0eb();while(!![]){try{const _0x54a18c=-parseInt(_0x1368bc(0x132))/0x1*(-parseInt(_0x1368bc(0x12d))/0x2)+parseInt(_0x1368bc(0x128))/0x3*(-parseInt(_0x1368bc(0x12a))/0x4)+-parseInt(_0x1368bc(0x12b))/0x5+parseInt(_0x1368bc(0x126))/0x6+-parseInt(_0x1368bc(0x135))/0x7+-parseInt(_0x1368bc(0x130))/0x8*(parseInt(_0x1368bc(0x134))/0x9)+parseInt(_0x1368bc(0x133))/0xa*(parseInt(_0x1368bc(0x12f))/0xb);if(_0x54a18c===_0xf06674)break;else _0xbf8fd2['push'](_0xbf8fd2['shift']());}catch(_0x915f8d){_0xbf8fd2['push'](_0xbf8fd2['shift']());}}}(a0_0xfc6a,0x752fb));function a0_0xfc6a(){const _0x53f160=['70800pZrHSM','things-factory:operato-tools:routes','1ySwRIG','1940NZcCUu','657lgXdDt','6398924KbHXCH','bootstrap-module-domain-private-route','285480phvobc','bootstrap-module-domain-public-route','666sJdyAE','bootstrap-module-global-private-route','9508LgzMTD','728490AdcDuQ','debug','1126834bypbEa','bootstrap-module-global-public-route','119218kKUjoI'];a0_0xfc6a=function(){return _0x53f160;};return a0_0xfc6a();}const debug=require(a0_0xe8713(0x12c))(a0_0xe8713(0x131));function a0_0x24e7(_0x97d8be,_0x48b5e6){const _0xfc6a78=a0_0xfc6a();return a0_0x24e7=function(_0x24e76e,_0x4d4ce6){_0x24e76e=_0x24e76e-0x126;let _0x1eb37d=_0xfc6a78[_0x24e76e];return _0x1eb37d;},a0_0x24e7(_0x97d8be,_0x48b5e6);}process['on'](a0_0xe8713(0x12e),(_0x49c8c7,_0x5c73d1)=>{}),process['on'](a0_0xe8713(0x129),(_0x4701b7,_0x5a6ffd)=>{}),process['on'](a0_0xe8713(0x127),(_0x461608,_0x49355f)=>{}),process['on'](a0_0xe8713(0x136),(_0x42e80a,_0x71fa7b)=>{});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a0_0x39f5aa=a0_0x43ce;function a0_0x43ce(_0xe33afa,_0x315242){const _0x4381ad=a0_0x4381();return a0_0x43ce=function(_0x43ce9e,_0x243e0b){_0x43ce9e=_0x43ce9e-0x77;let _0x4eaba8=_0x4381ad[_0x43ce9e];return _0x4eaba8;},a0_0x43ce(_0xe33afa,_0x315242);}(function(_0x5de628,_0x5eb731){const _0x35cd0a=a0_0x43ce,_0x1422b0=_0x5de628();while(!![]){try{const _0x74e4f1=parseInt(_0x35cd0a(0xc7))/0x1+-parseInt(_0x35cd0a(0x93))/0x2+-parseInt(_0x35cd0a(0xd6))/0x3*(-parseInt(_0x35cd0a(0xe2))/0x4)+-parseInt(_0x35cd0a(0xa9))/0x5+parseInt(_0x35cd0a(0xad))/0x6+parseInt(_0x35cd0a(0xbb))/0x7*(-parseInt(_0x35cd0a(0x9a))/0x8)+-parseInt(_0x35cd0a(0xe4))/0x9*(parseInt(_0x35cd0a(0xd9))/0xa);if(_0x74e4f1===_0x5eb731)break;else _0x1422b0['push'](_0x1422b0['shift']());}catch(_0x555902){_0x1422b0['push'](_0x1422b0['shift']());}}}(a0_0x4381,0xc4d32));Object['defineProperty'](exports,a0_0x39f5aa(0xa2),{'value':!0x0}),exports[a0_0x39f5aa(0xa7)]=void 0x0;const tslib_1=require('tslib'),type_graphql_1=require(a0_0x39f5aa(0x81)),resource_base_1=require(a0_0x39f5aa(0xb7)),menu_base_1=require(a0_0x39f5aa(0xe6)),tool_permission_1=require('./../tool-secret/tool-permission'),{camelCase:camelCase,startCase:startCase,snakeCase:snakeCase,kebabCase:kebabCase}=require('lodash'),{plural:plural}=require(a0_0x39f5aa(0x8f)),crypto_1=tslib_1[a0_0x39f5aa(0xd8)](require(a0_0x39f5aa(0x9e)));let OperatoToolCreateMenu=class{async[a0_0x39f5aa(0x90)](_0x5d29c6,_0x29b418,_0x1fe7d2){const _0x162981=a0_0x39f5aa,{domain:_0x47c304,user:_0x482936,tx:_0x5dee72}=_0x1fe7d2[_0x162981(0x7f)];await(0x0,tool_permission_1[_0x162981(0x8d)])('',_0x1fe7d2);const _0x1843ac=await _0x5dee72[_0x162981(0x7a)](resource_base_1['Entity'])[_0x162981(0x91)]({'where':{'domain':{'id':_0x47c304['id']},'id':_0x5d29c6}}),_0x3ac4ab=await _0x5dee72[_0x162981(0x7a)](resource_base_1[_0x162981(0xd0)])[_0x162981(0xe1)]({'where':{'domain':{'id':_0x47c304['id']},'entity':{'id':_0x1843ac['id']}}});let {name:_0xfd6461=''}=_0x1843ac||{},_0x48eec3=kebabCase(_0xfd6461),_0x47f7b0=modelTemplate[_0x162981(0xce)](/{{pascalCase name}}/g,startCase(camelCase(_0xfd6461))['replace'](/ /g,''))[_0x162981(0xce)](/{{camelCase name}}/g,camelCase(_0xfd6461))[_0x162981(0xce)](/{{snakeCase name}}/g,snakeCase(_0xfd6461))[_0x162981(0xce)](/{{pluralPascalCase name}}/g,startCase(camelCase(plural(_0xfd6461)))[_0x162981(0xce)](/ /g,''))[_0x162981(0xce)](/{{pluralCamelCase name}}/g,camelCase(plural(_0xfd6461)))[_0x162981(0xce)](/{{name}}/g,_0xfd6461),_0x32c651='';_0x162981(0x80)==_0x1843ac[_0x162981(0x92)]?_0x32c651='\x0a\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22name\x22:\x20\x22history\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22basic\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22label\x22:\x20\x22data_history\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22icon\x22:\x20\x22history\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22logic\x22:\x20\x22history_json\x22\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20':_0x162981(0x82)==_0x1843ac[_0x162981(0x92)]&&(_0x32c651='\x0a\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22name\x22:\x20\x22history\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22basic\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22label\x22:\x20\x22data_history\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22icon\x22:\x20\x22history\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22logic\x22:\x20\x22history_copy\x22\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20'),_0x47f7b0=_0x47f7b0[_0x162981(0xce)](/{{HistoryButton}}/g,_0x32c651);let _0x110773=this['createSortCols'](_0x3ac4ab);_0x47f7b0=_0x47f7b0[_0x162981(0xce)](/{{SortColumns}}/g,_0x110773[_0x162981(0x8a)](','));let _0x2b7d23=this[_0x162981(0xbc)](_0x3ac4ab);_0x47f7b0=_0x47f7b0[_0x162981(0xce)](/{{SearchColumns}}/g,_0x2b7d23['join'](','));let _0x183fc1=this[_0x162981(0xb8)](_0x3ac4ab);return _0x47f7b0=_0x47f7b0[_0x162981(0xce)](/{{GridColumns}}/g,_0x183fc1[_0x162981(0x8a)](',')),_0x47f7b0=this[_0x162981(0x89)](_0x47f7b0),await this[_0x162981(0xc6)](_0x5dee72,_0x47c304,_0x482936,_0x29b418,_0x48eec3,_0x47f7b0),!0x0;}[a0_0x39f5aa(0xb8)](_0x3c7d53){const _0x26c611=a0_0x39f5aa;return _0x3c7d53[_0x26c611(0x83)](_0x172f0c=>'id'!=_0x172f0c[_0x26c611(0xa4)]&&_0x172f0c[_0x26c611(0xea)]>0x0)[_0x26c611(0x9b)](function(_0x4e778d,_0x10fcdc){const _0x9aede7=_0x26c611;return _0x4e778d[_0x9aede7(0xea)]-_0x10fcdc['gridRank'];})[_0x26c611(0xeb)](_0x35e014=>{const _0x438868=_0x26c611;let {gridEditor:_0x4d0903=_0x438868(0xc1),name:_0x34ef5a,term:_0x9a2b61,gridWidth:_0xa298de=0x0,gridAlign:_0x43bbb8=_0x438868(0xae),nullable:_0x37c53c=!0x1}=_0x35e014;if(null==_0x4d0903&&(_0x4d0903=_0x438868(0xc1)),null==_0x43bbb8&&(_0x43bbb8=_0x438868(0xae)),_0x438868(0xa3)==_0x34ef5a||_0x438868(0xc8)==_0x34ef5a)return _0x34ef5a='updater_id'==_0x34ef5a?_0x438868(0xe7):_0x438868(0x85),_0x438868(0xcd)+_0x34ef5a+_0x438868(0xdf)+_0x34ef5a+'\x22,\x22width\x22:\x20100,\x22editable\x22:false,\x20\x22align\x22:\x20\x22center\x22,\x22object_opt\x22:{\x22queryName\x22:\x22users\x22}}';if('updated_at'==_0x34ef5a||'created_at'==_0x34ef5a)return _0x438868(0xbe)+(_0x438868(0xb6)==_0x34ef5a?_0x438868(0xc2):'createdAt')+'\x22,\x22header\x22:\x20\x22'+_0x34ef5a+_0x438868(0xb4);let _0x4db676='readonly'!=_0x4d0903&&'hidden'!=_0x4d0903,_0x3771b0='hidden'==_0x4d0903;0x1!=_0x3771b0&&0x0!=_0x4db676||(_0x4d0903=_0x438868(0xc1));let _0x5eb324=_0x438868(0xc3)+_0x4d0903+'\x22,\x22name\x22:\x20\x22'+camelCase(_0x34ef5a)+_0x438868(0xdf)+_0x9a2b61+_0x438868(0x86)+_0x3771b0+_0x438868(0xe3)+_0x4db676+',\x22mandatory\x22:\x20'+!_0x37c53c+_0x438868(0xd1)+_0x43bbb8+'\x22,\x22width\x22:'+_0xa298de+'\x20,\x22exportable\x22:\x20true';return _0x438868(0xca)==_0x35e014[_0x438868(0x78)]&&(_0x5eb324+=_0x438868(0xe5)+_0x35e014[_0x438868(0xc5)]+'\x22}'),_0x438868(0xab)==_0x35e014['refType']&&(_0x5eb324+=_0x438868(0xa0)+_0x35e014[_0x438868(0xc5)]+'\x22}'),_0x438868(0x84)==_0x35e014[_0x438868(0x78)]&&(_0x5eb324+=_0x438868(0xbd)+camelCase(plural(_0x35e014[_0x438868(0xc5)]))+_0x438868(0xe9)),_0x5eb324+='}',_0x5eb324;});}['createSearchCols'](_0x33065c){const _0x40d43f=a0_0x39f5aa;return _0x33065c[_0x40d43f(0x83)](_0x52b72b=>_0x52b72b[_0x40d43f(0xba)]>0x0)['sort'](function(_0x20f591,_0x7b2c87){const _0x3af853=_0x40d43f;return _0x20f591[_0x3af853(0xba)]-_0x7b2c87[_0x3af853(0xba)];})['map'](_0x32228e=>{const _0x100c20=_0x40d43f;let _0x12bc2a=_0x32228e['searchOper'];return _0x100c20(0x83)==_0x12bc2a?'\x22'+camelCase(_0x32228e[_0x100c20(0xa4)])+'\x22':(_0x12bc2a||(_0x12bc2a='eq'),_0x100c20(0xac)+camelCase(_0x32228e[_0x100c20(0xa4)])+_0x100c20(0xaa)+_0x12bc2a+'\x22}');});}[a0_0x39f5aa(0xdc)](_0x243e9d){const _0x5a9e59=a0_0x39f5aa;return _0x243e9d['filter'](_0x24a36e=>_0x24a36e['sortRank']>0x0)[_0x5a9e59(0x9b)](function(_0x9588de,_0xd72677){const _0x428e30=_0x5a9e59;return _0x9588de[_0x428e30(0xa5)]-_0xd72677[_0x428e30(0xa5)];})['map'](_0x58efd3=>_0x5a9e59(0xb9)+camelCase(_0x58efd3[_0x5a9e59(0xa4)])+'\x22,\x22desc\x22:'+_0x58efd3[_0x5a9e59(0xb5)]+'}');}async[a0_0x39f5aa(0xc6)](_0x47a03d,_0x10c1d4,_0x5dfdeb,_0xa1da0c,_0xea5e96,_0x157c39){const _0xb75d58=a0_0x39f5aa;let _0xe51d28=await _0x47a03d['getRepository'](menu_base_1[_0xb75d58(0xd2)])['findOne']({'where':{'domain':{'id':_0x10c1d4['id']},'id':_0xa1da0c}}),_0x4f2d88=(await _0x47a03d[_0xb75d58(0x7a)](menu_base_1[_0xb75d58(0xd2)])[_0xb75d58(0xb3)](_0xb75d58(0x9d)+_0xa1da0c+_0xb75d58(0xec)+_0xa1da0c+'\x27'))[0x0]['rank']+0xa,_0x354087=new menu_base_1[(_0xb75d58(0xd2))]();_0x354087[_0xb75d58(0xa4)]=_0xea5e96,_0x354087[_0xb75d58(0xe0)]='SCREEN',_0x354087[_0xb75d58(0x8c)]=_0xb75d58(0x77),_0x354087[_0xb75d58(0xd7)]=_0x4f2d88,_0x354087['hiddenFlag']=!0x1,_0x354087[_0xb75d58(0xbf)]=_0xea5e96,_0x354087[_0xb75d58(0x97)]=_0x157c39,_0x354087[_0xb75d58(0x88)]='@things-factory/meta-ui/client/pages/meta-grist-page',_0x354087[_0xb75d58(0xde)]=_0xe51d28,await _0x47a03d[_0xb75d58(0x7a)](menu_base_1[_0xb75d58(0xd2)])[_0xb75d58(0x7c)](Object['assign'](Object[_0xb75d58(0xdd)]({},_0x354087),{'domain':_0x10c1d4,'creator':_0x5dfdeb,'updater':_0x5dfdeb}));}[a0_0x39f5aa(0x89)](_0x2f0cdb){const _0x5a4350=a0_0x39f5aa;let _0x13e483=JSON['stringify'](_0x2f0cdb)[_0x5a4350(0xc0)](/(.{100})/)['filter'](_0x88086a=>_0x88086a),_0x14f83d=[_0x5a4350(0x95),'aes-256-cbc',_0x5a4350(0xc4),_0x5a4350(0x7b),_0x5a4350(0x79),_0x5a4350(0xd3),_0x5a4350(0x96),_0x5a4350(0xa8)],_0x4d1044=crypto_1['default'][_0x5a4350(0x7d)](0x20)[_0x5a4350(0xed)](_0x5a4350(0xb2)),_0x8f96bb=Buffer[_0x5a4350(0x8e)](_0x4d1044,_0x5a4350(0xb2)),_0xad30e1=_0x4d1044[_0x5a4350(0x94)](0x0,0x10),_0x3b73eb=['',_0xad30e1,_0xad30e1,_0xad30e1,_0xad30e1,_0xad30e1,_0xad30e1,_0xad30e1],_0x31c9ac=0x0,_0x1a88ac=[];_0x1a88ac[_0x5a4350(0x99)](_0x4d1044);for(var _0x1d0000=0x0;_0x1d0000<_0x13e483[_0x5a4350(0x9f)];_0x1d0000++,_0x31c9ac++){_0x31c9ac==_0x14f83d[_0x5a4350(0x9f)]&&(_0x31c9ac=0x0);let _0xd6ff2a=crypto_1[_0x5a4350(0xa6)][_0x5a4350(0xb1)](_0x14f83d[_0x31c9ac],_0x8f96bb,_0x3b73eb[_0x31c9ac]),_0x55c097=_0xd6ff2a[_0x5a4350(0xcf)](_0x13e483[_0x1d0000],_0x5a4350(0x7e),'hex');_0x55c097+=_0xd6ff2a[_0x5a4350(0x8b)](_0x5a4350(0xb2)),_0x1a88ac['push'](_0x55c097);}return _0x1a88ac['join']('h1z0q9i9x7q6');}};tslib_1[a0_0x39f5aa(0xaf)]([(0x0,type_graphql_1[a0_0x39f5aa(0xdb)])(a0_0x39f5aa(0xda)),(0x0,type_graphql_1['Mutation'])(_0x55354c=>Boolean,{'description':a0_0x39f5aa(0xa1)}),tslib_1[a0_0x39f5aa(0x9c)](0x0,(0x0,type_graphql_1[a0_0x39f5aa(0xc9)])('id')),tslib_1[a0_0x39f5aa(0x9c)](0x1,(0x0,type_graphql_1[a0_0x39f5aa(0xc9)])(a0_0x39f5aa(0xcb))),tslib_1[a0_0x39f5aa(0x9c)](0x2,(0x0,type_graphql_1[a0_0x39f5aa(0xd5)])()),tslib_1[a0_0x39f5aa(0xb0)]('design:type',Function),tslib_1[a0_0x39f5aa(0xb0)](a0_0x39f5aa(0x98),[String,String,Object]),tslib_1[a0_0x39f5aa(0xb0)](a0_0x39f5aa(0xcc),Promise)],OperatoToolCreateMenu[a0_0x39f5aa(0xd4)],a0_0x39f5aa(0x90),null),OperatoToolCreateMenu=tslib_1[a0_0x39f5aa(0xaf)]([(0x0,type_graphql_1[a0_0x39f5aa(0xe8)])()],OperatoToolCreateMenu),exports[a0_0x39f5aa(0xa7)]=OperatoToolCreateMenu;const modelTemplate=a0_0x39f5aa(0x87);function a0_0x4381(){const _0x560d5f=['find','246256qvBpDU','\x20,\x22editable\x22:\x20','557757KoqCpp',',\x22select_opt\x22:{\x22type\x22:\x22code\x22,\x22name\x22:\x22','@things-factory/menu-base','updater','Resolver','\x22,\x22codeField\x22:\x20\x22id\x22,\x22dispField\x22:\x20\x22name\x22}}','gridRank','map','\x27\x20or\x20id\x20=\x20\x27','toString','meta-grist-page','refType','aes-256-cfb1','getRepository','aes-256-cfb8','save','randomBytes','utf8','state','JSON','type-graphql','COPY','filter','entity','creator','\x22,\x22hidden\x22:','\x0a{\x0a\x20\x20\x22menu\x22:\x20{\x0a\x20\x20\x20\x20\x20\x20\x22title\x22:\x20\x22{{name}}\x22,\x0a\x20\x20\x20\x20\x20\x20\x22name\x22:\x20\x22\x22,\x0a\x20\x20\x20\x20\x20\x20\x22desc\x22:\x20\x22\x22\x0a\x20\x20},\x0a\x20\x20\x22gql\x22:\x20{\x0a\x20\x20\x20\x20\x20\x20\x22query\x22:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22list_func\x22:\x20\x22{{pluralCamelCase\x20name}}\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22find_one_func\x22:\x22{{camelCase\x20name}}\x22\x0a\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x22mutation\x22:{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22multiple\x22:{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22func\x22:\x22updateMultiple{{pascalCase\x20name}}\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22{{pascalCase\x20name}}Patch\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22delete\x22:{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22func\x22:\x22delete{{pluralPascalCase\x20name}}\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20},\x0a\x20\x20\x22button\x22:\x20[\x0a\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22name\x22:\x22export\x22\x0a\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22name\x22:\x22add\x22\x0a\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22name\x22:\x22delete\x22\x0a\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22name\x22:\x22save\x22\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20],\x0a\x20\x20\x22grid_column\x22:\x20[\x0a\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22string\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22name\x22:\x20\x22id\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22header\x22:\x20\x22id\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22hidden\x22:\x20true,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22editable\x22:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22mandatory\x22:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22sortable\x22:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22align\x22:\x20\x22left\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22width\x22:\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22exportable\x22:\x20false\x0a\x20\x20\x20\x20\x20\x20},\x0a{{GridColumns}}\x0a\x20\x20],\x0a\x20\x20\x22grid\x22:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22button\x22:[\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{HistoryButton}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20],\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22option\x22:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22mobile_mode\x22:\x20\x22LIST\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22desk_mode\x22:\x20\x22GRID\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22use_row_checker\x22:\x20true,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22pages\x22:\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2020,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2050,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20100,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20300\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20],\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22view_mode\x22:\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22GRID\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22LIST\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22CARD\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20],\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22sorters\x22:\x20[\x0a{{SortColumns}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20]\x0a\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x22row\x22:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22multiple_select\x22:\x20true,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22click\x22:\x20\x22select-row-toggle\x22\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20},\x0a\x20\x20\x22search\x22:\x20[\x0a{{SearchColumns}}\x0a\x20\x20]\x0a}\x0a','resourceUrl','enc','join','final','category','checkStudioTemplateIsOverLimit','from','pluralize','toolCreateMenu','findOne','dataProp','738558cYtTPp','substring','aes-256-ecb','aes-256-ctr','template','design:paramtypes','push','21176XfKuXH','sort','__param','select\x20coalesce(max(rank),0)\x20as\x20rank\x20from\x20menus\x20where\x20parent_id\x20=\x20\x27','crypto','length',',\x22select_opt\x22:{\x22type\x22:\x22scenario\x22,\x22name\x22:\x22','Operato\x20Tool\x20Create\x20Menu','__esModule','updater_id','name','sortRank','default','OperatoToolCreateMenu','aes256','1406290XGjQpU','\x22,\x22operator\x22:\x20\x22','scenario','{\x22name\x22:\x20\x22','5681658qbPIWv','left','__decorate','__metadata','createCipheriv','hex','query','\x22,\x22width\x22:\x20160,\x22editable\x22:false,\x20\x22align\x22:\x20\x22center\x22}','reverseSort','updated_at','@things-factory/resource-base','createGridColumns','{\x22name\x22:\x22','searchRank','497HScByc','createSearchCols',',\x22select_opt\x22:{\x22type\x22:\x20\x22entity\x22,\x22args\x22:\x20{\x22queryName\x22:\x20\x22','{\x22type\x22:\x20\x22datetime\x22,\x22name\x22:\x20\x22','routing','split','string','updatedAt','{\x22type\x22:\x20\x22','aes-256-cfb','refName','createMenuData','145285kpyKcF','creator_id','Arg','code','parent_menu_id','design:returntype','{\x22type\x22:\x20\x22object\x22,\x22name\x22:\x20\x22','replace','update','EntityColumn',',\x22sortable\x22:true\x20,\x22align\x22:\x20\x22','Menu','aes-256-ofb','prototype','Ctx','39wrvUDc','rank','__importDefault','40hZDmHT','@transaction','Directive','createSortCols','assign','parent','\x22,\x22header\x22:\x20\x22','menuType'];a0_0x4381=function(){return _0x560d5f;};return a0_0x4381();}
|
|
1
|
+
'use strict';function a0_0x2fcd(){const _0x4f15a6=['split','Entity','readonly','gridRank','join','1308YXNbhR','refName','code','defineProperty','\x27\x20or\x20id\x20=\x20\x27','refType','\x22,\x22width\x22:\x20100,\x22editable\x22:false,\x20\x22align\x22:\x20\x22center\x22,\x22object_opt\x22:{\x22queryName\x22:\x22users\x22}}','aes-256-cfb1','1573160ytcQyR','replace','\x20,\x22exportable\x22:\x20true','searchOper','sortRank',',\x22select_opt\x22:{\x22type\x22:\x22code\x22,\x22name\x22:\x22','creator','__decorate','updater_id','aes-256-cfb','dataProp','tslib','Menu','aes-256-cbc','substring','2603ddqprR','aes-256-ctr','\x22,\x22width\x22:','scenario','stringify','__param','aes-256-ecb','COPY','template','assign',',\x22select_opt\x22:{\x22type\x22:\x22scenario\x22,\x22name\x22:\x22','menuType',',\x22sortable\x22:true\x20,\x22align\x22:\x20\x22','enc','left','string','filter','{\x22type\x22:\x20\x22datetime\x22,\x22name\x22:\x20\x22','resourceUrl','map','createSearchCols','\x22,\x22name\x22:\x20\x22','aes-256-cfb8','75204fSZxaj','toolCreateMenu','find','592990RvnUCW','@things-factory/meta-ui/client/pages/meta-grist-page','parent_menu_id','\x22,\x22width\x22:\x20160,\x22editable\x22:false,\x20\x22align\x22:\x20\x22center\x22}','utf8','push','OperatoToolCreateMenu','274kwtsZH','updater','name','sort','select\x20coalesce(max(rank),0)\x20as\x20rank\x20from\x20menus\x20where\x20parent_id\x20=\x20\x27','\x0a\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22name\x22:\x20\x22history\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22basic\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22label\x22:\x20\x22data_history\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22icon\x22:\x20\x22history\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22logic\x22:\x20\x22history_copy\x22\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20',',\x22select_opt\x22:{\x22type\x22:\x20\x22entity\x22,\x22args\x22:\x20{\x22queryName\x22:\x20\x22','Resolver','category','SCREEN','searchRank','\x20,\x22editable\x22:\x20','entity','design:type','\x22,\x22header\x22:\x20\x22','@transaction','__metadata','Mutation','update','getRepository','prototype','48MRIUAk','createGridColumns','length','6mwKskb','aes256','JSON','creator_id','lodash','createCipheriv','checkStudioTemplateIsOverLimit','createMenuData','type-graphql','\x22,\x22hidden\x22:','704FokYQo','design:returntype','default','meta-grist-page','./../tool-secret/tool-permission','{\x22name\x22:\x22','h1z0q9i9x7q6','updatedAt','aes-256-ofb','final','2448754ACTnKP','__importDefault','\x0a\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22name\x22:\x20\x22history\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22basic\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22label\x22:\x20\x22data_history\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22icon\x22:\x20\x22history\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x22logic\x22:\x20\x22history_json\x22\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20','parent','EntityColumn','hidden','\x22,\x22codeField\x22:\x20\x22id\x22,\x22dispField\x22:\x20\x22name\x22}}','69aJSDBG','Directive','from','Operato\x20Tool\x20Create\x20Menu','222741hVlANp','findOne','routing','Arg','hex','createSortCols','created_at','randomBytes','updated_at'];a0_0x2fcd=function(){return _0x4f15a6;};return a0_0x2fcd();}const a0_0x4da135=a0_0x2642;(function(_0x497764,_0x110428){const _0x56d28a=a0_0x2642,_0xfb20fc=_0x497764();while(!![]){try{const _0x4ad182=-parseInt(_0x56d28a(0xa5))/0x1*(parseInt(_0x56d28a(0xc6))/0x2)+parseInt(_0x56d28a(0x7c))/0x3*(-parseInt(_0x56d28a(0x8e))/0x4)+parseInt(_0x56d28a(0xbf))/0x5+parseInt(_0x56d28a(0xde))/0x6*(parseInt(_0x56d28a(0xf2))/0x7)+-parseInt(_0x56d28a(0xdb))/0x8*(parseInt(_0x56d28a(0x80))/0x9)+-parseInt(_0x56d28a(0x96))/0xa+-parseInt(_0x56d28a(0xe8))/0xb*(-parseInt(_0x56d28a(0xbc))/0xc);if(_0x4ad182===_0x110428)break;else _0xfb20fc['push'](_0xfb20fc['shift']());}catch(_0x240ba9){_0xfb20fc['push'](_0xfb20fc['shift']());}}}(a0_0x2fcd,0x30b8e));Object[a0_0x4da135(0x91)](exports,'__esModule',{'value':!0x0}),exports[a0_0x4da135(0xc5)]=void 0x0;function a0_0x2642(_0x117baf,_0x478329){const _0x2fcd2d=a0_0x2fcd();return a0_0x2642=function(_0x264233,_0x363f26){_0x264233=_0x264233-0x78;let _0x276190=_0x2fcd2d[_0x264233];return _0x276190;},a0_0x2642(_0x117baf,_0x478329);}const tslib_1=require(a0_0x4da135(0xa1)),type_graphql_1=require(a0_0x4da135(0xe6)),resource_base_1=require('@things-factory/resource-base'),menu_base_1=require('@things-factory/menu-base'),tool_permission_1=require(a0_0x4da135(0xec)),{camelCase:camelCase,startCase:startCase,snakeCase:snakeCase,kebabCase:kebabCase}=require(a0_0x4da135(0xe2)),{plural:plural}=require('pluralize'),crypto_1=tslib_1[a0_0x4da135(0xf3)](require('crypto'));let OperatoToolCreateMenu=class{async[a0_0x4da135(0xbd)](_0x5505d7,_0x319a3c,_0x1c99cf){const _0x28eeac=a0_0x4da135,{domain:_0x2ccd29,user:_0x59b41d,tx:_0x276144}=_0x1c99cf['state'];await(0x0,tool_permission_1[_0x28eeac(0xe4)])('',_0x1c99cf);const _0x45cccb=await _0x276144[_0x28eeac(0xd9)](resource_base_1[_0x28eeac(0x8a)])[_0x28eeac(0x81)]({'where':{'domain':{'id':_0x2ccd29['id']},'id':_0x5505d7}}),_0x252306=await _0x276144['getRepository'](resource_base_1[_0x28eeac(0x79)])[_0x28eeac(0xbe)]({'where':{'domain':{'id':_0x2ccd29['id']},'entity':{'id':_0x45cccb['id']}}});let {name:_0x2c8055=''}=_0x45cccb||{},_0x565cdb=kebabCase(_0x2c8055),_0xdd93f=modelTemplate[_0x28eeac(0x97)](/{{pascalCase name}}/g,startCase(camelCase(_0x2c8055))[_0x28eeac(0x97)](/ /g,''))[_0x28eeac(0x97)](/{{camelCase name}}/g,camelCase(_0x2c8055))[_0x28eeac(0x97)](/{{snakeCase name}}/g,snakeCase(_0x2c8055))[_0x28eeac(0x97)](/{{pluralPascalCase name}}/g,startCase(camelCase(plural(_0x2c8055)))[_0x28eeac(0x97)](/ /g,''))['replace'](/{{pluralCamelCase name}}/g,camelCase(plural(_0x2c8055)))[_0x28eeac(0x97)](/{{name}}/g,_0x2c8055),_0x3a0dc2='';_0x28eeac(0xe0)==_0x45cccb[_0x28eeac(0xa0)]?_0x3a0dc2=_0x28eeac(0xf4):_0x28eeac(0xac)==_0x45cccb[_0x28eeac(0xa0)]&&(_0x3a0dc2=_0x28eeac(0xcb)),_0xdd93f=_0xdd93f[_0x28eeac(0x97)](/{{HistoryButton}}/g,_0x3a0dc2);let _0x5f4a54=this[_0x28eeac(0x85)](_0x252306);_0xdd93f=_0xdd93f[_0x28eeac(0x97)](/{{SortColumns}}/g,_0x5f4a54[_0x28eeac(0x8d)](','));let _0x56d188=this[_0x28eeac(0xb9)](_0x252306);_0xdd93f=_0xdd93f[_0x28eeac(0x97)](/{{SearchColumns}}/g,_0x56d188['join'](','));let _0x2dd7ec=this[_0x28eeac(0xdc)](_0x252306);return _0xdd93f=_0xdd93f[_0x28eeac(0x97)](/{{GridColumns}}/g,_0x2dd7ec[_0x28eeac(0x8d)](',')),_0xdd93f=this[_0x28eeac(0xb2)](_0xdd93f),await this[_0x28eeac(0xe5)](_0x276144,_0x2ccd29,_0x59b41d,_0x319a3c,_0x565cdb,_0xdd93f),!0x0;}[a0_0x4da135(0xdc)](_0x5ee0d6){const _0x3f4461=a0_0x4da135;return _0x5ee0d6[_0x3f4461(0xb5)](_0xf1a6f8=>'id'!=_0xf1a6f8[_0x3f4461(0xc8)]&&_0xf1a6f8[_0x3f4461(0x8c)]>0x0)[_0x3f4461(0xc9)](function(_0x4f21ff,_0x5e434f){const _0x508a5b=_0x3f4461;return _0x4f21ff[_0x508a5b(0x8c)]-_0x5e434f[_0x508a5b(0x8c)];})[_0x3f4461(0xb8)](_0x388ac3=>{const _0x50847f=_0x3f4461;let {gridEditor:_0x3bdbee=_0x50847f(0xb4),name:_0x3a1299,term:_0x411c66,gridWidth:_0x13a787=0x0,gridAlign:_0x500bde='left',nullable:_0x51b239=!0x1}=_0x388ac3;if(null==_0x3bdbee&&(_0x3bdbee=_0x50847f(0xb4)),null==_0x500bde&&(_0x500bde=_0x50847f(0xb3)),_0x50847f(0x9e)==_0x3a1299||_0x50847f(0xe1)==_0x3a1299)return _0x3a1299=_0x50847f(0x9e)==_0x3a1299?_0x50847f(0xc7):_0x50847f(0x9c),'{\x22type\x22:\x20\x22object\x22,\x22name\x22:\x20\x22'+_0x3a1299+'\x22,\x22header\x22:\x20\x22'+_0x3a1299+_0x50847f(0x94);if(_0x50847f(0x88)==_0x3a1299||_0x50847f(0x86)==_0x3a1299)return _0x50847f(0xb6)+(_0x50847f(0x88)==_0x3a1299?_0x50847f(0xef):'createdAt')+_0x50847f(0xd4)+_0x3a1299+_0x50847f(0xc2);let _0x40cd13=_0x50847f(0x8b)!=_0x3bdbee&&_0x50847f(0x7a)!=_0x3bdbee,_0x193612=_0x50847f(0x7a)==_0x3bdbee;0x1!=_0x193612&&0x0!=_0x40cd13||(_0x3bdbee=_0x50847f(0xb4));let _0x241d53='{\x22type\x22:\x20\x22'+_0x3bdbee+_0x50847f(0xba)+camelCase(_0x3a1299)+_0x50847f(0xd4)+_0x411c66+_0x50847f(0xe7)+_0x193612+_0x50847f(0xd1)+_0x40cd13+',\x22mandatory\x22:\x20'+!_0x51b239+_0x50847f(0xb1)+_0x500bde+_0x50847f(0xa7)+_0x13a787+_0x50847f(0x98);return _0x50847f(0x90)==_0x388ac3[_0x50847f(0x93)]&&(_0x241d53+=_0x50847f(0x9b)+_0x388ac3[_0x50847f(0x8f)]+'\x22}'),_0x50847f(0xa8)==_0x388ac3[_0x50847f(0x93)]&&(_0x241d53+=_0x50847f(0xaf)+_0x388ac3[_0x50847f(0x8f)]+'\x22}'),_0x50847f(0xd2)==_0x388ac3['refType']&&(_0x241d53+=_0x50847f(0xcc)+camelCase(plural(_0x388ac3[_0x50847f(0x8f)]))+_0x50847f(0x7b)),_0x241d53+='}',_0x241d53;});}[a0_0x4da135(0xb9)](_0x215411){const _0x1e919e=a0_0x4da135;return _0x215411[_0x1e919e(0xb5)](_0x42c5e7=>_0x42c5e7[_0x1e919e(0xd0)]>0x0)[_0x1e919e(0xc9)](function(_0x5081d7,_0x58d454){return _0x5081d7['searchRank']-_0x58d454['searchRank'];})[_0x1e919e(0xb8)](_0x5deed1=>{const _0x3ae54d=_0x1e919e;let _0x5dfe27=_0x5deed1[_0x3ae54d(0x99)];return _0x3ae54d(0xb5)==_0x5dfe27?'\x22'+camelCase(_0x5deed1[_0x3ae54d(0xc8)])+'\x22':(_0x5dfe27||(_0x5dfe27='eq'),'{\x22name\x22:\x20\x22'+camelCase(_0x5deed1['name'])+'\x22,\x22operator\x22:\x20\x22'+_0x5dfe27+'\x22}');});}[a0_0x4da135(0x85)](_0x41b92c){const _0x59c8ac=a0_0x4da135;return _0x41b92c['filter'](_0x4a2cd6=>_0x4a2cd6['sortRank']>0x0)[_0x59c8ac(0xc9)](function(_0x522144,_0x734fa4){const _0x4e2059=_0x59c8ac;return _0x522144[_0x4e2059(0x9a)]-_0x734fa4[_0x4e2059(0x9a)];})[_0x59c8ac(0xb8)](_0x1cb671=>_0x59c8ac(0xed)+camelCase(_0x1cb671[_0x59c8ac(0xc8)])+'\x22,\x22desc\x22:'+_0x1cb671['reverseSort']+'}');}async[a0_0x4da135(0xe5)](_0x2f706e,_0x22983c,_0x181fcd,_0x273f3c,_0x59031a,_0x5ae49e){const _0x469a11=a0_0x4da135;let _0x50c349=await _0x2f706e[_0x469a11(0xd9)](menu_base_1[_0x469a11(0xa2)])['findOne']({'where':{'domain':{'id':_0x22983c['id']},'id':_0x273f3c}}),_0x2654dd=(await _0x2f706e[_0x469a11(0xd9)](menu_base_1[_0x469a11(0xa2)])['query'](_0x469a11(0xca)+_0x273f3c+_0x469a11(0x92)+_0x273f3c+'\x27'))[0x0]['rank']+0xa,_0x2adc64=new menu_base_1[(_0x469a11(0xa2))]();_0x2adc64[_0x469a11(0xc8)]=_0x59031a,_0x2adc64[_0x469a11(0xb0)]=_0x469a11(0xcf),_0x2adc64[_0x469a11(0xce)]=_0x469a11(0xeb),_0x2adc64['rank']=_0x2654dd,_0x2adc64['hiddenFlag']=!0x1,_0x2adc64[_0x469a11(0x82)]=_0x59031a,_0x2adc64[_0x469a11(0xad)]=_0x5ae49e,_0x2adc64[_0x469a11(0xb7)]=_0x469a11(0xc0),_0x2adc64[_0x469a11(0x78)]=_0x50c349,await _0x2f706e[_0x469a11(0xd9)](menu_base_1['Menu'])['save'](Object['assign'](Object[_0x469a11(0xae)]({},_0x2adc64),{'domain':_0x22983c,'creator':_0x181fcd,'updater':_0x181fcd}));}[a0_0x4da135(0xb2)](_0x42f3c8){const _0xa690ab=a0_0x4da135;let _0x4b05bc=JSON[_0xa690ab(0xa9)](_0x42f3c8)[_0xa690ab(0x89)](/(.{100})/)[_0xa690ab(0xb5)](_0x3d46a7=>_0x3d46a7),_0x165b30=[_0xa690ab(0xab),_0xa690ab(0xa3),_0xa690ab(0x9f),_0xa690ab(0xbb),_0xa690ab(0x95),_0xa690ab(0xf0),_0xa690ab(0xa6),_0xa690ab(0xdf)],_0x2b3f60=crypto_1[_0xa690ab(0xea)][_0xa690ab(0x87)](0x20)['toString']('hex'),_0x3b4096=Buffer[_0xa690ab(0x7e)](_0x2b3f60,_0xa690ab(0x84)),_0xe142ee=_0x2b3f60[_0xa690ab(0xa4)](0x0,0x10),_0x3e3fbe=['',_0xe142ee,_0xe142ee,_0xe142ee,_0xe142ee,_0xe142ee,_0xe142ee,_0xe142ee],_0x2e65db=0x0,_0x1c1f94=[];_0x1c1f94[_0xa690ab(0xc4)](_0x2b3f60);for(var _0x588e91=0x0;_0x588e91<_0x4b05bc['length'];_0x588e91++,_0x2e65db++){_0x2e65db==_0x165b30[_0xa690ab(0xdd)]&&(_0x2e65db=0x0);let _0x28e704=crypto_1['default'][_0xa690ab(0xe3)](_0x165b30[_0x2e65db],_0x3b4096,_0x3e3fbe[_0x2e65db]),_0x5593f3=_0x28e704[_0xa690ab(0xd8)](_0x4b05bc[_0x588e91],_0xa690ab(0xc3),_0xa690ab(0x84));_0x5593f3+=_0x28e704[_0xa690ab(0xf1)](_0xa690ab(0x84)),_0x1c1f94['push'](_0x5593f3);}return _0x1c1f94['join'](_0xa690ab(0xee));}};tslib_1[a0_0x4da135(0x9d)]([(0x0,type_graphql_1[a0_0x4da135(0x7d)])(a0_0x4da135(0xd5)),(0x0,type_graphql_1[a0_0x4da135(0xd7)])(_0x3db1a5=>Boolean,{'description':a0_0x4da135(0x7f)}),tslib_1[a0_0x4da135(0xaa)](0x0,(0x0,type_graphql_1[a0_0x4da135(0x83)])('id')),tslib_1['__param'](0x1,(0x0,type_graphql_1['Arg'])(a0_0x4da135(0xc1))),tslib_1[a0_0x4da135(0xaa)](0x2,(0x0,type_graphql_1['Ctx'])()),tslib_1[a0_0x4da135(0xd6)](a0_0x4da135(0xd3),Function),tslib_1[a0_0x4da135(0xd6)]('design:paramtypes',[String,String,Object]),tslib_1['__metadata'](a0_0x4da135(0xe9),Promise)],OperatoToolCreateMenu[a0_0x4da135(0xda)],a0_0x4da135(0xbd),null),OperatoToolCreateMenu=tslib_1['__decorate']([(0x0,type_graphql_1[a0_0x4da135(0xcd)])()],OperatoToolCreateMenu),exports['OperatoToolCreateMenu']=OperatoToolCreateMenu;const modelTemplate='\x0a{\x0a\x20\x20\x22menu\x22:\x20{\x0a\x20\x20\x20\x20\x20\x20\x22title\x22:\x20\x22{{name}}\x22,\x0a\x20\x20\x20\x20\x20\x20\x22name\x22:\x20\x22\x22,\x0a\x20\x20\x20\x20\x20\x20\x22desc\x22:\x20\x22\x22\x0a\x20\x20},\x0a\x20\x20\x22gql\x22:\x20{\x0a\x20\x20\x20\x20\x20\x20\x22query\x22:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22list_func\x22:\x20\x22{{pluralCamelCase\x20name}}\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22find_one_func\x22:\x22{{camelCase\x20name}}\x22\x0a\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x22mutation\x22:{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22multiple\x22:{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22func\x22:\x22updateMultiple{{pascalCase\x20name}}\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22{{pascalCase\x20name}}Patch\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22delete\x22:{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22func\x22:\x22delete{{pluralPascalCase\x20name}}\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20},\x0a\x20\x20\x22button\x22:\x20[\x0a\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22name\x22:\x22export\x22\x0a\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22name\x22:\x22add\x22\x0a\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22name\x22:\x22delete\x22\x0a\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22name\x22:\x22save\x22\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20],\x0a\x20\x20\x22grid_column\x22:\x20[\x0a\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22type\x22:\x20\x22string\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22name\x22:\x20\x22id\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22header\x22:\x20\x22id\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22hidden\x22:\x20true,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22editable\x22:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22mandatory\x22:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22sortable\x22:\x20false,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22align\x22:\x20\x22left\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22width\x22:\x200,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22exportable\x22:\x20false\x0a\x20\x20\x20\x20\x20\x20},\x0a{{GridColumns}}\x0a\x20\x20],\x0a\x20\x20\x22grid\x22:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22button\x22:[\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20{{HistoryButton}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20],\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22option\x22:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22mobile_mode\x22:\x20\x22LIST\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22desk_mode\x22:\x20\x22GRID\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22use_row_checker\x22:\x20true,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22pages\x22:\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2020,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x2050,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20100,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20300\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20],\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22view_mode\x22:\x20[\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22GRID\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22LIST\x22,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22CARD\x22\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20],\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22sorters\x22:\x20[\x0a{{SortColumns}}\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20]\x0a\x20\x20\x20\x20\x20\x20},\x0a\x20\x20\x20\x20\x20\x20\x22row\x22:\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22multiple_select\x22:\x20true,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x22click\x22:\x20\x22select-row-toggle\x22\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20},\x0a\x20\x20\x22search\x22:\x20[\x0a{{SearchColumns}}\x0a\x20\x20]\x0a}\x0a';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const a0_0x56e3fe=a0_0x3be6;(function(_0xf9c652,_0x3e46e1){const _0x333d89=a0_0x3be6,_0x1c97bb=_0xf9c652();while(!![]){try{const _0x11e65b=-parseInt(_0x333d89(0x12a))/0x1+-parseInt(_0x333d89(0x108))/0x2*(parseInt(_0x333d89(0x111))/0x3)+parseInt(_0x333d89(0x164))/0x4*(parseInt(_0x333d89(0x152))/0x5)+-parseInt(_0x333d89(0x182))/0x6+-parseInt(_0x333d89(0x180))/0x7*(parseInt(_0x333d89(0x148))/0x8)+-parseInt(_0x333d89(0x10a))/0x9+parseInt(_0x333d89(0x17c))/0xa;if(_0x11e65b===_0x3e46e1)break;else _0x1c97bb['push'](_0x1c97bb['shift']());}catch(_0x3d3056){_0x1c97bb['push'](_0x1c97bb['shift']());}}}(a0_0x2920,0xcc677));function a0_0x3be6(_0x4b2ca8,_0x207931){const _0x2920c1=a0_0x2920();return a0_0x3be6=function(_0x3be617,_0xee868f){_0x3be617=_0x3be617-0xf8;let _0x3975fc=_0x2920c1[_0x3be617];return _0x3975fc;},a0_0x3be6(_0x4b2ca8,_0x207931);}function a0_0x2920(){const _0x151e32=['domain','Entity',',length:','111261ljHXlJ','\x0aimport\x20{\x20ObjectType,\x20Field,\x20InputType,\x20Int,\x20ID,\x20Float,\x20registerEnumType\x20}\x20from\x20\x27type-graphql\x27\x0a\x0aimport\x20{\x20{{pascalCase\x20name}}History\x20}\x20from\x20\x27./{{name}}-history\x27\x0a\x0a@ObjectType()\x0aexport\x20class\x20{{pascalCase\x20name}}HistoryList\x20{\x0a\x20\x20@Field(type\x20=>\x20[{{pascalCase\x20name}}History])\x0a\x20\x20items:\x20{{pascalCase\x20name}}History[]\x0a\x0a\x20\x20@Field(type\x20=>\x20Int)\x0a\x20\x20total:\x20number\x0a}\x0a','Arg','/packages','\x27,\x20nullable:\x20','timestamp\x20without\x20time\x20zone','push','long','text','columnToEntityColumn','Resolvers\x20}\x20from\x20\x27./','camelCaseName','datetime','indexOf','\x20})','index.ts','type-graphql','date','updater','\x0a\x20\x20','__metadata','@Index(\x27ix_{{snakeCase\x20name}}_0\x27,\x20({{camelCase\x20name}}:\x20{{pascalCase\x20name}})\x20=>\x20[{{indexColumns}}],\x20{\x20unique:\x20true\x20})','.ts','/*\x20EXPORT\x20ENTITY\x20TYPES\x20*/\x0aexport\x20*\x20from\x20\x27./','double\x20precision','1538162NnzfSZ','rank','defineProperty','pascalCaseName','creator_id','createNoHistoryServiceFiels','prototype','\x0aimport\x20{\x20ObjectType,\x20Field,\x20InputType,\x20Int,\x20ID,\x20Float,\x20registerEnumType\x20}\x20from\x20\x27type-graphql\x27\x0a\x0aimport\x20{\x20{{pascalCase\x20name}}\x20}\x20from\x20\x27./{{name}}\x27\x0a\x0a@InputType()\x0aexport\x20class\x20New{{pascalCase\x20name}}\x20{\x0a{{newTypeColumns}}\x0a}\x0a\x0a@InputType()\x0aexport\x20class\x20{{pascalCase\x20name}}Patch\x20{\x0a\x20\x20@Field(type\x20=>\x20ID,\x20{\x20nullable:\x20true\x20})\x0a\x20\x20id?:\x20string\x0a\x0a{{patchTypeColumns}}\x0a\x0a\x20\x20@Field()\x0a\x20\x20cuFlag:\x20string\x0a}\x0a\x0a@ObjectType()\x0aexport\x20class\x20{{pascalCase\x20name}}List\x20{\x0a\x20\x20@Field(type\x20=>\x20[{{pascalCase\x20name}}])\x0a\x20\x20items:\x20{{pascalCase\x20name}}[]\x0a\x0a\x20\x20@Field(type\x20=>\x20Int)\x0a\x20\x20total:\x20number\x0a}\x0a','createEntityText','find','getRepository','EntitySubscribers,','-history-type.ts','updater_id','creator','EntityColumn','domain_id','tableName','tslib','/*\x20SUBSCRIBERS\x20*/\x0a\x09\x09...','dataProp','/packages/','split','\x27,\x20type:\x20\x27','Entities,\x20resolvers\x20as\x20','replaceNamesMap','createServiceFiles','character\x20varying','existsPath','/*\x20IMPORT\x20ENTITIES\x20AND\x20RESOLVERS\x20*/\x0aimport\x20{\x20entities\x20as\x20','16YdSFCv','colType','Int','-history.ts','design:type','Date','utf8','-history\x27','number','replace','6470zFoUhS','Float','\x0aimport\x20{\x0a\x20\x20CreateDateColumn,\x0a\x20\x20UpdateDateColumn,\x0a\x20\x20Entity,\x0a\x20\x20Index,\x0a\x20\x20Column,\x0a\x20\x20RelationId,\x0a\x20\x20ManyToOne,\x0a\x20\x20PrimaryGeneratedColumn,\x0a\x20\x20VersionColumn\x0a}\x20from\x20\x27typeorm\x27\x0aimport\x20{\x20ObjectType,\x20Field,\x20Int,\x20ID,\x20Float,\x20registerEnumType\x20}\x20from\x20\x27type-graphql\x27\x0a\x0aimport\x20{\x20Domain\x20}\x20from\x20\x27@things-factory/shell\x27\x0aimport\x20{\x20User\x20}\x20from\x20\x27@things-factory/auth-base\x27\x0a\x0a@Entity(\x27{{tableName}}\x27)\x0a{{indexAnn}}\x0a@ObjectType({\x20description:\x20\x27Entity\x20for\x20{{pascalCase\x20name}}\x27\x20})\x0aexport\x20class\x20{{pascalCase\x20name}}\x20{\x0a\x20\x20@PrimaryGeneratedColumn(\x27uuid\x27)\x0a\x20\x20@Field(type\x20=>\x20ID)\x0a\x20\x20readonly\x20id:\x20string\x0a\x0a\x20\x20@ManyToOne(type\x20=>\x20Domain,\x20{\x0a\x20\x20\x20\x20createForeignKeyConstraints:\x20false\x0a\x20\x20})\x0a\x20\x20@Field({\x20nullable:\x20false\x20})\x0a\x20\x20domain:\x20Domain\x0a\x0a\x20\x20@RelationId(({{camelCase\x20name}}:\x20{{pascalCase\x20name}})\x20=>\x20{{camelCase\x20name}}.domain)\x0a\x20\x20domainId:\x20string\x0a\x0a{{entityColumns}}\x0a\x0a\x20\x20@CreateDateColumn()\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20createdAt?:\x20Date\x0a\x0a\x20\x20@UpdateDateColumn()\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20updatedAt?:\x20Date\x0a\x0a\x20\x20@ManyToOne(type\x20=>\x20User,\x20{\x0a\x20\x20\x20\x20createForeignKeyConstraints:\x20false,\x0a\x20\x20\x20\x20nullable:\x20true\x0a\x20\x20})\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20creator?:\x20User\x0a\x0a\x20\x20@RelationId(({{camelCase\x20name}}:\x20{{pascalCase\x20name}})\x20=>\x20{{camelCase\x20name}}.creator)\x0a\x20\x20creatorId?:\x20string\x0a\x0a\x20\x20@ManyToOne(type\x20=>\x20User,\x20{\x0a\x20\x20\x20\x20createForeignKeyConstraints:\x20false,\x0a\x20\x20\x20\x20nullable:\x20true\x0a\x20\x20})\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20updater?:\x20User\x0a\x0a\x20\x20@RelationId(({{camelCase\x20name}}:\x20{{pascalCase\x20name}})\x20=>\x20{{camelCase\x20name}}.updater)\x0a\x20\x20updaterId?:\x20string\x0a}\x0a','toolCreateService','...','/index.ts','createDir','COPY','JSON','__decorate','double','PWD','/*\x20ENTITIES\x20*/\x0a\x09...','@things-factory/resource-base','-query.ts','export\x20*\x20from\x20\x27./','Operato\x20Tool\x20Create\x20Service','EntitySubscribers\x20}\x20from\x20\x27./','2180SfaKeh','state','\x20{\x20nullable:\x20','created_at','Entities,','createServicePath','bigint','type\x20=>','@Field(','env','pluralPascalCaseName','design:paramtypes','writeFile','getColTxtType','length','createTypeText','readFileSync','-history-query.ts','integer','-mutation.ts','@things-factory/shell','{{camelCase\x20name}}.','__esModule','Resolvers,','46213820gaqYVo','map','getProjectRootPath','string','3225901vWjDMr','findOne','2522742NBjYqk','design:returntype','/*\x20RESOLVER\x20CLASSES\x20*/\x0a\x09\x09...','name','updated_at','createHistoryServiceFiles','__param','import\x20{\x20entities\x20as\x20','join','Resolvers,\x20subscribers\x20as\x20','colSize','\x0aimport\x20{\x20Resolver,\x20Query,\x20FieldResolver,\x20Root,\x20Args,\x20Arg,\x20Ctx,\x20Directive\x20}\x20from\x20\x27type-graphql\x27\x0aimport\x20{\x20Domain,\x20ListParam,\x20convertListParams,\x20getRepository,\x20getQueryBuilderFromListParams\x20}\x20from\x20\x27@things-factory/shell\x27\x0aimport\x20{\x20User\x20}\x20from\x20\x27@things-factory/auth-base\x27\x0aimport\x20{\x20{{pascalCase\x20name}}\x20}\x20from\x20\x27./{{name}}\x27\x0aimport\x20{\x20{{pascalCase\x20name}}List\x20}\x20from\x20\x27./{{name}}-type\x27\x0a\x0a@Resolver({{pascalCase\x20name}})\x0aexport\x20class\x20{{pascalCase\x20name}}Query\x20{\x0a\x20\x20@Query(returns\x20=>\x20{{pascalCase\x20name}},\x20{\x20description:\x20\x27To\x20fetch\x20a\x20{{pascalCase\x20name}}\x27\x20})\x0a\x20\x20async\x20{{camelCase\x20name}}(@Arg(\x27id\x27)\x20id:\x20string,\x20@Ctx()\x20context:\x20any):\x20Promise<{{pascalCase\x20name}}>\x20{\x0a\x20\x20\x20\x20const\x20{\x20domain\x20}\x20=\x20context.state\x0a\x20\x20\x20\x20return\x20await\x20getRepository({{pascalCase\x20name}}).findOne({\x0a\x20\x20\x20\x20\x20\x20where:\x20{\x20domain:\x20{\x20id:\x20domain.id\x20},\x20id\x20}\x0a\x20\x20\x20\x20})\x0a\x20\x20}\x0a\x0a\x20\x20@Query(returns\x20=>\x20{{pascalCase\x20name}}List,\x20{\x20description:\x20\x27To\x20fetch\x20multiple\x20{{pluralPascalCase\x20name}}\x27\x20})\x0a\x20\x20async\x20{{pluralCamelCase\x20name}}(@Args()\x20params:\x20ListParam,\x20@Ctx()\x20context:\x20any):\x20Promise<{{pascalCase\x20name}}List>\x20{\x0a\x20\x20\x20\x20const\x20{\x20domain\x20}\x20=\x20context.state\x0a\x0a\x20\x20\x20\x20const\x20queryBuilder\x20=\x20getQueryBuilderFromListParams({\x0a\x20\x20\x20\x20\x20\x20domain,\x0a\x20\x20\x20\x20\x20\x20params,\x0a\x20\x20\x20\x20\x20\x20repository:\x20await\x20getRepository({{pascalCase\x20name}})\x0a\x20\x20\x20\x20})\x0a\x0a\x20\x20\x20\x20const\x20convertedParams\x20=\x20convertListParams(params,\x20domain.id)\x0a\x20\x20\x20\x20const\x20[items,\x20total]\x20=\x20await\x20queryBuilder.getManyAndCount()\x0a\x0a\x20\x20\x20\x20return\x20{\x20items,\x20total\x20}\x0a\x20\x20}\x0a\x0a\x20\x20@FieldResolver(type\x20=>\x20Domain)\x0a\x20\x20async\x20domain(@Root()\x20{{camelCase\x20name}}:\x20{{pascalCase\x20name}}):\x20Promise<Domain>\x20{\x0a\x20\x20\x20\x20return\x20await\x20getRepository(Domain).findOneBy({id:{{camelCase\x20name}}.domainId})\x0a\x20\x20}\x0a\x0a\x20\x20@FieldResolver(type\x20=>\x20User)\x0a\x20\x20async\x20updater(@Root()\x20{{camelCase\x20name}}:\x20{{pascalCase\x20name}}):\x20Promise<User>\x20{\x0a\x20\x20\x20\x20return\x20await\x20getRepository(User).findOneBy({id:{{camelCase\x20name}}.updaterId})\x0a\x20\x20}\x0a\x0a\x20\x20@FieldResolver(type\x20=>\x20User)\x0a\x20\x20async\x20creator(@Root()\x20{{camelCase\x20name}}:\x20{{pascalCase\x20name}}):\x20Promise<User>\x20{\x0a\x20\x20\x20\x20return\x20await\x20getRepository(User).findOneBy({id:{{camelCase\x20name}}.creatorId})\x0a\x20\x20}\x0a}\x0a','\x0aimport\x20{\x20Resolver,\x20Mutation,\x20Arg,\x20Ctx,\x20Directive\x20}\x20from\x20\x27type-graphql\x27\x0aimport\x20{\x20In\x20}\x20from\x20\x27typeorm\x27\x0aimport\x20{\x20{{pascalCase\x20name}}\x20}\x20from\x20\x27./{{name}}\x27\x0aimport\x20{\x20New{{pascalCase\x20name}},\x20{{pascalCase\x20name}}Patch\x20}\x20from\x20\x27./{{name}}-type\x27\x0aimport\x20{\x20getRepository\x20}\x20from\x20\x27@things-factory/shell\x27\x0a\x0a@Resolver({{pascalCase\x20name}})\x0aexport\x20class\x20{{pascalCase\x20name}}Mutation\x20{\x0a\x20\x20@Directive(\x27@transaction\x27)\x0a\x20\x20@Mutation(returns\x20=>\x20{{pascalCase\x20name}},\x20{\x20description:\x20\x27To\x20create\x20new\x20{{pascalCase\x20name}}\x27\x20})\x0a\x20\x20async\x20create{{pascalCase\x20name}}(@Arg(\x27{{camelCase\x20name}}\x27)\x20{{camelCase\x20name}}:\x20New{{pascalCase\x20name}},\x20@Ctx()\x20context:\x20any):\x20Promise<{{pascalCase\x20name}}>\x20{\x0a\x20\x20\x20\x20const\x20{\x20domain,\x20user,\x20tx\x20}\x20=\x20context.state\x0a\x0a\x20\x20\x20\x20return\x20await\x20tx.getRepository({{pascalCase\x20name}}).save({\x0a\x20\x20\x20\x20\x20\x20...{{camelCase\x20name}},\x0a\x20\x20\x20\x20\x20\x20domain,\x0a\x20\x20\x20\x20\x20\x20creator:\x20user,\x0a\x20\x20\x20\x20\x20\x20updater:\x20user\x0a\x20\x20\x20\x20})\x0a\x20\x20}\x0a\x0a\x20\x20@Directive(\x27@transaction\x27)\x0a\x20\x20@Mutation(returns\x20=>\x20{{pascalCase\x20name}},\x20{\x20description:\x20\x27To\x20modify\x20{{pascalCase\x20name}}\x20information\x27\x20})\x0a\x20\x20async\x20update{{pascalCase\x20name}}(\x0a\x20\x20\x20\x20@Arg(\x27id\x27)\x20id:\x20string,\x0a\x20\x20\x20\x20@Arg(\x27patch\x27)\x20patch:\x20{{pascalCase\x20name}}Patch,\x0a\x20\x20\x20\x20@Ctx()\x20context:\x20any\x0a\x20\x20):\x20Promise<{{pascalCase\x20name}}>\x20{\x0a\x20\x20\x20\x20const\x20{\x20domain,\x20user,\x20tx\x20}\x20=\x20context.state\x0a\x0a\x20\x20\x20\x20const\x20repository\x20=\x20tx.getRepository({{pascalCase\x20name}})\x0a\x20\x20\x20\x20const\x20{{camelCase\x20name}}\x20=\x20await\x20repository.findOne(\x0a\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20where:\x20{\x20domain:\x20{\x20id:\x20domain.id\x20},\x20id\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20relations:\x20[\x27domain\x27,\x20\x27updater\x27,\x20\x27creator\x27]\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20)\x0a\x0a\x20\x20\x20\x20return\x20await\x20repository.save({\x0a\x20\x20\x20\x20\x20\x20...{{camelCase\x20name}},\x0a\x20\x20\x20\x20\x20\x20...patch,\x0a\x20\x20\x20\x20\x20\x20updater:\x20user\x0a\x20\x20\x20\x20})\x0a\x20\x20}\x0a\x0a\x20\x20@Directive(\x27@transaction\x27)\x0a\x20\x20@Mutation(returns\x20=>\x20[{{pascalCase\x20name}}],\x20{\x20description:\x20\x22To\x20modify\x20multiple\x20{{pluralPascalCase\x20name}}\x27\x20information\x22\x20})\x0a\x20\x20async\x20updateMultiple{{pascalCase\x20name}}(\x0a\x20\x20\x20\x20@Arg(\x27patches\x27,\x20type\x20=>\x20[{{pascalCase\x20name}}Patch])\x20patches:\x20{{pascalCase\x20name}}Patch[],\x0a\x20\x20\x20\x20@Ctx()\x20context:\x20any\x0a\x20\x20):\x20Promise<{{pascalCase\x20name}}[]>\x20{\x0a\x20\x20\x20\x20const\x20{\x20domain,\x20user,\x20tx\x20}\x20=\x20context.state\x0a\x0a\x20\x20\x20\x20let\x20results\x20=\x20[]\x0a\x20\x20\x20\x20const\x20_createRecords\x20=\x20patches.filter((patch:\x20any)\x20=>\x20patch.cuFlag.toUpperCase()\x20===\x20\x27+\x27)\x0a\x20\x20\x20\x20const\x20_updateRecords\x20=\x20patches.filter((patch:\x20any)\x20=>\x20patch.cuFlag.toUpperCase()\x20===\x20\x27M\x27)\x0a\x20\x20\x20\x20const\x20{{camelCase\x20name}}Repo\x20=\x20tx.getRepository({{pascalCase\x20name}})\x0a\x0a\x20\x20\x20\x20if\x20(_createRecords.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20for\x20(let\x20i\x20=\x200;\x20i\x20<\x20_createRecords.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20newRecord\x20=\x20_createRecords[i]\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20result\x20=\x20await\x20{{camelCase\x20name}}Repo.save({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20...newRecord,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20domain,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20creator:\x20user,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updater:\x20user\x0a\x20\x20\x20\x20\x20\x20\x20\x20})\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20results.push({\x20...result,\x20cuFlag:\x20\x27+\x27\x20})\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20if\x20(_updateRecords.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20for\x20(let\x20i\x20=\x200;\x20i\x20<\x20_updateRecords.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20updRecord\x20=\x20_updateRecords[i]\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20{{camelCase\x20name}}\x20=\x20await\x20{{camelCase\x20name}}Repo.findOne({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20where:\x20{\x20domain:\x20{\x20id:\x20domain.id\x20},\x20id:updRecord.id\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20relations:\x20[\x27domain\x27,\x20\x27updater\x27,\x20\x27creator\x27]\x0a\x20\x20\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20result\x20=\x20await\x20{{camelCase\x20name}}Repo.save({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20...{{camelCase\x20name}},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20...updRecord,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updater:\x20user\x0a\x20\x20\x20\x20\x20\x20\x20\x20})\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20results.push({\x20...result,\x20cuFlag:\x20\x27M\x27\x20})\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20return\x20results\x0a\x20\x20}\x0a\x0a\x20\x20@Directive(\x27@transaction\x27)\x0a\x20\x20@Mutation(returns\x20=>\x20Boolean,\x20{\x20description:\x20\x27To\x20delete\x20{{pascalCase\x20name}}\x27\x20})\x0a\x20\x20async\x20delete{{pascalCase\x20name}}(@Arg(\x27id\x27)\x20id:\x20string,\x20@Ctx()\x20context:\x20any):\x20Promise<boolean>\x20{\x0a\x20\x20\x20\x20const\x20{\x20domain,\x20tx,\x20user\x20}\x20=\x20context.state\x0a\x20\x20\x20\x20await\x20tx.getRepository({{pascalCase\x20name}}).remove({\x20domain,\x20id,\x20updater:user\x20})\x0a\x20\x20\x20\x20return\x20true\x0a\x20\x20}\x0a\x0a\x20\x20@Directive(\x27@transaction\x27)\x0a\x20\x20@Mutation(returns\x20=>\x20Boolean,\x20{\x20description:\x20\x27To\x20delete\x20multiple\x20{{camelCase\x20name}}s\x27\x20})\x0a\x20\x20async\x20delete{{pluralPascalCase\x20name}}(\x0a\x20\x20\x20\x20@Arg(\x27ids\x27,\x20type\x20=>\x20[String])\x20ids:\x20string[],\x0a\x20\x20\x20\x20@Ctx()\x20context:\x20any\x0a\x20\x20):\x20Promise<boolean>\x20{\x0a\x20\x20\x20\x20const\x20{\x20domain,\x20tx,\x20user\x20}\x20=\x20context.state\x0a\x0a\x20\x20\x20\x20let\x20delEntitis\x20=\x20ids.map(id=>{\x0a\x20\x20\x20\x20\x20\x20return\x20{domain,id,updater:user}\x0a\x20\x20\x20\x20})\x0a\x0a\x20\x20\x20\x20await\x20tx.getRepository({{pascalCase\x20name}}).remove(delEntitis)\x0a\x0a\x20\x20\x20\x20return\x20true\x0a\x20\x20}\x0a}\x0a','OperatoToolCreateService','Resolver','uniqRank','nullable','snakeCaseName','getFieldType','float','\x0a\x20\x20public\x20createHistoryEntity(manager,\x20entity)\x20{\x0a\x20\x20\x20\x20let\x20history\x20=\x20manager.create(this.historyEntity,\x20entity);\x0a\x20\x20\x20\x20history.historyJson\x20=\x20JSON.stringify(entity);\x0a\x20\x20\x20\x20return\x20history;\x0a\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20','/event-subscriber.ts','sort','\x0aimport\x20{\x0a\x20\x20CreateDateColumn,\x0a\x20\x20UpdateDateColumn,\x0a\x20\x20Entity,\x0a\x20\x20Index,\x0a\x20\x20Column,\x0a\x20\x20RelationId,\x0a\x20\x20ManyToOne,\x0a\x20\x20PrimaryGeneratedColumn,\x0a\x20\x20VersionColumn\x0a}\x20from\x20\x27typeorm\x27\x0a\x0aimport\x20{\x0a\x20\x20HistoryActionColumn,\x0a\x20\x20HistoryActionType,\x0a\x20\x20HistoryEntityInterface,\x0a\x20\x20HistoryOriginalIdColumn\x0a}\x20from\x20\x27@operato/typeorm-history\x27\x0a\x0aimport\x20{\x20ObjectType,\x20Field,\x20Int,\x20ID,\x20Float,\x20registerEnumType\x20}\x20from\x20\x27type-graphql\x27\x0a\x0aimport\x20{\x20config\x20}\x20from\x20\x27@things-factory/env\x27\x0aimport\x20{\x20Domain,\x20ScalarObject\x20}\x20from\x20\x27@things-factory/shell\x27\x0aimport\x20{\x20User\x20}\x20from\x20\x27@things-factory/auth-base\x27\x0a\x0aconst\x20ORMCONFIG\x20=\x20config.get(\x27ormconfig\x27,\x20{})\x0aconst\x20DATABASE_TYPE\x20=\x20ORMCONFIG.type\x0a\x0aimport\x20{\x20{{pascalCase\x20name}}\x20}\x20from\x20\x27./{{name}}\x27\x0a\x0a@Entity(\x27{{tableName}}_histories\x27)\x0a@Index(\x27ix_{{snakeCase\x20name}}_histories_0\x27,\x20({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20[{{camelCase\x20name}}History.originalId,{{camelCase\x20name}}History.dataRevisionNo],\x20{\x20unique:\x20true\x20})\x0a@Index(\x27ix_{{snakeCase\x20name}}_histories_1\x27,\x20({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20[{{camelCase\x20name}}History.originalId\x20],\x20{\x20unique:\x20false\x20})\x0a@Index(\x27ix_{{snakeCase\x20name}}_histories_2\x27,\x20({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20[{{camelCase\x20name}}History.domain,\x20{{camelCase\x20name}}History.originalId\x20],\x20{\x20unique:\x20false\x20})\x0a@Index(\x27ix_{{snakeCase\x20name}}_histories_3\x27,\x20({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20[{{camelCase\x20name}}History.domain,\x20{{camelCase\x20name}}History.originalId,\x20{{camelCase\x20name}}History.dataRevisionNo],\x20{\x20unique:\x20true\x20})\x0a@ObjectType({\x20description:\x20\x27Entity\x20for\x20{{pascalCase\x20name}}History\x27\x20})\x0aexport\x20class\x20{{pascalCase\x20name}}History\x20\x20implements\x20HistoryEntityInterface<{{pascalCase\x20name}}>{\x0a\x20\x20@PrimaryGeneratedColumn(\x27uuid\x27)\x0a\x20\x20@Field(type\x20=>\x20ID)\x0a\x20\x20readonly\x20id:\x20string\x0a\x0a\x20\x20@ManyToOne(type\x20=>\x20Domain,\x20{\x0a\x20\x20\x20\x20createForeignKeyConstraints:\x20false\x0a\x20\x20})\x0a\x20\x20@Field({\x20nullable:\x20false\x20})\x0a\x20\x20domain:\x20Domain\x0a\x0a\x20\x20@RelationId(({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20{{camelCase\x20name}}History.domain)\x0a\x20\x20domainId:\x20string\x0a\x0a\x20\x20@HistoryOriginalIdColumn({type:\x20\x27character\x20varying\x27,\x20nullable:\x20false\x20,length:40})\x0a\x20\x20@Field({\x20nullable:\x20false\x20})\x0a\x20\x20public\x20originalId!:\x20string\x0a\x0a\x20\x20@HistoryActionColumn({\x0a\x20\x20\x20\x20nullable:\x20false,\x0a\x20\x20\x20\x20type:\x0a\x20\x20\x20\x20\x20\x20DATABASE_TYPE\x20==\x20\x27postgres\x27\x20||\x20DATABASE_TYPE\x20==\x20\x27mysql\x27\x20||\x20DATABASE_TYPE\x20==\x20\x27mariadb\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27enum\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20:\x20DATABASE_TYPE\x20==\x20\x27oracle\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27varchar2\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20:\x20\x27smallint\x27,\x0a\x20\x20\x20\x20enum:\x20HistoryActionType\x0a\x20\x20})\x0a\x20\x20@Field({\x20nullable:\x20false\x20})\x0a\x20\x20public\x20dataRevisionAction!:\x20HistoryActionType\x0a\x0a\x0a\x20\x20@Column({\x20default:\x201,\x20nullable:\x20false\x20})\x0a\x20\x20@Field({\x20nullable:\x20false\x20})\x0a\x20\x20dataRevisionNo?:\x20number\x20=\x201\x0a\x0a\x20\x20@Column(\x27simple-json\x27,\x20{\x20nullable:\x20true\x20})\x0a\x20\x20@Field(type\x20=>\x20ScalarObject,\x20{\x20nullable:\x20true\x20})\x0a\x20\x20historyJson?:\x20any\x0a\x0a\x20\x20@CreateDateColumn()\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20createdAt?:\x20Date\x0a\x0a\x20\x20@UpdateDateColumn()\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20updatedAt?:\x20Date\x0a\x0a\x20\x20@ManyToOne(type\x20=>\x20User,\x20{\x0a\x20\x20\x20\x20createForeignKeyConstraints:\x20false,\x0a\x20\x20\x20\x20nullable:\x20true\x0a\x20\x20})\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20creator?:\x20User\x0a\x0a\x20\x20@RelationId(({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20{{camelCase\x20name}}History.creator)\x0a\x20\x20creatorId?:\x20string\x0a\x0a\x20\x20@ManyToOne(type\x20=>\x20User,\x20{\x0a\x20\x20\x20\x20createForeignKeyConstraints:\x20false,\x0a\x20\x20\x20\x20nullable:\x20true\x0a\x20\x20})\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20updater?:\x20User\x0a\x0a\x20\x20@RelationId(({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20{{camelCase\x20name}}History.updater)\x0a\x20\x20updaterId?:\x20string\x0a}\x0a','14bkMvKM','/server/service/','12145131fDNMsz','-type.ts','\x0aimport\x20{\x0a\x20\x20CreateDateColumn,\x0a\x20\x20UpdateDateColumn,\x0a\x20\x20Entity,\x0a\x20\x20Index,\x0a\x20\x20Column,\x0a\x20\x20RelationId,\x0a\x20\x20ManyToOne,\x0a\x20\x20PrimaryGeneratedColumn,\x0a\x20\x20VersionColumn\x0a}\x20from\x20\x27typeorm\x27\x0a\x0aimport\x20{\x0a\x20\x20HistoryActionColumn,\x0a\x20\x20HistoryActionType,\x0a\x20\x20HistoryEntityInterface,\x0a\x20\x20HistoryOriginalIdColumn\x0a}\x20from\x20\x27@operato/typeorm-history\x27\x0a\x0aimport\x20{\x20ObjectType,\x20Field,\x20Int,\x20ID,\x20Float,\x20registerEnumType\x20}\x20from\x20\x27type-graphql\x27\x0a\x0aimport\x20{\x20config\x20}\x20from\x20\x27@things-factory/env\x27\x0aimport\x20{\x20Domain,\x20ScalarObject\x20}\x20from\x20\x27@things-factory/shell\x27\x0aimport\x20{\x20User\x20}\x20from\x20\x27@things-factory/auth-base\x27\x0a\x0aconst\x20ORMCONFIG\x20=\x20config.get(\x27ormconfig\x27,\x20{})\x0aconst\x20DATABASE_TYPE\x20=\x20ORMCONFIG.type\x0a\x0aimport\x20{\x20{{pascalCase\x20name}}\x20}\x20from\x20\x27./{{name}}\x27\x0a\x0a@Entity(\x27{{tableName}}_histories\x27)\x0a@Index(\x27ix_{{snakeCase\x20name}}_histories_0\x27,\x20({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20[{{camelCase\x20name}}History.originalId,{{camelCase\x20name}}History.dataRevisionNo],\x20{\x20unique:\x20true\x20})\x0a@Index(\x27ix_{{snakeCase\x20name}}_histories_1\x27,\x20({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20[{{camelCase\x20name}}History.originalId\x20],\x20{\x20unique:\x20false\x20})\x0a@Index(\x27ix_{{snakeCase\x20name}}_histories_2\x27,\x20({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20[{{camelCase\x20name}}History.domain,\x20{{camelCase\x20name}}History.originalId\x20],\x20{\x20unique:\x20false\x20})\x0a@Index(\x27ix_{{snakeCase\x20name}}_histories_3\x27,\x20({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20[{{camelCase\x20name}}History.domain,\x20{{camelCase\x20name}}History.originalId,\x20{{camelCase\x20name}}History.dataRevisionNo],\x20{\x20unique:\x20true\x20})\x0a@ObjectType({\x20description:\x20\x27Entity\x20for\x20{{pascalCase\x20name}}History\x27\x20})\x0aexport\x20class\x20{{pascalCase\x20name}}History\x20\x20implements\x20HistoryEntityInterface<{{pascalCase\x20name}}>{\x0a\x20\x20@PrimaryGeneratedColumn(\x27uuid\x27)\x0a\x20\x20@Field(type\x20=>\x20ID)\x0a\x20\x20readonly\x20id:\x20string\x0a\x0a\x20\x20@ManyToOne(type\x20=>\x20Domain,\x20{\x0a\x20\x20\x20\x20createForeignKeyConstraints:\x20false\x0a\x20\x20})\x0a\x20\x20@Field({\x20nullable:\x20false\x20})\x0a\x20\x20domain:\x20Domain\x0a\x0a\x20\x20@RelationId(({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20{{camelCase\x20name}}History.domain)\x0a\x20\x20domainId:\x20string\x0a\x0a\x20\x20@HistoryOriginalIdColumn({type:\x20\x27character\x20varying\x27,\x20nullable:\x20false\x20,length:40})\x0a\x20\x20@Field({\x20nullable:\x20false\x20})\x0a\x20\x20public\x20originalId!:\x20string\x0a\x0a\x0a\x20\x20@HistoryActionColumn({\x0a\x20\x20\x20\x20nullable:\x20false,\x0a\x20\x20\x20\x20type:\x0a\x20\x20\x20\x20\x20\x20DATABASE_TYPE\x20==\x20\x27postgres\x27\x20||\x20DATABASE_TYPE\x20==\x20\x27mysql\x27\x20||\x20DATABASE_TYPE\x20==\x20\x27mariadb\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27enum\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20:\x20DATABASE_TYPE\x20==\x20\x27oracle\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27varchar2\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20:\x20\x27smallint\x27,\x0a\x20\x20\x20\x20enum:\x20HistoryActionType\x0a\x20\x20})\x0a\x20\x20@Field({\x20nullable:\x20false\x20})\x0a\x20\x20public\x20dataRevisionAction!:\x20HistoryActionType\x0a\x0a\x20\x20@Column({\x20default:\x201,\x20nullable:\x20false\x20})\x0a\x20\x20@Field({\x20nullable:\x20false\x20})\x0a\x20\x20dataRevisionNo?:\x20number\x20=\x201\x0a\x0a{{entityColumns}}\x0a\x0a\x20\x20@CreateDateColumn()\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20createdAt?:\x20Date\x0a\x0a\x20\x20@UpdateDateColumn()\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20updatedAt?:\x20Date\x0a\x0a\x20\x20@ManyToOne(type\x20=>\x20User,\x20{\x0a\x20\x20\x20\x20createForeignKeyConstraints:\x20false,\x0a\x20\x20\x20\x20nullable:\x20true\x0a\x20\x20})\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20creator?:\x20User\x0a\x0a\x20\x20@RelationId(({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20{{camelCase\x20name}}History.creator)\x0a\x20\x20creatorId?:\x20string\x0a\x0a\x20\x20@ManyToOne(type\x20=>\x20User,\x20{\x0a\x20\x20\x20\x20createForeignKeyConstraints:\x20false,\x0a\x20\x20\x20\x20nullable:\x20true\x0a\x20\x20})\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20updater?:\x20User\x0a\x0a\x20\x20@RelationId(({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20{{camelCase\x20name}}History.updater)\x0a\x20\x20updaterId?:\x20string\x0a}\x0a','packages'];a0_0x2920=function(){return _0x151e32;};return a0_0x2920();}Object[a0_0x56e3fe(0x12c)](exports,a0_0x56e3fe(0x17a),{'value':!0x0}),exports[a0_0x56e3fe(0xfd)]=void 0x0;const tslib_1=require(a0_0x56e3fe(0x13c)),type_graphql_1=require(a0_0x56e3fe(0x121)),shell_1=require(a0_0x56e3fe(0x178)),resource_base_1=require(a0_0x56e3fe(0x15f)),{camelCase:camelCase,startCase:startCase,snakeCase:snakeCase,kebabCase:kebabCase}=require('lodash'),{plural:plural}=require('pluralize'),fs=require('fs');let OperatoToolCreateService=class{async[a0_0x56e3fe(0x155)](_0x360d9e,_0xbbb897){const _0x2095c8=a0_0x56e3fe,{domain:_0x362814}=_0xbbb897[_0x2095c8(0x165)],_0x148f10=await(0x0,shell_1[_0x2095c8(0x134)])(resource_base_1[_0x2095c8(0x10f)])[_0x2095c8(0x181)]({'where':{'id':_0x360d9e}}),_0x158e98=await(0x0,shell_1['getRepository'])(resource_base_1[_0x2095c8(0x139)])[_0x2095c8(0x133)]({'where':{'domain':{'id':_0x362814['id']},'entity':{'id':_0x148f10['id']}}});let {name:_0x2f2eac='',bundle:_0x237374=''}=_0x148f10||{},_0x1560a7=this[_0x2095c8(0x17e)](),_0x17c8a3=kebabCase(_0x2f2eac);return await this[_0x2095c8(0x169)](_0x1560a7,_0x237374,_0x17c8a3),await this[_0x2095c8(0x144)](_0x1560a7,_0x237374,_0x2f2eac,_0x17c8a3,_0x148f10,_0x158e98),!0x0;}async[a0_0x56e3fe(0x144)](_0x222d83,_0x4a412b,_0x194758,_0x53fc42,_0x416f9e,_0x5c4a43){const _0x3d3d20=a0_0x56e3fe;let _0x4a6270={'name':_0x53fc42,'tableName':_0x416f9e[_0x3d3d20(0x13b)],'pascalCaseName':startCase(camelCase(_0x194758))[_0x3d3d20(0x151)](/ /g,''),'camelCaseName':camelCase(_0x194758),'snakeCaseName':snakeCase(_0x194758),'pluralPascalCaseName':startCase(camelCase(plural(_0x194758)))[_0x3d3d20(0x151)](/ /g,''),'pluralCamelCaseName':camelCase(plural(_0x194758))},_0x5aeb70=_0x222d83+_0x3d3d20(0x13f)+_0x4a412b+_0x3d3d20(0x109);[_0x3d3d20(0x15a),_0x3d3d20(0x159)]['includes'](_0x416f9e['dataProp'])?await this[_0x3d3d20(0x187)](_0x5aeb70,_0x53fc42,_0x416f9e,_0x5c4a43,_0x4a6270):await this[_0x3d3d20(0x12f)](_0x5aeb70,_0x53fc42,_0x416f9e,_0x5c4a43,_0x4a6270);}async[a0_0x56e3fe(0x187)](_0x3bfdbf,_0x4c96c7,_0x3c40d7,_0x593dae,_0x5846ec){const _0x2fe1d7=a0_0x56e3fe;await this[_0x2fe1d7(0x170)](_0x3bfdbf+(_0x4c96c7+'/index.ts'),serviceHistoryIndex,_0x5846ec);let _0x5df5f3=this[_0x2fe1d7(0x132)](_0x3c40d7,_0x593dae);await this['writeFile'](_0x3bfdbf+(_0x4c96c7+'/'+_0x4c96c7+_0x2fe1d7(0x127)),_0x5df5f3,_0x5846ec),await this[_0x2fe1d7(0x170)](_0x3bfdbf+(_0x4c96c7+'/'+_0x4c96c7+_0x2fe1d7(0x160)),serviceQuery,_0x5846ec),await this['writeFile'](_0x3bfdbf+(_0x4c96c7+'/'+_0x4c96c7+_0x2fe1d7(0x177)),serviceMutation,_0x5846ec);let _0x3c818b=this[_0x2fe1d7(0x173)](_0x593dae);await this['writeFile'](_0x3bfdbf+(_0x4c96c7+'/'+_0x4c96c7+_0x2fe1d7(0x10b)),_0x3c818b,_0x5846ec);let _0x3b164c=this['createHistoryEntityText'](_0x3c40d7,_0x593dae);await this[_0x2fe1d7(0x170)](_0x3bfdbf+(_0x4c96c7+'/'+_0x4c96c7+_0x2fe1d7(0x14b)),_0x3b164c,_0x5846ec);let _0x4c8269='';_0x2fe1d7(0x15a)==_0x3c40d7[_0x2fe1d7(0x13e)]?(_0x4c8269=_0x2fe1d7(0x104),await this['writeFile'](_0x3bfdbf+(_0x4c96c7+_0x2fe1d7(0x105)),serviceEntitySubscriber,_0x5846ec)):_0x4c8269='';let _0x433cfb=serviceEntitySubscriber['replace'](/{{entityToJson}}/g,_0x4c8269);await this['writeFile'](_0x3bfdbf+(_0x4c96c7+_0x2fe1d7(0x105)),_0x433cfb,_0x5846ec),await this[_0x2fe1d7(0x170)](_0x3bfdbf+(_0x4c96c7+'/'+_0x4c96c7+_0x2fe1d7(0x175)),serviceHistoryQuery,_0x5846ec),await this[_0x2fe1d7(0x170)](_0x3bfdbf+(_0x4c96c7+'/'+_0x4c96c7+_0x2fe1d7(0x136)),sereviceHistoryType,_0x5846ec);let _0x47e77d=_0x3bfdbf+_0x2fe1d7(0x120);0x0==await this[_0x2fe1d7(0x146)](_0x47e77d)&&await this[_0x2fe1d7(0x170)](_0x47e77d,allIndex,_0x5846ec);let _0x3d2f79=await fs[_0x2fe1d7(0x174)](_0x47e77d,'utf8');_0x3d2f79['indexOf']('export\x20*\x20from\x20\x27./'+_0x5846ec[_0x2fe1d7(0x185)]+'/'+_0x5846ec['name']+'-history\x27')<0x0&&(_0x3d2f79=_0x3d2f79[_0x2fe1d7(0x151)](/\/\* EXPORT ENTITY TYPES \*\//,_0x2fe1d7(0x128)+_0x5846ec[_0x2fe1d7(0x185)]+'/'+_0x5846ec['name']+_0x2fe1d7(0x14f))),_0x3d2f79[_0x2fe1d7(0x11e)](_0x2fe1d7(0x161)+_0x5846ec[_0x2fe1d7(0x185)]+'/'+_0x5846ec[_0x2fe1d7(0x185)]+'\x27')<0x0&&(_0x3d2f79=_0x3d2f79[_0x2fe1d7(0x151)](/\/\* EXPORT ENTITY TYPES \*\//,'/*\x20EXPORT\x20ENTITY\x20TYPES\x20*/\x0aexport\x20*\x20from\x20\x27./'+_0x5846ec['name']+'/'+_0x5846ec['name']+'\x27')),_0x3d2f79['indexOf'](_0x2fe1d7(0x189)+_0x5846ec['pascalCaseName']+_0x2fe1d7(0x142)+_0x5846ec[_0x2fe1d7(0x12d)]+_0x2fe1d7(0xf9)+_0x5846ec['pascalCaseName']+_0x2fe1d7(0x163)+_0x5846ec[_0x2fe1d7(0x185)]+'\x27')<0x0&&(_0x3d2f79=_0x3d2f79[_0x2fe1d7(0x151)](/\/\* IMPORT ENTITIES AND RESOLVERS \*\//,'/*\x20IMPORT\x20ENTITIES\x20AND\x20RESOLVERS\x20*/\x0aimport\x20{\x20entities\x20as\x20'+_0x5846ec[_0x2fe1d7(0x12d)]+'Entities,\x20resolvers\x20as\x20'+_0x5846ec[_0x2fe1d7(0x12d)]+_0x2fe1d7(0xf9)+_0x5846ec[_0x2fe1d7(0x12d)]+'EntitySubscribers\x20}\x20from\x20\x27./'+_0x5846ec['name']+'\x27')),_0x3d2f79[_0x2fe1d7(0x11e)](_0x2fe1d7(0x156)+_0x5846ec[_0x2fe1d7(0x12d)]+_0x2fe1d7(0x168))<0x0&&(_0x3d2f79=_0x3d2f79['replace'](/\/\* ENTITIES \*\//,_0x2fe1d7(0x15e)+_0x5846ec['pascalCaseName']+_0x2fe1d7(0x168))),_0x3d2f79[_0x2fe1d7(0x11e)](_0x2fe1d7(0x156)+_0x5846ec[_0x2fe1d7(0x12d)]+'Resolvers,')<0x0&&(_0x3d2f79=_0x3d2f79[_0x2fe1d7(0x151)](/\/\* RESOLVER CLASSES \*\//,_0x2fe1d7(0x184)+_0x5846ec[_0x2fe1d7(0x12d)]+_0x2fe1d7(0x17b))),_0x3d2f79[_0x2fe1d7(0x11e)](_0x2fe1d7(0x156)+_0x5846ec[_0x2fe1d7(0x12d)]+'EntitySubscribers,')<0x0&&(_0x3d2f79=_0x3d2f79[_0x2fe1d7(0x151)](/\/\* SUBSCRIBERS \*\//,_0x2fe1d7(0x13d)+_0x5846ec[_0x2fe1d7(0x12d)]+_0x2fe1d7(0x135))),await this[_0x2fe1d7(0x170)](_0x47e77d,_0x3d2f79,_0x5846ec);}async[a0_0x56e3fe(0x12f)](_0x14c21a,_0x391184,_0x351d73,_0x5a73ec,_0x2f6ea1){const _0x36a32f=a0_0x56e3fe;await this['writeFile'](_0x14c21a+(_0x391184+_0x36a32f(0x157)),serviceIndex,_0x2f6ea1),await this[_0x36a32f(0x170)](_0x14c21a+(_0x391184+'/'+_0x391184+'-query.ts'),serviceQuery,_0x2f6ea1),await this[_0x36a32f(0x170)](_0x14c21a+(_0x391184+'/'+_0x391184+'-mutation.ts'),serviceMutation,_0x2f6ea1);let _0xb7eab=this[_0x36a32f(0x132)](_0x351d73,_0x5a73ec);await this[_0x36a32f(0x170)](_0x14c21a+(_0x391184+'/'+_0x391184+'.ts'),_0xb7eab,_0x2f6ea1);let _0x172a57=this['createTypeText'](_0x5a73ec);await this[_0x36a32f(0x170)](_0x14c21a+(_0x391184+'/'+_0x391184+_0x36a32f(0x10b)),_0x172a57,_0x2f6ea1);let _0xe24585=_0x14c21a+_0x36a32f(0x120);0x0==await this[_0x36a32f(0x146)](_0xe24585)&&await this['writeFile'](_0xe24585,allIndex,_0x2f6ea1);let _0x31a7ea=await fs[_0x36a32f(0x174)](_0xe24585,_0x36a32f(0x14e));_0x31a7ea[_0x36a32f(0x11e)](_0x36a32f(0x161)+_0x2f6ea1[_0x36a32f(0x185)]+'/'+_0x2f6ea1['name']+'\x27')<0x0&&(_0x31a7ea=_0x31a7ea[_0x36a32f(0x151)](/\/\* EXPORT ENTITY TYPES \*\//,_0x36a32f(0x128)+_0x2f6ea1[_0x36a32f(0x185)]+'/'+_0x2f6ea1[_0x36a32f(0x185)]+'\x27')),_0x31a7ea[_0x36a32f(0x11e)](_0x36a32f(0x189)+_0x2f6ea1['pascalCaseName']+_0x36a32f(0x142)+_0x2f6ea1['pascalCaseName']+_0x36a32f(0x11b)+_0x2f6ea1[_0x36a32f(0x185)]+'\x27')<0x0&&(_0x31a7ea=_0x31a7ea[_0x36a32f(0x151)](/\/\* IMPORT ENTITIES AND RESOLVERS \*\//,_0x36a32f(0x147)+_0x2f6ea1['pascalCaseName']+_0x36a32f(0x142)+_0x2f6ea1['pascalCaseName']+_0x36a32f(0x11b)+_0x2f6ea1['name']+'\x27')),_0x31a7ea[_0x36a32f(0x11e)](_0x36a32f(0x156)+_0x2f6ea1[_0x36a32f(0x12d)]+_0x36a32f(0x168))<0x0&&(_0x31a7ea=_0x31a7ea[_0x36a32f(0x151)](/\/\* ENTITIES \*\//,_0x36a32f(0x15e)+_0x2f6ea1['pascalCaseName']+'Entities,')),_0x31a7ea['indexOf']('...'+_0x2f6ea1[_0x36a32f(0x12d)]+_0x36a32f(0x17b))<0x0&&(_0x31a7ea=_0x31a7ea['replace'](/\/\* RESOLVER CLASSES \*\//,_0x36a32f(0x184)+_0x2f6ea1[_0x36a32f(0x12d)]+_0x36a32f(0x17b))),await this[_0x36a32f(0x170)](_0xe24585,_0x31a7ea,_0x2f6ea1);}[a0_0x56e3fe(0x173)](_0xea574f){const _0x247c84=a0_0x56e3fe;let _0x83aa36=sereviceType,_0x2855dc=_0xea574f[_0x247c84(0x17d)](_0x2efb45=>{const _0xac7253=_0x247c84;if('id'==_0x2efb45[_0xac7253(0x185)])return'';if(_0xac7253(0x13a)==_0x2efb45[_0xac7253(0x185)])return'';if(_0xac7253(0x167)==_0x2efb45[_0xac7253(0x185)])return'';if(_0xac7253(0x186)==_0x2efb45[_0xac7253(0x185)])return'';if('creator_id'==_0x2efb45[_0xac7253(0x185)])return'';if(_0xac7253(0x137)==_0x2efb45[_0xac7253(0x185)])return'';let _0x1a5c08=this[_0xac7253(0x102)](_0x2efb45),_0x2f7964=this[_0xac7253(0x171)](_0x2efb45),_0x10726b=camelCase(_0x2efb45[_0xac7253(0x185)]);return'\x20\x20'+('@Field('+(0x0==_0x1a5c08[_0xac7253(0x172)]?'':_0xac7253(0x16b)+_0x1a5c08+',')+_0xac7253(0x166)+_0x2efb45[_0xac7253(0x100)]+_0xac7253(0x11f))+'\x0a\x20\x20'+(''+_0x10726b+(_0x2efb45[_0xac7253(0x100)]?'?':'')+':\x20'+_0x2f7964)+'\x0a';});_0x83aa36=_0x83aa36[_0x247c84(0x151)](/{{newTypeColumns}}/g,_0x2855dc[_0x247c84(0xf8)]('\x0a'));let _0x41cd95=_0xea574f['map'](_0x557bea=>{const _0x2af8f9=_0x247c84;if('id'==_0x557bea[_0x2af8f9(0x185)])return'';if(_0x2af8f9(0x13a)==_0x557bea['name'])return'';if('created_at'==_0x557bea['name'])return'';if('updated_at'==_0x557bea['name'])return'';if(_0x2af8f9(0x12e)==_0x557bea[_0x2af8f9(0x185)])return'';if(_0x2af8f9(0x137)==_0x557bea[_0x2af8f9(0x185)])return'';let _0xfb3d19=this['getFieldType'](_0x557bea),_0x50b265=this[_0x2af8f9(0x171)](_0x557bea);_0x557bea['nullable']=!0x0;let _0x2664e6=camelCase(_0x557bea[_0x2af8f9(0x185)]);return'\x20\x20'+(_0x2af8f9(0x16c)+(0x0==_0xfb3d19['length']?'':_0x2af8f9(0x16b)+_0xfb3d19+',')+'\x20{\x20nullable:\x20'+_0x557bea[_0x2af8f9(0x100)]+_0x2af8f9(0x11f))+_0x2af8f9(0x124)+(''+_0x2664e6+(_0x557bea[_0x2af8f9(0x100)]?'?':'')+':\x20'+_0x50b265)+'\x0a';});return _0x83aa36=_0x83aa36[_0x247c84(0x151)](/{{patchTypeColumns}}/g,_0x41cd95[_0x247c84(0xf8)]('\x0a')),_0x83aa36;}[a0_0x56e3fe(0x132)](_0x5b0172,_0x3ce1af){const _0x494db8=a0_0x56e3fe;let _0x44dc74=serviceEntity,_0x4d6497=_0x3ce1af[_0x494db8(0x106)](function(_0x30ce30,_0x19bbcc){const _0x2b763f=_0x494db8;return _0x30ce30[_0x2b763f(0x12b)]-_0x19bbcc['rank'];})[_0x494db8(0x17d)](_0x3a0602=>this[_0x494db8(0x11a)](_0x3a0602));['COPY','JSON']['includes'](_0x5b0172[_0x494db8(0x13e)])&&_0x4d6497[_0x494db8(0x117)]('\x0a\x20\x20@VersionColumn({\x20default:\x201\x20})\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20dataRevisionNo?:\x20number\x20=\x201'),_0x44dc74=_0x44dc74[_0x494db8(0x151)](/{{entityColumns}}/g,_0x4d6497[_0x494db8(0xf8)]('\x0a'));let _0x30f29d='',_0x41b685=_0x3ce1af['filter'](_0x4e6bd2=>_0x4e6bd2[_0x494db8(0xff)]&&_0x4e6bd2['uniqRank']>0x0)[_0x494db8(0x106)](function(_0xade552,_0x2fd2ae){const _0x4756e0=_0x494db8;return _0xade552[_0x4756e0(0xff)]-_0x2fd2ae['uniqRank'];});if(_0x41b685[_0x494db8(0x172)]>0x0){_0x30f29d=_0x494db8(0x126);let _0x2c9606=_0x41b685[_0x494db8(0x17d)](_0x41757e=>{const _0x304666=_0x494db8;let _0x1f3d16=_0x41757e['name'];return _0x304666(0x13a)==_0x41757e[_0x304666(0x185)]&&(_0x1f3d16=_0x304666(0x10e)),_0x304666(0x12e)==_0x41757e['name']&&(_0x1f3d16=_0x304666(0x138)),_0x304666(0x137)==_0x41757e[_0x304666(0x185)]&&(_0x1f3d16=_0x304666(0x123)),_0x304666(0x179)+camelCase(_0x1f3d16);});_0x30f29d=_0x30f29d[_0x494db8(0x151)](/{{indexColumns}}/g,_0x2c9606[_0x494db8(0xf8)](','));}return _0x44dc74=_0x44dc74[_0x494db8(0x151)](/{{indexAnn}}/g,_0x30f29d),_0x44dc74;}['createHistoryEntityText'](_0x1eb003,_0x3a8366){const _0x372371=a0_0x56e3fe;let _0x117262='JSON'==_0x1eb003[_0x372371(0x13e)]?serviceEntityHistJson:serviceEntityHistCopy,_0x286ecc=_0x3a8366['sort'](function(_0x26a696,_0x40340c){const _0x3b30aa=_0x372371;return _0x26a696[_0x3b30aa(0x12b)]-_0x40340c['rank'];})[_0x372371(0x17d)](_0x413479=>this['columnToEntityColumn'](_0x413479));return _0x117262=_0x117262[_0x372371(0x151)](/{{entityColumns}}/g,_0x286ecc[_0x372371(0xf8)]('\x0a')),_0x117262;}['columnToEntityColumn'](_0x17ab52){const _0x2ae69b=a0_0x56e3fe;if('id'==_0x17ab52['name'])return'';if('domain_id'==_0x17ab52[_0x2ae69b(0x185)])return'';if(_0x2ae69b(0x167)==_0x17ab52['name'])return'';if(_0x2ae69b(0x186)==_0x17ab52[_0x2ae69b(0x185)])return'';if('creator_id'==_0x17ab52[_0x2ae69b(0x185)])return'';if(_0x2ae69b(0x137)==_0x17ab52[_0x2ae69b(0x185)])return'';let _0x51bd02=_0x17ab52[_0x2ae69b(0x149)];_0x2ae69b(0x15c)==_0x17ab52[_0x2ae69b(0x149)]&&(_0x51bd02=_0x2ae69b(0x129)),_0x2ae69b(0x118)==_0x17ab52[_0x2ae69b(0x149)]&&(_0x51bd02=_0x2ae69b(0x16a)),'string'==_0x17ab52[_0x2ae69b(0x149)]&&(_0x51bd02=_0x2ae69b(0x145)),_0x2ae69b(0x11d)==_0x17ab52[_0x2ae69b(0x149)]&&(_0x51bd02=_0x2ae69b(0x116));let _0x118ccd='';_0x2ae69b(0x17f)==_0x17ab52['colType']&&(_0x118ccd=_0x17ab52[_0x2ae69b(0xfa)]);let _0x15f116=this[_0x2ae69b(0x102)](_0x17ab52),_0x380046=this['getColTxtType'](_0x17ab52),_0x252e48=camelCase(_0x17ab52[_0x2ae69b(0x185)]);return'\x20\x20'+('@Column({name:\x27'+_0x17ab52[_0x2ae69b(0x185)]+_0x2ae69b(0x141)+_0x51bd02+_0x2ae69b(0x115)+_0x17ab52[_0x2ae69b(0x100)]+'\x20'+(0x0==_0x118ccd[_0x2ae69b(0x172)]?'':_0x2ae69b(0x110)+_0x118ccd)+_0x2ae69b(0x11f))+_0x2ae69b(0x124)+(_0x2ae69b(0x16c)+(0x0==_0x15f116[_0x2ae69b(0x172)]?'':_0x2ae69b(0x16b)+_0x15f116+',')+'\x20{\x20nullable:\x20'+_0x17ab52['nullable']+_0x2ae69b(0x11f))+_0x2ae69b(0x124)+(''+_0x252e48+(_0x17ab52[_0x2ae69b(0x100)]?'?':'')+':\x20'+_0x380046)+'\x0a';}['getFieldType'](_0xe3d47c){const _0x13cef0=a0_0x56e3fe;let _0x3d6ca0='';return _0x13cef0(0x15c)==_0xe3d47c[_0x13cef0(0x149)]&&(_0x3d6ca0='Float'),'float'==_0xe3d47c['colType']&&(_0x3d6ca0=_0x13cef0(0x153)),'long'==_0xe3d47c[_0x13cef0(0x149)]&&(_0x3d6ca0=_0x13cef0(0x14a)),'integer'==_0xe3d47c[_0x13cef0(0x149)]&&(_0x3d6ca0=_0x13cef0(0x14a)),_0x3d6ca0;}[a0_0x56e3fe(0x171)](_0x4559f5){const _0x265553=a0_0x56e3fe;let _0x4e8af5=_0x4559f5[_0x265553(0x149)];return'decimal'==_0x4559f5[_0x265553(0x149)]&&(_0x4e8af5='number'),_0x265553(0x15c)==_0x4559f5['colType']&&(_0x4e8af5='number'),_0x265553(0x103)==_0x4559f5[_0x265553(0x149)]&&(_0x4e8af5=_0x265553(0x150)),_0x265553(0x176)==_0x4559f5['colType']&&(_0x4e8af5=_0x265553(0x150)),_0x265553(0x118)==_0x4559f5[_0x265553(0x149)]&&(_0x4e8af5='number'),'datetime'==_0x4559f5[_0x265553(0x149)]&&(_0x4e8af5=_0x265553(0x14d)),_0x265553(0x122)==_0x4559f5[_0x265553(0x149)]&&(_0x4e8af5='Date'),_0x265553(0x119)==_0x4559f5[_0x265553(0x149)]&&(_0x4e8af5=_0x265553(0x17f)),_0x4e8af5;}async[a0_0x56e3fe(0x170)](_0x4d8d74,_0x28e145,_0x4cfb9b){const _0x3de072=a0_0x56e3fe;await fs['writeFileSync'](_0x4d8d74,this[_0x3de072(0x143)](_0x28e145,_0x4cfb9b),_0x3de072(0x14e));}['replaceNamesMap'](_0x138974,_0x47b2b5){const _0x282830=a0_0x56e3fe;return _0x138974[_0x282830(0x151)](/{{pascalCase name}}/g,_0x47b2b5['pascalCaseName'])[_0x282830(0x151)](/{{camelCase name}}/g,_0x47b2b5[_0x282830(0x11c)])[_0x282830(0x151)](/{{snakeCase name}}/g,_0x47b2b5[_0x282830(0x101)])['replace'](/{{pluralPascalCase name}}/g,_0x47b2b5[_0x282830(0x16e)])[_0x282830(0x151)](/{{pluralCamelCase name}}/g,_0x47b2b5['pluralCamelCaseName'])[_0x282830(0x151)](/{{tableName}}/g,_0x47b2b5[_0x282830(0x13b)])[_0x282830(0x151)](/{{name}}/g,_0x47b2b5[_0x282830(0x185)]);}async[a0_0x56e3fe(0x169)](_0x5e9c44,_0x374a65,_0x3c93cb){const _0x3e1824=a0_0x56e3fe;let _0x73d41a=_0x5e9c44+_0x3e1824(0x114);await this[_0x3e1824(0x158)](_0x73d41a),_0x73d41a=_0x73d41a+'/'+_0x374a65,await this[_0x3e1824(0x158)](_0x73d41a),_0x73d41a+='/server',await this[_0x3e1824(0x158)](_0x73d41a),_0x73d41a+='/service',await this[_0x3e1824(0x158)](_0x73d41a),_0x73d41a=_0x73d41a+'/'+_0x3c93cb,await this[_0x3e1824(0x158)](_0x73d41a);}['getProjectRootPath'](){const _0x18548f=a0_0x56e3fe;let _0x267a84=process[_0x18548f(0x16d)][_0x18548f(0x15d)][_0x18548f(0x140)]('/'),_0x1978b9=[];for(let _0x22ce40=0x0;_0x22ce40<_0x267a84[_0x18548f(0x172)]&&_0x18548f(0x10d)!=_0x267a84[_0x22ce40];_0x22ce40++)_0x1978b9['push'](_0x267a84[_0x22ce40]);return _0x1978b9[_0x18548f(0xf8)]('/');}async[a0_0x56e3fe(0x158)](_0x363122){0x0==await this['existsPath'](_0x363122)&&fs['mkdirSync'](_0x363122);}async['existsPath'](_0x1e95a6){return await fs['existsSync'](_0x1e95a6);}};tslib_1[a0_0x56e3fe(0x15b)]([(0x0,type_graphql_1['Query'])(_0x364179=>Boolean,{'description':a0_0x56e3fe(0x162)}),tslib_1[a0_0x56e3fe(0x188)](0x0,(0x0,type_graphql_1[a0_0x56e3fe(0x113)])('id')),tslib_1['__param'](0x1,(0x0,type_graphql_1['Ctx'])()),tslib_1['__metadata'](a0_0x56e3fe(0x14c),Function),tslib_1[a0_0x56e3fe(0x125)](a0_0x56e3fe(0x16f),[String,Object]),tslib_1[a0_0x56e3fe(0x125)](a0_0x56e3fe(0x183),Promise)],OperatoToolCreateService[a0_0x56e3fe(0x130)],a0_0x56e3fe(0x155),null),OperatoToolCreateService=tslib_1[a0_0x56e3fe(0x15b)]([(0x0,type_graphql_1[a0_0x56e3fe(0xfe)])()],OperatoToolCreateService),exports['OperatoToolCreateService']=OperatoToolCreateService;const allIndex='\x0a/*\x20EXPORT\x20ENTITY\x20TYPES\x20*/\x0a\x0a/*\x20IMPORT\x20ENTITIES\x20AND\x20RESOLVERS\x20*/\x0a\x0aexport\x20const\x20entities\x20=\x20[\x20\x20\x0a\x20\x20/*\x20ENTITIES\x20*/\x0a]\x20\x0a\x0a\x0aexport\x20const\x20schema\x20=\x20{\x0a\x20\x20resolverClasses:\x20[\x0a\x20\x20\x20\x20/*\x20RESOLVER\x20CLASSES\x20*/\x0a\x20\x20]\x20\x0a}\x0a\x0aexport\x20const\x20subscribers\x20=\x20[\x0a\x20\x20/*\x20SUBSCRIBERS\x20*/\x0a]\x0a',serviceIndex='\x0aimport\x20{\x20{{pascalCase\x20name}}\x20}\x20from\x20\x27./{{name}}\x27\x0aimport\x20{\x20{{pascalCase\x20name}}Query\x20}\x20from\x20\x27./{{name}}-query\x27\x0aimport\x20{\x20{{pascalCase\x20name}}Mutation\x20}\x20from\x20\x27./{{name}}-mutation\x27\x0a\x0aexport\x20const\x20entities\x20=\x20[{{pascalCase\x20name}}]\x0aexport\x20const\x20resolvers\x20=\x20[{{pascalCase\x20name}}Query,\x20{{pascalCase\x20name}}Mutation]\x0a',serviceHistoryIndex='\x0aimport\x20{\x20{{pascalCase\x20name}}\x20}\x20from\x20\x27./{{name}}\x27\x0aimport\x20{\x20{{pascalCase\x20name}}Query\x20}\x20from\x20\x27./{{name}}-query\x27\x0aimport\x20{\x20{{pascalCase\x20name}}HistoryQuery\x20}\x20from\x20\x27./{{name}}-history-query\x27\x0aimport\x20{\x20{{pascalCase\x20name}}Mutation\x20}\x20from\x20\x27./{{name}}-mutation\x27\x0aimport\x20{\x20{{pascalCase\x20name}}History\x20}\x20from\x20\x27./{{name}}-history\x27\x0aimport\x20{\x20{{pascalCase\x20name}}HistoryEntitySubscriber\x20}\x20from\x20\x27./event-subscriber\x27\x0a\x0aexport\x20const\x20entities\x20=\x20[{{pascalCase\x20name}},\x20{{pascalCase\x20name}}History]\x0aexport\x20const\x20resolvers\x20=\x20[{{pascalCase\x20name}}Query,\x20{{pascalCase\x20name}}HistoryQuery,\x20{{pascalCase\x20name}}Mutation]\x0aexport\x20const\x20subscribers\x20=\x20[{{pascalCase\x20name}}HistoryEntitySubscriber]\x0a\x0a',serviceQuery=a0_0x56e3fe(0xfb),serviceHistoryQuery='\x0aimport\x20{\x20Resolver,\x20Query,\x20FieldResolver,\x20Root,\x20Args,\x20Arg,\x20Ctx,\x20Directive\x20}\x20from\x20\x27type-graphql\x27\x0aimport\x20{\x20Domain,\x20ListParam,\x20convertListParams,\x20getRepository,\x20getQueryBuilderFromListParams\x20}\x20from\x20\x27@things-factory/shell\x27\x0aimport\x20{\x20User\x20}\x20from\x20\x27@things-factory/auth-base\x27\x0aimport\x20{\x20{{pascalCase\x20name}}History\x20}\x20from\x20\x27./{{name}}-history\x27\x0aimport\x20{\x20{{pascalCase\x20name}}HistoryList\x20}\x20from\x20\x27./{{name}}-history-type\x27\x0a\x0a@Resolver({{pascalCase\x20name}}History)\x0aexport\x20class\x20{{pascalCase\x20name}}HistoryQuery\x20{\x0a\x20\x20@Query(returns\x20=>\x20{{pascalCase\x20name}}History,\x20{\x20description:\x20\x27To\x20fetch\x20a\x20{{pascalCase\x20name}}History\x27\x20})\x0a\x20\x20async\x20{{camelCase\x20name}}History(@Arg(\x27id\x27)\x20id:\x20string,\x20@Ctx()\x20context:\x20any):\x20Promise<{{pascalCase\x20name}}History>\x20{\x0a\x20\x20\x20\x20const\x20{\x20domain\x20}\x20=\x20context.state\x0a\x20\x20\x20\x20return\x20await\x20getRepository({{pascalCase\x20name}}History).findOne({\x0a\x20\x20\x20\x20\x20\x20where:\x20{\x20domain:\x20{\x20id:\x20domain.id\x20},\x20id\x20}\x0a\x20\x20\x20\x20})\x0a\x20\x20}\x0a\x0a\x20\x20@Query(returns\x20=>\x20{{pascalCase\x20name}}HistoryList,\x20{\x20description:\x20\x27To\x20fetch\x20multiple\x20{{pluralPascalCase\x20name}}History\x27\x20})\x0a\x20\x20async\x20{{camelCase\x20name}}Histories(@Args()\x20params:\x20ListParam,\x20@Ctx()\x20context:\x20any):\x20Promise<{{pascalCase\x20name}}HistoryList>\x20{\x0a\x20\x20\x20\x20const\x20{\x20domain\x20}\x20=\x20context.state\x0a\x0a\x20\x20\x20\x20const\x20queryBuilder\x20=\x20getQueryBuilderFromListParams({\x0a\x20\x20\x20\x20\x20\x20domain,\x0a\x20\x20\x20\x20\x20\x20params,\x0a\x20\x20\x20\x20\x20\x20repository:\x20await\x20getRepository({{pascalCase\x20name}}History)\x0a\x20\x20\x20\x20})\x0a\x0a\x20\x20\x20\x20const\x20[items,\x20total]\x20=\x20await\x20queryBuilder.getManyAndCount()\x0a\x0a\x20\x20\x20\x20return\x20{\x20items,\x20total\x20}\x0a\x20\x20}\x0a\x0a\x20\x20@FieldResolver(type\x20=>\x20Domain)\x0a\x20\x20async\x20domain(@Root()\x20{{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History):\x20Promise<Domain>\x20{\x0a\x20\x20\x20\x20return\x20await\x20getRepository(Domain).findOneBy({id:{{camelCase\x20name}}History.domainId})\x0a\x20\x20}\x0a\x0a\x20\x20@FieldResolver(type\x20=>\x20User)\x0a\x20\x20async\x20updater(@Root()\x20{{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History):\x20Promise<User>\x20{\x0a\x20\x20\x20\x20return\x20await\x20getRepository(User).findOneBy({id:{{camelCase\x20name}}History.updaterId})\x0a\x20\x20}\x0a\x0a\x20\x20@FieldResolver(type\x20=>\x20User)\x0a\x20\x20async\x20creator(@Root()\x20{{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History):\x20Promise<User>\x20{\x0a\x20\x20\x20\x20return\x20await\x20getRepository(User).findOneBy({id:{{camelCase\x20name}}History.creatorId})\x0a\x20\x20}\x0a}\x0a',serviceMutation=a0_0x56e3fe(0xfc),sereviceType=a0_0x56e3fe(0x131),sereviceHistoryType=a0_0x56e3fe(0x112),serviceEntity=a0_0x56e3fe(0x154),serviceEntityHistCopy=a0_0x56e3fe(0x10c),serviceEntityHistJson=a0_0x56e3fe(0x107),serviceEntitySubscriber='\x0aimport\x20{\x20EventSubscriber\x20}\x20from\x20\x27typeorm\x27\x0aimport\x20{\x20HistoryEntitySubscriber\x20}\x20from\x20\x27@operato/typeorm-history\x27\x0a\x0aimport\x20{\x20{{pascalCase\x20name}}\x20}\x20from\x20\x27./{{name}}\x27\x0aimport\x20{\x20{{pascalCase\x20name}}History\x20}\x20from\x20\x27./{{name}}-history\x27\x0aimport\x20{\x20getRepository\x20}\x20from\x20\x27@things-factory/shell\x27\x0a\x0a@EventSubscriber()\x0aexport\x20class\x20{{pascalCase\x20name}}HistoryEntitySubscriber\x20extends\x20HistoryEntitySubscriber<{{pascalCase\x20name}},{{pascalCase\x20name}}History>\x20{\x0a\x20\x20public\x20get\x20entity()\x20{\x0a\x20\x20\x20\x20return\x20{{pascalCase\x20name}}\x0a\x20\x20}\x0a\x0a\x20\x20public\x20get\x20historyEntity()\x20{\x0a\x20\x20\x20\x20return\x20{{pascalCase\x20name}}History\x0a\x20\x20}\x0a\x0a\x20\x20{{entityToJson}}\x0a\x0a\x20\x20async\x20beforeRemoveHistory(history:{{pascalCase\x20name}}History,entity:{{pascalCase\x20name}}){\x0a\x20\x20\x20\x20let\x20repo\x20=\x20getRepository({{pascalCase\x20name}}History);\x0a\x20\x20\x20\x20const\x20revNo\x20=\x20await\x20repo.createQueryBuilder()\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.select(\x27max(data_revision_no)\x27,\x20\x27rev_no\x27)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.where(\x27domain_id\x20=\x20:domainId\x27,\x20{\x20domainId:\x20entity.domain.id\x20})\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.andWhere(\x27original_id\x20=\x20:originalId\x27,\x20{\x20originalId:\x20entity.id\x20})\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.getRawOne()\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20history.dataRevisionNo\x20=\x20revNo\x20?\x20revNo.rev_no\x20+\x201\x20:\x201;\x0a\x20\x20\x20\x20return\x20history;\x0a\x20\x20}\x0a}\x0a';
|
|
1
|
+
'use strict';const a0_0x4e8664=a0_0x92d1;(function(_0x53f03f,_0x4a26d6){const _0x4d8541=a0_0x92d1,_0x12d29c=_0x53f03f();while(!![]){try{const _0x508caf=parseInt(_0x4d8541(0x1a9))/0x1*(parseInt(_0x4d8541(0x18d))/0x2)+parseInt(_0x4d8541(0x16e))/0x3*(-parseInt(_0x4d8541(0x161))/0x4)+parseInt(_0x4d8541(0x16c))/0x5+parseInt(_0x4d8541(0x1bb))/0x6+-parseInt(_0x4d8541(0x14d))/0x7+-parseInt(_0x4d8541(0x1b8))/0x8*(-parseInt(_0x4d8541(0x14b))/0x9)+-parseInt(_0x4d8541(0x191))/0xa;if(_0x508caf===_0x4a26d6)break;else _0x12d29c['push'](_0x12d29c['shift']());}catch(_0x3e2456){_0x12d29c['push'](_0x12d29c['shift']());}}}(a0_0x3f2e,0x2ad8c));Object[a0_0x4e8664(0x15c)](exports,'__esModule',{'value':!0x0}),exports[a0_0x4e8664(0x18f)]=void 0x0;function a0_0x3f2e(){const _0x4484ff=['createDir','2859530wwwHKX','createTypeText','createHistoryServiceFiles','PWD','pluralize','Entities,\x20resolvers\x20as\x20','{{camelCase\x20name}}.','double','pluralCamelCaseName','-type.ts','@things-factory/shell','__metadata','/*\x20SUBSCRIBERS\x20*/\x0a\x09\x09...','getProjectRootPath','uniqRank','Int','-query.ts','/service','EntitySubscribers,','number','colType','-history-query.ts','lodash','createHistoryEntityText','323096yGeMmS','-history\x27','creator','toolCreateService','-mutation.ts','float','design:returntype','__param','JSON','writeFile','indexOf','/event-subscriber.ts','updater_id','sort','colSize','472952zmAHYy','\x0aimport\x20{\x20{{pascalCase\x20name}}\x20}\x20from\x20\x27./{{name}}\x27\x0aimport\x20{\x20{{pascalCase\x20name}}Query\x20}\x20from\x20\x27./{{name}}-query\x27\x0aimport\x20{\x20{{pascalCase\x20name}}Mutation\x20}\x20from\x20\x27./{{name}}-mutation\x27\x0a\x0aexport\x20const\x20entities\x20=\x20[{{pascalCase\x20name}}]\x0aexport\x20const\x20resolvers\x20=\x20[{{pascalCase\x20name}}Query,\x20{{pascalCase\x20name}}Mutation]\x0a','\x20})','197454WMPjJT','.ts','design:type','\x0a\x20\x20@VersionColumn({\x20default:\x201\x20})\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20dataRevisionNo?:\x20number\x20=\x201','date','\x0aimport\x20{\x0a\x20\x20CreateDateColumn,\x0a\x20\x20UpdateDateColumn,\x0a\x20\x20Entity,\x0a\x20\x20Index,\x0a\x20\x20Column,\x0a\x20\x20RelationId,\x0a\x20\x20ManyToOne,\x0a\x20\x20PrimaryGeneratedColumn,\x0a\x20\x20VersionColumn\x0a}\x20from\x20\x27typeorm\x27\x0a\x0aimport\x20{\x0a\x20\x20HistoryActionColumn,\x0a\x20\x20HistoryActionType,\x0a\x20\x20HistoryEntityInterface,\x0a\x20\x20HistoryOriginalIdColumn\x0a}\x20from\x20\x27@operato/typeorm-history\x27\x0a\x0aimport\x20{\x20ObjectType,\x20Field,\x20Int,\x20ID,\x20Float,\x20registerEnumType\x20}\x20from\x20\x27type-graphql\x27\x0a\x0aimport\x20{\x20config\x20}\x20from\x20\x27@things-factory/env\x27\x0aimport\x20{\x20Domain,\x20ScalarObject\x20}\x20from\x20\x27@things-factory/shell\x27\x0aimport\x20{\x20User\x20}\x20from\x20\x27@things-factory/auth-base\x27\x0a\x0aconst\x20ORMCONFIG\x20=\x20config.get(\x27ormconfig\x27,\x20{})\x0aconst\x20DATABASE_TYPE\x20=\x20ORMCONFIG.type\x0a\x0aimport\x20{\x20{{pascalCase\x20name}}\x20}\x20from\x20\x27./{{name}}\x27\x0a\x0a@Entity(\x27{{tableName}}_histories\x27)\x0a@Index(\x27ix_{{snakeCase\x20name}}_histories_0\x27,\x20({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20[{{camelCase\x20name}}History.originalId,{{camelCase\x20name}}History.dataRevisionNo],\x20{\x20unique:\x20true\x20})\x0a@Index(\x27ix_{{snakeCase\x20name}}_histories_1\x27,\x20({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20[{{camelCase\x20name}}History.originalId\x20],\x20{\x20unique:\x20false\x20})\x0a@Index(\x27ix_{{snakeCase\x20name}}_histories_2\x27,\x20({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20[{{camelCase\x20name}}History.domain,\x20{{camelCase\x20name}}History.originalId\x20],\x20{\x20unique:\x20false\x20})\x0a@Index(\x27ix_{{snakeCase\x20name}}_histories_3\x27,\x20({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20[{{camelCase\x20name}}History.domain,\x20{{camelCase\x20name}}History.originalId,\x20{{camelCase\x20name}}History.dataRevisionNo],\x20{\x20unique:\x20true\x20})\x0a@ObjectType({\x20description:\x20\x27Entity\x20for\x20{{pascalCase\x20name}}History\x27\x20})\x0aexport\x20class\x20{{pascalCase\x20name}}History\x20\x20implements\x20HistoryEntityInterface<{{pascalCase\x20name}}>{\x0a\x20\x20@PrimaryGeneratedColumn(\x27uuid\x27)\x0a\x20\x20@Field(type\x20=>\x20ID)\x0a\x20\x20readonly\x20id:\x20string\x0a\x0a\x20\x20@ManyToOne(type\x20=>\x20Domain,\x20{\x0a\x20\x20\x20\x20createForeignKeyConstraints:\x20false\x0a\x20\x20})\x0a\x20\x20@Field({\x20nullable:\x20false\x20})\x0a\x20\x20domain:\x20Domain\x0a\x0a\x20\x20@RelationId(({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20{{camelCase\x20name}}History.domain)\x0a\x20\x20domainId:\x20string\x0a\x0a\x20\x20@HistoryOriginalIdColumn({type:\x20\x27character\x20varying\x27,\x20nullable:\x20false\x20,length:40})\x0a\x20\x20@Field({\x20nullable:\x20false\x20})\x0a\x20\x20public\x20originalId!:\x20string\x0a\x0a\x20\x20@HistoryActionColumn({\x0a\x20\x20\x20\x20nullable:\x20false,\x0a\x20\x20\x20\x20type:\x0a\x20\x20\x20\x20\x20\x20DATABASE_TYPE\x20==\x20\x27postgres\x27\x20||\x20DATABASE_TYPE\x20==\x20\x27mysql\x27\x20||\x20DATABASE_TYPE\x20==\x20\x27mariadb\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27enum\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20:\x20DATABASE_TYPE\x20==\x20\x27oracle\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27varchar2\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20:\x20\x27smallint\x27,\x0a\x20\x20\x20\x20enum:\x20HistoryActionType\x0a\x20\x20})\x0a\x20\x20@Field({\x20nullable:\x20false\x20})\x0a\x20\x20public\x20dataRevisionAction!:\x20HistoryActionType\x0a\x0a\x0a\x20\x20@Column({\x20default:\x201,\x20nullable:\x20false\x20})\x0a\x20\x20@Field({\x20nullable:\x20false\x20})\x0a\x20\x20dataRevisionNo?:\x20number\x20=\x201\x0a\x0a\x20\x20@Column(\x27simple-json\x27,\x20{\x20nullable:\x20true\x20})\x0a\x20\x20@Field(type\x20=>\x20ScalarObject,\x20{\x20nullable:\x20true\x20})\x0a\x20\x20historyJson?:\x20any\x0a\x0a\x20\x20@CreateDateColumn()\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20createdAt?:\x20Date\x0a\x0a\x20\x20@UpdateDateColumn()\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20updatedAt?:\x20Date\x0a\x0a\x20\x20@ManyToOne(type\x20=>\x20User,\x20{\x0a\x20\x20\x20\x20createForeignKeyConstraints:\x20false,\x0a\x20\x20\x20\x20nullable:\x20true\x0a\x20\x20})\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20creator?:\x20User\x0a\x0a\x20\x20@RelationId(({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20{{camelCase\x20name}}History.creator)\x0a\x20\x20creatorId?:\x20string\x0a\x0a\x20\x20@ManyToOne(type\x20=>\x20User,\x20{\x0a\x20\x20\x20\x20createForeignKeyConstraints:\x20false,\x0a\x20\x20\x20\x20nullable:\x20true\x0a\x20\x20})\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20updater?:\x20User\x0a\x0a\x20\x20@RelationId(({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20{{camelCase\x20name}}History.updater)\x0a\x20\x20updaterId?:\x20string\x0a}\x0a','pluralPascalCaseName','bigint','Date','/*\x20RESOLVER\x20CLASSES\x20*/\x0a\x09\x09...','createEntityText','created_at','Resolvers,\x20subscribers\x20as\x20','split','Ctx','name','createServiceFiles','long','existsPath','state','/*\x20ENTITIES\x20*/\x0a\x09...','dataProp','Entities,','map','\x0aimport\x20{\x20Resolver,\x20Query,\x20FieldResolver,\x20Root,\x20Args,\x20Arg,\x20Ctx,\x20Directive\x20}\x20from\x20\x27type-graphql\x27\x0aimport\x20{\x20Domain,\x20ListParam,\x20convertListParams,\x20getRepository,\x20getQueryBuilderFromListParams\x20}\x20from\x20\x27@things-factory/shell\x27\x0aimport\x20{\x20User\x20}\x20from\x20\x27@things-factory/auth-base\x27\x0aimport\x20{\x20{{pascalCase\x20name}}History\x20}\x20from\x20\x27./{{name}}-history\x27\x0aimport\x20{\x20{{pascalCase\x20name}}HistoryList\x20}\x20from\x20\x27./{{name}}-history-type\x27\x0a\x0a@Resolver({{pascalCase\x20name}}History)\x0aexport\x20class\x20{{pascalCase\x20name}}HistoryQuery\x20{\x0a\x20\x20@Query(returns\x20=>\x20{{pascalCase\x20name}}History,\x20{\x20description:\x20\x27To\x20fetch\x20a\x20{{pascalCase\x20name}}History\x27\x20})\x0a\x20\x20async\x20{{camelCase\x20name}}History(@Arg(\x27id\x27)\x20id:\x20string,\x20@Ctx()\x20context:\x20any):\x20Promise<{{pascalCase\x20name}}History>\x20{\x0a\x20\x20\x20\x20const\x20{\x20domain\x20}\x20=\x20context.state\x0a\x20\x20\x20\x20return\x20await\x20getRepository({{pascalCase\x20name}}History).findOne({\x0a\x20\x20\x20\x20\x20\x20where:\x20{\x20domain:\x20{\x20id:\x20domain.id\x20},\x20id\x20}\x0a\x20\x20\x20\x20})\x0a\x20\x20}\x0a\x0a\x20\x20@Query(returns\x20=>\x20{{pascalCase\x20name}}HistoryList,\x20{\x20description:\x20\x27To\x20fetch\x20multiple\x20{{pluralPascalCase\x20name}}History\x27\x20})\x0a\x20\x20async\x20{{camelCase\x20name}}Histories(@Args()\x20params:\x20ListParam,\x20@Ctx()\x20context:\x20any):\x20Promise<{{pascalCase\x20name}}HistoryList>\x20{\x0a\x20\x20\x20\x20const\x20{\x20domain\x20}\x20=\x20context.state\x0a\x0a\x20\x20\x20\x20const\x20queryBuilder\x20=\x20getQueryBuilderFromListParams({\x0a\x20\x20\x20\x20\x20\x20domain,\x0a\x20\x20\x20\x20\x20\x20params,\x0a\x20\x20\x20\x20\x20\x20repository:\x20await\x20getRepository({{pascalCase\x20name}}History)\x0a\x20\x20\x20\x20})\x0a\x0a\x20\x20\x20\x20const\x20[items,\x20total]\x20=\x20await\x20queryBuilder.getManyAndCount()\x0a\x0a\x20\x20\x20\x20return\x20{\x20items,\x20total\x20}\x0a\x20\x20}\x0a\x0a\x20\x20@FieldResolver(type\x20=>\x20Domain)\x0a\x20\x20async\x20domain(@Root()\x20{{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History):\x20Promise<Domain>\x20{\x0a\x20\x20\x20\x20return\x20await\x20getRepository(Domain).findOneBy({id:{{camelCase\x20name}}History.domainId})\x0a\x20\x20}\x0a\x0a\x20\x20@FieldResolver(type\x20=>\x20User)\x0a\x20\x20async\x20updater(@Root()\x20{{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History):\x20Promise<User>\x20{\x0a\x20\x20\x20\x20return\x20await\x20getRepository(User).findOneBy({id:{{camelCase\x20name}}History.updaterId})\x0a\x20\x20}\x0a\x0a\x20\x20@FieldResolver(type\x20=>\x20User)\x0a\x20\x20async\x20creator(@Root()\x20{{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History):\x20Promise<User>\x20{\x0a\x20\x20\x20\x20return\x20await\x20getRepository(User).findOneBy({id:{{camelCase\x20name}}History.creatorId})\x0a\x20\x20}\x0a}\x0a','nullable','Query','getFieldType','index.ts','18EJplSi','integer','1452808mEufdC','Float','string','filter','updated_at','export\x20*\x20from\x20\x27./','/server/service/','decimal','...','/*\x20IMPORT\x20ENTITIES\x20AND\x20RESOLVERS\x20*/\x0aimport\x20{\x20entities\x20as\x20','packages','COPY','-history.ts','__decorate','columnToEntityColumn','defineProperty','Resolvers,','getRepository','-history-type.ts','type\x20=>','16624oEGWqj','Arg','Operato\x20Tool\x20Create\x20Service','\x20{\x20nullable:\x20','\x27,\x20nullable:\x20','design:paramtypes','replace','utf8','@Field(','/*\x20EXPORT\x20ENTITY\x20TYPES\x20*/\x0aexport\x20*\x20from\x20\x27./','datetime','1638730YvoLTw','pascalCaseName','96RWngOh','import\x20{\x20entities\x20as\x20','domain','\x0aimport\x20{\x20EventSubscriber\x20}\x20from\x20\x27typeorm\x27\x0aimport\x20{\x20HistoryEntitySubscriber\x20}\x20from\x20\x27@operato/typeorm-history\x27\x0a\x0aimport\x20{\x20{{pascalCase\x20name}}\x20}\x20from\x20\x27./{{name}}\x27\x0aimport\x20{\x20{{pascalCase\x20name}}History\x20}\x20from\x20\x27./{{name}}-history\x27\x0aimport\x20{\x20getRepository\x20}\x20from\x20\x27@things-factory/shell\x27\x0a\x0a@EventSubscriber()\x0aexport\x20class\x20{{pascalCase\x20name}}HistoryEntitySubscriber\x20extends\x20HistoryEntitySubscriber<{{pascalCase\x20name}},{{pascalCase\x20name}}History>\x20{\x0a\x20\x20public\x20get\x20entity()\x20{\x0a\x20\x20\x20\x20return\x20{{pascalCase\x20name}}\x0a\x20\x20}\x0a\x0a\x20\x20public\x20get\x20historyEntity()\x20{\x0a\x20\x20\x20\x20return\x20{{pascalCase\x20name}}History\x0a\x20\x20}\x0a\x0a\x20\x20{{entityToJson}}\x0a\x0a\x20\x20async\x20beforeRemoveHistory(history:{{pascalCase\x20name}}History,entity:{{pascalCase\x20name}}){\x0a\x20\x20\x20\x20let\x20repo\x20=\x20getRepository({{pascalCase\x20name}}History);\x0a\x20\x20\x20\x20const\x20revNo\x20=\x20await\x20repo.createQueryBuilder()\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.select(\x27max(data_revision_no)\x27,\x20\x27rev_no\x27)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.where(\x27domain_id\x20=\x20:domainId\x27,\x20{\x20domainId:\x20entity.domain.id\x20})\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.andWhere(\x27original_id\x20=\x20:originalId\x27,\x20{\x20originalId:\x20entity.id\x20})\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20.getRawOne()\x0a\x20\x20\x20\x20\x0a\x20\x20\x20\x20history.dataRevisionNo\x20=\x20revNo\x20?\x20revNo.rev_no\x20+\x201\x20:\x201;\x0a\x20\x20\x20\x20return\x20history;\x0a\x20\x20}\x0a}\x0a','snakeCaseName','tableName','\x0a/*\x20EXPORT\x20ENTITY\x20TYPES\x20*/\x0a\x0a/*\x20IMPORT\x20ENTITIES\x20AND\x20RESOLVERS\x20*/\x0a\x0aexport\x20const\x20entities\x20=\x20[\x20\x20\x0a\x20\x20/*\x20ENTITIES\x20*/\x0a]\x20\x0a\x0a\x0aexport\x20const\x20schema\x20=\x20{\x0a\x20\x20resolverClasses:\x20[\x0a\x20\x20\x20\x20/*\x20RESOLVER\x20CLASSES\x20*/\x0a\x20\x20]\x20\x0a}\x0a\x0aexport\x20const\x20subscribers\x20=\x20[\x0a\x20\x20/*\x20SUBSCRIBERS\x20*/\x0a]\x0a','\x27,\x20type:\x20\x27','@Index(\x27ix_{{snakeCase\x20name}}_0\x27,\x20({{camelCase\x20name}}:\x20{{pascalCase\x20name}})\x20=>\x20[{{indexColumns}}],\x20{\x20unique:\x20true\x20})','getColTxtType','findOne','length','camelCaseName','\x0aimport\x20{\x0a\x20\x20CreateDateColumn,\x0a\x20\x20UpdateDateColumn,\x0a\x20\x20Entity,\x0a\x20\x20Index,\x0a\x20\x20Column,\x0a\x20\x20RelationId,\x0a\x20\x20ManyToOne,\x0a\x20\x20PrimaryGeneratedColumn,\x0a\x20\x20VersionColumn\x0a}\x20from\x20\x27typeorm\x27\x0aimport\x20{\x20ObjectType,\x20Field,\x20Int,\x20ID,\x20Float,\x20registerEnumType\x20}\x20from\x20\x27type-graphql\x27\x0a\x0aimport\x20{\x20Domain\x20}\x20from\x20\x27@things-factory/shell\x27\x0aimport\x20{\x20User\x20}\x20from\x20\x27@things-factory/auth-base\x27\x0a\x0a@Entity(\x27{{tableName}}\x27)\x0a{{indexAnn}}\x0a@ObjectType({\x20description:\x20\x27Entity\x20for\x20{{pascalCase\x20name}}\x27\x20})\x0aexport\x20class\x20{{pascalCase\x20name}}\x20{\x0a\x20\x20@PrimaryGeneratedColumn(\x27uuid\x27)\x0a\x20\x20@Field(type\x20=>\x20ID)\x0a\x20\x20readonly\x20id:\x20string\x0a\x0a\x20\x20@ManyToOne(type\x20=>\x20Domain,\x20{\x0a\x20\x20\x20\x20createForeignKeyConstraints:\x20false\x0a\x20\x20})\x0a\x20\x20@Field({\x20nullable:\x20false\x20})\x0a\x20\x20domain:\x20Domain\x0a\x0a\x20\x20@RelationId(({{camelCase\x20name}}:\x20{{pascalCase\x20name}})\x20=>\x20{{camelCase\x20name}}.domain)\x0a\x20\x20domainId:\x20string\x0a\x0a{{entityColumns}}\x0a\x0a\x20\x20@CreateDateColumn()\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20createdAt?:\x20Date\x0a\x0a\x20\x20@UpdateDateColumn()\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20updatedAt?:\x20Date\x0a\x0a\x20\x20@ManyToOne(type\x20=>\x20User,\x20{\x0a\x20\x20\x20\x20createForeignKeyConstraints:\x20false,\x0a\x20\x20\x20\x20nullable:\x20true\x0a\x20\x20})\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20creator?:\x20User\x0a\x0a\x20\x20@RelationId(({{camelCase\x20name}}:\x20{{pascalCase\x20name}})\x20=>\x20{{camelCase\x20name}}.creator)\x0a\x20\x20creatorId?:\x20string\x0a\x0a\x20\x20@ManyToOne(type\x20=>\x20User,\x20{\x0a\x20\x20\x20\x20createForeignKeyConstraints:\x20false,\x0a\x20\x20\x20\x20nullable:\x20true\x0a\x20\x20})\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20updater?:\x20User\x0a\x0a\x20\x20@RelationId(({{camelCase\x20name}}:\x20{{pascalCase\x20name}})\x20=>\x20{{camelCase\x20name}}.updater)\x0a\x20\x20updaterId?:\x20string\x0a}\x0a','\x0aimport\x20{\x20ObjectType,\x20Field,\x20InputType,\x20Int,\x20ID,\x20Float,\x20registerEnumType\x20}\x20from\x20\x27type-graphql\x27\x0a\x0aimport\x20{\x20{{pascalCase\x20name}}History\x20}\x20from\x20\x27./{{name}}-history\x27\x0a\x0a@ObjectType()\x0aexport\x20class\x20{{pascalCase\x20name}}HistoryList\x20{\x0a\x20\x20@Field(type\x20=>\x20[{{pascalCase\x20name}}History])\x0a\x20\x20items:\x20{{pascalCase\x20name}}History[]\x0a\x0a\x20\x20@Field(type\x20=>\x20Int)\x0a\x20\x20total:\x20number\x0a}\x0a','/index.ts','character\x20varying','/packages/','Resolvers\x20}\x20from\x20\x27./','find','includes','readFileSync','creator_id','join','Entity','\x0aimport\x20{\x20{{pascalCase\x20name}}\x20}\x20from\x20\x27./{{name}}\x27\x0aimport\x20{\x20{{pascalCase\x20name}}Query\x20}\x20from\x20\x27./{{name}}-query\x27\x0aimport\x20{\x20{{pascalCase\x20name}}HistoryQuery\x20}\x20from\x20\x27./{{name}}-history-query\x27\x0aimport\x20{\x20{{pascalCase\x20name}}Mutation\x20}\x20from\x20\x27./{{name}}-mutation\x27\x0aimport\x20{\x20{{pascalCase\x20name}}History\x20}\x20from\x20\x27./{{name}}-history\x27\x0aimport\x20{\x20{{pascalCase\x20name}}HistoryEntitySubscriber\x20}\x20from\x20\x27./event-subscriber\x27\x0a\x0aexport\x20const\x20entities\x20=\x20[{{pascalCase\x20name}},\x20{{pascalCase\x20name}}History]\x0aexport\x20const\x20resolvers\x20=\x20[{{pascalCase\x20name}}Query,\x20{{pascalCase\x20name}}HistoryQuery,\x20{{pascalCase\x20name}}Mutation]\x0aexport\x20const\x20subscribers\x20=\x20[{{pascalCase\x20name}}HistoryEntitySubscriber]\x0a\x0a','\x0a\x20\x20public\x20createHistoryEntity(manager,\x20entity)\x20{\x0a\x20\x20\x20\x20let\x20history\x20=\x20manager.create(this.historyEntity,\x20entity);\x0a\x20\x20\x20\x20history.historyJson\x20=\x20JSON.stringify(entity);\x0a\x20\x20\x20\x20return\x20history;\x0a\x20\x20}\x0a\x20\x20\x20\x20\x20\x20\x20\x20','\x0a\x20\x20','EntitySubscribers\x20}\x20from\x20\x27./','createServicePath','rank','2wwpAyi','domain_id','OperatoToolCreateService'];a0_0x3f2e=function(){return _0x4484ff;};return a0_0x3f2e();}const tslib_1=require('tslib'),type_graphql_1=require('type-graphql'),shell_1=require(a0_0x4e8664(0x19b)),resource_base_1=require('@things-factory/resource-base'),{camelCase:camelCase,startCase:startCase,snakeCase:snakeCase,kebabCase:kebabCase}=require(a0_0x4e8664(0x1a7)),{plural:plural}=require(a0_0x4e8664(0x195)),fs=require('fs');let OperatoToolCreateService=class{async[a0_0x4e8664(0x1ac)](_0x70bca7,_0x67e00b){const _0x3235da=a0_0x4e8664,{domain:_0x2f5420}=_0x67e00b[_0x3235da(0x141)],_0x1f164d=await(0x0,shell_1['getRepository'])(resource_base_1[_0x3235da(0x186)])[_0x3235da(0x178)]({'where':{'id':_0x70bca7}}),_0x12e3a5=await(0x0,shell_1[_0x3235da(0x15e)])(resource_base_1['EntityColumn'])[_0x3235da(0x181)]({'where':{'domain':{'id':_0x2f5420['id']},'entity':{'id':_0x1f164d['id']}}});let {name:_0x5c7821='',bundle:_0x1e87d1=''}=_0x1f164d||{},_0x582a48=this['getProjectRootPath'](),_0x53fc00=kebabCase(_0x5c7821);return await this[_0x3235da(0x18b)](_0x582a48,_0x1e87d1,_0x53fc00),await this[_0x3235da(0x13e)](_0x582a48,_0x1e87d1,_0x5c7821,_0x53fc00,_0x1f164d,_0x12e3a5),!0x0;}async[a0_0x4e8664(0x13e)](_0x82c1db,_0x5174df,_0x390eab,_0x5938f9,_0x4d07d1,_0x577b79){const _0xd6bfb0=a0_0x4e8664;let _0x305abd={'name':_0x5938f9,'tableName':_0x4d07d1[_0xd6bfb0(0x173)],'pascalCaseName':startCase(camelCase(_0x390eab))['replace'](/ /g,''),'camelCaseName':camelCase(_0x390eab),'snakeCaseName':snakeCase(_0x390eab),'pluralPascalCaseName':startCase(camelCase(plural(_0x390eab)))[_0xd6bfb0(0x167)](/ /g,''),'pluralCamelCaseName':camelCase(plural(_0x390eab))},_0xe68ff9=_0x82c1db+_0xd6bfb0(0x17f)+_0x5174df+_0xd6bfb0(0x153);[_0xd6bfb0(0x1b1),_0xd6bfb0(0x158)][_0xd6bfb0(0x182)](_0x4d07d1[_0xd6bfb0(0x143)])?await this[_0xd6bfb0(0x193)](_0xe68ff9,_0x5938f9,_0x4d07d1,_0x577b79,_0x305abd):await this['createNoHistoryServiceFiels'](_0xe68ff9,_0x5938f9,_0x4d07d1,_0x577b79,_0x305abd);}async[a0_0x4e8664(0x193)](_0x1ee64b,_0x260a5b,_0x7d9f4c,_0x421ec3,_0x336855){const _0x1fafc5=a0_0x4e8664;await this[_0x1fafc5(0x1b2)](_0x1ee64b+(_0x260a5b+_0x1fafc5(0x17d)),serviceHistoryIndex,_0x336855);let _0x539107=this[_0x1fafc5(0x138)](_0x7d9f4c,_0x421ec3);await this['writeFile'](_0x1ee64b+(_0x260a5b+'/'+_0x260a5b+'.ts'),_0x539107,_0x336855),await this[_0x1fafc5(0x1b2)](_0x1ee64b+(_0x260a5b+'/'+_0x260a5b+_0x1fafc5(0x1a1)),serviceQuery,_0x336855),await this[_0x1fafc5(0x1b2)](_0x1ee64b+(_0x260a5b+'/'+_0x260a5b+_0x1fafc5(0x1ad)),serviceMutation,_0x336855);let _0x27441b=this['createTypeText'](_0x421ec3);await this[_0x1fafc5(0x1b2)](_0x1ee64b+(_0x260a5b+'/'+_0x260a5b+_0x1fafc5(0x19a)),_0x27441b,_0x336855);let _0x39c958=this[_0x1fafc5(0x1a8)](_0x7d9f4c,_0x421ec3);await this[_0x1fafc5(0x1b2)](_0x1ee64b+(_0x260a5b+'/'+_0x260a5b+_0x1fafc5(0x159)),_0x39c958,_0x336855);let _0x1b9a30='';_0x1fafc5(0x1b1)==_0x7d9f4c[_0x1fafc5(0x143)]?(_0x1b9a30=_0x1fafc5(0x188),await this[_0x1fafc5(0x1b2)](_0x1ee64b+(_0x260a5b+_0x1fafc5(0x1b4)),serviceEntitySubscriber,_0x336855)):_0x1b9a30='';let _0x292ccd=serviceEntitySubscriber[_0x1fafc5(0x167)](/{{entityToJson}}/g,_0x1b9a30);await this['writeFile'](_0x1ee64b+(_0x260a5b+_0x1fafc5(0x1b4)),_0x292ccd,_0x336855),await this[_0x1fafc5(0x1b2)](_0x1ee64b+(_0x260a5b+'/'+_0x260a5b+_0x1fafc5(0x1a6)),serviceHistoryQuery,_0x336855),await this['writeFile'](_0x1ee64b+(_0x260a5b+'/'+_0x260a5b+_0x1fafc5(0x15f)),sereviceHistoryType,_0x336855);let _0x3d631e=_0x1ee64b+_0x1fafc5(0x14a);0x0==await this['existsPath'](_0x3d631e)&&await this[_0x1fafc5(0x1b2)](_0x3d631e,allIndex,_0x336855);let _0x2ad311=await fs[_0x1fafc5(0x183)](_0x3d631e,_0x1fafc5(0x168));_0x2ad311['indexOf'](_0x1fafc5(0x152)+_0x336855[_0x1fafc5(0x13d)]+'/'+_0x336855[_0x1fafc5(0x13d)]+_0x1fafc5(0x1aa))<0x0&&(_0x2ad311=_0x2ad311[_0x1fafc5(0x167)](/\/\* EXPORT ENTITY TYPES \*\//,'/*\x20EXPORT\x20ENTITY\x20TYPES\x20*/\x0aexport\x20*\x20from\x20\x27./'+_0x336855[_0x1fafc5(0x13d)]+'/'+_0x336855[_0x1fafc5(0x13d)]+'-history\x27')),_0x2ad311[_0x1fafc5(0x1b3)](_0x1fafc5(0x152)+_0x336855[_0x1fafc5(0x13d)]+'/'+_0x336855[_0x1fafc5(0x13d)]+'\x27')<0x0&&(_0x2ad311=_0x2ad311[_0x1fafc5(0x167)](/\/\* EXPORT ENTITY TYPES \*\//,_0x1fafc5(0x16a)+_0x336855['name']+'/'+_0x336855['name']+'\x27')),_0x2ad311[_0x1fafc5(0x1b3)]('import\x20{\x20entities\x20as\x20'+_0x336855[_0x1fafc5(0x16d)]+'Entities,\x20resolvers\x20as\x20'+_0x336855[_0x1fafc5(0x16d)]+_0x1fafc5(0x13a)+_0x336855[_0x1fafc5(0x16d)]+_0x1fafc5(0x18a)+_0x336855[_0x1fafc5(0x13d)]+'\x27')<0x0&&(_0x2ad311=_0x2ad311['replace'](/\/\* IMPORT ENTITIES AND RESOLVERS \*\//,_0x1fafc5(0x156)+_0x336855[_0x1fafc5(0x16d)]+_0x1fafc5(0x196)+_0x336855['pascalCaseName']+'Resolvers,\x20subscribers\x20as\x20'+_0x336855[_0x1fafc5(0x16d)]+_0x1fafc5(0x18a)+_0x336855[_0x1fafc5(0x13d)]+'\x27')),_0x2ad311['indexOf']('...'+_0x336855[_0x1fafc5(0x16d)]+_0x1fafc5(0x144))<0x0&&(_0x2ad311=_0x2ad311[_0x1fafc5(0x167)](/\/\* ENTITIES \*\//,_0x1fafc5(0x142)+_0x336855['pascalCaseName']+_0x1fafc5(0x144))),_0x2ad311[_0x1fafc5(0x1b3)](_0x1fafc5(0x155)+_0x336855[_0x1fafc5(0x16d)]+_0x1fafc5(0x15d))<0x0&&(_0x2ad311=_0x2ad311[_0x1fafc5(0x167)](/\/\* RESOLVER CLASSES \*\//,_0x1fafc5(0x137)+_0x336855[_0x1fafc5(0x16d)]+_0x1fafc5(0x15d))),_0x2ad311['indexOf'](_0x1fafc5(0x155)+_0x336855[_0x1fafc5(0x16d)]+_0x1fafc5(0x1a3))<0x0&&(_0x2ad311=_0x2ad311[_0x1fafc5(0x167)](/\/\* SUBSCRIBERS \*\//,_0x1fafc5(0x19d)+_0x336855[_0x1fafc5(0x16d)]+_0x1fafc5(0x1a3))),await this[_0x1fafc5(0x1b2)](_0x3d631e,_0x2ad311,_0x336855);}async['createNoHistoryServiceFiels'](_0x1f67fc,_0x21b491,_0x14113b,_0x1efe0a,_0x12e406){const _0x56eff3=a0_0x4e8664;await this['writeFile'](_0x1f67fc+(_0x21b491+'/index.ts'),serviceIndex,_0x12e406),await this[_0x56eff3(0x1b2)](_0x1f67fc+(_0x21b491+'/'+_0x21b491+_0x56eff3(0x1a1)),serviceQuery,_0x12e406),await this['writeFile'](_0x1f67fc+(_0x21b491+'/'+_0x21b491+_0x56eff3(0x1ad)),serviceMutation,_0x12e406);let _0x7e5605=this['createEntityText'](_0x14113b,_0x1efe0a);await this[_0x56eff3(0x1b2)](_0x1f67fc+(_0x21b491+'/'+_0x21b491+_0x56eff3(0x1bc)),_0x7e5605,_0x12e406);let _0x3718c6=this[_0x56eff3(0x192)](_0x1efe0a);await this['writeFile'](_0x1f67fc+(_0x21b491+'/'+_0x21b491+_0x56eff3(0x19a)),_0x3718c6,_0x12e406);let _0x4f1583=_0x1f67fc+_0x56eff3(0x14a);0x0==await this[_0x56eff3(0x140)](_0x4f1583)&&await this[_0x56eff3(0x1b2)](_0x4f1583,allIndex,_0x12e406);let _0x2f0290=await fs[_0x56eff3(0x183)](_0x4f1583,_0x56eff3(0x168));_0x2f0290[_0x56eff3(0x1b3)](_0x56eff3(0x152)+_0x12e406[_0x56eff3(0x13d)]+'/'+_0x12e406[_0x56eff3(0x13d)]+'\x27')<0x0&&(_0x2f0290=_0x2f0290[_0x56eff3(0x167)](/\/\* EXPORT ENTITY TYPES \*\//,_0x56eff3(0x16a)+_0x12e406[_0x56eff3(0x13d)]+'/'+_0x12e406[_0x56eff3(0x13d)]+'\x27')),_0x2f0290[_0x56eff3(0x1b3)](_0x56eff3(0x16f)+_0x12e406[_0x56eff3(0x16d)]+_0x56eff3(0x196)+_0x12e406['pascalCaseName']+_0x56eff3(0x180)+_0x12e406['name']+'\x27')<0x0&&(_0x2f0290=_0x2f0290[_0x56eff3(0x167)](/\/\* IMPORT ENTITIES AND RESOLVERS \*\//,_0x56eff3(0x156)+_0x12e406[_0x56eff3(0x16d)]+'Entities,\x20resolvers\x20as\x20'+_0x12e406['pascalCaseName']+_0x56eff3(0x180)+_0x12e406[_0x56eff3(0x13d)]+'\x27')),_0x2f0290[_0x56eff3(0x1b3)](_0x56eff3(0x155)+_0x12e406[_0x56eff3(0x16d)]+_0x56eff3(0x144))<0x0&&(_0x2f0290=_0x2f0290[_0x56eff3(0x167)](/\/\* ENTITIES \*\//,'/*\x20ENTITIES\x20*/\x0a\x09...'+_0x12e406[_0x56eff3(0x16d)]+_0x56eff3(0x144))),_0x2f0290[_0x56eff3(0x1b3)](_0x56eff3(0x155)+_0x12e406[_0x56eff3(0x16d)]+_0x56eff3(0x15d))<0x0&&(_0x2f0290=_0x2f0290['replace'](/\/\* RESOLVER CLASSES \*\//,'/*\x20RESOLVER\x20CLASSES\x20*/\x0a\x09\x09...'+_0x12e406[_0x56eff3(0x16d)]+'Resolvers,')),await this[_0x56eff3(0x1b2)](_0x4f1583,_0x2f0290,_0x12e406);}[a0_0x4e8664(0x192)](_0x369286){const _0x4eb829=a0_0x4e8664;let _0x194b25=sereviceType,_0x23c326=_0x369286[_0x4eb829(0x145)](_0x1142a9=>{const _0xe3167=_0x4eb829;if('id'==_0x1142a9[_0xe3167(0x13d)])return'';if(_0xe3167(0x18e)==_0x1142a9[_0xe3167(0x13d)])return'';if(_0xe3167(0x139)==_0x1142a9[_0xe3167(0x13d)])return'';if(_0xe3167(0x151)==_0x1142a9['name'])return'';if(_0xe3167(0x184)==_0x1142a9[_0xe3167(0x13d)])return'';if(_0xe3167(0x1b5)==_0x1142a9[_0xe3167(0x13d)])return'';let _0x13967c=this[_0xe3167(0x149)](_0x1142a9),_0x5d6448=this[_0xe3167(0x177)](_0x1142a9),_0x393ad1=camelCase(_0x1142a9[_0xe3167(0x13d)]);return'\x20\x20'+('@Field('+(0x0==_0x13967c['length']?'':_0xe3167(0x160)+_0x13967c+',')+_0xe3167(0x164)+_0x1142a9['nullable']+_0xe3167(0x1ba))+_0xe3167(0x189)+(''+_0x393ad1+(_0x1142a9[_0xe3167(0x147)]?'?':'')+':\x20'+_0x5d6448)+'\x0a';});_0x194b25=_0x194b25[_0x4eb829(0x167)](/{{newTypeColumns}}/g,_0x23c326['join']('\x0a'));let _0x15adf6=_0x369286[_0x4eb829(0x145)](_0x57cad0=>{const _0x38327b=_0x4eb829;if('id'==_0x57cad0[_0x38327b(0x13d)])return'';if(_0x38327b(0x18e)==_0x57cad0[_0x38327b(0x13d)])return'';if(_0x38327b(0x139)==_0x57cad0['name'])return'';if(_0x38327b(0x151)==_0x57cad0[_0x38327b(0x13d)])return'';if(_0x38327b(0x184)==_0x57cad0[_0x38327b(0x13d)])return'';if(_0x38327b(0x1b5)==_0x57cad0[_0x38327b(0x13d)])return'';let _0x5f2a34=this[_0x38327b(0x149)](_0x57cad0),_0x46277c=this[_0x38327b(0x177)](_0x57cad0);_0x57cad0[_0x38327b(0x147)]=!0x0;let _0x3c9638=camelCase(_0x57cad0['name']);return'\x20\x20'+(_0x38327b(0x169)+(0x0==_0x5f2a34['length']?'':_0x38327b(0x160)+_0x5f2a34+',')+_0x38327b(0x164)+_0x57cad0[_0x38327b(0x147)]+_0x38327b(0x1ba))+_0x38327b(0x189)+(''+_0x3c9638+(_0x57cad0[_0x38327b(0x147)]?'?':'')+':\x20'+_0x46277c)+'\x0a';});return _0x194b25=_0x194b25[_0x4eb829(0x167)](/{{patchTypeColumns}}/g,_0x15adf6[_0x4eb829(0x185)]('\x0a')),_0x194b25;}[a0_0x4e8664(0x138)](_0x42b857,_0x18e9a8){const _0x54af62=a0_0x4e8664;let _0x2eaad8=serviceEntity,_0x4d1e3a=_0x18e9a8['sort'](function(_0x554984,_0x5ba556){const _0x317b57=a0_0x92d1;return _0x554984['rank']-_0x5ba556[_0x317b57(0x18c)];})[_0x54af62(0x145)](_0x493596=>this['columnToEntityColumn'](_0x493596));[_0x54af62(0x158),_0x54af62(0x1b1)][_0x54af62(0x182)](_0x42b857['dataProp'])&&_0x4d1e3a['push'](_0x54af62(0x1be)),_0x2eaad8=_0x2eaad8['replace'](/{{entityColumns}}/g,_0x4d1e3a[_0x54af62(0x185)]('\x0a'));let _0x392bdd='',_0x14f0c3=_0x18e9a8[_0x54af62(0x150)](_0x2fb279=>_0x2fb279['uniqRank']&&_0x2fb279[_0x54af62(0x19f)]>0x0)[_0x54af62(0x1b6)](function(_0x108a62,_0x3a6c1b){const _0x3e9217=_0x54af62;return _0x108a62[_0x3e9217(0x19f)]-_0x3a6c1b[_0x3e9217(0x19f)];});if(_0x14f0c3['length']>0x0){_0x392bdd=_0x54af62(0x176);let _0x288bfa=_0x14f0c3['map'](_0x2fce99=>{const _0x38207f=_0x54af62;let _0x481a84=_0x2fce99[_0x38207f(0x13d)];return _0x38207f(0x18e)==_0x2fce99[_0x38207f(0x13d)]&&(_0x481a84=_0x38207f(0x170)),_0x38207f(0x184)==_0x2fce99['name']&&(_0x481a84=_0x38207f(0x1ab)),_0x38207f(0x1b5)==_0x2fce99[_0x38207f(0x13d)]&&(_0x481a84='updater'),_0x38207f(0x197)+camelCase(_0x481a84);});_0x392bdd=_0x392bdd[_0x54af62(0x167)](/{{indexColumns}}/g,_0x288bfa['join'](','));}return _0x2eaad8=_0x2eaad8[_0x54af62(0x167)](/{{indexAnn}}/g,_0x392bdd),_0x2eaad8;}[a0_0x4e8664(0x1a8)](_0x28d371,_0x14c704){const _0x1c1af2=a0_0x4e8664;let _0x4c5087='JSON'==_0x28d371[_0x1c1af2(0x143)]?serviceEntityHistJson:serviceEntityHistCopy,_0x4e2559=_0x14c704[_0x1c1af2(0x1b6)](function(_0x8bfe6b,_0x39ff21){const _0x1062e0=_0x1c1af2;return _0x8bfe6b[_0x1062e0(0x18c)]-_0x39ff21[_0x1062e0(0x18c)];})[_0x1c1af2(0x145)](_0x3d395b=>this['columnToEntityColumn'](_0x3d395b));return _0x4c5087=_0x4c5087[_0x1c1af2(0x167)](/{{entityColumns}}/g,_0x4e2559['join']('\x0a')),_0x4c5087;}[a0_0x4e8664(0x15b)](_0x2f4909){const _0x499c68=a0_0x4e8664;if('id'==_0x2f4909[_0x499c68(0x13d)])return'';if('domain_id'==_0x2f4909['name'])return'';if(_0x499c68(0x139)==_0x2f4909['name'])return'';if(_0x499c68(0x151)==_0x2f4909[_0x499c68(0x13d)])return'';if(_0x499c68(0x184)==_0x2f4909[_0x499c68(0x13d)])return'';if('updater_id'==_0x2f4909[_0x499c68(0x13d)])return'';let _0x1e42fd=_0x2f4909[_0x499c68(0x1a5)];_0x499c68(0x198)==_0x2f4909[_0x499c68(0x1a5)]&&(_0x1e42fd='double\x20precision'),_0x499c68(0x13f)==_0x2f4909['colType']&&(_0x1e42fd=_0x499c68(0x135)),'string'==_0x2f4909['colType']&&(_0x1e42fd=_0x499c68(0x17e)),_0x499c68(0x16b)==_0x2f4909[_0x499c68(0x1a5)]&&(_0x1e42fd='timestamp\x20without\x20time\x20zone');let _0x3caae0='';_0x499c68(0x14f)==_0x2f4909[_0x499c68(0x1a5)]&&(_0x3caae0=_0x2f4909[_0x499c68(0x1b7)]);let _0x2f87a0=this[_0x499c68(0x149)](_0x2f4909),_0xd05e93=this[_0x499c68(0x177)](_0x2f4909),_0x40054b=camelCase(_0x2f4909['name']);return'\x20\x20'+('@Column({name:\x27'+_0x2f4909['name']+_0x499c68(0x175)+_0x1e42fd+_0x499c68(0x165)+_0x2f4909[_0x499c68(0x147)]+'\x20'+(0x0==_0x3caae0[_0x499c68(0x179)]?'':',length:'+_0x3caae0)+_0x499c68(0x1ba))+_0x499c68(0x189)+(_0x499c68(0x169)+(0x0==_0x2f87a0['length']?'':'type\x20=>'+_0x2f87a0+',')+_0x499c68(0x164)+_0x2f4909['nullable']+'\x20})')+_0x499c68(0x189)+(''+_0x40054b+(_0x2f4909[_0x499c68(0x147)]?'?':'')+':\x20'+_0xd05e93)+'\x0a';}[a0_0x4e8664(0x149)](_0xdb51c2){const _0x2b18a8=a0_0x4e8664;let _0x46a6f3='';return'double'==_0xdb51c2[_0x2b18a8(0x1a5)]&&(_0x46a6f3=_0x2b18a8(0x14e)),_0x2b18a8(0x1ae)==_0xdb51c2['colType']&&(_0x46a6f3=_0x2b18a8(0x14e)),_0x2b18a8(0x13f)==_0xdb51c2[_0x2b18a8(0x1a5)]&&(_0x46a6f3=_0x2b18a8(0x1a0)),_0x2b18a8(0x14c)==_0xdb51c2['colType']&&(_0x46a6f3=_0x2b18a8(0x1a0)),_0x46a6f3;}['getColTxtType'](_0xe3f4c2){const _0x87ea0d=a0_0x4e8664;let _0x52986f=_0xe3f4c2[_0x87ea0d(0x1a5)];return _0x87ea0d(0x154)==_0xe3f4c2[_0x87ea0d(0x1a5)]&&(_0x52986f=_0x87ea0d(0x1a4)),_0x87ea0d(0x198)==_0xe3f4c2[_0x87ea0d(0x1a5)]&&(_0x52986f='number'),'float'==_0xe3f4c2[_0x87ea0d(0x1a5)]&&(_0x52986f='number'),_0x87ea0d(0x14c)==_0xe3f4c2['colType']&&(_0x52986f='number'),'long'==_0xe3f4c2['colType']&&(_0x52986f=_0x87ea0d(0x1a4)),_0x87ea0d(0x16b)==_0xe3f4c2[_0x87ea0d(0x1a5)]&&(_0x52986f=_0x87ea0d(0x136)),_0x87ea0d(0x1bf)==_0xe3f4c2[_0x87ea0d(0x1a5)]&&(_0x52986f='Date'),'text'==_0xe3f4c2['colType']&&(_0x52986f='string'),_0x52986f;}async['writeFile'](_0x9d4611,_0x332a5e,_0x377b50){await fs['writeFileSync'](_0x9d4611,this['replaceNamesMap'](_0x332a5e,_0x377b50),'utf8');}['replaceNamesMap'](_0x14cf69,_0x1d1a35){const _0x4f5622=a0_0x4e8664;return _0x14cf69['replace'](/{{pascalCase name}}/g,_0x1d1a35[_0x4f5622(0x16d)])[_0x4f5622(0x167)](/{{camelCase name}}/g,_0x1d1a35[_0x4f5622(0x17a)])[_0x4f5622(0x167)](/{{snakeCase name}}/g,_0x1d1a35[_0x4f5622(0x172)])['replace'](/{{pluralPascalCase name}}/g,_0x1d1a35[_0x4f5622(0x134)])[_0x4f5622(0x167)](/{{pluralCamelCase name}}/g,_0x1d1a35[_0x4f5622(0x199)])[_0x4f5622(0x167)](/{{tableName}}/g,_0x1d1a35[_0x4f5622(0x173)])[_0x4f5622(0x167)](/{{name}}/g,_0x1d1a35[_0x4f5622(0x13d)]);}async['createServicePath'](_0xf11f12,_0x5423b2,_0xd74dad){const _0x400111=a0_0x4e8664;let _0x10d31d=_0xf11f12+'/packages';await this['createDir'](_0x10d31d),_0x10d31d=_0x10d31d+'/'+_0x5423b2,await this['createDir'](_0x10d31d),_0x10d31d+='/server',await this[_0x400111(0x190)](_0x10d31d),_0x10d31d+=_0x400111(0x1a2),await this[_0x400111(0x190)](_0x10d31d),_0x10d31d=_0x10d31d+'/'+_0xd74dad,await this[_0x400111(0x190)](_0x10d31d);}[a0_0x4e8664(0x19e)](){const _0xc829b2=a0_0x4e8664;let _0xcf4cb3=process['env'][_0xc829b2(0x194)][_0xc829b2(0x13b)]('/'),_0xce931=[];for(let _0x29211b=0x0;_0x29211b<_0xcf4cb3['length']&&_0xc829b2(0x157)!=_0xcf4cb3[_0x29211b];_0x29211b++)_0xce931['push'](_0xcf4cb3[_0x29211b]);return _0xce931[_0xc829b2(0x185)]('/');}async[a0_0x4e8664(0x190)](_0xc9447a){0x0==await this['existsPath'](_0xc9447a)&&fs['mkdirSync'](_0xc9447a);}async[a0_0x4e8664(0x140)](_0x4dc66c){return await fs['existsSync'](_0x4dc66c);}};function a0_0x92d1(_0x39906e,_0x4e3d0e){const _0x3f2e90=a0_0x3f2e();return a0_0x92d1=function(_0x92d1a,_0x3f33ce){_0x92d1a=_0x92d1a-0x133;let _0x10a6b0=_0x3f2e90[_0x92d1a];return _0x10a6b0;},a0_0x92d1(_0x39906e,_0x4e3d0e);}tslib_1[a0_0x4e8664(0x15a)]([(0x0,type_graphql_1[a0_0x4e8664(0x148)])(_0x5808a9=>Boolean,{'description':a0_0x4e8664(0x163)}),tslib_1['__param'](0x0,(0x0,type_graphql_1[a0_0x4e8664(0x162)])('id')),tslib_1[a0_0x4e8664(0x1b0)](0x1,(0x0,type_graphql_1[a0_0x4e8664(0x13c)])()),tslib_1[a0_0x4e8664(0x19c)](a0_0x4e8664(0x1bd),Function),tslib_1['__metadata'](a0_0x4e8664(0x166),[String,Object]),tslib_1['__metadata'](a0_0x4e8664(0x1af),Promise)],OperatoToolCreateService['prototype'],'toolCreateService',null),OperatoToolCreateService=tslib_1[a0_0x4e8664(0x15a)]([(0x0,type_graphql_1['Resolver'])()],OperatoToolCreateService),exports['OperatoToolCreateService']=OperatoToolCreateService;const allIndex=a0_0x4e8664(0x174),serviceIndex=a0_0x4e8664(0x1b9),serviceHistoryIndex=a0_0x4e8664(0x187),serviceQuery='\x0aimport\x20{\x20Resolver,\x20Query,\x20FieldResolver,\x20Root,\x20Args,\x20Arg,\x20Ctx,\x20Directive\x20}\x20from\x20\x27type-graphql\x27\x0aimport\x20{\x20Domain,\x20ListParam,\x20convertListParams,\x20getRepository,\x20getQueryBuilderFromListParams\x20}\x20from\x20\x27@things-factory/shell\x27\x0aimport\x20{\x20User\x20}\x20from\x20\x27@things-factory/auth-base\x27\x0aimport\x20{\x20{{pascalCase\x20name}}\x20}\x20from\x20\x27./{{name}}\x27\x0aimport\x20{\x20{{pascalCase\x20name}}List\x20}\x20from\x20\x27./{{name}}-type\x27\x0a\x0a@Resolver({{pascalCase\x20name}})\x0aexport\x20class\x20{{pascalCase\x20name}}Query\x20{\x0a\x20\x20@Query(returns\x20=>\x20{{pascalCase\x20name}},\x20{\x20description:\x20\x27To\x20fetch\x20a\x20{{pascalCase\x20name}}\x27\x20})\x0a\x20\x20async\x20{{camelCase\x20name}}(@Arg(\x27id\x27)\x20id:\x20string,\x20@Ctx()\x20context:\x20any):\x20Promise<{{pascalCase\x20name}}>\x20{\x0a\x20\x20\x20\x20const\x20{\x20domain\x20}\x20=\x20context.state\x0a\x20\x20\x20\x20return\x20await\x20getRepository({{pascalCase\x20name}}).findOne({\x0a\x20\x20\x20\x20\x20\x20where:\x20{\x20domain:\x20{\x20id:\x20domain.id\x20},\x20id\x20}\x0a\x20\x20\x20\x20})\x0a\x20\x20}\x0a\x0a\x20\x20@Query(returns\x20=>\x20{{pascalCase\x20name}}List,\x20{\x20description:\x20\x27To\x20fetch\x20multiple\x20{{pluralPascalCase\x20name}}\x27\x20})\x0a\x20\x20async\x20{{pluralCamelCase\x20name}}(@Args()\x20params:\x20ListParam,\x20@Ctx()\x20context:\x20any):\x20Promise<{{pascalCase\x20name}}List>\x20{\x0a\x20\x20\x20\x20const\x20{\x20domain\x20}\x20=\x20context.state\x0a\x0a\x20\x20\x20\x20const\x20queryBuilder\x20=\x20getQueryBuilderFromListParams({\x0a\x20\x20\x20\x20\x20\x20domain,\x0a\x20\x20\x20\x20\x20\x20params,\x0a\x20\x20\x20\x20\x20\x20repository:\x20await\x20getRepository({{pascalCase\x20name}})\x0a\x20\x20\x20\x20})\x0a\x0a\x20\x20\x20\x20const\x20convertedParams\x20=\x20convertListParams(params,\x20domain.id)\x0a\x20\x20\x20\x20const\x20[items,\x20total]\x20=\x20await\x20queryBuilder.getManyAndCount()\x0a\x0a\x20\x20\x20\x20return\x20{\x20items,\x20total\x20}\x0a\x20\x20}\x0a\x0a\x20\x20@FieldResolver(type\x20=>\x20Domain)\x0a\x20\x20async\x20domain(@Root()\x20{{camelCase\x20name}}:\x20{{pascalCase\x20name}}):\x20Promise<Domain>\x20{\x0a\x20\x20\x20\x20return\x20await\x20getRepository(Domain).findOneBy({id:{{camelCase\x20name}}.domainId})\x0a\x20\x20}\x0a\x0a\x20\x20@FieldResolver(type\x20=>\x20User)\x0a\x20\x20async\x20updater(@Root()\x20{{camelCase\x20name}}:\x20{{pascalCase\x20name}}):\x20Promise<User>\x20{\x0a\x20\x20\x20\x20return\x20await\x20getRepository(User).findOneBy({id:{{camelCase\x20name}}.updaterId})\x0a\x20\x20}\x0a\x0a\x20\x20@FieldResolver(type\x20=>\x20User)\x0a\x20\x20async\x20creator(@Root()\x20{{camelCase\x20name}}:\x20{{pascalCase\x20name}}):\x20Promise<User>\x20{\x0a\x20\x20\x20\x20return\x20await\x20getRepository(User).findOneBy({id:{{camelCase\x20name}}.creatorId})\x0a\x20\x20}\x0a}\x0a',serviceHistoryQuery=a0_0x4e8664(0x146),serviceMutation='\x0aimport\x20{\x20Resolver,\x20Mutation,\x20Arg,\x20Ctx,\x20Directive\x20}\x20from\x20\x27type-graphql\x27\x0aimport\x20{\x20In\x20}\x20from\x20\x27typeorm\x27\x0aimport\x20{\x20{{pascalCase\x20name}}\x20}\x20from\x20\x27./{{name}}\x27\x0aimport\x20{\x20New{{pascalCase\x20name}},\x20{{pascalCase\x20name}}Patch\x20}\x20from\x20\x27./{{name}}-type\x27\x0aimport\x20{\x20getRepository\x20}\x20from\x20\x27@things-factory/shell\x27\x0a\x0a@Resolver({{pascalCase\x20name}})\x0aexport\x20class\x20{{pascalCase\x20name}}Mutation\x20{\x0a\x20\x20@Directive(\x27@transaction\x27)\x0a\x20\x20@Mutation(returns\x20=>\x20{{pascalCase\x20name}},\x20{\x20description:\x20\x27To\x20create\x20new\x20{{pascalCase\x20name}}\x27\x20})\x0a\x20\x20async\x20create{{pascalCase\x20name}}(@Arg(\x27{{camelCase\x20name}}\x27)\x20{{camelCase\x20name}}:\x20New{{pascalCase\x20name}},\x20@Ctx()\x20context:\x20any):\x20Promise<{{pascalCase\x20name}}>\x20{\x0a\x20\x20\x20\x20const\x20{\x20domain,\x20user,\x20tx\x20}\x20=\x20context.state\x0a\x0a\x20\x20\x20\x20return\x20await\x20tx.getRepository({{pascalCase\x20name}}).save({\x0a\x20\x20\x20\x20\x20\x20...{{camelCase\x20name}},\x0a\x20\x20\x20\x20\x20\x20domain,\x0a\x20\x20\x20\x20\x20\x20creator:\x20user,\x0a\x20\x20\x20\x20\x20\x20updater:\x20user\x0a\x20\x20\x20\x20})\x0a\x20\x20}\x0a\x0a\x20\x20@Directive(\x27@transaction\x27)\x0a\x20\x20@Mutation(returns\x20=>\x20{{pascalCase\x20name}},\x20{\x20description:\x20\x27To\x20modify\x20{{pascalCase\x20name}}\x20information\x27\x20})\x0a\x20\x20async\x20update{{pascalCase\x20name}}(\x0a\x20\x20\x20\x20@Arg(\x27id\x27)\x20id:\x20string,\x0a\x20\x20\x20\x20@Arg(\x27patch\x27)\x20patch:\x20{{pascalCase\x20name}}Patch,\x0a\x20\x20\x20\x20@Ctx()\x20context:\x20any\x0a\x20\x20):\x20Promise<{{pascalCase\x20name}}>\x20{\x0a\x20\x20\x20\x20const\x20{\x20domain,\x20user,\x20tx\x20}\x20=\x20context.state\x0a\x0a\x20\x20\x20\x20const\x20repository\x20=\x20tx.getRepository({{pascalCase\x20name}})\x0a\x20\x20\x20\x20const\x20{{camelCase\x20name}}\x20=\x20await\x20repository.findOne(\x0a\x20\x20\x20\x20\x20\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20where:\x20{\x20domain:\x20{\x20id:\x20domain.id\x20},\x20id\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20relations:\x20[\x27domain\x27,\x20\x27updater\x27,\x20\x27creator\x27]\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20)\x0a\x0a\x20\x20\x20\x20return\x20await\x20repository.save({\x0a\x20\x20\x20\x20\x20\x20...{{camelCase\x20name}},\x0a\x20\x20\x20\x20\x20\x20...patch,\x0a\x20\x20\x20\x20\x20\x20updater:\x20user\x0a\x20\x20\x20\x20})\x0a\x20\x20}\x0a\x0a\x20\x20@Directive(\x27@transaction\x27)\x0a\x20\x20@Mutation(returns\x20=>\x20[{{pascalCase\x20name}}],\x20{\x20description:\x20\x22To\x20modify\x20multiple\x20{{pluralPascalCase\x20name}}\x27\x20information\x22\x20})\x0a\x20\x20async\x20updateMultiple{{pascalCase\x20name}}(\x0a\x20\x20\x20\x20@Arg(\x27patches\x27,\x20type\x20=>\x20[{{pascalCase\x20name}}Patch])\x20patches:\x20{{pascalCase\x20name}}Patch[],\x0a\x20\x20\x20\x20@Ctx()\x20context:\x20any\x0a\x20\x20):\x20Promise<{{pascalCase\x20name}}[]>\x20{\x0a\x20\x20\x20\x20const\x20{\x20domain,\x20user,\x20tx\x20}\x20=\x20context.state\x0a\x0a\x20\x20\x20\x20let\x20results\x20=\x20[]\x0a\x20\x20\x20\x20const\x20_createRecords\x20=\x20patches.filter((patch:\x20any)\x20=>\x20patch.cuFlag.toUpperCase()\x20===\x20\x27+\x27)\x0a\x20\x20\x20\x20const\x20_updateRecords\x20=\x20patches.filter((patch:\x20any)\x20=>\x20patch.cuFlag.toUpperCase()\x20===\x20\x27M\x27)\x0a\x20\x20\x20\x20const\x20{{camelCase\x20name}}Repo\x20=\x20tx.getRepository({{pascalCase\x20name}})\x0a\x0a\x20\x20\x20\x20if\x20(_createRecords.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20for\x20(let\x20i\x20=\x200;\x20i\x20<\x20_createRecords.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20newRecord\x20=\x20_createRecords[i]\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20result\x20=\x20await\x20{{camelCase\x20name}}Repo.save({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20...newRecord,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20domain,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20creator:\x20user,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updater:\x20user\x0a\x20\x20\x20\x20\x20\x20\x20\x20})\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20results.push({\x20...result,\x20cuFlag:\x20\x27+\x27\x20})\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20if\x20(_updateRecords.length\x20>\x200)\x20{\x0a\x20\x20\x20\x20\x20\x20for\x20(let\x20i\x20=\x200;\x20i\x20<\x20_updateRecords.length;\x20i++)\x20{\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20updRecord\x20=\x20_updateRecords[i]\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20{{camelCase\x20name}}\x20=\x20await\x20{{camelCase\x20name}}Repo.findOne({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20where:\x20{\x20domain:\x20{\x20id:\x20domain.id\x20},\x20id:updRecord.id\x20},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20relations:\x20[\x27domain\x27,\x20\x27updater\x27,\x20\x27creator\x27]\x0a\x20\x20\x20\x20\x20\x20\x20\x20})\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20const\x20result\x20=\x20await\x20{{camelCase\x20name}}Repo.save({\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20...{{camelCase\x20name}},\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20...updRecord,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updater:\x20user\x0a\x20\x20\x20\x20\x20\x20\x20\x20})\x0a\x0a\x20\x20\x20\x20\x20\x20\x20\x20results.push({\x20...result,\x20cuFlag:\x20\x27M\x27\x20})\x0a\x20\x20\x20\x20\x20\x20}\x0a\x20\x20\x20\x20}\x0a\x0a\x20\x20\x20\x20return\x20results\x0a\x20\x20}\x0a\x0a\x20\x20@Directive(\x27@transaction\x27)\x0a\x20\x20@Mutation(returns\x20=>\x20Boolean,\x20{\x20description:\x20\x27To\x20delete\x20{{pascalCase\x20name}}\x27\x20})\x0a\x20\x20async\x20delete{{pascalCase\x20name}}(@Arg(\x27id\x27)\x20id:\x20string,\x20@Ctx()\x20context:\x20any):\x20Promise<boolean>\x20{\x0a\x20\x20\x20\x20const\x20{\x20domain,\x20tx,\x20user\x20}\x20=\x20context.state\x0a\x20\x20\x20\x20await\x20tx.getRepository({{pascalCase\x20name}}).remove({\x20domain,\x20id,\x20updater:user\x20})\x0a\x20\x20\x20\x20return\x20true\x0a\x20\x20}\x0a\x0a\x20\x20@Directive(\x27@transaction\x27)\x0a\x20\x20@Mutation(returns\x20=>\x20Boolean,\x20{\x20description:\x20\x27To\x20delete\x20multiple\x20{{camelCase\x20name}}s\x27\x20})\x0a\x20\x20async\x20delete{{pluralPascalCase\x20name}}(\x0a\x20\x20\x20\x20@Arg(\x27ids\x27,\x20type\x20=>\x20[String])\x20ids:\x20string[],\x0a\x20\x20\x20\x20@Ctx()\x20context:\x20any\x0a\x20\x20):\x20Promise<boolean>\x20{\x0a\x20\x20\x20\x20const\x20{\x20domain,\x20tx,\x20user\x20}\x20=\x20context.state\x0a\x0a\x20\x20\x20\x20let\x20delEntitis\x20=\x20ids.map(id=>{\x0a\x20\x20\x20\x20\x20\x20return\x20{domain,id,updater:user}\x0a\x20\x20\x20\x20})\x0a\x0a\x20\x20\x20\x20await\x20tx.getRepository({{pascalCase\x20name}}).remove(delEntitis)\x0a\x0a\x20\x20\x20\x20return\x20true\x0a\x20\x20}\x0a}\x0a',sereviceType='\x0aimport\x20{\x20ObjectType,\x20Field,\x20InputType,\x20Int,\x20ID,\x20Float,\x20registerEnumType\x20}\x20from\x20\x27type-graphql\x27\x0a\x0aimport\x20{\x20{{pascalCase\x20name}}\x20}\x20from\x20\x27./{{name}}\x27\x0a\x0a@InputType()\x0aexport\x20class\x20New{{pascalCase\x20name}}\x20{\x0a{{newTypeColumns}}\x0a}\x0a\x0a@InputType()\x0aexport\x20class\x20{{pascalCase\x20name}}Patch\x20{\x0a\x20\x20@Field(type\x20=>\x20ID,\x20{\x20nullable:\x20true\x20})\x0a\x20\x20id?:\x20string\x0a\x0a{{patchTypeColumns}}\x0a\x0a\x20\x20@Field()\x0a\x20\x20cuFlag:\x20string\x0a}\x0a\x0a@ObjectType()\x0aexport\x20class\x20{{pascalCase\x20name}}List\x20{\x0a\x20\x20@Field(type\x20=>\x20[{{pascalCase\x20name}}])\x0a\x20\x20items:\x20{{pascalCase\x20name}}[]\x0a\x0a\x20\x20@Field(type\x20=>\x20Int)\x0a\x20\x20total:\x20number\x0a}\x0a',sereviceHistoryType=a0_0x4e8664(0x17c),serviceEntity=a0_0x4e8664(0x17b),serviceEntityHistCopy='\x0aimport\x20{\x0a\x20\x20CreateDateColumn,\x0a\x20\x20UpdateDateColumn,\x0a\x20\x20Entity,\x0a\x20\x20Index,\x0a\x20\x20Column,\x0a\x20\x20RelationId,\x0a\x20\x20ManyToOne,\x0a\x20\x20PrimaryGeneratedColumn,\x0a\x20\x20VersionColumn\x0a}\x20from\x20\x27typeorm\x27\x0a\x0aimport\x20{\x0a\x20\x20HistoryActionColumn,\x0a\x20\x20HistoryActionType,\x0a\x20\x20HistoryEntityInterface,\x0a\x20\x20HistoryOriginalIdColumn\x0a}\x20from\x20\x27@operato/typeorm-history\x27\x0a\x0aimport\x20{\x20ObjectType,\x20Field,\x20Int,\x20ID,\x20Float,\x20registerEnumType\x20}\x20from\x20\x27type-graphql\x27\x0a\x0aimport\x20{\x20config\x20}\x20from\x20\x27@things-factory/env\x27\x0aimport\x20{\x20Domain,\x20ScalarObject\x20}\x20from\x20\x27@things-factory/shell\x27\x0aimport\x20{\x20User\x20}\x20from\x20\x27@things-factory/auth-base\x27\x0a\x0aconst\x20ORMCONFIG\x20=\x20config.get(\x27ormconfig\x27,\x20{})\x0aconst\x20DATABASE_TYPE\x20=\x20ORMCONFIG.type\x0a\x0aimport\x20{\x20{{pascalCase\x20name}}\x20}\x20from\x20\x27./{{name}}\x27\x0a\x0a@Entity(\x27{{tableName}}_histories\x27)\x0a@Index(\x27ix_{{snakeCase\x20name}}_histories_0\x27,\x20({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20[{{camelCase\x20name}}History.originalId,{{camelCase\x20name}}History.dataRevisionNo],\x20{\x20unique:\x20true\x20})\x0a@Index(\x27ix_{{snakeCase\x20name}}_histories_1\x27,\x20({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20[{{camelCase\x20name}}History.originalId\x20],\x20{\x20unique:\x20false\x20})\x0a@Index(\x27ix_{{snakeCase\x20name}}_histories_2\x27,\x20({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20[{{camelCase\x20name}}History.domain,\x20{{camelCase\x20name}}History.originalId\x20],\x20{\x20unique:\x20false\x20})\x0a@Index(\x27ix_{{snakeCase\x20name}}_histories_3\x27,\x20({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20[{{camelCase\x20name}}History.domain,\x20{{camelCase\x20name}}History.originalId,\x20{{camelCase\x20name}}History.dataRevisionNo],\x20{\x20unique:\x20true\x20})\x0a@ObjectType({\x20description:\x20\x27Entity\x20for\x20{{pascalCase\x20name}}History\x27\x20})\x0aexport\x20class\x20{{pascalCase\x20name}}History\x20\x20implements\x20HistoryEntityInterface<{{pascalCase\x20name}}>{\x0a\x20\x20@PrimaryGeneratedColumn(\x27uuid\x27)\x0a\x20\x20@Field(type\x20=>\x20ID)\x0a\x20\x20readonly\x20id:\x20string\x0a\x0a\x20\x20@ManyToOne(type\x20=>\x20Domain,\x20{\x0a\x20\x20\x20\x20createForeignKeyConstraints:\x20false\x0a\x20\x20})\x0a\x20\x20@Field({\x20nullable:\x20false\x20})\x0a\x20\x20domain:\x20Domain\x0a\x0a\x20\x20@RelationId(({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20{{camelCase\x20name}}History.domain)\x0a\x20\x20domainId:\x20string\x0a\x0a\x20\x20@HistoryOriginalIdColumn({type:\x20\x27character\x20varying\x27,\x20nullable:\x20false\x20,length:40})\x0a\x20\x20@Field({\x20nullable:\x20false\x20})\x0a\x20\x20public\x20originalId!:\x20string\x0a\x0a\x0a\x20\x20@HistoryActionColumn({\x0a\x20\x20\x20\x20nullable:\x20false,\x0a\x20\x20\x20\x20type:\x0a\x20\x20\x20\x20\x20\x20DATABASE_TYPE\x20==\x20\x27postgres\x27\x20||\x20DATABASE_TYPE\x20==\x20\x27mysql\x27\x20||\x20DATABASE_TYPE\x20==\x20\x27mariadb\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27enum\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20:\x20DATABASE_TYPE\x20==\x20\x27oracle\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20?\x20\x27varchar2\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20:\x20\x27smallint\x27,\x0a\x20\x20\x20\x20enum:\x20HistoryActionType\x0a\x20\x20})\x0a\x20\x20@Field({\x20nullable:\x20false\x20})\x0a\x20\x20public\x20dataRevisionAction!:\x20HistoryActionType\x0a\x0a\x20\x20@Column({\x20default:\x201,\x20nullable:\x20false\x20})\x0a\x20\x20@Field({\x20nullable:\x20false\x20})\x0a\x20\x20dataRevisionNo?:\x20number\x20=\x201\x0a\x0a{{entityColumns}}\x0a\x0a\x20\x20@CreateDateColumn()\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20createdAt?:\x20Date\x0a\x0a\x20\x20@UpdateDateColumn()\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20updatedAt?:\x20Date\x0a\x0a\x20\x20@ManyToOne(type\x20=>\x20User,\x20{\x0a\x20\x20\x20\x20createForeignKeyConstraints:\x20false,\x0a\x20\x20\x20\x20nullable:\x20true\x0a\x20\x20})\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20creator?:\x20User\x0a\x0a\x20\x20@RelationId(({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20{{camelCase\x20name}}History.creator)\x0a\x20\x20creatorId?:\x20string\x0a\x0a\x20\x20@ManyToOne(type\x20=>\x20User,\x20{\x0a\x20\x20\x20\x20createForeignKeyConstraints:\x20false,\x0a\x20\x20\x20\x20nullable:\x20true\x0a\x20\x20})\x0a\x20\x20@Field({\x20nullable:\x20true\x20})\x0a\x20\x20updater?:\x20User\x0a\x0a\x20\x20@RelationId(({{camelCase\x20name}}History:\x20{{pascalCase\x20name}}History)\x20=>\x20{{camelCase\x20name}}History.updater)\x0a\x20\x20updaterId?:\x20string\x0a}\x0a',serviceEntityHistJson=a0_0x4e8664(0x133),serviceEntitySubscriber=a0_0x4e8664(0x171);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';function a0_0x2af3(_0x205d23,_0x1ef767){const _0xad95d=a0_0xad95();return a0_0x2af3=function(_0x2af30c,_0x3b247e){_0x2af30c=_0x2af30c-0xad;let _0x468d7c=_0xad95d[_0x2af30c];return _0x468d7c;},a0_0x2af3(_0x205d23,_0x1ef767);}const a0_0x31ec31=a0_0x2af3;(function(_0x19c080,_0x3e005f){const _0x38a2b5=a0_0x2af3,_0xb68ae4=_0x19c080();while(!![]){try{const _0x410e9e=parseInt(_0x38a2b5(0xb1))/0x1*(parseInt(_0x38a2b5(0xc8))/0x2)+parseInt(_0x38a2b5(0xcb))/0x3+-parseInt(_0x38a2b5(0xb3))/0x4+-parseInt(_0x38a2b5(0xca))/0x5+-parseInt(_0x38a2b5(0xb0))/0x6+parseInt(_0x38a2b5(0xce))/0x7+-parseInt(_0x38a2b5(0xbf))/0x8;if(_0x410e9e===_0x3e005f)break;else _0xb68ae4['push'](_0xb68ae4['shift']());}catch(_0x5522b2){_0xb68ae4['push'](_0xb68ae4['shift']());}}}(a0_0xad95,0x6b66b));function a0_0xad95(){const _0x1525d5=['from','Permissions\x20For\x20Tailor\x20Tool','trim','OVER_LIMIT','andWhere','ERROR_CODES','(template\x20is\x20not\x20null\x20and\x20template\x20!=\x20\x27\x27\x20)','698mfyhIY','checkTarget','261210lJGaFm','683181VelwLC','id\x20!=\x20:id','LicenseError','5826338vnExdC','map','createQueryBuilder','manager','1535994xiKPvX','1948DGFQcA','where','2590516rqAcup','checkStudioPermission','getRepository','menu','Studio','__esModule','@things-factory/menu-base','checkStudioTemplateIsOverLimit','@things-factory/operato-license-checker','select','Menu','getCount','2753024ywuiBc','getPermission'];a0_0xad95=function(){return _0x1525d5;};return a0_0xad95();}Object['defineProperty'](exports,a0_0x31ec31(0xb8),{'value':!0x0}),exports[a0_0x31ec31(0xba)]=exports[a0_0x31ec31(0xb4)]=void 0x0;const operato_license_checker_1=require(a0_0x31ec31(0xbb)),shell_1=require('@things-factory/shell'),menu_base_1=require(a0_0x31ec31(0xb9)),license_error_1=require('../../errors/license-error');async function checkStudioPermission(){const _0x2873d1=a0_0x31ec31;let _0x1a2165=((0x0,operato_license_checker_1[_0x2873d1(0xc0)])(_0x2873d1(0xc2))||',')['split'](',')[_0x2873d1(0xad)](_0x43c527=>_0x43c527[_0x2873d1(0xc3)]()),_0x18743d=!0x1;return _0x1a2165['forEach'](_0x11a219=>{const _0x4fc7d8=_0x2873d1;_0x11a219['includes'](_0x4fc7d8(0xb7))&&(_0x18743d=!0x0);}),_0x18743d;}async function checkStudioTemplateIsOverLimit(_0x488b82,_0x161f71){const _0xb6f41c=a0_0x31ec31;if(0x0==await checkStudioPermission())throw new license_error_1['LicenseError']({'errorCode':_0x161f71['t'](license_error_1['LicenseError'][_0xb6f41c(0xc6)]['INVALID_LICENSE'])});var _0xca3941=0x0;if(_0xca3941=_0x488b82&&''!=_0x488b82?await(0x0,shell_1['getRepository'])(menu_base_1[_0xb6f41c(0xbd)])[_0xb6f41c(0xaf)][_0xb6f41c(0xae)]()[_0xb6f41c(0xbc)](_0xb6f41c(0xb6))[_0xb6f41c(0xc1)](menu_base_1['Menu'],_0xb6f41c(0xb6))[_0xb6f41c(0xb2)](_0xb6f41c(0xcc),{'id':_0x488b82})[_0xb6f41c(0xc5)](_0xb6f41c(0xc7))[_0xb6f41c(0xbe)]()+0x1:await(0x0,shell_1[_0xb6f41c(0xb5)])(menu_base_1['Menu'])['manager'][_0xb6f41c(0xae)]()[_0xb6f41c(0xbc)](_0xb6f41c(0xb6))[_0xb6f41c(0xc1)](menu_base_1[_0xb6f41c(0xbd)],_0xb6f41c(0xb6))[_0xb6f41c(0xb2)]('(template\x20is\x20not\x20null\x20and\x20template\x20!=\x20\x27\x27\x20)')[_0xb6f41c(0xbe)]()+0x1,!(0x0,operato_license_checker_1[_0xb6f41c(0xc9)])(_0xca3941))throw new license_error_1['LicenseError']({'errorCode':_0x161f71['t'](license_error_1[_0xb6f41c(0xcd)][_0xb6f41c(0xc6)][_0xb6f41c(0xc4)])});return!0x0;}exports[a0_0x31ec31(0xb4)]=checkStudioPermission,exports[a0_0x31ec31(0xba)]=checkStudioTemplateIsOverLimit;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';const
|
|
1
|
+
'use strict';function a0_0x5947(){const _0x32273e=['16CTOYpn','design:paramtypes','4133987NCkMOY','__param','design:returntype','1145LnYlEw','3riQRAj','1028043WTXVXx','tslib','774nQvOzp','__decorate','Operato\x20Tool\x20Studio\x20Limit\x20check','__esModule','studioTemplateIsOverLimit','studioPermission','182161ZRajbY','OperatoToolResolver','191940vsJrsd','./tool-permission','prototype','__metadata','314766mFCqtz','Ctx','type-graphql','design:type','Resolver','3IFPMMN','2840380oExipS','Arg','Operato\x20Tool\x20Studio\x20Usage\x20Permissions','Query'];a0_0x5947=function(){return _0x32273e;};return a0_0x5947();}const a0_0x53df17=a0_0x48a9;(function(_0x42726d,_0x25e77d){const _0x17a030=a0_0x48a9,_0x130716=_0x42726d();while(!![]){try{const _0xb6759c=parseInt(_0x17a030(0x11b))/0x1*(-parseInt(_0x17a030(0x10b))/0x2)+parseInt(_0x17a030(0x110))/0x3*(-parseInt(_0x17a030(0x107))/0x4)+-parseInt(_0x17a030(0x11a))/0x5*(-parseInt(_0x17a030(0x11e))/0x6)+parseInt(_0x17a030(0x105))/0x7+parseInt(_0x17a030(0x115))/0x8*(parseInt(_0x17a030(0x11c))/0x9)+parseInt(_0x17a030(0x111))/0xa+parseInt(_0x17a030(0x117))/0xb;if(_0xb6759c===_0x25e77d)break;else _0x130716['push'](_0x130716['shift']());}catch(_0x2760fb){_0x130716['push'](_0x130716['shift']());}}}(a0_0x5947,0x6773b));Object['defineProperty'](exports,a0_0x53df17(0x121),{'value':!0x0}),exports[a0_0x53df17(0x106)]=void 0x0;const tslib_1=require(a0_0x53df17(0x11d)),type_graphql_1=require(a0_0x53df17(0x10d)),tool_permission_1=require(a0_0x53df17(0x108));function a0_0x48a9(_0x1f6dad,_0x9c2f83){const _0x594774=a0_0x5947();return a0_0x48a9=function(_0x48a9d7,_0x40c9b2){_0x48a9d7=_0x48a9d7-0x105;let _0x48d0f2=_0x594774[_0x48a9d7];return _0x48d0f2;},a0_0x48a9(_0x1f6dad,_0x9c2f83);}let OperatoToolResolver=class{async[a0_0x53df17(0x123)](_0x4d234e){return(0x0,tool_permission_1['checkStudioPermission'])();}async[a0_0x53df17(0x122)](_0x1469c6,_0x44450f){return(0x0,tool_permission_1['checkStudioTemplateIsOverLimit'])(_0x1469c6,_0x44450f);}};tslib_1[a0_0x53df17(0x11f)]([(0x0,type_graphql_1[a0_0x53df17(0x114)])(_0x261717=>Boolean,{'description':a0_0x53df17(0x113)}),tslib_1[a0_0x53df17(0x118)](0x0,(0x0,type_graphql_1[a0_0x53df17(0x10c)])()),tslib_1[a0_0x53df17(0x10a)](a0_0x53df17(0x10e),Function),tslib_1[a0_0x53df17(0x10a)](a0_0x53df17(0x116),[Object]),tslib_1['__metadata'](a0_0x53df17(0x119),Promise)],OperatoToolResolver[a0_0x53df17(0x109)],a0_0x53df17(0x123),null),tslib_1[a0_0x53df17(0x11f)]([(0x0,type_graphql_1[a0_0x53df17(0x114)])(_0x4c1b26=>Boolean,{'description':a0_0x53df17(0x120)}),tslib_1['__param'](0x0,(0x0,type_graphql_1[a0_0x53df17(0x112)])('id')),tslib_1[a0_0x53df17(0x118)](0x1,(0x0,type_graphql_1[a0_0x53df17(0x10c)])()),tslib_1['__metadata']('design:type',Function),tslib_1[a0_0x53df17(0x10a)]('design:paramtypes',[String,Object]),tslib_1['__metadata'](a0_0x53df17(0x119),Promise)],OperatoToolResolver[a0_0x53df17(0x109)],'studioTemplateIsOverLimit',null),OperatoToolResolver=tslib_1[a0_0x53df17(0x11f)]([(0x0,type_graphql_1[a0_0x53df17(0x10f)])()],OperatoToolResolver),exports[a0_0x53df17(0x106)]=OperatoToolResolver;
|