@restforgejs/platform 4.1.1 → 4.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bin/sdf-tools.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/endpoint/create.js +42 -3
- package/generators/cli/schema/apply.js +525 -0
- package/generators/cli/schema/diff.js +321 -0
- package/generators/cli/schema/generate-ddl.js +7 -10
- package/generators/cli/schema/init.js +95 -172
- package/generators/cli/schema/migrate.js +10 -16
- package/generators/cli/schema/models.js +8 -12
- package/generators/cli/schema/template.js +222 -0
- package/generators/cli/schema/validate.js +8 -12
- package/generators/cli-entry.js +17 -2
- package/generators/lib/dbschema-kit/apply-engine.js +582 -0
- package/generators/lib/dbschema-kit/diff-engine.js +703 -0
- package/generators/lib/dbschema-kit/diff-reporter.js +272 -0
- package/generators/lib/dbschema-kit/emitters/alter-table.js +275 -0
- package/generators/lib/payload/endpoint-schema-validator.js +171 -0
- package/generators/lib/payload/payload-runner.js +137 -220
- package/generators/lib/payload/schema-diff.js +277 -0
- package/generators/lib/utils/audit-columns.js +181 -0
- package/generators/lib/utils/cli-output.js +17 -0
- package/generators/lib/utils/database-introspector.js +16 -13
- package/integrity-manifest.json +8 -8
- 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_0x25c54e=a0_0x3513;(function(_0x597abd,_0x5f0b85){const _0x31b5ef=a0_0x3513,_0x21bd9d=_0x597abd();while(!![]){try{const _0x5c50ca=-parseInt(_0x31b5ef(0xd8))/0x1*(-parseInt(_0x31b5ef(0xb9))/0x2)+-parseInt(_0x31b5ef(0xd6))/0x3+parseInt(_0x31b5ef(0xbb))/0x4+-parseInt(_0x31b5ef(0xd2))/0x5+-parseInt(_0x31b5ef(0xbe))/0x6*(parseInt(_0x31b5ef(0xba))/0x7)+parseInt(_0x31b5ef(0xc3))/0x8*(parseInt(_0x31b5ef(0xcc))/0x9)+parseInt(_0x31b5ef(0xd4))/0xa*(-parseInt(_0x31b5ef(0xd3))/0xb);if(_0x5c50ca===_0x5f0b85)break;else _0x21bd9d['push'](_0x21bd9d['shift']());}catch(_0x3806fc){_0x21bd9d['push'](_0x21bd9d['shift']());}}}(a0_0x3e9a,0x79d5d));class DateTimeFormatter{static[a0_0x25c54e(0xdb)](_0x422803,_0x9a740d,_0x2c8fd6){const _0x209ccd=a0_0x25c54e;if(!_0x422803)return null;try{if(_0x2c8fd6===_0x209ccd(0xc5))return this['formatDate'](_0x422803,_0x9a740d);else{if(_0x2c8fd6===_0x209ccd(0xd0))return this[_0x209ccd(0xce)](_0x422803,_0x9a740d);else{if(_0x2c8fd6===_0x209ccd(0xcf))return this[_0x209ccd(0xcd)](_0x422803,_0x9a740d);}}return _0x422803;}catch(_0x291177){return console['error']('Error\x20formatting\x20datetime:\x20'+_0x291177[_0x209ccd(0xc9)]),_0x422803;}}static[a0_0x25c54e(0xc8)](_0x483eab,_0x4d420d){const _0x2ac55a=a0_0x25c54e,_0x5ab144={'YvYJK':function(_0xe9f4e1,_0x52d02a){return _0xe9f4e1(_0x52d02a);},'NRqFq':function(_0x2fe7c1,_0x29c7bc){return _0x2fe7c1+_0x29c7bc;}},_0x301428=new Date(_0x483eab);if(isNaN(_0x301428[_0x2ac55a(0xd7)]()))return console[_0x2ac55a(0xc0)](_0x2ac55a(0xcb)+_0x483eab),_0x483eab;const _0x775346=_0x5ab144[_0x2ac55a(0xda)](String,_0x301428['getDate']())['padStart'](0x2,'0'),_0x29541d=_0x5ab144['YvYJK'](String,_0x5ab144[_0x2ac55a(0xbf)](_0x301428['getMonth'](),0x1))['padStart'](0x2,'0'),_0x7f5707=_0x301428['getFullYear'](),_0x3d74cd={'dd/MM/yyyy':_0x775346+'/'+_0x29541d+'/'+_0x7f5707,'dd-MM-yyyy':_0x775346+'-'+_0x29541d+'-'+_0x7f5707,'MM/dd/yyyy':_0x29541d+'/'+_0x775346+'/'+_0x7f5707,'yyyy/MM/dd':_0x7f5707+'/'+_0x29541d+'/'+_0x775346,'yyyy-MM-dd':_0x7f5707+'-'+_0x29541d+'-'+_0x775346};return _0x3d74cd[_0x4d420d]||_0x7f5707+'-'+_0x29541d+'-'+_0x775346;}static['formatTimestamp'](_0x4bbd70,_0x3db55b){const _0x4df68a=a0_0x25c54e,_0x4c11ad={'NRdMY':function(_0x5ef4e7,_0x44dc1e){return _0x5ef4e7(_0x44dc1e);},'dnYJb':function(_0x17afc1,_0x137305){return _0x17afc1(_0x137305);},'WcpRc':function(_0xf8cf6a,_0x580124){return _0xf8cf6a!==_0x580124;}},_0x51d9fe=new Date(_0x4bbd70);if(isNaN(_0x51d9fe['getTime']()))return console[_0x4df68a(0xc0)]('Invalid\x20timestamp\x20value:\x20'+_0x4bbd70),_0x4bbd70;const _0x50e4cd=String(_0x51d9fe[_0x4df68a(0xb8)]())[_0x4df68a(0xd9)](0x2,'0'),_0x489be4=_0x4c11ad[_0x4df68a(0xc4)](String,_0x51d9fe[_0x4df68a(0xc6)]()+0x1)[_0x4df68a(0xd9)](0x2,'0'),_0x206be8=_0x51d9fe[_0x4df68a(0xc2)](),_0x34a866=_0x4c11ad[_0x4df68a(0xc4)](String,_0x51d9fe['getHours']())['padStart'](0x2,'0'),_0x38eb5c=_0x4c11ad[_0x4df68a(0xc7)](String,_0x51d9fe[_0x4df68a(0xc1)]())['padStart'](0x2,'0'),_0x147bb2=_0x4c11ad[_0x4df68a(0xc7)](String,_0x51d9fe['getSeconds']())['padStart'](0x2,'0'),_0x1f0623=_0x3db55b['split']('\x20');if(_0x4c11ad['WcpRc'](_0x1f0623[_0x4df68a(0xca)],0x2))return _0x206be8+'-'+_0x489be4+'-'+_0x50e4cd+'\x20'+_0x34a866+':'+_0x38eb5c+':'+_0x147bb2;const _0x18d157=_0x1f0623[0x0],_0x202049=_0x1f0623[0x1],_0x3eee73={'dd/MM/yyyy':_0x50e4cd+'/'+_0x489be4+'/'+_0x206be8,'dd-MM-yyyy':_0x50e4cd+'-'+_0x489be4+'-'+_0x206be8,'MM/dd/yyyy':_0x489be4+'/'+_0x50e4cd+'/'+_0x206be8,'yyyy/MM/dd':_0x206be8+'/'+_0x489be4+'/'+_0x50e4cd,'yyyy-MM-dd':_0x206be8+'-'+_0x489be4+'-'+_0x50e4cd},_0x43d16d={'HH:mm':_0x34a866+':'+_0x38eb5c,'HH:mm:ss':_0x34a866+':'+_0x38eb5c+':'+_0x147bb2,'hh:mm':_0x34a866+':'+_0x38eb5c},_0x38bd75=_0x3eee73[_0x18d157]||_0x206be8+'-'+_0x489be4+'-'+_0x50e4cd,_0x38e71b=_0x43d16d[_0x202049]||_0x34a866+':'+_0x38eb5c+':'+_0x147bb2;return _0x38bd75+'\x20'+_0x38e71b;}static[a0_0x25c54e(0xcd)](_0x522498,_0x31c82e){const _0x5b643f=a0_0x25c54e,_0x15907c={'eEnyI':function(_0x18ca19,_0x1438dd){return _0x18ca19!==_0x1438dd;},'fkbOV':_0x5b643f(0xd5),'gyhjz':function(_0x474521,_0x5a0ccb){return _0x474521<_0x5a0ccb;}};if(_0x15907c['eEnyI'](typeof _0x522498,_0x15907c['fkbOV']))return _0x522498;const _0x5e3e70=_0x522498['split'](':');if(_0x15907c[_0x5b643f(0xbd)](_0x5e3e70[_0x5b643f(0xca)],0x2))return console['warn'](_0x5b643f(0xbc)+_0x522498),_0x522498;const _0x2af46f=_0x5e3e70[0x0][_0x5b643f(0xd9)](0x2,'0'),_0x4d2a77=_0x5e3e70[0x1]['padStart'](0x2,'0'),_0x6c778=_0x5e3e70[0x2]?_0x5e3e70[0x2][_0x5b643f(0xd1)]('.')[0x0]['padStart'](0x2,'0'):'00',_0x1908fd={'HH:mm':_0x2af46f+':'+_0x4d2a77,'HH:mm:ss':_0x2af46f+':'+_0x4d2a77+':'+_0x6c778,'hh:mm':_0x2af46f+':'+_0x4d2a77};return _0x1908fd[_0x31c82e]||_0x2af46f+':'+_0x4d2a77+':'+_0x6c778;}}module['exports']=DateTimeFormatter;function a0_0x3513(_0x116798,_0x505143){_0x116798=_0x116798-0xb8;const _0x3e9af2=a0_0x3e9a();let _0x3513a1=_0x3e9af2[_0x116798];if(a0_0x3513['bMbgTV']===undefined){var _0x574b5a=function(_0x3f7de5){const _0x5270f9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x6e850d='',_0x519c6b='';for(let _0xe410d6=0x0,_0x219491,_0x1c0e38,_0x2d5179=0x0;_0x1c0e38=_0x3f7de5['charAt'](_0x2d5179++);~_0x1c0e38&&(_0x219491=_0xe410d6%0x4?_0x219491*0x40+_0x1c0e38:_0x1c0e38,_0xe410d6++%0x4)?_0x6e850d+=String['fromCharCode'](0xff&_0x219491>>(-0x2*_0xe410d6&0x6)):0x0){_0x1c0e38=_0x5270f9['indexOf'](_0x1c0e38);}for(let _0x214126=0x0,_0x1f016c=_0x6e850d['length'];_0x214126<_0x1f016c;_0x214126++){_0x519c6b+='%'+('00'+_0x6e850d['charCodeAt'](_0x214126)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x519c6b);};a0_0x3513['JvgAfh']=_0x574b5a,a0_0x3513['NcIZqi']={},a0_0x3513['bMbgTV']=!![];}const _0x1ef504=_0x3e9af2[0x0],_0x1413b4=_0x116798+_0x1ef504,_0x2f52d5=a0_0x3513['NcIZqi'][_0x1413b4];return!_0x2f52d5?(_0x3513a1=a0_0x3513['JvgAfh'](_0x3513a1),a0_0x3513['NcIZqi'][_0x1413b4]=_0x3513a1):_0x3513a1=_0x2f52d5,_0x3513a1;}function a0_0x3e9a(){const _0x171f3c=['D2fYBG','z2v0twLUDxrLCW','z2v0rNvSBfLLyxi','mtqZnJi1nMDsz1r3sq','tLjKtvK','zgf0zq','z2v0tw9UDgG','zg5zsMi','zM9YBwf0rgf0zq','BwvZC2fNzq','BgvUz3rO','sw52ywXPzcbKyxrLihzHBhvLoIa','ndvVC0Twy0C','zM9YBwf0vgLTzq','zM9YBwf0vgLTzxn0yw1W','DgLTzq','DgLTzxn0yw1W','C3bSAxq','ndK1nZu1renRshrA','nZG0m2PPD0XnCq','oteWufnqChPN','C3rYAw5N','mJC2otq1m0zbCezRuq','z2v0vgLTzq','mvv2CvjrsG','CgfKu3rHCNq','wxzzsKS','zM9YBwf0','z2v0rgf0zq','mtmZotK3ohrlB0HbEa','otq1ndjvyKzjCuS','nZiYntGWu0D2zfD5','sw52ywXPzcb0Aw1LihzHBhvLoIa','z3LOANO','nZjVvvfAB0u','tLjXrNe'];a0_0x3e9a=function(){return _0x171f3c;};return a0_0x3e9a();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a0_0x3986(){const _0x299b77=['vw5RBM93BIbKyxrLigzVCM1HDdOG','zgf0zq','zxHWB3j0CW','BgvUz3rO','mta4mJG3muvbEff0Dq','vgDyu3O','C3bSAxq','se1nEMO','mtK0ntq0nNzSzfbtqW','D2fYBG','zgf5','mZe3nJe4mfDJtKf0yq','zvzXDMS','BwvZC2fNzq','EwvHCG','B3jKzxi','vxPPqKW','CgfYC2veyxrL','ExL5Es1nts1KzcbisdPTBtPZCW','rwvKBK8','CgfYC2vuAw1L','Bw9UDgG','nNnhq2vHBG','rgf0zsb2ywX1zsaI','Bwf0y2G','wNzJqu8','iIbKB2vZBID0ig1HDgnOigzVCM1HDcaI','nJy3nty4meHNu3Drta','mJGWmteXmKDvCNLXuW','ExL5Es1nts1Kza','ntmXota5wwjNv2nX','seG6Bw06C3m','DgLTzq','CgfYC2vuAw1LC3rHBxa','DunfvLa','zM9YrwfJAa','zxjYB3i','zvHqr3e','nJeYmdyXnvnYu2HsvG'];a0_0x3986=function(){return _0x299b77;};return a0_0x3986();}function a0_0x3655(_0x1ed2cf,_0x5428ac){_0x1ed2cf=_0x1ed2cf-0x1a0;const _0x39860d=a0_0x3986();let _0x36552e=_0x39860d[_0x1ed2cf];if(a0_0x3655['TYkcme']===undefined){var _0x24c635=function(_0xf6fd06){const _0x5ac9d2='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x302e8d='',_0x4620c6='';for(let _0x4f0567=0x0,_0x1156ca,_0x3e6106,_0x57d911=0x0;_0x3e6106=_0xf6fd06['charAt'](_0x57d911++);~_0x3e6106&&(_0x1156ca=_0x4f0567%0x4?_0x1156ca*0x40+_0x3e6106:_0x3e6106,_0x4f0567++%0x4)?_0x302e8d+=String['fromCharCode'](0xff&_0x1156ca>>(-0x2*_0x4f0567&0x6)):0x0){_0x3e6106=_0x5ac9d2['indexOf'](_0x3e6106);}for(let _0x315d06=0x0,_0x25cd33=_0x302e8d['length'];_0x315d06<_0x25cd33;_0x315d06++){_0x4620c6+='%'+('00'+_0x302e8d['charCodeAt'](_0x315d06)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4620c6);};a0_0x3655['RKoggO']=_0x24c635,a0_0x3655['JnsKam']={},a0_0x3655['TYkcme']=!![];}const _0x3a5a06=_0x39860d[0x0],_0x3d3674=_0x1ed2cf+_0x3a5a06,_0x316824=a0_0x3655['JnsKam'][_0x3d3674];return!_0x316824?(_0x36552e=a0_0x3655['RKoggO'](_0x36552e),a0_0x3655['JnsKam'][_0x3d3674]=_0x36552e):_0x36552e=_0x316824,_0x36552e;}const a0_0x50b10e=a0_0x3655;(function(_0x446d3f,_0x5b813c){const _0x4733e8=a0_0x3655,_0x5865d7=_0x446d3f();while(!![]){try{const _0x2a3efd=-parseInt(_0x4733e8(0x1a5))/0x1+parseInt(_0x4733e8(0x1a9))/0x2+-parseInt(_0x4733e8(0x1bf))/0x3+-parseInt(_0x4733e8(0x1bd))/0x4+parseInt(_0x4733e8(0x1a0))/0x5*(parseInt(_0x4733e8(0x1b7))/0x6)+-parseInt(_0x4733e8(0x1ac))/0x7+parseInt(_0x4733e8(0x1bc))/0x8;if(_0x2a3efd===_0x5b813c)break;else _0x5865d7['push'](_0x5865d7['shift']());}catch(_0x257497){_0x5865d7['push'](_0x5865d7['shift']());}}}(a0_0x3986,0x96a9a));class DateTimeParser{static['parse'](_0x34e480,_0xd9c96c,_0x42b8dc){const _0x3e5f4f=a0_0x3655,_0x4fafdb={'uCEVP':function(_0x5c9b1c,_0x4f6192){return _0x5c9b1c===_0x4f6192;},'UziBL':'timestamp','aCAAs':function(_0xcbc965,_0x261665){return _0xcbc965===_0x261665;}};if(!_0x34e480||_0x34e480==='')return null;try{if(_0x4fafdb[_0x3e5f4f(0x1c3)](_0x42b8dc,_0x3e5f4f(0x1a2)))return this[_0x3e5f4f(0x1b2)](_0x34e480,_0xd9c96c);else{if(_0x42b8dc===_0x4fafdb[_0x3e5f4f(0x1b1)])return this[_0x3e5f4f(0x1c2)](_0x34e480,_0xd9c96c);else{if(_0x4fafdb['aCAAs'](_0x42b8dc,_0x3e5f4f(0x1c1)))return this['parseTime'](_0x34e480,_0xd9c96c);}}return _0x34e480;}catch(_0x217538){return console[_0x3e5f4f(0x1c5)]('Error\x20parsing\x20datetime:\x20'+_0x217538[_0x3e5f4f(0x1ae)]),null;}}static[a0_0x50b10e(0x1b2)](_0x20357f,_0xe8ba35){const _0x4a3696=a0_0x50b10e,_0x1bc6bd={'eXPGq':function(_0x7d1af8,_0x111691){return _0x7d1af8+_0x111691;},'HMMzj':_0x4a3696(0x1be),'ZvcAO':_0x4a3696(0x1ab),'eVqvk':'year','TgXSz':'month'};if(!_0xe8ba35||_0xe8ba35===_0x1bc6bd[_0x4a3696(0x1a8)])return _0x20357f;const _0x55b4cb={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x1bc6bd['ZvcAO'],'month',_0x1bc6bd[_0x4a3696(0x1ad)]]},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':[_0x4a3696(0x1ab),_0x1bc6bd[_0x4a3696(0x1a6)],_0x1bc6bd['eVqvk']]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x1bc6bd[_0x4a3696(0x1a6)],_0x1bc6bd[_0x4a3696(0x1ba)],_0x1bc6bd['eVqvk']]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x1bc6bd[_0x4a3696(0x1ad)],_0x4a3696(0x1b6),_0x4a3696(0x1ab)]}},_0x12a68c=_0x55b4cb[_0xe8ba35];if(!_0x12a68c)return console['warn'](_0x4a3696(0x1a1)+_0xe8ba35+',\x20returning\x20null'),null;const _0x19e351=_0x20357f[_0x4a3696(0x1b9)](_0x12a68c['pattern']);if(!_0x19e351)return console['warn'](_0x4a3696(0x1b8)+_0x20357f+_0x4a3696(0x1bb)+_0xe8ba35+'\x22'),null;const _0x417339={'day':null,'month':null,'year':null};return _0x12a68c[_0x4a3696(0x1b0)][_0x4a3696(0x1c4)]((_0x5c407f,_0x130b2a)=>{const _0x29d0f3=_0x4a3696;_0x417339[_0x5c407f]=_0x19e351[_0x1bc6bd[_0x29d0f3(0x1c6)](_0x130b2a,0x1)];}),_0x417339[_0x4a3696(0x1af)]+'-'+_0x417339[_0x4a3696(0x1b6)]+'-'+_0x417339['day'];}static['parseTimestamp'](_0x31c473,_0x194db9){const _0x1baff0=a0_0x50b10e,_0x4ecbae={'JTjnd':function(_0x48a52c,_0x568d44){return _0x48a52c===_0x568d44;}};if(!_0x194db9||_0x194db9===_0x1baff0(0x1b3))return _0x31c473;const _0xb847ea=_0x31c473[_0x1baff0(0x1a7)]('\x20');if(_0xb847ea[_0x1baff0(0x1a4)]!==0x2)return console[_0x1baff0(0x1aa)]('Invalid\x20timestamp\x20format:\x20'+_0x31c473),null;const [_0x1648bc,_0x40dee8]=_0xb847ea,_0x1b3497=_0x194db9[_0x1baff0(0x1a7)]('\x20')[0x0],_0x523c48=this[_0x1baff0(0x1b2)](_0x1648bc,_0x1b3497);if(!_0x523c48)return null;const _0x11e38a=_0x4ecbae['JTjnd'](_0x40dee8['split'](':')[_0x1baff0(0x1a4)],0x2)?_0x40dee8+':00':_0x40dee8;return _0x523c48+'\x20'+_0x11e38a;}static[a0_0x50b10e(0x1b5)](_0x57f163,_0xeac96b){const _0x38a7be=a0_0x50b10e,_0x225724={'EednO':function(_0x102031,_0x387749){return _0x102031===_0x387749;},'zWYwE':'HH:mm'};if(!_0xeac96b||_0x225724['EednO'](_0xeac96b,_0x38a7be(0x1c0)))return _0x57f163;if(_0x225724[_0x38a7be(0x1b4)](_0xeac96b,_0x225724['zWYwE'])){if(_0x57f163[_0x38a7be(0x1b9)](/^\d{2}:\d{2}$/))return _0x57f163+':00';}return _0x57f163;}}module[a0_0x50b10e(0x1a3)]=DateTimeParser;
|
package/src/core/utils/db.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0xc5d709=a0_0x27c5;(function(_0x5c245d,_0x1730d9){const _0x54bdb8=a0_0x27c5,_0x52acc9=_0x5c245d();while(!![]){try{const _0x2d06c0=-parseInt(_0x54bdb8(0x19c))/0x1+parseInt(_0x54bdb8(0x158))/0x2+-parseInt(_0x54bdb8(0x19e))/0x3*(parseInt(_0x54bdb8(0x198))/0x4)+parseInt(_0x54bdb8(0x193))/0x5+-parseInt(_0x54bdb8(0x181))/0x6+parseInt(_0x54bdb8(0x15d))/0x7+-parseInt(_0x54bdb8(0x157))/0x8;if(_0x2d06c0===_0x1730d9)break;else _0x52acc9['push'](_0x52acc9['shift']());}catch(_0x417ec9){_0x52acc9['push'](_0x52acc9['shift']());}}}(a0_0x392a,0x193d9));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0xc5d709(0x18f)),dbConfig={'host':process['env'][a0_0xc5d709(0x188)]||a0_0xc5d709(0x17b),'port':parseInt(process[a0_0xc5d709(0x185)][a0_0xc5d709(0x18a)]||a0_0xc5d709(0x17d)),'user':process[a0_0xc5d709(0x185)]['DB_USER']||'postgres','password':process[a0_0xc5d709(0x185)]['DB_PASSWORD']||'postgres1234','database':process[a0_0xc5d709(0x185)][a0_0xc5d709(0x17c)]||'dbxa03'};logDatabaseConfig({'host':dbConfig[a0_0xc5d709(0x168)],'port':dbConfig[a0_0xc5d709(0x166)],'database':dbConfig[a0_0xc5d709(0x160)],'type':a0_0xc5d709(0x167),'user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x32a903=a0_0xc5d709,_0x7965c={'JSNpy':_0x32a903(0x16c)};return isPoolClosed&&(logger['info']({'event':_0x32a903(0x16d)},_0x7965c['JSNpy']),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x38c719,_0x190dec=[]){const _0x480a70=a0_0xc5d709,_0x3d3e3e={'ZBSdu':function(_0x1768c2){return _0x1768c2();},'MWONi':function(_0x2587ec){return _0x2587ec();},'qXexZ':function(_0x5cc272){return _0x5cc272();},'xttfU':function(_0x4df7f3,_0x3ab69d,_0x55d06d,_0xe28dd9){return _0x4df7f3(_0x3ab69d,_0x55d06d,_0xe28dd9);},'yknBw':'postgresql','WRvgW':function(_0x21ff49){return _0x21ff49();}},_0x4d777e=_0x3d3e3e['ZBSdu'](startQueryTimer);try{const _0x1c48eb=_0x3d3e3e['MWONi'](getPool),_0x3f3710=await _0x1c48eb['connect']();try{const _0x2d7422=await _0x3f3710[_0x480a70(0x162)](_0x38c719,_0x190dec),_0x3eb77d=_0x3d3e3e[_0x480a70(0x164)](_0x4d777e);return _0x3d3e3e['xttfU'](logQuery,_0x38c719,_0x190dec,{'duration':_0x3eb77d,'rowsAffected':_0x2d7422['rowCount'],'dbType':_0x3d3e3e['yknBw']}),_0x2d7422[_0x480a70(0x169)];}finally{_0x3f3710[_0x480a70(0x177)]();}}catch(_0x3827a1){const _0x8ff96e=_0x3d3e3e[_0x480a70(0x184)](_0x4d777e);logError(_0x3827a1,{'event':_0x480a70(0x17e),'query':_0x38c719['substring'](0x0,0x1f4),'paramCount':_0x190dec['length'],'durationMs':_0x8ff96e,'code':_0x3827a1['code'],'dbType':_0x480a70(0x167)},'SQL\x20Error:\x20'+_0x3827a1[_0x480a70(0x170)]);throw _0x3827a1;}}function formatResponse(_0x126a76,_0x7d265e=null){const _0x554a7c=a0_0xc5d709,_0xf84986={'LehFn':_0x554a7c(0x16a),'uDCMD':'syntax\x20error','GqTPV':_0x554a7c(0x1a0),'elBxQ':function(_0x58afb8,_0x417fe8){return _0x58afb8===_0x417fe8;},'UBMzz':function(_0x5e4cef,_0x4df34f){return _0x5e4cef===_0x4df34f;},'OlFYp':_0x554a7c(0x176),'rTDBu':_0x554a7c(0x15a),'FbYTE':function(_0x41c8a4,_0x3fc810){return _0x41c8a4===_0x3fc810;},'iFhrG':function(_0x27273f,_0x3792d9){return _0x27273f===_0x3792d9;},'NJrVI':_0x554a7c(0x15f),'oxuBd':_0x554a7c(0x16b),'NkfwG':'No\x20data\x20found.'};if(_0x7d265e){let _0xc9bc2=_0xf84986['LehFn'];if(_0x7d265e['message'][_0x554a7c(0x178)](_0xf84986['uDCMD']))_0xc9bc2=_0xf84986['GqTPV'];else{if(_0xf84986['elBxQ'](_0x7d265e[_0x554a7c(0x191)],_0x554a7c(0x18b)))_0xc9bc2='TABLE_NOT_FOUND';else{if(_0xf84986[_0x554a7c(0x175)](_0x7d265e[_0x554a7c(0x191)],_0xf84986[_0x554a7c(0x19d)]))_0xc9bc2=_0xf84986['rTDBu'];else(_0xf84986[_0x554a7c(0x189)](_0x7d265e['code'],_0x554a7c(0x199))||_0xf84986[_0x554a7c(0x1a1)](_0x7d265e['code'],_0xf84986['NJrVI']))&&(_0xc9bc2=_0xf84986[_0x554a7c(0x195)]);}}return{'success':![],'message':_0x554a7c(0x165)+_0x7d265e[_0x554a7c(0x170)],'count':-0x1,'error_code':_0xc9bc2};}else{if(!_0x126a76||_0x126a76[_0x554a7c(0x182)]===0x0)return{'success':!![],'message':_0xf84986[_0x554a7c(0x16e)],'count':0x0,'data':[]};return{'success':!![],'message':_0x554a7c(0x192)+_0x126a76['length']+_0x554a7c(0x18c)+(_0x126a76[_0x554a7c(0x182)]===0x1?'':'s')+'.','count':_0x126a76[_0x554a7c(0x182)],'data':_0x126a76};}}async function closePool(){const _0x28868c=a0_0xc5d709,_0x2607a4={'qIpqv':_0x28868c(0x16f),'IKUbc':'db_pool_already_closed','yJvbi':_0x28868c(0x19a)};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger[_0x28868c(0x183)]({'event':_0x28868c(0x171)},_0x28868c(0x18e));}catch(_0x18b3dd){logError(_0x18b3dd,{'event':_0x2607a4[_0x28868c(0x186)]},'Error\x20closing\x20database\x20pool:\x20'+_0x18b3dd[_0x28868c(0x170)]);}else logger['debug']({'event':_0x2607a4[_0x28868c(0x172)]},_0x2607a4[_0x28868c(0x173)]);}async function checkConnection(){const _0x269930=a0_0xc5d709,_0x3d5646={'Okvzw':'SELECT\x201','bcDHr':_0x269930(0x174)};try{const _0x3e720f=getPool(),_0x566958=await _0x3e720f['connect']();try{return await _0x566958[_0x269930(0x162)](_0x3d5646[_0x269930(0x17f)]),!![];}finally{_0x566958['release']();}}catch(_0x3b9483){return logError(_0x3b9483,{'event':_0x3d5646[_0x269930(0x190)]},_0x269930(0x19b)+_0x3b9483[_0x269930(0x170)]),![];}}function a0_0x27c5(_0x11880e,_0xb15a6d){_0x11880e=_0x11880e-0x157;const _0x392a1a=a0_0x392a();let _0x27c5a7=_0x392a1a[_0x11880e];if(a0_0x27c5['WCLlFo']===undefined){var _0x1736cb=function(_0x8df549){const _0x53583c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x293420='',_0x37b410='';for(let _0xa3f087=0x0,_0x39ac5d,_0x12f6dd,_0x55549b=0x0;_0x12f6dd=_0x8df549['charAt'](_0x55549b++);~_0x12f6dd&&(_0x39ac5d=_0xa3f087%0x4?_0x39ac5d*0x40+_0x12f6dd:_0x12f6dd,_0xa3f087++%0x4)?_0x293420+=String['fromCharCode'](0xff&_0x39ac5d>>(-0x2*_0xa3f087&0x6)):0x0){_0x12f6dd=_0x53583c['indexOf'](_0x12f6dd);}for(let _0x51e3a3=0x0,_0x5e5a67=_0x293420['length'];_0x51e3a3<_0x5e5a67;_0x51e3a3++){_0x37b410+='%'+('00'+_0x293420['charCodeAt'](_0x51e3a3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x37b410);};a0_0x27c5['uwgEKG']=_0x1736cb,a0_0x27c5['xIzngI']={},a0_0x27c5['WCLlFo']=!![];}const _0x5212f8=_0x392a1a[0x0],_0x4b750c=_0x11880e+_0x5212f8,_0x32da39=a0_0x27c5['xIzngI'][_0x4b750c];return!_0x32da39?(_0x27c5a7=a0_0x27c5['uwgEKG'](_0x27c5a7),a0_0x27c5['xIzngI'][_0x4b750c]=_0x27c5a7):_0x27c5a7=_0x32da39,_0x27c5a7;}async function executeTransaction(_0x5d737b){const _0x403d13=a0_0xc5d709,_0x5b3dd7={'aVyaK':function(_0x2dfcdf){return _0x2dfcdf();},'PPkSo':function(_0x101a41){return _0x101a41();},'CXkqr':function(_0x1131c3,_0x2e403c,_0x1fab3c){return _0x1131c3(_0x2e403c,_0x1fab3c);},'VWNfu':'commit','Mkvbl':'transaction_complete','mLsEg':_0x403d13(0x167),'VgvCx':function(_0x593cc4,_0x157539,_0xcb2620,_0x170d3d){return _0x593cc4(_0x157539,_0xcb2620,_0x170d3d);},'egwqq':'transaction_error','hbDGH':function(_0x27cc80,_0xf0179c,_0x2f44ff){return _0x27cc80(_0xf0179c,_0x2f44ff);},'fhwSr':'rollback','oUVtY':_0x403d13(0x15e)};let _0x2ffaed;const _0x3362c2=_0x5b3dd7['aVyaK'](startQueryTimer);try{const _0x50c442=getPool();_0x2ffaed=await _0x50c442[_0x403d13(0x179)](),logTransaction('start',_0x5d737b['length']),await _0x2ffaed[_0x403d13(0x162)]('BEGIN');const _0x1308a8=[];for(const _0xc98393 of _0x5d737b){const _0x499c5b=_0x5b3dd7['aVyaK'](startQueryTimer),_0x2ef0c8=await _0x2ffaed['query'](_0xc98393['sql'],_0xc98393['params']||[]),_0x526502=_0x5b3dd7['PPkSo'](_0x499c5b);logQuery(_0xc98393['sql'],_0xc98393[_0x403d13(0x161)]||[],{'duration':_0x526502,'rowsAffected':_0x2ef0c8['rowCount'],'dbType':_0x403d13(0x167)}),_0x1308a8['push'](_0x2ef0c8[_0x403d13(0x169)]);}await _0x2ffaed['query']('COMMIT');const _0x195198=_0x3362c2();return _0x5b3dd7['CXkqr'](logTransaction,_0x5b3dd7['VWNfu'],_0x5d737b[_0x403d13(0x182)]),logger[_0x403d13(0x183)]({'event':_0x5b3dd7['Mkvbl'],'queryCount':_0x5d737b['length'],'totalDurationMs':_0x195198,'dbType':_0x5b3dd7['mLsEg']},_0x403d13(0x15b)+_0x195198+_0x403d13(0x159)+_0x5d737b['length']+'\x20queries)'),_0x1308a8;}catch(_0x2ccbdc){const _0x19f02e=_0x5b3dd7['PPkSo'](_0x3362c2);_0x5b3dd7['VgvCx'](logError,_0x2ccbdc,{'event':_0x5b3dd7['egwqq'],'queryCount':_0x5d737b['length'],'totalDurationMs':_0x19f02e,'code':_0x2ccbdc['code'],'dbType':_0x403d13(0x167)},_0x403d13(0x17a)+_0x2ccbdc['message']);if(_0x2ffaed)try{await _0x2ffaed[_0x403d13(0x162)](_0x403d13(0x18d)),_0x5b3dd7[_0x403d13(0x194)](logTransaction,_0x5b3dd7[_0x403d13(0x197)],_0x5d737b['length']);}catch(_0x4f5780){_0x5b3dd7['VgvCx'](logError,_0x4f5780,{'event':_0x5b3dd7[_0x403d13(0x196)],'dbType':'postgresql'},_0x403d13(0x180)+_0x4f5780[_0x403d13(0x170)]);}throw _0x2ccbdc;}finally{if(_0x2ffaed)try{_0x2ffaed[_0x403d13(0x177)]();}catch(_0xdce8aa){logger[_0x403d13(0x19f)]({'event':_0x403d13(0x187),'error':_0xdce8aa[_0x403d13(0x170)],'dbType':_0x5b3dd7['mLsEg']},_0x403d13(0x163)+_0xdce8aa['message']);}}}module[a0_0xc5d709(0x15c)]={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};function a0_0x392a(){const _0x352f84=['suTvyMm','EuP2yMK','zgjFy29UBMvJDgLVBL9JAgvJA19LCNjVCG','vujnENO','mJHqmde','CMvSzwfZzq','Aw5JBhvKzxm','y29UBMvJDa','vhjHBNnHy3rPB24GzMfPBgvKoIa','mtKYlJe2oc4XmdaUmq','rejFtKfnrq','ntqZmG','C3fSx2vYCM9Y','t2T2ENC','rxjYB3iGCM9SBgLUzYbIywnRihrYyw5Zywn0Aw9UoIa','mtK5mJbPyKfLC0C','BgvUz3rO','Aw5MBW','v1j2z1C','zw52','CuLWCxy','y2XPzw50x3jLBgvHC2vFzxjYB3i','rejFse9tva','rMjzveu','rejFue9sva','ndjqmde','ihjVDW','uK9mtejbq0S','rgf0ywjHC2uGCg9VBcbJBg9ZzwqGC3vJy2vZC2z1BgX5','lI9SB2DNzxi','yMneshi','y29Kzq','uxvLCNKGCMv0DxjUzwqG','ntu5nJy1u3vyrvLA','Agjer0G','B3H1qMq','B1vwDfK','zMH3u3i','mtjWDhrwALm','mdGWmdy','rgf0ywjHC2uGCg9VBcb3yxmGywXYzwfKEsbJBg9Zzwq','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','mtyWmdvKzgP5ueW','t2Xgwxa','odu4nJnPu2jksg4','zxjYB3i','u1Lovefyx0vsuK9s','AuzOCKC','nta4oty4r1H3tujv','mtyWmtu4yxbJwwre','BxmSia','qvvusevoveLdqvrjt05Frvjst1i','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','zxHWB3j0CW','ntyXmJC0r1DXwg9W','CM9SBgjHy2TFzxjYB3i','mdGWmde','zgf0ywjHC2u','CgfYyw1Z','CxvLCNK','rxjYB3iGCMvSzwfZAw5NihrYyw5Zywn0Aw9UignSAwvUDdOG','CvHLEfO','rgf0ywjHC2uGzxjYB3i6ia','Cg9YDa','Cg9ZDgDYzxnXBa','Ag9ZDa','CM93CW','vu5ltK9xtL9fuLjpuG','q09otKvdveLptL9fuLjpuG','q3jLyxrPBMCGBMv3igrHDgfIyxnLihbVB2WGkhbYzxzPB3vZihbVB2WGD2fZignSB3nLzcK','zgjFCg9VBf9YzwnYzwf0zq','tMTMD0C','zgjFCg9VBf9JBg9Zzv9LCNjVCG','BwvZC2fNzq','zgjFCg9VBf9JBg9Zzwq'];a0_0x392a=function(){return _0x352f84;};return a0_0x392a();}
|
|
1
|
+
function a0_0x4690(){const _0x42b48a=['Cg9ZDgDYzxm','mta0odK5oxzwwNPeyG','CMvSzwfZzq','mJq2nZK0mKHfufbxqG','zvnkBuO','mteZota0mZzlCeTtEwi','C3vIC3rYAw5N','Bgjxse8','zgjFy29UBMvJDgLVBL9JAgvJA19LCNjVCG','nti0ndq0tM5hqNDj','CxvLCNK','y29UBMvJDa','DxnLCG','EM9kvw8','BwvZC2fNzq','odeYmJyZnwDxve1Tyq','zgj4ytaZ','twTtCNi','C3rHCNq','Aw5MBW','v3HfDxq','zw52','Cg9ZDgDYzxnXBa','wvztsLu','CM93CW','lI9SB2DNzxi','y29Kzq','u1Lovefyx0vsuK9s','Exbtsuq','CM9SBgjHy2S','r0foz2C','uxv1A2y','ywL2t0i','zgvIDwC','mdGWmdy','Cg9YDa','vu5ltK9xtL9fuLjpuG','uxvLCNKGCMv0DxjUzwqG','rxf2zgK','rejFvvnfuG','uK9mtejbq0S','BMXiv2q','C3fS','n2PnzMHhBG','mJi3otuZmKXQwwT1va','mtKYlJe2oc4XmdaUmq','rxjYB3iGCM9SBgLUzYbIywnRihrYyw5Zywn0Aw9UoIa','ChvZAa','CM9SBgjHy2TFzxjYB3i','Aw5JBhvKzxm','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','mdGWmde','DhjHBNnHy3rPB25Fy29TCgXLDgu','CgfYyw1Z','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','wxLcDKe','rgf0ywjHC2uGzxjYB3i6ia','DLPst3i','C3LUDgf4igvYCM9Y','zgjFCg9VBf9JBg9Zzv9LCNjVCG','zgf0ywjHC2u','ALvWs2O','rxjYB3iGCMvSzwfZAw5NihrYyw5Zywn0Aw9UignSAwvUDdOG','vefctevFtK9ux0zpvu5e','ndq2otK5nJbcswPOuLm','rejFueftu1DpuKq','u1fmievYCM9YoIa','BgvUz3rO','u2Lxzvu','CM93q291BNq','Ag9ZDa','DhjHBNnHy3rPB25FzxjYB3i'];a0_0x4690=function(){return _0x42b48a;};return a0_0x4690();}const a0_0x8f9c1=a0_0x4829;(function(_0x2bb946,_0x36cb6d){const _0x571e45=a0_0x4829,_0x1fc458=_0x2bb946();while(!![]){try{const _0x1ef3ab=parseInt(_0x571e45(0x95))/0x1+-parseInt(_0x571e45(0x97))/0x2+-parseInt(_0x571e45(0xc0))/0x3+-parseInt(_0x571e45(0x9d))/0x4+-parseInt(_0x571e45(0xa3))/0x5+parseInt(_0x571e45(0x99))/0x6*(-parseInt(_0x571e45(0xbf))/0x7)+parseInt(_0x571e45(0x8c))/0x8;if(_0x1ef3ab===_0x36cb6d)break;else _0x1fc458['push'](_0x1fc458['shift']());}catch(_0x28ac2f){_0x1fc458['push'](_0x1fc458['shift']());}}}(a0_0x4690,0xf15db));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x8f9c1(0xad)),dbConfig={'host':process[a0_0x8f9c1(0xa9)]['DB_HOST']||a0_0x8f9c1(0xc1),'port':parseInt(process['env']['DB_PORT']||'5432'),'user':process[a0_0x8f9c1(0xa9)][a0_0x8f9c1(0xbb)]||a0_0x8f9c1(0x94),'password':process['env'][a0_0x8f9c1(0x8d)]||'postgres1234','database':process['env']['DB_NAME']||a0_0x8f9c1(0xa4)};logDatabaseConfig({'host':dbConfig[a0_0x8f9c1(0x92)],'port':dbConfig[a0_0x8f9c1(0xb7)],'database':dbConfig[a0_0x8f9c1(0x88)],'type':'postgresql','user':dbConfig[a0_0x8f9c1(0xa0)]});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x3b6703=a0_0x8f9c1,_0x567dad={'Eqvdi':'db_pool_recreate'};return isPoolClosed&&(logger[_0x3b6703(0xa7)]({'event':_0x567dad[_0x3b6703(0xba)]},'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x39dded,_0x5cacad=[]){const _0x338d06=a0_0x8f9c1,_0x591366={'wLskl':function(_0x1723a2){return _0x1723a2();},'VfvXB':function(_0x826959,_0x58c570,_0x3bbe39,_0x50108a){return _0x826959(_0x58c570,_0x3bbe39,_0x50108a);},'eSJmJ':'sql_error'},_0x1ec1c3=startQueryTimer();try{const _0x50b7b8=getPool(),_0x79bff4=await _0x50b7b8[_0x338d06(0x9f)]();try{const _0x428f39=await _0x79bff4[_0x338d06(0x9e)](_0x39dded,_0x5cacad),_0x313b21=_0x591366['wLskl'](_0x1ec1c3);return _0x591366['VfvXB'](logQuery,_0x39dded,_0x5cacad,{'duration':_0x313b21,'rowsAffected':_0x428f39[_0x338d06(0x91)],'dbType':_0x338d06(0xaa)}),_0x428f39[_0x338d06(0xac)];}finally{_0x79bff4['release']();}}catch(_0x438b20){const _0x3d478e=_0x1ec1c3();logError(_0x438b20,{'event':_0x591366[_0x338d06(0x98)],'query':_0x39dded[_0x338d06(0x9a)](0x0,0x1f4),'paramCount':_0x5cacad['length'],'durationMs':_0x3d478e,'code':_0x438b20[_0x338d06(0xae)],'dbType':'postgresql'},_0x338d06(0x8e)+_0x438b20['message']);throw _0x438b20;}}function formatResponse(_0x166d44,_0x1adb4c=null){const _0x41b448=a0_0x8f9c1,_0x4d7ea9={'nlHWd':_0x41b448(0xce),'vZROr':function(_0xf0b622,_0x9511a0){return _0xf0b622===_0x9511a0;},'vwnyy':'28P01','YyBvA':'No\x20data\x20found.'};if(_0x1adb4c){let _0xfc2131=_0x41b448(0xb8);if(_0x1adb4c[_0x41b448(0xa2)][_0x41b448(0xc5)](_0x4d7ea9[_0x41b448(0xbd)]))_0xfc2131=_0x41b448(0xaf);else{if(_0x4d7ea9[_0x41b448(0xcd)](_0x1adb4c['code'],'42P01'))_0xfc2131=_0x41b448(0x8b);else{if(_0x1adb4c['code']===_0x4d7ea9['vwnyy'])_0xfc2131='AUTHENTICATION_ERROR';else(_0x4d7ea9['vZROr'](_0x1adb4c[_0x41b448(0xae)],_0x41b448(0xb6))||_0x4d7ea9['vZROr'](_0x1adb4c['code'],_0x41b448(0xc7)))&&(_0xfc2131='CONNECTION_ERROR');}}return{'success':![],'message':_0x41b448(0xcc)+_0x1adb4c['message'],'count':-0x1,'error_code':_0xfc2131};}else{if(!_0x166d44||_0x4d7ea9[_0x41b448(0xcd)](_0x166d44[_0x41b448(0x8f)],0x0))return{'success':!![],'message':_0x4d7ea9[_0x41b448(0xcb)],'count':0x0,'data':[]};return{'success':!![],'message':_0x41b448(0xb9)+_0x166d44['length']+'\x20row'+(_0x166d44[_0x41b448(0x8f)]===0x1?'':'s')+'.','count':_0x166d44[_0x41b448(0x8f)],'data':_0x166d44};}}async function closePool(){const _0x1de82a=a0_0x8f9c1,_0x2f325d={'ypSID':'db_pool_closed','MkSrr':'Database\x20pool\x20closed\x20successfully','lbWHO':function(_0xe1a10e,_0x227130,_0x4cab5d,_0x471d34){return _0xe1a10e(_0x227130,_0x4cab5d,_0x471d34);},'GVrax':_0x1de82a(0xcf),'ymkKJ':'db_pool_already_closed','aivOB':'Database\x20pool\x20was\x20already\x20closed'};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger['info']({'event':_0x2f325d[_0x1de82a(0xb0)]},_0x2f325d[_0x1de82a(0xa5)]);}catch(_0x1ad9f6){_0x2f325d[_0x1de82a(0x9b)](logError,_0x1ad9f6,{'event':_0x2f325d['GVrax']},_0x1de82a(0xc6)+_0x1ad9f6['message']);}else logger[_0x1de82a(0xb5)]({'event':_0x2f325d['ymkKJ']},_0x2f325d[_0x1de82a(0xb4)]);}function a0_0x4829(_0x527f9a,_0x4caec6){_0x527f9a=_0x527f9a-0x88;const _0x46906a=a0_0x4690();let _0x482962=_0x46906a[_0x527f9a];if(a0_0x4829['hcBQbs']===undefined){var _0x1b8781=function(_0x53adcd){const _0x3cfafa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x133638='',_0x4a018e='';for(let _0x288311=0x0,_0x312f3f,_0x567f5b,_0x44a4ca=0x0;_0x567f5b=_0x53adcd['charAt'](_0x44a4ca++);~_0x567f5b&&(_0x312f3f=_0x288311%0x4?_0x312f3f*0x40+_0x567f5b:_0x567f5b,_0x288311++%0x4)?_0x133638+=String['fromCharCode'](0xff&_0x312f3f>>(-0x2*_0x288311&0x6)):0x0){_0x567f5b=_0x3cfafa['indexOf'](_0x567f5b);}for(let _0x1f4fb0=0x0,_0x1fd10d=_0x133638['length'];_0x1f4fb0<_0x1fd10d;_0x1f4fb0++){_0x4a018e+='%'+('00'+_0x133638['charCodeAt'](_0x1f4fb0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4a018e);};a0_0x4829['DjNrTi']=_0x1b8781,a0_0x4829['GoUENV']={},a0_0x4829['hcBQbs']=!![];}const _0x1eaf2b=_0x46906a[0x0],_0x2f4641=_0x527f9a+_0x1eaf2b,_0x2eac16=a0_0x4829['GoUENV'][_0x2f4641];return!_0x2eac16?(_0x482962=a0_0x4829['DjNrTi'](_0x482962),a0_0x4829['GoUENV'][_0x2f4641]=_0x482962):_0x482962=_0x2eac16,_0x482962;}async function checkConnection(){const _0x1e6fb4=a0_0x8f9c1;try{const _0x22831d=getPool(),_0x4cc4cd=await _0x22831d[_0x1e6fb4(0x9f)]();try{return await _0x4cc4cd[_0x1e6fb4(0x9e)]('SELECT\x201'),!![];}finally{_0x4cc4cd[_0x1e6fb4(0x96)]();}}catch(_0x4ada87){return logError(_0x4ada87,{'event':_0x1e6fb4(0x9c)},_0x1e6fb4(0xca)+_0x4ada87[_0x1e6fb4(0xa2)]),![];}}async function executeTransaction(_0x413b70){const _0xb91682=a0_0x8f9c1,_0x5a1d06={'YVSJU':function(_0x24d8fd){return _0x24d8fd();},'IYTKv':function(_0x278d3e,_0x49f9bd,_0x2a68ca){return _0x278d3e(_0x49f9bd,_0x2a68ca);},'zIlVq':_0xb91682(0xa6),'ubqRO':function(_0x20c7a8){return _0x20c7a8();},'Quukf':'postgresql','GANgg':'COMMIT','JEZjH':'commit','Oaixt':function(_0x54340d){return _0x54340d();},'SiWeU':function(_0x3ed494,_0x2bdeb1,_0x2c5113,_0x4f7a0e){return _0x3ed494(_0x2bdeb1,_0x2c5113,_0x4f7a0e);},'jUpKj':_0xb91682(0x93),'zoJUo':_0xb91682(0xbc),'WxEut':_0xb91682(0xc4)};let _0x19f191;const _0x13030b=_0x5a1d06[_0xb91682(0xab)](startQueryTimer);try{const _0xbb9eec=getPool();_0x19f191=await _0xbb9eec[_0xb91682(0x9f)](),_0x5a1d06['IYTKv'](logTransaction,_0x5a1d06['zIlVq'],_0x413b70[_0xb91682(0x8f)]),await _0x19f191['query']('BEGIN');const _0xa8e7e7=[];for(const _0x568fee of _0x413b70){const _0x38da73=startQueryTimer(),_0x3f1ccd=await _0x19f191[_0xb91682(0x9e)](_0x568fee[_0xb91682(0xbe)],_0x568fee['params']||[]),_0x246ddd=_0x5a1d06['ubqRO'](_0x38da73);logQuery(_0x568fee['sql'],_0x568fee[_0xb91682(0xc9)]||[],{'duration':_0x246ddd,'rowsAffected':_0x3f1ccd[_0xb91682(0x91)],'dbType':_0x5a1d06[_0xb91682(0xb3)]}),_0xa8e7e7[_0xb91682(0xc3)](_0x3f1ccd['rows']);}await _0x19f191['query'](_0x5a1d06[_0xb91682(0xb2)]);const _0x2e5406=_0x13030b();return logTransaction(_0x5a1d06['JEZjH'],_0x413b70['length']),logger['info']({'event':_0xb91682(0xc8),'queryCount':_0x413b70['length'],'totalDurationMs':_0x2e5406,'dbType':'postgresql'},'Transaction\x20committed\x20('+_0x2e5406+'ms,\x20'+_0x413b70['length']+'\x20queries)'),_0xa8e7e7;}catch(_0x3a6075){const _0x1c12f0=_0x5a1d06['Oaixt'](_0x13030b);_0x5a1d06[_0xb91682(0x90)](logError,_0x3a6075,{'event':_0x5a1d06[_0xb91682(0x89)],'queryCount':_0x413b70['length'],'totalDurationMs':_0x1c12f0,'code':_0x3a6075[_0xb91682(0xae)],'dbType':'postgresql'},'Transaction\x20failed:\x20'+_0x3a6075['message']);if(_0x19f191)try{await _0x19f191[_0xb91682(0x9e)](_0x5a1d06[_0xb91682(0xa1)]),logTransaction(_0xb91682(0xb1),_0x413b70[_0xb91682(0x8f)]);}catch(_0xd63663){logError(_0xd63663,{'event':_0x5a1d06[_0xb91682(0xa8)],'dbType':_0x5a1d06[_0xb91682(0xb3)]},_0xb91682(0xc2)+_0xd63663[_0xb91682(0xa2)]);}throw _0x3a6075;}finally{if(_0x19f191)try{_0x19f191[_0xb91682(0x96)]();}catch(_0x40d119){logger['error']({'event':'client_release_error','error':_0x40d119['message'],'dbType':'postgresql'},_0xb91682(0x8a)+_0x40d119[_0xb91682(0xa2)]);}}}module['exports']={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
|
package/src/core/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x4f6fe1=a0_0x49b7;(function(_0x21350e,_0x1122ed){const _0x2f3b8c=a0_0x49b7,_0x4a554f=_0x21350e();while(!![]){try{const _0x2d5385=-parseInt(_0x2f3b8c(0xcf))/0x1*(parseInt(_0x2f3b8c(0x8c))/0x2)+-parseInt(_0x2f3b8c(0xf3))/0x3*(parseInt(_0x2f3b8c(0xf0))/0x4)+parseInt(_0x2f3b8c(0xc2))/0x5*(-parseInt(_0x2f3b8c(0x109))/0x6)+parseInt(_0x2f3b8c(0xa4))/0x7*(parseInt(_0x2f3b8c(0xaa))/0x8)+parseInt(_0x2f3b8c(0xfe))/0x9*(-parseInt(_0x2f3b8c(0xce))/0xa)+-parseInt(_0x2f3b8c(0x11d))/0xb+parseInt(_0x2f3b8c(0xd7))/0xc*(parseInt(_0x2f3b8c(0xe4))/0xd);if(_0x2d5385===_0x1122ed)break;else _0x4a554f['push'](_0x4a554f['shift']());}catch(_0x153808){_0x4a554f['push'](_0x4a554f['shift']());}}}(a0_0x576f,0xe7b25));const pino=require('pino'),fs=require('fs'),path=require(a0_0x4f6fe1(0xa0));function a0_0x49b7(_0x1f920e,_0x492b8a){_0x1f920e=_0x1f920e-0x71;const _0x576fec=a0_0x576f();let _0x49b71b=_0x576fec[_0x1f920e];if(a0_0x49b7['XXilvO']===undefined){var _0x4effc6=function(_0x1fe224){const _0x82757e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x520d96='',_0x2b1fbf='';for(let _0x24c7cc=0x0,_0x4a240d,_0x41234c,_0x2859cc=0x0;_0x41234c=_0x1fe224['charAt'](_0x2859cc++);~_0x41234c&&(_0x4a240d=_0x24c7cc%0x4?_0x4a240d*0x40+_0x41234c:_0x41234c,_0x24c7cc++%0x4)?_0x520d96+=String['fromCharCode'](0xff&_0x4a240d>>(-0x2*_0x24c7cc&0x6)):0x0){_0x41234c=_0x82757e['indexOf'](_0x41234c);}for(let _0x2c8f44=0x0,_0x78e88d=_0x520d96['length'];_0x2c8f44<_0x78e88d;_0x2c8f44++){_0x2b1fbf+='%'+('00'+_0x520d96['charCodeAt'](_0x2c8f44)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2b1fbf);};a0_0x49b7['RLuRqn']=_0x4effc6,a0_0x49b7['RbfNJC']={},a0_0x49b7['XXilvO']=!![];}const _0x2fb097=_0x576fec[0x0],_0x2dc935=_0x1f920e+_0x2fb097,_0xdbddfe=a0_0x49b7['RbfNJC'][_0x2dc935];return!_0xdbddfe?(_0x49b71b=a0_0x49b7['RLuRqn'](_0x49b71b),a0_0x49b7['RbfNJC'][_0x2dc935]=_0x49b71b):_0x49b71b=_0xdbddfe,_0x49b71b;}function a0_0x576f(){const _0x3a4cb5=['yKzVsxC','u2rYAxi','icbizwfSDgG6ia','uhjVy2vZCYbxyxjUAw5NoIa','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','nZy0otaZn21luLnSBG','CMvZB2X2zq','lI9SB2DZ','vMroBKC','C3rHCNrZv2L0Aa','y3z2','wKDTt3O','rejFueftu1DpuKq','BxmP','qxvMBvi','Aw5MBW','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BwfW','DxnLCG','tK9uiefdveLwrq','te9hx0XfvKvm','C3fSx3f1zxj5','Dhj1zq','teLgDeq','vgDevM4','CMvZDgzVCMDL','y3jLyxrLv3jPDgvtDhjLyw0','rxjYB3i6ia','revmrvrf','s2HqEeG','v2rcCK4','ic0G','BwvZC2fNzq','thvpqxe','C2vYDMLJzuLUzM8','q0Xsrgy','AgvHBhrOq2HLy2S','D2fYBG','C3rHy2S','Bwf0y2G','DNPqBxO','q09ntuLu','icdIHPiG','mti4rwDQBfnq','CgfKrw5K','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','wKnSBgy','u1LtoKHioK1noNnZ','r0nsDgS','rhbbzwy','EvbiyMe','zwzHDuu','zgjFDhjHBNnHy3rPB24','CMvTB3rLqwrKCMvZCW','A3fws3K','iokvKqRILzeGifbYB2PLy3qGicaGidOG','AfHUq2e','yxbPA2v5','AM9PBG','rxjYB3i','CgLU','C2vJCMv0','vg1is3e','Cgf0Aa','ChjVzhvJDgLVBG','Dw5JyxvNAhrfEgnLChrPB24','C3rHDhvZq29Kzq','n0fcwNfRra','D2fYBMLUzW','y0XZvvK','DhjPBq','zhvYyxrPB25nCW','qKvhsu4','mJKYmZq5nMPRtvzpqG','zgf0ywjHC2u','u0vsvKLdrv9oqu1f','BwvTB3j5vxnHz2u','CgfZC3DK','B3jPz2LUywXvCMW','sLDux1nfq1jfva','DKvlzg0','AxnbCNjHEq','y29UBMvJDgLVBG','wxrlAMW','vu5ltK9xtG','Bwv0Ag9K','DhLWzq','sw50zxjUywWGC2vYDMvYigvYCM9Y','CM93C0fMzMvJDgvK','Cg9YDa','Ag9ZDa','zMf0ywW','wNDZtve','u1L2Exy','u1fmx0Xpr19ftKfcteve','Dg9vChbLCKnHC2u','BK9Sz0W','mtC5nxD1ExL4sa','ugnwzMC','vwXgu0y','quXurvi','CgLUBY1WCMv0DhK','rKfuquW6ia','C3rHDhvZ','C3rKvgLTzuz1BMn0Aw9UCW','zgvIDwC','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','yMfZzvvYBa','Ec1Yzxf1zxn0lwLK','mtbZChbyze4','mJC2otDjuLvvDfu','uNHJu1y','CMHMyNK','yxbWlMXVzW','yxbPx3nLy3jLDa','zMLSzv9SB2DNAw5Nx2vUywjSzwq','zxjYB3i','rgf0ywjHC2u6ia','ndeXotzyDvrArhq','zxjY','y29Kzq','u2vYDMvYihn0yxj0Aw5NoIa','Aw5JBhvKzxm','tgvpEgG','ChjVAMvJDa','DgvZDa','B2jQzwn0','Dg9mB3DLCKnHC2u','CxvLCNK','s2fqELe','ufnrELO','mJeYmJLPqKvizfi','Bg9N','C29Tzq','CgLK','vNzAAwi','ChjVy2vZC193yxjUAw5N','Dg9ju09tDhjPBMC','zxHPDa','C3vIC3rYAw5N','z2v0','C3bSAxq','EeHwtxK','ndCYntjdvKToy0G','zxbjD2W','ChjPDMf0zwTLEq','mta1zvbnzg5X','BgvUz3rO','u1fmx0Xpr19tte9xx1riuKvtse9mra','rgvMyxvSDa','qLbowvK','zxHPC3rZu3LUyW','uu5fDe4','CgfZC3DVCMq','qvbqx1zfuLnjt04','ChDK','r3zjswu','mteZmZC0otHJuNzQEg4','u0zNuLi','zMfSC2u','yxbPx2TLEq','D2zKv1e','ig9UihbVCNqG','AgTRvNC','w1jfrefdvevexq','sfruuca','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','Dg9Rzw4','mtq3mZb4AgPWCMu','BMfTzq','AxnVvgLTzq','zw52','z2vNC2C','qunusvzf','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','shDxquC','r2TIzhG','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','BK14rue','zMf0ywXFzxjYB3i','uMzkv2q','tI9b','zvj2zNG'];a0_0x576f=function(){return _0x3a4cb5;};return a0_0x576f();}let logToFile=![],logDir=a0_0x4f6fe1(0x11f),serviceName=a0_0x4f6fe1(0x7a),sqlLogEnabled=![],sqlLogLevel=a0_0x4f6fe1(0xca),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x4f6fe1(0x90),'ignore':a0_0x4f6fe1(0x8e),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0x4f6fe1(0x10c)]['NODE_ENV']!==a0_0x4f6fe1(0xa1),logLevel=process[a0_0x4f6fe1(0x10c)][a0_0x4f6fe1(0x75)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x4f6fe1(0xc6),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x4f6fe1(0x10c)][a0_0x4f6fe1(0xfb)]||'1.0.5','env':process['env']['NODE_ENV']||'development'},'timestamp':pino[a0_0x4f6fe1(0xc9)][a0_0x4f6fe1(0x10b)],'redact':{'paths':['req.headers.authorization',a0_0x4f6fe1(0x112),a0_0x4f6fe1(0xfa),a0_0x4f6fe1(0x108),'apiKey',a0_0x4f6fe1(0x124),a0_0x4f6fe1(0xb0)],'censor':'[REDACTED]'},'serializers':{'req':_0x1ec4c1=>({'id':_0x1ec4c1['id'],'method':_0x1ec4c1['method'],'url':_0x1ec4c1['url'],'path':_0x1ec4c1[a0_0x4f6fe1(0xa0)],'remoteAddress':_0x1ec4c1['ip']||_0x1ec4c1['connection']?.[a0_0x4f6fe1(0x96)]}),'res':_0x424519=>({'statusCode':_0x424519[a0_0x4f6fe1(0xa3)],'headers':_0x424519['getHeaders']?.()}),'err':pino['stdSerializers'][a0_0x4f6fe1(0xd8)]}});function initFileLogging(){const _0x3ad25f=a0_0x4f6fe1,_0x4bffb6={'bvLJf':function(_0x3e3d69,_0x3f6c7b){return _0x3e3d69===_0x3f6c7b;},'PSQzZ':_0x3ad25f(0x77),'Sdrir':'./logs','tsDJw':_0x3ad25f(0x7a),'kqVKy':function(_0x21e39d,_0x28840e){return _0x21e39d!==_0x28840e;},'rBTGv':_0x3ad25f(0x100),'DpAef':function(_0x1c03cb,_0x307445){return _0x1c03cb(_0x307445);},'TiGrL':'app.log','YtKjl':'error.log','SFgRR':function(_0xa6026d,_0x9805f7,_0x307408){return _0xa6026d(_0x9805f7,_0x307408);},'qjAla':_0x3ad25f(0x127)};if(fileLoggingInitialized)return;logToFile=_0x4bffb6['bvLJf'](process['env']['LOG_TO_FILE'],_0x4bffb6['PSQzZ']),logDir=process['env']['LOG_DIR']||_0x4bffb6[_0x3ad25f(0x119)],serviceName=process[_0x3ad25f(0x10c)][_0x3ad25f(0xac)]||_0x4bffb6['tsDJw'],sqlLogEnabled=process['env'][_0x3ad25f(0xbf)]===_0x4bffb6[_0x3ad25f(0xe3)],sqlLogLevel=process[_0x3ad25f(0x10c)]['SQL_LOG_LEVEL']||_0x3ad25f(0xca),sqlLogParams=_0x4bffb6[_0x3ad25f(0x97)](process[_0x3ad25f(0x10c)]['SQL_LOG_PARAMS'],_0x4bffb6['rBTGv']),sqlLogSlowThreshold=_0x4bffb6[_0x3ad25f(0x92)](parseInt,process[_0x3ad25f(0x10c)][_0x3ad25f(0xf5)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x35e10a=path[_0x3ad25f(0x11e)](process['cwd'](),logDir);try{!fs[_0x3ad25f(0xf8)](_0x35e10a)&&fs['mkdirSync'](_0x35e10a,{'recursive':!![]});}catch(_0x2a1177){console[_0x3ad25f(0xd5)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x35e10a+':',_0x2a1177['message']),fileLoggingInitialized=!![];return;}const _0x9af363=path['join'](_0x35e10a,_0x3ad25f(0xd2)),_0x3ef2fb=path[_0x3ad25f(0x9b)](_0x35e10a,'error.log');try{appLogStream=fs[_0x3ad25f(0x7b)](_0x9af363,{'flags':'a'}),errorLogStream=fs[_0x3ad25f(0x7b)](_0x3ef2fb,{'flags':'a'}),fileLoggingInitialized=!![];const _0xe8bcc1={'event':_0x3ad25f(0xd4),'logDir':_0x35e10a,'files':[_0x4bffb6['TiGrL'],_0x4bffb6[_0x3ad25f(0xb4)]]},_0x20bfe9=_0x3ad25f(0x11c)+_0x35e10a;logger['info'](_0xe8bcc1,_0x20bfe9),_0x4bffb6[_0x3ad25f(0xff)](writeToFileLog,{..._0xe8bcc1,'level':'info','msg':_0x20bfe9,'time':new Date()['toISOString']()},_0x4bffb6['qjAla']);}catch(_0x4371e3){console['error'](_0x3ad25f(0x10f),_0x4371e3[_0x3ad25f(0x81)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x5cc0d6,_0x14f31f){const _0x4dc71f=a0_0x4f6fe1,_0x2649e5={'HwWAG':function(_0x15b0bf,_0x3ae62e){return _0x15b0bf+_0x3ae62e;},'epCfK':function(_0x2a1922,_0x1a1542){return _0x2a1922===_0x1a1542;},'zGScu':_0x4dc71f(0xbc)};if(!logToFile||!appLogStream)return;const _0x5e3732={'service':serviceName,..._0x5cc0d6},_0xc663e4=_0x2649e5[_0x4dc71f(0x110)](JSON['stringify'](_0x5e3732),'\x0a');appLogStream['write'](_0xc663e4),(_0x14f31f==='error'||_0x2649e5['epCfK'](_0x14f31f,_0x2649e5['zGScu']))&&(errorLogStream&&errorLogStream['write'](_0xc663e4));}const createRequestLogger=(_0x1eb728={})=>{return logger['child'](_0x1eb728);},logServerStart=_0x419406=>{const _0x347edd=a0_0x4f6fe1,_0xb14960={'lgYSO':'Node.js','TLJgV':_0x347edd(0x116),'nOlgL':_0x347edd(0x74),'cLsUY':'server_starting','efauE':'info'},_0x54bb84=_0x347edd(0xcb)+(_0x419406['environment']||_0xb14960['lgYSO'])['padEnd'](0x26)+_0x347edd(0x98)+(_0x419406[_0x347edd(0xdd)]||_0xb14960['TLJgV'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x419406['port']||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x419406['configFile']||_0x347edd(0xf6))['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x419406['apiKey']?_0x347edd(0x10e):_0xb14960[_0x347edd(0xc1)])[_0x347edd(0x8d)](0x26)+_0x347edd(0x107);console[_0x347edd(0xe5)](_0x54bb84);const _0x5ee468={'event':_0xb14960[_0x347edd(0xa6)],'project':_0x419406['project'],'port':_0x419406['port'],'config':_0x419406['configFile'],'apiKeyEnabled':!!_0x419406['apiKey']};logger[_0x347edd(0x127)](_0x5ee468),writeToFileLog({..._0x5ee468,'level':_0xb14960[_0x347edd(0x94)],'msg':_0x347edd(0xda)+_0x419406['project']+_0x347edd(0x103)+_0x419406[_0x347edd(0xba)],'time':new Date()['toISOString']()},_0xb14960['efauE']);},logServerReady=_0x139e64=>{const _0x38162a=a0_0x4f6fe1,_0x6e4aa1={'sfGUZ':'server_ready','CLRDf':_0x38162a(0x127)},_0x5ad417={'event':_0x6e4aa1['sfGUZ'],'port':_0x139e64['port'],'module':_0x139e64['module'],'healthCheck':_0x139e64[_0x38162a(0x85)],'serviceInfo':_0x139e64['serviceInfo'],'baseUrl':_0x139e64['baseUrl']},_0xb11ac1='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x139e64['port'];logger['info'](_0x5ad417,_0xb11ac1),writeToFileLog({..._0x5ad417,'level':_0x6e4aa1[_0x38162a(0x84)],'msg':_0xb11ac1,'time':new Date()['toISOString']()},_0x38162a(0x127)),_0x139e64['healthCheck']&&logger[_0x38162a(0x127)](_0x38162a(0x11a)+_0x139e64['healthCheck']),_0x139e64[_0x38162a(0x83)]&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x139e64['serviceInfo']),_0x139e64[_0x38162a(0xcc)]&&logger[_0x38162a(0x127)]('\x20\x20URL:\x20\x20\x20\x20'+_0x139e64[_0x38162a(0xcc)]);},logProjectLoaded=(_0x17dfcb,_0x2efb13)=>{const _0x286143=a0_0x4f6fe1,_0x253019={'yPHba':function(_0x1424e8,_0x46f521,_0x11d88a){return _0x1424e8(_0x46f521,_0x11d88a);},'PcVfg':_0x286143(0x127)},_0x222703={'event':'project_loaded','project':_0x17dfcb,'path':_0x2efb13},_0x3689bd='[OK]\x20Project\x20loaded:\x20'+_0x17dfcb;logger['info'](_0x222703,_0x3689bd),_0x253019[_0x286143(0x93)](writeToFileLog,{..._0x222703,'level':_0x253019[_0x286143(0xc3)],'msg':_0x3689bd,'time':new Date()[_0x286143(0xea)]()},_0x286143(0x127));},logEndpointRegistered=(_0x3091a9,_0x2ad1fe)=>{const _0x2d9b6b=a0_0x4f6fe1,_0x576386={'WdBrN':'endpoint_registered','ChSEb':function(_0x4c6390,_0x2583c1,_0x349a81){return _0x4c6390(_0x2583c1,_0x349a81);}},_0x2d4e43={'event':_0x576386[_0x2d9b6b(0x7f)],'endpoint':_0x3091a9,'route':_0x2ad1fe},_0x28505d=_0x2d9b6b(0x8b)+_0x3091a9+':\x20'+_0x2ad1fe;logger[_0x2d9b6b(0xca)](_0x2d4e43,_0x28505d),_0x576386['ChSEb'](writeToFileLog,{..._0x2d4e43,'level':'debug','msg':_0x28505d,'time':new Date()['toISOString']()},_0x2d9b6b(0xca));},logDatabaseConfig=_0xe2e751=>{const _0x521f0e=a0_0x4f6fe1,_0x35d651={'KaPzQ':'database_config','gegsg':'debug'},_0x5412d7={'event':_0x35d651[_0x521f0e(0xe2)],'host':_0xe2e751[_0x521f0e(0xbb)],'port':_0xe2e751[_0x521f0e(0xba)],'database':_0xe2e751['database'],'type':_0xe2e751['type'],'user':_0xe2e751[_0x521f0e(0x73)]},_0x336279=_0x521f0e(0xd6)+_0xe2e751[_0x521f0e(0xb7)]+'://'+_0xe2e751[_0x521f0e(0xbb)]+':'+_0xe2e751['port']+'/'+_0xe2e751[_0x521f0e(0xab)];logger['debug'](_0x5412d7,_0x336279),writeToFileLog({..._0x5412d7,'level':_0x35d651[_0x521f0e(0x10d)],'msg':_0x336279,'time':new Date()['toISOString']()},_0x521f0e(0xca));},logRequest=(_0x117a86,_0x464cad,_0x4e81e1)=>{const _0x395e26=a0_0x4f6fe1,_0x6ce658={'lMvHg':'http_request','LIFtD':function(_0x290468,_0x101478){return _0x290468>=_0x101478;},'xyHGr':function(_0x48bb3e,_0x25b263,_0x5268c8){return _0x48bb3e(_0x25b263,_0x5268c8);}},_0x2edf74={'event':_0x6ce658['lMvHg'],'method':_0x117a86[_0x395e26(0xb6)],'path':_0x117a86[_0x395e26(0xa0)],'statusCode':_0x464cad[_0x395e26(0xa3)],'durationMs':_0x4e81e1,'ip':_0x117a86['ip']},_0x1b5096=_0x117a86['method']+'\x20'+_0x117a86[_0x395e26(0xa0)]+_0x395e26(0x80)+_0x464cad[_0x395e26(0xa3)]+'\x20('+_0x4e81e1+_0x395e26(0x125);let _0x3fe42e='info';if(_0x6ce658[_0x395e26(0x78)](_0x464cad['statusCode'],0x1f4))_0x3fe42e='error',logger[_0x395e26(0xd5)](_0x2edf74,_0x1b5096);else _0x464cad[_0x395e26(0xa3)]>=0x190?(_0x3fe42e='warn',logger['warn'](_0x2edf74,_0x1b5096)):logger[_0x395e26(0x127)](_0x2edf74,_0x1b5096);_0x6ce658['xyHGr'](writeToFileLog,{..._0x2edf74,'level':_0x3fe42e,'msg':_0x1b5096,'time':new Date()[_0x395e26(0xea)]()},_0x3fe42e);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x4f6fe1(0xfc),a0_0x4f6fe1(0x108),'access_token','refresh_token',a0_0x4f6fe1(0x9e),a0_0x4f6fe1(0xd3),a0_0x4f6fe1(0x9a),a0_0x4f6fe1(0x101),'credential','credentials',a0_0x4f6fe1(0x9d),'otp','private_key',a0_0x4f6fe1(0xf2)],redactSensitiveParams=(_0x503c1c,_0x37cc21)=>{const _0x4ca3d3=a0_0x4f6fe1,_0x334b81={'hkkVw':'[REDACTED]','GvIIe':function(_0x143f52,_0xcaea4d){return _0x143f52===_0xcaea4d;},'SLQuP':'[REDACTED:token]','bomcc':function(_0x92c732,_0xabba4b){return _0x92c732===_0xabba4b;}};if(!_0x503c1c||_0x334b81['bomcc'](_0x503c1c[_0x4ca3d3(0xf4)],0x0))return _0x503c1c;const _0x1867cd=_0x37cc21['toLowerCase'](),_0x4d8b82=_0x1867cd['match'](/\(([^)]+)\)\s*values/i);let _0x50764c=[];_0x4d8b82&&(_0x50764c=_0x4d8b82[0x1][_0x4ca3d3(0xee)](',')['map'](_0x296338=>_0x296338[_0x4ca3d3(0xa7)]()[_0x4ca3d3(0xe0)]()));const _0x41b3c9=_0x1867cd['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x41b3c9){const _0x2a6a22=_0x41b3c9[0x1],_0x579890=_0x2a6a22['match'](/(\w+)\s*=/g);_0x579890&&(_0x50764c=_0x579890[_0x4ca3d3(0x72)](_0x3c851c=>_0x3c851c['replace'](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x503c1c['map']((_0x5740f6,_0x5d77fd)=>{const _0x55635=_0x4ca3d3;if(_0x50764c[_0x5d77fd]){const _0x2a4983=_0x50764c[_0x5d77fd],_0x32cfd9=SENSITIVE_PARAM_PATTERNS['some'](_0x3b95aa=>_0x2a4983[_0x55635(0xdb)](_0x3b95aa));if(_0x32cfd9)return _0x334b81[_0x55635(0x104)];}if(_0x334b81[_0x55635(0xfd)](typeof _0x5740f6,'string')&&_0x5740f6['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x55635(0xde)](_0x5740f6)&&_0x5740f6['includes']('.'))return _0x334b81['SLQuP'];if(/^[a-fA-F0-9]{32,}$/['test'](_0x5740f6))return'[REDACTED:hash]';}return _0x5740f6;});},parseQueryMetadata=_0x32e20a=>{const _0x33ac1a=a0_0x4f6fe1,_0x10f92a={'CIsaw':_0x33ac1a(0xb5),'eRvfx':'SELECT','nMxEA':'UPDATE','KhPxH':_0x33ac1a(0x7d),'hXnCa':_0x33ac1a(0xa9),'QmrPx':'START\x20TRANSACTION','GYvlV':'ROLLBACK','RxcSV':'TRANSACTION_ROLLBACK'},_0x2dc49c=_0x32e20a['trim'](),_0x3fc8e9=_0x2dc49c[_0x33ac1a(0xc0)]();let _0x5c6f09=_0x10f92a['CIsaw'],_0x1c6604=null;if(_0x3fc8e9['startsWith'](_0x10f92a[_0x33ac1a(0x117)])){_0x5c6f09=_0x10f92a[_0x33ac1a(0x117)];const _0x59ccd7=_0x2dc49c['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1c6604=_0x59ccd7?_0x59ccd7[0x1]:null;}else{if(_0x3fc8e9[_0x33ac1a(0x121)]('INSERT')){_0x5c6f09='INSERT';const _0x17aca1=_0x2dc49c[_0x33ac1a(0x88)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1c6604=_0x17aca1?_0x17aca1[0x1]:null;}else{if(_0x3fc8e9[_0x33ac1a(0x121)]('UPDATE')){_0x5c6f09=_0x10f92a[_0x33ac1a(0x113)];const _0x2af00d=_0x2dc49c[_0x33ac1a(0x88)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1c6604=_0x2af00d?_0x2af00d[0x1]:null;}else{if(_0x3fc8e9['startsWith'](_0x10f92a[_0x33ac1a(0x7e)])){_0x5c6f09=_0x33ac1a(0x7d);const _0x230021=_0x2dc49c['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x1c6604=_0x230021?_0x230021[0x1]:null;}else{if(_0x3fc8e9[_0x33ac1a(0x121)](_0x10f92a[_0x33ac1a(0x99)])||_0x3fc8e9['startsWith'](_0x10f92a['QmrPx']))_0x5c6f09='TRANSACTION_BEGIN';else{if(_0x3fc8e9['startsWith'](_0x33ac1a(0x8a)))_0x5c6f09='TRANSACTION_COMMIT';else{if(_0x3fc8e9['startsWith'](_0x10f92a['GYvlV']))_0x5c6f09=_0x10f92a[_0x33ac1a(0xd0)];else{if(_0x3fc8e9[_0x33ac1a(0x121)]('CREATE'))_0x5c6f09='DDL_CREATE';else{if(_0x3fc8e9['startsWith'](_0x33ac1a(0xc5)))_0x5c6f09='DDL_ALTER';else _0x3fc8e9[_0x33ac1a(0x121)]('DROP')&&(_0x5c6f09='DDL_DROP');}}}}}}}}return{'type':_0x5c6f09,'table':_0x1c6604};},startQueryTimer=()=>{const _0x22d3dc={'RYUbK':function(_0x58674a,_0x315976){return _0x58674a/_0x315976;}},_0x2725b0=process['hrtime']();return()=>{const [_0x157191,_0x5c598f]=process['hrtime'](_0x2725b0);return parseFloat((_0x157191*0x3e8+_0x22d3dc['RYUbK'](_0x5c598f,0xf4240))['toFixed'](0x2));};},logQuery=(_0x5df14f,_0x347b3b=[],_0xf73ec0={})=>{const _0x589bcb=a0_0x4f6fe1,_0x81366e={'GCRtk':'db_query','epIwl':'postgresql','BPNYY':function(_0x53fbca,_0x4fe4a6){return _0x53fbca>_0x4fe4a6;},'NIoXN':function(_0x24dd68,_0xd3207e){return _0x24dd68!==_0xd3207e;},'TmHKq':function(_0x1a9f24,_0x137a32){return _0x1a9f24>_0x137a32;},'UlFSF':function(_0x1df141,_0x3d79d0){return _0x1df141!==_0x3d79d0;},'YWDwR':'unknown','tCWWW':'debug','haDwZ':'\x20[SLOW]','tJZQx':_0x589bcb(0x127)};if(!sqlLogEnabled){logger[_0x589bcb(0xca)]({'event':_0x81366e[_0x589bcb(0x91)],'query':_0x5df14f[_0x589bcb(0xec)](0x0,0xc8),'paramCount':_0x347b3b[_0x589bcb(0xf4)]},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x81366e[_0x589bcb(0xf1)]}=_0xf73ec0,{type:_0x5f4e23,table:_0x47ed3a}=parseQueryMetadata(_0x5df14f),_0x14b547={'event':_0x589bcb(0x76),'queryType':_0x5f4e23,'table':_0x47ed3a,'query':_0x5df14f,'paramCount':_0x347b3b[_0x589bcb(0xf4)],'dbType':dbType};sqlLogParams&&_0x81366e[_0x589bcb(0xf7)](_0x347b3b['length'],0x0)&&(_0x14b547['params']=redactSensitiveParams(_0x347b3b,_0x5df14f));_0x81366e['NIoXN'](duration,null)&&(_0x14b547[_0x589bcb(0xa8)]=duration,_0x14b547['isSlow']=_0x81366e[_0x589bcb(0x9f)](duration,sqlLogSlowThreshold));_0x81366e['UlFSF'](rowsAffected,null)&&(_0x14b547[_0x589bcb(0xb9)]=rowsAffected);const _0x11bb17=_0x47ed3a||_0x81366e['YWDwR'];let _0x462520='['+_0x5f4e23+']\x20'+_0x11bb17;_0x81366e[_0x589bcb(0xc4)](duration,null)&&(_0x462520+='\x20('+duration+'ms)');const _0x2faa95=_0x81366e[_0x589bcb(0xc4)](duration,null)&&_0x81366e[_0x589bcb(0x9f)](duration,sqlLogSlowThreshold);let _0x5b084f=_0x81366e['tCWWW'];if(_0x2faa95)_0x462520+=_0x81366e['haDwZ'],_0x5b084f='warn',logger['warn'](_0x14b547,_0x462520);else sqlLogLevel===_0x81366e['tJZQx']?(_0x5b084f=_0x81366e['tJZQx'],logger[_0x589bcb(0x127)](_0x14b547,_0x462520)):logger['debug'](_0x14b547,_0x462520);writeToFileLog({..._0x14b547,'level':_0x5b084f,'msg':_0x462520,'time':new Date()[_0x589bcb(0xea)]()},_0x5b084f);},logTransaction=(_0x419862,_0x3ae060)=>{const _0x2cd52b=a0_0x4f6fe1,_0x385df3={'QXrgq':_0x2cd52b(0x95),'uHrCS':function(_0x18bf86,_0x421625,_0x2a3a28){return _0x18bf86(_0x421625,_0x2a3a28);}},_0x165b19={'event':_0x385df3['QXrgq'],'status':_0x419862,'queryCount':_0x3ae060},_0x14bd83='Transaction\x20'+_0x419862;logger['debug'](_0x165b19,_0x14bd83),_0x385df3['uHrCS'](writeToFileLog,{..._0x165b19,'level':'debug','msg':_0x14bd83,'time':new Date()['toISOString']()},_0x2cd52b(0xca));},redactObject=_0x132487=>{const _0x37e0fd=a0_0x4f6fe1,_0x30dd9b={'bFoIw':_0x37e0fd(0xdf),'vEKdm':'pwd','ciOTT':_0x37e0fd(0x9a),'Tjnbj':_0x37e0fd(0x101),'VdNnG':'authorization','Gkbdx':'creditcard','OywfR':_0x37e0fd(0x122),'RfJWd':'refresh_token','QNEtN':'access_token','IKiLX':function(_0x310c58,_0x4a9603){return _0x310c58!==_0x4a9603;},'VvZib':function(_0x187ed4,_0x2e31c5){return _0x187ed4(_0x2e31c5);}};if(!_0x132487||typeof _0x132487!==_0x30dd9b[_0x37e0fd(0x118)])return _0x132487;const _0x2cff5a=[_0x37e0fd(0xfa),_0x37e0fd(0xae),_0x30dd9b[_0x37e0fd(0xb1)],_0x37e0fd(0x108),'secret',_0x30dd9b['ciOTT'],_0x30dd9b['Tjnbj'],_0x30dd9b[_0x37e0fd(0x120)],_0x30dd9b[_0x37e0fd(0x111)],'credit_card',_0x30dd9b['OywfR'],'ssn',_0x37e0fd(0x9d),'private_key','privatekey',_0x30dd9b[_0x37e0fd(0x115)],_0x30dd9b[_0x37e0fd(0xf9)]],_0x369ad3=Array[_0x37e0fd(0xb2)](_0x132487)?[..._0x132487]:{..._0x132487};for(const _0x46aac8 of Object['keys'](_0x369ad3)){const _0x5a8aea=_0x46aac8['toLowerCase']();if(_0x2cff5a[_0x37e0fd(0xe6)](_0x4f7673=>_0x5a8aea['includes'](_0x4f7673)))_0x369ad3[_0x46aac8]=_0x37e0fd(0x105);else typeof _0x369ad3[_0x46aac8]===_0x37e0fd(0xdf)&&_0x30dd9b['IKiLX'](_0x369ad3[_0x46aac8],null)&&(_0x369ad3[_0x46aac8]=_0x30dd9b[_0x37e0fd(0xe8)](redactObject,_0x369ad3[_0x46aac8]));}return _0x369ad3;},logError=(_0xb41f2d,_0x392fcf={},_0x2100eb=null)=>{const _0x1aaa42=a0_0x4f6fe1,_0x1788de={'IkPtD':_0x1aaa42(0xd5)},_0x47a2d9={'event':_0x1aaa42(0xd5),'errorName':_0xb41f2d['name']||'Error','errorMessage':_0xb41f2d[_0x1aaa42(0x81)],'errorCode':_0xb41f2d['code']||null,'stack':_0xb41f2d[_0x1aaa42(0x87)],..._0x392fcf},_0xf13a4c=_0x2100eb||_0x1aaa42(0x7c)+_0xb41f2d['message'];logger[_0x1aaa42(0xd5)](_0x47a2d9,_0xf13a4c),writeToFileLog({..._0x47a2d9,'level':_0x1788de['IkPtD'],'msg':_0xf13a4c,'time':new Date()['toISOString']()},_0x1aaa42(0xd5));},logFatalError=(_0x148cb2,_0x2c5cb1={},_0x57a408=null)=>{const _0x1b1d5b=a0_0x4f6fe1,_0x2fc2ab={'Kcvwo':'CRITICAL','ZwsMQ':function(_0x4cb09b,_0xd03cab,_0x2e17d3){return _0x4cb09b(_0xd03cab,_0x2e17d3);},'TjHyN':'fatal','vzPmz':_0x1b1d5b(0xd5)},_0x16b461={'event':_0x1b1d5b(0x114),'errorName':_0x148cb2[_0x1b1d5b(0x10a)]||_0x1b1d5b(0x9c),'errorMessage':_0x148cb2[_0x1b1d5b(0x81)],'errorCode':_0x148cb2['code']||null,'stack':_0x148cb2[_0x1b1d5b(0x87)],'severity':_0x2fc2ab['Kcvwo'],..._0x2c5cb1},_0x21bb07=_0x57a408||_0x1b1d5b(0xc7)+_0x148cb2['message'];logger['fatal'](_0x16b461,_0x21bb07),_0x2fc2ab[_0x1b1d5b(0xbd)](writeToFileLog,{..._0x16b461,'level':_0x2fc2ab['TjHyN'],'msg':_0x21bb07,'time':new Date()[_0x1b1d5b(0xea)]()},_0x2fc2ab[_0x1b1d5b(0x89)]);},logHttpError=(_0x330d01,_0x3e93f5,_0x245cf3={})=>{const _0x54a775=a0_0x4f6fe1,_0x21d394={'LeOxh':'http_error','LuOAq':_0x54a775(0xcd),'rhfby':function(_0x285eb4,_0x373955){return _0x285eb4(_0x373955);},'ghdoz':function(_0x3bf533,_0x508eaa,_0x3b2e0e){return _0x3bf533(_0x508eaa,_0x3b2e0e);},'SYvyv':function(_0x22a0ad,_0x5993ca){return _0x22a0ad>=_0x5993ca;},'AufmR':'warn'},_0x1d3f54={'event':_0x21d394[_0x54a775(0xdc)],'errorName':_0x330d01['name']||'Error','errorMessage':_0x330d01[_0x54a775(0x81)],'errorCode':_0x330d01[_0x54a775(0xd9)]||_0x330d01['statusCode']||0x1f4,'stack':_0x330d01['stack'],'method':_0x3e93f5?.['method'],'url':_0x3e93f5?.['url']||_0x3e93f5?.[_0x54a775(0xaf)],'path':_0x3e93f5?.[_0x54a775(0xa0)],'ip':_0x3e93f5?.['ip']||_0x3e93f5?.[_0x54a775(0xb3)]?.[_0x54a775(0x96)],'userAgent':_0x3e93f5?.[_0x54a775(0xed)]?.('user-agent'),'requestId':_0x3e93f5?.['id']||_0x3e93f5?.['headers']?.[_0x21d394[_0x54a775(0x82)]],'body':_0x3e93f5?.['body']?_0x21d394[_0x54a775(0xd1)](redactObject,_0x3e93f5['body']):undefined,'query':_0x3e93f5?.[_0x54a775(0xe1)],..._0x245cf3},_0x4d0db2=_0x330d01[_0x54a775(0xa3)]||_0x330d01[_0x54a775(0xc8)]||0x1f4,_0x3637f9=_0x54a775(0x106)+_0x4d0db2+':\x20'+_0x330d01['message'];_0x4d0db2>=0x1f4?logger['error'](_0x1d3f54,_0x3637f9):logger['warn'](_0x1d3f54,_0x3637f9),_0x21d394['ghdoz'](writeToFileLog,{..._0x1d3f54,'level':_0x4d0db2>=0x1f4?'error':_0x54a775(0x86),'msg':_0x3637f9,'time':new Date()[_0x54a775(0xea)]()},_0x21d394[_0x54a775(0xbe)](_0x4d0db2,0x1f4)?_0x54a775(0xd5):_0x21d394[_0x54a775(0x126)]);},logUncaughtError=(_0x9ab942,_0xd3e9d2)=>{const _0x2de371=a0_0x4f6fe1,_0x40bace={'xHVMy':_0x2de371(0x9c),'JKDIB':function(_0x11a821,_0x4a864d){return _0x11a821(_0x4a864d);},'xOKXA':function(_0x5bdc46,_0x3f4044,_0x4d0188){return _0x5bdc46(_0x3f4044,_0x4d0188);}},_0x5edbd6={'event':_0x9ab942,'errorName':_0xd3e9d2?.[_0x2de371(0x10a)]||_0x40bace[_0x2de371(0xef)],'errorMessage':_0xd3e9d2?.[_0x2de371(0x81)]||_0x40bace['JKDIB'](String,_0xd3e9d2),'errorCode':_0xd3e9d2?.['code']||null,'stack':_0xd3e9d2?.['stack'],'severity':'CRITICAL','processId':process[_0x2de371(0xe7)],'memoryUsage':process[_0x2de371(0xad)](),'uptime':process['uptime']()},_0x1be250='['+_0x9ab942[_0x2de371(0xc0)]()+']\x20'+(_0xd3e9d2?.['message']||_0xd3e9d2);logger[_0x2de371(0xbc)](_0x5edbd6,_0x1be250),_0x40bace['xOKXA'](writeToFileLog,{..._0x5edbd6,'level':'fatal','msg':_0x1be250,'time':new Date()[_0x2de371(0xea)]()},'error');},setupGlobalErrorHandlers=()=>{const _0x3c4a9e=a0_0x4f6fe1,_0x560b13={'ZGmOz':function(_0x357a8b,_0x2f259e,_0xb2cab0){return _0x357a8b(_0x2f259e,_0xb2cab0);},'XLwFb':_0x3c4a9e(0xa2),'IXkOs':function(_0x1c224a,_0x1902cb){return _0x1c224a(_0x1902cb);},'gTEmb':_0x3c4a9e(0x127)};process['on']('uncaughtException',_0x1c5218=>{const _0x4c5b4b=_0x3c4a9e;_0x560b13[_0x4c5b4b(0x123)](logUncaughtError,_0x560b13['XLwFb'],_0x1c5218),setTimeout(()=>{const _0x14714d=_0x4c5b4b;process[_0x14714d(0xeb)](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0x574d01,_0x3cee39)=>{const _0x2a08dd=_0x3c4a9e,_0x299d3e=_0x574d01 instanceof Error?_0x574d01:new Error(_0x560b13['IXkOs'](String,_0x574d01));_0x560b13[_0x2a08dd(0x123)](logUncaughtError,_0x2a08dd(0x71),_0x299d3e);}),process['on'](_0x3c4a9e(0xa5),_0x2e8020=>{const _0x1a6024=_0x3c4a9e;logger['warn']({'event':_0x1a6024(0xe9),'name':_0x2e8020['name'],'message':_0x2e8020['message'],'stack':_0x2e8020['stack']},_0x1a6024(0x11b)+_0x2e8020[_0x1a6024(0x81)]);});const _0x2bf556={'event':'global_error_handlers_setup'},_0xc42b24='Global\x20error\x20handlers\x20initialized';logger[_0x3c4a9e(0x127)](_0x2bf556,_0xc42b24),_0x560b13['ZGmOz'](writeToFileLog,{..._0x2bf556,'level':_0x560b13['gTEmb'],'msg':_0xc42b24,'time':new Date()[_0x3c4a9e(0xea)]()},_0x560b13['gTEmb']);},createErrorHandlerMiddleware=()=>{const _0x5232ad=a0_0x4f6fe1,_0x1b7bac={'ZCllf':function(_0x2fe529,_0x210ba1,_0x4e2e5a){return _0x2fe529(_0x210ba1,_0x4e2e5a);},'gMtwh':function(_0x506549,_0xd2589f){return _0x506549>=_0xd2589f;},'wfdWQ':_0x5232ad(0xb8),'TgDVn':'x-request-id'};return(_0x285ef8,_0x425c9f,_0x2401a6,_0xa99df2)=>{const _0x4617a3=_0x5232ad;_0x1b7bac[_0x4617a3(0x8f)](logHttpError,_0x285ef8,_0x425c9f);const _0x5c65fc=_0x285ef8['statusCode']||_0x285ef8[_0x4617a3(0xc8)]||0x1f4;_0x2401a6[_0x4617a3(0xc8)](_0x5c65fc)['json']({'success':![],'error':_0x1b7bac['gMtwh'](_0x5c65fc,0x1f4)?_0x1b7bac[_0x4617a3(0x102)]:_0x285ef8[_0x4617a3(0x81)],'requestId':_0x425c9f['id']||_0x425c9f['headers']?.[_0x1b7bac[_0x4617a3(0x79)]]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
1
|
+
const a0_0x20e266=a0_0x3a8d;(function(_0x2956bd,_0x589455){const _0x4e8ee5=a0_0x3a8d,_0x1627d5=_0x2956bd();while(!![]){try{const _0x536a79=parseInt(_0x4e8ee5(0x17a))/0x1+-parseInt(_0x4e8ee5(0x11a))/0x2*(parseInt(_0x4e8ee5(0x171))/0x3)+parseInt(_0x4e8ee5(0x132))/0x4+parseInt(_0x4e8ee5(0x16b))/0x5+-parseInt(_0x4e8ee5(0x125))/0x6+parseInt(_0x4e8ee5(0x173))/0x7+-parseInt(_0x4e8ee5(0x13b))/0x8*(parseInt(_0x4e8ee5(0x182))/0x9);if(_0x536a79===_0x589455)break;else _0x1627d5['push'](_0x1627d5['shift']());}catch(_0x13481d){_0x1627d5['push'](_0x1627d5['shift']());}}}(a0_0x3ee3,0x6eb3f));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x20e266(0x181),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x20e266(0x10a),'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['env']['NODE_ENV']!=='production',logLevel=process[a0_0x20e266(0x156)][a0_0x20e266(0x130)]||a0_0x20e266(0x164);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env']['APP_VERSION']||'1.0.5','env':process[a0_0x20e266(0x156)]['NODE_ENV']||'development'},'timestamp':pino[a0_0x20e266(0x13f)]['isoTime'],'redact':{'paths':[a0_0x20e266(0x122),'req.headers[\x22x-api-key\x22]',a0_0x20e266(0x155),a0_0x20e266(0x11c),'apiKey',a0_0x20e266(0x19d),'JWT_SECRET'],'censor':a0_0x20e266(0x161)},'serializers':{'req':_0x5880d2=>({'id':_0x5880d2['id'],'method':_0x5880d2[a0_0x20e266(0x18d)],'url':_0x5880d2['url'],'path':_0x5880d2[a0_0x20e266(0x19e)],'remoteAddress':_0x5880d2['ip']||_0x5880d2['connection']?.['remoteAddress']}),'res':_0x29b384=>({'statusCode':_0x29b384['statusCode'],'headers':_0x29b384[a0_0x20e266(0x1aa)]?.()}),'err':pino['stdSerializers'][a0_0x20e266(0x102)]}});function initFileLogging(){const _0x2fb9cc=a0_0x20e266,_0x91a56={'nPQzW':'true','yyGbq':function(_0x46cbc2,_0x3c0b93){return _0x46cbc2===_0x3c0b93;},'KyHbS':'debug','AITCV':function(_0x5257a9,_0x5b3e71){return _0x5257a9!==_0x5b3e71;},'VyLuS':_0x2fb9cc(0x15c),'VLtbx':'error.log','bQIhi':function(_0x52d2c1,_0x686507,_0xa102c0){return _0x52d2c1(_0x686507,_0xa102c0);},'IYxya':_0x2fb9cc(0x164)};if(fileLoggingInitialized)return;logToFile=process['env']['LOG_TO_FILE']===_0x91a56[_0x2fb9cc(0x14e)],logDir=process[_0x2fb9cc(0x156)][_0x2fb9cc(0x119)]||'./logs',serviceName=process['env'][_0x2fb9cc(0x17c)]||_0x2fb9cc(0x181),sqlLogEnabled=_0x91a56['yyGbq'](process[_0x2fb9cc(0x156)][_0x2fb9cc(0x1a2)],_0x91a56['nPQzW']),sqlLogLevel=process['env']['SQL_LOG_LEVEL']||_0x91a56[_0x2fb9cc(0x126)],sqlLogParams=_0x91a56[_0x2fb9cc(0x1ab)](process['env'][_0x2fb9cc(0x1a5)],'false'),sqlLogSlowThreshold=parseInt(process[_0x2fb9cc(0x156)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x16e955=path[_0x2fb9cc(0x10c)](process[_0x2fb9cc(0x1a3)](),logDir);try{!fs[_0x2fb9cc(0x1a9)](_0x16e955)&&fs[_0x2fb9cc(0x177)](_0x16e955,{'recursive':!![]});}catch(_0x45fe6c){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x16e955+':',_0x45fe6c[_0x2fb9cc(0x14d)]),fileLoggingInitialized=!![];return;}const _0x478977=path['join'](_0x16e955,_0x91a56['VyLuS']),_0x56bb91=path[_0x2fb9cc(0x123)](_0x16e955,_0x2fb9cc(0x17d));try{appLogStream=fs['createWriteStream'](_0x478977,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x56bb91,{'flags':'a'}),fileLoggingInitialized=!![];const _0x23cb9f={'event':'file_logging_enabled','logDir':_0x16e955,'files':[_0x2fb9cc(0x15c),_0x91a56['VLtbx']]},_0x5497ba=_0x2fb9cc(0x147)+_0x16e955;logger[_0x2fb9cc(0x164)](_0x23cb9f,_0x5497ba),_0x91a56['bQIhi'](writeToFileLog,{..._0x23cb9f,'level':_0x91a56[_0x2fb9cc(0x142)],'msg':_0x5497ba,'time':new Date()['toISOString']()},_0x2fb9cc(0x164));}catch(_0x2098aa){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x2098aa[_0x2fb9cc(0x14d)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0xde3f52,_0x276b4f){const _0x5d69f2=a0_0x20e266,_0x439b19={'VMhxS':function(_0x3eea64,_0x42d094){return _0x3eea64===_0x42d094;},'wcKhe':_0x5d69f2(0x168)};if(!logToFile||!appLogStream)return;const _0x969aed={'service':serviceName,..._0xde3f52},_0x505661=JSON['stringify'](_0x969aed)+'\x0a';appLogStream[_0x5d69f2(0x176)](_0x505661),(_0x439b19[_0x5d69f2(0x116)](_0x276b4f,_0x5d69f2(0x12f))||_0x276b4f===_0x439b19['wcKhe'])&&(errorLogStream&&errorLogStream['write'](_0x505661));}const createRequestLogger=(_0x40f234={})=>{const _0x54fc92=a0_0x20e266;return logger[_0x54fc92(0x113)](_0x40f234);},logServerStart=_0x134961=>{const _0x57b8e0=a0_0x20e266,_0x2a8d89={'hLlpH':_0x57b8e0(0x138),'vAoGd':'ACTIVE','cGtOr':_0x57b8e0(0x105),'rbqcn':function(_0x411b67,_0x3ca91b,_0x4958a5){return _0x411b67(_0x3ca91b,_0x4958a5);},'NdJSm':_0x57b8e0(0x164)},_0x4a9c86=_0x57b8e0(0x188)+(_0x134961['environment']||_0x57b8e0(0x111))[_0x57b8e0(0x180)](0x26)+_0x57b8e0(0x185)+(_0x134961[_0x57b8e0(0x15a)]||'N/A')['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x134961['port']||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x134961['configFile']||_0x2a8d89[_0x57b8e0(0x134)])['padEnd'](0x26)+_0x57b8e0(0x170)+(_0x134961[_0x57b8e0(0x1ac)]?_0x2a8d89['vAoGd']:_0x2a8d89['cGtOr'])[_0x57b8e0(0x180)](0x26)+_0x57b8e0(0x18b);console['log'](_0x4a9c86);const _0x7d6718={'event':'server_starting','project':_0x134961[_0x57b8e0(0x15a)],'port':_0x134961[_0x57b8e0(0x196)],'config':_0x134961[_0x57b8e0(0x10f)],'apiKeyEnabled':!!_0x134961[_0x57b8e0(0x1ac)]};logger['info'](_0x7d6718),_0x2a8d89[_0x57b8e0(0x14b)](writeToFileLog,{..._0x7d6718,'level':_0x2a8d89['NdJSm'],'msg':'Server\x20starting:\x20'+_0x134961[_0x57b8e0(0x15a)]+_0x57b8e0(0x112)+_0x134961['port'],'time':new Date()[_0x57b8e0(0x15b)]()},_0x2a8d89['NdJSm']);},logServerReady=_0x188a5b=>{const _0x2208f0=a0_0x20e266,_0x32f6b3={'yTxVv':_0x2208f0(0x164)},_0x573440={'event':_0x2208f0(0x141),'port':_0x188a5b[_0x2208f0(0x196)],'module':_0x188a5b[_0x2208f0(0x179)],'healthCheck':_0x188a5b['healthCheck'],'serviceInfo':_0x188a5b[_0x2208f0(0x124)],'baseUrl':_0x188a5b['baseUrl']},_0x135221='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x188a5b['port'];logger['info'](_0x573440,_0x135221),writeToFileLog({..._0x573440,'level':_0x32f6b3[_0x2208f0(0x121)],'msg':_0x135221,'time':new Date()[_0x2208f0(0x15b)]()},_0x2208f0(0x164)),_0x188a5b[_0x2208f0(0x101)]&&logger[_0x2208f0(0x164)]('\x20\x20Health:\x20'+_0x188a5b['healthCheck']),_0x188a5b[_0x2208f0(0x124)]&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x188a5b[_0x2208f0(0x124)]),_0x188a5b['baseUrl']&&logger[_0x2208f0(0x164)]('\x20\x20URL:\x20\x20\x20\x20'+_0x188a5b['baseUrl']);},logProjectLoaded=(_0x1a1f42,_0x28e7a4)=>{const _0x348a81=a0_0x20e266,_0x1cb97d={'event':_0x348a81(0x110),'project':_0x1a1f42,'path':_0x28e7a4},_0x193d5e='[OK]\x20Project\x20loaded:\x20'+_0x1a1f42;logger['info'](_0x1cb97d,_0x193d5e),writeToFileLog({..._0x1cb97d,'level':'info','msg':_0x193d5e,'time':new Date()['toISOString']()},_0x348a81(0x164));},logEndpointRegistered=(_0x42d960,_0x4e01aa)=>{const _0x4df1d7=a0_0x20e266,_0xd2bf55={'VRxAa':function(_0x465bc8,_0x43eec5,_0x3d7bab){return _0x465bc8(_0x43eec5,_0x3d7bab);},'jVUvq':'debug'},_0x3d98f0={'event':_0x4df1d7(0x16e),'endpoint':_0x42d960,'route':_0x4e01aa},_0x3a2069=_0x4df1d7(0x12d)+_0x42d960+':\x20'+_0x4e01aa;logger[_0x4df1d7(0x1a1)](_0x3d98f0,_0x3a2069),_0xd2bf55['VRxAa'](writeToFileLog,{..._0x3d98f0,'level':_0xd2bf55['jVUvq'],'msg':_0x3a2069,'time':new Date()[_0x4df1d7(0x15b)]()},_0xd2bf55['jVUvq']);},logDatabaseConfig=_0x56e57f=>{const _0x3dcfa4=a0_0x20e266,_0x5c5a74={'srOGh':_0x3dcfa4(0x1a1)},_0x5f6ad9={'event':_0x3dcfa4(0x193),'host':_0x56e57f[_0x3dcfa4(0x17e)],'port':_0x56e57f['port'],'database':_0x56e57f['database'],'type':_0x56e57f['type'],'user':_0x56e57f['user']},_0x19d839=_0x3dcfa4(0x13c)+_0x56e57f['type']+_0x3dcfa4(0x12e)+_0x56e57f[_0x3dcfa4(0x17e)]+':'+_0x56e57f[_0x3dcfa4(0x196)]+'/'+_0x56e57f['database'];logger['debug'](_0x5f6ad9,_0x19d839),writeToFileLog({..._0x5f6ad9,'level':_0x5c5a74['srOGh'],'msg':_0x19d839,'time':new Date()['toISOString']()},_0x3dcfa4(0x1a1));},logRequest=(_0x19862b,_0x1cab4d,_0x10e18a)=>{const _0x1611a0=a0_0x20e266,_0x56763b={'RuoOf':_0x1611a0(0x131),'vqKDO':'info','htnvc':function(_0x5be778,_0x1e0bd7){return _0x5be778>=_0x1e0bd7;},'dcnre':_0x1611a0(0x12f),'INaMI':_0x1611a0(0x107),'oKIcs':function(_0x486b67,_0x55603d,_0x55ee41){return _0x486b67(_0x55603d,_0x55ee41);}},_0x500929={'event':_0x56763b['RuoOf'],'method':_0x19862b[_0x1611a0(0x18d)],'path':_0x19862b['path'],'statusCode':_0x1cab4d[_0x1611a0(0x175)],'durationMs':_0x10e18a,'ip':_0x19862b['ip']},_0x916c96=_0x19862b[_0x1611a0(0x18d)]+'\x20'+_0x19862b['path']+'\x20-\x20'+_0x1cab4d[_0x1611a0(0x175)]+'\x20('+_0x10e18a+'ms)';let _0x3ee255=_0x56763b['vqKDO'];if(_0x56763b[_0x1611a0(0x114)](_0x1cab4d['statusCode'],0x1f4))_0x3ee255=_0x56763b[_0x1611a0(0x1ae)],logger['error'](_0x500929,_0x916c96);else _0x56763b['htnvc'](_0x1cab4d[_0x1611a0(0x175)],0x190)?(_0x3ee255=_0x56763b['INaMI'],logger['warn'](_0x500929,_0x916c96)):logger[_0x1611a0(0x164)](_0x500929,_0x916c96);_0x56763b[_0x1611a0(0x172)](writeToFileLog,{..._0x500929,'level':_0x3ee255,'msg':_0x916c96,'time':new Date()[_0x1611a0(0x15b)]()},_0x3ee255);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x20e266(0x183),a0_0x20e266(0x144),'token','access_token',a0_0x20e266(0x12b),'secret',a0_0x20e266(0x1a8),a0_0x20e266(0x135),'api_key',a0_0x20e266(0x118),'credentials','pin',a0_0x20e266(0x17f),a0_0x20e266(0x198),a0_0x20e266(0x186)],redactSensitiveParams=(_0xeae933,_0x55d6ad)=>{const _0x463054=a0_0x20e266,_0x59b755={'xYgzI':'[REDACTED]','MfLwp':'string','TycaR':'[REDACTED:token]'};if(!_0xeae933||_0xeae933[_0x463054(0x157)]===0x0)return _0xeae933;const _0x3c22e4=_0x55d6ad['toLowerCase'](),_0xa3b3c6=_0x3c22e4[_0x463054(0x1a0)](/\(([^)]+)\)\s*values/i);let _0x500088=[];_0xa3b3c6&&(_0x500088=_0xa3b3c6[0x1][_0x463054(0x108)](',')[_0x463054(0x151)](_0x56fa2e=>_0x56fa2e['trim']()[_0x463054(0x18e)]()));const _0x249341=_0x3c22e4[_0x463054(0x1a0)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x249341){const _0x2031b2=_0x249341[0x1],_0xb3650=_0x2031b2['match'](/(\w+)\s*=/g);_0xb3650&&(_0x500088=_0xb3650[_0x463054(0x151)](_0x3048d3=>_0x3048d3[_0x463054(0x149)](/\s*=/,'')[_0x463054(0x199)]()[_0x463054(0x18e)]()));}return _0xeae933[_0x463054(0x151)]((_0x5066fe,_0x15e284)=>{const _0x17903b=_0x463054;if(_0x500088[_0x15e284]){const _0x2e8f1a=_0x500088[_0x15e284],_0x385ba9=SENSITIVE_PARAM_PATTERNS[_0x17903b(0x104)](_0x424672=>_0x2e8f1a['includes'](_0x424672));if(_0x385ba9)return _0x59b755['xYgzI'];}if(typeof _0x5066fe===_0x59b755[_0x17903b(0x128)]&&_0x5066fe[_0x17903b(0x157)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x5066fe)&&_0x5066fe[_0x17903b(0x139)]('.'))return _0x59b755[_0x17903b(0x167)];if(/^[a-fA-F0-9]{32,}$/['test'](_0x5066fe))return'[REDACTED:hash]';}return _0x5066fe;});},parseQueryMetadata=_0x3f8225=>{const _0x19c3dc=a0_0x20e266,_0x55222d={'IFYDW':'SELECT','wHLOe':_0x19c3dc(0x152),'QaShM':'UPDATE','YLwVR':'DELETE','apXUp':_0x19c3dc(0x117),'kMMRJ':_0x19c3dc(0x169),'vZJBK':_0x19c3dc(0x13a),'bhAoZ':'TRANSACTION_COMMIT','gtgNF':_0x19c3dc(0x154),'PEjvI':_0x19c3dc(0x19b),'ZlQBK':'DDL_ALTER','nturU':'DROP'},_0x23311c=_0x3f8225['trim'](),_0xf53c38=_0x23311c[_0x19c3dc(0x197)]();let _0x5b05d8=_0x19c3dc(0x145),_0xdc1e14=null;if(_0xf53c38[_0x19c3dc(0x10d)](_0x55222d['IFYDW'])){_0x5b05d8=_0x19c3dc(0x11f);const _0x22036f=_0x23311c[_0x19c3dc(0x1a0)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xdc1e14=_0x22036f?_0x22036f[0x1]:null;}else{if(_0xf53c38['startsWith'](_0x55222d['wHLOe'])){_0x5b05d8=_0x55222d['wHLOe'];const _0x34a221=_0x23311c[_0x19c3dc(0x1a0)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xdc1e14=_0x34a221?_0x34a221[0x1]:null;}else{if(_0xf53c38[_0x19c3dc(0x10d)]('UPDATE')){_0x5b05d8=_0x55222d[_0x19c3dc(0x1ad)];const _0x31d3de=_0x23311c[_0x19c3dc(0x1a0)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xdc1e14=_0x31d3de?_0x31d3de[0x1]:null;}else{if(_0xf53c38['startsWith']('DELETE')){_0x5b05d8=_0x55222d['YLwVR'];const _0x330a07=_0x23311c[_0x19c3dc(0x1a0)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xdc1e14=_0x330a07?_0x330a07[0x1]:null;}else{if(_0xf53c38['startsWith']('BEGIN')||_0xf53c38[_0x19c3dc(0x10d)](_0x55222d[_0x19c3dc(0x133)]))_0x5b05d8=_0x55222d['kMMRJ'];else{if(_0xf53c38[_0x19c3dc(0x10d)](_0x55222d['vZJBK']))_0x5b05d8=_0x55222d['bhAoZ'];else{if(_0xf53c38[_0x19c3dc(0x10d)]('ROLLBACK'))_0x5b05d8=_0x55222d[_0x19c3dc(0x143)];else{if(_0xf53c38[_0x19c3dc(0x10d)](_0x55222d['PEjvI']))_0x5b05d8=_0x19c3dc(0x100);else{if(_0xf53c38[_0x19c3dc(0x10d)]('ALTER'))_0x5b05d8=_0x55222d[_0x19c3dc(0x163)];else _0xf53c38['startsWith'](_0x55222d['nturU'])&&(_0x5b05d8='DDL_DROP');}}}}}}}}return{'type':_0x5b05d8,'table':_0xdc1e14};},startQueryTimer=()=>{const _0x18298c=a0_0x20e266,_0x5ba4f0={'zBxSl':function(_0x9d451a,_0x38fc1b){return _0x9d451a*_0x38fc1b;},'ISrxl':function(_0x5ea8cc,_0xd80864){return _0x5ea8cc/_0xd80864;}},_0x56636c=process[_0x18298c(0x10e)]();return()=>{const _0x5e2265=_0x18298c,[_0x2c618f,_0x492413]=process[_0x5e2265(0x10e)](_0x56636c);return parseFloat((_0x5ba4f0['zBxSl'](_0x2c618f,0x3e8)+_0x5ba4f0[_0x5e2265(0x166)](_0x492413,0xf4240))['toFixed'](0x2));};},logQuery=(_0x46e9b6,_0x251aed=[],_0x4af9d0={})=>{const _0x49eefe=a0_0x20e266,_0x5edfdf={'qJjzW':_0x49eefe(0x146),'RbeUs':function(_0x15e58a,_0x483c06){return _0x15e58a(_0x483c06);},'qDhav':function(_0x443dde,_0x52232f){return _0x443dde>_0x52232f;},'BScwm':function(_0x4d787b,_0x138049){return _0x4d787b!==_0x138049;},'HVtLP':function(_0x285092,_0x2d1e64){return _0x285092>_0x2d1e64;},'WjPje':_0x49eefe(0x162),'qINXh':'warn'};if(!sqlLogEnabled){logger[_0x49eefe(0x1a1)]({'event':_0x5edfdf['qJjzW'],'query':_0x46e9b6[_0x49eefe(0x106)](0x0,0xc8),'paramCount':_0x251aed[_0x49eefe(0x157)]},_0x49eefe(0x11d));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x4af9d0,{type:_0x2fbf25,table:_0x1a3cf5}=_0x5edfdf[_0x49eefe(0x129)](parseQueryMetadata,_0x46e9b6),_0x55514f={'event':_0x49eefe(0x192),'queryType':_0x2fbf25,'table':_0x1a3cf5,'query':_0x46e9b6,'paramCount':_0x251aed['length'],'dbType':dbType};sqlLogParams&&_0x251aed['length']>0x0&&(_0x55514f[_0x49eefe(0x103)]=redactSensitiveParams(_0x251aed,_0x46e9b6));duration!==null&&(_0x55514f['durationMs']=duration,_0x55514f[_0x49eefe(0x14f)]=_0x5edfdf['qDhav'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x55514f['rowsAffected']=rowsAffected);const _0x3e2268=_0x1a3cf5||'unknown';let _0x5640d6='['+_0x2fbf25+']\x20'+_0x3e2268;_0x5edfdf['BScwm'](duration,null)&&(_0x5640d6+='\x20('+duration+_0x49eefe(0x194));const _0xc34e5f=_0x5edfdf[_0x49eefe(0x12c)](duration,null)&&_0x5edfdf['HVtLP'](duration,sqlLogSlowThreshold);let _0x5ca032='debug';if(_0xc34e5f)_0x5640d6+=_0x5edfdf['WjPje'],_0x5ca032=_0x5edfdf[_0x49eefe(0x19f)],logger[_0x49eefe(0x107)](_0x55514f,_0x5640d6);else sqlLogLevel===_0x49eefe(0x164)?(_0x5ca032='info',logger[_0x49eefe(0x164)](_0x55514f,_0x5640d6)):logger[_0x49eefe(0x1a1)](_0x55514f,_0x5640d6);writeToFileLog({..._0x55514f,'level':_0x5ca032,'msg':_0x5640d6,'time':new Date()['toISOString']()},_0x5ca032);},logTransaction=(_0x4f7e3a,_0x11c8b7)=>{const _0x4b41a7=a0_0x20e266,_0x1fb315={'KEXZI':'db_transaction','dcSNo':function(_0x2a65ac,_0x1e2f6b,_0x3df9b7){return _0x2a65ac(_0x1e2f6b,_0x3df9b7);}},_0x138df6={'event':_0x1fb315[_0x4b41a7(0x13e)],'status':_0x4f7e3a,'queryCount':_0x11c8b7},_0x40b244=_0x4b41a7(0x1a6)+_0x4f7e3a;logger[_0x4b41a7(0x1a1)](_0x138df6,_0x40b244),_0x1fb315['dcSNo'](writeToFileLog,{..._0x138df6,'level':_0x4b41a7(0x1a1),'msg':_0x40b244,'time':new Date()['toISOString']()},_0x4b41a7(0x1a1));},redactObject=_0x1d9edd=>{const _0x5592c5=a0_0x20e266,_0x5766e6={'WqhBO':'password','oJiqc':_0x5592c5(0x144),'Uzcgq':_0x5592c5(0x14c),'oOJXu':_0x5592c5(0x16d),'hCgvZ':'creditcard','tzwbm':_0x5592c5(0x191),'aikfP':'pin','DMhAE':_0x5592c5(0x198),'WsHBX':_0x5592c5(0x12b),'gUSTQ':_0x5592c5(0x13d),'wwoYO':function(_0x371710,_0x564aa6){return _0x371710(_0x564aa6);}};if(!_0x1d9edd||typeof _0x1d9edd!==_0x5592c5(0x17b))return _0x1d9edd;const _0x5955cd=[_0x5766e6['WqhBO'],_0x5592c5(0x183),_0x5766e6['oJiqc'],_0x5592c5(0x11c),_0x5766e6['Uzcgq'],'apikey',_0x5592c5(0x11e),_0x5766e6['oOJXu'],_0x5766e6[_0x5592c5(0x148)],'credit_card',_0x5592c5(0x150),_0x5766e6[_0x5592c5(0x127)],_0x5766e6['aikfP'],_0x5766e6[_0x5592c5(0x18a)],'privatekey',_0x5766e6[_0x5592c5(0x19a)],_0x5766e6['gUSTQ']],_0x5bb440=Array[_0x5592c5(0x109)](_0x1d9edd)?[..._0x1d9edd]:{..._0x1d9edd};for(const _0x4eaec1 of Object['keys'](_0x5bb440)){const _0x43b5e7=_0x4eaec1[_0x5592c5(0x18e)]();if(_0x5955cd['some'](_0x34cb28=>_0x43b5e7[_0x5592c5(0x139)](_0x34cb28)))_0x5bb440[_0x4eaec1]=_0x5592c5(0x161);else typeof _0x5bb440[_0x4eaec1]===_0x5592c5(0x17b)&&_0x5bb440[_0x4eaec1]!==null&&(_0x5bb440[_0x4eaec1]=_0x5766e6['wwoYO'](redactObject,_0x5bb440[_0x4eaec1]));}return _0x5bb440;},logError=(_0x2db6ff,_0x238722={},_0x5448c9=null)=>{const _0x4c6b4a=a0_0x20e266,_0x594c51={'uajih':_0x4c6b4a(0x120),'oelPd':function(_0x33d2d7,_0x2b9303,_0x463921){return _0x33d2d7(_0x2b9303,_0x463921);}},_0x25cd03={'event':_0x4c6b4a(0x12f),'errorName':_0x2db6ff['name']||_0x594c51[_0x4c6b4a(0x153)],'errorMessage':_0x2db6ff[_0x4c6b4a(0x14d)],'errorCode':_0x2db6ff['code']||null,'stack':_0x2db6ff[_0x4c6b4a(0x189)],..._0x238722},_0x1ffea3=_0x5448c9||'Error:\x20'+_0x2db6ff['message'];logger['error'](_0x25cd03,_0x1ffea3),_0x594c51['oelPd'](writeToFileLog,{..._0x25cd03,'level':'error','msg':_0x1ffea3,'time':new Date()['toISOString']()},'error');},logFatalError=(_0x26ef51,_0x5caa7e={},_0x5a7e4a=null)=>{const _0x1630e2=a0_0x20e266,_0x4b0971={'qYAHe':'fatal_error','ouXUy':'Error','IadxP':function(_0xcaf232,_0x360da6,_0x33b559){return _0xcaf232(_0x360da6,_0x33b559);}},_0x571b3f={'event':_0x4b0971[_0x1630e2(0x16c)],'errorName':_0x26ef51[_0x1630e2(0x178)]||_0x4b0971['ouXUy'],'errorMessage':_0x26ef51[_0x1630e2(0x14d)],'errorCode':_0x26ef51['code']||null,'stack':_0x26ef51[_0x1630e2(0x189)],'severity':'CRITICAL',..._0x5caa7e},_0x33198f=_0x5a7e4a||_0x1630e2(0x1a7)+_0x26ef51[_0x1630e2(0x14d)];logger['fatal'](_0x571b3f,_0x33198f),_0x4b0971[_0x1630e2(0x158)](writeToFileLog,{..._0x571b3f,'level':'fatal','msg':_0x33198f,'time':new Date()[_0x1630e2(0x15b)]()},'error');},logHttpError=(_0x5c4399,_0x1a8947,_0xb668c0={})=>{const _0x368cdb=a0_0x20e266,_0x410a41={'xMFyf':_0x368cdb(0x120),'qyiuV':'x-request-id','iDIss':function(_0x3f3902,_0x5daff1){return _0x3f3902>=_0x5daff1;},'Onvqe':function(_0x347ec0,_0x39a0f2){return _0x347ec0>=_0x39a0f2;},'iBIcp':'error'},_0x501b2a={'event':'http_error','errorName':_0x5c4399[_0x368cdb(0x178)]||_0x410a41['xMFyf'],'errorMessage':_0x5c4399['message'],'errorCode':_0x5c4399[_0x368cdb(0x190)]||_0x5c4399[_0x368cdb(0x175)]||0x1f4,'stack':_0x5c4399[_0x368cdb(0x189)],'method':_0x1a8947?.['method'],'url':_0x1a8947?.['url']||_0x1a8947?.[_0x368cdb(0x15d)],'path':_0x1a8947?.[_0x368cdb(0x19e)],'ip':_0x1a8947?.['ip']||_0x1a8947?.[_0x368cdb(0x18f)]?.[_0x368cdb(0x159)],'userAgent':_0x1a8947?.[_0x368cdb(0xff)]?.('user-agent'),'requestId':_0x1a8947?.['id']||_0x1a8947?.['headers']?.[_0x410a41['qyiuV']],'body':_0x1a8947?.[_0x368cdb(0x10b)]?redactObject(_0x1a8947[_0x368cdb(0x10b)]):undefined,'query':_0x1a8947?.[_0x368cdb(0x18c)],..._0xb668c0},_0x3484e5=_0x5c4399[_0x368cdb(0x175)]||_0x5c4399[_0x368cdb(0x165)]||0x1f4,_0x315fd4='HTTP\x20'+_0x3484e5+':\x20'+_0x5c4399[_0x368cdb(0x14d)];_0x410a41[_0x368cdb(0x187)](_0x3484e5,0x1f4)?logger['error'](_0x501b2a,_0x315fd4):logger['warn'](_0x501b2a,_0x315fd4),writeToFileLog({..._0x501b2a,'level':_0x410a41[_0x368cdb(0x1a4)](_0x3484e5,0x1f4)?_0x410a41['iBIcp']:'warn','msg':_0x315fd4,'time':new Date()['toISOString']()},_0x3484e5>=0x1f4?'error':'warn');},logUncaughtError=(_0x5ef675,_0x2b70d8)=>{const _0xda1b3e=a0_0x20e266,_0x25818a={'aLnEh':'Error','ozfbr':_0xda1b3e(0x195)},_0x3adebc={'event':_0x5ef675,'errorName':_0x2b70d8?.[_0xda1b3e(0x178)]||_0x25818a['aLnEh'],'errorMessage':_0x2b70d8?.[_0xda1b3e(0x14d)]||String(_0x2b70d8),'errorCode':_0x2b70d8?.[_0xda1b3e(0x190)]||null,'stack':_0x2b70d8?.['stack'],'severity':_0x25818a['ozfbr'],'processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process[_0xda1b3e(0x160)]()},_0x332d16='['+_0x5ef675['toUpperCase']()+']\x20'+(_0x2b70d8?.['message']||_0x2b70d8);logger[_0xda1b3e(0x168)](_0x3adebc,_0x332d16),writeToFileLog({..._0x3adebc,'level':'fatal','msg':_0x332d16,'time':new Date()[_0xda1b3e(0x15b)]()},'error');},setupGlobalErrorHandlers=()=>{const _0x26234a=a0_0x20e266,_0x2b2f7a={'uODJM':function(_0x10c670,_0x4e8354,_0x4df859){return _0x10c670(_0x4e8354,_0x4df859);},'FVoUk':_0x26234a(0x136),'ClqMy':function(_0x4c81ef,_0x718a45){return _0x4c81ef instanceof _0x718a45;},'XArAV':function(_0x15850e,_0x47e517){return _0x15850e(_0x47e517);},'nleYR':_0x26234a(0x184),'OTFwH':'global_error_handlers_setup','Rauuc':_0x26234a(0x164)};process['on']('uncaughtException',_0x234a69=>{const _0x4586bc=_0x26234a;_0x2b2f7a[_0x4586bc(0x140)](logUncaughtError,_0x2b2f7a['FVoUk'],_0x234a69),setTimeout(()=>{const _0x218ba1=_0x4586bc;process[_0x218ba1(0x14a)](0x1);},0x3e8);}),process['on'](_0x26234a(0x12a),(_0x5a3b4f,_0x50f212)=>{const _0x4e0a24=_0x26234a,_0x52046=_0x2b2f7a[_0x4e0a24(0x15e)](_0x5a3b4f,Error)?_0x5a3b4f:new Error(_0x2b2f7a['XArAV'](String,_0x5a3b4f));logUncaughtError(_0x4e0a24(0x12a),_0x52046);}),process['on'](_0x2b2f7a['nleYR'],_0x50e29b=>{const _0x21177b=_0x26234a;logger[_0x21177b(0x107)]({'event':_0x21177b(0x16a),'name':_0x50e29b[_0x21177b(0x178)],'message':_0x50e29b[_0x21177b(0x14d)],'stack':_0x50e29b[_0x21177b(0x189)]},_0x21177b(0x16f)+_0x50e29b[_0x21177b(0x14d)]);});const _0x516935={'event':_0x2b2f7a[_0x26234a(0x19c)]},_0x3b7cc9=_0x26234a(0x115);logger[_0x26234a(0x164)](_0x516935,_0x3b7cc9),writeToFileLog({..._0x516935,'level':_0x2b2f7a['Rauuc'],'msg':_0x3b7cc9,'time':new Date()[_0x26234a(0x15b)]()},_0x2b2f7a['Rauuc']);},createErrorHandlerMiddleware=()=>{const _0x37ef46=a0_0x20e266,_0x43a525={'UcqAD':function(_0x20cd10,_0x2b9340,_0x4f74db){return _0x20cd10(_0x2b9340,_0x4f74db);},'erdoj':function(_0x21e868,_0x1c8b7a){return _0x21e868>=_0x1c8b7a;},'WqVVz':_0x37ef46(0x11b),'sNSeA':_0x37ef46(0x174)};return(_0x532762,_0x3f5811,_0x3a3e6a,_0x1d5ef1)=>{const _0x5b97b8=_0x37ef46;_0x43a525['UcqAD'](logHttpError,_0x532762,_0x3f5811);const _0x48c063=_0x532762['statusCode']||_0x532762['status']||0x1f4;_0x3a3e6a[_0x5b97b8(0x165)](_0x48c063)[_0x5b97b8(0x137)]({'success':![],'error':_0x43a525['erdoj'](_0x48c063,0x1f4)?_0x43a525['WqVVz']:_0x532762[_0x5b97b8(0x14d)],'requestId':_0x3f5811['id']||_0x3f5811['headers']?.[_0x43a525[_0x5b97b8(0x15f)]]||null});};};function a0_0x3ee3(){const _0x24b2e0=['zw5KCg9PBNrFCMvNAxn0zxjLza','uhjVy2vZCYbxyxjUAw5NoIa','iokvKqRILzeGiefqssblzxKGicaGidOG','mJruBej1rhe','B0Tjy3m','ndaXode3nunUrKnzvG','Ec1Yzxf1zxn0lwLK','C3rHDhvZq29Kzq','D3jPDgu','BwTKAxjtEw5J','BMfTzq','Bw9KDwXL','mJy1mZm5Ae9mD0fK','B2jQzwn0','u0vsvKLdrv9oqu1f','zxjYB3iUBg9N','Ag9ZDa','B3rW','CgfKrw5K','CMvZDgzVCMDL','mta4wgHwuKXI','CgfZC3DK','D2fYBMLUzW','iokvKqRILzeGifbYB2PLy3qGicaGidOG','ChjPDMf0zwTLEq','AurjC3m','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','C3rHy2S','re1Oquu','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','CxvLCNK','Bwv0Ag9K','Dg9mB3DLCKnHC2u','y29UBMvJDgLVBG','y29Kzq','C3nU','C3fSx3f1zxj5','zgf0ywjHC2vFy29UzMLN','BxmP','q1jjveLdquW','Cg9YDa','Dg9vChbLCKnHC2u','ChjPDMf0zv9RzxK','DhjPBq','v3niqLG','q1jfqvrf','t1rgD0G','rejFueftu1DpuKq','Cgf0Aa','CuLowgG','Bwf0y2G','zgvIDwC','u1fmx0Xpr19ftKfcteve','y3DK','t252Cwu','u1fmx0Xpr19qqvjbtvm','vhjHBNnHy3rPB24G','rKfuquW6ia','yxbPx3nLy3jLDa','zxHPC3rZu3LUyW','z2v0sgvHzgvYCW','quLuq1y','yxbPs2v5','uwftAe0','zgnUCMu','z2v0','rermx0nsrufurq','AgvHBhrOq2HLy2S','zxjY','CgfYyw1Z','C29Tzq','tK9uiefdveLwrq','C3vIC3rYAw5N','D2fYBG','C3bSAxq','AxnbCNjHEq','u1LtoKHioK1noNnZ','yM9KEq','CMvZB2X2zq','C3rHCNrZv2L0Aa','Ahj0Aw1L','y29UzMLNrMLSzq','ChjVAMvJDf9SB2fKzwq','tM9Kzs5QCW','ig9UihbVCNqG','y2HPBgq','AhrUDMm','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','vK1OEfm','u1rbuLqGvfjbtLnbq1rjt04','y3jLzgvUDgLHBa','te9hx0rjuG','nte0otb4DeL2AeG','sw50zxjUywWGC2vYDMvYigvYCM9Y','Dg9Rzw4','reiGuxvLCNK','yxbPx2TLEq','u0vmrunu','rxjYB3i','Evr4vNy','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','AM9PBG','C2vYDMLJzuLUzM8','mZKXmJa3ogHws1Liva','s3LiyLm','DhP3yM0','twzmD3a','uMjLvxm','Dw5Oyw5KBgvKuMvQzwn0Aw9U','CMvMCMvZAf90B2TLBG','qLnJD20','icdIHPiG','oI8V','zxjYB3i','te9hx0XfvKvm','Ahr0Cf9Yzxf1zxn0','mZiZmZi0ohrkvhHksa','yxbyvxa','AeXSCeG','yxbPA2v5','Dw5JyxvNAhrfEgnLChrPB24','ANnVBG','rgvMyxvSDa','Aw5JBhvKzxm','q09ntuLu','mZC1mde2zgfOzMDR','rgf0ywjHC2u6ia','ywnJzxnZx3rVA2vU','s0vywKK','C3rKvgLTzuz1BMn0Aw9UCW','Du9esK0','C2vYDMvYx3jLywr5','svL4Ewe','z3rNtKy','ChDK','vu5ltK9xtG','zgjFCxvLCNK','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','AenNDLO','CMvWBgfJzq','zxHPDa','CMjXy24','C2vJCMv0','BwvZC2fNzq','BLbrELC','AxntBg93','y3z2','BwfW','su5trvju','DwfQAwG','vfjbtLnbq1rjt05FuK9mtejbq0S','CgfZC3DVCMq','zw52','BgvUz3rO','swfKEfa','CMvTB3rLqwrKCMvZCW','ChjVAMvJDa','Dg9ju09tDhjPBMC','yxbWlMXVzW','B3jPz2LUywXvCMW','q2XXtxK','C05tzue','Dxb0Aw1L','w1jfrefdvevexq','ifTtte9xxq','wMXrqKS','Aw5MBW','C3rHDhvZ','svnYEgW','vhLJyvi','zMf0ywW','vfjbtLnbq1rjt05FqKvhsu4','ChjVy2vZC193yxjUAw5N','mteZmtmWmhDbzw1PvG','CvLbsgu','yxv0Ag9YAxPHDgLVBG'];a0_0x3ee3=function(){return _0x24b2e0;};return a0_0x3ee3();}function a0_0x3a8d(_0x425c2b,_0x31065c){_0x425c2b=_0x425c2b-0xff;const _0x3ee3a9=a0_0x3ee3();let _0x3a8df1=_0x3ee3a9[_0x425c2b];if(a0_0x3a8d['iIGJDV']===undefined){var _0x91fd2f=function(_0x4ca113){const _0x21055c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1b6424='',_0x5b519b='';for(let _0x7950ca=0x0,_0x5b62b3,_0x2c787b,_0x3cf806=0x0;_0x2c787b=_0x4ca113['charAt'](_0x3cf806++);~_0x2c787b&&(_0x5b62b3=_0x7950ca%0x4?_0x5b62b3*0x40+_0x2c787b:_0x2c787b,_0x7950ca++%0x4)?_0x1b6424+=String['fromCharCode'](0xff&_0x5b62b3>>(-0x2*_0x7950ca&0x6)):0x0){_0x2c787b=_0x21055c['indexOf'](_0x2c787b);}for(let _0x13acf9=0x0,_0x3b027a=_0x1b6424['length'];_0x13acf9<_0x3b027a;_0x13acf9++){_0x5b519b+='%'+('00'+_0x1b6424['charCodeAt'](_0x13acf9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b519b);};a0_0x3a8d['kWmRvl']=_0x91fd2f,a0_0x3a8d['NpwkSK']={},a0_0x3a8d['iIGJDV']=!![];}const _0x2ddc99=_0x3ee3a9[0x0],_0x5ae70c=_0x425c2b+_0x2ddc99,_0x5e846e=a0_0x3a8d['NpwkSK'][_0x5ae70c];return!_0x5e846e?(_0x3a8df1=a0_0x3a8d['kWmRvl'](_0x3a8df1),a0_0x3a8d['NpwkSK'][_0x5ae70c]=_0x3a8df1):_0x3a8df1=_0x5e846e,_0x3a8df1;}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
|
+
const a0_0x59c622=a0_0x677f;(function(_0x390ee9,_0x5ceae6){const _0x74ec29=a0_0x677f,_0x138a69=_0x390ee9();while(!![]){try{const _0x57aa06=-parseInt(_0x74ec29(0x199))/0x1*(-parseInt(_0x74ec29(0x1a6))/0x2)+-parseInt(_0x74ec29(0x19c))/0x3+-parseInt(_0x74ec29(0x182))/0x4*(-parseInt(_0x74ec29(0x190))/0x5)+-parseInt(_0x74ec29(0x198))/0x6+-parseInt(_0x74ec29(0x18a))/0x7+-parseInt(_0x74ec29(0x19e))/0x8+parseInt(_0x74ec29(0x180))/0x9*(parseInt(_0x74ec29(0x194))/0xa);if(_0x57aa06===_0x5ceae6)break;else _0x138a69['push'](_0x138a69['shift']());}catch(_0x5cdb4d){_0x138a69['push'](_0x138a69['shift']());}}}(a0_0x2f15,0x3b279));const fs=require('fs')[a0_0x59c622(0x19a)],path=require(a0_0x59c622(0x195)),{logger}=require('./logger');function a0_0x677f(_0x5e3f80,_0x76b089){_0x5e3f80=_0x5e3f80-0x180;const _0x2f1578=a0_0x2f15();let _0x677fe3=_0x2f1578[_0x5e3f80];if(a0_0x677f['drhKRG']===undefined){var _0x37b2e3=function(_0xe09f6e){const _0x2d2179='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x24d31b='',_0x3360bf='';for(let _0x3c3916=0x0,_0x39783c,_0x47aad4,_0x249fc2=0x0;_0x47aad4=_0xe09f6e['charAt'](_0x249fc2++);~_0x47aad4&&(_0x39783c=_0x3c3916%0x4?_0x39783c*0x40+_0x47aad4:_0x47aad4,_0x3c3916++%0x4)?_0x24d31b+=String['fromCharCode'](0xff&_0x39783c>>(-0x2*_0x3c3916&0x6)):0x0){_0x47aad4=_0x2d2179['indexOf'](_0x47aad4);}for(let _0x209b74=0x0,_0x38e988=_0x24d31b['length'];_0x209b74<_0x38e988;_0x209b74++){_0x3360bf+='%'+('00'+_0x24d31b['charCodeAt'](_0x209b74)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3360bf);};a0_0x677f['RTrwol']=_0x37b2e3,a0_0x677f['sQfeiE']={},a0_0x677f['drhKRG']=!![];}const _0x3ca324=_0x2f1578[0x0],_0x2fc236=_0x5e3f80+_0x3ca324,_0x28041b=a0_0x677f['sQfeiE'][_0x2fc236];return!_0x28041b?(_0x677fe3=a0_0x677f['RTrwol'](_0x677fe3),a0_0x677f['sQfeiE'][_0x2fc236]=_0x677fe3):_0x677fe3=_0x28041b,_0x677fe3;}class PayloadLoader{constructor(){const _0x3877ae=a0_0x59c622,_0xd76097={'Wxvpu':_0x3877ae(0x1a4)};this[_0x3877ae(0x18f)]=path[_0x3877ae(0x1a2)](__dirname,_0xd76097[_0x3877ae(0x1a8)]),this[_0x3877ae(0x1a3)]=new Map();}async[a0_0x59c622(0x183)](_0x17b24f,_0x5a8a9b){const _0x163de1=a0_0x59c622,_0x4deb47={'cDSVP':_0x163de1(0x18b),'QMJme':_0x163de1(0x196)},_0x30e571=_0x17b24f+':'+_0x5a8a9b;if(this[_0x163de1(0x1a3)]['has'](_0x30e571))return this[_0x163de1(0x1a3)][_0x163de1(0x19b)](_0x30e571);const _0x5c603c=path[_0x163de1(0x1a2)](this[_0x163de1(0x18f)],_0x17b24f+'_'+_0x5a8a9b+'.json');try{const _0x4e34dd=await fs[_0x163de1(0x18e)](_0x5c603c,'utf8'),_0x103b52=JSON['parse'](_0x4e34dd);return this['cache'][_0x163de1(0x1a1)](_0x30e571,_0x103b52),logger['debug']({'event':_0x163de1(0x197),'project':_0x17b24f,'resource':_0x5a8a9b},_0x4deb47[_0x163de1(0x186)]),_0x103b52;}catch(_0x34e689){logger['error']({'event':'payload_load_error','project':_0x17b24f,'resource':_0x5a8a9b,'error':_0x34e689[_0x163de1(0x193)]},_0x4deb47['QMJme']);throw new Error('Payload\x20not\x20found:\x20'+_0x17b24f+'_'+_0x5a8a9b);}}async[a0_0x59c622(0x1a5)](_0x508684){const _0x4f07c6=a0_0x59c622,_0x52f6b1={'bsNgm':_0x4f07c6(0x197),'cfeog':_0x4f07c6(0x19f)},_0xd122e3='payload:'+_0x508684;if(this[_0x4f07c6(0x1a3)]['has'](_0xd122e3))return this['cache'][_0x4f07c6(0x19b)](_0xd122e3);const _0x1267f5=path[_0x4f07c6(0x1a2)](this[_0x4f07c6(0x18f)],_0x508684+'.json');try{const _0x4dd793=await fs['readFile'](_0x1267f5,'utf8'),_0x1bffd7=JSON['parse'](_0x4dd793);return this['cache'][_0x4f07c6(0x1a1)](_0xd122e3,_0x1bffd7),logger[_0x4f07c6(0x185)]({'event':_0x52f6b1[_0x4f07c6(0x188)],'payloadName':_0x508684},'Payload\x20loaded\x20successfully\x20by\x20name'),_0x1bffd7;}catch(_0xb2f481){logger[_0x4f07c6(0x192)]({'event':'payload_load_error','payloadName':_0x508684,'error':_0xb2f481[_0x4f07c6(0x193)]},_0x52f6b1[_0x4f07c6(0x184)]);throw new Error('Payload\x20not\x20found:\x20'+_0x508684);}}[a0_0x59c622(0x1a0)](_0x432b27,_0x2a7642){const _0x281c1a=a0_0x59c622;return _0x432b27['action']&&_0x432b27[_0x281c1a(0x18c)][_0x2a7642]===!![];}['getExportConfig'](_0x1be101){const _0x9d3d6b=a0_0x59c622;return{'columns':_0x1be101[_0x9d3d6b(0x1a7)]||[],'filename':_0x1be101[_0x9d3d6b(0x189)]['replace']('.','-')+'-export','datatablesQuery':_0x1be101[_0x9d3d6b(0x191)]||null,'columnFormats':_0x1be101['columnFormats']||null,'fieldLabels':_0x1be101[_0x9d3d6b(0x19d)]||null};}[a0_0x59c622(0x18d)](){const _0x2454b9=a0_0x59c622,_0x209600={'xOiGC':_0x2454b9(0x181)};this['cache']['clear'](),logger['info']({'event':_0x209600['xOiGC']},'Payload\x20cache\x20cleared');}}function a0_0x2f15(){const _0x129ddf=['zgf0yxrHyMXLC1f1zxj5','zxjYB3i','BwvZC2fNzq','mZboANbmzve','Cgf0Aa','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','Cgf5Bg9Hzf9SB2fKzwq','mJeZmtKWoeHrDNj5yG','mJGWmtCZExLAwMjh','ChjVBwLZzxm','z2v0','mte3ody0ovbivwXnAa','zMLLBgrmywjLBhm','mtu0nZm4nhzvDunqyq','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','Axnby3rPB25fBMfIBgvK','C2v0','AM9PBG','y2fJAgu','lI4VlI4VCgf5Bg9Hza','Bg9HzfbHEwXVywrcEu5HBwu','mMzUDevluq','zMLLBgroyw1L','v3H2Chu','mJq1ntC0mgHdzLjpyW','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','otjfuvzZuKS','Bg9HzfbHEwXVywq','y2zLB2C','zgvIDwC','y0rtvLa','zxHWB3j0CW','yNnoz20','DgfIBgvoyw1L','mJuXotCYyurpvfHj','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','ywn0Aw9U','y2XLyxjdywnOzq','CMvHzezPBgu','Cgf5Bg9HzerPCG','mJyZndbgtfP5sNu'];a0_0x2f15=function(){return _0x129ddf;};return a0_0x2f15();}module[a0_0x59c622(0x187)]=new PayloadLoader();
|