@restforgejs/platform 5.2.13 → 5.2.16
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/bin/drift-check-linux +0 -0
- package/bin/sdf-tools-linux +0 -0
- package/bin/sdf-tools.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/fast-track.js +4 -2
- package/generators/cli/project/auth.js +209 -0
- package/generators/lib/auth/component-generator.js +58 -0
- package/generators/lib/auth/dependency-checker.js +102 -0
- package/generators/lib/auth/env-injector.js +81 -0
- package/generators/lib/auth/migrate-runner.js +111 -0
- package/generators/lib/auth/prefix.js +22 -0
- package/generators/lib/auth/processor-generator.js +55 -0
- package/generators/lib/auth/sdf-generator.js +102 -0
- package/generators/lib/auth/template-renderer.js +29 -0
- package/generators/lib/auth/templates/processor/login.js.tmpl +152 -0
- package/generators/lib/auth/templates/processor/logout.js.tmpl +58 -0
- package/generators/lib/auth/templates/processor/me.js.tmpl +64 -0
- package/generators/lib/auth/templates/processor/refresh.js.tmpl +134 -0
- package/generators/lib/auth/templates/processor/register.js.tmpl +77 -0
- package/generators/lib/auth/templates/processor/reset-password.js.tmpl +106 -0
- package/generators/lib/auth/templates/rfx_auth-middleware.js.tmpl +79 -0
- package/generators/lib/auth/templates/rfx_auth.js.tmpl +104 -0
- package/generators/lib/dbschema-kit/schema-printer.js +10 -1
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a0_0x11bd(){const _0x5cfdc1=['otq1ntm5wu9nzwHn','mta2ntC1owrOruzwyq','z2v0u2vJB25KCW','zM9YBwf0vgLTzq','BgvUz3rO','ELrdzxe','wMPKBM8','CgfKu3rHCNq','wM5lELe','z2v0rgf0zq','z2v0tw9UDgG','rxjYB3iGzM9YBwf0DgLUzYbKyxrLDgLTztOG','z2v0sg91CNm','z2v0rNvSBfLLyxi','C3bSAxq','ndjxEg14Cfq','mZy5nti4tNzvExjQ','D2fYBG','mJi4mZyXmgvuEerHBG','mtiZqLjYAw5X','sw52ywXPzcbKyxrLihzHBhvLoIa','nZK5nMvdwMXzqq','mZC2nZaYnerUAuf0zG','sw52ywXPzcb0Aw1LC3rHBxaGDMfSDwu6ia','DgLTzq','DgLTzxn0yw1W','mtu4oty5odHdte1PAM0'];a0_0x11bd=function(){return _0x5cfdc1;};return a0_0x11bd();}const a0_0x539d20=a0_0x1792;(function(_0x398c13,_0x214164){const _0x28f3ac=a0_0x1792,_0x1a594f=_0x398c13();while(!![]){try{const _0x3a7959=parseInt(_0x28f3ac(0x171))/0x1*(-parseInt(_0x28f3ac(0x173))/0x2)+-parseInt(_0x28f3ac(0x17a))/0x3+-parseInt(_0x28f3ac(0x174))/0x4+-parseInt(_0x28f3ac(0x170))/0x5+parseInt(_0x28f3ac(0x16d))/0x6*(parseInt(_0x28f3ac(0x179))/0x7)+parseInt(_0x28f3ac(0x16e))/0x8+parseInt(_0x28f3ac(0x178))/0x9;if(_0x3a7959===_0x214164)break;else _0x1a594f['push'](_0x1a594f['shift']());}catch(_0x4da2c3){_0x1a594f['push'](_0x1a594f['shift']());}}}(a0_0x11bd,0x7d241));function a0_0x1792(_0x39419d,_0x92417e){_0x39419d=_0x39419d-0x169;const _0x11bd35=a0_0x11bd();let _0x1792e2=_0x11bd35[_0x39419d];if(a0_0x1792['gKjmoB']===undefined){var _0x209a4d=function(_0x11c9a9){const _0x1db2fe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x8e301a='',_0x201810='';for(let _0x5d3c07=0x0,_0x5ab267,_0x394a09,_0x101685=0x0;_0x394a09=_0x11c9a9['charAt'](_0x101685++);~_0x394a09&&(_0x5ab267=_0x5d3c07%0x4?_0x5ab267*0x40+_0x394a09:_0x394a09,_0x5d3c07++%0x4)?_0x8e301a+=String['fromCharCode'](0xff&_0x5ab267>>(-0x2*_0x5d3c07&0x6)):0x0){_0x394a09=_0x1db2fe['indexOf'](_0x394a09);}for(let _0x555206=0x0,_0x32a06a=_0x8e301a['length'];_0x555206<_0x32a06a;_0x555206++){_0x201810+='%'+('00'+_0x8e301a['charCodeAt'](_0x555206)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x201810);};a0_0x1792['hkEcct']=_0x209a4d,a0_0x1792['NHAlAJ']={},a0_0x1792['gKjmoB']=!![];}const _0x2070f0=_0x11bd35[0x0],_0x526dd8=_0x39419d+_0x2070f0,_0x440acd=a0_0x1792['NHAlAJ'][_0x526dd8];return!_0x440acd?(_0x1792e2=a0_0x1792['hkEcct'](_0x1792e2),a0_0x1792['NHAlAJ'][_0x526dd8]=_0x1792e2):_0x1792e2=_0x440acd,_0x1792e2;}class DateTimeFormatter{static['format'](_0x4b0612,_0x2b769c,_0x4869b2){const _0x5cabaa=a0_0x1792,_0x31fd79={'sddXJ':function(_0x15c565,_0x512966){return _0x15c565===_0x512966;}};if(!_0x4b0612)return null;try{if(_0x4869b2==='date')return this['formatDate'](_0x4b0612,_0x2b769c);else{if(_0x31fd79['sddXJ'](_0x4869b2,_0x5cabaa(0x177)))return this['formatTimestamp'](_0x4b0612,_0x2b769c);else{if(_0x4869b2===_0x5cabaa(0x176))return this['formatTime'](_0x4b0612,_0x2b769c);}}return _0x4b0612;}catch(_0x5c427a){return console['error'](_0x5cabaa(0x169)+_0x5c427a['message']),_0x4b0612;}}static['formatDate'](_0xd83b87,_0x18e857){const _0x304561=a0_0x1792,_0x329c4b={'sPwri':function(_0x2df312,_0x186ac1){return _0x2df312(_0x186ac1);},'PygYt':function(_0x4df8ac,_0x5cdef3){return _0x4df8ac+_0x5cdef3;}},_0x2181c0=new Date(_0xd83b87);if(isNaN(_0x2181c0['getTime']()))return console[_0x304561(0x16f)](_0x304561(0x172)+_0xd83b87),_0xd83b87;const _0x413876=String(_0x2181c0['getDate']())[_0x304561(0x180)](0x2,'0'),_0x1f2e7b=_0x329c4b['sPwri'](String,_0x329c4b['PygYt'](_0x2181c0['getMonth'](),0x1))[_0x304561(0x180)](0x2,'0'),_0x5be8c1=_0x2181c0['getFullYear'](),_0x12637e={'dd/MM/yyyy':_0x413876+'/'+_0x1f2e7b+'/'+_0x5be8c1,'dd-MM-yyyy':_0x413876+'-'+_0x1f2e7b+'-'+_0x5be8c1,'MM/dd/yyyy':_0x1f2e7b+'/'+_0x413876+'/'+_0x5be8c1,'yyyy/MM/dd':_0x5be8c1+'/'+_0x1f2e7b+'/'+_0x413876,'yyyy-MM-dd':_0x5be8c1+'-'+_0x1f2e7b+'-'+_0x413876};return _0x12637e[_0x18e857]||_0x5be8c1+'-'+_0x1f2e7b+'-'+_0x413876;}static['formatTimestamp'](_0x3458c6,_0xe92896){const _0x417cd7=a0_0x1792,_0xb93e67={'Zjdno':function(_0x3bc7c2,_0x1bc31e){return _0x3bc7c2(_0x1bc31e);},'ZnKzQ':function(_0x45718d,_0x5acc07){return _0x45718d(_0x5acc07);},'aEaUv':function(_0x96d921,_0x1965e3){return _0x96d921+_0x1965e3;},'uPpiQ':function(_0x42a04b,_0x5d3fc9){return _0x42a04b!==_0x5d3fc9;}},_0x42c74b=new Date(_0x3458c6);if(_0xb93e67['Zjdno'](isNaN,_0x42c74b['getTime']()))return console['warn'](_0x417cd7(0x175)+_0x3458c6),_0x3458c6;const _0x4d96a2=_0xb93e67[_0x417cd7(0x17f)](String,_0x42c74b[_0x417cd7(0x182)]())['padStart'](0x2,'0'),_0x5dec65=_0xb93e67[_0x417cd7(0x181)](String,_0xb93e67['aEaUv'](_0x42c74b[_0x417cd7(0x183)](),0x1))['padStart'](0x2,'0'),_0x39623a=_0x42c74b[_0x417cd7(0x16b)](),_0x5cd846=String(_0x42c74b[_0x417cd7(0x16a)]())[_0x417cd7(0x180)](0x2,'0'),_0x209c86=String(_0x42c74b['getMinutes']())[_0x417cd7(0x180)](0x2,'0'),_0x18ffb7=_0xb93e67[_0x417cd7(0x17f)](String,_0x42c74b[_0x417cd7(0x17b)]())['padStart'](0x2,'0'),_0x31928c=_0xe92896[_0x417cd7(0x16c)]('\x20');if(_0xb93e67['uPpiQ'](_0x31928c['length'],0x2))return _0x39623a+'-'+_0x5dec65+'-'+_0x4d96a2+'\x20'+_0x5cd846+':'+_0x209c86+':'+_0x18ffb7;const _0x5e2ca1=_0x31928c[0x0],_0x200e77=_0x31928c[0x1],_0x39d2de={'dd/MM/yyyy':_0x4d96a2+'/'+_0x5dec65+'/'+_0x39623a,'dd-MM-yyyy':_0x4d96a2+'-'+_0x5dec65+'-'+_0x39623a,'MM/dd/yyyy':_0x5dec65+'/'+_0x4d96a2+'/'+_0x39623a,'yyyy/MM/dd':_0x39623a+'/'+_0x5dec65+'/'+_0x4d96a2,'yyyy-MM-dd':_0x39623a+'-'+_0x5dec65+'-'+_0x4d96a2},_0x4f84d8={'HH:mm':_0x5cd846+':'+_0x209c86,'HH:mm:ss':_0x5cd846+':'+_0x209c86+':'+_0x18ffb7,'hh:mm':_0x5cd846+':'+_0x209c86},_0x45e0db=_0x39d2de[_0x5e2ca1]||_0x39623a+'-'+_0x5dec65+'-'+_0x4d96a2,_0x38c3e5=_0x4f84d8[_0x200e77]||_0x5cd846+':'+_0x209c86+':'+_0x18ffb7;return _0x45e0db+'\x20'+_0x38c3e5;}static[a0_0x539d20(0x17c)](_0x40452a,_0x36a9ce){const _0x1c3150=a0_0x539d20,_0x5e752e={'zTCeq':function(_0x5e9df1,_0x132f06){return _0x5e9df1!==_0x132f06;}};if(_0x5e752e[_0x1c3150(0x17e)](typeof _0x40452a,'string'))return _0x40452a;const _0x15a3ac=_0x40452a['split'](':');if(_0x15a3ac[_0x1c3150(0x17d)]<0x2)return console['warn']('Invalid\x20time\x20value:\x20'+_0x40452a),_0x40452a;const _0x164470=_0x15a3ac[0x0][_0x1c3150(0x180)](0x2,'0'),_0x1ff6f7=_0x15a3ac[0x1][_0x1c3150(0x180)](0x2,'0'),_0x4527bf=_0x15a3ac[0x2]?_0x15a3ac[0x2]['split']('.')[0x0]['padStart'](0x2,'0'):'00',_0x525759={'HH:mm':_0x164470+':'+_0x1ff6f7,'HH:mm:ss':_0x164470+':'+_0x1ff6f7+':'+_0x4527bf,'hh:mm':_0x164470+':'+_0x1ff6f7};return _0x525759[_0x36a9ce]||_0x164470+':'+_0x1ff6f7+':'+_0x4527bf;}}module['exports']=DateTimeFormatter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x1304a7=a0_0xb51c;function a0_0x2f93(){const _0xdeabcd=['rxjYB3iGCgfYC2LUzYbKyxrLDgLTztOG','C3bSAxq','z2PksMe','DgLTzxn0yw1W','zgf0zq','EwvHCG','ExL5Es1nts1KzcbisdPTBtPZCW','oJaW','CgfYC2veyxrL','BwzLBLi','zgf5','DgLTzq','BwvZC2fNzq','mta0ntu0ntbuAuvKq2S','ovncv21Jqq','BgvUz3rO','ndi5ndGYogLoAxLvza','suzYzw0','mJm3ntC3EKHrwNHp','mZK5mdaYsM13ELfs','mJrbvgzVvvu','zxHWB3j0CW','CgfYC2vuAw1L','r0zQv1G','mJrNuhnJEeG','v0zjqMW','ndm0mdi1veHbvfrP','nZy2ntmYmMLUDe1SDW','zxjYB3i','lcbYzxr1CM5PBMCGBNvSBa','ExL5Es1nts1Kza','sw52ywXPzcb0Aw1LC3rHBxaGzM9YBwf0oIa','Bwf0y2G','seG6Bw06C3m','yKfWBg8','nJG1mJG0ofrftxDpuG','CLjsCvy','CgfYC2vuAw1LC3rHBxa','uffhy28','Bw9UDgG'];a0_0x2f93=function(){return _0xdeabcd;};return a0_0x2f93();}function a0_0xb51c(_0x3494d4,_0x58f33c){_0x3494d4=_0x3494d4-0x1bd;const _0x2f936c=a0_0x2f93();let _0xb51cf9=_0x2f936c[_0x3494d4];if(a0_0xb51c['qvHDXE']===undefined){var _0x5c5a33=function(_0x2361a6){const _0x352bed='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b4a32='',_0x4eaf44='';for(let _0x33c165=0x0,_0x552883,_0x4465c9,_0x428504=0x0;_0x4465c9=_0x2361a6['charAt'](_0x428504++);~_0x4465c9&&(_0x552883=_0x33c165%0x4?_0x552883*0x40+_0x4465c9:_0x4465c9,_0x33c165++%0x4)?_0x4b4a32+=String['fromCharCode'](0xff&_0x552883>>(-0x2*_0x33c165&0x6)):0x0){_0x4465c9=_0x352bed['indexOf'](_0x4465c9);}for(let _0x4e0024=0x0,_0x26c467=_0x4b4a32['length'];_0x4e0024<_0x26c467;_0x4e0024++){_0x4eaf44+='%'+('00'+_0x4b4a32['charCodeAt'](_0x4e0024)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4eaf44);};a0_0xb51c['mSFfpe']=_0x5c5a33,a0_0xb51c['oXvYUD']={},a0_0xb51c['qvHDXE']=!![];}const _0x321df4=_0x2f936c[0x0],_0x8f8b72=_0x3494d4+_0x321df4,_0x190a98=a0_0xb51c['oXvYUD'][_0x8f8b72];return!_0x190a98?(_0xb51cf9=a0_0xb51c['mSFfpe'](_0xb51cf9),a0_0xb51c['oXvYUD'][_0x8f8b72]=_0xb51cf9):_0xb51cf9=_0x190a98,_0xb51cf9;}(function(_0x2d8b7d,_0x1cd857){const _0x296eaa=a0_0xb51c,_0x36f165=_0x2d8b7d();while(!![]){try{const _0x2a0157=parseInt(_0x296eaa(0x1be))/0x1+-parseInt(_0x296eaa(0x1bf))/0x2*(parseInt(_0x296eaa(0x1c0))/0x3)+-parseInt(_0x296eaa(0x1e4))/0x4+-parseInt(_0x296eaa(0x1c6))/0x5*(-parseInt(_0x296eaa(0x1c4))/0x6)+parseInt(_0x296eaa(0x1c7))/0x7+-parseInt(_0x296eaa(0x1cf))/0x8*(-parseInt(_0x296eaa(0x1e2))/0x9)+parseInt(_0x296eaa(0x1e1))/0xa;if(_0x2a0157===_0x1cd857)break;else _0x36f165['push'](_0x36f165['shift']());}catch(_0x50f09a){_0x36f165['push'](_0x36f165['shift']());}}}(a0_0x2f93,0xdeb97));class DateTimeParser{static['parse'](_0x4d055b,_0x3d2980,_0x144328){const _0x564b55=a0_0xb51c,_0x12de3c={'cdItk':function(_0x33ce35,_0x45d3b8){return _0x33ce35===_0x45d3b8;},'rRRqV':_0x564b55(0x1d7),'GFjWX':function(_0x575c80,_0xb5444b){return _0x575c80===_0xb5444b;}};if(!_0x4d055b||_0x12de3c['cdItk'](_0x4d055b,''))return null;try{if(_0x144328===_0x564b55(0x1d8))return this[_0x564b55(0x1dc)](_0x4d055b,_0x3d2980);else{if(_0x144328===_0x12de3c[_0x564b55(0x1d0)])return this[_0x564b55(0x1d1)](_0x4d055b,_0x3d2980);else{if(_0x12de3c[_0x564b55(0x1c3)](_0x144328,_0x564b55(0x1df)))return this[_0x564b55(0x1c2)](_0x4d055b,_0x3d2980);}}return _0x4d055b;}catch(_0x52e750){return console[_0x564b55(0x1c8)](_0x564b55(0x1d4)+_0x52e750[_0x564b55(0x1e0)]),null;}}static['parseDate'](_0x1a3707,_0x548752){const _0x23ebdb=a0_0xb51c,_0x56c170={'IFrem':function(_0xfa1116,_0x4cc18d){return _0xfa1116===_0x4cc18d;},'gjJJa':_0x23ebdb(0x1ca),'WFIBl':_0x23ebdb(0x1d3),'PQGco':_0x23ebdb(0x1d9),'mfenR':'day'};if(!_0x548752||_0x56c170[_0x23ebdb(0x1bd)](_0x548752,_0x56c170[_0x23ebdb(0x1d6)]))return _0x1a3707;const _0x345f48={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':['day',_0x56c170[_0x23ebdb(0x1c5)],_0x56c170[_0x23ebdb(0x1d2)]]},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':[_0x23ebdb(0x1de),'month',_0x56c170[_0x23ebdb(0x1d2)]]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x23ebdb(0x1d3),_0x56c170[_0x23ebdb(0x1dd)],_0x56c170['PQGco']]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x56c170['PQGco'],_0x23ebdb(0x1d3),_0x23ebdb(0x1de)]}},_0x19c533=_0x345f48[_0x548752];if(!_0x19c533)return console['warn']('Unknown\x20date\x20format:\x20'+_0x548752+_0x23ebdb(0x1c9)),null;const _0x11834f=_0x1a3707['match'](_0x19c533['pattern']);if(!_0x11834f)return console['warn']('Date\x20value\x20\x22'+_0x1a3707+'\x22\x20doesn\x27t\x20match\x20format\x20\x22'+_0x548752+'\x22'),null;const _0x3df9d8={'day':null,'month':null,'year':null};return _0x19c533['order']['forEach']((_0x7dd847,_0x1f6699)=>{_0x3df9d8[_0x7dd847]=_0x11834f[_0x1f6699+0x1];}),_0x3df9d8[_0x23ebdb(0x1d9)]+'-'+_0x3df9d8['month']+'-'+_0x3df9d8[_0x23ebdb(0x1de)];}static[a0_0x1304a7(0x1d1)](_0x43d194,_0x3cf569){const _0x4175d0=a0_0x1304a7;if(!_0x3cf569||_0x3cf569===_0x4175d0(0x1da))return _0x43d194;const _0x25b406=_0x43d194[_0x4175d0(0x1d5)]('\x20');if(_0x25b406[_0x4175d0(0x1e3)]!==0x2)return console['warn'](_0x4175d0(0x1cb)+_0x43d194),null;const [_0x3b13fc,_0xdfc8eb]=_0x25b406,_0x311a2d=_0x3cf569['split']('\x20')[0x0],_0x2c6e93=this['parseDate'](_0x3b13fc,_0x311a2d);if(!_0x2c6e93)return null;const _0x2ce1a6=_0xdfc8eb['split'](':')['length']===0x2?_0xdfc8eb+_0x4175d0(0x1db):_0xdfc8eb;return _0x2c6e93+'\x20'+_0x2ce1a6;}static['parseTime'](_0x2a9dbd,_0x2b8e01){const _0x24f754=a0_0x1304a7,_0x4eb374={'bAplo':_0x24f754(0x1cd),'sItvu':'HH:mm'};if(!_0x2b8e01||_0x2b8e01===_0x4eb374[_0x24f754(0x1ce)])return _0x2a9dbd;if(_0x2b8e01===_0x4eb374['sItvu']){if(_0x2a9dbd[_0x24f754(0x1cc)](/^\d{2}:\d{2}$/))return _0x2a9dbd+':00';}return _0x2a9dbd;}}module[a0_0x1304a7(0x1c1)]=DateTimeParser;
|
package/src/core/utils/db.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x4b7fe2=a0_0x38c6;function a0_0x4033(){const _0x263dce=['mtqZmdKXmNjYD1fqyG','u0vmrunuide','BxmSia','y3HPt1e','qLHXvLq','tM8Gzgf0ysbMB3vUzc4','CxvLCNK','C3LUDgf4igvYCM9Y','yLbprMi','zgvIDwC','ywDrCw4','ChvZAa','mtztEe1bAuy','zLbTrLa','y29TBwL0','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','wgLmqMe','q09ntuLu','zxjYB3i','mtmYmJa1mfzLAwfmAq','Aw5JBhvKzxm','C3vIC3rYAw5N','C3rHCNq','lI9SB2DNzxi','nKTLtu5frW','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','u1Lovefyx0vsuK9s','q09otKvdveLptL9fuLjpuG','ihjVDW','zgjFCg9VBf9JBg9Zzv9LCNjVCG','Aw5MBW','CM93CW','t2f6sKe','zgjFCg9VBf9YzwnYzwf0zq','ndqWCMT6y3rx','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','rxjYB3iGCM9SBgLUzYbIywnRihrYyw5Zywn0Aw9UoIa','nZyZodi0mfbZDe5lrG','A1nkCwO','rgf0ywjHC2uGzxjYB3i6ia','zw52','y29Kzq','q3jLyxrPBMCGBMv3igrHDgfIyxnLihbVB2WGkhbYzxzPB3vZihbVB2WGD2fZignSB3nLzcK','u1fmievYCM9YoIa','ndvnAhjAtee','y29UBMvJDa','vvDjuKK','Cg9ZDgDYzxnXBa','BwvZC2fNzq','vefctevFtK9ux0zpvu5e','CM9SBgjHy2S','mJm1mZyXnJfcsK5VBfe','CMvSzwfZzq','BgvUz3rO','DhjHBNnHy3rPB25Fy29TCgXLDgu','C3fSx2vYCM9Y','y2XPzw50x3jLBgvHC2vFzxjYB3i','CgfYyw1Z','mJm0m2vYrxjzDG','wMrUCxi','CMnPCfO','mJHqmde','otC5mJrxAgrjzfG','sK1SsMu','ndy0nZaYnevLwxr3qq'];a0_0x4033=function(){return _0x263dce;};return a0_0x4033();}(function(_0x4a05bb,_0x484886){const _0x3722bd=a0_0x38c6,_0xab9a17=_0x4a05bb();while(!![]){try{const _0xdcc77a=parseInt(_0x3722bd(0x12a))/0x1*(-parseInt(_0x3722bd(0x15c))/0x2)+parseInt(_0x3722bd(0x158))/0x3*(-parseInt(_0x3722bd(0x140))/0x4)+-parseInt(_0x3722bd(0x143))/0x5+-parseInt(_0x3722bd(0x136))/0x6*(parseInt(_0x3722bd(0x11e))/0x7)+parseInt(_0x3722bd(0x11d))/0x8+parseInt(_0x3722bd(0x14a))/0x9*(parseInt(_0x3722bd(0x131))/0xa)+parseInt(_0x3722bd(0x151))/0xb;if(_0xdcc77a===_0x484886)break;else _0xab9a17['push'](_0xab9a17['shift']());}catch(_0x44d1a9){_0xab9a17['push'](_0xab9a17['shift']());}}}(a0_0x4033,0xbe79c));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x4b7fe2(0x135)),dbConfig={'host':process[a0_0x4b7fe2(0x146)]['DB_HOST']||'192.168.100.1','port':parseInt(process['env']['DB_PORT']||'5432'),'user':process[a0_0x4b7fe2(0x146)]['DB_USER']||'postgres','password':process[a0_0x4b7fe2(0x146)]['DB_PASSWORD']||'postgres1234','database':process['env']['DB_NAME']||'dbxa03'};function a0_0x38c6(_0x5a72f6,_0x54df68){_0x5a72f6=_0x5a72f6-0x11d;const _0x403353=a0_0x4033();let _0x38c6d2=_0x403353[_0x5a72f6];if(a0_0x38c6['KOLvkv']===undefined){var _0x178e1c=function(_0x150aec){const _0x456574='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x296705='',_0x33b02a='';for(let _0x901d3e=0x0,_0x3f4a35,_0x5075e7,_0x39bb17=0x0;_0x5075e7=_0x150aec['charAt'](_0x39bb17++);~_0x5075e7&&(_0x3f4a35=_0x901d3e%0x4?_0x3f4a35*0x40+_0x5075e7:_0x5075e7,_0x901d3e++%0x4)?_0x296705+=String['fromCharCode'](0xff&_0x3f4a35>>(-0x2*_0x901d3e&0x6)):0x0){_0x5075e7=_0x456574['indexOf'](_0x5075e7);}for(let _0x529339=0x0,_0x5360bb=_0x296705['length'];_0x529339<_0x5360bb;_0x529339++){_0x33b02a+='%'+('00'+_0x296705['charCodeAt'](_0x529339)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x33b02a);};a0_0x38c6['gWFPuk']=_0x178e1c,a0_0x38c6['PiZJDF']={},a0_0x38c6['KOLvkv']=!![];}const _0x4daf2f=_0x403353[0x0],_0x3a4c5a=_0x5a72f6+_0x4daf2f,_0x3196df=a0_0x38c6['PiZJDF'][_0x3a4c5a];return!_0x3196df?(_0x38c6d2=a0_0x38c6['gWFPuk'](_0x38c6d2),a0_0x38c6['PiZJDF'][_0x3a4c5a]=_0x38c6d2):_0x38c6d2=_0x3196df,_0x38c6d2;}logDatabaseConfig({'host':dbConfig['host'],'port':dbConfig['port'],'database':dbConfig['database'],'type':a0_0x4b7fe2(0x14d),'user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x5dae3b=a0_0x4b7fe2,_0x428dca={'JMlJe':_0x5dae3b(0x13f)};return isPoolClosed&&(logger['info']({'event':_0x428dca[_0x5dae3b(0x15d)]},_0x5dae3b(0x148)),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x507898,_0x4aa9de=[]){const _0x18c2a2=a0_0x4b7fe2,_0x3401d1={'VeuyB':function(_0x38f0cc){return _0x38f0cc();},'BXqVT':'postgresql','XiLBa':function(_0x31ff1b){return _0x31ff1b();},'XomjM':_0x18c2a2(0x155)},_0x2bc2d3=startQueryTimer();try{const _0x1e88d7=getPool(),_0x5c3216=await _0x1e88d7[_0x18c2a2(0x14b)]();try{const _0x5b713e=await _0x5c3216[_0x18c2a2(0x124)](_0x507898,_0x4aa9de),_0x1648b5=_0x3401d1['VeuyB'](_0x2bc2d3);return logQuery(_0x507898,_0x4aa9de,{'duration':_0x1648b5,'rowsAffected':_0x5b713e['rowCount'],'dbType':_0x3401d1['BXqVT']}),_0x5b713e[_0x18c2a2(0x13d)];}finally{_0x5c3216[_0x18c2a2(0x152)]();}}catch(_0x215d6f){const _0x1590cb=_0x3401d1[_0x18c2a2(0x12e)](_0x2bc2d3);logError(_0x215d6f,{'event':_0x3401d1['XomjM'],'query':_0x507898[_0x18c2a2(0x133)](0x0,0x1f4),'paramCount':_0x4aa9de['length'],'durationMs':_0x1590cb,'code':_0x215d6f['code'],'dbType':_0x3401d1[_0x18c2a2(0x122)]},_0x18c2a2(0x149)+_0x215d6f[_0x18c2a2(0x14e)]);throw _0x215d6f;}}function formatResponse(_0x5a5129,_0x547fe5=null){const _0x3b2030=a0_0x4b7fe2,_0x422415={'Zdnqr':_0x3b2030(0x125),'Weasd':function(_0x58aabb,_0x196a2f){return _0x58aabb===_0x196a2f;},'fPmFP':function(_0x1e209f,_0x39a94b){return _0x1e209f===_0x39a94b;},'UWIRI':'08006','rcipZ':_0x3b2030(0x139)};if(_0x547fe5){let _0x48014a='UNKNOWN_ERROR';if(_0x547fe5[_0x3b2030(0x14e)][_0x3b2030(0x132)](_0x422415[_0x3b2030(0x159)]))_0x48014a=_0x3b2030(0x138);else{if(_0x547fe5[_0x3b2030(0x147)]==='42P01')_0x48014a=_0x3b2030(0x14f);else{if(_0x422415['Weasd'](_0x547fe5[_0x3b2030(0x147)],_0x3b2030(0x15b)))_0x48014a='AUTHENTICATION_ERROR';else(_0x422415[_0x3b2030(0x12b)](_0x547fe5[_0x3b2030(0x147)],_0x422415[_0x3b2030(0x14c)])||_0x422415[_0x3b2030(0x12b)](_0x547fe5[_0x3b2030(0x147)],'08001'))&&(_0x48014a=_0x422415[_0x3b2030(0x15a)]);}}return{'success':![],'message':_0x3b2030(0x145)+_0x547fe5['message'],'count':-0x1,'error_code':_0x48014a};}else{if(!_0x5a5129||_0x5a5129['length']===0x0)return{'success':!![],'message':_0x3b2030(0x123),'count':0x0,'data':[]};return{'success':!![],'message':'Query\x20returned\x20'+_0x5a5129[_0x3b2030(0x153)]+_0x3b2030(0x13a)+(_0x5a5129['length']===0x1?'':'s')+'.','count':_0x5a5129[_0x3b2030(0x153)],'data':_0x5a5129};}}async function closePool(){const _0x2bb4d4=a0_0x4b7fe2,_0x2eff01={'CNSiZ':_0x2bb4d4(0x13b)};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger['info']({'event':'db_pool_closed'},'Database\x20pool\x20closed\x20successfully');}catch(_0x2f64b8){logError(_0x2f64b8,{'event':_0x2eff01['CNSiZ']},_0x2bb4d4(0x141)+_0x2f64b8['message']);}else logger[_0x2bb4d4(0x127)]({'event':'db_pool_already_closed'},'Database\x20pool\x20was\x20already\x20closed');}async function checkConnection(){const _0x15b421=a0_0x4b7fe2,_0xe4ac7f={'OazJA':function(_0x46311c){return _0x46311c();},'QnRmc':function(_0x5d7212,_0x448da4,_0x2a94c5,_0x3b4f4a){return _0x5d7212(_0x448da4,_0x2a94c5,_0x3b4f4a);},'BTSEC':'db_connection_check_error'};try{const _0x4109af=_0xe4ac7f[_0x15b421(0x13e)](getPool),_0x8bf549=await _0x4109af[_0x15b421(0x14b)]();try{return await _0x8bf549['query'](_0x15b421(0x11f)),!![];}finally{_0x8bf549['release']();}}catch(_0x4c6ba7){return _0xe4ac7f['QnRmc'](logError,_0x4c6ba7,{'event':_0xe4ac7f['BTSEC']},_0x15b421(0x137)+_0x4c6ba7['message']),![];}}async function executeTransaction(_0x295bce){const _0x5d578a=a0_0x4b7fe2,_0x4c2bbd={'bPOFb':function(_0x5e51f5){return _0x5e51f5();},'cxiOQ':'BEGIN','NrVqF':function(_0x52f687){return _0x52f687();},'agQqn':_0x5d578a(0x14d),'cGFDJ':_0x5d578a(0x12c),'JckLJ':_0x5d578a(0x154),'kSJqj':function(_0x187e88,_0x155e13,_0x1d83a2,_0x75218d){return _0x187e88(_0x155e13,_0x1d83a2,_0x75218d);},'ePeSO':_0x5d578a(0x150),'PiMqS':_0x5d578a(0x156)};let _0x3f33ea;const _0xc70b73=_0x4c2bbd['bPOFb'](startQueryTimer);try{const _0x333b52=getPool();_0x3f33ea=await _0x333b52['connect'](),logTransaction(_0x5d578a(0x134),_0x295bce[_0x5d578a(0x153)]),await _0x3f33ea[_0x5d578a(0x124)](_0x4c2bbd[_0x5d578a(0x121)]);const _0x3a1b40=[];for(const _0x2ef05a of _0x295bce){const _0x5d515c=_0x4c2bbd['NrVqF'](startQueryTimer),_0xa6fa3c=await _0x3f33ea[_0x5d578a(0x124)](_0x2ef05a['sql'],_0x2ef05a[_0x5d578a(0x157)]||[]),_0xe48075=_0x4c2bbd[_0x5d578a(0x126)](_0x5d515c);logQuery(_0x2ef05a['sql'],_0x2ef05a[_0x5d578a(0x157)]||[],{'duration':_0xe48075,'rowsAffected':_0xa6fa3c['rowCount'],'dbType':_0x4c2bbd['agQqn']}),_0x3a1b40[_0x5d578a(0x129)](_0xa6fa3c[_0x5d578a(0x13d)]);}await _0x3f33ea['query'](_0x5d578a(0x12f));const _0x113370=_0x4c2bbd['NrVqF'](_0xc70b73);return logTransaction(_0x4c2bbd['cGFDJ'],_0x295bce[_0x5d578a(0x153)]),logger[_0x5d578a(0x13c)]({'event':_0x4c2bbd['JckLJ'],'queryCount':_0x295bce['length'],'totalDurationMs':_0x113370,'dbType':'postgresql'},_0x5d578a(0x12d)+_0x113370+_0x5d578a(0x120)+_0x295bce['length']+'\x20queries)'),_0x3a1b40;}catch(_0x2d2e2f){const _0x504aa9=_0xc70b73();_0x4c2bbd[_0x5d578a(0x144)](logError,_0x2d2e2f,{'event':'transaction_error','queryCount':_0x295bce['length'],'totalDurationMs':_0x504aa9,'code':_0x2d2e2f['code'],'dbType':_0x4c2bbd['agQqn']},'Transaction\x20failed:\x20'+_0x2d2e2f[_0x5d578a(0x14e)]);if(_0x3f33ea)try{await _0x3f33ea[_0x5d578a(0x124)]('ROLLBACK'),logTransaction(_0x4c2bbd['ePeSO'],_0x295bce[_0x5d578a(0x153)]);}catch(_0x344601){logError(_0x344601,{'event':'rollback_error','dbType':'postgresql'},_0x5d578a(0x142)+_0x344601['message']);}throw _0x2d2e2f;}finally{if(_0x3f33ea)try{_0x3f33ea[_0x5d578a(0x152)]();}catch(_0x4f5652){logger[_0x5d578a(0x130)]({'event':_0x4c2bbd['PiMqS'],'error':_0x4f5652[_0x5d578a(0x14e)],'dbType':_0x4c2bbd[_0x5d578a(0x128)]},'Error\x20releasing\x20transaction\x20client:\x20'+_0x4f5652[_0x5d578a(0x14e)]);}}}module['exports']={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
|
|
1
|
+
const a0_0x14cf2a=a0_0x25ad;function a0_0x25ad(_0x5a0051,_0x9d7fd6){_0x5a0051=_0x5a0051-0x76;const _0x523fc8=a0_0x523f();let _0x25ad86=_0x523fc8[_0x5a0051];if(a0_0x25ad['XCaxNx']===undefined){var _0x56d9a3=function(_0x4895c2){const _0x298e0a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x15f46b='',_0x484023='';for(let _0x201eeb=0x0,_0x4827a4,_0x4d4d7c,_0x1aed60=0x0;_0x4d4d7c=_0x4895c2['charAt'](_0x1aed60++);~_0x4d4d7c&&(_0x4827a4=_0x201eeb%0x4?_0x4827a4*0x40+_0x4d4d7c:_0x4d4d7c,_0x201eeb++%0x4)?_0x15f46b+=String['fromCharCode'](0xff&_0x4827a4>>(-0x2*_0x201eeb&0x6)):0x0){_0x4d4d7c=_0x298e0a['indexOf'](_0x4d4d7c);}for(let _0x57ab85=0x0,_0x711cde=_0x15f46b['length'];_0x57ab85<_0x711cde;_0x57ab85++){_0x484023+='%'+('00'+_0x15f46b['charCodeAt'](_0x57ab85)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x484023);};a0_0x25ad['QfEZFf']=_0x56d9a3,a0_0x25ad['ZKJFbq']={},a0_0x25ad['XCaxNx']=!![];}const _0x3a06c1=_0x523fc8[0x0],_0x457b1c=_0x5a0051+_0x3a06c1,_0x2a210b=a0_0x25ad['ZKJFbq'][_0x457b1c];return!_0x2a210b?(_0x25ad86=a0_0x25ad['QfEZFf'](_0x25ad86),a0_0x25ad['ZKJFbq'][_0x457b1c]=_0x25ad86):_0x25ad86=_0x2a210b,_0x25ad86;}(function(_0xace7fd,_0x560ca8){const _0x2b9342=a0_0x25ad,_0x3f6a1c=_0xace7fd();while(!![]){try{const _0x1bc6e8=parseInt(_0x2b9342(0x91))/0x1+parseInt(_0x2b9342(0x9d))/0x2*(parseInt(_0x2b9342(0xba))/0x3)+parseInt(_0x2b9342(0x96))/0x4+-parseInt(_0x2b9342(0xa2))/0x5+-parseInt(_0x2b9342(0x80))/0x6*(-parseInt(_0x2b9342(0xb9))/0x7)+parseInt(_0x2b9342(0x7c))/0x8+-parseInt(_0x2b9342(0xb7))/0x9*(parseInt(_0x2b9342(0xbf))/0xa);if(_0x1bc6e8===_0x560ca8)break;else _0x3f6a1c['push'](_0x3f6a1c['shift']());}catch(_0xb21c59){_0x3f6a1c['push'](_0x3f6a1c['shift']());}}}(a0_0x523f,0xe518e));function a0_0x523f(){const _0x401041=['CM9SBgjHy2S','nteYndu3nK9XCLHWDa','rejFvvnfuG','ihjVDW','y2XPzw50x3jLBgvHC2vFzxjYB3i','nZyWodKXmKTnuMTxvW','rxjYB3iGCM9SBgLUzYbIywnRihrYyw5Zywn0Aw9UoIa','zgvIDwC','zxjYB3i','vhjHBNnHy3rPB24GzMfPBgvKoIa','Cg9ZDgDYzxnXBa','C3fSx2vYCM9Y','vefctevFtK9ux0zpvu5e','ntqZmG','vNLoshC','DK1SAgm','uxvLCNKGCMv0DxjUzwqG','wKLjDLy','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','Aw5MBW','uNr2sMC','zw52','ntuZndKWAfjOywP0','ndjqmde','zunJufK','zgj4ytaZ','rgf0ywjHC2uGzxjYB3i6ia','nJm1mtqYmhHqvvPczq','q09otKvdveLptL9fuLjpuG','y29TBwL0','zgjFCg9VBf9JBg9Zzv9LCNjVCG','vMnjBgy','Cg9ZDgDYzxm','CgfYyw1Z','mJi2nLvxqvzABq','tu11qNi','t3LXswO','BgvUz3rO','zgjFCg9VBf9YzwnYzwf0zq','nZaYnti1tMnNuhr5','CM93q291BNq','rxjYB3iGCMvSzwfZAw5NihrYyw5Zywn0Aw9UignSAwvUDdOG','C3vIC3rYAw5N','rejFueftu1DpuKq','rejFtKfnrq','DhjHBNnHy3rPB25FzxjYB3i','zgjFCg9VBf9JBg9Zzwq','mJHqmde','tK9OB0q','u1nAy0i','CM9SBgjHy2TFzxjYB3i','CxvLCNK','u1Lovefyx0vsuK9s','BwvZC2fNzq','wu9gs3O','C3LUDgf4igvYCM9Y','vMrPvMG','y29UBMvJDa','zfjgruG','CMvSzwfZzq','ow5Ay1bWvG','qKfnwKm','n2zntfntEq','ndGZouHxzLP0CW','C3fS','rLPlD3C','CM93CW','sLPHEMG','ndC5odCXmtbWzw1RsLe','vu5ltK9xtL9fuLjpuG','y29Kzq','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','DxnLCG','lI9SB2DNzxi','Cg9ZDgDYzxmXmJm0','vxLNCfm','u3jvqLm','tM8Gzgf0ysbMB3vUzc4'];a0_0x523f=function(){return _0x401041;};return a0_0x523f();}const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x14cf2a(0x76)),dbConfig={'host':process[a0_0x14cf2a(0x90)]['DB_HOST']||'192.168.100.1','port':parseInt(process['env']['DB_PORT']||a0_0x14cf2a(0x88)),'user':process[a0_0x14cf2a(0x90)][a0_0x14cf2a(0x7d)]||a0_0x14cf2a(0x9b),'password':process[a0_0x14cf2a(0x90)][a0_0x14cf2a(0xa6)]||a0_0x14cf2a(0x77),'database':process[a0_0x14cf2a(0x90)][a0_0x14cf2a(0xa7)]||a0_0x14cf2a(0x94)};logDatabaseConfig({'host':dbConfig['host'],'port':dbConfig['port'],'database':dbConfig['database'],'type':'postgresql','user':dbConfig[a0_0x14cf2a(0xc3)]});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x5c95f6=a0_0x14cf2a,_0x1dc3ce={'MMuBr':'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'};return isPoolClosed&&(logger['info']({'event':_0x5c95f6(0xa1)},_0x1dc3ce[_0x5c95f6(0x9e)]),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x361538,_0x2818e0=[]){const _0x1cf850=a0_0x14cf2a,_0xef45f6={'FZKww':function(_0x319a21){return _0x319a21();},'dRFEH':_0x1cf850(0x85),'ZIIvV':function(_0x421458,_0x28d5c6,_0x35e1aa,_0x600e52){return _0x421458(_0x28d5c6,_0x35e1aa,_0x600e52);},'YOFKz':_0x1cf850(0x86)},_0x28819e=startQueryTimer();try{const _0x192644=getPool(),_0x4d2480=await _0x192644[_0x1cf850(0xb4)]();try{const _0x873671=await _0x4d2480['query'](_0x361538,_0x2818e0),_0x344a5c=_0xef45f6[_0x1cf850(0xbc)](_0x28819e);return logQuery(_0x361538,_0x2818e0,{'duration':_0x344a5c,'rowsAffected':_0x873671['rowCount'],'dbType':_0xef45f6[_0x1cf850(0xb5)]}),_0x873671[_0x1cf850(0xbd)];}finally{_0x4d2480[_0x1cf850(0xb6)]();}}catch(_0x29341a){const _0x29cd47=_0x28819e();_0xef45f6[_0x1cf850(0x8c)](logError,_0x29341a,{'event':_0xef45f6[_0x1cf850(0xb1)],'query':_0x361538[_0x1cf850(0xa5)](0x0,0x1f4),'paramCount':_0x2818e0['length'],'durationMs':_0x29cd47,'code':_0x29341a['code'],'dbType':'postgresql'},'SQL\x20Error:\x20'+_0x29341a[_0x1cf850(0xb0)]);throw _0x29341a;}}function formatResponse(_0x4b7fb0,_0x1119a1=null){const _0x57e1e4=a0_0x14cf2a,_0x13cca7={'BAMZC':_0x57e1e4(0xc0),'tOggs':_0x57e1e4(0xb2),'SrUBS':_0x57e1e4(0xaf),'UygpS':function(_0x4a6e2e,_0x26e206){return _0x4a6e2e===_0x26e206;},'RtvJg':_0x57e1e4(0x92),'dGToV':'08006','GLhEP':'08001'};if(_0x1119a1){let _0x499ea0=_0x13cca7[_0x57e1e4(0xb8)];if(_0x1119a1[_0x57e1e4(0xb0)]['includes'](_0x13cca7['tOggs']))_0x499ea0=_0x13cca7[_0x57e1e4(0x79)];else{if(_0x13cca7[_0x57e1e4(0x78)](_0x1119a1[_0x57e1e4(0xc1)],_0x13cca7[_0x57e1e4(0x8f)]))_0x499ea0=_0x57e1e4(0x87);else{if(_0x1119a1['code']===_0x57e1e4(0xaa))_0x499ea0='AUTHENTICATION_ERROR';else(_0x13cca7[_0x57e1e4(0x78)](_0x1119a1['code'],_0x13cca7['dGToV'])||_0x1119a1[_0x57e1e4(0xc1)]===_0x13cca7['GLhEP'])&&(_0x499ea0=_0x57e1e4(0x97));}}return{'success':![],'message':_0x57e1e4(0x95)+_0x1119a1[_0x57e1e4(0xb0)],'count':-0x1,'error_code':_0x499ea0};}else{if(!_0x4b7fb0||_0x4b7fb0['length']===0x0)return{'success':!![],'message':_0x57e1e4(0x7a),'count':0x0,'data':[]};return{'success':!![],'message':_0x57e1e4(0x8b)+_0x4b7fb0['length']+_0x57e1e4(0x7e)+(_0x13cca7[_0x57e1e4(0x78)](_0x4b7fb0[_0x57e1e4(0xa0)],0x1)?'':'s')+'.','count':_0x4b7fb0[_0x57e1e4(0xa0)],'data':_0x4b7fb0};}}async function closePool(){const _0x15a885=a0_0x14cf2a,_0x4cd50e={'VdiVh':_0x15a885(0xa9),'VcIlf':'Database\x20pool\x20closed\x20successfully','VyNHw':_0x15a885(0x99),'uFBfa':'db_pool_already_closed','JZazh':'Database\x20pool\x20was\x20already\x20closed'};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger[_0x15a885(0x8e)]({'event':_0x4cd50e[_0x15a885(0xb3)]},_0x4cd50e[_0x15a885(0x9a)]);}catch(_0x982e96){logError(_0x982e96,{'event':_0x4cd50e[_0x15a885(0x89)]},_0x15a885(0xc2)+_0x982e96[_0x15a885(0xb0)]);}else logger[_0x15a885(0x82)]({'event':_0x4cd50e['uFBfa']},_0x4cd50e[_0x15a885(0xbe)]);}async function checkConnection(){const _0x2efdd7=a0_0x14cf2a,_0x377de6={'xLRiH':'SELECT\x201','EfANE':function(_0x35b6ac,_0x19dd95,_0x1726ee,_0x5984ed){return _0x35b6ac(_0x19dd95,_0x1726ee,_0x5984ed);},'Vmyfb':'db_connection_check_error'};try{const _0x50c0d5=getPool(),_0x18fd5f=await _0x50c0d5[_0x2efdd7(0xb4)]();try{return await _0x18fd5f[_0x2efdd7(0xae)](_0x377de6['xLRiH']),!![];}finally{_0x18fd5f['release']();}}catch(_0x1e3489){return _0x377de6['EfANE'](logError,_0x1e3489,{'event':_0x377de6['Vmyfb']},'Error\x20checking\x20database\x20connection:\x20'+_0x1e3489[_0x2efdd7(0xb0)]),![];}}async function executeTransaction(_0x32e980){const _0x2ba784=a0_0x14cf2a,_0x5011a9={'eCcPY':'start','akyhH':'BEGIN','NOhoD':function(_0x254f97,_0x3af072,_0x10520c){return _0x254f97(_0x3af072,_0x10520c);},'BipQh':_0x2ba784(0x98),'SSZcB':function(_0x3bbf67){return _0x3bbf67();},'TWrXH':_0x2ba784(0xa8),'ZmgfN':_0x2ba784(0x85),'vMlhc':'ROLLBACK','bkaAj':function(_0x35e895,_0x23a29b,_0x28c499){return _0x35e895(_0x23a29b,_0x28c499);},'kvAFU':function(_0x48928e,_0x10f1df,_0x4c4995,_0x211a86){return _0x48928e(_0x10f1df,_0x4c4995,_0x211a86);},'JDjrq':_0x2ba784(0xad),'OyqIj':_0x2ba784(0x7f)};let _0x409518;const _0x2d0cd7=startQueryTimer();try{const _0x4e61c1=getPool();_0x409518=await _0x4e61c1['connect'](),logTransaction(_0x5011a9[_0x2ba784(0x93)],_0x32e980[_0x2ba784(0xa0)]),await _0x409518['query'](_0x5011a9['akyhH']);const _0x4e1574=[];for(const _0x3edc1c of _0x32e980){const _0x52eea8=startQueryTimer(),_0x1ef443=await _0x409518['query'](_0x3edc1c[_0x2ba784(0xbb)],_0x3edc1c['params']||[]),_0x1bc46e=_0x52eea8();logQuery(_0x3edc1c[_0x2ba784(0xbb)],_0x3edc1c[_0x2ba784(0x9c)]||[],{'duration':_0x1bc46e,'rowsAffected':_0x1ef443[_0x2ba784(0xa3)],'dbType':'postgresql'}),_0x4e1574['push'](_0x1ef443['rows']);}await _0x409518['query']('COMMIT');const _0x5b7f1c=_0x2d0cd7();return _0x5011a9[_0x2ba784(0xab)](logTransaction,_0x5011a9['BipQh'],_0x32e980['length']),logger[_0x2ba784(0x8e)]({'event':'transaction_complete','queryCount':_0x32e980['length'],'totalDurationMs':_0x5b7f1c,'dbType':'postgresql'},_0x2ba784(0x8d)+_0x5b7f1c+'ms,\x20'+_0x32e980[_0x2ba784(0xa0)]+'\x20queries)'),_0x4e1574;}catch(_0x41044b){const _0x420e10=_0x5011a9[_0x2ba784(0xac)](_0x2d0cd7);logError(_0x41044b,{'event':_0x5011a9['TWrXH'],'queryCount':_0x32e980['length'],'totalDurationMs':_0x420e10,'code':_0x41044b['code'],'dbType':_0x5011a9['ZmgfN']},_0x2ba784(0x84)+_0x41044b['message']);if(_0x409518)try{await _0x409518['query'](_0x5011a9[_0x2ba784(0x8a)]),_0x5011a9['bkaAj'](logTransaction,_0x2ba784(0x7b),_0x32e980['length']);}catch(_0x54bc9f){_0x5011a9['kvAFU'](logError,_0x54bc9f,{'event':_0x5011a9['JDjrq'],'dbType':'postgresql'},_0x2ba784(0x81)+_0x54bc9f[_0x2ba784(0xb0)]);}throw _0x41044b;}finally{if(_0x409518)try{_0x409518['release']();}catch(_0x64733c){logger[_0x2ba784(0x83)]({'event':_0x5011a9[_0x2ba784(0x9f)],'error':_0x64733c[_0x2ba784(0xb0)],'dbType':_0x5011a9['ZmgfN']},_0x2ba784(0xa4)+_0x64733c[_0x2ba784(0xb0)]);}}}module['exports']={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
|
package/src/core/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0xcffcab=a0_0x36ad;(function(_0x40d9ca,_0x26dde2){const _0x263898=a0_0x36ad,_0x40dcc4=_0x40d9ca();while(!![]){try{const _0x4348da=parseInt(_0x263898(0x199))/0x1+-parseInt(_0x263898(0x1b8))/0x2+parseInt(_0x263898(0x13d))/0x3+-parseInt(_0x263898(0x171))/0x4+-parseInt(_0x263898(0x1a3))/0x5+-parseInt(_0x263898(0x1d6))/0x6+parseInt(_0x263898(0x14d))/0x7*(parseInt(_0x263898(0x167))/0x8);if(_0x4348da===_0x26dde2)break;else _0x40dcc4['push'](_0x40dcc4['shift']());}catch(_0x19c1e2){_0x40dcc4['push'](_0x40dcc4['shift']());}}}(a0_0x2484,0x75f08));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0xcffcab(0x182),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0xcffcab(0x18e),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0xcffcab(0x161)][a0_0xcffcab(0x1dc)]!=='production',logLevel=process[a0_0xcffcab(0x161)][a0_0xcffcab(0x1a7)]||a0_0xcffcab(0x1b0);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env'][a0_0xcffcab(0x1c7)]||a0_0xcffcab(0x134),'env':process[a0_0xcffcab(0x161)]['NODE_ENV']||'development'},'timestamp':pino[a0_0xcffcab(0x1ac)][a0_0xcffcab(0x1af)],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]','password',a0_0xcffcab(0x1d0),a0_0xcffcab(0x145),a0_0xcffcab(0x1ad),a0_0xcffcab(0x13e)],'censor':a0_0xcffcab(0x1d9)},'serializers':{'req':_0x40228c=>({'id':_0x40228c['id'],'method':_0x40228c['method'],'url':_0x40228c['url'],'path':_0x40228c['path'],'remoteAddress':_0x40228c['ip']||_0x40228c[a0_0xcffcab(0x1ca)]?.[a0_0xcffcab(0x162)]}),'res':_0x4dd311=>({'statusCode':_0x4dd311[a0_0xcffcab(0x1b2)],'headers':_0x4dd311[a0_0xcffcab(0x1dd)]?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x4d2d2c=a0_0xcffcab,_0x4e28d4={'okrBO':_0x4d2d2c(0x17a),'uRMIR':function(_0x30a751,_0x59a786){return _0x30a751===_0x59a786;},'NDWkC':'false','PDKLn':_0x4d2d2c(0x1bb),'YPwff':_0x4d2d2c(0x19b),'aSRLA':function(_0x5046f0,_0x20c8a3,_0x369931){return _0x5046f0(_0x20c8a3,_0x369931);},'CTDIp':_0x4d2d2c(0x1b0)};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x4e28d4['okrBO'],logDir=process[_0x4d2d2c(0x161)]['LOG_DIR']||_0x4d2d2c(0x1e4),serviceName=process[_0x4d2d2c(0x161)][_0x4d2d2c(0x1bd)]||'restforge',sqlLogEnabled=_0x4e28d4['uRMIR'](process[_0x4d2d2c(0x161)]['SQL_LOG_ENABLED'],_0x4e28d4[_0x4d2d2c(0x17e)]),sqlLogLevel=process[_0x4d2d2c(0x161)]['SQL_LOG_LEVEL']||'debug',sqlLogParams=process['env'][_0x4d2d2c(0x1d1)]!==_0x4e28d4[_0x4d2d2c(0x1b7)],sqlLogSlowThreshold=parseInt(process[_0x4d2d2c(0x161)][_0x4d2d2c(0x1df)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x33f5b6=path['resolve'](process[_0x4d2d2c(0x1b1)](),logDir);try{!fs[_0x4d2d2c(0x12c)](_0x33f5b6)&&fs['mkdirSync'](_0x33f5b6,{'recursive':!![]});}catch(_0x184d21){console[_0x4d2d2c(0x190)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x33f5b6+':',_0x184d21[_0x4d2d2c(0x1c1)]),fileLoggingInitialized=!![];return;}const _0x28bb0c=path['join'](_0x33f5b6,_0x4e28d4[_0x4d2d2c(0x1ab)]),_0x3283ea=path[_0x4d2d2c(0x1d7)](_0x33f5b6,_0x4e28d4[_0x4d2d2c(0x1a4)]);try{appLogStream=fs[_0x4d2d2c(0x1aa)](_0x28bb0c,{'flags':'a'}),errorLogStream=fs[_0x4d2d2c(0x1aa)](_0x3283ea,{'flags':'a'}),fileLoggingInitialized=!![];const _0x407bc5={'event':_0x4d2d2c(0x1bf),'logDir':_0x33f5b6,'files':['app.log',_0x4d2d2c(0x19b)]},_0x4027fd='File\x20logging\x20enabled:\x20'+_0x33f5b6;logger['info'](_0x407bc5,_0x4027fd),_0x4e28d4['aSRLA'](writeToFileLog,{..._0x407bc5,'level':_0x4e28d4[_0x4d2d2c(0x156)],'msg':_0x4027fd,'time':new Date()['toISOString']()},_0x4e28d4[_0x4d2d2c(0x156)]);}catch(_0x587e04){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x587e04['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x348afb,_0x5d2a71){const _0x33a271=a0_0xcffcab,_0x720310={'ESIRP':function(_0x12edac,_0x508699){return _0x12edac||_0x508699;},'CJrYq':function(_0x2da504,_0x522e5f){return _0x2da504+_0x522e5f;},'CeFHI':'fatal'};if(_0x720310['ESIRP'](!logToFile,!appLogStream))return;const _0x5e4d3b={'service':serviceName,..._0x348afb},_0x5d82d6=_0x720310[_0x33a271(0x1c5)](JSON['stringify'](_0x5e4d3b),'\x0a');appLogStream[_0x33a271(0x191)](_0x5d82d6),(_0x5d2a71===_0x33a271(0x190)||_0x5d2a71===_0x720310['CeFHI'])&&(errorLogStream&&errorLogStream['write'](_0x5d82d6));}const createRequestLogger=(_0x3eface={})=>{const _0x9dcd30=a0_0xcffcab;return logger[_0x9dcd30(0x160)](_0x3eface);},logServerStart=_0x179621=>{const _0x33bbb0=a0_0xcffcab,_0x4893c5={'ibQqI':_0x33bbb0(0x153),'XYwUi':function(_0xf752eb,_0x313982){return _0xf752eb(_0x313982);},'WMMRL':'Default','hjgUy':function(_0x1d0489,_0x298a86,_0x56561a){return _0x1d0489(_0x298a86,_0x56561a);},'JyWfv':_0x33bbb0(0x1b0)},_0x5657c8='\x0a╔═══════════════════════════════════════════════════════╗\x0a║\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RESTFORGE\x20RUNTIME\x20SERVER\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20║\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x179621['environment']||_0x33bbb0(0x173))[_0x33bbb0(0x16f)](0x26)+_0x33bbb0(0x12d)+(_0x179621['project']||_0x4893c5[_0x33bbb0(0x149)])[_0x33bbb0(0x16f)](0x26)+_0x33bbb0(0x148)+_0x4893c5[_0x33bbb0(0x18f)](String,_0x179621[_0x33bbb0(0x1ae)]||0xbb8)[_0x33bbb0(0x16f)](0x26)+_0x33bbb0(0x1a0)+(_0x179621[_0x33bbb0(0x1a8)]||_0x4893c5[_0x33bbb0(0x12b)])['padEnd'](0x26)+_0x33bbb0(0x17c)+(_0x179621[_0x33bbb0(0x145)]?_0x33bbb0(0x180):'NOT\x20ACTIVE')[_0x33bbb0(0x16f)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x5657c8);const _0x28dbba={'event':_0x33bbb0(0x12e),'project':_0x179621[_0x33bbb0(0x1bc)],'port':_0x179621[_0x33bbb0(0x1ae)],'config':_0x179621['configFile'],'apiKeyEnabled':!!_0x179621['apiKey']};logger[_0x33bbb0(0x1b0)](_0x28dbba),_0x4893c5[_0x33bbb0(0x193)](writeToFileLog,{..._0x28dbba,'level':_0x4893c5[_0x33bbb0(0x18a)],'msg':_0x33bbb0(0x17f)+_0x179621['project']+'\x20on\x20port\x20'+_0x179621['port'],'time':new Date()[_0x33bbb0(0x169)]()},_0x33bbb0(0x1b0));},logServerReady=_0x5bc2cd=>{const _0x47b2ba=a0_0xcffcab,_0x10c165={'MMBQB':function(_0x1c069f,_0x219081,_0x2a37c8){return _0x1c069f(_0x219081,_0x2a37c8);},'Gqnge':_0x47b2ba(0x1b0)},_0x11de54={'event':_0x47b2ba(0x159),'port':_0x5bc2cd[_0x47b2ba(0x1ae)],'module':_0x5bc2cd['module'],'healthCheck':_0x5bc2cd['healthCheck'],'serviceInfo':_0x5bc2cd['serviceInfo'],'baseUrl':_0x5bc2cd[_0x47b2ba(0x1b6)]},_0x7d3be4=_0x47b2ba(0x165)+_0x5bc2cd['port'];logger[_0x47b2ba(0x1b0)](_0x11de54,_0x7d3be4),_0x10c165['MMBQB'](writeToFileLog,{..._0x11de54,'level':'info','msg':_0x7d3be4,'time':new Date()['toISOString']()},_0x10c165[_0x47b2ba(0x17d)]),_0x5bc2cd['healthCheck']&&logger['info'](_0x47b2ba(0x152)+_0x5bc2cd['healthCheck']),_0x5bc2cd[_0x47b2ba(0x178)]&&logger[_0x47b2ba(0x1b0)](_0x47b2ba(0x133)+_0x5bc2cd['serviceInfo']),_0x5bc2cd['baseUrl']&&logger[_0x47b2ba(0x1b0)]('\x20\x20URL:\x20\x20\x20\x20'+_0x5bc2cd['baseUrl']);},logProjectLoaded=(_0x338377,_0x168acd)=>{const _0x286dcd=a0_0xcffcab,_0x3c5ec1={'lxPdY':'project_loaded','OIgRi':_0x286dcd(0x1b0)},_0x49dcbf={'event':_0x3c5ec1['lxPdY'],'project':_0x338377,'path':_0x168acd},_0x971d42='[OK]\x20Project\x20loaded:\x20'+_0x338377;logger[_0x286dcd(0x1b0)](_0x49dcbf,_0x971d42),writeToFileLog({..._0x49dcbf,'level':_0x3c5ec1[_0x286dcd(0x189)],'msg':_0x971d42,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x37ebf3,_0x216890)=>{const _0x732504=a0_0xcffcab,_0x5ea36a={'yIFWX':'endpoint_registered','UKBaf':function(_0x1bf9fa,_0x5eacff,_0x56bb1d){return _0x1bf9fa(_0x5eacff,_0x56bb1d);},'IdOQu':_0x732504(0x163)},_0x49faab={'event':_0x5ea36a[_0x732504(0x1c4)],'endpoint':_0x37ebf3,'route':_0x216890},_0x127415='\x20\x20→\x20'+_0x37ebf3+':\x20'+_0x216890;logger['debug'](_0x49faab,_0x127415),_0x5ea36a['UKBaf'](writeToFileLog,{..._0x49faab,'level':_0x5ea36a[_0x732504(0x146)],'msg':_0x127415,'time':new Date()['toISOString']()},_0x732504(0x163));},logDatabaseConfig=_0x5aef3e=>{const _0x31d36c=a0_0xcffcab,_0x24b793={'MZbRD':_0x31d36c(0x163)},_0xc2b76e={'event':_0x31d36c(0x185),'host':_0x5aef3e['host'],'port':_0x5aef3e['port'],'database':_0x5aef3e['database'],'type':_0x5aef3e[_0x31d36c(0x142)],'user':_0x5aef3e['user']},_0x114cae='Database:\x20'+_0x5aef3e['type']+_0x31d36c(0x1ba)+_0x5aef3e[_0x31d36c(0x1db)]+':'+_0x5aef3e[_0x31d36c(0x1ae)]+'/'+_0x5aef3e[_0x31d36c(0x16d)];logger['debug'](_0xc2b76e,_0x114cae),writeToFileLog({..._0xc2b76e,'level':_0x24b793[_0x31d36c(0x131)],'msg':_0x114cae,'time':new Date()[_0x31d36c(0x169)]()},'debug');},logRequest=(_0x5cf858,_0x311caa,_0x42c214)=>{const _0x59996a=a0_0xcffcab,_0x1b127b={'AmvRA':'http_request','hulXG':function(_0x964a38,_0x2b7b1c){return _0x964a38>=_0x2b7b1c;},'UEWCy':'warn','UnhOO':function(_0x38e024,_0x1bd4a9,_0x5db8af){return _0x38e024(_0x1bd4a9,_0x5db8af);}},_0x4dec39={'event':_0x1b127b[_0x59996a(0x1a6)],'method':_0x5cf858[_0x59996a(0x147)],'path':_0x5cf858['path'],'statusCode':_0x311caa['statusCode'],'durationMs':_0x42c214,'ip':_0x5cf858['ip']},_0x56062d=_0x5cf858['method']+'\x20'+_0x5cf858['path']+'\x20-\x20'+_0x311caa['statusCode']+'\x20('+_0x42c214+_0x59996a(0x150);let _0x1cff54='info';if(_0x1b127b[_0x59996a(0x1be)](_0x311caa['statusCode'],0x1f4))_0x1cff54=_0x59996a(0x190),logger['error'](_0x4dec39,_0x56062d);else _0x311caa['statusCode']>=0x190?(_0x1cff54=_0x1b127b[_0x59996a(0x1d4)],logger[_0x59996a(0x1de)](_0x4dec39,_0x56062d)):logger[_0x59996a(0x1b0)](_0x4dec39,_0x56062d);_0x1b127b[_0x59996a(0x14f)](writeToFileLog,{..._0x4dec39,'level':_0x1cff54,'msg':_0x56062d,'time':new Date()[_0x59996a(0x169)]()},_0x1cff54);},SENSITIVE_PARAM_PATTERNS=[a0_0xcffcab(0x1cb),'passwd','pwd',a0_0xcffcab(0x1d0),a0_0xcffcab(0x1d2),'refresh_token','secret',a0_0xcffcab(0x1c8),a0_0xcffcab(0x13c),'api_key',a0_0xcffcab(0x19a),a0_0xcffcab(0x155),a0_0xcffcab(0x18d),a0_0xcffcab(0x151),a0_0xcffcab(0x172),a0_0xcffcab(0x1c3)],redactSensitiveParams=(_0x5d1af7,_0x11ddcd)=>{const _0x1de6f3=a0_0xcffcab,_0x4e0784={'cptqN':_0x1de6f3(0x196),'fXZyM':function(_0x2776de,_0x3e4729){return _0x2776de===_0x3e4729;}};if(!_0x5d1af7||_0x4e0784['fXZyM'](_0x5d1af7[_0x1de6f3(0x1d3)],0x0))return _0x5d1af7;const _0x5d82f8=_0x11ddcd['toLowerCase'](),_0x5eb8f1=_0x5d82f8[_0x1de6f3(0x1da)](/\(([^)]+)\)\s*values/i);let _0x4d000f=[];_0x5eb8f1&&(_0x4d000f=_0x5eb8f1[0x1][_0x1de6f3(0x16b)](',')[_0x1de6f3(0x168)](_0x1c0814=>_0x1c0814[_0x1de6f3(0x14a)]()['toLowerCase']()));const _0x18be3f=_0x5d82f8['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x18be3f){const _0x463438=_0x18be3f[0x1],_0x5dba5c=_0x463438[_0x1de6f3(0x1da)](/(\w+)\s*=/g);_0x5dba5c&&(_0x4d000f=_0x5dba5c[_0x1de6f3(0x168)](_0xa8f9be=>_0xa8f9be['replace'](/\s*=/,'')[_0x1de6f3(0x14a)]()['toLowerCase']()));}return _0x5d1af7[_0x1de6f3(0x168)]((_0xdaf6be,_0x24c6d5)=>{const _0x3a05ea=_0x1de6f3;if(_0x4d000f[_0x24c6d5]){const _0x1c579a=_0x4d000f[_0x24c6d5],_0x3da52b=SENSITIVE_PARAM_PATTERNS[_0x3a05ea(0x14c)](_0xd68130=>_0x1c579a[_0x3a05ea(0x1a1)](_0xd68130));if(_0x3da52b)return _0x3a05ea(0x1d9);}if(typeof _0xdaf6be==='string'&&_0xdaf6be[_0x3a05ea(0x1d3)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x3a05ea(0x1b5)](_0xdaf6be)&&_0xdaf6be[_0x3a05ea(0x1a1)]('.'))return _0x4e0784[_0x3a05ea(0x174)];if(/^[a-fA-F0-9]{32,}$/[_0x3a05ea(0x1b5)](_0xdaf6be))return'[REDACTED:hash]';}return _0xdaf6be;});},parseQueryMetadata=_0x408f07=>{const _0x41b9c2=a0_0xcffcab,_0x147fc9={'TctSR':_0x41b9c2(0x181),'dSRzT':_0x41b9c2(0x15d),'fjcPV':_0x41b9c2(0x175),'FHhzT':'DELETE','yAcxw':_0x41b9c2(0x1cf),'suGiA':_0x41b9c2(0x187),'LCEyX':_0x41b9c2(0x186),'iABCG':'ALTER','bLomF':'DDL_ALTER','bBauu':_0x41b9c2(0x132)},_0x968d45=_0x408f07[_0x41b9c2(0x14a)](),_0x4e1a5d=_0x968d45['toUpperCase']();let _0x273c85=_0x147fc9[_0x41b9c2(0x1d8)],_0xa97451=null;if(_0x4e1a5d['startsWith'](_0x147fc9[_0x41b9c2(0x1e3)])){_0x273c85='SELECT';const _0x5cdb0d=_0x968d45['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xa97451=_0x5cdb0d?_0x5cdb0d[0x1]:null;}else{if(_0x4e1a5d['startsWith'](_0x41b9c2(0x175))){_0x273c85=_0x147fc9[_0x41b9c2(0x1e2)];const _0x1debf5=_0x968d45['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xa97451=_0x1debf5?_0x1debf5[0x1]:null;}else{if(_0x4e1a5d[_0x41b9c2(0x184)](_0x41b9c2(0x154))){_0x273c85='UPDATE';const _0x54bb93=_0x968d45['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xa97451=_0x54bb93?_0x54bb93[0x1]:null;}else{if(_0x4e1a5d['startsWith'](_0x147fc9['FHhzT'])){_0x273c85=_0x41b9c2(0x13f);const _0x25c7c2=_0x968d45['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xa97451=_0x25c7c2?_0x25c7c2[0x1]:null;}else{if(_0x4e1a5d['startsWith'](_0x147fc9['yAcxw'])||_0x4e1a5d['startsWith'](_0x41b9c2(0x14e)))_0x273c85=_0x41b9c2(0x170);else{if(_0x4e1a5d['startsWith'](_0x41b9c2(0x198)))_0x273c85='TRANSACTION_COMMIT';else{if(_0x4e1a5d['startsWith']('ROLLBACK'))_0x273c85=_0x147fc9[_0x41b9c2(0x1c6)];else{if(_0x4e1a5d[_0x41b9c2(0x184)](_0x41b9c2(0x1b3)))_0x273c85=_0x147fc9[_0x41b9c2(0x1c0)];else{if(_0x4e1a5d['startsWith'](_0x147fc9['iABCG']))_0x273c85=_0x147fc9[_0x41b9c2(0x1cc)];else _0x4e1a5d[_0x41b9c2(0x184)](_0x41b9c2(0x1ce))&&(_0x273c85=_0x147fc9[_0x41b9c2(0x1c2)]);}}}}}}}}return{'type':_0x273c85,'table':_0xa97451};},startQueryTimer=()=>{const _0x1f78d8={'GhRPr':function(_0x1174f6,_0x200234){return _0x1174f6(_0x200234);},'tnrXf':function(_0x3e3d25,_0xac32a3){return _0x3e3d25*_0xac32a3;},'ETkwi':function(_0x43a728,_0x557706){return _0x43a728/_0x557706;}},_0x5d5be2=process['hrtime']();return()=>{const [_0xc7d57e,_0x2652d8]=process['hrtime'](_0x5d5be2);return _0x1f78d8['GhRPr'](parseFloat,(_0x1f78d8['tnrXf'](_0xc7d57e,0x3e8)+_0x1f78d8['ETkwi'](_0x2652d8,0xf4240))['toFixed'](0x2));};},logQuery=(_0x19383e,_0x1ee079=[],_0x51ea09={})=>{const _0x33ae00=a0_0xcffcab,_0x2f725c={'sIXjz':_0x33ae00(0x135),'FuikA':'postgresql','dqVRS':function(_0x996393,_0x4bf027){return _0x996393(_0x4bf027);},'JHhpb':function(_0x4cfa31,_0x444195){return _0x4cfa31>_0x444195;},'tRqFP':function(_0x4705f4,_0x480634){return _0x4705f4!==_0x480634;},'SJpGX':function(_0x234e30,_0x315395){return _0x234e30||_0x315395;},'tlQzN':_0x33ae00(0x137),'PxYpZ':'\x20[SLOW]','bZAhg':'warn','rsqxU':'info','TKyJp':function(_0x1ab902,_0x3874b3,_0x586a19){return _0x1ab902(_0x3874b3,_0x586a19);}};if(!sqlLogEnabled){logger['debug']({'event':'db_query','query':_0x19383e['substring'](0x0,0xc8),'paramCount':_0x1ee079['length']},_0x2f725c[_0x33ae00(0x188)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x2f725c[_0x33ae00(0x19e)]}=_0x51ea09,{type:_0x1bca10,table:_0x31ec4e}=_0x2f725c['dqVRS'](parseQueryMetadata,_0x19383e),_0xaab0f7={'event':'sql_query','queryType':_0x1bca10,'table':_0x31ec4e,'query':_0x19383e,'paramCount':_0x1ee079[_0x33ae00(0x1d3)],'dbType':dbType};sqlLogParams&&_0x2f725c['JHhpb'](_0x1ee079['length'],0x0)&&(_0xaab0f7[_0x33ae00(0x176)]=redactSensitiveParams(_0x1ee079,_0x19383e));duration!==null&&(_0xaab0f7[_0x33ae00(0x15c)]=duration,_0xaab0f7[_0x33ae00(0x139)]=_0x2f725c['JHhpb'](duration,sqlLogSlowThreshold));_0x2f725c[_0x33ae00(0x15b)](rowsAffected,null)&&(_0xaab0f7['rowsAffected']=rowsAffected);const _0x44b5f0=_0x2f725c['SJpGX'](_0x31ec4e,_0x2f725c[_0x33ae00(0x197)]);let _0x46e0cd='['+_0x1bca10+']\x20'+_0x44b5f0;duration!==null&&(_0x46e0cd+='\x20('+duration+_0x33ae00(0x150));const _0x572647=_0x2f725c['tRqFP'](duration,null)&&duration>sqlLogSlowThreshold;let _0xe5fff2=_0x33ae00(0x163);if(_0x572647)_0x46e0cd+=_0x2f725c['PxYpZ'],_0xe5fff2=_0x2f725c[_0x33ae00(0x16c)],logger[_0x33ae00(0x1de)](_0xaab0f7,_0x46e0cd);else sqlLogLevel===_0x33ae00(0x1b0)?(_0xe5fff2=_0x2f725c['rsqxU'],logger[_0x33ae00(0x1b0)](_0xaab0f7,_0x46e0cd)):logger['debug'](_0xaab0f7,_0x46e0cd);_0x2f725c['TKyJp'](writeToFileLog,{..._0xaab0f7,'level':_0xe5fff2,'msg':_0x46e0cd,'time':new Date()['toISOString']()},_0xe5fff2);},logTransaction=(_0x3851f2,_0x100eda)=>{const _0x364570=a0_0xcffcab,_0x51d1e8={'bDWob':function(_0x3abcc5,_0x4d876e,_0x218446){return _0x3abcc5(_0x4d876e,_0x218446);}},_0xc82ca8={'event':'db_transaction','status':_0x3851f2,'queryCount':_0x100eda},_0x99e026=_0x364570(0x192)+_0x3851f2;logger['debug'](_0xc82ca8,_0x99e026),_0x51d1e8[_0x364570(0x19d)](writeToFileLog,{..._0xc82ca8,'level':_0x364570(0x163),'msg':_0x99e026,'time':new Date()['toISOString']()},'debug');},redactObject=_0x523213=>{const _0x1f0052=a0_0xcffcab,_0x2cec72={'CalyQ':function(_0x4af39b,_0x5648ac){return _0x4af39b!==_0x5648ac;},'LTpUp':'object','exHFv':_0x1f0052(0x17b),'kZdPb':'token','VzWaB':_0x1f0052(0x13a),'pZQFx':_0x1f0052(0x1c3)};if(!_0x523213||_0x2cec72[_0x1f0052(0x164)](typeof _0x523213,_0x2cec72[_0x1f0052(0x136)]))return _0x523213;const _0x135430=['password',_0x1f0052(0x1e0),_0x2cec72['exHFv'],_0x2cec72['kZdPb'],'secret',_0x1f0052(0x13c),_0x1f0052(0x1c9),'authorization','creditcard','credit_card',_0x1f0052(0x183),_0x2cec72[_0x1f0052(0x143)],'pin',_0x1f0052(0x172),_0x2cec72['pZQFx'],'refresh_token','access_token'],_0x2d9105=Array['isArray'](_0x523213)?[..._0x523213]:{..._0x523213};for(const _0x2898c5 of Object[_0x1f0052(0x177)](_0x2d9105)){const _0x2ab891=_0x2898c5[_0x1f0052(0x141)]();if(_0x135430[_0x1f0052(0x14c)](_0x1f7181=>_0x2ab891[_0x1f0052(0x1a1)](_0x1f7181)))_0x2d9105[_0x2898c5]=_0x1f0052(0x1d9);else typeof _0x2d9105[_0x2898c5]==='object'&&_0x2cec72['CalyQ'](_0x2d9105[_0x2898c5],null)&&(_0x2d9105[_0x2898c5]=redactObject(_0x2d9105[_0x2898c5]));}return _0x2d9105;},logError=(_0x3b43a4,_0x8c600d={},_0x512ccc=null)=>{const _0x33cca4=a0_0xcffcab,_0x49783f={'LCKIl':_0x33cca4(0x190)},_0x1947f0={'event':_0x49783f['LCKIl'],'errorName':_0x3b43a4[_0x33cca4(0x19f)]||'Error','errorMessage':_0x3b43a4['message'],'errorCode':_0x3b43a4['code']||null,'stack':_0x3b43a4[_0x33cca4(0x1a9)],..._0x8c600d},_0x1d11f4=_0x512ccc||'Error:\x20'+_0x3b43a4[_0x33cca4(0x1c1)];logger['error'](_0x1947f0,_0x1d11f4),writeToFileLog({..._0x1947f0,'level':_0x49783f[_0x33cca4(0x138)],'msg':_0x1d11f4,'time':new Date()[_0x33cca4(0x169)]()},_0x33cca4(0x190));},logFatalError=(_0x25e8d2,_0x3c422f={},_0x42f341=null)=>{const _0x3805db=a0_0xcffcab,_0x1394eb={'shyhe':_0x3805db(0x19c),'LvTGM':_0x3805db(0x195),'fYunz':function(_0x3f0a95,_0x1d1992,_0x37a064){return _0x3f0a95(_0x1d1992,_0x37a064);},'WffiS':'fatal'},_0x540dc4={'event':_0x1394eb[_0x3805db(0x194)],'errorName':_0x25e8d2[_0x3805db(0x19f)]||_0x3805db(0x16e),'errorMessage':_0x25e8d2[_0x3805db(0x1c1)],'errorCode':_0x25e8d2['code']||null,'stack':_0x25e8d2['stack'],'severity':_0x1394eb[_0x3805db(0x13b)],..._0x3c422f},_0x110fb7=_0x42f341||'FATAL:\x20'+_0x25e8d2['message'];logger[_0x3805db(0x1cd)](_0x540dc4,_0x110fb7),_0x1394eb['fYunz'](writeToFileLog,{..._0x540dc4,'level':_0x1394eb['WffiS'],'msg':_0x110fb7,'time':new Date()['toISOString']()},'error');},logHttpError=(_0x51470b,_0x574817,_0x26a58c={})=>{const _0x515c9b=a0_0xcffcab,_0xc2a144={'OFmOb':'http_error','sLgYZ':'user-agent','wuDWw':'x-request-id','XnoGH':function(_0x2efbcf,_0x5d4e5c){return _0x2efbcf(_0x5d4e5c);},'DnOaw':function(_0x4ff5a1,_0xd1391e,_0x4fce16){return _0x4ff5a1(_0xd1391e,_0x4fce16);},'pWTFS':'error','jfThD':_0x515c9b(0x1de)},_0x2b8bdb={'event':_0xc2a144['OFmOb'],'errorName':_0x51470b[_0x515c9b(0x19f)]||'Error','errorMessage':_0x51470b[_0x515c9b(0x1c1)],'errorCode':_0x51470b['code']||_0x51470b[_0x515c9b(0x1b2)]||0x1f4,'stack':_0x51470b[_0x515c9b(0x1a9)],'method':_0x574817?.[_0x515c9b(0x147)],'url':_0x574817?.[_0x515c9b(0x1d5)]||_0x574817?.[_0x515c9b(0x15a)],'path':_0x574817?.[_0x515c9b(0x144)],'ip':_0x574817?.['ip']||_0x574817?.[_0x515c9b(0x1ca)]?.['remoteAddress'],'userAgent':_0x574817?.['get']?.(_0xc2a144[_0x515c9b(0x157)]),'requestId':_0x574817?.['id']||_0x574817?.[_0x515c9b(0x14b)]?.[_0xc2a144['wuDWw']],'body':_0x574817?.[_0x515c9b(0x129)]?_0xc2a144['XnoGH'](redactObject,_0x574817['body']):undefined,'query':_0x574817?.[_0x515c9b(0x12a)],..._0x26a58c},_0x9f8141=_0x51470b['statusCode']||_0x51470b['status']||0x1f4,_0x411c67=_0x515c9b(0x1b4)+_0x9f8141+':\x20'+_0x51470b['message'];_0x9f8141>=0x1f4?logger[_0x515c9b(0x190)](_0x2b8bdb,_0x411c67):logger[_0x515c9b(0x1de)](_0x2b8bdb,_0x411c67),_0xc2a144[_0x515c9b(0x1b9)](writeToFileLog,{..._0x2b8bdb,'level':_0x9f8141>=0x1f4?_0xc2a144['pWTFS']:_0xc2a144['jfThD'],'msg':_0x411c67,'time':new Date()[_0x515c9b(0x169)]()},_0x9f8141>=0x1f4?_0x515c9b(0x190):_0xc2a144[_0x515c9b(0x158)]);},logUncaughtError=(_0x4ffb9e,_0x1258cb)=>{const _0x5b5f74=a0_0xcffcab,_0x2279db={'CXPLw':'Error','qFcKK':'fatal','CZbSJ':'error'},_0x368bbb={'event':_0x4ffb9e,'errorName':_0x1258cb?.['name']||_0x2279db[_0x5b5f74(0x179)],'errorMessage':_0x1258cb?.[_0x5b5f74(0x1c1)]||String(_0x1258cb),'errorCode':_0x1258cb?.['code']||null,'stack':_0x1258cb?.[_0x5b5f74(0x1a9)],'severity':'CRITICAL','processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x4e0556='['+_0x4ffb9e['toUpperCase']()+']\x20'+(_0x1258cb?.['message']||_0x1258cb);logger[_0x5b5f74(0x1cd)](_0x368bbb,_0x4e0556),writeToFileLog({..._0x368bbb,'level':_0x2279db['qFcKK'],'msg':_0x4e0556,'time':new Date()['toISOString']()},_0x2279db['CZbSJ']);},setupGlobalErrorHandlers=()=>{const _0x360d81=a0_0xcffcab,_0x477700={'UNTPC':function(_0x1c5ba2,_0x503fcc,_0x341c4c){return _0x1c5ba2(_0x503fcc,_0x341c4c);},'sbVfh':function(_0x27f12c,_0x588f5c){return _0x27f12c instanceof _0x588f5c;},'lVRiF':'process_warning','wzkQi':'uncaughtException','VQQhF':_0x360d81(0x18c),'zTHdB':_0x360d81(0x1b0)};process['on'](_0x477700['wzkQi'],_0x390b4a=>{const _0x518459=_0x360d81;_0x477700[_0x518459(0x18b)](logUncaughtError,_0x518459(0x12f),_0x390b4a),_0x477700['UNTPC'](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x360d81(0x140),(_0x5460ac,_0x503516)=>{const _0x46344d=_0x360d81,_0x28ad45=_0x477700[_0x46344d(0x1a5)](_0x5460ac,Error)?_0x5460ac:new Error(String(_0x5460ac));_0x477700['UNTPC'](logUncaughtError,'unhandledRejection',_0x28ad45);}),process['on'](_0x477700['VQQhF'],_0x2dad7b=>{const _0x33f92d=_0x360d81;logger[_0x33f92d(0x1de)]({'event':_0x477700[_0x33f92d(0x15f)],'name':_0x2dad7b[_0x33f92d(0x19f)],'message':_0x2dad7b['message'],'stack':_0x2dad7b['stack']},_0x33f92d(0x1e1)+_0x2dad7b['message']);});const _0x38a3fd={'event':_0x360d81(0x16a)},_0xe1099e=_0x360d81(0x15e);logger['info'](_0x38a3fd,_0xe1099e),writeToFileLog({..._0x38a3fd,'level':_0x360d81(0x1b0),'msg':_0xe1099e,'time':new Date()['toISOString']()},_0x477700['zTHdB']);},createErrorHandlerMiddleware=()=>{const _0x4ffa63=a0_0xcffcab,_0x534ac2={'faxJn':function(_0x1fe9b0,_0x29316c,_0x23f91d){return _0x1fe9b0(_0x29316c,_0x23f91d);},'wtZcl':_0x4ffa63(0x166)};return(_0x3aa9fd,_0x5a52f2,_0x238011,_0x1e7f9a)=>{const _0x9aa65e=_0x4ffa63;_0x534ac2[_0x9aa65e(0x1a2)](logHttpError,_0x3aa9fd,_0x5a52f2);const _0x22eebd=_0x3aa9fd[_0x9aa65e(0x1b2)]||_0x3aa9fd['status']||0x1f4;_0x238011['status'](_0x22eebd)['json']({'success':![],'error':_0x22eebd>=0x1f4?_0x534ac2['wtZcl']:_0x3aa9fd[_0x9aa65e(0x1c1)],'requestId':_0x5a52f2['id']||_0x5a52f2[_0x9aa65e(0x14b)]?.[_0x9aa65e(0x130)]||null});};};function a0_0x36ad(_0xeec237,_0xa44be3){_0xeec237=_0xeec237-0x129;const _0x248499=a0_0x2484();let _0x36ad4b=_0x248499[_0xeec237];if(a0_0x36ad['KecehF']===undefined){var _0x1a55fa=function(_0x392753){const _0x6aa31='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4d51c5='',_0x8c9cca='';for(let _0x4e99c5=0x0,_0x34ecdc,_0x39fbcb,_0x4b4dbc=0x0;_0x39fbcb=_0x392753['charAt'](_0x4b4dbc++);~_0x39fbcb&&(_0x34ecdc=_0x4e99c5%0x4?_0x34ecdc*0x40+_0x39fbcb:_0x39fbcb,_0x4e99c5++%0x4)?_0x4d51c5+=String['fromCharCode'](0xff&_0x34ecdc>>(-0x2*_0x4e99c5&0x6)):0x0){_0x39fbcb=_0x6aa31['indexOf'](_0x39fbcb);}for(let _0x44758e=0x0,_0x2fbf6b=_0x4d51c5['length'];_0x44758e<_0x2fbf6b;_0x44758e++){_0x8c9cca+='%'+('00'+_0x4d51c5['charCodeAt'](_0x44758e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x8c9cca);};a0_0x36ad['mFLUlP']=_0x1a55fa,a0_0x36ad['PMalHX']={},a0_0x36ad['KecehF']=!![];}const _0x4087fe=_0x248499[0x0],_0x22742c=_0xeec237+_0x4087fe,_0x1f5779=a0_0x36ad['PMalHX'][_0x22742c];return!_0x1f5779?(_0x36ad4b=a0_0x36ad['mFLUlP'](_0x36ad4b),a0_0x36ad['PMalHX'][_0x22742c]=_0x36ad4b):_0x36ad4b=_0x1f5779,_0x36ad4b;}module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};function a0_0x2484(){const _0x3e8ae2=['C3nU','thzur00','yxbPA2v5','mJuZodeXmwrTC1rZzG','sLDux1nfq1jfva','revmrvrf','Dw5Oyw5KBgvKuMvQzwn0Aw9U','Dg9mB3DLCKnHC2u','DhLWzq','vNPxyui','Cgf0Aa','yxbPs2v5','swrpuxu','Bwv0Ag9K','iokvKqRILzeGifbVCNqGicaGicaGidOG','AwjrCuK','DhjPBq','AgvHzgvYCW','C29Tzq','nJG0nLbXyxnzyG','u1rbuLqGvfjbtLnbq1rjt04','vw5Ot08','BxmP','B3rW','icbizwfSDgG6ia','tI9b','vvbeqvrf','y3jLzgvUDgLHBhm','q1resxa','C0XNwvO','AMzuAeq','C2vYDMvYx3jLywr5','B3jPz2LUywXvCMW','DfjXrLa','zhvYyxrPB25nCW','u0vmrunu','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','BfzsAuy','y2HPBgq','zw52','CMvTB3rLqwrKCMvZCW','zgvIDwC','q2fSEve','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','sw50zxjUywWGC2vYDMvYigvYCM9Y','mti4otzpAhPdqvy','BwfW','Dg9ju09tDhjPBMC','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','C3bSAxq','yLPbAgC','zgf0ywjHC2u','rxjYB3i','CgfKrw5K','vfjbtLnbq1rjt05FqKvhsu4','mZeZmJuZmNLQEezyEa','ChjPDMf0zv9RzxK','tM9Kzs5QCW','y3b0Cu4','su5trvju','CgfYyw1Z','A2v5CW','C2vYDMLJzuLUzM8','q1HqthC','Dhj1zq','ChDK','iokvKqRILzeGiefqssblzxKGicaGidOG','r3fUz2u','B2TYqK8','u2vYDMvYihn0yxj0Aw5NoIa','qunusvzf','vu5ltK9xtG','CMvZDgzVCMDL','y3z2','C3rHCNrZv2L0Aa','zgf0ywjHC2vFy29UzMLN','rermx0nsrufurq','vfjbtLnbq1rjt05FuK9mtejbq0S','C0LyANO','t0LNuMK','sNLxzNy','vu5uuem','D2fYBMLUzW','CgLU','E21Zz30','wfL3vwK','zxjYB3i','D3jPDgu','vhjHBNnHy3rPB24G','AgPNvxK','C2H5Agu','q1jjveLdquW','w1jfrefdveveoNrVA2vUxq','DgXrEK4','q09ntuLu','ndK5odq1rvrct0Ly','y3jLzgvUDgLHBa','zxjYB3iUBg9N','zMf0ywXFzxjYB3i','yKrxB2i','rNvPA0e','BMfTzq','iokvKqRILzeGienVBMzPzYaGicaGidOG','Aw5JBhvKzxm','zMf4sM4','mte5mJa2meXHAefkuW','wvb3zMy','C2jwzMG','qw12uKe','te9hx0XfvKvm','y29UzMLNrMLSzq','C3rHy2S','y3jLyxrLv3jPDgvtDhjLyw0','uerltg4','C3rKvgLTzuz1BMn0Aw9UCW','rejFueftu1DpuKq','Cg9YDa','AxnVvgLTzq','Aw5MBW','y3DK','C3rHDhvZq29Kzq','q1jfqvrf','sfruuca','DgvZDa','yMfZzvvYBa','tKrxA0m','mtq1ndq5nfHwwejoDa','rg5pyxC','oI8V','yxbWlMXVzW','ChjVAMvJDa','u0vsvKLdrv9oqu1f','AhvSweC','zMLSzv9SB2DNAw5Nx2vUywjSzwq','tenfEvG','BwvZC2fNzq','yKjHDxu','ChjPDMf0zwTLEq','EuLgv1G','q0PYwxe','C3vhAue','qvbqx1zfuLnjt04','yxbPx3nLy3jLDa','yxbPx2TLEq','y29UBMvJDgLVBG','CgfZC3DVCMq','yKXVBuy','zMf0ywW','rfjpua','qKvhsu4','Dg9Rzw4','u1fmx0Xpr19qqvjbtvm','ywnJzxnZx3rVA2vU','BgvUz3rO','vuvxq3K','DxjS','nde0mZi3nKfju1j2vG','AM9PBG','vgn0u1i','w1jfrefdvevexq','Bwf0y2G','Ag9ZDa','tK9erv9ftLy','z2v0sgvHzgvYCW','D2fYBG','u1fmx0Xpr19tte9xx1riuKvtse9mra','CgfZC3DK','uhjVy2vZCYbxyxjUAw5NoIa','zMPJufy','zfnsELq','lI9SB2DZ','yM9KEq','CxvLCNK','v01nuKW','zxHPC3rZu3LUyW','iokvKqRILzeGifbYB2PLy3qGicaGidOG','C2vYDMvYx3n0yxj0Aw5N','Dw5JyxvNAhrfEgnLChrPB24','Ec1Yzxf1zxn0lwLK','tvPIuKq','rermx0rst1a','icbjBMzVoIaGia','ms4WlJu','reiGuxvLCNK','tfrWvxa','Dw5RBM93BG','tenlswW','AxntBg93'];a0_0x2484=function(){return _0x3e8ae2;};return a0_0x2484();}
|
|
1
|
+
const a0_0x2fce61=a0_0x526d;(function(_0x276101,_0x326056){const _0x9b6791=a0_0x526d,_0x3df3d5=_0x276101();while(!![]){try{const _0x1fa75b=-parseInt(_0x9b6791(0x144))/0x1+parseInt(_0x9b6791(0x162))/0x2*(-parseInt(_0x9b6791(0x1e0))/0x3)+parseInt(_0x9b6791(0x176))/0x4+parseInt(_0x9b6791(0x141))/0x5*(-parseInt(_0x9b6791(0x145))/0x6)+-parseInt(_0x9b6791(0x149))/0x7*(parseInt(_0x9b6791(0x1ab))/0x8)+-parseInt(_0x9b6791(0x1ba))/0x9+parseInt(_0x9b6791(0x1f9))/0xa*(parseInt(_0x9b6791(0x187))/0xb);if(_0x1fa75b===_0x326056)break;else _0x3df3d5['push'](_0x3df3d5['shift']());}catch(_0x10ab07){_0x3df3d5['push'](_0x3df3d5['shift']());}}}(a0_0x56d8,0x3ef66));const pino=require(a0_0x2fce61(0x169)),fs=require('fs'),path=require(a0_0x2fce61(0x1f1));let logToFile=![],logDir='./logs',serviceName=a0_0x2fce61(0x1e2),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x2fce61(0x1d3),'ignore':a0_0x2fce61(0x167),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x2fce61(0x148),'customColors':a0_0x2fce61(0x195),'hideObject':!![]},isDevelopment=process[a0_0x2fce61(0x174)][a0_0x2fce61(0x178)]!==a0_0x2fce61(0x1ca),logLevel=process['env'][a0_0x2fce61(0x1b0)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env']['APP_VERSION']||'1.0.5','env':process['env']['NODE_ENV']||a0_0x2fce61(0x1e6)},'timestamp':pino['stdTimeFunctions'][a0_0x2fce61(0x156)],'redact':{'paths':[a0_0x2fce61(0x1aa),a0_0x2fce61(0x1ee),'password',a0_0x2fce61(0x13e),'apiKey','DB_PASSWORD',a0_0x2fce61(0x1af)],'censor':a0_0x2fce61(0x1f8)},'serializers':{'req':_0x4a7fa7=>({'id':_0x4a7fa7['id'],'method':_0x4a7fa7[a0_0x2fce61(0x173)],'url':_0x4a7fa7[a0_0x2fce61(0x1ed)],'path':_0x4a7fa7[a0_0x2fce61(0x1f1)],'remoteAddress':_0x4a7fa7['ip']||_0x4a7fa7['connection']?.['remoteAddress']}),'res':_0xee3acf=>({'statusCode':_0xee3acf[a0_0x2fce61(0x170)],'headers':_0xee3acf['getHeaders']?.()}),'err':pino[a0_0x2fce61(0x158)][a0_0x2fce61(0x1a3)]}});function initFileLogging(){const _0x8bd815=a0_0x2fce61,_0x2c3aeb={'qcMVP':'true','vUkLo':_0x8bd815(0x1e2),'wrGpk':function(_0xe9ee0f,_0x2e4117){return _0xe9ee0f===_0x2e4117;},'hwIep':_0x8bd815(0x16e),'SSYph':function(_0x19f7b3,_0x2e222c){return _0x19f7b3(_0x2e222c);},'blSJx':_0x8bd815(0x19f),'QvHoT':_0x8bd815(0x185),'YFwac':function(_0x42c83a,_0x22650d,_0x33cee6){return _0x42c83a(_0x22650d,_0x33cee6);},'OEweh':'info'};if(fileLoggingInitialized)return;logToFile=process[_0x8bd815(0x174)]['LOG_TO_FILE']===_0x2c3aeb['qcMVP'],logDir=process['env']['LOG_DIR']||_0x8bd815(0x153),serviceName=process['env']['SERVICE_NAME']||_0x2c3aeb[_0x8bd815(0x154)],sqlLogEnabled=_0x2c3aeb['wrGpk'](process[_0x8bd815(0x174)]['SQL_LOG_ENABLED'],_0x2c3aeb[_0x8bd815(0x193)]),sqlLogLevel=process[_0x8bd815(0x174)][_0x8bd815(0x189)]||_0x2c3aeb['hwIep'],sqlLogParams=process['env']['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=_0x2c3aeb['SSYph'](parseInt,process[_0x8bd815(0x174)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x3ad919=path['resolve'](process['cwd'](),logDir);try{!fs[_0x8bd815(0x1c2)](_0x3ad919)&&fs[_0x8bd815(0x160)](_0x3ad919,{'recursive':!![]});}catch(_0x23cabe){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x3ad919+':',_0x23cabe['message']),fileLoggingInitialized=!![];return;}const _0x1a4469=path[_0x8bd815(0x139)](_0x3ad919,_0x2c3aeb[_0x8bd815(0x1c5)]),_0x55b3a4=path[_0x8bd815(0x139)](_0x3ad919,'error.log');try{appLogStream=fs['createWriteStream'](_0x1a4469,{'flags':'a'}),errorLogStream=fs[_0x8bd815(0x1be)](_0x55b3a4,{'flags':'a'}),fileLoggingInitialized=!![];const _0xce27fc={'event':_0x8bd815(0x15b),'logDir':_0x3ad919,'files':['app.log',_0x2c3aeb['QvHoT']]},_0x32d86e='File\x20logging\x20enabled:\x20'+_0x3ad919;logger[_0x8bd815(0x198)](_0xce27fc,_0x32d86e),_0x2c3aeb['YFwac'](writeToFileLog,{..._0xce27fc,'level':_0x2c3aeb[_0x8bd815(0x15c)],'msg':_0x32d86e,'time':new Date()['toISOString']()},_0x2c3aeb['OEweh']);}catch(_0x43b8b8){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x43b8b8['message']),fileLoggingInitialized=!![];}}function a0_0x56d8(){const _0x5ac498=['CgfZC3DVCMq','ExnkvNy','zMf0ywXFzxjYB3i','y3jLyxrLv3jPDgvtDhjLyw0','y3jLzgL0y2fYza','icdIHPiG','Dg9ju09tDhjPBMC','zxHPC3rZu3LUyW','BxmP','CgLU','yMXtsNG','u2vYDMvYihn0yxj0Aw5NoIa','AxntBg93','q1jjveLdquW','z09OuNO','ChjVzhvJDgLVBG','swLcEuy','rermx0fmvevs','ANnVBG','B2jQzwn0','q3HPz3C','C2vYDMLJzuLUzM8','icbvuKW6icaGia','DhjPBq','u1LtoKHioK1noNnZ','CgfKrw5K','u2zowu8','v1zZtLq','y3jLzgL0x2nHCMq','AwXiwhq','DhLWzq','iokvKqRILzeGifbVCNqGicaGicaGidOG','rxfUAgO','whrsCxq','revmrvrf','Aw5JBhvKzxm','C3rHDhvZ','mtCWmdC2wKHyC3jv','AgvHBhrOq2HLy2S','CMvZDgzVCMDL','D3jPDgu','AxnbCNjHEq','C3nU','zgv2zwXVCg1LBNq','BgvUz3rO','s2nAvLC','Dw90Ehm','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','C3fSx3f1zxj5','C2vJCMv0','DxjS','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','vM1Hy1m','ChjPDMf0zv9RzxK','Cgf0Aa','Bwf0y2G','w1jfrefdveveoNrVA2vUxq','ug1OzM0','vfjbtLnbq1rjt05Fq09ntuLu','C3rYAw5NAwz5','D2fYBG','w1jfrefdvevexq','otbiCvbMu3O','yMfZzvvYBa','CMvTB3rLqwrKCMvZCW','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','uufIsMW','CxvLCNK','AM9PBG','ywnSAwK','Ahj0Aw1L','ug1Lswe','ChDK','Dg9Rzw4','zMf0ywW','C3rHy2S','ndK1uLvVuvnl','Dg9vChbLCKnHC2u','yM9KEq','nduZnZKYzK55vgne','nJCYnMrMuvDkCq','Be9Qshq','s1jsDvK','E21Zz30','otaZrg56q05V','rermx0rst1a','C3rHCNrZv2L0Aa','ChjPDMf0zwTLEq','BwvZC2fNzq','quXurvi','C0rkzvC','zhvYyxrPB25nCW','CgLK','iokvKqRILzeGiefqssblzxKGicaGidOG','lI9SB2DZ','DLvRtg8','EwHuBwe','AxnVvgLTzq','z2v0','C3rKu2vYAwfSAxPLCNm','uuLbDKW','BMfTzq','zMLSzv9SB2DNAw5Nx2vUywjSzwq','t0v3zwG','tunOyxq','rermx0nsrufurq','Dg9mB3DLCKnHC2u','BwTKAxjtEw5J','CMvWBgfJzq','nLbQz2DPAW','rwroy0i','BwvTB3j5vxnHz2u','y29UzMLNrMLSzq','C2XduKO','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','y2ndzuy','CgLUBW','y1HxD2i','CMvMCMvZAf90B2TLBG','zuzQAvi','rw1REK8','zgvIDwC','t1v3y3y','C3rHDhvZq29Kzq','C29Tzq','Bw9KDwXL','Bwv0Ag9K','zw52','y3z2','nde1mZmYwhHNy1zI','rgf0ywjHC2u6ia','tK9erv9ftLy','icbizwfSDgG6ia','yM5KwMS','qw5AteK','uxHqBwy','ChjVAMvJDf9SB2fKzwq','wg9hAKy','rKvlD0K','rNDrqxy','Dg9gAxHLza','DxnLCG','uezWrfC','uK9mtejbq0S','zxjYB3iUBg9N','zgjFCxvLCNK','mtiYntKZoxjZCeXSrq','DgvZDa','u1fmx0Xpr19mrvzfta','rwvjzKu','w09lxsbqCM9Qzwn0igXVywrLzdOG','zgf0ywjHC2u','Dw5Oyw5KBgvKuMvQzwn0Aw9U','su5trvju','ywnJzxnZx3rVA2vU','yxbPx3nLy3jLDa','B3rW','Dw5JyxvNAhrfEgnLChrPB24','CwnnvLa','zxHPDa','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','t0rYyNK','Aw5MBW','u1rbuLqGvfjbtLnbq1rjt04','q09ntuLu','y29Kzq','CgfZC3DK','rgvMyxvSDa','sfruuca','yxbWlMXVzW','zNf1q1O','rM50zw4','yxbPx2TLEq','zxjY','y0jyzgy','Dw5RBM93BG','zxHWB3j0CW','BwfW','yxbPA2v5','w1jfrefdveveoMHHC2HD','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','nJC2ohb0vMTtAq','Dxb0Aw1L','vfjbtLnbq1rjt05FqKvhsu4','zxjYB3i','sLDux1nfq1jfva','te9hx0XfvKvm','Cg9YDa','Ahr0Cf9LCNjVCG','icbjBMzVoIaGia','tM9Kzs5QCW','vfjbtLnbq1rjt05FuK9mtejbq0S','ChjVAMvJDa','Bg9N','vvbeqvrf','rxjYB3i','ndq5otfJCfvXD1u'];a0_0x56d8=function(){return _0x5ac498;};return a0_0x56d8();}function writeToFileLog(_0x282630,_0x4adc8b){const _0x60012=a0_0x2fce61,_0x49654f={'PlPuJ':function(_0x35a8b9,_0x2dbfe6){return _0x35a8b9||_0x2dbfe6;},'AnZLI':function(_0x1680e0,_0x4d13d7){return _0x1680e0+_0x4d13d7;},'ccCeF':function(_0x1a896f,_0x3e0f1f){return _0x1a896f===_0x3e0f1f;},'ysJVv':_0x60012(0x13f)};if(_0x49654f['PlPuJ'](!logToFile,!appLogStream))return;const _0x1915c3={'service':serviceName,..._0x282630},_0x4f9026=_0x49654f[_0x60012(0x17b)](JSON[_0x60012(0x1f6)](_0x1915c3),'\x0a');appLogStream[_0x60012(0x1e3)](_0x4f9026),(_0x4adc8b===_0x60012(0x1ae)||_0x49654f[_0x60012(0x168)](_0x4adc8b,_0x49654f[_0x60012(0x1bc)]))&&(errorLogStream&&errorLogStream[_0x60012(0x1e3)](_0x4f9026));}function a0_0x526d(_0x42c36f,_0x51b82b){_0x42c36f=_0x42c36f-0x136;const _0x56d8fa=a0_0x56d8();let _0x526d2c=_0x56d8fa[_0x42c36f];if(a0_0x526d['mtJTHW']===undefined){var _0x5a7c39=function(_0x5f2cce){const _0x467cfa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x26cfe4='',_0x29cdca='';for(let _0x20a185=0x0,_0xdbcdd1,_0x259e7e,_0x5d1dde=0x0;_0x259e7e=_0x5f2cce['charAt'](_0x5d1dde++);~_0x259e7e&&(_0xdbcdd1=_0x20a185%0x4?_0xdbcdd1*0x40+_0x259e7e:_0x259e7e,_0x20a185++%0x4)?_0x26cfe4+=String['fromCharCode'](0xff&_0xdbcdd1>>(-0x2*_0x20a185&0x6)):0x0){_0x259e7e=_0x467cfa['indexOf'](_0x259e7e);}for(let _0x280b1=0x0,_0x5cb045=_0x26cfe4['length'];_0x280b1<_0x5cb045;_0x280b1++){_0x29cdca+='%'+('00'+_0x26cfe4['charCodeAt'](_0x280b1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x29cdca);};a0_0x526d['uGvOLO']=_0x5a7c39,a0_0x526d['NNtdGy']={},a0_0x526d['mtJTHW']=!![];}const _0x2c32b5=_0x56d8fa[0x0],_0xfd972a=_0x42c36f+_0x2c32b5,_0x4c015a=a0_0x526d['NNtdGy'][_0xfd972a];return!_0x4c015a?(_0x526d2c=a0_0x526d['uGvOLO'](_0x526d2c),a0_0x526d['NNtdGy'][_0xfd972a]=_0x526d2c):_0x526d2c=_0x4c015a,_0x526d2c;}const createRequestLogger=(_0x4b91a2={})=>{return logger['child'](_0x4b91a2);},logServerStart=_0x1b9ba2=>{const _0x48eb0e=a0_0x2fce61,_0x547f06={'JmfWA':_0x48eb0e(0x1b4),'SMNHt':'ACTIVE','tJqcH':'NOT\x20ACTIVE','SfNYO':'server_starting','yhTma':'info'},_0x98d144='\x0a╔═══════════════════════════════════════════════════════╗\x0a║\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RESTFORGE\x20RUNTIME\x20SERVER\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20║\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x1b9ba2['environment']||_0x547f06['JmfWA'])[_0x48eb0e(0x1d4)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x1b9ba2[_0x48eb0e(0x1b6)]||'N/A')['padEnd'](0x26)+_0x48eb0e(0x1da)+String(_0x1b9ba2['port']||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x1b9ba2[_0x48eb0e(0x165)]||_0x48eb0e(0x19d))[_0x48eb0e(0x1d4)](0x26)+_0x48eb0e(0x152)+(_0x1b9ba2['apiKey']?_0x547f06['SMNHt']:_0x547f06['tJqcH'])[_0x48eb0e(0x1d4)](0x26)+_0x48eb0e(0x1ea);console[_0x48eb0e(0x1b7)](_0x98d144);const _0x4a165e={'event':_0x547f06[_0x48eb0e(0x1d5)],'project':_0x1b9ba2[_0x48eb0e(0x1b6)],'port':_0x1b9ba2['port'],'config':_0x1b9ba2[_0x48eb0e(0x165)],'apiKeyEnabled':!!_0x1b9ba2['apiKey']};logger['info'](_0x4a165e),writeToFileLog({..._0x4a165e,'level':_0x547f06[_0x48eb0e(0x155)],'msg':_0x48eb0e(0x1c6)+_0x1b9ba2['project']+'\x20on\x20port\x20'+_0x1b9ba2[_0x48eb0e(0x1b1)],'time':new Date()['toISOString']()},_0x547f06[_0x48eb0e(0x155)]);},logServerReady=_0x27a712=>{const _0x4dab72=a0_0x2fce61,_0x216947={'QIAvL':'server_ready','lOjHt':_0x4dab72(0x198)},_0x37e26a={'event':_0x216947[_0x4dab72(0x159)],'port':_0x27a712['port'],'module':_0x27a712[_0x4dab72(0x172)],'healthCheck':_0x27a712['healthCheck'],'serviceInfo':_0x27a712[_0x4dab72(0x1d0)],'baseUrl':_0x27a712['baseUrl']},_0x2aefea=_0x4dab72(0x196)+_0x27a712['port'];logger['info'](_0x37e26a,_0x2aefea),writeToFileLog({..._0x37e26a,'level':_0x4dab72(0x198),'msg':_0x2aefea,'time':new Date()[_0x4dab72(0x1c1)]()},_0x216947[_0x4dab72(0x146)]),_0x27a712['healthCheck']&&logger[_0x4dab72(0x198)](_0x4dab72(0x179)+_0x27a712[_0x4dab72(0x1e1)]),_0x27a712[_0x4dab72(0x1d0)]&&logger['info'](_0x4dab72(0x1b3)+_0x27a712[_0x4dab72(0x1d0)]),_0x27a712[_0x4dab72(0x1fa)]&&logger[_0x4dab72(0x198)](_0x4dab72(0x1d1)+_0x27a712[_0x4dab72(0x1fa)]);},logProjectLoaded=(_0x5b3814,_0x57c228)=>{const _0x141b10=a0_0x2fce61,_0x54ba91={'cXWwb':_0x141b10(0x17d),'MtOFx':'info'},_0x4098ca={'event':_0x54ba91[_0x141b10(0x16a)],'project':_0x5b3814,'path':_0x57c228},_0x35c2bd=_0x141b10(0x18b)+_0x5b3814;logger[_0x141b10(0x198)](_0x4098ca,_0x35c2bd),writeToFileLog({..._0x4098ca,'level':_0x54ba91['MtOFx'],'msg':_0x35c2bd,'time':new Date()['toISOString']()},_0x141b10(0x198));},logEndpointRegistered=(_0x7c32b0,_0xc4d46d)=>{const _0x472d8b=a0_0x2fce61,_0x3eafd3={'eFjiR':'endpoint_registered','TXEoY':function(_0x518037,_0x4699bc,_0x7160e2){return _0x518037(_0x4699bc,_0x7160e2);},'wCykK':_0x472d8b(0x16e)},_0x384da3={'event':_0x3eafd3[_0x472d8b(0x16c)],'endpoint':_0x7c32b0,'route':_0xc4d46d},_0x745336=_0x472d8b(0x1c0)+_0x7c32b0+':\x20'+_0xc4d46d;logger[_0x472d8b(0x16e)](_0x384da3,_0x745336),_0x3eafd3['TXEoY'](writeToFileLog,{..._0x384da3,'level':_0x472d8b(0x16e),'msg':_0x745336,'time':new Date()['toISOString']()},_0x3eafd3['wCykK']);},logDatabaseConfig=_0x1ea36b=>{const _0xfb713b=a0_0x2fce61,_0x508a48={'OzWsj':'database_config','OMVvd':'debug'},_0x233471={'event':_0x508a48['OzWsj'],'host':_0x1ea36b['host'],'port':_0x1ea36b['port'],'database':_0x1ea36b['database'],'type':_0x1ea36b[_0xfb713b(0x1d9)],'user':_0x1ea36b[_0xfb713b(0x182)]},_0x5af54a=_0xfb713b(0x177)+_0x1ea36b['type']+'://'+_0x1ea36b['host']+':'+_0x1ea36b[_0xfb713b(0x1b1)]+'/'+_0x1ea36b[_0xfb713b(0x18c)];logger['debug'](_0x233471,_0x5af54a),writeToFileLog({..._0x233471,'level':_0x508a48['OMVvd'],'msg':_0x5af54a,'time':new Date()[_0xfb713b(0x1c1)]()},'debug');},logRequest=(_0x1b4d83,_0x36ec06,_0x4ddd0b)=>{const _0x46daf6=a0_0x2fce61,_0xbfc038={'rNvnW':'http_request','xZYGb':function(_0x4892e5,_0x2c11cb){return _0x4892e5>=_0x2c11cb;},'ZfsrW':_0x46daf6(0x1f7),'EdNcB':function(_0x84a116,_0x5a552a,_0x563984){return _0x84a116(_0x5a552a,_0x563984);}},_0x313e17={'event':_0xbfc038['rNvnW'],'method':_0x1b4d83[_0x46daf6(0x173)],'path':_0x1b4d83['path'],'statusCode':_0x36ec06[_0x46daf6(0x170)],'durationMs':_0x4ddd0b,'ip':_0x1b4d83['ip']},_0x3a0945=_0x1b4d83['method']+'\x20'+_0x1b4d83[_0x46daf6(0x1f1)]+'\x20-\x20'+_0x36ec06['statusCode']+'\x20('+_0x4ddd0b+'ms)';let _0x36a3e6=_0x46daf6(0x198);if(_0xbfc038['xZYGb'](_0x36ec06[_0x46daf6(0x170)],0x1f4))_0x36a3e6=_0x46daf6(0x1ae),logger['error'](_0x313e17,_0x3a0945);else _0x36ec06['statusCode']>=0x190?(_0x36a3e6=_0xbfc038['ZfsrW'],logger[_0x46daf6(0x1f7)](_0x313e17,_0x3a0945)):logger['info'](_0x313e17,_0x3a0945);_0xbfc038[_0x46daf6(0x163)](writeToFileLog,{..._0x313e17,'level':_0x36a3e6,'msg':_0x3a0945,'time':new Date()['toISOString']()},_0x36a3e6);},SENSITIVE_PARAM_PATTERNS=[a0_0x2fce61(0x1bb),'passwd',a0_0x2fce61(0x13d),'token',a0_0x2fce61(0x18f),'refresh_token',a0_0x2fce61(0x1ec),a0_0x2fce61(0x190),'apikey',a0_0x2fce61(0x1a2),'credential','credentials',a0_0x2fce61(0x1c4),a0_0x2fce61(0x191),'private_key',a0_0x2fce61(0x14c)],redactSensitiveParams=(_0x5640ae,_0x272bf7)=>{const _0x12afcf=a0_0x2fce61,_0x186491={'JohjX':'string','KcZVW':function(_0x40943a,_0x52f702){return _0x40943a===_0x52f702;}};if(!_0x5640ae||_0x186491[_0x12afcf(0x1e8)](_0x5640ae[_0x12afcf(0x1e7)],0x0))return _0x5640ae;const _0x3185c1=_0x272bf7['toLowerCase'](),_0x954709=_0x3185c1['match'](/\(([^)]+)\)\s*values/i);let _0x4916f9=[];_0x954709&&(_0x4916f9=_0x954709[0x1]['split'](',')[_0x12afcf(0x1a7)](_0x5680be=>_0x5680be['trim']()[_0x12afcf(0x15f)]()));const _0x297d1b=_0x3185c1['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x297d1b){const _0x429890=_0x297d1b[0x1],_0x4f63de=_0x429890['match'](/(\w+)\s*=/g);_0x4f63de&&(_0x4916f9=_0x4f63de['map'](_0x2903fe=>_0x2903fe[_0x12afcf(0x161)](/\s*=/,'')['trim']()[_0x12afcf(0x15f)]()));}return _0x5640ae[_0x12afcf(0x1a7)]((_0x5d65ca,_0x3a3c8c)=>{const _0x2b6413=_0x12afcf;if(_0x4916f9[_0x3a3c8c]){const _0xdd171b=_0x4916f9[_0x3a3c8c],_0x1b8538=SENSITIVE_PARAM_PATTERNS['some'](_0x82f237=>_0xdd171b['includes'](_0x82f237));if(_0x1b8538)return _0x2b6413(0x1f8);}if(typeof _0x5d65ca===_0x186491['JohjX']&&_0x5d65ca[_0x2b6413(0x1e7)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x2b6413(0x188)](_0x5d65ca)&&_0x5d65ca['includes']('.'))return _0x2b6413(0x1f3);if(/^[a-fA-F0-9]{32,}$/[_0x2b6413(0x188)](_0x5d65ca))return _0x2b6413(0x1a9);}return _0x5d65ca;});},parseQueryMetadata=_0x13d211=>{const _0x524fcf=a0_0x2fce61,_0x4a4296={'slCRJ':_0x524fcf(0x18e),'DobOt':_0x524fcf(0x1ad),'OtjEM':_0x524fcf(0x19a),'Cxigw':_0x524fcf(0x1f5),'QxPmf':_0x524fcf(0x15e),'ptXtY':_0x524fcf(0x1cc)},_0x4b24f5=_0x13d211[_0x524fcf(0x1d2)](),_0x56c402=_0x4b24f5[_0x524fcf(0x142)]();let _0x1f2e5a='UNKNOWN',_0x11f4e4=null;if(_0x56c402['startsWith']('SELECT')){_0x1f2e5a='SELECT';const _0x1c8df1=_0x4b24f5['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x11f4e4=_0x1c8df1?_0x1c8df1[0x1]:null;}else{if(_0x56c402[_0x524fcf(0x14b)]('INSERT')){_0x1f2e5a=_0x4a4296[_0x524fcf(0x166)];const _0x6d7a7e=_0x4b24f5['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x11f4e4=_0x6d7a7e?_0x6d7a7e[0x1]:null;}else{if(_0x56c402[_0x524fcf(0x14b)](_0x524fcf(0x1b8))){_0x1f2e5a=_0x524fcf(0x1b8);const _0x40c294=_0x4b24f5[_0x524fcf(0x1f2)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x11f4e4=_0x40c294?_0x40c294[0x1]:null;}else{if(_0x56c402[_0x524fcf(0x14b)](_0x524fcf(0x1dd))){_0x1f2e5a='DELETE';const _0x319f00=_0x4b24f5['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x11f4e4=_0x319f00?_0x319f00[0x1]:null;}else{if(_0x56c402['startsWith']('BEGIN')||_0x56c402['startsWith'](_0x524fcf(0x199)))_0x1f2e5a=_0x4a4296['DobOt'];else{if(_0x56c402['startsWith'](_0x4a4296['OtjEM']))_0x1f2e5a=_0x4a4296[_0x524fcf(0x1cf)];else{if(_0x56c402[_0x524fcf(0x14b)](_0x524fcf(0x184)))_0x1f2e5a=_0x524fcf(0x1b5);else{if(_0x56c402[_0x524fcf(0x14b)]('CREATE'))_0x1f2e5a=_0x4a4296[_0x524fcf(0x17c)];else{if(_0x56c402['startsWith'](_0x524fcf(0x14e)))_0x1f2e5a=_0x4a4296['ptXtY'];else _0x56c402[_0x524fcf(0x14b)]('DROP')&&(_0x1f2e5a=_0x524fcf(0x14a));}}}}}}}}return{'type':_0x1f2e5a,'table':_0x11f4e4};},startQueryTimer=()=>{const _0x3293f6=a0_0x2fce61,_0x424311={'Tbfbc':function(_0x2b4a03,_0x204d62){return _0x2b4a03+_0x204d62;},'IiByF':function(_0x948cde,_0x41da66){return _0x948cde/_0x41da66;}},_0x2b9da8=process[_0x3293f6(0x13b)]();return()=>{const _0x5606a9=_0x3293f6,[_0x6084a2,_0x9a929c]=process[_0x5606a9(0x13b)](_0x2b9da8);return parseFloat(_0x424311['Tbfbc'](_0x6084a2*0x3e8,_0x424311[_0x5606a9(0x1cb)](_0x9a929c,0xf4240))[_0x5606a9(0x181)](0x2));};},logQuery=(_0x25961c,_0x947093=[],_0x2e5adb={})=>{const _0x134125=a0_0x2fce61,_0x200402={'Fnten':_0x134125(0x186),'PWqwE':'DB\x20Query','KRRuY':function(_0x5d5395,_0x2c67af,_0x3e0182){return _0x5d5395(_0x2c67af,_0x3e0182);},'idNjE':function(_0x140911,_0x231b92){return _0x140911>_0x231b92;},'ODrby':function(_0x49c119,_0xd8b95a){return _0x49c119!==_0xd8b95a;},'XoGjF':'warn','NifvX':function(_0x164b0a,_0x1a4613){return _0x164b0a===_0x1a4613;}};if(!sqlLogEnabled){logger['debug']({'event':_0x200402[_0x134125(0x1a1)],'query':_0x25961c['substring'](0x0,0xc8),'paramCount':_0x947093[_0x134125(0x1e7)]},_0x200402['PWqwE']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x2e5adb,{type:_0x5724bd,table:_0x51d3d7}=parseQueryMetadata(_0x25961c),_0x6ecfd0={'event':_0x134125(0x1eb),'queryType':_0x5724bd,'table':_0x51d3d7,'query':_0x25961c,'paramCount':_0x947093['length'],'dbType':dbType};sqlLogParams&&_0x947093['length']>0x0&&(_0x6ecfd0['params']=_0x200402['KRRuY'](redactSensitiveParams,_0x947093,_0x25961c));duration!==null&&(_0x6ecfd0[_0x134125(0x150)]=duration,_0x6ecfd0[_0x134125(0x1c7)]=_0x200402['idNjE'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x6ecfd0['rowsAffected']=rowsAffected);const _0x201355=_0x51d3d7||_0x134125(0x1a5);let _0x2582d5='['+_0x5724bd+']\x20'+_0x201355;duration!==null&&(_0x2582d5+='\x20('+duration+_0x134125(0x1c3));const _0x2759c3=_0x200402[_0x134125(0x197)](duration,null)&&duration>sqlLogSlowThreshold;let _0x3cf2f8=_0x134125(0x16e);if(_0x2759c3)_0x2582d5+='\x20[SLOW]',_0x3cf2f8=_0x200402[_0x134125(0x17e)],logger[_0x134125(0x1f7)](_0x6ecfd0,_0x2582d5);else _0x200402['NifvX'](sqlLogLevel,'info')?(_0x3cf2f8='info',logger['info'](_0x6ecfd0,_0x2582d5)):logger[_0x134125(0x16e)](_0x6ecfd0,_0x2582d5);_0x200402[_0x134125(0x147)](writeToFileLog,{..._0x6ecfd0,'level':_0x3cf2f8,'msg':_0x2582d5,'time':new Date()['toISOString']()},_0x3cf2f8);},logTransaction=(_0xdc56b5,_0x5f3fe7)=>{const _0x1c5763=a0_0x2fce61,_0x4ebbd9={'Eqnhj':'db_transaction'},_0x1d1b1f={'event':_0x4ebbd9[_0x1c5763(0x1db)],'status':_0xdc56b5,'queryCount':_0x5f3fe7},_0x35191e='Transaction\x20'+_0xdc56b5;logger[_0x1c5763(0x16e)](_0x1d1b1f,_0x35191e),writeToFileLog({..._0x1d1b1f,'level':_0x1c5763(0x16e),'msg':_0x35191e,'time':new Date()[_0x1c5763(0x1c1)]()},'debug');},redactObject=_0x6caf9a=>{const _0x40c603=a0_0x2fce61,_0x1e5ae0={'FEKwI':function(_0x4aa30a,_0x1fce53){return _0x4aa30a!==_0x1fce53;},'bBcDE':_0x40c603(0x1ce),'XtRqt':_0x40c603(0x19c),'BXzgd':'secret','LUEQC':_0x40c603(0x1a2),'OHFkJ':_0x40c603(0x1bf),'PFpDW':_0x40c603(0x1f0),'EeIfE':_0x40c603(0x16b),'WVsNT':'access_token','EmkzO':_0x40c603(0x1f8),'JNoNk':function(_0x505050,_0xb7c5a0){return _0x505050===_0xb7c5a0;},'bndZk':function(_0x26187d,_0xf02f05){return _0x26187d!==_0xf02f05;}};if(!_0x6caf9a||_0x1e5ae0[_0x40c603(0x17f)](typeof _0x6caf9a,_0x1e5ae0['bBcDE']))return _0x6caf9a;const _0x74c532=[_0x40c603(0x1bb),_0x1e5ae0[_0x40c603(0x1dc)],'pwd',_0x40c603(0x13e),_0x1e5ae0['BXzgd'],_0x40c603(0x1a8),_0x1e5ae0['LUEQC'],'authorization',_0x1e5ae0['OHFkJ'],_0x40c603(0x1d7),_0x40c603(0x175),_0x40c603(0x1e5),_0x40c603(0x1c4),_0x1e5ae0[_0x40c603(0x183)],_0x40c603(0x14c),_0x1e5ae0[_0x40c603(0x18a)],_0x1e5ae0[_0x40c603(0x1d6)]],_0x388711=Array[_0x40c603(0x1e4)](_0x6caf9a)?[..._0x6caf9a]:{..._0x6caf9a};for(const _0x3e4330 of Object['keys'](_0x388711)){const _0x215f06=_0x3e4330['toLowerCase']();if(_0x74c532[_0x40c603(0x171)](_0x29db67=>_0x215f06[_0x40c603(0x1de)](_0x29db67)))_0x388711[_0x3e4330]=_0x1e5ae0[_0x40c603(0x16d)];else _0x1e5ae0['JNoNk'](typeof _0x388711[_0x3e4330],_0x1e5ae0['bBcDE'])&&_0x1e5ae0[_0x40c603(0x17a)](_0x388711[_0x3e4330],null)&&(_0x388711[_0x3e4330]=redactObject(_0x388711[_0x3e4330]));}return _0x388711;},logError=(_0x251ab6,_0x48b3a5={},_0x3e27af=null)=>{const _0x4468e4=a0_0x2fce61,_0x351f44={'fquCZ':_0x4468e4(0x1ae),'FwQAv':'Error','XKzCb':function(_0x35f079,_0x293a50,_0x26d7d2){return _0x35f079(_0x293a50,_0x26d7d2);}},_0x32d1d9={'event':_0x351f44[_0x4468e4(0x1a0)],'errorName':_0x251ab6[_0x4468e4(0x15a)]||_0x351f44[_0x4468e4(0x180)],'errorMessage':_0x251ab6[_0x4468e4(0x14d)],'errorCode':_0x251ab6['code']||null,'stack':_0x251ab6[_0x4468e4(0x140)],..._0x48b3a5},_0xc6a8b2=_0x3e27af||'Error:\x20'+_0x251ab6[_0x4468e4(0x14d)];logger[_0x4468e4(0x1ae)](_0x32d1d9,_0xc6a8b2),_0x351f44['XKzCb'](writeToFileLog,{..._0x32d1d9,'level':_0x351f44[_0x4468e4(0x1a0)],'msg':_0xc6a8b2,'time':new Date()['toISOString']()},_0x351f44[_0x4468e4(0x1a0)]);},logFatalError=(_0x23522b,_0x344d41={},_0x2a5218=null)=>{const _0x465304=a0_0x2fce61,_0x297063={'MChat':_0x465304(0x1c8),'lmsXX':_0x465304(0x1ae)},_0xbc2f7b={'event':_0x465304(0x1bd),'errorName':_0x23522b['name']||'Error','errorMessage':_0x23522b[_0x465304(0x14d)],'errorCode':_0x23522b[_0x465304(0x19b)]||null,'stack':_0x23522b['stack'],'severity':_0x297063[_0x465304(0x15d)],..._0x344d41},_0x2e3b02=_0x2a5218||'FATAL:\x20'+_0x23522b['message'];logger['fatal'](_0xbc2f7b,_0x2e3b02),writeToFileLog({..._0xbc2f7b,'level':'fatal','msg':_0x2e3b02,'time':new Date()['toISOString']()},_0x297063['lmsXX']);},logHttpError=(_0x134678,_0x508fb7,_0x4a49cc={})=>{const _0x5ccbcf=a0_0x2fce61,_0x3142dd={'XewKA':'Error','cBXdf':'user-agent','PmeIa':'x-request-id','zELCC':function(_0x426afd,_0x2f4edb){return _0x426afd>=_0x2f4edb;},'OUwcv':_0x5ccbcf(0x1f7),'uotxs':function(_0x16ff9c,_0x5b587d){return _0x16ff9c>=_0x5b587d;},'VmacS':_0x5ccbcf(0x1ae)},_0x31e800={'event':_0x5ccbcf(0x1b2),'errorName':_0x134678['name']||_0x3142dd['XewKA'],'errorMessage':_0x134678['message'],'errorCode':_0x134678['code']||_0x134678[_0x5ccbcf(0x170)]||0x1f4,'stack':_0x134678['stack'],'method':_0x508fb7?.['method'],'url':_0x508fb7?.['url']||_0x508fb7?.['originalUrl'],'path':_0x508fb7?.[_0x5ccbcf(0x1f1)],'ip':_0x508fb7?.['ip']||_0x508fb7?.['connection']?.[_0x5ccbcf(0x1fb)],'userAgent':_0x508fb7?.[_0x5ccbcf(0x157)]?.(_0x3142dd[_0x5ccbcf(0x1a4)]),'requestId':_0x508fb7?.['id']||_0x508fb7?.['headers']?.[_0x3142dd[_0x5ccbcf(0x13c)]],'body':_0x508fb7?.[_0x5ccbcf(0x143)]?redactObject(_0x508fb7['body']):undefined,'query':_0x508fb7?.[_0x5ccbcf(0x138)],..._0x4a49cc},_0x465be8=_0x134678[_0x5ccbcf(0x170)]||_0x134678[_0x5ccbcf(0x1df)]||0x1f4,_0x5cbd18=_0x5ccbcf(0x19e)+_0x465be8+':\x20'+_0x134678[_0x5ccbcf(0x14d)];_0x465be8>=0x1f4?logger[_0x5ccbcf(0x1ae)](_0x31e800,_0x5cbd18):logger['warn'](_0x31e800,_0x5cbd18),writeToFileLog({..._0x31e800,'level':_0x3142dd['zELCC'](_0x465be8,0x1f4)?_0x5ccbcf(0x1ae):_0x3142dd[_0x5ccbcf(0x16f)],'msg':_0x5cbd18,'time':new Date()[_0x5ccbcf(0x1c1)]()},_0x3142dd[_0x5ccbcf(0x1e9)](_0x465be8,0x1f4)?_0x3142dd[_0x5ccbcf(0x1ef)]:'warn');},logUncaughtError=(_0x2ff72f,_0x5af241)=>{const _0x567a8c=a0_0x2fce61,_0x35a1fe={'OgIZW':_0x567a8c(0x1b9),'aclii':'CRITICAL'},_0x4ae6d4={'event':_0x2ff72f,'errorName':_0x5af241?.[_0x567a8c(0x15a)]||_0x35a1fe['OgIZW'],'errorMessage':_0x5af241?.[_0x567a8c(0x14d)]||String(_0x5af241),'errorCode':_0x5af241?.['code']||null,'stack':_0x5af241?.['stack'],'severity':_0x35a1fe[_0x567a8c(0x13a)],'processId':process[_0x567a8c(0x151)],'memoryUsage':process[_0x567a8c(0x164)](),'uptime':process[_0x567a8c(0x1ac)]()},_0x40daa0='['+_0x2ff72f[_0x567a8c(0x142)]()+']\x20'+(_0x5af241?.[_0x567a8c(0x14d)]||_0x5af241);logger[_0x567a8c(0x13f)](_0x4ae6d4,_0x40daa0),writeToFileLog({..._0x4ae6d4,'level':_0x567a8c(0x13f),'msg':_0x40daa0,'time':new Date()[_0x567a8c(0x1c1)]()},_0x567a8c(0x1ae));},setupGlobalErrorHandlers=()=>{const _0x22d589=a0_0x2fce61,_0x4c714d={'qOylw':function(_0xa22c72,_0x4b88c9,_0x22add5){return _0xa22c72(_0x4b88c9,_0x22add5);},'Pmhfm':_0x22d589(0x192),'BWXNZ':_0x22d589(0x18d),'QAbJl':'process_warning','gOhRz':'warning','ilHXt':'Global\x20error\x20handlers\x20initialized'};process['on']('uncaughtException',_0x2d8e3e=>{const _0x544ba4=_0x22d589;_0x4c714d['qOylw'](logUncaughtError,_0x4c714d[_0x544ba4(0x1f4)],_0x2d8e3e),setTimeout(()=>{const _0x5d6031=_0x544ba4;process[_0x5d6031(0x194)](0x1);},0x3e8);}),process['on'](_0x4c714d['BWXNZ'],(_0x456c51,_0x2ac3e8)=>{const _0x3ef1fe=_0x456c51 instanceof Error?_0x456c51:new Error(String(_0x456c51));logUncaughtError(_0x4c714d['BWXNZ'],_0x3ef1fe);}),process['on'](_0x4c714d[_0x22d589(0x1c9)],_0x3ad1c2=>{const _0x18f461=_0x22d589;logger[_0x18f461(0x1f7)]({'event':_0x4c714d[_0x18f461(0x137)],'name':_0x3ad1c2['name'],'message':_0x3ad1c2[_0x18f461(0x14d)],'stack':_0x3ad1c2[_0x18f461(0x140)]},'Process\x20Warning:\x20'+_0x3ad1c2[_0x18f461(0x14d)]);});const _0x2b83e3={'event':_0x22d589(0x136)},_0x37eed8=_0x4c714d[_0x22d589(0x1d8)];logger[_0x22d589(0x198)](_0x2b83e3,_0x37eed8),writeToFileLog({..._0x2b83e3,'level':_0x22d589(0x198),'msg':_0x37eed8,'time':new Date()[_0x22d589(0x1c1)]()},'info');},createErrorHandlerMiddleware=()=>{const _0xda0773={'sDJeW':'x-request-id'};return(_0x124fba,_0x2788c5,_0x4e3b8c,_0x8031c2)=>{const _0x4ea154=a0_0x526d;logHttpError(_0x124fba,_0x2788c5);const _0x3ba0ca=_0x124fba[_0x4ea154(0x170)]||_0x124fba['status']||0x1f4;_0x4e3b8c['status'](_0x3ba0ca)[_0x4ea154(0x1cd)]({'success':![],'error':_0x3ba0ca>=0x1f4?'Internal\x20server\x20error':_0x124fba[_0x4ea154(0x14d)],'requestId':_0x2788c5['id']||_0x2788c5['headers']?.[_0xda0773[_0x4ea154(0x14f)]]||null});};};module[a0_0x2fce61(0x1a6)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x2e3166=a0_0x4130;(function(_0x103e02,_0x4aeab4){const _0x37375f=a0_0x4130,_0x50943d=_0x103e02();while(!![]){try{const _0x1bf5fb=-parseInt(_0x37375f(0x10d))/0x1+parseInt(_0x37375f(0xf1))/0x2*(-parseInt(_0x37375f(0xee))/0x3)+parseInt(_0x37375f(0x10e))/0x4+parseInt(_0x37375f(0xf7))/0x5+-parseInt(_0x37375f(0xed))/0x6+-parseInt(_0x37375f(0x10c))/0x7+parseInt(_0x37375f(0x10b))/0x8*(parseInt(_0x37375f(0xfa))/0x9);if(_0x1bf5fb===_0x4aeab4)break;else _0x50943d['push'](_0x50943d['shift']());}catch(_0x62cb38){_0x50943d['push'](_0x50943d['shift']());}}}(a0_0x25a5,0xadd60));const fs=require('fs')[a0_0x2e3166(0x110)],path=require(a0_0x2e3166(0xea)),{logger}=require(a0_0x2e3166(0xff));function a0_0x25a5(){const _0x36925a=['Cgf5Bg9Hzf9SB2fKx2vYCM9Y','zgvIDwC','zxjYB3i','Cgf5Bg9HzerPCG','Axnby3rPB25fBMfIBgvK','nde1nJuXmfzyAfDqEq','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','CgfYC2u','otbPBMfMtfK','zKrtEha','Cgf5Bg9HzdO','AgfZ','y2XLyxjdywnOzq','lI9SB2DNzxi','y2XLyxi','zxHWB3j0CW','ugf5Bg9HzcbUB3qGzM91BMq6ia','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','Cgf5Bg9Hzf9SB2fKzwq','Aw5MBW','ywn0Aw9U','z2v0rxHWB3j0q29UzMLN','z2v0','rKTlzLa','Bg9HzfbHEwXVywq','mJCXnZa5nNrPsuTADa','nZK2odK4owjhyKXJsW','otiZndGZv3HgC2fj','ndKWndy3mMLcDwffzW','BwvZC2fNzq','ChjVBwLZzxm','y2fJAgu','uxfgDMi','Cgf0Aa','CMvHzezPBgu','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','odiYotaYnhbUCgTfBa','mteXtM12sLvo','C2v0','AM9PBG','nZa3mJrjsLjSs0m'];a0_0x25a5=function(){return _0x36925a;};return a0_0x25a5();}function a0_0x4130(_0x5a24d7,_0x38591e){_0x5a24d7=_0x5a24d7-0xe8;const _0x25a5d0=a0_0x25a5();let _0x413036=_0x25a5d0[_0x5a24d7];if(a0_0x4130['OzyZwZ']===undefined){var _0x41c2c9=function(_0x1bfdc8){const _0x594fcb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3836d5='',_0x10d05c='';for(let _0x201705=0x0,_0xa6dea9,_0x232beb,_0xf4a8b=0x0;_0x232beb=_0x1bfdc8['charAt'](_0xf4a8b++);~_0x232beb&&(_0xa6dea9=_0x201705%0x4?_0xa6dea9*0x40+_0x232beb:_0x232beb,_0x201705++%0x4)?_0x3836d5+=String['fromCharCode'](0xff&_0xa6dea9>>(-0x2*_0x201705&0x6)):0x0){_0x232beb=_0x594fcb['indexOf'](_0x232beb);}for(let _0x184ae1=0x0,_0x53da3c=_0x3836d5['length'];_0x184ae1<_0x53da3c;_0x184ae1++){_0x10d05c+='%'+('00'+_0x3836d5['charCodeAt'](_0x184ae1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x10d05c);};a0_0x4130['YUUnJX']=_0x41c2c9,a0_0x4130['FuOlbz']={},a0_0x4130['OzyZwZ']=!![];}const _0x2e636c=_0x25a5d0[0x0],_0x5aba42=_0x5a24d7+_0x2e636c,_0x276b0a=a0_0x4130['FuOlbz'][_0x5aba42];return!_0x276b0a?(_0x413036=a0_0x4130['YUUnJX'](_0x413036),a0_0x4130['FuOlbz'][_0x5aba42]=_0x413036):_0x413036=_0x276b0a,_0x413036;}class PayloadLoader{constructor(){const _0x3d6106=a0_0x2e3166;this[_0x3d6106(0xf5)]=path['join'](__dirname,'../../payload'),this['cache']=new Map();}async[a0_0x2e3166(0x10a)](_0x1dcc48,_0x4ea4c5){const _0x25d6f0=a0_0x2e3166,_0x3b8689={'SNKie':_0x25d6f0(0xf2),'bmKQI':_0x25d6f0(0xf8)},_0x25485a=_0x1dcc48+':'+_0x4ea4c5;if(this[_0x25d6f0(0xe8)][_0x25d6f0(0xfd)](_0x25485a))return this[_0x25d6f0(0xe8)][_0x25d6f0(0x108)](_0x25485a);const _0x2e5f26=path[_0x25d6f0(0xf0)](this[_0x25d6f0(0xf5)],_0x1dcc48+'_'+_0x4ea4c5+'.json');try{const _0xd84fd0=await fs[_0x25d6f0(0xeb)](_0x2e5f26,'utf8'),_0x1b8575=JSON[_0x25d6f0(0xf9)](_0xd84fd0);return this[_0x25d6f0(0xe8)][_0x25d6f0(0xef)](_0x25485a,_0x1b8575),logger['debug']({'event':_0x25d6f0(0x104),'project':_0x1dcc48,'resource':_0x4ea4c5},'Payload\x20loaded\x20successfully'),_0x1b8575;}catch(_0x205fa8){logger[_0x25d6f0(0xf4)]({'event':_0x3b8689['SNKie'],'project':_0x1dcc48,'resource':_0x4ea4c5,'error':_0x205fa8[_0x25d6f0(0x10f)]},_0x3b8689['bmKQI']);throw new Error(_0x25d6f0(0x102)+_0x1dcc48+'_'+_0x4ea4c5);}}async['loadPayloadByName'](_0x14fb54){const _0x5556e3=a0_0x2e3166,_0x2d0709={'QqFvb':'payload_loaded','FKKfP':_0x5556e3(0xf2),'vDTDW':_0x5556e3(0xec)},_0xffd437=_0x5556e3(0xfc)+_0x14fb54;if(this['cache'][_0x5556e3(0xfd)](_0xffd437))return this[_0x5556e3(0xe8)][_0x5556e3(0x108)](_0xffd437);const _0xef2875=path['join'](this[_0x5556e3(0xf5)],_0x14fb54+'.json');try{const _0x1598e5=await fs[_0x5556e3(0xeb)](_0xef2875,'utf8'),_0x2325f3=JSON[_0x5556e3(0xf9)](_0x1598e5);return this[_0x5556e3(0xe8)]['set'](_0xffd437,_0x2325f3),logger[_0x5556e3(0xf3)]({'event':_0x2d0709[_0x5556e3(0xe9)],'payloadName':_0x14fb54},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x2325f3;}catch(_0x118596){logger[_0x5556e3(0xf4)]({'event':_0x2d0709[_0x5556e3(0x109)],'payloadName':_0x14fb54,'error':_0x118596['message']},_0x2d0709['vDTDW']);throw new Error('Payload\x20not\x20found:\x20'+_0x14fb54);}}[a0_0x2e3166(0xf6)](_0x5bb33f,_0x31d6b4){const _0x3ce10f=a0_0x2e3166,_0x3df509={'TMskq':function(_0x222b99,_0xce2cff){return _0x222b99===_0xce2cff;}};return _0x5bb33f[_0x3ce10f(0x106)]&&_0x3df509['TMskq'](_0x5bb33f[_0x3ce10f(0x106)][_0x31d6b4],!![]);}[a0_0x2e3166(0x107)](_0x56671c){return{'columns':_0x56671c['fieldName']||[],'filename':_0x56671c['tableName']['replace']('.','-')+'-export','datatablesQuery':_0x56671c['datatablesQuery']||null,'columnFormats':_0x56671c['columnFormats']||null,'fieldLabels':_0x56671c['fieldLabels']||null};}[a0_0x2e3166(0xfe)](){const _0x167f30=a0_0x2e3166,_0x545271={'fDSxp':_0x167f30(0x103),'tMXJD':'Payload\x20cache\x20cleared'};this[_0x167f30(0xe8)][_0x167f30(0x100)](),logger[_0x167f30(0x105)]({'event':_0x545271[_0x167f30(0xfb)]},_0x545271['tMXJD']);}}module[a0_0x2e3166(0x101)]=new PayloadLoader();
|