@restforgejs/platform 5.1.20 → 5.1.21
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/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/lib/dbschema-kit/apply-executor.js +20 -0
- package/generators/lib/generators/processor-validation-generator.js +4 -1
- package/generators/lib/migrate/field-type-resolver.js +23 -0
- package/generators/lib/payload/payload-runner.js +17 -3
- 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
|
-
|
|
1
|
+
function a0_0x303b(){const _0x5df635=['z2v0vgLTzq','zM9YBwf0vgLTzxn0yw1W','zM9YBwf0vgLTzq','mtC0tK9ZvenW','DgLTzxn0yw1W','z2v0sg91CNm','mZKWotC5rwTyqNnJ','BwvZC2fNzq','DgLTzq','mJaYntCZtu1sCNjh','z2v0rNvSBfLLyxi','sw52ywXPzcb0Aw1LihzHBhvLoIa','mta3mda3mNzfELrAuG','CgfKu3rHCNq','zxjYB3i','zM9YBwf0rgf0zq','C3rYAw5N','mtmWnte2nuHwq0XfzG','BgvUz3rO','r3PvDuO','z2v0rgf0zq','r0XpDxe','qwrSsKm','sw52ywXPzcbKyxrLihzHBhvLoIa','AMrjCMO','ngnQq1nSsW','wLnmzwO','mty0nZG5nefbwgvvEq','z2v0tw9UDgG','nJu5mJe5mLnwAur5zW','mtq3nJC5nJvyBwvJr28'];a0_0x303b=function(){return _0x5df635;};return a0_0x303b();}const a0_0x445afa=a0_0x51f2;(function(_0x8a4c54,_0x51e77c){const _0x28bcb8=a0_0x51f2,_0x287007=_0x8a4c54();while(!![]){try{const _0xc1a457=-parseInt(_0x28bcb8(0x172))/0x1+-parseInt(_0x28bcb8(0x159))/0x2+-parseInt(_0x28bcb8(0x168))/0x3*(parseInt(_0x28bcb8(0x166))/0x4)+parseInt(_0x28bcb8(0x15e))/0x5+parseInt(_0x28bcb8(0x16f))/0x6*(parseInt(_0x28bcb8(0x156))/0x7)+-parseInt(_0x28bcb8(0x16a))/0x8+parseInt(_0x28bcb8(0x16b))/0x9;if(_0xc1a457===_0x51e77c)break;else _0x287007['push'](_0x287007['shift']());}catch(_0x5d9d7d){_0x287007['push'](_0x287007['shift']());}}}(a0_0x303b,0x6bdd4));class DateTimeFormatter{static['format'](_0x205b7a,_0x16f59d,_0x1c9339){const _0x3efe34=a0_0x51f2,_0x2590dc={'LYMtI':'date','ZSLej':function(_0x77df5,_0x531d62){return _0x77df5===_0x531d62;},'Etbte':_0x3efe34(0x170)};if(!_0x205b7a)return null;try{if(_0x1c9339===_0x2590dc['LYMtI'])return this[_0x3efe34(0x15c)](_0x205b7a,_0x16f59d);else{if(_0x2590dc[_0x3efe34(0x167)](_0x1c9339,_0x2590dc['Etbte']))return this[_0x3efe34(0x16d)](_0x205b7a,_0x16f59d);else{if(_0x1c9339===_0x3efe34(0x155))return this[_0x3efe34(0x16e)](_0x205b7a,_0x16f59d);}}return _0x205b7a;}catch(_0x34fcd1){return console[_0x3efe34(0x15b)]('Error\x20formatting\x20datetime:\x20'+_0x34fcd1[_0x3efe34(0x154)]),_0x205b7a;}}static['formatDate'](_0x272c59,_0x4dc80a){const _0x46fd9d=a0_0x51f2,_0x17dda6={'GzUuJ':function(_0x3753c5,_0x5c75da){return _0x3753c5(_0x5c75da);},'AdlJC':function(_0x2165e2,_0x1d17fa){return _0x2165e2+_0x1d17fa;}},_0x34c50c=new Date(_0x272c59);if(_0x17dda6[_0x46fd9d(0x160)](isNaN,_0x34c50c[_0x46fd9d(0x16c)]()))return console['warn'](_0x46fd9d(0x164)+_0x272c59),_0x272c59;const _0x1e249b=_0x17dda6['GzUuJ'](String,_0x34c50c[_0x46fd9d(0x161)]())['padStart'](0x2,'0'),_0x19488a=String(_0x17dda6[_0x46fd9d(0x163)](_0x34c50c[_0x46fd9d(0x169)](),0x1))['padStart'](0x2,'0'),_0x683fa6=_0x34c50c[_0x46fd9d(0x157)](),_0x2c809b={'dd/MM/yyyy':_0x1e249b+'/'+_0x19488a+'/'+_0x683fa6,'dd-MM-yyyy':_0x1e249b+'-'+_0x19488a+'-'+_0x683fa6,'MM/dd/yyyy':_0x19488a+'/'+_0x1e249b+'/'+_0x683fa6,'yyyy/MM/dd':_0x683fa6+'/'+_0x19488a+'/'+_0x1e249b,'yyyy-MM-dd':_0x683fa6+'-'+_0x19488a+'-'+_0x1e249b};return _0x2c809b[_0x4dc80a]||_0x683fa6+'-'+_0x19488a+'-'+_0x1e249b;}static['formatTimestamp'](_0x357068,_0x40beb8){const _0x4aa993=a0_0x51f2,_0x147899={'YXgBi':function(_0x12277e,_0x187416){return _0x12277e(_0x187416);},'jdIrj':function(_0x60d5b9,_0x3a17a3){return _0x60d5b9(_0x3a17a3);},'eYOlq':function(_0x1afdac,_0x49a6f3){return _0x1afdac+_0x49a6f3;},'nFUSS':function(_0x55b42c,_0x4d8990){return _0x55b42c(_0x4d8990);}},_0x558aad=new Date(_0x357068);if(_0x147899['YXgBi'](isNaN,_0x558aad[_0x4aa993(0x16c)]()))return console['warn']('Invalid\x20timestamp\x20value:\x20'+_0x357068),_0x357068;const _0xc67fa3=_0x147899[_0x4aa993(0x165)](String,_0x558aad['getDate']())[_0x4aa993(0x15a)](0x2,'0'),_0x1add52=_0x147899[_0x4aa993(0x165)](String,_0x147899['eYOlq'](_0x558aad[_0x4aa993(0x169)](),0x1))['padStart'](0x2,'0'),_0x2f756d=_0x558aad['getFullYear'](),_0x1914cc=String(_0x558aad[_0x4aa993(0x171)]())['padStart'](0x2,'0'),_0x2fbfba=_0x147899['nFUSS'](String,_0x558aad['getMinutes']())['padStart'](0x2,'0'),_0x20e17a=_0x147899['YXgBi'](String,_0x558aad['getSeconds']())[_0x4aa993(0x15a)](0x2,'0'),_0x4533b8=_0x40beb8['split']('\x20');if(_0x4533b8['length']!==0x2)return _0x2f756d+'-'+_0x1add52+'-'+_0xc67fa3+'\x20'+_0x1914cc+':'+_0x2fbfba+':'+_0x20e17a;const _0x4be1de=_0x4533b8[0x0],_0x4e61e7=_0x4533b8[0x1],_0x2ccc5f={'dd/MM/yyyy':_0xc67fa3+'/'+_0x1add52+'/'+_0x2f756d,'dd-MM-yyyy':_0xc67fa3+'-'+_0x1add52+'-'+_0x2f756d,'MM/dd/yyyy':_0x1add52+'/'+_0xc67fa3+'/'+_0x2f756d,'yyyy/MM/dd':_0x2f756d+'/'+_0x1add52+'/'+_0xc67fa3,'yyyy-MM-dd':_0x2f756d+'-'+_0x1add52+'-'+_0xc67fa3},_0xd0dc6a={'HH:mm':_0x1914cc+':'+_0x2fbfba,'HH:mm:ss':_0x1914cc+':'+_0x2fbfba+':'+_0x20e17a,'hh:mm':_0x1914cc+':'+_0x2fbfba},_0x4cd4a2=_0x2ccc5f[_0x4be1de]||_0x2f756d+'-'+_0x1add52+'-'+_0xc67fa3,_0x553259=_0xd0dc6a[_0x4e61e7]||_0x1914cc+':'+_0x2fbfba+':'+_0x20e17a;return _0x4cd4a2+'\x20'+_0x553259;}static[a0_0x445afa(0x16e)](_0x2da99e,_0x46921a){const _0x1516ff=a0_0x445afa,_0x7af2f4={'GLOuq':function(_0x4e8407,_0x4a4649){return _0x4e8407!==_0x4a4649;}};if(_0x7af2f4[_0x1516ff(0x162)](typeof _0x2da99e,_0x1516ff(0x15d)))return _0x2da99e;const _0x7537e7=_0x2da99e['split'](':');if(_0x7537e7[_0x1516ff(0x15f)]<0x2)return console['warn'](_0x1516ff(0x158)+_0x2da99e),_0x2da99e;const _0x4bdd0a=_0x7537e7[0x0]['padStart'](0x2,'0'),_0x487545=_0x7537e7[0x1]['padStart'](0x2,'0'),_0x1d0959=_0x7537e7[0x2]?_0x7537e7[0x2]['split']('.')[0x0]['padStart'](0x2,'0'):'00',_0x2ce5b5={'HH:mm':_0x4bdd0a+':'+_0x487545,'HH:mm:ss':_0x4bdd0a+':'+_0x487545+':'+_0x1d0959,'hh:mm':_0x4bdd0a+':'+_0x487545};return _0x2ce5b5[_0x46921a]||_0x4bdd0a+':'+_0x487545+':'+_0x1d0959;}}function a0_0x51f2(_0x2bfccc,_0x596cf0){_0x2bfccc=_0x2bfccc-0x154;const _0x303b21=a0_0x303b();let _0x51f28e=_0x303b21[_0x2bfccc];if(a0_0x51f2['rUTVmX']===undefined){var _0x2b41fc=function(_0xc04468){const _0x2db7ed='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2238e6='',_0x2806e7='';for(let _0x103583=0x0,_0x57d16a,_0x49b171,_0x919373=0x0;_0x49b171=_0xc04468['charAt'](_0x919373++);~_0x49b171&&(_0x57d16a=_0x103583%0x4?_0x57d16a*0x40+_0x49b171:_0x49b171,_0x103583++%0x4)?_0x2238e6+=String['fromCharCode'](0xff&_0x57d16a>>(-0x2*_0x103583&0x6)):0x0){_0x49b171=_0x2db7ed['indexOf'](_0x49b171);}for(let _0x322174=0x0,_0x2a1604=_0x2238e6['length'];_0x322174<_0x2a1604;_0x322174++){_0x2806e7+='%'+('00'+_0x2238e6['charCodeAt'](_0x322174)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2806e7);};a0_0x51f2['LHtMar']=_0x2b41fc,a0_0x51f2['ggMRGY']={},a0_0x51f2['rUTVmX']=!![];}const _0x499778=_0x303b21[0x0],_0x54793e=_0x2bfccc+_0x499778,_0x4cd728=a0_0x51f2['ggMRGY'][_0x54793e];return!_0x4cd728?(_0x51f28e=a0_0x51f2['LHtMar'](_0x51f28e),a0_0x51f2['ggMRGY'][_0x54793e]=_0x51f28e):_0x51f28e=_0x4cd728,_0x51f28e;}module['exports']=DateTimeFormatter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x52a819=a0_0x28c9;(function(_0x6f6758,_0x5428d8){const _0x425c27=a0_0x28c9,_0x31e3a3=_0x6f6758();while(!![]){try{const _0x4e3555=parseInt(_0x425c27(0xa7))/0x1+-parseInt(_0x425c27(0x91))/0x2+parseInt(_0x425c27(0xa4))/0x3*(-parseInt(_0x425c27(0xaf))/0x4)+parseInt(_0x425c27(0x9b))/0x5+-parseInt(_0x425c27(0x8e))/0x6+-parseInt(_0x425c27(0xae))/0x7*(parseInt(_0x425c27(0xad))/0x8)+parseInt(_0x425c27(0x8d))/0x9;if(_0x4e3555===_0x5428d8)break;else _0x31e3a3['push'](_0x31e3a3['shift']());}catch(_0x537f3b){_0x31e3a3['push'](_0x31e3a3['shift']());}}}(a0_0xa787,0x3be4e));function a0_0x28c9(_0x3cb832,_0x544bc8){_0x3cb832=_0x3cb832-0x8b;const _0xa787a1=a0_0xa787();let _0x28c950=_0xa787a1[_0x3cb832];if(a0_0x28c9['SPXQFn']===undefined){var _0x357faa=function(_0x480092){const _0x5f1eba='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x51352c='',_0x4c3534='';for(let _0x225124=0x0,_0x3d6198,_0x4bf8e6,_0x589504=0x0;_0x4bf8e6=_0x480092['charAt'](_0x589504++);~_0x4bf8e6&&(_0x3d6198=_0x225124%0x4?_0x3d6198*0x40+_0x4bf8e6:_0x4bf8e6,_0x225124++%0x4)?_0x51352c+=String['fromCharCode'](0xff&_0x3d6198>>(-0x2*_0x225124&0x6)):0x0){_0x4bf8e6=_0x5f1eba['indexOf'](_0x4bf8e6);}for(let _0x88fd=0x0,_0x36204f=_0x51352c['length'];_0x88fd<_0x36204f;_0x88fd++){_0x4c3534+='%'+('00'+_0x51352c['charCodeAt'](_0x88fd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4c3534);};a0_0x28c9['OpXcWh']=_0x357faa,a0_0x28c9['sAEZAZ']={},a0_0x28c9['SPXQFn']=!![];}const _0x4fd650=_0xa787a1[0x0],_0x178335=_0x3cb832+_0x4fd650,_0xe76e7f=a0_0x28c9['sAEZAZ'][_0x178335];return!_0xe76e7f?(_0x28c950=a0_0x28c9['OpXcWh'](_0x28c950),a0_0x28c9['sAEZAZ'][_0x178335]=_0x28c950):_0x28c950=_0xe76e7f,_0x28c950;}class DateTimeParser{static['parse'](_0x1a4dec,_0x5c7932,_0x15f6b5){const _0x120f17=a0_0x28c9,_0x4bbcfa={'vqRcL':function(_0x40e35e,_0x2ed4ca){return _0x40e35e===_0x2ed4ca;},'MMAWC':_0x120f17(0xb2),'hupjR':_0x120f17(0x8c),'VYeGv':function(_0x45912d,_0x2e1286){return _0x45912d===_0x2e1286;},'PuFxl':_0x120f17(0x99)};if(!_0x1a4dec||_0x1a4dec==='')return null;try{if(_0x4bbcfa['vqRcL'](_0x15f6b5,_0x4bbcfa[_0x120f17(0x98)]))return this[_0x120f17(0x8b)](_0x1a4dec,_0x5c7932);else{if(_0x15f6b5===_0x4bbcfa['hupjR'])return this[_0x120f17(0xab)](_0x1a4dec,_0x5c7932);else{if(_0x4bbcfa[_0x120f17(0xb0)](_0x15f6b5,_0x4bbcfa['PuFxl']))return this['parseTime'](_0x1a4dec,_0x5c7932);}}return _0x1a4dec;}catch(_0x216962){return console[_0x120f17(0x97)](_0x120f17(0x94)+_0x216962[_0x120f17(0xa9)]),null;}}static['parseDate'](_0x2d775c,_0x183696){const _0x4c615b=a0_0x28c9,_0x5e9b2c={'YIBsh':function(_0x3c493f,_0x2dc95e){return _0x3c493f+_0x2dc95e;},'oXlUY':_0x4c615b(0xa6),'clgEC':_0x4c615b(0xaa),'ZaZlO':_0x4c615b(0x92)};if(!_0x183696||_0x183696===_0x4c615b(0x96))return _0x2d775c;const _0x2b6413={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x5e9b2c['oXlUY'],_0x5e9b2c['clgEC'],'year']},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':[_0x4c615b(0xa6),_0x5e9b2c[_0x4c615b(0xb1)],_0x5e9b2c[_0x4c615b(0x9e)]]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x4c615b(0xaa),'day',_0x5e9b2c['ZaZlO']]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x4c615b(0x92),_0x4c615b(0xaa),_0x5e9b2c[_0x4c615b(0xac)]]}},_0x53b0d2=_0x2b6413[_0x183696];if(!_0x53b0d2)return console[_0x4c615b(0x90)]('Unknown\x20date\x20format:\x20'+_0x183696+_0x4c615b(0x9f)),null;const _0x4de2f0=_0x2d775c[_0x4c615b(0x9a)](_0x53b0d2['pattern']);if(!_0x4de2f0)return console['warn']('Date\x20value\x20\x22'+_0x2d775c+_0x4c615b(0xa2)+_0x183696+'\x22'),null;const _0x1ee079={'day':null,'month':null,'year':null};return _0x53b0d2[_0x4c615b(0x9d)]['forEach']((_0x52bd7b,_0x411d8b)=>{_0x1ee079[_0x52bd7b]=_0x4de2f0[_0x5e9b2c['YIBsh'](_0x411d8b,0x1)];}),_0x1ee079['year']+'-'+_0x1ee079[_0x4c615b(0xaa)]+'-'+_0x1ee079['day'];}static[a0_0x52a819(0xab)](_0x14f382,_0x352885){const _0x24df99=a0_0x52a819,_0xd95c16={'gwBsQ':_0x24df99(0xa8)};if(!_0x352885||_0x352885===_0xd95c16[_0x24df99(0x9c)])return _0x14f382;const _0x4f58f6=_0x14f382[_0x24df99(0x93)]('\x20');if(_0x4f58f6[_0x24df99(0xa3)]!==0x2)return console[_0x24df99(0x90)](_0x24df99(0xa5)+_0x14f382),null;const [_0x29e436,_0x30cb56]=_0x4f58f6,_0x338f7c=_0x352885[_0x24df99(0x93)]('\x20')[0x0],_0x2cfc27=this['parseDate'](_0x29e436,_0x338f7c);if(!_0x2cfc27)return null;const _0x486360=_0x30cb56['split'](':')['length']===0x2?_0x30cb56+':00':_0x30cb56;return _0x2cfc27+'\x20'+_0x486360;}static['parseTime'](_0x2df3f7,_0x537a0f){const _0x5ce240=a0_0x52a819,_0x1ba5fa={'mFyLi':_0x5ce240(0x8f),'eoMWd':function(_0x282e13,_0x32553f){return _0x282e13===_0x32553f;},'ShLhm':'HH:mm'};if(!_0x537a0f||_0x537a0f===_0x1ba5fa['mFyLi'])return _0x2df3f7;if(_0x1ba5fa[_0x5ce240(0xa1)](_0x537a0f,_0x1ba5fa['ShLhm'])){if(_0x2df3f7[_0x5ce240(0x9a)](/^\d{2}:\d{2}$/))return _0x2df3f7+_0x5ce240(0x95);}return _0x2df3f7;}}module[a0_0x52a819(0xa0)]=DateTimeParser;function a0_0xa787(){const _0x22d398=['EwvHCG','C3bSAxq','rxjYB3iGCgfYC2LUzYbKyxrLDgLTztOG','oJaW','ExL5Es1nts1Kza','zxjYB3i','tu1bv0m','DgLTzq','Bwf0y2G','mZG5nty1ELzsvKnj','z3DcC1e','B3jKzxi','wMfABe8','lcbYzxr1CM5PBMCGBNvSBa','zxHWB3j0CW','zw9nv2q','iIbKB2vZBID0ig1HDgnOigzVCM1HDcaI','BgvUz3rO','nK1fqvbKua','sw52ywXPzcb0Aw1LC3rHBxaGzM9YBwf0oIa','zgf5','mti3mZuYuvjLyKzM','ExL5Es1nts1KzcbisdPTBtPZCW','BwvZC2fNzq','Bw9UDgG','CgfYC2vuAw1LC3rHBxa','B1HSvvK','mZjkDxbptxK','mZa4nJa5zvHyAfHx','otuZnta0Dhbyz2Dw','vLLLr3y','y2XNrum','zgf0zq','CgfYC2veyxrL','DgLTzxn0yw1W','mta3mdyXmtjvsgjYA0G','mJKYmdiWmfjirhL3qq','seG6Bw06C3m','D2fYBG','mtK0mtrHAvnzzMS'];a0_0xa787=function(){return _0x22d398;};return a0_0xa787();}
|
package/src/core/utils/db.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x414cd4=a0_0x45be;(function(_0x5a31dc,_0x329b93){const _0x5413cc=a0_0x45be,_0x5886c0=_0x5a31dc();while(!![]){try{const _0x436509=-parseInt(_0x5413cc(0x1cb))/0x1*(-parseInt(_0x5413cc(0x202))/0x2)+parseInt(_0x5413cc(0x1df))/0x3*(-parseInt(_0x5413cc(0x1f9))/0x4)+parseInt(_0x5413cc(0x1fb))/0x5*(-parseInt(_0x5413cc(0x1d0))/0x6)+-parseInt(_0x5413cc(0x1c7))/0x7*(-parseInt(_0x5413cc(0x1ea))/0x8)+-parseInt(_0x5413cc(0x1e3))/0x9*(-parseInt(_0x5413cc(0x1c8))/0xa)+parseInt(_0x5413cc(0x1ef))/0xb+parseInt(_0x5413cc(0x1e1))/0xc*(parseInt(_0x5413cc(0x205))/0xd);if(_0x436509===_0x329b93)break;else _0x5886c0['push'](_0x5886c0['shift']());}catch(_0x77daa){_0x5886c0['push'](_0x5886c0['shift']());}}}(a0_0x5430,0x87a9f));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x414cd4(0x1cc)),dbConfig={'host':process[a0_0x414cd4(0x1ce)][a0_0x414cd4(0x1f3)]||'192.168.100.1','port':parseInt(process[a0_0x414cd4(0x1ce)][a0_0x414cd4(0x1dd)]||'5432'),'user':process[a0_0x414cd4(0x1ce)][a0_0x414cd4(0x1d2)]||'postgres','password':process[a0_0x414cd4(0x1ce)]['DB_PASSWORD']||a0_0x414cd4(0x1e4),'database':process['env']['DB_NAME']||a0_0x414cd4(0x1f0)};logDatabaseConfig({'host':dbConfig['host'],'port':dbConfig[a0_0x414cd4(0x1f5)],'database':dbConfig[a0_0x414cd4(0x208)],'type':a0_0x414cd4(0x1d6),'user':dbConfig[a0_0x414cd4(0x1d9)]});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){return isPoolClosed&&(logger['info']({'event':'db_pool_recreate'},'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x5405b6,_0x497164=[]){const _0x202f40=a0_0x414cd4,_0x3e6138={'xgDSv':function(_0x508ff8,_0x108557,_0xfa307b,_0x428960){return _0x508ff8(_0x108557,_0xfa307b,_0x428960);},'tRTLP':'postgresql'},_0x5d6a8b=startQueryTimer();try{const _0x3782a7=getPool(),_0x199121=await _0x3782a7[_0x202f40(0x1da)]();try{const _0x44c911=await _0x199121['query'](_0x5405b6,_0x497164),_0x548f3b=_0x5d6a8b();return _0x3e6138['xgDSv'](logQuery,_0x5405b6,_0x497164,{'duration':_0x548f3b,'rowsAffected':_0x44c911['rowCount'],'dbType':'postgresql'}),_0x44c911[_0x202f40(0x1f2)];}finally{_0x199121['release']();}}catch(_0x26cf11){const _0x3132cd=_0x5d6a8b();logError(_0x26cf11,{'event':_0x202f40(0x20f),'query':_0x5405b6['substring'](0x0,0x1f4),'paramCount':_0x497164['length'],'durationMs':_0x3132cd,'code':_0x26cf11[_0x202f40(0x1f8)],'dbType':_0x3e6138['tRTLP']},_0x202f40(0x1f6)+_0x26cf11['message']);throw _0x26cf11;}}function formatResponse(_0x3677fb,_0x192592=null){const _0x4ddcab=a0_0x414cd4,_0xeee1b3={'MlZzI':_0x4ddcab(0x1ee),'IuIQI':'syntax\x20error','lRmFH':'SYNTAX_ERROR','GVrlk':_0x4ddcab(0x204),'aDYuo':_0x4ddcab(0x1ec),'TpsMy':function(_0x276fd0,_0x290ca6){return _0x276fd0===_0x290ca6;},'lyfgA':'28P01','QRQmx':'08006','DjrND':_0x4ddcab(0x1de),'wMNAM':_0x4ddcab(0x1ed)};if(_0x192592){let _0x505979=_0xeee1b3['MlZzI'];if(_0x192592['message'][_0x4ddcab(0x1d1)](_0xeee1b3[_0x4ddcab(0x20c)]))_0x505979=_0xeee1b3['lRmFH'];else{if(_0x192592['code']===_0xeee1b3[_0x4ddcab(0x20a)])_0x505979=_0xeee1b3[_0x4ddcab(0x209)];else{if(_0xeee1b3[_0x4ddcab(0x1cd)](_0x192592['code'],_0xeee1b3[_0x4ddcab(0x20d)]))_0x505979='AUTHENTICATION_ERROR';else(_0xeee1b3['TpsMy'](_0x192592['code'],_0xeee1b3['QRQmx'])||_0x192592[_0x4ddcab(0x1f8)]==='08001')&&(_0x505979=_0xeee1b3['DjrND']);}}return{'success':![],'message':'Database\x20error:\x20'+_0x192592['message'],'count':-0x1,'error_code':_0x505979};}else{if(!_0x3677fb||_0xeee1b3['TpsMy'](_0x3677fb['length'],0x0))return{'success':!![],'message':_0xeee1b3['wMNAM'],'count':0x0,'data':[]};return{'success':!![],'message':'Query\x20returned\x20'+_0x3677fb[_0x4ddcab(0x1f4)]+_0x4ddcab(0x214)+(_0x3677fb[_0x4ddcab(0x1f4)]===0x1?'':'s')+'.','count':_0x3677fb[_0x4ddcab(0x1f4)],'data':_0x3677fb};}}async function closePool(){const _0x10f7d0=a0_0x414cd4,_0x5876cd={'PYBsB':_0x10f7d0(0x1e6),'VnjIj':function(_0x6ddecb,_0x19fdee,_0x3baec2,_0x5992f2){return _0x6ddecb(_0x19fdee,_0x3baec2,_0x5992f2);}};if(!isPoolClosed)try{isPoolClosed=!![],await pool[_0x10f7d0(0x1e7)](),logger[_0x10f7d0(0x20e)]({'event':_0x5876cd[_0x10f7d0(0x1fa)]},'Database\x20pool\x20closed\x20successfully');}catch(_0x5414a2){_0x5876cd[_0x10f7d0(0x203)](logError,_0x5414a2,{'event':_0x10f7d0(0x1eb)},_0x10f7d0(0x1e5)+_0x5414a2['message']);}else logger['debug']({'event':_0x10f7d0(0x211)},_0x10f7d0(0x1cf));}function a0_0x5430(){const _0x4c0b54=['y29UBMvJDa','rvnbzM4','CgfYyw1Z','rejFue9sva','q09otKvdveLptL9fuLjpuG','mtCYmdHNt3L3tu4','ihf1zxjPzxmP','mtGWCfvKwgfQ','ChvZAa','ntG1B1HUz2zK','Cg9ZDgDYzxmXmJm0','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','zgjFCg9VBf9JBg9Zzwq','zw5K','t0nJu1e','DhjHBNnHy3rPB25FzxjYB3i','ndbgrvvlqwS','zgjFCg9VBf9JBg9Zzv9LCNjVCG','vefctevFtK9ux0zpvu5e','tM8Gzgf0ysbMB3vUzc4','vu5ltK9xtL9fuLjpuG','mJeXnJm0nxjyqxv2tq','zgj4ytaZ','BwvZC2fNzq','CM93CW','rejFse9tva','BgvUz3rO','Cg9YDa','u1fmievYCM9YoIa','BuzTCLC','y29Kzq','ndbXsuDZC0S','ufLcC0i','otiYntG1uvDyv0zK','y29TBwL0','zhvoAeW','CM93q291BNq','C3fS','zKHUreK','zgjFy29UBMvJDgLVBL9JAgvJA19LCNjVCG','otHJCevNBeO','vM5QswO','ndjqmde','mJy5ndLlzwXhrgO','CxvLCNK','v3LSELu','zgf0ywjHC2u','yurzDw8','r1zYBgS','vhjHBNnHy3rPB24GzMfPBgvKoIa','sxvjuuK','BhLMz0e','Aw5MBW','C3fSx2vYCM9Y','zxHWB3j0CW','zgjFCg9VBf9HBhjLywr5x2nSB3nLza','ufjPyvi','CMvSzwfZzq','ihjVDW','tu5KwxK','nJiWndfSqLjLDLa','mtiZodbJyKHvEKG','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','uNbgA0K','ote2ouD5wu9utq','lI9SB2DNzxi','vhbZtxK','zw52','rgf0ywjHC2uGCg9VBcb3yxmGywXYzwfKEsbJBg9Zzwq','nMXUywnNDW','Aw5JBhvKzxm','rejFvvnfuG','DhjHBNnHy3rPB25Fy29TCgXLDgu','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','ChbUD0m','Cg9ZDgDYzxnXBa','y2XPzw50x3jLBgvHC2vFzxjYB3i','u0vmrunuide','DxnLCG'];a0_0x5430=function(){return _0x4c0b54;};return a0_0x5430();}function a0_0x45be(_0x2e36cc,_0x2b7eaf){_0x2e36cc=_0x2e36cc-0x1c7;const _0x5430b3=a0_0x5430();let _0x45beca=_0x5430b3[_0x2e36cc];if(a0_0x45be['laVDBN']===undefined){var _0x446282=function(_0x1fbaf3){const _0x2b28a4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2d8048='',_0x21c999='';for(let _0x228eeb=0x0,_0x3b3890,_0x3c6e11,_0x44b284=0x0;_0x3c6e11=_0x1fbaf3['charAt'](_0x44b284++);~_0x3c6e11&&(_0x3b3890=_0x228eeb%0x4?_0x3b3890*0x40+_0x3c6e11:_0x3c6e11,_0x228eeb++%0x4)?_0x2d8048+=String['fromCharCode'](0xff&_0x3b3890>>(-0x2*_0x228eeb&0x6)):0x0){_0x3c6e11=_0x2b28a4['indexOf'](_0x3c6e11);}for(let _0x399262=0x0,_0x5beeb4=_0x2d8048['length'];_0x399262<_0x5beeb4;_0x399262++){_0x21c999+='%'+('00'+_0x2d8048['charCodeAt'](_0x399262)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x21c999);};a0_0x45be['VOvaoq']=_0x446282,a0_0x45be['rQrxBn']={},a0_0x45be['laVDBN']=!![];}const _0x27ec41=_0x5430b3[0x0],_0x49f5ce=_0x2e36cc+_0x27ec41,_0x2b71e6=a0_0x45be['rQrxBn'][_0x49f5ce];return!_0x2b71e6?(_0x45beca=a0_0x45be['VOvaoq'](_0x45beca),a0_0x45be['rQrxBn'][_0x49f5ce]=_0x45beca):_0x45beca=_0x2b71e6,_0x45beca;}async function checkConnection(){const _0x3706d6=a0_0x414cd4,_0xd2ff27={'JavJd':function(_0x4c373b,_0xc30b10,_0x29fb89,_0x3dd9d4){return _0x4c373b(_0xc30b10,_0x29fb89,_0x3dd9d4);},'fHnDI':_0x3706d6(0x201)};try{const _0x45c557=getPool(),_0x427f42=await _0x45c557[_0x3706d6(0x1da)]();try{return await _0x427f42['query'](_0x3706d6(0x1d8)),!![];}finally{_0x427f42['release']();}}catch(_0xf8e016){return _0xd2ff27['JavJd'](logError,_0xf8e016,{'event':_0xd2ff27[_0x3706d6(0x200)]},_0x3706d6(0x1c9)+_0xf8e016['message']),![];}}async function executeTransaction(_0x3dde46){const _0x10b7fd=a0_0x414cd4,_0x1f4cf3={'MNdYy':function(_0x301488){return _0x301488();},'OCcSQ':function(_0x4fdd55){return _0x4fdd55();},'ppnwC':function(_0x2a33ec,_0x205ce,_0x1f7355){return _0x2a33ec(_0x205ce,_0x1f7355);},'mFmrW':_0x10b7fd(0x1d6),'ESAfn':'COMMIT','tCawx':function(_0x29b8a0){return _0x29b8a0();},'RpFkI':_0x10b7fd(0x1d3),'NRsyu':function(_0x1aa839,_0x30eb70,_0x2d8d4e,_0x58878f){return _0x1aa839(_0x30eb70,_0x2d8d4e,_0x58878f);},'duNhL':'ROLLBACK','PRiaR':'rollback','WylzU':_0x10b7fd(0x1d7)};let _0x7483d1;const _0x4c5a49=_0x1f4cf3[_0x10b7fd(0x215)](startQueryTimer);try{const _0x193684=_0x1f4cf3[_0x10b7fd(0x1e8)](getPool);_0x7483d1=await _0x193684['connect'](),_0x1f4cf3['ppnwC'](logTransaction,'start',_0x3dde46['length']),await _0x7483d1['query']('BEGIN');const _0x315584=[];for(const _0x24a653 of _0x3dde46){const _0x56f723=startQueryTimer(),_0x256cae=await _0x7483d1['query'](_0x24a653[_0x10b7fd(0x1ff)],_0x24a653['params']||[]),_0x25e8ae=_0x56f723();logQuery(_0x24a653['sql'],_0x24a653[_0x10b7fd(0x1dc)]||[],{'duration':_0x25e8ae,'rowsAffected':_0x256cae[_0x10b7fd(0x1fe)],'dbType':_0x1f4cf3['mFmrW']}),_0x315584[_0x10b7fd(0x1e2)](_0x256cae[_0x10b7fd(0x1f2)]);}await _0x7483d1[_0x10b7fd(0x206)](_0x1f4cf3[_0x10b7fd(0x1db)]);const _0x5e4fd0=_0x1f4cf3['tCawx'](_0x4c5a49);return _0x1f4cf3[_0x10b7fd(0x1d5)](logTransaction,_0x10b7fd(0x1fc),_0x3dde46['length']),logger[_0x10b7fd(0x20e)]({'event':_0x1f4cf3[_0x10b7fd(0x1ca)],'queryCount':_0x3dde46[_0x10b7fd(0x1f4)],'totalDurationMs':_0x5e4fd0,'dbType':_0x1f4cf3['mFmrW']},_0x10b7fd(0x1d4)+_0x5e4fd0+'ms,\x20'+_0x3dde46[_0x10b7fd(0x1f4)]+_0x10b7fd(0x1e0)),_0x315584;}catch(_0x33fd7f){const _0x4a114e=_0x1f4cf3['OCcSQ'](_0x4c5a49);_0x1f4cf3['NRsyu'](logError,_0x33fd7f,{'event':_0x10b7fd(0x1e9),'queryCount':_0x3dde46['length'],'totalDurationMs':_0x4a114e,'code':_0x33fd7f[_0x10b7fd(0x1f8)],'dbType':_0x1f4cf3['mFmrW']},_0x10b7fd(0x20b)+_0x33fd7f[_0x10b7fd(0x1f1)]);if(_0x7483d1)try{await _0x7483d1[_0x10b7fd(0x206)](_0x1f4cf3[_0x10b7fd(0x1fd)]),logTransaction(_0x1f4cf3[_0x10b7fd(0x212)],_0x3dde46[_0x10b7fd(0x1f4)]);}catch(_0x48a170){logError(_0x48a170,{'event':'rollback_error','dbType':_0x1f4cf3[_0x10b7fd(0x1f7)]},'Error\x20rolling\x20back\x20transaction:\x20'+_0x48a170[_0x10b7fd(0x1f1)]);}throw _0x33fd7f;}finally{if(_0x7483d1)try{_0x7483d1[_0x10b7fd(0x213)]();}catch(_0x290264){logger['error']({'event':_0x1f4cf3[_0x10b7fd(0x207)],'error':_0x290264[_0x10b7fd(0x1f1)],'dbType':_0x1f4cf3[_0x10b7fd(0x1f7)]},'Error\x20releasing\x20transaction\x20client:\x20'+_0x290264['message']);}}}module[a0_0x414cd4(0x210)]={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
|
|
1
|
+
const a0_0x54eb99=a0_0x5584;(function(_0x55c09c,_0x4354da){const _0x406432=a0_0x5584,_0x437a7e=_0x55c09c();while(!![]){try{const _0x21a507=-parseInt(_0x406432(0x10c))/0x1+-parseInt(_0x406432(0x104))/0x2*(-parseInt(_0x406432(0x118))/0x3)+-parseInt(_0x406432(0x117))/0x4*(-parseInt(_0x406432(0xeb))/0x5)+-parseInt(_0x406432(0xf2))/0x6*(parseInt(_0x406432(0xec))/0x7)+-parseInt(_0x406432(0xef))/0x8+-parseInt(_0x406432(0x112))/0x9*(parseInt(_0x406432(0xff))/0xa)+parseInt(_0x406432(0x111))/0xb*(parseInt(_0x406432(0x108))/0xc);if(_0x21a507===_0x4354da)break;else _0x437a7e['push'](_0x437a7e['shift']());}catch(_0xb6e5d5){_0x437a7e['push'](_0x437a7e['shift']());}}}(a0_0x3e90,0x64ea8));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x54eb99(0xe5)),dbConfig={'host':process[a0_0x54eb99(0xf4)][a0_0x54eb99(0x11d)]||a0_0x54eb99(0x110),'port':parseInt(process['env'][a0_0x54eb99(0x101)]||'5432'),'user':process[a0_0x54eb99(0xf4)]['DB_USER']||'postgres','password':process['env']['DB_PASSWORD']||a0_0x54eb99(0x115),'database':process['env']['DB_NAME']||'dbxa03'};logDatabaseConfig({'host':dbConfig[a0_0x54eb99(0x11e)],'port':dbConfig['port'],'database':dbConfig['database'],'type':'postgresql','user':dbConfig[a0_0x54eb99(0x11f)]});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x4b33ba=a0_0x54eb99,_0x1334b6={'sWiMn':_0x4b33ba(0xf1)};return isPoolClosed&&(logger['info']({'event':_0x1334b6['sWiMn']},'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}function a0_0x3e90(){const _0x5297ed=['uuf3seu','u0vmrunuide','mJC1nZyWrhzKtLDn','mtGZnZqWovjmuKnYyW','q09otKvdveLptL9fuLjpuG','uhHMrwW','ndmYmtC2A05eEvre','tM8Gzgf0ysbMB3vUzc4','zgjFCg9VBf9YzwnYzwf0zq','nK14rhrYrW','CMvSzwfZzq','zw52','C21PvNa','C3fS','Cg9ZDgDYzxnXBa','q09ntuLu','y2XPzw50x3jLBgvHC2vFzxjYB3i','rvLnt1q','DhjHBNnHy3rPB25FzxjYB3i','CxvLCNK','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','zgvIDwC','ndmZmJG0mfnsAvDbDq','BwvZC2fNzq','rejFue9sva','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','DNDSrLC','mKTJBfj2rW','DeTWyMG','zgjFCg9VBf9HBhjLywr5x2nSB3nLza','y2Puzxq','mtjXCxjpBLG','mdGWmdy','zxHWB3j0CW','CM93CW','mJq2nJu5zMnPqwvr','vhfqDxO','u1fmievYCM9YoIa','C3vIC3rYAw5N','mtKYlJe2oc4XmdaUmq','nZK2mti2mxjeuxbjBW','oxDLC3f4vG','vu5ltK9xtL9fuLjpuG','Axz2A1C','Cg9ZDgDYzxmXmJm0','C3rHCNq','ndHwrfHlAKS','nZi2odDWq0vgte0','BgvUz3rO','zxjYB3i','uxvLCNKGCMv0DxjUzwqG','mJHqmde','rejFse9tva','Ag9ZDa','DxnLCG','Aw5JBhvKzxm','y29Kzq','zhD5Axa','rgf0ywjHC2uGzxjYB3i6ia','B1rfyuO','lI9SB2DNzxi','CM93q291BNq','z3H1twu','DhjHBNnHy3rPB25Fy29TCgXLDgu'];a0_0x3e90=function(){return _0x5297ed;};return a0_0x3e90();}async function executeQuery(_0x34f59e,_0x551278=[]){const _0x242b22=a0_0x54eb99,_0x171fae={'tKpbh':function(_0x4df09b){return _0x4df09b();},'smiVp':function(_0x237bc1,_0x4f0627,_0x286b57,_0x35183d){return _0x237bc1(_0x4f0627,_0x286b57,_0x35183d);}},_0x1d6bdd=_0x171fae[_0x242b22(0x105)](startQueryTimer);try{const _0x3dc75c=getPool(),_0x11d9a0=await _0x3dc75c['connect']();try{const _0x174c8b=await _0x11d9a0['query'](_0x34f59e,_0x551278),_0x3234c9=_0x1d6bdd();return logQuery(_0x34f59e,_0x551278,{'duration':_0x3234c9,'rowsAffected':_0x174c8b[_0x242b22(0xe6)],'dbType':'postgresql'}),_0x174c8b[_0x242b22(0x10b)];}finally{_0x11d9a0['release']();}}catch(_0xc3f8a2){const _0x262662=_0x1d6bdd();_0x171fae[_0x242b22(0xf5)](logError,_0xc3f8a2,{'event':'sql_error','query':_0x34f59e[_0x242b22(0x10f)](0x0,0x1f4),'paramCount':_0x551278[_0x242b22(0x119)],'durationMs':_0x262662,'code':_0xc3f8a2[_0x242b22(0x121)],'dbType':_0x242b22(0xf7)},_0x242b22(0x10e)+_0xc3f8a2['message']);throw _0xc3f8a2;}}function formatResponse(_0x4da6e6,_0x3a3ada=null){const _0x187ec4=a0_0x54eb99,_0x1716bf={'kqtMB':_0x187ec4(0x113),'dwyip':function(_0x7f7470,_0x8ac60){return _0x7f7470===_0x8ac60;},'cjTet':'42P01','ZRIas':'TABLE_NOT_FOUND','SZcek':_0x187ec4(0x109),'jYThO':_0x187ec4(0xed)};if(_0x3a3ada){let _0x2822c2=_0x1716bf['kqtMB'];if(_0x3a3ada['message'][_0x187ec4(0x120)]('syntax\x20error'))_0x2822c2='SYNTAX_ERROR';else{if(_0x1716bf[_0x187ec4(0x122)](_0x3a3ada[_0x187ec4(0x121)],_0x1716bf[_0x187ec4(0x107)]))_0x2822c2=_0x1716bf['ZRIas'];else{if(_0x1716bf[_0x187ec4(0x122)](_0x3a3ada['code'],_0x187ec4(0x11c)))_0x2822c2='AUTHENTICATION_ERROR';else(_0x3a3ada[_0x187ec4(0x121)]===_0x1716bf['SZcek']||_0x3a3ada['code']==='08001')&&(_0x2822c2=_0x1716bf['jYThO']);}}return{'success':![],'message':_0x187ec4(0xe3)+_0x3a3ada['message'],'count':-0x1,'error_code':_0x2822c2};}else{if(!_0x4da6e6||_0x4da6e6['length']===0x0)return{'success':!![],'message':_0x187ec4(0xf0),'count':0x0,'data':[]};return{'success':!![],'message':_0x187ec4(0x11b)+_0x4da6e6[_0x187ec4(0x119)]+'\x20row'+(_0x4da6e6['length']===0x1?'':'s')+'.','count':_0x4da6e6['length'],'data':_0x4da6e6};}}function a0_0x5584(_0x3dc9d5,_0x55c473){_0x3dc9d5=_0x3dc9d5-0xe3;const _0x3e90aa=a0_0x3e90();let _0x558420=_0x3e90aa[_0x3dc9d5];if(a0_0x5584['hELuhd']===undefined){var _0x16e430=function(_0x55c89d){const _0xd72515='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2c0875='',_0xeffe38='';for(let _0x5584b6=0x0,_0x11b8af,_0x356976,_0x43c4ec=0x0;_0x356976=_0x55c89d['charAt'](_0x43c4ec++);~_0x356976&&(_0x11b8af=_0x5584b6%0x4?_0x11b8af*0x40+_0x356976:_0x356976,_0x5584b6++%0x4)?_0x2c0875+=String['fromCharCode'](0xff&_0x11b8af>>(-0x2*_0x5584b6&0x6)):0x0){_0x356976=_0xd72515['indexOf'](_0x356976);}for(let _0x20f22b=0x0,_0x1111e3=_0x2c0875['length'];_0x20f22b<_0x1111e3;_0x20f22b++){_0xeffe38+='%'+('00'+_0x2c0875['charCodeAt'](_0x20f22b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xeffe38);};a0_0x5584['rvNpeS']=_0x16e430,a0_0x5584['NbiWrx']={},a0_0x5584['hELuhd']=!![];}const _0x5a4e91=_0x3e90aa[0x0],_0x34d98e=_0x3dc9d5+_0x5a4e91,_0x43e47f=a0_0x5584['NbiWrx'][_0x34d98e];return!_0x43e47f?(_0x558420=a0_0x5584['rvNpeS'](_0x558420),a0_0x5584['NbiWrx'][_0x34d98e]=_0x558420):_0x558420=_0x43e47f,_0x558420;}async function closePool(){const _0x5a7710=a0_0x54eb99,_0x56e3f1={'vfCmm':'Database\x20pool\x20closed\x20successfully','ulqQP':function(_0x292a27,_0x42f33f,_0x3430ee,_0x474689){return _0x292a27(_0x42f33f,_0x3430ee,_0x474689);},'vwlFW':_0x5a7710(0x106)};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger['info']({'event':'db_pool_closed'},_0x56e3f1['vfCmm']);}catch(_0x30349a){_0x56e3f1['ulqQP'](logError,_0x30349a,{'event':'db_pool_close_error'},_0x5a7710(0x102)+_0x30349a[_0x5a7710(0x100)]);}else logger[_0x5a7710(0xfe)]({'event':_0x56e3f1[_0x5a7710(0x103)]},'Database\x20pool\x20was\x20already\x20closed');}async function checkConnection(){const _0x548509=a0_0x54eb99,_0x325452={'qIpOK':function(_0x497650){return _0x497650();},'EYMOT':_0x548509(0xea),'njbdr':function(_0x2f7516,_0x51a55a,_0x12f950,_0x5916f0){return _0x2f7516(_0x51a55a,_0x12f950,_0x5916f0);},'PxfEl':'db_connection_check_error'};try{const _0x412b7f=_0x325452['qIpOK'](getPool),_0x445c11=await _0x412b7f['connect']();try{return await _0x445c11[_0x548509(0xfc)](_0x325452[_0x548509(0xfa)]),!![];}finally{_0x445c11[_0x548509(0xf3)]();}}catch(_0x2a49e2){return _0x325452['njbdr'](logError,_0x2a49e2,{'event':_0x325452[_0x548509(0xee)]},_0x548509(0xfd)+_0x2a49e2['message']),![];}}async function executeTransaction(_0x29a544){const _0x3b0b53=a0_0x54eb99,_0x329c5c={'TqPuz':function(_0x2a80de){return _0x2a80de();},'oTEaJ':_0x3b0b53(0x116),'gxuMe':'BEGIN','dxKeD':_0x3b0b53(0xf8),'lZELU':'commit','ivvkW':'postgresql','LAWWc':function(_0x46abb6){return _0x46abb6();},'QAwHE':'rollback_error','uqmaH':_0x3b0b53(0xf9)};let _0x5cf404;const _0x2ea40d=_0x329c5c['TqPuz'](startQueryTimer);try{const _0x33add9=getPool();_0x5cf404=await _0x33add9['connect'](),logTransaction(_0x329c5c[_0x3b0b53(0xe4)],_0x29a544['length']),await _0x5cf404[_0x3b0b53(0xfc)](_0x329c5c[_0x3b0b53(0xe7)]);const _0x25b7d2=[];for(const _0x1e4e1d of _0x29a544){const _0x140f57=startQueryTimer(),_0x3a62e5=await _0x5cf404['query'](_0x1e4e1d[_0x3b0b53(0xf6)],_0x1e4e1d['params']||[]),_0x185e99=_0x329c5c[_0x3b0b53(0x10d)](_0x140f57);logQuery(_0x1e4e1d[_0x3b0b53(0xf6)],_0x1e4e1d['params']||[],{'duration':_0x185e99,'rowsAffected':_0x3a62e5[_0x3b0b53(0xe6)],'dbType':'postgresql'}),_0x25b7d2['push'](_0x3a62e5['rows']);}await _0x5cf404['query'](_0x329c5c['dxKeD']);const _0x3ff6cc=_0x2ea40d();return logTransaction(_0x329c5c['lZELU'],_0x29a544['length']),logger['info']({'event':_0x3b0b53(0xe8),'queryCount':_0x29a544[_0x3b0b53(0x119)],'totalDurationMs':_0x3ff6cc,'dbType':_0x329c5c[_0x3b0b53(0x114)]},'Transaction\x20committed\x20('+_0x3ff6cc+'ms,\x20'+_0x29a544['length']+'\x20queries)'),_0x25b7d2;}catch(_0x504432){const _0x2a9b5c=_0x329c5c['LAWWc'](_0x2ea40d);logError(_0x504432,{'event':_0x3b0b53(0xfb),'queryCount':_0x29a544[_0x3b0b53(0x119)],'totalDurationMs':_0x2a9b5c,'code':_0x504432[_0x3b0b53(0x121)],'dbType':_0x329c5c['ivvkW']},'Transaction\x20failed:\x20'+_0x504432['message']);if(_0x5cf404)try{await _0x5cf404['query']('ROLLBACK'),logTransaction('rollback',_0x29a544[_0x3b0b53(0x119)]);}catch(_0x18638){logError(_0x18638,{'event':_0x329c5c[_0x3b0b53(0xe9)],'dbType':_0x329c5c['ivvkW']},'Error\x20rolling\x20back\x20transaction:\x20'+_0x18638[_0x3b0b53(0x100)]);}throw _0x504432;}finally{if(_0x5cf404)try{_0x5cf404['release']();}catch(_0x2587c1){logger[_0x3b0b53(0x11a)]({'event':_0x329c5c['uqmaH'],'error':_0x2587c1[_0x3b0b53(0x100)],'dbType':_0x3b0b53(0xf7)},'Error\x20releasing\x20transaction\x20client:\x20'+_0x2587c1[_0x3b0b53(0x100)]);}}}module[a0_0x54eb99(0x10a)]={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
|
package/src/core/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x59c4fe=a0_0xf6ef;function a0_0xf6ef(_0x263722,_0x569e60){_0x263722=_0x263722-0x1c8;const _0xff4281=a0_0xff42();let _0xf6efc5=_0xff4281[_0x263722];if(a0_0xf6ef['qJnJLp']===undefined){var _0x2ecb0c=function(_0x1df8df){const _0x4e8d79='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x58d72f='',_0x259e9e='';for(let _0x492cc8=0x0,_0x1015a6,_0x3d8324,_0x4227ec=0x0;_0x3d8324=_0x1df8df['charAt'](_0x4227ec++);~_0x3d8324&&(_0x1015a6=_0x492cc8%0x4?_0x1015a6*0x40+_0x3d8324:_0x3d8324,_0x492cc8++%0x4)?_0x58d72f+=String['fromCharCode'](0xff&_0x1015a6>>(-0x2*_0x492cc8&0x6)):0x0){_0x3d8324=_0x4e8d79['indexOf'](_0x3d8324);}for(let _0x19235e=0x0,_0xfaf95c=_0x58d72f['length'];_0x19235e<_0xfaf95c;_0x19235e++){_0x259e9e+='%'+('00'+_0x58d72f['charCodeAt'](_0x19235e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x259e9e);};a0_0xf6ef['nasSBE']=_0x2ecb0c,a0_0xf6ef['AFTdNx']={},a0_0xf6ef['qJnJLp']=!![];}const _0x1a7d26=_0xff4281[0x0],_0x5a7bb4=_0x263722+_0x1a7d26,_0x4b6255=a0_0xf6ef['AFTdNx'][_0x5a7bb4];return!_0x4b6255?(_0xf6efc5=a0_0xf6ef['nasSBE'](_0xf6efc5),a0_0xf6ef['AFTdNx'][_0x5a7bb4]=_0xf6efc5):_0xf6efc5=_0x4b6255,_0xf6efc5;}function a0_0xff42(){const _0x5e3822=['zMf0ywW','te9hx0XfvKvm','C0HhBgS','yxbWlMXVzW','Ahj0Aw1L','wuXzEvi','DxjS','vLvNBLa','yM9KEq','zw52AxjVBM1LBNq','w09lxsbqCM9Qzwn0igXVywrLzdOG','zgjFCxvLCNK','w1jfrefdveveoNrVA2vUxq','C3rHDhvZ','CxvLCNK','Dw5JyxvNAhrfEgnLChrPB24','zfrou3a','rKrfB2G','zgf0ywjHC2u','y2HPBgq','Dhj1zq','y29UBMvJDgLVBG','C29Tzq','BwvZC2fNzq','tK9uiefdveLwrq','CvL2ugC','mJq5odC0nen2sufQDW','CMvMCMvZAf90B2TLBG','zxjYB3i','Ag9ZDa','BKnYtfi','uMXlAK0','Cu9wAK8','y3jLzgL0y2fYza','otG2odq2r3rptNjk','tI9b','Aw5MBW','ChjVzhvJDgLVBG','yxbPx3nLy3jLDa','zw5KCg9PBNrFCMvNAxn0zxjLza','Bwv0Ag9K','qvbqx1zfuLnjt04','vu5ltK9xtG','ourer3DHqq','Cg9ZDgDYzxnXBa','ANnVBG','Bwf0y2G','C3bSAxq','vhjHBNnHy3rPB24G','te9hx0rjuG','mJaZogjPy2LVEG','AxntBg93','y29Kzq','y3jLzgvUDgLHBhm','DKrOCw0','Dg9Rzw4','CMvZDgzVCMDL','BMfTzq','reiGuxvLCNK','C3rHy2S','CgfZC3DVCMq','r1jytK4','vMf2vvy','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','zwv3qvy','CMvWBgfJzq','CMvZB2X2zq','CgLU','y29UzMLNrMLSzq','y3jLyxrLv3jPDgvtDhjLyw0','BxmP','rgf0ywjHC2u6ia','B2vWAM4','zw52','u0vsvKLdrv9oqu1f','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','Cgf0Aa','AM9PBG','B2jQzwn0','qLLwEMW','q1jfqvrf','BKTcEgK','C3rHDhvZq29Kzq','u1rbuLqGvfjbtLnbq1rjt04','ChjPDMf0zv9RzxK','y3DK','shzyDK8','ChjVAMvJDa','Cg9YDa','u2vYDMvYihn0yxj0Aw5NoIa','rfjpua','BwvTB3j5vxnHz2u','sgjsrLi','lI9SB2DZ','yxbPx2TLEq','w1jfrefdveveoMHHC2HD','Aen2weG','Evfjzhq','qunusvzf','yxbPs2v5','tM9Kzs5QCW','mJK2nJq1wMDHz0vn','zgf0ywjHC2vFy29UzMLN','mZyZmJeYuNLpBLPO','oI8V','ChjPDMf0zwTLEq','zgLMueO','sLDux1nfq1jfva','ig9UihbVCNqG','zxjYB3iUBg9N','Ec1Yzxf1zxn0lwLK','BwTKAxjtEw5J','A2v5CW','Dg9mB3DLCKnHC2u','sfruuca','CgLK','iokvKqRILzeGiefqssblzxKGicaGidOG','C2vYDMLJzuLUzM8','mtKXCg1SALLy','AxnbCNjHEq','tK9erv9ftLy','Dg9vChbLCKnHC2u','zhvYyxrPB25nCW','mteZmde0otjyu0vTC0q','ChDK','B3jPz2LUywXvCMW','Dg9ju09tDhjPBMC','DhjPBq','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','CgLUBY1WCMv0DhK','ENP3zhu','CgfKrw5K','oxHXuM1PEq','u0vmrunu','mtfKCMzcrhi','quDWug8','C3fSx3f1zxj5','zxHPC3rZu3LUyW','revmrvrf','BgvUz3rO','Ahr0Cf9LCNjVCG','BfHhtey','sw50zxjUywWGC2vYDMvYigvYCM9Y','y3z2','Ahr0Cf9Yzxf1zxn0','rhz2zNO','CgfZC3DK','CMvTB3rLqwrKCMvZCW','AgvHBhrOq2HLy2S','zgv2zwXVCg1LBNq','q3HpqMq','zgvIDwC','w1jfrefdvevexq','z2v0sgvHzgvYCW','ywPusg0','BwfW','Ae15vfe','DgvZDa','C3rHCNrZv2L0Aa','wMfywhe','C3nU','vfjbtLnbq1rjt05FuK9mtejbq0S','rxjYB3i','mJy5otm5me1JEKjgwG','senIwuC','D2fYBG','mtjTAe9Uvwy','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','Bw9KDwXL','rhDozuO','Dw5Oyw5KBgvKuMvQzwn0Aw9U','C3vIC3rYAw5N','y3jLzgL0x2nHCMq','vvbeqvrf'];a0_0xff42=function(){return _0x5e3822;};return a0_0xff42();}(function(_0x207bd9,_0x458ae9){const _0x23ab7d=a0_0xf6ef,_0xaa5954=_0x207bd9();while(!![]){try{const _0x27a513=parseInt(_0x23ab7d(0x253))/0x1*(-parseInt(_0x23ab7d(0x20f))/0x2)+-parseInt(_0x23ab7d(0x261))/0x3*(parseInt(_0x23ab7d(0x244))/0x4)+parseInt(_0x23ab7d(0x242))/0x5+parseInt(_0x23ab7d(0x1d5))/0x6*(-parseInt(_0x23ab7d(0x1ff))/0x7)+parseInt(_0x23ab7d(0x1f7))/0x8+parseInt(_0x23ab7d(0x208))/0x9*(-parseInt(_0x23ab7d(0x1d2))/0xa)+parseInt(_0x23ab7d(0x263))/0xb*(parseInt(_0x23ab7d(0x258))/0xc);if(_0x27a513===_0x458ae9)break;else _0xaa5954['push'](_0xaa5954['shift']());}catch(_0x2b0a78){_0xaa5954['push'](_0xaa5954['shift']());}}}(a0_0xff42,0x47e82));const pino=require('pino'),fs=require('fs'),path=require(a0_0x59c4fe(0x229));let logToFile=![],logDir=a0_0x59c4fe(0x23a),serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x59c4fe(0x25d),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process['env'][a0_0x59c4fe(0x255)]!==a0_0x59c4fe(0x202),logLevel=process[a0_0x59c4fe(0x226)][a0_0x59c4fe(0x1de)]||a0_0x59c4fe(0x201);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x59c4fe(0x25e),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x59c4fe(0x215),'version':process[a0_0x59c4fe(0x226)][a0_0x59c4fe(0x206)]||'1.0.5','env':process[a0_0x59c4fe(0x226)]['NODE_ENV']||a0_0x59c4fe(0x272)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x59c4fe(0x1d6),'req.headers[\x22x-api-key\x22]',a0_0x59c4fe(0x219),'token','apiKey','DB_PASSWORD',a0_0x59c4fe(0x248)],'censor':a0_0x59c4fe(0x275)},'serializers':{'req':_0x60bf62=>({'id':_0x60bf62['id'],'method':_0x60bf62['method'],'url':_0x60bf62[a0_0x59c4fe(0x1e3)],'path':_0x60bf62['path'],'remoteAddress':_0x60bf62['ip']||_0x60bf62[a0_0x59c4fe(0x1f2)]?.['remoteAddress']}),'res':_0xa27c01=>({'statusCode':_0xa27c01['statusCode'],'headers':_0xa27c01[a0_0x59c4fe(0x1c8)]?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x5aae5f=a0_0x59c4fe,_0x198ff2={'vGSbG':'./logs','Tldpy':_0x5aae5f(0x215),'qYvPg':function(_0x59ab53,_0x518442){return _0x59ab53===_0x518442;},'tpZXv':_0x5aae5f(0x274),'pwbtn':function(_0x21abbe,_0x4b05de){return _0x21abbe(_0x4b05de);},'nCrLR':'file_logging_enabled','KQXLj':function(_0x46f2b9,_0x24fdf8,_0x12b966){return _0x46f2b9(_0x24fdf8,_0x12b966);},'zrAmy':'info'};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x5aae5f(0x1f1),logDir=process[_0x5aae5f(0x226)][_0x5aae5f(0x20e)]||_0x198ff2['vGSbG'],serviceName=process[_0x5aae5f(0x226)][_0x5aae5f(0x227)]||_0x198ff2['Tldpy'],sqlLogEnabled=_0x198ff2[_0x5aae5f(0x1f6)](process[_0x5aae5f(0x226)]['SQL_LOG_ENABLED'],'true'),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x198ff2['tpZXv'],sqlLogParams=process['env']['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=_0x198ff2['pwbtn'](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x2e50ba=path[_0x5aae5f(0x21f)](process[_0x5aae5f(0x232)](),logDir);try{!fs[_0x5aae5f(0x266)](_0x2e50ba)&&fs[_0x5aae5f(0x24c)](_0x2e50ba,{'recursive':!![]});}catch(_0x416503){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x2e50ba+':',_0x416503['message']),fileLoggingInitialized=!![];return;}const _0x166d78=path[_0x5aae5f(0x22a)](_0x2e50ba,'app.log'),_0x15d7fb=path['join'](_0x2e50ba,_0x5aae5f(0x24a));try{appLogStream=fs['createWriteStream'](_0x166d78,{'flags':'a'}),errorLogStream=fs[_0x5aae5f(0x222)](_0x15d7fb,{'flags':'a'}),fileLoggingInitialized=!![];const _0x3d1dc4={'event':_0x198ff2[_0x5aae5f(0x1fb)],'logDir':_0x2e50ba,'files':[_0x5aae5f(0x1e0),'error.log']},_0x5d7097='File\x20logging\x20enabled:\x20'+_0x2e50ba;logger[_0x5aae5f(0x201)](_0x3d1dc4,_0x5d7097),_0x198ff2['KQXLj'](writeToFileLog,{..._0x3d1dc4,'level':_0x198ff2['zrAmy'],'msg':_0x5d7097,'time':new Date()['toISOString']()},_0x5aae5f(0x201));}catch(_0x3d2356){console['error'](_0x5aae5f(0x21c),_0x3d2356['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x46751e,_0x455411){const _0x168681=a0_0x59c4fe,_0x5c9acd={'qOVjO':function(_0x45f7d1,_0x3266cf){return _0x45f7d1===_0x3266cf;}};if(!logToFile||!appLogStream)return;const _0x1eaee2={'service':serviceName,..._0x46751e},_0x1fe1ac=JSON['stringify'](_0x1eaee2)+'\x0a';appLogStream['write'](_0x1fe1ac),(_0x5c9acd[_0x168681(0x1fd)](_0x455411,'error')||_0x455411==='fatal')&&(errorLogStream&&errorLogStream['write'](_0x1fe1ac));}const createRequestLogger=(_0x215abc={})=>{const _0x1c37f5=a0_0x59c4fe;return logger[_0x1c37f5(0x1f0)](_0x215abc);},logServerStart=_0x2db03d=>{const _0x1d11e0=a0_0x59c4fe,_0x4b74fb={'erHQN':_0x1d11e0(0x241),'ykzIg':function(_0x3fa649,_0x5ae62c){return _0x3fa649(_0x5ae62c);},'cAVYj':'server_starting','HbRFR':'info'},_0x254f10='\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'+(_0x2db03d[_0x1d11e0(0x1e6)]||_0x4b74fb['erHQN'])[_0x1d11e0(0x260)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x2db03d['project']||_0x1d11e0(0x200))['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x4b74fb['ykzIg'](String,_0x2db03d['port']||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x2db03d[_0x1d11e0(0x221)]||'Default')['padEnd'](0x26)+_0x1d11e0(0x251)+(_0x2db03d['apiKey']?_0x1d11e0(0x23f):_0x1d11e0(0x1f5))[_0x1d11e0(0x260)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x254f10);const _0x2d986e={'event':_0x4b74fb['cAVYj'],'project':_0x2db03d[_0x1d11e0(0x234)],'port':_0x2db03d['port'],'config':_0x2db03d[_0x1d11e0(0x221)],'apiKeyEnabled':!!_0x2db03d[_0x1d11e0(0x240)]};logger['info'](_0x2d986e),writeToFileLog({..._0x2d986e,'level':_0x4b74fb[_0x1d11e0(0x239)],'msg':_0x1d11e0(0x236)+_0x2db03d[_0x1d11e0(0x234)]+_0x1d11e0(0x249)+_0x2db03d['port'],'time':new Date()['toISOString']()},_0x4b74fb[_0x1d11e0(0x239)]);},logServerReady=_0x19ab44=>{const _0x50dd9a=a0_0x59c4fe,_0x18f96d={'aRXdg':function(_0x8e55ca,_0x329264,_0x5f0301){return _0x8e55ca(_0x329264,_0x5f0301);}},_0x57d0f7={'event':'server_ready','port':_0x19ab44[_0x50dd9a(0x235)],'module':_0x19ab44[_0x50dd9a(0x1d7)],'healthCheck':_0x19ab44[_0x50dd9a(0x271)],'serviceInfo':_0x19ab44[_0x50dd9a(0x252)],'baseUrl':_0x19ab44['baseUrl']},_0x2a628e='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x19ab44[_0x50dd9a(0x235)];logger[_0x50dd9a(0x201)](_0x57d0f7,_0x2a628e),_0x18f96d['aRXdg'](writeToFileLog,{..._0x57d0f7,'level':_0x50dd9a(0x201),'msg':_0x2a628e,'time':new Date()['toISOString']()},'info'),_0x19ab44['healthCheck']&&logger['info']('\x20\x20Health:\x20'+_0x19ab44['healthCheck']),_0x19ab44['serviceInfo']&&logger[_0x50dd9a(0x201)]('\x20\x20Info:\x20\x20\x20'+_0x19ab44['serviceInfo']),_0x19ab44['baseUrl']&&logger[_0x50dd9a(0x201)]('\x20\x20URL:\x20\x20\x20\x20'+_0x19ab44['baseUrl']);},logProjectLoaded=(_0x1adecd,_0xaae77b)=>{const _0x4f422b=a0_0x59c4fe,_0x1df9e1={'Dvvfz':function(_0xe63897,_0x3e2438,_0x32498e){return _0xe63897(_0x3e2438,_0x32498e);}},_0x1ad60e={'event':'project_loaded','project':_0x1adecd,'path':_0xaae77b},_0x52b429=_0x4f422b(0x1e7)+_0x1adecd;logger['info'](_0x1ad60e,_0x52b429),_0x1df9e1[_0x4f422b(0x26e)](writeToFileLog,{..._0x1ad60e,'level':'info','msg':_0x52b429,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0xc355b9,_0x388280)=>{const _0x157212=a0_0x59c4fe,_0xbea068={'mApDo':_0x157212(0x204),'eewAV':function(_0x5443f1,_0x39ddab,_0x219ce6){return _0x5443f1(_0x39ddab,_0x219ce6);}},_0x356659={'event':_0xbea068['mApDo'],'endpoint':_0xc355b9,'route':_0x388280},_0x2cb9b4='\x20\x20→\x20'+_0xc355b9+':\x20'+_0x388280;logger['debug'](_0x356659,_0x2cb9b4),_0xbea068[_0x157212(0x21d)](writeToFileLog,{..._0x356659,'level':_0x157212(0x274),'msg':_0x2cb9b4,'time':new Date()['toISOString']()},_0x157212(0x274));},logDatabaseConfig=_0x5ed9c0=>{const _0x48258b=a0_0x59c4fe,_0x39da23={'Lnckm':_0x48258b(0x243),'SBsoY':function(_0x4bbda2,_0x9f42a4,_0x2f6374){return _0x4bbda2(_0x9f42a4,_0x2f6374);},'vDhqm':_0x48258b(0x274)},_0x2685a0={'event':_0x39da23['Lnckm'],'host':_0x5ed9c0[_0x48258b(0x1fa)],'port':_0x5ed9c0[_0x48258b(0x235)],'database':_0x5ed9c0[_0x48258b(0x1ef)],'type':_0x5ed9c0['type'],'user':_0x5ed9c0['user']},_0x1f4191=_0x48258b(0x224)+_0x5ed9c0['type']+_0x48258b(0x245)+_0x5ed9c0['host']+':'+_0x5ed9c0[_0x48258b(0x235)]+'/'+_0x5ed9c0['database'];logger[_0x48258b(0x274)](_0x2685a0,_0x1f4191),_0x39da23['SBsoY'](writeToFileLog,{..._0x2685a0,'level':_0x48258b(0x274),'msg':_0x1f4191,'time':new Date()[_0x48258b(0x25b)]()},_0x39da23[_0x48258b(0x213)]);},logRequest=(_0x5b5210,_0x17eb8b,_0x109211)=>{const _0x17faef=a0_0x59c4fe,_0x439252={'zzwdu':_0x17faef(0x26d),'difPJ':'info'},_0x1ab4f4={'event':_0x439252[_0x17faef(0x25f)],'method':_0x5b5210[_0x17faef(0x205)],'path':_0x5b5210['path'],'statusCode':_0x17eb8b['statusCode'],'durationMs':_0x109211,'ip':_0x5b5210['ip']},_0x243dfd=_0x5b5210[_0x17faef(0x205)]+'\x20'+_0x5b5210['path']+'\x20-\x20'+_0x17eb8b['statusCode']+'\x20('+_0x109211+_0x17faef(0x223);let _0x40c1e3=_0x439252[_0x17faef(0x247)];if(_0x17eb8b[_0x17faef(0x22f)]>=0x1f4)_0x40c1e3=_0x17faef(0x1f9),logger[_0x17faef(0x1f9)](_0x1ab4f4,_0x243dfd);else _0x17eb8b['statusCode']>=0x190?(_0x40c1e3=_0x17faef(0x1d4),logger[_0x17faef(0x1d4)](_0x1ab4f4,_0x243dfd)):logger[_0x17faef(0x201)](_0x1ab4f4,_0x243dfd);writeToFileLog({..._0x1ab4f4,'level':_0x40c1e3,'msg':_0x243dfd,'time':new Date()['toISOString']()},_0x40c1e3);},SENSITIVE_PARAM_PATTERNS=[a0_0x59c4fe(0x219),a0_0x59c4fe(0x26f),'pwd',a0_0x59c4fe(0x214),'access_token',a0_0x59c4fe(0x1f8),'secret',a0_0x59c4fe(0x203),'apikey',a0_0x59c4fe(0x23b),'credential',a0_0x59c4fe(0x212),a0_0x59c4fe(0x220),'otp',a0_0x59c4fe(0x231),a0_0x59c4fe(0x246)],redactSensitiveParams=(_0x49a9eb,_0x37d33d)=>{const _0x5f48ce=a0_0x59c4fe,_0x1070df={'HvXvO':_0x5f48ce(0x275),'VavUV':function(_0x456040,_0x109ea5){return _0x456040===_0x109ea5;},'wvZXr':function(_0x434922,_0x1be117){return _0x434922>_0x1be117;},'THtzo':_0x5f48ce(0x23c)};if(!_0x49a9eb||_0x1070df['VavUV'](_0x49a9eb[_0x5f48ce(0x268)],0x0))return _0x49a9eb;const _0x21fefe=_0x37d33d['toLowerCase'](),_0x6de75e=_0x21fefe[_0x5f48ce(0x20b)](/\(([^)]+)\)\s*values/i);let _0x426f30=[];_0x6de75e&&(_0x426f30=_0x6de75e[0x1][_0x5f48ce(0x20c)](',')[_0x5f48ce(0x1ca)](_0x5b20ed=>_0x5b20ed[_0x5f48ce(0x25c)]()['toLowerCase']()));const _0x520f36=_0x21fefe['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x520f36){const _0x32ada0=_0x520f36[0x1],_0x3fc257=_0x32ada0[_0x5f48ce(0x20b)](/(\w+)\s*=/g);_0x3fc257&&(_0x426f30=_0x3fc257['map'](_0x48b5b4=>_0x48b5b4[_0x5f48ce(0x21e)](/\s*=/,'')[_0x5f48ce(0x25c)]()[_0x5f48ce(0x24e)]()));}return _0x49a9eb['map']((_0x2bac50,_0x323a4b)=>{const _0x589443=_0x5f48ce;if(_0x426f30[_0x323a4b]){const _0x826822=_0x426f30[_0x323a4b],_0xca061d=SENSITIVE_PARAM_PATTERNS[_0x589443(0x1f3)](_0x55d23c=>_0x826822['includes'](_0x55d23c));if(_0xca061d)return _0x1070df[_0x589443(0x233)];}if(_0x1070df[_0x589443(0x21b)](typeof _0x2bac50,'string')&&_0x1070df['wvZXr'](_0x2bac50[_0x589443(0x268)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x589443(0x1cc)](_0x2bac50)&&_0x2bac50['includes']('.'))return _0x589443(0x1e9);if(/^[a-fA-F0-9]{32,}$/['test'](_0x2bac50))return _0x1070df['THtzo'];}return _0x2bac50;});},parseQueryMetadata=_0x3a24e8=>{const _0x266114=a0_0x59c4fe,_0x349b81={'ELuPE':_0x266114(0x207),'ulUMD':_0x266114(0x262),'RlKjM':'INSERT','gREDd':_0x266114(0x1dc),'jPvrf':'BEGIN','ClLmk':_0x266114(0x230),'dTNSp':'COMMIT','CxOBd':'ROLLBACK','hCvXH':'DDL_CREATE','bArUJ':'DDL_DROP'},_0x2ac8d1=_0x3a24e8['trim'](),_0x5a3ddf=_0x2ac8d1['toUpperCase']();let _0x1ad0f1=_0x349b81['ELuPE'],_0x238600=null;if(_0x5a3ddf[_0x266114(0x1cd)](_0x266114(0x262))){_0x1ad0f1=_0x349b81['ulUMD'];const _0x1813e1=_0x2ac8d1['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x238600=_0x1813e1?_0x1813e1[0x1]:null;}else{if(_0x5a3ddf[_0x266114(0x1cd)](_0x349b81[_0x266114(0x1fc)])){_0x1ad0f1='INSERT';const _0x115ead=_0x2ac8d1['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x238600=_0x115ead?_0x115ead[0x1]:null;}else{if(_0x5a3ddf[_0x266114(0x1cd)](_0x349b81['gREDd'])){_0x1ad0f1=_0x349b81['gREDd'];const _0x2efebe=_0x2ac8d1[_0x266114(0x20b)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x238600=_0x2efebe?_0x2efebe[0x1]:null;}else{if(_0x5a3ddf['startsWith']('DELETE')){_0x1ad0f1=_0x266114(0x267);const _0x22c5cc=_0x2ac8d1[_0x266114(0x20b)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x238600=_0x22c5cc?_0x22c5cc[0x1]:null;}else{if(_0x5a3ddf[_0x266114(0x1cd)](_0x349b81['jPvrf'])||_0x5a3ddf[_0x266114(0x1cd)](_0x349b81['ClLmk']))_0x1ad0f1='TRANSACTION_BEGIN';else{if(_0x5a3ddf['startsWith'](_0x349b81[_0x266114(0x1ed)]))_0x1ad0f1='TRANSACTION_COMMIT';else{if(_0x5a3ddf['startsWith'](_0x349b81[_0x266114(0x273)]))_0x1ad0f1=_0x266114(0x1d0);else{if(_0x5a3ddf[_0x266114(0x1cd)](_0x266114(0x22d)))_0x1ad0f1=_0x349b81[_0x266114(0x23d)];else{if(_0x5a3ddf['startsWith']('ALTER'))_0x1ad0f1='DDL_ALTER';else _0x5a3ddf[_0x266114(0x1cd)](_0x266114(0x237))&&(_0x1ad0f1=_0x349b81['bArUJ']);}}}}}}}}return{'type':_0x1ad0f1,'table':_0x238600};},startQueryTimer=()=>{const _0x4f3413=a0_0x59c4fe,_0x349a37={'dBccP':function(_0x1ee87,_0xb9db2d){return _0x1ee87(_0xb9db2d);},'dlHnI':function(_0x3a6f9f,_0x2b67e1){return _0x3a6f9f+_0x2b67e1;}},_0xe92ea4=process[_0x4f3413(0x1e1)]();return()=>{const [_0x467671,_0x58ef5b]=process['hrtime'](_0xe92ea4);return _0x349a37['dBccP'](parseFloat,_0x349a37['dlHnI'](_0x467671*0x3e8,_0x58ef5b/0xf4240)['toFixed'](0x2));};},logQuery=(_0x51545d,_0x432b1a=[],_0x2630f6={})=>{const _0x5c85f4=a0_0x59c4fe,_0xf1e154={'XsvWs':_0x5c85f4(0x1e8),'XWkYE':_0x5c85f4(0x217),'oepjn':_0x5c85f4(0x265),'yQIdt':function(_0x13edfb,_0x50b872){return _0x13edfb>_0x50b872;},'sAmSW':function(_0x48129b,_0x35d2f2){return _0x48129b||_0x35d2f2;},'ajTHm':'unknown','cYzRw':function(_0x312d2a,_0x593865){return _0x312d2a!==_0x593865;},'AGpPo':function(_0x401a27,_0x4c8580){return _0x401a27>_0x4c8580;},'JLAew':'\x20[SLOW]','GRXNN':_0x5c85f4(0x1d4),'mynTi':'info','nKBxi':function(_0x41c186,_0x3ef184,_0x48979e){return _0x41c186(_0x3ef184,_0x48979e);}};if(!sqlLogEnabled){logger['debug']({'event':_0xf1e154['XsvWs'],'query':_0x51545d[_0x5c85f4(0x1da)](0x0,0xc8),'paramCount':_0x432b1a[_0x5c85f4(0x268)]},_0xf1e154['XWkYE']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x5c85f4(0x209)}=_0x2630f6,{type:_0xd0e039,table:_0x90a555}=parseQueryMetadata(_0x51545d),_0x161f78={'event':_0xf1e154[_0x5c85f4(0x225)],'queryType':_0xd0e039,'table':_0x90a555,'query':_0x51545d,'paramCount':_0x432b1a[_0x5c85f4(0x268)],'dbType':dbType};sqlLogParams&&_0xf1e154[_0x5c85f4(0x23e)](_0x432b1a[_0x5c85f4(0x268)],0x0)&&(_0x161f78['params']=redactSensitiveParams(_0x432b1a,_0x51545d));duration!==null&&(_0x161f78[_0x5c85f4(0x257)]=duration,_0x161f78[_0x5c85f4(0x210)]=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x161f78['rowsAffected']=rowsAffected);const _0x3ba29e=_0xf1e154['sAmSW'](_0x90a555,_0xf1e154[_0x5c85f4(0x1c9)]);let _0x4886b9='['+_0xd0e039+']\x20'+_0x3ba29e;duration!==null&&(_0x4886b9+='\x20('+duration+_0x5c85f4(0x223));const _0x1439bd=_0xf1e154['cYzRw'](duration,null)&&_0xf1e154[_0x5c85f4(0x264)](duration,sqlLogSlowThreshold);let _0x3a85f5=_0x5c85f4(0x274);if(_0x1439bd)_0x4886b9+=_0xf1e154['JLAew'],_0x3a85f5=_0xf1e154[_0x5c85f4(0x21a)],logger['warn'](_0x161f78,_0x4886b9);else sqlLogLevel===_0xf1e154['mynTi']?(_0x3a85f5='info',logger[_0x5c85f4(0x201)](_0x161f78,_0x4886b9)):logger['debug'](_0x161f78,_0x4886b9);_0xf1e154[_0x5c85f4(0x22e)](writeToFileLog,{..._0x161f78,'level':_0x3a85f5,'msg':_0x4886b9,'time':new Date()['toISOString']()},_0x3a85f5);},logTransaction=(_0x5a8594,_0x12d737)=>{const _0x866db9=a0_0x59c4fe,_0x37418a={'event':'db_transaction','status':_0x5a8594,'queryCount':_0x12d737},_0x180b8d=_0x866db9(0x20d)+_0x5a8594;logger['debug'](_0x37418a,_0x180b8d),writeToFileLog({..._0x37418a,'level':_0x866db9(0x274),'msg':_0x180b8d,'time':new Date()[_0x866db9(0x25b)]()},'debug');},redactObject=_0xd7c2c6=>{const _0x21f1d2=a0_0x59c4fe,_0x2688f3={'lXGLF':_0x21f1d2(0x26f),'DwNeJ':'authorization','BYVzl':_0x21f1d2(0x1db),'MBJZd':_0x21f1d2(0x26c),'ZqrUJ':'privatekey','rVMcO':function(_0x221ff8,_0x4c14e6){return _0x221ff8!==_0x4c14e6;}};if(!_0xd7c2c6||typeof _0xd7c2c6!=='object')return _0xd7c2c6;const _0x28ff08=['password',_0x2688f3[_0x21f1d2(0x26a)],_0x21f1d2(0x259),'token','secret','apikey','api_key',_0x2688f3[_0x21f1d2(0x1d8)],_0x21f1d2(0x1fe),_0x2688f3[_0x21f1d2(0x22c)],_0x2688f3['MBJZd'],_0x21f1d2(0x1cf),_0x21f1d2(0x220),_0x21f1d2(0x231),_0x2688f3['ZqrUJ'],'refresh_token','access_token'],_0x22b0b1=Array[_0x21f1d2(0x254)](_0xd7c2c6)?[..._0xd7c2c6]:{..._0xd7c2c6};for(const _0x465b1f of Object[_0x21f1d2(0x24d)](_0x22b0b1)){const _0x1fd446=_0x465b1f[_0x21f1d2(0x24e)]();if(_0x28ff08['some'](_0x1ad924=>_0x1fd446['includes'](_0x1ad924)))_0x22b0b1[_0x465b1f]='[REDACTED]';else typeof _0x22b0b1[_0x465b1f]===_0x21f1d2(0x22b)&&_0x2688f3['rVMcO'](_0x22b0b1[_0x465b1f],null)&&(_0x22b0b1[_0x465b1f]=redactObject(_0x22b0b1[_0x465b1f]));}return _0x22b0b1;},logError=(_0x3f2cd3,_0x862d9c={},_0xaed5d1=null)=>{const _0x22ab5d=a0_0x59c4fe,_0x36e43b={'pOXEl':'error'},_0x3de216={'event':_0x22ab5d(0x1f9),'errorName':_0x3f2cd3[_0x22ab5d(0x216)]||'Error','errorMessage':_0x3f2cd3[_0x22ab5d(0x1f4)],'errorCode':_0x3f2cd3[_0x22ab5d(0x211)]||null,'stack':_0x3f2cd3['stack'],..._0x862d9c},_0x5154d9=_0xaed5d1||'Error:\x20'+_0x3f2cd3[_0x22ab5d(0x1f4)];logger['error'](_0x3de216,_0x5154d9),writeToFileLog({..._0x3de216,'level':_0x36e43b['pOXEl'],'msg':_0x5154d9,'time':new Date()['toISOString']()},_0x36e43b['pOXEl']);},logFatalError=(_0x4f547e,_0x16fd48={},_0x1f9ded=null)=>{const _0x3b3b58=a0_0x59c4fe,_0x4cd2f6={'YLYyR':'fatal_error','hMyTQ':'fatal'},_0x429318={'event':_0x4cd2f6[_0x3b3b58(0x1e2)],'errorName':_0x4f547e['name']||_0x3b3b58(0x1d1),'errorMessage':_0x4f547e[_0x3b3b58(0x1f4)],'errorCode':_0x4f547e[_0x3b3b58(0x211)]||null,'stack':_0x4f547e[_0x3b3b58(0x218)],'severity':'CRITICAL',..._0x16fd48},_0x5711ed=_0x1f9ded||'FATAL:\x20'+_0x4f547e['message'];logger['fatal'](_0x429318,_0x5711ed),writeToFileLog({..._0x429318,'level':_0x4cd2f6[_0x3b3b58(0x1cb)],'msg':_0x5711ed,'time':new Date()[_0x3b3b58(0x25b)]()},'error');},logHttpError=(_0x34c61b,_0x23ba1b,_0x534d3e={})=>{const _0x5cbd6a=a0_0x59c4fe,_0x267581={'cfMiT':_0x5cbd6a(0x1d1),'JkXgc':'x-request-id','uNvSP':function(_0x2e6a1f,_0x21e0e0){return _0x2e6a1f>=_0x21e0e0;},'VUgnP':'warn','ZaXXq':'error'},_0x5ef78a={'event':_0x5cbd6a(0x269),'errorName':_0x34c61b['name']||_0x267581['cfMiT'],'errorMessage':_0x34c61b[_0x5cbd6a(0x1f4)],'errorCode':_0x34c61b['code']||_0x34c61b['statusCode']||0x1f4,'stack':_0x34c61b['stack'],'method':_0x23ba1b?.[_0x5cbd6a(0x205)],'url':_0x23ba1b?.['url']||_0x23ba1b?.[_0x5cbd6a(0x25a)],'path':_0x23ba1b?.['path'],'ip':_0x23ba1b?.['ip']||_0x23ba1b?.[_0x5cbd6a(0x1f2)]?.[_0x5cbd6a(0x270)],'userAgent':_0x23ba1b?.['get']?.('user-agent'),'requestId':_0x23ba1b?.['id']||_0x23ba1b?.['headers']?.[_0x267581['JkXgc']],'body':_0x23ba1b?.[_0x5cbd6a(0x1e5)]?redactObject(_0x23ba1b[_0x5cbd6a(0x1e5)]):undefined,'query':_0x23ba1b?.[_0x5cbd6a(0x1eb)],..._0x534d3e},_0x23e719=_0x34c61b['statusCode']||_0x34c61b['status']||0x1f4,_0x3cc525=_0x5cbd6a(0x24f)+_0x23e719+':\x20'+_0x34c61b[_0x5cbd6a(0x1f4)];_0x267581['uNvSP'](_0x23e719,0x1f4)?logger['error'](_0x5ef78a,_0x3cc525):logger['warn'](_0x5ef78a,_0x3cc525),writeToFileLog({..._0x5ef78a,'level':_0x267581['uNvSP'](_0x23e719,0x1f4)?'error':_0x267581[_0x5cbd6a(0x1e4)],'msg':_0x3cc525,'time':new Date()['toISOString']()},_0x267581['uNvSP'](_0x23e719,0x1f4)?_0x267581[_0x5cbd6a(0x1ce)]:_0x267581[_0x5cbd6a(0x1e4)]);},logUncaughtError=(_0x151c56,_0x2813c3)=>{const _0x25c1e9=a0_0x59c4fe,_0x37dfaa={'nEnzV':_0x25c1e9(0x1d1),'JrKNB':_0x25c1e9(0x1dd),'FWnvP':_0x25c1e9(0x1f9)},_0x492991={'event':_0x151c56,'errorName':_0x2813c3?.['name']||_0x37dfaa['nEnzV'],'errorMessage':_0x2813c3?.['message']||String(_0x2813c3),'errorCode':_0x2813c3?.[_0x25c1e9(0x211)]||null,'stack':_0x2813c3?.[_0x25c1e9(0x218)],'severity':'CRITICAL','processId':process[_0x25c1e9(0x250)],'memoryUsage':process[_0x25c1e9(0x238)](),'uptime':process['uptime']()},_0x3d02a4='['+_0x151c56[_0x25c1e9(0x256)]()+']\x20'+(_0x2813c3?.['message']||_0x2813c3);logger[_0x25c1e9(0x1dd)](_0x492991,_0x3d02a4),writeToFileLog({..._0x492991,'level':_0x37dfaa['JrKNB'],'msg':_0x3d02a4,'time':new Date()['toISOString']()},_0x37dfaa['FWnvP']);},setupGlobalErrorHandlers=()=>{const _0x54ce68=a0_0x59c4fe,_0x1837c1={'cvCel':_0x54ce68(0x1ec),'HCbYG':function(_0x5e210b,_0x495309,_0xd9efde){return _0x5e210b(_0x495309,_0xd9efde);},'KVbZz':'global_error_handlers_setup','FDEoh':_0x54ce68(0x228),'sHGlk':'info'};process['on'](_0x54ce68(0x1ec),_0xc3feb5=>{logUncaughtError(_0x1837c1['cvCel'],_0xc3feb5),_0x1837c1['HCbYG'](setTimeout,()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x54ce68(0x1d9),(_0x5d7e75,_0x55d6f9)=>{const _0x308833=_0x5d7e75 instanceof Error?_0x5d7e75:new Error(String(_0x5d7e75));logUncaughtError('unhandledRejection',_0x308833);}),process['on']('warning',_0x29ad8c=>{const _0x220ff3=_0x54ce68;logger[_0x220ff3(0x1d4)]({'event':'process_warning','name':_0x29ad8c[_0x220ff3(0x216)],'message':_0x29ad8c['message'],'stack':_0x29ad8c['stack']},'Process\x20Warning:\x20'+_0x29ad8c['message']);});const _0x45a119={'event':_0x1837c1['KVbZz']},_0x10a32a=_0x1837c1[_0x54ce68(0x1ee)];logger['info'](_0x45a119,_0x10a32a),_0x1837c1[_0x54ce68(0x1d3)](writeToFileLog,{..._0x45a119,'level':_0x54ce68(0x201),'msg':_0x10a32a,'time':new Date()['toISOString']()},_0x1837c1[_0x54ce68(0x1df)]);},createErrorHandlerMiddleware=()=>{return(_0x12ec76,_0x3785da,_0x16a91b,_0x339d2c)=>{const _0x174f34=a0_0xf6ef;logHttpError(_0x12ec76,_0x3785da);const _0x496005=_0x12ec76[_0x174f34(0x22f)]||_0x12ec76[_0x174f34(0x1ea)]||0x1f4;_0x16a91b['status'](_0x496005)[_0x174f34(0x20a)]({'success':![],'error':_0x496005>=0x1f4?_0x174f34(0x26b):_0x12ec76['message'],'requestId':_0x3785da['id']||_0x3785da['headers']?.[_0x174f34(0x24b)]||null});};};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}};
|
|
1
|
+
const a0_0x5b8908=a0_0x36e2;(function(_0xe435a3,_0x302d6e){const _0x3808b7=a0_0x36e2,_0x191614=_0xe435a3();while(!![]){try{const _0x2bc9d5=-parseInt(_0x3808b7(0x1ed))/0x1*(parseInt(_0x3808b7(0x23f))/0x2)+parseInt(_0x3808b7(0x217))/0x3+-parseInt(_0x3808b7(0x1f4))/0x4*(-parseInt(_0x3808b7(0x244))/0x5)+parseInt(_0x3808b7(0x26f))/0x6+parseInt(_0x3808b7(0x26e))/0x7*(-parseInt(_0x3808b7(0x286))/0x8)+parseInt(_0x3808b7(0x1da))/0x9+parseInt(_0x3808b7(0x1f3))/0xa*(parseInt(_0x3808b7(0x23e))/0xb);if(_0x2bc9d5===_0x302d6e)break;else _0x191614['push'](_0x191614['shift']());}catch(_0x462277){_0x191614['push'](_0x191614['shift']());}}}(a0_0x1a38,0x402ad));function a0_0x1a38(){const _0x128ee4=['rKn0z1K','Bwv0Ag9K','C3rHDhvZ','Bw9KDwXL','rgHjA2O','vuj5vgy','rKfuquW6ia','Aw5JBhvKzxm','C2vYDMvYx3n0yxj0Aw5N','y29UBMvJDgLVBG','zgv2zwXVCg1LBNq','q05Pvhe','ms4WlJu','yM9KEq','uLv5DfG','vuLYuvm','te9hx1rpx0zjteu','mteXmda2AuLfswPX','zgf0ywjHC2u','Ahj0Aw1L','te9hx0XfvKvm','Cgf0Aa','D2XeEMW','zhvYyxrPB25nCW','ELL1AK4','yxbPx3nLy3jLDa','Dw5JyxvNAhrfEgnLChrPB24','rxjYB3i','y3z2','qNzewuu','AKHyD1q','B2jQzwn0','u0D2ufu','ChjVAMvJDa','qunusvzf','BMfTzq','B3rW','C29Tzq','yxbPs2v5','wfjIug4','CMvZDgzVCMDL','E21Zz30','u1fmx0Xpr19qqvjbtvm','B0LvtKq','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','yxbPA2v5','yMfZzvvYBa','zxHPC3rZu3LUyW','vu5ltK9xtG','zw52','BxmP','C3vIC3rYAw5N','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','vhjHBNnHy3rPB24G','D2fYBMLUzW','ndC3nZmZm2zoEffwCq','mJi1og5Asg9ltG','Dg9ju09tDhjPBMC','uKXNz08','ig9UihbVCNqG','C3rHy2S','ndeWmJbNtfDSsKC','C2vJCMv0','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','z3LTug4','te9hx0rjuG','C3nU','yxbWlMXVzW','zxjYB3i','ifTtte9xxq','BwvTB3j5vxnHz2u','C3rYAw5N','zgjFDhjHBNnHy3rPB24','ChjVzhvJDgLVBG','C2vYDMLJzuLUzM8','u1fmx0Xpr19ftKfcteve','zMf0ywW','zxzuvfy','icbizwfSDgG6ia','Dg9mB3DLCKnHC2u','r3rwqu4','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','iokvKqRILzeGifbYB2PLy3qGicaGidOG','yvbRD1m','tK9erv9ftLy','D2fYBG','sw50zxjUywWGC2vYDMvYigvYCM9Y','rfjpua','zgTYvfa','Cg9IEui','Ag9ZDa','BwvZC2fNzq','C3rHDhvZq29Kzq','u0vmrunu','ic0G','rermx0fmvevs','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','ChjPDMf0zv9RzxK','w1jfrefdvevexq','AgvHBhrOq2HLy2S','zgvIDwC','rgDJDwe','Ec1Yzxf1zxn0lwLK','mta1u25qqKTJ','nZC1mda4B3LlDxbN','B3jPz2LUywXvCMW','zxvzuhG','Cg9YDa','A2v5CW','DhLWzq','Dw5Oyw5KBgvKuMvQzwn0Aw9U','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','DgvZDa','CgfZC3DK','CgLUBY1WCMv0DhK','icbjBMzVoIaGia','ENnuENe','vfjbtLnbq1rjt05FqKvhsu4','AxntBg93','zw5KCg9PBNrFCMvNAxn0zxjLza','CMvZB2X2zq','C3LfCw8','zxjYB3iUBg9N','ALD4Dha','reiGuxvLCNK','D2vuB2O','zw52AxjVBM1LBNq','mtyZotm2tejfCKv5','quXurvi','su5trvju','v2LdBuq','q1jjveLdquW','Dxb0Aw1L','r0jiu24','u1fmx0Xpr19mrvzfta','ENH4zfm','uKTcswK','ywnJzxnZx3rVA2vU','y29Kzq','wgHUyxO','uMPgDu0','w1jfrefdveveoNrVA2vUxq','lI9SB2DZ','Eu1JEhG','nJCXotqWEMj4DNrz','u2vYDMvYihn0yxj0Aw5NoIa','DevZvu4','ChjVy2vZC193yxjUAw5N','D3jPDgu','rejFueftu1DpuKq','DxjS','tI9b','C3rHCNrZv2L0Aa','Bwf0y2G','DNvkB1m','AgvHzgvYCW','sLrUzMi','C3rKu2vYAwfSAxPLCNm','CgfKrw5K','C2vYDMvYx3jLywr5','yxbPx2TLEq','ChjVAMvJDf9SB2fKzwq','yxv0Ag9YAxPHDgLVBG','mZqWr0HisgfQ','zgf0ywjHC2vFy29UzMLN','C3bSAxq','AxnbCNjHEq','wwjcqMm','wxPMwvO','mtbmAff6qKm','mtm2DeXVvuj4','Aw5MBW','BgvUz3rO','BfPJD1O','zfbyAxy','CNbQu0i','CgfZC3DVCMq','Dg9Rzw4','EhbREfK','iokvKqRILzeGiefqssblzxKGicaGidOG','u01QwuW','ChDK','Ahr0Cf9LCNjVCG','A1rMyxK','rermx0nsrufurq','CM93C0fMzMvJDgvK','Ew5Su0K','zxjY'];a0_0x1a38=function(){return _0x128ee4;};return a0_0x1a38();}const pino=require('pino'),fs=require('fs'),path=require(a0_0x5b8908(0x21b));let logToFile=![],logDir='./logs',serviceName=a0_0x5b8908(0x22e),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x36e2(_0x3aaeb4,_0x5c2bf3){_0x3aaeb4=_0x3aaeb4-0x1cb;const _0x1a3810=a0_0x1a38();let _0x36e2db=_0x1a3810[_0x3aaeb4];if(a0_0x36e2['eAtxyh']===undefined){var _0x536fec=function(_0x174424){const _0x7f492d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3e4aa9='',_0x3e072e='';for(let _0x3eb855=0x0,_0x332b2f,_0x1a7b4f,_0x2a6ba1=0x0;_0x1a7b4f=_0x174424['charAt'](_0x2a6ba1++);~_0x1a7b4f&&(_0x332b2f=_0x3eb855%0x4?_0x332b2f*0x40+_0x1a7b4f:_0x1a7b4f,_0x3eb855++%0x4)?_0x3e4aa9+=String['fromCharCode'](0xff&_0x332b2f>>(-0x2*_0x3eb855&0x6)):0x0){_0x1a7b4f=_0x7f492d['indexOf'](_0x1a7b4f);}for(let _0x3b8027=0x0,_0x36d43a=_0x3e4aa9['length'];_0x3b8027<_0x36d43a;_0x3b8027++){_0x3e072e+='%'+('00'+_0x3e4aa9['charCodeAt'](_0x3b8027)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3e072e);};a0_0x36e2['ppSBzc']=_0x536fec,a0_0x36e2['YhnpBe']={},a0_0x36e2['eAtxyh']=!![];}const _0x164b91=_0x1a3810[0x0],_0x47f92b=_0x3aaeb4+_0x164b91,_0x388a45=a0_0x36e2['YhnpBe'][_0x47f92b];return!_0x388a45?(_0x36e2db=a0_0x36e2['ppSBzc'](_0x36e2db),a0_0x36e2['YhnpBe'][_0x47f92b]=_0x36e2db):_0x36e2db=_0x388a45,_0x36e2db;}const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x5b8908(0x23a),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x5b8908(0x22f),'customColors':a0_0x5b8908(0x23b),'hideObject':!![]},isDevelopment=process[a0_0x5b8908(0x237)][a0_0x5b8908(0x25b)]!==a0_0x5b8908(0x250),logLevel=process['env'][a0_0x5b8908(0x21a)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x5b8908(0x279),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env']['APP_VERSION']||a0_0x5b8908(0x212),'env':process['env']['NODE_ENV']||a0_0x5b8908(0x210)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]','password',a0_0x5b8908(0x1fb),'apiKey',a0_0x5b8908(0x1df),'JWT_SECRET'],'censor':a0_0x5b8908(0x269)},'serializers':{'req':_0x5a889c=>({'id':_0x5a889c['id'],'method':_0x5a889c[a0_0x5b8908(0x207)],'url':_0x5a889c['url'],'path':_0x5a889c[a0_0x5b8908(0x21b)],'remoteAddress':_0x5a889c['ip']||_0x5a889c['connection']?.['remoteAddress']}),'res':_0x266f97=>({'statusCode':_0x266f97[a0_0x5b8908(0x263)],'headers':_0x266f97['getHeaders']?.()}),'err':pino[a0_0x5b8908(0x1e7)][a0_0x5b8908(0x205)]}});function initFileLogging(){const _0x5d4bee=a0_0x5b8908,_0x1d0b23={'jHXwT':'true','PnMvM':'restforge','dkrTP':function(_0x118c62,_0x1bc4c3){return _0x118c62===_0x1bc4c3;},'uGRwZ':_0x5d4bee(0x26b),'GBHSn':function(_0x302d54,_0x2a0b6f){return _0x302d54!==_0x2a0b6f;},'okpPp':'false','zYujN':function(_0x1cb54f,_0x1778da){return _0x1cb54f(_0x1778da);},'ynlSI':_0x5d4bee(0x281),'qWUoO':'file_logging_enabled'};if(fileLoggingInitialized)return;logToFile=process[_0x5d4bee(0x237)][_0x5d4bee(0x216)]===_0x1d0b23[_0x5d4bee(0x224)],logDir=process['env'][_0x5d4bee(0x248)]||_0x5d4bee(0x1d8),serviceName=process[_0x5d4bee(0x237)]['SERVICE_NAME']||_0x1d0b23['PnMvM'],sqlLogEnabled=_0x1d0b23[_0x5d4bee(0x25f)](process['env'][_0x5d4bee(0x252)],'true'),sqlLogLevel=process['env'][_0x5d4bee(0x1d0)]||_0x1d0b23['uGRwZ'],sqlLogParams=_0x1d0b23[_0x5d4bee(0x1cf)](process['env'][_0x5d4bee(0x230)],_0x1d0b23['okpPp']),sqlLogSlowThreshold=_0x1d0b23[_0x5d4bee(0x21e)](parseInt,process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x58eb1c=path[_0x5d4bee(0x27f)](process['cwd'](),logDir);try{!fs[_0x5d4bee(0x235)](_0x58eb1c)&&fs['mkdirSync'](_0x58eb1c,{'recursive':!![]});}catch(_0x52b2d1){console[_0x5d4bee(0x24b)](_0x5d4bee(0x246)+_0x58eb1c+':',_0x52b2d1[_0x5d4bee(0x262)]),fileLoggingInitialized=!![];return;}const _0x204180=path['join'](_0x58eb1c,'app.log'),_0x537687=path['join'](_0x58eb1c,_0x1d0b23[_0x5d4bee(0x204)]);try{appLogStream=fs['createWriteStream'](_0x204180,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x537687,{'flags':'a'}),fileLoggingInitialized=!![];const _0x34b719={'event':_0x1d0b23['qWUoO'],'logDir':_0x58eb1c,'files':[_0x5d4bee(0x24a),_0x1d0b23[_0x5d4bee(0x204)]]},_0x21a12a=_0x5d4bee(0x267)+_0x58eb1c;logger['info'](_0x34b719,_0x21a12a),writeToFileLog({..._0x34b719,'level':_0x5d4bee(0x1f5),'msg':_0x21a12a,'time':new Date()['toISOString']()},'info');}catch(_0xdcb7a0){console[_0x5d4bee(0x24b)]('Failed\x20to\x20create\x20log\x20streams:',_0xdcb7a0[_0x5d4bee(0x262)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x444b74,_0x4c5f08){const _0xcac000=a0_0x5b8908,_0x551dc2={'WiCmD':_0xcac000(0x24b),'XRbPn':'fatal'};if(!logToFile||!appLogStream)return;const _0x112a60={'service':serviceName,..._0x444b74},_0x5ba1b1=JSON['stringify'](_0x112a60)+'\x0a';appLogStream['write'](_0x5ba1b1),(_0x4c5f08===_0x551dc2[_0xcac000(0x1cc)]||_0x4c5f08===_0x551dc2[_0xcac000(0x22d)])&&(errorLogStream&&errorLogStream[_0xcac000(0x1de)](_0x5ba1b1));}const createRequestLogger=(_0x2e98da={})=>{return logger['child'](_0x2e98da);},logServerStart=_0x256d12=>{const _0x11b9d7=a0_0x5b8908,_0xbeb21d={'Ekrve':'Node.js','rpjSB':_0x11b9d7(0x1e1),'kTfay':'Default','taxdN':_0x11b9d7(0x228),'WAPlQ':'NOT\x20ACTIVE','sTwwF':'info'},_0x4bee35=_0x11b9d7(0x232)+(_0x256d12[_0x11b9d7(0x285)]||_0xbeb21d['Ekrve'])['padEnd'](0x26)+_0x11b9d7(0x259)+(_0x256d12['project']||_0xbeb21d[_0x11b9d7(0x1f9)])[_0x11b9d7(0x1e8)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x256d12['port']||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x256d12['configFile']||_0xbeb21d[_0x11b9d7(0x201)])['padEnd'](0x26)+_0x11b9d7(0x1fd)+(_0x256d12[_0x11b9d7(0x22c)]?_0xbeb21d['taxdN']:_0xbeb21d['WAPlQ'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x4bee35);const _0x21c045={'event':_0x11b9d7(0x20e),'project':_0x256d12[_0x11b9d7(0x227)],'port':_0x256d12['port'],'config':_0x256d12['configFile'],'apiKeyEnabled':!!_0x256d12[_0x11b9d7(0x22c)]};logger['info'](_0x21c045),writeToFileLog({..._0x21c045,'level':'info','msg':_0x11b9d7(0x1db)+_0x256d12['project']+_0x11b9d7(0x242)+_0x256d12['port'],'time':new Date()['toISOString']()},_0xbeb21d['sTwwF']);},logServerReady=_0x5414cb=>{const _0x1891ab=a0_0x5b8908,_0x33f834={'TdzoN':_0x1891ab(0x1e9),'ODDqU':function(_0x512725,_0x5546bc,_0x1aa724){return _0x512725(_0x5546bc,_0x1aa724);},'zsTzq':_0x1891ab(0x1f5)},_0x2f65b3={'event':_0x33f834['TdzoN'],'port':_0x5414cb['port'],'module':_0x5414cb[_0x1891ab(0x209)],'healthCheck':_0x5414cb['healthCheck'],'serviceInfo':_0x5414cb[_0x1891ab(0x251)],'baseUrl':_0x5414cb[_0x1891ab(0x234)]},_0xab5501=_0x1891ab(0x276)+_0x5414cb['port'];logger[_0x1891ab(0x1f5)](_0x2f65b3,_0xab5501),_0x33f834['ODDqU'](writeToFileLog,{..._0x2f65b3,'level':_0x33f834[_0x1891ab(0x27b)],'msg':_0xab5501,'time':new Date()[_0x1891ab(0x240)]()},_0x33f834[_0x1891ab(0x27b)]),_0x5414cb['healthCheck']&&logger[_0x1891ab(0x1f5)](_0x1891ab(0x255)+_0x5414cb[_0x1891ab(0x26a)]),_0x5414cb['serviceInfo']&&logger['info'](_0x1891ab(0x27a)+_0x5414cb['serviceInfo']),_0x5414cb['baseUrl']&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x5414cb[_0x1891ab(0x234)]);},logProjectLoaded=(_0x504add,_0xde0246)=>{const _0x21a9cb=a0_0x5b8908,_0xcfb1e2={'uOrrB':_0x21a9cb(0x1eb),'Mzfxv':function(_0x3fd868,_0xfee8ad,_0x70036){return _0x3fd868(_0xfee8ad,_0x70036);}},_0x2cb09c={'event':_0xcfb1e2['uOrrB'],'project':_0x504add,'path':_0xde0246},_0x302ba5='[OK]\x20Project\x20loaded:\x20'+_0x504add;logger['info'](_0x2cb09c,_0x302ba5),_0xcfb1e2['Mzfxv'](writeToFileLog,{..._0x2cb09c,'level':_0x21a9cb(0x1f5),'msg':_0x302ba5,'time':new Date()[_0x21a9cb(0x240)]()},_0x21a9cb(0x1f5));},logEndpointRegistered=(_0x483479,_0x276d04)=>{const _0x1eec75=a0_0x5b8908,_0x525531={'oIUND':function(_0x2b777c,_0x31f2de,_0x50764b){return _0x2b777c(_0x31f2de,_0x50764b);},'BIUJX':_0x1eec75(0x26b)},_0x258268={'event':_0x1eec75(0x27e),'endpoint':_0x483479,'route':_0x276d04},_0x4edfc8='\x20\x20→\x20'+_0x483479+':\x20'+_0x276d04;logger[_0x1eec75(0x26b)](_0x258268,_0x4edfc8),_0x525531[_0x1eec75(0x231)](writeToFileLog,{..._0x258268,'level':_0x1eec75(0x26b),'msg':_0x4edfc8,'time':new Date()[_0x1eec75(0x240)]()},_0x525531['BIUJX']);},logDatabaseConfig=_0x3b88b4=>{const _0x131c99=a0_0x5b8908,_0xa3deec={'ECTps':_0x131c99(0x26b)},_0x5c5426={'event':_0x131c99(0x1ee),'host':_0x3b88b4[_0x131c99(0x261)],'port':_0x3b88b4[_0x131c99(0x272)],'database':_0x3b88b4[_0x131c99(0x218)],'type':_0x3b88b4[_0x131c99(0x274)],'user':_0x3b88b4['user']},_0x3e2783='Database:\x20'+_0x3b88b4['type']+'://'+_0x3b88b4[_0x131c99(0x261)]+':'+_0x3b88b4['port']+'/'+_0x3b88b4['database'];logger[_0x131c99(0x26b)](_0x5c5426,_0x3e2783),writeToFileLog({..._0x5c5426,'level':_0xa3deec['ECTps'],'msg':_0x3e2783,'time':new Date()['toISOString']()},_0x131c99(0x26b));},logRequest=(_0x1df557,_0x3420e4,_0x2b5e1d)=>{const _0x2d4eb0=a0_0x5b8908,_0x10728a={'bYGkt':'http_request','bPCgT':'info','CNiTq':function(_0x22b073,_0x53925c){return _0x22b073>=_0x53925c;}},_0x3ddceb={'event':_0x10728a['bYGkt'],'method':_0x1df557[_0x2d4eb0(0x207)],'path':_0x1df557[_0x2d4eb0(0x21b)],'statusCode':_0x3420e4['statusCode'],'durationMs':_0x2b5e1d,'ip':_0x1df557['ip']},_0x24eb8c=_0x1df557['method']+'\x20'+_0x1df557['path']+_0x2d4eb0(0x265)+_0x3420e4['statusCode']+'\x20('+_0x2b5e1d+_0x2d4eb0(0x238);let _0x145e37=_0x10728a['bPCgT'];if(_0x10728a[_0x2d4eb0(0x211)](_0x3420e4[_0x2d4eb0(0x263)],0x1f4))_0x145e37='error',logger['error'](_0x3ddceb,_0x24eb8c);else _0x10728a['CNiTq'](_0x3420e4[_0x2d4eb0(0x263)],0x190)?(_0x145e37=_0x2d4eb0(0x25c),logger[_0x2d4eb0(0x25c)](_0x3ddceb,_0x24eb8c)):logger[_0x2d4eb0(0x1f5)](_0x3ddceb,_0x24eb8c);writeToFileLog({..._0x3ddceb,'level':_0x145e37,'msg':_0x24eb8c,'time':new Date()[_0x2d4eb0(0x240)]()},_0x145e37);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x5b8908(0x278),a0_0x5b8908(0x1ff),a0_0x5b8908(0x1fb),'access_token','refresh_token',a0_0x5b8908(0x245),a0_0x5b8908(0x21f),a0_0x5b8908(0x233),a0_0x5b8908(0x1ea),'credential','credentials','pin',a0_0x5b8908(0x22a),a0_0x5b8908(0x268),'privatekey'],redactSensitiveParams=(_0x571464,_0x29df07)=>{const _0x56b838=a0_0x5b8908;if(!_0x571464||_0x571464[_0x56b838(0x1f6)]===0x0)return _0x571464;const _0x29db8e=_0x29df07[_0x56b838(0x256)](),_0x13ac34=_0x29db8e[_0x56b838(0x1e3)](/\(([^)]+)\)\s*values/i);let _0xd42bb=[];_0x13ac34&&(_0xd42bb=_0x13ac34[0x1][_0x56b838(0x1ef)](',')['map'](_0x3abcc0=>_0x3abcc0['trim']()[_0x56b838(0x256)]()));const _0x17c976=_0x29db8e[_0x56b838(0x1e3)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x17c976){const _0x7a77a9=_0x17c976[0x1],_0x14e21d=_0x7a77a9['match'](/(\w+)\s*=/g);_0x14e21d&&(_0xd42bb=_0x14e21d['map'](_0x42c135=>_0x42c135['replace'](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x571464['map']((_0x31d3be,_0x15a562)=>{const _0x2bf435=_0x56b838;if(_0xd42bb[_0x15a562]){const _0x5c1ede=_0xd42bb[_0x15a562],_0x5ba03d=SENSITIVE_PARAM_PATTERNS['some'](_0x7a149f=>_0x5c1ede['includes'](_0x7a149f));if(_0x5ba03d)return'[REDACTED]';}if(typeof _0x31d3be===_0x2bf435(0x24e)&&_0x31d3be[_0x2bf435(0x1f6)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x31d3be)&&_0x31d3be['includes']('.'))return _0x2bf435(0x1d7);if(/^[a-fA-F0-9]{32,}$/[_0x2bf435(0x277)](_0x31d3be))return'[REDACTED:hash]';}return _0x31d3be;});},parseQueryMetadata=_0x28072a=>{const _0x423824=a0_0x5b8908,_0x14cec7={'GtVAN':_0x423824(0x236),'yMcxx':_0x423824(0x1cb),'UByTf':'UPDATE','sMdMl':'DELETE','UIrQS':'BEGIN','Xhnaz':'COMMIT','QkyiR':'TRANSACTION_COMMIT','HdHHk':_0x423824(0x287),'pobyB':_0x423824(0x266),'euYPx':_0x423824(0x25e),'aPkwS':'DDL_DROP'},_0x2580fa=_0x28072a['trim'](),_0x1aedd6=_0x2580fa['toUpperCase']();let _0x161d00=_0x14cec7[_0x423824(0x257)],_0x30558d=null;if(_0x1aedd6[_0x423824(0x1e2)](_0x423824(0x264))){_0x161d00='SELECT';const _0xc679cb=_0x2580fa[_0x423824(0x1e3)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x30558d=_0xc679cb?_0xc679cb[0x1]:null;}else{if(_0x1aedd6[_0x423824(0x1e2)](_0x14cec7[_0x423824(0x1d9)])){_0x161d00=_0x14cec7[_0x423824(0x1d9)];const _0x4b1367=_0x2580fa['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x30558d=_0x4b1367?_0x4b1367[0x1]:null;}else{if(_0x1aedd6[_0x423824(0x1e2)]('UPDATE')){_0x161d00=_0x14cec7[_0x423824(0x20b)];const _0x141c62=_0x2580fa[_0x423824(0x1e3)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x30558d=_0x141c62?_0x141c62[0x1]:null;}else{if(_0x1aedd6['startsWith']('DELETE')){_0x161d00=_0x14cec7['sMdMl'];const _0x5c745d=_0x2580fa['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x30558d=_0x5c745d?_0x5c745d[0x1]:null;}else{if(_0x1aedd6['startsWith'](_0x14cec7[_0x423824(0x215)])||_0x1aedd6[_0x423824(0x1e2)]('START\x20TRANSACTION'))_0x161d00=_0x423824(0x27c);else{if(_0x1aedd6['startsWith'](_0x14cec7[_0x423824(0x1d5)]))_0x161d00=_0x14cec7['QkyiR'];else{if(_0x1aedd6[_0x423824(0x1e2)]('ROLLBACK'))_0x161d00='TRANSACTION_ROLLBACK';else{if(_0x1aedd6[_0x423824(0x1e2)]('CREATE'))_0x161d00=_0x423824(0x202);else{if(_0x1aedd6[_0x423824(0x1e2)](_0x14cec7['HdHHk']))_0x161d00=_0x14cec7[_0x423824(0x260)];else _0x1aedd6[_0x423824(0x1e2)](_0x14cec7[_0x423824(0x271)])&&(_0x161d00=_0x14cec7[_0x423824(0x25a)]);}}}}}}}}return{'type':_0x161d00,'table':_0x30558d};},startQueryTimer=()=>{const _0x288196=a0_0x5b8908,_0x44093a={'dPXiv':function(_0x58aab8,_0x300eab){return _0x58aab8+_0x300eab;},'gLcxL':function(_0x33f465,_0x22256f){return _0x33f465*_0x22256f;}},_0x39b866=process[_0x288196(0x219)]();return()=>{const _0xc133d1=_0x288196,[_0xf8d2ae,_0x3c3dad]=process['hrtime'](_0x39b866);return parseFloat(_0x44093a[_0xc133d1(0x1f8)](_0x44093a['gLcxL'](_0xf8d2ae,0x3e8),_0x3c3dad/0xf4240)['toFixed'](0x2));};},logQuery=(_0x145e6a,_0x1c2133=[],_0x18a42e={})=>{const _0xb20b45=a0_0x5b8908,_0x1f1f32={'kWhzM':function(_0x3ed3c3,_0x285970){return _0x3ed3c3(_0x285970);},'evTTV':'sql_query','pdwQw':function(_0x28a8c6,_0x577ff1,_0x1683be){return _0x28a8c6(_0x577ff1,_0x1683be);},'BvDYE':function(_0x42ef3b,_0x4d9497){return _0x42ef3b!==_0x4d9497;},'JTnfb':function(_0x3b5ac2,_0x5c0451){return _0x3b5ac2>_0x5c0451;},'gymPn':'debug','RLggO':_0xb20b45(0x25c)};if(!sqlLogEnabled){logger[_0xb20b45(0x26b)]({'event':'db_query','query':_0x145e6a[_0xb20b45(0x239)](0x0,0xc8),'paramCount':_0x1c2133[_0xb20b45(0x1f6)]},_0xb20b45(0x283));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x18a42e,{type:_0x3443b4,table:_0x35811b}=_0x1f1f32['kWhzM'](parseQueryMetadata,_0x145e6a),_0x206fe9={'event':_0x1f1f32[_0xb20b45(0x254)],'queryType':_0x3443b4,'table':_0x35811b,'query':_0x145e6a,'paramCount':_0x1c2133[_0xb20b45(0x1f6)],'dbType':dbType};sqlLogParams&&_0x1c2133[_0xb20b45(0x1f6)]>0x0&&(_0x206fe9['params']=_0x1f1f32['pdwQw'](redactSensitiveParams,_0x1c2133,_0x145e6a));_0x1f1f32[_0xb20b45(0x223)](duration,null)&&(_0x206fe9[_0xb20b45(0x21d)]=duration,_0x206fe9[_0xb20b45(0x27d)]=_0x1f1f32[_0xb20b45(0x1e6)](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x206fe9[_0xb20b45(0x203)]=rowsAffected);const _0x4db4ed=_0x35811b||'unknown';let _0x3c3803='['+_0x3443b4+']\x20'+_0x4db4ed;duration!==null&&(_0x3c3803+='\x20('+duration+'ms)');const _0x522f60=duration!==null&&_0x1f1f32['JTnfb'](duration,sqlLogSlowThreshold);let _0x26316a=_0x1f1f32[_0xb20b45(0x247)];if(_0x522f60)_0x3c3803+=_0xb20b45(0x24c),_0x26316a=_0x1f1f32[_0xb20b45(0x241)],logger['warn'](_0x206fe9,_0x3c3803);else sqlLogLevel==='info'?(_0x26316a=_0xb20b45(0x1f5),logger[_0xb20b45(0x1f5)](_0x206fe9,_0x3c3803)):logger[_0xb20b45(0x26b)](_0x206fe9,_0x3c3803);_0x1f1f32['pdwQw'](writeToFileLog,{..._0x206fe9,'level':_0x26316a,'msg':_0x3c3803,'time':new Date()[_0xb20b45(0x240)]()},_0x26316a);},logTransaction=(_0x3e9c97,_0x20d418)=>{const _0x1c119d=a0_0x5b8908,_0x45401e={'gNCLv':function(_0x1777f3,_0x581c3a,_0x3a5bcf){return _0x1777f3(_0x581c3a,_0x3a5bcf);},'YbBBc':_0x1c119d(0x26b)},_0x5a27d9={'event':_0x1c119d(0x24f),'status':_0x3e9c97,'queryCount':_0x20d418},_0x83bd90=_0x1c119d(0x23c)+_0x3e9c97;logger['debug'](_0x5a27d9,_0x83bd90),_0x45401e['gNCLv'](writeToFileLog,{..._0x5a27d9,'level':_0x45401e['YbBBc'],'msg':_0x83bd90,'time':new Date()['toISOString']()},_0x45401e[_0x1c119d(0x1f1)]);},redactObject=_0x399c50=>{const _0x220087=a0_0x5b8908,_0x1dcb1c={'RdlxR':_0x220087(0x1fa),'syEqo':'pwd','wlDzl':'token','RjFuM':_0x220087(0x1ea),'vuJoS':_0x220087(0x1ec),'SGvPU':_0x220087(0x249),'FCtgY':'pin','RKBIi':function(_0x169208,_0x6c669e){return _0x169208===_0x6c669e;},'YzfYZ':function(_0x204daf,_0x2e9a64){return _0x204daf(_0x2e9a64);}};if(!_0x399c50||typeof _0x399c50!==_0x220087(0x225))return _0x399c50;const _0x5aa704=[_0x1dcb1c['RdlxR'],_0x220087(0x278),_0x1dcb1c[_0x220087(0x280)],_0x1dcb1c[_0x220087(0x21c)],_0x220087(0x245),'apikey',_0x1dcb1c[_0x220087(0x1d6)],_0x1dcb1c[_0x220087(0x1e4)],'creditcard','credit_card',_0x220087(0x222),_0x1dcb1c[_0x220087(0x226)],_0x1dcb1c[_0x220087(0x206)],_0x220087(0x268),'privatekey','refresh_token',_0x220087(0x1d3)],_0x219e3e=Array[_0x220087(0x1f0)](_0x399c50)?[..._0x399c50]:{..._0x399c50};for(const _0x20f09e of Object[_0x220087(0x273)](_0x219e3e)){const _0x1ba3e5=_0x20f09e[_0x220087(0x256)]();if(_0x5aa704[_0x220087(0x22b)](_0x5613b8=>_0x1ba3e5[_0x220087(0x20d)](_0x5613b8)))_0x219e3e[_0x20f09e]=_0x220087(0x269);else _0x1dcb1c[_0x220087(0x1d2)](typeof _0x219e3e[_0x20f09e],_0x220087(0x225))&&_0x219e3e[_0x20f09e]!==null&&(_0x219e3e[_0x20f09e]=_0x1dcb1c[_0x220087(0x1f2)](redactObject,_0x219e3e[_0x20f09e]));}return _0x219e3e;},logError=(_0x101a97,_0x108e5e={},_0x14dbd0=null)=>{const _0x4e7376=a0_0x5b8908,_0x17e133={'xpkxY':_0x4e7376(0x24b),'tEsUN':_0x4e7376(0x221)},_0x4669bb={'event':_0x17e133['xpkxY'],'errorName':_0x101a97['name']||_0x17e133[_0x4e7376(0x1dc)],'errorMessage':_0x101a97['message'],'errorCode':_0x101a97[_0x4e7376(0x1d4)]||null,'stack':_0x101a97[_0x4e7376(0x243)],..._0x108e5e},_0xbf4f23=_0x14dbd0||'Error:\x20'+_0x101a97[_0x4e7376(0x262)];logger['error'](_0x4669bb,_0xbf4f23),writeToFileLog({..._0x4669bb,'level':_0x4e7376(0x24b),'msg':_0xbf4f23,'time':new Date()['toISOString']()},_0x17e133[_0x4e7376(0x1fc)]);},logFatalError=(_0x10af65,_0x1875d7={},_0x31c16f=null)=>{const _0xb39d04=a0_0x5b8908,_0x1aa26={'lZjcQ':_0xb39d04(0x253),'zxxdS':'error'},_0x3637da={'event':'fatal_error','errorName':_0x10af65[_0xb39d04(0x229)]||'Error','errorMessage':_0x10af65[_0xb39d04(0x262)],'errorCode':_0x10af65[_0xb39d04(0x1d4)]||null,'stack':_0x10af65[_0xb39d04(0x243)],'severity':'CRITICAL',..._0x1875d7},_0x4791b4=_0x31c16f||_0xb39d04(0x20c)+_0x10af65[_0xb39d04(0x262)];logger['fatal'](_0x3637da,_0x4791b4),writeToFileLog({..._0x3637da,'level':_0x1aa26['lZjcQ'],'msg':_0x4791b4,'time':new Date()[_0xb39d04(0x240)]()},_0x1aa26[_0xb39d04(0x1d1)]);},logHttpError=(_0x5d3f0e,_0x18d1ba,_0x41f101={})=>{const _0x43db3a=a0_0x5b8908,_0x121194={'QyJqP':_0x43db3a(0x200),'LsXOW':_0x43db3a(0x26d),'lZcwZ':function(_0x20b4c0,_0x2c62ff){return _0x20b4c0>=_0x2c62ff;},'ByIDr':function(_0x51e13d,_0x5bdc72,_0x50b5a6){return _0x51e13d(_0x5bdc72,_0x50b5a6);},'xzQev':_0x43db3a(0x25c)},_0x205ecf={'event':_0x121194['QyJqP'],'errorName':_0x5d3f0e[_0x43db3a(0x229)]||'Error','errorMessage':_0x5d3f0e[_0x43db3a(0x262)],'errorCode':_0x5d3f0e[_0x43db3a(0x1d4)]||_0x5d3f0e[_0x43db3a(0x263)]||0x1f4,'stack':_0x5d3f0e[_0x43db3a(0x243)],'method':_0x18d1ba?.[_0x43db3a(0x207)],'url':_0x18d1ba?.[_0x43db3a(0x1e0)]||_0x18d1ba?.[_0x43db3a(0x270)],'path':_0x18d1ba?.['path'],'ip':_0x18d1ba?.['ip']||_0x18d1ba?.[_0x43db3a(0x20f)]?.['remoteAddress'],'userAgent':_0x18d1ba?.['get']?.('user-agent'),'requestId':_0x18d1ba?.['id']||_0x18d1ba?.[_0x43db3a(0x1e5)]?.[_0x121194['LsXOW']],'body':_0x18d1ba?.[_0x43db3a(0x213)]?redactObject(_0x18d1ba[_0x43db3a(0x213)]):undefined,'query':_0x18d1ba?.['query'],..._0x41f101},_0x1e4590=_0x5d3f0e[_0x43db3a(0x263)]||_0x5d3f0e[_0x43db3a(0x208)]||0x1f4,_0x8c8b8c='HTTP\x20'+_0x1e4590+':\x20'+_0x5d3f0e['message'];_0x121194['lZcwZ'](_0x1e4590,0x1f4)?logger['error'](_0x205ecf,_0x8c8b8c):logger['warn'](_0x205ecf,_0x8c8b8c),_0x121194['ByIDr'](writeToFileLog,{..._0x205ecf,'level':_0x121194[_0x43db3a(0x1f7)](_0x1e4590,0x1f4)?'error':_0x121194['xzQev'],'msg':_0x8c8b8c,'time':new Date()[_0x43db3a(0x240)]()},_0x121194[_0x43db3a(0x1f7)](_0x1e4590,0x1f4)?'error':_0x43db3a(0x25c));},logUncaughtError=(_0x4d2d80,_0x366beb)=>{const _0x2c6217=a0_0x5b8908,_0x347fc9={'Dgcua':'error'},_0x2fa369={'event':_0x4d2d80,'errorName':_0x366beb?.['name']||'Error','errorMessage':_0x366beb?.[_0x2c6217(0x262)]||String(_0x366beb),'errorCode':_0x366beb?.[_0x2c6217(0x1d4)]||null,'stack':_0x366beb?.['stack'],'severity':_0x2c6217(0x1cd),'processId':process['pid'],'memoryUsage':process[_0x2c6217(0x24d)](),'uptime':process[_0x2c6217(0x1ce)]()},_0x32670f='['+_0x4d2d80['toUpperCase']()+']\x20'+(_0x366beb?.[_0x2c6217(0x262)]||_0x366beb);logger['fatal'](_0x2fa369,_0x32670f),writeToFileLog({..._0x2fa369,'level':'fatal','msg':_0x32670f,'time':new Date()[_0x2c6217(0x240)]()},_0x347fc9[_0x2c6217(0x26c)]);},setupGlobalErrorHandlers=()=>{const _0x444725=a0_0x5b8908,_0x56a5b5={'weToj':function(_0xda7366,_0x89fe76,_0x491b19){return _0xda7366(_0x89fe76,_0x491b19);},'WioAG':function(_0x2debb0,_0x4038a7){return _0x2debb0 instanceof _0x4038a7;},'SMjYL':function(_0x1518bc,_0x12e2c3){return _0x1518bc(_0x12e2c3);},'RUytX':'unhandledRejection','KWYXx':'global_error_handlers_setup','jWxtp':_0x444725(0x258),'DhIkj':'info'};process['on'](_0x444725(0x220),_0x1b4bd2=>{const _0x4135a9=_0x444725;_0x56a5b5[_0x4135a9(0x284)](logUncaughtError,'uncaughtException',_0x1b4bd2),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x444725(0x275),(_0x198062,_0x562edc)=>{const _0x4834bd=_0x444725,_0x122a0d=_0x56a5b5['WioAG'](_0x198062,Error)?_0x198062:new Error(_0x56a5b5[_0x4834bd(0x1fe)](String,_0x198062));logUncaughtError(_0x56a5b5[_0x4834bd(0x214)],_0x122a0d);}),process['on'](_0x444725(0x23d),_0x4d5a32=>{const _0x48cde6=_0x444725;logger['warn']({'event':_0x48cde6(0x1dd),'name':_0x4d5a32['name'],'message':_0x4d5a32[_0x48cde6(0x262)],'stack':_0x4d5a32['stack']},'Process\x20Warning:\x20'+_0x4d5a32[_0x48cde6(0x262)]);});const _0x427978={'event':_0x56a5b5['KWYXx']},_0x448b39=_0x56a5b5[_0x444725(0x282)];logger['info'](_0x427978,_0x448b39),writeToFileLog({..._0x427978,'level':_0x56a5b5[_0x444725(0x20a)],'msg':_0x448b39,'time':new Date()['toISOString']()},_0x56a5b5[_0x444725(0x20a)]);},createErrorHandlerMiddleware=()=>{return(_0x4bd9d9,_0x185228,_0x28fc04,_0x34f4af)=>{const _0x4848bf=a0_0x36e2;logHttpError(_0x4bd9d9,_0x185228);const _0x4ff06e=_0x4bd9d9[_0x4848bf(0x263)]||_0x4bd9d9[_0x4848bf(0x208)]||0x1f4;_0x28fc04['status'](_0x4ff06e)['json']({'success':![],'error':_0x4ff06e>=0x1f4?_0x4848bf(0x25d):_0x4bd9d9['message'],'requestId':_0x185228['id']||_0x185228['headers']?.['x-request-id']||null});};};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}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0x4a2d(){const _0x15bf0c=['ChjVBwLZzxm','Axnby3rPB25fBMfIBgvK','Cgf5Bg9Hzf9SB2fKzwq','mtj0Aunor0S','DgfIBgvoyw1L','Bg9HzfbHEwXVywrcEu5HBwu','lI4VlI4VCgf5Bg9Hza','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','AgfZ','ouD6r0zIwG','D2rXwMO','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','mtuXmJy1EKfNALbN','mJi3nte0muH6DLn6yG','zgvIDwC','Aw5MBW','BwvZC2fNzq','C2v0','AM9PBG','nde1ndyZmhD6r21qEa','mtjbCKHtzee','mJCXote2ohLsrefowG','ywn0Aw9U','y2XLyxjdywnOzq','CgfYC2u','mJeXodi4ne11uuv3sq','y2fJAgu','CNHmvK8','mJi0mtm5sfb3Bfr2','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','ntq3mJLyrhvwC2q','lI9SB2DNzxi','wKzSDhe','lwv4Cg9YDa','nZHgu01QuKu','Cgf5Bg9HzerPCG','zMLLBgrmywjLBhm','DxrMoa'];a0_0x4a2d=function(){return _0x15bf0c;};return a0_0x4a2d();}const a0_0x3241a4=a0_0x2fdf;(function(_0x3b3c1e,_0x118d2f){const _0xf40574=a0_0x2fdf,_0x3b94f7=_0x3b3c1e();while(!![]){try{const _0x3191a0=parseInt(_0xf40574(0x1b8))/0x1+parseInt(_0xf40574(0x1be))/0x2*(parseInt(_0xf40574(0x1ba))/0x3)+parseInt(_0xf40574(0x19f))/0x4*(-parseInt(_0xf40574(0x1a8))/0x5)+-parseInt(_0xf40574(0x1b0))/0x6*(parseInt(_0xf40574(0x1b5))/0x7)+parseInt(_0xf40574(0x1b1))/0x8*(parseInt(_0xf40574(0x1a5))/0x9)+-parseInt(_0xf40574(0x1af))/0xa+parseInt(_0xf40574(0x1a9))/0xb;if(_0x3191a0===_0x118d2f)break;else _0x3b94f7['push'](_0x3b94f7['shift']());}catch(_0x4e0f9c){_0x3b94f7['push'](_0x3b94f7['shift']());}}}(a0_0x4a2d,0x5a8d1));function a0_0x2fdf(_0x2f69f5,_0x45ac50){_0x2f69f5=_0x2f69f5-0x19f;const _0x4a2deb=a0_0x4a2d();let _0x2fdf13=_0x4a2deb[_0x2f69f5];if(a0_0x2fdf['zPbXVE']===undefined){var _0x489bbe=function(_0x312873){const _0x21e496='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x37670b='',_0x184771='';for(let _0x329f40=0x0,_0x53a5aa,_0x1be50e,_0xb26ad6=0x0;_0x1be50e=_0x312873['charAt'](_0xb26ad6++);~_0x1be50e&&(_0x53a5aa=_0x329f40%0x4?_0x53a5aa*0x40+_0x1be50e:_0x1be50e,_0x329f40++%0x4)?_0x37670b+=String['fromCharCode'](0xff&_0x53a5aa>>(-0x2*_0x329f40&0x6)):0x0){_0x1be50e=_0x21e496['indexOf'](_0x1be50e);}for(let _0x17b362=0x0,_0x9187bb=_0x37670b['length'];_0x17b362<_0x9187bb;_0x17b362++){_0x184771+='%'+('00'+_0x37670b['charCodeAt'](_0x17b362)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x184771);};a0_0x2fdf['rvpsgy']=_0x489bbe,a0_0x2fdf['LZkjEJ']={},a0_0x2fdf['zPbXVE']=!![];}const _0x341b89=_0x4a2deb[0x0],_0x4e185f=_0x2f69f5+_0x341b89,_0x3dc495=a0_0x2fdf['LZkjEJ'][_0x4e185f];return!_0x3dc495?(_0x2fdf13=a0_0x2fdf['rvpsgy'](_0x2fdf13),a0_0x2fdf['LZkjEJ'][_0x4e185f]=_0x2fdf13):_0x2fdf13=_0x3dc495,_0x2fdf13;}const fs=require('fs')[a0_0x3241a4(0x1c2)],path=require('path'),{logger}=require(a0_0x3241a4(0x1bb));class PayloadLoader{constructor(){const _0x295cc4=a0_0x3241a4;this[_0x295cc4(0x1bf)]=path['join'](__dirname,_0x295cc4(0x1a2)),this['cache']=new Map();}async['loadPayload'](_0x1dd387,_0x3d4fa7){const _0x2c1166=a0_0x3241a4,_0xd614b3={'FCYHN':'utf8','ZFltq':'payload_loaded','SECpZ':'Payload\x20loaded\x20successfully','wdqZj':_0x2c1166(0x1a7)},_0x4754e5=_0x1dd387+':'+_0x3d4fa7;if(this['cache'][_0x2c1166(0x1a4)](_0x4754e5))return this[_0x2c1166(0x1b6)]['get'](_0x4754e5);const _0xa30ccf=path[_0x2c1166(0x1ae)](this['payloadDir'],_0x1dd387+'_'+_0x3d4fa7+'.json');try{const _0x447091=await fs['readFile'](_0xa30ccf,_0xd614b3['FCYHN']),_0x4e2595=JSON[_0x2c1166(0x1b4)](_0x447091);return this['cache'][_0x2c1166(0x1ad)](_0x4754e5,_0x4e2595),logger[_0x2c1166(0x1aa)]({'event':_0xd614b3[_0x2c1166(0x1bc)],'project':_0x1dd387,'resource':_0x3d4fa7},_0xd614b3['SECpZ']),_0x4e2595;}catch(_0x13bcf5){logger['error']({'event':_0x2c1166(0x1b9),'project':_0x1dd387,'resource':_0x3d4fa7,'error':_0x13bcf5[_0x2c1166(0x1ac)]},_0xd614b3[_0x2c1166(0x1a6)]);throw new Error('Payload\x20not\x20found:\x20'+_0x1dd387+'_'+_0x3d4fa7);}}async[a0_0x3241a4(0x1a1)](_0x544064){const _0x56bf23=a0_0x3241a4,_0x2be8b1={'rxLVO':_0x56bf23(0x1c1)},_0x5a9c96='payload:'+_0x544064;if(this[_0x56bf23(0x1b6)][_0x56bf23(0x1a4)](_0x5a9c96))return this['cache']['get'](_0x5a9c96);const _0x3796af=path['join'](this[_0x56bf23(0x1bf)],_0x544064+'.json');try{const _0x119b8c=await fs['readFile'](_0x3796af,_0x2be8b1[_0x56bf23(0x1b7)]),_0x5165fe=JSON[_0x56bf23(0x1b4)](_0x119b8c);return this[_0x56bf23(0x1b6)]['set'](_0x5a9c96,_0x5165fe),logger[_0x56bf23(0x1aa)]({'event':_0x56bf23(0x1c4),'payloadName':_0x544064},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x5165fe;}catch(_0x579427){logger['error']({'event':_0x56bf23(0x1b9),'payloadName':_0x544064,'error':_0x579427[_0x56bf23(0x1ac)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error('Payload\x20not\x20found:\x20'+_0x544064);}}[a0_0x3241a4(0x1c3)](_0x441f3b,_0x397993){const _0x411c47=a0_0x3241a4,_0x35053f={'YKTAi':function(_0x54baf1,_0x4d4106){return _0x54baf1===_0x4d4106;}};return _0x441f3b['action']&&_0x35053f['YKTAi'](_0x441f3b[_0x411c47(0x1b2)][_0x397993],!![]);}['getExportConfig'](_0xf18e9e){const _0x1a4dbd=a0_0x3241a4;return{'columns':_0xf18e9e['fieldName']||[],'filename':_0xf18e9e[_0x1a4dbd(0x1a0)]['replace']('.','-')+_0x1a4dbd(0x1bd),'datatablesQuery':_0xf18e9e['datatablesQuery']||null,'columnFormats':_0xf18e9e['columnFormats']||null,'fieldLabels':_0xf18e9e[_0x1a4dbd(0x1c0)]||null};}[a0_0x3241a4(0x1b3)](){const _0x460402=a0_0x3241a4,_0x8c052f={'ZpKrp':_0x460402(0x1a3)};this[_0x460402(0x1b6)]['clear'](),logger[_0x460402(0x1ab)]({'event':'payload_cache_cleared'},_0x8c052f['ZpKrp']);}}module['exports']=new PayloadLoader();
|