@restforgejs/platform 5.1.21 → 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/catalog/dashboard.js +1 -1
- package/generators/cli/catalog/dbschema.js +3 -3
- package/generators/cli/catalog/field-validation.js +1 -1
- package/generators/cli/catalog/query-declarative.js +1 -1
- package/generators/cli/config/clear-default.js +1 -1
- package/generators/cli/config/get-default.js +1 -1
- package/generators/cli/config/list.js +1 -1
- package/generators/cli/config/schema.js +1 -1
- package/generators/cli/config/set-default.js +2 -2
- package/generators/cli/config/template.js +1 -1
- package/generators/cli/dashboard/create.js +7 -7
- package/generators/cli/data/pull.js +12 -12
- package/generators/cli/data/push.js +9 -9
- package/generators/cli/endpoint/create.js +11 -11
- package/generators/cli/endpoint/list.js +3 -3
- package/generators/cli/fast-track.js +65 -12
- package/generators/cli/init.js +2 -2
- package/generators/cli/kafka/consumer-create.js +5 -5
- package/generators/cli/key/generate.js +3 -3
- package/generators/cli/key/list.js +2 -2
- package/generators/cli/key/revoke.js +3 -3
- package/generators/cli/payload/diff.js +3 -3
- package/generators/cli/payload/generate.js +5 -5
- package/generators/cli/payload/sync.js +5 -5
- package/generators/cli/payload/validate.js +3 -3
- package/generators/cli/processor/create.js +7 -7
- package/generators/cli/processor/list.js +3 -3
- package/generators/cli/project/delete.js +2 -2
- package/generators/cli/project/list.js +1 -1
- package/generators/cli/query/validate.js +3 -3
- package/generators/cli/schema/apply.js +13 -13
- package/generators/cli/schema/describe.js +6 -6
- package/generators/cli/schema/diff.js +10 -10
- package/generators/cli/schema/generate-ddl.js +11 -11
- package/generators/cli/schema/init.js +95 -95
- package/generators/cli/schema/introspect.js +8 -8
- package/generators/cli/schema/list.js +6 -6
- package/generators/cli/schema/migrate.js +91 -13
- package/generators/cli/schema/models.js +6 -6
- package/generators/cli/schema/template.js +223 -222
- package/generators/cli/schema/validate.js +6 -6
- package/generators/cli/test/generate.js +6 -6
- package/generators/lib/dbschema-kit/introspect-mapper.js +20 -0
- 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
|
-
const a0_0x4c3c88=a0_0x907d;function a0_0x12ad(){const _0x134748=['zxzHBa','nJzqDLr0t2q','D3jPDgvFBg9JA193ywL0Aw5N','x3jLDhj5q291BNq','BfziC3K','zxHWB3j0CW','x3jLDhj5rgvSyxK','Bg9JA19LEhrLBMrLza','ENnWCxm','Bg9JA19LEhrLBMrFzxjYB3i','BwvZC2fNzq','CMvHza','ntKWywD4Bfnm','Cg93','te9ds19esvnuuKLcvvrfrf9uveW','Bg9JA19JB25MAwDFAw5PDa','x3n0CMf0zwD5','uKvbrcbSB2nRigvYCM9Y','zgvMyxvSDfruta','v1jjveuGBg9JAYbYzwPLy3rLzcaTihjLy29YzcbIDxn5','ndi3BKjJuNjO','nJiWodrWu0vuzLC','CMy6Bg9JAZO','v1jjveuGBg9JAYbLCNjVCG','mJCWmdq5mNDABLbUAG','CMvHzf9SB2nRx2vYCM9Y','zw5HyMXLza','DKDpv0m','sgvyyLe','te9ds19esvnuuKLcvvrfrf9ftKfcteve','zxjYB3i','CMv0CNK','D3jPDgu','mNWZFdD8nhWXFdb8nxW2','AvHrCLK','zgvS','uKvbrcbSB2nRigfJCxvPCMvK','cIaGicaGicaGAwyGCMvKAxmUy2fSBcGIz2v0iIWGs0vzu1SXxsKGpt0GqvjhvLSXxsb0AgvUcIaGicaGicaGicbYzxr1CM4GCMvKAxmUy2fSBcGIzgvSiIWGs0vzu1SXxsKkicaGicaGicbLBhnLcIaGicaGicaGicbYzxr1CM4GmaOGicaGicaGigvUzaOGicaGica','tg9JAYbuveWGzxH0zw5Kzwq','mtKZnZGZnxzLwvz4vW','CMvHzf9SB2nRx3rPBwvVDxq','Bg9JA19YzwXLyxnLx25VDf9VD25LCG','D2fYBG','tLvSEM0','v2fPDgLUzYbMB3iGBg9JA3mGDg8GCMvSzwfZzq','Bgnjrvq','x2LUAxrdB25MAwC','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','lI9SB2DNzxi','CKz1wge','AuLVB0S','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','D3jPDgvFBg9JA19YzwPLy3rLza','mtiZnZHOyLnsy1u','uKjcEfC','x2vUC3vYzuLUAxrPywXPEMvK','ChjLzML4','D3jPDgvFBg9JA19YzwXLyxnLza','ywnXDwLYzvjLywrmB2nR','x2rLzMf1BhruveW','mJGYotG2q1vXzg5e','z2v0q2XPzw50','mty0mtzItfDZsLu','oty1veDWvNrN','zgvJCG','rNDgqKe','tLD0Au8','CMvHzf9SB2nRx3jLBgvHC2vK','z2v0','CMvHzf9SB2nRx2fJCxvPCMvK','x3bYzwzPEa','x3DVCMTLCKLK','D29YA2vYswq','CMv0CNLdB3vUDa','AxnfBMfIBgvK','te9ds19esvnuuKLcvvrfrf9tvfjbvevhwq','CuXkq04','v1jjveuGBg9JAYbYzwXLyxnLza','zgvIDwC','BM93','zxHnCxi','C3bSAxq','yNvPBgrmB2nRs2v5','C2XLzxa','x2LUAxrPywXPEMvK','vhvrv0K','D3jPDgvFBg9JA19LCNjVCG','mJa1mJm1thzjrfP4','uKvbrcbSB2nRihjLBgvHC2vK','z1DlzfG','CMv0CNLezwXHEq','zw52'];a0_0x12ad=function(){return _0x134748;};return a0_0x12ad();}(function(_0x367993,_0x527cd3){const _0x110ddf=a0_0x907d,_0x2e07f2=_0x367993();while(!![]){try{const _0x247fa3=parseInt(_0x110ddf(0x135))/0x1+parseInt(_0x110ddf(0xf2))/0x2*(-parseInt(_0x110ddf(0xde))/0x3)+-parseInt(_0x110ddf(0xf5))/0x4+-parseInt(_0x110ddf(0x11d))/0x5*(-parseInt(_0x110ddf(0x113))/0x6)+parseInt(_0x110ddf(0xf1))/0x7*(-parseInt(_0x110ddf(0x11c))/0x8)+-parseInt(_0x110ddf(0x104))/0x9+parseInt(_0x110ddf(0xe9))/0xa*(parseInt(_0x110ddf(0x11a))/0xb);if(_0x247fa3===_0x527cd3)break;else _0x2e07f2['push'](_0x2e07f2['shift']());}catch(_0x659aa5){_0x2e07f2['push'](_0x2e07f2['shift']());}}}(a0_0x12ad,0x67326));const redisClient=require('./redis-client'),{logger}=require(a0_0x4c3c88(0x10e)),{v4:uuidv4}=require('uuid');class LockManager{constructor(){const _0x3fa95f=a0_0x4c3c88,_0x84d22e={'ZBaOD':_0x3fa95f(0xfe)},_0x1df159=_0x84d22e['ZBaOD'][_0x3fa95f(0x12f)]('|');let _0x2e05b6=0x0;while(!![]){switch(_0x1df159[_0x2e05b6++]){case'0':this['_strategy']=null;continue;case'1':this[_0x3fa95f(0xe3)]=null;continue;case'2':this[_0x3fa95f(0x124)]=null;continue;case'3':this['_enabled']=null;continue;case'4':this['_retryCount']=null;continue;case'5':this[_0x3fa95f(0x125)]=null;continue;case'6':this['_initialized']=![];continue;case'7':this[_0x3fa95f(0x119)]=null;continue;}break;}}[a0_0x4c3c88(0x10b)](){const _0xba00e1=a0_0x4c3c88,_0x147281={'OTzND':_0xba00e1(0xf3),'mLpHw':_0xba00e1(0xec),'hYNVX':function(_0x46a49b,_0x37c94e,_0x4f7bc2){return _0x46a49b(_0x37c94e,_0x4f7bc2);},'qLJCN':'retry','VctWG':function(_0x3446ce,_0x2cb58a,_0x384e95){return _0x3446ce(_0x2cb58a,_0x384e95);}},_0x3d985d='0|5|3|6|8|7|4|1|2'['split']('|');let _0x28277b=0x0;while(!![]){switch(_0x3d985d[_0x28277b++]){case'0':this[_0xba00e1(0x124)]=_0x147281['OTzND'];continue;case'1':this['_initialized']=!![];continue;case'2':logger['info']({'event':_0x147281['mLpHw'],'enabled':this['_enabled'],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this[_0xba00e1(0xe3)],'workerId':this['_workerId']},'Lock\x20configuration\x20initialized\x20-\x20enabled:\x20'+this['_enabled']+',\x20strategy:\x20'+this['_strategy']);continue;case'3':this['_defaultTTL']=_0x147281['hYNVX'](parseInt,process[_0xba00e1(0x139)][_0xba00e1(0xeb)],0xa)||0xa;continue;case'4':this['_workerId']='worker-'+process['pid'];continue;case'5':this['_enabled']=process['env'][_0xba00e1(0xfa)]==='true';continue;case'6':this['_retryCount']=parseInt(process['env']['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3;continue;case'7':this[_0xba00e1(0xed)]=process[_0xba00e1(0x139)][_0xba00e1(0x129)]||_0x147281[_0xba00e1(0x12a)];continue;case'8':this['_retryDelay']=_0x147281['VctWG'](parseInt,process['env'][_0xba00e1(0x10c)],0xa)||0x64;continue;}break;}}[a0_0x4c3c88(0x115)](){const _0x5f521d=a0_0x4c3c88;!this[_0x5f521d(0x132)]&&this[_0x5f521d(0x10b)]();}get[a0_0x4c3c88(0x116)](){const _0x543450=a0_0x4c3c88;return this['_ensureInitialized'](),this[_0x543450(0x124)];}get[a0_0x4c3c88(0xf7)](){const _0x77b1eb=a0_0x4c3c88;return this[_0x77b1eb(0x115)](),this['_enabled'];}get[a0_0x4c3c88(0xef)](){const _0x4b1049=a0_0x4c3c88;return this[_0x4b1049(0x115)](),this['_defaultTTL'];}get[a0_0x4c3c88(0x127)](){const _0x20e0c7=a0_0x4c3c88;return this[_0x20e0c7(0x115)](),this[_0x20e0c7(0xe0)];}get[a0_0x4c3c88(0x138)](){const _0xd4c410=a0_0x4c3c88;return this['_ensureInitialized'](),this[_0xd4c410(0xe3)];}get['strategy'](){const _0x2d7c02=a0_0x4c3c88;return this[_0x2d7c02(0x115)](),this[_0x2d7c02(0xed)];}get[a0_0x4c3c88(0x126)](){const _0xdb343c=a0_0x4c3c88;return this[_0xdb343c(0x115)](),this['_workerId'];}[a0_0x4c3c88(0x130)](_0x3fe421){const _0x3b2768=a0_0x4c3c88,{module:_0xf3533,endpoint:_0xb2b8dc,lockType:_0x33a925,recordId:_0x31dad2}=_0x3fe421;if(_0x31dad2)return''+this[_0x3b2768(0x116)]+_0xf3533+':'+_0xb2b8dc+':'+_0x31dad2+':'+_0x33a925;return''+this['prefix']+_0xf3533+':'+_0xb2b8dc+':'+_0x33a925;}['generateLockValue'](){const _0x45c5b8=a0_0x4c3c88;return this['workerId']+':'+uuidv4()+':'+Date[_0x45c5b8(0x12d)]();}async[a0_0x4c3c88(0x118)](_0x596f72){const _0x21e8f7=a0_0x4c3c88,_0x483be0={'NWtiO':_0x21e8f7(0xfd),'IiNRd':_0x21e8f7(0x101),'UWxGx':'Waiting\x20for\x20WRITE\x20lock\x20to\x20release','exMqr':'READ\x20lock\x20acquire\x20timeout','NUlzm':_0x21e8f7(0xee)};if(!this[_0x21e8f7(0xf7)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x504ff6=this[_0x21e8f7(0x130)]({..._0x596f72,'lockType':_0x483be0[_0x21e8f7(0x120)]}),_0x394b9a=this['buildLockKey']({..._0x596f72,'lockType':'read'}),_0x2685b3=this['generateLockValue']();try{const _0xb8d73e=redisClient[_0x21e8f7(0x11b)]();for(let _0x14509e=0x0;_0x14509e<this[_0x21e8f7(0x127)];_0x14509e++){const _0x30bbae=await _0xb8d73e['get'](_0x504ff6);if(!_0x30bbae){await _0xb8d73e['incr'](_0x394b9a),await _0xb8d73e['expire'](_0x394b9a,this['defaultTTL']);const _0x435613=_0x394b9a+':'+_0x2685b3;return await _0xb8d73e['setex'](_0x435613,this['defaultTTL'],_0x2685b3),logger['debug']({'event':_0x21e8f7(0x123),'key':_0x394b9a,'value':_0x2685b3},_0x483be0['IiNRd']),{'success':!![],'lockValue':_0x2685b3,'lockKey':_0x435613};}logger['debug']({'event':'read_lock_waiting','writeKey':_0x504ff6,'attempt':_0x14509e},_0x483be0['UWxGx']),await this['sleep'](this[_0x21e8f7(0x138)]*Math['pow'](0x2,_0x14509e));}return logger['warn']({'event':_0x21e8f7(0x105),'key':_0x394b9a},_0x483be0[_0x21e8f7(0x12e)]),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x1f2f8d){return logger['error']({'event':_0x21e8f7(0xf6),'error':_0x1f2f8d['message']},_0x483be0[_0x21e8f7(0x108)]),{'success':![],'lockValue':null,'lockKey':null};}}async['acquireWriteLock'](_0x3f10a1){const _0xe3f191=a0_0x4c3c88,_0x2d846d={'FwFBA':_0xe3f191(0xfd),'gWKdX':_0xe3f191(0xe8),'SLWSR':'reject','EIQiy':_0xe3f191(0x10d),'HeXbQ':_0xe3f191(0x112),'zOiQH':function(_0x345250,_0x15b5d9){return _0x345250(_0x15b5d9);},'rFuXa':function(_0x2a3c03,_0x384ef6){return _0x2a3c03===_0x384ef6;},'mviBM':'write_lock_acquired','dnwFs':_0xe3f191(0xfc),'lQBrU':_0xe3f191(0xdf),'XWBBi':function(_0x28c195,_0x8469dd){return _0x28c195*_0x8469dd;},'iIooK':'write_lock_timeout','emQYY':'WRITE\x20lock\x20acquire\x20timeout','vGOWC':_0xe3f191(0xf4)};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x476cc3=this['buildLockKey']({..._0x3f10a1,'lockType':_0x2d846d[_0xe3f191(0x11f)]}),_0x384a64=this['buildLockKey']({..._0x3f10a1,'lockType':_0x2d846d[_0xe3f191(0x137)]}),_0x1b22cb=this['generateLockValue']();try{const _0x41383f=redisClient[_0xe3f191(0x11b)]();if(this['strategy']===_0x2d846d['SLWSR']){const _0x2fb38e=await _0x41383f['set'](_0x476cc3,_0x1b22cb,'EX',this['defaultTTL'],'NX');if(_0x2fb38e==='OK')return logger[_0xe3f191(0x12c)]({'event':'write_lock_acquired','key':_0x476cc3,'value':_0x1b22cb,'strategy':'reject'},_0x2d846d['EIQiy']),{'success':!![],'lockValue':_0x1b22cb,'lockKey':_0x476cc3};return logger[_0xe3f191(0x12c)]({'event':_0x2d846d[_0xe3f191(0xf9)],'key':_0x476cc3},_0xe3f191(0xf0)),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x232b0b=0x0;_0x232b0b<this[_0xe3f191(0x127)];_0x232b0b++){const [_0x346e60,_0x34d3c2]=await Promise['all']([_0x41383f[_0xe3f191(0x122)](_0x384a64),_0x41383f[_0xe3f191(0x122)](_0x476cc3)]);if(!_0x34d3c2&&(!_0x346e60||_0x2d846d['zOiQH'](parseInt,_0x346e60)===0x0)){const _0x523736=await _0x41383f['set'](_0x476cc3,_0x1b22cb,'EX',this[_0xe3f191(0xef)],'NX');if(_0x2d846d[_0xe3f191(0x10f)](_0x523736,'OK'))return logger['debug']({'event':_0x2d846d['mviBM'],'key':_0x476cc3,'value':_0x1b22cb,'strategy':_0x2d846d['dnwFs']},_0xe3f191(0x111)),{'success':!![],'lockValue':_0x1b22cb,'lockKey':_0x476cc3};}logger[_0xe3f191(0x12c)]({'event':_0x2d846d['lQBrU'],'writeKey':_0x476cc3,'readCount':_0x346e60,'attempt':_0x232b0b},_0xe3f191(0x109)),await this[_0xe3f191(0x131)](_0x2d846d['XWBBi'](this[_0xe3f191(0x138)],Math[_0xe3f191(0xea)](0x2,_0x232b0b)));}return logger[_0xe3f191(0x107)]({'event':_0x2d846d[_0xe3f191(0x110)],'key':_0x476cc3},_0x2d846d['emQYY']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x3a0d4a){return logger[_0xe3f191(0xfb)]({'event':_0xe3f191(0x134),'error':_0x3a0d4a[_0xe3f191(0xe7)]},_0x2d846d[_0xe3f191(0xf8)]),{'success':![],'lockValue':null,'lockKey':null};}}async['releaseLock'](_0x4eff9e,_0x5d86cb){const _0x10384f=a0_0x4c3c88,_0x417dcc={'UinST':_0x10384f(0x121),'YbFBa':_0x10384f(0x136),'uuCqL':function(_0x7832e1,_0x256162){return _0x7832e1===_0x256162;},'RBBxW':_0x10384f(0x117),'VFfCu':'Cannot\x20release\x20lock\x20-\x20not\x20owner','TuQWI':'lock_release_error','lcIET':'Lock\x20release\x20error'};if(!this['enabled']||!_0x4eff9e)return!![];try{const _0x183d4a=redisClient['getClient']();if(_0x4eff9e['includes'](':read:')){await _0x183d4a[_0x10384f(0x100)](_0x4eff9e);const _0x172bef=_0x4eff9e['substring'](0x0,_0x4eff9e['lastIndexOf'](':')),_0x11bca8=await _0x183d4a[_0x10384f(0x122)](_0x172bef);return _0x11bca8&&parseInt(_0x11bca8)>0x0&&await _0x183d4a[_0x10384f(0x11e)](_0x172bef),logger['debug']({'event':_0x417dcc['UinST'],'key':_0x4eff9e},_0x417dcc['YbFBa']),!![];}const _0x62907=_0x10384f(0x102),_0x42a46c=await _0x183d4a['eval'](_0x62907,0x1,_0x4eff9e,_0x5d86cb);if(_0x417dcc['uuCqL'](_0x42a46c,0x1))return logger[_0x10384f(0x12c)]({'event':_0x417dcc[_0x10384f(0x114)],'key':_0x4eff9e},_0x10384f(0x12b)),!![];return logger[_0x10384f(0x107)]({'event':_0x10384f(0x106),'key':_0x4eff9e},_0x417dcc['VFfCu']),![];}catch(_0x471b3c){return logger[_0x10384f(0xfb)]({'event':_0x417dcc[_0x10384f(0x133)],'key':_0x4eff9e,'error':_0x471b3c['message']},_0x417dcc[_0x10384f(0x10a)]),![];}}async['extendLock'](_0x32139f,_0x550b3f,_0x32986c=null){const _0x527e3f=a0_0x4c3c88,_0x4b589d={'zspqs':_0x527e3f(0xe6)};if(!this[_0x527e3f(0xf7)]||!_0x32139f)return!![];try{const _0x117249=redisClient['getClient'](),_0x51cd9e='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22expire\x22,\x20KEYS[1],\x20ARGV[2])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x18bc7e=await _0x117249[_0x527e3f(0x13a)](_0x51cd9e,0x1,_0x32139f,_0x550b3f,_0x32986c||this['defaultTTL']);if(_0x18bc7e===0x1)return logger[_0x527e3f(0x12c)]({'event':_0x527e3f(0xe4),'key':_0x32139f,'ttl':_0x32986c||this[_0x527e3f(0xef)]},_0x527e3f(0x103)),!![];return![];}catch(_0x9a68b2){return logger['error']({'event':_0x4b589d[_0x527e3f(0xe5)],'key':_0x32139f,'error':_0x9a68b2[_0x527e3f(0xe7)]},'Lock\x20extend\x20error'),![];}}[a0_0x4c3c88(0x128)](){const _0x379772=a0_0x4c3c88;return this[_0x379772(0xf7)];}['sleep'](_0x2c399){return new Promise(_0x31050d=>setTimeout(_0x31050d,_0x2c399));}async['getLockInfo'](_0x1cf733){const _0x2e3655=a0_0x4c3c88,_0x3a1bf3={'iXQrY':_0x2e3655(0xfd),'lVHsy':'read'};if(!this['enabled'])return{'enabled':![]};try{const _0x739569=redisClient[_0x2e3655(0x11b)](),_0x53e19a=this[_0x2e3655(0x130)]({..._0x1cf733,'lockType':_0x3a1bf3[_0x2e3655(0xff)]}),_0x55ba89=this[_0x2e3655(0x130)]({..._0x1cf733,'lockType':_0x3a1bf3[_0x2e3655(0xe1)]}),[_0x5c7992,_0x57d089]=await Promise['all']([_0x739569[_0x2e3655(0x122)](_0x53e19a),_0x739569[_0x2e3655(0x122)](_0x55ba89)]);return{'enabled':!![],'writeLock':_0x5c7992||null,'readCount':parseInt(_0x57d089)||0x0,'writeKey':_0x53e19a,'readKey':_0x55ba89};}catch(_0x24caa9){return{'enabled':!![],'error':_0x24caa9['message']};}}}function a0_0x907d(_0x4fe94f,_0x3f003b){_0x4fe94f=_0x4fe94f-0xde;const _0x12adf9=a0_0x12ad();let _0x907dbc=_0x12adf9[_0x4fe94f];if(a0_0x907d['HGfNaL']===undefined){var _0x488dcb=function(_0x557a1a){const _0x445cd5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x39fc8a='',_0x20afaf='';for(let _0x206af9=0x0,_0x2772d8,_0x3fef2c,_0x1a4fb4=0x0;_0x3fef2c=_0x557a1a['charAt'](_0x1a4fb4++);~_0x3fef2c&&(_0x2772d8=_0x206af9%0x4?_0x2772d8*0x40+_0x3fef2c:_0x3fef2c,_0x206af9++%0x4)?_0x39fc8a+=String['fromCharCode'](0xff&_0x2772d8>>(-0x2*_0x206af9&0x6)):0x0){_0x3fef2c=_0x445cd5['indexOf'](_0x3fef2c);}for(let _0x11f940=0x0,_0x510e20=_0x39fc8a['length'];_0x11f940<_0x510e20;_0x11f940++){_0x20afaf+='%'+('00'+_0x39fc8a['charCodeAt'](_0x11f940)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x20afaf);};a0_0x907d['dwPYKw']=_0x488dcb,a0_0x907d['xXcvXs']={},a0_0x907d['HGfNaL']=!![];}const _0x3f8345=_0x12adf9[0x0],_0x11bacc=_0x4fe94f+_0x3f8345,_0x3b52e7=a0_0x907d['xXcvXs'][_0x11bacc];return!_0x3b52e7?(_0x907dbc=a0_0x907d['dwPYKw'](_0x907dbc),a0_0x907d['xXcvXs'][_0x11bacc]=_0x907dbc):_0x907dbc=_0x3b52e7,_0x907dbc;}module[a0_0x4c3c88(0xe2)]=new LockManager();
|
|
1
|
+
const a0_0x154ba4=a0_0x40f5;(function(_0x2148f5,_0x6bf46b){const _0x999a8e=a0_0x40f5,_0x4f11df=_0x2148f5();while(!![]){try{const _0x592936=-parseInt(_0x999a8e(0xba))/0x1+-parseInt(_0x999a8e(0xda))/0x2+parseInt(_0x999a8e(0x9c))/0x3*(parseInt(_0x999a8e(0xdd))/0x4)+parseInt(_0x999a8e(0xca))/0x5*(-parseInt(_0x999a8e(0x8c))/0x6)+-parseInt(_0x999a8e(0xa1))/0x7*(-parseInt(_0x999a8e(0xb0))/0x8)+-parseInt(_0x999a8e(0xa5))/0x9+parseInt(_0x999a8e(0xd8))/0xa*(parseInt(_0x999a8e(0xbf))/0xb);if(_0x592936===_0x6bf46b)break;else _0x4f11df['push'](_0x4f11df['shift']());}catch(_0x1173dd){_0x4f11df['push'](_0x4f11df['shift']());}}}(a0_0x5957,0x52b8a));function a0_0x40f5(_0x139851,_0x217dc4){_0x139851=_0x139851-0x8b;const _0x595708=a0_0x5957();let _0x40f585=_0x595708[_0x139851];if(a0_0x40f5['SyfaUv']===undefined){var _0x3f4ca8=function(_0x75f381){const _0x32da69='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1fb5e9='',_0x5b9811='';for(let _0x69dca1=0x0,_0x3e277b,_0x55c9e6,_0x38fc89=0x0;_0x55c9e6=_0x75f381['charAt'](_0x38fc89++);~_0x55c9e6&&(_0x3e277b=_0x69dca1%0x4?_0x3e277b*0x40+_0x55c9e6:_0x55c9e6,_0x69dca1++%0x4)?_0x1fb5e9+=String['fromCharCode'](0xff&_0x3e277b>>(-0x2*_0x69dca1&0x6)):0x0){_0x55c9e6=_0x32da69['indexOf'](_0x55c9e6);}for(let _0x9d1013=0x0,_0x427db5=_0x1fb5e9['length'];_0x9d1013<_0x427db5;_0x9d1013++){_0x5b9811+='%'+('00'+_0x1fb5e9['charCodeAt'](_0x9d1013)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b9811);};a0_0x40f5['DORPwO']=_0x3f4ca8,a0_0x40f5['BIebKB']={},a0_0x40f5['SyfaUv']=!![];}const _0x4c83d4=_0x595708[0x0],_0x12558b=_0x139851+_0x4c83d4,_0x13ccc2=a0_0x40f5['BIebKB'][_0x12558b];return!_0x13ccc2?(_0x40f585=a0_0x40f5['DORPwO'](_0x40f585),a0_0x40f5['BIebKB'][_0x12558b]=_0x40f585):_0x40f585=_0x13ccc2,_0x40f585;}const redisClient=require('./redis-client'),{logger}=require('./logger'),{v4:uuidv4}=require('uuid');function a0_0x5957(){const _0x4509e9=['Dhj1zq','D3jPDgvFBg9JA19LCNjVCG','zgvIDwC','mJaXzNLRuxrL','AxnfBMfIBgvK','C2v0','x2LUAxrPywXPEMvK','C2XLzxa','mte3ndy0mLfoquPrqG','x2vUywjSzwq','z2v0tg9JA0LUzM8','v2fPDgLUzYbMB3iGv1jjveuGBg9JAYb0BYbYzwXLyxnL','nJa3mJe2nvr2wLniwa','q0P6AxO','t1fxBeK','BM93','tg9JAYbLEhrLBMqGzxjYB3i','CMvQzwn0','ALzjww0','nNWXFdn8nxW0Fdb8mNW3','D3jPDgvFBg9JA19Hy3f1AxjLza','x3jLDhj5rgvSyxK','DgrOuwu','oe9pCxPZqq','zxjYB3i','Cg93','x3DVCMTLCKLK','suL2rgC','D3jPDgu','tg9JAYbYzwXLyxnLigvYCM9Y','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMv0CNKGBw9KzsK','tNjyuhy','Bg9JA19LEhrLBMrLza','ndC4mduYtufgDK5q','CMvHzf9SB2nRx3DHAxrPBMC','CMvSzwfZzuXVy2S','C3vIC3rYAw5N','zw5HyMXLza','mZaYmtDxzLr5C3G','CMy6Bg9JAZO','D29YA2vYswq','txjiA1q','BgfZDeLUzgv4t2y','CgLK','x2LUAxrdB25MAwC','zw52','EffeCLe','v1jjveuGBg9JAYbHy3f1AxjLzcaOCMvQzwn0ig1VzguP','v1jjveuGBg9JAYbYzwXLyxnLza','mta1mtmZmePSD1Pgtq','x2vUC3vYzuLUAxrPywXPEMvK','qvz4r0e','DfnoCgi','CMv0CNLdB3vUDa','uLnQANq','tg9JAYbJB25MAwD1CMf0Aw9UigLUAxrPywXPEMvKic0Gzw5HyMXLzdOG','ywnXDwLYzvDYAxrLtg9JAW','x3bYzwzPEa','z2v0','CMv0CNLezwXHEq','Aw5JBhvKzxm','AvrssNq','yNvPBgrmB2nRs2v5','nti3meXRru12vq','Bg9JA19JB25MAwDFAw5PDa','mJm5odC4qvLswMP5','Bg9JA19YzwXLyxnLx2vYCM9Y','DfLnsvC','mtiZmtzZwwX1q1i','DwLtu1C','CMv0CNK','D3jPDgvFBg9JA19YzwPLy3rLza','t1rZuwS','Bg9JA19LEhrLBMrFzxjYB3i','zxzHBa','x2rLzMf1BhruveW','zgvMyxvSDfruta','C2v0zxG','z2v0q2XPzw50','Aw5JCG','z2vUzxjHDgvmB2nRvMfSDwu','D2fYBG','v1jjveuGBg9JAYbHy3f1AxjLihrPBwvVDxq','nKXZCw1VBq','CMvHzf9SB2nRx3jLBgvHC2vK','C3rYyxrLz3K','DfDyv1K','ywXS','x3jLDhj5q291BNq','zwTlDuK','x3n0CMf0zwD5','te9ds19esvnuuKLcvvrfrf9srvrswv9eruXbwq','u2jxrKW','rLHnCgm','CMvHza','BwvZC2fNzq'];a0_0x5957=function(){return _0x4509e9;};return a0_0x5957();}class LockManager{constructor(){const _0x15199a=a0_0x40f5,_0x2022e4={'MrHkT':_0x15199a(0xac)},_0x404a77=_0x2022e4[_0x15199a(0xc2)]['split']('|');let _0x47ee12=0x0;while(!![]){switch(_0x404a77[_0x47ee12++]){case'0':this[_0x15199a(0x93)]=null;continue;case'1':this[_0x15199a(0xa2)]=null;continue;case'2':this['_workerId']=null;continue;case'3':this[_0x15199a(0xe4)]=null;continue;case'4':this[_0x15199a(0xae)]=null;continue;case'5':this[_0x15199a(0x91)]=null;continue;case'6':this[_0x15199a(0xd2)]=null;continue;case'7':this['_initialized']=![];continue;}break;}}[a0_0x154ba4(0xc5)](){const _0x34b7cf=a0_0x154ba4,_0x862641={'NeIBF':_0x34b7cf(0xc0),'iTRJt':function(_0x17790c,_0x28aa99){return _0x17790c===_0x28aa99;},'xQDrQ':_0x34b7cf(0x99),'fsYua':function(_0x17e82f,_0x19e436,_0x5e5e33){return _0x17e82f(_0x19e436,_0x5e5e33);},'AVxGA':_0x34b7cf(0xdf)};this['_prefix']=_0x862641['NeIBF'],this['_enabled']=_0x862641[_0x34b7cf(0xd6)](process['env']['LOCK_DISTRIBUTED_ENABLED'],_0x862641[_0x34b7cf(0xc7)]),this['_defaultTTL']=parseInt(process['env']['LOCK_DISTRIBUTED_TTL'],0xa)||0xa,this[_0x34b7cf(0x91)]=parseInt(process[_0x34b7cf(0xc6)]['LOCK_DISTRIBUTED_RETRY'],0xa)||0x3,this['_retryDelay']=_0x862641['fsYua'](parseInt,process[_0x34b7cf(0xc6)][_0x34b7cf(0x94)],0xa)||0x64,this['_strategy']=process[_0x34b7cf(0xc6)]['LOCK_DISTRIBUTED_STRATEGY']||_0x862641[_0x34b7cf(0xcc)],this['_workerId']='worker-'+process[_0x34b7cf(0xc4)],this[_0x34b7cf(0x9f)]=!![],logger['info']({'event':_0x34b7cf(0xd9),'enabled':this[_0x34b7cf(0xa2)],'strategy':this['_strategy'],'ttl':this['_defaultTTL'],'retryCount':this['_retryCount'],'retryDelay':this['_retryDelay'],'workerId':this[_0x34b7cf(0xb3)]},_0x34b7cf(0xd0)+this['_enabled']+',\x20strategy:\x20'+this['_strategy']);}[a0_0x154ba4(0xcb)](){!this['_initialized']&&this['_initConfig']();}get['prefix'](){const _0xe238ee=a0_0x154ba4;return this['_ensureInitialized'](),this[_0xe238ee(0xd2)];}get['enabled'](){const _0x4a9994=a0_0x154ba4;return this[_0x4a9994(0xcb)](),this[_0x4a9994(0xa2)];}get[a0_0x154ba4(0xe5)](){const _0x223a4c=a0_0x154ba4;return this[_0x223a4c(0xcb)](),this['_defaultTTL'];}get[a0_0x154ba4(0xce)](){const _0x3a8bbe=a0_0x154ba4;return this['_ensureInitialized'](),this[_0x3a8bbe(0x91)];}get[a0_0x154ba4(0xd4)](){const _0x2aa0d5=a0_0x154ba4;return this[_0x2aa0d5(0xcb)](),this[_0x2aa0d5(0xae)];}get[a0_0x154ba4(0x8e)](){const _0x30d300=a0_0x154ba4;return this[_0x30d300(0xcb)](),this[_0x30d300(0x93)];}get[a0_0x154ba4(0xc1)](){const _0x592a87=a0_0x154ba4;return this[_0x592a87(0xcb)](),this[_0x592a87(0xb3)];}['buildLockKey'](_0x2798c0){const {module:_0xebd308,endpoint:_0x4be9f1,lockType:_0x324936,recordId:_0x1ecc21}=_0x2798c0;if(_0x1ecc21)return''+this['prefix']+_0xebd308+':'+_0x4be9f1+':'+_0x1ecc21+':'+_0x324936;return''+this['prefix']+_0xebd308+':'+_0x4be9f1+':'+_0x324936;}[a0_0x154ba4(0xe9)](){const _0x167a65=a0_0x154ba4;return this[_0x167a65(0xc1)]+':'+uuidv4()+':'+Date[_0x167a65(0xa8)]();}async['acquireReadLock'](_0x3b0826){const _0xb33414=a0_0x154ba4,_0x54b54c={'TgPFZ':_0xb33414(0x97),'OQWlI':function(_0x5e7af9,_0x2f0890){return _0x5e7af9<_0x2f0890;},'NrXPv':'read_lock_acquired','RSjjt':_0xb33414(0xa4),'tdhQe':function(_0x493aff,_0x3f7e7f){return _0x493aff*_0x3f7e7f;},'shEeU':'READ\x20lock\x20acquire\x20timeout','tSNpb':'READ\x20lock\x20error'};if(!this['enabled'])return{'success':!![],'lockValue':null,'lockKey':null};const _0x109af7=this['buildLockKey']({..._0x3b0826,'lockType':_0xb33414(0xb5)}),_0x134876=this['buildLockKey']({..._0x3b0826,'lockType':_0x54b54c['TgPFZ']}),_0x284326=this[_0xb33414(0xe9)]();try{const _0x44d825=redisClient['getClient']();for(let _0x53c297=0x0;_0x54b54c[_0xb33414(0xa7)](_0x53c297,this['retryCount']);_0x53c297++){const _0x3bc376=await _0x44d825['get'](_0x109af7);if(!_0x3bc376){await _0x44d825[_0xb33414(0xe8)](_0x134876),await _0x44d825['expire'](_0x134876,this[_0xb33414(0xe5)]);const _0x57ea39=_0x134876+':'+_0x284326;return await _0x44d825[_0xb33414(0xe6)](_0x57ea39,this['defaultTTL'],_0x284326),logger['debug']({'event':_0x54b54c[_0xb33414(0xb8)],'key':_0x134876,'value':_0x284326},'READ\x20lock\x20acquired'),{'success':!![],'lockValue':_0x284326,'lockKey':_0x57ea39};}logger[_0xb33414(0x9b)]({'event':_0xb33414(0xbb),'writeKey':_0x109af7,'attempt':_0x53c297},_0x54b54c[_0xb33414(0xcf)]),await this['sleep'](_0x54b54c[_0xb33414(0xaf)](this['retryDelay'],Math[_0xb33414(0xb2)](0x2,_0x53c297)));}return logger[_0xb33414(0xea)]({'event':'read_lock_timeout','key':_0x134876},_0x54b54c['shEeU']),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x40cb0f){return logger[_0xb33414(0xb1)]({'event':'read_lock_error','error':_0x40cb0f['message']},_0x54b54c[_0xb33414(0xcd)]),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x154ba4(0xd1)](_0x49cace){const _0x2bba0d=a0_0x154ba4,_0x3ef8e7={'eWXpB':'write','tWXWY':'read','FXMpc':_0x2bba0d(0xaa),'OTsQk':_0x2bba0d(0xad),'ephph':_0x2bba0d(0xe0),'KpQxF':function(_0x276fd8,_0x49ced4){return _0x276fd8<_0x49ced4;},'ekKuI':function(_0x2f86fa,_0x455f3e){return _0x2f86fa===_0x455f3e;},'CJziz':_0x2bba0d(0xdf),'TSYtE':_0x2bba0d(0xb7),'jMGvJ':'write_lock_waiting'};if(!this[_0x2bba0d(0xbe)])return{'success':!![],'lockValue':null,'lockKey':null};const _0x47bae0=this['buildLockKey']({..._0x49cace,'lockType':_0x3ef8e7['eWXpB']}),_0x2e89b4=this[_0x2bba0d(0xd7)]({..._0x49cace,'lockType':_0x3ef8e7[_0x2bba0d(0x8f)]}),_0x2bb42b=this['generateLockValue']();try{const _0x575df2=redisClient[_0x2bba0d(0xe7)]();if(this['strategy']===_0x3ef8e7['FXMpc']){const _0x576673=await _0x575df2['set'](_0x47bae0,_0x2bb42b,'EX',this['defaultTTL'],'NX');if(_0x576673==='OK')return logger['debug']({'event':_0x3ef8e7[_0x2bba0d(0xe1)],'key':_0x47bae0,'value':_0x2bb42b,'strategy':_0x3ef8e7[_0x2bba0d(0x96)]},_0x2bba0d(0xc8)),{'success':!![],'lockValue':_0x2bb42b,'lockKey':_0x47bae0};return logger[_0x2bba0d(0x9b)]({'event':_0x3ef8e7['ephph'],'key':_0x47bae0},'WRITE\x20lock\x20rejected\x20-\x20record\x20busy'),{'success':![],'lockValue':null,'lockKey':null};}for(let _0x39b2be=0x0;_0x3ef8e7['KpQxF'](_0x39b2be,this[_0x2bba0d(0xce)]);_0x39b2be++){const [_0x5c72c4,_0x2173e6]=await Promise[_0x2bba0d(0x90)]([_0x575df2[_0x2bba0d(0xd3)](_0x2e89b4),_0x575df2['get'](_0x47bae0)]);if(!_0x2173e6&&(!_0x5c72c4||_0x3ef8e7['ekKuI'](parseInt(_0x5c72c4),0x0))){const _0x2d4b39=await _0x575df2[_0x2bba0d(0x9e)](_0x47bae0,_0x2bb42b,'EX',this[_0x2bba0d(0xe5)],'NX');if(_0x3ef8e7[_0x2bba0d(0x92)](_0x2d4b39,'OK'))return logger[_0x2bba0d(0x9b)]({'event':_0x2bba0d(0xad),'key':_0x47bae0,'value':_0x2bb42b,'strategy':_0x3ef8e7[_0x2bba0d(0xa6)]},_0x3ef8e7['TSYtE']),{'success':!![],'lockValue':_0x2bb42b,'lockKey':_0x47bae0};}logger[_0x2bba0d(0x9b)]({'event':_0x3ef8e7['jMGvJ'],'writeKey':_0x47bae0,'readCount':_0x5c72c4,'attempt':_0x39b2be},'Waiting\x20for\x20locks\x20to\x20release'),await this[_0x2bba0d(0xa0)](this[_0x2bba0d(0xd4)]*Math['pow'](0x2,_0x39b2be));}return logger['warn']({'event':'write_lock_timeout','key':_0x47bae0},_0x2bba0d(0x8b)),{'success':![],'lockValue':null,'lockKey':null};}catch(_0x24033d){return logger[_0x2bba0d(0xb1)]({'event':_0x2bba0d(0x9a),'error':_0x24033d['message']},'WRITE\x20lock\x20error'),{'success':![],'lockValue':null,'lockKey':null};}}async[a0_0x154ba4(0xbc)](_0x5decec,_0x293a47){const _0x4f4770=a0_0x154ba4,_0x5e1611={'uiSSW':function(_0x4d0307,_0x3eaf70){return _0x4d0307>_0x3eaf70;},'GznBR':function(_0x2d0111,_0x2ec8ef){return _0x2d0111(_0x2ec8ef);},'tYMIW':'READ\x20lock\x20released','LZdKm':_0x4f4770(0xb6)};if(!this[_0x4f4770(0xbe)]||!_0x5decec)return!![];try{const _0x2d33ef=redisClient[_0x4f4770(0xe7)]();if(_0x5decec[_0x4f4770(0xd5)](':read:')){await _0x2d33ef['del'](_0x5decec);const _0x1fd0cc=_0x5decec[_0x4f4770(0xbd)](0x0,_0x5decec[_0x4f4770(0xc3)](':')),_0x41f711=await _0x2d33ef[_0x4f4770(0xd3)](_0x1fd0cc);return _0x41f711&&_0x5e1611[_0x4f4770(0xde)](_0x5e1611['GznBR'](parseInt,_0x41f711),0x0)&&await _0x2d33ef['decr'](_0x1fd0cc),logger[_0x4f4770(0x9b)]({'event':_0x4f4770(0x8d),'key':_0x5decec},_0x5e1611[_0x4f4770(0xdc)]),!![];}const _0xad2bad='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22del\x22,\x20KEYS[1])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x4134b3=await _0x2d33ef[_0x4f4770(0xe3)](_0xad2bad,0x1,_0x5decec,_0x293a47);if(_0x4134b3===0x1)return logger[_0x4f4770(0x9b)]({'event':'write_lock_released','key':_0x5decec},_0x4f4770(0xc9)),!![];return logger['warn']({'event':'lock_release_not_owner','key':_0x5decec},'Cannot\x20release\x20lock\x20-\x20not\x20owner'),![];}catch(_0xc79330){return logger[_0x4f4770(0xb1)]({'event':_0x4f4770(0xdb),'key':_0x5decec,'error':_0xc79330['message']},_0x5e1611['LZdKm']),![];}}async['extendLock'](_0x59d2d2,_0x5c3682,_0x1550dd=null){const _0x5478c0=a0_0x154ba4,_0x325470={'jVIYm':function(_0x3cc7d7,_0x2c8308){return _0x3cc7d7===_0x2c8308;},'oAxrf':_0x5478c0(0xb9),'VvOFl':'Lock\x20TTL\x20extended','oVPVZ':_0x5478c0(0xe2),'SbWFL':_0x5478c0(0xa9)};if(!this[_0x5478c0(0xbe)]||!_0x59d2d2)return!![];try{const _0x1ce9f0=redisClient[_0x5478c0(0xe7)](),_0x2c22b3='\x0a\x20\x20\x20\x20\x20\x20\x20\x20if\x20redis.call(\x22get\x22,\x20KEYS[1])\x20==\x20ARGV[1]\x20then\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x20redis.call(\x22expire\x22,\x20KEYS[1],\x20ARGV[2])\x0a\x20\x20\x20\x20\x20\x20\x20\x20else\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20return\x200\x0a\x20\x20\x20\x20\x20\x20\x20\x20end\x0a\x20\x20\x20\x20\x20\x20',_0x39af31=await _0x1ce9f0['eval'](_0x2c22b3,0x1,_0x59d2d2,_0x5c3682,_0x1550dd||this[_0x5478c0(0xe5)]);if(_0x325470[_0x5478c0(0xab)](_0x39af31,0x1))return logger['debug']({'event':_0x325470['oAxrf'],'key':_0x59d2d2,'ttl':_0x1550dd||this['defaultTTL']},_0x325470['VvOFl']),!![];return![];}catch(_0x42e214){return logger['error']({'event':_0x325470['oVPVZ'],'key':_0x59d2d2,'error':_0x42e214['message']},_0x325470[_0x5478c0(0x95)]),![];}}[a0_0x154ba4(0x9d)](){const _0x155310=a0_0x154ba4;return this[_0x155310(0xbe)];}['sleep'](_0x1a6469){return new Promise(_0x404f87=>setTimeout(_0x404f87,_0x1a6469));}async[a0_0x154ba4(0xa3)](_0x5d8348){const _0x43b763=a0_0x154ba4,_0x52bac3={'IIvDg':'write','qhsuG':_0x43b763(0x97)};if(!this[_0x43b763(0xbe)])return{'enabled':![]};try{const _0xdde781=redisClient['getClient'](),_0x202a86=this[_0x43b763(0xd7)]({..._0x5d8348,'lockType':_0x52bac3[_0x43b763(0xb4)]}),_0x6cbcbf=this[_0x43b763(0xd7)]({..._0x5d8348,'lockType':_0x52bac3['qhsuG']}),[_0x185f70,_0x21e225]=await Promise['all']([_0xdde781['get'](_0x202a86),_0xdde781[_0x43b763(0xd3)](_0x6cbcbf)]);return{'enabled':!![],'writeLock':_0x185f70||null,'readCount':parseInt(_0x21e225)||0x0,'writeKey':_0x202a86,'readKey':_0x6cbcbf};}catch(_0x1bae10){return{'enabled':!![],'error':_0x1bae10[_0x43b763(0x98)]};}}}module['exports']=new LockManager();
|
package/src/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x8abba4=a0_0x58aa;(function(_0x15d31c,_0x2b4465){const _0x22b2a6=a0_0x58aa,_0x52cc29=_0x15d31c();while(!![]){try{const _0x28e00d=parseInt(_0x22b2a6(0xce))/0x1*(parseInt(_0x22b2a6(0xc7))/0x2)+-parseInt(_0x22b2a6(0x113))/0x3+-parseInt(_0x22b2a6(0x127))/0x4*(-parseInt(_0x22b2a6(0xfa))/0x5)+parseInt(_0x22b2a6(0x11b))/0x6*(parseInt(_0x22b2a6(0xe9))/0x7)+-parseInt(_0x22b2a6(0x11f))/0x8+parseInt(_0x22b2a6(0xbf))/0x9+-parseInt(_0x22b2a6(0xe4))/0xa;if(_0x28e00d===_0x2b4465)break;else _0x52cc29['push'](_0x52cc29['shift']());}catch(_0x15b1e9){_0x52cc29['push'](_0x52cc29['shift']());}}}(a0_0x10c8,0xb516a));const pino=require('pino'),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x8abba4(0x14d),serviceName=a0_0x8abba4(0xa3),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x8abba4(0xd9),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x8abba4(0x9a),'customColors':a0_0x8abba4(0x154),'hideObject':!![]},isDevelopment=process[a0_0x8abba4(0xc4)]['NODE_ENV']!==a0_0x8abba4(0x133),logLevel=process[a0_0x8abba4(0xc4)]['LOG_LEVEL']||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x8abba4(0x112),'options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x8abba4(0xc4)][a0_0x8abba4(0x114)]||a0_0x8abba4(0xc2),'env':process['env']['NODE_ENV']||'development'},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x8abba4(0xcd),a0_0x8abba4(0x141),a0_0x8abba4(0x10b),'token',a0_0x8abba4(0xbc),'DB_PASSWORD',a0_0x8abba4(0x97)],'censor':'[REDACTED]'},'serializers':{'req':_0x1cfdcf=>({'id':_0x1cfdcf['id'],'method':_0x1cfdcf['method'],'url':_0x1cfdcf[a0_0x8abba4(0x10e)],'path':_0x1cfdcf['path'],'remoteAddress':_0x1cfdcf['ip']||_0x1cfdcf['connection']?.['remoteAddress']}),'res':_0x3ea25f=>({'statusCode':_0x3ea25f[a0_0x8abba4(0x11a)],'headers':_0x3ea25f['getHeaders']?.()}),'err':pino[a0_0x8abba4(0xf3)][a0_0x8abba4(0x136)]}});function a0_0x58aa(_0x5a2355,_0x2c1860){_0x5a2355=_0x5a2355-0x97;const _0x10c82e=a0_0x10c8();let _0x58aa57=_0x10c82e[_0x5a2355];if(a0_0x58aa['tJKLmI']===undefined){var _0x1f3da0=function(_0x20787e){const _0x32f4b4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1df2f9='',_0xc41d7a='';for(let _0x1f27dd=0x0,_0x1b9d78,_0x227a83,_0x169452=0x0;_0x227a83=_0x20787e['charAt'](_0x169452++);~_0x227a83&&(_0x1b9d78=_0x1f27dd%0x4?_0x1b9d78*0x40+_0x227a83:_0x227a83,_0x1f27dd++%0x4)?_0x1df2f9+=String['fromCharCode'](0xff&_0x1b9d78>>(-0x2*_0x1f27dd&0x6)):0x0){_0x227a83=_0x32f4b4['indexOf'](_0x227a83);}for(let _0x2b0a23=0x0,_0x13cb2b=_0x1df2f9['length'];_0x2b0a23<_0x13cb2b;_0x2b0a23++){_0xc41d7a+='%'+('00'+_0x1df2f9['charCodeAt'](_0x2b0a23)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xc41d7a);};a0_0x58aa['nCBxQV']=_0x1f3da0,a0_0x58aa['qFZgOu']={},a0_0x58aa['tJKLmI']=!![];}const _0x43f1e8=_0x10c82e[0x0],_0x19f92f=_0x5a2355+_0x43f1e8,_0xd9dbb1=a0_0x58aa['qFZgOu'][_0x19f92f];return!_0xd9dbb1?(_0x58aa57=a0_0x58aa['nCBxQV'](_0x58aa57),a0_0x58aa['qFZgOu'][_0x19f92f]=_0x58aa57):_0x58aa57=_0xd9dbb1,_0x58aa57;}function initFileLogging(){const _0xcbb630=a0_0x8abba4,_0x11fec4={'VJHJZ':_0xcbb630(0x108),'eHsPj':function(_0xc58c34,_0x142287){return _0xc58c34===_0x142287;},'QOXsz':'debug','CPHUU':function(_0x57f77f,_0x24a6a6){return _0x57f77f!==_0x24a6a6;},'ezBRu':function(_0x25d441,_0x1794e8){return _0x25d441(_0x1794e8);},'UMpzp':'error.log','Hwidx':'app.log'};if(fileLoggingInitialized)return;logToFile=process[_0xcbb630(0xc4)]['LOG_TO_FILE']===_0xcbb630(0xf9);const _0x1a9730=process[_0xcbb630(0xc4)]['RESTFORGE_PROJECT_NAME']||_0x11fec4[_0xcbb630(0xd3)];logDir=process[_0xcbb630(0xc4)]['LOG_DIR']||'./logs/'+_0x1a9730,serviceName=process['env'][_0xcbb630(0xfe)]||_0xcbb630(0xa3),sqlLogEnabled=_0x11fec4['eHsPj'](process[_0xcbb630(0xc4)]['SQL_LOG_ENABLED'],'true'),sqlLogLevel=process[_0xcbb630(0xc4)]['SQL_LOG_LEVEL']||_0x11fec4[_0xcbb630(0x13b)],sqlLogParams=_0x11fec4[_0xcbb630(0xa5)](process['env'][_0xcbb630(0xea)],_0xcbb630(0x145)),sqlLogSlowThreshold=_0x11fec4[_0xcbb630(0xda)](parseInt,process[_0xcbb630(0xc4)][_0xcbb630(0x104)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x43dd62=path['resolve'](process['cwd'](),logDir);try{!fs[_0xcbb630(0x143)](_0x43dd62)&&fs[_0xcbb630(0xba)](_0x43dd62,{'recursive':!![]});}catch(_0x357cfe){console[_0xcbb630(0x123)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x43dd62+':',_0x357cfe[_0xcbb630(0x135)]),fileLoggingInitialized=!![];return;}const _0x4237bc=path['join'](_0x43dd62,_0xcbb630(0xfb)),_0x2b36b7=path['join'](_0x43dd62,_0x11fec4[_0xcbb630(0x99)]);try{appLogStream=fs[_0xcbb630(0xc1)](_0x4237bc,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x2b36b7,{'flags':'a'}),fileLoggingInitialized=!![];const _0x395023={'event':_0xcbb630(0x10d),'logDir':_0x43dd62,'files':[_0x11fec4[_0xcbb630(0x149)],_0x11fec4[_0xcbb630(0x99)]]},_0x1075d5=_0xcbb630(0x14c)+_0x43dd62;logger[_0xcbb630(0xc3)](_0x395023,_0x1075d5),writeToFileLog({..._0x395023,'level':'info','msg':_0x1075d5,'time':new Date()['toISOString']()},'info');}catch(_0x480bfb){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x480bfb[_0xcbb630(0x135)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x2a693d,_0x160f76){const _0x362530=a0_0x8abba4,_0xddf6c4={'xhPxf':function(_0x16817e,_0x3ff7a2){return _0x16817e||_0x3ff7a2;},'fMkBG':function(_0x557e0a,_0xcbe7a5){return _0x557e0a===_0xcbe7a5;},'diEDa':function(_0xc42fb2,_0x44942c){return _0xc42fb2===_0x44942c;}};if(_0xddf6c4['xhPxf'](!logToFile,!appLogStream))return;const _0x4f69a1={'service':serviceName,..._0x2a693d},_0x16a3d7=JSON['stringify'](_0x4f69a1)+'\x0a';appLogStream['write'](_0x16a3d7),(_0xddf6c4[_0x362530(0xf4)](_0x160f76,_0x362530(0x123))||_0xddf6c4['diEDa'](_0x160f76,_0x362530(0xc8)))&&(errorLogStream&&errorLogStream[_0x362530(0xa4)](_0x16a3d7));}function a0_0x10c8(){const _0x1111cb=['zgjFCxvLCNK','Dhj1zq','mJmWmtvguwL6u1q','yxbWlMXVzW','CgfZC3DK','w1jfrefdveveoMHHC2HD','u0vsvKLdrv9oqu1f','u25uEwq','zhvYyxrPB25nCW','u1rbuLqGvfjbtLnbq1rjt04','w09lxsbqCM9Qzwn0igXVywrLzdOG','su5trvju','u1fmx0Xpr19tte9xx1riuKvtse9mra','sfLsDxK','CxLjuuK','B3jPz2LUywXvCMW','zgvMyxvSDa','CxvLCNK','CwPhrvq','CgfZC3DVCMq','A0nbtMS','zMLSzv9SB2DNAw5Nx2vUywjSzwq','DxjS','Bwf4','yM9KEq','ChjVAMvJDf9SB2fKzwq','CgLUBY1WCMv0DhK','mJC0mtu1owzUC0ritq','qvbqx1zfuLnjt04','C29Tzq','B3rW','ywnJzxnZx3rVA2vU','ChDK','BxmP','C3rHDhvZq29Kzq','mZi3odCXoeftz09uqG','qKvnCgi','yxbPx2TLEq','D2fYBMLUzW','mta2odu4ndbvEuPHq2K','u0vmrunu','Cg9YDa','rNDbzNa','zxjYB3i','Aw5JBhvKzxm','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','yxbPA2v5','nJa4rKXQAg5Z','iokvKqRILzeGienVBMzPzYaGicaGidOG','DxnLCI1Hz2vUDa','zgf0ywjHC2vFy29UzMLN','zw5KCg9PBNrFCMvNAxn0zxjLza','Cgf0Aa','C2vYDMvYx3n0yxj0Aw5N','icbjBMzVoIaGia','Dg9gAxHLza','vMnwD3m','Dg9ju09tDhjPBMC','C3rYAw5N','ChjVzhvJDgLVBG','C3rHy2S','BwvZC2fNzq','zxjY','tK9uiefdveLwrq','Dg9vChbLCKnHC2u','qKvhsu4','C2vJCMv0','uu9yC3O','iokvKqRILzeGifbYB2PLy3qGicaGidOG','ChjTB1K','w1jfrefdvevexq','EKXUzxy','vu5ltK9xtG','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','t3rnAwm','zxHPC3rZu3LUyW','DhjPBq','zMfSC2u','CgfKrw5K','CufkvgO','Dxb0Aw1L','shDPzhG','Bwf0y2G','reDcEvm','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','lI9SB2DZ','yK1Ov0y','AgvHzgvYCW','sfruuca','CgLU','yLjPAMW','C3rHCNrZv2L0Aa','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','Dg9mB3DLCKnHC2u','whvoCu4','yMfZzvvYBa','sLDux1nfq1jfva','BgvUz3rO','vu1WENa','E21Zz30','Evj4vxK','Cg9ZDgDYzxnXBa','CgLK','wu90q3O','rKTesxq','qNjHvfK','zw52AxjVBM1LBNq','r1jVEeK','CMvZDgzVCMDL','D3jPDgu','q1bivvu','vujXDLK','sNjkveO','icdIHPiG','EwP1uue','y3jLzgL0y2fYza','Bwv0Ag9K','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','BwfW','wgDitwO','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','Ahbez2y','AKPjrgq','BMfTzq','sxPVCvq','C3bSAxq','D2fYBG','Dfr1Dvm','Dw5Oyw5KBgvKuMvQzwn0Aw9U','qunusvzf','zMf0ywXFzxjYB3i','BwTKAxjtEw5J','DhLWzq','yxbPs2v5','y3jLzgvUDgLHBhm','shLdsMu','nJa2nty0v0ryuNLf','u2vYDMvYihn0yxj0Aw5NoIa','y3jLyxrLv3jPDgvtDhjLyw0','ms4WlJu','Aw5MBW','zw52','ChjPDMf0zwTLEq','C3zlvee','odiXodbps2HlvNC','zMf0ywW','revmrvrf','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','DxnLCG','Ahj0Aw1L','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','mZjUyKfQC2q','CM93C0fMzMvJDgvK','zgvIDwC','zNzZA0W','Dw5JyxvNAhrfEgnLChrPB24','vKPisLO','rermx0fmvevs','Dg9Rzw4','q1jjveLdquW','C3vIC3rYAw5N','CMvTB3rLqwrKCMvZCW','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','zxPcuNu','Bg9N','C2vYDMLJzuLUzM8','rgf0ywjHC2u6ia','wg9dqMu','uhjVy2vZCYbxyxjUAw5NoIa','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWO','tI9b','icbvuKW6icaGia','rwn6rfC','mtGZnte3mgzfvfbYEq','D1nSyu8','uK9mtejbq0S','z3nmvMm','iokvKqRILzeGiefqssblzxKGicaGidOG','mtrhuuz1BLC','u1fmx0Xpr19qqvjbtvm','q09ntuLu','whHms3C','DgvZDa','rxjYB3i','CMvWBgfJzq','zxHPDa','Ahr0Cf9LCNjVCG','rxbYA3y','C3rKu2vYAwfSAxPLCNm','zK1RqKC','vhjHBNnHy3rPB24G','icbizwfSDgG6ia','CMvWzwf0'];a0_0x10c8=function(){return _0x1111cb;};return a0_0x10c8();}const createRequestLogger=(_0x3fdf44={})=>{return logger['child'](_0x3fdf44);},logServerStart=_0x11adbe=>{const _0x31e17b=a0_0x8abba4,_0x28f258={'pZlSB':_0x31e17b(0xca),'Eprkv':function(_0x378cbd,_0x1d61a4){return _0x378cbd/_0x1d61a4;},'zLnev':function(_0x2ded5a,_0x335877){return _0x2ded5a-_0x335877;},'bfQLb':'Node.js','xaGpw':_0x31e17b(0xe1),'IzoqT':function(_0x28c4b6,_0x47ca6d){return _0x28c4b6(_0x47ca6d);},'XuNqN':_0x31e17b(0xb8),'lOOJp':_0x31e17b(0x137),'IUvqd':_0x31e17b(0xc3)},_0x4105f9=_0x28f258['pZlSB'],_0x390d1c=Math[_0x31e17b(0x10f)](0x0,0x37-_0x4105f9[_0x31e17b(0x98)]),_0x1fc2e1=Math['floor'](_0x28f258[_0x31e17b(0xf2)](_0x390d1c,0x2)),_0x7d9cc2=_0x28f258[_0x31e17b(0x13f)](_0x390d1c,_0x1fc2e1),_0x3c1517='║'+'\x20'[_0x31e17b(0xf7)](_0x1fc2e1)+_0x4105f9+'\x20'['repeat'](_0x7d9cc2)+'║',_0x1ce3a7=_0x31e17b(0xe0)+_0x3c1517+_0x31e17b(0xaf)+(_0x11adbe[_0x31e17b(0xa1)]||_0x28f258['bfQLb'])[_0x31e17b(0x146)](0x26)+_0x31e17b(0x13c)+(_0x11adbe['project']||_0x28f258['xaGpw'])[_0x31e17b(0x146)](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+_0x28f258[_0x31e17b(0xb3)](String,_0x11adbe['port']||0xbb8)[_0x31e17b(0x146)](0x26)+_0x31e17b(0x128)+(_0x11adbe['configFile']||'Default')['padEnd'](0x26)+_0x31e17b(0xe8)+(_0x11adbe['apiKey']?_0x28f258[_0x31e17b(0x156)]:_0x28f258['lOOJp'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x31e17b(0xdb)](_0x1ce3a7);const _0x20a124={'event':_0x31e17b(0x12d),'project':_0x11adbe['project'],'port':_0x11adbe['port'],'config':_0x11adbe['configFile'],'apiKeyEnabled':!!_0x11adbe['apiKey']};logger[_0x31e17b(0xc3)](_0x20a124),writeToFileLog({..._0x20a124,'level':_0x28f258['IUvqd'],'msg':_0x31e17b(0xc0)+_0x11adbe['project']+'\x20on\x20port\x20'+_0x11adbe[_0x31e17b(0x121)],'time':new Date()['toISOString']()},'info');},logServerReady=_0x138c87=>{const _0x1a1cdc=a0_0x8abba4,_0x44d56f={'QHrDS':'server_ready','wSlaO':'info'},_0x259c1e={'event':_0x44d56f['QHrDS'],'port':_0x138c87['port'],'module':_0x138c87['module'],'healthCheck':_0x138c87['healthCheck'],'serviceInfo':_0x138c87['serviceInfo'],'baseUrl':_0x138c87[_0x1a1cdc(0x157)]},_0x2b23b4=_0x1a1cdc(0x125)+_0x138c87[_0x1a1cdc(0x121)];logger['info'](_0x259c1e,_0x2b23b4),writeToFileLog({..._0x259c1e,'level':_0x44d56f['wSlaO'],'msg':_0x2b23b4,'time':new Date()[_0x1a1cdc(0x131)]()},_0x44d56f[_0x1a1cdc(0xe5)]),_0x138c87['healthCheck']&&logger[_0x1a1cdc(0xc3)](_0x1a1cdc(0xf6)+_0x138c87['healthCheck']),_0x138c87['serviceInfo']&&logger['info'](_0x1a1cdc(0x12e)+_0x138c87[_0x1a1cdc(0xdc)]),_0x138c87[_0x1a1cdc(0x157)]&&logger['info'](_0x1a1cdc(0xe2)+_0x138c87[_0x1a1cdc(0x157)]);},logProjectLoaded=(_0x4213cc,_0x228a0b)=>{const _0x289053=a0_0x8abba4,_0x106d66={'JrJTJ':_0x289053(0x111),'itbli':'info'},_0x5b2ed3={'event':_0x106d66[_0x289053(0xa7)],'project':_0x4213cc,'path':_0x228a0b},_0x57e13a=_0x289053(0x102)+_0x4213cc;logger[_0x289053(0xc3)](_0x5b2ed3,_0x57e13a),writeToFileLog({..._0x5b2ed3,'level':'info','msg':_0x57e13a,'time':new Date()['toISOString']()},_0x106d66['itbli']);},logEndpointRegistered=(_0x42e9ea,_0x2bbbe6)=>{const _0x15d64c=a0_0x8abba4,_0x1f1492={'FKDIt':function(_0xa8d7a2,_0x3493df,_0x2bd0b9){return _0xa8d7a2(_0x3493df,_0x2bd0b9);},'BEMpb':'debug'},_0x58a92c={'event':_0x15d64c(0x12b),'endpoint':_0x42e9ea,'route':_0x2bbbe6},_0x1b440b=_0x15d64c(0xa8)+_0x42e9ea+':\x20'+_0x2bbbe6;logger['debug'](_0x58a92c,_0x1b440b),_0x1f1492[_0x15d64c(0x9f)](writeToFileLog,{..._0x58a92c,'level':_0x1f1492[_0x15d64c(0x11c)],'msg':_0x1b440b,'time':new Date()[_0x15d64c(0x131)]()},'debug');},logDatabaseConfig=_0x54d850=>{const _0x2da6dd=a0_0x8abba4,_0x48067f={'bMhWF':function(_0x4c060e,_0x248b57,_0x2f5f53){return _0x4c060e(_0x248b57,_0x2f5f53);}},_0x4e1c29={'event':_0x2da6dd(0x12a),'host':_0x54d850['host'],'port':_0x54d850[_0x2da6dd(0x121)],'database':_0x54d850['database'],'type':_0x54d850[_0x2da6dd(0xbb)],'user':_0x54d850[_0x2da6dd(0xcb)]},_0x489a2e=_0x2da6dd(0xdd)+_0x54d850[_0x2da6dd(0xbb)]+'://'+_0x54d850['host']+':'+_0x54d850['port']+'/'+_0x54d850['database'];logger[_0x2da6dd(0xd0)](_0x4e1c29,_0x489a2e),_0x48067f[_0x2da6dd(0x14e)](writeToFileLog,{..._0x4e1c29,'level':'debug','msg':_0x489a2e,'time':new Date()['toISOString']()},'debug');},logRequest=(_0x3bd154,_0x2ada15,_0x5081f3)=>{const _0x1b7c76=a0_0x8abba4,_0x4bd884={'XgHMj':'http_request','OtMic':'error','prmoY':function(_0x25b1cc,_0x1956ed,_0x43275d){return _0x25b1cc(_0x1956ed,_0x43275d);}},_0x95c33d={'event':_0x4bd884[_0x1b7c76(0xae)],'method':_0x3bd154['method'],'path':_0x3bd154[_0x1b7c76(0x12c)],'statusCode':_0x2ada15['statusCode'],'durationMs':_0x5081f3,'ip':_0x3bd154['ip']},_0x3ab43b=_0x3bd154[_0x1b7c76(0xab)]+'\x20'+_0x3bd154['path']+'\x20-\x20'+_0x2ada15['statusCode']+'\x20('+_0x5081f3+_0x1b7c76(0x119);let _0x2638e7='info';if(_0x2ada15[_0x1b7c76(0x11a)]>=0x1f4)_0x2638e7=_0x4bd884[_0x1b7c76(0x142)],logger['error'](_0x95c33d,_0x3ab43b);else _0x2ada15['statusCode']>=0x190?(_0x2638e7=_0x1b7c76(0xb5),logger['warn'](_0x95c33d,_0x3ab43b)):logger['info'](_0x95c33d,_0x3ab43b);_0x4bd884[_0x1b7c76(0x13d)](writeToFileLog,{..._0x95c33d,'level':_0x2638e7,'msg':_0x3ab43b,'time':new Date()[_0x1b7c76(0x131)]()},_0x2638e7);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x8abba4(0xfc),a0_0x8abba4(0x118),a0_0x8abba4(0xd5),a0_0x8abba4(0x117),'refresh_token',a0_0x8abba4(0x13a),'api_secret','apikey',a0_0x8abba4(0x11d),'credential',a0_0x8abba4(0xbd),'pin',a0_0x8abba4(0x116),'private_key',a0_0x8abba4(0xc5)],redactSensitiveParams=(_0x5df817,_0x1e936d)=>{const _0x12f03c=a0_0x8abba4,_0x15468b={'yRxUy':'[REDACTED:token]'};if(!_0x5df817||_0x5df817['length']===0x0)return _0x5df817;const _0x855e5a=_0x1e936d[_0x12f03c(0x155)](),_0x30db82=_0x855e5a[_0x12f03c(0x14a)](/\(([^)]+)\)\s*values/i);let _0x2d3a8b=[];_0x30db82&&(_0x2d3a8b=_0x30db82[0x1][_0x12f03c(0xb4)](',')['map'](_0x13c5da=>_0x13c5da[_0x12f03c(0x144)]()[_0x12f03c(0x155)]()));const _0x471495=_0x855e5a['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x471495){const _0xb3826c=_0x471495[0x1],_0x40bf8b=_0xb3826c[_0x12f03c(0x14a)](/(\w+)\s*=/g);_0x40bf8b&&(_0x2d3a8b=_0x40bf8b[_0x12f03c(0xad)](_0x14b330=>_0x14b330[_0x12f03c(0xef)](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x5df817['map']((_0x1a5576,_0xb3e931)=>{const _0x464680=_0x12f03c;if(_0x2d3a8b[_0xb3e931]){const _0x55e535=_0x2d3a8b[_0xb3e931],_0x2bd0e3=SENSITIVE_PARAM_PATTERNS[_0x464680(0x115)](_0x1f5053=>_0x55e535[_0x464680(0x124)](_0x1f5053));if(_0x2bd0e3)return _0x464680(0x13e);}if(typeof _0x1a5576===_0x464680(0x132)&&_0x1a5576['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x464680(0xed)](_0x1a5576)&&_0x1a5576[_0x464680(0x124)]('.'))return _0x15468b[_0x464680(0x9b)];if(/^[a-fA-F0-9]{32,}$/['test'](_0x1a5576))return _0x464680(0xfd);}return _0x1a5576;});},parseQueryMetadata=_0x5b1f38=>{const _0x339500=a0_0x8abba4,_0xc5e158={'NvvqT':_0x339500(0x103),'UBqvY':'UPDATE','fvskL':'TRANSACTION_BEGIN','HUjyw':_0x339500(0xeb),'OuvLS':'TRANSACTION_COMMIT','WJYbp':_0x339500(0xe6),'XtcGa':'TRANSACTION_ROLLBACK','DGByS':'DDL_CREATE','wvwfm':'ALTER','qjGET':_0x339500(0xd4)},_0x879eb2=_0x5b1f38[_0x339500(0x144)](),_0x307c66=_0x879eb2[_0x339500(0x138)]();let _0xc63af0=_0x339500(0x140),_0xb80253=null;if(_0x307c66['startsWith'](_0x339500(0x120))){_0xc63af0='SELECT';const _0x3d06e5=_0x879eb2['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xb80253=_0x3d06e5?_0x3d06e5[0x1]:null;}else{if(_0x307c66[_0x339500(0x153)](_0xc5e158['NvvqT'])){_0xc63af0=_0xc5e158['NvvqT'];const _0x3248d0=_0x879eb2[_0x339500(0x14a)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xb80253=_0x3248d0?_0x3248d0[0x1]:null;}else{if(_0x307c66[_0x339500(0x153)](_0xc5e158['UBqvY'])){_0xc63af0=_0xc5e158[_0x339500(0xa6)];const _0x8b8ebf=_0x879eb2['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xb80253=_0x8b8ebf?_0x8b8ebf[0x1]:null;}else{if(_0x307c66[_0x339500(0x153)]('DELETE')){_0xc63af0=_0x339500(0xc9);const _0x4ba8f8=_0x879eb2['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0xb80253=_0x4ba8f8?_0x4ba8f8[0x1]:null;}else{if(_0x307c66['startsWith'](_0x339500(0x139))||_0x307c66[_0x339500(0x153)](_0x339500(0x101)))_0xc63af0=_0xc5e158[_0x339500(0xd1)];else{if(_0x307c66['startsWith'](_0xc5e158['HUjyw']))_0xc63af0=_0xc5e158['OuvLS'];else{if(_0x307c66[_0x339500(0x153)](_0xc5e158['WJYbp']))_0xc63af0=_0xc5e158['XtcGa'];else{if(_0x307c66[_0x339500(0x153)]('CREATE'))_0xc63af0=_0xc5e158[_0x339500(0x14b)];else{if(_0x307c66['startsWith'](_0xc5e158['wvwfm']))_0xc63af0=_0xc5e158[_0x339500(0x10a)];else _0x307c66['startsWith']('DROP')&&(_0xc63af0='DDL_DROP');}}}}}}}}return{'type':_0xc63af0,'table':_0xb80253};},startQueryTimer=()=>{const _0x2f13e6=a0_0x8abba4,_0x279465={'RHRPj':function(_0x5db054,_0x50b809){return _0x5db054(_0x50b809);},'WHEPi':function(_0x49264b,_0x5b6de7){return _0x49264b*_0x5b6de7;}},_0x117bad=process[_0x2f13e6(0xcc)]();return()=>{const _0x726f9b=_0x2f13e6,[_0x4a4c2,_0x53f7cb]=process['hrtime'](_0x117bad);return _0x279465['RHRPj'](parseFloat,(_0x279465['WHEPi'](_0x4a4c2,0x3e8)+_0x53f7cb/0xf4240)[_0x726f9b(0x12f)](0x2));};},logQuery=(_0x781224,_0x1936fa=[],_0x3caee8={})=>{const _0x389ffc=a0_0x8abba4,_0x104789={'EczDW':_0x389ffc(0xf8),'XWnzV':'DB\x20Query','soLjC':'sql_query','bRijl':function(_0x219969,_0x4a272e,_0x2fa0f4){return _0x219969(_0x4a272e,_0x2fa0f4);},'ghMAD':function(_0x438065,_0x1280aa){return _0x438065!==_0x1280aa;},'BraTY':function(_0x2c6112,_0x353b3f){return _0x2c6112||_0x353b3f;},'gsLVc':_0x389ffc(0xb5),'mNMGE':function(_0x52b24c,_0x47d481){return _0x52b24c===_0x47d481;},'nZIKL':'info'};if(!sqlLogEnabled){logger['debug']({'event':_0x104789[_0x389ffc(0xe3)],'query':_0x781224[_0x389ffc(0xd7)](0x0,0xc8),'paramCount':_0x1936fa['length']},_0x104789['XWnzV']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x389ffc(0x9c)}=_0x3caee8,{type:_0xd3e339,table:_0x49f892}=parseQueryMetadata(_0x781224),_0x181a42={'event':_0x104789['soLjC'],'queryType':_0xd3e339,'table':_0x49f892,'query':_0x781224,'paramCount':_0x1936fa['length'],'dbType':dbType};sqlLogParams&&_0x1936fa['length']>0x0&&(_0x181a42['params']=_0x104789[_0x389ffc(0x152)](redactSensitiveParams,_0x1936fa,_0x781224));duration!==null&&(_0x181a42[_0x389ffc(0x100)]=duration,_0x181a42['isSlow']=duration>sqlLogSlowThreshold);_0x104789['ghMAD'](rowsAffected,null)&&(_0x181a42[_0x389ffc(0xcf)]=rowsAffected);const _0x2af2e7=_0x104789[_0x389ffc(0xa0)](_0x49f892,'unknown');let _0x1c169a='['+_0xd3e339+']\x20'+_0x2af2e7;duration!==null&&(_0x1c169a+='\x20('+duration+_0x389ffc(0x119));const _0x44ea1e=duration!==null&&duration>sqlLogSlowThreshold;let _0x3b78ea=_0x389ffc(0xd0);if(_0x44ea1e)_0x1c169a+='\x20[SLOW]',_0x3b78ea=_0x104789[_0x389ffc(0xe7)],logger['warn'](_0x181a42,_0x1c169a);else _0x104789['mNMGE'](sqlLogLevel,_0x104789['nZIKL'])?(_0x3b78ea=_0x104789['nZIKL'],logger['info'](_0x181a42,_0x1c169a)):logger[_0x389ffc(0xd0)](_0x181a42,_0x1c169a);writeToFileLog({..._0x181a42,'level':_0x3b78ea,'msg':_0x1c169a,'time':new Date()['toISOString']()},_0x3b78ea);},logTransaction=(_0x46c16c,_0x5b8cb9)=>{const _0x5a0062=a0_0x8abba4,_0x5430b9={'svKTA':_0x5a0062(0xd0)},_0x41fb06={'event':'db_transaction','status':_0x46c16c,'queryCount':_0x5b8cb9},_0x5cecde=_0x5a0062(0xf5)+_0x46c16c;logger['debug'](_0x41fb06,_0x5cecde),writeToFileLog({..._0x41fb06,'level':_0x5a0062(0xd0),'msg':_0x5cecde,'time':new Date()[_0x5a0062(0x131)]()},_0x5430b9[_0x5a0062(0xc6)]);},redactObject=_0x512cca=>{const _0xfe7c7c=a0_0x8abba4,_0x244a6d={'qAJTj':'object','rvmMy':_0xfe7c7c(0x10b),'qyIQI':_0xfe7c7c(0xfc),'FwAfp':_0xfe7c7c(0x118),'SbHXC':_0xfe7c7c(0x13a),'hpDgf':'credit_card','tuAtR':'cvv','MWHqR':'ssn','PehrS':'refresh_token'};if(!_0x512cca||typeof _0x512cca!==_0x244a6d[_0xfe7c7c(0x147)])return _0x512cca;const _0x3d23eb=[_0x244a6d['rvmMy'],_0x244a6d[_0xfe7c7c(0x106)],_0x244a6d[_0xfe7c7c(0x122)],_0xfe7c7c(0xd5),_0x244a6d['SbHXC'],_0xfe7c7c(0x126),'api_key','authorization',_0xfe7c7c(0xaa),_0x244a6d[_0xfe7c7c(0xb0)],_0x244a6d['tuAtR'],_0x244a6d['MWHqR'],_0xfe7c7c(0x151),'private_key','privatekey',_0x244a6d['PehrS'],'access_token'],_0x3db5fd=Array['isArray'](_0x512cca)?[..._0x512cca]:{..._0x512cca};for(const _0x3491a9 of Object['keys'](_0x3db5fd)){const _0x4d52ac=_0x3491a9[_0xfe7c7c(0x155)]();if(_0x3d23eb['some'](_0x22e154=>_0x4d52ac[_0xfe7c7c(0x124)](_0x22e154)))_0x3db5fd[_0x3491a9]=_0xfe7c7c(0x13e);else typeof _0x3db5fd[_0x3491a9]===_0x244a6d['qAJTj']&&_0x3db5fd[_0x3491a9]!==null&&(_0x3db5fd[_0x3491a9]=redactObject(_0x3db5fd[_0x3491a9]));}return _0x3db5fd;},logError=(_0x44b02c,_0x31700a={},_0x57a6dc=null)=>{const _0x28929c=a0_0x8abba4,_0x50425d={'XoCBe':'error','jJIDd':'Error','XXEhU':function(_0x1f09ea,_0x30090d,_0x36cdc8){return _0x1f09ea(_0x30090d,_0x36cdc8);}},_0x470da8={'event':_0x50425d['XoCBe'],'errorName':_0x44b02c[_0x28929c(0xb2)]||_0x50425d[_0x28929c(0xb1)],'errorMessage':_0x44b02c['message'],'errorCode':_0x44b02c['code']||null,'stack':_0x44b02c['stack'],..._0x31700a},_0x44f7b2=_0x57a6dc||'Error:\x20'+_0x44b02c['message'];logger[_0x28929c(0x123)](_0x470da8,_0x44f7b2),_0x50425d['XXEhU'](writeToFileLog,{..._0x470da8,'level':_0x50425d['XoCBe'],'msg':_0x44f7b2,'time':new Date()['toISOString']()},_0x50425d[_0x28929c(0xde)]);},logFatalError=(_0x5a265d,_0x5c888f={},_0x55740e=null)=>{const _0x2db504=a0_0x8abba4,_0x2f88f5={'gBmSc':_0x2db504(0xb9),'SnTyd':'Error','GRoxI':function(_0x1f1562,_0x3625f3,_0xe22073){return _0x1f1562(_0x3625f3,_0xe22073);},'xBKMm':_0x2db504(0x123)},_0x2bfcc4={'event':_0x2f88f5['gBmSc'],'errorName':_0x5a265d[_0x2db504(0xb2)]||_0x2f88f5[_0x2db504(0xff)],'errorMessage':_0x5a265d['message'],'errorCode':_0x5a265d['code']||null,'stack':_0x5a265d[_0x2db504(0x134)],'severity':_0x2db504(0xd6),..._0x5c888f},_0x1b49e3=_0x55740e||'FATAL:\x20'+_0x5a265d['message'];logger[_0x2db504(0xc8)](_0x2bfcc4,_0x1b49e3),_0x2f88f5[_0x2db504(0xa2)](writeToFileLog,{..._0x2bfcc4,'level':_0x2db504(0xc8),'msg':_0x1b49e3,'time':new Date()['toISOString']()},_0x2f88f5['xBKMm']);},logHttpError=(_0xef09ef,_0x48622d,_0x1152aa={})=>{const _0xa8c7b8=a0_0x8abba4,_0x39a04f={'HyZsi':_0xa8c7b8(0xf1),'rtohq':_0xa8c7b8(0x129),'tTuuS':function(_0x35e8eb,_0x416ef8){return _0x35e8eb>=_0x416ef8;},'yxbhH':_0xa8c7b8(0xb5),'mMGfV':function(_0x5d0597,_0x46b146){return _0x5d0597>=_0x46b146;},'YOtCz':_0xa8c7b8(0x123)},_0x2ed85b={'event':_0x39a04f['HyZsi'],'errorName':_0xef09ef[_0xa8c7b8(0xb2)]||_0xa8c7b8(0xee),'errorMessage':_0xef09ef[_0xa8c7b8(0x135)],'errorCode':_0xef09ef['code']||_0xef09ef[_0xa8c7b8(0x11a)]||0x1f4,'stack':_0xef09ef[_0xa8c7b8(0x134)],'method':_0x48622d?.[_0xa8c7b8(0xab)],'url':_0x48622d?.[_0xa8c7b8(0x10e)]||_0x48622d?.[_0xa8c7b8(0x107)],'path':_0x48622d?.['path'],'ip':_0x48622d?.['ip']||_0x48622d?.['connection']?.[_0xa8c7b8(0xd8)],'userAgent':_0x48622d?.['get']?.(_0x39a04f['rtohq']),'requestId':_0x48622d?.['id']||_0x48622d?.[_0xa8c7b8(0x14f)]?.['x-request-id'],'body':_0x48622d?.[_0xa8c7b8(0x110)]?redactObject(_0x48622d['body']):undefined,'query':_0x48622d?.[_0xa8c7b8(0x109)],..._0x1152aa},_0x2539b3=_0xef09ef[_0xa8c7b8(0x11a)]||_0xef09ef['status']||0x1f4,_0x775362=_0xa8c7b8(0x150)+_0x2539b3+':\x20'+_0xef09ef[_0xa8c7b8(0x135)];_0x2539b3>=0x1f4?logger['error'](_0x2ed85b,_0x775362):logger['warn'](_0x2ed85b,_0x775362),writeToFileLog({..._0x2ed85b,'level':_0x39a04f[_0xa8c7b8(0xb6)](_0x2539b3,0x1f4)?'error':_0x39a04f['yxbhH'],'msg':_0x775362,'time':new Date()[_0xa8c7b8(0x131)]()},_0x39a04f['mMGfV'](_0x2539b3,0x1f4)?_0x39a04f[_0xa8c7b8(0x9e)]:'warn');},logUncaughtError=(_0x273d3d,_0x3f84a1)=>{const _0x1af311=a0_0x8abba4,_0x2340ae={'RSKwx':_0x1af311(0xee),'YnphH':function(_0x26046c,_0x4a3b1e){return _0x26046c(_0x4a3b1e);},'LvPDO':'CRITICAL','BjoAO':function(_0x35c382,_0x10efc9,_0x1db1a8){return _0x35c382(_0x10efc9,_0x1db1a8);},'VcVws':_0x1af311(0xc8),'bUNfj':'error'},_0x2ee50b={'event':_0x273d3d,'errorName':_0x3f84a1?.[_0x1af311(0xb2)]||_0x2340ae['RSKwx'],'errorMessage':_0x3f84a1?.[_0x1af311(0x135)]||_0x2340ae['YnphH'](String,_0x3f84a1),'errorCode':_0x3f84a1?.['code']||null,'stack':_0x3f84a1?.[_0x1af311(0x134)],'severity':_0x2340ae['LvPDO'],'processId':process[_0x1af311(0x9d)],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x1af311(0x148)]()},_0x32c61b='['+_0x273d3d['toUpperCase']()+']\x20'+(_0x3f84a1?.[_0x1af311(0x135)]||_0x3f84a1);logger[_0x1af311(0xc8)](_0x2ee50b,_0x32c61b),_0x2340ae['BjoAO'](writeToFileLog,{..._0x2ee50b,'level':_0x2340ae[_0x1af311(0x130)],'msg':_0x32c61b,'time':new Date()[_0x1af311(0x131)]()},_0x2340ae['bUNfj']);},setupGlobalErrorHandlers=()=>{const _0x1b84a7=a0_0x8abba4,_0x54c140={'ioBac':function(_0x327e15,_0x108380){return _0x327e15 instanceof _0x108380;},'XxLKw':_0x1b84a7(0xb7),'HYRuy':'process_warning','yjuQA':'uncaughtException','HyCJe':_0x1b84a7(0xac),'hovUO':'Global\x20error\x20handlers\x20initialized'};process['on'](_0x54c140[_0x1b84a7(0xa9)],_0x44a61c=>{const _0x32cbf5=_0x1b84a7;logUncaughtError(_0x32cbf5(0xd2),_0x44a61c),setTimeout(()=>{const _0xcce3f1=_0x32cbf5;process[_0xcce3f1(0xf0)](0x1);},0x3e8);}),process['on'](_0x54c140['XxLKw'],(_0x180901,_0xd63a77)=>{const _0x37c0ae=_0x1b84a7,_0x3a18a9=_0x54c140['ioBac'](_0x180901,Error)?_0x180901:new Error(String(_0x180901));logUncaughtError(_0x54c140[_0x37c0ae(0xec)],_0x3a18a9);}),process['on'](_0x1b84a7(0x11e),_0x58dfe5=>{const _0x1f6767=_0x1b84a7;logger['warn']({'event':_0x54c140[_0x1f6767(0x105)],'name':_0x58dfe5[_0x1f6767(0xb2)],'message':_0x58dfe5[_0x1f6767(0x135)],'stack':_0x58dfe5['stack']},_0x1f6767(0xdf)+_0x58dfe5[_0x1f6767(0x135)]);});const _0x7f8446={'event':_0x54c140[_0x1b84a7(0xbe)]},_0x9911c8=_0x54c140['hovUO'];logger['info'](_0x7f8446,_0x9911c8),writeToFileLog({..._0x7f8446,'level':_0x1b84a7(0xc3),'msg':_0x9911c8,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{const _0x389f0c={'SWmYm':'Internal\x20server\x20error','kCANk':'x-request-id'};return(_0x2c6be3,_0x457170,_0x585548,_0x1ba775)=>{const _0x714744=a0_0x58aa;logHttpError(_0x2c6be3,_0x457170);const _0x28df03=_0x2c6be3['statusCode']||_0x2c6be3['status']||0x1f4;_0x585548['status'](_0x28df03)['json']({'success':![],'error':_0x28df03>=0x1f4?_0x389f0c['SWmYm']:_0x2c6be3['message'],'requestId':_0x457170['id']||_0x457170[_0x714744(0x14f)]?.[_0x389f0c[_0x714744(0x10c)]]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
1
|
+
const a0_0x12f6df=a0_0x9884;(function(_0x4524d9,_0x3b5cbc){const _0x37095f=a0_0x9884,_0x5f5ce7=_0x4524d9();while(!![]){try{const _0x2b4727=parseInt(_0x37095f(0xa1))/0x1+parseInt(_0x37095f(0xea))/0x2*(parseInt(_0x37095f(0x129))/0x3)+parseInt(_0x37095f(0x96))/0x4+-parseInt(_0x37095f(0xfd))/0x5*(parseInt(_0x37095f(0x11f))/0x6)+-parseInt(_0x37095f(0x149))/0x7+-parseInt(_0x37095f(0xbe))/0x8*(-parseInt(_0x37095f(0xa9))/0x9)+parseInt(_0x37095f(0xbf))/0xa*(parseInt(_0x37095f(0x14f))/0xb);if(_0x2b4727===_0x3b5cbc)break;else _0x5f5ce7['push'](_0x5f5ce7['shift']());}catch(_0x2fbe2f){_0x5f5ce7['push'](_0x5f5ce7['shift']());}}}(a0_0x3c7e,0xe7925));const pino=require(a0_0x12f6df(0xca)),fs=require('fs'),path=require('path');let logToFile=![],logDir=a0_0x12f6df(0xc5),serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x12f6df(0x12c),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x12f6df(0x125),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x12f6df(0x14a),'customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0x12f6df(0xd0)][a0_0x12f6df(0x93)]!==a0_0x12f6df(0x100),logLevel=process['env']['LOG_LEVEL']||a0_0x12f6df(0x132);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':a0_0x12f6df(0x137),'options':prettyPrintOptions}:undefined,'base':{'service':a0_0x12f6df(0x8d),'version':process['env']['APP_VERSION']||a0_0x12f6df(0x12b),'env':process[a0_0x12f6df(0xd0)]['NODE_ENV']||a0_0x12f6df(0x14e)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x12f6df(0x9f),'req.headers[\x22x-api-key\x22]','password','token',a0_0x12f6df(0xe6),a0_0x12f6df(0xaf),a0_0x12f6df(0x11a)],'censor':a0_0x12f6df(0xae)},'serializers':{'req':_0x25e2ab=>({'id':_0x25e2ab['id'],'method':_0x25e2ab[a0_0x12f6df(0xe5)],'url':_0x25e2ab[a0_0x12f6df(0xfe)],'path':_0x25e2ab['path'],'remoteAddress':_0x25e2ab['ip']||_0x25e2ab[a0_0x12f6df(0xec)]?.['remoteAddress']}),'res':_0x440bc0=>({'statusCode':_0x440bc0[a0_0x12f6df(0x12a)],'headers':_0x440bc0['getHeaders']?.()}),'err':pino['stdSerializers'][a0_0x12f6df(0xf8)]}});function a0_0x3c7e(){const _0x160842=['B29AugW','y2HPBgq','CgfYyw1Z','mJiWmdaXnhHYA1rKua','C3rHDhvZq29Kzq','ms4WlJu','zgvIDwC','zxjYB3i','rxjYB3i6ia','C3rHy2S','CMPrBMG','EgHUywi','Aw5MBW','zgf0ywjHC2vFy29UzMLN','zvvpuvG','q2r5AxG','lI9SB2DZlW','CgLUBY1WCMv0DhK','vfjbtLnbq1rjt05FuK9mtejbq0S','y3jLyxrLv3jPDgvtDhjLyw0','Dg9Rzw4','CMvTB3rLqwrKCMvZCW','DhjPBq','yM9KEq','Cg9ZDgDYzxnXBa','Dg9ju09tDhjPBMC','C3rYAw5N','Bwf0y2G','y3z2','DgvZDa','CMvWzwf0','C3b0ve0','CgfKrw5K','Bg9N','D2fYBG','mta5nZGYmtLNu0D3Eui','E21Zz30','Aw5JBhvKzxm','zMf0ywXFzxjYB3i','C3fSx3f1zxj5','zgv2zwXVCg1LBNq','nZy0nZjHrMfhsNa','zgvMyxvSDa','y3jLzgL0x2nHCMq','vhjHBNnHy3rPB24G','AgvHBhrOq2HLy2S','tK9uiefdveLwrq','sKz3Axa','BLvcDvG','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','Ahr0Cf9Yzxf1zxn0','wej5vNq','CMvZDgzVCMDL','v3Ldu0q','rermx0nsrufurq','BwvZC2fNzq','BxmP','Dxb0Aw1L','tK9erv9ftLy','C3rHCNrZv2L0Aa','yMfZzvvYBa','mZaZmZCWmffsugDJEG','y3jLzgL0y2fYza','yxbPA2v5','te9hx1rpx0zjteu','zMXVB3i','C29Tzq','Dgzrsxa','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','D3jPDgu','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','u0vsvKLdrv9oqu1f','mti0mZiXmMncvvngvW','Cg9YDa','Bw9KDwXL','z2v0','B2jQzwn0','ALDny1O','Dg9gAxHLza','CgfZC3DK','nJC5ndi4mhjvsKT1yG','CMvZB2X2zq','rfjpua','BxDiuNu','BwvTB3j5vxnHz2u','w1jfrefdvevexq','rejFueftu1DpuKq','w1jfrefdveveoMHHC2HD','Dhj1zq','q09ntuLu','B3rW','s0nQueG','C2vYDMLJzuLUzM8','zxHWB3j0CW','z3DKrui','icdIHPiG','yMfHBhe','ALD1rfu','B3jPz2LUywXvCMW','BwfW','t2XLuLK','oeX5BNLxua','mtaWmefqzhLXvW','u1nhqwG','CMvWBgfJzq','AvnTuxy','DLzktgS','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','lI9SB2DZ','BMfTzq','yMDdEgu','yxv0Ag9YAxPHDgLVBG','Bwf4','CgLUBW','AgvHzgvYCW','C1rIrNe','ChjVAMvJDf9SB2fKzwq','u1fmx0Xpr19mrvzfta','Dg9mB3DLCKnHC2u','zw52','AM9PBG','sw50zxjUywWGC2vYDMvYigvYCM9Y','rgf0ywjHC2u6ia','DM9tB1u','te9HB2C','C2TWD2m','Ahj0Aw1L','C3rHDhvZ','u0vmrunu','u1rbuLqGvfjbtLnbq1rjt04','zw5KCg9PBNrFCMvNAxn0zxjLza','CgfZC3DVCMq','yxbPx3nLy3jLDa','C2vJCMv0','s1L5qvO','rxLQv1e','ic0G','zMf0ywW','Dw5RBM93BG','rgDls0O','Bwv0Ag9K','yxbPs2v5','oI8V','twLZCgq','y29UzMLNrMLSzq','mMfly05Ozq','rgvMyxvSDa','y29UBMvJDgLVBG','DxnLCG','vfjbtLnbq1rjt05Fq09ntuLu','rermx0fmvevs','A0Dswwi','quXurvi','sfruuca','vMzvAgK','uhjVy2vZCYbxyxjUAw5NoIa','su5trvju','vKrvvhe','Dw5JyxvNAhrfEgnLChrPB24','zxjY','u1fmx0Xpr19ftKfcteve','s1LUqxq','D2fYBMLUzW','iokvKqRILzeGienVBMzPzYaGicaGidOG','ntK1AhrbCvzX','DxjS','sunWwge','ChjVzhvJDgLVBG','zxjYB3iUBg9N','DhLWzq','twrLC2u','Cgf0Aa','w1jfrefdveveoNrVA2vUxq','swjKv00','BevhqLm','DxnLCI1Hz2vUDa','rKfuquW6ia','Dg9vChbLCKnHC2u','A2v5CW','revmrvrf','t01YCg4','y29Kzq','rxjYB3i','ifTtte9xxq','y3zYC2q','BgvUz3rO','Ec1Yzxf1zxn0lwLK','yKPer2K','cUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','ChjVAMvJDa','zw52AxjVBM1LBNq','zxHPDa','ig9UihbVCNqG','sLDux1nfq1jfva','uK9mtejbq0S','Ag9ZDa','wwfdtMu','vvbeqvrf','odqXmtryDg9sBKy','ChjPDMf0zwTLEq','uKvtvezpuKDfifjvtLrjtuuGu0vsvKvs','u2vYDMvYihn0yxj0Aw5NoIa','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','Auj3y20','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq'];a0_0x3c7e=function(){return _0x160842;};return a0_0x3c7e();}function initFileLogging(){const _0x58882b=a0_0x12f6df,_0x4ca5a6={'WyCSD':_0x58882b(0xb1),'iSJhl':_0x58882b(0x150),'ICpXa':function(_0xa6059b,_0x44e814){return _0xa6059b===_0x44e814;},'IDppH':'debug','svoPY':'false','bJDGi':'error.log','ZnVzW':'file_logging_enabled','iUrqV':'app.log','OleRY':function(_0x2ba68f,_0x4d896e,_0x23b204){return _0x2ba68f(_0x4d896e,_0x23b204);},'GmPko':'info'};if(fileLoggingInitialized)return;logToFile=process[_0x58882b(0xd0)][_0x58882b(0x99)]===_0x4ca5a6['WyCSD'];const _0x174d71=process[_0x58882b(0xd0)]['RESTFORGE_PROJECT_NAME']||_0x4ca5a6['iSJhl'];logDir=process[_0x58882b(0xd0)]['LOG_DIR']||_0x58882b(0x136)+_0x174d71,serviceName=process[_0x58882b(0xd0)][_0x58882b(0xa0)]||_0x58882b(0x8d),sqlLogEnabled=_0x4ca5a6[_0x58882b(0xff)](process['env'][_0x58882b(0xf9)],_0x4ca5a6[_0x58882b(0x8e)]),sqlLogLevel=process['env'][_0x58882b(0xce)]||_0x4ca5a6['IDppH'],sqlLogParams=process['env']['SQL_LOG_PARAMS']!==_0x4ca5a6['svoPY'],sqlLogSlowThreshold=parseInt(process[_0x58882b(0xd0)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x2f637e=path[_0x58882b(0xaa)](process['cwd'](),logDir);try{!fs['existsSync'](_0x2f637e)&&fs['mkdirSync'](_0x2f637e,{'recursive':!![]});}catch(_0x113333){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x2f637e+':',_0x113333[_0x58882b(0x90)]),fileLoggingInitialized=!![];return;}const _0x3ffb74=path[_0x58882b(0xd1)](_0x2f637e,'app.log'),_0x289c39=path['join'](_0x2f637e,_0x4ca5a6[_0x58882b(0x114)]);try{appLogStream=fs['createWriteStream'](_0x3ffb74,{'flags':'a'}),errorLogStream=fs[_0x58882b(0x139)](_0x289c39,{'flags':'a'}),fileLoggingInitialized=!![];const _0x32892e={'event':_0x4ca5a6['ZnVzW'],'logDir':_0x2f637e,'files':[_0x4ca5a6['iUrqV'],_0x58882b(0x101)]},_0x4dbb5a='File\x20logging\x20enabled:\x20'+_0x2f637e;logger['info'](_0x32892e,_0x4dbb5a),_0x4ca5a6[_0x58882b(0xbd)](writeToFileLog,{..._0x32892e,'level':_0x4ca5a6['GmPko'],'msg':_0x4dbb5a,'time':new Date()['toISOString']()},_0x58882b(0x132));}catch(_0x4fc7c8){console[_0x58882b(0x12d)](_0x58882b(0x8a),_0x4fc7c8[_0x58882b(0x90)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x4585c0,_0x2fd9c1){const _0x139f17=a0_0x12f6df,_0x2f8495={'czlDD':function(_0x2a61b2,_0x18c014){return _0x2a61b2||_0x18c014;},'zvTZP':function(_0x46bcbf,_0x58ccb3){return _0x46bcbf+_0x58ccb3;},'bgCxe':function(_0x1581ca,_0x143444){return _0x1581ca===_0x143444;},'VfUhi':'error','iBwcm':_0x139f17(0xe2)};if(_0x2f8495['czlDD'](!logToFile,!appLogStream))return;const _0x242706={'service':serviceName,..._0x4585c0},_0x396468=_0x2f8495['zvTZP'](JSON['stringify'](_0x242706),'\x0a');appLogStream['write'](_0x396468),(_0x2f8495[_0x139f17(0xc7)](_0x2fd9c1,_0x2f8495[_0x139f17(0xf3)])||_0x2f8495[_0x139f17(0xc7)](_0x2fd9c1,_0x2f8495[_0x139f17(0x124)]))&&(errorLogStream&&errorLogStream[_0x139f17(0x9e)](_0x396468));}function a0_0x9884(_0x28394b,_0x234eae){_0x28394b=_0x28394b-0x86;const _0x3c7ec0=a0_0x3c7e();let _0x988464=_0x3c7ec0[_0x28394b];if(a0_0x9884['dxhjDt']===undefined){var _0x378367=function(_0x43e018){const _0x55e364='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1cc6c2='',_0x5962df='';for(let _0x34aa5e=0x0,_0x4d8b13,_0xcdbeea,_0x623dd6=0x0;_0xcdbeea=_0x43e018['charAt'](_0x623dd6++);~_0xcdbeea&&(_0x4d8b13=_0x34aa5e%0x4?_0x4d8b13*0x40+_0xcdbeea:_0xcdbeea,_0x34aa5e++%0x4)?_0x1cc6c2+=String['fromCharCode'](0xff&_0x4d8b13>>(-0x2*_0x34aa5e&0x6)):0x0){_0xcdbeea=_0x55e364['indexOf'](_0xcdbeea);}for(let _0x7801cf=0x0,_0x20d495=_0x1cc6c2['length'];_0x7801cf<_0x20d495;_0x7801cf++){_0x5962df+='%'+('00'+_0x1cc6c2['charCodeAt'](_0x7801cf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5962df);};a0_0x9884['NVegqZ']=_0x378367,a0_0x9884['ZwgnzS']={},a0_0x9884['dxhjDt']=!![];}const _0x120e39=_0x3c7ec0[0x0],_0x58e34c=_0x28394b+_0x120e39,_0xd67211=a0_0x9884['ZwgnzS'][_0x58e34c];return!_0xd67211?(_0x988464=a0_0x9884['NVegqZ'](_0x988464),a0_0x9884['ZwgnzS'][_0x58e34c]=_0x988464):_0x988464=_0xd67211,_0x988464;}const createRequestLogger=(_0x48e09e={})=>{const _0x4ad0c0=a0_0x12f6df;return logger[_0x4ad0c0(0x127)](_0x48e09e);},logServerStart=_0x3462c6=>{const _0x4b8a34=a0_0x12f6df,_0x26d4a4={'skpwc':_0x4b8a34(0x121),'eUOQX':function(_0x5927b3,_0x1f032c){return _0x5927b3-_0x1f032c;},'XPPCA':'ACTIVE','zMDaW':function(_0x2b24ce,_0x3521d0,_0xe27fe6){return _0x2b24ce(_0x3521d0,_0xe27fe6);}},_0x1aefa9=_0x26d4a4[_0x4b8a34(0xd6)],_0x41ecd2=Math[_0x4b8a34(0xc9)](0x0,0x37-_0x1aefa9['length']),_0x11a7fb=Math[_0x4b8a34(0x9a)](_0x41ecd2/0x2),_0x5884bf=_0x26d4a4[_0x4b8a34(0x134)](_0x41ecd2,_0x11a7fb),_0x5312f7='║'+'\x20'['repeat'](_0x11a7fb)+_0x1aefa9+'\x20'[_0x4b8a34(0x144)](_0x5884bf)+'║',_0x54b2a3='\x0a╔═══════════════════════════════════════════════════════╗\x0a'+_0x5312f7+_0x4b8a34(0x115)+(_0x3462c6[_0x4b8a34(0x117)]||'Node.js')['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x3462c6[_0x4b8a34(0x116)]||'N/A')['padEnd'](0x26)+'\x20║\x0a║\x20\x20Port\x20\x20\x20\x20\x20\x20\x20\x20:\x20'+String(_0x3462c6['port']||0xbb8)['padEnd'](0x26)+_0x4b8a34(0xfc)+(_0x3462c6[_0x4b8a34(0xe9)]||_0x4b8a34(0xeb))['padEnd'](0x26)+'\x20║\x0a║\x20\x20API\x20Key\x20\x20\x20\x20\x20:\x20'+(_0x3462c6['apiKey']?_0x26d4a4['XPPCA']:_0x4b8a34(0x87))[_0x4b8a34(0x146)](0x26)+_0x4b8a34(0xc4);console[_0x4b8a34(0x147)](_0x54b2a3);const _0x5c2899={'event':'server_starting','project':_0x3462c6['project'],'port':_0x3462c6[_0x4b8a34(0xa2)],'config':_0x3462c6['configFile'],'apiKeyEnabled':!!_0x3462c6[_0x4b8a34(0xe6)]};logger[_0x4b8a34(0x132)](_0x5c2899),_0x26d4a4['zMDaW'](writeToFileLog,{..._0x5c2899,'level':_0x4b8a34(0x132),'msg':_0x4b8a34(0x122)+_0x3462c6['project']+_0x4b8a34(0x119)+_0x3462c6[_0x4b8a34(0xa2)],'time':new Date()[_0x4b8a34(0x13f)]()},_0x4b8a34(0x132));},logServerReady=_0x1917f1=>{const _0x39fe7b=a0_0x12f6df,_0x4a9f72={'iNuMx':function(_0x5bdc8c,_0x59dfce,_0x3c746d){return _0x5bdc8c(_0x59dfce,_0x3c746d);},'IbdWM':_0x39fe7b(0x132)},_0x596c00={'event':'server_ready','port':_0x1917f1[_0x39fe7b(0xa2)],'module':_0x1917f1[_0x39fe7b(0xa3)],'healthCheck':_0x1917f1[_0x39fe7b(0x86)],'serviceInfo':_0x1917f1['serviceInfo'],'baseUrl':_0x1917f1['baseUrl']},_0x3c0a6b='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x1917f1['port'];logger[_0x39fe7b(0x132)](_0x596c00,_0x3c0a6b),_0x4a9f72['iNuMx'](writeToFileLog,{..._0x596c00,'level':_0x4a9f72[_0x39fe7b(0x106)],'msg':_0x3c0a6b,'time':new Date()['toISOString']()},_0x39fe7b(0x132)),_0x1917f1['healthCheck']&&logger[_0x39fe7b(0x132)]('\x20\x20Health:\x20'+_0x1917f1[_0x39fe7b(0x86)]),_0x1917f1[_0x39fe7b(0xb5)]&&logger['info']('\x20\x20Info:\x20\x20\x20'+_0x1917f1['serviceInfo']),_0x1917f1['baseUrl']&&logger[_0x39fe7b(0x132)]('\x20\x20URL:\x20\x20\x20\x20'+_0x1917f1[_0x39fe7b(0x95)]);},logProjectLoaded=(_0x589087,_0x3306b0)=>{const _0x169bd5=a0_0x12f6df,_0x4763e1={'tUgoJ':function(_0x3e2545,_0x5a3d7c,_0x447396){return _0x3e2545(_0x5a3d7c,_0x447396);},'hLSzF':_0x169bd5(0x132)},_0x95b36e={'event':_0x169bd5(0xcd),'project':_0x589087,'path':_0x3306b0},_0x4ad5bb='[OK]\x20Project\x20loaded:\x20'+_0x589087;logger['info'](_0x95b36e,_0x4ad5bb),_0x4763e1['tUgoJ'](writeToFileLog,{..._0x95b36e,'level':'info','msg':_0x4ad5bb,'time':new Date()[_0x169bd5(0x13f)]()},_0x4763e1['hLSzF']);},logEndpointRegistered=(_0x2c1587,_0x1e3159)=>{const _0x4872e9=a0_0x12f6df,_0x31bc6d={'RGiBW':_0x4872e9(0xdb),'ntwGv':function(_0x3ea7bb,_0x1bf194,_0x3778ad){return _0x3ea7bb(_0x1bf194,_0x3778ad);}},_0x1a1968={'event':_0x31bc6d['RGiBW'],'endpoint':_0x2c1587,'route':_0x1e3159},_0x24c430=_0x4872e9(0xb8)+_0x2c1587+':\x20'+_0x1e3159;logger[_0x4872e9(0x12c)](_0x1a1968,_0x24c430),_0x31bc6d['ntwGv'](writeToFileLog,{..._0x1a1968,'level':'debug','msg':_0x24c430,'time':new Date()[_0x4872e9(0x13f)]()},_0x4872e9(0x12c));},logDatabaseConfig=_0x16072c=>{const _0x15b31f=a0_0x12f6df,_0xff79d8={'iSmQv':_0x15b31f(0x12c)},_0x574ea2={'event':_0x15b31f(0x133),'host':_0x16072c[_0x15b31f(0x11c)],'port':_0x16072c['port'],'database':_0x16072c['database'],'type':_0x16072c['type'],'user':_0x16072c[_0x15b31f(0xed)]},_0x24a149=_0x15b31f(0xd3)+_0x16072c[_0x15b31f(0x102)]+_0x15b31f(0xe7)+_0x16072c['host']+':'+_0x16072c[_0x15b31f(0xa2)]+'/'+_0x16072c['database'];logger[_0x15b31f(0x12c)](_0x574ea2,_0x24a149),writeToFileLog({..._0x574ea2,'level':_0x15b31f(0x12c),'msg':_0x24a149,'time':new Date()['toISOString']()},_0xff79d8[_0x15b31f(0xc2)]);},logRequest=(_0x2aa236,_0x143149,_0x9972d4)=>{const _0x15e3a6=a0_0x12f6df,_0xe5e3fc={'OMrpn':_0x15e3a6(0x8b),'LOaog':_0x15e3a6(0x132),'kSYsG':_0x15e3a6(0x12d),'Cdyix':function(_0x4e82b2,_0x106a1d){return _0x4e82b2>=_0x106a1d;},'qdNuC':function(_0x15af6b,_0x5ac4b1,_0x211af6){return _0x15af6b(_0x5ac4b1,_0x211af6);}},_0x3cd61b={'event':_0xe5e3fc[_0x15e3a6(0x10d)],'method':_0x2aa236[_0x15e3a6(0xe5)],'path':_0x2aa236['path'],'statusCode':_0x143149['statusCode'],'durationMs':_0x9972d4,'ip':_0x2aa236['ip']},_0xc1067b=_0x2aa236['method']+'\x20'+_0x2aa236[_0x15e3a6(0x104)]+_0x15e3a6(0xe1)+_0x143149['statusCode']+'\x20('+_0x9972d4+'ms)';let _0x24a6fa=_0xe5e3fc[_0x15e3a6(0xd5)];if(_0x143149['statusCode']>=0x1f4)_0x24a6fa=_0xe5e3fc['kSYsG'],logger['error'](_0x3cd61b,_0xc1067b);else _0xe5e3fc[_0x15e3a6(0x135)](_0x143149['statusCode'],0x190)?(_0x24a6fa='warn',logger['warn'](_0x3cd61b,_0xc1067b)):logger[_0x15e3a6(0x132)](_0x3cd61b,_0xc1067b);_0xe5e3fc['qdNuC'](writeToFileLog,{..._0x3cd61b,'level':_0x24a6fa,'msg':_0xc1067b,'time':new Date()['toISOString']()},_0x24a6fa);},SENSITIVE_PARAM_PATTERNS=[a0_0x12f6df(0xdc),'passwd','pwd',a0_0x12f6df(0x13a),'access_token','refresh_token',a0_0x12f6df(0xde),a0_0x12f6df(0xdd),'apikey','api_key','credential','credentials','pin',a0_0x12f6df(0xb3),'private_key','privatekey'],redactSensitiveParams=(_0x297e48,_0x43d75a)=>{const _0x32e37c=a0_0x12f6df,_0x308244={'vVJLk':function(_0x352c67,_0x5d2f21){return _0x352c67===_0x5d2f21;},'KCjPH':function(_0x501f0c,_0x1f01c4){return _0x501f0c>_0x1f01c4;},'ovRxH':_0x32e37c(0x105),'jWMcZ':_0x32e37c(0xb0)};if(!_0x297e48||_0x308244['vVJLk'](_0x297e48[_0x32e37c(0x112)],0x0))return _0x297e48;const _0x41eb7a=_0x43d75a['toLowerCase'](),_0x768c60=_0x41eb7a['match'](/\(([^)]+)\)\s*values/i);let _0x3655d0=[];_0x768c60&&(_0x3655d0=_0x768c60[0x1]['split'](',')[_0x32e37c(0xbc)](_0x3fe239=>_0x3fe239[_0x32e37c(0x13c)]()[_0x32e37c(0xcf)]()));const _0xda4832=_0x41eb7a['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0xda4832){const _0x1e9c1b=_0xda4832[0x1],_0x2bef49=_0x1e9c1b[_0x32e37c(0x141)](/(\w+)\s*=/g);_0x2bef49&&(_0x3655d0=_0x2bef49[_0x32e37c(0xbc)](_0x413e4f=>_0x413e4f[_0x32e37c(0xc1)](/\s*=/,'')['trim']()[_0x32e37c(0xcf)]()));}return _0x297e48[_0x32e37c(0xbc)]((_0x347107,_0x356f7a)=>{const _0x32ca7f=_0x32e37c;if(_0x3655d0[_0x356f7a]){const _0x28512d=_0x3655d0[_0x356f7a],_0x50af77=SENSITIVE_PARAM_PATTERNS[_0x32ca7f(0x9b)](_0x8c0dd5=>_0x28512d['includes'](_0x8c0dd5));if(_0x50af77)return'[REDACTED]';}if(_0x308244[_0x32ca7f(0xc3)](typeof _0x347107,_0x32ca7f(0x140))&&_0x308244[_0x32ca7f(0xb4)](_0x347107['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x347107)&&_0x347107['includes']('.'))return _0x308244['ovRxH'];if(/^[a-fA-F0-9]{32,}$/[_0x32ca7f(0x143)](_0x347107))return _0x308244[_0x32ca7f(0xa6)];}return _0x347107;});},parseQueryMetadata=_0x479586=>{const _0x2662a1=a0_0x12f6df,_0x3659ba={'fHGGb':'INSERT','lYPKp':'DELETE','kGRYb':_0x2662a1(0xb2),'DYEeD':_0x2662a1(0xee),'xFsxd':_0x2662a1(0x138),'XByVt':_0x2662a1(0x8f),'tfQIp':_0x2662a1(0xf1),'mcDzJ':_0x2662a1(0xef)},_0x30e963=_0x479586[_0x2662a1(0x13c)](),_0x41bf46=_0x30e963[_0x2662a1(0x10a)]();let _0x4cc7bf='UNKNOWN',_0x33492f=null;if(_0x41bf46['startsWith']('SELECT')){_0x4cc7bf=_0x2662a1(0xd9);const _0x105b63=_0x30e963['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x33492f=_0x105b63?_0x105b63[0x1]:null;}else{if(_0x41bf46['startsWith'](_0x3659ba['fHGGb'])){_0x4cc7bf=_0x2662a1(0xf5);const _0x5ebbb9=_0x30e963[_0x2662a1(0x141)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x33492f=_0x5ebbb9?_0x5ebbb9[0x1]:null;}else{if(_0x41bf46['startsWith'](_0x2662a1(0x11e))){_0x4cc7bf='UPDATE';const _0x37d585=_0x30e963[_0x2662a1(0x141)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x33492f=_0x37d585?_0x37d585[0x1]:null;}else{if(_0x41bf46[_0x2662a1(0x94)](_0x2662a1(0x10c))){_0x4cc7bf=_0x3659ba['lYPKp'];const _0x365151=_0x30e963['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x33492f=_0x365151?_0x365151[0x1]:null;}else{if(_0x41bf46[_0x2662a1(0x94)]('BEGIN')||_0x41bf46[_0x2662a1(0x94)](_0x2662a1(0xda)))_0x4cc7bf='TRANSACTION_BEGIN';else{if(_0x41bf46['startsWith'](_0x3659ba[_0x2662a1(0xf0)]))_0x4cc7bf=_0x3659ba['DYEeD'];else{if(_0x41bf46['startsWith'](_0x2662a1(0x11b)))_0x4cc7bf=_0x3659ba['xFsxd'];else{if(_0x41bf46[_0x2662a1(0x94)]('CREATE'))_0x4cc7bf=_0x3659ba[_0x2662a1(0x8c)];else{if(_0x41bf46['startsWith'](_0x3659ba[_0x2662a1(0x9c)]))_0x4cc7bf=_0x3659ba['mcDzJ'];else _0x41bf46[_0x2662a1(0x94)](_0x2662a1(0xab))&&(_0x4cc7bf='DDL_DROP');}}}}}}}}return{'type':_0x4cc7bf,'table':_0x33492f};},startQueryTimer=()=>{const _0x2bd119=a0_0x12f6df,_0x1b4ae7={'Mispd':function(_0x5a36d9,_0x311993){return _0x5a36d9(_0x311993);},'EyjWQ':function(_0x2890c4,_0x524185){return _0x2890c4+_0x524185;},'VDUTq':function(_0x5232c1,_0x17958a){return _0x5232c1*_0x17958a;}},_0xe7ce22=process[_0x2bd119(0xd7)]();return()=>{const _0x569864=_0x2bd119,[_0xaf9a,_0x5d2481]=process[_0x569864(0xd7)](_0xe7ce22);return _0x1b4ae7[_0x569864(0xe8)](parseFloat,_0x1b4ae7[_0x569864(0xe0)](_0x1b4ae7[_0x569864(0xf6)](_0xaf9a,0x3e8),_0x5d2481/0xf4240)[_0x569864(0xa7)](0x2));};},logQuery=(_0x58ce8e,_0x3183e7=[],_0x32a7ff={})=>{const _0x209336=a0_0x12f6df,_0x1db2b8={'YaCNe':'DB\x20Query','CuQma':function(_0x2bb0a0,_0x1d3aa7){return _0x2bb0a0(_0x1d3aa7);},'voSoU':_0x209336(0x14d),'rzyOj':function(_0x5ae5ed,_0x28517c){return _0x5ae5ed>_0x28517c;},'zjNXv':function(_0x28355f,_0x464bcc,_0x1544d0){return _0x28355f(_0x464bcc,_0x1544d0);},'jWuDU':function(_0x44d70b,_0x20f74e){return _0x44d70b!==_0x20f74e;},'UxNmy':_0x209336(0x110),'xhnab':function(_0x51df3d,_0x4db647){return _0x51df3d===_0x4db647;},'mJzjx':_0x209336(0x132)};if(!sqlLogEnabled){logger[_0x209336(0x12c)]({'event':'db_query','query':_0x58ce8e['substring'](0x0,0xc8),'paramCount':_0x3183e7[_0x209336(0x112)]},_0x1db2b8[_0x209336(0x11d)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x209336(0x13e)}=_0x32a7ff,{type:_0x5b4310,table:_0x231206}=_0x1db2b8['CuQma'](parseQueryMetadata,_0x58ce8e),_0x50f41a={'event':_0x1db2b8[_0x209336(0xd4)],'queryType':_0x5b4310,'table':_0x231206,'query':_0x58ce8e,'paramCount':_0x3183e7[_0x209336(0x112)],'dbType':dbType};sqlLogParams&&_0x1db2b8['rzyOj'](_0x3183e7['length'],0x0)&&(_0x50f41a[_0x209336(0x128)]=_0x1db2b8['zjNXv'](redactSensitiveParams,_0x3183e7,_0x58ce8e));duration!==null&&(_0x50f41a['durationMs']=duration,_0x50f41a['isSlow']=duration>sqlLogSlowThreshold);rowsAffected!==null&&(_0x50f41a['rowsAffected']=rowsAffected);const _0x659c2=_0x231206||_0x209336(0xe3);let _0x3c18eb='['+_0x5b4310+']\x20'+_0x659c2;_0x1db2b8[_0x209336(0xba)](duration,null)&&(_0x3c18eb+='\x20('+duration+_0x209336(0x91));const _0x5f5815=duration!==null&&_0x1db2b8['rzyOj'](duration,sqlLogSlowThreshold);let _0x2463e4='debug';if(_0x5f5815)_0x3c18eb+=_0x1db2b8['UxNmy'],_0x2463e4='warn',logger['warn'](_0x50f41a,_0x3c18eb);else _0x1db2b8[_0x209336(0x131)](sqlLogLevel,_0x209336(0x132))?(_0x2463e4=_0x1db2b8['mJzjx'],logger['info'](_0x50f41a,_0x3c18eb)):logger[_0x209336(0x12c)](_0x50f41a,_0x3c18eb);_0x1db2b8['zjNXv'](writeToFileLog,{..._0x50f41a,'level':_0x2463e4,'msg':_0x3c18eb,'time':new Date()['toISOString']()},_0x2463e4);},logTransaction=(_0x1efe02,_0x294898)=>{const _0x48f6fe=a0_0x12f6df,_0x3f8a1e={'DgKKJ':_0x48f6fe(0x12c)},_0x3554a6={'event':'db_transaction','status':_0x1efe02,'queryCount':_0x294898},_0x52f222=_0x48f6fe(0x152)+_0x1efe02;logger['debug'](_0x3554a6,_0x52f222),writeToFileLog({..._0x3554a6,'level':_0x3f8a1e[_0x48f6fe(0xe4)],'msg':_0x52f222,'time':new Date()['toISOString']()},_0x3f8a1e[_0x48f6fe(0xe4)]);},redactObject=_0x4ad729=>{const _0x436a0a=a0_0x12f6df,_0xedb9bd={'ooZPl':_0x436a0a(0xa5),'Mdese':'password','FRMfX':'pwd','gwdEB':_0x436a0a(0x13a),'udjYF':_0x436a0a(0xde),'KYyAZ':'api_key','sTbFq':_0x436a0a(0x97),'mwHRu':'ssn','ZTDKm':'pin','bQkBo':_0x436a0a(0x120),'YXAhD':function(_0x492527,_0x20f14f){return _0x492527===_0x20f14f;}};if(!_0x4ad729||typeof _0x4ad729!==_0xedb9bd[_0x436a0a(0x126)])return _0x4ad729;const _0x1a4df8=[_0xedb9bd[_0x436a0a(0x103)],_0x436a0a(0xa8),_0xedb9bd['FRMfX'],_0xedb9bd[_0x436a0a(0xb7)],_0xedb9bd['udjYF'],_0x436a0a(0x98),_0xedb9bd[_0x436a0a(0xdf)],_0x436a0a(0xc8),_0xedb9bd[_0x436a0a(0xcc)],_0x436a0a(0x151),_0x436a0a(0x142),_0xedb9bd[_0x436a0a(0xac)],_0xedb9bd['ZTDKm'],'private_key',_0xedb9bd['bQkBo'],'refresh_token','access_token'],_0x4c0af2=Array['isArray'](_0x4ad729)?[..._0x4ad729]:{..._0x4ad729};for(const _0x1ae901 of Object[_0x436a0a(0x10b)](_0x4c0af2)){const _0x1bca78=_0x1ae901['toLowerCase']();if(_0x1a4df8['some'](_0x2f2e0d=>_0x1bca78[_0x436a0a(0x14b)](_0x2f2e0d)))_0x4c0af2[_0x1ae901]=_0x436a0a(0xae);else _0xedb9bd['YXAhD'](typeof _0x4c0af2[_0x1ae901],'object')&&_0x4c0af2[_0x1ae901]!==null&&(_0x4c0af2[_0x1ae901]=redactObject(_0x4c0af2[_0x1ae901]));}return _0x4c0af2;},logError=(_0x3d911c,_0x47b89f={},_0x3184eb=null)=>{const _0x44b338=a0_0x12f6df,_0x343b06={'baalq':_0x44b338(0x12d)},_0x5c07ae={'event':_0x44b338(0x12d),'errorName':_0x3d911c[_0x44b338(0xc6)]||'Error','errorMessage':_0x3d911c['message'],'errorCode':_0x3d911c['code']||null,'stack':_0x3d911c[_0x44b338(0x12f)],..._0x47b89f},_0x3ece00=_0x3184eb||_0x44b338(0x12e)+_0x3d911c[_0x44b338(0x90)];logger['error'](_0x5c07ae,_0x3ece00),writeToFileLog({..._0x5c07ae,'level':_0x343b06[_0x44b338(0xb9)],'msg':_0x3ece00,'time':new Date()['toISOString']()},'error');},logFatalError=(_0xcf64e3,_0x16bf4d={},_0x485dee=null)=>{const _0x4188d8=a0_0x12f6df,_0x2d0a6f={'BAFOZ':'error'},_0xa2a4dd={'event':_0x4188d8(0x14c),'errorName':_0xcf64e3[_0x4188d8(0xc6)]||'Error','errorMessage':_0xcf64e3[_0x4188d8(0x90)],'errorCode':_0xcf64e3[_0x4188d8(0x10e)]||null,'stack':_0xcf64e3['stack'],'severity':'CRITICAL',..._0x16bf4d},_0x5420e8=_0x485dee||_0x4188d8(0x109)+_0xcf64e3[_0x4188d8(0x90)];logger[_0x4188d8(0xe2)](_0xa2a4dd,_0x5420e8),writeToFileLog({..._0xa2a4dd,'level':_0x4188d8(0xe2),'msg':_0x5420e8,'time':new Date()['toISOString']()},_0x2d0a6f['BAFOZ']);},logHttpError=(_0x48e9d5,_0x5045c2,_0xda4978={})=>{const _0x376449=a0_0x12f6df,_0x159194={'nhuFz':function(_0x1f2c9c,_0x210d21){return _0x1f2c9c(_0x210d21);},'lEGBS':_0x376449(0x12d)},_0x4b9727={'event':'http_error','errorName':_0x48e9d5['name']||'Error','errorMessage':_0x48e9d5[_0x376449(0x90)],'errorCode':_0x48e9d5['code']||_0x48e9d5[_0x376449(0x12a)]||0x1f4,'stack':_0x48e9d5[_0x376449(0x12f)],'method':_0x5045c2?.['method'],'url':_0x5045c2?.['url']||_0x5045c2?.[_0x376449(0xbb)],'path':_0x5045c2?.['path'],'ip':_0x5045c2?.['ip']||_0x5045c2?.[_0x376449(0xec)]?.[_0x376449(0x13b)],'userAgent':_0x5045c2?.[_0x376449(0xa4)]?.(_0x376449(0x108)),'requestId':_0x5045c2?.['id']||_0x5045c2?.[_0x376449(0xcb)]?.[_0x376449(0x113)],'body':_0x5045c2?.[_0x376449(0x13d)]?_0x159194['nhuFz'](redactObject,_0x5045c2['body']):undefined,'query':_0x5045c2?.['query'],..._0xda4978},_0x5ef620=_0x48e9d5[_0x376449(0x12a)]||_0x48e9d5[_0x376449(0xd8)]||0x1f4,_0x3eaf2e=_0x376449(0xf2)+_0x5ef620+':\x20'+_0x48e9d5['message'];_0x5ef620>=0x1f4?logger[_0x376449(0x12d)](_0x4b9727,_0x3eaf2e):logger['warn'](_0x4b9727,_0x3eaf2e),writeToFileLog({..._0x4b9727,'level':_0x5ef620>=0x1f4?_0x159194['lEGBS']:_0x376449(0x148),'msg':_0x3eaf2e,'time':new Date()['toISOString']()},_0x5ef620>=0x1f4?_0x159194[_0x376449(0x107)]:'warn');},logUncaughtError=(_0x3c484d,_0x108298)=>{const _0x588547=a0_0x12f6df,_0x588353={'JFwip':_0x588547(0x10f),'ZNfOB':'CRITICAL','rjQnh':function(_0x415794,_0x2121a6,_0x32d8c1){return _0x415794(_0x2121a6,_0x32d8c1);},'TYUoc':'fatal'},_0x4b570e={'event':_0x3c484d,'errorName':_0x108298?.[_0x588547(0xc6)]||_0x588353[_0x588547(0x88)],'errorMessage':_0x108298?.[_0x588547(0x90)]||String(_0x108298),'errorCode':_0x108298?.['code']||null,'stack':_0x108298?.[_0x588547(0x12f)],'severity':_0x588353['ZNfOB'],'processId':process['pid'],'memoryUsage':process[_0x588547(0xad)](),'uptime':process[_0x588547(0x92)]()},_0x134508='['+_0x3c484d['toUpperCase']()+']\x20'+(_0x108298?.[_0x588547(0x90)]||_0x108298);logger[_0x588547(0xe2)](_0x4b570e,_0x134508),_0x588353[_0x588547(0x130)](writeToFileLog,{..._0x4b570e,'level':_0x588353['TYUoc'],'msg':_0x134508,'time':new Date()[_0x588547(0x13f)]()},_0x588547(0x12d));},setupGlobalErrorHandlers=()=>{const _0x246035=a0_0x12f6df,_0x26aed0={'sptTM':function(_0x34dd32,_0x32ee7b,_0x5a85d6){return _0x34dd32(_0x32ee7b,_0x5a85d6);},'nUBuX':function(_0x124417,_0xd9715d){return _0x124417 instanceof _0xd9715d;},'cvrsd':function(_0x153a08,_0x378b90){return _0x153a08(_0x378b90);},'SSGAh':'process_warning','fYqHT':'unhandledRejection','XmRRd':_0x246035(0xfb),'KYnAt':_0x246035(0x123)};process['on'](_0x246035(0xf7),_0x17ee5a=>{const _0x44ec82=_0x246035;logUncaughtError('uncaughtException',_0x17ee5a),_0x26aed0[_0x44ec82(0x145)](setTimeout,()=>{const _0x24737a=_0x44ec82;process[_0x24737a(0x118)](0x1);},0x3e8);}),process['on'](_0x26aed0['fYqHT'],(_0x481667,_0x186b00)=>{const _0x41a513=_0x246035,_0x2e3a7e=_0x26aed0[_0x41a513(0x89)](_0x481667,Error)?_0x481667:new Error(_0x26aed0[_0x41a513(0x111)](String,_0x481667));logUncaughtError('unhandledRejection',_0x2e3a7e);}),process['on'](_0x26aed0['XmRRd'],_0x5d15c8=>{const _0x4ac518=_0x246035;logger[_0x4ac518(0x148)]({'event':_0x26aed0[_0x4ac518(0xc0)],'name':_0x5d15c8['name'],'message':_0x5d15c8[_0x4ac518(0x90)],'stack':_0x5d15c8['stack']},_0x4ac518(0xf4)+_0x5d15c8['message']);});const _0x3eaf9d={'event':_0x26aed0[_0x246035(0xfa)]},_0x3ad60f=_0x246035(0x9d);logger[_0x246035(0x132)](_0x3eaf9d,_0x3ad60f),_0x26aed0[_0x246035(0x145)](writeToFileLog,{..._0x3eaf9d,'level':_0x246035(0x132),'msg':_0x3ad60f,'time':new Date()['toISOString']()},_0x246035(0x132));},createErrorHandlerMiddleware=()=>{const _0x1c01b9={'obbbr':function(_0xb8159,_0x4b73f9){return _0xb8159>=_0x4b73f9;}};return(_0xb44c94,_0x212cd4,_0x496f91,_0x3e642b)=>{const _0x4a8196=a0_0x9884;logHttpError(_0xb44c94,_0x212cd4);const _0xb286ac=_0xb44c94[_0x4a8196(0x12a)]||_0xb44c94[_0x4a8196(0xd8)]||0x1f4;_0x496f91[_0x4a8196(0xd8)](_0xb286ac)['json']({'success':![],'error':_0x1c01b9['obbbr'](_0xb286ac,0x1f4)?_0x4a8196(0xd2):_0xb44c94[_0x4a8196(0x90)],'requestId':_0x212cd4['id']||_0x212cd4[_0x4a8196(0xcb)]?.['x-request-id']||null});};};module[a0_0x12f6df(0xb6)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x5b4353=a0_0x1150;(function(_0x28b869,_0x7539a6){const _0x35d3ac=a0_0x1150,_0x1919bf=_0x28b869();while(!![]){try{const _0x586c8=parseInt(_0x35d3ac(0x16e))/0x1+parseInt(_0x35d3ac(0x147))/0x2+-parseInt(_0x35d3ac(0x160))/0x3+-parseInt(_0x35d3ac(0x155))/0x4*(-parseInt(_0x35d3ac(0x168))/0x5)+-parseInt(_0x35d3ac(0x151))/0x6+-parseInt(_0x35d3ac(0x144))/0x7+-parseInt(_0x35d3ac(0x170))/0x8*(-parseInt(_0x35d3ac(0x157))/0x9);if(_0x586c8===_0x7539a6)break;else _0x1919bf['push'](_0x1919bf['shift']());}catch(_0x1c869b){_0x1919bf['push'](_0x1919bf['shift']());}}}(a0_0x3933,0x901df));const dbType=(process[a0_0x5b4353(0x156)]['DB_TYPE']||'postgresql')['toLowerCase']();let executeQuery;function a0_0x1150(_0x5d0320,_0x2510dc){_0x5d0320=_0x5d0320-0x141;const _0x3933ed=a0_0x3933();let _0x1150a2=_0x3933ed[_0x5d0320];if(a0_0x1150['nsjByJ']===undefined){var _0x2427f5=function(_0x353b95){const _0x43d196='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1f6f43='',_0x3b8590='';for(let _0x51bc51=0x0,_0x378748,_0x3c5251,_0x110b66=0x0;_0x3c5251=_0x353b95['charAt'](_0x110b66++);~_0x3c5251&&(_0x378748=_0x51bc51%0x4?_0x378748*0x40+_0x3c5251:_0x3c5251,_0x51bc51++%0x4)?_0x1f6f43+=String['fromCharCode'](0xff&_0x378748>>(-0x2*_0x51bc51&0x6)):0x0){_0x3c5251=_0x43d196['indexOf'](_0x3c5251);}for(let _0x1f69b9=0x0,_0x433d7e=_0x1f6f43['length'];_0x1f69b9<_0x433d7e;_0x1f69b9++){_0x3b8590+='%'+('00'+_0x1f6f43['charCodeAt'](_0x1f69b9)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3b8590);};a0_0x1150['CoVBSX']=_0x2427f5,a0_0x1150['CfBjst']={},a0_0x1150['nsjByJ']=!![];}const _0xf4f1fa=_0x3933ed[0x0],_0x203e6c=_0x5d0320+_0xf4f1fa,_0x5301cb=a0_0x1150['CfBjst'][_0x203e6c];return!_0x5301cb?(_0x1150a2=a0_0x1150['CoVBSX'](_0x1150a2),a0_0x1150['CfBjst'][_0x203e6c]=_0x1150a2):_0x1150a2=_0x5301cb,_0x1150a2;}if(dbType==='oracle'){const oracleDb=require('./db-oracle');executeQuery=(_0x382a14,_0x14016b)=>oracleDb[a0_0x5b4353(0x164)](_0x382a14,_0x14016b);}else{if(dbType===a0_0x5b4353(0x172)){const mysqlDb=require('./db-mysql');executeQuery=(_0x46ee81,_0x53c83b)=>mysqlDb['executeQuery'](_0x46ee81,_0x53c83b);}else executeQuery=require('./db')[a0_0x5b4353(0x164)];}const {logger}=require('./logger');class LookupResolver{constructor(){const _0x208d2c=a0_0x5b4353;this[_0x208d2c(0x173)]=new Map();}[a0_0x5b4353(0x166)](){const _0x39baf8=a0_0x5b4353,_0xacb51={'vJmHn':_0x39baf8(0x15b),'WkUaC':_0x39baf8(0x14e)};this['lookupCache']['clear'](),logger['debug']({'event':_0xacb51['vJmHn']},_0xacb51['WkUaC']);}async['loadLookupTable'](_0x492f74,_0x21ac8a,_0x369ba0){const _0x4bbde9=a0_0x5b4353,_0xb0beea={'DgtGh':function(_0x8731c3,_0x19f934){return _0x8731c3!==_0x19f934;},'EryAd':function(_0x1da011,_0x24de93){return _0x1da011!==_0x24de93;},'WWAlu':function(_0xd0b184,_0x47ba3a){return _0xd0b184(_0x47ba3a);},'vEmzC':'lookup_table_loaded','xdULq':_0x4bbde9(0x16b)},_0x558c43=_0x492f74+':'+_0x21ac8a+':'+_0x369ba0;if(this['lookupCache']['has'](_0x558c43))return this[_0x4bbde9(0x173)]['get'](_0x558c43);try{const _0x47904a=_0x4bbde9(0x149)+_0x369ba0+',\x20'+_0x21ac8a+'\x20FROM\x20'+_0x492f74,_0x10812b=await _0xb0beea[_0x4bbde9(0x153)](executeQuery,_0x47904a),_0x50c9f8=new Map();return _0x10812b[_0x4bbde9(0x15f)](_0x172e87=>{const _0x1a7686=_0x4bbde9,_0x2641a6=_0xb0beea[_0x1a7686(0x15d)](_0x172e87[_0x21ac8a],undefined)?_0x172e87[_0x21ac8a]:_0x172e87[_0x21ac8a['toUpperCase']()],_0x3de02f=_0x172e87[_0x369ba0]!==undefined?_0x172e87[_0x369ba0]:_0x172e87[_0x369ba0[_0x1a7686(0x142)]()];_0xb0beea[_0x1a7686(0x15c)](_0x2641a6,null)&&_0x2641a6!==undefined&&(_0x50c9f8[_0x1a7686(0x141)](String(_0x2641a6)[_0x1a7686(0x14f)]()['trim'](),_0x3de02f),_0x50c9f8['set'](_0xb0beea['WWAlu'](String,_0x2641a6)[_0x1a7686(0x163)](),_0x3de02f));}),this['lookupCache']['set'](_0x558c43,_0x50c9f8),logger['info']({'event':_0xb0beea[_0x4bbde9(0x14a)],'table':_0x492f74,'column':_0x21ac8a,'count':_0x10812b['length']},'Lookup\x20table\x20loaded:\x20'+_0x492f74),_0x50c9f8;}catch(_0x383e97){logger['error']({'event':_0xb0beea['xdULq'],'table':_0x492f74,'error':_0x383e97['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x492f74);throw _0x383e97;}}[a0_0x5b4353(0x148)](_0x58c3be,_0x44cd38){const _0x22942c=a0_0x5b4353,_0x488942={'uYAqU':function(_0x28f6c6,_0x4d2133){return _0x28f6c6===_0x4d2133;},'FKtAW':function(_0x2acf16,_0x320a80){return _0x2acf16(_0x320a80);}};if(_0x488942[_0x22942c(0x16d)](_0x58c3be,null)||_0x488942[_0x22942c(0x16d)](_0x58c3be,undefined)||_0x58c3be==='')return null;const _0x2181c5=_0x488942[_0x22942c(0x154)](String,_0x58c3be)['trim']();if(_0x44cd38[_0x22942c(0x14c)](_0x2181c5))return _0x44cd38['get'](_0x2181c5);const _0xbedf22=_0x2181c5[_0x22942c(0x14f)]();if(_0x44cd38['has'](_0xbedf22))return _0x44cd38['get'](_0xbedf22);return null;}async[a0_0x5b4353(0x15a)](_0x21a53d,_0x47ed40){const _0x1007cb=a0_0x5b4353,_0x192b23={'Dqltw':function(_0x432c76,_0x394ebb){return _0x432c76===_0x394ebb;},'RmMYi':function(_0x4feb5b,_0x2fff1b){return _0x4feb5b!==_0x2fff1b;},'sjfUt':function(_0x2feefb,_0x5d84d5){return _0x2feefb===_0x5d84d5;},'qnfRN':'lookup_fields_processed','iIICj':'Lookup\x20fields\x20processed'};if(!_0x47ed40||_0x192b23['sjfUt'](Object['keys'](_0x47ed40)[_0x1007cb(0x16c)],0x0))return{'processedRows':_0x21a53d,'errors':[]};const _0x587324=[],_0x91c075=new Map();for(const [_0x1856c1,_0x4ae61f]of Object['entries'](_0x47ed40)){const {lookupTable:_0x358279,lookupColumn:_0x2a8550,lookupIdColumn:_0x30de53}=_0x4ae61f,_0x1f255=_0x358279+':'+_0x2a8550+':'+_0x30de53;if(!_0x91c075['has'](_0x1f255)){const _0x79bcf7=await this[_0x1007cb(0x171)](_0x358279,_0x2a8550,_0x30de53);_0x91c075['set'](_0x1f255,_0x79bcf7);}}const _0x50da01=_0x21a53d[_0x1007cb(0x146)]((_0x3a66a2,_0x42b914)=>{const _0x51ed29=_0x1007cb,_0x2c2452={..._0x3a66a2};for(const [_0x5d709f,_0x234876]of Object['entries'](_0x47ed40)){const {lookupTable:_0x4dec7f,lookupColumn:_0x53bc15,lookupIdColumn:_0x38d333,targetField:_0x170e76,required:_0x573905}=_0x234876,_0x9fe114=_0x4dec7f+':'+_0x53bc15+':'+_0x38d333,_0x40c0d4=_0x91c075[_0x51ed29(0x150)](_0x9fe114),_0x4fc928=_0x3a66a2[_0x5d709f];if((_0x192b23[_0x51ed29(0x145)](_0x4fc928,null)||_0x4fc928===undefined||_0x192b23['Dqltw'](_0x4fc928,''))&&!_0x573905){_0x2c2452[_0x170e76]=null;continue;}const _0x582839=this['resolveLookupValue'](_0x4fc928,_0x40c0d4);_0x192b23['RmMYi'](_0x582839,null)?_0x2c2452[_0x170e76]=_0x582839:(_0x573905&&_0x587324[_0x51ed29(0x14b)]({'rowIndex':_0x42b914,'field':_0x5d709f,'value':_0x4fc928,'targetField':_0x170e76,'lookupTable':_0x4dec7f,'message':_0x51ed29(0x14d)+_0x4fc928+_0x51ed29(0x161)+_0x4dec7f}),_0x2c2452[_0x170e76]=null);}return _0x2c2452;});return logger[_0x1007cb(0x16f)]({'event':_0x192b23[_0x1007cb(0x15e)],'totalRows':_0x21a53d[_0x1007cb(0x16c)],'errorCount':_0x587324[_0x1007cb(0x16c)],'lookupFieldCount':Object[_0x1007cb(0x159)](_0x47ed40)[_0x1007cb(0x16c)]},_0x192b23['iIICj']),{'processedRows':_0x50da01,'errors':_0x587324};}[a0_0x5b4353(0x167)](_0x166777,_0x3da747){const _0x47396a=a0_0x5b4353,_0x33ced5={'huMVQ':function(_0x575019,_0x25171a){return _0x575019!==_0x25171a;},'nXNmc':function(_0x3f63bf,_0x10dba0){return _0x3f63bf!==_0x10dba0;}},_0x301814=new Set();return _0x166777[_0x47396a(0x15f)](_0x44d8c3=>{const _0x1c4f7b=_0x47396a,_0x58a517=_0x44d8c3[_0x3da747];_0x33ced5['huMVQ'](_0x58a517,null)&&_0x33ced5[_0x1c4f7b(0x143)](_0x58a517,undefined)&&_0x58a517!==''&&_0x301814[_0x1c4f7b(0x16a)](String(_0x58a517)['trim']());}),Array['from'](_0x301814);}async[a0_0x5b4353(0x158)](_0x56b75a,_0x2f87a9){const _0x3fcfbf=a0_0x5b4353,_0x5f38b7={'ybcyu':function(_0x495777,_0x283493){return _0x495777===_0x283493;}};if(!_0x2f87a9||_0x5f38b7[_0x3fcfbf(0x169)](Object[_0x3fcfbf(0x159)](_0x2f87a9)[_0x3fcfbf(0x16c)],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x3c11a3=[],_0x17c80f={};for(const [_0x1f1bf6,_0x3e9b33]of Object[_0x3fcfbf(0x152)](_0x2f87a9)){const {lookupTable:_0x2908e9,lookupColumn:_0x405344,lookupIdColumn:_0x47f8d2,required:_0x48e765}=_0x3e9b33,_0x30404=this[_0x3fcfbf(0x167)](_0x56b75a,_0x1f1bf6),_0xcbfca9=await this['loadLookupTable'](_0x2908e9,_0x405344,_0x47f8d2),_0x266077=[],_0x55c3ae=[];_0x30404['forEach'](_0x5e8377=>{const _0x1d6596=_0x3fcfbf,_0x54ee23=this['resolveLookupValue'](_0x5e8377,_0xcbfca9);_0x54ee23!==null?_0x55c3ae['push'](_0x5e8377):_0x266077[_0x1d6596(0x14b)](_0x5e8377);});if(_0x266077[_0x3fcfbf(0x16c)]>0x0&&_0x48e765){_0x3c11a3['push']({'field':_0x1f1bf6,'lookupTable':_0x2908e9,'invalidValues':_0x266077,'message':_0x266077[_0x3fcfbf(0x16c)]+'\x20value(s)\x20not\x20found\x20in\x20'+_0x2908e9});const _0x56c2a3=[];_0xcbfca9['forEach']((_0x8d401a,_0x1115aa)=>{const _0x5187b1=_0x3fcfbf;if(_0x1115aa===_0x1115aa[_0x5187b1(0x14f)]())return;_0x56c2a3[_0x5187b1(0x14b)](_0x1115aa);}),_0x17c80f[_0x1f1bf6]={'invalidValues':_0x266077,'availableValues':_0x56c2a3[_0x3fcfbf(0x162)](0x0,0x32)};}}return{'valid':_0x5f38b7[_0x3fcfbf(0x169)](_0x3c11a3['length'],0x0),'errors':_0x3c11a3,'suggestions':_0x17c80f};}}function a0_0x3933(){const _0x54c358=['mJq5m3LAtLjezq','DMfSAwrHDgvmB29RDxbwywX1zxm','A2v5CW','ChjVy2vZC0XVB2T1CezPzwXKCW','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','rxj5qwq','rgD0r2G','Cw5MuK4','zM9YrwfJAa','mZiYodi4oeT5z01SzG','iIbUB3qGzM91BMqGAw4G','C2XPy2u','DhjPBq','zxHLy3v0zvf1zxj5','zxHWB3j0CW','y2XLyxjdywnOzq','z2v0rgLZDgLUy3rwywX1zxm','mtG3nZeWnvD6swrjtW','EwjJExu','ywrK','Bg9VA3vWx3rHyMXLx2XVywrFzxjYB3i','BgvUz3rO','DvLbCvu','ndKZnJq1CMvdwMPz','Aw5MBW','mty5mdrZD1Ljs3i','Bg9HzeXVB2T1CfrHyMXL','BxLZCwW','Bg9VA3vWq2fJAgu','C2v0','Dg9vChbLCKnHC2u','BLHoBwm','mtC4ndy3muLoCuzWva','rhfSDhC','BwfW','nZyWmJG2zvPmshrZ','CMvZB2X2zuXVB2T1CfzHBhvL','u0vmrunuia','DKvTEKm','ChvZAa','AgfZ','vMfSDwuGiG','tg9VA3vWignHy2HLignSzwfYzwq','Dg9mB3DLCKnHC2u','z2v0','mZK4ndaWmeflzwPbBa','zw50CMLLCW','v1DbBhu','rKT0qvC','mtjLBgDnzha','zw52'];a0_0x3933=function(){return _0x54c358;};return a0_0x3933();}module[a0_0x5b4353(0x165)]=new LookupResolver();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x407c17=a0_0x5ca2;function a0_0x5ca2(_0x300b16,_0x3c635b){_0x300b16=_0x300b16-0x9c;const _0x43a608=a0_0x43a6();let _0x5ca29b=_0x43a608[_0x300b16];if(a0_0x5ca2['yiYHIS']===undefined){var _0x46bada=function(_0x43e5bb){const _0x28b534='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2c17b1='',_0x5783b5='';for(let _0x3c5c17=0x0,_0x1d2d43,_0xf23960,_0x1eaac9=0x0;_0xf23960=_0x43e5bb['charAt'](_0x1eaac9++);~_0xf23960&&(_0x1d2d43=_0x3c5c17%0x4?_0x1d2d43*0x40+_0xf23960:_0xf23960,_0x3c5c17++%0x4)?_0x2c17b1+=String['fromCharCode'](0xff&_0x1d2d43>>(-0x2*_0x3c5c17&0x6)):0x0){_0xf23960=_0x28b534['indexOf'](_0xf23960);}for(let _0x59973a=0x0,_0x577510=_0x2c17b1['length'];_0x59973a<_0x577510;_0x59973a++){_0x5783b5+='%'+('00'+_0x2c17b1['charCodeAt'](_0x59973a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5783b5);};a0_0x5ca2['ebUelO']=_0x46bada,a0_0x5ca2['wjbXim']={},a0_0x5ca2['yiYHIS']=!![];}const _0x208a51=_0x43a608[0x0],_0x54c5e4=_0x300b16+_0x208a51,_0x3366b0=a0_0x5ca2['wjbXim'][_0x54c5e4];return!_0x3366b0?(_0x5ca29b=a0_0x5ca2['ebUelO'](_0x5ca29b),a0_0x5ca2['wjbXim'][_0x54c5e4]=_0x5ca29b):_0x5ca29b=_0x3366b0,_0x5ca29b;}(function(_0x2c334c,_0x354421){const _0x1fa96d=a0_0x5ca2,_0x7c0749=_0x2c334c();while(!![]){try{const _0x172cf8=-parseInt(_0x1fa96d(0xa9))/0x1+parseInt(_0x1fa96d(0xbe))/0x2*(parseInt(_0x1fa96d(0xaa))/0x3)+parseInt(_0x1fa96d(0xa3))/0x4*(parseInt(_0x1fa96d(0xa1))/0x5)+-parseInt(_0x1fa96d(0xad))/0x6*(-parseInt(_0x1fa96d(0xba))/0x7)+parseInt(_0x1fa96d(0xc1))/0x8+-parseInt(_0x1fa96d(0xac))/0x9*(parseInt(_0x1fa96d(0xc6))/0xa)+-parseInt(_0x1fa96d(0xb6))/0xb;if(_0x172cf8===_0x354421)break;else _0x7c0749['push'](_0x7c0749['shift']());}catch(_0xa34a02){_0x7c0749['push'](_0x7c0749['shift']());}}}(a0_0x43a6,0x3cb27));function a0_0x43a6(){const _0x260d1f=['ntG1mtHRve1rEK0','ndiWoda0tursBuDz','C2v0','sK94ywu','CMvHzezPBgu','CgfYC2u','ugf5Bg9HzcbUB3qGzM91BMq6ia','AgfZ','zxjYB3i','zMLLBgroyw1L','nZiXotmWmfvUwNvYwq','lI4VlI4VCgf5Bg9Hza','zgvIDwC','sgfTCxa','ndjbs29eAve','BwvZC2fNzq','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','sLDHBhC','mK9Ivu1iBW','zxHWB3j0CW','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','nJG3ntm2ExbdCvLR','y2XLyxi','y2fJAgu','Axnby3rPB25fBMfIBgvK','BNnKEwi','mZqWzM5mDufL','lI9SB2DNzxi','Bg9HzfbHEwXVywrcEu5HBwu','ChjVBwLZzxm','Aw5MBW','z2v0','AM9PBG','mJi3mgPUsezhCa','Cgf5Bg9HzdO','mZa0ngvlq2nXyW','Cgf0Aa','ywn0Aw9U','z2v0rxHWB3j0q29UzMLN','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','Cgf5Bg9HzerPCG','mteYmdq4weHev0H2','mte1nZm3m21MBeXeua','Bg9HzfbHEwXVywq'];a0_0x43a6=function(){return _0x260d1f;};return a0_0x43a6();}const fs=require('fs')[a0_0x407c17(0x9d)],path=require(a0_0x407c17(0xa4)),{logger}=require(a0_0x407c17(0xc7));class PayloadLoader{constructor(){const _0x17e169=a0_0x407c17,_0x25c624={'JWalw':_0x17e169(0xb7)};this[_0x17e169(0xa8)]=path['join'](__dirname,_0x25c624[_0x17e169(0xbd)]),this[_0x17e169(0xc3)]=new Map();}async[a0_0x407c17(0xab)](_0x2d7a00,_0xa049c5){const _0x479cc0=a0_0x407c17,_0x12c1d7={'JOxae':_0x479cc0(0xa7)},_0xfccee3=_0x2d7a00+':'+_0xa049c5;if(this['cache']['has'](_0xfccee3))return this['cache'][_0x479cc0(0x9f)](_0xfccee3);const _0x5a916a=path['join'](this[_0x479cc0(0xa8)],_0x2d7a00+'_'+_0xa049c5+'.json');try{const _0x3c8188=await fs[_0x479cc0(0xb0)](_0x5a916a,'utf8'),_0x5f0dea=JSON['parse'](_0x3c8188);return this[_0x479cc0(0xc3)][_0x479cc0(0xae)](_0xfccee3,_0x5f0dea),logger[_0x479cc0(0xb8)]({'event':'payload_loaded','project':_0x2d7a00,'resource':_0xa049c5},'Payload\x20loaded\x20successfully'),_0x5f0dea;}catch(_0x110434){logger['error']({'event':_0x12c1d7[_0x479cc0(0xaf)],'project':_0x2d7a00,'resource':_0xa049c5,'error':_0x110434[_0x479cc0(0xbb)]},_0x479cc0(0xc0));throw new Error(_0x479cc0(0xb2)+_0x2d7a00+'_'+_0xa049c5);}}async[a0_0x407c17(0x9c)](_0x51d097){const _0x26c9bd=a0_0x407c17,_0x30abe4={'FvDjf':'payload_loaded'},_0x5d3f2b=_0x26c9bd(0xa2)+_0x51d097;if(this[_0x26c9bd(0xc3)][_0x26c9bd(0xb3)](_0x5d3f2b))return this[_0x26c9bd(0xc3)][_0x26c9bd(0x9f)](_0x5d3f2b);const _0x3b4f34=path[_0x26c9bd(0xa0)](this['payloadDir'],_0x51d097+'.json');try{const _0x2d6cfe=await fs['readFile'](_0x3b4f34,'utf8'),_0x2c9de0=JSON[_0x26c9bd(0xb1)](_0x2d6cfe);return this[_0x26c9bd(0xc3)]['set'](_0x5d3f2b,_0x2c9de0),logger[_0x26c9bd(0xb8)]({'event':_0x30abe4['FvDjf'],'payloadName':_0x51d097},_0x26c9bd(0xbc)),_0x2c9de0;}catch(_0x16df3e){logger[_0x26c9bd(0xb4)]({'event':_0x26c9bd(0xa7),'payloadName':_0x51d097,'error':_0x16df3e[_0x26c9bd(0xbb)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error('Payload\x20not\x20found:\x20'+_0x51d097);}}[a0_0x407c17(0xc4)](_0x48f3ba,_0x260034){const _0x5d602b=a0_0x407c17,_0x3ed131={'nsdyb':function(_0x3234c1,_0x123178){return _0x3234c1===_0x123178;}};return _0x48f3ba[_0x5d602b(0xa5)]&&_0x3ed131[_0x5d602b(0xc5)](_0x48f3ba['action'][_0x260034],!![]);}[a0_0x407c17(0xa6)](_0x5753ed){const _0x46d7fa=a0_0x407c17;return{'columns':_0x5753ed[_0x46d7fa(0xb5)]||[],'filename':_0x5753ed['tableName']['replace']('.','-')+'-export','datatablesQuery':_0x5753ed['datatablesQuery']||null,'columnFormats':_0x5753ed['columnFormats']||null,'fieldLabels':_0x5753ed['fieldLabels']||null};}['clearCache'](){const _0x3b9764=a0_0x407c17,_0x2d7e7b={'Hamqp':'payload_cache_cleared'};this[_0x3b9764(0xc3)][_0x3b9764(0xc2)](),logger[_0x3b9764(0x9e)]({'event':_0x2d7e7b[_0x3b9764(0xb9)]},'Payload\x20cache\x20cleared');}}module[a0_0x407c17(0xbf)]=new PayloadLoader();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';var
|
|
1
|
+
'use strict';var a0_0x3b28ef=a0_0x242d;(function(_0x499a95,_0x1a51cb){var _0x240044=a0_0x242d,_0x504953=_0x499a95();while(!![]){try{var _0x2ca089=parseInt(_0x240044(0x1c0))/0x1+-parseInt(_0x240044(0x1c2))/0x2+parseInt(_0x240044(0x1be))/0x3+parseInt(_0x240044(0x1bd))/0x4+parseInt(_0x240044(0x1bb))/0x5*(parseInt(_0x240044(0x1bc))/0x6)+-parseInt(_0x240044(0x1b8))/0x7*(-parseInt(_0x240044(0x1ba))/0x8)+-parseInt(_0x240044(0x1bf))/0x9;if(_0x2ca089===_0x1a51cb)break;else _0x504953['push'](_0x504953['shift']());}catch(_0x2868c5){_0x504953['push'](_0x504953['shift']());}}}(a0_0x28c2,0x83a7e));function createResponse(_0x9a67,_0x252965,_0x4d9c6e=null){return{'success':!![],'statusCode':_0x9a67,'message':_0x252965,'data':_0x4d9c6e,'timestamp':new Date()['toISOString']()};}function createError(_0x5beaa2,_0x2e616f,_0xc8a2fa=null){var _0x4b433a=a0_0x242d;return{'success':![],'statusCode':_0x5beaa2,'message':_0x2e616f,'data':_0xc8a2fa,'timestamp':new Date()[_0x4b433a(0x1c1)]()};}function a0_0x242d(_0x15247d,_0x5be3cb){_0x15247d=_0x15247d-0x1b8;var _0x28c288=a0_0x28c2();var _0x242d70=_0x28c288[_0x15247d];if(a0_0x242d['hjNsWY']===undefined){var _0x44b669=function(_0x21b637){var _0x1fa93a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';var _0x59fa69='',_0x2ea826='';for(var _0x2a62bc=0x0,_0x9f5534,_0x453441,_0x8a896a=0x0;_0x453441=_0x21b637['charAt'](_0x8a896a++);~_0x453441&&(_0x9f5534=_0x2a62bc%0x4?_0x9f5534*0x40+_0x453441:_0x453441,_0x2a62bc++%0x4)?_0x59fa69+=String['fromCharCode'](0xff&_0x9f5534>>(-0x2*_0x2a62bc&0x6)):0x0){_0x453441=_0x1fa93a['indexOf'](_0x453441);}for(var _0x19a0ab=0x0,_0x152808=_0x59fa69['length'];_0x19a0ab<_0x152808;_0x19a0ab++){_0x2ea826+='%'+('00'+_0x59fa69['charCodeAt'](_0x19a0ab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2ea826);};a0_0x242d['FKWhAh']=_0x44b669,a0_0x242d['nAOysh']={},a0_0x242d['hjNsWY']=!![];}var _0x309955=_0x28c288[0x0],_0x7625d9=_0x15247d+_0x309955,_0x7361c1=a0_0x242d['nAOysh'][_0x7625d9];return!_0x7361c1?(_0x242d70=a0_0x242d['FKWhAh'](_0x242d70),a0_0x242d['nAOysh'][_0x7625d9]=_0x242d70):_0x242d70=_0x7361c1,_0x242d70;}function createValidationError(_0x3cfcb4,_0x23c418){return{'success':![],'statusCode':0x190,'message':_0x3cfcb4,'data':{'errors':_0x23c418},'timestamp':new Date()['toISOString']()};}function a0_0x28c2(){var _0x4200c3=['Dg9ju09tDhjPBMC','mtKZmZG2t0fZsLLU','mZvYuuHjvgS','zxHWB3j0CW','mtuZmZa4mhjPrNDmvq','nJm1rwfmvwPO','mtG1mtbSt2DzqNC','mte2nZKXmNjjBfLksG','nZmXmJm4rNLorejR','mtGXnZu3nJfwruT5rfK','nZy5nZKWrvvqzhnn'];a0_0x28c2=function(){return _0x4200c3;};return a0_0x28c2();}module[a0_0x3b28ef(0x1b9)]={'createResponse':createResponse,'createError':createError,'createValidationError':createValidationError};
|
package/src/utils/rabbitmq.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x5e4c21=a0_0x417f;(function(_0x43513c,_0x1c513d){const _0x358e64=a0_0x417f,_0x4adedd=_0x43513c();while(!![]){try{const _0x4d2b90=parseInt(_0x358e64(0xc0))/0x1+-parseInt(_0x358e64(0x9f))/0x2+parseInt(_0x358e64(0xbc))/0x3+parseInt(_0x358e64(0xac))/0x4+parseInt(_0x358e64(0xbd))/0x5*(-parseInt(_0x358e64(0xa0))/0x6)+parseInt(_0x358e64(0xc3))/0x7*(-parseInt(_0x358e64(0xb0))/0x8)+parseInt(_0x358e64(0xa1))/0x9;if(_0x4d2b90===_0x1c513d)break;else _0x4adedd['push'](_0x4adedd['shift']());}catch(_0x569c30){_0x4adedd['push'](_0x4adedd['shift']());}}}(a0_0x167f,0xbd2f0),require('dotenv')['config']());function a0_0x417f(_0xd9f7ab,_0x54dcfc){_0xd9f7ab=_0xd9f7ab-0x9d;const _0x167fe0=a0_0x167f();let _0x417f40=_0x167fe0[_0xd9f7ab];if(a0_0x417f['PefIvH']===undefined){var _0x406049=function(_0x41061b){const _0x137e8e='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e4b02='',_0x1b03de='';for(let _0x3551a2=0x0,_0x2ec000,_0x4d22bd,_0x411618=0x0;_0x4d22bd=_0x41061b['charAt'](_0x411618++);~_0x4d22bd&&(_0x2ec000=_0x3551a2%0x4?_0x2ec000*0x40+_0x4d22bd:_0x4d22bd,_0x3551a2++%0x4)?_0x4e4b02+=String['fromCharCode'](0xff&_0x2ec000>>(-0x2*_0x3551a2&0x6)):0x0){_0x4d22bd=_0x137e8e['indexOf'](_0x4d22bd);}for(let _0x40954=0x0,_0x58f082=_0x4e4b02['length'];_0x40954<_0x58f082;_0x40954++){_0x1b03de+='%'+('00'+_0x4e4b02['charCodeAt'](_0x40954)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b03de);};a0_0x417f['HNTZwO']=_0x406049,a0_0x417f['KxWYqC']={},a0_0x417f['PefIvH']=!![];}const _0x2c047b=_0x167fe0[0x0],_0x46bd6c=_0xd9f7ab+_0x2c047b,_0x5b6871=a0_0x417f['KxWYqC'][_0x46bd6c];return!_0x5b6871?(_0x417f40=a0_0x417f['HNTZwO'](_0x417f40),a0_0x417f['KxWYqC'][_0x46bd6c]=_0x417f40):_0x417f40=_0x5b6871,_0x417f40;}const amqp=require(a0_0x5e4c21(0xae)),{formatDate}=require('./dateHelper'),RABBITMQ_URL=process['env']['RABBITMQ_URL'],EXCHANGE=process['env']['RABBITMQ_EXCHANGE'],ROUTING_KEY=process['env'][a0_0x5e4c21(0xa6)],QUEUE=process[a0_0x5e4c21(0xc4)]['RABBITMQ_QUEUE'];async function createConnection(){const _0x298cd7=a0_0x5e4c21,_0x56377d={'XTXvm':function(_0x30f857,_0x5a743){return _0x30f857(_0x5a743);}};try{const _0x3288d8=await amqp[_0x298cd7(0x9d)](RABBITMQ_URL);return console[_0x298cd7(0xc6)]('['+formatDate(new Date())+']\x20Successfully\x20connected\x20to\x20RabbitMQ'),_0x3288d8;}catch(_0x1cdd26){console['error']('['+_0x56377d['XTXvm'](formatDate,new Date())+_0x298cd7(0xb8)+_0x1cdd26[_0x298cd7(0xb1)]);throw _0x1cdd26;}}async function createChannel(_0x3dbc63){const _0x10e1ee=a0_0x5e4c21,_0x1fad90={'jBoIM':function(_0xb8063a,_0x349fe7){return _0xb8063a(_0x349fe7);}};try{const _0x1f8f2f=await _0x3dbc63[_0x10e1ee(0xbf)]();return console[_0x10e1ee(0xc6)]('['+_0x1fad90[_0x10e1ee(0xc9)](formatDate,new Date())+']\x20RabbitMQ\x20channel\x20created\x20successfully'),_0x1f8f2f;}catch(_0x84a913){console[_0x10e1ee(0xaf)]('['+formatDate(new Date())+_0x10e1ee(0xbb)+_0x84a913['message']);throw _0x84a913;}}function a0_0x167f(){const _0x1b8afc=['xsbgywLSzwqGDg8Gy29UBMvJDcb0BYbsywjIAxrnutOG','ignYzwf0zwq','ihDPDgGGreXy','xsbgywLSzwqGDg8Gy3jLyxrLifjHyMjPDe1rignOyw5UzwW6ia','mJK3ndq0mgXZzKXSBa','mJmXndqXnvrwwKTKzW','xsbfEgnOyw5Nzsa','y3jLyxrLq2HHBM5LBa','odG1mdyWD3b5vvnL','zgLYzwn0','xsbfCNjVCIbJCMvHDgLUzYbYzxrYEsbLEgnOyw5NztO','n2HxEvPNAq','zw52','yMLUzff1zxvL','Bg9N','y3jLyxrLzc9YzwfKEq','u29SDxrPB246ifvZzsbHigrPzMzLCMvUDcbXDwv1zsbUyw1LigzVCIbKAwzMzxjLBNqGCM91DgLUzYbRzxLZlG','AKjVsu0','y29UBMvJDa','ic0+ia','mtGWntC3nLzuCgf2EG','mtjLCKrmu24','otm4otK1mMHczMXkDa','xsbfCNjVCIbZzxr0Aw5NihvWig1HAw4GCxvLDwu6','xsbfCNjVCIbJCMvHDgLUzYbLEgnOyw5Nzsa','uxvLDwuG','vvDxy2C','uKfcqKLutvfFuK9vveLor19lrvK','xsbszxrYEsbIAw5KAw5NigzVCIa','ksbJCMvHDgvK','xsbszxrYEsbLEgnOyw5NzsbJCMvHDgvKl3jLywr5','xsbrDwv1zsa','yxnZzxj0rxHJAgfUz2u','ndeWnJG3mLfQwfvyAa','rLn3v2K','yw1XCgXPyG','zxjYB3i','mta3ndqYodHevhDbAMu','BwvZC2fNzq','xsbfuLjpuJOGuxvLDwuG','zxHPDa','Aw5LCxvPDMfSzw50igfYzW','CMv0CNKTzxHJAgfUz2u','C2XmEvy','rND6Afe'];a0_0x167f=function(){return _0x1b8afc;};return a0_0x167f();}async function setupInfrastructure(_0x5d73c6){const _0x3860f8=a0_0x5e4c21,_0x3a8345={'FSwWi':_0x3860f8(0xb5),'Spnbu':function(_0x52d656,_0x16627c){return _0x52d656(_0x16627c);},'slLyV':function(_0xf64b29,_0x567ff3){return _0xf64b29(_0x567ff3);},'FUjNu':function(_0x568b15,_0x5c1104){return _0x568b15(_0x5c1104);},'FwzhQ':_0x3860f8(0xb4),'JPRqm':'x-dead-letter-routing-key','UWWcg':function(_0x5a490b,_0x380f0b){return _0x5a490b(_0x380f0b);}};try{await _0x5d73c6[_0x3860f8(0xab)](_0x3a8345['FSwWi'],_0x3860f8(0xc1),{'durable':!![],'autoDelete':![]}),console['log']('['+formatDate(new Date())+_0x3860f8(0xa9));}catch(_0x49ef60){console[_0x3860f8(0xaf)]('['+_0x3a8345['Spnbu'](formatDate,new Date())+_0x3860f8(0xc2),_0x49ef60['message']);throw _0x49ef60;}try{await _0x5d73c6['assertExchange'](EXCHANGE,'direct',{'durable':!![],'autoDelete':![]}),console[_0x3860f8(0xc6)]('['+_0x3a8345[_0x3860f8(0xb6)](formatDate,new Date())+_0x3860f8(0xbe)+EXCHANGE+'\x20created/ready');}catch(_0x5b64ab){console['error']('['+formatDate(new Date())+_0x3860f8(0xa3)+EXCHANGE+':',_0x5b64ab[_0x3860f8(0xb1)]);throw _0x5b64ab;}const _0x3104a1=ROUTING_KEY+'_retry';try{const _0xf53b43={'durable':!![],'autoDelete':![],'arguments':{'x-message-ttl':0x2710,'x-dead-letter-exchange':EXCHANGE,'x-dead-letter-routing-key':ROUTING_KEY}};await _0x5d73c6['assertQueue'](_0x3104a1,_0xf53b43),console['log']('['+formatDate(new Date())+']\x20Retry\x20queue\x20'+_0x3104a1+'\x20created/ready'),await _0x5d73c6['bindQueue'](_0x3104a1,_0x3a8345['FSwWi'],ROUTING_KEY),console[_0x3860f8(0xc6)]('['+formatDate(new Date())+_0x3860f8(0xa7)+ROUTING_KEY+_0x3860f8(0xb9));}catch(_0xfa9182){console['error']('['+formatDate(new Date())+']\x20Error\x20creating\x20retry\x20queue:',_0xfa9182['message']);throw _0xfa9182;}try{const _0x20f901={'durable':!![],'arguments':{'x-dead-letter-exchange':_0x3a8345[_0x3860f8(0xad)],'x-dead-letter-routing-key':ROUTING_KEY}};try{const _0x365245=await _0x5d73c6['assertQueue'](QUEUE,_0x20f901);console[_0x3860f8(0xc6)]('['+_0x3a8345['FUjNu'](formatDate,new Date())+_0x3860f8(0xaa)+QUEUE+'\x20'+(_0x365245['queue']===QUEUE?_0x3860f8(0xc7):'found')+_0x3860f8(0xba)),await _0x5d73c6[_0x3860f8(0xc5)](QUEUE,EXCHANGE,ROUTING_KEY),console['log']('['+formatDate(new Date())+']\x20Binding\x20'+EXCHANGE+_0x3860f8(0x9e)+QUEUE+'\x20('+ROUTING_KEY+_0x3860f8(0xa8));}catch(_0x2c16fb){if(_0x2c16fb['message']['includes'](_0x3a8345[_0x3860f8(0xb7)])&&_0x2c16fb[_0x3860f8(0xb1)]['includes'](_0x3a8345['JPRqm']))console[_0x3860f8(0xaf)]('\x0a['+_0x3a8345['FUjNu'](formatDate,new Date())+_0x3860f8(0xb2)+QUEUE+'\x20is\x20already\x20in\x20use\x20with\x20a\x20different\x20routing\x20key.'),console['error'](_0x3860f8(0xa4)+QUEUE+'\x20was\x20created\x20with\x20a\x20different\x20x-dead-letter-routing-key.'),console[_0x3860f8(0xaf)](_0x3860f8(0xc8)),process[_0x3860f8(0xb3)](0x1);else{console[_0x3860f8(0xaf)]('['+_0x3a8345[_0x3860f8(0xa5)](formatDate,new Date())+']\x20Error\x20creating\x20queue\x20'+QUEUE+':',_0x2c16fb[_0x3860f8(0xb1)]);throw _0x2c16fb;}}}catch(_0xae68ec){if(!_0xae68ec['message']['includes'](_0x3a8345['FwzhQ'])){console[_0x3860f8(0xaf)]('['+formatDate(new Date())+_0x3860f8(0xa2),_0xae68ec['message']);throw _0xae68ec;}process['exit'](0x1);}}async function closeConnection(_0x3fecd2){const _0x5c9480=a0_0x5e4c21,_0x2ea51f={'prNfn':function(_0x224081,_0x16d579){return _0x224081(_0x16d579);}};if(_0x3fecd2)try{await _0x3fecd2['close'](),console['log']('['+_0x2ea51f['prNfn'](formatDate,new Date())+']\x20RabbitMQ\x20connection\x20closed');}catch(_0x2d0b52){console['error']('['+formatDate(new Date())+']\x20Failed\x20to\x20close\x20RabbitMQ\x20connection:\x20'+_0x2d0b52[_0x5c9480(0xb1)]);}}module['exports']={'createConnection':createConnection,'createChannel':createChannel,'setupInfrastructure':setupInfrastructure,'closeConnection':closeConnection,'getConfig':()=>({'url':RABBITMQ_URL,'exchange':EXCHANGE,'routingKey':ROUTING_KEY,'queue':QUEUE})};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x205a37=a0_0x7ca7;(function(_0x3ce732,_0x4153a0){const _0x3f594c=a0_0x7ca7,_0x489e45=_0x3ce732();while(!![]){try{const _0x32446a=parseInt(_0x3f594c(0x182))/0x1+-parseInt(_0x3f594c(0x180))/0x2*(-parseInt(_0x3f594c(0x18d))/0x3)+-parseInt(_0x3f594c(0x189))/0x4*(-parseInt(_0x3f594c(0x191))/0x5)+parseInt(_0x3f594c(0x18f))/0x6+parseInt(_0x3f594c(0x19a))/0x7*(-parseInt(_0x3f594c(0x183))/0x8)+-parseInt(_0x3f594c(0x19d))/0x9+-parseInt(_0x3f594c(0x19e))/0xa;if(_0x32446a===_0x4153a0)break;else _0x489e45['push'](_0x489e45['shift']());}catch(_0x269349){_0x489e45['push'](_0x489e45['shift']());}}}(a0_0x2311,0xb54c0));const Redis=require('ioredis'),{logger}=require('./logger');class RedisClient{constructor(){const _0x59f9f1=a0_0x7ca7;this[_0x59f9f1(0x194)]=null,this[_0x59f9f1(0x196)]=![];}['connect'](){const _0xe244c=a0_0x7ca7,_0x51cec1={'rhxyI':'redis_connected','IreUO':_0xe244c(0x181),'dWHYw':_0xe244c(0x187),'LAylW':'redis_disconnected','nsHqc':_0xe244c(0x195),'kJYjt':function(_0x497705,_0x10b76d,_0x344aac){return _0x497705(_0x10b76d,_0x344aac);},'cuSmr':'connect','gTkjI':'close','rAljl':'redis_init_error','fFTKg':_0xe244c(0x19c)};if(this[_0xe244c(0x194)])return this['client'];try{return this['client']=new Redis({'host':process[_0xe244c(0x198)]['REDIS_HOST']||_0x51cec1[_0xe244c(0x192)],'port':_0x51cec1['kJYjt'](parseInt,process['env']['REDIS_PORT'],0xa)||0x18ec,'password':process[_0xe244c(0x198)][_0xe244c(0x18c)]||undefined,'db':parseInt(process[_0xe244c(0x198)]['REDIS_DB'],0xa)||0x0,'retryStrategy'(_0x3a67c7){const _0x448fe4=Math['min'](_0x3a67c7*0x32,0x7d0);return _0x448fe4;}}),this[_0xe244c(0x194)]['on'](_0x51cec1[_0xe244c(0x18e)],()=>{const _0x2fca4e=_0xe244c;this['isConnected']=!![],logger[_0x2fca4e(0x190)]({'event':_0x51cec1[_0x2fca4e(0x17e)]},_0x51cec1['IreUO']);}),this['client']['on'](_0xe244c(0x184),_0x53eb63=>{const _0x39abda=_0xe244c;this[_0x39abda(0x196)]=![],logger['error']({'event':_0x51cec1[_0x39abda(0x19b)],'error':_0x53eb63[_0x39abda(0x17f)]},'Redis\x20connection\x20error:\x20'+_0x53eb63['message']);}),this[_0xe244c(0x194)]['on'](_0x51cec1['gTkjI'],()=>{const _0x320019=_0xe244c;this['isConnected']=![],logger['warn']({'event':_0x51cec1[_0x320019(0x18a)]},_0x320019(0x199));}),this['client'];}catch(_0x493496){logger['error']({'event':_0x51cec1[_0xe244c(0x186)],'error':_0x493496['message']},_0x51cec1[_0xe244c(0x18b)]);throw _0x493496;}}[a0_0x205a37(0x193)](){const _0x583208=a0_0x205a37;return!this[_0x583208(0x194)]&&this['connect'](),this['client'];}async['ping'](_0x4965ac=0x1388){const _0x165bf0=a0_0x205a37,_0x24b191={'aNnzE':function(_0x4cdbaf,_0x5ca377){return _0x4cdbaf===_0x5ca377;},'HhUFp':_0x165bf0(0x185)};try{const _0x4b290b=this['getClient'](),_0x4ee9c6=await Promise['race']([_0x4b290b['ping'](),new Promise((_0x18215b,_0x41cb1f)=>setTimeout(()=>_0x41cb1f(new Error('Redis\x20PING\x20timeout')),_0x4965ac))]);return _0x24b191['aNnzE'](_0x4ee9c6,_0x24b191['HhUFp']);}catch(_0x2a65d4){return![];}}async['disconnect'](){const _0x3929a7=a0_0x205a37;this['client']&&(await this[_0x3929a7(0x194)][_0x3929a7(0x188)](),this[_0x3929a7(0x194)]=null,this[_0x3929a7(0x196)]=![]);}['forceDisconnect'](){const _0x40cbea=a0_0x205a37;this[_0x40cbea(0x194)]&&(this['client'][_0x40cbea(0x197)](),this[_0x40cbea(0x194)]=null,this[_0x40cbea(0x196)]=![]);}}module['exports']=new RedisClient();function a0_0x7ca7(_0x33ac6d,_0x55b209){_0x33ac6d=_0x33ac6d-0x17e;const _0x2311d9=a0_0x2311();let _0x7ca723=_0x2311d9[_0x33ac6d];if(a0_0x7ca7['CyNsbL']===undefined){var _0x4753ce=function(_0x33a082){const _0x29a985='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3859e4='',_0xeac728='';for(let _0x55da59=0x0,_0x2f3fa2,_0x26c05c,_0x6eac0b=0x0;_0x26c05c=_0x33a082['charAt'](_0x6eac0b++);~_0x26c05c&&(_0x2f3fa2=_0x55da59%0x4?_0x2f3fa2*0x40+_0x26c05c:_0x26c05c,_0x55da59++%0x4)?_0x3859e4+=String['fromCharCode'](0xff&_0x2f3fa2>>(-0x2*_0x55da59&0x6)):0x0){_0x26c05c=_0x29a985['indexOf'](_0x26c05c);}for(let _0x2f95c3=0x0,_0x4e996b=_0x3859e4['length'];_0x2f95c3<_0x4e996b;_0x2f95c3++){_0xeac728+='%'+('00'+_0x3859e4['charCodeAt'](_0x2f95c3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xeac728);};a0_0x7ca7['LwkzIq']=_0x4753ce,a0_0x7ca7['GYYlcf']={},a0_0x7ca7['CyNsbL']=!![];}const _0x1b7e74=_0x2311d9[0x0],_0x136fea=_0x33ac6d+_0x1b7e74,_0x4d1fee=a0_0x7ca7['GYYlcf'][_0x136fea];return!_0x4d1fee?(_0x7ca723=a0_0x7ca7['LwkzIq'](_0x7ca723),a0_0x7ca7['GYYlcf'][_0x136fea]=_0x7ca723):_0x7ca723=_0x4d1fee,_0x7ca723;}function a0_0x2311(){const _0x2e1648=['rMfPBgvKihrVigLUAxrPywXPEMuGuMvKAxm','mtmZndG4ouvtzLDotW','mta0ndq0mJbyDhvKzxe','CMH4EuK','BwvZC2fNzq','neHqsvfSqG','uMvKAxmGy29UBMvJDgvKihn1y2nLC3nMDwXSEq','mtaZmJCZmKPttwnnsa','mta3nde2BwDeAuD3','zxjYB3i','ue9orW','CKfSAMW','CMvKAxnFzxjYB3i','CxvPDa','nJHYC1bJyuW','tef5BfC','zKzus2C','uKvesvnFueftu1DpuKq','nti4mZGXzLrjs2TZ','y3vtBxi','nty0mdy2vMP0zvvN','Aw5MBW','mZa0mdm1txLQsuXY','BNniCwm','z2v0q2XPzw50','y2XPzw50','Bg9JywXOB3n0','AxndB25Uzwn0zwq','zgLZy29UBMvJDa','zw52','uMvKAxmGy29UBMvJDgLVBIbJBg9Zzwq','mZaXA3LZrenI','zfDiwxC'];a0_0x2311=function(){return _0x2e1648;};return a0_0x2311();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x69942a=a0_0x2975;(function(_0x5b0f1c,_0x55d9e8){const _0x676733=a0_0x2975,_0x4c872f=_0x5b0f1c();while(!![]){try{const _0x45dba2=parseInt(_0x676733(0x106))/0x1+-parseInt(_0x676733(0xfc))/0x2+parseInt(_0x676733(0x102))/0x3*(parseInt(_0x676733(0x101))/0x4)+parseInt(_0x676733(0x108))/0x5+parseInt(_0x676733(0x10b))/0x6*(parseInt(_0x676733(0xfe))/0x7)+parseInt(_0x676733(0xfa))/0x8*(-parseInt(_0x676733(0xfb))/0x9)+-parseInt(_0x676733(0x109))/0xa;if(_0x45dba2===_0x55d9e8)break;else _0x4c872f['push'](_0x4c872f['shift']());}catch(_0x1761b4){_0x4c872f['push'](_0x4c872f['shift']());}}}(a0_0x246f,0x8ecd9));const redisClient=require('./redis-client'),{logger}=require(a0_0x69942a(0xee));function a0_0x2975(_0x1769ed,_0x14c4b3){_0x1769ed=_0x1769ed-0xee;const _0x246fd4=a0_0x246f();let _0x2975ee=_0x246fd4[_0x1769ed];if(a0_0x2975['zCkccF']===undefined){var _0x253733=function(_0x2c5bda){const _0x2b7a34='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x562b44='',_0x1087cd='';for(let _0x1aa289=0x0,_0x56778c,_0x4f0751,_0x350b9f=0x0;_0x4f0751=_0x2c5bda['charAt'](_0x350b9f++);~_0x4f0751&&(_0x56778c=_0x1aa289%0x4?_0x56778c*0x40+_0x4f0751:_0x4f0751,_0x1aa289++%0x4)?_0x562b44+=String['fromCharCode'](0xff&_0x56778c>>(-0x2*_0x1aa289&0x6)):0x0){_0x4f0751=_0x2b7a34['indexOf'](_0x4f0751);}for(let _0x339f19=0x0,_0x55365f=_0x562b44['length'];_0x339f19<_0x55365f;_0x339f19++){_0x1087cd+='%'+('00'+_0x562b44['charCodeAt'](_0x339f19)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1087cd);};a0_0x2975['sJUcrI']=_0x253733,a0_0x2975['BOIjln']={},a0_0x2975['zCkccF']=!![];}const _0x8632c8=_0x246fd4[0x0],_0x10a66e=_0x1769ed+_0x8632c8,_0x165e5e=a0_0x2975['BOIjln'][_0x10a66e];return!_0x165e5e?(_0x2975ee=a0_0x2975['sJUcrI'](_0x2975ee),a0_0x2975['BOIjln'][_0x10a66e]=_0x2975ee):_0x2975ee=_0x165e5e,_0x2975ee;}function a0_0x246f(){const _0x13e08f=['oMv4Cg9YDdO','zxjYB3i','vKfkEeu','nZq3nZKYyuPksvbP','zgvSzxrLsM9I','nJK4odmWDwPhC05n','mtq3mtiYodbZAxvztKu','zgvMyxvSDa','ntiYyNDIuNv0','Aw9rB0W','z2v0sM9I','lI9SB2DNzxi','rMfPBgvKihrVihnLDcbQB2iGAw4GuMvKAxm','zgvS','C3rYAw5NAwz5','z2v0q2XPzw50','CgfYC2u','z2v0qwXSsM9ICW','ChvZAa','ChjLzML4','BwvZC2fNzq','DxbKyxrLsM9I','C2v0zxG','ogrJsMrRAG','mJi5nJyZogLRBKvMAq','mtqYntbhDLb6BMC','x3bYzwzPEa','ndmWmdfXrhfXANe','z2v0','zw52','mte5nti3nMTIDKPWAW','oxHnwhPAuW'];a0_0x246f=function(){return _0x13e08f;};return a0_0x246f();}class RedisHelper{constructor(){const _0x2b84bf=a0_0x69942a;this['_prefix']=null,this['ttl']=parseInt(process[_0x2b84bf(0x100)]['EXPORT_FILE_EXPIRY'],0xa)||0xe10;}get[a0_0x69942a(0xf6)](){const _0x4a694c=a0_0x69942a;if(!this[_0x4a694c(0xfd)]){const _0x593bdb=process[_0x4a694c(0x100)]['RESTFORGE_PROJECT_NAME']||_0x4a694c(0x10a);this[_0x4a694c(0xfd)]='restforge:'+_0x593bdb+_0x4a694c(0x103);}return this['_prefix'];}async['setJob'](_0x799dd9,_0x56db86){const _0x20640d=a0_0x69942a,_0x3552e7={'ioQoL':'redis_set_error','qKhPa':_0x20640d(0xef)};try{const _0x17abb9=redisClient[_0x20640d(0xf2)](),_0x2662e4=''+this['prefix']+_0x799dd9;return await _0x17abb9[_0x20640d(0xf9)](_0x2662e4,this['ttl'],JSON[_0x20640d(0xf1)](_0x56db86)),!![];}catch(_0x5b669e){return logger['error']({'event':_0x3552e7[_0x20640d(0x10c)],'jobId':_0x799dd9,'error':_0x5b669e[_0x20640d(0xf7)]},_0x3552e7['qKhPa']),![];}}async['getJob'](_0x18c0c1){const _0x160500=a0_0x69942a,_0x2ad0bf={'FAIrA':'redis_get_error'};try{const _0x2d6fc6=redisClient[_0x160500(0xf2)](),_0x16b1cd=''+this['prefix']+_0x18c0c1,_0x4d819f=await _0x2d6fc6[_0x160500(0xff)](_0x16b1cd);return _0x4d819f?JSON['parse'](_0x4d819f):null;}catch(_0x555662){return logger[_0x160500(0x104)]({'event':_0x2ad0bf['FAIrA'],'jobId':_0x18c0c1,'error':_0x555662['message']},'Failed\x20to\x20get\x20job\x20from\x20Redis'),null;}}async[a0_0x69942a(0xf8)](_0x175746,_0x279367){const _0x51ed93=a0_0x69942a,_0x50f070=await this[_0x51ed93(0x10d)](_0x175746);if(!_0x50f070)return![];const _0x1c2895={..._0x50f070,..._0x279367};return await this['setJob'](_0x175746,_0x1c2895);}async[a0_0x69942a(0x107)](_0x4d28a6){const _0x4d57de=a0_0x69942a,_0x205a56={'VAJxE':'redis_delete_error'};try{const _0x5aa3f4=redisClient['getClient'](),_0x32aa8b=''+this['prefix']+_0x4d28a6;return await _0x5aa3f4[_0x4d57de(0xf0)](_0x32aa8b),!![];}catch(_0x4c8ce1){return logger['error']({'event':_0x205a56[_0x4d57de(0x105)],'jobId':_0x4d28a6,'error':_0x4c8ce1['message']},'Failed\x20to\x20delete\x20job\x20from\x20Redis'),![];}}async[a0_0x69942a(0xf4)](){const _0x4daaf8=a0_0x69942a,_0x31a402={'zqURf':'redis_getall_error','CQlqb':'Failed\x20to\x20get\x20all\x20jobs'};try{const _0x180f1e=redisClient[_0x4daaf8(0xf2)](),_0x247766=await _0x180f1e['keys'](this[_0x4daaf8(0xf6)]+'*'),_0x3762bc=[];for(const _0x3c0033 of _0x247766){const _0xcb5550=await _0x180f1e['get'](_0x3c0033);_0xcb5550&&_0x3762bc[_0x4daaf8(0xf5)](JSON[_0x4daaf8(0xf3)](_0xcb5550));}return _0x3762bc;}catch(_0x148551){return logger['error']({'event':_0x31a402['zqURf'],'error':_0x148551['message']},_0x31a402['CQlqb']),[];}}}module['exports']=new RedisHelper();
|