@restforgejs/platform 5.1.4 → 5.1.6
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/cli/data/pull.js +16 -7
- package/generators/cli/data/push.js +17 -7
- package/generators/cli/init.js +347 -97
- package/generators/lib/data/data-scope.js +138 -0
- package/generators/lib/data/envelope.js +25 -9
- package/generators/lib/data/pull-runner.js +44 -37
- package/generators/lib/data/push-runner.js +64 -46
- 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/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
|
-
const
|
|
1
|
+
const a0_0x556bcf=a0_0x5700;function a0_0x4be0(){const _0x42649e=['mJyWnZLQv2Tuq0W','C3rYAw5N','mJjLEuzOugO','D2fYBG','z2v0rNvSBfLLyxi','mZi2nZKZnw11wLjyza','BwvZC2fNzq','zxHWB3j0CW','tvvzqNa','zxjYB3i','zM9YBwf0vgLTzxn0yw1W','zurKEei','n2XdsKnYEG','BgDsAg0','ndG5mdeYuhPJvfrO','uKLqrhi','mtGWv3Pgvw9R','rxjYB3iGzM9YBwf0DgLUzYbKyxrLDgLTztOG','wND2zvO','zKTnuMi','mJK3mJq0mhb2tgPhsq','z2v0rgf0zq','DgLTzxn0yw1W','BgvUz3rO','z2v0tw9UDgG','C3bSAxq','zwDlwM8','mJvVrxvtsNC','nde2mJbks3vfCva','mJC3nZe0D0Dor3zA','otm5ndqWAwzzB1DK','zM9YBwf0vgLTzq','z2v0sg91CNm','DgLTzq','CgfKu3rHCNq'];a0_0x4be0=function(){return _0x42649e;};return a0_0x4be0();}function a0_0x5700(_0x2ef263,_0x1c1bcd){_0x2ef263=_0x2ef263-0x132;const _0x4be08c=a0_0x4be0();let _0x570019=_0x4be08c[_0x2ef263];if(a0_0x5700['uIXDlE']===undefined){var _0x31efd0=function(_0x2f4f5c){const _0x59281e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x47372c='',_0x1acac9='';for(let _0x476adf=0x0,_0x29028c,_0x5787f0,_0x56c984=0x0;_0x5787f0=_0x2f4f5c['charAt'](_0x56c984++);~_0x5787f0&&(_0x29028c=_0x476adf%0x4?_0x29028c*0x40+_0x5787f0:_0x5787f0,_0x476adf++%0x4)?_0x47372c+=String['fromCharCode'](0xff&_0x29028c>>(-0x2*_0x476adf&0x6)):0x0){_0x5787f0=_0x59281e['indexOf'](_0x5787f0);}for(let _0x555c9f=0x0,_0x48413c=_0x47372c['length'];_0x555c9f<_0x48413c;_0x555c9f++){_0x1acac9+='%'+('00'+_0x47372c['charCodeAt'](_0x555c9f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1acac9);};a0_0x5700['WTVsnS']=_0x31efd0,a0_0x5700['SjGxsE']={},a0_0x5700['uIXDlE']=!![];}const _0x5215a9=_0x4be08c[0x0],_0x5d4d62=_0x2ef263+_0x5215a9,_0x1a5497=a0_0x5700['SjGxsE'][_0x5d4d62];return!_0x1a5497?(_0x570019=a0_0x5700['WTVsnS'](_0x570019),a0_0x5700['SjGxsE'][_0x5d4d62]=_0x570019):_0x570019=_0x1a5497,_0x570019;}(function(_0x26cb2f,_0x1bbfd1){const _0x214f4f=a0_0x5700,_0x58e5bb=_0x26cb2f();while(!![]){try{const _0x503f2d=-parseInt(_0x214f4f(0x14e))/0x1+parseInt(_0x214f4f(0x133))/0x2*(-parseInt(_0x214f4f(0x154))/0x3)+parseInt(_0x214f4f(0x14f))/0x4+-parseInt(_0x214f4f(0x14c))/0x5*(parseInt(_0x214f4f(0x13f))/0x6)+-parseInt(_0x214f4f(0x13d))/0x7*(-parseInt(_0x214f4f(0x145))/0x8)+-parseInt(_0x214f4f(0x141))/0x9*(-parseInt(_0x214f4f(0x14d))/0xa)+parseInt(_0x214f4f(0x136))/0xb;if(_0x503f2d===_0x1bbfd1)break;else _0x58e5bb['push'](_0x58e5bb['shift']());}catch(_0xac9223){_0x58e5bb['push'](_0x58e5bb['shift']());}}}(a0_0x4be0,0x32445));class DateTimeFormatter{static['format'](_0x366dd4,_0x36c007,_0x4d85b0){const _0x863aca=a0_0x5700,_0x4b3d08={'RIPDr':function(_0x44fa2e,_0x480689){return _0x44fa2e===_0x480689;},'AHqPs':_0x863aca(0x147),'wjlfn':_0x863aca(0x152)};if(!_0x366dd4)return null;try{if(_0x4d85b0==='date')return this['formatDate'](_0x366dd4,_0x36c007);else{if(_0x4b3d08[_0x863aca(0x140)](_0x4d85b0,_0x4b3d08['AHqPs']))return this['formatTimestamp'](_0x366dd4,_0x36c007);else{if(_0x4d85b0===_0x4b3d08['wjlfn'])return this['formatTime'](_0x366dd4,_0x36c007);}}return _0x366dd4;}catch(_0x563719){return console[_0x863aca(0x13a)](_0x863aca(0x142)+_0x563719[_0x863aca(0x137)]),_0x366dd4;}}static['formatDate'](_0x2153be,_0x5f33bc){const _0x3f2694=a0_0x5700,_0x42786d={'egKZo':function(_0x506f5a,_0x14b353){return _0x506f5a(_0x14b353);},'fKMRb':function(_0x55a2db,_0x417392){return _0x55a2db(_0x417392);},'ZwveZ':function(_0x3bcc60,_0x471bb0){return _0x3bcc60+_0x471bb0;}},_0x1acc74=new Date(_0x2153be);if(_0x42786d[_0x3f2694(0x14b)](isNaN,_0x1acc74['getTime']()))return console[_0x3f2694(0x134)]('Invalid\x20date\x20value:\x20'+_0x2153be),_0x2153be;const _0x49218e=_0x42786d[_0x3f2694(0x144)](String,_0x1acc74['getDate']())[_0x3f2694(0x153)](0x2,'0'),_0x34d461=String(_0x42786d[_0x3f2694(0x143)](_0x1acc74['getMonth'](),0x1))['padStart'](0x2,'0'),_0x5d44af=_0x1acc74['getFullYear'](),_0x4f6147={'dd/MM/yyyy':_0x49218e+'/'+_0x34d461+'/'+_0x5d44af,'dd-MM-yyyy':_0x49218e+'-'+_0x34d461+'-'+_0x5d44af,'MM/dd/yyyy':_0x34d461+'/'+_0x49218e+'/'+_0x5d44af,'yyyy/MM/dd':_0x5d44af+'/'+_0x34d461+'/'+_0x49218e,'yyyy-MM-dd':_0x5d44af+'-'+_0x34d461+'-'+_0x49218e};return _0x4f6147[_0x5f33bc]||_0x5d44af+'-'+_0x34d461+'-'+_0x49218e;}static[a0_0x556bcf(0x13b)](_0xefbd08,_0x1206a7){const _0xfa1cdb=a0_0x556bcf,_0x56363d={'MUYBp':function(_0x284de9,_0xd3dd80){return _0x284de9(_0xd3dd80);},'lgRhm':function(_0x13dcd7,_0x10a69e){return _0x13dcd7+_0x10a69e;}},_0x2a83fc=new Date(_0xefbd08);if(isNaN(_0x2a83fc['getTime']()))return console['warn']('Invalid\x20timestamp\x20value:\x20'+_0xefbd08),_0xefbd08;const _0x3703c6=String(_0x2a83fc[_0xfa1cdb(0x146)]())[_0xfa1cdb(0x153)](0x2,'0'),_0x44ce5b=_0x56363d[_0xfa1cdb(0x139)](String,_0x56363d[_0xfa1cdb(0x13e)](_0x2a83fc[_0xfa1cdb(0x149)](),0x1))['padStart'](0x2,'0'),_0x17c649=_0x2a83fc[_0xfa1cdb(0x135)](),_0x2e07c0=String(_0x2a83fc[_0xfa1cdb(0x151)]())['padStart'](0x2,'0'),_0x2dc5d7=_0x56363d['MUYBp'](String,_0x2a83fc['getMinutes']())['padStart'](0x2,'0'),_0x414b48=_0x56363d['MUYBp'](String,_0x2a83fc['getSeconds']())[_0xfa1cdb(0x153)](0x2,'0'),_0x5c66fc=_0x1206a7[_0xfa1cdb(0x14a)]('\x20');if(_0x5c66fc[_0xfa1cdb(0x148)]!==0x2)return _0x17c649+'-'+_0x44ce5b+'-'+_0x3703c6+'\x20'+_0x2e07c0+':'+_0x2dc5d7+':'+_0x414b48;const _0x34eb9c=_0x5c66fc[0x0],_0x2d6eeb=_0x5c66fc[0x1],_0x1c8f47={'dd/MM/yyyy':_0x3703c6+'/'+_0x44ce5b+'/'+_0x17c649,'dd-MM-yyyy':_0x3703c6+'-'+_0x44ce5b+'-'+_0x17c649,'MM/dd/yyyy':_0x44ce5b+'/'+_0x3703c6+'/'+_0x17c649,'yyyy/MM/dd':_0x17c649+'/'+_0x44ce5b+'/'+_0x3703c6,'yyyy-MM-dd':_0x17c649+'-'+_0x44ce5b+'-'+_0x3703c6},_0x3ee793={'HH:mm':_0x2e07c0+':'+_0x2dc5d7,'HH:mm:ss':_0x2e07c0+':'+_0x2dc5d7+':'+_0x414b48,'hh:mm':_0x2e07c0+':'+_0x2dc5d7},_0x5833dd=_0x1c8f47[_0x34eb9c]||_0x17c649+'-'+_0x44ce5b+'-'+_0x3703c6,_0x4ad90a=_0x3ee793[_0x2d6eeb]||_0x2e07c0+':'+_0x2dc5d7+':'+_0x414b48;return _0x5833dd+'\x20'+_0x4ad90a;}static[a0_0x556bcf(0x150)](_0x563d00,_0x2268d3){const _0x55454c=a0_0x556bcf,_0x2b801b={'ommnE':_0x55454c(0x132),'eDdxB':function(_0x2f7ad2,_0x2a665b){return _0x2f7ad2<_0x2a665b;}};if(typeof _0x563d00!==_0x2b801b['ommnE'])return _0x563d00;const _0x2293c5=_0x563d00[_0x55454c(0x14a)](':');if(_0x2b801b[_0x55454c(0x13c)](_0x2293c5[_0x55454c(0x148)],0x2))return console['warn']('Invalid\x20time\x20value:\x20'+_0x563d00),_0x563d00;const _0x2b161f=_0x2293c5[0x0]['padStart'](0x2,'0'),_0x57a147=_0x2293c5[0x1]['padStart'](0x2,'0'),_0x51b9e7=_0x2293c5[0x2]?_0x2293c5[0x2]['split']('.')[0x0][_0x55454c(0x153)](0x2,'0'):'00',_0x16ee59={'HH:mm':_0x2b161f+':'+_0x57a147,'HH:mm:ss':_0x2b161f+':'+_0x57a147+':'+_0x51b9e7,'hh:mm':_0x2b161f+':'+_0x57a147};return _0x16ee59[_0x2268d3]||_0x2b161f+':'+_0x57a147+':'+_0x51b9e7;}}module[a0_0x556bcf(0x138)]=DateTimeFormatter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x1fc7aa=a0_0x1f93;function a0_0x1f93(_0x58b3e7,_0x4703b7){_0x58b3e7=_0x58b3e7-0x10f;const _0x5debda=a0_0x5deb();let _0x1f93e0=_0x5debda[_0x58b3e7];if(a0_0x1f93['oKPAoj']===undefined){var _0x47a343=function(_0x5e6d75){const _0x48c460='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x309852='',_0xa6e65a='';for(let _0xe98bb7=0x0,_0x31d987,_0x3b8f5e,_0xca9204=0x0;_0x3b8f5e=_0x5e6d75['charAt'](_0xca9204++);~_0x3b8f5e&&(_0x31d987=_0xe98bb7%0x4?_0x31d987*0x40+_0x3b8f5e:_0x3b8f5e,_0xe98bb7++%0x4)?_0x309852+=String['fromCharCode'](0xff&_0x31d987>>(-0x2*_0xe98bb7&0x6)):0x0){_0x3b8f5e=_0x48c460['indexOf'](_0x3b8f5e);}for(let _0x14fdb2=0x0,_0x3f3e49=_0x309852['length'];_0x14fdb2<_0x3f3e49;_0x14fdb2++){_0xa6e65a+='%'+('00'+_0x309852['charCodeAt'](_0x14fdb2)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xa6e65a);};a0_0x1f93['djJVsG']=_0x47a343,a0_0x1f93['etXPkg']={},a0_0x1f93['oKPAoj']=!![];}const _0x1e122d=_0x5debda[0x0],_0x204e7e=_0x58b3e7+_0x1e122d,_0x451ec1=a0_0x1f93['etXPkg'][_0x204e7e];return!_0x451ec1?(_0x1f93e0=a0_0x1f93['djJVsG'](_0x1f93e0),a0_0x1f93['etXPkg'][_0x204e7e]=_0x1f93e0):_0x1f93e0=_0x451ec1,_0x1f93e0;}(function(_0x2b6d9b,_0x48e8b4){const _0x2e42ec=a0_0x1f93,_0x244eb5=_0x2b6d9b();while(!![]){try{const _0x287df0=-parseInt(_0x2e42ec(0x117))/0x1*(-parseInt(_0x2e42ec(0x115))/0x2)+-parseInt(_0x2e42ec(0x119))/0x3*(parseInt(_0x2e42ec(0x10f))/0x4)+parseInt(_0x2e42ec(0x124))/0x5+-parseInt(_0x2e42ec(0x127))/0x6+parseInt(_0x2e42ec(0x12d))/0x7*(parseInt(_0x2e42ec(0x131))/0x8)+-parseInt(_0x2e42ec(0x134))/0x9*(-parseInt(_0x2e42ec(0x118))/0xa)+parseInt(_0x2e42ec(0x120))/0xb*(-parseInt(_0x2e42ec(0x116))/0xc);if(_0x287df0===_0x48e8b4)break;else _0x244eb5['push'](_0x244eb5['shift']());}catch(_0x55bce1){_0x244eb5['push'](_0x244eb5['shift']());}}}(a0_0x5deb,0xecac8));class DateTimeParser{static[a0_0x1fc7aa(0x11d)](_0x2f82de,_0x4a3fee,_0x196ee7){const _0x2c3f7d=a0_0x1fc7aa,_0x593807={'YCIiL':function(_0x168a35,_0x5a60a8){return _0x168a35===_0x5a60a8;},'mgNgy':function(_0x3ac21f,_0x3eb5f8){return _0x3ac21f===_0x3eb5f8;},'aNuuE':'time'};if(!_0x2f82de||_0x593807['YCIiL'](_0x2f82de,''))return null;try{if(_0x196ee7===_0x2c3f7d(0x112))return this[_0x2c3f7d(0x114)](_0x2f82de,_0x4a3fee);else{if(_0x196ee7==='timestamp')return this['parseTimestamp'](_0x2f82de,_0x4a3fee);else{if(_0x593807[_0x2c3f7d(0x133)](_0x196ee7,_0x593807['aNuuE']))return this[_0x2c3f7d(0x136)](_0x2f82de,_0x4a3fee);}}return _0x2f82de;}catch(_0x2aa70f){return console[_0x2c3f7d(0x12b)](_0x2c3f7d(0x126)+_0x2aa70f['message']),null;}}static['parseDate'](_0x5341df,_0x29f4e8){const _0x34fc40=a0_0x1fc7aa,_0x5aff2f={'zkokE':function(_0x32ff20,_0x15efd3){return _0x32ff20===_0x15efd3;},'fgVfz':'yyyy-MM-dd','sxneL':_0x34fc40(0x12c),'iCiFO':'month','KMcjo':'year'};if(!_0x29f4e8||_0x5aff2f[_0x34fc40(0x132)](_0x29f4e8,_0x5aff2f['fgVfz']))return _0x5341df;const _0x10be07={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x5aff2f['sxneL'],_0x34fc40(0x135),_0x34fc40(0x11c)]},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':[_0x5aff2f['sxneL'],_0x5aff2f[_0x34fc40(0x11a)],_0x5aff2f[_0x34fc40(0x110)]]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':['month',_0x5aff2f['sxneL'],_0x5aff2f[_0x34fc40(0x110)]]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x5aff2f['KMcjo'],_0x5aff2f[_0x34fc40(0x11a)],_0x34fc40(0x12c)]}},_0x7059fc=_0x10be07[_0x29f4e8];if(!_0x7059fc)return console[_0x34fc40(0x113)]('Unknown\x20date\x20format:\x20'+_0x29f4e8+_0x34fc40(0x12f)),null;const _0x578bd9=_0x5341df[_0x34fc40(0x123)](_0x7059fc[_0x34fc40(0x121)]);if(!_0x578bd9)return console[_0x34fc40(0x113)]('Date\x20value\x20\x22'+_0x5341df+_0x34fc40(0x12e)+_0x29f4e8+'\x22'),null;const _0x30e95d={'day':null,'month':null,'year':null};return _0x7059fc['order'][_0x34fc40(0x128)]((_0x37fae3,_0x343d23)=>{_0x30e95d[_0x37fae3]=_0x578bd9[_0x343d23+0x1];}),_0x30e95d[_0x34fc40(0x11c)]+'-'+_0x30e95d[_0x34fc40(0x135)]+'-'+_0x30e95d[_0x34fc40(0x12c)];}static[a0_0x1fc7aa(0x11f)](_0xb3cc5b,_0x5360ce){const _0x25dd96=a0_0x1fc7aa,_0x57d6b7={'RoSek':function(_0x297c6d,_0x29b602){return _0x297c6d===_0x29b602;},'WIOMJ':_0x25dd96(0x111),'uNqRQ':function(_0x2a05f4,_0x59ef3c){return _0x2a05f4!==_0x59ef3c;}};if(!_0x5360ce||_0x57d6b7['RoSek'](_0x5360ce,_0x57d6b7['WIOMJ']))return _0xb3cc5b;const _0x5f098d=_0xb3cc5b[_0x25dd96(0x130)]('\x20');if(_0x57d6b7[_0x25dd96(0x125)](_0x5f098d[_0x25dd96(0x12a)],0x2))return console[_0x25dd96(0x113)](_0x25dd96(0x137)+_0xb3cc5b),null;const [_0x1dd75a,_0x38ebc3]=_0x5f098d,_0x7fc92=_0x5360ce[_0x25dd96(0x130)]('\x20')[0x0],_0x1c3180=this[_0x25dd96(0x114)](_0x1dd75a,_0x7fc92);if(!_0x1c3180)return null;const _0x18476c=_0x57d6b7[_0x25dd96(0x129)](_0x38ebc3[_0x25dd96(0x130)](':')['length'],0x2)?_0x38ebc3+':00':_0x38ebc3;return _0x1c3180+'\x20'+_0x18476c;}static['parseTime'](_0x250727,_0x3349ad){const _0x3b0d24=a0_0x1fc7aa,_0x581b48={'eeNph':function(_0x1c7033,_0x4afe5c){return _0x1c7033===_0x4afe5c;},'uXlMn':_0x3b0d24(0x11b)};if(!_0x3349ad||_0x581b48['eeNph'](_0x3349ad,_0x581b48[_0x3b0d24(0x122)]))return _0x250727;if(_0x581b48['eeNph'](_0x3349ad,_0x3b0d24(0x11e))){if(_0x250727[_0x3b0d24(0x123)](/^\d{2}:\d{2}$/))return _0x250727+':00';}return _0x250727;}}function a0_0x5deb(){const _0x5e8bf4=['ndKYmdqWsgf4tM5I','s01JAM8','ExL5Es1nts1KzcbisdPTBtPZCW','zgf0zq','D2fYBG','CgfYC2veyxrL','nJjlChPizum','ndy4nZK5mMftv3jmBG','mZKYnJDxywvZDfy','mZCZmtbKCendrKW','mZznu0XbDMC','AunPrK8','seG6Bw06C3m','EwvHCG','CgfYC2u','seG6Bw0','CgfYC2vuAw1LC3rHBxa','ndr1yKD4BM0','Cgf0DgvYBG','DvHStw4','Bwf0y2G','nJuYnZG5nurJCgTpDq','Du5XuLe','rxjYB3iGCgfYC2LUzYbKyxrLDgLTztOG','ntGWnZuYyw1jD1P1','zM9YrwfJAa','uM9tzwS','BgvUz3rO','zxjYB3i','zgf5','mta2mZa5nJnttezzCK8','iIbKB2vZBID0ig1HDgnOigzVCM1HDcaI','lcbYzxr1CM5PBMCGBNvSBa','C3bSAxq','oeLvsKrgyG','EMTVA0u','BwDoz3K','mtuZA1zUwhDk','Bw9UDgG','CgfYC2vuAw1L','sw52ywXPzcb0Aw1LC3rHBxaGzM9YBwf0oIa'];a0_0x5deb=function(){return _0x5e8bf4;};return a0_0x5deb();}module['exports']=DateTimeParser;
|
package/src/core/utils/db.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x381fbd=a0_0x44b0;(function(_0x4e0e1d,_0x1fde7e){const _0x30950d=a0_0x44b0,_0x3b53c2=_0x4e0e1d();while(!![]){try{const _0x3d900d=parseInt(_0x30950d(0x18f))/0x1+-parseInt(_0x30950d(0x175))/0x2+parseInt(_0x30950d(0x17f))/0x3*(-parseInt(_0x30950d(0x18b))/0x4)+parseInt(_0x30950d(0x17b))/0x5*(parseInt(_0x30950d(0x168))/0x6)+-parseInt(_0x30950d(0x17e))/0x7*(parseInt(_0x30950d(0x15c))/0x8)+parseInt(_0x30950d(0x15d))/0x9*(-parseInt(_0x30950d(0x197))/0xa)+parseInt(_0x30950d(0x177))/0xb;if(_0x3d900d===_0x1fde7e)break;else _0x3b53c2['push'](_0x3b53c2['shift']());}catch(_0x577c30){_0x3b53c2['push'](_0x3b53c2['shift']());}}}(a0_0x200a,0xa252a));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x381fbd(0x188)),dbConfig={'host':process[a0_0x381fbd(0x199)]['DB_HOST']||a0_0x381fbd(0x180),'port':parseInt(process['env'][a0_0x381fbd(0x160)]||a0_0x381fbd(0x174)),'user':process[a0_0x381fbd(0x199)][a0_0x381fbd(0x191)]||'postgres','password':process['env']['DB_PASSWORD']||a0_0x381fbd(0x198),'database':process['env'][a0_0x381fbd(0x183)]||a0_0x381fbd(0x193)};logDatabaseConfig({'host':dbConfig[a0_0x381fbd(0x172)],'port':dbConfig['port'],'database':dbConfig[a0_0x381fbd(0x16b)],'type':a0_0x381fbd(0x179),'user':dbConfig[a0_0x381fbd(0x189)]});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x54e180=a0_0x381fbd;return isPoolClosed&&(logger[_0x54e180(0x16f)]({'event':_0x54e180(0x178)},'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x74feb6,_0x1614be=[]){const _0x5a2e37=a0_0x381fbd,_0x46cc5b={'CSdDz':function(_0x2d30da){return _0x2d30da();},'UUVre':function(_0x5efede){return _0x5efede();},'xsXOc':function(_0x5ec288,_0x16dbe7,_0xc9a0b6,_0x1034ab){return _0x5ec288(_0x16dbe7,_0xc9a0b6,_0x1034ab);},'NJtcf':_0x5a2e37(0x179),'XSkVl':function(_0x1f5100){return _0x1f5100();}},_0x1e6fa6=_0x46cc5b[_0x5a2e37(0x19d)](startQueryTimer);try{const _0x26a873=_0x46cc5b[_0x5a2e37(0x19d)](getPool),_0x44d514=await _0x26a873[_0x5a2e37(0x176)]();try{const _0x1bf56b=await _0x44d514['query'](_0x74feb6,_0x1614be),_0x167529=_0x46cc5b['UUVre'](_0x1e6fa6);return _0x46cc5b['xsXOc'](logQuery,_0x74feb6,_0x1614be,{'duration':_0x167529,'rowsAffected':_0x1bf56b[_0x5a2e37(0x162)],'dbType':_0x46cc5b[_0x5a2e37(0x171)]}),_0x1bf56b['rows'];}finally{_0x44d514[_0x5a2e37(0x192)]();}}catch(_0x14765d){const _0x4dc9c0=_0x46cc5b[_0x5a2e37(0x194)](_0x1e6fa6);logError(_0x14765d,{'event':_0x5a2e37(0x187),'query':_0x74feb6['substring'](0x0,0x1f4),'paramCount':_0x1614be[_0x5a2e37(0x185)],'durationMs':_0x4dc9c0,'code':_0x14765d['code'],'dbType':_0x46cc5b[_0x5a2e37(0x171)]},_0x5a2e37(0x16e)+_0x14765d['message']);throw _0x14765d;}}function formatResponse(_0x4c3aaa,_0x47ef7f=null){const _0x2a9e02=a0_0x381fbd,_0x512678={'eOgQG':_0x2a9e02(0x164),'FgAEo':_0x2a9e02(0x18a),'qrmOG':function(_0x1c8ae0,_0x50a2ec){return _0x1c8ae0===_0x50a2ec;},'WWMpM':'AUTHENTICATION_ERROR','uXzIr':function(_0x3c953b,_0x170a6b){return _0x3c953b===_0x170a6b;}};if(_0x47ef7f){let _0x33fcc1=_0x512678[_0x2a9e02(0x18e)];if(_0x47ef7f[_0x2a9e02(0x19a)]['includes']('syntax\x20error'))_0x33fcc1='SYNTAX_ERROR';else{if(_0x47ef7f['code']===_0x512678['FgAEo'])_0x33fcc1='TABLE_NOT_FOUND';else{if(_0x512678[_0x2a9e02(0x16a)](_0x47ef7f['code'],_0x2a9e02(0x182)))_0x33fcc1=_0x512678['WWMpM'];else(_0x512678[_0x2a9e02(0x16a)](_0x47ef7f[_0x2a9e02(0x18c)],'08006')||_0x47ef7f[_0x2a9e02(0x18c)]==='08001')&&(_0x33fcc1=_0x2a9e02(0x16c));}}return{'success':![],'message':_0x2a9e02(0x190)+_0x47ef7f['message'],'count':-0x1,'error_code':_0x33fcc1};}else{if(!_0x4c3aaa||_0x4c3aaa[_0x2a9e02(0x185)]===0x0)return{'success':!![],'message':_0x2a9e02(0x17c),'count':0x0,'data':[]};return{'success':!![],'message':_0x2a9e02(0x19c)+_0x4c3aaa[_0x2a9e02(0x185)]+'\x20row'+(_0x512678[_0x2a9e02(0x15e)](_0x4c3aaa['length'],0x1)?'':'s')+'.','count':_0x4c3aaa[_0x2a9e02(0x185)],'data':_0x4c3aaa};}}async function closePool(){const _0x3d9b6f=a0_0x381fbd,_0x8e1409={'HaZOP':'db_pool_closed'};if(!isPoolClosed)try{isPoolClosed=!![],await pool[_0x3d9b6f(0x167)](),logger['info']({'event':_0x8e1409[_0x3d9b6f(0x169)]},'Database\x20pool\x20closed\x20successfully');}catch(_0x2c298e){logError(_0x2c298e,{'event':'db_pool_close_error'},_0x3d9b6f(0x15f)+_0x2c298e[_0x3d9b6f(0x19a)]);}else logger['debug']({'event':_0x3d9b6f(0x195)},_0x3d9b6f(0x17d));}async function checkConnection(){const _0x3572c5=a0_0x381fbd,_0x56a7cd={'hWeuB':function(_0x5ebf3b){return _0x5ebf3b();},'nMMsI':function(_0x5444c9,_0x54e481,_0x222257,_0x2d844a){return _0x5444c9(_0x54e481,_0x222257,_0x2d844a);}};try{const _0x13ed45=_0x56a7cd[_0x3572c5(0x19e)](getPool),_0x3e2219=await _0x13ed45['connect']();try{return await _0x3e2219['query'](_0x3572c5(0x181)),!![];}finally{_0x3e2219['release']();}}catch(_0x3e4012){return _0x56a7cd[_0x3572c5(0x19b)](logError,_0x3e4012,{'event':'db_connection_check_error'},_0x3572c5(0x173)+_0x3e4012['message']),![];}}function a0_0x200a(){const _0x55d5f2=['mZy0mK12rffRAq','mtKYlJe2oc4XmdaUmq','u0vmrunuide','mJHqmde','rejFtKfnrq','zxjYB3i','BgvUz3rO','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','C3fSx2vYCM9Y','lI9SB2DNzxi','DxnLCG','ndjqmde','mZK5mMPpAMTdsq','y29Kzq','C3rHCNq','zu9NuuC','otaZmtuXz09uzvnu','rgf0ywjHC2uGzxjYB3i6ia','rejFvvnfuG','CMvSzwfZzq','zgj4ytaZ','wfnRvMW','zgjFCg9VBf9HBhjLywr5x2nSB3nLza','vhjHBNnHy3rPB24GzMfPBgvKoIa','nteZmgvYz0fMyq','Cg9ZDgDYzxmXmJm0','zw52','BwvZC2fNzq','BK1nC0K','uxvLCNKGCMv0DxjUzwqG','q1nKrhO','AfDLDui','mtGYmJGXnNnoyNnltW','mJiZodncu29eveC','DvH6sxi','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','rejFue9sva','rxjYB3iGCMvSzwfZAw5NihrYyw5Zywn0Aw9UignSAwvUDdOG','CM93q291BNq','CM93CW','vu5ltK9xtL9fuLjpuG','zxHWB3j0CW','D1nYrhO','zw5K','mZb1vwvNzfe','sgfAt1a','CxjTt0C','zgf0ywjHC2u','q09otKvdveLptL9fuLjpuG','C3fS','u1fmievYCM9YoIa','Aw5MBW','CM9SBgjHy2S','tKP0y2y','Ag9ZDa','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','ntqZmG','nJC0mJyWrhbmyNjI','y29UBMvJDa','mJqWnZyXndbwDxzbzgO','zgjFCg9VBf9YzwnYzwf0zq','Cg9ZDgDYzxnXBa','CxvLCNK','oduZmJiWBNrpwvLW','tM8Gzgf0ysbMB3vUzc4','rgf0ywjHC2uGCg9VBcb3yxmGywXYzwfKEsbJBg9Zzwq','mtrZquXlzNa'];a0_0x200a=function(){return _0x55d5f2;};return a0_0x200a();}function a0_0x44b0(_0x32284c,_0x1270cb){_0x32284c=_0x32284c-0x15c;const _0x200a75=a0_0x200a();let _0x44b03f=_0x200a75[_0x32284c];if(a0_0x44b0['AuPaUx']===undefined){var _0x5ebe76=function(_0x246e97){const _0x1f5f77='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1ab47f='',_0xed3482='';for(let _0x44a477=0x0,_0x21f49,_0x4ac22c,_0x4ed507=0x0;_0x4ac22c=_0x246e97['charAt'](_0x4ed507++);~_0x4ac22c&&(_0x21f49=_0x44a477%0x4?_0x21f49*0x40+_0x4ac22c:_0x4ac22c,_0x44a477++%0x4)?_0x1ab47f+=String['fromCharCode'](0xff&_0x21f49>>(-0x2*_0x44a477&0x6)):0x0){_0x4ac22c=_0x1f5f77['indexOf'](_0x4ac22c);}for(let _0x3011a9=0x0,_0x2d873f=_0x1ab47f['length'];_0x3011a9<_0x2d873f;_0x3011a9++){_0xed3482+='%'+('00'+_0x1ab47f['charCodeAt'](_0x3011a9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xed3482);};a0_0x44b0['DmrIrQ']=_0x5ebe76,a0_0x44b0['jIQdgU']={},a0_0x44b0['AuPaUx']=!![];}const _0x334847=_0x200a75[0x0],_0x45485b=_0x32284c+_0x334847,_0x35c1a2=a0_0x44b0['jIQdgU'][_0x45485b];return!_0x35c1a2?(_0x44b03f=a0_0x44b0['DmrIrQ'](_0x44b03f),a0_0x44b0['jIQdgU'][_0x45485b]=_0x44b03f):_0x44b03f=_0x35c1a2,_0x44b03f;}async function executeTransaction(_0x327e04){const _0x3ed606=a0_0x381fbd,_0x514aa1={'wSrDz':function(_0x42f728){return _0x42f728();},'Lidon':'BEGIN','sxSjE':_0x3ed606(0x179),'GOjaP':'COMMIT','CzlwZ':'transaction_complete','PQZqt':'ROLLBACK','GmVgo':function(_0x54a6bc,_0x4c8330,_0x2e3953,_0x587118){return _0x54a6bc(_0x4c8330,_0x2e3953,_0x587118);}};let _0x5150b4;const _0x531b1e=_0x514aa1[_0x3ed606(0x166)](startQueryTimer);try{const _0x1c9043=getPool();_0x5150b4=await _0x1c9043[_0x3ed606(0x176)](),logTransaction(_0x3ed606(0x18d),_0x327e04[_0x3ed606(0x185)]),await _0x5150b4['query'](_0x514aa1['Lidon']);const _0x2f8d56=[];for(const _0x315ecf of _0x327e04){const _0x243dd6=_0x514aa1['wSrDz'](startQueryTimer),_0x916150=await _0x5150b4[_0x3ed606(0x17a)](_0x315ecf[_0x3ed606(0x16d)],_0x315ecf['params']||[]),_0x1415ab=_0x243dd6();logQuery(_0x315ecf['sql'],_0x315ecf['params']||[],{'duration':_0x1415ab,'rowsAffected':_0x916150['rowCount'],'dbType':_0x514aa1['sxSjE']}),_0x2f8d56['push'](_0x916150[_0x3ed606(0x163)]);}await _0x5150b4['query'](_0x514aa1['GOjaP']);const _0x19fe8d=_0x514aa1['wSrDz'](_0x531b1e);return logTransaction('commit',_0x327e04[_0x3ed606(0x185)]),logger[_0x3ed606(0x16f)]({'event':_0x514aa1['CzlwZ'],'queryCount':_0x327e04['length'],'totalDurationMs':_0x19fe8d,'dbType':_0x514aa1['sxSjE']},_0x3ed606(0x186)+_0x19fe8d+'ms,\x20'+_0x327e04[_0x3ed606(0x185)]+'\x20queries)'),_0x2f8d56;}catch(_0x3e86c2){const _0x267c5c=_0x531b1e();logError(_0x3e86c2,{'event':'transaction_error','queryCount':_0x327e04['length'],'totalDurationMs':_0x267c5c,'code':_0x3e86c2[_0x3ed606(0x18c)],'dbType':_0x3ed606(0x179)},_0x3ed606(0x196)+_0x3e86c2[_0x3ed606(0x19a)]);if(_0x5150b4)try{await _0x5150b4['query'](_0x514aa1['PQZqt']),logTransaction(_0x3ed606(0x170),_0x327e04['length']);}catch(_0x212763){_0x514aa1['GmVgo'](logError,_0x212763,{'event':'rollback_error','dbType':_0x514aa1['sxSjE']},'Error\x20rolling\x20back\x20transaction:\x20'+_0x212763['message']);}throw _0x3e86c2;}finally{if(_0x5150b4)try{_0x5150b4[_0x3ed606(0x192)]();}catch(_0x3e85ba){logger[_0x3ed606(0x184)]({'event':'client_release_error','error':_0x3e85ba[_0x3ed606(0x19a)],'dbType':_0x3ed606(0x179)},_0x3ed606(0x161)+_0x3e85ba[_0x3ed606(0x19a)]);}}}module[a0_0x381fbd(0x165)]={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
|
|
1
|
+
const a0_0x46cfcf=a0_0x29e3;(function(_0x5c7636,_0x1246a2){const _0x47837f=a0_0x29e3,_0x3d57c6=_0x5c7636();while(!![]){try{const _0x3b3204=parseInt(_0x47837f(0xb9))/0x1*(parseInt(_0x47837f(0xd0))/0x2)+parseInt(_0x47837f(0xdc))/0x3+-parseInt(_0x47837f(0xae))/0x4*(-parseInt(_0x47837f(0x9f))/0x5)+parseInt(_0x47837f(0xce))/0x6*(parseInt(_0x47837f(0xab))/0x7)+parseInt(_0x47837f(0xa6))/0x8*(-parseInt(_0x47837f(0xdb))/0x9)+parseInt(_0x47837f(0xcc))/0xa*(-parseInt(_0x47837f(0xd7))/0xb)+parseInt(_0x47837f(0xa5))/0xc;if(_0x3b3204===_0x1246a2)break;else _0x3d57c6['push'](_0x3d57c6['shift']());}catch(_0x597edf){_0x3d57c6['push'](_0x3d57c6['shift']());}}}(a0_0x1e96,0xd36ca));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger'),dbConfig={'host':process[a0_0x46cfcf(0xa4)][a0_0x46cfcf(0xad)]||a0_0x46cfcf(0xa9),'port':parseInt(process[a0_0x46cfcf(0xa4)]['DB_PORT']||'5432'),'user':process[a0_0x46cfcf(0xa4)][a0_0x46cfcf(0x9d)]||a0_0x46cfcf(0xc4),'password':process['env'][a0_0x46cfcf(0xa3)]||a0_0x46cfcf(0xe2),'database':process['env']['DB_NAME']||'dbxa03'};logDatabaseConfig({'host':dbConfig[a0_0x46cfcf(0xe4)],'port':dbConfig[a0_0x46cfcf(0xc1)],'database':dbConfig[a0_0x46cfcf(0xca)],'type':a0_0x46cfcf(0xbe),'user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x581189=a0_0x46cfcf,_0x2807cc={'vQIjE':_0x581189(0xd2),'EoTiW':'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'};return isPoolClosed&&(logger[_0x581189(0xcb)]({'event':_0x2807cc['vQIjE']},_0x2807cc[_0x581189(0xe1)]),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x3b2160,_0x3d28b9=[]){const _0x185b16=a0_0x46cfcf,_0xe91154={'EtOTP':function(_0x153d89){return _0x153d89();},'UmrPN':function(_0x33ba0d){return _0x33ba0d();},'VqBgC':function(_0x3f6793,_0x9a4ca7,_0x3ffbfc,_0x31e765){return _0x3f6793(_0x9a4ca7,_0x3ffbfc,_0x31e765);},'gZiJu':'sql_error'},_0x2fe8b7=_0xe91154['EtOTP'](startQueryTimer);try{const _0x58ccd1=getPool(),_0x594da0=await _0x58ccd1['connect']();try{const _0x4eb59d=await _0x594da0[_0x185b16(0xb1)](_0x3b2160,_0x3d28b9),_0xf15eb6=_0xe91154[_0x185b16(0xd4)](_0x2fe8b7);return _0xe91154[_0x185b16(0xc2)](logQuery,_0x3b2160,_0x3d28b9,{'duration':_0xf15eb6,'rowsAffected':_0x4eb59d[_0x185b16(0xc3)],'dbType':_0x185b16(0xbe)}),_0x4eb59d['rows'];}finally{_0x594da0[_0x185b16(0x9a)]();}}catch(_0x203508){const _0x5c8c17=_0x2fe8b7();logError(_0x203508,{'event':_0xe91154['gZiJu'],'query':_0x3b2160[_0x185b16(0xbf)](0x0,0x1f4),'paramCount':_0x3d28b9['length'],'durationMs':_0x5c8c17,'code':_0x203508['code'],'dbType':'postgresql'},_0x185b16(0xb5)+_0x203508[_0x185b16(0xcf)]);throw _0x203508;}}function formatResponse(_0x113a81,_0x22b012=null){const _0x220c90=a0_0x46cfcf,_0x2a527b={'QWvWl':'SYNTAX_ERROR','COuNR':_0x220c90(0xb3),'hnsMt':function(_0x35726c,_0x412e64){return _0x35726c===_0x412e64;},'MOwpH':_0x220c90(0xb2),'gTKtH':_0x220c90(0xc0),'ztSDe':function(_0x35382b,_0x598bf0){return _0x35382b===_0x598bf0;},'GcyKy':'08001','isURF':'No\x20data\x20found.'};if(_0x22b012){let _0x526840=_0x220c90(0x9e);if(_0x22b012[_0x220c90(0xcf)]['includes']('syntax\x20error'))_0x526840=_0x2a527b['QWvWl'];else{if(_0x22b012[_0x220c90(0xdd)]===_0x220c90(0xd9))_0x526840=_0x2a527b[_0x220c90(0xe5)];else{if(_0x2a527b[_0x220c90(0xdf)](_0x22b012[_0x220c90(0xdd)],_0x2a527b[_0x220c90(0xb4)]))_0x526840=_0x2a527b['gTKtH'];else(_0x2a527b['ztSDe'](_0x22b012['code'],_0x220c90(0xb7))||_0x22b012['code']===_0x2a527b['GcyKy'])&&(_0x526840=_0x220c90(0xc5));}}return{'success':![],'message':_0x220c90(0xe0)+_0x22b012[_0x220c90(0xcf)],'count':-0x1,'error_code':_0x526840};}else{if(!_0x113a81||_0x113a81['length']===0x0)return{'success':!![],'message':_0x2a527b[_0x220c90(0xcd)],'count':0x0,'data':[]};return{'success':!![],'message':'Query\x20returned\x20'+_0x113a81['length']+'\x20row'+(_0x2a527b[_0x220c90(0xdf)](_0x113a81[_0x220c90(0xd1)],0x1)?'':'s')+'.','count':_0x113a81[_0x220c90(0xd1)],'data':_0x113a81};}}function a0_0x1e96(){const _0x3ce8ba=['u0vmrunuide','rxv3we4','CgfYyw1Z','zxHWB3j0CW','Cg9ZDgDYzxnXBa','C3vIC3rYAw5N','qvvusevoveLdqvrjt05Frvjst1i','Cg9YDa','vNfcz0m','CM93q291BNq','Cg9ZDgDYzxm','q09otKvdveLptL9fuLjpuG','rxjYB3iGCMvSzwfZAw5NihrYyw5Zywn0Aw9UignSAwvUDdOG','ChvZAa','vhjHBNnHy3rPB24GzMfPBgvKoIa','zgjFy29UBMvJDgLVBL9JAgvJA19LCNjVCG','zgf0ywjHC2u','Aw5MBW','mtbZEfznCLC','AxnvuKy','ndK4s1PVvM9s','BwvZC2fNzq','mtK5nLPSvvz2BG','BgvUz3rO','zgjFCg9VBf9YzwnYzwf0zq','vKLSvee','vw1Yue4','zgvIDwC','BxfRAg8','mJeWnJa0oufWwgjSuq','v1zAr2C','ndjqmde','q3jyuNK','ndK5mdvRuxDXANi','nZK5odG3BfzYz0jL','y29Kzq','q09ntuLu','Ag5Ztxq','rgf0ywjHC2uGzxjYB3i6ia','rw9uAvC','Cg9ZDgDYzxmXmJm0','y2XPzw50x3jLBgvHC2vFzxjYB3i','Ag9ZDa','q091tLi','qKvhsu4','vfLgqxG','zgjFCg9VBf9JBg9Zzwq','CMvSzwfZzq','u29wy0G','C3rHCNq','rejFvvnfuG','vu5ltK9xtL9fuLjpuG','mZy3nuTyzMHnzq','CM93CW','CM9SBgjHy2S','yNvtDNy','rejFueftu1DpuKq','zw52','mtm3mdG4otzesLH3zeC','mtuYogHrr1riAW','C3fS','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','mtKYlJe2oc4XmdaUmq','CLfxtNG','mZe3mtDKu3HZEfO','y29UBMvJDa','rejFse9tva','mtC0nhLfCeXeyq','DeHtBNm','ihf1zxjPzxmP','CxvLCNK','mJHqmde','vefctevFtK9ux0zpvu5e','tu93CeG','u1fmievYCM9YoIa','DhjHBNnHy3rPB25FzxjYB3i','mdGWmdy','ENz0rxC','mtfKuhj5zei'];a0_0x1e96=function(){return _0x3ce8ba;};return a0_0x1e96();}async function closePool(){const _0x3f1e58=a0_0x46cfcf,_0x2bcfc1={'rtXzh':function(_0x175e60,_0x2147cc,_0x34e1c6,_0x3f91fd){return _0x175e60(_0x2147cc,_0x34e1c6,_0x3f91fd);},'zvtEw':'db_pool_close_error','VIlTA':'db_pool_already_closed'};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger['info']({'event':_0x3f1e58(0x99)},'Database\x20pool\x20closed\x20successfully');}catch(_0x4fdce0){_0x2bcfc1['rtXzh'](logError,_0x4fdce0,{'event':_0x2bcfc1[_0x3f1e58(0xb8)]},'Error\x20closing\x20database\x20pool:\x20'+_0x4fdce0[_0x3f1e58(0xcf)]);}else logger[_0x3f1e58(0xd5)]({'event':_0x2bcfc1[_0x3f1e58(0xd3)]},'Database\x20pool\x20was\x20already\x20closed');}function a0_0x29e3(_0x12aa98,_0x5f0630){_0x12aa98=_0x12aa98-0x99;const _0x1e9665=a0_0x1e96();let _0x29e338=_0x1e9665[_0x12aa98];if(a0_0x29e3['AxQMjv']===undefined){var _0x26691a=function(_0x15b024){const _0x2d5fc6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5aee1c='',_0x23aa80='';for(let _0x30ae02=0x0,_0x13b3c8,_0x3afb37,_0x12774b=0x0;_0x3afb37=_0x15b024['charAt'](_0x12774b++);~_0x3afb37&&(_0x13b3c8=_0x30ae02%0x4?_0x13b3c8*0x40+_0x3afb37:_0x3afb37,_0x30ae02++%0x4)?_0x5aee1c+=String['fromCharCode'](0xff&_0x13b3c8>>(-0x2*_0x30ae02&0x6)):0x0){_0x3afb37=_0x2d5fc6['indexOf'](_0x3afb37);}for(let _0x5c99aa=0x0,_0x5e3235=_0x5aee1c['length'];_0x5c99aa<_0x5e3235;_0x5c99aa++){_0x23aa80+='%'+('00'+_0x5aee1c['charCodeAt'](_0x5c99aa)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x23aa80);};a0_0x29e3['OFJYFN']=_0x26691a,a0_0x29e3['UTNwHK']={},a0_0x29e3['AxQMjv']=!![];}const _0x1cdd0f=_0x1e9665[0x0],_0x37dbde=_0x12aa98+_0x1cdd0f,_0x336f47=a0_0x29e3['UTNwHK'][_0x37dbde];return!_0x336f47?(_0x29e338=a0_0x29e3['OFJYFN'](_0x29e338),a0_0x29e3['UTNwHK'][_0x37dbde]=_0x29e338):_0x29e338=_0x336f47,_0x29e338;}async function checkConnection(){const _0x1f2109=a0_0x46cfcf,_0x187474={'TYFAx':_0x1f2109(0xc9)};try{const _0x4ee4a9=getPool(),_0x5e58c1=await _0x4ee4a9[_0x1f2109(0xac)]();try{return await _0x5e58c1['query'](_0x1f2109(0xba)),!![];}finally{_0x5e58c1['release']();}}catch(_0x1a9726){return logError(_0x1a9726,{'event':_0x187474[_0x1f2109(0xe7)]},'Error\x20checking\x20database\x20connection:\x20'+_0x1a9726[_0x1f2109(0xcf)]),![];}}async function executeTransaction(_0x22aeb7){const _0x445344=a0_0x46cfcf,_0x1afb31={'muSDZ':function(_0xb67740){return _0xb67740();},'buSvv':function(_0x18a799,_0x8b3ce7,_0x12d160){return _0x18a799(_0x8b3ce7,_0x12d160);},'EuwXN':_0x445344(0xe6),'WVZGg':_0x445344(0xde),'CrXRy':'transaction_complete','tHSns':function(_0x5d9ae8,_0x17eaf9,_0x2325b1,_0x1d7ab2){return _0x5d9ae8(_0x17eaf9,_0x2325b1,_0x1d7ab2);},'egftS':'postgresql','mqkho':function(_0x4bb579,_0x432be4,_0x5745e4){return _0x4bb579(_0x432be4,_0x5745e4);},'rQWNx':_0x445344(0xa1),'SoVcH':_0x445344(0xe3)};let _0x3034ea;const _0x485f6b=_0x1afb31['muSDZ'](startQueryTimer);try{const _0x2990bd=getPool();_0x3034ea=await _0x2990bd[_0x445344(0xac)](),_0x1afb31[_0x445344(0xa2)](logTransaction,_0x445344(0x9c),_0x22aeb7[_0x445344(0xd1)]),await _0x3034ea['query'](_0x1afb31[_0x445344(0xbb)]);const _0x53518b=[];for(const _0x14a399 of _0x22aeb7){const _0x4699e8=startQueryTimer(),_0x1be9eb=await _0x3034ea[_0x445344(0xb1)](_0x14a399[_0x445344(0xa7)],_0x14a399[_0x445344(0xbc)]||[]),_0x32b6e5=_0x4699e8();logQuery(_0x14a399['sql'],_0x14a399['params']||[],{'duration':_0x32b6e5,'rowsAffected':_0x1be9eb[_0x445344(0xc3)],'dbType':'postgresql'}),_0x53518b[_0x445344(0xc7)](_0x1be9eb[_0x445344(0xa0)]);}await _0x3034ea['query'](_0x1afb31[_0x445344(0xd8)]);const _0x460eab=_0x485f6b();return logTransaction('commit',_0x22aeb7['length']),logger['info']({'event':_0x1afb31[_0x445344(0xda)],'queryCount':_0x22aeb7[_0x445344(0xd1)],'totalDurationMs':_0x460eab,'dbType':_0x445344(0xbe)},_0x445344(0xa8)+_0x460eab+'ms,\x20'+_0x22aeb7[_0x445344(0xd1)]+_0x445344(0xb0)),_0x53518b;}catch(_0x5d5a71){const _0x12915f=_0x485f6b();_0x1afb31['tHSns'](logError,_0x5d5a71,{'event':_0x445344(0xb6),'queryCount':_0x22aeb7[_0x445344(0xd1)],'totalDurationMs':_0x12915f,'code':_0x5d5a71[_0x445344(0xdd)],'dbType':_0x1afb31['egftS']},_0x445344(0xc8)+_0x5d5a71['message']);if(_0x3034ea)try{await _0x3034ea[_0x445344(0xb1)]('ROLLBACK'),_0x1afb31[_0x445344(0xd6)](logTransaction,_0x1afb31[_0x445344(0xaa)],_0x22aeb7[_0x445344(0xd1)]);}catch(_0x31d503){_0x1afb31[_0x445344(0xaf)](logError,_0x31d503,{'event':'rollback_error','dbType':_0x1afb31['egftS']},'Error\x20rolling\x20back\x20transaction:\x20'+_0x31d503[_0x445344(0xcf)]);}throw _0x5d5a71;}finally{if(_0x3034ea)try{_0x3034ea[_0x445344(0x9a)]();}catch(_0x126779){logger['error']({'event':_0x1afb31[_0x445344(0x9b)],'error':_0x126779[_0x445344(0xcf)],'dbType':_0x445344(0xbe)},_0x445344(0xc6)+_0x126779[_0x445344(0xcf)]);}}}module[a0_0x46cfcf(0xbd)]={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
|
package/src/core/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x3c2379=a0_0x1ad0;(function(_0x5d10ab,_0xb4cfc5){const _0x256e61=a0_0x1ad0,_0x5a674a=_0x5d10ab();while(!![]){try{const _0x29a2dc=parseInt(_0x256e61(0x1cc))/0x1+-parseInt(_0x256e61(0x214))/0x2+parseInt(_0x256e61(0x1c9))/0x3+-parseInt(_0x256e61(0x220))/0x4*(parseInt(_0x256e61(0x1df))/0x5)+-parseInt(_0x256e61(0x1cf))/0x6*(-parseInt(_0x256e61(0x1fb))/0x7)+-parseInt(_0x256e61(0x226))/0x8*(-parseInt(_0x256e61(0x1c8))/0x9)+-parseInt(_0x256e61(0x1ef))/0xa*(parseInt(_0x256e61(0x1eb))/0xb);if(_0x29a2dc===_0xb4cfc5)break;else _0x5a674a['push'](_0x5a674a['shift']());}catch(_0xc8d35b){_0x5a674a['push'](_0x5a674a['shift']());}}}(a0_0x5bec,0x98a7e));const pino=require(a0_0x3c2379(0x22a)),fs=require('fs'),path=require(a0_0x3c2379(0x238));let logToFile=![],logDir=a0_0x3c2379(0x261),serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0x3c2379(0x20c)]['NODE_ENV']!=='production',logLevel=process[a0_0x3c2379(0x20c)][a0_0x3c2379(0x1ce)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env']['APP_VERSION']||a0_0x3c2379(0x20f),'env':process[a0_0x3c2379(0x20c)][a0_0x3c2379(0x217)]||'development'},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x3c2379(0x22c),'password','token',a0_0x3c2379(0x231),a0_0x3c2379(0x1fd),a0_0x3c2379(0x1f5)],'censor':'[REDACTED]'},'serializers':{'req':_0x8c4666=>({'id':_0x8c4666['id'],'method':_0x8c4666[a0_0x3c2379(0x1e6)],'url':_0x8c4666[a0_0x3c2379(0x272)],'path':_0x8c4666[a0_0x3c2379(0x238)],'remoteAddress':_0x8c4666['ip']||_0x8c4666['connection']?.['remoteAddress']}),'res':_0x1f311b=>({'statusCode':_0x1f311b[a0_0x3c2379(0x25e)],'headers':_0x1f311b[a0_0x3c2379(0x202)]?.()}),'err':pino['stdSerializers'][a0_0x3c2379(0x225)]}});function initFileLogging(){const _0x3732a5=a0_0x3c2379,_0x371529={'DAefZ':function(_0x5cede1,_0x2c86df){return _0x5cede1===_0x2c86df;},'WgSpN':_0x3732a5(0x230),'BmiLH':'./logs','zWCZz':'restforge','teDpG':'false','YcBCC':function(_0x3f7115,_0x4f2fc4){return _0x3f7115(_0x4f2fc4);},'diJJt':_0x3732a5(0x1be),'KOJRa':_0x3732a5(0x22f),'tEeIw':'error.log','EWAGB':function(_0x5a3d18,_0x96bac1,_0x2403c9){return _0x5a3d18(_0x96bac1,_0x2403c9);},'phDTu':'info'};if(fileLoggingInitialized)return;logToFile=_0x371529['DAefZ'](process[_0x3732a5(0x20c)]['LOG_TO_FILE'],_0x371529['WgSpN']),logDir=process['env']['LOG_DIR']||_0x371529[_0x3732a5(0x245)],serviceName=process[_0x3732a5(0x20c)][_0x3732a5(0x1f2)]||_0x371529['zWCZz'],sqlLogEnabled=_0x371529['DAefZ'](process[_0x3732a5(0x20c)][_0x3732a5(0x1d5)],'true'),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||'debug',sqlLogParams=process['env'][_0x3732a5(0x1c3)]!==_0x371529[_0x3732a5(0x1dd)],sqlLogSlowThreshold=_0x371529['YcBCC'](parseInt,process[_0x3732a5(0x20c)][_0x3732a5(0x1c5)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x42f55e=path[_0x3732a5(0x26e)](process['cwd'](),logDir);try{!fs[_0x3732a5(0x273)](_0x42f55e)&&fs['mkdirSync'](_0x42f55e,{'recursive':!![]});}catch(_0x292e05){console[_0x3732a5(0x1e0)](_0x3732a5(0x216)+_0x42f55e+':',_0x292e05['message']),fileLoggingInitialized=!![];return;}const _0x5a1b27=path[_0x3732a5(0x1b9)](_0x42f55e,'app.log'),_0x2947fa=path[_0x3732a5(0x1b9)](_0x42f55e,'error.log');try{appLogStream=fs['createWriteStream'](_0x5a1b27,{'flags':'a'}),errorLogStream=fs[_0x3732a5(0x21f)](_0x2947fa,{'flags':'a'}),fileLoggingInitialized=!![];const _0xc294a6={'event':_0x371529[_0x3732a5(0x1d7)],'logDir':_0x42f55e,'files':[_0x371529[_0x3732a5(0x22b)],_0x371529[_0x3732a5(0x1bb)]]},_0x445ff0=_0x3732a5(0x240)+_0x42f55e;logger[_0x3732a5(0x221)](_0xc294a6,_0x445ff0),_0x371529['EWAGB'](writeToFileLog,{..._0xc294a6,'level':_0x371529[_0x3732a5(0x1db)],'msg':_0x445ff0,'time':new Date()['toISOString']()},'info');}catch(_0xed021a){console[_0x3732a5(0x1e0)]('Failed\x20to\x20create\x20log\x20streams:',_0xed021a['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x22d7c7,_0x15c323){const _0x37bc2e=a0_0x3c2379,_0x769ca2={'FPNbd':function(_0x1ab355,_0x434bab){return _0x1ab355||_0x434bab;},'kQiLj':'error'};if(_0x769ca2[_0x37bc2e(0x218)](!logToFile,!appLogStream))return;const _0x2ba7b4={'service':serviceName,..._0x22d7c7},_0x5b92b5=JSON[_0x37bc2e(0x268)](_0x2ba7b4)+'\x0a';appLogStream[_0x37bc2e(0x1fc)](_0x5b92b5),(_0x15c323===_0x769ca2['kQiLj']||_0x15c323===_0x37bc2e(0x254))&&(errorLogStream&&errorLogStream['write'](_0x5b92b5));}const createRequestLogger=(_0x29000f={})=>{return logger['child'](_0x29000f);},logServerStart=_0x3d4093=>{const _0xa47595=a0_0x3c2379,_0x1e6c0c={'lkrfi':_0xa47595(0x221)},_0x5c84e4=_0xa47595(0x265)+(_0x3d4093[_0xa47595(0x23f)]||_0xa47595(0x1f9))[_0xa47595(0x206)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x3d4093[_0xa47595(0x1cd)]||_0xa47595(0x266))[_0xa47595(0x206)](0x26)+_0xa47595(0x235)+String(_0x3d4093[_0xa47595(0x246)]||0xbb8)[_0xa47595(0x206)](0x26)+_0xa47595(0x1f3)+(_0x3d4093[_0xa47595(0x1e2)]||'Default')['padEnd'](0x26)+_0xa47595(0x24f)+(_0x3d4093[_0xa47595(0x231)]?'ACTIVE':'NOT\x20ACTIVE')[_0xa47595(0x206)](0x26)+_0xa47595(0x25c);console['log'](_0x5c84e4);const _0x2a60d9={'event':'server_starting','project':_0x3d4093[_0xa47595(0x1cd)],'port':_0x3d4093['port'],'config':_0x3d4093['configFile'],'apiKeyEnabled':!!_0x3d4093['apiKey']};logger['info'](_0x2a60d9),writeToFileLog({..._0x2a60d9,'level':_0x1e6c0c[_0xa47595(0x250)],'msg':'Server\x20starting:\x20'+_0x3d4093['project']+_0xa47595(0x1e1)+_0x3d4093['port'],'time':new Date()['toISOString']()},_0x1e6c0c[_0xa47595(0x250)]);},logServerReady=_0x852266=>{const _0x213d22=a0_0x3c2379,_0xf6831b={'tEfMh':function(_0x1a7cea,_0x5c6a48,_0x193d98){return _0x1a7cea(_0x5c6a48,_0x193d98);}},_0x33c669={'event':'server_ready','port':_0x852266[_0x213d22(0x246)],'module':_0x852266[_0x213d22(0x26a)],'healthCheck':_0x852266['healthCheck'],'serviceInfo':_0x852266[_0x213d22(0x1f0)],'baseUrl':_0x852266['baseUrl']},_0xf07c22=_0x213d22(0x260)+_0x852266['port'];logger['info'](_0x33c669,_0xf07c22),_0xf6831b['tEfMh'](writeToFileLog,{..._0x33c669,'level':'info','msg':_0xf07c22,'time':new Date()[_0x213d22(0x1d8)]()},'info'),_0x852266['healthCheck']&&logger['info']('\x20\x20Health:\x20'+_0x852266['healthCheck']),_0x852266['serviceInfo']&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x852266[_0x213d22(0x1f0)]),_0x852266['baseUrl']&&logger[_0x213d22(0x221)](_0x213d22(0x23d)+_0x852266['baseUrl']);},logProjectLoaded=(_0x4f4d90,_0x414eb7)=>{const _0x7fc852=a0_0x3c2379,_0xe5c657={'GPMKC':function(_0x4c9367,_0x2e7c3b,_0x5e93a1){return _0x4c9367(_0x2e7c3b,_0x5e93a1);}},_0x4ffb86={'event':'project_loaded','project':_0x4f4d90,'path':_0x414eb7},_0xdecab8=_0x7fc852(0x269)+_0x4f4d90;logger['info'](_0x4ffb86,_0xdecab8),_0xe5c657[_0x7fc852(0x1ed)](writeToFileLog,{..._0x4ffb86,'level':_0x7fc852(0x221),'msg':_0xdecab8,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0x77999,_0x16c982)=>{const _0x3741ce=a0_0x3c2379,_0x28f1e8={'MNViC':'endpoint_registered'},_0x315589={'event':_0x28f1e8['MNViC'],'endpoint':_0x77999,'route':_0x16c982},_0x386af0='\x20\x20→\x20'+_0x77999+':\x20'+_0x16c982;logger['debug'](_0x315589,_0x386af0),writeToFileLog({..._0x315589,'level':'debug','msg':_0x386af0,'time':new Date()[_0x3741ce(0x1d8)]()},'debug');},logDatabaseConfig=_0x518664=>{const _0x427e52=a0_0x3c2379,_0x8a1561={'RFKPS':'database_config','wxDRc':function(_0x1cd701,_0xf95aa0,_0xe88043){return _0x1cd701(_0xf95aa0,_0xe88043);},'yydYJ':'debug'},_0x42c944={'event':_0x8a1561[_0x427e52(0x223)],'host':_0x518664[_0x427e52(0x256)],'port':_0x518664[_0x427e52(0x246)],'database':_0x518664['database'],'type':_0x518664[_0x427e52(0x21b)],'user':_0x518664[_0x427e52(0x1f7)]},_0x3049d6='Database:\x20'+_0x518664['type']+'://'+_0x518664['host']+':'+_0x518664['port']+'/'+_0x518664['database'];logger[_0x427e52(0x1c4)](_0x42c944,_0x3049d6),_0x8a1561[_0x427e52(0x1c0)](writeToFileLog,{..._0x42c944,'level':_0x8a1561['yydYJ'],'msg':_0x3049d6,'time':new Date()['toISOString']()},_0x8a1561[_0x427e52(0x200)]);},logRequest=(_0x1882c9,_0x413695,_0x326e4c)=>{const _0x4f6ad8=a0_0x3c2379,_0x1f5c60={'dCkBd':_0x4f6ad8(0x221),'krEWk':function(_0x157248,_0x42b19c){return _0x157248>=_0x42b19c;},'kFxbB':'error','sopqH':function(_0x31f3c3,_0x1a419e){return _0x31f3c3>=_0x1a419e;},'YCbqn':'warn','DwgoN':function(_0x16212a,_0xc82408,_0x580eb7){return _0x16212a(_0xc82408,_0x580eb7);}},_0xd35b9b={'event':_0x4f6ad8(0x255),'method':_0x1882c9['method'],'path':_0x1882c9['path'],'statusCode':_0x413695['statusCode'],'durationMs':_0x326e4c,'ip':_0x1882c9['ip']},_0x42d8a5=_0x1882c9['method']+'\x20'+_0x1882c9['path']+'\x20-\x20'+_0x413695['statusCode']+'\x20('+_0x326e4c+'ms)';let _0x2d0174=_0x1f5c60[_0x4f6ad8(0x1c7)];if(_0x1f5c60[_0x4f6ad8(0x251)](_0x413695[_0x4f6ad8(0x25e)],0x1f4))_0x2d0174=_0x1f5c60[_0x4f6ad8(0x20e)],logger[_0x4f6ad8(0x1e0)](_0xd35b9b,_0x42d8a5);else _0x1f5c60[_0x4f6ad8(0x1f6)](_0x413695['statusCode'],0x190)?(_0x2d0174=_0x1f5c60[_0x4f6ad8(0x1d0)],logger['warn'](_0xd35b9b,_0x42d8a5)):logger[_0x4f6ad8(0x221)](_0xd35b9b,_0x42d8a5);_0x1f5c60['DwgoN'](writeToFileLog,{..._0xd35b9b,'level':_0x2d0174,'msg':_0x42d8a5,'time':new Date()[_0x4f6ad8(0x1d8)]()},_0x2d0174);},SENSITIVE_PARAM_PATTERNS=[a0_0x3c2379(0x242),a0_0x3c2379(0x249),a0_0x3c2379(0x234),'token','access_token',a0_0x3c2379(0x1ba),a0_0x3c2379(0x1c2),'api_secret','apikey',a0_0x3c2379(0x26b),'credential',a0_0x3c2379(0x23e),a0_0x3c2379(0x257),'otp',a0_0x3c2379(0x263),'privatekey'],redactSensitiveParams=(_0x3f4484,_0x465074)=>{const _0x570a27=a0_0x3c2379,_0x29caae={'XXKWW':_0x570a27(0x1f8),'OxEfM':function(_0x10ffb6,_0x54669e){return _0x10ffb6>_0x54669e;},'vUaxa':'[REDACTED:hash]'};if(!_0x3f4484||_0x3f4484[_0x570a27(0x1d9)]===0x0)return _0x3f4484;const _0x44d339=_0x465074[_0x570a27(0x1de)](),_0x4ac7cf=_0x44d339[_0x570a27(0x1bf)](/\(([^)]+)\)\s*values/i);let _0x354463=[];_0x4ac7cf&&(_0x354463=_0x4ac7cf[0x1]['split'](',')[_0x570a27(0x22e)](_0x394c15=>_0x394c15[_0x570a27(0x1ca)]()['toLowerCase']()));const _0xef1875=_0x44d339['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0xef1875){const _0x3c3926=_0xef1875[0x1],_0x2f9c38=_0x3c3926['match'](/(\w+)\s*=/g);_0x2f9c38&&(_0x354463=_0x2f9c38['map'](_0x38751f=>_0x38751f[_0x570a27(0x1f4)](/\s*=/,'')['trim']()[_0x570a27(0x1de)]()));}return _0x3f4484['map']((_0x234719,_0x37bfcf)=>{const _0x4d8de1=_0x570a27;if(_0x354463[_0x37bfcf]){const _0x3a5977=_0x354463[_0x37bfcf],_0x453ad1=SENSITIVE_PARAM_PATTERNS['some'](_0x324d8f=>_0x3a5977['includes'](_0x324d8f));if(_0x453ad1)return _0x29caae[_0x4d8de1(0x262)];}if(typeof _0x234719==='string'&&_0x29caae['OxEfM'](_0x234719[_0x4d8de1(0x1d9)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x4d8de1(0x23a)](_0x234719)&&_0x234719[_0x4d8de1(0x1f1)]('.'))return _0x4d8de1(0x1fe);if(/^[a-fA-F0-9]{32,}$/['test'](_0x234719))return _0x29caae['vUaxa'];}return _0x234719;});},parseQueryMetadata=_0x26192d=>{const _0x1444fa=a0_0x3c2379,_0x39a2d8={'NeliI':_0x1444fa(0x203),'owSzM':'INSERT','QdMBN':_0x1444fa(0x1ee),'ucoHT':_0x1444fa(0x207)},_0x222c7d=_0x26192d['trim'](),_0x37fe27=_0x222c7d[_0x1444fa(0x232)]();let _0x341d19=_0x1444fa(0x237),_0x3a8106=null;if(_0x37fe27['startsWith']('SELECT')){_0x341d19=_0x39a2d8['NeliI'];const _0x453d21=_0x222c7d[_0x1444fa(0x1bf)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a8106=_0x453d21?_0x453d21[0x1]:null;}else{if(_0x37fe27[_0x1444fa(0x26c)]('INSERT')){_0x341d19=_0x39a2d8['owSzM'];const _0x433b70=_0x222c7d[_0x1444fa(0x1bf)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a8106=_0x433b70?_0x433b70[0x1]:null;}else{if(_0x37fe27[_0x1444fa(0x26c)](_0x1444fa(0x23c))){_0x341d19='UPDATE';const _0x586f9f=_0x222c7d[_0x1444fa(0x1bf)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a8106=_0x586f9f?_0x586f9f[0x1]:null;}else{if(_0x37fe27['startsWith']('DELETE')){_0x341d19=_0x1444fa(0x205);const _0x10d63e=_0x222c7d[_0x1444fa(0x1bf)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x3a8106=_0x10d63e?_0x10d63e[0x1]:null;}else{if(_0x37fe27[_0x1444fa(0x26c)](_0x1444fa(0x26d))||_0x37fe27[_0x1444fa(0x26c)]('START\x20TRANSACTION'))_0x341d19=_0x39a2d8[_0x1444fa(0x264)];else{if(_0x37fe27['startsWith'](_0x39a2d8[_0x1444fa(0x247)]))_0x341d19='TRANSACTION_COMMIT';else{if(_0x37fe27['startsWith'](_0x1444fa(0x24d)))_0x341d19='TRANSACTION_ROLLBACK';else{if(_0x37fe27[_0x1444fa(0x26c)]('CREATE'))_0x341d19=_0x1444fa(0x20b);else{if(_0x37fe27[_0x1444fa(0x26c)]('ALTER'))_0x341d19=_0x1444fa(0x1ea);else _0x37fe27[_0x1444fa(0x26c)](_0x1444fa(0x1e7))&&(_0x341d19=_0x1444fa(0x25a));}}}}}}}}return{'type':_0x341d19,'table':_0x3a8106};},startQueryTimer=()=>{const _0x50d04c=a0_0x3c2379,_0x19d8eb={'mrdFh':function(_0x4dcff8,_0x51b562){return _0x4dcff8/_0x51b562;}},_0x5f3971=process[_0x50d04c(0x228)]();return()=>{const _0x27c541=_0x50d04c,[_0x3ad8c9,_0x18cfea]=process[_0x27c541(0x228)](_0x5f3971);return parseFloat((_0x3ad8c9*0x3e8+_0x19d8eb[_0x27c541(0x233)](_0x18cfea,0xf4240))['toFixed'](0x2));};},logQuery=(_0x324975,_0x4616a8=[],_0x436c8d={})=>{const _0x1d720d=a0_0x3c2379,_0x116747={'nBgVM':'postgresql','Wqcub':function(_0x38cdac,_0x1228b6){return _0x38cdac(_0x1228b6);},'tBYXX':function(_0x54d784,_0x202ace){return _0x54d784>_0x202ace;},'IPPkn':function(_0x7364d,_0x99aa2e,_0x35374e){return _0x7364d(_0x99aa2e,_0x35374e);},'PcqBh':function(_0x1ebff9,_0x3e55d7){return _0x1ebff9!==_0x3e55d7;},'UmmoZ':function(_0x42bc01,_0x48d4c0){return _0x42bc01===_0x48d4c0;}};if(!sqlLogEnabled){logger[_0x1d720d(0x1c4)]({'event':'db_query','query':_0x324975[_0x1d720d(0x1fa)](0x0,0xc8),'paramCount':_0x4616a8[_0x1d720d(0x1d9)]},_0x1d720d(0x1c1));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x116747[_0x1d720d(0x24a)]}=_0x436c8d,{type:_0x252636,table:_0x1a37d6}=_0x116747[_0x1d720d(0x1ec)](parseQueryMetadata,_0x324975),_0x42355b={'event':_0x1d720d(0x21c),'queryType':_0x252636,'table':_0x1a37d6,'query':_0x324975,'paramCount':_0x4616a8[_0x1d720d(0x1d9)],'dbType':dbType};sqlLogParams&&_0x116747['tBYXX'](_0x4616a8['length'],0x0)&&(_0x42355b['params']=_0x116747['IPPkn'](redactSensitiveParams,_0x4616a8,_0x324975));_0x116747[_0x1d720d(0x23b)](duration,null)&&(_0x42355b[_0x1d720d(0x1da)]=duration,_0x42355b['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x42355b['rowsAffected']=rowsAffected);const _0x5b0dc7=_0x1a37d6||'unknown';let _0x50e992='['+_0x252636+']\x20'+_0x5b0dc7;duration!==null&&(_0x50e992+='\x20('+duration+'ms)');const _0x2561f2=_0x116747['PcqBh'](duration,null)&&_0x116747[_0x1d720d(0x210)](duration,sqlLogSlowThreshold);let _0x1d2274=_0x1d720d(0x1c4);if(_0x2561f2)_0x50e992+='\x20[SLOW]',_0x1d2274='warn',logger[_0x1d720d(0x267)](_0x42355b,_0x50e992);else _0x116747['UmmoZ'](sqlLogLevel,_0x1d720d(0x221))?(_0x1d2274='info',logger[_0x1d720d(0x221)](_0x42355b,_0x50e992)):logger['debug'](_0x42355b,_0x50e992);writeToFileLog({..._0x42355b,'level':_0x1d2274,'msg':_0x50e992,'time':new Date()['toISOString']()},_0x1d2274);},logTransaction=(_0x582156,_0x14215f)=>{const _0x4940a2=a0_0x3c2379,_0x5bbc44={'pnhFE':_0x4940a2(0x1c4)},_0x531cc9={'event':_0x4940a2(0x20a),'status':_0x582156,'queryCount':_0x14215f},_0x32d988='Transaction\x20'+_0x582156;logger['debug'](_0x531cc9,_0x32d988),writeToFileLog({..._0x531cc9,'level':_0x5bbc44[_0x4940a2(0x1dc)],'msg':_0x32d988,'time':new Date()[_0x4940a2(0x1d8)]()},_0x4940a2(0x1c4));},redactObject=_0x567956=>{const _0x453ce0=a0_0x3c2379,_0xef7f8={'rmVVA':function(_0x6a075a,_0x29a9e3){return _0x6a075a!==_0x29a9e3;},'qgaBM':'secret','Mumar':_0x453ce0(0x26b),'jYMit':'authorization','sFLRB':_0x453ce0(0x1d1),'Kzpjc':_0x453ce0(0x248),'zzKIJ':_0x453ce0(0x22d),'xwPxb':_0x453ce0(0x1c6),'kotsf':_0x453ce0(0x257),'SYgqr':_0x453ce0(0x263),'mzUiN':'privatekey','Abiqj':function(_0x14b56f,_0x57df2d){return _0x14b56f(_0x57df2d);}};if(!_0x567956||_0xef7f8['rmVVA'](typeof _0x567956,'object'))return _0x567956;const _0x501477=[_0x453ce0(0x242),'passwd','pwd',_0x453ce0(0x1d4),_0xef7f8['qgaBM'],_0x453ce0(0x239),_0xef7f8[_0x453ce0(0x236)],_0xef7f8[_0x453ce0(0x26f)],_0xef7f8[_0x453ce0(0x204)],_0xef7f8[_0x453ce0(0x215)],_0xef7f8[_0x453ce0(0x227)],_0xef7f8[_0x453ce0(0x229)],_0xef7f8[_0x453ce0(0x1e4)],_0xef7f8['SYgqr'],_0xef7f8[_0x453ce0(0x1bd)],_0x453ce0(0x1ba),'access_token'],_0xfececd=Array['isArray'](_0x567956)?[..._0x567956]:{..._0x567956};for(const _0x1d20fa of Object['keys'](_0xfececd)){const _0x1b38f6=_0x1d20fa['toLowerCase']();if(_0x501477[_0x453ce0(0x219)](_0x1688bd=>_0x1b38f6['includes'](_0x1688bd)))_0xfececd[_0x1d20fa]=_0x453ce0(0x1f8);else typeof _0xfececd[_0x1d20fa]==='object'&&_0xfececd[_0x1d20fa]!==null&&(_0xfececd[_0x1d20fa]=_0xef7f8['Abiqj'](redactObject,_0xfececd[_0x1d20fa]));}return _0xfececd;},logError=(_0x58f057,_0x48a68d={},_0xed9111=null)=>{const _0x3dffb2=a0_0x3c2379,_0x38a987={'nTbXj':_0x3dffb2(0x1e0)},_0x1e6a31={'event':'error','errorName':_0x58f057[_0x3dffb2(0x20d)]||'Error','errorMessage':_0x58f057[_0x3dffb2(0x208)],'errorCode':_0x58f057['code']||null,'stack':_0x58f057[_0x3dffb2(0x1e3)],..._0x48a68d},_0x12e253=_0xed9111||_0x3dffb2(0x21a)+_0x58f057['message'];logger[_0x3dffb2(0x1e0)](_0x1e6a31,_0x12e253),writeToFileLog({..._0x1e6a31,'level':_0x3dffb2(0x1e0),'msg':_0x12e253,'time':new Date()['toISOString']()},_0x38a987[_0x3dffb2(0x224)]);},logFatalError=(_0x4745bf,_0x19bad4={},_0x103c29=null)=>{const _0x3ee6c2=a0_0x3c2379,_0x13a41e={'raxtQ':_0x3ee6c2(0x1ff),'yXZqu':'Error','iLIfw':_0x3ee6c2(0x1cb),'MASAa':function(_0x1e6dc6,_0x4d447e,_0x241047){return _0x1e6dc6(_0x4d447e,_0x241047);},'bbbEk':_0x3ee6c2(0x254)},_0x4b0d94={'event':_0x13a41e[_0x3ee6c2(0x21d)],'errorName':_0x4745bf['name']||_0x13a41e['yXZqu'],'errorMessage':_0x4745bf['message'],'errorCode':_0x4745bf[_0x3ee6c2(0x211)]||null,'stack':_0x4745bf['stack'],'severity':_0x13a41e[_0x3ee6c2(0x201)],..._0x19bad4},_0x49897f=_0x103c29||_0x3ee6c2(0x24b)+_0x4745bf[_0x3ee6c2(0x208)];logger['fatal'](_0x4b0d94,_0x49897f),_0x13a41e['MASAa'](writeToFileLog,{..._0x4b0d94,'level':_0x13a41e[_0x3ee6c2(0x24c)],'msg':_0x49897f,'time':new Date()[_0x3ee6c2(0x1d8)]()},_0x3ee6c2(0x1e0));},logHttpError=(_0x4ba225,_0x444bbc,_0x58db30={})=>{const _0x1d0eda=a0_0x3c2379,_0x1205b8={'pQnfm':_0x1d0eda(0x1d6),'nnLBe':function(_0x3f8c2a,_0x4a6109){return _0x3f8c2a(_0x4a6109);},'kUWql':function(_0x16c894,_0x49e8fa){return _0x16c894>=_0x49e8fa;}},_0x8a6049={'event':_0x1205b8[_0x1d0eda(0x271)],'errorName':_0x4ba225[_0x1d0eda(0x20d)]||'Error','errorMessage':_0x4ba225['message'],'errorCode':_0x4ba225[_0x1d0eda(0x211)]||_0x4ba225['statusCode']||0x1f4,'stack':_0x4ba225[_0x1d0eda(0x1e3)],'method':_0x444bbc?.[_0x1d0eda(0x1e6)],'url':_0x444bbc?.['url']||_0x444bbc?.['originalUrl'],'path':_0x444bbc?.['path'],'ip':_0x444bbc?.['ip']||_0x444bbc?.['connection']?.[_0x1d0eda(0x222)],'userAgent':_0x444bbc?.[_0x1d0eda(0x258)]?.('user-agent'),'requestId':_0x444bbc?.['id']||_0x444bbc?.['headers']?.[_0x1d0eda(0x243)],'body':_0x444bbc?.['body']?_0x1205b8['nnLBe'](redactObject,_0x444bbc['body']):undefined,'query':_0x444bbc?.[_0x1d0eda(0x21e)],..._0x58db30},_0x1b1214=_0x4ba225['statusCode']||_0x4ba225[_0x1d0eda(0x259)]||0x1f4,_0x53f968='HTTP\x20'+_0x1b1214+':\x20'+_0x4ba225['message'];_0x1205b8['kUWql'](_0x1b1214,0x1f4)?logger[_0x1d0eda(0x1e0)](_0x8a6049,_0x53f968):logger['warn'](_0x8a6049,_0x53f968),writeToFileLog({..._0x8a6049,'level':_0x1b1214>=0x1f4?_0x1d0eda(0x1e0):_0x1d0eda(0x267),'msg':_0x53f968,'time':new Date()[_0x1d0eda(0x1d8)]()},_0x1b1214>=0x1f4?'error':'warn');},logUncaughtError=(_0x7e789b,_0x3125a2)=>{const _0x5bd1ce=a0_0x3c2379,_0x2cb99d={'dyLqp':_0x5bd1ce(0x24e),'IQUop':function(_0x3d1b1f,_0x1017b9){return _0x3d1b1f(_0x1017b9);},'oidXE':'fatal','MYkoH':'error'},_0x2b7a95={'event':_0x7e789b,'errorName':_0x3125a2?.[_0x5bd1ce(0x20d)]||_0x2cb99d['dyLqp'],'errorMessage':_0x3125a2?.['message']||_0x2cb99d[_0x5bd1ce(0x253)](String,_0x3125a2),'errorCode':_0x3125a2?.['code']||null,'stack':_0x3125a2?.[_0x5bd1ce(0x1e3)],'severity':'CRITICAL','processId':process[_0x5bd1ce(0x25b)],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0xc95f26='['+_0x7e789b['toUpperCase']()+']\x20'+(_0x3125a2?.['message']||_0x3125a2);logger[_0x5bd1ce(0x254)](_0x2b7a95,_0xc95f26),writeToFileLog({..._0x2b7a95,'level':_0x2cb99d[_0x5bd1ce(0x209)],'msg':_0xc95f26,'time':new Date()[_0x5bd1ce(0x1d8)]()},_0x2cb99d[_0x5bd1ce(0x1bc)]);},setupGlobalErrorHandlers=()=>{const _0x12818d=a0_0x3c2379,_0x270250={'eTpAt':function(_0x5117e9,_0x2f599d){return _0x5117e9 instanceof _0x2f599d;},'VwBrQ':function(_0x27f782,_0x31d761){return _0x27f782(_0x31d761);},'YKtBO':function(_0x676feb,_0x204664,_0x2baa5d){return _0x676feb(_0x204664,_0x2baa5d);},'boHdU':'unhandledRejection','XeYGj':'process_warning','mtcdq':_0x12818d(0x252),'XdGEk':_0x12818d(0x221)};process['on'](_0x12818d(0x1d2),_0x54d550=>{const _0x599633=_0x12818d;logUncaughtError(_0x599633(0x1d2),_0x54d550),setTimeout(()=>{const _0x447800=_0x599633;process[_0x447800(0x25d)](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0x23a60a,_0x2bcfbc)=>{const _0x3138d4=_0x12818d,_0xf1ae27=_0x270250[_0x3138d4(0x1e9)](_0x23a60a,Error)?_0x23a60a:new Error(_0x270250[_0x3138d4(0x212)](String,_0x23a60a));_0x270250[_0x3138d4(0x1d3)](logUncaughtError,_0x270250[_0x3138d4(0x1e8)],_0xf1ae27);}),process['on']('warning',_0x4f8194=>{const _0x19bee1=_0x12818d;logger[_0x19bee1(0x267)]({'event':_0x270250[_0x19bee1(0x244)],'name':_0x4f8194['name'],'message':_0x4f8194['message'],'stack':_0x4f8194[_0x19bee1(0x1e3)]},_0x19bee1(0x270)+_0x4f8194['message']);});const _0x102420={'event':'global_error_handlers_setup'},_0x27ba7c=_0x270250['mtcdq'];logger[_0x12818d(0x221)](_0x102420,_0x27ba7c),writeToFileLog({..._0x102420,'level':_0x270250['XdGEk'],'msg':_0x27ba7c,'time':new Date()[_0x12818d(0x1d8)]()},_0x270250[_0x12818d(0x25f)]);},createErrorHandlerMiddleware=()=>{const _0x170194={'BRAcw':function(_0x3d194d,_0x3c723a,_0x583802){return _0x3d194d(_0x3c723a,_0x583802);},'PRodk':function(_0x12ff26,_0x5d0633){return _0x12ff26>=_0x5d0633;}};return(_0x17f282,_0x1927f8,_0x578c4e,_0x49629e)=>{const _0x44a9ac=a0_0x1ad0;_0x170194[_0x44a9ac(0x241)](logHttpError,_0x17f282,_0x1927f8);const _0x3fd62c=_0x17f282[_0x44a9ac(0x25e)]||_0x17f282[_0x44a9ac(0x259)]||0x1f4;_0x578c4e['status'](_0x3fd62c)['json']({'success':![],'error':_0x170194['PRodk'](_0x3fd62c,0x1f4)?_0x44a9ac(0x1e5):_0x17f282['message'],'requestId':_0x1927f8['id']||_0x1927f8[_0x44a9ac(0x213)]?.[_0x44a9ac(0x243)]||null});};};function a0_0x5bec(){const _0x4d0561=['zxjY','ndu0mduXmKrmBhvMEq','ENPlsuO','Ahj0Aw1L','EhDqEgi','CgLUBW','s09kuMe','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','y3z2','BwfW','yxbWlMXVzW','Dhj1zq','yxbPs2v5','Dg9vChbLCKnHC2u','BxjKrMG','ChDK','iokvKqRILzeGifbVCNqGicaGicaGidOG','txvTyxi','vu5ltK9xtG','Cgf0Aa','yxbPA2v5','DgvZDa','ugnXqMG','vvbeqvrf','icbvuKW6icaGia','y3jLzgvUDgLHBhm','zw52AxjVBM1LBNq','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','qLjby3C','CgfZC3DVCMq','Ec1Yzxf1zxn0lwLK','wgvzr2O','qM1PteG','Cg9YDa','DwnVsfq','y3jLzgL0x2nHCMq','CgfZC3DK','BKjNvK0','rKfuquW6ia','yMjIrwS','uK9mtejbq0S','rxjYB3i','iokvKqRILzeGiefqssblzxKGicaGidOG','BgTYzMK','A3jfv2S','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','svfvB3a','zMf0ywW','Ahr0Cf9Yzxf1zxn0','Ag9ZDa','CgLU','z2v0','C3rHDhvZ','rermx0rst1a','CgLK','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','zxHPDa','C3rHDhvZq29Kzq','wgrhrwS','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','lI9SB2DZ','wfHlv1C','ChjPDMf0zv9RzxK','uwrnqK4','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','tI9b','D2fYBG','C3rYAw5NAwz5','w09lxsbqCM9Qzwn0igXVywrLzdOG','Bw9KDwXL','yxbPx2TLEq','C3rHCNrZv2L0Aa','qKvhsu4','CMvZB2X2zq','ALLnAxq','uhjVy2vZCYbxyxjUAw5NoIa','CffUzM0','DxjS','zxHPC3rZu3LUyW','AM9PBG','CMvMCMvZAf90B2TLBG','DevLsxC','tvLRB0G','BxPvAu4','zMLSzv9SB2DNAw5Nx2vUywjSzwq','Bwf0y2G','D3HeuMm','reiGuxvLCNK','C2vJCMv0','u1fmx0Xpr19qqvjbtvm','zgvIDwC','u1fmx0Xpr19tte9xx1riuKvtse9mra','C3nU','zenRqMq','oxHtCMDTtG','nJy4nJG4rhHSA051','DhjPBq','q1jjveLdquW','mteWotm2mLvHuu1MvW','ChjVAMvJDa','te9hx0XfvKvm','ndq4otyYwu5Rqvb0','wunICw4','y3jLzgL0y2fYza','Dw5JyxvNAhrfEgnLChrPB24','wuT0qK8','Dg9Rzw4','u1fmx0Xpr19ftKfcteve','Ahr0Cf9LCNjVCG','zgLksNq','Dg9ju09tDhjPBMC','BgvUz3rO','zhvYyxrPB25nCW','CgHevhu','Cg5OrKu','DgveCeC','Dg9mB3DLCKnHC2u','mZaWnJuYnu9jDMTgvG','zxjYB3i','ig9UihbVCNqG','y29UzMLNrMLSzq','C3rHy2S','A290C2y','sw50zxjUywWGC2vYDMvYigvYCM9Y','Bwv0Ag9K','rfjpua','yM9izfu','zvrWqxq','rermx0fmvevs','mZu3nw55v3LZAq','v3fJDwi','r1bns0m','vfjbtLnbq1rjt05FqKvhsu4','mty4mtb5q0X4qLG','C2vYDMLJzuLUzM8','Aw5JBhvKzxm','u0vsvKLdrv9oqu1f','iokvKqRILzeGienVBMzPzYaGicaGidOG','CMvWBgfJzq','sLDux1nfq1jfva','C29WCuG','DxnLCG','w1jfrefdvevexq','tM9Kzs5QCW','C3vIC3rYAw5N','otfIsLbQs0O','D3jPDgu','rejFueftu1DpuKq','w1jfrefdveveoNrVA2vUxq','zMf0ywXFzxjYB3i','ExLKwuO','AuXjzNC','z2v0sgvHzgvYCW','u0vmrunu','C0zmuKi','revmrvrf','CgfKrw5K','q09ntuLu','BwvZC2fNzq','B2LKweu','zgjFDhjHBNnHy3rPB24','rermx0nsrufurq','zw52','BMfTzq','A0z4yKi','ms4WlJu','DejzwfG','y29Kzq','vNDcCLe','AgvHzgvYCW','otK2nZiWB1nUqMrr','s3PWAMm','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','tK9erv9ftLy','rLboyMq','C29Tzq','rxjYB3i6ia','DhLWzq','C3fSx3f1zxj5','CMf4Dfe','CxvLCNK','y3jLyxrLv3jPDgvtDhjLyw0','oefPvuT0wq','Aw5MBW','CMvTB3rLqwrKCMvZCW','uKzlufm','BLrIwgO'];a0_0x5bec=function(){return _0x4d0561;};return a0_0x5bec();}function a0_0x1ad0(_0x2b7a44,_0x34c47d){_0x2b7a44=_0x2b7a44-0x1b9;const _0x5bec31=a0_0x5bec();let _0x1ad01b=_0x5bec31[_0x2b7a44];if(a0_0x1ad0['uCVvbU']===undefined){var _0x597f5b=function(_0x553a29){const _0xac0f6c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d787f='',_0x33841a='';for(let _0xf8d4=0x0,_0x3f523c,_0x2870b4,_0x289302=0x0;_0x2870b4=_0x553a29['charAt'](_0x289302++);~_0x2870b4&&(_0x3f523c=_0xf8d4%0x4?_0x3f523c*0x40+_0x2870b4:_0x2870b4,_0xf8d4++%0x4)?_0x1d787f+=String['fromCharCode'](0xff&_0x3f523c>>(-0x2*_0xf8d4&0x6)):0x0){_0x2870b4=_0xac0f6c['indexOf'](_0x2870b4);}for(let _0x54500f=0x0,_0x30c6e4=_0x1d787f['length'];_0x54500f<_0x30c6e4;_0x54500f++){_0x33841a+='%'+('00'+_0x1d787f['charCodeAt'](_0x54500f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x33841a);};a0_0x1ad0['jdssUP']=_0x597f5b,a0_0x1ad0['LBvaEg']={},a0_0x1ad0['uCVvbU']=!![];}const _0x2b8519=_0x5bec31[0x0],_0x449ec4=_0x2b7a44+_0x2b8519,_0x5272e6=a0_0x1ad0['LBvaEg'][_0x449ec4];return!_0x5272e6?(_0x1ad01b=a0_0x1ad0['jdssUP'](_0x1ad01b),a0_0x1ad0['LBvaEg'][_0x449ec4]=_0x1ad01b):_0x1ad01b=_0x5272e6,_0x1ad01b;}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_0x450014=a0_0x81e5;(function(_0x2faed3,_0x419145){const _0x1b573b=a0_0x81e5,_0x350db7=_0x2faed3();while(!![]){try{const _0x30b16e=-parseInt(_0x1b573b(0x197))/0x1*(parseInt(_0x1b573b(0x10a))/0x2)+parseInt(_0x1b573b(0x10c))/0x3*(-parseInt(_0x1b573b(0x193))/0x4)+parseInt(_0x1b573b(0x199))/0x5*(parseInt(_0x1b573b(0x16c))/0x6)+-parseInt(_0x1b573b(0x116))/0x7+-parseInt(_0x1b573b(0x141))/0x8+parseInt(_0x1b573b(0x128))/0x9+parseInt(_0x1b573b(0xf5))/0xa;if(_0x30b16e===_0x419145)break;else _0x350db7['push'](_0x350db7['shift']());}catch(_0x34412c){_0x350db7['push'](_0x350db7['shift']());}}}(a0_0x2c41,0xb4cb0));const pino=require('pino'),fs=require('fs'),path=require('path');function a0_0x81e5(_0x300a92,_0x26b0af){_0x300a92=_0x300a92-0xe3;const _0x2c4128=a0_0x2c41();let _0x81e5b3=_0x2c4128[_0x300a92];if(a0_0x81e5['ZYOHoa']===undefined){var _0x202097=function(_0xfc8159){const _0x13759b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x107580='',_0x390f71='';for(let _0x48e033=0x0,_0x521595,_0x34b8aa,_0x2e537a=0x0;_0x34b8aa=_0xfc8159['charAt'](_0x2e537a++);~_0x34b8aa&&(_0x521595=_0x48e033%0x4?_0x521595*0x40+_0x34b8aa:_0x34b8aa,_0x48e033++%0x4)?_0x107580+=String['fromCharCode'](0xff&_0x521595>>(-0x2*_0x48e033&0x6)):0x0){_0x34b8aa=_0x13759b['indexOf'](_0x34b8aa);}for(let _0xcbcc93=0x0,_0x546541=_0x107580['length'];_0xcbcc93<_0x546541;_0xcbcc93++){_0x390f71+='%'+('00'+_0x107580['charCodeAt'](_0xcbcc93)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x390f71);};a0_0x81e5['BqBash']=_0x202097,a0_0x81e5['DiUQOw']={},a0_0x81e5['ZYOHoa']=!![];}const _0x3cd3f1=_0x2c4128[0x0],_0x36e97a=_0x300a92+_0x3cd3f1,_0x846294=a0_0x81e5['DiUQOw'][_0x36e97a];return!_0x846294?(_0x81e5b3=a0_0x81e5['BqBash'](_0x81e5b3),a0_0x81e5['DiUQOw'][_0x36e97a]=_0x81e5b3):_0x81e5b3=_0x846294,_0x81e5b3;}let logToFile=![],logDir=a0_0x450014(0xfb),serviceName=a0_0x450014(0x16b),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x450014(0x133),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x450014(0x19a),'customColors':a0_0x450014(0x129),'hideObject':!![]},isDevelopment=process[a0_0x450014(0x15f)][a0_0x450014(0x191)]!=='production',logLevel=process[a0_0x450014(0x15f)][a0_0x450014(0x162)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x450014(0x13a),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env']['APP_VERSION']||'1.0.5','env':process['env'][a0_0x450014(0x191)]||a0_0x450014(0xfa)},'timestamp':pino[a0_0x450014(0x138)]['isoTime'],'redact':{'paths':[a0_0x450014(0x198),a0_0x450014(0x11d),'password','token','apiKey','DB_PASSWORD','JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0x5a2305=>({'id':_0x5a2305['id'],'method':_0x5a2305[a0_0x450014(0x149)],'url':_0x5a2305['url'],'path':_0x5a2305['path'],'remoteAddress':_0x5a2305['ip']||_0x5a2305['connection']?.[a0_0x450014(0x105)]}),'res':_0x39aeca=>({'statusCode':_0x39aeca['statusCode'],'headers':_0x39aeca[a0_0x450014(0x14c)]?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x454892=a0_0x450014,_0x3ae170={'QbCUT':_0x454892(0x19b),'lGdUw':'restforge','UZzIo':_0x454892(0xf6),'lKgWQ':_0x454892(0x10e),'YLgRt':'info'};if(fileLoggingInitialized)return;logToFile=process['env'][_0x454892(0xef)]===_0x3ae170[_0x454892(0xec)],logDir=process['env']['LOG_DIR']||_0x454892(0xfb),serviceName=process[_0x454892(0x15f)]['SERVICE_NAME']||_0x3ae170[_0x454892(0x192)],sqlLogEnabled=process['env'][_0x454892(0x159)]===_0x3ae170[_0x454892(0xec)],sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x3ae170[_0x454892(0x127)],sqlLogParams=process['env']['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=parseInt(process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x258054=path['resolve'](process['cwd'](),logDir);try{!fs[_0x454892(0x167)](_0x258054)&&fs['mkdirSync'](_0x258054,{'recursive':!![]});}catch(_0x500410){console[_0x454892(0x15a)](_0x454892(0x147)+_0x258054+':',_0x500410[_0x454892(0x123)]),fileLoggingInitialized=!![];return;}const _0x39bd87=path['join'](_0x258054,'app.log'),_0x4c7222=path['join'](_0x258054,_0x3ae170['lKgWQ']);try{appLogStream=fs[_0x454892(0x130)](_0x39bd87,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x4c7222,{'flags':'a'}),fileLoggingInitialized=!![];const _0x3f216b={'event':_0x454892(0x112),'logDir':_0x258054,'files':[_0x454892(0x11f),_0x454892(0x10e)]},_0x2589b8=_0x454892(0x13f)+_0x258054;logger[_0x454892(0x196)](_0x3f216b,_0x2589b8),writeToFileLog({..._0x3f216b,'level':_0x3ae170[_0x454892(0x144)],'msg':_0x2589b8,'time':new Date()['toISOString']()},_0x3ae170['YLgRt']);}catch(_0xedfca4){console['error'](_0x454892(0x157),_0xedfca4['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x4a32ef,_0x55da8f){const _0xc0df4=a0_0x450014,_0x2bd03e={'XnxLF':function(_0x3648b1,_0x5ad689){return _0x3648b1+_0x5ad689;},'MGskU':function(_0x4cfe89,_0x4d938d){return _0x4cfe89===_0x4d938d;},'qjxRY':_0xc0df4(0x15a)};if(!logToFile||!appLogStream)return;const _0x526708={'service':serviceName,..._0x4a32ef},_0x412a28=_0x2bd03e['XnxLF'](JSON['stringify'](_0x526708),'\x0a');appLogStream['write'](_0x412a28),(_0x2bd03e['MGskU'](_0x55da8f,_0x2bd03e['qjxRY'])||_0x2bd03e[_0xc0df4(0xe5)](_0x55da8f,_0xc0df4(0x114)))&&(errorLogStream&&errorLogStream[_0xc0df4(0x13e)](_0x412a28));}const createRequestLogger=(_0x13c212={})=>{const _0x464a36=a0_0x450014;return logger[_0x464a36(0x16a)](_0x13c212);},logServerStart=_0x5ad1d3=>{const _0xba419a=a0_0x450014,_0x5c6e6d={'vBsGD':_0xba419a(0x122),'HiTLm':'Default','pRTkS':'ACTIVE','vMpTp':_0xba419a(0x11a),'VbPwl':'server_starting','ZEabs':_0xba419a(0x196)},_0xce937e='\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'+(_0x5ad1d3[_0xba419a(0x139)]||_0x5c6e6d[_0xba419a(0x12c)])[_0xba419a(0x134)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x5ad1d3[_0xba419a(0x19c)]||'N/A')['padEnd'](0x26)+_0xba419a(0xfc)+String(_0x5ad1d3[_0xba419a(0x168)]||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x5ad1d3[_0xba419a(0xe7)]||_0x5c6e6d[_0xba419a(0x18e)])['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x5ad1d3[_0xba419a(0x188)]?_0x5c6e6d[_0xba419a(0x14f)]:_0x5c6e6d['vMpTp'])['padEnd'](0x26)+_0xba419a(0x165);console['log'](_0xce937e);const _0x5c6ec5={'event':_0x5c6e6d[_0xba419a(0x126)],'project':_0x5ad1d3[_0xba419a(0x19c)],'port':_0x5ad1d3['port'],'config':_0x5ad1d3[_0xba419a(0xe7)],'apiKeyEnabled':!!_0x5ad1d3['apiKey']};logger['info'](_0x5c6ec5),writeToFileLog({..._0x5c6ec5,'level':_0xba419a(0x196),'msg':'Server\x20starting:\x20'+_0x5ad1d3['project']+'\x20on\x20port\x20'+_0x5ad1d3[_0xba419a(0x168)],'time':new Date()[_0xba419a(0x109)]()},_0x5c6e6d[_0xba419a(0x137)]);},logServerReady=_0x1a4b66=>{const _0x4f7fae=a0_0x450014,_0x5e7e7e={'wVFee':_0x4f7fae(0x160),'iPmJl':_0x4f7fae(0x196)},_0x115bc8={'event':_0x5e7e7e[_0x4f7fae(0x135)],'port':_0x1a4b66['port'],'module':_0x1a4b66[_0x4f7fae(0x189)],'healthCheck':_0x1a4b66[_0x4f7fae(0x16d)],'serviceInfo':_0x1a4b66['serviceInfo'],'baseUrl':_0x1a4b66['baseUrl']},_0x129623=_0x4f7fae(0x103)+_0x1a4b66['port'];logger[_0x4f7fae(0x196)](_0x115bc8,_0x129623),writeToFileLog({..._0x115bc8,'level':_0x5e7e7e[_0x4f7fae(0x124)],'msg':_0x129623,'time':new Date()[_0x4f7fae(0x109)]()},_0x5e7e7e['iPmJl']),_0x1a4b66['healthCheck']&&logger['info']('\x20\x20Health:\x20'+_0x1a4b66[_0x4f7fae(0x16d)]),_0x1a4b66['serviceInfo']&&logger[_0x4f7fae(0x196)](_0x4f7fae(0x131)+_0x1a4b66['serviceInfo']),_0x1a4b66['baseUrl']&&logger[_0x4f7fae(0x196)](_0x4f7fae(0x152)+_0x1a4b66['baseUrl']);},logProjectLoaded=(_0x48d68d,_0x18f84a)=>{const _0x5e405d=a0_0x450014,_0x9dddbc={'WEdEv':'info'},_0x265849={'event':'project_loaded','project':_0x48d68d,'path':_0x18f84a},_0x27b134=_0x5e405d(0x11e)+_0x48d68d;logger['info'](_0x265849,_0x27b134),writeToFileLog({..._0x265849,'level':'info','msg':_0x27b134,'time':new Date()['toISOString']()},_0x9dddbc[_0x5e405d(0x18c)]);},logEndpointRegistered=(_0x9b8396,_0x2ba87f)=>{const _0x2bf4bb=a0_0x450014,_0x5b2b52={'pgEkG':'endpoint_registered','jMreR':_0x2bf4bb(0xf6)},_0x2e6360={'event':_0x5b2b52['pgEkG'],'endpoint':_0x9b8396,'route':_0x2ba87f},_0x20d355=_0x2bf4bb(0x14a)+_0x9b8396+':\x20'+_0x2ba87f;logger['debug'](_0x2e6360,_0x20d355),writeToFileLog({..._0x2e6360,'level':_0x5b2b52[_0x2bf4bb(0x17d)],'msg':_0x20d355,'time':new Date()[_0x2bf4bb(0x109)]()},_0x5b2b52[_0x2bf4bb(0x17d)]);},logDatabaseConfig=_0x1e931e=>{const _0x886543=a0_0x450014,_0x496141={'DcquK':'database_config','IdCmd':'debug'},_0x354ddb={'event':_0x496141['DcquK'],'host':_0x1e931e[_0x886543(0x187)],'port':_0x1e931e['port'],'database':_0x1e931e[_0x886543(0x176)],'type':_0x1e931e['type'],'user':_0x1e931e['user']},_0x58c1e7=_0x886543(0x158)+_0x1e931e[_0x886543(0x153)]+_0x886543(0xe9)+_0x1e931e['host']+':'+_0x1e931e['port']+'/'+_0x1e931e['database'];logger[_0x886543(0xf6)](_0x354ddb,_0x58c1e7),writeToFileLog({..._0x354ddb,'level':'debug','msg':_0x58c1e7,'time':new Date()[_0x886543(0x109)]()},_0x496141[_0x886543(0x181)]);},logRequest=(_0x5449de,_0x54fafb,_0x25125c)=>{const _0x45ca01=a0_0x450014,_0x7e7cc3={'xDxEl':'http_request','sYXsv':function(_0x511f14,_0x14da1a){return _0x511f14>=_0x14da1a;},'mGlpe':_0x45ca01(0x15a)},_0x3c119b={'event':_0x7e7cc3[_0x45ca01(0x10d)],'method':_0x5449de['method'],'path':_0x5449de['path'],'statusCode':_0x54fafb['statusCode'],'durationMs':_0x25125c,'ip':_0x5449de['ip']},_0x15a6e3=_0x5449de['method']+'\x20'+_0x5449de['path']+'\x20-\x20'+_0x54fafb[_0x45ca01(0x101)]+'\x20('+_0x25125c+'ms)';let _0x20a438=_0x45ca01(0x196);if(_0x7e7cc3['sYXsv'](_0x54fafb[_0x45ca01(0x101)],0x1f4))_0x20a438=_0x7e7cc3[_0x45ca01(0x17f)],logger['error'](_0x3c119b,_0x15a6e3);else _0x54fafb['statusCode']>=0x190?(_0x20a438='warn',logger['warn'](_0x3c119b,_0x15a6e3)):logger['info'](_0x3c119b,_0x15a6e3);writeToFileLog({..._0x3c119b,'level':_0x20a438,'msg':_0x15a6e3,'time':new Date()['toISOString']()},_0x20a438);},SENSITIVE_PARAM_PATTERNS=[a0_0x450014(0xe6),a0_0x450014(0x155),a0_0x450014(0xed),a0_0x450014(0xee),'access_token',a0_0x450014(0x106),a0_0x450014(0x17e),a0_0x450014(0x110),a0_0x450014(0xea),'api_key',a0_0x450014(0x14b),a0_0x450014(0x186),'pin',a0_0x450014(0x15d),'private_key','privatekey'],redactSensitiveParams=(_0x3a70bf,_0x547264)=>{const _0x340daf=a0_0x450014,_0x51c632={'Rysua':'[REDACTED]','jZOgm':_0x340daf(0x13d),'kJasx':'[REDACTED:hash]'};if(!_0x3a70bf||_0x3a70bf['length']===0x0)return _0x3a70bf;const _0x2827a0=_0x547264[_0x340daf(0x115)](),_0xa240c3=_0x2827a0[_0x340daf(0x163)](/\(([^)]+)\)\s*values/i);let _0x1b0fc2=[];_0xa240c3&&(_0x1b0fc2=_0xa240c3[0x1]['split'](',')[_0x340daf(0x15c)](_0x56db57=>_0x56db57['trim']()['toLowerCase']()));const _0x166e93=_0x2827a0['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x166e93){const _0x38b734=_0x166e93[0x1],_0x4dad53=_0x38b734['match'](/(\w+)\s*=/g);_0x4dad53&&(_0x1b0fc2=_0x4dad53['map'](_0x5668e9=>_0x5668e9['replace'](/\s*=/,'')['trim']()[_0x340daf(0x115)]()));}return _0x3a70bf['map']((_0x595920,_0x413f2d)=>{const _0x159962=_0x340daf;if(_0x1b0fc2[_0x413f2d]){const _0x4ff3b7=_0x1b0fc2[_0x413f2d],_0x106447=SENSITIVE_PARAM_PATTERNS[_0x159962(0xfd)](_0x21e61d=>_0x4ff3b7['includes'](_0x21e61d));if(_0x106447)return _0x51c632['Rysua'];}if(typeof _0x595920===_0x51c632[_0x159962(0x172)]&&_0x595920['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x159962(0x154)](_0x595920)&&_0x595920['includes']('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/[_0x159962(0x154)](_0x595920))return _0x51c632['kJasx'];}return _0x595920;});},parseQueryMetadata=_0xfc1a71=>{const _0x2af508=a0_0x450014,_0xfa8198={'EwsHR':'UNKNOWN','FRRel':'SELECT','xtCiO':'DELETE','Iqrfl':'START\x20TRANSACTION','rNsmm':_0x2af508(0xf2),'bwmnj':'TRANSACTION_ROLLBACK','dolda':_0x2af508(0x161),'gXfpB':'DDL_CREATE','WteHe':'ALTER','cfMMC':'DDL_ALTER','VpdQo':'DROP'},_0x4b5eaf=_0xfc1a71[_0x2af508(0x142)](),_0x57e5fb=_0x4b5eaf['toUpperCase']();let _0x568f61=_0xfa8198['EwsHR'],_0x369f7b=null;if(_0x57e5fb[_0x2af508(0xfe)](_0xfa8198[_0x2af508(0xf3)])){_0x568f61=_0xfa8198['FRRel'];const _0x460ac3=_0x4b5eaf[_0x2af508(0x163)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x369f7b=_0x460ac3?_0x460ac3[0x1]:null;}else{if(_0x57e5fb[_0x2af508(0xfe)](_0x2af508(0x15b))){_0x568f61='INSERT';const _0x7a3079=_0x4b5eaf[_0x2af508(0x163)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x369f7b=_0x7a3079?_0x7a3079[0x1]:null;}else{if(_0x57e5fb['startsWith'](_0x2af508(0x178))){_0x568f61='UPDATE';const _0x2d6ec1=_0x4b5eaf[_0x2af508(0x163)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x369f7b=_0x2d6ec1?_0x2d6ec1[0x1]:null;}else{if(_0x57e5fb[_0x2af508(0xfe)](_0xfa8198['xtCiO'])){_0x568f61='DELETE';const _0x5dce6c=_0x4b5eaf['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x369f7b=_0x5dce6c?_0x5dce6c[0x1]:null;}else{if(_0x57e5fb[_0x2af508(0xfe)](_0x2af508(0x10f))||_0x57e5fb[_0x2af508(0xfe)](_0xfa8198[_0x2af508(0x171)]))_0x568f61=_0x2af508(0xf7);else{if(_0x57e5fb[_0x2af508(0xfe)](_0x2af508(0x184)))_0x568f61=_0xfa8198['rNsmm'];else{if(_0x57e5fb[_0x2af508(0xfe)]('ROLLBACK'))_0x568f61=_0xfa8198['bwmnj'];else{if(_0x57e5fb[_0x2af508(0xfe)](_0xfa8198['dolda']))_0x568f61=_0xfa8198[_0x2af508(0xe4)];else{if(_0x57e5fb[_0x2af508(0xfe)](_0xfa8198['WteHe']))_0x568f61=_0xfa8198['cfMMC'];else _0x57e5fb['startsWith'](_0xfa8198[_0x2af508(0x180)])&&(_0x568f61=_0x2af508(0x150));}}}}}}}}return{'type':_0x568f61,'table':_0x369f7b};},startQueryTimer=()=>{const _0x43d590={'lHVNH':function(_0x3917d0,_0x3724e3){return _0x3917d0(_0x3724e3);},'xrVcO':function(_0x4a7c05,_0x206335){return _0x4a7c05*_0x206335;},'mIANL':function(_0x2e7cba,_0x263287){return _0x2e7cba/_0x263287;}},_0x234090=process['hrtime']();return()=>{const _0x23c65d=a0_0x81e5,[_0x47d47d,_0x330ff3]=process[_0x23c65d(0x12f)](_0x234090);return _0x43d590[_0x23c65d(0xf4)](parseFloat,(_0x43d590['xrVcO'](_0x47d47d,0x3e8)+_0x43d590['mIANL'](_0x330ff3,0xf4240))['toFixed'](0x2));};},logQuery=(_0x49f7c2,_0xe3d15c=[],_0x5092c1={})=>{const _0x20d3db=a0_0x450014,_0x3eb26c={'ZTdhh':_0x20d3db(0x18b),'BYbLO':_0x20d3db(0x118),'Hitfz':function(_0x57b8f6,_0x1554d5){return _0x57b8f6>_0x1554d5;},'LcDsB':function(_0x5d3127,_0x3281c,_0x3df7ff){return _0x5d3127(_0x3281c,_0x3df7ff);},'KzSXL':function(_0x31beea,_0x599e2f){return _0x31beea!==_0x599e2f;},'etFqE':'debug','fZtSh':function(_0x1c95ff,_0x34399e){return _0x1c95ff===_0x34399e;},'uDWjn':_0x20d3db(0x196)};if(!sqlLogEnabled){logger[_0x20d3db(0xf6)]({'event':_0x3eb26c['ZTdhh'],'query':_0x49f7c2[_0x20d3db(0xe8)](0x0,0xc8),'paramCount':_0xe3d15c['length']},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x3eb26c[_0x20d3db(0x166)]}=_0x5092c1,{type:_0x3aa212,table:_0x51edab}=parseQueryMetadata(_0x49f7c2),_0x16cd83={'event':'sql_query','queryType':_0x3aa212,'table':_0x51edab,'query':_0x49f7c2,'paramCount':_0xe3d15c[_0x20d3db(0x132)],'dbType':dbType};sqlLogParams&&_0x3eb26c[_0x20d3db(0x164)](_0xe3d15c['length'],0x0)&&(_0x16cd83[_0x20d3db(0xf1)]=_0x3eb26c[_0x20d3db(0xf8)](redactSensitiveParams,_0xe3d15c,_0x49f7c2));duration!==null&&(_0x16cd83['durationMs']=duration,_0x16cd83[_0x20d3db(0x16e)]=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x16cd83[_0x20d3db(0x121)]=rowsAffected);const _0x5c8990=_0x51edab||_0x20d3db(0x151);let _0x41c45e='['+_0x3aa212+']\x20'+_0x5c8990;duration!==null&&(_0x41c45e+='\x20('+duration+_0x20d3db(0x17c));const _0x21c87a=_0x3eb26c[_0x20d3db(0x14d)](duration,null)&&_0x3eb26c[_0x20d3db(0x164)](duration,sqlLogSlowThreshold);let _0x1db78a=_0x3eb26c['etFqE'];if(_0x21c87a)_0x41c45e+='\x20[SLOW]',_0x1db78a='warn',logger[_0x20d3db(0x173)](_0x16cd83,_0x41c45e);else _0x3eb26c['fZtSh'](sqlLogLevel,_0x3eb26c[_0x20d3db(0x146)])?(_0x1db78a=_0x3eb26c['uDWjn'],logger['info'](_0x16cd83,_0x41c45e)):logger['debug'](_0x16cd83,_0x41c45e);_0x3eb26c['LcDsB'](writeToFileLog,{..._0x16cd83,'level':_0x1db78a,'msg':_0x41c45e,'time':new Date()['toISOString']()},_0x1db78a);},logTransaction=(_0x5cf5af,_0x5b742)=>{const _0x3e214c=a0_0x450014,_0x181e86={'QpViK':_0x3e214c(0x194),'SgJSy':_0x3e214c(0xf6)},_0x352ab7={'event':_0x181e86[_0x3e214c(0x11b)],'status':_0x5cf5af,'queryCount':_0x5b742},_0x4f6335='Transaction\x20'+_0x5cf5af;logger['debug'](_0x352ab7,_0x4f6335),writeToFileLog({..._0x352ab7,'level':_0x181e86[_0x3e214c(0x15e)],'msg':_0x4f6335,'time':new Date()[_0x3e214c(0x109)]()},'debug');},redactObject=_0x3c1989=>{const _0x1423f3=a0_0x450014,_0x332ca9={'hUIKM':function(_0x10eed5,_0x47f927){return _0x10eed5!==_0x47f927;},'vNZpE':'pwd','boAIZ':_0x1423f3(0xee),'pCAaE':_0x1423f3(0x17e),'XXBup':_0x1423f3(0xf0),'fhsZc':_0x1423f3(0x12a),'XiDvL':'ssn','lfujl':'pin','tSDdQ':'privatekey','uYkXl':'refresh_token','QOLBK':_0x1423f3(0x102),'jPgUj':function(_0x4d7e39,_0x29f327){return _0x4d7e39===_0x29f327;},'KFRWS':function(_0x2392c2,_0x516622){return _0x2392c2!==_0x516622;}};if(!_0x3c1989||_0x332ca9['hUIKM'](typeof _0x3c1989,_0x1423f3(0x174)))return _0x3c1989;const _0x112ef6=['password',_0x1423f3(0x155),_0x332ca9[_0x1423f3(0x179)],_0x332ca9['boAIZ'],_0x332ca9[_0x1423f3(0x13b)],'apikey',_0x332ca9['XXBup'],_0x332ca9[_0x1423f3(0x156)],_0x1423f3(0xf9),_0x1423f3(0x136),'cvv',_0x332ca9['XiDvL'],_0x332ca9[_0x1423f3(0x177)],_0x1423f3(0xeb),_0x332ca9[_0x1423f3(0x100)],_0x332ca9[_0x1423f3(0x12b)],_0x1423f3(0x104)],_0x2c1cc9=Array['isArray'](_0x3c1989)?[..._0x3c1989]:{..._0x3c1989};for(const _0x8c496a of Object['keys'](_0x2c1cc9)){const _0x55fc36=_0x8c496a['toLowerCase']();if(_0x112ef6['some'](_0x3dc146=>_0x55fc36['includes'](_0x3dc146)))_0x2c1cc9[_0x8c496a]=_0x332ca9['QOLBK'];else _0x332ca9[_0x1423f3(0x113)](typeof _0x2c1cc9[_0x8c496a],'object')&&_0x332ca9['KFRWS'](_0x2c1cc9[_0x8c496a],null)&&(_0x2c1cc9[_0x8c496a]=redactObject(_0x2c1cc9[_0x8c496a]));}return _0x2c1cc9;},logError=(_0x5ba335,_0x20eb1a={},_0x3a1bb6=null)=>{const _0x2547ca=a0_0x450014,_0x53ddcc={'nlNxr':'error','wnVrw':function(_0x3248f5,_0x21d098,_0x55a1f1){return _0x3248f5(_0x21d098,_0x55a1f1);}},_0x34db07={'event':_0x53ddcc['nlNxr'],'errorName':_0x5ba335['name']||_0x2547ca(0x143),'errorMessage':_0x5ba335[_0x2547ca(0x123)],'errorCode':_0x5ba335['code']||null,'stack':_0x5ba335[_0x2547ca(0x11c)],..._0x20eb1a},_0x2380f8=_0x3a1bb6||'Error:\x20'+_0x5ba335[_0x2547ca(0x123)];logger[_0x2547ca(0x15a)](_0x34db07,_0x2380f8),_0x53ddcc['wnVrw'](writeToFileLog,{..._0x34db07,'level':'error','msg':_0x2380f8,'time':new Date()[_0x2547ca(0x109)]()},_0x53ddcc['nlNxr']);},logFatalError=(_0x1d3a61,_0x305033={},_0x268614=null)=>{const _0x4bf6e6=a0_0x450014,_0x4fb7bf={'YbaUf':_0x4bf6e6(0x14e),'zjHMr':_0x4bf6e6(0x143),'SICRq':function(_0x2f7f83,_0x1aa071,_0x5352d3){return _0x2f7f83(_0x1aa071,_0x5352d3);},'ylVvW':_0x4bf6e6(0x114)},_0x53e121={'event':_0x4fb7bf['YbaUf'],'errorName':_0x1d3a61['name']||_0x4fb7bf[_0x4bf6e6(0x117)],'errorMessage':_0x1d3a61['message'],'errorCode':_0x1d3a61['code']||null,'stack':_0x1d3a61['stack'],'severity':_0x4bf6e6(0x17a),..._0x305033},_0x395e39=_0x268614||_0x4bf6e6(0x190)+_0x1d3a61[_0x4bf6e6(0x123)];logger['fatal'](_0x53e121,_0x395e39),_0x4fb7bf[_0x4bf6e6(0x175)](writeToFileLog,{..._0x53e121,'level':_0x4fb7bf[_0x4bf6e6(0x12d)],'msg':_0x395e39,'time':new Date()[_0x4bf6e6(0x109)]()},'error');},logHttpError=(_0x5c0265,_0x2235f,_0x40dea1={})=>{const _0x3fc7e7=a0_0x450014,_0x52bc31={'XcqWj':'http_error','Fqxbw':'Error','ytiZa':'user-agent','reziU':_0x3fc7e7(0x145),'pQDXh':function(_0x10296d,_0x347acb){return _0x10296d(_0x347acb);},'aXiSr':function(_0x55d78a,_0x71ef20){return _0x55d78a>=_0x71ef20;},'uJaur':function(_0x4e4618,_0x12a10e){return _0x4e4618>=_0x12a10e;},'KsPoo':_0x3fc7e7(0x15a),'lmZJU':_0x3fc7e7(0x173)},_0x28a3f3={'event':_0x52bc31[_0x3fc7e7(0x18d)],'errorName':_0x5c0265[_0x3fc7e7(0x111)]||_0x52bc31['Fqxbw'],'errorMessage':_0x5c0265['message'],'errorCode':_0x5c0265[_0x3fc7e7(0x17b)]||_0x5c0265['statusCode']||0x1f4,'stack':_0x5c0265['stack'],'method':_0x2235f?.[_0x3fc7e7(0x149)],'url':_0x2235f?.[_0x3fc7e7(0x125)]||_0x2235f?.['originalUrl'],'path':_0x2235f?.[_0x3fc7e7(0x182)],'ip':_0x2235f?.['ip']||_0x2235f?.[_0x3fc7e7(0x185)]?.[_0x3fc7e7(0x105)],'userAgent':_0x2235f?.[_0x3fc7e7(0x140)]?.(_0x52bc31['ytiZa']),'requestId':_0x2235f?.['id']||_0x2235f?.[_0x3fc7e7(0x119)]?.[_0x52bc31[_0x3fc7e7(0x169)]],'body':_0x2235f?.['body']?_0x52bc31['pQDXh'](redactObject,_0x2235f[_0x3fc7e7(0x120)]):undefined,'query':_0x2235f?.[_0x3fc7e7(0x10b)],..._0x40dea1},_0x2ea6bc=_0x5c0265[_0x3fc7e7(0x101)]||_0x5c0265[_0x3fc7e7(0x170)]||0x1f4,_0x2a13b2='HTTP\x20'+_0x2ea6bc+':\x20'+_0x5c0265['message'];_0x52bc31['aXiSr'](_0x2ea6bc,0x1f4)?logger['error'](_0x28a3f3,_0x2a13b2):logger[_0x3fc7e7(0x173)](_0x28a3f3,_0x2a13b2),writeToFileLog({..._0x28a3f3,'level':_0x52bc31['uJaur'](_0x2ea6bc,0x1f4)?_0x52bc31['KsPoo']:_0x52bc31['lmZJU'],'msg':_0x2a13b2,'time':new Date()['toISOString']()},_0x52bc31['aXiSr'](_0x2ea6bc,0x1f4)?'error':'warn');},logUncaughtError=(_0x3bc53f,_0x3703cb)=>{const _0x2c061a=a0_0x450014,_0x17490c={'lQJvY':_0x2c061a(0x17a),'QvOZc':function(_0x39d8b0,_0x12e140,_0x55a9a6){return _0x39d8b0(_0x12e140,_0x55a9a6);}},_0x478934={'event':_0x3bc53f,'errorName':_0x3703cb?.['name']||'Error','errorMessage':_0x3703cb?.['message']||String(_0x3703cb),'errorCode':_0x3703cb?.['code']||null,'stack':_0x3703cb?.[_0x2c061a(0x11c)],'severity':_0x17490c[_0x2c061a(0x16f)],'processId':process['pid'],'memoryUsage':process[_0x2c061a(0x12e)](),'uptime':process['uptime']()},_0x397677='['+_0x3bc53f['toUpperCase']()+']\x20'+(_0x3703cb?.[_0x2c061a(0x123)]||_0x3703cb);logger['fatal'](_0x478934,_0x397677),_0x17490c['QvOZc'](writeToFileLog,{..._0x478934,'level':_0x2c061a(0x114),'msg':_0x397677,'time':new Date()[_0x2c061a(0x109)]()},'error');},setupGlobalErrorHandlers=()=>{const _0x554b8=a0_0x450014,_0x5ca318={'FrvfO':function(_0x1ea1a5,_0x177325,_0x203c2c){return _0x1ea1a5(_0x177325,_0x203c2c);},'HCQhk':_0x554b8(0x107),'AGykZ':_0x554b8(0x195),'MYVcn':'Global\x20error\x20handlers\x20initialized','bVMqs':_0x554b8(0x196)};process['on'](_0x554b8(0x18a),_0x388424=>{const _0x557ca6=_0x554b8;_0x5ca318['FrvfO'](logUncaughtError,_0x557ca6(0x18a),_0x388424),setTimeout(()=>{const _0x4da6de=_0x557ca6;process[_0x4da6de(0xff)](0x1);},0x3e8);}),process['on'](_0x554b8(0x183),(_0x437573,_0x258272)=>{const _0x3e8d69=_0x437573 instanceof Error?_0x437573:new Error(String(_0x437573));logUncaughtError('unhandledRejection',_0x3e8d69);}),process['on'](_0x5ca318[_0x554b8(0x108)],_0x4e42e4=>{const _0x5c2c95=_0x554b8;logger['warn']({'event':_0x5ca318[_0x5c2c95(0xe3)],'name':_0x4e42e4['name'],'message':_0x4e42e4['message'],'stack':_0x4e42e4['stack']},'Process\x20Warning:\x20'+_0x4e42e4[_0x5c2c95(0x123)]);});const _0x1b14dc={'event':'global_error_handlers_setup'},_0x137940=_0x5ca318['MYVcn'];logger[_0x554b8(0x196)](_0x1b14dc,_0x137940),_0x5ca318['FrvfO'](writeToFileLog,{..._0x1b14dc,'level':_0x5ca318[_0x554b8(0x148)],'msg':_0x137940,'time':new Date()[_0x554b8(0x109)]()},_0x5ca318['bVMqs']);},createErrorHandlerMiddleware=()=>{const _0x3ae093={'nlWCD':function(_0x5068c3,_0x41deab,_0x188f17){return _0x5068c3(_0x41deab,_0x188f17);},'ajMZD':function(_0x4f8765,_0x1a0783){return _0x4f8765>=_0x1a0783;},'cWcXh':'Internal\x20server\x20error'};return(_0x30175e,_0x37f5b3,_0x5824d6,_0x297961)=>{const _0x1a8327=a0_0x81e5;_0x3ae093[_0x1a8327(0x13c)](logHttpError,_0x30175e,_0x37f5b3);const _0x5d90e5=_0x30175e['statusCode']||_0x30175e[_0x1a8327(0x170)]||0x1f4;_0x5824d6[_0x1a8327(0x170)](_0x5d90e5)['json']({'success':![],'error':_0x3ae093[_0x1a8327(0x18f)](_0x5d90e5,0x1f4)?_0x3ae093['cWcXh']:_0x30175e[_0x1a8327(0x123)],'requestId':_0x37f5b3['id']||_0x37f5b3[_0x1a8327(0x119)]?.['x-request-id']||null});};};function a0_0x2c41(){const _0x30c40d=['icbjBMzVoIaGia','BgvUz3rO','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','CgfKrw5K','D1zgzwu','y3jLzgL0x2nHCMq','wKvHyNm','C3rKvgLTzuz1BMn0Aw9UCW','zw52AxjVBM1LBNq','CgLUBY1WCMv0DhK','Cenbyuu','BMXxq0q','C3rYAw5N','D3jPDgu','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','z2v0','mtaYmZe0mJrVt3fVB0q','DhjPBq','rxjYB3i','wuXNuNq','Ec1Yzxf1zxn0lwLK','DurxAM4','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','yLznCxm','Bwv0Ag9K','icdIHPiG','y3jLzgvUDgLHBa','z2v0sgvHzgvYCW','s3PtweW','zMf0ywXFzxjYB3i','CfjuA1m','rermx0rst1a','Dw5RBM93BG','icbvuKW6icaGia','DhLWzq','DgvZDa','CgfZC3DK','zMHZwMm','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','rgf0ywjHC2u6ia','u1fmx0Xpr19ftKfcteve','zxjYB3i','su5trvju','BwfW','B3rW','u2Dku3K','zw52','C2vYDMvYx3jLywr5','q1jfqvrf','te9hx0XfvKvm','Bwf0y2G','sgL0zNO','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','qLLIte8','zxHPC3rZu3LUyW','Cg9YDa','CMv6Avu','y2HPBgq','CMvZDgzVCMDL','mtG0otHcvNzJCe0','AgvHBhrOq2HLy2S','AxntBg93','BffkDLK','C3rHDhvZ','sxfYzMW','ALPpz20','D2fYBG','B2jQzwn0','u0LduNe','zgf0ywjHC2u','Bgz1AMW','vvbeqvrf','DK5ACeu','q1jjveLdquW','y29Kzq','BxmP','AK1Yzvi','C2vJCMv0','BuDSCgu','vNbKuw8','swrdBwq','Cgf0Aa','Dw5Oyw5KBgvKuMvQzwn0Aw9U','q09ntuLu','y29UBMvJDgLVBG','y3jLzgvUDgLHBhm','Ag9ZDa','yxbPs2v5','Bw9KDwXL','Dw5JyxvNAhrfEgnLChrPB24','zgjFCxvLCNK','v0vKrxy','wgnXv2O','sgLutg0','ywPnwKq','rKfuquW6ia','tK9erv9ftLy','BeDKvxC','mta0mZGXnMjAuvn0ra','zgjFDhjHBNnHy3rPB24','D2fYBMLUzW','Aw5MBW','mtm5uKD3DeLT','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','mte4me9QBLnLtW','E21Zz30','Dhj1zq','ChjVAMvJDa','senrAgS','z1HMCei','tuDZA1u','CgfZC3DVCMq','y29UzMLNrMLSzq','C3vIC3rYAw5N','oI8V','yxbPA2v5','ChjPDMf0zv9RzxK','uwjdvvq','ChDK','Dg9Rzw4','te9hx1rpx0zjteu','yxbPx2TLEq','CgfYyw1Z','vfjbtLnbq1rjt05Fq09ntuLu','rLjszwW','BeHwtKG','mZyXotm1mJbgrg5ut3a','zgvIDwC','vfjbtLnbq1rjt05FqKvhsu4','tgneC0i','y3jLzgL0y2fYza','zgv2zwXVCg1LBNq','lI9SB2DZ','iokvKqRILzeGifbVCNqGicaGicaGidOG','C29Tzq','C3rHCNrZv2L0Aa','zxHPDa','Dfnezfe','C3rHDhvZq29Kzq','w1jfrefdvevexq','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','ywnJzxnZx3rVA2vU','CMvTB3rLqwrKCMvZCW','CMvMCMvZAf90B2TLBG','ChjVy2vZC193yxjUAw5N','quD5A1O','Dg9ju09tDhjPBMC','nZuZoejIuxnkCq','CxvLCNK','mtvtBxbZq1G','Eer4rwW','zxjYB3iUBg9N','qKvhsu4','yxbPx3nLy3jLDa','BMfTzq','zMLSzv9SB2DNAw5Nx2vUywjSzwq','ALbNvwO','zMf0ywW','Dg9mB3DLCKnHC2u','ndCZmdi4nwL5qLjwsG','EMPitxi','Cg9ZDgDYzxnXBa','AgvHzgvYCW','tK9uiefdveLwrq','uxbwAuS','C3rHy2S','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','w09lxsbqCM9Qzwn0igXVywrLzdOG','yxbWlMXVzW','yM9KEq','CM93C0fMzMvJDgvK','tM9Kzs5QCW','BwvZC2fNzq','AvbTsMW','DxjS','vMjqD2W','vvP6sw8','mtu5mJm4oerPANfOEq','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','yxv0Ag9YAxPHDgLVBG','DvLRwgW','DKjZr0q','EwXwDLC','BwvTB3j5vxnHz2u','Ahj0Aw1L','y3jLyxrLv3jPDgvtDhjLyw0'];a0_0x2c41=function(){return _0x30c40d;};return a0_0x2c41();}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_0x4906(_0x5f2c12,_0x339d0d){_0x5f2c12=_0x5f2c12-0x132;const _0x376379=a0_0x3763();let _0x49066d=_0x376379[_0x5f2c12];if(a0_0x4906['lwUjXN']===undefined){var _0x55fb47=function(_0x2af455){const _0x302767='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x11acaf='',_0x3ff31e='';for(let _0x292a2f=0x0,_0x1430e5,_0x496f48,_0x12b6cd=0x0;_0x496f48=_0x2af455['charAt'](_0x12b6cd++);~_0x496f48&&(_0x1430e5=_0x292a2f%0x4?_0x1430e5*0x40+_0x496f48:_0x496f48,_0x292a2f++%0x4)?_0x11acaf+=String['fromCharCode'](0xff&_0x1430e5>>(-0x2*_0x292a2f&0x6)):0x0){_0x496f48=_0x302767['indexOf'](_0x496f48);}for(let _0x378e06=0x0,_0x5d9dbe=_0x11acaf['length'];_0x378e06<_0x5d9dbe;_0x378e06++){_0x3ff31e+='%'+('00'+_0x11acaf['charCodeAt'](_0x378e06)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ff31e);};a0_0x4906['cmtFcm']=_0x55fb47,a0_0x4906['KwYSeY']={},a0_0x4906['lwUjXN']=!![];}const _0x99584e=_0x376379[0x0],_0x538bb5=_0x5f2c12+_0x99584e,_0x58fe9f=a0_0x4906['KwYSeY'][_0x538bb5];return!_0x58fe9f?(_0x49066d=a0_0x4906['cmtFcm'](_0x49066d),a0_0x4906['KwYSeY'][_0x538bb5]=_0x49066d):_0x49066d=_0x58fe9f,_0x49066d;}const a0_0x105958=a0_0x4906;(function(_0x4d7fd7,_0x167154){const _0x53b1a1=a0_0x4906,_0x415546=_0x4d7fd7();while(!![]){try{const _0x2a0105=-parseInt(_0x53b1a1(0x155))/0x1+-parseInt(_0x53b1a1(0x13d))/0x2+parseInt(_0x53b1a1(0x13e))/0x3*(-parseInt(_0x53b1a1(0x13b))/0x4)+-parseInt(_0x53b1a1(0x146))/0x5+-parseInt(_0x53b1a1(0x148))/0x6+-parseInt(_0x53b1a1(0x138))/0x7*(-parseInt(_0x53b1a1(0x133))/0x8)+-parseInt(_0x53b1a1(0x142))/0x9*(-parseInt(_0x53b1a1(0x14f))/0xa);if(_0x2a0105===_0x167154)break;else _0x415546['push'](_0x415546['shift']());}catch(_0xfcfeb5){_0x415546['push'](_0x415546['shift']());}}}(a0_0x3763,0xa4549));const fs=require('fs')[a0_0x105958(0x149)],path=require('path'),{logger}=require('./logger');function a0_0x3763(){const _0x157536=['mJDzt2XmAwS','Bg9HzfbHEwXVywq','zMLLBgroyw1L','DgfIBgvoyw1L','ndm4ode4nvP0z3bLuG','zNf2zgy','mZK0ntKXmMfdCLPovW','ChjVBwLZzxm','AgfZ','lwv4Cg9YDa','ywn0Aw9U','zNfwtwO','CMvHzezPBgu','mti3odmXndb5AfPPAhy','Cgf5Bg9Hzf9SB2fKzwq','y29SDw1UrM9YBwf0CW','zxjYB3i','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','Cgf5Bg9HzdO','nZKZmte0DNLfzgjl','z2v0','zMLLBgrmywjLBhm','Cgf5Bg9HzerPCG','CvnUENa','y2XLyxi','DxrMoa','mJrvDvj2C1O','BwvZC2fNzq','Axnby3rPB25fBMfIBgvK','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','zgvIDwC','mtC0mdK3n1r5EhfNsW','y2fJAgu','C2v0','mteYntjYsKzWC2q','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','mJi0mJeXmNvOtfjztG','ndG5A0HjCMnY','AM9PBG','Bg9HzfbHEwXVywrcEu5HBwu','zxHWB3j0CW'];a0_0x3763=function(){return _0x157536;};return a0_0x3763();}class PayloadLoader{constructor(){const _0x242cc2=a0_0x105958,_0x3bac1c={'fqVMj':'../../payload'};this[_0x242cc2(0x158)]=path[_0x242cc2(0x13f)](__dirname,_0x3bac1c[_0x242cc2(0x14d)]),this['cache']=new Map();}async[a0_0x105958(0x143)](_0x1e1294,_0x5ba093){const _0x194260=a0_0x105958,_0x72899d={'uPxOA':_0x194260(0x132),'nYiUT':'payload_load_error'},_0x4fa7bb=_0x1e1294+':'+_0x5ba093;if(this['cache']['has'](_0x4fa7bb))return this[_0x194260(0x139)]['get'](_0x4fa7bb);const _0x2d61fd=path['join'](this['payloadDir'],_0x1e1294+'_'+_0x5ba093+'.json');try{const _0x41bd88=await fs[_0x194260(0x14e)](_0x2d61fd,_0x72899d['uPxOA']),_0x5b3838=JSON['parse'](_0x41bd88);return this['cache'][_0x194260(0x13a)](_0x4fa7bb,_0x5b3838),logger[_0x194260(0x137)]({'event':'payload_loaded','project':_0x1e1294,'resource':_0x5ba093},_0x194260(0x13c)),_0x5b3838;}catch(_0x20f0d3){logger[_0x194260(0x152)]({'event':_0x72899d['nYiUT'],'project':_0x1e1294,'resource':_0x5ba093,'error':_0x20f0d3[_0x194260(0x134)]},'Failed\x20to\x20load\x20payload');throw new Error('Payload\x20not\x20found:\x20'+_0x1e1294+'_'+_0x5ba093);}}async[a0_0x105958(0x140)](_0x1f6dc1){const _0xb3778d=a0_0x105958,_0x4fbea0={'CjTxi':_0xb3778d(0x150),'tczHh':_0xb3778d(0x153),'SRYkP':'payload_load_error','fqvdf':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x184397=_0xb3778d(0x154)+_0x1f6dc1;if(this[_0xb3778d(0x139)][_0xb3778d(0x14a)](_0x184397))return this[_0xb3778d(0x139)][_0xb3778d(0x156)](_0x184397);const _0x2bd57a=path[_0xb3778d(0x13f)](this[_0xb3778d(0x158)],_0x1f6dc1+'.json');try{const _0x5d06d6=await fs['readFile'](_0x2bd57a,_0xb3778d(0x132)),_0x7aea4b=JSON['parse'](_0x5d06d6);return this[_0xb3778d(0x139)][_0xb3778d(0x13a)](_0x184397,_0x7aea4b),logger[_0xb3778d(0x137)]({'event':_0x4fbea0['CjTxi'],'payloadName':_0x1f6dc1},_0x4fbea0['tczHh']),_0x7aea4b;}catch(_0x28f1c8){logger['error']({'event':_0x4fbea0['SRYkP'],'payloadName':_0x1f6dc1,'error':_0x28f1c8['message']},_0x4fbea0[_0xb3778d(0x147)]);throw new Error('Payload\x20not\x20found:\x20'+_0x1f6dc1);}}[a0_0x105958(0x135)](_0x19b178,_0x28c758){const _0x1fb1ac=a0_0x105958;return _0x19b178[_0x1fb1ac(0x14c)]&&_0x19b178[_0x1fb1ac(0x14c)][_0x28c758]===!![];}['getExportConfig'](_0x4f70cd){const _0x310acc=a0_0x105958;return{'columns':_0x4f70cd[_0x310acc(0x144)]||[],'filename':_0x4f70cd[_0x310acc(0x145)]['replace']('.','-')+_0x310acc(0x14b),'datatablesQuery':_0x4f70cd['datatablesQuery']||null,'columnFormats':_0x4f70cd[_0x310acc(0x151)]||null,'fieldLabels':_0x4f70cd[_0x310acc(0x157)]||null};}['clearCache'](){const _0x2a0528=a0_0x105958,_0x550439={'qSnzp':_0x2a0528(0x136)};this[_0x2a0528(0x139)][_0x2a0528(0x15a)](),logger['info']({'event':_0x550439[_0x2a0528(0x159)]},'Payload\x20cache\x20cleared');}}module[a0_0x105958(0x141)]=new PayloadLoader();
|