@restforgejs/platform 4.3.2 → 4.3.4
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 +0 -1
- package/generators/cli/endpoint/create.js +1 -1
- package/generators/lib/generators/model-generator.js +1 -1
- package/generators/lib/payload/endpoint-schema-validator.js +11 -1
- package/generators/lib/payload/payload-runner.js +3 -3
- package/generators/lib/payload/schema-diff.js +186 -3
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/generators/lib/utils/conflict-checker.js +9 -57
- package/generators/lib/utils/database-introspector.js +84 -0
- package/generators/lib/utils/file-utils.js +0 -159
- package/generators/lib/utils/payload-processor.js +21 -112
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a0_0x2675f0=a0_0x1637;(function(_0x4a69cd,_0x39f930){const _0x74ca32=a0_0x1637,_0x45942e=_0x4a69cd();while(!![]){try{const _0x195b5d=parseInt(_0x74ca32(0x112))/0x1+-parseInt(_0x74ca32(0x111))/0x2*(-parseInt(_0x74ca32(0x110))/0x3)+-parseInt(_0x74ca32(0xfe))/0x4+parseInt(_0x74ca32(0x10a))/0x5+-parseInt(_0x74ca32(0x117))/0x6*(-parseInt(_0x74ca32(0x105))/0x7)+-parseInt(_0x74ca32(0x10b))/0x8+-parseInt(_0x74ca32(0x10d))/0x9;if(_0x195b5d===_0x39f930)break;else _0x45942e['push'](_0x45942e['shift']());}catch(_0x315d9f){_0x45942e['push'](_0x45942e['shift']());}}}(a0_0x3300,0xafad1));function a0_0x1637(_0x1f5ec4,_0x3330a5){_0x1f5ec4=_0x1f5ec4-0xfc;const _0x33003f=a0_0x3300();let _0x16376e=_0x33003f[_0x1f5ec4];if(a0_0x1637['GofLsK']===undefined){var _0x4910ec=function(_0x2a3744){const _0x1535eb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x368f37='',_0x2c35f6='';for(let _0x403e4d=0x0,_0x152926,_0x6f7913,_0x386386=0x0;_0x6f7913=_0x2a3744['charAt'](_0x386386++);~_0x6f7913&&(_0x152926=_0x403e4d%0x4?_0x152926*0x40+_0x6f7913:_0x6f7913,_0x403e4d++%0x4)?_0x368f37+=String['fromCharCode'](0xff&_0x152926>>(-0x2*_0x403e4d&0x6)):0x0){_0x6f7913=_0x1535eb['indexOf'](_0x6f7913);}for(let _0x2e88cd=0x0,_0x21b137=_0x368f37['length'];_0x2e88cd<_0x21b137;_0x2e88cd++){_0x2c35f6+='%'+('00'+_0x368f37['charCodeAt'](_0x2e88cd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2c35f6);};a0_0x1637['HYMjiI']=_0x4910ec,a0_0x1637['rWfMnl']={},a0_0x1637['GofLsK']=!![];}const _0x302367=_0x33003f[0x0],_0x2e97a3=_0x1f5ec4+_0x302367,_0x544fbb=a0_0x1637['rWfMnl'][_0x2e97a3];return!_0x544fbb?(_0x16376e=a0_0x1637['HYMjiI'](_0x16376e),a0_0x1637['rWfMnl'][_0x2e97a3]=_0x16376e):_0x16376e=_0x544fbb,_0x16376e;}class DateTimeParser{static[a0_0x2675f0(0x113)](_0x3c65b1,_0x342273,_0x2658ab){const _0x1a5e54=a0_0x2675f0;if(!_0x3c65b1||_0x3c65b1==='')return null;try{if(_0x2658ab==='date')return this[_0x1a5e54(0xfd)](_0x3c65b1,_0x342273);else{if(_0x2658ab==='timestamp')return this['parseTimestamp'](_0x3c65b1,_0x342273);else{if(_0x2658ab==='time')return this['parseTime'](_0x3c65b1,_0x342273);}}return _0x3c65b1;}catch(_0x57df5e){return console['error']('Error\x20parsing\x20datetime:\x20'+_0x57df5e['message']),null;}}static['parseDate'](_0x109512,_0x7aa8dc){const _0x26e420=a0_0x2675f0,_0x293167={'tkuTG':function(_0x136102,_0x3cfe4f){return _0x136102+_0x3cfe4f;},'nPFQp':'month','UUAjQ':'year','AktEw':'day'};if(!_0x7aa8dc||_0x7aa8dc==='yyyy-MM-dd')return _0x109512;const _0x22b61a={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x26e420(0x10f),_0x293167['nPFQp'],_0x293167['UUAjQ']]},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':['day',_0x293167['nPFQp'],_0x293167['UUAjQ']]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x293167[_0x26e420(0x10c)],_0x26e420(0x10f),_0x26e420(0x103)]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x293167['UUAjQ'],_0x26e420(0x10e),_0x293167[_0x26e420(0x115)]]}},_0x15b7ed=_0x22b61a[_0x7aa8dc];if(!_0x15b7ed)return console[_0x26e420(0xfc)](_0x26e420(0xff)+_0x7aa8dc+',\x20returning\x20null'),null;const _0x7c091f=_0x109512['match'](_0x15b7ed[_0x26e420(0x109)]);if(!_0x7c091f)return console[_0x26e420(0xfc)]('Date\x20value\x20\x22'+_0x109512+'\x22\x20doesn\x27t\x20match\x20format\x20\x22'+_0x7aa8dc+'\x22'),null;const _0x4263d2={'day':null,'month':null,'year':null};return _0x15b7ed[_0x26e420(0x107)]['forEach']((_0x294974,_0x3d6881)=>{const _0x5c0752=_0x26e420;_0x4263d2[_0x294974]=_0x7c091f[_0x293167[_0x5c0752(0x116)](_0x3d6881,0x1)];}),_0x4263d2['year']+'-'+_0x4263d2[_0x26e420(0x10e)]+'-'+_0x4263d2[_0x26e420(0x10f)];}static['parseTimestamp'](_0x4e0ad4,_0x539981){const _0x37e8ae=a0_0x2675f0,_0x3ae5ca={'lgllu':function(_0x468444,_0x4507ad){return _0x468444===_0x4507ad;}};if(!_0x539981||_0x3ae5ca['lgllu'](_0x539981,'yyyy-MM-dd\x20HH:mm:ss'))return _0x4e0ad4;const _0x54dbe5=_0x4e0ad4['split']('\x20');if(_0x54dbe5[_0x37e8ae(0x104)]!==0x2)return console[_0x37e8ae(0xfc)]('Invalid\x20timestamp\x20format:\x20'+_0x4e0ad4),null;const [_0x2c85e5,_0x2e9023]=_0x54dbe5,_0x233377=_0x539981[_0x37e8ae(0x106)]('\x20')[0x0],_0x2048e0=this['parseDate'](_0x2c85e5,_0x233377);if(!_0x2048e0)return null;const _0x2edc2b=_0x2e9023[_0x37e8ae(0x106)](':')['length']===0x2?_0x2e9023+_0x37e8ae(0x102):_0x2e9023;return _0x2048e0+'\x20'+_0x2edc2b;}static[a0_0x2675f0(0x100)](_0x3aaa34,_0x47c542){const _0x3f96aa=a0_0x2675f0,_0x55e536={'TFqbN':_0x3f96aa(0x101),'eNMGn':function(_0x4ef093,_0x19388e){return _0x4ef093===_0x19388e;},'hklbv':'HH:mm'};if(!_0x47c542||_0x47c542===_0x55e536['TFqbN'])return _0x3aaa34;if(_0x55e536['eNMGn'](_0x47c542,_0x55e536[_0x3f96aa(0x114)])){if(_0x3aaa34['match'](/^\d{2}:\d{2}$/))return _0x3aaa34+_0x3f96aa(0x102);}return _0x3aaa34;}}function a0_0x3300(){const _0x2b006c=['CgfYC2veyxrL','mta5ndi5mLzIt25IuW','vw5RBM93BIbKyxrLigzVCM1HDdOG','CgfYC2vuAw1L','seG6Bw06C3m','oJaW','EwvHCG','BgvUz3rO','ndeWntG3murgBNbvAG','C3bSAxq','B3jKzxi','zxHWB3j0CW','Cgf0DgvYBG','mZa0nZGWnvrZse9VvG','mZuXmJm2mgTjtLzRDG','BLbguxa','mty5mtm0mZbhuNbpENO','Bw9UDgG','zgf5','mtHxsuvfDNu','mZyZmZqWywLmwgDH','mtaYntmYm01vrgrtta','CgfYC2u','AgTSyNy','qwT0rxC','DgT1veC','nLbjq2z4DG','D2fYBG'];a0_0x3300=function(){return _0x2b006c;};return a0_0x3300();}module[a0_0x2675f0(0x108)]=DateTimeParser;
|
package/src/core/utils/db.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x4620e4=a0_0x32a5;(function(_0x346de7,_0xe3021f){const _0x1b7945=a0_0x32a5,_0x5572df=_0x346de7();while(!![]){try{const _0x4db17c=-parseInt(_0x1b7945(0x100))/0x1*(-parseInt(_0x1b7945(0x11d))/0x2)+parseInt(_0x1b7945(0x10d))/0x3*(parseInt(_0x1b7945(0x12f))/0x4)+parseInt(_0x1b7945(0x109))/0x5+-parseInt(_0x1b7945(0xff))/0x6+parseInt(_0x1b7945(0x11e))/0x7+parseInt(_0x1b7945(0x119))/0x8+parseInt(_0x1b7945(0xf8))/0x9*(-parseInt(_0x1b7945(0xfa))/0xa);if(_0x4db17c===_0xe3021f)break;else _0x5572df['push'](_0x5572df['shift']());}catch(_0x2d513c){_0x5572df['push'](_0x5572df['shift']());}}}(a0_0x8bed,0xd2171));function a0_0x32a5(_0x8167ae,_0x1b8850){_0x8167ae=_0x8167ae-0xec;const _0x8bed9f=a0_0x8bed();let _0x32a557=_0x8bed9f[_0x8167ae];if(a0_0x32a5['lkLGAW']===undefined){var _0x32748a=function(_0x37ba06){const _0x2ba4af='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x461876='',_0x11a921='';for(let _0x37b2d1=0x0,_0x2f67d0,_0x23b2c3,_0x403379=0x0;_0x23b2c3=_0x37ba06['charAt'](_0x403379++);~_0x23b2c3&&(_0x2f67d0=_0x37b2d1%0x4?_0x2f67d0*0x40+_0x23b2c3:_0x23b2c3,_0x37b2d1++%0x4)?_0x461876+=String['fromCharCode'](0xff&_0x2f67d0>>(-0x2*_0x37b2d1&0x6)):0x0){_0x23b2c3=_0x2ba4af['indexOf'](_0x23b2c3);}for(let _0x3eb4bb=0x0,_0x3e1bb9=_0x461876['length'];_0x3eb4bb<_0x3e1bb9;_0x3eb4bb++){_0x11a921+='%'+('00'+_0x461876['charCodeAt'](_0x3eb4bb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x11a921);};a0_0x32a5['FqNApi']=_0x32748a,a0_0x32a5['eldKYy']={},a0_0x32a5['lkLGAW']=!![];}const _0x2e625b=_0x8bed9f[0x0],_0x2e934a=_0x8167ae+_0x2e625b,_0x41dcc8=a0_0x32a5['eldKYy'][_0x2e934a];return!_0x41dcc8?(_0x32a557=a0_0x32a5['FqNApi'](_0x32a557),a0_0x32a5['eldKYy'][_0x2e934a]=_0x32a557):_0x32a557=_0x41dcc8,_0x32a557;}const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger'),dbConfig={'host':process['env'][a0_0x4620e4(0xf0)]||'192.168.100.1','port':parseInt(process[a0_0x4620e4(0x107)][a0_0x4620e4(0x122)]||a0_0x4620e4(0x116)),'user':process[a0_0x4620e4(0x107)]['DB_USER']||'postgres','password':process['env']['DB_PASSWORD']||'postgres1234','database':process[a0_0x4620e4(0x107)][a0_0x4620e4(0x121)]||a0_0x4620e4(0xef)};logDatabaseConfig({'host':dbConfig[a0_0x4620e4(0x129)],'port':dbConfig[a0_0x4620e4(0x106)],'database':dbConfig['database'],'type':'postgresql','user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x493620=a0_0x4620e4;return isPoolClosed&&(logger[_0x493620(0xf5)]({'event':'db_pool_recreate'},'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x319c31,_0x105e60=[]){const _0x454a3e=a0_0x4620e4,_0x5b2100={'mYfra':function(_0x440402){return _0x440402();},'iqoEB':'postgresql','WoqqC':function(_0x25c0cc){return _0x25c0cc();},'ceEhu':function(_0x3c68c5,_0x8f2bd6,_0x3df299,_0x5f024e){return _0x3c68c5(_0x8f2bd6,_0x3df299,_0x5f024e);},'ubNBp':'sql_error'},_0x18c8fa=startQueryTimer();try{const _0x23d783=_0x5b2100[_0x454a3e(0x104)](getPool),_0x64e1f4=await _0x23d783['connect']();try{const _0x29c5ca=await _0x64e1f4['query'](_0x319c31,_0x105e60),_0x328aa7=_0x5b2100[_0x454a3e(0x104)](_0x18c8fa);return logQuery(_0x319c31,_0x105e60,{'duration':_0x328aa7,'rowsAffected':_0x29c5ca[_0x454a3e(0x112)],'dbType':_0x5b2100[_0x454a3e(0x114)]}),_0x29c5ca[_0x454a3e(0x130)];}finally{_0x64e1f4[_0x454a3e(0x10f)]();}}catch(_0x3cfd54){const _0x632dab=_0x5b2100['WoqqC'](_0x18c8fa);_0x5b2100['ceEhu'](logError,_0x3cfd54,{'event':_0x5b2100['ubNBp'],'query':_0x319c31[_0x454a3e(0x111)](0x0,0x1f4),'paramCount':_0x105e60[_0x454a3e(0x110)],'durationMs':_0x632dab,'code':_0x3cfd54[_0x454a3e(0xfe)],'dbType':_0x5b2100['iqoEB']},'SQL\x20Error:\x20'+_0x3cfd54[_0x454a3e(0x10c)]);throw _0x3cfd54;}}function formatResponse(_0x57f3f1,_0x48e9e2=null){const _0x307a20=a0_0x4620e4,_0x2a16c1={'kdCQu':'UNKNOWN_ERROR','NMgfJ':_0x307a20(0x11f),'PuZzu':'SYNTAX_ERROR','KmMiz':function(_0x11cc55,_0x36a72c){return _0x11cc55===_0x36a72c;},'kmHEi':'TABLE_NOT_FOUND','vzPRz':_0x307a20(0x11a),'hQPqL':function(_0x2e9c91,_0x11efc4){return _0x2e9c91===_0x11efc4;}};if(_0x48e9e2){let _0x3e5a2f=_0x2a16c1['kdCQu'];if(_0x48e9e2[_0x307a20(0x10c)]['includes'](_0x2a16c1['NMgfJ']))_0x3e5a2f=_0x2a16c1['PuZzu'];else{if(_0x2a16c1[_0x307a20(0xf9)](_0x48e9e2[_0x307a20(0xfe)],_0x307a20(0x131)))_0x3e5a2f=_0x2a16c1[_0x307a20(0x113)];else{if(_0x2a16c1[_0x307a20(0xf9)](_0x48e9e2['code'],'28P01'))_0x3e5a2f=_0x2a16c1[_0x307a20(0x127)];else(_0x2a16c1[_0x307a20(0xf9)](_0x48e9e2['code'],_0x307a20(0x115))||_0x48e9e2['code']==='08001')&&(_0x3e5a2f=_0x307a20(0xf3));}}return{'success':![],'message':'Database\x20error:\x20'+_0x48e9e2[_0x307a20(0x10c)],'count':-0x1,'error_code':_0x3e5a2f};}else{if(!_0x57f3f1||_0x2a16c1[_0x307a20(0xf4)](_0x57f3f1['length'],0x0))return{'success':!![],'message':'No\x20data\x20found.','count':0x0,'data':[]};return{'success':!![],'message':_0x307a20(0x12e)+_0x57f3f1[_0x307a20(0x110)]+_0x307a20(0x125)+(_0x57f3f1['length']===0x1?'':'s')+'.','count':_0x57f3f1[_0x307a20(0x110)],'data':_0x57f3f1};}}function a0_0x8bed(){const _0x5b6622=['DvnUsNC','mti2qNr0tg9P','s21nAxO','mtu4odK0meHAufv1Ea','DhjHBNnHy3rPB25FzxjYB3i','DhjHBNnHy3rPB25Fy29TCgXLDgu','t1vSzvO','y29Kzq','nJaWnJa0mMHswxDjwa','nZfuq1DZALK','rwnfz1q','CxvLCNK','s1DXvhq','BvLMCMe','zgjFCg9VBf9JBg9Zzv9LCNjVCG','Cg9YDa','zw52','y29TBwL0','ntG5mZm4nwXAvg5ACa','CM9SBgjHy2TFzxjYB3i','AvrdwLu','BwvZC2fNzq','nKH3uNDwyq','BxmSia','CMvSzwfZzq','BgvUz3rO','C3vIC3rYAw5N','CM93q291BNq','A21irwK','AxfVrui','mdGWmdy','ntqZmG','v3vvtvO','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','mJyXnJu5mNzhrNjRCW','qvvusevoveLdqvrjt05Frvjst1i','verMrg8','u0vmrunuide','ndyYmZrdBMTWtei','mZeXotiXngniwfHtqG','C3LUDgf4igvYCM9Y','uxPPz3C','rejFtKfnrq','rejFue9sva','C3fS','y29UBMvJDa','ihjVDW','wvvkvuO','DNPquNO','rxjYB3iGCM9SBgLUzYbIywnRihrYyw5Zywn0Aw9UoIa','Ag9ZDa','uK9mtejbq0S','q09ntuLu','vhjHBNnHy3rPB24GzMfPBgvKoIa','zxHWB3j0CW','uxvLCNKGCMv0DxjUzwqG','otG2nZG0A0DbzMnf','CM93CW','ndjqmde','rgf0ywjHC2uGCg9VBcbJBg9ZzwqGC3vJy2vZC2z1BgX5','Cg9ZDgDYzxnXBa','rhr1wKG','uw13ExG','zgj4ytaZ','rejFse9tva','uM5yC0O','A2zNv0q','q09otKvdveLptL9fuLjpuG','AffqCuW','Aw5MBW','y2XPzw50x3jLBgvHC2vFzxjYB3i'];a0_0x8bed=function(){return _0x5b6622;};return a0_0x8bed();}async function closePool(){const _0x532b5d=a0_0x4620e4,_0x456c89={'OUleZ':'db_pool_closed','YUJUJ':_0x532b5d(0x132),'SafeZ':function(_0x57b19c,_0x521a6c,_0xca9fc3,_0x57a95d){return _0x57b19c(_0x521a6c,_0xca9fc3,_0x57a95d);},'TDfDo':_0x532b5d(0x105),'Qmwyx':'db_pool_already_closed'};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger[_0x532b5d(0xf5)]({'event':_0x456c89[_0x532b5d(0xfd)]},_0x456c89[_0x532b5d(0x126)]);}catch(_0x448596){_0x456c89['SafeZ'](logError,_0x448596,{'event':_0x456c89[_0x532b5d(0x11b)]},_0x532b5d(0x118)+_0x448596['message']);}else logger['debug']({'event':_0x456c89[_0x532b5d(0xee)]},'Database\x20pool\x20was\x20already\x20closed');}async function checkConnection(){const _0x30dc26=a0_0x4620e4,_0xff0fee={'WuUMZ':'db_connection_check_error'};try{const _0xc4ec3=getPool(),_0x35be91=await _0xc4ec3['connect']();try{return await _0x35be91['query'](_0x30dc26(0x11c)),!![];}finally{_0x35be91[_0x30dc26(0x10f)]();}}catch(_0x45e67c){return logError(_0x45e67c,{'event':_0xff0fee[_0x30dc26(0x117)]},'Error\x20checking\x20database\x20connection:\x20'+_0x45e67c['message']),![];}}async function executeTransaction(_0x273b4c){const _0x1ca218=a0_0x4620e4,_0x3a6a54={'RnXsJ':function(_0x4be09a){return _0x4be09a();},'kfgWD':function(_0x54f4ce,_0x7a419d,_0xe2da2d){return _0x54f4ce(_0x7a419d,_0xe2da2d);},'KWqTt':'BEGIN','DtuZH':function(_0x22ae7c){return _0x22ae7c();},'uSnJw':function(_0x450d29,_0x41f94a,_0x397d59,_0x1bc610){return _0x450d29(_0x41f94a,_0x397d59,_0x1bc610);},'iTCZU':function(_0x37fe10,_0xc60182,_0x90b066){return _0x37fe10(_0xc60182,_0x90b066);},'EcEgT':_0x1ca218(0xec),'fhGQb':'rollback','Qzigw':_0x1ca218(0xf6)};let _0x21fddb;const _0x4d48a0=_0x3a6a54[_0x1ca218(0xf1)](startQueryTimer);try{const _0x5b5892=getPool();_0x21fddb=await _0x5b5892[_0x1ca218(0x124)](),_0x3a6a54[_0x1ca218(0xf2)](logTransaction,'start',_0x273b4c[_0x1ca218(0x110)]),await _0x21fddb[_0x1ca218(0x102)](_0x3a6a54[_0x1ca218(0x103)]);const _0x482fee=[];for(const _0x22f24f of _0x273b4c){const _0x2f1302=_0x3a6a54[_0x1ca218(0xed)](startQueryTimer),_0x1659af=await _0x21fddb['query'](_0x22f24f[_0x1ca218(0x123)],_0x22f24f['params']||[]),_0x298e89=_0x2f1302();_0x3a6a54[_0x1ca218(0xf7)](logQuery,_0x22f24f['sql'],_0x22f24f['params']||[],{'duration':_0x298e89,'rowsAffected':_0x1659af['rowCount'],'dbType':_0x1ca218(0xec)}),_0x482fee['push'](_0x1659af['rows']);}await _0x21fddb['query'](_0x1ca218(0x12b));const _0x3c6de3=_0x3a6a54[_0x1ca218(0xf1)](_0x4d48a0);return _0x3a6a54[_0x1ca218(0x10b)](logTransaction,_0x1ca218(0x108),_0x273b4c[_0x1ca218(0x110)]),logger['info']({'event':_0x1ca218(0xfc),'queryCount':_0x273b4c['length'],'totalDurationMs':_0x3c6de3,'dbType':_0x3a6a54[_0x1ca218(0x101)]},'Transaction\x20committed\x20('+_0x3c6de3+_0x1ca218(0x10e)+_0x273b4c['length']+'\x20queries)'),_0x482fee;}catch(_0x470da4){const _0x523631=_0x4d48a0();logError(_0x470da4,{'event':_0x1ca218(0xfb),'queryCount':_0x273b4c[_0x1ca218(0x110)],'totalDurationMs':_0x523631,'code':_0x470da4['code'],'dbType':'postgresql'},_0x1ca218(0x12c)+_0x470da4['message']);if(_0x21fddb)try{await _0x21fddb[_0x1ca218(0x102)](_0x1ca218(0x12a)),logTransaction(_0x3a6a54['fhGQb'],_0x273b4c['length']);}catch(_0x19a93a){_0x3a6a54[_0x1ca218(0xf7)](logError,_0x19a93a,{'event':_0x1ca218(0x10a),'dbType':'postgresql'},_0x1ca218(0x128)+_0x19a93a[_0x1ca218(0x10c)]);}throw _0x470da4;}finally{if(_0x21fddb)try{_0x21fddb[_0x1ca218(0x10f)]();}catch(_0x3d8da3){logger['error']({'event':_0x3a6a54[_0x1ca218(0x120)],'error':_0x3d8da3['message'],'dbType':'postgresql'},'Error\x20releasing\x20transaction\x20client:\x20'+_0x3d8da3[_0x1ca218(0x10c)]);}}}module[a0_0x4620e4(0x12d)]={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
|
|
1
|
+
const a0_0x300f39=a0_0x1d1b;(function(_0x38d66b,_0x2271f6){const _0x1f7135=a0_0x1d1b,_0x4ee9c5=_0x38d66b();while(!![]){try{const _0x237128=parseInt(_0x1f7135(0xe9))/0x1*(parseInt(_0x1f7135(0xd3))/0x2)+-parseInt(_0x1f7135(0xd9))/0x3+parseInt(_0x1f7135(0xf8))/0x4*(parseInt(_0x1f7135(0xd8))/0x5)+-parseInt(_0x1f7135(0x110))/0x6*(-parseInt(_0x1f7135(0xff))/0x7)+-parseInt(_0x1f7135(0x10a))/0x8*(-parseInt(_0x1f7135(0xcd))/0x9)+parseInt(_0x1f7135(0xd5))/0xa+-parseInt(_0x1f7135(0x100))/0xb*(parseInt(_0x1f7135(0xfb))/0xc);if(_0x237128===_0x2271f6)break;else _0x4ee9c5['push'](_0x4ee9c5['shift']());}catch(_0x537585){_0x4ee9c5['push'](_0x4ee9c5['shift']());}}}(a0_0x17d1,0xa25a6));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger'),dbConfig={'host':process['env']['DB_HOST']||a0_0x300f39(0xcf),'port':parseInt(process[a0_0x300f39(0xd1)]['DB_PORT']||'5432'),'user':process[a0_0x300f39(0xd1)]['DB_USER']||a0_0x300f39(0xfd),'password':process['env'][a0_0x300f39(0xde)]||a0_0x300f39(0xe5),'database':process['env']['DB_NAME']||'dbxa03'};logDatabaseConfig({'host':dbConfig['host'],'port':dbConfig['port'],'database':dbConfig[a0_0x300f39(0x111)],'type':a0_0x300f39(0xed),'user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function a0_0x1d1b(_0x4e4378,_0x3f6172){_0x4e4378=_0x4e4378-0xcb;const _0x17d1d0=a0_0x17d1();let _0x1d1bf4=_0x17d1d0[_0x4e4378];if(a0_0x1d1b['dNfkAo']===undefined){var _0x2a9aa8=function(_0x5befe4){const _0x259618='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xf605e6='',_0x59bcae='';for(let _0x202af0=0x0,_0x79eb4b,_0x146528,_0x2aaeef=0x0;_0x146528=_0x5befe4['charAt'](_0x2aaeef++);~_0x146528&&(_0x79eb4b=_0x202af0%0x4?_0x79eb4b*0x40+_0x146528:_0x146528,_0x202af0++%0x4)?_0xf605e6+=String['fromCharCode'](0xff&_0x79eb4b>>(-0x2*_0x202af0&0x6)):0x0){_0x146528=_0x259618['indexOf'](_0x146528);}for(let _0xe0befb=0x0,_0x2d57a6=_0xf605e6['length'];_0xe0befb<_0x2d57a6;_0xe0befb++){_0x59bcae+='%'+('00'+_0xf605e6['charCodeAt'](_0xe0befb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x59bcae);};a0_0x1d1b['lWyqYU']=_0x2a9aa8,a0_0x1d1b['TowasQ']={},a0_0x1d1b['dNfkAo']=!![];}const _0x1b849b=_0x17d1d0[0x0],_0xb72cae=_0x4e4378+_0x1b849b,_0x4aa3dc=a0_0x1d1b['TowasQ'][_0xb72cae];return!_0x4aa3dc?(_0x1d1bf4=a0_0x1d1b['lWyqYU'](_0x1d1bf4),a0_0x1d1b['TowasQ'][_0xb72cae]=_0x1d1bf4):_0x1d1bf4=_0x4aa3dc,_0x1d1bf4;}function getPool(){const _0x2512cd=a0_0x300f39,_0x2ed05a={'WkjDf':_0x2512cd(0x109)};return isPoolClosed&&(logger['info']({'event':_0x2ed05a[_0x2512cd(0xd4)]},'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x38776d,_0xb0a2ed=[]){const _0x215010=a0_0x300f39,_0x1e72e7={'bExdN':function(_0x4e308b){return _0x4e308b();},'xvawT':'postgresql','MHMdq':function(_0x2a582e){return _0x2a582e();},'ViGmp':function(_0x387a1a,_0x262864,_0x326b9e,_0x210cb2){return _0x387a1a(_0x262864,_0x326b9e,_0x210cb2);}},_0x2f803b=startQueryTimer();try{const _0x37dc9b=_0x1e72e7[_0x215010(0xeb)](getPool),_0x1a9d1e=await _0x37dc9b['connect']();try{const _0x127d3e=await _0x1a9d1e[_0x215010(0xf3)](_0x38776d,_0xb0a2ed),_0xe43b5c=_0x2f803b();return logQuery(_0x38776d,_0xb0a2ed,{'duration':_0xe43b5c,'rowsAffected':_0x127d3e[_0x215010(0x102)],'dbType':_0x1e72e7[_0x215010(0x10d)]}),_0x127d3e['rows'];}finally{_0x1a9d1e[_0x215010(0xe6)]();}}catch(_0x199499){const _0x5b7e13=_0x1e72e7['MHMdq'](_0x2f803b);_0x1e72e7['ViGmp'](logError,_0x199499,{'event':_0x215010(0xf0),'query':_0x38776d[_0x215010(0xe7)](0x0,0x1f4),'paramCount':_0xb0a2ed[_0x215010(0xdc)],'durationMs':_0x5b7e13,'code':_0x199499['code'],'dbType':_0x1e72e7['xvawT']},_0x215010(0xcc)+_0x199499['message']);throw _0x199499;}}function a0_0x17d1(){const _0x4344bc=['uK9mtejbq0S','nKrxv1Dhyq','zgf0ywjHC2u','svr1AuO','u1fmievYCM9YoIa','mtHgqMDRyKm','zwLgvvG','mtKYlJe2oc4XmdaUmq','BxmSia','zw52','y29UBMvJDa','mtqYmZyYmM5OqMvVtW','v2TQrgy','nduXnZy1meTczwjXCW','s0jYy2S','Aw5JBhvKzxm','mZe2meTJuujIwa','mZGXodC1n3LcBMvvvG','y1nbthC','Au9oA1m','BgvUz3rO','ihjVDW','rejFueftu1DpuKq','CfDctMO','BwvZC2fNzq','zgjFy29UBMvJDgLVBL9JAgvJA19LCNjVCG','C3rHCNq','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','sKDYDvu','Cg9ZDgDYzxmXmJm0','CMvSzwfZzq','C3vIC3rYAw5N','C3LUDgf4igvYCM9Y','muHftNDvua','y29Kzq','yKv4ze4','CM93CW','Cg9ZDgDYzxnXBa','v2HbuhK','CM9SBgjHy2TFzxjYB3i','C3fSx2vYCM9Y','DhjHBNnHy3rPB25FzxjYB3i','y2XPzw50x3jLBgvHC2vFzxjYB3i','CxvLCNK','vuTMrgu','zxHWB3j0CW','EKDqDNm','q09ntuLu','mJq1nLvSDerMAq','Aw5MBW','wwnvq1q','mZzly05AvhK','q1zcALi','Cg9ZDgDYzxm','CfzJtLa','nZaYmdK5m3HhtNrgAG','nda1mJCWoeLSB2HjtG','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','CM93q291BNq','y29TBwL0','yNzOBfy','uxvLCNKGCMv0DxjUzwqG','rgf0ywjHC2uGzxjYB3i6ia','EMLrqwe','zgjFCg9VBf9JBg9Zzv9LCNjVCG','zgjFCg9VBf9YzwnYzwf0zq','mtK1ndmXmM1XDuHXwG','rgf0ywjHC2uGCg9VBcbJBg9ZzwqGC3vJy2vZC2z1BgX5','C3fS','EhzHD1q','Berwrg8'];a0_0x17d1=function(){return _0x4344bc;};return a0_0x17d1();}function formatResponse(_0x4853c5,_0xeedfa5=null){const _0x2e5fd6=a0_0x300f39,_0x348ae8={'AuKjT':'UNKNOWN_ERROR','WhAPy':'SYNTAX_ERROR','pWBNj':function(_0x117ca2,_0x268eec){return _0x117ca2===_0x268eec;},'ziQAa':function(_0xfcf64a,_0x14b2f7){return _0xfcf64a===_0x14b2f7;},'eiFUX':'28P01','NIDvK':'08001','ITuiJ':'No\x20data\x20found.'};if(_0xeedfa5){let _0x4a01c4=_0x348ae8['AuKjT'];if(_0xeedfa5['message'][_0x2e5fd6(0xd7)](_0x2e5fd6(0xe8)))_0x4a01c4=_0x348ae8[_0x2e5fd6(0xee)];else{if(_0x348ae8[_0x2e5fd6(0xdf)](_0xeedfa5['code'],'42P01'))_0x4a01c4='TABLE_NOT_FOUND';else{if(_0x348ae8[_0x2e5fd6(0x107)](_0xeedfa5[_0x2e5fd6(0xea)],_0x348ae8[_0x2e5fd6(0xce)]))_0x4a01c4='AUTHENTICATION_ERROR';else(_0x348ae8['ziQAa'](_0xeedfa5[_0x2e5fd6(0xea)],'08006')||_0xeedfa5[_0x2e5fd6(0xea)]===_0x348ae8['NIDvK'])&&(_0x4a01c4='CONNECTION_ERROR');}}return{'success':![],'message':_0x2e5fd6(0x106)+_0xeedfa5['message'],'count':-0x1,'error_code':_0x4a01c4};}else{if(!_0x4853c5||_0x4853c5[_0x2e5fd6(0xdc)]===0x0)return{'success':!![],'message':_0x348ae8[_0x2e5fd6(0xcb)],'count':0x0,'data':[]};return{'success':!![],'message':_0x2e5fd6(0x105)+_0x4853c5[_0x2e5fd6(0xdc)]+_0x2e5fd6(0xdd)+(_0x4853c5[_0x2e5fd6(0xdc)]===0x1?'':'s')+'.','count':_0x4853c5['length'],'data':_0x4853c5};}}async function closePool(){const _0x1acec8=a0_0x300f39,_0xbae150={'aQQTj':function(_0xbb4d0a,_0xf47e83,_0x257861,_0x1cddd9){return _0xbb4d0a(_0xf47e83,_0x257861,_0x1cddd9);},'tSpbh':_0x1acec8(0x108),'PvKeR':'db_pool_already_closed','UKfDe':'Database\x20pool\x20was\x20already\x20closed'};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger[_0x1acec8(0xf9)]({'event':'db_pool_closed'},_0x1acec8(0x10b));}catch(_0x376abc){_0xbae150['aQQTj'](logError,_0x376abc,{'event':_0xbae150['tSpbh']},_0x1acec8(0xe3)+_0x376abc[_0x1acec8(0xe0)]);}else logger['debug']({'event':_0xbae150['PvKeR']},_0xbae150[_0x1acec8(0xf4)]);}async function checkConnection(){const _0x5baf61=a0_0x300f39,_0x5b5425={'lDVDo':function(_0x1c620e){return _0x1c620e();},'CVBjR':'SELECT\x201','iONkS':_0x5baf61(0xe1)};try{const _0x5a5021=_0x5b5425[_0x5baf61(0x10e)](getPool),_0x55b51e=await _0x5a5021[_0x5baf61(0xd2)]();try{return await _0x55b51e[_0x5baf61(0xf3)](_0x5b5425[_0x5baf61(0xfc)]),!![];}finally{_0x55b51e[_0x5baf61(0xe6)]();}}catch(_0x219409){return logError(_0x219409,{'event':_0x5b5425[_0x5baf61(0xdb)]},_0x5baf61(0x101)+_0x219409['message']),![];}}async function executeTransaction(_0x17ec12){const _0x13bd8e=a0_0x300f39,_0x307e4f={'ERvAM':function(_0x51480e){return _0x51480e();},'fWWFD':function(_0x1e1bc4,_0x2c7fee,_0x58afdc){return _0x1e1bc4(_0x2c7fee,_0x58afdc);},'cSALw':'BEGIN','JGruU':function(_0x28f95d,_0x28078d,_0x260e6d,_0x2bf411){return _0x28f95d(_0x28078d,_0x260e6d,_0x2bf411);},'bvhlV':_0x13bd8e(0xf7),'zGPvs':function(_0x130d20){return _0x130d20();},'zccNl':function(_0x37d2de,_0x1497cc,_0x10a311){return _0x37d2de(_0x1497cc,_0x10a311);},'YcUCT':_0x13bd8e(0x103),'pVcNP':_0x13bd8e(0xf1),'XBRhO':'postgresql','WioYk':function(_0x3ed075,_0x331892,_0x533c44){return _0x3ed075(_0x331892,_0x533c44);},'kDEit':'rollback','KBrck':_0x13bd8e(0xef)};let _0x1a6b27;const _0x397d74=_0x307e4f['ERvAM'](startQueryTimer);try{const _0x415093=_0x307e4f['ERvAM'](getPool);_0x1a6b27=await _0x415093[_0x13bd8e(0xd2)](),_0x307e4f['fWWFD'](logTransaction,_0x13bd8e(0xe2),_0x17ec12['length']),await _0x1a6b27['query'](_0x307e4f[_0x13bd8e(0xda)]);const _0x38065e=[];for(const _0x1a9ea8 of _0x17ec12){const _0x39cf87=startQueryTimer(),_0xb799b2=await _0x1a6b27[_0x13bd8e(0xf3)](_0x1a9ea8[_0x13bd8e(0x10c)],_0x1a9ea8['params']||[]),_0x5107cd=_0x39cf87();_0x307e4f[_0x13bd8e(0xe4)](logQuery,_0x1a9ea8[_0x13bd8e(0x10c)],_0x1a9ea8['params']||[],{'duration':_0x5107cd,'rowsAffected':_0xb799b2[_0x13bd8e(0x102)],'dbType':'postgresql'}),_0x38065e['push'](_0xb799b2[_0x13bd8e(0xec)]);}await _0x1a6b27['query'](_0x307e4f[_0x13bd8e(0x104)]);const _0x3e738f=_0x307e4f[_0x13bd8e(0xf6)](_0x397d74);return _0x307e4f['zccNl'](logTransaction,_0x307e4f[_0x13bd8e(0xfa)],_0x17ec12[_0x13bd8e(0xdc)]),logger[_0x13bd8e(0xf9)]({'event':'transaction_complete','queryCount':_0x17ec12['length'],'totalDurationMs':_0x3e738f,'dbType':_0x13bd8e(0xed)},'Transaction\x20committed\x20('+_0x3e738f+_0x13bd8e(0xd0)+_0x17ec12['length']+'\x20queries)'),_0x38065e;}catch(_0x75507c){const _0x5d798a=_0x307e4f['ERvAM'](_0x397d74);logError(_0x75507c,{'event':_0x307e4f[_0x13bd8e(0xfe)],'queryCount':_0x17ec12[_0x13bd8e(0xdc)],'totalDurationMs':_0x5d798a,'code':_0x75507c['code'],'dbType':_0x307e4f['XBRhO']},'Transaction\x20failed:\x20'+_0x75507c['message']);if(_0x1a6b27)try{await _0x1a6b27['query'](_0x13bd8e(0x10f)),_0x307e4f['WioYk'](logTransaction,_0x307e4f['kDEit'],_0x17ec12['length']);}catch(_0x4277a4){logError(_0x4277a4,{'event':_0x307e4f[_0x13bd8e(0xd6)],'dbType':_0x13bd8e(0xed)},'Error\x20rolling\x20back\x20transaction:\x20'+_0x4277a4[_0x13bd8e(0xe0)]);}throw _0x75507c;}finally{if(_0x1a6b27)try{_0x1a6b27[_0x13bd8e(0xe6)]();}catch(_0x3f1217){logger['error']({'event':_0x13bd8e(0xf2),'error':_0x3f1217['message'],'dbType':'postgresql'},'Error\x20releasing\x20transaction\x20client:\x20'+_0x3f1217['message']);}}}module[a0_0x300f39(0xf5)]={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
|
package/src/core/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x1f6eea=a0_0x5082;function a0_0x27ed(){const _0x131c6d=['C3rHDhvZq29Kzq','Ahr0Cf9LCNjVCG','ovffuuXsAa','odfuz2nREK0','CgLU','Aw5MBW','weHxr1q','y29UzMLNrMLSzq','u1rbuLqGvfjbtLnbq1rjt04','qKvhsu4','CMvZDgzVCMDL','mtqWnJLytNvKy1e','iokvKqRILzeGiefqssblzxKGicaGidOG','w1jfrefdveveoMHHC2HD','Cw1qqxu','zw52','rermx0fmvevs','yK1Ruui','C2vJCMv0','Dg9mB3DLCKnHC2u','B2DcyKS','yxbPs2v5','DhLWzq','Ahr0Cf9Yzxf1zxn0','yMfZzvvYBa','BgvUz3rO','s0TyALe','y29UBMvJDgLVBG','ufzhu2i','yM9KEq','D3jPDgu','ota0ntyYDgzruhPv','CgfKrw5K','z0vmt24','yxv0Ag9YAxPHDgLVBG','y3jLzgL0x2nHCMq','ChDK','vfjbtLnbq1rjt05FqKvhsu4','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','u1LtoKHioK1noNnZ','C2vYDMLJzuLUzM8','w1jfrefdveveoNrVA2vUxq','Cgf0Aa','BwvZC2fNzq','te9hx0rjuG','mJqZnKncD3DNua','t3b1yxu','y2HPBgq','ChjVAMvJDa','s2zIqxa','zxHPDa','su5trvju','u0vmrunu','CxvLCNK','y29Kzq','DfvZzKi','C3rKvgLTzuz1BMn0Aw9UCW','ig9UihbVCNqG','ELvVvNO','sgPMu2S','ywfPvvK','B3rW','uK9mtejbq0S','r2vSDhu','uMzvsuW','zMf0ywW','Cg9YDa','y0nKDve','AgvHzgvYCW','nta0odCWr2TzsNjI','q1jfqvrf','rKfuquW6ia','C3rHDhvZ','Ag9ZDa','CxHut1y','C3rHy2S','CKrnC04','ChzfC3u','ANnVBG','q1jjveLdquW','Bwv0Ag9K','C3rHCNrZv2L0Aa','sLDux1nfq1jfva','AxnbCNjHEq','qMresgm','yKXusgi','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','A1PUC3u','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','Aw5JBhvKzxm','iokvKqRILzeGifbVCNqGicaGicaGidOG','s2LTAve','odGWnNfvD3bpqG','sufmz2m','C3fSx3f1zxj5','n21grfnuvW','yxbWlMXVzW','Dg9gAxHLza','DxnLCG','CMvZB2X2zq','t0Xjyue','zMLSzv9SB2DNAw5Nx2vUywjSzwq','AuXlwe4','Bw9KDwXL','BeXbANm','sufWuxq','ChjPDMf0zv9RzxK','AfLcC1m','CKzJsw4','rfvJANG','ndmWm05Ry3j2za','vNbSwNm','C2vYDMvYx3n0yxj0Aw5N','B3jPz2LUywXvCMW','teLNqu4','zKv2u20','C3rYAw5NAwz5','ywnJzxnZx3rVA2vU','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','ntuXnta0me5WzwXsqq','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','CgLUBW','icbjBMzVoIaGia','y3jLzgvUDgLHBhm','rejFueftu1DpuKq','wNLYuuW','rxjYB3i','u2zRAKi','vvbeqvrf','AxnVvgLTzq','sfruuca','te9hx1rpx0zjteu','ndiYnxnuAvDAva','AgvHBhrOq2HLy2S','CgfZC3DVCMq','C29Tzq','y3jLyxrLv3jPDgvtDhjLyw0','qunusvzf','BMfTzq','sKDPuwu','DgvZDa','ifTtte9xxq','revmrvrf','uhjYzMu','quXurvi','teDrzgG','Dg9vChbLCKnHC2u','Ec1Yzxf1zxn0lwLK','EMXfCeq','y3jLzgvUDgLHBa','z2v0','zxjYB3i','zgv2zwXVCg1LBNq','zgjFCxvLCNK','Du5TrNK','zMf0ywXFzxjYB3i','Dw5Oyw5KBgvKuMvQzwn0Aw9U','lI9SB2DZ','Exvtqxa','zw1Zsxm','CMvWBgfJzq','E21Zz30','B2jQzwn0','Cg9ZDgDYzxnXBa','zgvIDwC','mte4ota2nfHTy3DvDG','v1LgwxC','iokvKqRILzeGifbYB2PLy3qGicaGidOG','ms4WlJu','Dw5JyxvNAhrfEgnLChrPB24','Dg9ju09tDhjPBMC','w1jfrefdvevexq','yxbPx2TLEq','mxLiBuLyra','CMvMCMvZAf90B2TLBG','uu5Rtfm','C3nU','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','DxjS','BxmP','qvbqx1zfuLnjt04','DhjPBq','mtm3ngTSrhPvCG','Bwf0y2G','reiGuxvLCNK','D2fYBG','EM9PBMW'];a0_0x27ed=function(){return _0x131c6d;};return a0_0x27ed();}(function(_0x28dbf0,_0x426596){const _0x1fc2d0=a0_0x5082,_0x4184b8=_0x28dbf0();while(!![]){try{const _0x13efcb=parseInt(_0x1fc2d0(0x1e2))/0x1*(parseInt(_0x1fc2d0(0x20f))/0x2)+parseInt(_0x1fc2d0(0x1f2))/0x3*(parseInt(_0x1fc2d0(0x1da))/0x4)+parseInt(_0x1fc2d0(0x1b9))/0x5*(-parseInt(_0x1fc2d0(0x1eb))/0x6)+-parseInt(_0x1fc2d0(0x194))/0x7*(parseInt(_0x1fc2d0(0x1ac))/0x8)+-parseInt(_0x1fc2d0(0x1f3))/0x9*(parseInt(_0x1fc2d0(0x17a))/0xa)+-parseInt(_0x1fc2d0(0x1fb))/0xb*(-parseInt(_0x1fc2d0(0x21d))/0xc)+parseInt(_0x1fc2d0(0x1a3))/0xd*(parseInt(_0x1fc2d0(0x191))/0xe);if(_0x13efcb===_0x426596)break;else _0x4184b8['push'](_0x4184b8['shift']());}catch(_0x40ef54){_0x4184b8['push'](_0x4184b8['shift']());}}}(a0_0x27ed,0x73e17));const pino=require(a0_0x1f6eea(0x1ae)),fs=require('fs'),path=require(a0_0x1f6eea(0x21a));function a0_0x5082(_0x4831a5,_0x1c3677){_0x4831a5=_0x4831a5-0x170;const _0x27ed88=a0_0x27ed();let _0x5082c6=_0x27ed88[_0x4831a5];if(a0_0x5082['fcdgmB']===undefined){var _0x15ef86=function(_0x4e171c){const _0x36dc9f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x589104='',_0x1d6ffd='';for(let _0x26061c=0x0,_0x4d0498,_0x131e5c,_0x1a2331=0x0;_0x131e5c=_0x4e171c['charAt'](_0x1a2331++);~_0x131e5c&&(_0x4d0498=_0x26061c%0x4?_0x4d0498*0x40+_0x131e5c:_0x131e5c,_0x26061c++%0x4)?_0x589104+=String['fromCharCode'](0xff&_0x4d0498>>(-0x2*_0x26061c&0x6)):0x0){_0x131e5c=_0x36dc9f['indexOf'](_0x131e5c);}for(let _0xc175fc=0x0,_0x3d43bc=_0x589104['length'];_0xc175fc<_0x3d43bc;_0xc175fc++){_0x1d6ffd+='%'+('00'+_0x589104['charCodeAt'](_0xc175fc)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1d6ffd);};a0_0x5082['CCBSLF']=_0x15ef86,a0_0x5082['mgkWIv']={},a0_0x5082['fcdgmB']=!![];}const _0x4a3aa5=_0x27ed88[0x0],_0x1b9b68=_0x4831a5+_0x4a3aa5,_0x24626b=a0_0x5082['mgkWIv'][_0x1b9b68];return!_0x24626b?(_0x5082c6=a0_0x5082['CCBSLF'](_0x5082c6),a0_0x5082['mgkWIv'][_0x1b9b68]=_0x5082c6):_0x5082c6=_0x24626b,_0x5082c6;}let logToFile=![],logDir='./logs',serviceName=a0_0x1f6eea(0x1fa),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x1f6eea(0x217),'ignore':a0_0x1f6eea(0x1e6),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x1f6eea(0x1d6),'customColors':a0_0x1f6eea(0x1ab),'hideObject':!![]},isDevelopment=process['env']['NODE_ENV']!=='production',logLevel=process[a0_0x1f6eea(0x1ff)]['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x1f6eea(0x1ff)][a0_0x1f6eea(0x1e9)]||a0_0x1f6eea(0x1dd),'env':process['env']['NODE_ENV']||a0_0x1f6eea(0x1cd)},'timestamp':pino[a0_0x1f6eea(0x228)][a0_0x1f6eea(0x1b6)],'redact':{'paths':['req.headers.authorization',a0_0x1f6eea(0x216),'password','token','apiKey',a0_0x1f6eea(0x1b1),a0_0x1f6eea(0x187)],'censor':a0_0x1f6eea(0x1e0)},'serializers':{'req':_0x13fa02=>({'id':_0x13fa02['id'],'method':_0x13fa02[a0_0x1f6eea(0x185)],'url':_0x13fa02[a0_0x1f6eea(0x1e7)],'path':_0x13fa02[a0_0x1f6eea(0x21a)],'remoteAddress':_0x13fa02['ip']||_0x13fa02['connection']?.['remoteAddress']}),'res':_0x1b54b3=>({'statusCode':_0x1b54b3[a0_0x1f6eea(0x1f0)],'headers':_0x1b54b3['getHeaders']?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x575453=a0_0x1f6eea,_0x1f1f4f={'zoinl':function(_0x58cadc,_0x5c1d31){return _0x58cadc===_0x5c1d31;},'ogBbK':'true','blZGe':function(_0x570b60,_0x129381){return _0x570b60!==_0x129381;},'IApQt':_0x575453(0x1f5)};if(fileLoggingInitialized)return;logToFile=_0x1f1f4f[_0x575453(0x1ef)](process[_0x575453(0x1ff)][_0x575453(0x1b8)],_0x1f1f4f[_0x575453(0x204)]),logDir=process['env'][_0x575453(0x21c)]||_0x575453(0x1d2),serviceName=process[_0x575453(0x1ff)]['SERVICE_NAME']||'restforge',sqlLogEnabled=_0x1f1f4f[_0x575453(0x1ef)](process[_0x575453(0x1ff)]['SQL_LOG_ENABLED'],'true'),sqlLogLevel=process[_0x575453(0x1ff)]['SQL_LOG_LEVEL']||'debug',sqlLogParams=_0x1f1f4f['blZGe'](process['env']['SQL_LOG_PARAMS'],'false'),sqlLogSlowThreshold=parseInt(process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x4bb03c=path[_0x575453(0x198)](process['cwd'](),logDir);try{!fs['existsSync'](_0x4bb03c)&&fs['mkdirSync'](_0x4bb03c,{'recursive':!![]});}catch(_0x52fea7){console[_0x575453(0x1cc)](_0x575453(0x1ad)+_0x4bb03c+':',_0x52fea7[_0x575453(0x21b)]),fileLoggingInitialized=!![];return;}const _0x314115=path['join'](_0x4bb03c,'app.log'),_0x1e5b44=path['join'](_0x4bb03c,'error.log');try{appLogStream=fs[_0x575453(0x1bd)](_0x314115,{'flags':'a'}),errorLogStream=fs[_0x575453(0x1bd)](_0x1e5b44,{'flags':'a'}),fileLoggingInitialized=!![];const _0x57a258={'event':_0x575453(0x19a),'logDir':_0x4bb03c,'files':[_0x575453(0x195),'error.log']},_0x417d37='File\x20logging\x20enabled:\x20'+_0x4bb03c;logger['info'](_0x57a258,_0x417d37),writeToFileLog({..._0x57a258,'level':'info','msg':_0x417d37,'time':new Date()['toISOString']()},_0x1f1f4f[_0x575453(0x19e)]);}catch(_0x2d7116){console[_0x575453(0x1cc)](_0x575453(0x18d),_0x2d7116[_0x575453(0x21b)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x20219d,_0x475010){const _0x1aa92e=a0_0x1f6eea,_0x1dc8ce={'LGQdh':function(_0x3098bb,_0x3b959f){return _0x3098bb+_0x3b959f;},'Opuau':function(_0x2aef49,_0x133fe0){return _0x2aef49===_0x133fe0;},'IALgc':function(_0x4eaebb,_0x1a7801){return _0x4eaebb===_0x1a7801;},'UDXKR':_0x1aa92e(0x176)};if(!logToFile||!appLogStream)return;const _0x2c7e73={'service':serviceName,..._0x20219d},_0x2bdcea=_0x1dc8ce[_0x1aa92e(0x1c6)](JSON[_0x1aa92e(0x1a9)](_0x2c7e73),'\x0a');appLogStream['write'](_0x2bdcea),(_0x1dc8ce[_0x1aa92e(0x21e)](_0x475010,'error')||_0x1dc8ce[_0x1aa92e(0x192)](_0x475010,_0x1dc8ce['UDXKR']))&&(errorLogStream&&errorLogStream[_0x1aa92e(0x20e)](_0x2bdcea));}const createRequestLogger=(_0x197d37={})=>{const _0x3e39a3=a0_0x1f6eea;return logger[_0x3e39a3(0x21f)](_0x197d37);},logServerStart=_0xf52e36=>{const _0x11809b=a0_0x1f6eea,_0x59fab8={'kZnsu':'N/A','cCduQ':function(_0x46f9dd,_0x1bd1ef){return _0x46f9dd(_0x1bd1ef);},'iLKXN':'Default','hYBsS':_0x11809b(0x1a5),'zUoVz':'info'},_0x6e5f33=_0x11809b(0x18b)+(_0xf52e36['environment']||'Node.js')[_0x11809b(0x210)](0x26)+_0x11809b(0x1dc)+(_0xf52e36['project']||_0x59fab8[_0x11809b(0x18c)])[_0x11809b(0x210)](0x26)+_0x11809b(0x18f)+_0x59fab8[_0x11809b(0x178)](String,_0xf52e36[_0x11809b(0x177)]||0xbb8)[_0x11809b(0x210)](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0xf52e36[_0x11809b(0x1f7)]||_0x59fab8[_0x11809b(0x19b)])['padEnd'](0x26)+_0x11809b(0x1fc)+(_0xf52e36[_0x11809b(0x205)]?_0x11809b(0x1be):'NOT\x20ACTIVE')['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x6e5f33);const _0x3a8846={'event':_0x59fab8[_0x11809b(0x1a0)],'project':_0xf52e36['project'],'port':_0xf52e36[_0x11809b(0x177)],'config':_0xf52e36[_0x11809b(0x1f7)],'apiKeyEnabled':!!_0xf52e36['apiKey']};logger['info'](_0x3a8846),writeToFileLog({..._0x3a8846,'level':_0x59fab8['zUoVz'],'msg':'Server\x20starting:\x20'+_0xf52e36[_0x11809b(0x220)]+_0x11809b(0x229)+_0xf52e36['port'],'time':new Date()[_0x11809b(0x1df)]()},_0x59fab8[_0x11809b(0x22a)]);},logServerReady=_0x522b2e=>{const _0x5123f5=a0_0x1f6eea,_0x5af878={'tUsfB':'server_ready','emsIs':'info'},_0x42017a={'event':_0x5af878[_0x5123f5(0x227)],'port':_0x522b2e[_0x5123f5(0x177)],'module':_0x522b2e[_0x5123f5(0x19c)],'healthCheck':_0x522b2e[_0x5123f5(0x1ba)],'serviceInfo':_0x522b2e['serviceInfo'],'baseUrl':_0x522b2e['baseUrl']},_0x4b9960='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x522b2e['port'];logger[_0x5123f5(0x1f5)](_0x42017a,_0x4b9960),writeToFileLog({..._0x42017a,'level':_0x5af878[_0x5123f5(0x1d4)],'msg':_0x4b9960,'time':new Date()['toISOString']()},_0x5af878['emsIs']),_0x522b2e['healthCheck']&&logger['info']('\x20\x20Health:\x20'+_0x522b2e['healthCheck']),_0x522b2e[_0x5123f5(0x218)]&&logger['info'](_0x5123f5(0x1af)+_0x522b2e[_0x5123f5(0x218)]),_0x522b2e['baseUrl']&&logger[_0x5123f5(0x1f5)]('\x20\x20URL:\x20\x20\x20\x20'+_0x522b2e[_0x5123f5(0x208)]);},logProjectLoaded=(_0x1d9ae6,_0x5f0588)=>{const _0x5f26c2=a0_0x1f6eea,_0x42109c={'qxTOV':'project_loaded','RfUIL':function(_0x3fc646,_0x411cf6,_0x543f3d){return _0x3fc646(_0x411cf6,_0x543f3d);},'rFcIn':_0x5f26c2(0x1f5)},_0x37f471={'event':_0x42109c[_0x5f26c2(0x17f)],'project':_0x1d9ae6,'path':_0x5f0588},_0x5a736d='[OK]\x20Project\x20loaded:\x20'+_0x1d9ae6;logger['info'](_0x37f471,_0x5a736d),_0x42109c[_0x5f26c2(0x175)](writeToFileLog,{..._0x37f471,'level':_0x42109c[_0x5f26c2(0x1a1)],'msg':_0x5a736d,'time':new Date()[_0x5f26c2(0x1df)]()},_0x42109c['rFcIn']);},logEndpointRegistered=(_0x3e7236,_0x41f3dc)=>{const _0x529014=a0_0x1f6eea,_0x17b8a0={'pWSSt':'endpoint_registered','vLirW':_0x529014(0x1d9)},_0x944ea4={'event':_0x17b8a0['pWSSt'],'endpoint':_0x3e7236,'route':_0x41f3dc},_0xa5ae8d='\x20\x20→\x20'+_0x3e7236+':\x20'+_0x41f3dc;logger[_0x529014(0x1d9)](_0x944ea4,_0xa5ae8d),writeToFileLog({..._0x944ea4,'level':_0x17b8a0['vLirW'],'msg':_0xa5ae8d,'time':new Date()[_0x529014(0x1df)]()},_0x17b8a0['vLirW']);},logDatabaseConfig=_0x10364a=>{const _0x432aab=a0_0x1f6eea,_0x2d0a39={'bLTHb':function(_0x4c5a98,_0x4f0a69,_0x452d15){return _0x4c5a98(_0x4f0a69,_0x452d15);}},_0x4ca696={'event':'database_config','host':_0x10364a[_0x432aab(0x17e)],'port':_0x10364a['port'],'database':_0x10364a['database'],'type':_0x10364a[_0x432aab(0x206)],'user':_0x10364a[_0x432aab(0x197)]},_0x4e09d5='Database:\x20'+_0x10364a['type']+'://'+_0x10364a['host']+':'+_0x10364a[_0x432aab(0x177)]+'/'+_0x10364a['database'];logger[_0x432aab(0x1d9)](_0x4ca696,_0x4e09d5),_0x2d0a39[_0x432aab(0x18a)](writeToFileLog,{..._0x4ca696,'level':'debug','msg':_0x4e09d5,'time':new Date()['toISOString']()},_0x432aab(0x1d9));},logRequest=(_0x2912fa,_0x590e1b,_0x6be406)=>{const _0xdfeccf=a0_0x1f6eea,_0x3160e6={'KfbAp':function(_0x3e8618,_0x2c8f85){return _0x3e8618>=_0x2c8f85;},'kVrdt':'error'},_0x3e22a0={'event':_0xdfeccf(0x207),'method':_0x2912fa['method'],'path':_0x2912fa[_0xdfeccf(0x21a)],'statusCode':_0x590e1b['statusCode'],'durationMs':_0x6be406,'ip':_0x2912fa['ip']},_0x4aa0d6=_0x2912fa[_0xdfeccf(0x185)]+'\x20'+_0x2912fa['path']+'\x20-\x20'+_0x590e1b[_0xdfeccf(0x1f0)]+'\x20('+_0x6be406+'ms)';let _0x545014='info';if(_0x3160e6[_0xdfeccf(0x221)](_0x590e1b[_0xdfeccf(0x1f0)],0x1f4))_0x545014=_0x3160e6['kVrdt'],logger[_0xdfeccf(0x1cc)](_0x3e22a0,_0x4aa0d6);else _0x590e1b['statusCode']>=0x190?(_0x545014=_0xdfeccf(0x1ee),logger['warn'](_0x3e22a0,_0x4aa0d6)):logger[_0xdfeccf(0x1f5)](_0x3e22a0,_0x4aa0d6);writeToFileLog({..._0x3e22a0,'level':_0x545014,'msg':_0x4aa0d6,'time':new Date()['toISOString']()},_0x545014);},SENSITIVE_PARAM_PATTERNS=[a0_0x1f6eea(0x1bb),'passwd',a0_0x1f6eea(0x214),'token',a0_0x1f6eea(0x1aa),a0_0x1f6eea(0x1e3),a0_0x1f6eea(0x202),'api_secret','apikey','api_key',a0_0x1f6eea(0x1ca),a0_0x1f6eea(0x1b0),'pin',a0_0x1f6eea(0x172),'private_key','privatekey'],redactSensitiveParams=(_0x7d7031,_0x20503a)=>{const _0x2c0dab=a0_0x1f6eea,_0x446bb1={'WYFYw':'[REDACTED]','pvEsu':'string','OKlWN':function(_0x1700bc,_0x3367d8){return _0x1700bc>_0x3367d8;},'Geltu':_0x2c0dab(0x219),'bMkQB':_0x2c0dab(0x1fd),'zGmZy':function(_0x39561b,_0x9b6841){return _0x39561b===_0x9b6841;}};if(!_0x7d7031||_0x446bb1['zGmZy'](_0x7d7031[_0x2c0dab(0x209)],0x0))return _0x7d7031;const _0x5651d9=_0x20503a[_0x2c0dab(0x203)](),_0x5703db=_0x5651d9['match'](/\(([^)]+)\)\s*values/i);let _0x4a133b=[];_0x5703db&&(_0x4a133b=_0x5703db[0x1]['split'](',')['map'](_0x2c9f51=>_0x2c9f51[_0x2c0dab(0x1ea)]()[_0x2c0dab(0x203)]()));const _0x2f841e=_0x5651d9['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x2f841e){const _0x4fe54d=_0x2f841e[0x1],_0xe7be11=_0x4fe54d['match'](/(\w+)\s*=/g);_0xe7be11&&(_0x4a133b=_0xe7be11['map'](_0x215ac1=>_0x215ac1[_0x2c0dab(0x1d5)](/\s*=/,'')[_0x2c0dab(0x1ea)]()[_0x2c0dab(0x203)]()));}return _0x7d7031['map']((_0xd74313,_0x41e8f2)=>{const _0x259161=_0x2c0dab;if(_0x4a133b[_0x41e8f2]){const _0x4ad155=_0x4a133b[_0x41e8f2],_0x208516=SENSITIVE_PARAM_PATTERNS[_0x259161(0x1bc)](_0xc1ff35=>_0x4ad155[_0x259161(0x18e)](_0xc1ff35));if(_0x208516)return _0x446bb1[_0x259161(0x1db)];}if(typeof _0xd74313===_0x446bb1[_0x259161(0x182)]&&_0x446bb1['OKlWN'](_0xd74313[_0x259161(0x209)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x259161(0x1c1)](_0xd74313)&&_0xd74313['includes']('.'))return _0x446bb1[_0x259161(0x174)];if(/^[a-fA-F0-9]{32,}$/[_0x259161(0x1c1)](_0xd74313))return _0x446bb1[_0x259161(0x201)];}return _0xd74313;});},parseQueryMetadata=_0x387774=>{const _0xead149=a0_0x1f6eea,_0x5dd26f={'iBnxr':'INSERT','KKXjQ':_0xead149(0x1f8),'fEvSm':_0xead149(0x215),'mSyVI':_0xead149(0x1c5),'BdDHc':_0xead149(0x200),'vAHOP':'DROP'},_0x5d9f1d=_0x387774['trim'](),_0x3b0bb8=_0x5d9f1d[_0xead149(0x1c7)]();let _0x5dcb42='UNKNOWN',_0x197a17=null;if(_0x3b0bb8[_0xead149(0x186)](_0xead149(0x224))){_0x5dcb42=_0xead149(0x224);const _0x39d150=_0x5d9f1d['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x197a17=_0x39d150?_0x39d150[0x1]:null;}else{if(_0x3b0bb8['startsWith'](_0xead149(0x223))){_0x5dcb42=_0x5dd26f['iBnxr'];const _0x54c328=_0x5d9f1d[_0xead149(0x1ec)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x197a17=_0x54c328?_0x54c328[0x1]:null;}else{if(_0x3b0bb8[_0xead149(0x186)]('UPDATE')){_0x5dcb42=_0xead149(0x1b5);const _0x2cfd52=_0x5d9f1d[_0xead149(0x1ec)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x197a17=_0x2cfd52?_0x2cfd52[0x1]:null;}else{if(_0x3b0bb8['startsWith'](_0xead149(0x1c3))){_0x5dcb42=_0xead149(0x1c3);const _0x252752=_0x5d9f1d[_0xead149(0x1ec)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x197a17=_0x252752?_0x252752[0x1]:null;}else{if(_0x3b0bb8[_0xead149(0x186)](_0xead149(0x1f9))||_0x3b0bb8['startsWith'](_0x5dd26f[_0xead149(0x20a)]))_0x5dcb42=_0x5dd26f[_0xead149(0x1a8)];else{if(_0x3b0bb8['startsWith']('COMMIT'))_0x5dcb42='TRANSACTION_COMMIT';else{if(_0x3b0bb8['startsWith'](_0xead149(0x173)))_0x5dcb42='TRANSACTION_ROLLBACK';else{if(_0x3b0bb8[_0xead149(0x186)](_0xead149(0x17b)))_0x5dcb42='DDL_CREATE';else{if(_0x3b0bb8[_0xead149(0x186)](_0x5dd26f['mSyVI']))_0x5dcb42=_0x5dd26f[_0xead149(0x189)];else _0x3b0bb8[_0xead149(0x186)](_0x5dd26f['vAHOP'])&&(_0x5dcb42='DDL_DROP');}}}}}}}}return{'type':_0x5dcb42,'table':_0x197a17};},startQueryTimer=()=>{const _0x45336f=process['hrtime']();return()=>{const _0x399ebf=a0_0x5082,[_0x1083cb,_0x16037d]=process['hrtime'](_0x45336f);return parseFloat((_0x1083cb*0x3e8+_0x16037d/0xf4240)[_0x399ebf(0x196)](0x2));};},logQuery=(_0xf4e4ba,_0x47ae98=[],_0x24c1da={})=>{const _0x13d3dc=a0_0x1f6eea,_0x5b3904={'mjIOE':_0x13d3dc(0x1ed),'KimiQ':function(_0x27bafc,_0x3f06b8){return _0x27bafc(_0x3f06b8);},'QNkLS':function(_0x18525e,_0x34b88d){return _0x18525e>_0x34b88d;},'GNqSO':function(_0xa25980,_0x1fa2e0,_0x5c9f4b){return _0xa25980(_0x1fa2e0,_0x5c9f4b);},'yuSAp':function(_0xdb338b,_0x1efd90){return _0xdb338b!==_0x1efd90;},'JGiQe':function(_0x11d0bc,_0x3f29ca){return _0x11d0bc||_0x3f29ca;},'BLBdN':_0x13d3dc(0x1d9),'lYNKw':'warn','twnwL':_0x13d3dc(0x1f5)};if(!sqlLogEnabled){logger['debug']({'event':_0x13d3dc(0x1ce),'query':_0xf4e4ba['substring'](0x0,0xc8),'paramCount':_0x47ae98['length']},_0x5b3904['mjIOE']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x13d3dc(0x1d8)}=_0x24c1da,{type:_0x2bb1bf,table:_0x371ddc}=_0x5b3904[_0x13d3dc(0x190)](parseQueryMetadata,_0xf4e4ba),_0x2be263={'event':_0x13d3dc(0x193),'queryType':_0x2bb1bf,'table':_0x371ddc,'query':_0xf4e4ba,'paramCount':_0x47ae98[_0x13d3dc(0x209)],'dbType':dbType};sqlLogParams&&_0x5b3904['QNkLS'](_0x47ae98['length'],0x0)&&(_0x2be263['params']=_0x5b3904['GNqSO'](redactSensitiveParams,_0x47ae98,_0xf4e4ba));_0x5b3904[_0x13d3dc(0x1d3)](duration,null)&&(_0x2be263['durationMs']=duration,_0x2be263['isSlow']=_0x5b3904[_0x13d3dc(0x1e4)](duration,sqlLogSlowThreshold));_0x5b3904['yuSAp'](rowsAffected,null)&&(_0x2be263['rowsAffected']=rowsAffected);const _0x23c9d7=_0x5b3904[_0x13d3dc(0x1c0)](_0x371ddc,'unknown');let _0x49d2f1='['+_0x2bb1bf+']\x20'+_0x23c9d7;duration!==null&&(_0x49d2f1+='\x20('+duration+_0x13d3dc(0x1e8));const _0x58e82e=duration!==null&&duration>sqlLogSlowThreshold;let _0x2bc2c8=_0x5b3904['BLBdN'];if(_0x58e82e)_0x49d2f1+=_0x13d3dc(0x1c2),_0x2bc2c8=_0x5b3904['lYNKw'],logger[_0x13d3dc(0x1ee)](_0x2be263,_0x49d2f1);else sqlLogLevel===_0x5b3904['twnwL']?(_0x2bc2c8='info',logger[_0x13d3dc(0x1f5)](_0x2be263,_0x49d2f1)):logger[_0x13d3dc(0x1d9)](_0x2be263,_0x49d2f1);writeToFileLog({..._0x2be263,'level':_0x2bc2c8,'msg':_0x49d2f1,'time':new Date()[_0x13d3dc(0x1df)]()},_0x2bc2c8);},logTransaction=(_0x309256,_0x4015dc)=>{const _0x378ec0=a0_0x1f6eea,_0x296f07={'gELOn':function(_0xd7614d,_0x27a1d3,_0x8efce){return _0xd7614d(_0x27a1d3,_0x8efce);},'sqnNG':'debug'},_0x26af72={'event':'db_transaction','status':_0x309256,'queryCount':_0x4015dc},_0x387224='Transaction\x20'+_0x309256;logger[_0x378ec0(0x1d9)](_0x26af72,_0x387224),_0x296f07[_0x378ec0(0x211)](writeToFileLog,{..._0x26af72,'level':_0x296f07['sqnNG'],'msg':_0x387224,'time':new Date()[_0x378ec0(0x1df)]()},_0x378ec0(0x1d9));},redactObject=_0xee4199=>{const _0x490bac=a0_0x1f6eea,_0x5ecb42={'qmPAu':'pwd','VplZs':'token','Ztkad':_0x490bac(0x1e1),'aaiUY':'creditcard','lLAjs':'cvv','YoIMr':_0x490bac(0x1f4),'HjfSk':'privatekey','vpjsr':_0x490bac(0x1aa),'qoJFb':function(_0x5317a5,_0x230486){return _0x5317a5===_0x230486;},'XXauY':_0x490bac(0x1d7),'WZtwK':function(_0x5a417c,_0x16661b){return _0x5a417c(_0x16661b);}};if(!_0xee4199||typeof _0xee4199!=='object')return _0xee4199;const _0xcd6d8e=[_0x490bac(0x1bb),'passwd',_0x5ecb42[_0x490bac(0x1fe)],_0x5ecb42[_0x490bac(0x1a4)],'secret','apikey',_0x5ecb42['Ztkad'],_0x490bac(0x212),_0x5ecb42[_0x490bac(0x171)],_0x490bac(0x213),_0x5ecb42[_0x490bac(0x19d)],_0x490bac(0x1e5),_0x5ecb42['YoIMr'],_0x490bac(0x19f),_0x5ecb42[_0x490bac(0x170)],_0x490bac(0x1e3),_0x5ecb42['vpjsr']],_0x51f366=Array[_0x490bac(0x188)](_0xee4199)?[..._0xee4199]:{..._0xee4199};for(const _0x45af79 of Object['keys'](_0x51f366)){const _0x508dd9=_0x45af79[_0x490bac(0x203)]();if(_0xcd6d8e['some'](_0x236ff3=>_0x508dd9[_0x490bac(0x18e)](_0x236ff3)))_0x51f366[_0x45af79]='[REDACTED]';else _0x5ecb42['qoJFb'](typeof _0x51f366[_0x45af79],_0x5ecb42['XXauY'])&&_0x51f366[_0x45af79]!==null&&(_0x51f366[_0x45af79]=_0x5ecb42['WZtwK'](redactObject,_0x51f366[_0x45af79]));}return _0x51f366;},logError=(_0x592330,_0x1d1af4={},_0x156b65=null)=>{const _0x414d7f=a0_0x1f6eea,_0x561475={'hcGNA':'error','rDMsN':function(_0x2cb2b2,_0x183525,_0x147fad){return _0x2cb2b2(_0x183525,_0x147fad);}},_0x3cb518={'event':_0x561475['hcGNA'],'errorName':_0x592330['name']||_0x414d7f(0x1b3),'errorMessage':_0x592330['message'],'errorCode':_0x592330['code']||null,'stack':_0x592330['stack'],..._0x1d1af4},_0x213204=_0x156b65||'Error:\x20'+_0x592330['message'];logger['error'](_0x3cb518,_0x213204),_0x561475[_0x414d7f(0x181)](writeToFileLog,{..._0x3cb518,'level':_0x561475['hcGNA'],'msg':_0x213204,'time':new Date()[_0x414d7f(0x1df)]()},_0x414d7f(0x1cc));},logFatalError=(_0x200af3,_0x8a0190={},_0x134ab9=null)=>{const _0x1b11a1=a0_0x1f6eea,_0xd82ad6={'zlEpD':_0x1b11a1(0x176)},_0x2b9ea4={'event':_0x1b11a1(0x1d0),'errorName':_0x200af3[_0x1b11a1(0x1bf)]||'Error','errorMessage':_0x200af3['message'],'errorCode':_0x200af3['code']||null,'stack':_0x200af3['stack'],'severity':_0x1b11a1(0x184),..._0x8a0190},_0x1e9313=_0x134ab9||_0x1b11a1(0x17c)+_0x200af3[_0x1b11a1(0x21b)];logger[_0x1b11a1(0x176)](_0x2b9ea4,_0x1e9313),writeToFileLog({..._0x2b9ea4,'level':_0xd82ad6[_0x1b11a1(0x1c9)],'msg':_0x1e9313,'time':new Date()[_0x1b11a1(0x1df)]()},_0x1b11a1(0x1cc));},logHttpError=(_0x565c5f,_0x426dce,_0x57e38b={})=>{const _0xe6f042=a0_0x1f6eea,_0x1b1ce8={'tTSli':_0xe6f042(0x1f1),'XHWGT':'user-agent','ftriO':_0xe6f042(0x1c8),'mHRmq':function(_0x454acd,_0x1701d9){return _0x454acd>=_0x1701d9;},'sAins':function(_0x32b6bd,_0x4eb4f4,_0x2431e5){return _0x32b6bd(_0x4eb4f4,_0x2431e5);},'ZyrQL':'error','zwwdk':_0xe6f042(0x1ee)},_0xdb7587={'event':_0x1b1ce8['tTSli'],'errorName':_0x565c5f['name']||_0xe6f042(0x1b3),'errorMessage':_0x565c5f['message'],'errorCode':_0x565c5f[_0xe6f042(0x226)]||_0x565c5f[_0xe6f042(0x1f0)]||0x1f4,'stack':_0x565c5f['stack'],'method':_0x426dce?.[_0xe6f042(0x185)],'url':_0x426dce?.['url']||_0x426dce?.[_0xe6f042(0x1a6)],'path':_0x426dce?.['path'],'ip':_0x426dce?.['ip']||_0x426dce?.[_0xe6f042(0x20b)]?.['remoteAddress'],'userAgent':_0x426dce?.[_0xe6f042(0x1cb)]?.(_0x1b1ce8[_0xe6f042(0x1f6)]),'requestId':_0x426dce?.['id']||_0x426dce?.[_0xe6f042(0x179)]?.[_0x1b1ce8['ftriO']],'body':_0x426dce?.[_0xe6f042(0x20d)]?redactObject(_0x426dce[_0xe6f042(0x20d)]):undefined,'query':_0x426dce?.[_0xe6f042(0x225)],..._0x57e38b},_0x3cb869=_0x565c5f['statusCode']||_0x565c5f['status']||0x1f4,_0x34c55d=_0xe6f042(0x1b7)+_0x3cb869+':\x20'+_0x565c5f['message'];_0x1b1ce8['mHRmq'](_0x3cb869,0x1f4)?logger[_0xe6f042(0x1cc)](_0xdb7587,_0x34c55d):logger['warn'](_0xdb7587,_0x34c55d),_0x1b1ce8['sAins'](writeToFileLog,{..._0xdb7587,'level':_0x3cb869>=0x1f4?_0x1b1ce8[_0xe6f042(0x1b2)]:_0x1b1ce8['zwwdk'],'msg':_0x34c55d,'time':new Date()[_0xe6f042(0x1df)]()},_0x3cb869>=0x1f4?_0x1b1ce8['ZyrQL']:_0x1b1ce8['zwwdk']);},logUncaughtError=(_0x4a103b,_0x2771d5)=>{const _0x15159c=a0_0x1f6eea,_0xc027c1={'PVGSb':function(_0x48abdb,_0x362146){return _0x48abdb(_0x362146);},'odFbg':'CRITICAL','LIgAN':function(_0x1fadda,_0xf76ccf,_0x55fd29){return _0x1fadda(_0xf76ccf,_0x55fd29);},'OLIaA':'fatal'},_0x5e9807={'event':_0x4a103b,'errorName':_0x2771d5?.[_0x15159c(0x1bf)]||_0x15159c(0x1b3),'errorMessage':_0x2771d5?.[_0x15159c(0x21b)]||_0xc027c1[_0x15159c(0x20c)](String,_0x2771d5),'errorCode':_0x2771d5?.[_0x15159c(0x226)]||null,'stack':_0x2771d5?.[_0x15159c(0x180)],'severity':_0xc027c1['odFbg'],'processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0x493ec2='['+_0x4a103b[_0x15159c(0x1c7)]()+']\x20'+(_0x2771d5?.['message']||_0x2771d5);logger[_0x15159c(0x176)](_0x5e9807,_0x493ec2),_0xc027c1[_0x15159c(0x1a7)](writeToFileLog,{..._0x5e9807,'level':_0xc027c1[_0x15159c(0x199)],'msg':_0x493ec2,'time':new Date()['toISOString']()},_0x15159c(0x1cc));},setupGlobalErrorHandlers=()=>{const _0x91c3a2=a0_0x1f6eea,_0x14df7c={'ZrpFH':function(_0x4788c5,_0xd35f74,_0x219463){return _0x4788c5(_0xd35f74,_0x219463);},'QxMXx':'uncaughtException','uNmFy':function(_0x9bb25c,_0x26ff99){return _0x9bb25c(_0x26ff99);},'Prrfe':'process_warning','SfkjB':'warning','DUcjx':'global_error_handlers_setup'};process['on'](_0x91c3a2(0x1de),_0x16fd40=>{_0x14df7c['ZrpFH'](logUncaughtError,_0x14df7c['QxMXx'],_0x16fd40),setTimeout(()=>{const _0x3c3f76=a0_0x5082;process[_0x3c3f76(0x222)](0x1);},0x3e8);}),process['on'](_0x91c3a2(0x1d1),(_0x56e9e4,_0x538b87)=>{const _0x5c6de8=_0x91c3a2,_0x31652a=_0x56e9e4 instanceof Error?_0x56e9e4:new Error(_0x14df7c[_0x5c6de8(0x1cf)](String,_0x56e9e4));logUncaughtError('unhandledRejection',_0x31652a);}),process['on'](_0x14df7c[_0x91c3a2(0x1b4)],_0x521648=>{const _0x2e757d=_0x91c3a2;logger['warn']({'event':_0x14df7c[_0x2e757d(0x1c4)],'name':_0x521648[_0x2e757d(0x1bf)],'message':_0x521648[_0x2e757d(0x21b)],'stack':_0x521648['stack']},'Process\x20Warning:\x20'+_0x521648['message']);});const _0x4a5bb7={'event':_0x14df7c[_0x91c3a2(0x1a2)]},_0x3fc46a='Global\x20error\x20handlers\x20initialized';logger[_0x91c3a2(0x1f5)](_0x4a5bb7,_0x3fc46a),writeToFileLog({..._0x4a5bb7,'level':'info','msg':_0x3fc46a,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{const _0x1f43a7={'HYBcH':function(_0x1c3447,_0x513031){return _0x1c3447>=_0x513031;},'XIICZ':'x-request-id'};return(_0x61948b,_0x784b8d,_0x2decd0,_0x5bca25)=>{const _0x291100=a0_0x5082;logHttpError(_0x61948b,_0x784b8d);const _0x1cfaf9=_0x61948b[_0x291100(0x1f0)]||_0x61948b[_0x291100(0x17d)]||0x1f4;_0x2decd0['status'](_0x1cfaf9)[_0x291100(0x183)]({'success':![],'error':_0x1f43a7['HYBcH'](_0x1cfaf9,0x1f4)?'Internal\x20server\x20error':_0x61948b['message'],'requestId':_0x784b8d['id']||_0x784b8d[_0x291100(0x179)]?.[_0x1f43a7['XIICZ']]||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
|
+
function a0_0x30ad(_0xd99949,_0x54e968){_0xd99949=_0xd99949-0x195;const _0x1f3d8f=a0_0x1f3d();let _0x30ad32=_0x1f3d8f[_0xd99949];if(a0_0x30ad['tvzUJz']===undefined){var _0x2198d5=function(_0x4f7265){const _0x54d5fe='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x75bd6c='',_0x191d2c='';for(let _0x524b5a=0x0,_0x344cd4,_0x4c2096,_0x9ea17b=0x0;_0x4c2096=_0x4f7265['charAt'](_0x9ea17b++);~_0x4c2096&&(_0x344cd4=_0x524b5a%0x4?_0x344cd4*0x40+_0x4c2096:_0x4c2096,_0x524b5a++%0x4)?_0x75bd6c+=String['fromCharCode'](0xff&_0x344cd4>>(-0x2*_0x524b5a&0x6)):0x0){_0x4c2096=_0x54d5fe['indexOf'](_0x4c2096);}for(let _0x5ceba3=0x0,_0x3c02c8=_0x75bd6c['length'];_0x5ceba3<_0x3c02c8;_0x5ceba3++){_0x191d2c+='%'+('00'+_0x75bd6c['charCodeAt'](_0x5ceba3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x191d2c);};a0_0x30ad['dsqmxl']=_0x2198d5,a0_0x30ad['eUjJtU']={},a0_0x30ad['tvzUJz']=!![];}const _0x148b66=_0x1f3d8f[0x0],_0xc0d21=_0xd99949+_0x148b66,_0x2e323a=a0_0x30ad['eUjJtU'][_0xc0d21];return!_0x2e323a?(_0x30ad32=a0_0x30ad['dsqmxl'](_0x30ad32),a0_0x30ad['eUjJtU'][_0xc0d21]=_0x30ad32):_0x30ad32=_0x2e323a,_0x30ad32;}const a0_0x1665fa=a0_0x30ad;(function(_0x54787c,_0x33c785){const _0x4c0075=a0_0x30ad,_0x25be78=_0x54787c();while(!![]){try{const _0x5b8500=-parseInt(_0x4c0075(0x22e))/0x1+parseInt(_0x4c0075(0x19a))/0x2*(parseInt(_0x4c0075(0x1b5))/0x3)+-parseInt(_0x4c0075(0x1c0))/0x4*(-parseInt(_0x4c0075(0x23d))/0x5)+-parseInt(_0x4c0075(0x22c))/0x6+-parseInt(_0x4c0075(0x1d5))/0x7+parseInt(_0x4c0075(0x1d2))/0x8*(-parseInt(_0x4c0075(0x225))/0x9)+parseInt(_0x4c0075(0x21d))/0xa;if(_0x5b8500===_0x33c785)break;else _0x25be78['push'](_0x25be78['shift']());}catch(_0x13b7de){_0x25be78['push'](_0x25be78['shift']());}}}(a0_0x1f3d,0xb502b));const pino=require(a0_0x1665fa(0x24b)),fs=require('fs'),path=require('path');let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x1665fa(0x1b9),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_0x1665fa(0x1f4),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0x1665fa(0x1e3)][a0_0x1665fa(0x1c9)]!==a0_0x1665fa(0x21f),logLevel=process['env']['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x1665fa(0x1e3)]['APP_VERSION']||'1.0.5','env':process['env']['NODE_ENV']||a0_0x1665fa(0x1b0)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':['req.headers.authorization',a0_0x1665fa(0x220),a0_0x1665fa(0x1b3),a0_0x1665fa(0x21e),'apiKey','DB_PASSWORD',a0_0x1665fa(0x1ea)],'censor':a0_0x1665fa(0x1a0)},'serializers':{'req':_0x44434a=>({'id':_0x44434a['id'],'method':_0x44434a['method'],'url':_0x44434a[a0_0x1665fa(0x1d6)],'path':_0x44434a['path'],'remoteAddress':_0x44434a['ip']||_0x44434a[a0_0x1665fa(0x1f0)]?.['remoteAddress']}),'res':_0x49db74=>({'statusCode':_0x49db74[a0_0x1665fa(0x197)],'headers':_0x49db74[a0_0x1665fa(0x1e5)]?.()}),'err':pino[a0_0x1665fa(0x21a)][a0_0x1665fa(0x1b6)]}});function initFileLogging(){const _0x290207=a0_0x1665fa,_0x4151c7={'KNzBA':function(_0x2537cc,_0x3bd17a){return _0x2537cc===_0x3bd17a;},'MoZBx':'restforge','nhUHp':'debug','XuYzh':function(_0x343d4d,_0x381c58){return _0x343d4d!==_0x381c58;},'MFMnY':'app.log','xtSOr':_0x290207(0x1b2),'VPzin':function(_0x42efeb,_0x30c215,_0xb0811e){return _0x42efeb(_0x30c215,_0xb0811e);},'flTgF':_0x290207(0x236)};if(fileLoggingInitialized)return;logToFile=_0x4151c7['KNzBA'](process[_0x290207(0x1e3)][_0x290207(0x1f1)],'true'),logDir=process['env'][_0x290207(0x209)]||'./logs',serviceName=process['env']['SERVICE_NAME']||_0x4151c7['MoZBx'],sqlLogEnabled=process['env']['SQL_LOG_ENABLED']===_0x290207(0x22d),sqlLogLevel=process[_0x290207(0x1e3)]['SQL_LOG_LEVEL']||_0x4151c7['nhUHp'],sqlLogParams=_0x4151c7[_0x290207(0x21c)](process['env']['SQL_LOG_PARAMS'],_0x290207(0x234)),sqlLogSlowThreshold=parseInt(process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x377ab0=path[_0x290207(0x1ce)](process['cwd'](),logDir);try{!fs[_0x290207(0x235)](_0x377ab0)&&fs['mkdirSync'](_0x377ab0,{'recursive':!![]});}catch(_0x22a4dc){console[_0x290207(0x20f)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x377ab0+':',_0x22a4dc[_0x290207(0x1a3)]),fileLoggingInitialized=!![];return;}const _0xff8646=path['join'](_0x377ab0,_0x4151c7[_0x290207(0x1c6)]),_0x2eef83=path[_0x290207(0x1f5)](_0x377ab0,_0x290207(0x1b2));try{appLogStream=fs[_0x290207(0x206)](_0xff8646,{'flags':'a'}),errorLogStream=fs[_0x290207(0x206)](_0x2eef83,{'flags':'a'}),fileLoggingInitialized=!![];const _0x49c905={'event':_0x290207(0x1b4),'logDir':_0x377ab0,'files':[_0x290207(0x1a2),_0x4151c7[_0x290207(0x204)]]},_0x3cab62=_0x290207(0x239)+_0x377ab0;logger[_0x290207(0x236)](_0x49c905,_0x3cab62),_0x4151c7['VPzin'](writeToFileLog,{..._0x49c905,'level':_0x4151c7['flTgF'],'msg':_0x3cab62,'time':new Date()[_0x290207(0x1a8)]()},_0x290207(0x236));}catch(_0x55b39b){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x55b39b[_0x290207(0x1a3)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x546e13,_0x405ba4){const _0x194b4b=a0_0x1665fa,_0x57f27e={'yOGHk':function(_0xc3b8de,_0x5165ab){return _0xc3b8de||_0x5165ab;},'IZfMB':function(_0x3f411b,_0x3965a3){return _0x3f411b+_0x3965a3;},'yeaos':_0x194b4b(0x20f),'AEVfv':function(_0x461597,_0x4bbb04){return _0x461597===_0x4bbb04;}};if(_0x57f27e[_0x194b4b(0x1aa)](!logToFile,!appLogStream))return;const _0x29eec8={'service':serviceName,..._0x546e13},_0x80dc6c=_0x57f27e[_0x194b4b(0x1ab)](JSON['stringify'](_0x29eec8),'\x0a');appLogStream['write'](_0x80dc6c),(_0x405ba4===_0x57f27e[_0x194b4b(0x1e6)]||_0x57f27e['AEVfv'](_0x405ba4,'fatal'))&&(errorLogStream&&errorLogStream['write'](_0x80dc6c));}function a0_0x1f3d(){const _0x413f69=['Ec1Yzxf1zxn0lwLK','z2v0sgvHzgvYCW','EwvHB3m','zgjFDhjHBNnHy3rPB24','uK9mtejbq0S','oI8V','sLDux1nfq1jfva','Cxjervm','C3rHDhvZ','qunusvzf','rfjpua','z2v0','y29UBMvJDgLVBG','te9hx1rpx0zjteu','DgvZDa','iokvKqRILzeGifbVCNqGicaGicaGidOG','E21Zz30','AM9PBG','uMnKvNO','w09lxsbqCM9Qzwn0igXVywrLzdOG','C2vYDMvYx3jLywr5','CgLU','Cg9YDa','ChjPDMf0zv9RzxK','CgfZC3DK','CMvWBgfJzq','CgLK','rKfuquW6ia','ic0G','zhPsyLy','ig9UihbVCNqG','C3rYAw5N','Ehrtt3i','Bwf0y2G','y3jLyxrLv3jPDgvtDhjLyw0','sNHfs1e','tMjUuw8','te9hx0rjuG','icbjBMzVoIaGia','u1rbuLqGvfjbtLnbq1rjt04','q1jjveLdquW','rxjYB3i','reiGuxvLCNK','zxjYB3i','rMTJtu0','EMjerMK','qKvhsu4','AxntBg93','CxvLCNK','Cgf0Aa','Dg9mB3DLCKnHC2u','ywnJzxnZx3rVA2vU','w1jfrefdveveoNrVA2vUxq','BgvUz3rO','C3rKu2vYAwfSAxPLCNm','sfruuca','whvzEMG','mtC5ndm0mZbIBfLHteC','Dg9Rzw4','ChjVzhvJDgLVBG','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','sfHls0u','yw1ut2m','qKzrDey','C3bSAxq','mJGXn3nUsgfnua','sM9SAhO','ww9eA2W','Bg9N','q1jfqvrf','z0nbr2u','Ahr0Cf9LCNjVCG','ndq0mZe4nNnqBK5QCW','Dhj1zq','mtm0ntaWnhbNAK9WAG','C29Tzq','zMf0ywW','zw5KCg9PBNrFCMvNAxn0zxjLza','BKnPDNe','BMfTzq','zMfSC2u','zxHPC3rZu3LUyW','Aw5MBW','wuzSvhO','DhjPBq','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','AgvHzgvYCW','AgvHBhrOq2HLy2S','rLzns00','mteYndK2nuvAswTOrq','yM9KEq','B2jQzwn0','CM93C0fMzMvJDgvK','C3vIC3rYAw5N','rermx0rst1a','C3fSx3f1zxj5','vfjbtLnbq1rjt05FqKvhsu4','B3jPz2LUywXvCMW','CgfKrw5K','DLnxqKy','sMTpCg0','txrctuC','vhjHBNnHy3rPB24G','CgLUBW','tI9b','ChjVAMvJDa','qNnjDfG','C3rHDhvZq29Kzq','ChDK','zMf0ywXFzxjYB3i','ote3nJzPCxPktM4','yMfZzvvYBa','zgf0ywjHC2vFy29UzMLN','BwfW','Aw5JBhvKzxm','BMDUrgu','w1jfrefdvevexq','D2LsvKG','yxbWlMXVzW','BwvZC2fNzq','C3rHy2S','C3nfD2m','wLLVsvO','y29UzMLNrMLSzq','Dg9ju09tDhjPBMC','B3rW','Eu9hsgS','svPMtui','zhvYyxrPB25nCW','zxHWB3j0CW','C2vYDMLJzuLUzM8','CMvTB3rLqwrKCMvZCW','zgv2zwXVCg1LBNq','C1bgCu8','zxjYB3iUBg9N','CgfZC3DVCMq','zMLSzv9SB2DNAw5Nx2vUywjSzwq','nZvxsuHwvhK','zxjY','rhfzBey','zw52AxjVBM1LBNq','zgvIDwC','yxbPx3nLy3jLDa','yNDrtw0','C2vJCMv0','AxnbCNjHEq','y29Kzq','CMvMCMvZAf90B2TLBG','mJbothzjweS','Ahj0Aw1L','v2vKshy','rgrXq0C','yxv0Ag9YAxPHDgLVBG','Bwv0Ag9K','tuznBLK','yxbPA2v5','DhLWzq','tK9erv9ftLy','Dg5ZueC','BxmP','Ag9ZDa','D2fYBG','CMvZB2X2zq','Dxb0Aw1L','ChjVy2vZC193yxjUAw5N','quXurvi','mta0ogn6rNDtBW','u2rvD1u','sM1IyLi','odm4odK4mLfyB1jNuG','DxjS','BhnYrKi','rxjYB3i6ia','rhHoAMi','zgf0ywjHC2u','B3P4Che','rermx0nsrufurq','Bw9KDwXL','Dw5RBM93BG','C3rHCNrZv2L0Aa','C0XgEwW','yNbvzhy','yxbPx2TLEq','zw52'];a0_0x1f3d=function(){return _0x413f69;};return a0_0x1f3d();}const createRequestLogger=(_0x50b3ca={})=>{return logger['child'](_0x50b3ca);},logServerStart=_0x35663e=>{const _0x36bb4f=a0_0x1665fa,_0x162654={'SdUwU':_0x36bb4f(0x24c),'DxNjb':function(_0x2acd6f,_0x516d17){return _0x2acd6f(_0x516d17);},'ozxpq':'server_starting','gCAGe':function(_0x3aec56,_0x30ae85,_0x4220d1){return _0x3aec56(_0x30ae85,_0x4220d1);},'agBXk':'info'},_0x561b21='\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'+(_0x35663e[_0x36bb4f(0x1b8)]||'Node.js')[_0x36bb4f(0x246)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x35663e['project']||_0x162654[_0x36bb4f(0x1d3)])['padEnd'](0x26)+_0x36bb4f(0x1f3)+_0x162654[_0x36bb4f(0x1d9)](String,_0x35663e['port']||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x35663e[_0x36bb4f(0x1a7)]||'Default')['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x35663e['apiKey']?_0x36bb4f(0x1ed):'NOT\x20ACTIVE')[_0x36bb4f(0x246)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x36bb4f(0x228)](_0x561b21);const _0x4b37d8={'event':_0x162654[_0x36bb4f(0x1db)],'project':_0x35663e[_0x36bb4f(0x195)],'port':_0x35663e[_0x36bb4f(0x1fa)],'config':_0x35663e['configFile'],'apiKeyEnabled':!!_0x35663e['apiKey']};logger[_0x36bb4f(0x236)](_0x4b37d8),_0x162654[_0x36bb4f(0x22a)](writeToFileLog,{..._0x4b37d8,'level':_0x162654['agBXk'],'msg':'Server\x20starting:\x20'+_0x35663e[_0x36bb4f(0x195)]+_0x36bb4f(0x202)+_0x35663e[_0x36bb4f(0x1fa)],'time':new Date()[_0x36bb4f(0x1a8)]()},'info');},logServerReady=_0x2f76d6=>{const _0x2e6bb7=a0_0x1665fa,_0x3e61fd={'dzRbV':_0x2e6bb7(0x1f8),'wiRVH':'info'},_0x3e276f={'event':_0x3e61fd[_0x2e6bb7(0x201)],'port':_0x2f76d6['port'],'module':_0x2f76d6[_0x2e6bb7(0x1dd)],'healthCheck':_0x2f76d6['healthCheck'],'serviceInfo':_0x2f76d6[_0x2e6bb7(0x1ae)],'baseUrl':_0x2f76d6['baseUrl']},_0xfee45d='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x2f76d6['port'];logger[_0x2e6bb7(0x236)](_0x3e276f,_0xfee45d),writeToFileLog({..._0x3e276f,'level':_0x3e61fd[_0x2e6bb7(0x1a1)],'msg':_0xfee45d,'time':new Date()[_0x2e6bb7(0x1a8)]()},'info'),_0x2f76d6[_0x2e6bb7(0x23b)]&&logger['info']('\x20\x20Health:\x20'+_0x2f76d6[_0x2e6bb7(0x23b)]),_0x2f76d6['serviceInfo']&&logger['info'](_0x2e6bb7(0x20a)+_0x2f76d6[_0x2e6bb7(0x1ae)]),_0x2f76d6[_0x2e6bb7(0x19b)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x2f76d6[_0x2e6bb7(0x19b)]);},logProjectLoaded=(_0x2ccb7f,_0x28a282)=>{const _0x18fda4=a0_0x1665fa,_0x4c4302={'bVrdv':'project_loaded','nFgyf':function(_0x40cc1e,_0x1a1fee,_0x4f5cd9){return _0x40cc1e(_0x1a1fee,_0x4f5cd9);},'sPFqO':'info'},_0x5937a7={'event':_0x4c4302['bVrdv'],'project':_0x2ccb7f,'path':_0x28a282},_0x4e0928=_0x18fda4(0x1f7)+_0x2ccb7f;logger[_0x18fda4(0x236)](_0x5937a7,_0x4e0928),_0x4c4302['nFgyf'](writeToFileLog,{..._0x5937a7,'level':_0x4c4302[_0x18fda4(0x1b1)],'msg':_0x4e0928,'time':new Date()[_0x18fda4(0x1a8)]()},_0x4c4302[_0x18fda4(0x1b1)]);},logEndpointRegistered=(_0x121ff4,_0x3a0cb6)=>{const _0x30103f=a0_0x1665fa,_0x833777={'event':_0x30103f(0x231),'endpoint':_0x121ff4,'route':_0x3a0cb6},_0x1683bd='\x20\x20→\x20'+_0x121ff4+':\x20'+_0x3a0cb6;logger[_0x30103f(0x1b9)](_0x833777,_0x1683bd),writeToFileLog({..._0x833777,'level':_0x30103f(0x1b9),'msg':_0x1683bd,'time':new Date()[_0x30103f(0x1a8)]()},_0x30103f(0x1b9));},logDatabaseConfig=_0x751464=>{const _0x52d942=a0_0x1665fa,_0x197a48={'ZYoIZ':_0x52d942(0x19c),'ypRMh':function(_0x337874,_0x57b430,_0x12c2db){return _0x337874(_0x57b430,_0x12c2db);},'BFQtF':'debug'},_0x413b4c={'event':_0x197a48[_0x52d942(0x1a6)],'host':_0x751464['host'],'port':_0x751464[_0x52d942(0x1fa)],'database':_0x751464['database'],'type':_0x751464[_0x52d942(0x1c8)],'user':_0x751464['user']},_0x273299='Database:\x20'+_0x751464['type']+_0x52d942(0x1e9)+_0x751464[_0x52d942(0x1cc)]+':'+_0x751464[_0x52d942(0x1fa)]+'/'+_0x751464[_0x52d942(0x1da)];logger['debug'](_0x413b4c,_0x273299),_0x197a48['ypRMh'](writeToFileLog,{..._0x413b4c,'level':_0x197a48[_0x52d942(0x223)],'msg':_0x273299,'time':new Date()[_0x52d942(0x1a8)]()},_0x197a48[_0x52d942(0x223)]);},logRequest=(_0x1206b3,_0x23060e,_0x414621)=>{const _0x660e99=a0_0x1665fa,_0x44fbf1={'KLCLC':'http_request','DdqCG':'info','eWbfz':function(_0x3c6098,_0x175d93){return _0x3c6098>=_0x175d93;},'qrDES':_0x660e99(0x1cd),'ByWex':function(_0xffe78b,_0xb616e3,_0x24ced8){return _0xffe78b(_0xb616e3,_0x24ced8);}},_0x4421c8={'event':_0x44fbf1['KLCLC'],'method':_0x1206b3['method'],'path':_0x1206b3[_0x660e99(0x215)],'statusCode':_0x23060e[_0x660e99(0x197)],'durationMs':_0x414621,'ip':_0x1206b3['ip']},_0x31d55e=_0x1206b3['method']+'\x20'+_0x1206b3['path']+_0x660e99(0x200)+_0x23060e['statusCode']+'\x20('+_0x414621+_0x660e99(0x1cb);let _0x3e2ac8=_0x44fbf1[_0x660e99(0x1c3)];if(_0x23060e['statusCode']>=0x1f4)_0x3e2ac8=_0x660e99(0x20f),logger['error'](_0x4421c8,_0x31d55e);else _0x44fbf1['eWbfz'](_0x23060e['statusCode'],0x190)?(_0x3e2ac8=_0x44fbf1[_0x660e99(0x1eb)],logger[_0x660e99(0x1cd)](_0x4421c8,_0x31d55e)):logger['info'](_0x4421c8,_0x31d55e);_0x44fbf1['ByWex'](writeToFileLog,{..._0x4421c8,'level':_0x3e2ac8,'msg':_0x31d55e,'time':new Date()['toISOString']()},_0x3e2ac8);},SENSITIVE_PARAM_PATTERNS=['password','passwd','pwd','token','access_token',a0_0x1665fa(0x1bf),a0_0x1665fa(0x1bc),a0_0x1665fa(0x1ba),'apikey',a0_0x1665fa(0x1e2),'credential','credentials',a0_0x1665fa(0x1f9),a0_0x1665fa(0x1a9),a0_0x1665fa(0x1fb),'privatekey'],redactSensitiveParams=(_0x5651b7,_0x42a946)=>{const _0x40b9e6=a0_0x1665fa,_0x35582e={'tIHyq':_0x40b9e6(0x203),'YoDkl':function(_0x45f3da,_0x5f1b88){return _0x45f3da>_0x5f1b88;},'fzNgC':'[REDACTED:hash]','hcnwm':function(_0x39c8a7,_0x2de795){return _0x39c8a7===_0x2de795;}};if(!_0x5651b7||_0x35582e['hcnwm'](_0x5651b7[_0x40b9e6(0x219)],0x0))return _0x5651b7;const _0x4797ac=_0x42a946['toLowerCase'](),_0x490562=_0x4797ac[_0x40b9e6(0x205)](/\(([^)]+)\)\s*values/i);let _0x5c6a84=[];_0x490562&&(_0x5c6a84=_0x490562[0x1][_0x40b9e6(0x224)](',')['map'](_0xb7f803=>_0xb7f803['trim']()['toLowerCase']()));const _0x593914=_0x4797ac[_0x40b9e6(0x205)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x593914){const _0x459a75=_0x593914[0x1],_0x22505a=_0x459a75['match'](/(\w+)\s*=/g);_0x22505a&&(_0x5c6a84=_0x22505a[_0x40b9e6(0x19d)](_0x10875d=>_0x10875d[_0x40b9e6(0x1fd)](/\s*=/,'')[_0x40b9e6(0x238)]()['toLowerCase']()));}return _0x5651b7[_0x40b9e6(0x19d)]((_0x581a74,_0x258492)=>{const _0x457152=_0x40b9e6;if(_0x5c6a84[_0x258492]){const _0x3788d1=_0x5c6a84[_0x258492],_0xbfac05=SENSITIVE_PARAM_PATTERNS[_0x457152(0x22f)](_0x1ce1e1=>_0x3788d1[_0x457152(0x19e)](_0x1ce1e1));if(_0xbfac05)return _0x457152(0x1a0);}if(typeof _0x581a74===_0x35582e['tIHyq']&&_0x35582e[_0x457152(0x227)](_0x581a74[_0x457152(0x219)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x457152(0x1f2)](_0x581a74)&&_0x581a74[_0x457152(0x19e)]('.'))return _0x457152(0x218);if(/^[a-fA-F0-9]{32,}$/[_0x457152(0x1f2)](_0x581a74))return _0x35582e['fzNgC'];}return _0x581a74;});},parseQueryMetadata=_0x14f184=>{const _0x1c1550=a0_0x1665fa,_0x1d9db2={'Jolhz':'INSERT','JkOpm':'UPDATE','rTNXw':'DELETE','LzxZY':_0x1c1550(0x212),'YFlTz':_0x1c1550(0x244),'MtBMG':'COMMIT','zSvQU':'TRANSACTION_COMMIT','DqYlF':_0x1c1550(0x1e8),'nCivq':_0x1c1550(0x229),'ssEwc':_0x1c1550(0x1d1),'WHLXr':_0x1c1550(0x1ee),'PkbYZ':_0x1c1550(0x242)},_0xbd611b=_0x14f184[_0x1c1550(0x238)](),_0x4ecb19=_0xbd611b['toUpperCase']();let _0x484281='UNKNOWN',_0x254985=null;if(_0x4ecb19['startsWith']('SELECT')){_0x484281='SELECT';const _0x1eb746=_0xbd611b['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x254985=_0x1eb746?_0x1eb746[0x1]:null;}else{if(_0x4ecb19['startsWith'](_0x1d9db2[_0x1c1550(0x226)])){_0x484281=_0x1d9db2['Jolhz'];const _0x2849ec=_0xbd611b['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x254985=_0x2849ec?_0x2849ec[0x1]:null;}else{if(_0x4ecb19['startsWith'](_0x1d9db2[_0x1c1550(0x248)])){_0x484281='UPDATE';const _0x3c241a=_0xbd611b['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x254985=_0x3c241a?_0x3c241a[0x1]:null;}else{if(_0x4ecb19[_0x1c1550(0x1df)]('DELETE')){_0x484281=_0x1d9db2['rTNXw'];const _0x412f6e=_0xbd611b[_0x1c1550(0x205)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x254985=_0x412f6e?_0x412f6e[0x1]:null;}else{if(_0x4ecb19[_0x1c1550(0x1df)](_0x1d9db2['LzxZY'])||_0x4ecb19['startsWith'](_0x1c1550(0x20b)))_0x484281=_0x1d9db2[_0x1c1550(0x237)];else{if(_0x4ecb19[_0x1c1550(0x1df)](_0x1d9db2[_0x1c1550(0x249)]))_0x484281=_0x1d9db2['zSvQU'];else{if(_0x4ecb19[_0x1c1550(0x1df)](_0x1d9db2[_0x1c1550(0x1b7)]))_0x484281='TRANSACTION_ROLLBACK';else{if(_0x4ecb19['startsWith'](_0x1d9db2[_0x1c1550(0x232)]))_0x484281=_0x1c1550(0x1dc);else{if(_0x4ecb19[_0x1c1550(0x1df)](_0x1d9db2[_0x1c1550(0x1a5)]))_0x484281='DDL_ALTER';else _0x4ecb19['startsWith'](_0x1d9db2['WHLXr'])&&(_0x484281=_0x1d9db2['PkbYZ']);}}}}}}}}return{'type':_0x484281,'table':_0x254985};},startQueryTimer=()=>{const _0x394d13={'rLMAF':function(_0x3b04a2,_0x4dc21a){return _0x3b04a2+_0x4dc21a;},'vyjGn':function(_0xcae019,_0x1e9d75){return _0xcae019*_0x1e9d75;},'ndpHx':function(_0x238a85,_0x51ce9d){return _0x238a85/_0x51ce9d;}},_0x551b2f=process['hrtime']();return()=>{const _0x54b62c=a0_0x30ad,[_0x514bef,_0x599081]=process[_0x54b62c(0x1c1)](_0x551b2f);return parseFloat(_0x394d13['rLMAF'](_0x394d13['vyjGn'](_0x514bef,0x3e8),_0x394d13['ndpHx'](_0x599081,0xf4240))['toFixed'](0x2));};},logQuery=(_0x34e32e,_0x33aa87=[],_0x293bbb={})=>{const _0x1960d0=a0_0x1665fa,_0x23cdb9={'PntIs':_0x1960d0(0x243),'JmbbR':function(_0x48b4f6,_0x35bcf3){return _0x48b4f6!==_0x35bcf3;},'PmBFe':_0x1960d0(0x1de),'tnsPG':function(_0x31de20,_0x3596bc){return _0x31de20!==_0x3596bc;},'WedHv':'\x20[SLOW]','zbDFi':function(_0x1103ca,_0x448345){return _0x1103ca===_0x448345;}};if(!sqlLogEnabled){logger[_0x1960d0(0x1b9)]({'event':'db_query','query':_0x34e32e[_0x1960d0(0x241)](0x0,0xc8),'paramCount':_0x33aa87['length']},_0x1960d0(0x20e));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x293bbb,{type:_0x18fc30,table:_0x12cc60}=parseQueryMetadata(_0x34e32e),_0x49c299={'event':_0x23cdb9['PntIs'],'queryType':_0x18fc30,'table':_0x12cc60,'query':_0x34e32e,'paramCount':_0x33aa87['length'],'dbType':dbType};sqlLogParams&&_0x33aa87['length']>0x0&&(_0x49c299['params']=redactSensitiveParams(_0x33aa87,_0x34e32e));_0x23cdb9['JmbbR'](duration,null)&&(_0x49c299[_0x1960d0(0x1ac)]=duration,_0x49c299[_0x1960d0(0x213)]=duration>sqlLogSlowThreshold);_0x23cdb9[_0x1960d0(0x1d4)](rowsAffected,null)&&(_0x49c299[_0x1960d0(0x240)]=rowsAffected);const _0x5f6ecd=_0x12cc60||_0x23cdb9['PmBFe'];let _0x29218b='['+_0x18fc30+']\x20'+_0x5f6ecd;duration!==null&&(_0x29218b+='\x20('+duration+'ms)');const _0x56c4ff=_0x23cdb9[_0x1960d0(0x1ca)](duration,null)&&duration>sqlLogSlowThreshold;let _0x5a8627='debug';if(_0x56c4ff)_0x29218b+=_0x23cdb9[_0x1960d0(0x1c2)],_0x5a8627='warn',logger['warn'](_0x49c299,_0x29218b);else _0x23cdb9[_0x1960d0(0x211)](sqlLogLevel,'info')?(_0x5a8627=_0x1960d0(0x236),logger[_0x1960d0(0x236)](_0x49c299,_0x29218b)):logger[_0x1960d0(0x1b9)](_0x49c299,_0x29218b);writeToFileLog({..._0x49c299,'level':_0x5a8627,'msg':_0x29218b,'time':new Date()[_0x1960d0(0x1a8)]()},_0x5a8627);},logTransaction=(_0x1a0e7,_0x4740e6)=>{const _0x40a0cf=a0_0x1665fa,_0x4845fd={'HXKKE':_0x40a0cf(0x1e7),'vmVcb':function(_0x67b214,_0x5a1653,_0x50503e){return _0x67b214(_0x5a1653,_0x50503e);}},_0xb3b6d5={'event':_0x4845fd[_0x40a0cf(0x221)],'status':_0x1a0e7,'queryCount':_0x4740e6},_0x23fd57=_0x40a0cf(0x24a)+_0x1a0e7;logger['debug'](_0xb3b6d5,_0x23fd57),_0x4845fd['vmVcb'](writeToFileLog,{..._0xb3b6d5,'level':_0x40a0cf(0x1b9),'msg':_0x23fd57,'time':new Date()[_0x40a0cf(0x1a8)]()},'debug');},redactObject=_0x42fff3=>{const _0x56f995=a0_0x1665fa,_0xa811ae={'lQahr':_0x56f995(0x1fc),'shWfb':_0x56f995(0x198),'wDWEC':'token','FEuEF':'ssn','oSsWb':_0x56f995(0x1fb),'lsrFB':'refresh_token','BsItX':_0x56f995(0x217),'NbnQo':_0x56f995(0x1a0),'FUsXc':function(_0x1f680c,_0x787e7){return _0x1f680c===_0x787e7;},'HJlJK':function(_0x25f5e1,_0x5ac9b6){return _0x25f5e1!==_0x5ac9b6;}};if(!_0x42fff3||typeof _0x42fff3!==_0x56f995(0x23f))return _0x42fff3;const _0xc39030=[_0x56f995(0x1b3),_0xa811ae['lQahr'],_0xa811ae['shWfb'],_0xa811ae['wDWEC'],_0x56f995(0x1bc),_0x56f995(0x1c7),'api_key',_0x56f995(0x1c4),'creditcard','credit_card','cvv',_0xa811ae['FEuEF'],_0x56f995(0x1f9),_0xa811ae['oSsWb'],'privatekey',_0xa811ae[_0x56f995(0x1d7)],_0xa811ae[_0x56f995(0x196)]],_0x4fbcd3=Array[_0x56f995(0x1bd)](_0x42fff3)?[..._0x42fff3]:{..._0x42fff3};for(const _0x9a71ab of Object['keys'](_0x4fbcd3)){const _0x361550=_0x9a71ab[_0x56f995(0x216)]();if(_0xc39030['some'](_0x36dc3d=>_0x361550[_0x56f995(0x19e)](_0x36dc3d)))_0x4fbcd3[_0x9a71ab]=_0xa811ae[_0x56f995(0x208)];else _0xa811ae['FUsXc'](typeof _0x4fbcd3[_0x9a71ab],_0x56f995(0x23f))&&_0xa811ae['HJlJK'](_0x4fbcd3[_0x9a71ab],null)&&(_0x4fbcd3[_0x9a71ab]=redactObject(_0x4fbcd3[_0x9a71ab]));}return _0x4fbcd3;},logError=(_0x448c2d,_0x4fa851={},_0x474f85=null)=>{const _0x4da9e6=a0_0x1665fa,_0x457848={'vSWBF':_0x4da9e6(0x20f),'qlGOq':function(_0x1f2715,_0x169da3,_0x17ebd0){return _0x1f2715(_0x169da3,_0x17ebd0);}},_0x3c1c40={'event':_0x457848[_0x4da9e6(0x247)],'errorName':_0x448c2d['name']||_0x4da9e6(0x20d),'errorMessage':_0x448c2d['message'],'errorCode':_0x448c2d[_0x4da9e6(0x1be)]||null,'stack':_0x448c2d['stack'],..._0x4fa851},_0x3eb1b5=_0x474f85||_0x4da9e6(0x1d8)+_0x448c2d[_0x4da9e6(0x1a3)];logger['error'](_0x3c1c40,_0x3eb1b5),_0x457848['qlGOq'](writeToFileLog,{..._0x3c1c40,'level':_0x4da9e6(0x20f),'msg':_0x3eb1b5,'time':new Date()['toISOString']()},'error');},logFatalError=(_0x4ea00b,_0x4f06bf={},_0x4cff79=null)=>{const _0x35e6f9=a0_0x1665fa,_0x120c99={'RcdVz':'Error','oJmuS':'CRITICAL','sLFyl':_0x35e6f9(0x230)},_0x50485e={'event':_0x35e6f9(0x199),'errorName':_0x4ea00b[_0x35e6f9(0x233)]||_0x120c99[_0x35e6f9(0x1f6)],'errorMessage':_0x4ea00b['message'],'errorCode':_0x4ea00b['code']||null,'stack':_0x4ea00b['stack'],'severity':_0x120c99['oJmuS'],..._0x4f06bf},_0x13e5f2=_0x4cff79||_0x35e6f9(0x1ff)+_0x4ea00b[_0x35e6f9(0x1a3)];logger[_0x35e6f9(0x230)](_0x50485e,_0x13e5f2),writeToFileLog({..._0x50485e,'level':_0x120c99[_0x35e6f9(0x1e0)],'msg':_0x13e5f2,'time':new Date()[_0x35e6f9(0x1a8)]()},_0x35e6f9(0x20f));},logHttpError=(_0x271ae3,_0x1a051e,_0x31d266={})=>{const _0x975b47=a0_0x1665fa,_0x7a41fe={'mnvHE':_0x975b47(0x22b),'bwQMm':function(_0x1a98f3,_0x34deff){return _0x1a98f3>=_0x34deff;},'iUFpg':function(_0x2f480f,_0x32ec9d){return _0x2f480f>=_0x32ec9d;},'TquYO':_0x975b47(0x1cd),'amTOc':function(_0x4ebc51,_0x2dd36e){return _0x4ebc51>=_0x2dd36e;},'ngnDe':'error'},_0x49c583={'event':_0x7a41fe['mnvHE'],'errorName':_0x271ae3[_0x975b47(0x233)]||_0x975b47(0x20d),'errorMessage':_0x271ae3[_0x975b47(0x1a3)],'errorCode':_0x271ae3[_0x975b47(0x1be)]||_0x271ae3['statusCode']||0x1f4,'stack':_0x271ae3['stack'],'method':_0x1a051e?.[_0x975b47(0x1c5)],'url':_0x1a051e?.['url']||_0x1a051e?.[_0x975b47(0x245)],'path':_0x1a051e?.['path'],'ip':_0x1a051e?.['ip']||_0x1a051e?.[_0x975b47(0x1f0)]?.[_0x975b47(0x1af)],'userAgent':_0x1a051e?.[_0x975b47(0x1ef)]?.('user-agent'),'requestId':_0x1a051e?.['id']||_0x1a051e?.['headers']?.[_0x975b47(0x1e4)],'body':_0x1a051e?.[_0x975b47(0x23e)]?redactObject(_0x1a051e[_0x975b47(0x23e)]):undefined,'query':_0x1a051e?.[_0x975b47(0x214)],..._0x31d266},_0x4340f5=_0x271ae3[_0x975b47(0x197)]||_0x271ae3[_0x975b47(0x1ec)]||0x1f4,_0x5aaa6d=_0x975b47(0x21b)+_0x4340f5+':\x20'+_0x271ae3[_0x975b47(0x1a3)];_0x7a41fe[_0x975b47(0x1bb)](_0x4340f5,0x1f4)?logger[_0x975b47(0x20f)](_0x49c583,_0x5aaa6d):logger['warn'](_0x49c583,_0x5aaa6d),writeToFileLog({..._0x49c583,'level':_0x7a41fe['iUFpg'](_0x4340f5,0x1f4)?'error':_0x7a41fe['TquYO'],'msg':_0x5aaa6d,'time':new Date()['toISOString']()},_0x7a41fe[_0x975b47(0x222)](_0x4340f5,0x1f4)?_0x7a41fe[_0x975b47(0x19f)]:_0x975b47(0x1cd));},logUncaughtError=(_0x35ccf7,_0x318694)=>{const _0x5daee6=a0_0x1665fa,_0x2c5f50={'UkTNW':'Error','tymHj':_0x5daee6(0x20c)},_0x2f722d={'event':_0x35ccf7,'errorName':_0x318694?.['name']||_0x2c5f50['UkTNW'],'errorMessage':_0x318694?.[_0x5daee6(0x1a3)]||String(_0x318694),'errorCode':_0x318694?.['code']||null,'stack':_0x318694?.[_0x5daee6(0x1a4)],'severity':_0x2c5f50['tymHj'],'processId':process[_0x5daee6(0x1fe)],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x5daee6(0x1cf)]()},_0xfbdbdb='['+_0x35ccf7['toUpperCase']()+']\x20'+(_0x318694?.[_0x5daee6(0x1a3)]||_0x318694);logger[_0x5daee6(0x230)](_0x2f722d,_0xfbdbdb),writeToFileLog({..._0x2f722d,'level':_0x5daee6(0x230),'msg':_0xfbdbdb,'time':new Date()['toISOString']()},_0x5daee6(0x20f));},setupGlobalErrorHandlers=()=>{const _0x3555bf=a0_0x1665fa,_0x30bd2a={'JxEKQ':function(_0x2545ba,_0x3485c6){return _0x2545ba instanceof _0x3485c6;},'FkcMM':function(_0x329309,_0x493ee0){return _0x329309(_0x493ee0);},'bpUdv':'unhandledRejection','FVMKM':'warning','Yjvko':function(_0xd3bd3b,_0x165629,_0x28b7a1){return _0xd3bd3b(_0x165629,_0x28b7a1);}};process['on']('uncaughtException',_0x5c4a03=>{logUncaughtError('uncaughtException',_0x5c4a03),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on']('unhandledRejection',(_0x2d75a8,_0x5a1e46)=>{const _0x33984c=a0_0x30ad,_0x45e9cc=_0x30bd2a[_0x33984c(0x207)](_0x2d75a8,Error)?_0x2d75a8:new Error(_0x30bd2a[_0x33984c(0x210)](String,_0x2d75a8));logUncaughtError(_0x30bd2a[_0x33984c(0x1e1)],_0x45e9cc);}),process['on'](_0x30bd2a[_0x3555bf(0x23c)],_0x372997=>{const _0x10b689=_0x3555bf;logger['warn']({'event':_0x10b689(0x1d0),'name':_0x372997['name'],'message':_0x372997['message'],'stack':_0x372997['stack']},'Process\x20Warning:\x20'+_0x372997['message']);});const _0x25ecae={'event':'global_error_handlers_setup'},_0x39e2a9='Global\x20error\x20handlers\x20initialized';logger[_0x3555bf(0x236)](_0x25ecae,_0x39e2a9),_0x30bd2a['Yjvko'](writeToFileLog,{..._0x25ecae,'level':_0x3555bf(0x236),'msg':_0x39e2a9,'time':new Date()[_0x3555bf(0x1a8)]()},'info');},createErrorHandlerMiddleware=()=>{const _0x1a5935={'JvlvY':'x-request-id'};return(_0x56a03b,_0x1f363b,_0x3b716d,_0x25d51c)=>{const _0x1083d3=a0_0x30ad;logHttpError(_0x56a03b,_0x1f363b);const _0x178978=_0x56a03b['statusCode']||_0x56a03b[_0x1083d3(0x1ec)]||0x1f4;_0x3b716d['status'](_0x178978)['json']({'success':![],'error':_0x178978>=0x1f4?'Internal\x20server\x20error':_0x56a03b[_0x1083d3(0x1a3)],'requestId':_0x1f363b['id']||_0x1f363b[_0x1083d3(0x23a)]?.[_0x1a5935['JvlvY']]||null});};};module[a0_0x1665fa(0x1ad)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x4a9733=a0_0x487b;function a0_0x487b(_0x5a6f7a,_0x1d0cdb){_0x5a6f7a=_0x5a6f7a-0x152;const _0x5641b6=a0_0x5641();let _0x487bf1=_0x5641b6[_0x5a6f7a];if(a0_0x487b['AbKJYY']===undefined){var _0x444dec=function(_0x3952f3){const _0x154f7d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x14877c='',_0x89fa3b='';for(let _0x2a243e=0x0,_0xbdb3ce,_0x75aee,_0x4dac57=0x0;_0x75aee=_0x3952f3['charAt'](_0x4dac57++);~_0x75aee&&(_0xbdb3ce=_0x2a243e%0x4?_0xbdb3ce*0x40+_0x75aee:_0x75aee,_0x2a243e++%0x4)?_0x14877c+=String['fromCharCode'](0xff&_0xbdb3ce>>(-0x2*_0x2a243e&0x6)):0x0){_0x75aee=_0x154f7d['indexOf'](_0x75aee);}for(let _0x2e6aeb=0x0,_0x1d72a9=_0x14877c['length'];_0x2e6aeb<_0x1d72a9;_0x2e6aeb++){_0x89fa3b+='%'+('00'+_0x14877c['charCodeAt'](_0x2e6aeb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x89fa3b);};a0_0x487b['rAgALV']=_0x444dec,a0_0x487b['afdkuB']={},a0_0x487b['AbKJYY']=!![];}const _0x2987e1=_0x5641b6[0x0],_0x5582b8=_0x5a6f7a+_0x2987e1,_0x836c33=a0_0x487b['afdkuB'][_0x5582b8];return!_0x836c33?(_0x487bf1=a0_0x487b['rAgALV'](_0x487bf1),a0_0x487b['afdkuB'][_0x5582b8]=_0x487bf1):_0x487bf1=_0x836c33,_0x487bf1;}(function(_0x190491,_0x10d128){const _0x12efe2=a0_0x487b,_0x3c8551=_0x190491();while(!![]){try{const _0x1d7945=parseInt(_0x12efe2(0x160))/0x1*(parseInt(_0x12efe2(0x170))/0x2)+-parseInt(_0x12efe2(0x15f))/0x3+parseInt(_0x12efe2(0x16b))/0x4+parseInt(_0x12efe2(0x173))/0x5+-parseInt(_0x12efe2(0x16e))/0x6*(parseInt(_0x12efe2(0x157))/0x7)+-parseInt(_0x12efe2(0x161))/0x8+-parseInt(_0x12efe2(0x16c))/0x9*(-parseInt(_0x12efe2(0x15d))/0xa);if(_0x1d7945===_0x10d128)break;else _0x3c8551['push'](_0x3c8551['shift']());}catch(_0x50ec41){_0x3c8551['push'](_0x3c8551['shift']());}}}(a0_0x5641,0x534c5));const fs=require('fs')[a0_0x4a9733(0x175)],path=require(a0_0x4a9733(0x158)),{logger}=require('./logger');class PayloadLoader{constructor(){const _0x33ef4a=a0_0x4a9733,_0xcf8aea={'xDgJD':'../../payload'};this[_0x33ef4a(0x15a)]=path[_0x33ef4a(0x165)](__dirname,_0xcf8aea['xDgJD']),this['cache']=new Map();}async[a0_0x4a9733(0x172)](_0x43a65,_0x29dc3f){const _0x1ab665=a0_0x4a9733,_0x12be24={'cHYvh':_0x1ab665(0x15c),'qdRip':'Failed\x20to\x20load\x20payload'},_0x54a1b2=_0x43a65+':'+_0x29dc3f;if(this[_0x1ab665(0x169)]['has'](_0x54a1b2))return this[_0x1ab665(0x169)][_0x1ab665(0x166)](_0x54a1b2);const _0x236279=path[_0x1ab665(0x165)](this[_0x1ab665(0x15a)],_0x43a65+'_'+_0x29dc3f+_0x1ab665(0x163));try{const _0x3e4cd4=await fs['readFile'](_0x236279,_0x12be24['cHYvh']),_0x145e64=JSON[_0x1ab665(0x168)](_0x3e4cd4);return this[_0x1ab665(0x169)][_0x1ab665(0x152)](_0x54a1b2,_0x145e64),logger[_0x1ab665(0x16f)]({'event':_0x1ab665(0x171),'project':_0x43a65,'resource':_0x29dc3f},_0x1ab665(0x167)),_0x145e64;}catch(_0xb27007){logger['error']({'event':'payload_load_error','project':_0x43a65,'resource':_0x29dc3f,'error':_0xb27007[_0x1ab665(0x155)]},_0x12be24['qdRip']);throw new Error('Payload\x20not\x20found:\x20'+_0x43a65+'_'+_0x29dc3f);}}async['loadPayloadByName'](_0x1998a1){const _0x2e1f8d=a0_0x4a9733,_0x4b41cf={'xhtyy':_0x2e1f8d(0x15c)},_0x431773=_0x2e1f8d(0x154)+_0x1998a1;if(this['cache'][_0x2e1f8d(0x15e)](_0x431773))return this[_0x2e1f8d(0x169)]['get'](_0x431773);const _0x28f686=path['join'](this[_0x2e1f8d(0x15a)],_0x1998a1+'.json');try{const _0xfda89c=await fs[_0x2e1f8d(0x164)](_0x28f686,_0x4b41cf['xhtyy']),_0x418b8e=JSON['parse'](_0xfda89c);return this['cache']['set'](_0x431773,_0x418b8e),logger[_0x2e1f8d(0x16f)]({'event':'payload_loaded','payloadName':_0x1998a1},_0x2e1f8d(0x16a)),_0x418b8e;}catch(_0x2b1e48){logger['error']({'event':'payload_load_error','payloadName':_0x1998a1,'error':_0x2b1e48['message']},_0x2e1f8d(0x15b));throw new Error(_0x2e1f8d(0x16d)+_0x1998a1);}}['isActionEnabled'](_0x29cb36,_0x4fd45b){const _0x337599=a0_0x4a9733;return _0x29cb36['action']&&_0x29cb36[_0x337599(0x176)][_0x4fd45b]===!![];}['getExportConfig'](_0x38fcf2){const _0x1a6505=a0_0x4a9733;return{'columns':_0x38fcf2[_0x1a6505(0x162)]||[],'filename':_0x38fcf2[_0x1a6505(0x174)]['replace']('.','-')+'-export','datatablesQuery':_0x38fcf2['datatablesQuery']||null,'columnFormats':_0x38fcf2[_0x1a6505(0x153)]||null,'fieldLabels':_0x38fcf2['fieldLabels']||null};}['clearCache'](){const _0x192900=a0_0x4a9733,_0x2181f5={'JGsoE':'Payload\x20cache\x20cleared'};this[_0x192900(0x169)]['clear'](),logger['info']({'event':'payload_cache_cleared'},_0x2181f5[_0x192900(0x156)]);}}function a0_0x5641(){const _0x4ea238=['Bg9HzfbHEwXVywq','mtq0mda1q2Hqy210','DgfIBgvoyw1L','ChjVBwLZzxm','ywn0Aw9U','C2v0','y29SDw1UrM9YBwf0CW','Cgf5Bg9HzdO','BwvZC2fNzq','sKDZB0u','mti4mwf4su5fsW','Cgf0Aa','zxHWB3j0CW','Cgf5Bg9HzerPCG','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','DxrMoa','mJiWBujLBvj0','AgfZ','mJaYmJqYnNjuDvrZwq','mujwDM1Pua','mJiYnJC2oe1Ir2reDq','zMLLBgroyw1L','lMPZB24','CMvHzezPBgu','AM9PBG','z2v0','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','CgfYC2u','y2fJAgu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','mtC0mZC2CxzPD2Dd','ndaWnti3twroqM93','ugf5Bg9HzcbUB3qGzM91BMq6ia','mtuWnMTRDKzoAW','zgvIDwC','ntC2mJK4Bg9KEKHR','Cgf5Bg9Hzf9SB2fKzwq'];a0_0x5641=function(){return _0x4ea238;};return a0_0x5641();}module[a0_0x4a9733(0x159)]=new PayloadLoader();
|