@restforgejs/platform 5.0.1 → 5.0.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/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/dashboard/create.js +1 -1
- package/generators/cli/endpoint/create.js +1 -1
- package/generators/cli/processor/create.js +1 -1
- package/generators/lib/dbschema-kit/apply-executor.js +15 -1
- package/generators/lib/dbschema-kit/dialect/mysql.js +2 -0
- package/generators/lib/dbschema-kit/dialect/oracle.js +2 -0
- package/generators/lib/dbschema-kit/dialect/postgres.js +3 -0
- package/generators/lib/dbschema-kit/dialect/sqlite.js +2 -0
- package/generators/lib/dbschema-kit/emitters/alter-table.js +7 -0
- package/generators/lib/dbschema-kit/emitters/create-table.js +31 -3
- package/generators/lib/dbschema-kit/statement-modifier.js +12 -2
- package/generators/lib/migrate/migrate-runner.js +393 -393
- package/generators/lib/payload/payload-runner.js +64 -2
- package/generators/lib/payload/schema-diff.js +31 -1
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/generators/lib/utils/database-introspector.js +417 -6
- package/generators/lib/validators/argument-validator.js +2 -2
- package/integrity-manifest.json +18 -18
- package/package.json +4 -2
- 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
|
-
function
|
|
1
|
+
const a0_0x509759=a0_0x4969;function a0_0x4969(_0x3b800f,_0x2fadb9){_0x3b800f=_0x3b800f-0xf9;const _0x18649b=a0_0x1864();let _0x496934=_0x18649b[_0x3b800f];if(a0_0x4969['EJpWtI']===undefined){var _0x282cef=function(_0x155440){const _0x1e4896='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb56013='',_0xbd5ba8='';for(let _0x3121ca=0x0,_0x1a4ff1,_0x138da0,_0x11dadc=0x0;_0x138da0=_0x155440['charAt'](_0x11dadc++);~_0x138da0&&(_0x1a4ff1=_0x3121ca%0x4?_0x1a4ff1*0x40+_0x138da0:_0x138da0,_0x3121ca++%0x4)?_0xb56013+=String['fromCharCode'](0xff&_0x1a4ff1>>(-0x2*_0x3121ca&0x6)):0x0){_0x138da0=_0x1e4896['indexOf'](_0x138da0);}for(let _0x3dadea=0x0,_0x58f88d=_0xb56013['length'];_0x3dadea<_0x58f88d;_0x3dadea++){_0xbd5ba8+='%'+('00'+_0xb56013['charCodeAt'](_0x3dadea)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xbd5ba8);};a0_0x4969['ystOkF']=_0x282cef,a0_0x4969['Undzhw']={},a0_0x4969['EJpWtI']=!![];}const _0x341f22=_0x18649b[0x0],_0xc86707=_0x3b800f+_0x341f22,_0x3b18fc=a0_0x4969['Undzhw'][_0xc86707];return!_0x3b18fc?(_0x496934=a0_0x4969['ystOkF'](_0x496934),a0_0x4969['Undzhw'][_0xc86707]=_0x496934):_0x496934=_0x3b18fc,_0x496934;}function a0_0x1864(){const _0x51a742=['ntG2nhHuuujzzG','wwDurfK','nZCYodq0mhfUC3DMAW','nJHfDxHIrvC','z2v0tw9UDgG','mZntsMvIzvO','sNvkwgi','zM9YBwf0rgf0zq','mtCWmdKWmM5pvwPAza','rxjYB3iGzM9YBwf0DgLUzYbKyxrLDgLTztOG','zM9YBwf0vgLTzq','mti5mdz5yK9AAKW','sw52ywXPzcb0Aw1LihzHBhvLoIa','sw52ywXPzcb0Aw1LC3rHBxaGDMfSDwu6ia','BgvUz3rO','C3bSAxq','C3rYAw5N','ouHTvuvwvW','z2v0rNvSBfLLyxi','mtyZnZq5mevHr2XjBW','zM9YBwf0','D2fYBG','y29wBMi','qNncvM0','mtq1mdKWndruv25urhG','nLrvDLnYDa','mJmYofDMwwL2Ea','CgfKu3rHCNq','mJy2nJq4meztrvHzDq','vuH3qNG'];a0_0x1864=function(){return _0x51a742;};return a0_0x1864();}(function(_0x554700,_0x277982){const _0x6b74d5=a0_0x4969,_0x5d4f10=_0x554700();while(!![]){try{const _0x37c1d5=parseInt(_0x6b74d5(0x103))/0x1*(parseInt(_0x6b74d5(0x10b))/0x2)+-parseInt(_0x6b74d5(0xfc))/0x3*(-parseInt(_0x6b74d5(0x100))/0x4)+parseInt(_0x6b74d5(0x113))/0x5*(parseInt(_0x6b74d5(0xfb))/0x6)+-parseInt(_0x6b74d5(0x108))/0x7+-parseInt(_0x6b74d5(0x102))/0x8*(-parseInt(_0x6b74d5(0x111))/0x9)+-parseInt(_0x6b74d5(0xfe))/0xa*(parseInt(_0x6b74d5(0x105))/0xb)+-parseInt(_0x6b74d5(0xfa))/0xc;if(_0x37c1d5===_0x277982)break;else _0x5d4f10['push'](_0x5d4f10['shift']());}catch(_0x4233c9){_0x5d4f10['push'](_0x5d4f10['shift']());}}}(a0_0x1864,0x96de4));class DateTimeFormatter{static[a0_0x509759(0x114)](_0x4e0090,_0x21f761,_0x4e81cd){const _0x41fca4=a0_0x509759,_0x2fc085={'JuJXb':'date'};if(!_0x4e0090)return null;try{if(_0x4e81cd===_0x2fc085[_0x41fca4(0x106)])return this[_0x41fca4(0x107)](_0x4e0090,_0x21f761);else{if(_0x4e81cd==='timestamp')return this['formatTimestamp'](_0x4e0090,_0x21f761);else{if(_0x4e81cd==='time')return this[_0x41fca4(0x10a)](_0x4e0090,_0x21f761);}}return _0x4e0090;}catch(_0x23427c){return console['error'](_0x41fca4(0x109)+_0x23427c['message']),_0x4e0090;}}static['formatDate'](_0x2b9a21,_0x2315b8){const _0x186d6b=a0_0x509759,_0x3bce47={'BsBVm':function(_0x5bca6a,_0x287b5c){return _0x5bca6a(_0x287b5c);},'YTJVw':function(_0x4766bb,_0x19bde8){return _0x4766bb+_0x19bde8;}},_0x31f32e=new Date(_0x2b9a21);if(isNaN(_0x31f32e['getTime']()))return console[_0x186d6b(0x115)]('Invalid\x20date\x20value:\x20'+_0x2b9a21),_0x2b9a21;const _0x331d1a=_0x3bce47['BsBVm'](String,_0x31f32e['getDate']())['padStart'](0x2,'0'),_0x57965a=_0x3bce47[_0x186d6b(0xf9)](String,_0x3bce47['YTJVw'](_0x31f32e['getMonth'](),0x1))['padStart'](0x2,'0'),_0x3daffa=_0x31f32e[_0x186d6b(0x112)](),_0x3d8aa4={'dd/MM/yyyy':_0x331d1a+'/'+_0x57965a+'/'+_0x3daffa,'dd-MM-yyyy':_0x331d1a+'-'+_0x57965a+'-'+_0x3daffa,'MM/dd/yyyy':_0x57965a+'/'+_0x331d1a+'/'+_0x3daffa,'yyyy/MM/dd':_0x3daffa+'/'+_0x57965a+'/'+_0x331d1a,'yyyy-MM-dd':_0x3daffa+'-'+_0x57965a+'-'+_0x331d1a};return _0x3d8aa4[_0x2315b8]||_0x3daffa+'-'+_0x57965a+'-'+_0x331d1a;}static['formatTimestamp'](_0xebe09d,_0x1cfc96){const _0x17212c=a0_0x509759,_0x5f2401={'coVnb':function(_0x310699,_0x9c30a3){return _0x310699(_0x9c30a3);},'YgTDY':function(_0x4554fb,_0x48d775){return _0x4554fb(_0x48d775);},'UHwBx':function(_0x47f2b5,_0x291d5b){return _0x47f2b5+_0x291d5b;}},_0x39dbe1=new Date(_0xebe09d);if(isNaN(_0x39dbe1['getTime']()))return console[_0x17212c(0x115)](_0x17212c(0x10d)+_0xebe09d),_0xebe09d;const _0x47c162=_0x5f2401[_0x17212c(0x116)](String,_0x39dbe1['getDate']())['padStart'](0x2,'0'),_0x5e3f3e=_0x5f2401['YgTDY'](String,_0x5f2401[_0x17212c(0xff)](_0x39dbe1[_0x17212c(0x104)](),0x1))['padStart'](0x2,'0'),_0x2a1d4c=_0x39dbe1['getFullYear'](),_0x472b41=_0x5f2401[_0x17212c(0x101)](String,_0x39dbe1['getHours']())['padStart'](0x2,'0'),_0x2b9bce=String(_0x39dbe1['getMinutes']())[_0x17212c(0xfd)](0x2,'0'),_0x209da1=String(_0x39dbe1['getSeconds']())[_0x17212c(0xfd)](0x2,'0'),_0x43170c=_0x1cfc96['split']('\x20');if(_0x43170c[_0x17212c(0x10e)]!==0x2)return _0x2a1d4c+'-'+_0x5e3f3e+'-'+_0x47c162+'\x20'+_0x472b41+':'+_0x2b9bce+':'+_0x209da1;const _0x4c2d26=_0x43170c[0x0],_0x2a5be5=_0x43170c[0x1],_0x43edf3={'dd/MM/yyyy':_0x47c162+'/'+_0x5e3f3e+'/'+_0x2a1d4c,'dd-MM-yyyy':_0x47c162+'-'+_0x5e3f3e+'-'+_0x2a1d4c,'MM/dd/yyyy':_0x5e3f3e+'/'+_0x47c162+'/'+_0x2a1d4c,'yyyy/MM/dd':_0x2a1d4c+'/'+_0x5e3f3e+'/'+_0x47c162,'yyyy-MM-dd':_0x2a1d4c+'-'+_0x5e3f3e+'-'+_0x47c162},_0xe0ed6f={'HH:mm':_0x472b41+':'+_0x2b9bce,'HH:mm:ss':_0x472b41+':'+_0x2b9bce+':'+_0x209da1,'hh:mm':_0x472b41+':'+_0x2b9bce},_0x4439a1=_0x43edf3[_0x4c2d26]||_0x2a1d4c+'-'+_0x5e3f3e+'-'+_0x47c162,_0x43aa5c=_0xe0ed6f[_0x2a5be5]||_0x472b41+':'+_0x2b9bce+':'+_0x209da1;return _0x4439a1+'\x20'+_0x43aa5c;}static['formatTime'](_0x578123,_0x262258){const _0x550faf=a0_0x509759;if(typeof _0x578123!==_0x550faf(0x110))return _0x578123;const _0x1cb476=_0x578123[_0x550faf(0x10f)](':');if(_0x1cb476[_0x550faf(0x10e)]<0x2)return console[_0x550faf(0x115)](_0x550faf(0x10c)+_0x578123),_0x578123;const _0x2a300d=_0x1cb476[0x0][_0x550faf(0xfd)](0x2,'0'),_0x57ec90=_0x1cb476[0x1][_0x550faf(0xfd)](0x2,'0'),_0x19c7ac=_0x1cb476[0x2]?_0x1cb476[0x2][_0x550faf(0x10f)]('.')[0x0][_0x550faf(0xfd)](0x2,'0'):'00',_0x1cee6b={'HH:mm':_0x2a300d+':'+_0x57ec90,'HH:mm:ss':_0x2a300d+':'+_0x57ec90+':'+_0x19c7ac,'hh:mm':_0x2a300d+':'+_0x57ec90};return _0x1cee6b[_0x262258]||_0x2a300d+':'+_0x57ec90+':'+_0x19c7ac;}}module['exports']=DateTimeFormatter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x352963=a0_0x3786;(function(_0x13e51a,_0x397225){const _0x3e5496=a0_0x3786,_0x38d84a=_0x13e51a();while(!![]){try{const _0x40d1f2=-parseInt(_0x3e5496(0xfb))/0x1+parseInt(_0x3e5496(0xfe))/0x2+parseInt(_0x3e5496(0xf6))/0x3*(parseInt(_0x3e5496(0xfc))/0x4)+-parseInt(_0x3e5496(0x10a))/0x5*(-parseInt(_0x3e5496(0xff))/0x6)+parseInt(_0x3e5496(0x113))/0x7*(-parseInt(_0x3e5496(0x107))/0x8)+-parseInt(_0x3e5496(0x106))/0x9*(parseInt(_0x3e5496(0x103))/0xa)+parseInt(_0x3e5496(0xfd))/0xb;if(_0x40d1f2===_0x397225)break;else _0x38d84a['push'](_0x38d84a['shift']());}catch(_0x2afb27){_0x38d84a['push'](_0x38d84a['shift']());}}}(a0_0x5887,0xc06ac));class DateTimeParser{static['parse'](_0x1fcd77,_0x364982,_0x5667c1){const _0x350dff=a0_0x3786,_0x4b9c59={'AWbFx':function(_0x5b2d98,_0x1c5f58){return _0x5b2d98===_0x1c5f58;},'ApBTk':function(_0x1ca775,_0x5e7916){return _0x1ca775===_0x5e7916;}};if(!_0x1fcd77||_0x1fcd77==='')return null;try{if(_0x5667c1==='date')return this[_0x350dff(0xf8)](_0x1fcd77,_0x364982);else{if(_0x4b9c59[_0x350dff(0xf9)](_0x5667c1,_0x350dff(0x101)))return this['parseTimestamp'](_0x1fcd77,_0x364982);else{if(_0x4b9c59[_0x350dff(0x10c)](_0x5667c1,_0x350dff(0x10f)))return this['parseTime'](_0x1fcd77,_0x364982);}}return _0x1fcd77;}catch(_0x4e0586){return console['error']('Error\x20parsing\x20datetime:\x20'+_0x4e0586['message']),null;}}static[a0_0x352963(0xf8)](_0x40f5be,_0x5276fc){const _0x4ebca8=a0_0x352963,_0x5b9cc4={'rqfHT':function(_0x6ded9a,_0x28e42b){return _0x6ded9a+_0x28e42b;},'uBtfm':'yyyy-MM-dd','dQMdb':_0x4ebca8(0x108),'ChYXC':_0x4ebca8(0x109),'TvQcG':'year'};if(!_0x5276fc||_0x5276fc===_0x5b9cc4['uBtfm'])return _0x40f5be;const _0x21e3eb={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x5b9cc4[_0x4ebca8(0x105)],_0x5b9cc4['ChYXC'],'year']},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':[_0x4ebca8(0x108),_0x5b9cc4[_0x4ebca8(0x104)],_0x5b9cc4['TvQcG']]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':['month',_0x5b9cc4[_0x4ebca8(0x105)],_0x5b9cc4[_0x4ebca8(0x10b)]]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x5b9cc4['TvQcG'],_0x5b9cc4['ChYXC'],_0x5b9cc4['dQMdb']]}},_0x1a7a9c=_0x21e3eb[_0x5276fc];if(!_0x1a7a9c)return console['warn'](_0x4ebca8(0x10d)+_0x5276fc+',\x20returning\x20null'),null;const _0x1f2188=_0x40f5be['match'](_0x1a7a9c[_0x4ebca8(0x110)]);if(!_0x1f2188)return console[_0x4ebca8(0xf7)]('Date\x20value\x20\x22'+_0x40f5be+_0x4ebca8(0x102)+_0x5276fc+'\x22'),null;const _0x5cdbb4={'day':null,'month':null,'year':null};return _0x1a7a9c['order']['forEach']((_0x32447d,_0x1dddc3)=>{const _0x1878b6=_0x4ebca8;_0x5cdbb4[_0x32447d]=_0x1f2188[_0x5b9cc4[_0x1878b6(0x10e)](_0x1dddc3,0x1)];}),_0x5cdbb4[_0x4ebca8(0x114)]+'-'+_0x5cdbb4['month']+'-'+_0x5cdbb4['day'];}static[a0_0x352963(0xf2)](_0x245bfc,_0x43d569){const _0x351bbb=a0_0x352963,_0x591a18={'XOqgi':function(_0x4b162f,_0x456c92){return _0x4b162f===_0x456c92;},'mPRdP':'yyyy-MM-dd\x20HH:mm:ss','tAFfz':function(_0x20a99a,_0xcdc998){return _0x20a99a!==_0xcdc998;}};if(!_0x43d569||_0x591a18['XOqgi'](_0x43d569,_0x591a18[_0x351bbb(0x112)]))return _0x245bfc;const _0x15bc55=_0x245bfc[_0x351bbb(0xfa)]('\x20');if(_0x591a18['tAFfz'](_0x15bc55['length'],0x2))return console['warn'](_0x351bbb(0x100)+_0x245bfc),null;const [_0x526609,_0x21e554]=_0x15bc55,_0x1ccab6=_0x43d569['split']('\x20')[0x0],_0x15b3cc=this[_0x351bbb(0xf8)](_0x526609,_0x1ccab6);if(!_0x15b3cc)return null;const _0x5aa7a4=_0x21e554[_0x351bbb(0xfa)](':')[_0x351bbb(0xf4)]===0x2?_0x21e554+_0x351bbb(0xf3):_0x21e554;return _0x15b3cc+'\x20'+_0x5aa7a4;}static['parseTime'](_0x5c0ebf,_0x2285eb){const _0x10ceeb=a0_0x352963,_0x3dd2dc={'GDYCh':function(_0x1d6195,_0xec6503){return _0x1d6195===_0xec6503;},'FKhsn':'HH:mm'};if(!_0x2285eb||_0x2285eb==='HH:mm:ss')return _0x5c0ebf;if(_0x3dd2dc['GDYCh'](_0x2285eb,_0x3dd2dc[_0x10ceeb(0xf5)])){if(_0x5c0ebf['match'](/^\d{2}:\d{2}$/))return _0x5c0ebf+_0x10ceeb(0xf3);}return _0x5c0ebf;}}function a0_0x5887(){const _0x498098=['nti5ntuZB0LrBwHk','nerkCgXmta','oduWntuWoerrBxDTBG','ndG1mtrvy3j0z3i','mJu3mJu5mfrVv0LIzG','sw52ywXPzcb0Aw1LC3rHBxaGzM9YBwf0oIa','DgLTzxn0yw1W','iIbKB2vZBID0ig1HDgnOigzVCM1HDcaI','mtuWD3ryBenq','q2Hzwem','zffnzgi','mZy4nduXBgLyAvDy','mJuZodyZmND5yKXjrG','zgf5','Bw9UDgG','mtv2rxLLD3a','vhzry0C','qxbcvgS','vw5RBM93BIbKyxrLigzVCM1HDdOG','CNfMsfq','DgLTzq','Cgf0DgvYBG','zxHWB3j0CW','Bvbszfa','n1jmAeDTqW','EwvHCG','CgfYC2vuAw1LC3rHBxa','oJaW','BgvUz3rO','rKTOC24','ndK1otGXBxfwzhr0','D2fYBG','CgfYC2veyxrL','qvDIrNG','C3bSAxq'];a0_0x5887=function(){return _0x498098;};return a0_0x5887();}function a0_0x3786(_0x46e548,_0x2edf22){_0x46e548=_0x46e548-0xf2;const _0x588729=a0_0x5887();let _0x3786a5=_0x588729[_0x46e548];if(a0_0x3786['tBWCks']===undefined){var _0x291040=function(_0x5b2fcb){const _0x55b1e5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x485300='',_0x49bb05='';for(let _0x47c2d9=0x0,_0x2a2bfa,_0x22bb85,_0x56c505=0x0;_0x22bb85=_0x5b2fcb['charAt'](_0x56c505++);~_0x22bb85&&(_0x2a2bfa=_0x47c2d9%0x4?_0x2a2bfa*0x40+_0x22bb85:_0x22bb85,_0x47c2d9++%0x4)?_0x485300+=String['fromCharCode'](0xff&_0x2a2bfa>>(-0x2*_0x47c2d9&0x6)):0x0){_0x22bb85=_0x55b1e5['indexOf'](_0x22bb85);}for(let _0x2762a6=0x0,_0x20cb72=_0x485300['length'];_0x2762a6<_0x20cb72;_0x2762a6++){_0x49bb05+='%'+('00'+_0x485300['charCodeAt'](_0x2762a6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x49bb05);};a0_0x3786['OKMLYY']=_0x291040,a0_0x3786['cWzdkh']={},a0_0x3786['tBWCks']=!![];}const _0x8d989a=_0x588729[0x0],_0x4dfd80=_0x46e548+_0x8d989a,_0x4bff86=a0_0x3786['cWzdkh'][_0x4dfd80];return!_0x4bff86?(_0x3786a5=a0_0x3786['OKMLYY'](_0x3786a5),a0_0x3786['cWzdkh'][_0x4dfd80]=_0x3786a5):_0x3786a5=_0x4bff86,_0x3786a5;}module[a0_0x352963(0x111)]=DateTimeParser;
|
package/src/core/utils/db.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x40e4ea=a0_0x3f76;function a0_0x4b36(){const _0x25817e=['z3PWA1a','rejFueftu1DpuKq','CM93CW','Aw5MBW','rejFue9sva','rxjYB3iGCMvSzwfZAw5NihrYyw5Zywn0Aw9UignSAwvUDdOG','rgf0ywjHC2uGzxjYB3i6ia','sePAyxK','q0nKEMC','CgfYyw1Z','zxHWB3j0CW','C3rHCNq','yu5Nzxu','CM93q291BNq','Cg9ZDgDYzxm','sgzHteS','mJeZmZiZndrAuerIC1m','nZm2nMHPEgLpDG','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','ndjqmde','nZq3mZv2tfzMy28','u2nSCg8','wfrLCKm','Cg9YDa','u1fmievYCM9YoIa','mtKYlJe2oc4XmdaUmq','ogDgyvvyzG','otHAq2fcDLa','ihjVDW','y29UBMvJDa','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','ChvZAa','y29Kzq','mdGWmdy','mtbhsLPxsMC','A2nxDe0','uK9mtejbq0S','qvvusevoveLdqvrjt05Frvjst1i','nfHMreXetq','DLnxENG','BwvZC2fNzq','CMvSzwfZzq','ndy1mJqZogzQBvPZua','rLjjsNO','rLvvCNO','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','rgLPtgS','mJq1nJm0m1z4CK16BG','DxnLCG','y29TBwL0','BxmSia','zw52','Cg9ZDgDYzxnXBa','qNLxtNy','q3jLyxrPBMCGBMv3igrHDgfIyxnLihbVB2WGkhbYzxzPB3vZihbVB2WGD2fZignSB3nLzcK','vhjHBNnHy3rPB24GzMfPBgvKoIa','zxjYB3i','u1Lovefyx0vsuK9s','tM8Gzgf0ysbMB3vUzc4','zgjFCg9VBf9YzwnYzwf0zq','mJa5mZqXmMX1BfjHqW','BgvUz3rO','mtq2otq2yuLhuwT3','BvbgBg8'];a0_0x4b36=function(){return _0x25817e;};return a0_0x4b36();}(function(_0x1dfb68,_0x198b8b){const _0x1a1b2e=a0_0x3f76,_0x32b043=_0x1dfb68();while(!![]){try{const _0x345d28=-parseInt(_0x1a1b2e(0x116))/0x1*(parseInt(_0x1a1b2e(0xe0))/0x2)+-parseInt(_0x1a1b2e(0x101))/0x3+-parseInt(_0x1a1b2e(0xeb))/0x4*(parseInt(_0x1a1b2e(0x119))/0x5)+parseInt(_0x1a1b2e(0x103))/0x6+parseInt(_0x1a1b2e(0xef))/0x7*(-parseInt(_0x1a1b2e(0xdf))/0x8)+-parseInt(_0x1a1b2e(0xf4))/0x9*(-parseInt(_0x1a1b2e(0xe7))/0xa)+parseInt(_0x1a1b2e(0x115))/0xb;if(_0x345d28===_0x198b8b)break;else _0x32b043['push'](_0x32b043['shift']());}catch(_0x205b3d){_0x32b043['push'](_0x32b043['shift']());}}}(a0_0x4b36,0x79ae3));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger'),dbConfig={'host':process[a0_0x40e4ea(0xf8)]['DB_HOST']||a0_0x40e4ea(0xde),'port':parseInt(process['env'][a0_0x40e4ea(0x109)]||'5432'),'user':process[a0_0x40e4ea(0xf8)]['DB_USER']||a0_0x40e4ea(0x113),'password':process['env'][a0_0x40e4ea(0x106)]||'postgres1234','database':process[a0_0x40e4ea(0xf8)]['DB_NAME']||'dbxa03'};logDatabaseConfig({'host':dbConfig['host'],'port':dbConfig[a0_0x40e4ea(0xdc)],'database':dbConfig['database'],'type':a0_0x40e4ea(0xf9),'user':dbConfig[a0_0x40e4ea(0xf5)]});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x1e60de=a0_0x40e4ea,_0xc3999e={'YYXdq':_0x1e60de(0x100)};return isPoolClosed&&(logger['info']({'event':_0xc3999e['YYXdq']},_0x1e60de(0xfb)),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0xcd85c8,_0xf4eb2f=[]){const _0x4ca308=a0_0x40e4ea,_0x16baa8={'kcWtM':function(_0x1e2311){return _0x1e2311();},'aNgeu':function(_0x33af7e,_0x57c23c,_0x562a65,_0x4b939b){return _0x33af7e(_0x57c23c,_0x562a65,_0x4b939b);}},_0x263394=_0x16baa8[_0x4ca308(0xe8)](startQueryTimer);try{const _0x5e695e=_0x16baa8['kcWtM'](getPool),_0x10b48e=await _0x5e695e['connect']();try{const _0x3643f5=await _0x10b48e['query'](_0xcd85c8,_0xf4eb2f),_0x478c50=_0x263394();return _0x16baa8[_0x4ca308(0x111)](logQuery,_0xcd85c8,_0xf4eb2f,{'duration':_0x478c50,'rowsAffected':_0x3643f5['rowCount'],'dbType':'postgresql'}),_0x3643f5[_0x4ca308(0x107)];}finally{_0x10b48e['release']();}}catch(_0x2b37a5){const _0x2f537f=_0x263394();logError(_0x2b37a5,{'event':'sql_error','query':_0xcd85c8['substring'](0x0,0x1f4),'paramCount':_0xf4eb2f[_0x4ca308(0x102)],'durationMs':_0x2f537f,'code':_0x2b37a5['code'],'dbType':_0x4ca308(0xf9)},_0x4ca308(0xdd)+_0x2b37a5['message']);throw _0x2b37a5;}}function a0_0x3f76(_0x1a0cf5,_0x2dc685){_0x1a0cf5=_0x1a0cf5-0xdb;const _0x4b36b9=a0_0x4b36();let _0x3f76d5=_0x4b36b9[_0x1a0cf5];if(a0_0x3f76['bmMLqC']===undefined){var _0x5a5c26=function(_0x3f8f61){const _0x202907='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x37ff6e='',_0x5d471d='';for(let _0x1f9735=0x0,_0x438e54,_0x438764,_0x30c76c=0x0;_0x438764=_0x3f8f61['charAt'](_0x30c76c++);~_0x438764&&(_0x438e54=_0x1f9735%0x4?_0x438e54*0x40+_0x438764:_0x438764,_0x1f9735++%0x4)?_0x37ff6e+=String['fromCharCode'](0xff&_0x438e54>>(-0x2*_0x1f9735&0x6)):0x0){_0x438764=_0x202907['indexOf'](_0x438764);}for(let _0x1a26ac=0x0,_0x2e81aa=_0x37ff6e['length'];_0x1a26ac<_0x2e81aa;_0x1a26ac++){_0x5d471d+='%'+('00'+_0x37ff6e['charCodeAt'](_0x1a26ac)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5d471d);};a0_0x3f76['DxCWyl']=_0x5a5c26,a0_0x3f76['UAYMci']={},a0_0x3f76['bmMLqC']=!![];}const _0x45fe5f=_0x4b36b9[0x0],_0x1516ea=_0x1a0cf5+_0x45fe5f,_0x2646ef=a0_0x3f76['UAYMci'][_0x1516ea];return!_0x2646ef?(_0x3f76d5=a0_0x3f76['DxCWyl'](_0x3f76d5),a0_0x3f76['UAYMci'][_0x1516ea]=_0x3f76d5):_0x3f76d5=_0x2646ef,_0x3f76d5;}function formatResponse(_0x4e20e1,_0x3a4107=null){const _0xea7216=a0_0x40e4ea,_0x27829a={'ByWNv':'UNKNOWN_ERROR','HJZay':function(_0x20604a,_0x5c1cf8){return _0x20604a===_0x5c1cf8;},'FUUrz':_0xea7216(0x118),'SUmmw':'08001','yrfpH':_0xea7216(0xff)};if(_0x3a4107){let _0x268baf=_0x27829a[_0xea7216(0xfa)];if(_0x3a4107[_0xea7216(0xed)]['includes']('syntax\x20error'))_0x268baf=_0xea7216(0xfe);else{if(_0x27829a[_0xea7216(0x10c)](_0x3a4107['code'],_0x27829a[_0xea7216(0xf1)]))_0x268baf='TABLE_NOT_FOUND';else{if(_0x27829a[_0xea7216(0x10c)](_0x3a4107[_0xea7216(0xe5)],'28P01'))_0x268baf=_0xea7216(0xea);else(_0x3a4107['code']===_0xea7216(0xe6)||_0x3a4107[_0xea7216(0xe5)]===_0x27829a['SUmmw'])&&(_0x268baf='CONNECTION_ERROR');}}return{'success':![],'message':_0xea7216(0x10b)+_0x3a4107['message'],'count':-0x1,'error_code':_0x268baf};}else{if(!_0x4e20e1||_0x4e20e1[_0xea7216(0x102)]===0x0)return{'success':!![],'message':_0x27829a['yrfpH'],'count':0x0,'data':[]};return{'success':!![],'message':'Query\x20returned\x20'+_0x4e20e1['length']+_0xea7216(0xe1)+(_0x4e20e1[_0xea7216(0x102)]===0x1?'':'s')+'.','count':_0x4e20e1[_0xea7216(0x102)],'data':_0x4e20e1};}}async function closePool(){const _0x535195=a0_0x40e4ea,_0x11f43b={'vSWzx':'Database\x20pool\x20closed\x20successfully','BmpEY':function(_0x51e385,_0x2c79f6,_0x44b1c9,_0x42de73){return _0x51e385(_0x2c79f6,_0x44b1c9,_0x42de73);},'UPQUu':'db_pool_close_error','XTerC':'db_pool_already_closed','buefm':'Database\x20pool\x20was\x20already\x20closed'};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger[_0x535195(0x108)]({'event':'db_pool_closed'},_0x11f43b[_0x535195(0xec)]);}catch(_0xa740c8){_0x11f43b['BmpEY'](logError,_0xa740c8,{'event':_0x11f43b['UPQUu']},_0x535195(0xe3)+_0xa740c8[_0x535195(0xed)]);}else logger['debug']({'event':_0x11f43b[_0x535195(0xdb)]},_0x11f43b['buefm']);}async function checkConnection(){const _0x30f695=a0_0x40e4ea,_0x549fcd={'vwRHw':'db_connection_check_error'};try{const _0x3cb032=getPool(),_0x41cc7f=await _0x3cb032[_0x30f695(0xe2)]();try{return await _0x41cc7f['query']('SELECT\x201'),!![];}finally{_0x41cc7f[_0x30f695(0xee)]();}}catch(_0x780c0a){return logError(_0x780c0a,{'event':_0x549fcd['vwRHw']},_0x30f695(0xf2)+_0x780c0a[_0x30f695(0xed)]),![];}}async function executeTransaction(_0x421a30){const _0x576f13=a0_0x40e4ea,_0x8fee5f={'mPFlo':function(_0x17fa8e){return _0x17fa8e();},'CCdzg':function(_0x214640,_0x46370e,_0x467e2d,_0x2d842c){return _0x214640(_0x46370e,_0x467e2d,_0x2d842c);},'DiiLk':'postgresql','FRIJz':'COMMIT','gzpkP':function(_0x172cc5,_0x58d668,_0x2c6938){return _0x172cc5(_0x58d668,_0x2c6938);},'bIGtS':'transaction_error','HfaLK':_0x576f13(0xe9),'ePvjM':'rollback_error','Sclpo':'client_release_error'};let _0x1285a5;const _0x3eebd7=startQueryTimer();try{const _0x2622f3=getPool();_0x1285a5=await _0x2622f3[_0x576f13(0xe2)](),logTransaction(_0x576f13(0x110),_0x421a30[_0x576f13(0x102)]),await _0x1285a5['query']('BEGIN');const _0xe4a4af=[];for(const _0x4e7131 of _0x421a30){const _0x292569=_0x8fee5f['mPFlo'](startQueryTimer),_0x407555=await _0x1285a5['query'](_0x4e7131['sql'],_0x4e7131[_0x576f13(0x10e)]||[]),_0x2a441c=_0x8fee5f['mPFlo'](_0x292569);_0x8fee5f[_0x576f13(0x10d)](logQuery,_0x4e7131['sql'],_0x4e7131['params']||[],{'duration':_0x2a441c,'rowsAffected':_0x407555[_0x576f13(0x112)],'dbType':_0x8fee5f['DiiLk']}),_0xe4a4af[_0x576f13(0xe4)](_0x407555['rows']);}await _0x1285a5['query'](_0x8fee5f[_0x576f13(0xf0)]);const _0x46f199=_0x8fee5f[_0x576f13(0x104)](_0x3eebd7);return _0x8fee5f[_0x576f13(0x105)](logTransaction,_0x576f13(0xf6),_0x421a30['length']),logger['info']({'event':'transaction_complete','queryCount':_0x421a30['length'],'totalDurationMs':_0x46f199,'dbType':_0x576f13(0xf9)},_0x576f13(0x117)+_0x46f199+_0x576f13(0xf7)+_0x421a30['length']+'\x20queries)'),_0xe4a4af;}catch(_0xd0613b){const _0x1ce413=_0x8fee5f[_0x576f13(0x104)](_0x3eebd7);_0x8fee5f['CCdzg'](logError,_0xd0613b,{'event':_0x8fee5f['bIGtS'],'queryCount':_0x421a30['length'],'totalDurationMs':_0x1ce413,'code':_0xd0613b[_0x576f13(0xe5)],'dbType':_0x8fee5f[_0x576f13(0xf3)]},_0x576f13(0xfc)+_0xd0613b['message']);if(_0x1285a5)try{await _0x1285a5['query'](_0x8fee5f[_0x576f13(0x114)]),logTransaction('rollback',_0x421a30['length']);}catch(_0x8c9379){_0x8fee5f[_0x576f13(0x10d)](logError,_0x8c9379,{'event':_0x8fee5f['ePvjM'],'dbType':'postgresql'},'Error\x20rolling\x20back\x20transaction:\x20'+_0x8c9379['message']);}throw _0xd0613b;}finally{if(_0x1285a5)try{_0x1285a5['release']();}catch(_0x544a4d){logger[_0x576f13(0xfd)]({'event':_0x8fee5f[_0x576f13(0x11a)],'error':_0x544a4d[_0x576f13(0xed)],'dbType':'postgresql'},_0x576f13(0x10a)+_0x544a4d['message']);}}}module[a0_0x40e4ea(0x10f)]={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
|
|
1
|
+
const a0_0x73225d=a0_0x2f06;function a0_0x5f14(){const _0x4f7c77=['mtKYlJe2oc4XmdaUmq','CM93q291BNq','nda3DgrZqK5u','su1Qzem','mtaXmgLUv3DXra','qMz5vLe','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','ndjqmde','EM9Vs1i','CM9SBgjHy2TFzxjYB3i','u1fmievYCM9YoIa','z2Duwvy','C3fS','mZaZodiWtuXKv1bV','mJK1yu9nEMnb','zw52','Aw5JBhvKzxm','CM93CW','Cg9ZDgDYzxnXBa','mdGWmde','Cu5lqMW','CMfkEgy','rejFue9sva','Cg9ZDgDYzxm','CgfYyw1Z','rejFse9tva','werLvKG','y29UBMvJDa','DhjHBNnHy3rPB25Fy29TCgXLDgu','ndK0ndmWnhDNufzHsa','zgj4ytaZ','lI9SB2DNzxi','zgjFCg9VBf9JBg9Zzv9LCNjVCG','mZa5mZe4A013vwn0','Ag9ZDa','vefctevFtK9ux0zpvu5e','CMvSzwfZzq','ote2mJa5EfLKuKv4','rgf0ywjHC2uGCg9VBcbJBg9ZzwqGC3vJy2vZC2z1BgX5','BgvUz3rO','Aw5MBW','Ae1Pu3K','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','C3rHCNq','u1Lovefyx0vsuK9s','CxvLCNK','y2XPzw50x3jLBgvHC2vFzxjYB3i','zgjFCg9VBf9YzwnYzwf0zq','mJrqwxzwswO','mZiYmtG5vwTrugjg','mJHqmde','qNHvz1i','y29Kzq','ihjVDW','BxmSia','BwvZC2fNzq','zgjFCg9VBf9HBhjLywr5x2nSB3nLza','ntKWntbrq0XcAvO','zgjFCg9VBf9JBg9Zzwq','mJrnDwT4DNO','r0vYAue','uxvLCNKGCMv0DxjUzwqG','C3D0v1G','BLj6tLy'];a0_0x5f14=function(){return _0x4f7c77;};return a0_0x5f14();}(function(_0x1f0ba1,_0x39a7f8){const _0x2a96dd=a0_0x2f06,_0x5a0178=_0x1f0ba1();while(!![]){try{const _0x216298=parseInt(_0x2a96dd(0x170))/0x1*(-parseInt(_0x2a96dd(0x166))/0x2)+-parseInt(_0x2a96dd(0x183))/0x3*(parseInt(_0x2a96dd(0x15d))/0x4)+parseInt(_0x2a96dd(0x16f))/0x5+parseInt(_0x2a96dd(0x152))/0x6*(parseInt(_0x2a96dd(0x153))/0x7)+parseInt(_0x2a96dd(0x17f))/0x8+parseInt(_0x2a96dd(0x187))/0x9+-parseInt(_0x2a96dd(0x15b))/0xa*(-parseInt(_0x2a96dd(0x164))/0xb);if(_0x216298===_0x39a7f8)break;else _0x5a0178['push'](_0x5a0178['shift']());}catch(_0x270f62){_0x5a0178['push'](_0x5a0178['shift']());}}}(a0_0x5f14,0x65761));function a0_0x2f06(_0x270fb5,_0x35e1a5){_0x270fb5=_0x270fb5-0x14c;const _0x5f14be=a0_0x5f14();let _0x2f0679=_0x5f14be[_0x270fb5];if(a0_0x2f06['YftedM']===undefined){var _0x53d1b7=function(_0x16c94a){const _0x2a3c27='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x51d867='',_0x108b8f='';for(let _0x3532e2=0x0,_0x397679,_0x44db4d,_0x37906d=0x0;_0x44db4d=_0x16c94a['charAt'](_0x37906d++);~_0x44db4d&&(_0x397679=_0x3532e2%0x4?_0x397679*0x40+_0x44db4d:_0x44db4d,_0x3532e2++%0x4)?_0x51d867+=String['fromCharCode'](0xff&_0x397679>>(-0x2*_0x3532e2&0x6)):0x0){_0x44db4d=_0x2a3c27['indexOf'](_0x44db4d);}for(let _0x5e28cf=0x0,_0x122e71=_0x51d867['length'];_0x5e28cf<_0x122e71;_0x5e28cf++){_0x108b8f+='%'+('00'+_0x51d867['charCodeAt'](_0x5e28cf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x108b8f);};a0_0x2f06['YeNZTQ']=_0x53d1b7,a0_0x2f06['REhpyQ']={},a0_0x2f06['YftedM']=!![];}const _0xd2b6f1=_0x5f14be[0x0],_0x83c897=_0x270fb5+_0xd2b6f1,_0x43ccf2=a0_0x2f06['REhpyQ'][_0x83c897];return!_0x43ccf2?(_0x2f0679=a0_0x2f06['YeNZTQ'](_0x2f0679),a0_0x2f06['REhpyQ'][_0x83c897]=_0x2f0679):_0x2f0679=_0x43ccf2,_0x2f0679;}const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x73225d(0x181)),dbConfig={'host':process[a0_0x73225d(0x171)][a0_0x73225d(0x17b)]||a0_0x73225d(0x162),'port':parseInt(process['env'][a0_0x73225d(0x178)]||'5432'),'user':process[a0_0x73225d(0x171)]['DB_USER']||a0_0x73225d(0x179),'password':process['env']['DB_PASSWORD']||'postgres1234','database':process[a0_0x73225d(0x171)]['DB_NAME']||a0_0x73225d(0x180)};logDatabaseConfig({'host':dbConfig[a0_0x73225d(0x184)],'port':dbConfig['port'],'database':dbConfig['database'],'type':a0_0x73225d(0x174),'user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x45ef9a=a0_0x73225d,_0x2bb2ac={'qNKBl':_0x45ef9a(0x151)};return isPoolClosed&&(logger['info']({'event':_0x2bb2ac[_0x45ef9a(0x176)]},'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x3bc64b,_0x505c34=[]){const _0x4efa32=a0_0x73225d,_0x28c31e={'BxUgR':function(_0x2c257d){return _0x2c257d();},'ilGFm':function(_0x264273,_0x574bef,_0x3e11df,_0x2abda6){return _0x264273(_0x574bef,_0x3e11df,_0x2abda6);},'HnlMw':function(_0x418f91,_0x14859e,_0x447b32,_0x3bbec9){return _0x418f91(_0x14859e,_0x447b32,_0x3bbec9);},'HvEmi':'sql_error'},_0x3015b4=startQueryTimer();try{const _0x594f44=_0x28c31e['BxUgR'](getPool),_0x1eb8eb=await _0x594f44[_0x4efa32(0x17d)]();try{const _0x47bae5=await _0x1eb8eb['query'](_0x3bc64b,_0x505c34),_0x3f6077=_0x28c31e[_0x4efa32(0x155)](_0x3015b4);return _0x28c31e['ilGFm'](logQuery,_0x3bc64b,_0x505c34,{'duration':_0x3f6077,'rowsAffected':_0x47bae5[_0x4efa32(0x163)],'dbType':'postgresql'}),_0x47bae5['rows'];}finally{_0x1eb8eb[_0x4efa32(0x186)]();}}catch(_0x3c828a){const _0x1187d7=_0x28c31e['BxUgR'](_0x3015b4);_0x28c31e['HnlMw'](logError,_0x3c828a,{'event':_0x28c31e['HvEmi'],'query':_0x3bc64b['substring'](0x0,0x1f4),'paramCount':_0x505c34['length'],'durationMs':_0x1187d7,'code':_0x3c828a[_0x4efa32(0x156)],'dbType':'postgresql'},_0x4efa32(0x16c)+_0x3c828a[_0x4efa32(0x159)]);throw _0x3c828a;}}function formatResponse(_0x21255b,_0x2f4bf0=null){const _0x45626c=a0_0x73225d,_0x32a11e={'BfyVQ':'syntax\x20error','CWagO':_0x45626c(0x14e),'hMiSy':function(_0x212c1c,_0xb778a){return _0x212c1c===_0xb778a;},'vryrQ':function(_0x33d05a,_0x36e34c){return _0x33d05a===_0x36e34c;},'lFfft':function(_0x13ad5d,_0x4f656b){return _0x13ad5d===_0x4f656b;},'IMjdC':'CONNECTION_ERROR'};if(_0x2f4bf0){let _0x4ee2bb='UNKNOWN_ERROR';if(_0x2f4bf0['message'][_0x45626c(0x172)](_0x32a11e[_0x45626c(0x167)]))_0x4ee2bb=_0x32a11e['CWagO'];else{if(_0x32a11e[_0x45626c(0x18b)](_0x2f4bf0[_0x45626c(0x156)],_0x45626c(0x169)))_0x4ee2bb=_0x45626c(0x185);else{if(_0x32a11e['vryrQ'](_0x2f4bf0['code'],_0x45626c(0x154)))_0x4ee2bb='AUTHENTICATION_ERROR';else(_0x32a11e['lFfft'](_0x2f4bf0['code'],'08006')||_0x32a11e['hMiSy'](_0x2f4bf0[_0x45626c(0x156)],_0x45626c(0x175)))&&(_0x4ee2bb=_0x32a11e[_0x45626c(0x165)]);}}return{'success':![],'message':'Database\x20error:\x20'+_0x2f4bf0['message'],'count':-0x1,'error_code':_0x4ee2bb};}else{if(!_0x21255b||_0x21255b[_0x45626c(0x189)]===0x0)return{'success':!![],'message':'No\x20data\x20found.','count':0x0,'data':[]};return{'success':!![],'message':_0x45626c(0x15f)+_0x21255b[_0x45626c(0x189)]+_0x45626c(0x157)+(_0x32a11e['lFfft'](_0x21255b[_0x45626c(0x189)],0x1)?'':'s')+'.','count':_0x21255b[_0x45626c(0x189)],'data':_0x21255b};}}async function closePool(){const _0x4639a1=a0_0x73225d,_0xfd8038={'XDeVH':_0x4639a1(0x188),'bSjTm':_0x4639a1(0x182)};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger[_0x4639a1(0x18a)]({'event':_0x4639a1(0x15c)},_0xfd8038[_0x4639a1(0x17c)]);}catch(_0x3776d1){logError(_0x3776d1,{'event':_0xfd8038['bSjTm']},'Error\x20closing\x20database\x20pool:\x20'+_0x3776d1[_0x4639a1(0x159)]);}else logger['debug']({'event':_0x4639a1(0x15a)},'Database\x20pool\x20was\x20already\x20closed');}async function checkConnection(){const _0x1d3a4e=a0_0x73225d,_0x59937f={'BoEmI':function(_0x1e723c,_0x4152be,_0x37be31,_0x40a3a1){return _0x1e723c(_0x4152be,_0x37be31,_0x40a3a1);},'nRzNV':'db_connection_check_error'};try{const _0x48601a=getPool(),_0x4cce86=await _0x48601a[_0x1d3a4e(0x17d)]();try{return await _0x4cce86[_0x1d3a4e(0x14f)]('SELECT\x201'),!![];}finally{_0x4cce86[_0x1d3a4e(0x186)]();}}catch(_0x52b3b7){return _0x59937f['BoEmI'](logError,_0x52b3b7,{'event':_0x59937f[_0x1d3a4e(0x161)]},_0x1d3a4e(0x168)+_0x52b3b7[_0x1d3a4e(0x159)]),![];}}async function executeTransaction(_0x2802c4){const _0x14b100=a0_0x73225d,_0x42fd53={'LsgiV':function(_0x30f35c){return _0x30f35c();},'ggTYV':function(_0x57cace,_0xe757a3,_0x49a04f){return _0x57cace(_0xe757a3,_0x49a04f);},'GEriA':_0x14b100(0x14d),'QiBWT':function(_0x61c4a4,_0x364c7f,_0x4541fb,_0x43cc0b){return _0x61c4a4(_0x364c7f,_0x4541fb,_0x43cc0b);},'UaRDs':_0x14b100(0x174),'xCkdz':'COMMIT','VODju':function(_0x4b7553){return _0x4b7553();},'wclTL':function(_0xfd89fc,_0x400d98,_0x162ad7){return _0xfd89fc(_0x400d98,_0x162ad7);},'zooKR':_0x14b100(0x17e),'raJxf':function(_0x2e752){return _0x2e752();},'swtWX':'transaction_error','RfpHp':_0x14b100(0x16b),'GbOrf':_0x14b100(0x150)};let _0xcf11fe;const _0x1949ec=_0x42fd53['LsgiV'](startQueryTimer);try{const _0x1895a1=getPool();_0xcf11fe=await _0x1895a1[_0x14b100(0x17d)](),_0x42fd53[_0x14b100(0x16d)](logTransaction,_0x42fd53[_0x14b100(0x15e)],_0x2802c4['length']),await _0xcf11fe['query']('BEGIN');const _0xbbac0e=[];for(const _0x54066b of _0x2802c4){const _0x18eba2=startQueryTimer(),_0x5bbc7b=await _0xcf11fe['query'](_0x54066b[_0x14b100(0x16e)],_0x54066b[_0x14b100(0x17a)]||[]),_0xc2a251=_0x18eba2();_0x42fd53['QiBWT'](logQuery,_0x54066b[_0x14b100(0x16e)],_0x54066b[_0x14b100(0x17a)]||[],{'duration':_0xc2a251,'rowsAffected':_0x5bbc7b[_0x14b100(0x163)],'dbType':_0x42fd53['UaRDs']}),_0xbbac0e['push'](_0x5bbc7b[_0x14b100(0x173)]);}await _0xcf11fe[_0x14b100(0x14f)](_0x42fd53['xCkdz']);const _0x1c21f2=_0x42fd53['VODju'](_0x1949ec);return _0x42fd53['wclTL'](logTransaction,'commit',_0x2802c4['length']),logger[_0x14b100(0x18a)]({'event':_0x42fd53[_0x14b100(0x16a)],'queryCount':_0x2802c4[_0x14b100(0x189)],'totalDurationMs':_0x1c21f2,'dbType':'postgresql'},_0x14b100(0x14c)+_0x1c21f2+_0x14b100(0x158)+_0x2802c4['length']+'\x20queries)'),_0xbbac0e;}catch(_0x13b739){const _0x2a6808=_0x42fd53[_0x14b100(0x177)](_0x1949ec);logError(_0x13b739,{'event':_0x42fd53[_0x14b100(0x160)],'queryCount':_0x2802c4[_0x14b100(0x189)],'totalDurationMs':_0x2a6808,'code':_0x13b739['code'],'dbType':_0x14b100(0x174)},'Transaction\x20failed:\x20'+_0x13b739[_0x14b100(0x159)]);if(_0xcf11fe)try{await _0xcf11fe[_0x14b100(0x14f)]('ROLLBACK'),_0x42fd53['ggTYV'](logTransaction,'rollback',_0x2802c4['length']);}catch(_0x2de0a5){logError(_0x2de0a5,{'event':_0x42fd53['RfpHp'],'dbType':_0x42fd53['UaRDs']},'Error\x20rolling\x20back\x20transaction:\x20'+_0x2de0a5['message']);}throw _0x13b739;}finally{if(_0xcf11fe)try{_0xcf11fe[_0x14b100(0x186)]();}catch(_0x448fe5){logger['error']({'event':_0x42fd53['GbOrf'],'error':_0x448fe5[_0x14b100(0x159)],'dbType':_0x42fd53['UaRDs']},'Error\x20releasing\x20transaction\x20client:\x20'+_0x448fe5[_0x14b100(0x159)]);}}}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_0x5c80d2=a0_0x4f21;function a0_0x8952(){const _0x5bfc32=['zw52AxjVBM1LBNq','y3z2','ChjPDMf0zv9RzxK','Cg9YDa','oI8V','mtqWzvnSzfPN','Ag9ZDa','ChjVAMvJDf9SB2fKzwq','zLLez1K','Bwv0Ag9K','EKDRD2G','zMf0ywW','zhjjsem','zKz6ruS','tK9erv9ftLy','mtmYAw9gt0rQ','CgLK','D2fYBG','rgf0ywjHC2u6ia','ChjVAMvJDa','zxjYB3i','wLzAt2e','v21TChG','BMfTzq','mtiXodyWsfv5r3v3','Ahr0Cf9Yzxf1zxn0','Bwf0y2G','C2jvC04','q0nPAfa','re5fy2e','C0X0y3a','y3jLzgL0x2nHCMq','yxbPx2TLEq','rvLuDg8','C2vJCMv0','w1jfrefdvevexq','n3HLCwn3vW','y29UzMLNrMLSzq','zxjYB3iUBg9N','Bw9KDwXL','AgvHzgvYCW','DLnmte8','mJq3odaZvNH2wLPv','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','DgvZDa','uePUzeW','zgv2zwXVCg1LBNq','rermx0fmvevs','Bg9N','ChjVy2vZC193yxjUAw5N','Aw5JBhvKzxm','D3jPDgu','rxjYB3i','CgLUBY1WCMv0DhK','rKfuquW6ia','y3jLyxrLv3jPDgvtDhjLyw0','C2vYDMvYx3jLywr5','q3f5sgm','te9hx1rpx0zjteu','Dw5JyxvNAhrfEgnLChrPB24','C3rHCNrZv2L0Aa','C3fSx3f1zxj5','yM9KEq','C3rHDhvZq29Kzq','B3jPz2LUywXvCMW','wNr5zuK','zw52','C29Tzq','E21Zz30','icbjBMzVoIaGia','C3bSAxq','sfDcsgO','rKrxDe0','mZa0mtCZEwPntgnz','rKrKCvG','CMXHELu','mJm0mdeYnKnltgvdEq','Aw1sB2e','sfruuca','icdIHPiG','u0vsvKLdrv9oqu1f','zxHPDa','DxnLCI1Hz2vUDa','suv1B2q','Aw5MBW','C3rYAw5NAwz5','ywnJzxnZx3rVA2vU','yMfZzvvYBa','zfnwuLi','iokvKqRILzeGifbVCNqGicaGicaGidOG','D2fYBMLUzW','CMvZDgzVCMDL','te9hx0rjuG','z2v0sgvHzgvYCW','t1L2DuS','yxbPx3nLy3jLDa','Dg9ju09tDhjPBMC','q1jjveLdquW','y2HPBgq','AxnVvgLTzq','lI9SB2DZ','r2PLEui','zgjFCxvLCNK','iokvKqRILzeGienVBMzPzYaGicaGidOG','icbizwfSDgG6ia','sgThseS','ufnfAK4','u1rbuLqGvfjbtLnbq1rjt04','ChDK','C3rYAw5N','r0LhAeO','v0TNwem','Dg9gAxHLza','uK9mtejbq0S','vfjbtLnbq1rjt05FqKvhsu4','u05kvNa','BLzgy28','zgvIDwC','ChjPDMf0zwTLEq','mJu4mdiWCvrrCu1w','ifTtte9xxq','mZe3otqYnezRDhvKuG','Dg9mB3DLCKnHC2u','A2v5CW','AeL2D0e','Cg9ZDgDYzxnXBa','u2vYDMvYihn0yxj0Aw5NoIa','r0HZywS','q09ntuLu','Ec1Yzxf1zxn0lwLK','B3rOuei','DxjS','ic0G','revmrvrf','wMfey1y','y3jLzgvUDgLHBhm','yKPWD1i','qunusvzf','C3rKvgLTzuz1BMn0Aw9UCW','zgf0ywjHC2u','BxmP','m2DUy3DmDW','w1jfrefdveveoMHHC2HD','Dg9Rzw4','zxDiENm','rgvMyxvSDa','w1jfrefdveveoNrVA2vUxq','tK9uiefdveLwrq','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','y29Kzq','C3nU','yxv0Ag9YAxPHDgLVBG','icbvuKW6icaGia','C3rKu2vYAwfSAxPLCNm','DhjPBq','B3rW','zw5KCg9PBNrFCMvNAxn0zxjLza','CgLU','AKvRse0','BwvTB3j5vxnHz2u','zgf0ywjHC2vFy29UzMLN','vgfVBMO','u1fmx0Xpr19qqvjbtvm','DhLWzq','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','s3H6vwe','C3rHDhvZ','ngrSAMLkwG','BwfW','CMvMCMvZAf90B2TLBG','BwvZC2fNzq','C3rHy2S','Cgf0Aa','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','CgfZC3DK','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BwrZrxy','CgfKrw5K','mJmZmtK4vwnyANzS','DMjtDw4','zxHPC3rZu3LUyW','DNfAtw0'];a0_0x8952=function(){return _0x5bfc32;};return a0_0x8952();}(function(_0x8376e6,_0x53e99b){const _0x33334a=a0_0x4f21,_0x2ab90d=_0x8376e6();while(!![]){try{const _0x4db9d7=parseInt(_0x33334a(0x1ca))/0x1*(-parseInt(_0x33334a(0x1ef))/0x2)+-parseInt(_0x33334a(0x167))/0x3*(-parseInt(_0x33334a(0x1e4))/0x4)+-parseInt(_0x33334a(0x1b4))/0x5+parseInt(_0x33334a(0x189))/0x6*(parseInt(_0x33334a(0x161))/0x7)+-parseInt(_0x33334a(0x1b6))/0x8+-parseInt(_0x33334a(0x186))/0x9*(-parseInt(_0x33334a(0x1f8))/0xa)+parseInt(_0x33334a(0x14c))/0xb*(parseInt(_0x33334a(0x155))/0xc);if(_0x4db9d7===_0x53e99b)break;else _0x2ab90d['push'](_0x2ab90d['shift']());}catch(_0x3f5407){_0x2ab90d['push'](_0x2ab90d['shift']());}}}(a0_0x8952,0x41a0b));const pino=require('pino'),fs=require('fs'),path=require(a0_0x5c80d2(0x1e9));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x5c80d2(0x181),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0x5c80d2(0x17f)]['NODE_ENV']!=='production',logLevel=process['env']['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x5c80d2(0x172),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x5c80d2(0x198),'version':process['env']['APP_VERSION']||'1.0.5','env':process[a0_0x5c80d2(0x17f)][a0_0x5c80d2(0x201)]||a0_0x5c80d2(0x16b)},'timestamp':pino[a0_0x5c80d2(0x1c7)][a0_0x5c80d2(0x1a0)],'redact':{'paths':[a0_0x5c80d2(0x1d1),'req.headers[\x22x-api-key\x22]','password','token','apiKey','DB_PASSWORD','JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0x12c591=>({'id':_0x12c591['id'],'method':_0x12c591[a0_0x5c80d2(0x1fc)],'url':_0x12c591['url'],'path':_0x12c591[a0_0x5c80d2(0x1e9)],'remoteAddress':_0x12c591['ip']||_0x12c591['connection']?.['remoteAddress']}),'res':_0x33fa40=>({'statusCode':_0x33fa40[a0_0x5c80d2(0x17c)],'headers':_0x33fa40[a0_0x5c80d2(0x19a)]?.()}),'err':pino[a0_0x5c80d2(0x1d6)]['err']}});function initFileLogging(){const _0xcebd1a=a0_0x5c80d2,_0x4d9d55={'WKgXC':'true','IEuod':_0xcebd1a(0x1a1),'GIGhJ':_0xcebd1a(0x198),'DAtIO':'false','dSVRR':_0xcebd1a(0x163),'XkrKM':'file_logging_enabled','ZaDcV':'app.log'};if(fileLoggingInitialized)return;logToFile=process['env'][_0xcebd1a(0x177)]===_0x4d9d55[_0xcebd1a(0x1ac)],logDir=process[_0xcebd1a(0x17f)][_0xcebd1a(0x199)]||_0x4d9d55[_0xcebd1a(0x190)],serviceName=process[_0xcebd1a(0x17f)][_0xcebd1a(0x18d)]||_0x4d9d55[_0xcebd1a(0x1ab)],sqlLogEnabled=process['env']['SQL_LOG_ENABLED']===_0x4d9d55['WKgXC'],sqlLogLevel=process['env']['SQL_LOG_LEVEL']||'debug',sqlLogParams=process['env'][_0xcebd1a(0x1df)]!==_0x4d9d55['DAtIO'],sqlLogSlowThreshold=parseInt(process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x37d030=path['resolve'](process['cwd'](),logDir);try{!fs[_0xcebd1a(0x1f1)](_0x37d030)&&fs['mkdirSync'](_0x37d030,{'recursive':!![]});}catch(_0x2d1b1e){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x37d030+':',_0x2d1b1e['message']),fileLoggingInitialized=!![];return;}const _0x24d546=path['join'](_0x37d030,'app.log'),_0x4106d6=path['join'](_0x37d030,_0x4d9d55[_0xcebd1a(0x195)]);try{appLogStream=fs[_0xcebd1a(0x174)](_0x24d546,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x4106d6,{'flags':'a'}),fileLoggingInitialized=!![];const _0xb2a56d={'event':_0x4d9d55['XkrKM'],'logDir':_0x37d030,'files':[_0x4d9d55[_0xcebd1a(0x1c3)],_0x4d9d55['dSVRR']]},_0x53653d='File\x20logging\x20enabled:\x20'+_0x37d030;logger[_0xcebd1a(0x191)](_0xb2a56d,_0x53653d),writeToFileLog({..._0xb2a56d,'level':_0xcebd1a(0x191),'msg':_0x53653d,'time':new Date()['toISOString']()},_0xcebd1a(0x191));}catch(_0x1f56be){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x1f56be['message']),fileLoggingInitialized=!![];}}function a0_0x4f21(_0x38e102,_0x1743ab){_0x38e102=_0x38e102-0x14c;const _0x89526e=a0_0x8952();let _0x4f21d3=_0x89526e[_0x38e102];if(a0_0x4f21['lxiaWC']===undefined){var _0x91f11d=function(_0x129847){const _0x4eff57='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x29241b='',_0x40564d='';for(let _0x351d9f=0x0,_0x3379cc,_0x1ecef4,_0x5f304c=0x0;_0x1ecef4=_0x129847['charAt'](_0x5f304c++);~_0x1ecef4&&(_0x3379cc=_0x351d9f%0x4?_0x3379cc*0x40+_0x1ecef4:_0x1ecef4,_0x351d9f++%0x4)?_0x29241b+=String['fromCharCode'](0xff&_0x3379cc>>(-0x2*_0x351d9f&0x6)):0x0){_0x1ecef4=_0x4eff57['indexOf'](_0x1ecef4);}for(let _0x1f1cc8=0x0,_0x522d5c=_0x29241b['length'];_0x1f1cc8<_0x522d5c;_0x1f1cc8++){_0x40564d+='%'+('00'+_0x29241b['charCodeAt'](_0x1f1cc8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x40564d);};a0_0x4f21['OgIZvk']=_0x91f11d,a0_0x4f21['HKMFBD']={},a0_0x4f21['lxiaWC']=!![];}const _0xd460a=_0x89526e[0x0],_0x12df88=_0x38e102+_0xd460a,_0x1033e2=a0_0x4f21['HKMFBD'][_0x12df88];return!_0x1033e2?(_0x4f21d3=a0_0x4f21['OgIZvk'](_0x4f21d3),a0_0x4f21['HKMFBD'][_0x12df88]=_0x4f21d3):_0x4f21d3=_0x1033e2,_0x4f21d3;}function writeToFileLog(_0xae237d,_0x1c5770){const _0x3cb687=a0_0x5c80d2,_0x881661={'Taonj':function(_0x5192c8,_0x2ab49d){return _0x5192c8===_0x2ab49d;}};if(!logToFile||!appLogStream)return;const _0x5bbe5f={'service':serviceName,..._0xae237d},_0x1a3411=JSON[_0x3cb687(0x192)](_0x5bbe5f)+'\x0a';appLogStream['write'](_0x1a3411),(_0x881661[_0x3cb687(0x1de)](_0x1c5770,_0x3cb687(0x151))||_0x881661['Taonj'](_0x1c5770,'fatal'))&&(errorLogStream&&errorLogStream[_0x3cb687(0x170)](_0x1a3411));}const createRequestLogger=(_0x42dfda={})=>{const _0x139bcf=a0_0x5c80d2;return logger[_0x139bcf(0x19f)](_0x42dfda);},logServerStart=_0x32a307=>{const _0x3e7b00=a0_0x5c80d2,_0x9670e2={'imRoa':'N/A','vbSun':'server_starting','YlGrj':'info'},_0x669570='\x0a╔═══════════════════════════════════════════════════════╗\x0a║\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RESTFORGE\x20RUNTIME\x20SERVER\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20║\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x32a307[_0x3e7b00(0x1f3)]||'Node.js')['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x32a307[_0x3e7b00(0x150)]||_0x9670e2[_0x3e7b00(0x18a)])[_0x3e7b00(0x1ee)](0x26)+_0x3e7b00(0x196)+String(_0x32a307[_0x3e7b00(0x1f6)]||0xbb8)['padEnd'](0x26)+_0x3e7b00(0x1a4)+(_0x32a307['configFile']||_0x3e7b00(0x1ce))['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x32a307['apiKey']?_0x3e7b00(0x1c6):_0x3e7b00(0x1d0))[_0x3e7b00(0x1ee)](0x26)+_0x3e7b00(0x168);console[_0x3e7b00(0x16d)](_0x669570);const _0xeeae2f={'event':_0x9670e2[_0x3e7b00(0x1f0)],'project':_0x32a307[_0x3e7b00(0x150)],'port':_0x32a307[_0x3e7b00(0x1f6)],'config':_0x32a307[_0x3e7b00(0x162)],'apiKeyEnabled':!!_0x32a307['apiKey']};logger['info'](_0xeeae2f),writeToFileLog({..._0xeeae2f,'level':_0x9670e2['YlGrj'],'msg':_0x3e7b00(0x1bb)+_0x32a307[_0x3e7b00(0x150)]+'\x20on\x20port\x20'+_0x32a307['port'],'time':new Date()[_0x3e7b00(0x19d)]()},'info');},logServerReady=_0x1eb962=>{const _0x2b9e04=a0_0x5c80d2,_0x8e80a0={'othPB':_0x2b9e04(0x175),'IWxIp':_0x2b9e04(0x191)},_0x7c6868={'event':_0x8e80a0[_0x2b9e04(0x1bf)],'port':_0x1eb962['port'],'module':_0x1eb962[_0x2b9e04(0x164)],'healthCheck':_0x1eb962['healthCheck'],'serviceInfo':_0x1eb962['serviceInfo'],'baseUrl':_0x1eb962['baseUrl']},_0xea5e44=_0x2b9e04(0x1e1)+_0x1eb962['port'];logger[_0x2b9e04(0x191)](_0x7c6868,_0xea5e44),writeToFileLog({..._0x7c6868,'level':_0x8e80a0['IWxIp'],'msg':_0xea5e44,'time':new Date()['toISOString']()},_0x8e80a0['IWxIp']),_0x1eb962['healthCheck']&&logger['info'](_0x2b9e04(0x1a5)+_0x1eb962['healthCheck']),_0x1eb962['serviceInfo']&&logger['info'](_0x2b9e04(0x182)+_0x1eb962['serviceInfo']),_0x1eb962[_0x2b9e04(0x194)]&&logger['info'](_0x2b9e04(0x1d5)+_0x1eb962[_0x2b9e04(0x194)]);},logProjectLoaded=(_0x3c43f7,_0x27ec56)=>{const _0x3bbcc4=a0_0x5c80d2,_0x2bad7f={'uBgTk':_0x3bbcc4(0x1fa)},_0x2fc0b5={'event':_0x2bad7f['uBgTk'],'project':_0x3c43f7,'path':_0x27ec56},_0x37c2b4='[OK]\x20Project\x20loaded:\x20'+_0x3c43f7;logger[_0x3bbcc4(0x191)](_0x2fc0b5,_0x37c2b4),writeToFileLog({..._0x2fc0b5,'level':'info','msg':_0x37c2b4,'time':new Date()[_0x3bbcc4(0x19d)]()},'info');},logEndpointRegistered=(_0x4fbbf3,_0x3f972e)=>{const _0x41761a=a0_0x5c80d2,_0x1fec3e={'abpLx':_0x41761a(0x1d9),'QIQDo':_0x41761a(0x1b2)},_0x51e1c1={'event':_0x1fec3e['abpLx'],'endpoint':_0x4fbbf3,'route':_0x3f972e},_0x2a8a54=_0x41761a(0x18c)+_0x4fbbf3+':\x20'+_0x3f972e;logger[_0x41761a(0x1b2)](_0x51e1c1,_0x2a8a54),writeToFileLog({..._0x51e1c1,'level':_0x41761a(0x1b2),'msg':_0x2a8a54,'time':new Date()['toISOString']()},_0x1fec3e['QIQDo']);},logDatabaseConfig=_0x46994c=>{const _0x49096f=a0_0x5c80d2,_0x1106fc={'kKVaO':function(_0x5cc1f2,_0xc50791,_0x3d5ec9){return _0x5cc1f2(_0xc50791,_0x3d5ec9);},'fYDgY':_0x49096f(0x1b2)},_0x316d2d={'event':_0x49096f(0x1dd),'host':_0x46994c[_0x49096f(0x1f9)],'port':_0x46994c[_0x49096f(0x1f6)],'database':_0x46994c[_0x49096f(0x1c8)],'type':_0x46994c[_0x49096f(0x1e0)],'user':_0x46994c['user']},_0x45b2f2=_0x49096f(0x14f)+_0x46994c['type']+_0x49096f(0x1f7)+_0x46994c['host']+':'+_0x46994c['port']+'/'+_0x46994c['database'];logger['debug'](_0x316d2d,_0x45b2f2),_0x1106fc['kKVaO'](writeToFileLog,{..._0x316d2d,'level':_0x1106fc[_0x49096f(0x1fb)],'msg':_0x45b2f2,'time':new Date()[_0x49096f(0x19d)]()},_0x1106fc['fYDgY']);},logRequest=(_0x33071a,_0x1342f4,_0x4c6cf1)=>{const _0x51628d=a0_0x5c80d2,_0x4c7baf={'IzonD':_0x51628d(0x156),'HxyCU':_0x51628d(0x191),'nVFco':function(_0x2261b7,_0x65a39b){return _0x2261b7>=_0x65a39b;},'xGGho':'error'},_0x16e77c={'event':_0x4c7baf['IzonD'],'method':_0x33071a['method'],'path':_0x33071a['path'],'statusCode':_0x1342f4[_0x51628d(0x17c)],'durationMs':_0x4c6cf1,'ip':_0x33071a['ip']},_0x3f44ff=_0x33071a[_0x51628d(0x1fc)]+'\x20'+_0x33071a['path']+_0x51628d(0x1c1)+_0x1342f4[_0x51628d(0x17c)]+'\x20('+_0x4c6cf1+_0x51628d(0x1c9);let _0x2fc300=_0x4c7baf['HxyCU'];if(_0x4c7baf[_0x51628d(0x1b1)](_0x1342f4['statusCode'],0x1f4))_0x2fc300=_0x4c7baf['xGGho'],logger['error'](_0x16e77c,_0x3f44ff);else _0x4c7baf['nVFco'](_0x1342f4[_0x51628d(0x17c)],0x190)?(_0x2fc300=_0x51628d(0x14e),logger['warn'](_0x16e77c,_0x3f44ff)):logger['info'](_0x16e77c,_0x3f44ff);writeToFileLog({..._0x16e77c,'level':_0x2fc300,'msg':_0x3f44ff,'time':new Date()[_0x51628d(0x19d)]()},_0x2fc300);},SENSITIVE_PARAM_PATTERNS=['password','passwd',a0_0x5c80d2(0x1a9),a0_0x5c80d2(0x1cc),a0_0x5c80d2(0x193),a0_0x5c80d2(0x1e6),a0_0x5c80d2(0x15f),a0_0x5c80d2(0x19c),'apikey','api_key','credential',a0_0x5c80d2(0x1c4),'pin',a0_0x5c80d2(0x1d8),a0_0x5c80d2(0x1f5),'privatekey'],redactSensitiveParams=(_0x4d3992,_0x2e44fa)=>{const _0x186b79=a0_0x5c80d2,_0x10a385={'JfsrC':function(_0x49744b,_0x4af835){return _0x49744b>_0x4af835;},'BXrrD':function(_0xa9e49a,_0x1302ab){return _0xa9e49a===_0x1302ab;}};if(!_0x4d3992||_0x10a385['BXrrD'](_0x4d3992['length'],0x0))return _0x4d3992;const _0x3bbbab=_0x2e44fa['toLowerCase'](),_0x4eafcc=_0x3bbbab['match'](/\(([^)]+)\)\s*values/i);let _0x389379=[];_0x4eafcc&&(_0x389379=_0x4eafcc[0x1][_0x186b79(0x183)](',')['map'](_0x398b3f=>_0x398b3f[_0x186b79(0x1d7)]()['toLowerCase']()));const _0x5767ac=_0x3bbbab[_0x186b79(0x157)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x5767ac){const _0x21ce83=_0x5767ac[0x1],_0x3f4eb7=_0x21ce83['match'](/(\w+)\s*=/g);_0x3f4eb7&&(_0x389379=_0x3f4eb7[_0x186b79(0x1e5)](_0x56b325=>_0x56b325['replace'](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x4d3992[_0x186b79(0x1e5)]((_0x19f9b1,_0x346052)=>{const _0x504751=_0x186b79;if(_0x389379[_0x346052]){const _0x2d4b0f=_0x389379[_0x346052],_0x4c5cc1=SENSITIVE_PARAM_PATTERNS[_0x504751(0x180)](_0x588054=>_0x2d4b0f['includes'](_0x588054));if(_0x4c5cc1)return _0x504751(0x160);}if(typeof _0x19f9b1===_0x504751(0x1aa)&&_0x10a385['JfsrC'](_0x19f9b1['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x19f9b1)&&_0x19f9b1['includes']('.'))return _0x504751(0x1cf);if(/^[a-fA-F0-9]{32,}$/[_0x504751(0x169)](_0x19f9b1))return _0x504751(0x1cb);}return _0x19f9b1;});},parseQueryMetadata=_0x60fb32=>{const _0x511f18=a0_0x5c80d2,_0x1abb7b={'YpQYB':'SELECT','FDWtM':'INSERT','HTWtY':'UPDATE','OYvuK':_0x511f18(0x1c2),'PSEjN':_0x511f18(0x1a8),'HkGHK':_0x511f18(0x1bd),'lGmqv':'TRANSACTION_COMMIT','zGkwh':_0x511f18(0x1ae),'fHorS':'TRANSACTION_ROLLBACK','gBnJZ':'CREATE','FDdqX':'DDL_CREATE','kLIJA':'ALTER','KYQDh':_0x511f18(0x16c),'yCrnI':'DROP','hkDeJ':'DDL_DROP'},_0x429fc4=_0x60fb32['trim'](),_0x183760=_0x429fc4['toUpperCase']();let _0x342cbd='UNKNOWN',_0x288bdb=null;if(_0x183760['startsWith'](_0x1abb7b['YpQYB'])){_0x342cbd='SELECT';const _0x5262cb=_0x429fc4[_0x511f18(0x157)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x288bdb=_0x5262cb?_0x5262cb[0x1]:null;}else{if(_0x183760['startsWith'](_0x1abb7b[_0x511f18(0x185)])){_0x342cbd='INSERT';const _0x31c4d2=_0x429fc4[_0x511f18(0x157)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x288bdb=_0x31c4d2?_0x31c4d2[0x1]:null;}else{if(_0x183760['startsWith'](_0x1abb7b['HTWtY'])){_0x342cbd='UPDATE';const _0x18702d=_0x429fc4[_0x511f18(0x157)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x288bdb=_0x18702d?_0x18702d[0x1]:null;}else{if(_0x183760[_0x511f18(0x179)](_0x1abb7b[_0x511f18(0x19b)])){_0x342cbd='DELETE';const _0x1cf883=_0x429fc4[_0x511f18(0x157)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x288bdb=_0x1cf883?_0x1cf883[0x1]:null;}else{if(_0x183760['startsWith']('BEGIN')||_0x183760['startsWith'](_0x1abb7b[_0x511f18(0x1a7)]))_0x342cbd=_0x511f18(0x1af);else{if(_0x183760[_0x511f18(0x179)](_0x1abb7b[_0x511f18(0x1a6)]))_0x342cbd=_0x1abb7b['lGmqv'];else{if(_0x183760[_0x511f18(0x179)](_0x1abb7b[_0x511f18(0x1fd)]))_0x342cbd=_0x1abb7b['fHorS'];else{if(_0x183760[_0x511f18(0x179)](_0x1abb7b['gBnJZ']))_0x342cbd=_0x1abb7b[_0x511f18(0x187)];else{if(_0x183760['startsWith'](_0x1abb7b['kLIJA']))_0x342cbd=_0x1abb7b['KYQDh'];else _0x183760[_0x511f18(0x179)](_0x1abb7b['yCrnI'])&&(_0x342cbd=_0x1abb7b['hkDeJ']);}}}}}}}}return{'type':_0x342cbd,'table':_0x288bdb};},startQueryTimer=()=>{const _0x4dfa09={'DNEca':function(_0x1de9af,_0x1b6def){return _0x1de9af(_0x1b6def);},'LRJjd':function(_0x3cd55b,_0x5a9849){return _0x3cd55b*_0x5a9849;}},_0x32013f=process['hrtime']();return()=>{const _0x350444=a0_0x4f21,[_0x374513,_0xda1530]=process['hrtime'](_0x32013f);return _0x4dfa09[_0x350444(0x15a)](parseFloat,(_0x4dfa09['LRJjd'](_0x374513,0x3e8)+_0xda1530/0xf4240)[_0x350444(0x1ad)](0x2));};},logQuery=(_0xfbf349,_0x41c48a=[],_0x4bc46f={})=>{const _0x88179c=a0_0x5c80d2,_0x2dcb9d={'hcVaP':_0x88179c(0x1a3),'sLtcp':_0x88179c(0x17a),'CCihP':function(_0x1bad5a,_0x423fce){return _0x1bad5a>_0x423fce;},'ZVZOa':function(_0x45ed52,_0x4faf40){return _0x45ed52!==_0x4faf40;},'vqZMm':_0x88179c(0x1b2),'VVUlT':_0x88179c(0x1b5),'GHsak':_0x88179c(0x14e),'HxGNY':function(_0x11974b,_0x14e66a){return _0x11974b===_0x14e66a;}};if(!sqlLogEnabled){logger[_0x88179c(0x1b2)]({'event':_0x2dcb9d['hcVaP'],'query':_0xfbf349['substring'](0x0,0xc8),'paramCount':_0x41c48a['length']},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x88179c(0x1ba)}=_0x4bc46f,{type:_0x2c1efc,table:_0x5eb457}=parseQueryMetadata(_0xfbf349),_0x31112b={'event':_0x2dcb9d[_0x88179c(0x15b)],'queryType':_0x2c1efc,'table':_0x5eb457,'query':_0xfbf349,'paramCount':_0x41c48a['length'],'dbType':dbType};sqlLogParams&&_0x2dcb9d[_0x88179c(0x159)](_0x41c48a['length'],0x0)&&(_0x31112b['params']=redactSensitiveParams(_0x41c48a,_0xfbf349));_0x2dcb9d[_0x88179c(0x152)](duration,null)&&(_0x31112b['durationMs']=duration,_0x31112b['isSlow']=duration>sqlLogSlowThreshold);_0x2dcb9d[_0x88179c(0x152)](rowsAffected,null)&&(_0x31112b['rowsAffected']=rowsAffected);const _0xf35dbb=_0x5eb457||'unknown';let _0x4a39fb='['+_0x2c1efc+']\x20'+_0xf35dbb;duration!==null&&(_0x4a39fb+='\x20('+duration+'ms)');const _0x584082=duration!==null&&duration>sqlLogSlowThreshold;let _0xec9daf=_0x2dcb9d[_0x88179c(0x1f2)];if(_0x584082)_0x4a39fb+=_0x2dcb9d['VVUlT'],_0xec9daf=_0x2dcb9d[_0x88179c(0x1bc)],logger['warn'](_0x31112b,_0x4a39fb);else _0x2dcb9d['HxGNY'](sqlLogLevel,'info')?(_0xec9daf=_0x88179c(0x191),logger[_0x88179c(0x191)](_0x31112b,_0x4a39fb)):logger['debug'](_0x31112b,_0x4a39fb);writeToFileLog({..._0x31112b,'level':_0xec9daf,'msg':_0x4a39fb,'time':new Date()['toISOString']()},_0xec9daf);},logTransaction=(_0x15a21d,_0x24c673)=>{const _0x252793=a0_0x5c80d2,_0x252e85={'CqyHc':_0x252793(0x1b2)},_0x11633e={'event':'db_transaction','status':_0x15a21d,'queryCount':_0x24c673},_0x4db31a='Transaction\x20'+_0x15a21d;logger[_0x252793(0x1b2)](_0x11633e,_0x4db31a),writeToFileLog({..._0x11633e,'level':_0x252e85[_0x252793(0x176)],'msg':_0x4db31a,'time':new Date()[_0x252793(0x19d)]()},'debug');},redactObject=_0xcbcfaa=>{const _0x4c7f43=a0_0x5c80d2,_0x315f5b={'drIHC':function(_0x526497,_0x278798){return _0x526497!==_0x278798;},'ewHzs':'object','dRFFr':'password','lPvOy':_0x4c7f43(0x1eb),'hIvwA':'secret','GjeyB':_0x4c7f43(0x15d),'jYsVy':_0x4c7f43(0x1d4),'bJpwR':_0x4c7f43(0x1d3),'JPZmx':'private_key','xtexP':_0x4c7f43(0x193),'mdsEv':function(_0x5cdbea,_0x21a598){return _0x5cdbea(_0x21a598);}};if(!_0xcbcfaa||_0x315f5b[_0x4c7f43(0x1ff)](typeof _0xcbcfaa,_0x315f5b[_0x4c7f43(0x1cd)]))return _0xcbcfaa;const _0x100c7c=[_0x315f5b['dRFFr'],_0x315f5b['lPvOy'],'pwd',_0x4c7f43(0x1cc),_0x315f5b[_0x4c7f43(0x1b9)],'apikey',_0x315f5b[_0x4c7f43(0x1a2)],_0x315f5b['jYsVy'],'creditcard',_0x4c7f43(0x15c),_0x4c7f43(0x1f4),_0x315f5b[_0x4c7f43(0x1c5)],_0x4c7f43(0x1da),_0x315f5b['JPZmx'],_0x4c7f43(0x1b3),_0x4c7f43(0x1e6),_0x315f5b['xtexP']],_0x28a867=Array['isArray'](_0xcbcfaa)?[..._0xcbcfaa]:{..._0xcbcfaa};for(const _0x19cff4 of Object[_0x4c7f43(0x1b8)](_0x28a867)){const _0x4b6d5c=_0x19cff4[_0x4c7f43(0x1b7)]();if(_0x100c7c[_0x4c7f43(0x180)](_0xc198cb=>_0x4b6d5c[_0x4c7f43(0x16f)](_0xc198cb)))_0x28a867[_0x19cff4]='[REDACTED]';else typeof _0x28a867[_0x19cff4]===_0x315f5b[_0x4c7f43(0x1cd)]&&_0x28a867[_0x19cff4]!==null&&(_0x28a867[_0x19cff4]=_0x315f5b[_0x4c7f43(0x1ed)](redactObject,_0x28a867[_0x19cff4]));}return _0x28a867;},logError=(_0x1486e7,_0x4bc54b={},_0x4e125a=null)=>{const _0x48b0c8=a0_0x5c80d2,_0x8c0184={'SNJVp':'error','vSLLO':function(_0x27ceed,_0x36559e,_0x1a9339){return _0x27ceed(_0x36559e,_0x1a9339);}},_0x1ae037={'event':_0x8c0184['SNJVp'],'errorName':_0x1486e7['name']||_0x48b0c8(0x171),'errorMessage':_0x1486e7['message'],'errorCode':_0x1486e7[_0x48b0c8(0x1d2)]||null,'stack':_0x1486e7[_0x48b0c8(0x1e8)],..._0x4bc54b},_0xb0ea1d=_0x4e125a||'Error:\x20'+_0x1486e7[_0x48b0c8(0x1e7)];logger[_0x48b0c8(0x151)](_0x1ae037,_0xb0ea1d),_0x8c0184[_0x48b0c8(0x166)](writeToFileLog,{..._0x1ae037,'level':_0x8c0184[_0x48b0c8(0x1b0)],'msg':_0xb0ea1d,'time':new Date()['toISOString']()},_0x8c0184[_0x48b0c8(0x1b0)]);},logFatalError=(_0x20b789,_0xeff10d={},_0x26e348=null)=>{const _0x51f721=a0_0x5c80d2,_0x43a89f={'MlqUc':'fatal_error','qBudH':_0x51f721(0x151)},_0x58e252={'event':_0x43a89f['MlqUc'],'errorName':_0x20b789['name']||'Error','errorMessage':_0x20b789[_0x51f721(0x1e7)],'errorCode':_0x20b789[_0x51f721(0x1d2)]||null,'stack':_0x20b789[_0x51f721(0x1e8)],'severity':_0x51f721(0x19e),..._0xeff10d},_0x122849=_0x26e348||_0x51f721(0x173)+_0x20b789['message'];logger['fatal'](_0x58e252,_0x122849),writeToFileLog({..._0x58e252,'level':_0x51f721(0x1fe),'msg':_0x122849,'time':new Date()['toISOString']()},_0x43a89f['qBudH']);},logHttpError=(_0x3c7ea1,_0x584dee,_0x5630e8={})=>{const _0x3ef2e9=a0_0x5c80d2,_0x433b9c={'EYTto':'Error','bnmFg':'x-request-id','LNaYb':function(_0x40bb0c,_0x2ffe82){return _0x40bb0c(_0x2ffe82);},'LbnfQ':function(_0x54cbe6,_0x5dfc0f){return _0x54cbe6>=_0x5dfc0f;},'Tzaui':_0x3ef2e9(0x14e),'Wmmpx':function(_0x40bbc4,_0x3a8272){return _0x40bbc4>=_0x3a8272;}},_0x52e0e1={'event':'http_error','errorName':_0x3c7ea1['name']||_0x433b9c[_0x3ef2e9(0x15e)],'errorMessage':_0x3c7ea1['message'],'errorCode':_0x3c7ea1['code']||_0x3c7ea1[_0x3ef2e9(0x17c)]||0x1f4,'stack':_0x3c7ea1['stack'],'method':_0x584dee?.[_0x3ef2e9(0x1fc)],'url':_0x584dee?.[_0x3ef2e9(0x1c0)]||_0x584dee?.[_0x3ef2e9(0x17d)],'path':_0x584dee?.['path'],'ip':_0x584dee?.['ip']||_0x584dee?.['connection']?.['remoteAddress'],'userAgent':_0x584dee?.['get']?.(_0x3ef2e9(0x18f)),'requestId':_0x584dee?.['id']||_0x584dee?.['headers']?.[_0x433b9c['bnmFg']],'body':_0x584dee?.['body']?_0x433b9c['LNaYb'](redactObject,_0x584dee[_0x3ef2e9(0x17b)]):undefined,'query':_0x584dee?.['query'],..._0x5630e8},_0x5a5016=_0x3c7ea1['statusCode']||_0x3c7ea1[_0x3ef2e9(0x1e3)]||0x1f4,_0x53e810=_0x3ef2e9(0x18b)+_0x5a5016+':\x20'+_0x3c7ea1[_0x3ef2e9(0x1e7)];_0x433b9c['LbnfQ'](_0x5a5016,0x1f4)?logger['error'](_0x52e0e1,_0x53e810):logger['warn'](_0x52e0e1,_0x53e810),writeToFileLog({..._0x52e0e1,'level':_0x5a5016>=0x1f4?_0x3ef2e9(0x151):_0x433b9c['Tzaui'],'msg':_0x53e810,'time':new Date()[_0x3ef2e9(0x19d)]()},_0x433b9c[_0x3ef2e9(0x153)](_0x5a5016,0x1f4)?_0x3ef2e9(0x151):_0x433b9c['Tzaui']);},logUncaughtError=(_0x4a6d49,_0x492362)=>{const _0xffe890=a0_0x5c80d2,_0x2880ab={'ZtyeI':'Error','fFzEK':function(_0x113fe5,_0x353df1){return _0x113fe5(_0x353df1);},'sbUsN':_0xffe890(0x19e),'jEkHM':function(_0x4c75e9,_0x5f3f1d,_0x414b9b){return _0x4c75e9(_0x5f3f1d,_0x414b9b);}},_0x4ed6f4={'event':_0x4a6d49,'errorName':_0x492362?.[_0xffe890(0x154)]||_0x2880ab[_0xffe890(0x17e)],'errorMessage':_0x492362?.[_0xffe890(0x1e7)]||_0x2880ab[_0xffe890(0x200)](String,_0x492362),'errorCode':_0x492362?.['code']||null,'stack':_0x492362?.[_0xffe890(0x1e8)],'severity':_0x2880ab[_0xffe890(0x158)],'processId':process[_0xffe890(0x14d)],'memoryUsage':process[_0xffe890(0x1dc)](),'uptime':process['uptime']()},_0x524d9b='['+_0x4a6d49['toUpperCase']()+']\x20'+(_0x492362?.['message']||_0x492362);logger[_0xffe890(0x1fe)](_0x4ed6f4,_0x524d9b),_0x2880ab[_0xffe890(0x1db)](writeToFileLog,{..._0x4ed6f4,'level':_0xffe890(0x1fe),'msg':_0x524d9b,'time':new Date()['toISOString']()},_0xffe890(0x151));},setupGlobalErrorHandlers=()=>{const _0x26038b=a0_0x5c80d2,_0x1226f7={'rlazU':function(_0x3dcb49,_0x352a18,_0x5d5895){return _0x3dcb49(_0x352a18,_0x5d5895);},'doXhx':_0x26038b(0x178),'HWBHj':_0x26038b(0x16e),'ZNJkI':_0x26038b(0x1ec),'iFsbo':_0x26038b(0x1ea),'SixaV':'Global\x20error\x20handlers\x20initialized'};process['on'](_0x1226f7['doXhx'],_0x1ded15=>{const _0x3d952e=_0x26038b;_0x1226f7[_0x3d952e(0x188)](logUncaughtError,_0x1226f7['doXhx'],_0x1ded15),_0x1226f7['rlazU'](setTimeout,()=>{const _0x3c20d2=_0x3d952e;process[_0x3c20d2(0x18e)](0x1);},0x3e8);}),process['on'](_0x1226f7['ZNJkI'],(_0x5f0cce,_0x32bfb1)=>{const _0x140df4=_0x26038b,_0x568a41=_0x5f0cce instanceof Error?_0x5f0cce:new Error(String(_0x5f0cce));logUncaughtError(_0x140df4(0x1ec),_0x568a41);}),process['on'](_0x26038b(0x197),_0x274527=>{const _0xbd7e55=_0x26038b;logger['warn']({'event':_0x1226f7[_0xbd7e55(0x184)],'name':_0x274527[_0xbd7e55(0x154)],'message':_0x274527['message'],'stack':_0x274527[_0xbd7e55(0x1e8)]},'Process\x20Warning:\x20'+_0x274527['message']);});const _0x4de866={'event':_0x1226f7['iFsbo']},_0x24931b=_0x1226f7['SixaV'];logger['info'](_0x4de866,_0x24931b),writeToFileLog({..._0x4de866,'level':_0x26038b(0x191),'msg':_0x24931b,'time':new Date()[_0x26038b(0x19d)]()},_0x26038b(0x191));},createErrorHandlerMiddleware=()=>{const _0xd4a4f2={'KxzUa':function(_0x16ae0e,_0x322fd9,_0x4d1169){return _0x16ae0e(_0x322fd9,_0x4d1169);},'PJndL':function(_0x55b8e,_0x528476){return _0x55b8e>=_0x528476;}};return(_0xb35aa0,_0x40d744,_0x40cbec,_0x1228f2)=>{const _0x6ee1cb=a0_0x4f21;_0xd4a4f2[_0x6ee1cb(0x1e2)](logHttpError,_0xb35aa0,_0x40d744);const _0x2d8286=_0xb35aa0[_0x6ee1cb(0x17c)]||_0xb35aa0[_0x6ee1cb(0x1e3)]||0x1f4;_0x40cbec[_0x6ee1cb(0x1e3)](_0x2d8286)['json']({'success':![],'error':_0xd4a4f2[_0x6ee1cb(0x16a)](_0x2d8286,0x1f4)?'Internal\x20server\x20error':_0xb35aa0['message'],'requestId':_0x40d744['id']||_0x40d744[_0x6ee1cb(0x165)]?.[_0x6ee1cb(0x1be)]||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_0x57e3a4=a0_0x4bd1;function a0_0x4bd1(_0x5499a1,_0xac345f){_0x5499a1=_0x5499a1-0x18e;const _0x5ab42c=a0_0x5ab4();let _0x4bd133=_0x5ab42c[_0x5499a1];if(a0_0x4bd1['rztiRP']===undefined){var _0x3af920=function(_0x20deea){const _0x210cfd='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x137ba4='',_0x496f77='';for(let _0x3856ef=0x0,_0x5af2c6,_0x479902,_0x19005f=0x0;_0x479902=_0x20deea['charAt'](_0x19005f++);~_0x479902&&(_0x5af2c6=_0x3856ef%0x4?_0x5af2c6*0x40+_0x479902:_0x479902,_0x3856ef++%0x4)?_0x137ba4+=String['fromCharCode'](0xff&_0x5af2c6>>(-0x2*_0x3856ef&0x6)):0x0){_0x479902=_0x210cfd['indexOf'](_0x479902);}for(let _0x2b8722=0x0,_0x23a3a9=_0x137ba4['length'];_0x2b8722<_0x23a3a9;_0x2b8722++){_0x496f77+='%'+('00'+_0x137ba4['charCodeAt'](_0x2b8722)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x496f77);};a0_0x4bd1['dPFEfu']=_0x3af920,a0_0x4bd1['tuskKE']={},a0_0x4bd1['rztiRP']=!![];}const _0x3325fa=_0x5ab42c[0x0],_0x254a16=_0x5499a1+_0x3325fa,_0x54a500=a0_0x4bd1['tuskKE'][_0x254a16];return!_0x54a500?(_0x4bd133=a0_0x4bd1['dPFEfu'](_0x4bd133),a0_0x4bd1['tuskKE'][_0x254a16]=_0x4bd133):_0x4bd133=_0x54a500,_0x4bd133;}(function(_0x862128,_0x59fa43){const _0x7b0bc0=a0_0x4bd1,_0x3afad1=_0x862128();while(!![]){try{const _0x470842=-parseInt(_0x7b0bc0(0x190))/0x1*(-parseInt(_0x7b0bc0(0x228))/0x2)+-parseInt(_0x7b0bc0(0x229))/0x3+parseInt(_0x7b0bc0(0x21b))/0x4+parseInt(_0x7b0bc0(0x1bc))/0x5*(parseInt(_0x7b0bc0(0x1a5))/0x6)+parseInt(_0x7b0bc0(0x20d))/0x7+-parseInt(_0x7b0bc0(0x1e5))/0x8+parseInt(_0x7b0bc0(0x1f0))/0x9;if(_0x470842===_0x59fa43)break;else _0x3afad1['push'](_0x3afad1['shift']());}catch(_0x87607a){_0x3afad1['push'](_0x3afad1['shift']());}}}(a0_0x5ab4,0x7fc7e));const pino=require(a0_0x57e3a4(0x1b1)),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName=a0_0x57e3a4(0x1ca),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x57e3a4(0x1c0),'customColors':a0_0x57e3a4(0x208),'hideObject':!![]},isDevelopment=process[a0_0x57e3a4(0x1fb)][a0_0x57e3a4(0x213)]!=='production',logLevel=process[a0_0x57e3a4(0x1fb)]['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x57e3a4(0x1ca),'version':process['env'][a0_0x57e3a4(0x1cd)]||'1.0.5','env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions'][a0_0x57e3a4(0x1ee)],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]','password','token',a0_0x57e3a4(0x1e8),a0_0x57e3a4(0x1ff),'JWT_SECRET'],'censor':a0_0x57e3a4(0x1d0)},'serializers':{'req':_0x1fbe16=>({'id':_0x1fbe16['id'],'method':_0x1fbe16[a0_0x57e3a4(0x1d7)],'url':_0x1fbe16['url'],'path':_0x1fbe16['path'],'remoteAddress':_0x1fbe16['ip']||_0x1fbe16[a0_0x57e3a4(0x1f6)]?.['remoteAddress']}),'res':_0x590b44=>({'statusCode':_0x590b44[a0_0x57e3a4(0x1e7)],'headers':_0x590b44['getHeaders']?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x24cbd3=a0_0x57e3a4,_0x2442dd={'AHpUh':function(_0x6e18c3,_0x4405f8){return _0x6e18c3===_0x4405f8;},'iUEJU':'true','utOnl':'false','lAbhH':function(_0x49a3ce,_0x10f922){return _0x49a3ce(_0x10f922);},'QfQvy':_0x24cbd3(0x1d5)};if(fileLoggingInitialized)return;logToFile=_0x2442dd[_0x24cbd3(0x192)](process['env']['LOG_TO_FILE'],'true'),logDir=process['env']['LOG_DIR']||_0x24cbd3(0x1f9),serviceName=process[_0x24cbd3(0x1fb)][_0x24cbd3(0x1bf)]||_0x24cbd3(0x1ca),sqlLogEnabled=process['env'][_0x24cbd3(0x19e)]===_0x2442dd[_0x24cbd3(0x19f)],sqlLogLevel=process[_0x24cbd3(0x1fb)][_0x24cbd3(0x211)]||_0x24cbd3(0x1be),sqlLogParams=process['env']['SQL_LOG_PARAMS']!==_0x2442dd[_0x24cbd3(0x21f)],sqlLogSlowThreshold=_0x2442dd[_0x24cbd3(0x1cc)](parseInt,process[_0x24cbd3(0x1fb)][_0x24cbd3(0x202)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0xf6b166=path[_0x24cbd3(0x1ec)](process[_0x24cbd3(0x1b7)](),logDir);try{!fs[_0x24cbd3(0x1a0)](_0xf6b166)&&fs['mkdirSync'](_0xf6b166,{'recursive':!![]});}catch(_0x3c189f){console['error'](_0x24cbd3(0x1db)+_0xf6b166+':',_0x3c189f['message']),fileLoggingInitialized=!![];return;}const _0x552d46=path[_0x24cbd3(0x214)](_0xf6b166,_0x24cbd3(0x191)),_0x39a2f0=path['join'](_0xf6b166,'error.log');try{appLogStream=fs[_0x24cbd3(0x21e)](_0x552d46,{'flags':'a'}),errorLogStream=fs[_0x24cbd3(0x21e)](_0x39a2f0,{'flags':'a'}),fileLoggingInitialized=!![];const _0x5bcd4f={'event':_0x24cbd3(0x1af),'logDir':_0xf6b166,'files':[_0x24cbd3(0x191),_0x24cbd3(0x18e)]},_0x7b5d7a='File\x20logging\x20enabled:\x20'+_0xf6b166;logger['info'](_0x5bcd4f,_0x7b5d7a),writeToFileLog({..._0x5bcd4f,'level':_0x2442dd[_0x24cbd3(0x234)],'msg':_0x7b5d7a,'time':new Date()['toISOString']()},_0x24cbd3(0x1d5));}catch(_0x1c5692){console['error'](_0x24cbd3(0x223),_0x1c5692['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x2c4f45,_0x230daa){const _0x5b048c=a0_0x57e3a4,_0x238f9a={'pIkxf':function(_0x246378,_0x154458){return _0x246378||_0x154458;},'ckeEY':function(_0x4174c8,_0x2d3bf9){return _0x4174c8+_0x2d3bf9;},'vYTPw':function(_0x240dfb,_0x519500){return _0x240dfb===_0x519500;},'PkFoC':'fatal'};if(_0x238f9a[_0x5b048c(0x220)](!logToFile,!appLogStream))return;const _0x36102d={'service':serviceName,..._0x2c4f45},_0x3b299c=_0x238f9a[_0x5b048c(0x22e)](JSON[_0x5b048c(0x1d8)](_0x36102d),'\x0a');appLogStream[_0x5b048c(0x22a)](_0x3b299c),(_0x238f9a[_0x5b048c(0x20a)](_0x230daa,'error')||_0x238f9a[_0x5b048c(0x20a)](_0x230daa,_0x238f9a[_0x5b048c(0x1f2)]))&&(errorLogStream&&errorLogStream['write'](_0x3b299c));}const createRequestLogger=(_0x660f23={})=>{return logger['child'](_0x660f23);},logServerStart=_0x35a4fb=>{const _0x4fe170=a0_0x57e3a4,_0x17f9db={'Rabvg':'Node.js','qFzJf':_0x4fe170(0x1d1),'mtnyK':function(_0x2dda0a,_0x320ce2){return _0x2dda0a(_0x320ce2);},'oPzmw':'Default','qRnEf':function(_0x5885f8,_0x39d328,_0x1678c){return _0x5885f8(_0x39d328,_0x1678c);},'XjWlm':'info'},_0x49fbf8=_0x4fe170(0x1f1)+(_0x35a4fb['environment']||_0x17f9db['Rabvg'])[_0x4fe170(0x1c7)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x35a4fb[_0x4fe170(0x224)]||_0x17f9db['qFzJf'])['padEnd'](0x26)+_0x4fe170(0x1b2)+_0x17f9db['mtnyK'](String,_0x35a4fb[_0x4fe170(0x197)]||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x35a4fb[_0x4fe170(0x1bb)]||_0x17f9db['oPzmw'])[_0x4fe170(0x1c7)](0x26)+_0x4fe170(0x22b)+(_0x35a4fb['apiKey']?_0x4fe170(0x1f4):'NOT\x20ACTIVE')[_0x4fe170(0x1c7)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x49fbf8);const _0x9f9d01={'event':_0x4fe170(0x230),'project':_0x35a4fb[_0x4fe170(0x224)],'port':_0x35a4fb['port'],'config':_0x35a4fb['configFile'],'apiKeyEnabled':!!_0x35a4fb['apiKey']};logger[_0x4fe170(0x1d5)](_0x9f9d01),_0x17f9db[_0x4fe170(0x22f)](writeToFileLog,{..._0x9f9d01,'level':_0x17f9db[_0x4fe170(0x1e1)],'msg':'Server\x20starting:\x20'+_0x35a4fb[_0x4fe170(0x224)]+_0x4fe170(0x1a6)+_0x35a4fb[_0x4fe170(0x197)],'time':new Date()['toISOString']()},_0x4fe170(0x1d5));},logServerReady=_0x536f78=>{const _0x5bc6f6=a0_0x57e3a4,_0x1b6846={'sXRVJ':_0x5bc6f6(0x1d5)},_0x4083aa={'event':_0x5bc6f6(0x1c5),'port':_0x536f78['port'],'module':_0x536f78[_0x5bc6f6(0x1c6)],'healthCheck':_0x536f78[_0x5bc6f6(0x1e3)],'serviceInfo':_0x536f78[_0x5bc6f6(0x1a9)],'baseUrl':_0x536f78[_0x5bc6f6(0x1fe)]},_0x18c9e6='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x536f78[_0x5bc6f6(0x197)];logger[_0x5bc6f6(0x1d5)](_0x4083aa,_0x18c9e6),writeToFileLog({..._0x4083aa,'level':'info','msg':_0x18c9e6,'time':new Date()['toISOString']()},_0x1b6846[_0x5bc6f6(0x215)]),_0x536f78[_0x5bc6f6(0x1e3)]&&logger[_0x5bc6f6(0x1d5)](_0x5bc6f6(0x1ce)+_0x536f78[_0x5bc6f6(0x1e3)]),_0x536f78[_0x5bc6f6(0x1a9)]&&logger[_0x5bc6f6(0x1d5)](_0x5bc6f6(0x19c)+_0x536f78['serviceInfo']),_0x536f78[_0x5bc6f6(0x1fe)]&&logger[_0x5bc6f6(0x1d5)]('\x20\x20URL:\x20\x20\x20\x20'+_0x536f78['baseUrl']);},logProjectLoaded=(_0x3d3bb0,_0x35d7dd)=>{const _0xfdf559=a0_0x57e3a4,_0x2aab45={'YpkAl':_0xfdf559(0x1c8),'ynFpj':_0xfdf559(0x1d5)},_0x4ed567={'event':_0x2aab45['YpkAl'],'project':_0x3d3bb0,'path':_0x35d7dd},_0x4d39b1=_0xfdf559(0x1dc)+_0x3d3bb0;logger['info'](_0x4ed567,_0x4d39b1),writeToFileLog({..._0x4ed567,'level':_0x2aab45['ynFpj'],'msg':_0x4d39b1,'time':new Date()['toISOString']()},_0x2aab45['ynFpj']);},logEndpointRegistered=(_0x31de5f,_0x717514)=>{const _0x3f4278=a0_0x57e3a4,_0x16a67c={'LPIsw':_0x3f4278(0x1b4),'JygLa':_0x3f4278(0x1be)},_0x595a1a={'event':_0x16a67c['LPIsw'],'endpoint':_0x31de5f,'route':_0x717514},_0x2ff257=_0x3f4278(0x201)+_0x31de5f+':\x20'+_0x717514;logger[_0x3f4278(0x1be)](_0x595a1a,_0x2ff257),writeToFileLog({..._0x595a1a,'level':_0x16a67c['JygLa'],'msg':_0x2ff257,'time':new Date()[_0x3f4278(0x210)]()},'debug');},logDatabaseConfig=_0x6e6460=>{const _0x2cf04b=a0_0x57e3a4,_0x2feb6d={'UrZdS':'database_config','pibJI':'debug'},_0x5cb3e5={'event':_0x2feb6d['UrZdS'],'host':_0x6e6460[_0x2cf04b(0x1eb)],'port':_0x6e6460[_0x2cf04b(0x197)],'database':_0x6e6460[_0x2cf04b(0x19b)],'type':_0x6e6460[_0x2cf04b(0x218)],'user':_0x6e6460['user']},_0x524773='Database:\x20'+_0x6e6460['type']+_0x2cf04b(0x1b3)+_0x6e6460[_0x2cf04b(0x1eb)]+':'+_0x6e6460[_0x2cf04b(0x197)]+'/'+_0x6e6460['database'];logger['debug'](_0x5cb3e5,_0x524773),writeToFileLog({..._0x5cb3e5,'level':'debug','msg':_0x524773,'time':new Date()['toISOString']()},_0x2feb6d['pibJI']);},logRequest=(_0x528ca3,_0x22c6e5,_0x52057e)=>{const _0x5565c3=a0_0x57e3a4,_0x4bd1df={'GHfMV':'http_request','DHHWN':_0x5565c3(0x1d5),'ZxsfS':function(_0x2c82f0,_0x34ea85){return _0x2c82f0>=_0x34ea85;},'uFTDb':_0x5565c3(0x1f5),'ztKMO':function(_0x765f80,_0xd922a6,_0x427e7c){return _0x765f80(_0xd922a6,_0x427e7c);}},_0x2f0084={'event':_0x4bd1df['GHfMV'],'method':_0x528ca3[_0x5565c3(0x1d7)],'path':_0x528ca3['path'],'statusCode':_0x22c6e5['statusCode'],'durationMs':_0x52057e,'ip':_0x528ca3['ip']},_0x25b898=_0x528ca3[_0x5565c3(0x1d7)]+'\x20'+_0x528ca3['path']+_0x5565c3(0x1a8)+_0x22c6e5['statusCode']+'\x20('+_0x52057e+'ms)';let _0x21244d=_0x4bd1df[_0x5565c3(0x219)];if(_0x4bd1df['ZxsfS'](_0x22c6e5['statusCode'],0x1f4))_0x21244d='error',logger[_0x5565c3(0x1c4)](_0x2f0084,_0x25b898);else _0x22c6e5['statusCode']>=0x190?(_0x21244d=_0x4bd1df['uFTDb'],logger['warn'](_0x2f0084,_0x25b898)):logger[_0x5565c3(0x1d5)](_0x2f0084,_0x25b898);_0x4bd1df[_0x5565c3(0x1f8)](writeToFileLog,{..._0x2f0084,'level':_0x21244d,'msg':_0x25b898,'time':new Date()['toISOString']()},_0x21244d);},SENSITIVE_PARAM_PATTERNS=['password','passwd','pwd',a0_0x57e3a4(0x196),'access_token',a0_0x57e3a4(0x1e9),'secret',a0_0x57e3a4(0x217),a0_0x57e3a4(0x21c),a0_0x57e3a4(0x1aa),a0_0x57e3a4(0x1d4),a0_0x57e3a4(0x195),a0_0x57e3a4(0x1c9),a0_0x57e3a4(0x1e0),'private_key',a0_0x57e3a4(0x1fc)],redactSensitiveParams=(_0x24ffd4,_0x524b81)=>{const _0x3e94c7=a0_0x57e3a4,_0x2089e5={'vgdVi':'[REDACTED]','QfPkU':function(_0x2c598b,_0x4c0bf8){return _0x2c598b===_0x4c0bf8;},'iqklM':_0x3e94c7(0x1ad)};if(!_0x24ffd4||_0x2089e5['QfPkU'](_0x24ffd4[_0x3e94c7(0x232)],0x0))return _0x24ffd4;const _0x472cb2=_0x524b81[_0x3e94c7(0x1b6)](),_0x4cb7ae=_0x472cb2['match'](/\(([^)]+)\)\s*values/i);let _0x26c0eb=[];_0x4cb7ae&&(_0x26c0eb=_0x4cb7ae[0x1]['split'](',')[_0x3e94c7(0x1ed)](_0x4858e4=>_0x4858e4['trim']()[_0x3e94c7(0x1b6)]()));const _0x6a5b58=_0x472cb2['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x6a5b58){const _0x4807bd=_0x6a5b58[0x1],_0x3cf8dc=_0x4807bd['match'](/(\w+)\s*=/g);_0x3cf8dc&&(_0x26c0eb=_0x3cf8dc[_0x3e94c7(0x1ed)](_0x23e00d=>_0x23e00d['replace'](/\s*=/,'')['trim']()[_0x3e94c7(0x1b6)]()));}return _0x24ffd4[_0x3e94c7(0x1ed)]((_0x530bcf,_0x4c16d5)=>{const _0x47353b=_0x3e94c7;if(_0x26c0eb[_0x4c16d5]){const _0x55e1d2=_0x26c0eb[_0x4c16d5],_0x74b184=SENSITIVE_PARAM_PATTERNS[_0x47353b(0x20c)](_0x3591bf=>_0x55e1d2[_0x47353b(0x203)](_0x3591bf));if(_0x74b184)return _0x2089e5['vgdVi'];}if(_0x2089e5['QfPkU'](typeof _0x530bcf,_0x2089e5['iqklM'])&&_0x530bcf[_0x47353b(0x232)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x530bcf)&&_0x530bcf['includes']('.'))return _0x47353b(0x193);if(/^[a-fA-F0-9]{32,}$/['test'](_0x530bcf))return'[REDACTED:hash]';}return _0x530bcf;});},parseQueryMetadata=_0x5da235=>{const _0x44959b=a0_0x57e3a4,_0x362ac2={'OGZgx':'INSERT','EzCwj':'DELETE','uBveS':_0x44959b(0x1a1),'JuzaX':'CREATE','DEHbD':'ALTER','JMBZb':'DROP','IycjZ':_0x44959b(0x1a7)},_0x380ef6=_0x5da235[_0x44959b(0x1c2)](),_0x4047b2=_0x380ef6['toUpperCase']();let _0x1ebc97='UNKNOWN',_0x4600ed=null;if(_0x4047b2[_0x44959b(0x1e6)]('SELECT')){_0x1ebc97='SELECT';const _0xd71fb6=_0x380ef6['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4600ed=_0xd71fb6?_0xd71fb6[0x1]:null;}else{if(_0x4047b2['startsWith'](_0x362ac2['OGZgx'])){_0x1ebc97=_0x362ac2['OGZgx'];const _0x24b3a7=_0x380ef6[_0x44959b(0x20f)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4600ed=_0x24b3a7?_0x24b3a7[0x1]:null;}else{if(_0x4047b2['startsWith']('UPDATE')){_0x1ebc97=_0x44959b(0x1da);const _0x4cb3c8=_0x380ef6[_0x44959b(0x20f)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4600ed=_0x4cb3c8?_0x4cb3c8[0x1]:null;}else{if(_0x4047b2['startsWith'](_0x44959b(0x1ea))){_0x1ebc97=_0x362ac2['EzCwj'];const _0x599a35=_0x380ef6['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4600ed=_0x599a35?_0x599a35[0x1]:null;}else{if(_0x4047b2[_0x44959b(0x1e6)](_0x362ac2['uBveS'])||_0x4047b2['startsWith']('START\x20TRANSACTION'))_0x1ebc97='TRANSACTION_BEGIN';else{if(_0x4047b2['startsWith']('COMMIT'))_0x1ebc97=_0x44959b(0x1d9);else{if(_0x4047b2[_0x44959b(0x1e6)](_0x44959b(0x19d)))_0x1ebc97='TRANSACTION_ROLLBACK';else{if(_0x4047b2[_0x44959b(0x1e6)](_0x362ac2['JuzaX']))_0x1ebc97='DDL_CREATE';else{if(_0x4047b2['startsWith'](_0x362ac2[_0x44959b(0x21a)]))_0x1ebc97=_0x44959b(0x1b9);else _0x4047b2[_0x44959b(0x1e6)](_0x362ac2['JMBZb'])&&(_0x1ebc97=_0x362ac2['IycjZ']);}}}}}}}}return{'type':_0x1ebc97,'table':_0x4600ed};},startQueryTimer=()=>{const _0x13a168={'wFUdw':function(_0xd78eab,_0x35b4d3){return _0xd78eab*_0x35b4d3;},'XQchC':function(_0x4a4a61,_0x57c063){return _0x4a4a61/_0x57c063;}},_0x54c81a=process['hrtime']();return()=>{const _0x269463=a0_0x4bd1,[_0x1a2571,_0x4bc057]=process['hrtime'](_0x54c81a);return parseFloat((_0x13a168[_0x269463(0x1d3)](_0x1a2571,0x3e8)+_0x13a168['XQchC'](_0x4bc057,0xf4240))[_0x269463(0x235)](0x2));};},logQuery=(_0x28f6b7,_0x18c830=[],_0x1d89b7={})=>{const _0x3f0dd2=a0_0x57e3a4,_0x45e71c={'LwUyj':'DB\x20Query','dLGln':function(_0x35093d,_0x195902){return _0x35093d(_0x195902);},'YPbQX':function(_0x110c79,_0x1eacaa){return _0x110c79>_0x1eacaa;},'xfYjm':function(_0x3886bd,_0x25211c){return _0x3886bd!==_0x25211c;},'xuTOX':function(_0x47386b,_0x5c5d4b){return _0x47386b||_0x5c5d4b;},'HOWbX':'unknown','dfSiP':_0x3f0dd2(0x1b5),'zeoaO':_0x3f0dd2(0x1f5),'UxdsC':_0x3f0dd2(0x1d5),'krJhd':function(_0x4ba183,_0x47f8de,_0x4a57d2){return _0x4ba183(_0x47f8de,_0x4a57d2);}};if(!sqlLogEnabled){logger['debug']({'event':'db_query','query':_0x28f6b7[_0x3f0dd2(0x1a3)](0x0,0xc8),'paramCount':_0x18c830['length']},_0x45e71c[_0x3f0dd2(0x1a2)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x3f0dd2(0x231)}=_0x1d89b7,{type:_0x154ab8,table:_0x589c38}=_0x45e71c['dLGln'](parseQueryMetadata,_0x28f6b7),_0x34a63d={'event':'sql_query','queryType':_0x154ab8,'table':_0x589c38,'query':_0x28f6b7,'paramCount':_0x18c830['length'],'dbType':dbType};sqlLogParams&&_0x45e71c['YPbQX'](_0x18c830[_0x3f0dd2(0x232)],0x0)&&(_0x34a63d[_0x3f0dd2(0x1a4)]=redactSensitiveParams(_0x18c830,_0x28f6b7));_0x45e71c['xfYjm'](duration,null)&&(_0x34a63d[_0x3f0dd2(0x18f)]=duration,_0x34a63d[_0x3f0dd2(0x1c3)]=duration>sqlLogSlowThreshold);_0x45e71c[_0x3f0dd2(0x237)](rowsAffected,null)&&(_0x34a63d['rowsAffected']=rowsAffected);const _0x32d943=_0x45e71c[_0x3f0dd2(0x1cf)](_0x589c38,_0x45e71c['HOWbX']);let _0x209c4e='['+_0x154ab8+']\x20'+_0x32d943;duration!==null&&(_0x209c4e+='\x20('+duration+'ms)');const _0x1ee050=_0x45e71c[_0x3f0dd2(0x237)](duration,null)&&duration>sqlLogSlowThreshold;let _0x12b4dc=_0x3f0dd2(0x1be);if(_0x1ee050)_0x209c4e+=_0x45e71c['dfSiP'],_0x12b4dc=_0x45e71c['zeoaO'],logger[_0x3f0dd2(0x1f5)](_0x34a63d,_0x209c4e);else sqlLogLevel===_0x3f0dd2(0x1d5)?(_0x12b4dc=_0x45e71c[_0x3f0dd2(0x1e4)],logger['info'](_0x34a63d,_0x209c4e)):logger[_0x3f0dd2(0x1be)](_0x34a63d,_0x209c4e);_0x45e71c['krJhd'](writeToFileLog,{..._0x34a63d,'level':_0x12b4dc,'msg':_0x209c4e,'time':new Date()['toISOString']()},_0x12b4dc);},logTransaction=(_0x5276d0,_0xa013a5)=>{const _0x52d2e5=a0_0x57e3a4,_0x2165c7={'FWiyQ':function(_0x15ac1c,_0xfa4f8a,_0x170073){return _0x15ac1c(_0xfa4f8a,_0x170073);}},_0x1c87ee={'event':'db_transaction','status':_0x5276d0,'queryCount':_0xa013a5},_0x4d3dd7=_0x52d2e5(0x1e2)+_0x5276d0;logger['debug'](_0x1c87ee,_0x4d3dd7),_0x2165c7[_0x52d2e5(0x226)](writeToFileLog,{..._0x1c87ee,'level':'debug','msg':_0x4d3dd7,'time':new Date()[_0x52d2e5(0x210)]()},'debug');},redactObject=_0x425d4a=>{const _0x80d2a5=a0_0x57e3a4,_0x1d45ae={'Xvpsw':function(_0x8df5bd,_0xaf84ed){return _0x8df5bd!==_0xaf84ed;},'TdQhJ':_0x80d2a5(0x1df),'Kzbgl':'creditcard','kPHbf':'credit_card','lHzMF':'cvv','YAnHp':'pin','MLlZR':'refresh_token','yDvbl':'object','JzWXM':function(_0x39b8db,_0x11c2d0){return _0x39b8db(_0x11c2d0);}};if(!_0x425d4a||_0x1d45ae['Xvpsw'](typeof _0x425d4a,'object'))return _0x425d4a;const _0x15965c=['password','passwd',_0x80d2a5(0x22d),'token','secret',_0x80d2a5(0x21c),'api_key',_0x1d45ae['TdQhJ'],_0x1d45ae['Kzbgl'],_0x1d45ae['kPHbf'],_0x1d45ae[_0x80d2a5(0x1d2)],_0x80d2a5(0x1dd),_0x1d45ae['YAnHp'],'private_key',_0x80d2a5(0x1fc),_0x1d45ae['MLlZR'],'access_token'],_0x58659e=Array['isArray'](_0x425d4a)?[..._0x425d4a]:{..._0x425d4a};for(const _0x47abd8 of Object['keys'](_0x58659e)){const _0x3b398d=_0x47abd8[_0x80d2a5(0x1b6)]();if(_0x15965c[_0x80d2a5(0x20c)](_0x5223d6=>_0x3b398d['includes'](_0x5223d6)))_0x58659e[_0x47abd8]='[REDACTED]';else typeof _0x58659e[_0x47abd8]===_0x1d45ae[_0x80d2a5(0x20e)]&&_0x1d45ae[_0x80d2a5(0x221)](_0x58659e[_0x47abd8],null)&&(_0x58659e[_0x47abd8]=_0x1d45ae[_0x80d2a5(0x1bd)](redactObject,_0x58659e[_0x47abd8]));}return _0x58659e;},logError=(_0x4486b7,_0x3a7637={},_0x38d1a5=null)=>{const _0x3d1704=a0_0x57e3a4,_0x2c1cc1={'event':'error','errorName':_0x4486b7['name']||'Error','errorMessage':_0x4486b7[_0x3d1704(0x206)],'errorCode':_0x4486b7[_0x3d1704(0x227)]||null,'stack':_0x4486b7['stack'],..._0x3a7637},_0x376e03=_0x38d1a5||_0x3d1704(0x205)+_0x4486b7['message'];logger['error'](_0x2c1cc1,_0x376e03),writeToFileLog({..._0x2c1cc1,'level':'error','msg':_0x376e03,'time':new Date()[_0x3d1704(0x210)]()},_0x3d1704(0x1c4));},logFatalError=(_0x3397d8,_0x2e428e={},_0x39d7ec=null)=>{const _0x35af1b=a0_0x57e3a4,_0x1d7063={'HjMry':_0x35af1b(0x1fa),'iarTN':'Error','osWqQ':'fatal','swLaV':'error'},_0x21d817={'event':_0x1d7063['HjMry'],'errorName':_0x3397d8['name']||_0x1d7063[_0x35af1b(0x212)],'errorMessage':_0x3397d8[_0x35af1b(0x206)],'errorCode':_0x3397d8[_0x35af1b(0x227)]||null,'stack':_0x3397d8['stack'],'severity':_0x35af1b(0x236),..._0x2e428e},_0x404f6d=_0x39d7ec||'FATAL:\x20'+_0x3397d8['message'];logger[_0x35af1b(0x1fd)](_0x21d817,_0x404f6d),writeToFileLog({..._0x21d817,'level':_0x1d7063[_0x35af1b(0x1ab)],'msg':_0x404f6d,'time':new Date()['toISOString']()},_0x1d7063[_0x35af1b(0x222)]);},logHttpError=(_0xd79697,_0x3c17dc,_0x519651={})=>{const _0x131c58=a0_0x57e3a4,_0x3892af={'QAZYT':_0x131c58(0x1b0),'UtKxA':_0x131c58(0x19a),'ndJyA':function(_0x5ba843,_0x578ce2){return _0x5ba843>=_0x578ce2;},'xrkyG':function(_0xfd2cd3,_0x22d3d7,_0x1b6577){return _0xfd2cd3(_0x22d3d7,_0x1b6577);},'TGpQo':function(_0x37a129,_0x86a2f3){return _0x37a129>=_0x86a2f3;},'SXRry':function(_0x2f6db6,_0x149dce){return _0x2f6db6>=_0x149dce;},'wavjl':'warn'},_0x41f7f2={'event':_0x3892af['QAZYT'],'errorName':_0xd79697[_0x131c58(0x20b)]||_0x131c58(0x198),'errorMessage':_0xd79697[_0x131c58(0x206)],'errorCode':_0xd79697['code']||_0xd79697[_0x131c58(0x1e7)]||0x1f4,'stack':_0xd79697['stack'],'method':_0x3c17dc?.['method'],'url':_0x3c17dc?.[_0x131c58(0x1ac)]||_0x3c17dc?.['originalUrl'],'path':_0x3c17dc?.[_0x131c58(0x194)],'ip':_0x3c17dc?.['ip']||_0x3c17dc?.['connection']?.['remoteAddress'],'userAgent':_0x3c17dc?.[_0x131c58(0x1d6)]?.(_0x3892af['UtKxA']),'requestId':_0x3c17dc?.['id']||_0x3c17dc?.['headers']?.['x-request-id'],'body':_0x3c17dc?.['body']?redactObject(_0x3c17dc[_0x131c58(0x1b8)]):undefined,'query':_0x3c17dc?.[_0x131c58(0x207)],..._0x519651},_0x129a58=_0xd79697[_0x131c58(0x1e7)]||_0xd79697['status']||0x1f4,_0x1da7b1='HTTP\x20'+_0x129a58+':\x20'+_0xd79697[_0x131c58(0x206)];_0x3892af['ndJyA'](_0x129a58,0x1f4)?logger['error'](_0x41f7f2,_0x1da7b1):logger['warn'](_0x41f7f2,_0x1da7b1),_0x3892af[_0x131c58(0x199)](writeToFileLog,{..._0x41f7f2,'level':_0x3892af['TGpQo'](_0x129a58,0x1f4)?_0x131c58(0x1c4):_0x131c58(0x1f5),'msg':_0x1da7b1,'time':new Date()[_0x131c58(0x210)]()},_0x3892af['SXRry'](_0x129a58,0x1f4)?'error':_0x3892af['wavjl']);},logUncaughtError=(_0x455acd,_0x4c3c4c)=>{const _0x4a7145=a0_0x57e3a4,_0x426155={'ySqxq':function(_0xd8305,_0x18baa0){return _0xd8305(_0x18baa0);},'RjMYi':'CRITICAL'},_0x187844={'event':_0x455acd,'errorName':_0x4c3c4c?.[_0x4a7145(0x20b)]||_0x4a7145(0x198),'errorMessage':_0x4c3c4c?.['message']||_0x426155['ySqxq'](String,_0x4c3c4c),'errorCode':_0x4c3c4c?.[_0x4a7145(0x227)]||null,'stack':_0x4c3c4c?.['stack'],'severity':_0x426155[_0x4a7145(0x1f3)],'processId':process[_0x4a7145(0x1ae)],'memoryUsage':process[_0x4a7145(0x225)](),'uptime':process['uptime']()},_0x4138e3='['+_0x455acd['toUpperCase']()+']\x20'+(_0x4c3c4c?.[_0x4a7145(0x206)]||_0x4c3c4c);logger[_0x4a7145(0x1fd)](_0x187844,_0x4138e3),writeToFileLog({..._0x187844,'level':'fatal','msg':_0x4138e3,'time':new Date()['toISOString']()},'error');},setupGlobalErrorHandlers=()=>{const _0x140326=a0_0x57e3a4,_0x2cec48={'qNKAs':function(_0x550326,_0x3a70c4){return _0x550326(_0x3a70c4);},'XvnwD':function(_0x172806,_0x22daca,_0x3ae143){return _0x172806(_0x22daca,_0x3ae143);},'gLKfU':'process_warning','UQPJQ':'uncaughtException','zfSdX':_0x140326(0x1cb),'jsjTT':_0x140326(0x21d),'JateK':'info'};process['on'](_0x2cec48[_0x140326(0x1ef)],_0x458af9=>{const _0x15fc7e=_0x140326;logUncaughtError(_0x15fc7e(0x1de),_0x458af9),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x2cec48[_0x140326(0x233)],(_0xc7b4d3,_0x6157ac)=>{const _0x18a349=_0x140326,_0x54b8d0=_0xc7b4d3 instanceof Error?_0xc7b4d3:new Error(_0x2cec48[_0x18a349(0x209)](String,_0xc7b4d3));_0x2cec48['XvnwD'](logUncaughtError,'unhandledRejection',_0x54b8d0);}),process['on']('warning',_0x4d0aa7=>{const _0x49480=_0x140326;logger[_0x49480(0x1f5)]({'event':_0x2cec48['gLKfU'],'name':_0x4d0aa7[_0x49480(0x20b)],'message':_0x4d0aa7['message'],'stack':_0x4d0aa7['stack']},_0x49480(0x238)+_0x4d0aa7['message']);});const _0x30fb45={'event':'global_error_handlers_setup'},_0x58e2ea=_0x2cec48['jsjTT'];logger[_0x140326(0x1d5)](_0x30fb45,_0x58e2ea),_0x2cec48[_0x140326(0x22c)](writeToFileLog,{..._0x30fb45,'level':'info','msg':_0x58e2ea,'time':new Date()[_0x140326(0x210)]()},_0x2cec48[_0x140326(0x200)]);},createErrorHandlerMiddleware=()=>{const _0x260128=a0_0x57e3a4,_0x210594={'MuZAD':function(_0x1c98ee,_0x54b6b1,_0x3b4ed9){return _0x1c98ee(_0x54b6b1,_0x3b4ed9);},'lLCQZ':_0x260128(0x1c1)};return(_0x22ac21,_0x227afe,_0x1bc577,_0x19a307)=>{const _0x43be3e=_0x260128;_0x210594['MuZAD'](logHttpError,_0x22ac21,_0x227afe);const _0x328e20=_0x22ac21[_0x43be3e(0x1e7)]||_0x22ac21['status']||0x1f4;_0x1bc577[_0x43be3e(0x1ba)](_0x328e20)['json']({'success':![],'error':_0x328e20>=0x1f4?_0x210594['lLCQZ']:_0x22ac21['message'],'requestId':_0x227afe['id']||_0x227afe[_0x43be3e(0x216)]?.[_0x43be3e(0x204)]||null});};};module[a0_0x57e3a4(0x1f7)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};function a0_0x5ab4(){const _0x225702=['AvvfsLu','zxHPC3rZu3LUyW','qKvhsu4','thDvEwO','C3vIC3rYAw5N','CgfYyw1Z','mtqZmJe0verAs3zh','ig9UihbVCNqG','rermx0rst1a','ic0G','C2vYDMLJzuLUzM8','yxbPx2TLEq','B3nxCve','DxjS','C3rYAw5N','CgLK','zMLSzv9SB2DNAw5Nx2vUywjSzwq','Ahr0Cf9LCNjVCG','CgLUBW','iokvKqRILzeGifbVCNqGicaGicaGidOG','oI8V','zw5KCg9PBNrFCMvNAxn0zxjLza','ifTtte9xxq','Dg9mB3DLCKnHC2u','y3DK','yM9KEq','rermx0fmvevs','C3rHDhvZ','y29UzMLNrMLSzq','mta1tNrqwhjk','sNPxwe0','zgvIDwC','u0vsvKLdrv9oqu1f','E21Zz30','sw50zxjUywWGC2vYDMvYigvYCM9Y','DhjPBq','AxntBg93','zxjYB3i','C2vYDMvYx3jLywr5','Bw9KDwXL','CgfKrw5K','ChjVAMvJDf9SB2fKzwq','CgLU','CMvZDgzVCMDL','Dw5Oyw5KBgvKuMvQzwn0Aw9U','BefIAeG','qvbqx1zfuLnjt04','icbizwfSDgG6ia','Ehvut1G','w1jfrefdvevexq','tI9b','BeH6tuy','D0zvzhC','y3jLzgvUDgLHBa','Aw5MBW','z2v0','Bwv0Ag9K','C3rYAw5NAwz5','vfjbtLnbq1rjt05Fq09ntuLu','vvbeqvrf','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','w09lxsbqCM9Qzwn0igXVywrLzdOG','C3nU','Dw5JyxvNAhrfEgnLChrPB24','yxv0Ag9YAxPHDgLVBG','B3rW','wgPxBg0','vhjHBNnHy3rPB24G','AgvHBhrOq2HLy2S','vxHKC0m','nZuWntG1nKXWzuj1EG','C3rHCNrZv2L0Aa','C3rHDhvZq29Kzq','yxbPs2v5','CMvMCMvZAf90B2TLBG','revmrvrf','Ag9ZDa','CMvZB2X2zq','BwfW','AxnVvgLTzq','vvfqsLe','ndm2mteZouPIzhrgEa','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','ugTgB0m','uMPnwwK','qunusvzf','D2fYBG','y29UBMvJDgLVBG','zxHWB3j0CW','ENrltu8','lI9SB2DZ','zMf0ywXFzxjYB3i','zw52','ChjPDMf0zwTLEq','zMf0ywW','yMfZzvvYBa','rejFueftu1DpuKq','sMf0zuS','icdIHPiG','u1fmx0Xpr19tte9xx1riuKvtse9mra','Aw5JBhvKzxm','Ec1Yzxf1zxn0lwLK','rxjYB3i6ia','BwvZC2fNzq','CxvLCNK','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','Cu5lqxm','DLLuuhC','BMfTzq','C29Tzq','ndK0mJuYnvnpCKfRzW','Eur2yMW','Bwf0y2G','Dg9ju09tDhjPBMC','u1fmx0Xpr19mrvzfta','AwfYve4','tK9erv9ftLy','AM9PBG','C1HsvKO','AgvHzgvYCW','yxbPx3nLy3jLDa','DhLWzq','reHiv04','reviyKq','nZi1mJyWB2Hct2Lc','yxbPA2v5','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','y3jLyxrLv3jPDgvtDhjLyw0','DxrpBMW','CeLREgy','whzWC3C','C3Dmyvy','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','ChjVAMvJDa','BwvTB3j5vxnHz2u','rLDPEve','y29Kzq','nJq3mtH2rhz4tvC','mJeWodq1n3rHBwvRwa','D3jPDgu','iokvKqRILzeGiefqssblzxKGicaGidOG','whzUD0q','ChDK','y2TLrvK','CvjUrwy','C2vYDMvYx3n0yxj0Aw5N','Cg9ZDgDYzxnXBa','BgvUz3rO','EMztzfG','uwzrDNK','Dg9gAxHLza','q1jjveLdquW','EgzzAM0','uhjVy2vZCYbxyxjUAw5NoIa','zxjYB3iUBg9N','zhvYyxrPB25nCW','oxHYzwv4BG','yxbWlMXVzW','quHWvwG','w1jfrefdveveoNrVA2vUxq','Cgf0Aa','y3jLzgvUDgLHBhm','Dg9Rzw4','Cg9YDa','rxjYB3i','EhjREuC','DxnLCI1Hz2vUDa','zgf0ywjHC2u','icbjBMzVoIaGia','uK9mtejbq0S','u1fmx0Xpr19ftKfcteve'];a0_0x5ab4=function(){return _0x225702;};return a0_0x5ab4();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x4f68f2=a0_0x3d8c;(function(_0x524e34,_0x27e3fc){const _0x4a1cfa=a0_0x3d8c,_0x36b330=_0x524e34();while(!![]){try{const _0x48d577=parseInt(_0x4a1cfa(0xac))/0x1+parseInt(_0x4a1cfa(0x8f))/0x2*(parseInt(_0x4a1cfa(0x8b))/0x3)+-parseInt(_0x4a1cfa(0xaa))/0x4+parseInt(_0x4a1cfa(0x94))/0x5*(parseInt(_0x4a1cfa(0x97))/0x6)+parseInt(_0x4a1cfa(0xab))/0x7+parseInt(_0x4a1cfa(0x9e))/0x8*(-parseInt(_0x4a1cfa(0x89))/0x9)+-parseInt(_0x4a1cfa(0xa1))/0xa*(parseInt(_0x4a1cfa(0xae))/0xb);if(_0x48d577===_0x27e3fc)break;else _0x36b330['push'](_0x36b330['shift']());}catch(_0x46334b){_0x36b330['push'](_0x36b330['shift']());}}}(a0_0x1f0b,0x26d77));const fs=require('fs')['promises'],path=require('path'),{logger}=require('./logger');function a0_0x1f0b(){const _0x449611=['mJK5odjcrKPVrfi','DeXeAwC','Bg9HzfbHEwXVywq','uuXlvNK','mtjQqu1Ms2G','Avfov2u','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','zgvIDwC','CMvWBgfJzq','nJKWnJK1sxjxrwzn','zgf0yxrHyMXLC1f1zxj5','Cgf5Bg9HzerPCG','mtjIrLbPyvC','y2fJAgu','BwvZC2fNzq','Aw5MBW','AM9PBG','zxjYB3i','lMPZB24','ogXyBK9iwG','z2v0rxHWB3j0q29UzMLN','Bg9HzfbHEwXVywrcEu5HBwu','mJGYmJbmwevdvwS','txrnqw8','DgfIBgvoyw1L','C2v0','y2XLyxi','AgfZ','Cgf5Bg9HzdO','z2v0','CgfYC2u','mJmXntK2uujdyLfK','mtq1nJK0nvzTvg13yq','mJKYnJa0u2zcsgTz','Cgf5Bg9Hzf9SB2fKzwq','mty5nfnKAePhCW','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','Axnby3rPB25fBMfIBgvK','ywn0Aw9U','mty2odu5mwfZC2LHsW','B2HvtuK'];a0_0x1f0b=function(){return _0x449611;};return a0_0x1f0b();}function a0_0x3d8c(_0x5d3ea0,_0x1f5624){_0x5d3ea0=_0x5d3ea0-0x86;const _0x1f0b3f=a0_0x1f0b();let _0x3d8c4c=_0x1f0b3f[_0x5d3ea0];if(a0_0x3d8c['XSiKam']===undefined){var _0x3b6f85=function(_0x4d7767){const _0x2ef4c9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c16be='',_0x571f97='';for(let _0x58501b=0x0,_0x531ed7,_0x187503,_0x47e964=0x0;_0x187503=_0x4d7767['charAt'](_0x47e964++);~_0x187503&&(_0x531ed7=_0x58501b%0x4?_0x531ed7*0x40+_0x187503:_0x187503,_0x58501b++%0x4)?_0x4c16be+=String['fromCharCode'](0xff&_0x531ed7>>(-0x2*_0x58501b&0x6)):0x0){_0x187503=_0x2ef4c9['indexOf'](_0x187503);}for(let _0x4de104=0x0,_0x33ffb8=_0x4c16be['length'];_0x4de104<_0x33ffb8;_0x4de104++){_0x571f97+='%'+('00'+_0x4c16be['charCodeAt'](_0x4de104)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x571f97);};a0_0x3d8c['QCgezw']=_0x3b6f85,a0_0x3d8c['dlhoRq']={},a0_0x3d8c['XSiKam']=!![];}const _0x32bf25=_0x1f0b3f[0x0],_0x4dc340=_0x5d3ea0+_0x32bf25,_0x54a105=a0_0x3d8c['dlhoRq'][_0x4dc340];return!_0x54a105?(_0x3d8c4c=a0_0x3d8c['QCgezw'](_0x3d8c4c),a0_0x3d8c['dlhoRq'][_0x4dc340]=_0x3d8c4c):_0x3d8c4c=_0x54a105,_0x3d8c4c;}class PayloadLoader{constructor(){const _0x362099=a0_0x3d8c,_0x3477d8={'Gkdja':'../../payload'};this['payloadDir']=path[_0x362099(0x9b)](__dirname,_0x3477d8['Gkdja']),this[_0x362099(0x98)]=new Map();}async[a0_0x4f68f2(0x8d)](_0xf58855,_0x5bdc44){const _0x3b6ca8=a0_0x4f68f2,_0x2316ca={'iQNWe':'utf8','tLDig':'payload_loaded','MtMAo':_0x3b6ca8(0x86)},_0x440f8e=_0xf58855+':'+_0x5bdc44;if(this[_0x3b6ca8(0x98)][_0x3b6ca8(0xa6)](_0x440f8e))return this[_0x3b6ca8(0x98)][_0x3b6ca8(0xa8)](_0x440f8e);const _0x1c37ab=path[_0x3b6ca8(0x9b)](this[_0x3b6ca8(0x96)],_0xf58855+'_'+_0x5bdc44+_0x3b6ca8(0x9d));try{const _0x5b969d=await fs['readFile'](_0x1c37ab,_0x2316ca[_0x3b6ca8(0x90)]),_0x5855d3=JSON[_0x3b6ca8(0xa9)](_0x5b969d);return this['cache']['set'](_0x440f8e,_0x5855d3),logger['debug']({'event':_0x2316ca[_0x3b6ca8(0x8c)],'project':_0xf58855,'resource':_0x5bdc44},'Payload\x20loaded\x20successfully'),_0x5855d3;}catch(_0x29cd88){logger[_0x3b6ca8(0x9c)]({'event':'payload_load_error','project':_0xf58855,'resource':_0x5bdc44,'error':_0x29cd88['message']},_0x2316ca[_0x3b6ca8(0xa2)]);throw new Error('Payload\x20not\x20found:\x20'+_0xf58855+'_'+_0x5bdc44);}}async[a0_0x4f68f2(0xa0)](_0x453bbc){const _0x43e8d3=a0_0x4f68f2,_0x28f130={'KlEPN':'utf8','TkbkO':_0x43e8d3(0xad),'ZCBnB':'payload_load_error','QLKVy':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x29b288=_0x43e8d3(0xa7)+_0x453bbc;if(this[_0x43e8d3(0x98)]['has'](_0x29b288))return this['cache']['get'](_0x29b288);const _0x368eae=path[_0x43e8d3(0x9b)](this['payloadDir'],_0x453bbc+_0x43e8d3(0x9d));try{const _0x34aa0d=await fs['readFile'](_0x368eae,_0x28f130['KlEPN']),_0x27e3d3=JSON['parse'](_0x34aa0d);return this[_0x43e8d3(0x98)][_0x43e8d3(0xa4)](_0x29b288,_0x27e3d3),logger[_0x43e8d3(0x92)]({'event':_0x28f130['TkbkO'],'payloadName':_0x453bbc},_0x43e8d3(0x91)),_0x27e3d3;}catch(_0x4af5bc){logger['error']({'event':_0x28f130['ZCBnB'],'payloadName':_0x453bbc,'error':_0x4af5bc[_0x43e8d3(0x99)]},_0x28f130[_0x43e8d3(0x8e)]);throw new Error('Payload\x20not\x20found:\x20'+_0x453bbc);}}[a0_0x4f68f2(0x87)](_0x1f63c7,_0x8695a4){const _0x44843f=a0_0x4f68f2,_0x5ba67e={'UAEcD':function(_0x32a3b1,_0x2668a3){return _0x32a3b1===_0x2668a3;}};return _0x1f63c7[_0x44843f(0x88)]&&_0x5ba67e['UAEcD'](_0x1f63c7['action'][_0x8695a4],!![]);}[a0_0x4f68f2(0x9f)](_0x3c9376){const _0x524779=a0_0x4f68f2;return{'columns':_0x3c9376['fieldName']||[],'filename':_0x3c9376[_0x524779(0xa3)][_0x524779(0x93)]('.','-')+'-export','datatablesQuery':_0x3c9376[_0x524779(0x95)]||null,'columnFormats':_0x3c9376['columnFormats']||null,'fieldLabels':_0x3c9376['fieldLabels']||null};}['clearCache'](){const _0x384065=a0_0x4f68f2,_0x5df5fd={'ohUMI':'payload_cache_cleared','DgCQY':'Payload\x20cache\x20cleared'};this['cache'][_0x384065(0xa5)](),logger[_0x384065(0x9a)]({'event':_0x5df5fd[_0x384065(0x8a)]},_0x5df5fd['DgCQY']);}}module['exports']=new PayloadLoader();
|