@restforgejs/platform 5.2.0 → 5.2.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 +2 -2
- package/cli/consumer.js +2 -2
- package/generators/cli/fast-track.js +58 -5
- package/generators/lib/migrate/migrate-runner.js +12 -2
- package/generators/lib/migrate/sql-parser.js +5 -3
- package/generators/lib/payload/payload-runner.js +31 -5
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +2 -2
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x406421=a0_0x1157;(function(_0x26550d,_0x3528ee){const _0x13b524=a0_0x1157,_0x53e8ce=_0x26550d();while(!![]){try{const _0x1c8337=-parseInt(_0x13b524(0xed))/0x1+-parseInt(_0x13b524(0xeb))/0x2+parseInt(_0x13b524(0xfb))/0x3*(-parseInt(_0x13b524(0x104))/0x4)+parseInt(_0x13b524(0xea))/0x5+parseInt(_0x13b524(0xf7))/0x6+-parseInt(_0x13b524(0x100))/0x7+parseInt(_0x13b524(0x108))/0x8*(parseInt(_0x13b524(0xf2))/0x9);if(_0x1c8337===_0x3528ee)break;else _0x53e8ce['push'](_0x53e8ce['shift']());}catch(_0x346333){_0x53e8ce['push'](_0x53e8ce['shift']());}}}(a0_0x529e,0x4d877));function a0_0x529e(){const _0x17115e=['nda4m1bOBwPTBW','Bwf0y2G','zgf5','AwLiAhm','wfnxCva','mZG4otCXmwzKBNz1za','D2fYBG','lcbYzxr1CM5PBMCGBNvSBa','BgvUz3rO','ntq0B2j5A2Pg','tMPTzeW','ExL5Es1nts1Kza','CgfYC2vuAw1LC3rHBxa','nJe1mJG4oePXyuDPwG','vw5RBM93BIbKyxrLigzVCM1HDdOG','otqWntu1s1zZrNnA','otuWotiWug90wwnN','seG6Bw06C3m','ndG0ntz5ANrZsey','Bw9UDgG','EwvHCG','CgfYC2vuAw1L','sw52ywXPzcb0Aw1LC3rHBxaGzM9YBwf0oIa','oxvlAeTUwG','DgLTzq','seG6Bw0','ExL5Es1nts1KzcbisdPTBtPZCW','zxHWB3j0CW','mZC1mdeZmNzQwKPAta','vgjmuK4','CgfYC2veyxrL','C3bSAxq'];a0_0x529e=function(){return _0x17115e;};return a0_0x529e();}function a0_0x1157(_0x17b13e,_0x12f5e9){_0x17b13e=_0x17b13e-0xe9;const _0x529e67=a0_0x529e();let _0x115760=_0x529e67[_0x17b13e];if(a0_0x1157['wHHSoR']===undefined){var _0x506bfd=function(_0x401ac1){const _0x1a8e4e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x556048='',_0x47e365='';for(let _0x4206cc=0x0,_0x50215b,_0x38380d,_0x448d7b=0x0;_0x38380d=_0x401ac1['charAt'](_0x448d7b++);~_0x38380d&&(_0x50215b=_0x4206cc%0x4?_0x50215b*0x40+_0x38380d:_0x38380d,_0x4206cc++%0x4)?_0x556048+=String['fromCharCode'](0xff&_0x50215b>>(-0x2*_0x4206cc&0x6)):0x0){_0x38380d=_0x1a8e4e['indexOf'](_0x38380d);}for(let _0x30191b=0x0,_0x2928a6=_0x556048['length'];_0x30191b<_0x2928a6;_0x30191b++){_0x47e365+='%'+('00'+_0x556048['charCodeAt'](_0x30191b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x47e365);};a0_0x1157['ttXsfd']=_0x506bfd,a0_0x1157['koJJhs']={},a0_0x1157['wHHSoR']=!![];}const _0x4641ff=_0x529e67[0x0],_0x3e47b4=_0x17b13e+_0x4641ff,_0x2c1c94=a0_0x1157['koJJhs'][_0x3e47b4];return!_0x2c1c94?(_0x115760=a0_0x1157['ttXsfd'](_0x115760),a0_0x1157['koJJhs'][_0x3e47b4]=_0x115760):_0x115760=_0x2c1c94,_0x115760;}class DateTimeParser{static['parse'](_0x36208d,_0xa0e34a,_0x4f47cd){const _0x2d9d97=a0_0x1157,_0x431d0a={'iiHhs':function(_0x2102a8,_0x471eb7){return _0x2102a8===_0x471eb7;}};if(!_0x36208d||_0x36208d==='')return null;try{if(_0x431d0a[_0x2d9d97(0xfe)](_0x4f47cd,'date'))return this['parseDate'](_0x36208d,_0xa0e34a);else{if(_0x4f47cd==='timestamp')return this['parseTimestamp'](_0x36208d,_0xa0e34a);else{if(_0x4f47cd===_0x2d9d97(0xf3))return this[_0x2d9d97(0xf0)](_0x36208d,_0xa0e34a);}}return _0x36208d;}catch(_0x24a365){return console['error']('Error\x20parsing\x20datetime:\x20'+_0x24a365['message']),null;}}static['parseDate'](_0x4cad6a,_0x20cea8){const _0x340f4b=a0_0x1157,_0x47a443={'GCpWm':function(_0x47506d,_0x3d9c15){return _0x47506d+_0x3d9c15;},'JhcVf':_0x340f4b(0x106),'TbLRN':'month','teBid':_0x340f4b(0xfd)};if(!_0x20cea8||_0x20cea8===_0x47a443['JhcVf'])return _0x4cad6a;const _0x2e8e77={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x340f4b(0xfd),_0x47a443['TbLRN'],_0x340f4b(0xef)]},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':['day',_0x47a443[_0x340f4b(0xf8)],_0x340f4b(0xef)]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x47a443['TbLRN'],_0x47a443['teBid'],_0x340f4b(0xef)]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':['year',_0x340f4b(0xee),'day']}},_0x39fbfc=_0x2e8e77[_0x20cea8];if(!_0x39fbfc)return console[_0x340f4b(0x101)](_0x340f4b(0xe9)+_0x20cea8+_0x340f4b(0x102)),null;const _0x20185f=_0x4cad6a[_0x340f4b(0xfc)](_0x39fbfc['pattern']);if(!_0x20185f)return console['warn']('Date\x20value\x20\x22'+_0x4cad6a+'\x22\x20doesn\x27t\x20match\x20format\x20\x22'+_0x20cea8+'\x22'),null;const _0xe1ce9c={'day':null,'month':null,'year':null};return _0x39fbfc['order']['forEach']((_0x34a682,_0x537fe3)=>{_0xe1ce9c[_0x34a682]=_0x20185f[_0x47a443['GCpWm'](_0x537fe3,0x1)];}),_0xe1ce9c['year']+'-'+_0xe1ce9c['month']+'-'+_0xe1ce9c['day'];}static[a0_0x406421(0x107)](_0xbf99bb,_0x1e3570){const _0x85eada=a0_0x406421,_0x3a2cc4={'NjmdL':_0x85eada(0xf5),'fLOvA':function(_0x243b0f,_0x5192b0){return _0x243b0f!==_0x5192b0;}};if(!_0x1e3570||_0x1e3570===_0x3a2cc4[_0x85eada(0x105)])return _0xbf99bb;const _0x71068f=_0xbf99bb[_0x85eada(0xfa)]('\x20');if(_0x3a2cc4['fLOvA'](_0x71068f[_0x85eada(0x103)],0x2))return console['warn'](_0x85eada(0xf1)+_0xbf99bb),null;const [_0x36073f,_0x2aed48]=_0x71068f,_0x1017aa=_0x1e3570['split']('\x20')[0x0],_0x5f3c37=this[_0x85eada(0xf9)](_0x36073f,_0x1017aa);if(!_0x5f3c37)return null;const _0x55bc12=_0x2aed48[_0x85eada(0xfa)](':')['length']===0x2?_0x2aed48+':00':_0x2aed48;return _0x5f3c37+'\x20'+_0x55bc12;}static['parseTime'](_0x76869e,_0xdb1f5a){const _0x1248d3=a0_0x406421,_0x29c25f={'XSWqP':function(_0xcf1b29,_0x291d97){return _0xcf1b29===_0x291d97;},'XaBpx':_0x1248d3(0xf4)};if(!_0xdb1f5a||_0x29c25f[_0x1248d3(0xff)](_0xdb1f5a,_0x1248d3(0xec)))return _0x76869e;if(_0xdb1f5a===_0x29c25f['XaBpx']){if(_0x76869e[_0x1248d3(0xfc)](/^\d{2}:\d{2}$/))return _0x76869e+':00';}return _0x76869e;}}module[a0_0x406421(0xf6)]=DateTimeParser;
|
package/src/core/utils/db.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x421105=a0_0x5531;function a0_0x2ad5(){const _0x348fb6=['uxvLCNKGCMv0DxjUzwqG','q09ntuLu','n2zNDhzKza','qwPRDgW','rxjYB3iGCMvSzwfZAw5NihrYyw5Zywn0Aw9UignSAwvUDdOG','mtyYmZe2rgLyt0zt','otK5nduXofLMBwHdza','rejFse9tva','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','BfHqq1i','AvbbueW','Aw5MBW','ndjqmde','CxvLCNK','BwvZC2fNzq','rejFvvnfuG','yuT6ALa','zgjFCg9VBf9HBhjLywr5x2nSB3nLza','CgfYyw1Z','rgf0ywjHC2uGCg9VBcb3yxmGywXYzwfKEsbJBg9Zzwq','DxnLCG','C3vIC3rYAw5N','CM93CW','mZe0odq0D25Xvfjr','seXtuwq','zw52','wvzysfu','y29UBMvJDa','BgD6CvG','C3fKqvy','CMvSzwfZzq','uMr5z2S','mJaZndaYnxDjuxz4yq','zgjFCg9VBf9JBg9Zzwq','y1nVtKy','u0vmrunuide','zgvIDwC','Aw5JBhvKzxm','C3LUDgf4igvYCM9Y','u1fmievYCM9YoIa','CM9SBgjHy2S','m1j3y3DZra','Cg9ZDgDYzxnXBa','q09otKvdveLptL9fuLjpuG','mJGWndDjq29SqxG','mtKYlJe2oc4XmdaUmq','y29Kzq','vefctevFtK9ux0zpvu5e','C3fS','qKvhsu4','CM93q291BNq','rejFueftu1DpuKq','mZe2AuzKqLfp','C3fSx2vYCM9Y','ihjVDW','BgvUz3rO','mtaZmdC5mNzzEezqCW','mJiYmeTHzNzYDa','q3Lwwfu','rejFue9sva','y29TBwL0','ndiWotK3mND5Axzkua','AgzUExq','rgf0ywjHC2uGzxjYB3i6ia','ufPUrw8','DhjHBNnHy3rPB25Fy29TCgXLDgu','mdGWmdy','zgj4ytaZ','Cwr0DeC','BxmSia'];a0_0x2ad5=function(){return _0x348fb6;};return a0_0x2ad5();}(function(_0x365ee4,_0x4a907f){const _0x505a6c=a0_0x5531,_0x8fc7c9=_0x365ee4();while(!![]){try{const _0x5b8f0f=parseInt(_0x505a6c(0x195))/0x1*(parseInt(_0x505a6c(0x183))/0x2)+-parseInt(_0x505a6c(0x198))/0x3*(parseInt(_0x505a6c(0x1a0))/0x4)+-parseInt(_0x505a6c(0x18c))/0x5+parseInt(_0x505a6c(0x163))/0x6*(-parseInt(_0x505a6c(0x16e))/0x7)+-parseInt(_0x505a6c(0x15e))/0x8+-parseInt(_0x505a6c(0x172))/0x9+parseInt(_0x505a6c(0x15f))/0xa*(parseInt(_0x505a6c(0x171))/0xb);if(_0x5b8f0f===_0x4a907f)break;else _0x8fc7c9['push'](_0x8fc7c9['shift']());}catch(_0x27bbff){_0x8fc7c9['push'](_0x8fc7c9['shift']());}}}(a0_0x2ad5,0xa18cd));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger'),dbConfig={'host':process[a0_0x421105(0x185)][a0_0x421105(0x173)]||a0_0x421105(0x199),'port':parseInt(process[a0_0x421105(0x185)][a0_0x421105(0x161)]||'5432'),'user':process['env'][a0_0x421105(0x17b)]||'postgres','password':process['env'][a0_0x421105(0x19f)]||'postgres1234','database':process[a0_0x421105(0x185)]['DB_NAME']||a0_0x421105(0x169)};logDatabaseConfig({'host':dbConfig['host'],'port':dbConfig['port'],'database':dbConfig['database'],'type':'postgresql','user':dbConfig[a0_0x421105(0x180)]});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x22aba7=a0_0x421105,_0x4c340b={'pjbAr':'db_pool_recreate','rwIvh':'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'};return isPoolClosed&&(logger[_0x22aba7(0x177)]({'event':_0x4c340b['pjbAr']},_0x4c340b['rwIvh']),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x1f6095,_0x55898d=[]){const _0x1f088c=a0_0x421105,_0x54f203={'Rdygk':function(_0x2d1ff2){return _0x2d1ff2();},'HLSQd':function(_0x1f3b82,_0x5bfc6d,_0x2b455a,_0x5f00c6){return _0x1f3b82(_0x5bfc6d,_0x2b455a,_0x5f00c6);},'FwcZF':function(_0x23df87,_0x46293e,_0x1be1bb,_0x3a59c8){return _0x23df87(_0x46293e,_0x1be1bb,_0x3a59c8);},'lXPCR':_0x1f088c(0x1a1),'CyVXU':'postgresql'},_0x58c8da=_0x54f203['Rdygk'](startQueryTimer);try{const _0x2e0793=getPool(),_0x19b5ac=await _0x2e0793['connect']();try{const _0x1761ed=await _0x19b5ac[_0x1f088c(0x179)](_0x1f6095,_0x55898d),_0x18bb2b=_0x54f203['Rdygk'](_0x58c8da);return _0x54f203[_0x1f088c(0x184)](logQuery,_0x1f6095,_0x55898d,{'duration':_0x18bb2b,'rowsAffected':_0x1761ed[_0x1f088c(0x19e)],'dbType':'postgresql'}),_0x1761ed[_0x1f088c(0x182)];}finally{_0x19b5ac['release']();}}catch(_0x5358fc){const _0x2a4778=_0x54f203[_0x1f088c(0x18b)](_0x58c8da);_0x54f203['FwcZF'](logError,_0x5358fc,{'event':_0x54f203[_0x1f088c(0x175)],'query':_0x1f6095[_0x1f088c(0x181)](0x0,0x1f4),'paramCount':_0x55898d['length'],'durationMs':_0x2a4778,'code':_0x5358fc[_0x1f088c(0x19a)],'dbType':_0x54f203[_0x1f088c(0x160)]},_0x1f088c(0x193)+_0x5358fc[_0x1f088c(0x17a)]);throw _0x5358fc;}}function a0_0x5531(_0x502cc8,_0x48139e){_0x502cc8=_0x502cc8-0x15d;const _0x2ad59e=a0_0x2ad5();let _0x553123=_0x2ad59e[_0x502cc8];if(a0_0x5531['rbBJBW']===undefined){var _0x3110af=function(_0xf8b7b){const _0x5b76a3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x483d20='',_0x117420='';for(let _0x6538f7=0x0,_0x124edd,_0xf903e5,_0x5a2d08=0x0;_0xf903e5=_0xf8b7b['charAt'](_0x5a2d08++);~_0xf903e5&&(_0x124edd=_0x6538f7%0x4?_0x124edd*0x40+_0xf903e5:_0xf903e5,_0x6538f7++%0x4)?_0x483d20+=String['fromCharCode'](0xff&_0x124edd>>(-0x2*_0x6538f7&0x6)):0x0){_0xf903e5=_0x5b76a3['indexOf'](_0xf903e5);}for(let _0x20e21c=0x0,_0x20ad46=_0x483d20['length'];_0x20e21c<_0x20ad46;_0x20e21c++){_0x117420+='%'+('00'+_0x483d20['charCodeAt'](_0x20e21c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x117420);};a0_0x5531['YIuSoI']=_0x3110af,a0_0x5531['AouIrT']={},a0_0x5531['rbBJBW']=!![];}const _0x4d664e=_0x2ad59e[0x0],_0x312303=_0x502cc8+_0x4d664e,_0x5b780f=a0_0x5531['AouIrT'][_0x312303];return!_0x5b780f?(_0x553123=a0_0x5531['YIuSoI'](_0x553123),a0_0x5531['AouIrT'][_0x312303]=_0x553123):_0x553123=_0x5b780f,_0x553123;}function formatResponse(_0x4722d4,_0x475bd4=null){const _0x1ffc37=a0_0x421105,_0xdb8b2c={'cSoNF':'UNKNOWN_ERROR','PVCwB':_0x1ffc37(0x192),'OvBNn':_0x1ffc37(0x178),'JjXdA':_0x1ffc37(0x19b),'aqlef':function(_0x4173fc,_0x5e64e2){return _0x4173fc===_0x5e64e2;},'TMzNN':_0x1ffc37(0x168),'sqdAV':_0x1ffc37(0x197),'qdttG':'No\x20data\x20found.','kOKsj':function(_0x3d43f5,_0x104371){return _0x3d43f5===_0x104371;}};if(_0x475bd4){let _0x4ec3f5=_0xdb8b2c[_0x1ffc37(0x18e)];if(_0x475bd4[_0x1ffc37(0x17a)][_0x1ffc37(0x191)](_0xdb8b2c['PVCwB']))_0x4ec3f5='SYNTAX_ERROR';else{if(_0x475bd4[_0x1ffc37(0x19a)]===_0xdb8b2c['OvBNn'])_0x4ec3f5=_0xdb8b2c['JjXdA'];else{if(_0xdb8b2c['aqlef'](_0x475bd4['code'],'28P01'))_0x4ec3f5='AUTHENTICATION_ERROR';else(_0x475bd4['code']===_0xdb8b2c['TMzNN']||_0x475bd4[_0x1ffc37(0x19a)]==='08001')&&(_0x4ec3f5=_0xdb8b2c[_0x1ffc37(0x189)]);}}return{'success':![],'message':_0x1ffc37(0x165)+_0x475bd4[_0x1ffc37(0x17a)],'count':-0x1,'error_code':_0x4ec3f5};}else{if(!_0x4722d4||_0x4722d4[_0x1ffc37(0x15d)]===0x0)return{'success':!![],'message':_0xdb8b2c[_0x1ffc37(0x16a)],'count':0x0,'data':[]};return{'success':!![],'message':_0x1ffc37(0x16c)+_0x4722d4['length']+_0x1ffc37(0x1a2)+(_0xdb8b2c['kOKsj'](_0x4722d4[_0x1ffc37(0x15d)],0x1)?'':'s')+'.','count':_0x4722d4[_0x1ffc37(0x15d)],'data':_0x4722d4};}}async function closePool(){const _0x39b86c=a0_0x421105,_0x577215={'BovNf':_0x39b86c(0x17f)};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger['info']({'event':_0x39b86c(0x18d)},'Database\x20pool\x20closed\x20successfully');}catch(_0x70c637){logError(_0x70c637,{'event':'db_pool_close_error'},'Error\x20closing\x20database\x20pool:\x20'+_0x70c637[_0x39b86c(0x17a)]);}else logger[_0x39b86c(0x190)]({'event':_0x39b86c(0x17d)},_0x577215['BovNf']);}async function checkConnection(){const _0x1bbaa8=a0_0x421105,_0x378467={'aKzjP':_0x1bbaa8(0x18f)};try{const _0x488ecb=getPool(),_0x3f074d=await _0x488ecb[_0x1bbaa8(0x187)]();try{return await _0x3f074d[_0x1bbaa8(0x179)](_0x378467[_0x1bbaa8(0x17c)]),!![];}finally{_0x3f074d[_0x1bbaa8(0x18a)]();}}catch(_0x28b47f){return logError(_0x28b47f,{'event':'db_connection_check_error'},_0x1bbaa8(0x174)+_0x28b47f['message']),![];}}async function executeTransaction(_0x131368){const _0x245af0=a0_0x421105,_0x54a32b={'YVXHU':function(_0x366820){return _0x366820();},'baeTn':'start','NcDXa':function(_0x23f072,_0xb35bf1,_0x298bf8,_0x2323fc){return _0x23f072(_0xb35bf1,_0x298bf8,_0x2323fc);},'lgzqX':_0x245af0(0x196),'AfbGR':_0x245af0(0x16d),'PZnEo':function(_0x5e70a3){return _0x5e70a3();},'hfnyt':function(_0xe9fc31,_0x2a2b0d,_0x23606b){return _0xe9fc31(_0x2a2b0d,_0x23606b);},'pHVMQ':_0x245af0(0x162),'iPAPL':'transaction_error','Ajktl':'rollback_error','RXbqu':'client_release_error'};let _0x178748;const _0xc2ab8c=startQueryTimer();try{const _0x352390=_0x54a32b[_0x245af0(0x186)](getPool);_0x178748=await _0x352390['connect'](),logTransaction(_0x54a32b['baeTn'],_0x131368['length']),await _0x178748['query'](_0x245af0(0x19d));const _0x10490e=[];for(const _0x37df6c of _0x131368){const _0x195114=startQueryTimer(),_0x31e700=await _0x178748[_0x245af0(0x179)](_0x37df6c[_0x245af0(0x19c)],_0x37df6c[_0x245af0(0x17e)]||[]),_0x5e9014=_0x195114();_0x54a32b['NcDXa'](logQuery,_0x37df6c[_0x245af0(0x19c)],_0x37df6c[_0x245af0(0x17e)]||[],{'duration':_0x5e9014,'rowsAffected':_0x31e700['rowCount'],'dbType':_0x54a32b[_0x245af0(0x188)]}),_0x10490e['push'](_0x31e700['rows']);}await _0x178748['query'](_0x54a32b['AfbGR']);const _0x243468=_0x54a32b[_0x245af0(0x166)](_0xc2ab8c);return _0x54a32b[_0x245af0(0x164)](logTransaction,_0x54a32b['pHVMQ'],_0x131368['length']),logger['info']({'event':_0x245af0(0x167),'queryCount':_0x131368['length'],'totalDurationMs':_0x243468,'dbType':_0x54a32b[_0x245af0(0x188)]},'Transaction\x20committed\x20('+_0x243468+_0x245af0(0x16b)+_0x131368[_0x245af0(0x15d)]+'\x20queries)'),_0x10490e;}catch(_0x1ec991){const _0x47a184=_0xc2ab8c();_0x54a32b['NcDXa'](logError,_0x1ec991,{'event':_0x54a32b[_0x245af0(0x176)],'queryCount':_0x131368[_0x245af0(0x15d)],'totalDurationMs':_0x47a184,'code':_0x1ec991['code'],'dbType':'postgresql'},'Transaction\x20failed:\x20'+_0x1ec991[_0x245af0(0x17a)]);if(_0x178748)try{await _0x178748['query']('ROLLBACK'),logTransaction(_0x245af0(0x194),_0x131368[_0x245af0(0x15d)]);}catch(_0x4cdbee){_0x54a32b['NcDXa'](logError,_0x4cdbee,{'event':_0x54a32b[_0x245af0(0x16f)],'dbType':'postgresql'},'Error\x20rolling\x20back\x20transaction:\x20'+_0x4cdbee[_0x245af0(0x17a)]);}throw _0x1ec991;}finally{if(_0x178748)try{_0x178748['release']();}catch(_0x25ae47){logger['error']({'event':_0x54a32b['RXbqu'],'error':_0x25ae47['message'],'dbType':_0x245af0(0x196)},_0x245af0(0x170)+_0x25ae47['message']);}}}module['exports']={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
|
|
1
|
+
const a0_0x19cb7c=a0_0x2971;(function(_0x4ba8c7,_0x2f9438){const _0x5c0846=a0_0x2971,_0x126500=_0x4ba8c7();while(!![]){try{const _0x2669fa=-parseInt(_0x5c0846(0x149))/0x1*(-parseInt(_0x5c0846(0x116))/0x2)+-parseInt(_0x5c0846(0x127))/0x3+parseInt(_0x5c0846(0x117))/0x4+parseInt(_0x5c0846(0x12e))/0x5*(-parseInt(_0x5c0846(0x114))/0x6)+-parseInt(_0x5c0846(0x134))/0x7*(parseInt(_0x5c0846(0x11a))/0x8)+parseInt(_0x5c0846(0x14d))/0x9+-parseInt(_0x5c0846(0x123))/0xa*(parseInt(_0x5c0846(0x14c))/0xb);if(_0x2669fa===_0x2f9438)break;else _0x126500['push'](_0x126500['shift']());}catch(_0x22a5c7){_0x126500['push'](_0x126500['shift']());}}}(a0_0x16f2,0xf176c));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x19cb7c(0x12c)),dbConfig={'host':process[a0_0x19cb7c(0x148)][a0_0x19cb7c(0x11d)]||a0_0x19cb7c(0x12d),'port':parseInt(process['env'][a0_0x19cb7c(0x11b)]||'5432'),'user':process[a0_0x19cb7c(0x148)][a0_0x19cb7c(0x125)]||a0_0x19cb7c(0x10f),'password':process['env'][a0_0x19cb7c(0x132)]||'postgres1234','database':process[a0_0x19cb7c(0x148)][a0_0x19cb7c(0x138)]||a0_0x19cb7c(0x136)};logDatabaseConfig({'host':dbConfig[a0_0x19cb7c(0x110)],'port':dbConfig[a0_0x19cb7c(0x111)],'database':dbConfig[a0_0x19cb7c(0x140)],'type':'postgresql','user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x566515=a0_0x19cb7c;return isPoolClosed&&(logger[_0x566515(0x121)]({'event':_0x566515(0x118)},_0x566515(0x10d)),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x4db49d,_0x53bdb0=[]){const _0x2b7076=a0_0x19cb7c,_0x101ffe={'uxhUd':function(_0x1e6638){return _0x1e6638();},'LNMpM':function(_0x170f25){return _0x170f25();},'jRthn':_0x2b7076(0x12a)},_0x4c2183=_0x101ffe['uxhUd'](startQueryTimer);try{const _0x1766ba=_0x101ffe[_0x2b7076(0x131)](getPool),_0xba2be0=await _0x1766ba[_0x2b7076(0x129)]();try{const _0x51dd5c=await _0xba2be0['query'](_0x4db49d,_0x53bdb0),_0x3ff059=_0x101ffe['LNMpM'](_0x4c2183);return logQuery(_0x4db49d,_0x53bdb0,{'duration':_0x3ff059,'rowsAffected':_0x51dd5c['rowCount'],'dbType':_0x101ffe[_0x2b7076(0x139)]}),_0x51dd5c[_0x2b7076(0x13e)];}finally{_0xba2be0['release']();}}catch(_0x19ab96){const _0x5cec58=_0x4c2183();logError(_0x19ab96,{'event':_0x2b7076(0x141),'query':_0x4db49d['substring'](0x0,0x1f4),'paramCount':_0x53bdb0[_0x2b7076(0x122)],'durationMs':_0x5cec58,'code':_0x19ab96['code'],'dbType':_0x101ffe['jRthn']},_0x2b7076(0x137)+_0x19ab96[_0x2b7076(0x10e)]);throw _0x19ab96;}}function a0_0x2971(_0x170dea,_0x45c3e6){_0x170dea=_0x170dea-0x10b;const _0x16f279=a0_0x16f2();let _0x297180=_0x16f279[_0x170dea];if(a0_0x2971['mEqoGX']===undefined){var _0x2e3e62=function(_0x8f406d){const _0x55e051='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x26c2f2='',_0x573b2a='';for(let _0x59fe8c=0x0,_0x3020b4,_0x13f53e,_0xb58b12=0x0;_0x13f53e=_0x8f406d['charAt'](_0xb58b12++);~_0x13f53e&&(_0x3020b4=_0x59fe8c%0x4?_0x3020b4*0x40+_0x13f53e:_0x13f53e,_0x59fe8c++%0x4)?_0x26c2f2+=String['fromCharCode'](0xff&_0x3020b4>>(-0x2*_0x59fe8c&0x6)):0x0){_0x13f53e=_0x55e051['indexOf'](_0x13f53e);}for(let _0x414630=0x0,_0x2b9f29=_0x26c2f2['length'];_0x414630<_0x2b9f29;_0x414630++){_0x573b2a+='%'+('00'+_0x26c2f2['charCodeAt'](_0x414630)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x573b2a);};a0_0x2971['HUhjpA']=_0x2e3e62,a0_0x2971['ETzGTX']={},a0_0x2971['mEqoGX']=!![];}const _0x8eb162=_0x16f279[0x0],_0x9ad6df=_0x170dea+_0x8eb162,_0x4eb7ac=a0_0x2971['ETzGTX'][_0x9ad6df];return!_0x4eb7ac?(_0x297180=a0_0x2971['HUhjpA'](_0x297180),a0_0x2971['ETzGTX'][_0x9ad6df]=_0x297180):_0x297180=_0x4eb7ac,_0x297180;}function formatResponse(_0x269493,_0x2e2400=null){const _0x57cf2c=a0_0x19cb7c,_0x2817f0={'wlCTw':_0x57cf2c(0x13c),'DCXrX':function(_0x4b5235,_0x54854e){return _0x4b5235===_0x54854e;},'QqoPT':'42P01','AGTZV':'TABLE_NOT_FOUND','zzuIv':_0x57cf2c(0x14b),'vfKmx':_0x57cf2c(0x146),'adzGP':_0x57cf2c(0x12b)};if(_0x2e2400){let _0x512179='UNKNOWN_ERROR';if(_0x2e2400['message']['includes'](_0x2817f0['wlCTw']))_0x512179=_0x57cf2c(0x13f);else{if(_0x2817f0[_0x57cf2c(0x115)](_0x2e2400['code'],_0x2817f0['QqoPT']))_0x512179=_0x2817f0[_0x57cf2c(0x14a)];else{if(_0x2e2400['code']===_0x57cf2c(0x13d))_0x512179='AUTHENTICATION_ERROR';else(_0x2817f0[_0x57cf2c(0x115)](_0x2e2400['code'],_0x2817f0['zzuIv'])||_0x2e2400['code']===_0x2817f0['vfKmx'])&&(_0x512179=_0x2817f0['adzGP']);}}return{'success':![],'message':_0x57cf2c(0x120)+_0x2e2400['message'],'count':-0x1,'error_code':_0x512179};}else{if(!_0x269493||_0x269493['length']===0x0)return{'success':!![],'message':_0x57cf2c(0x130),'count':0x0,'data':[]};return{'success':!![],'message':'Query\x20returned\x20'+_0x269493['length']+_0x57cf2c(0x113)+(_0x269493[_0x57cf2c(0x122)]===0x1?'':'s')+'.','count':_0x269493['length'],'data':_0x269493};}}async function closePool(){const _0x40c2a3=a0_0x19cb7c,_0xe435c4={'ipkGH':_0x40c2a3(0x144)};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger['info']({'event':'db_pool_closed'},'Database\x20pool\x20closed\x20successfully');}catch(_0x19c601){logError(_0x19c601,{'event':'db_pool_close_error'},'Error\x20closing\x20database\x20pool:\x20'+_0x19c601['message']);}else logger['debug']({'event':_0xe435c4[_0x40c2a3(0x10b)]},_0x40c2a3(0x13b));}function a0_0x16f2(){const _0x3cb974=['mJHqmde','CM93CW','u1Lovefyx0vsuK9s','zgf0ywjHC2u','C3fSx2vYCM9Y','CM9SBgjHy2TFzxjYB3i','z3Ddv3u','zgjFCg9VBf9HBhjLywr5x2nSB3nLza','DhLMqu8','mdGWmde','CM93q291BNq','zw52','mZG5nvnLuevjDG','quDuwLy','mdGWmdy','mtf1Au1lB0m','ntiWodyYngTKAwDdzG','AxbRr0G','y29Kzq','q3jLyxrPBMCGBMv3igrHDgfIyxnLihbVB2WGkhbYzxzPB3vZihbVB2WGD2fZignSB3nLzcK','BwvZC2fNzq','Cg9ZDgDYzxm','Ag9ZDa','Cg9YDa','BMP6t3q','ihjVDW','nJC4z2ncterm','renyCLG','nJG2A1P6zeDi','nZyWodqXmLDQuuT5zG','zgjFCg9VBf9YzwnYzwf0zq','C05ssM4','oe1TEffgCG','rejFue9sva','uK9mtejbq0S','rejFse9tva','ChvZAa','rxjYB3iGCM9SBgLUzYbIywnRihrYyw5Zywn0Aw9UoIa','rgf0ywjHC2uGzxjYB3i6ia','Aw5MBW','BgvUz3rO','mtG5mtCWyLf5Axrv','CMvSzwfZzq','rejFvvnfuG','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','mtaXmdu1nMjpC01ZAG','CxvLCNK','y29UBMvJDa','Cg9ZDgDYzxnXBa','q09otKvdveLptL9fuLjpuG','lI9SB2DNzxi','mtKYlJe2oc4XmdaUmq','nZy0mZbWq3Loqxe','svfnvee','tM8Gzgf0ysbMB3vUzc4','DxHOvwq','rejFueftu1DpuKq','vhjHBNnHy3rPB24GzMfPBgvKoIa','ntiXmJKWn29cExPzsG','vhLOD0i','zgj4ytaZ','u1fmievYCM9YoIa','rejFtKfnrq','ALj0Ag4','zgjFy29UBMvJDgLVBL9JAgvJA19LCNjVCG','rgf0ywjHC2uGCg9VBcb3yxmGywXYzwfKEsbJBg9Zzwq','C3LUDgf4igvYCM9Y'];a0_0x16f2=function(){return _0x3cb974;};return a0_0x16f2();}async function checkConnection(){const _0x1ba3d2=a0_0x19cb7c,_0x162352={'NXoQR':'SELECT\x201','njzOt':_0x1ba3d2(0x13a)};try{const _0x9507d=getPool(),_0x5db365=await _0x9507d['connect']();try{return await _0x5db365[_0x1ba3d2(0x128)](_0x162352['NXoQR']),!![];}finally{_0x5db365[_0x1ba3d2(0x124)]();}}catch(_0xd190c0){return logError(_0xd190c0,{'event':_0x162352[_0x1ba3d2(0x112)]},'Error\x20checking\x20database\x20connection:\x20'+_0xd190c0[_0x1ba3d2(0x10e)]),![];}}async function executeTransaction(_0x1ea6b1){const _0xf45a68=a0_0x19cb7c,_0x3230f8={'gwCWu':function(_0x5e2ee3,_0x32e947,_0x367d34){return _0x5e2ee3(_0x32e947,_0x367d34);},'nEBzg':'start','tyfAO':function(_0x70dfcb){return _0x70dfcb();},'SSqog':_0xf45a68(0x12a),'TyhwB':'transaction_error','IQMTA':function(_0x2bdcdd,_0x198336,_0x17bd73,_0x1153dd){return _0x2bdcdd(_0x198336,_0x17bd73,_0x1153dd);},'sNRJn':'client_release_error'};let _0x33629c;const _0x3578bf=startQueryTimer();try{const _0x6f285d=getPool();_0x33629c=await _0x6f285d[_0xf45a68(0x129)](),_0x3230f8['gwCWu'](logTransaction,_0x3230f8['nEBzg'],_0x1ea6b1[_0xf45a68(0x122)]),await _0x33629c[_0xf45a68(0x128)]('BEGIN');const _0x4e12df=[];for(const _0x2ec4e1 of _0x1ea6b1){const _0x4ea571=startQueryTimer(),_0x3d3ff8=await _0x33629c['query'](_0x2ec4e1['sql'],_0x2ec4e1['params']||[]),_0x1594d8=_0x3230f8[_0xf45a68(0x145)](_0x4ea571);logQuery(_0x2ec4e1['sql'],_0x2ec4e1['params']||[],{'duration':_0x1594d8,'rowsAffected':_0x3d3ff8[_0xf45a68(0x147)],'dbType':_0x3230f8['SSqog']}),_0x4e12df[_0xf45a68(0x11e)](_0x3d3ff8['rows']);}await _0x33629c['query']('COMMIT');const _0x3a7eb2=_0x3230f8['tyfAO'](_0x3578bf);return logTransaction('commit',_0x1ea6b1['length']),logger[_0xf45a68(0x121)]({'event':'transaction_complete','queryCount':_0x1ea6b1['length'],'totalDurationMs':_0x3a7eb2,'dbType':_0x3230f8['SSqog']},_0xf45a68(0x126)+_0x3a7eb2+'ms,\x20'+_0x1ea6b1['length']+'\x20queries)'),_0x4e12df;}catch(_0x14b2ab){const _0x171810=_0x3578bf();logError(_0x14b2ab,{'event':_0x3230f8[_0xf45a68(0x135)],'queryCount':_0x1ea6b1[_0xf45a68(0x122)],'totalDurationMs':_0x171810,'code':_0x14b2ab[_0xf45a68(0x10c)],'dbType':_0x3230f8['SSqog']},_0xf45a68(0x133)+_0x14b2ab['message']);if(_0x33629c)try{await _0x33629c['query'](_0xf45a68(0x11c)),_0x3230f8[_0xf45a68(0x143)](logTransaction,'rollback',_0x1ea6b1[_0xf45a68(0x122)]);}catch(_0x2ff88f){_0x3230f8[_0xf45a68(0x12f)](logError,_0x2ff88f,{'event':_0xf45a68(0x142),'dbType':_0xf45a68(0x12a)},_0xf45a68(0x11f)+_0x2ff88f[_0xf45a68(0x10e)]);}throw _0x14b2ab;}finally{if(_0x33629c)try{_0x33629c[_0xf45a68(0x124)]();}catch(_0x45afa3){logger['error']({'event':_0x3230f8[_0xf45a68(0x119)],'error':_0x45afa3['message'],'dbType':'postgresql'},'Error\x20releasing\x20transaction\x20client:\x20'+_0x45afa3[_0xf45a68(0x10e)]);}}}module['exports']={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
|
package/src/core/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function a0_0x1d96(){const _0x52774a=['DxjS','ig9UihbVCNqG','BgvUz3rO','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','w1jfrefdveveoNrVA2vUxq','B3PjqvG','ChjPDMf0zwTLEq','z2v0','B0Dcv0G','Ahr0Cf9Yzxf1zxn0','zwrrswq','AvbNrxa','AxnVvgLTzq','Cg9YDa','ChDK','mJmYndyYnwziuvnyDq','B2jQzwn0','CMvWBgfJzq','ywnJzxnZx3rVA2vU','zMfSC2u','qvbqx1zfuLnjt04','rxjYB3i6ia','v09bt3G','CgLK','Dg9Rzw4','zxjYB3iUBg9N','Dg9mB3DLCKnHC2u','DxDJDeG','wLzRvw0','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','Dw5RBM93BG','DeDly3G','y3jLyxrLv3jPDgvtDhjLyw0','AxntBg93','rffmyLi','y3jLzgL0y2fYza','y0r5yLa','C3rHDhvZ','AxHQsw0','CgLUBW','uu1lAwW','iokvKqRILzeGienVBMzPzYaGicaGidOG','AgvHBhrOq2HLy2S','sfruuca','Bw9KDwXL','Bwv0Ag9K','Dw9YyMe','yMfZzvvYBa','CxvLCNK','yxv0Ag9YAxPHDgLVBG','nfjbENn1CW','AhL6tMe','sKfXsLC','vhrvz3e','u0nyrfa','zgjFCxvLCNK','q1jjveLdquW','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','CgfZC3DVCMq','DfjHrKW','CMvZDgzVCMDL','BxmP','AKHHwge','Ag9ZDa','odK3odi0vvHJt3fK','BwvZC2fNzq','zxjYB3i','ChjPDMf0zv9RzxK','uxvIs3e','BMPnC1m','ntqXotHRuuLSy2O','C2vJCMv0','qKvhsu4','w1jfrefdveveoMHHC2HD','thzez3G','s2HnsMK','q1jfqvrf','Dxb0Aw1L','zxjY','B3rW','C3nU','twPQwgm','rxjYB3i','ywTTB2K','Dw5Oyw5KBgvKuMvQzwn0Aw9U','C3rHDhvZq29Kzq','zw52AxjVBM1LBNq','zMf0ywW','qLDpELC','C2rqyMC','Aw5MBW','zgjFDhjHBNnHy3rPB24','wgPMAfu','Ahr0Cf9LCNjVCG','q09ntuLu','A2v5CW','BwfW','CgfYyw1Z','y3z2','AfLMENi','y3DK','Aw5JBhvKzxm','icdIHPiG','Dg9ju09tDhjPBMC','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','tNvwyM8','BMfTzq','rxztDfe','y2HPBgq','zvLlzMq','ChjVAMvJDf9SB2fKzwq','mJy4mtC2mhbMAenvvG','u1fmx0Xpr19ftKfcteve','yxbPx3nLy3jLDa','C3rHy2S','uhjVy2vZCYbxyxjUAw5NoIa','yxbWlMXVzW','mJe3mdyXnefbuLHhsq','Ahj0Aw1L','iokvKqRILzeGiefqssblzxKGicaGidOG','zgv2zwXVCg1LBNq','C3rKu2vYAwfSAxPLCNm','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','CKnRDxq','D2fYBG','y29UzMLNrMLSzq','CM93C0fMzMvJDgvK','yM9KEq','zvLNvwS','zgf0ywjHC2u','tK9erv9ftLy','ifTtte9xxq','CMvTB3rLqwrKCMvZCW','yxbPs2v5','ufvABwK','lI9SB2DZ','zxHPDa','A2LNy0O','C2vYDMLJzuLUzM8','Dw5JyxvNAhrfEgnLChrPB24','y3jLzgL0x2nHCMq','C3rHCNrZv2L0Aa','C2vYDMvYx3jLywr5','nZu2mZi5AvPSrurk','B25VEeq','AM9PBG','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','Dhj1zq','z1nIAKS','r2Pty1O','D3j5q1C','wKjPCuW','u3brC2O','rgvMyxvSDa','Dg9vChbLCKnHC2u','Dg9gAxHLza','Bwf0y2G','DhjPBq','DgvZDa','y29Kzq','rgfLAuS','zw52','Cgf0Aa','uK1PqNu','zxHWB3j0CW','su5trvju','rejFueftu1DpuKq','zgvIDwC','CgLU','vfjbtLnbq1rjt05Fq09ntuLu','ChjVzhvJDgLVBG','r0LLuwm','u0vmrunu','CgfKrw5K','vu5ltK9xtG','mtiWofLZrfrqsa','A09AEgq','CgfZC3DK','D3jPDgu','DxnLCG','zgf0ywjHC2vFy29UzMLN','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','otG3ntvTsgvhtMm','zMLSzv9SB2DNAw5Nx2vUywjSzwq','CvjyyLi','C0zTwwS','uujYsg4','yxbPx2TLEq','rfjpua','ChjVAMvJDa','w09lxsbqCM9Qzwn0igXVywrLzdOG','ANvdyMu','uxzbrxO','icbizwfSDgG6ia','ExvmsgK','oI8V','u1fmx0Xpr19mrvzfta'];a0_0x1d96=function(){return _0x52774a;};return a0_0x1d96();}const a0_0xd304fc=a0_0x200c;function a0_0x200c(_0x2b6a6b,_0x3394a9){_0x2b6a6b=_0x2b6a6b-0xf9;const _0x1d96d3=a0_0x1d96();let _0x200c8b=_0x1d96d3[_0x2b6a6b];if(a0_0x200c['WOmeRi']===undefined){var _0x3bdfee=function(_0x5f5641){const _0x52f205='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x464c93='',_0x161323='';for(let _0x5dc3b7=0x0,_0x2d6f1b,_0x47d6ab,_0x281dca=0x0;_0x47d6ab=_0x5f5641['charAt'](_0x281dca++);~_0x47d6ab&&(_0x2d6f1b=_0x5dc3b7%0x4?_0x2d6f1b*0x40+_0x47d6ab:_0x47d6ab,_0x5dc3b7++%0x4)?_0x464c93+=String['fromCharCode'](0xff&_0x2d6f1b>>(-0x2*_0x5dc3b7&0x6)):0x0){_0x47d6ab=_0x52f205['indexOf'](_0x47d6ab);}for(let _0x2944b4=0x0,_0x23ceb8=_0x464c93['length'];_0x2944b4<_0x23ceb8;_0x2944b4++){_0x161323+='%'+('00'+_0x464c93['charCodeAt'](_0x2944b4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x161323);};a0_0x200c['gzMLBx']=_0x3bdfee,a0_0x200c['tYgtht']={},a0_0x200c['WOmeRi']=!![];}const _0xbd6c3b=_0x1d96d3[0x0],_0x2c9d74=_0x2b6a6b+_0xbd6c3b,_0x508199=a0_0x200c['tYgtht'][_0x2c9d74];return!_0x508199?(_0x200c8b=a0_0x200c['gzMLBx'](_0x200c8b),a0_0x200c['tYgtht'][_0x2c9d74]=_0x200c8b):_0x200c8b=_0x508199,_0x200c8b;}(function(_0x4bcce9,_0x1f2c8a){const _0x12fb6e=a0_0x200c,_0x58b72a=_0x4bcce9();while(!![]){try{const _0x3322a1=-parseInt(_0x12fb6e(0x184))/0x1*(-parseInt(_0x12fb6e(0x100))/0x2)+parseInt(_0x12fb6e(0x1a2))/0x3+-parseInt(_0x12fb6e(0x10e))/0x4+parseInt(_0x12fb6e(0x13d))/0x5+parseInt(_0x12fb6e(0x143))/0x6+-parseInt(_0x12fb6e(0x15d))/0x7+-parseInt(_0x12fb6e(0x17d))/0x8*(parseInt(_0x12fb6e(0x114))/0x9);if(_0x3322a1===_0x1f2c8a)break;else _0x58b72a['push'](_0x58b72a['shift']());}catch(_0x3eb2ca){_0x58b72a['push'](_0x58b72a['shift']());}}}(a0_0x1d96,0x997c9));const pino=require(a0_0xd304fc(0x1ba)),fs=require('fs'),path=require(a0_0xd304fc(0x170));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0xd304fc(0x175),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0xd304fc(0x136),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0xd304fc(0x160),'hideObject':!![]},isDevelopment=process['env'][a0_0xd304fc(0x150)]!==a0_0xd304fc(0x178),logLevel=process['env']['LOG_LEVEL']||a0_0xd304fc(0x128);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env'][a0_0xd304fc(0x1a7)]||'1.0.5','env':process[a0_0xd304fc(0x16f)]['NODE_ENV']||a0_0xd304fc(0x146)},'timestamp':pino['stdTimeFunctions'][a0_0xd304fc(0x19f)],'redact':{'paths':[a0_0xd304fc(0x1b0),'req.headers[\x22x-api-key\x22]','password',a0_0xd304fc(0x1ab),'apiKey',a0_0xd304fc(0x174),'JWT_SECRET'],'censor':'[REDACTED]'},'serializers':{'req':_0x308662=>({'id':_0x308662['id'],'method':_0x308662['method'],'url':_0x308662[a0_0xd304fc(0x193)],'path':_0x308662[a0_0xd304fc(0x170)],'remoteAddress':_0x308662['ip']||_0x308662['connection']?.[a0_0xd304fc(0x152)]}),'res':_0x4f851c=>({'statusCode':_0x4f851c[a0_0xd304fc(0x123)],'headers':_0x4f851c['getHeaders']?.()}),'err':pino[a0_0xd304fc(0x147)][a0_0xd304fc(0x11c)]}});function initFileLogging(){const _0x240722=a0_0xd304fc,_0x34d57f={'QvAEz':function(_0x53e842,_0x4b5e1b){return _0x53e842===_0x4b5e1b;},'EvStQ':_0x240722(0x161),'eYgUk':_0x240722(0x175),'ZBiqL':function(_0x1a09ac,_0x5eb16b){return _0x1a09ac!==_0x5eb16b;},'SCXDP':_0x240722(0x1a6),'PUZmi':function(_0x2a2a1a,_0x5a293d){return _0x2a2a1a(_0x5a293d);},'irVAE':function(_0x21dffe,_0x173dcc,_0x351907){return _0x21dffe(_0x173dcc,_0x351907);},'GvNRm':'info'};if(fileLoggingInitialized)return;logToFile=process[_0x240722(0x16f)]['LOG_TO_FILE']===_0x240722(0x161),logDir=process[_0x240722(0x16f)]['LOG_DIR']||_0x240722(0x155),serviceName=process['env']['SERVICE_NAME']||_0x240722(0x10a),sqlLogEnabled=_0x34d57f[_0x240722(0x18e)](process['env'][_0x240722(0x13e)],_0x34d57f[_0x240722(0x139)]),sqlLogLevel=process['env'][_0x240722(0x192)]||_0x34d57f[_0x240722(0x14e)],sqlLogParams=_0x34d57f[_0x240722(0x165)](process['env']['SQL_LOG_PARAMS'],_0x34d57f[_0x240722(0x104)]),sqlLogSlowThreshold=_0x34d57f[_0x240722(0x154)](parseInt,process[_0x240722(0x16f)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x431fdf=path['resolve'](process[_0x240722(0x132)](),logDir);try{!fs['existsSync'](_0x431fdf)&&fs['mkdirSync'](_0x431fdf,{'recursive':!![]});}catch(_0x1f1c1f){console[_0x240722(0x110)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x431fdf+':',_0x1f1c1f[_0x240722(0x10f)]),fileLoggingInitialized=!![];return;}const _0xcea43=path['join'](_0x431fdf,'app.log'),_0x51a204=path[_0x240722(0x15f)](_0x431fdf,'error.log');try{appLogStream=fs[_0x240722(0x1b3)](_0xcea43,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x51a204,{'flags':'a'}),fileLoggingInitialized=!![];const _0xdfac11={'event':_0x240722(0x185),'logDir':_0x431fdf,'files':[_0x240722(0x142),_0x240722(0x1ac)]},_0x94c8e9='File\x20logging\x20enabled:\x20'+_0x431fdf;logger['info'](_0xdfac11,_0x94c8e9),_0x34d57f['irVAE'](writeToFileLog,{..._0xdfac11,'level':_0x34d57f['GvNRm'],'msg':_0x94c8e9,'time':new Date()[_0x240722(0x135)]()},_0x240722(0x128));}catch(_0x28d369){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x28d369[_0x240722(0x10f)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x56ae17,_0x57974a){const _0x22b0ef=a0_0xd304fc,_0x3eff96={'BEtxO':function(_0x406c68,_0x5adc26){return _0x406c68+_0x5adc26;},'hyzNa':function(_0x241c17,_0x2dacf7){return _0x241c17===_0x2dacf7;},'fzasI':'fatal'};if(!logToFile||!appLogStream)return;const _0x31cb8e={'service':serviceName,..._0x56ae17},_0x3862fd=_0x3eff96['BEtxO'](JSON['stringify'](_0x31cb8e),'\x0a');appLogStream[_0x22b0ef(0x180)](_0x3862fd),(_0x3eff96[_0x22b0ef(0x101)](_0x57974a,_0x22b0ef(0x110))||_0x3eff96['hyzNa'](_0x57974a,_0x3eff96['fzasI']))&&(errorLogStream&&errorLogStream[_0x22b0ef(0x180)](_0x3862fd));}const createRequestLogger=(_0x441fca={})=>{const _0x3e16fa=a0_0xd304fc;return logger[_0x3e16fa(0x13a)](_0x441fca);},logServerStart=_0x375aa2=>{const _0x5fba32=a0_0xd304fc,_0x4f4c7a={'zfCRi':'Node.js','XjfhU':'N/A','BjMjV':function(_0xb4249d,_0x3b96cc){return _0xb4249d(_0x3b96cc);},'vLvIq':'NOT\x20ACTIVE','ZLXas':'server_starting','HUmcq':function(_0x12495f,_0x5702a0,_0x43c4a6){return _0x12495f(_0x5702a0,_0x43c4a6);},'edQId':_0x5fba32(0x128)},_0xd0e928='\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'+(_0x375aa2[_0x5fba32(0x124)]||_0x4f4c7a['zfCRi'])[_0x5fba32(0x17b)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x375aa2['project']||_0x4f4c7a[_0x5fba32(0x12a)])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x4f4c7a['BjMjV'](String,_0x375aa2['port']||0xbb8)['padEnd'](0x26)+_0x5fba32(0x1bc)+(_0x375aa2['configFile']||_0x5fba32(0x167))['padEnd'](0x26)+_0x5fba32(0x145)+(_0x375aa2[_0x5fba32(0x153)]?'ACTIVE':_0x4f4c7a['vLvIq'])[_0x5fba32(0x17b)](0x26)+_0x5fba32(0x148);console['log'](_0xd0e928);const _0x5234fd={'event':_0x4f4c7a['ZLXas'],'project':_0x375aa2[_0x5fba32(0x18b)],'port':_0x375aa2['port'],'config':_0x375aa2[_0x5fba32(0x14b)],'apiKeyEnabled':!!_0x375aa2[_0x5fba32(0x153)]};logger[_0x5fba32(0x128)](_0x5234fd),_0x4f4c7a['HUmcq'](writeToFileLog,{..._0x5234fd,'level':_0x4f4c7a[_0x5fba32(0x19d)],'msg':'Server\x20starting:\x20'+_0x375aa2['project']+_0x5fba32(0x194)+_0x375aa2['port'],'time':new Date()['toISOString']()},_0x4f4c7a['edQId']);},logServerReady=_0x170134=>{const _0xcf89e4=a0_0xd304fc,_0x3381e7={'GzdgL':_0xcf89e4(0x15c),'wryCW':function(_0x336686,_0x44feca,_0x15d92d){return _0x336686(_0x44feca,_0x15d92d);},'akmoi':'info'},_0x990784={'event':_0x3381e7['GzdgL'],'port':_0x170134['port'],'module':_0x170134[_0xcf89e4(0xfa)],'healthCheck':_0x170134['healthCheck'],'serviceInfo':_0x170134['serviceInfo'],'baseUrl':_0x170134[_0xcf89e4(0xfd)]},_0xdef76d=_0xcf89e4(0x107)+_0x170134['port'];logger['info'](_0x990784,_0xdef76d),_0x3381e7[_0xcf89e4(0x164)](writeToFileLog,{..._0x990784,'level':_0xcf89e4(0x128),'msg':_0xdef76d,'time':new Date()[_0xcf89e4(0x135)]()},_0x3381e7[_0xcf89e4(0x121)]),_0x170134['healthCheck']&&logger['info'](_0xcf89e4(0x18f)+_0x170134[_0xcf89e4(0x1bd)]),_0x170134[_0xcf89e4(0x158)]&&logger[_0xcf89e4(0x128)]('\x20\x20Info:\x20\x20\x20'+_0x170134['serviceInfo']),_0x170134[_0xcf89e4(0xfd)]&&logger[_0xcf89e4(0x128)]('\x20\x20URL:\x20\x20\x20\x20'+_0x170134[_0xcf89e4(0xfd)]);},logProjectLoaded=(_0x3118c3,_0x3255fb)=>{const _0x4b6c75=a0_0xd304fc,_0x3abdf8={'jGeBX':function(_0x2e0df8,_0xb5cad0,_0x1b5da9){return _0x2e0df8(_0xb5cad0,_0x1b5da9);}},_0x4e08a4={'event':_0x4b6c75(0x13c),'project':_0x3118c3,'path':_0x3255fb},_0x25e1a8=_0x4b6c75(0x18c)+_0x3118c3;logger['info'](_0x4e08a4,_0x25e1a8),_0x3abdf8['jGeBX'](writeToFileLog,{..._0x4e08a4,'level':_0x4b6c75(0x128),'msg':_0x25e1a8,'time':new Date()['toISOString']()},'info');},logEndpointRegistered=(_0xc469dd,_0x72b2f1)=>{const _0x2823b3=a0_0xd304fc,_0x1be0d6={'xQGVX':function(_0x4a1c10,_0x5be634,_0x366e64){return _0x4a1c10(_0x5be634,_0x366e64);},'evdTO':_0x2823b3(0x175)},_0x56052f={'event':'endpoint_registered','endpoint':_0xc469dd,'route':_0x72b2f1},_0x771bf2=_0x2823b3(0x134)+_0xc469dd+':\x20'+_0x72b2f1;logger[_0x2823b3(0x175)](_0x56052f,_0x771bf2),_0x1be0d6['xQGVX'](writeToFileLog,{..._0x56052f,'level':_0x1be0d6['evdTO'],'msg':_0x771bf2,'time':new Date()['toISOString']()},_0x1be0d6['evdTO']);},logDatabaseConfig=_0x18a5f2=>{const _0x2f5782=a0_0xd304fc,_0x4668e2={'xjMia':_0x2f5782(0x182),'onoxD':'debug'},_0x31eb0b={'event':_0x4668e2['xjMia'],'host':_0x18a5f2['host'],'port':_0x18a5f2[_0x2f5782(0x1a0)],'database':_0x18a5f2[_0x2f5782(0x14f)],'type':_0x18a5f2['type'],'user':_0x18a5f2[_0x2f5782(0x181)]},_0x1a8132='Database:\x20'+_0x18a5f2['type']+_0x2f5782(0x191)+_0x18a5f2[_0x2f5782(0x10d)]+':'+_0x18a5f2['port']+'/'+_0x18a5f2['database'];logger[_0x2f5782(0x175)](_0x31eb0b,_0x1a8132),writeToFileLog({..._0x31eb0b,'level':_0x4668e2[_0x2f5782(0x15e)],'msg':_0x1a8132,'time':new Date()[_0x2f5782(0x135)]()},_0x2f5782(0x175));},logRequest=(_0x59f935,_0xc99b85,_0x2371be)=>{const _0xc08038=a0_0xd304fc,_0x2a4f46={'rUtDu':_0xc08038(0x19c),'apdfr':function(_0x538772,_0x529eb8){return _0x538772>=_0x529eb8;},'rCkut':function(_0x56950b,_0x120301,_0x5f29c0){return _0x56950b(_0x120301,_0x5f29c0);}},_0x1ea210={'event':_0x2a4f46['rUtDu'],'method':_0x59f935[_0xc08038(0xfb)],'path':_0x59f935['path'],'statusCode':_0xc99b85[_0xc08038(0x123)],'durationMs':_0x2371be,'ip':_0x59f935['ip']},_0x4027bb=_0x59f935['method']+'\x20'+_0x59f935['path']+'\x20-\x20'+_0xc99b85['statusCode']+'\x20('+_0x2371be+_0xc08038(0x10b);let _0x420ee2='info';if(_0xc99b85[_0xc08038(0x123)]>=0x1f4)_0x420ee2=_0xc08038(0x110),logger[_0xc08038(0x110)](_0x1ea210,_0x4027bb);else _0x2a4f46['apdfr'](_0xc99b85['statusCode'],0x190)?(_0x420ee2=_0xc08038(0x14a),logger['warn'](_0x1ea210,_0x4027bb)):logger[_0xc08038(0x128)](_0x1ea210,_0x4027bb);_0x2a4f46[_0xc08038(0x149)](writeToFileLog,{..._0x1ea210,'level':_0x420ee2,'msg':_0x4027bb,'time':new Date()['toISOString']()},_0x420ee2);},SENSITIVE_PARAM_PATTERNS=[a0_0xd304fc(0x108),a0_0xd304fc(0x17f),'pwd',a0_0xd304fc(0x1ab),a0_0xd304fc(0x1a5),'refresh_token',a0_0xd304fc(0x115),a0_0xd304fc(0x13f),'apikey',a0_0xd304fc(0x189),'credential','credentials','pin',a0_0xd304fc(0x11d),a0_0xd304fc(0x111),a0_0xd304fc(0x199)],redactSensitiveParams=(_0x5a95fb,_0x3162ae)=>{const _0x4bfb0f=a0_0xd304fc,_0x278a75={'juCbe':function(_0x13ea58,_0x48f010){return _0x13ea58===_0x48f010;},'QBrHn':function(_0x2780bb,_0x2c6beb){return _0x2780bb>_0x2c6beb;},'DQUGK':_0x4bfb0f(0x197)};if(!_0x5a95fb||_0x278a75[_0x4bfb0f(0x18d)](_0x5a95fb[_0x4bfb0f(0x195)],0x0))return _0x5a95fb;const _0x1a6f84=_0x3162ae[_0x4bfb0f(0x1ad)](),_0x563645=_0x1a6f84[_0x4bfb0f(0x16a)](/\(([^)]+)\)\s*values/i);let _0x2c7c79=[];_0x563645&&(_0x2c7c79=_0x563645[0x1]['split'](',')['map'](_0x7890f8=>_0x7890f8[_0x4bfb0f(0x16b)]()[_0x4bfb0f(0x1ad)]()));const _0x11b9ac=_0x1a6f84[_0x4bfb0f(0x16a)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x11b9ac){const _0x10a592=_0x11b9ac[0x1],_0x31efdf=_0x10a592['match'](/(\w+)\s*=/g);_0x31efdf&&(_0x2c7c79=_0x31efdf['map'](_0x1aac2c=>_0x1aac2c[_0x4bfb0f(0x1a4)](/\s*=/,'')['trim']()[_0x4bfb0f(0x1ad)]()));}return _0x5a95fb[_0x4bfb0f(0x12e)]((_0x4b4eba,_0x3f1696)=>{const _0xb4eb0d=_0x4bfb0f;if(_0x2c7c79[_0x3f1696]){const _0x2316b2=_0x2c7c79[_0x3f1696],_0x2b5d71=SENSITIVE_PARAM_PATTERNS['some'](_0x545df5=>_0x2316b2[_0xb4eb0d(0x133)](_0x545df5));if(_0x2b5d71)return'[REDACTED]';}if(_0x278a75[_0xb4eb0d(0x18d)](typeof _0x4b4eba,'string')&&_0x278a75[_0xb4eb0d(0x188)](_0x4b4eba[_0xb4eb0d(0x195)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x4b4eba)&&_0x4b4eba['includes']('.'))return _0x278a75['DQUGK'];if(/^[a-fA-F0-9]{32,}$/[_0xb4eb0d(0x16c)](_0x4b4eba))return _0xb4eb0d(0x117);}return _0x4b4eba;});},parseQueryMetadata=_0x5dfcad=>{const _0x7c5fe5=a0_0xd304fc,_0x154dad={'TboQl':_0x7c5fe5(0x17c),'fDdSG':_0x7c5fe5(0x17a),'GsVJZ':_0x7c5fe5(0x173),'BWOzW':'UPDATE','KhMJi':'DELETE','QMKil':_0x7c5fe5(0x116),'hkjCK':'TRANSACTION_ROLLBACK','WOAOx':'DDL_CREATE','sdPbg':_0x7c5fe5(0x18a)},_0x458165=_0x5dfcad['trim'](),_0x1e7cb2=_0x458165['toUpperCase']();let _0x14c8f0=_0x154dad['TboQl'],_0x279f82=null;if(_0x1e7cb2['startsWith'](_0x7c5fe5(0x17a))){_0x14c8f0=_0x154dad['fDdSG'];const _0x4e074f=_0x458165[_0x7c5fe5(0x16a)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x279f82=_0x4e074f?_0x4e074f[0x1]:null;}else{if(_0x1e7cb2[_0x7c5fe5(0x15b)](_0x154dad['GsVJZ'])){_0x14c8f0=_0x7c5fe5(0x173);const _0x13e142=_0x458165['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x279f82=_0x13e142?_0x13e142[0x1]:null;}else{if(_0x1e7cb2[_0x7c5fe5(0x15b)](_0x154dad[_0x7c5fe5(0x126)])){_0x14c8f0='UPDATE';const _0x397fa3=_0x458165[_0x7c5fe5(0x16a)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x279f82=_0x397fa3?_0x397fa3[0x1]:null;}else{if(_0x1e7cb2[_0x7c5fe5(0x15b)](_0x154dad['KhMJi'])){_0x14c8f0=_0x154dad[_0x7c5fe5(0x119)];const _0x1357d2=_0x458165[_0x7c5fe5(0x16a)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x279f82=_0x1357d2?_0x1357d2[0x1]:null;}else{if(_0x1e7cb2['startsWith'](_0x154dad[_0x7c5fe5(0x1bb)])||_0x1e7cb2['startsWith']('START\x20TRANSACTION'))_0x14c8f0='TRANSACTION_BEGIN';else{if(_0x1e7cb2['startsWith'](_0x7c5fe5(0x12c)))_0x14c8f0=_0x7c5fe5(0x177);else{if(_0x1e7cb2[_0x7c5fe5(0x15b)]('ROLLBACK'))_0x14c8f0=_0x154dad['hkjCK'];else{if(_0x1e7cb2['startsWith'](_0x7c5fe5(0x11a)))_0x14c8f0=_0x154dad[_0x7c5fe5(0x1a9)];else{if(_0x1e7cb2['startsWith']('ALTER'))_0x14c8f0='DDL_ALTER';else _0x1e7cb2['startsWith'](_0x154dad[_0x7c5fe5(0x127)])&&(_0x14c8f0='DDL_DROP');}}}}}}}}return{'type':_0x14c8f0,'table':_0x279f82};},startQueryTimer=()=>{const _0x5c5f96=a0_0xd304fc,_0x29ca9b={'ZVkUm':function(_0x43a54c,_0x8075af){return _0x43a54c(_0x8075af);},'uwctH':function(_0x19a5e7,_0x5925a1){return _0x19a5e7+_0x5925a1;},'CfgSp':function(_0x563e9a,_0x25b3de){return _0x563e9a*_0x25b3de;}},_0x4f8077=process[_0x5c5f96(0x144)]();return()=>{const _0x3b6ac8=_0x5c5f96,[_0x21df97,_0xd95fb9]=process['hrtime'](_0x4f8077);return _0x29ca9b[_0x3b6ac8(0x1af)](parseFloat,_0x29ca9b[_0x3b6ac8(0x1ae)](_0x29ca9b['CfgSp'](_0x21df97,0x3e8),_0xd95fb9/0xf4240)[_0x3b6ac8(0x169)](0x2));};},logQuery=(_0x4e9a3e,_0x12d418=[],_0x2577d8={})=>{const _0x72728e=a0_0xd304fc,_0x17f0cc={'eYKfd':function(_0x5b9969,_0x43f58e){return _0x5b9969(_0x43f58e);},'sFmYk':function(_0x316045,_0x3a08c3){return _0x316045>_0x3a08c3;},'GIeQc':function(_0x2bee25,_0x4e4c7b,_0x1f68b3){return _0x2bee25(_0x4e4c7b,_0x1f68b3);},'tGKcx':function(_0x1bf9ed,_0x4fe769){return _0x1bf9ed!==_0x4fe769;},'kigcJ':_0x72728e(0x1b1),'pRZzb':function(_0x44c5f9,_0x129689){return _0x44c5f9>_0x129689;},'ItYFw':'debug','SpQsj':_0x72728e(0x151),'kOZxd':function(_0x3e620a,_0x5191ed){return _0x3e620a===_0x5191ed;},'DaeiK':'info'};if(!sqlLogEnabled){logger[_0x72728e(0x175)]({'event':_0x72728e(0x105),'query':_0x4e9a3e['substring'](0x0,0xc8),'paramCount':_0x12d418['length']},'DB\x20Query');return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x2577d8,{type:_0xde0827,table:_0x4bb002}=_0x17f0cc[_0x72728e(0x13b)](parseQueryMetadata,_0x4e9a3e),_0x7768c7={'event':'sql_query','queryType':_0xde0827,'table':_0x4bb002,'query':_0x4e9a3e,'paramCount':_0x12d418[_0x72728e(0x195)],'dbType':dbType};sqlLogParams&&_0x17f0cc['sFmYk'](_0x12d418[_0x72728e(0x195)],0x0)&&(_0x7768c7[_0x72728e(0x12f)]=_0x17f0cc[_0x72728e(0x179)](redactSensitiveParams,_0x12d418,_0x4e9a3e));_0x17f0cc[_0x72728e(0x1b2)](duration,null)&&(_0x7768c7['durationMs']=duration,_0x7768c7[_0x72728e(0x1b4)]=_0x17f0cc[_0x72728e(0x187)](duration,sqlLogSlowThreshold));_0x17f0cc['tGKcx'](rowsAffected,null)&&(_0x7768c7[_0x72728e(0x14c)]=rowsAffected);const _0x157589=_0x4bb002||_0x17f0cc[_0x72728e(0x157)];let _0x372c39='['+_0xde0827+']\x20'+_0x157589;duration!==null&&(_0x372c39+='\x20('+duration+'ms)');const _0x2f1e34=_0x17f0cc['tGKcx'](duration,null)&&_0x17f0cc['pRZzb'](duration,sqlLogSlowThreshold);let _0x15d936=_0x17f0cc['ItYFw'];if(_0x2f1e34)_0x372c39+=_0x17f0cc[_0x72728e(0x166)],_0x15d936=_0x72728e(0x14a),logger['warn'](_0x7768c7,_0x372c39);else _0x17f0cc[_0x72728e(0x17e)](sqlLogLevel,_0x17f0cc['DaeiK'])?(_0x15d936=_0x17f0cc[_0x72728e(0x16e)],logger['info'](_0x7768c7,_0x372c39)):logger['debug'](_0x7768c7,_0x372c39);writeToFileLog({..._0x7768c7,'level':_0x15d936,'msg':_0x372c39,'time':new Date()[_0x72728e(0x135)]()},_0x15d936);},logTransaction=(_0x334be8,_0x11a4e7)=>{const _0x9453d5=a0_0xd304fc,_0x428b91={'LvDgx':_0x9453d5(0x129),'MjjXc':function(_0x3f48bc,_0x24d3d9,_0x1c7841){return _0x3f48bc(_0x24d3d9,_0x1c7841);},'nTQbC':_0x9453d5(0x175)},_0x4a3b79={'event':_0x428b91[_0x9453d5(0x118)],'status':_0x334be8,'queryCount':_0x11a4e7},_0x5ee92a='Transaction\x20'+_0x334be8;logger[_0x9453d5(0x175)](_0x4a3b79,_0x5ee92a),_0x428b91[_0x9453d5(0x11f)](writeToFileLog,{..._0x4a3b79,'level':_0x9453d5(0x175),'msg':_0x5ee92a,'time':new Date()['toISOString']()},_0x428b91['nTQbC']);},redactObject=_0x1ca252=>{const _0x30f68b=a0_0xd304fc,_0x1ce01b={'yuLHi':_0x30f68b(0x1a1),'iPgEp':_0x30f68b(0x1ab),'uorba':_0x30f68b(0x115),'njMsS':_0x30f68b(0x189),'srVwm':'refresh_token','jHaXa':_0x30f68b(0x1a5),'QubKq':'[REDACTED]','RMiBu':'object','tRaFL':function(_0x3a0f21,_0x305171){return _0x3a0f21!==_0x305171;}};if(!_0x1ca252||typeof _0x1ca252!==_0x30f68b(0x1a3))return _0x1ca252;const _0x4fdc4d=[_0x30f68b(0x108),'passwd',_0x1ce01b[_0x30f68b(0x190)],_0x1ce01b[_0x30f68b(0x19e)],_0x1ce01b[_0x30f68b(0xfc)],'apikey',_0x1ce01b[_0x30f68b(0x113)],_0x30f68b(0xff),_0x30f68b(0x1b6),_0x30f68b(0x15a),_0x30f68b(0x130),_0x30f68b(0x11e),_0x30f68b(0x176),_0x30f68b(0x111),_0x30f68b(0x199),_0x1ce01b['srVwm'],_0x1ce01b[_0x30f68b(0x10c)]],_0x3e2dc5=Array['isArray'](_0x1ca252)?[..._0x1ca252]:{..._0x1ca252};for(const _0x38dd15 of Object[_0x30f68b(0x12d)](_0x3e2dc5)){const _0x4c3228=_0x38dd15[_0x30f68b(0x1ad)]();if(_0x4fdc4d['some'](_0x3a0984=>_0x4c3228['includes'](_0x3a0984)))_0x3e2dc5[_0x38dd15]=_0x1ce01b[_0x30f68b(0x112)];else typeof _0x3e2dc5[_0x38dd15]===_0x1ce01b[_0x30f68b(0x171)]&&_0x1ce01b[_0x30f68b(0x109)](_0x3e2dc5[_0x38dd15],null)&&(_0x3e2dc5[_0x38dd15]=redactObject(_0x3e2dc5[_0x38dd15]));}return _0x3e2dc5;},logError=(_0x4a290f,_0x13975e={},_0x59d502=null)=>{const _0x2d1491=a0_0xd304fc,_0x49cdcb={'hsmkF':function(_0x36bd8b,_0x2b0f25,_0xcaaf53){return _0x36bd8b(_0x2b0f25,_0xcaaf53);},'qRXbR':_0x2d1491(0x110)},_0x5d636b={'event':'error','errorName':_0x4a290f[_0x2d1491(0x138)]||'Error','errorMessage':_0x4a290f['message'],'errorCode':_0x4a290f['code']||null,'stack':_0x4a290f[_0x2d1491(0x140)],..._0x13975e},_0x51dd4a=_0x59d502||_0x2d1491(0x1a8)+_0x4a290f['message'];logger['error'](_0x5d636b,_0x51dd4a),_0x49cdcb['hsmkF'](writeToFileLog,{..._0x5d636b,'level':_0x49cdcb['qRXbR'],'msg':_0x51dd4a,'time':new Date()['toISOString']()},_0x49cdcb[_0x2d1491(0x186)]);},logFatalError=(_0x31f77f,_0x376e6f={},_0x2f0909=null)=>{const _0x25f8f8=a0_0xd304fc,_0x597eee={'TtUgq':'fatal_error','Wkgav':'CRITICAL','xMfxo':'fatal','NuVbo':'error'},_0xc781b7={'event':_0x597eee[_0x25f8f8(0x103)],'errorName':_0x31f77f['name']||'Error','errorMessage':_0x31f77f['message'],'errorCode':_0x31f77f['code']||null,'stack':_0x31f77f[_0x25f8f8(0x140)],'severity':_0x597eee['Wkgav'],..._0x376e6f},_0xfd19f=_0x2f0909||'FATAL:\x20'+_0x31f77f['message'];logger[_0x25f8f8(0x125)](_0xc781b7,_0xfd19f),writeToFileLog({..._0xc781b7,'level':_0x597eee['xMfxo'],'msg':_0xfd19f,'time':new Date()['toISOString']()},_0x597eee[_0x25f8f8(0x137)]);},logHttpError=(_0x42796f,_0x30cd1d,_0x21c440={})=>{const _0x376def=a0_0xd304fc,_0x173d7f={'gSbjK':_0x376def(0x12b),'hYfzr':'user-agent','ldkFo':'x-request-id','ixjIm':_0x376def(0x110),'FtFpi':function(_0x5e1b6b,_0x20a4a5){return _0x5e1b6b>=_0x20a4a5;}},_0x12e909={'event':_0x173d7f[_0x376def(0x162)],'errorName':_0x42796f['name']||_0x376def(0x120),'errorMessage':_0x42796f[_0x376def(0x10f)],'errorCode':_0x42796f[_0x376def(0x16d)]||_0x42796f[_0x376def(0x123)]||0x1f4,'stack':_0x42796f['stack'],'method':_0x30cd1d?.['method'],'url':_0x30cd1d?.[_0x376def(0x193)]||_0x30cd1d?.['originalUrl'],'path':_0x30cd1d?.['path'],'ip':_0x30cd1d?.['ip']||_0x30cd1d?.['connection']?.[_0x376def(0x152)],'userAgent':_0x30cd1d?.[_0x376def(0x19a)]?.(_0x173d7f[_0x376def(0x131)]),'requestId':_0x30cd1d?.['id']||_0x30cd1d?.['headers']?.[_0x173d7f['ldkFo']],'body':_0x30cd1d?.[_0x376def(0x14d)]?redactObject(_0x30cd1d[_0x376def(0x14d)]):undefined,'query':_0x30cd1d?.[_0x376def(0xfe)],..._0x21c440},_0x15a2a9=_0x42796f['statusCode']||_0x42796f['status']||0x1f4,_0x3f6c5f=_0x376def(0xf9)+_0x15a2a9+':\x20'+_0x42796f[_0x376def(0x10f)];_0x15a2a9>=0x1f4?logger['error'](_0x12e909,_0x3f6c5f):logger[_0x376def(0x14a)](_0x12e909,_0x3f6c5f),writeToFileLog({..._0x12e909,'level':_0x15a2a9>=0x1f4?_0x173d7f[_0x376def(0x1b9)]:_0x376def(0x14a),'msg':_0x3f6c5f,'time':new Date()['toISOString']()},_0x173d7f['FtFpi'](_0x15a2a9,0x1f4)?'error':_0x376def(0x14a));},logUncaughtError=(_0x4f3157,_0x26994f)=>{const _0x94b64a=a0_0xd304fc,_0x5e791d={'Remop':'Error','GjScZ':_0x94b64a(0x110)},_0x3254f7={'event':_0x4f3157,'errorName':_0x26994f?.['name']||_0x5e791d['Remop'],'errorMessage':_0x26994f?.['message']||String(_0x26994f),'errorCode':_0x26994f?.['code']||null,'stack':_0x26994f?.['stack'],'severity':_0x94b64a(0x106),'processId':process[_0x94b64a(0x1aa)],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x94b64a(0x11b)]()},_0x4b59a2='['+_0x4f3157[_0x94b64a(0x168)]()+']\x20'+(_0x26994f?.[_0x94b64a(0x10f)]||_0x26994f);logger['fatal'](_0x3254f7,_0x4b59a2),writeToFileLog({..._0x3254f7,'level':_0x94b64a(0x125),'msg':_0x4b59a2,'time':new Date()['toISOString']()},_0x5e791d[_0x94b64a(0x163)]);},setupGlobalErrorHandlers=()=>{const _0x378ccf=a0_0xd304fc,_0x43dc4e={'meoHW':_0x378ccf(0x159),'JAqJW':function(_0x286adf,_0x29b3de){return _0x286adf instanceof _0x29b3de;},'DQLbR':_0x378ccf(0x122),'cDybP':'process_warning','TcNIA':'warning','oGBWH':_0x378ccf(0x128)};process['on'](_0x43dc4e['meoHW'],_0x30b4ec=>{logUncaughtError(_0x43dc4e['meoHW'],_0x30b4ec),setTimeout(()=>{const _0x11fb7b=a0_0x200c;process[_0x11fb7b(0x156)](0x1);},0x3e8);}),process['on'](_0x43dc4e['DQLbR'],(_0x243edf,_0x1c8364)=>{const _0x2e29e1=_0x378ccf,_0x5b43a2=_0x43dc4e[_0x2e29e1(0x102)](_0x243edf,Error)?_0x243edf:new Error(String(_0x243edf));logUncaughtError(_0x43dc4e[_0x2e29e1(0x1b5)],_0x5b43a2);}),process['on'](_0x43dc4e['TcNIA'],_0x569005=>{const _0x5a7b60=_0x378ccf;logger[_0x5a7b60(0x14a)]({'event':_0x43dc4e[_0x5a7b60(0x1b7)],'name':_0x569005[_0x5a7b60(0x138)],'message':_0x569005[_0x5a7b60(0x10f)],'stack':_0x569005[_0x5a7b60(0x140)]},_0x5a7b60(0x141)+_0x569005[_0x5a7b60(0x10f)]);});const _0x2f4716={'event':_0x378ccf(0x183)},_0x57150d=_0x378ccf(0x196);logger[_0x378ccf(0x128)](_0x2f4716,_0x57150d),writeToFileLog({..._0x2f4716,'level':_0x43dc4e[_0x378ccf(0x19b)],'msg':_0x57150d,'time':new Date()[_0x378ccf(0x135)]()},_0x43dc4e[_0x378ccf(0x19b)]);},createErrorHandlerMiddleware=()=>{const _0x4ed28a={'ozIAX':'x-request-id'};return(_0x41a5fa,_0x57ec6a,_0x4428ac,_0x4b4a10)=>{const _0x425005=a0_0x200c;logHttpError(_0x41a5fa,_0x57ec6a);const _0x13a874=_0x41a5fa['statusCode']||_0x41a5fa[_0x425005(0x1b8)]||0x1f4;_0x4428ac[_0x425005(0x1b8)](_0x13a874)['json']({'success':![],'error':_0x13a874>=0x1f4?'Internal\x20server\x20error':_0x41a5fa['message'],'requestId':_0x57ec6a['id']||_0x57ec6a['headers']?.[_0x4ed28a[_0x425005(0x198)]]||null});};};module[a0_0xd304fc(0x172)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
1
|
+
const a0_0x295f06=a0_0x2fdb;function a0_0x2fdb(_0x4a42ab,_0x2e96cf){_0x4a42ab=_0x4a42ab-0x1e4;const _0x149564=a0_0x1495();let _0x2fdb3d=_0x149564[_0x4a42ab];if(a0_0x2fdb['MLcKNd']===undefined){var _0x275727=function(_0x1ae374){const _0x1351e9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x26977a='',_0x1eb925='';for(let _0x50a293=0x0,_0x4cf63b,_0x4c2c6f,_0x114656=0x0;_0x4c2c6f=_0x1ae374['charAt'](_0x114656++);~_0x4c2c6f&&(_0x4cf63b=_0x50a293%0x4?_0x4cf63b*0x40+_0x4c2c6f:_0x4c2c6f,_0x50a293++%0x4)?_0x26977a+=String['fromCharCode'](0xff&_0x4cf63b>>(-0x2*_0x50a293&0x6)):0x0){_0x4c2c6f=_0x1351e9['indexOf'](_0x4c2c6f);}for(let _0x5f43a0=0x0,_0x80a078=_0x26977a['length'];_0x5f43a0<_0x80a078;_0x5f43a0++){_0x1eb925+='%'+('00'+_0x26977a['charCodeAt'](_0x5f43a0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1eb925);};a0_0x2fdb['vGRSMf']=_0x275727,a0_0x2fdb['uJZnED']={},a0_0x2fdb['MLcKNd']=!![];}const _0x2ef03c=_0x149564[0x0],_0xb35829=_0x4a42ab+_0x2ef03c,_0x263df7=a0_0x2fdb['uJZnED'][_0xb35829];return!_0x263df7?(_0x2fdb3d=a0_0x2fdb['vGRSMf'](_0x2fdb3d),a0_0x2fdb['uJZnED'][_0xb35829]=_0x2fdb3d):_0x2fdb3d=_0x263df7,_0x2fdb3d;}(function(_0x389b83,_0x329a96){const _0x264fdc=a0_0x2fdb,_0x2799fd=_0x389b83();while(!![]){try{const _0x144f1c=-parseInt(_0x264fdc(0x242))/0x1*(parseInt(_0x264fdc(0x23d))/0x2)+parseInt(_0x264fdc(0x256))/0x3+-parseInt(_0x264fdc(0x26e))/0x4+parseInt(_0x264fdc(0x253))/0x5*(parseInt(_0x264fdc(0x245))/0x6)+parseInt(_0x264fdc(0x23e))/0x7*(parseInt(_0x264fdc(0x24a))/0x8)+parseInt(_0x264fdc(0x21d))/0x9+parseInt(_0x264fdc(0x237))/0xa*(-parseInt(_0x264fdc(0x214))/0xb);if(_0x144f1c===_0x329a96)break;else _0x2799fd['push'](_0x2799fd['shift']());}catch(_0x400ad7){_0x2799fd['push'](_0x2799fd['shift']());}}}(a0_0x1495,0x220d3));const pino=require(a0_0x295f06(0x24e)),fs=require('fs'),path=require(a0_0x295f06(0x268));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x295f06(0x232),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;function a0_0x1495(){const _0x50e93e=['Dg9mB3DLCKnHC2u','AuvvyKG','uMfXvLu','Dw5JyxvNAhrfEgnLChrPB24','CMvZDgzVCMDL','Ag9ZDa','q0rxCLq','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','CgfZC3DVCMq','Cg92EK8','qKvhsu4','ywnJzxnZx3rVA2vU','zxHPC3rZu3LUyW','C2vYDMLJzuLUzM8','BwvTB3j5vxnHz2u','C3rHDhvZq29Kzq','zgvIDwC','BLfnEhe','w1jfrefdveveoNrVA2vUxq','CgfZC3DK','BgvUz3rO','mtbWyKzlC0K','sLDux1nfq1jfva','z09WDfy','sND0t2W','Dg9gAxHLza','yxbPx2TLEq','mZqZmhzQsMfIwG','mtq0mKvsC0vfqq','wxDhCLi','w1jfrefdvevexq','zuTTzxC','ndfmAuT3vwO','te9hx0rjuG','D1nwvu8','odCWmJiYExrKwfPe','zMjAuhC','uhbxs2O','rermx0nsrufurq','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','mZu2og96zuz0ra','quXurvi','yMfZzvvYBa','D2fYBG','CgLUBW','y3jLyxrLv3jPDgvtDhjLyw0','wLD0yNe','DhjPBq','yLrfsxi','nvHtvgHSCW','yxbPs2v5','yNfbCxG','odi3nJuYBujlAefn','Bwv0Ag9K','CxvLCNK','Ce1rqwu','y29Kzq','rNzkwuW','Aw5JBhvKzxm','DxjS','w1jfrefdveveoMHHC2HD','ms4WlJu','rgf0ywjHC2u6ia','C3rYAw5NAwz5','B3jPz2LUywXvCMW','qvjrsM4','C2vYDMvYx3jLywr5','ChjVAMvJDf9SB2fKzwq','rNrWCNG','CMvMCMvZAf90B2TLBG','Cgf0Aa','ChjVy2vZC193yxjUAw5N','zw5KCg9PBNrFCMvNAxn0zxjLza','y2HPBgq','C3rHy2S','CgfYyw1Z','mJiXotq0B0HHuxLN','qvbqx1zfuLnjt04','BeLOBem','sw50zxjUywWGC2vYDMvYigvYCM9Y','u1rbuLqGvfjbtLnbq1rjt04','yvnpqu8','tI9b','EuLsu1e','Bw11tfi','z2v0sgvHzgvYCW','zMf0ywW','Dg9ju09tDhjPBMC','zxjYB3iUBg9N','rKjZt3i','CMvTB3rLqwrKCMvZCW','C3rYAw5N','zvruD0m','u1LtoKHioK1noNnZ','icbizwfSDgG6ia','vvbeqvrf','y29UzMLNrMLSzq','tgD1tuG','rxjYB3i','Aw5MBW','Ahj0Aw1L','qKfkCgq','Bw9KDwXL','CLDzAhi','CgLUBY1WCMv0DhK','tM9Kzs5QCW','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','BwvZC2fNzq','C0XOww0','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','AM9PBG','zhvYyxrPB25nCW','Bwf0y2G','Dhj1zq','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','iokvKqRILzeGifbVCNqGicaGicaGidOG','BMnXwhG','CgfKrw5K','zgf0ywjHC2u','C3rKvgLTzuz1BMn0Aw9UCW','uNnlDg0','q1jjveLdquW','vfjbtLnbq1rjt05Fq09ntuLu','ChjPDMf0zv9RzxK','Dg9Rzw4','icbjBMzVoIaGia','ChjPDMf0zwTLEq','q1jfqvrf','CgjcAhC','B2jQzwn0','AxnbCNjHEq','u1fmx0Xpr19mrvzfta','vhjHBNnHy3rPB24G','qunusvzf','q09ntuLu','ENrQsMu','AgvHzgvYCW','sevlr24','BMfTzq','yxv0Ag9YAxPHDgLVBG','Cg9YDa','zw52','sxDTCwC','t3L3tg8','tK9erv9ftLy','zMLSzv9SB2DNAw5Nx2vUywjSzwq','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','CM93C0fMzMvJDgvK','icdIHPiG','oI8V','u0vmrunu','BwTKAxjtEw5J','icbvuKW6icaGia','Dg9vChbLCKnHC2u','y3DK','A1fhD1u','BxmP','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','rKfuquW6ia','Bg9N','q3Hiy3O','yxbPA2v5','w09lxsbqCM9Qzwn0igXVywrLzdOG','EhrxAhG','ChjVAMvJDa','ifTtte9xxq','te9hx1rpx0zjteu','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','mJC4nJGZowrZBNzJta','C3rHDhvZ','rfjpua','zMf0ywXFzxjYB3i','Dw5Oyw5KBgvKuMvQzwn0Aw9U','A2v5CW','sgfjAey','AgvHBhrOq2HLy2S','DhLWzq','nti0ntjPquf6wwu','ANj1Dhe','C3rHCNrZv2L0Aa','zxjYB3i','DvLuww0'];a0_0x1495=function(){return _0x50e93e;};return a0_0x1495();}const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x295f06(0x27f),'ignore':a0_0x295f06(0x295),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x295f06(0x1fe),'hideObject':!![]},isDevelopment=process[a0_0x295f06(0x1f9)][a0_0x295f06(0x1fc)]!=='production',logLevel=process[a0_0x295f06(0x1f9)]['LOG_LEVEL']||a0_0x295f06(0x285);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x295f06(0x28a),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x295f06(0x1f9)][a0_0x295f06(0x26f)]||a0_0x295f06(0x25f),'env':process[a0_0x295f06(0x1f9)]['NODE_ENV']||'development'},'timestamp':pino[a0_0x295f06(0x29a)]['isoTime'],'redact':{'paths':[a0_0x295f06(0x209),a0_0x295f06(0x213),a0_0x295f06(0x22a),a0_0x295f06(0x1e8),a0_0x295f06(0x254),'DB_PASSWORD',a0_0x295f06(0x238)],'censor':'[REDACTED]'},'serializers':{'req':_0x4b53c8=>({'id':_0x4b53c8['id'],'method':_0x4b53c8[a0_0x295f06(0x257)],'url':_0x4b53c8[a0_0x295f06(0x25d)],'path':_0x4b53c8[a0_0x295f06(0x268)],'remoteAddress':_0x4b53c8['ip']||_0x4b53c8['connection']?.[a0_0x295f06(0x27c)]}),'res':_0x29a7bf=>({'statusCode':_0x29a7bf[a0_0x295f06(0x231)],'headers':_0x29a7bf[a0_0x295f06(0x277)]?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x4c91bc=a0_0x295f06,_0x589cff={'bTEIr':function(_0x13037d,_0x3da287){return _0x13037d===_0x3da287;},'qWXsS':'debug','aSOAO':'false','UMgHW':_0x4c91bc(0x27a),'ILUTZ':_0x4c91bc(0x1fd),'RsKtm':'app.log','DRnDB':function(_0x17c1b8,_0x174187,_0x5e9983){return _0x17c1b8(_0x174187,_0x5e9983);}};if(fileLoggingInitialized)return;logToFile=process['env'][_0x4c91bc(0x212)]==='true',logDir=process['env'][_0x4c91bc(0x243)]||'./logs',serviceName=process[_0x4c91bc(0x1f9)]['SERVICE_NAME']||_0x4c91bc(0x226),sqlLogEnabled=_0x589cff[_0x4c91bc(0x252)](process['env']['SQL_LOG_ENABLED'],_0x4c91bc(0x293)),sqlLogLevel=process[_0x4c91bc(0x1f9)][_0x4c91bc(0x1ef)]||_0x589cff['qWXsS'],sqlLogParams=process['env']['SQL_LOG_PARAMS']!==_0x589cff[_0x4c91bc(0x273)],sqlLogSlowThreshold=parseInt(process['env']['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x419a7a=path['resolve'](process[_0x4c91bc(0x206)](),logDir);try{!fs[_0x4c91bc(0x22e)](_0x419a7a)&&fs[_0x4c91bc(0x203)](_0x419a7a,{'recursive':!![]});}catch(_0x462d1e){console['error'](_0x4c91bc(0x28c)+_0x419a7a+':',_0x462d1e['message']),fileLoggingInitialized=!![];return;}const _0x5c7cf8=path[_0x4c91bc(0x290)](_0x419a7a,'app.log'),_0x57a2ab=path[_0x4c91bc(0x290)](_0x419a7a,_0x589cff['UMgHW']);try{appLogStream=fs[_0x4c91bc(0x24f)](_0x5c7cf8,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x57a2ab,{'flags':'a'}),fileLoggingInitialized=!![];const _0xac9834={'event':_0x589cff['ILUTZ'],'logDir':_0x419a7a,'files':[_0x589cff[_0x4c91bc(0x1e4)],_0x4c91bc(0x27a)]},_0x27a0ed='File\x20logging\x20enabled:\x20'+_0x419a7a;logger[_0x4c91bc(0x285)](_0xac9834,_0x27a0ed),_0x589cff['DRnDB'](writeToFileLog,{..._0xac9834,'level':'info','msg':_0x27a0ed,'time':new Date()[_0x4c91bc(0x279)]()},'info');}catch(_0x4c3c42){console[_0x4c91bc(0x220)](_0x4c91bc(0x229),_0x4c3c42['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0xfb9b54,_0x3c7c4e){const _0x41eb4c=a0_0x295f06,_0xc6c513={'torzm':function(_0x532ad9,_0x26952d){return _0x532ad9||_0x26952d;},'oBPNu':function(_0x372721,_0x60db5d){return _0x372721===_0x60db5d;},'CDWrT':'error','PcLnC':function(_0x55d187,_0x2ee0e4){return _0x55d187===_0x2ee0e4;}};if(_0xc6c513['torzm'](!logToFile,!appLogStream))return;const _0x1532ee={'service':serviceName,..._0xfb9b54},_0x10b058=JSON[_0x41eb4c(0x261)](_0x1532ee)+'\x0a';appLogStream['write'](_0x10b058),(_0xc6c513['oBPNu'](_0x3c7c4e,_0xc6c513[_0x41eb4c(0x228)])||_0xc6c513['PcLnC'](_0x3c7c4e,'fatal'))&&(errorLogStream&&errorLogStream['write'](_0x10b058));}const createRequestLogger=(_0x2ab4cf={})=>{const _0x54e229=a0_0x295f06;return logger[_0x54e229(0x26b)](_0x2ab4cf);},logServerStart=_0x4dd149=>{const _0x2a27e6=a0_0x295f06,_0x19527f={'nhiZJ':_0x2a27e6(0x28b),'KoWqR':function(_0x3d1501,_0x274353){return _0x3d1501(_0x274353);},'ZBXoV':'NOT\x20ACTIVE','xtWhx':'server_starting','FvJYL':function(_0x56e65f,_0x3f7531,_0x133c1f){return _0x56e65f(_0x3f7531,_0x133c1f);},'eTTwC':_0x2a27e6(0x285)},_0x9c20f7=_0x2a27e6(0x294)+(_0x4dd149['environment']||_0x19527f['nhiZJ'])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x4dd149['project']||_0x2a27e6(0x274))[_0x2a27e6(0x298)](0x26)+_0x2a27e6(0x296)+_0x19527f['KoWqR'](String,_0x4dd149[_0x2a27e6(0x1f8)]||0xbb8)[_0x2a27e6(0x298)](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x4dd149[_0x2a27e6(0x282)]||'Default')['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x4dd149['apiKey']?_0x2a27e6(0x1f1):_0x19527f['ZBXoV'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x2a27e6(0x20b)](_0x9c20f7);const _0x294060={'event':_0x19527f[_0x2a27e6(0x20f)],'project':_0x4dd149[_0x2a27e6(0x210)],'port':_0x4dd149['port'],'config':_0x4dd149['configFile'],'apiKeyEnabled':!!_0x4dd149['apiKey']};logger[_0x2a27e6(0x285)](_0x294060),_0x19527f[_0x2a27e6(0x25b)](writeToFileLog,{..._0x294060,'level':_0x19527f[_0x2a27e6(0x27e)],'msg':'Server\x20starting:\x20'+_0x4dd149[_0x2a27e6(0x210)]+'\x20on\x20port\x20'+_0x4dd149['port'],'time':new Date()[_0x2a27e6(0x279)]()},_0x2a27e6(0x285));},logServerReady=_0xf6d7f5=>{const _0x3870c6=a0_0x295f06,_0x1e34d2={'AEmIp':_0x3870c6(0x264),'lIhlC':_0x3870c6(0x285)},_0x3dfff6={'event':_0x1e34d2['AEmIp'],'port':_0xf6d7f5[_0x3870c6(0x1f8)],'module':_0xf6d7f5[_0x3870c6(0x288)],'healthCheck':_0xf6d7f5[_0x3870c6(0x21b)],'serviceInfo':_0xf6d7f5[_0x3870c6(0x22f)],'baseUrl':_0xf6d7f5['baseUrl']},_0x55db52=_0x3870c6(0x28f)+_0xf6d7f5[_0x3870c6(0x1f8)];logger[_0x3870c6(0x285)](_0x3dfff6,_0x55db52),writeToFileLog({..._0x3dfff6,'level':_0x1e34d2['lIhlC'],'msg':_0x55db52,'time':new Date()['toISOString']()},_0x1e34d2[_0x3870c6(0x270)]),_0xf6d7f5[_0x3870c6(0x21b)]&&logger[_0x3870c6(0x285)](_0x3870c6(0x280)+_0xf6d7f5[_0x3870c6(0x21b)]),_0xf6d7f5[_0x3870c6(0x22f)]&&logger[_0x3870c6(0x285)](_0x3870c6(0x1e9)+_0xf6d7f5[_0x3870c6(0x22f)]),_0xf6d7f5['baseUrl']&&logger[_0x3870c6(0x285)](_0x3870c6(0x204)+_0xf6d7f5[_0x3870c6(0x24c)]);},logProjectLoaded=(_0x3304c0,_0x181b49)=>{const _0x22dd7e=a0_0x295f06,_0x3c64f9={'ZWtbq':'info'},_0x5cf5ac={'event':_0x22dd7e(0x265),'project':_0x3304c0,'path':_0x181b49},_0x33eeb0=_0x22dd7e(0x20e)+_0x3304c0;logger['info'](_0x5cf5ac,_0x33eeb0),writeToFileLog({..._0x5cf5ac,'level':_0x22dd7e(0x285),'msg':_0x33eeb0,'time':new Date()[_0x22dd7e(0x279)]()},_0x3c64f9[_0x22dd7e(0x250)]);},logEndpointRegistered=(_0x44dde4,_0x4bee8c)=>{const _0x10eee8=a0_0x295f06,_0x4211f0={'HEKGn':_0x10eee8(0x26a),'wSVUO':'debug'},_0x4877a0={'event':_0x4211f0[_0x10eee8(0x1f5)],'endpoint':_0x44dde4,'route':_0x4bee8c},_0x6a1976=_0x10eee8(0x200)+_0x44dde4+':\x20'+_0x4bee8c;logger[_0x10eee8(0x232)](_0x4877a0,_0x6a1976),writeToFileLog({..._0x4877a0,'level':_0x4211f0[_0x10eee8(0x244)],'msg':_0x6a1976,'time':new Date()['toISOString']()},_0x10eee8(0x232));},logDatabaseConfig=_0x2c5d64=>{const _0x5ab379=a0_0x295f06,_0x1878a1={'EKREQ':'database_config','eKmew':function(_0x2216b0,_0x4c0f34,_0x43bd0a){return _0x2216b0(_0x4c0f34,_0x43bd0a);},'CNnjR':'debug'},_0x1583ba={'event':_0x1878a1['EKREQ'],'host':_0x2c5d64[_0x5ab379(0x227)],'port':_0x2c5d64[_0x5ab379(0x1f8)],'database':_0x2c5d64[_0x5ab379(0x299)],'type':_0x2c5d64[_0x5ab379(0x21c)],'user':_0x2c5d64['user']},_0x419f58=_0x5ab379(0x260)+_0x2c5d64['type']+_0x5ab379(0x201)+_0x2c5d64[_0x5ab379(0x227)]+':'+_0x2c5d64[_0x5ab379(0x1f8)]+'/'+_0x2c5d64[_0x5ab379(0x299)];logger['debug'](_0x1583ba,_0x419f58),_0x1878a1[_0x5ab379(0x241)](writeToFileLog,{..._0x1583ba,'level':_0x5ab379(0x232),'msg':_0x419f58,'time':new Date()['toISOString']()},_0x1878a1['CNnjR']);},logRequest=(_0x3ecc7a,_0x3f2ed6,_0x4dd696)=>{const _0x24a03e=a0_0x295f06,_0x32cf2d={'PpWKj':function(_0x5b0a24,_0x2169e4){return _0x5b0a24>=_0x2169e4;},'JwtOl':'warn','mmuLR':function(_0x39d8b8,_0x3ca951,_0x4ceff7){return _0x39d8b8(_0x3ca951,_0x4ceff7);}},_0x214b44={'event':'http_request','method':_0x3ecc7a['method'],'path':_0x3ecc7a[_0x24a03e(0x268)],'statusCode':_0x3f2ed6['statusCode'],'durationMs':_0x4dd696,'ip':_0x3ecc7a['ip']},_0x55ea19=_0x3ecc7a[_0x24a03e(0x257)]+'\x20'+_0x3ecc7a[_0x24a03e(0x268)]+'\x20-\x20'+_0x3f2ed6['statusCode']+'\x20('+_0x4dd696+_0x24a03e(0x208);let _0x335bbe=_0x24a03e(0x285);if(_0x32cf2d[_0x24a03e(0x247)](_0x3f2ed6['statusCode'],0x1f4))_0x335bbe=_0x24a03e(0x220),logger[_0x24a03e(0x220)](_0x214b44,_0x55ea19);else _0x32cf2d[_0x24a03e(0x247)](_0x3f2ed6['statusCode'],0x190)?(_0x335bbe=_0x32cf2d[_0x24a03e(0x23a)],logger['warn'](_0x214b44,_0x55ea19)):logger[_0x24a03e(0x285)](_0x214b44,_0x55ea19);_0x32cf2d[_0x24a03e(0x276)](writeToFileLog,{..._0x214b44,'level':_0x335bbe,'msg':_0x55ea19,'time':new Date()['toISOString']()},_0x335bbe);},SENSITIVE_PARAM_PATTERNS=[a0_0x295f06(0x22a),a0_0x295f06(0x235),'pwd',a0_0x295f06(0x1e8),a0_0x295f06(0x22d),a0_0x295f06(0x267),'secret','api_secret',a0_0x295f06(0x20d),'api_key','credential','credentials','pin','otp',a0_0x295f06(0x1e7),a0_0x295f06(0x1ea)],redactSensitiveParams=(_0x39f190,_0x34550f)=>{const _0x50984d=a0_0x295f06,_0x5bf855={'ooIsa':_0x50984d(0x240),'iEUbH':function(_0x4dfe26,_0xc9326e){return _0x4dfe26>_0xc9326e;},'Hljna':_0x50984d(0x234),'Ykimu':function(_0x435503,_0xde81fa){return _0x435503===_0xde81fa;}};if(!_0x39f190||_0x5bf855['Ykimu'](_0x39f190['length'],0x0))return _0x39f190;const _0x2381ee=_0x34550f['toLowerCase'](),_0x5bdba3=_0x2381ee[_0x50984d(0x292)](/\(([^)]+)\)\s*values/i);let _0x6716a6=[];_0x5bdba3&&(_0x6716a6=_0x5bdba3[0x1]['split'](',')['map'](_0x170887=>_0x170887[_0x50984d(0x251)]()['toLowerCase']()));const _0x536275=_0x2381ee[_0x50984d(0x292)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x536275){const _0x26de91=_0x536275[0x1],_0x365160=_0x26de91[_0x50984d(0x292)](/(\w+)\s*=/g);_0x365160&&(_0x6716a6=_0x365160['map'](_0x3bf081=>_0x3bf081['replace'](/\s*=/,'')[_0x50984d(0x251)]()[_0x50984d(0x222)]()));}return _0x39f190['map']((_0x4522e3,_0x5412d1)=>{const _0x22b3e6=_0x50984d;if(_0x6716a6[_0x5412d1]){const _0x24e807=_0x6716a6[_0x5412d1],_0x5d4e8c=SENSITIVE_PARAM_PATTERNS['some'](_0x3caab0=>_0x24e807[_0x22b3e6(0x25c)](_0x3caab0));if(_0x5d4e8c)return _0x5bf855['ooIsa'];}if(typeof _0x4522e3===_0x22b3e6(0x27d)&&_0x5bf855[_0x22b3e6(0x223)](_0x4522e3[_0x22b3e6(0x236)],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x4522e3)&&_0x4522e3[_0x22b3e6(0x25c)]('.'))return _0x5bf855['Hljna'];if(/^[a-fA-F0-9]{32,}$/['test'](_0x4522e3))return _0x22b3e6(0x25e);}return _0x4522e3;});},parseQueryMetadata=_0x237584=>{const _0x10f261=a0_0x295f06,_0x33d3c9={'HaIhF':'INSERT','YwGrR':_0x10f261(0x281),'fbZPw':_0x10f261(0x22c),'SlTOt':_0x10f261(0x272),'ApZmR':'TRANSACTION_BEGIN','MpoJI':'ROLLBACK','gOptV':_0x10f261(0x24b),'ztjJe':'DDL_ALTER'},_0x1773e2=_0x237584[_0x10f261(0x251)](),_0x3842f9=_0x1773e2[_0x10f261(0x205)]();let _0x23178c='UNKNOWN',_0x4ab41d=null;if(_0x3842f9[_0x10f261(0x21f)]('SELECT')){_0x23178c=_0x10f261(0x202);const _0x73c7e4=_0x1773e2[_0x10f261(0x292)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4ab41d=_0x73c7e4?_0x73c7e4[0x1]:null;}else{if(_0x3842f9[_0x10f261(0x21f)](_0x33d3c9[_0x10f261(0x21a)])){_0x23178c=_0x33d3c9['HaIhF'];const _0xce3a24=_0x1773e2[_0x10f261(0x292)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4ab41d=_0xce3a24?_0xce3a24[0x1]:null;}else{if(_0x3842f9[_0x10f261(0x21f)](_0x10f261(0x281))){_0x23178c=_0x33d3c9[_0x10f261(0x23f)];const _0xa4ebe2=_0x1773e2[_0x10f261(0x292)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4ab41d=_0xa4ebe2?_0xa4ebe2[0x1]:null;}else{if(_0x3842f9[_0x10f261(0x21f)]('DELETE')){_0x23178c='DELETE';const _0x4532d2=_0x1773e2[_0x10f261(0x292)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x4ab41d=_0x4532d2?_0x4532d2[0x1]:null;}else{if(_0x3842f9[_0x10f261(0x21f)](_0x33d3c9[_0x10f261(0x246)])||_0x3842f9['startsWith'](_0x33d3c9['SlTOt']))_0x23178c=_0x33d3c9['ApZmR'];else{if(_0x3842f9[_0x10f261(0x21f)](_0x10f261(0x1f2)))_0x23178c=_0x10f261(0x1e6);else{if(_0x3842f9['startsWith'](_0x33d3c9['MpoJI']))_0x23178c='TRANSACTION_ROLLBACK';else{if(_0x3842f9['startsWith'](_0x10f261(0x1eb)))_0x23178c=_0x10f261(0x248);else{if(_0x3842f9['startsWith'](_0x33d3c9[_0x10f261(0x239)]))_0x23178c=_0x33d3c9[_0x10f261(0x1f3)];else _0x3842f9['startsWith'](_0x10f261(0x216))&&(_0x23178c='DDL_DROP');}}}}}}}}return{'type':_0x23178c,'table':_0x4ab41d};},startQueryTimer=()=>{const _0x1aa763={'sLhYm':function(_0x306aab,_0x1099cb){return _0x306aab+_0x1099cb;}},_0xe3ab5=process['hrtime']();return()=>{const _0x41c4a4=a0_0x2fdb,[_0xe52237,_0x245644]=process[_0x41c4a4(0x286)](_0xe3ab5);return parseFloat(_0x1aa763[_0x41c4a4(0x28e)](_0xe52237*0x3e8,_0x245644/0xf4240)[_0x41c4a4(0x23b)](0x2));};},logQuery=(_0xb9bfb5,_0xdc0acb=[],_0x28b8a7={})=>{const _0x4bc93d=a0_0x295f06,_0x4cdcfb={'povzO':'db_query','pMQAe':'DB\x20Query','Ftprx':'postgresql','kQGwU':function(_0x228cfc,_0x434713){return _0x228cfc(_0x434713);},'dFmRm':'sql_query','pbBhw':function(_0x335e61,_0x50e57d){return _0x335e61>_0x50e57d;},'vUPhL':function(_0x55e72a,_0x190ab8,_0x4c684c){return _0x55e72a(_0x190ab8,_0x4c684c);},'Iwmqg':function(_0x27e489,_0x2ea82f){return _0x27e489||_0x2ea82f;},'fpIVW':function(_0x5bbbc6,_0x305821){return _0x5bbbc6!==_0x305821;},'OwaYM':'debug','UFzrh':_0x4bc93d(0x211),'FBsOr':'info'};if(!sqlLogEnabled){logger[_0x4bc93d(0x232)]({'event':_0x4cdcfb[_0x4bc93d(0x22b)],'query':_0xb9bfb5['substring'](0x0,0xc8),'paramCount':_0xdc0acb[_0x4bc93d(0x236)]},_0x4cdcfb[_0x4bc93d(0x259)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x4cdcfb[_0x4bc93d(0x266)]}=_0x28b8a7,{type:_0x5b2b56,table:_0x2415df}=_0x4cdcfb[_0x4bc93d(0x207)](parseQueryMetadata,_0xb9bfb5),_0x25235e={'event':_0x4cdcfb['dFmRm'],'queryType':_0x5b2b56,'table':_0x2415df,'query':_0xb9bfb5,'paramCount':_0xdc0acb['length'],'dbType':dbType};sqlLogParams&&_0x4cdcfb[_0x4bc93d(0x1ec)](_0xdc0acb[_0x4bc93d(0x236)],0x0)&&(_0x25235e[_0x4bc93d(0x26d)]=_0x4cdcfb['vUPhL'](redactSensitiveParams,_0xdc0acb,_0xb9bfb5));duration!==null&&(_0x25235e[_0x4bc93d(0x291)]=duration,_0x25235e['isSlow']=_0x4cdcfb[_0x4bc93d(0x1ec)](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x25235e[_0x4bc93d(0x1ff)]=rowsAffected);const _0x357ae6=_0x4cdcfb[_0x4bc93d(0x1fa)](_0x2415df,'unknown');let _0x2d7521='['+_0x5b2b56+']\x20'+_0x357ae6;duration!==null&&(_0x2d7521+='\x20('+duration+_0x4bc93d(0x208));const _0x55303e=_0x4cdcfb['fpIVW'](duration,null)&&_0x4cdcfb['pbBhw'](duration,sqlLogSlowThreshold);let _0x52c923=_0x4cdcfb['OwaYM'];if(_0x55303e)_0x2d7521+=_0x4cdcfb['UFzrh'],_0x52c923=_0x4bc93d(0x24d),logger['warn'](_0x25235e,_0x2d7521);else sqlLogLevel==='info'?(_0x52c923=_0x4cdcfb[_0x4bc93d(0x27b)],logger[_0x4bc93d(0x285)](_0x25235e,_0x2d7521)):logger['debug'](_0x25235e,_0x2d7521);writeToFileLog({..._0x25235e,'level':_0x52c923,'msg':_0x2d7521,'time':new Date()[_0x4bc93d(0x279)]()},_0x52c923);},logTransaction=(_0x3adb91,_0x12926b)=>{const _0x59cd3a=a0_0x295f06,_0x1de185={'ykQFw':'db_transaction','cdMAw':function(_0x10c762,_0x19f4bc,_0x218d37){return _0x10c762(_0x19f4bc,_0x218d37);}},_0x111308={'event':_0x1de185['ykQFw'],'status':_0x3adb91,'queryCount':_0x12926b},_0x3f008f=_0x59cd3a(0x1f0)+_0x3adb91;logger[_0x59cd3a(0x232)](_0x111308,_0x3f008f),_0x1de185['cdMAw'](writeToFileLog,{..._0x111308,'level':_0x59cd3a(0x232),'msg':_0x3f008f,'time':new Date()[_0x59cd3a(0x279)]()},'debug');},redactObject=_0x377037=>{const _0x127eb2=a0_0x295f06,_0x354305={'CxHcz':_0x127eb2(0x1ed),'hIbCy':'password','SGsQk':'pwd','uYTYm':_0x127eb2(0x1e8),'cGmHV':_0x127eb2(0x1f7),'LxImQ':'cvv','eDiuJ':'ssn','rWYhr':'pin','jrutq':_0x127eb2(0x240)};if(!_0x377037||typeof _0x377037!==_0x354305[_0x127eb2(0x20c)])return _0x377037;const _0x8fe931=[_0x354305['hIbCy'],_0x127eb2(0x235),_0x354305['SGsQk'],_0x354305[_0x127eb2(0x221)],'secret',_0x127eb2(0x20d),_0x127eb2(0x23c),_0x354305['cGmHV'],'creditcard','credit_card',_0x354305['LxImQ'],_0x354305['eDiuJ'],_0x354305[_0x127eb2(0x289)],_0x127eb2(0x1e7),_0x127eb2(0x1ea),_0x127eb2(0x267),'access_token'],_0x20c0da=Array[_0x127eb2(0x1ee)](_0x377037)?[..._0x377037]:{..._0x377037};for(const _0x23cf56 of Object[_0x127eb2(0x219)](_0x20c0da)){const _0x35ea37=_0x23cf56[_0x127eb2(0x222)]();if(_0x8fe931['some'](_0x1dd711=>_0x35ea37[_0x127eb2(0x25c)](_0x1dd711)))_0x20c0da[_0x23cf56]=_0x354305[_0x127eb2(0x21e)];else typeof _0x20c0da[_0x23cf56]===_0x354305[_0x127eb2(0x20c)]&&_0x20c0da[_0x23cf56]!==null&&(_0x20c0da[_0x23cf56]=redactObject(_0x20c0da[_0x23cf56]));}return _0x20c0da;},logError=(_0x328508,_0x338df8={},_0x49d3a6=null)=>{const _0x407ac8=a0_0x295f06,_0x53bd45={'LguMH':'error','ncqXx':function(_0x407797,_0x46f441,_0xcd7ae1){return _0x407797(_0x46f441,_0xcd7ae1);}},_0x23b019={'event':_0x53bd45['LguMH'],'errorName':_0x328508[_0x407ac8(0x1f6)]||_0x407ac8(0x284),'errorMessage':_0x328508['message'],'errorCode':_0x328508['code']||null,'stack':_0x328508[_0x407ac8(0x26c)],..._0x338df8},_0x9f37ad=_0x49d3a6||'Error:\x20'+_0x328508[_0x407ac8(0x28d)];logger[_0x407ac8(0x220)](_0x23b019,_0x9f37ad),_0x53bd45[_0x407ac8(0x297)](writeToFileLog,{..._0x23b019,'level':_0x407ac8(0x220),'msg':_0x9f37ad,'time':new Date()['toISOString']()},_0x53bd45[_0x407ac8(0x283)]);},logFatalError=(_0xaa541f,_0x1429ec={},_0x312db4=null)=>{const _0x7ff315=a0_0x295f06,_0x24eff8={'qWbfH':function(_0x4a4664,_0x47be33,_0x5535fc){return _0x4a4664(_0x47be33,_0x5535fc);}},_0x4bcdd6={'event':_0x7ff315(0x217),'errorName':_0xaa541f['name']||'Error','errorMessage':_0xaa541f[_0x7ff315(0x28d)],'errorCode':_0xaa541f[_0x7ff315(0x25a)]||null,'stack':_0xaa541f['stack'],'severity':'CRITICAL',..._0x1429ec},_0x273cb5=_0x312db4||_0x7ff315(0x20a)+_0xaa541f['message'];logger['fatal'](_0x4bcdd6,_0x273cb5),_0x24eff8['qWbfH'](writeToFileLog,{..._0x4bcdd6,'level':'fatal','msg':_0x273cb5,'time':new Date()['toISOString']()},_0x7ff315(0x220));},logHttpError=(_0x4da017,_0x132606,_0x220a68={})=>{const _0xf7577f=a0_0x295f06,_0x5868da={'ARQJn':'user-agent','nQMxq':function(_0x16e979,_0x204aca){return _0x16e979(_0x204aca);},'kogEA':'error','AVCwV':'warn'},_0x1ad61f={'event':'http_error','errorName':_0x4da017['name']||'Error','errorMessage':_0x4da017[_0xf7577f(0x28d)],'errorCode':_0x4da017['code']||_0x4da017[_0xf7577f(0x231)]||0x1f4,'stack':_0x4da017[_0xf7577f(0x26c)],'method':_0x132606?.['method'],'url':_0x132606?.['url']||_0x132606?.[_0xf7577f(0x262)],'path':_0x132606?.[_0xf7577f(0x268)],'ip':_0x132606?.['ip']||_0x132606?.['connection']?.[_0xf7577f(0x27c)],'userAgent':_0x132606?.['get']?.(_0x5868da[_0xf7577f(0x263)]),'requestId':_0x132606?.['id']||_0x132606?.[_0xf7577f(0x1f4)]?.['x-request-id'],'body':_0x132606?.['body']?_0x5868da[_0xf7577f(0x233)](redactObject,_0x132606['body']):undefined,'query':_0x132606?.[_0xf7577f(0x258)],..._0x220a68},_0x1ec8b6=_0x4da017[_0xf7577f(0x231)]||_0x4da017[_0xf7577f(0x215)]||0x1f4,_0x3c0a61='HTTP\x20'+_0x1ec8b6+':\x20'+_0x4da017['message'];_0x1ec8b6>=0x1f4?logger['error'](_0x1ad61f,_0x3c0a61):logger['warn'](_0x1ad61f,_0x3c0a61),writeToFileLog({..._0x1ad61f,'level':_0x1ec8b6>=0x1f4?_0x5868da['kogEA']:'warn','msg':_0x3c0a61,'time':new Date()[_0xf7577f(0x279)]()},_0x1ec8b6>=0x1f4?_0x5868da['kogEA']:_0x5868da['AVCwV']);},logUncaughtError=(_0x2560a3,_0x1dc4c1)=>{const _0x583501=a0_0x295f06,_0x55e298={'bqAqx':function(_0x111cd1,_0x46b6b1){return _0x111cd1(_0x46b6b1);},'FhxRL':function(_0xa9521e,_0x1e2940,_0x48dc2c){return _0xa9521e(_0x1e2940,_0x48dc2c);},'GWeKs':_0x583501(0x278),'udSzy':_0x583501(0x220)},_0x520788={'event':_0x2560a3,'errorName':_0x1dc4c1?.[_0x583501(0x1f6)]||'Error','errorMessage':_0x1dc4c1?.['message']||_0x55e298[_0x583501(0x255)](String,_0x1dc4c1),'errorCode':_0x1dc4c1?.['code']||null,'stack':_0x1dc4c1?.[_0x583501(0x26c)],'severity':_0x583501(0x1e5),'processId':process['pid'],'memoryUsage':process[_0x583501(0x230)](),'uptime':process['uptime']()},_0x248473='['+_0x2560a3[_0x583501(0x205)]()+']\x20'+(_0x1dc4c1?.['message']||_0x1dc4c1);logger[_0x583501(0x278)](_0x520788,_0x248473),_0x55e298['FhxRL'](writeToFileLog,{..._0x520788,'level':_0x55e298['GWeKs'],'msg':_0x248473,'time':new Date()['toISOString']()},_0x55e298['udSzy']);},setupGlobalErrorHandlers=()=>{const _0x40bd5e=a0_0x295f06,_0x364734={'oAVUI':function(_0x4a86f5,_0x4d67d6,_0x2ecde4){return _0x4a86f5(_0x4d67d6,_0x2ecde4);},'UVZes':_0x40bd5e(0x225),'OywLo':function(_0x515835,_0x2b6194){return _0x515835 instanceof _0x2b6194;},'yIRSQ':_0x40bd5e(0x218),'RaqVU':_0x40bd5e(0x269),'xFbDV':'warning','BAJpd':_0x40bd5e(0x249),'rbaPC':'info'};process['on']('uncaughtException',_0x552a74=>{_0x364734['oAVUI'](logUncaughtError,_0x364734['UVZes'],_0x552a74),setTimeout(()=>{process['exit'](0x1);},0x3e8);}),process['on'](_0x364734[_0x40bd5e(0x275)],(_0x332ccb,_0x26d6f7)=>{const _0x545870=_0x40bd5e,_0x17e8a4=_0x364734[_0x545870(0x1fb)](_0x332ccb,Error)?_0x332ccb:new Error(String(_0x332ccb));logUncaughtError(_0x364734[_0x545870(0x275)],_0x17e8a4);}),process['on'](_0x364734['xFbDV'],_0x42fde3=>{const _0x155ceb=_0x40bd5e;logger['warn']({'event':_0x364734[_0x155ceb(0x224)],'name':_0x42fde3[_0x155ceb(0x1f6)],'message':_0x42fde3['message'],'stack':_0x42fde3['stack']},'Process\x20Warning:\x20'+_0x42fde3[_0x155ceb(0x28d)]);});const _0x1e4148={'event':'global_error_handlers_setup'},_0x59efcd=_0x364734[_0x40bd5e(0x287)];logger[_0x40bd5e(0x285)](_0x1e4148,_0x59efcd),writeToFileLog({..._0x1e4148,'level':_0x364734['rbaPC'],'msg':_0x59efcd,'time':new Date()[_0x40bd5e(0x279)]()},'info');},createErrorHandlerMiddleware=()=>{const _0x3ec571={'BSMnI':function(_0x5a616d,_0x13df4d){return _0x5a616d>=_0x13df4d;}};return(_0x40958f,_0x1cee94,_0x393dfb,_0x48bb5f)=>{const _0x4bbafb=a0_0x2fdb;logHttpError(_0x40958f,_0x1cee94);const _0x5afcaa=_0x40958f[_0x4bbafb(0x231)]||_0x40958f['status']||0x1f4;_0x393dfb['status'](_0x5afcaa)['json']({'success':![],'error':_0x3ec571['BSMnI'](_0x5afcaa,0x1f4)?_0x4bbafb(0x271):_0x40958f[_0x4bbafb(0x28d)],'requestId':_0x1cee94['id']||_0x1cee94[_0x4bbafb(0x1f4)]?.['x-request-id']||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x315ecc=a0_0x4c49;(function(_0x2ac159,_0x2000e3){const _0xa9dd52=a0_0x4c49,_0x12f303=_0x2ac159();while(!![]){try{const _0x215f19=-parseInt(_0xa9dd52(0x6b))/0x1*(-parseInt(_0xa9dd52(0x75))/0x2)+parseInt(_0xa9dd52(0x68))/0x3*(-parseInt(_0xa9dd52(0x6d))/0x4)+parseInt(_0xa9dd52(0x67))/0x5*(parseInt(_0xa9dd52(0x73))/0x6)+parseInt(_0xa9dd52(0x79))/0x7+-parseInt(_0xa9dd52(0x6a))/0x8*(parseInt(_0xa9dd52(0x8e))/0x9)+parseInt(_0xa9dd52(0x82))/0xa*(-parseInt(_0xa9dd52(0x66))/0xb)+parseInt(_0xa9dd52(0x89))/0xc;if(_0x215f19===_0x2000e3)break;else _0x12f303['push'](_0x12f303['shift']());}catch(_0x2f79ed){_0x12f303['push'](_0x12f303['shift']());}}}(a0_0x40a1,0xbb46f));function a0_0x40a1(){const _0x40f5e6=['CMvWBgfJzq','DgfIBgvoyw1L','nZqZmJq4mNrzshHyqG','y29SDw1UrM9YBwf0CW','mti0ndi3nNjJELrysG','y2XLyxi','CKfcz0O','CgfYC2u','mtyYntq1nMXJt25mua','y2fJAgu','lwv4Cg9YDa','Cgf0Aa','lI9SB2DNzxi','AM9PBG','C2v0','ugf5Bg9HzcbJywnOzsbJBgvHCMvK','rMfPBgvKihrVigXVywqGCgf5Bg9HzcbIEsbUyw1L','ntbcBvDUB3q','CMvHzezPBgu','zxjYB3i','zMLLBgrmywjLBhm','y2XLyxjdywnOzq','Cgf5Bg9HzerPCG','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','mtmYmJiZmZj5uKvcv08','Bg9HzfbHEwXVywq','z2v0','Cgf5Bg9HzdO','zgvIDwC','mte3yNfbzNjk','lMPZB24','mJe4mJy3nunrEuDkBG','nvv2ChnODW','ntm0odfXyKjJCNq','AgfZ','nJa5mJCYywjABufl','mvvSugPHzq','Aw5MBW','mtaWrxzxB3Lw','zMLLBgroyw1L','z2v0rxHWB3j0q29UzMLN','Bg9HzfbHEwXVywrcEu5HBwu'];a0_0x40a1=function(){return _0x40f5e6;};return a0_0x40a1();}const fs=require('fs')['promises'],path=require(a0_0x315ecc(0x7c)),{logger}=require(a0_0x315ecc(0x7d));function a0_0x4c49(_0x138252,_0x354bb7){_0x138252=_0x138252-0x65;const _0x40a154=a0_0x40a1();let _0x4c4983=_0x40a154[_0x138252];if(a0_0x4c49['HybgRf']===undefined){var _0x5a7c30=function(_0x5adf28){const _0xcd28f8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1a4f3d='',_0x208c57='';for(let _0x43f73d=0x0,_0x1559fa,_0x162120,_0x4d73df=0x0;_0x162120=_0x5adf28['charAt'](_0x4d73df++);~_0x162120&&(_0x1559fa=_0x43f73d%0x4?_0x1559fa*0x40+_0x162120:_0x162120,_0x43f73d++%0x4)?_0x1a4f3d+=String['fromCharCode'](0xff&_0x1559fa>>(-0x2*_0x43f73d&0x6)):0x0){_0x162120=_0xcd28f8['indexOf'](_0x162120);}for(let _0x5ab95b=0x0,_0x35bdd6=_0x1a4f3d['length'];_0x5ab95b<_0x35bdd6;_0x5ab95b++){_0x208c57+='%'+('00'+_0x1a4f3d['charCodeAt'](_0x5ab95b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x208c57);};a0_0x4c49['pvWjqd']=_0x5a7c30,a0_0x4c49['ZIPblS']={},a0_0x4c49['HybgRf']=!![];}const _0x450cb2=_0x40a154[0x0],_0x5d6dfe=_0x138252+_0x450cb2,_0x88d3d9=a0_0x4c49['ZIPblS'][_0x5d6dfe];return!_0x88d3d9?(_0x4c4983=a0_0x4c49['pvWjqd'](_0x4c4983),a0_0x4c49['ZIPblS'][_0x5d6dfe]=_0x4c4983):_0x4c4983=_0x88d3d9,_0x4c4983;}class PayloadLoader{constructor(){const _0x138753=a0_0x315ecc;this[_0x138753(0x87)]=path[_0x138753(0x7e)](__dirname,'../../payload'),this['cache']=new Map();}async[a0_0x315ecc(0x8a)](_0x165be7,_0x306684){const _0x33a41b=a0_0x315ecc,_0x838fdd={'rABgJ':'Payload\x20loaded\x20successfully','vslFO':'payload_load_error','gOZyV':'Failed\x20to\x20load\x20payload'},_0x289f11=_0x165be7+':'+_0x306684;if(this[_0x33a41b(0x7a)][_0x33a41b(0x69)](_0x289f11))return this[_0x33a41b(0x7a)][_0x33a41b(0x8b)](_0x289f11);const _0x69c7dc=path['join'](this['payloadDir'],_0x165be7+'_'+_0x306684+_0x33a41b(0x65));try{const _0x5d079a=await fs[_0x33a41b(0x83)](_0x69c7dc,'utf8'),_0x26a125=JSON['parse'](_0x5d079a);return this['cache']['set'](_0x289f11,_0x26a125),logger['debug']({'event':'payload_loaded','project':_0x165be7,'resource':_0x306684},_0x838fdd[_0x33a41b(0x77)]),_0x26a125;}catch(_0x1c84bf){logger['error']({'event':_0x838fdd['vslFO'],'project':_0x165be7,'resource':_0x306684,'error':_0x1c84bf['message']},_0x838fdd['gOZyV']);throw new Error('Payload\x20not\x20found:\x20'+_0x165be7+'_'+_0x306684);}}async[a0_0x315ecc(0x70)](_0x19f026){const _0x1b7eb0=a0_0x315ecc,_0x29c9d6={'YVwGu':'payload_loaded','Ibask':'Payload\x20loaded\x20successfully\x20by\x20name','dNQJj':'payload_load_error'},_0x31e7c3=_0x1b7eb0(0x8c)+_0x19f026;if(this['cache'][_0x1b7eb0(0x69)](_0x31e7c3))return this[_0x1b7eb0(0x7a)]['get'](_0x31e7c3);const _0x3dff75=path[_0x1b7eb0(0x7e)](this['payloadDir'],_0x19f026+_0x1b7eb0(0x65));try{const _0x41b236=await fs['readFile'](_0x3dff75,'utf8'),_0x3c1844=JSON[_0x1b7eb0(0x78)](_0x41b236);return this['cache'][_0x1b7eb0(0x7f)](_0x31e7c3,_0x3c1844),logger[_0x1b7eb0(0x8d)]({'event':_0x29c9d6['YVwGu'],'payloadName':_0x19f026},_0x29c9d6['Ibask']),_0x3c1844;}catch(_0x4f7cde){logger[_0x1b7eb0(0x84)]({'event':_0x29c9d6['dNQJj'],'payloadName':_0x19f026,'error':_0x4f7cde['message']},_0x1b7eb0(0x81));throw new Error('Payload\x20not\x20found:\x20'+_0x19f026);}}['isActionEnabled'](_0x3e6500,_0x2af38f){return _0x3e6500['action']&&_0x3e6500['action'][_0x2af38f]===!![];}[a0_0x315ecc(0x6f)](_0x134f5d){const _0x412aba=a0_0x315ecc;return{'columns':_0x134f5d[_0x412aba(0x6e)]||[],'filename':_0x134f5d[_0x412aba(0x72)][_0x412aba(0x71)]('.','-')+_0x412aba(0x7b),'datatablesQuery':_0x134f5d['datatablesQuery']||null,'columnFormats':_0x134f5d[_0x412aba(0x74)]||null,'fieldLabels':_0x134f5d[_0x412aba(0x85)]||null};}[a0_0x315ecc(0x86)](){const _0x32320e=a0_0x315ecc;this[_0x32320e(0x7a)][_0x32320e(0x76)](),logger[_0x32320e(0x6c)]({'event':_0x32320e(0x88)},_0x32320e(0x80));}}module['exports']=new PayloadLoader();
|