@restforgejs/platform 5.2.16 → 5.3.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/generators/cli/endpoint/create.js +69 -6
- package/generators/cli/payload/sync.js +16 -6
- package/generators/cli/project/auth.js +2 -2
- package/generators/cli/project/sdk.js +112 -0
- package/generators/lib/arg-parser.js +6 -0
- package/generators/lib/auth/processor-generator.js +5 -3
- package/generators/lib/auth/templates/processor/google.js.tmpl +178 -0
- package/generators/lib/auth/templates/processor/login.js.tmpl +8 -8
- package/generators/lib/auth/templates/processor/logout.js.tmpl +2 -2
- package/generators/lib/auth/templates/processor/me.js.tmpl +2 -2
- package/generators/lib/auth/templates/processor/refresh.js.tmpl +6 -6
- package/generators/lib/auth/templates/processor/register.js.tmpl +4 -4
- package/generators/lib/auth/templates/processor/reset-password.js.tmpl +7 -7
- package/generators/lib/auth/templates/rfx_auth.js.tmpl +3 -0
- package/generators/lib/generators/model-generator.js +46 -59
- package/generators/lib/help-generator.js +41 -3
- package/generators/lib/payload/endpoint-schema-validator.js +8 -3
- package/generators/lib/payload/field-projections.js +116 -0
- package/generators/lib/payload/payload-runner.js +164 -48
- package/generators/lib/payload/schema-diff.js +108 -0
- package/generators/lib/sdk/generator.js +719 -0
- package/generators/lib/sdk/naming.js +48 -0
- package/generators/lib/sdk/runtime/README.md.tmpl +207 -0
- package/generators/lib/sdk/runtime/auth-client.js +186 -0
- package/generators/lib/sdk/runtime/deploy.mjs.tmpl +85 -0
- package/generators/lib/sdk/runtime/http-client.js +81 -0
- package/generators/lib/sdk/runtime/resource-client.js +59 -0
- package/generators/lib/sdk/runtime/storage.js +31 -0
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/generators/lib/utils/cli-output.js +40 -0
- package/generators/lib/utils/config-resolver.js +61 -0
- package/generators/lib/utils/database-introspector.js +28 -5
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/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
|
-
function
|
|
1
|
+
function a0_0x2c6f(){const _0x3fe4e4=['z2v0u2vJB25KCW','zM9YBwf0rgf0zq','mZm0nte3qwvHru5j','CgfKu3rHCNq','Bfj3vNq','mJDfzfvqCuu','mJqXnJy4n1nUugXUAG','z2v0sg91CNm','sMLHtKW','z2v0vgLTzq','DgLTzq','D2fYBG','sw52ywXPzcb0Aw1LihzHBhvLoIa','ntCXodKWmeDSq2ffEq','mtq1rxrmuw1r','nJa2mdeWtxvpzwr6','mJu1mdrgz1HHz0C','mJaWmJy4seDeAfLz','z2v0rgf0zq','sw52ywXPzcbKyxrLihzHBhvLoIa','zxHWB3j0CW','zM9YBwf0vgLTzxn0yw1W','C3bSAxq','z2v0tw9UDgG','z2v0twLUDxrLCW','m0jKs0Hurq','zM9YBwf0vgLTzq','mZaZnZa4nNbNtunvsG','ognhCujXCq'];a0_0x2c6f=function(){return _0x3fe4e4;};return a0_0x2c6f();}const a0_0x543914=a0_0x6d92;(function(_0x2e309b,_0x8aa8ae){const _0x5b8bf8=a0_0x6d92,_0x34a4f0=_0x2e309b();while(!![]){try{const _0x23d39b=-parseInt(_0x5b8bf8(0x179))/0x1+parseInt(_0x5b8bf8(0x16b))/0x2*(-parseInt(_0x5b8bf8(0x173))/0x3)+parseInt(_0x5b8bf8(0x16a))/0x4*(parseInt(_0x5b8bf8(0x168))/0x5)+parseInt(_0x5b8bf8(0x175))/0x6+parseInt(_0x5b8bf8(0x160))/0x7*(parseInt(_0x5b8bf8(0x176))/0x8)+-parseInt(_0x5b8bf8(0x15f))/0x9*(-parseInt(_0x5b8bf8(0x169))/0xa)+-parseInt(_0x5b8bf8(0x167))/0xb;if(_0x23d39b===_0x8aa8ae)break;else _0x34a4f0['push'](_0x34a4f0['shift']());}catch(_0x560b3e){_0x34a4f0['push'](_0x34a4f0['shift']());}}}(a0_0x2c6f,0x4059a));class DateTimeFormatter{static['format'](_0xe0bb00,_0xbfdbfe,_0x170d31){const _0x8cbaaf=a0_0x6d92,_0x2e4ee7={'UFrCY':function(_0x678360,_0x33e3fb){return _0x678360===_0x33e3fb;},'JiaNL':function(_0xe9cd6b,_0xec8dba){return _0xe9cd6b===_0xec8dba;},'MpeEP':'timestamp','CbKwG':function(_0x2930fd,_0x2eaad1){return _0x2930fd===_0x2eaad1;}};if(!_0xe0bb00)return null;try{if(_0x2e4ee7['UFrCY'](_0x170d31,'date'))return this['formatDate'](_0xe0bb00,_0xbfdbfe);else{if(_0x2e4ee7[_0x8cbaaf(0x162)](_0x170d31,_0x2e4ee7['MpeEP']))return this[_0x8cbaaf(0x16f)](_0xe0bb00,_0xbfdbfe);else{if(_0x2e4ee7['CbKwG'](_0x170d31,_0x8cbaaf(0x164)))return this[_0x8cbaaf(0x174)](_0xe0bb00,_0xbfdbfe);}}return _0xe0bb00;}catch(_0x68ffc4){return console['error']('Error\x20formatting\x20datetime:\x20'+_0x68ffc4['message']),_0xe0bb00;}}static[a0_0x543914(0x178)](_0x483c38,_0x335b8c){const _0xcea81a=a0_0x543914,_0x15cff1={'pdMQo':function(_0x50af07,_0x1aec42){return _0x50af07+_0x1aec42;}},_0x55b9e0=new Date(_0x483c38);if(isNaN(_0x55b9e0['getTime']()))return console['warn'](_0xcea81a(0x16d)+_0x483c38),_0x483c38;const _0x449859=String(_0x55b9e0[_0xcea81a(0x16c)]())[_0xcea81a(0x17a)](0x2,'0'),_0x2a4f58=String(_0x15cff1['pdMQo'](_0x55b9e0[_0xcea81a(0x171)](),0x1))[_0xcea81a(0x17a)](0x2,'0'),_0x186097=_0x55b9e0['getFullYear'](),_0x189e47={'dd/MM/yyyy':_0x449859+'/'+_0x2a4f58+'/'+_0x186097,'dd-MM-yyyy':_0x449859+'-'+_0x2a4f58+'-'+_0x186097,'MM/dd/yyyy':_0x2a4f58+'/'+_0x449859+'/'+_0x186097,'yyyy/MM/dd':_0x186097+'/'+_0x2a4f58+'/'+_0x449859,'yyyy-MM-dd':_0x186097+'-'+_0x2a4f58+'-'+_0x449859};return _0x189e47[_0x335b8c]||_0x186097+'-'+_0x2a4f58+'-'+_0x449859;}static['formatTimestamp'](_0x3ddfe0,_0x12e24d){const _0x12f696=a0_0x543914,_0x4aeb66={'tdXNT':function(_0xdd8fb9,_0x5dd46c){return _0xdd8fb9(_0x5dd46c);}},_0x2044a5=new Date(_0x3ddfe0);if(isNaN(_0x2044a5[_0x12f696(0x163)]()))return console['warn']('Invalid\x20timestamp\x20value:\x20'+_0x3ddfe0),_0x3ddfe0;const _0x319a42=String(_0x2044a5[_0x12f696(0x16c)]())['padStart'](0x2,'0'),_0x26feb4=String(_0x2044a5[_0x12f696(0x171)]()+0x1)['padStart'](0x2,'0'),_0x4b2505=_0x2044a5['getFullYear'](),_0xfccd36=String(_0x2044a5[_0x12f696(0x161)]())['padStart'](0x2,'0'),_0x151c25=_0x4aeb66['tdXNT'](String,_0x2044a5[_0x12f696(0x172)]())[_0x12f696(0x17a)](0x2,'0'),_0xc9a0de=String(_0x2044a5[_0x12f696(0x177)]())[_0x12f696(0x17a)](0x2,'0'),_0x37dc4c=_0x12e24d['split']('\x20');if(_0x37dc4c['length']!==0x2)return _0x4b2505+'-'+_0x26feb4+'-'+_0x319a42+'\x20'+_0xfccd36+':'+_0x151c25+':'+_0xc9a0de;const _0x2b48f8=_0x37dc4c[0x0],_0x297e51=_0x37dc4c[0x1],_0x37cd98={'dd/MM/yyyy':_0x319a42+'/'+_0x26feb4+'/'+_0x4b2505,'dd-MM-yyyy':_0x319a42+'-'+_0x26feb4+'-'+_0x4b2505,'MM/dd/yyyy':_0x26feb4+'/'+_0x319a42+'/'+_0x4b2505,'yyyy/MM/dd':_0x4b2505+'/'+_0x26feb4+'/'+_0x319a42,'yyyy-MM-dd':_0x4b2505+'-'+_0x26feb4+'-'+_0x319a42},_0x5a6b81={'HH:mm':_0xfccd36+':'+_0x151c25,'HH:mm:ss':_0xfccd36+':'+_0x151c25+':'+_0xc9a0de,'hh:mm':_0xfccd36+':'+_0x151c25},_0x2566a1=_0x37cd98[_0x2b48f8]||_0x4b2505+'-'+_0x26feb4+'-'+_0x319a42,_0x36325c=_0x5a6b81[_0x297e51]||_0xfccd36+':'+_0x151c25+':'+_0xc9a0de;return _0x2566a1+'\x20'+_0x36325c;}static[a0_0x543914(0x174)](_0x2ea681,_0x270d79){const _0x36a909=a0_0x543914,_0x32311d={'lRwVt':function(_0xc2ed7b,_0x59e988){return _0xc2ed7b!==_0x59e988;},'sPvKt':'string'};if(_0x32311d[_0x36a909(0x15e)](typeof _0x2ea681,_0x32311d['sPvKt']))return _0x2ea681;const _0x5a39d2=_0x2ea681[_0x36a909(0x170)](':');if(_0x5a39d2['length']<0x2)return console[_0x36a909(0x165)](_0x36a909(0x166)+_0x2ea681),_0x2ea681;const _0x4552c4=_0x5a39d2[0x0]['padStart'](0x2,'0'),_0x210a24=_0x5a39d2[0x1]['padStart'](0x2,'0'),_0x1ca921=_0x5a39d2[0x2]?_0x5a39d2[0x2]['split']('.')[0x0][_0x36a909(0x17a)](0x2,'0'):'00',_0x166ef0={'HH:mm':_0x4552c4+':'+_0x210a24,'HH:mm:ss':_0x4552c4+':'+_0x210a24+':'+_0x1ca921,'hh:mm':_0x4552c4+':'+_0x210a24};return _0x166ef0[_0x270d79]||_0x4552c4+':'+_0x210a24+':'+_0x1ca921;}}function a0_0x6d92(_0x594464,_0x5b771e){_0x594464=_0x594464-0x15e;const _0x2c6f19=a0_0x2c6f();let _0x6d9267=_0x2c6f19[_0x594464];if(a0_0x6d92['gTRDIU']===undefined){var _0x5eedd8=function(_0x533fee){const _0x529cd7='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4e7a11='',_0x7fd805='';for(let _0x5d9455=0x0,_0x4afee5,_0x517598,_0x1077aa=0x0;_0x517598=_0x533fee['charAt'](_0x1077aa++);~_0x517598&&(_0x4afee5=_0x5d9455%0x4?_0x4afee5*0x40+_0x517598:_0x517598,_0x5d9455++%0x4)?_0x4e7a11+=String['fromCharCode'](0xff&_0x4afee5>>(-0x2*_0x5d9455&0x6)):0x0){_0x517598=_0x529cd7['indexOf'](_0x517598);}for(let _0x4e8e95=0x0,_0x161859=_0x4e7a11['length'];_0x4e8e95<_0x161859;_0x4e8e95++){_0x7fd805+='%'+('00'+_0x4e7a11['charCodeAt'](_0x4e8e95)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x7fd805);};a0_0x6d92['ubmJWu']=_0x5eedd8,a0_0x6d92['PfMGPR']={},a0_0x6d92['gTRDIU']=!![];}const _0x3f125c=_0x2c6f19[0x0],_0x3cf8b1=_0x594464+_0x3f125c,_0x11b110=a0_0x6d92['PfMGPR'][_0x3cf8b1];return!_0x11b110?(_0x6d9267=a0_0x6d92['ubmJWu'](_0x6d9267),a0_0x6d92['PfMGPR'][_0x3cf8b1]=_0x6d9267):_0x6d9267=_0x11b110,_0x6d9267;}module[a0_0x543914(0x16e)]=DateTimeFormatter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
function a0_0x4ea3(_0x1dd3e3,_0x32f10f){_0x1dd3e3=_0x1dd3e3-0x10a;const _0x1b63d5=a0_0x1b63();let _0x4ea3b2=_0x1b63d5[_0x1dd3e3];if(a0_0x4ea3['HeoqOh']===undefined){var _0x5c5e7a=function(_0x2440b2){const _0x5ba68c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4a8f10='',_0x3e1aba='';for(let _0x5c43b5=0x0,_0x322e48,_0x2ac543,_0x2bd6e0=0x0;_0x2ac543=_0x2440b2['charAt'](_0x2bd6e0++);~_0x2ac543&&(_0x322e48=_0x5c43b5%0x4?_0x322e48*0x40+_0x2ac543:_0x2ac543,_0x5c43b5++%0x4)?_0x4a8f10+=String['fromCharCode'](0xff&_0x322e48>>(-0x2*_0x5c43b5&0x6)):0x0){_0x2ac543=_0x5ba68c['indexOf'](_0x2ac543);}for(let _0x3307de=0x0,_0x4fc62a=_0x4a8f10['length'];_0x3307de<_0x4fc62a;_0x3307de++){_0x3e1aba+='%'+('00'+_0x4a8f10['charCodeAt'](_0x3307de)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3e1aba);};a0_0x4ea3['UriaWs']=_0x5c5e7a,a0_0x4ea3['BGkCGz']={},a0_0x4ea3['HeoqOh']=!![];}const _0x1f40db=_0x1b63d5[0x0],_0x127b43=_0x1dd3e3+_0x1f40db,_0x71fdef=a0_0x4ea3['BGkCGz'][_0x127b43];return!_0x71fdef?(_0x4ea3b2=a0_0x4ea3['UriaWs'](_0x4ea3b2),a0_0x4ea3['BGkCGz'][_0x127b43]=_0x4ea3b2):_0x4ea3b2=_0x71fdef,_0x4ea3b2;}const a0_0x5a1fea=a0_0x4ea3;(function(_0x2dcb49,_0x5e34c8){const _0x328824=a0_0x4ea3,_0x5b5f57=_0x2dcb49();while(!![]){try{const _0x2fc1c7=-parseInt(_0x328824(0x130))/0x1+-parseInt(_0x328824(0x12e))/0x2*(-parseInt(_0x328824(0x121))/0x3)+-parseInt(_0x328824(0x124))/0x4*(-parseInt(_0x328824(0x125))/0x5)+-parseInt(_0x328824(0x119))/0x6+-parseInt(_0x328824(0x116))/0x7*(-parseInt(_0x328824(0x11a))/0x8)+-parseInt(_0x328824(0x131))/0x9*(-parseInt(_0x328824(0x10a))/0xa)+parseInt(_0x328824(0x110))/0xb;if(_0x2fc1c7===_0x5e34c8)break;else _0x5b5f57['push'](_0x5b5f57['shift']());}catch(_0x32091b){_0x5b5f57['push'](_0x5b5f57['shift']());}}}(a0_0x1b63,0x59ae1));function a0_0x1b63(){const _0x3b6d60=['nNPMr2nhza','rxjYB3iGCgfYC2LUzYbKyxrLDgLTztOG','EvHQAuq','ndCYDxnzzvLy','odv0rvP0s0q','DgLTzq','y2vhCgC','Cgf0DgvYBG','CgfYC2vuAw1L','vuTUyxq','r3DNAxu','C2T0CNG','EwvHCG','mta2nJi2teTUqxjp','zfftC1O','nZeWmduYwevlz3L6','mtq1mdm1tMLAqNL3','ntbwrKLpDg0','zxHWB3j0CW','DgLTzxn0yw1W','rhH0DNa','CgfYC2u','B3jKzxi','mtqZotq0otbOu1j2q2y','D2fYBG','oJaW','seG6Bw06C3m','BgvUz3rO','DNLrqwq','otflsNDKugm','sffTtgy','C3bSAxq','mJG2oteYogHHBKrLvG','mZu1ntjqA3bjExu','seG6Bw0','ExL5Es1nts1KzcbisdPTBtPZCW','Bw9UDgG','CgfYC2vuAw1LC3rHBxa','Bwf0y2G','zgf5'];a0_0x1b63=function(){return _0x3b6d60;};return a0_0x1b63();}class DateTimeParser{static[a0_0x5a1fea(0x10e)](_0x359487,_0x49a2c0,_0x149cb5){const _0x417125=a0_0x5a1fea,_0x1436ec={'Dxtvp':function(_0x1f1d3c,_0x5902ac){return _0x1f1d3c===_0x5902ac;},'vyQAd':'date','yXjiD':_0x417125(0x10c)};if(!_0x359487||_0x1436ec['Dxtvp'](_0x359487,''))return null;try{if(_0x1436ec[_0x417125(0x10d)](_0x149cb5,_0x1436ec[_0x417125(0x115)]))return this['parseDate'](_0x359487,_0x49a2c0);else{if(_0x1436ec['Dxtvp'](_0x149cb5,_0x1436ec[_0x417125(0x123)]))return this[_0x417125(0x11e)](_0x359487,_0x49a2c0);else{if(_0x149cb5===_0x417125(0x126))return this['parseTime'](_0x359487,_0x49a2c0);}}return _0x359487;}catch(_0x399d6d){return console['error'](_0x417125(0x122)+_0x399d6d['message']),null;}}static['parseDate'](_0x3df567,_0x23dadd){const _0x97b1d9=a0_0x5a1fea,_0x418047={'ceGpg':function(_0x50f658,_0x122b53){return _0x50f658+_0x122b53;},'qaBuj':'yyyy-MM-dd','qlAtV':'day','sktrx':_0x97b1d9(0x11d),'dQSsZ':'year'};if(!_0x23dadd||_0x23dadd===_0x418047['qaBuj'])return _0x3df567;const _0x4e60ad={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x418047['qlAtV'],_0x97b1d9(0x11d),'year']},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':['day',_0x418047['sktrx'],_0x418047[_0x97b1d9(0x12f)]]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x418047[_0x97b1d9(0x12c)],_0x97b1d9(0x120),_0x97b1d9(0x12d)]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x418047[_0x97b1d9(0x12f)],_0x418047[_0x97b1d9(0x12c)],_0x418047['qlAtV']]}},_0x3a0c17=_0x4e60ad[_0x23dadd];if(!_0x3a0c17)return console['warn']('Unknown\x20date\x20format:\x20'+_0x23dadd+',\x20returning\x20null'),null;const _0xb135a6=_0x3df567[_0x97b1d9(0x11f)](_0x3a0c17[_0x97b1d9(0x128)]);if(!_0xb135a6)return console[_0x97b1d9(0x111)]('Date\x20value\x20\x22'+_0x3df567+'\x22\x20doesn\x27t\x20match\x20format\x20\x22'+_0x23dadd+'\x22'),null;const _0x374c17={'day':null,'month':null,'year':null};return _0x3a0c17[_0x97b1d9(0x10f)]['forEach']((_0x53c5b1,_0x539f22)=>{const _0x2a7113=_0x97b1d9;_0x374c17[_0x53c5b1]=_0xb135a6[_0x418047[_0x2a7113(0x127)](_0x539f22,0x1)];}),_0x374c17['year']+'-'+_0x374c17[_0x97b1d9(0x11d)]+'-'+_0x374c17['day'];}static['parseTimestamp'](_0x5f1402,_0x549fce){const _0x3ff07a=a0_0x5a1fea,_0xbec0be={'OgwwZ':_0x3ff07a(0x11c),'UKnat':function(_0x370145,_0x279bef){return _0x370145!==_0x279bef;},'uenKh':function(_0x229471,_0x2b70c8){return _0x229471===_0x2b70c8;}};if(!_0x549fce||_0x549fce===_0xbec0be['OgwwZ'])return _0x5f1402;const _0x1f2e56=_0x5f1402['split']('\x20');if(_0xbec0be[_0x3ff07a(0x12a)](_0x1f2e56[_0x3ff07a(0x114)],0x2))return console['warn']('Invalid\x20timestamp\x20format:\x20'+_0x5f1402),null;const [_0x4b9487,_0x15ace0]=_0x1f2e56,_0x166ecd=_0x549fce[_0x3ff07a(0x118)]('\x20')[0x0],_0x1dcde4=this['parseDate'](_0x4b9487,_0x166ecd);if(!_0x1dcde4)return null;const _0x519537=_0xbec0be['uenKh'](_0x15ace0['split'](':')['length'],0x2)?_0x15ace0+':00':_0x15ace0;return _0x1dcde4+'\x20'+_0x519537;}static[a0_0x5a1fea(0x129)](_0x46b7c7,_0x53d322){const _0x1f9c1c=a0_0x5a1fea,_0x423273={'gqVqL':function(_0x13e067,_0x24cc0f){return _0x13e067===_0x24cc0f;},'Gwgiu':_0x1f9c1c(0x113),'HQmLf':function(_0x3a8f62,_0xe17c53){return _0x3a8f62===_0xe17c53;}};if(!_0x53d322||_0x423273['gqVqL'](_0x53d322,_0x423273[_0x1f9c1c(0x12b)]))return _0x46b7c7;if(_0x423273[_0x1f9c1c(0x117)](_0x53d322,_0x1f9c1c(0x11b))){if(_0x46b7c7['match'](/^\d{2}:\d{2}$/))return _0x46b7c7+_0x1f9c1c(0x112);}return _0x46b7c7;}}module[a0_0x5a1fea(0x10b)]=DateTimeParser;
|
package/src/core/utils/db.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x14cf2a=a0_0x25ad;function a0_0x25ad(_0x5a0051,_0x9d7fd6){_0x5a0051=_0x5a0051-0x76;const _0x523fc8=a0_0x523f();let _0x25ad86=_0x523fc8[_0x5a0051];if(a0_0x25ad['XCaxNx']===undefined){var _0x56d9a3=function(_0x4895c2){const _0x298e0a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x15f46b='',_0x484023='';for(let _0x201eeb=0x0,_0x4827a4,_0x4d4d7c,_0x1aed60=0x0;_0x4d4d7c=_0x4895c2['charAt'](_0x1aed60++);~_0x4d4d7c&&(_0x4827a4=_0x201eeb%0x4?_0x4827a4*0x40+_0x4d4d7c:_0x4d4d7c,_0x201eeb++%0x4)?_0x15f46b+=String['fromCharCode'](0xff&_0x4827a4>>(-0x2*_0x201eeb&0x6)):0x0){_0x4d4d7c=_0x298e0a['indexOf'](_0x4d4d7c);}for(let _0x57ab85=0x0,_0x711cde=_0x15f46b['length'];_0x57ab85<_0x711cde;_0x57ab85++){_0x484023+='%'+('00'+_0x15f46b['charCodeAt'](_0x57ab85)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x484023);};a0_0x25ad['QfEZFf']=_0x56d9a3,a0_0x25ad['ZKJFbq']={},a0_0x25ad['XCaxNx']=!![];}const _0x3a06c1=_0x523fc8[0x0],_0x457b1c=_0x5a0051+_0x3a06c1,_0x2a210b=a0_0x25ad['ZKJFbq'][_0x457b1c];return!_0x2a210b?(_0x25ad86=a0_0x25ad['QfEZFf'](_0x25ad86),a0_0x25ad['ZKJFbq'][_0x457b1c]=_0x25ad86):_0x25ad86=_0x2a210b,_0x25ad86;}(function(_0xace7fd,_0x560ca8){const _0x2b9342=a0_0x25ad,_0x3f6a1c=_0xace7fd();while(!![]){try{const _0x1bc6e8=parseInt(_0x2b9342(0x91))/0x1+parseInt(_0x2b9342(0x9d))/0x2*(parseInt(_0x2b9342(0xba))/0x3)+parseInt(_0x2b9342(0x96))/0x4+-parseInt(_0x2b9342(0xa2))/0x5+-parseInt(_0x2b9342(0x80))/0x6*(-parseInt(_0x2b9342(0xb9))/0x7)+parseInt(_0x2b9342(0x7c))/0x8+-parseInt(_0x2b9342(0xb7))/0x9*(parseInt(_0x2b9342(0xbf))/0xa);if(_0x1bc6e8===_0x560ca8)break;else _0x3f6a1c['push'](_0x3f6a1c['shift']());}catch(_0xb21c59){_0x3f6a1c['push'](_0x3f6a1c['shift']());}}}(a0_0x523f,0xe518e));function a0_0x523f(){const _0x401041=['CM9SBgjHy2S','nteYndu3nK9XCLHWDa','rejFvvnfuG','ihjVDW','y2XPzw50x3jLBgvHC2vFzxjYB3i','nZyWodKXmKTnuMTxvW','rxjYB3iGCM9SBgLUzYbIywnRihrYyw5Zywn0Aw9UoIa','zgvIDwC','zxjYB3i','vhjHBNnHy3rPB24GzMfPBgvKoIa','Cg9ZDgDYzxnXBa','C3fSx2vYCM9Y','vefctevFtK9ux0zpvu5e','ntqZmG','vNLoshC','DK1SAgm','uxvLCNKGCMv0DxjUzwqG','wKLjDLy','vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','Aw5MBW','uNr2sMC','zw52','ntuZndKWAfjOywP0','ndjqmde','zunJufK','zgj4ytaZ','rgf0ywjHC2uGzxjYB3i6ia','nJm1mtqYmhHqvvPczq','q09otKvdveLptL9fuLjpuG','y29TBwL0','zgjFCg9VBf9JBg9Zzv9LCNjVCG','vMnjBgy','Cg9ZDgDYzxm','CgfYyw1Z','mJi2nLvxqvzABq','tu11qNi','t3LXswO','BgvUz3rO','zgjFCg9VBf9YzwnYzwf0zq','nZaYnti1tMnNuhr5','CM93q291BNq','rxjYB3iGCMvSzwfZAw5NihrYyw5Zywn0Aw9UignSAwvUDdOG','C3vIC3rYAw5N','rejFueftu1DpuKq','rejFtKfnrq','DhjHBNnHy3rPB25FzxjYB3i','zgjFCg9VBf9JBg9Zzwq','mJHqmde','tK9OB0q','u1nAy0i','CM9SBgjHy2TFzxjYB3i','CxvLCNK','u1Lovefyx0vsuK9s','BwvZC2fNzq','wu9gs3O','C3LUDgf4igvYCM9Y','vMrPvMG','y29UBMvJDa','zfjgruG','CMvSzwfZzq','ow5Ay1bWvG','qKfnwKm','n2zntfntEq','ndGZouHxzLP0CW','C3fS','rLPlD3C','CM93CW','sLPHEMG','ndC5odCXmtbWzw1RsLe','vu5ltK9xtL9fuLjpuG','y29Kzq','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','DxnLCG','lI9SB2DNzxi','Cg9ZDgDYzxmXmJm0','vxLNCfm','u3jvqLm','tM8Gzgf0ysbMB3vUzc4'];a0_0x523f=function(){return _0x401041;};return a0_0x523f();}const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x14cf2a(0x76)),dbConfig={'host':process[a0_0x14cf2a(0x90)]['DB_HOST']||'192.168.100.1','port':parseInt(process['env']['DB_PORT']||a0_0x14cf2a(0x88)),'user':process[a0_0x14cf2a(0x90)][a0_0x14cf2a(0x7d)]||a0_0x14cf2a(0x9b),'password':process[a0_0x14cf2a(0x90)][a0_0x14cf2a(0xa6)]||a0_0x14cf2a(0x77),'database':process[a0_0x14cf2a(0x90)][a0_0x14cf2a(0xa7)]||a0_0x14cf2a(0x94)};logDatabaseConfig({'host':dbConfig['host'],'port':dbConfig['port'],'database':dbConfig['database'],'type':'postgresql','user':dbConfig[a0_0x14cf2a(0xc3)]});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x5c95f6=a0_0x14cf2a,_0x1dc3ce={'MMuBr':'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'};return isPoolClosed&&(logger['info']({'event':_0x5c95f6(0xa1)},_0x1dc3ce[_0x5c95f6(0x9e)]),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x361538,_0x2818e0=[]){const _0x1cf850=a0_0x14cf2a,_0xef45f6={'FZKww':function(_0x319a21){return _0x319a21();},'dRFEH':_0x1cf850(0x85),'ZIIvV':function(_0x421458,_0x28d5c6,_0x35e1aa,_0x600e52){return _0x421458(_0x28d5c6,_0x35e1aa,_0x600e52);},'YOFKz':_0x1cf850(0x86)},_0x28819e=startQueryTimer();try{const _0x192644=getPool(),_0x4d2480=await _0x192644[_0x1cf850(0xb4)]();try{const _0x873671=await _0x4d2480['query'](_0x361538,_0x2818e0),_0x344a5c=_0xef45f6[_0x1cf850(0xbc)](_0x28819e);return logQuery(_0x361538,_0x2818e0,{'duration':_0x344a5c,'rowsAffected':_0x873671['rowCount'],'dbType':_0xef45f6[_0x1cf850(0xb5)]}),_0x873671[_0x1cf850(0xbd)];}finally{_0x4d2480[_0x1cf850(0xb6)]();}}catch(_0x29341a){const _0x29cd47=_0x28819e();_0xef45f6[_0x1cf850(0x8c)](logError,_0x29341a,{'event':_0xef45f6[_0x1cf850(0xb1)],'query':_0x361538[_0x1cf850(0xa5)](0x0,0x1f4),'paramCount':_0x2818e0['length'],'durationMs':_0x29cd47,'code':_0x29341a['code'],'dbType':'postgresql'},'SQL\x20Error:\x20'+_0x29341a[_0x1cf850(0xb0)]);throw _0x29341a;}}function formatResponse(_0x4b7fb0,_0x1119a1=null){const _0x57e1e4=a0_0x14cf2a,_0x13cca7={'BAMZC':_0x57e1e4(0xc0),'tOggs':_0x57e1e4(0xb2),'SrUBS':_0x57e1e4(0xaf),'UygpS':function(_0x4a6e2e,_0x26e206){return _0x4a6e2e===_0x26e206;},'RtvJg':_0x57e1e4(0x92),'dGToV':'08006','GLhEP':'08001'};if(_0x1119a1){let _0x499ea0=_0x13cca7[_0x57e1e4(0xb8)];if(_0x1119a1[_0x57e1e4(0xb0)]['includes'](_0x13cca7['tOggs']))_0x499ea0=_0x13cca7[_0x57e1e4(0x79)];else{if(_0x13cca7[_0x57e1e4(0x78)](_0x1119a1[_0x57e1e4(0xc1)],_0x13cca7[_0x57e1e4(0x8f)]))_0x499ea0=_0x57e1e4(0x87);else{if(_0x1119a1['code']===_0x57e1e4(0xaa))_0x499ea0='AUTHENTICATION_ERROR';else(_0x13cca7[_0x57e1e4(0x78)](_0x1119a1['code'],_0x13cca7['dGToV'])||_0x1119a1[_0x57e1e4(0xc1)]===_0x13cca7['GLhEP'])&&(_0x499ea0=_0x57e1e4(0x97));}}return{'success':![],'message':_0x57e1e4(0x95)+_0x1119a1[_0x57e1e4(0xb0)],'count':-0x1,'error_code':_0x499ea0};}else{if(!_0x4b7fb0||_0x4b7fb0['length']===0x0)return{'success':!![],'message':_0x57e1e4(0x7a),'count':0x0,'data':[]};return{'success':!![],'message':_0x57e1e4(0x8b)+_0x4b7fb0['length']+_0x57e1e4(0x7e)+(_0x13cca7[_0x57e1e4(0x78)](_0x4b7fb0[_0x57e1e4(0xa0)],0x1)?'':'s')+'.','count':_0x4b7fb0[_0x57e1e4(0xa0)],'data':_0x4b7fb0};}}async function closePool(){const _0x15a885=a0_0x14cf2a,_0x4cd50e={'VdiVh':_0x15a885(0xa9),'VcIlf':'Database\x20pool\x20closed\x20successfully','VyNHw':_0x15a885(0x99),'uFBfa':'db_pool_already_closed','JZazh':'Database\x20pool\x20was\x20already\x20closed'};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger[_0x15a885(0x8e)]({'event':_0x4cd50e[_0x15a885(0xb3)]},_0x4cd50e[_0x15a885(0x9a)]);}catch(_0x982e96){logError(_0x982e96,{'event':_0x4cd50e[_0x15a885(0x89)]},_0x15a885(0xc2)+_0x982e96[_0x15a885(0xb0)]);}else logger[_0x15a885(0x82)]({'event':_0x4cd50e['uFBfa']},_0x4cd50e[_0x15a885(0xbe)]);}async function checkConnection(){const _0x2efdd7=a0_0x14cf2a,_0x377de6={'xLRiH':'SELECT\x201','EfANE':function(_0x35b6ac,_0x19dd95,_0x1726ee,_0x5984ed){return _0x35b6ac(_0x19dd95,_0x1726ee,_0x5984ed);},'Vmyfb':'db_connection_check_error'};try{const _0x50c0d5=getPool(),_0x18fd5f=await _0x50c0d5[_0x2efdd7(0xb4)]();try{return await _0x18fd5f[_0x2efdd7(0xae)](_0x377de6['xLRiH']),!![];}finally{_0x18fd5f['release']();}}catch(_0x1e3489){return _0x377de6['EfANE'](logError,_0x1e3489,{'event':_0x377de6['Vmyfb']},'Error\x20checking\x20database\x20connection:\x20'+_0x1e3489[_0x2efdd7(0xb0)]),![];}}async function executeTransaction(_0x32e980){const _0x2ba784=a0_0x14cf2a,_0x5011a9={'eCcPY':'start','akyhH':'BEGIN','NOhoD':function(_0x254f97,_0x3af072,_0x10520c){return _0x254f97(_0x3af072,_0x10520c);},'BipQh':_0x2ba784(0x98),'SSZcB':function(_0x3bbf67){return _0x3bbf67();},'TWrXH':_0x2ba784(0xa8),'ZmgfN':_0x2ba784(0x85),'vMlhc':'ROLLBACK','bkaAj':function(_0x35e895,_0x23a29b,_0x28c499){return _0x35e895(_0x23a29b,_0x28c499);},'kvAFU':function(_0x48928e,_0x10f1df,_0x4c4995,_0x211a86){return _0x48928e(_0x10f1df,_0x4c4995,_0x211a86);},'JDjrq':_0x2ba784(0xad),'OyqIj':_0x2ba784(0x7f)};let _0x409518;const _0x2d0cd7=startQueryTimer();try{const _0x4e61c1=getPool();_0x409518=await _0x4e61c1['connect'](),logTransaction(_0x5011a9[_0x2ba784(0x93)],_0x32e980[_0x2ba784(0xa0)]),await _0x409518['query'](_0x5011a9['akyhH']);const _0x4e1574=[];for(const _0x3edc1c of _0x32e980){const _0x52eea8=startQueryTimer(),_0x1ef443=await _0x409518['query'](_0x3edc1c[_0x2ba784(0xbb)],_0x3edc1c['params']||[]),_0x1bc46e=_0x52eea8();logQuery(_0x3edc1c[_0x2ba784(0xbb)],_0x3edc1c[_0x2ba784(0x9c)]||[],{'duration':_0x1bc46e,'rowsAffected':_0x1ef443[_0x2ba784(0xa3)],'dbType':'postgresql'}),_0x4e1574['push'](_0x1ef443['rows']);}await _0x409518['query']('COMMIT');const _0x5b7f1c=_0x2d0cd7();return _0x5011a9[_0x2ba784(0xab)](logTransaction,_0x5011a9['BipQh'],_0x32e980['length']),logger[_0x2ba784(0x8e)]({'event':'transaction_complete','queryCount':_0x32e980['length'],'totalDurationMs':_0x5b7f1c,'dbType':'postgresql'},_0x2ba784(0x8d)+_0x5b7f1c+'ms,\x20'+_0x32e980[_0x2ba784(0xa0)]+'\x20queries)'),_0x4e1574;}catch(_0x41044b){const _0x420e10=_0x5011a9[_0x2ba784(0xac)](_0x2d0cd7);logError(_0x41044b,{'event':_0x5011a9['TWrXH'],'queryCount':_0x32e980['length'],'totalDurationMs':_0x420e10,'code':_0x41044b['code'],'dbType':_0x5011a9['ZmgfN']},_0x2ba784(0x84)+_0x41044b['message']);if(_0x409518)try{await _0x409518['query'](_0x5011a9[_0x2ba784(0x8a)]),_0x5011a9['bkaAj'](logTransaction,_0x2ba784(0x7b),_0x32e980['length']);}catch(_0x54bc9f){_0x5011a9['kvAFU'](logError,_0x54bc9f,{'event':_0x5011a9['JDjrq'],'dbType':'postgresql'},_0x2ba784(0x81)+_0x54bc9f[_0x2ba784(0xb0)]);}throw _0x41044b;}finally{if(_0x409518)try{_0x409518['release']();}catch(_0x64733c){logger[_0x2ba784(0x83)]({'event':_0x5011a9[_0x2ba784(0x9f)],'error':_0x64733c[_0x2ba784(0xb0)],'dbType':_0x5011a9['ZmgfN']},_0x2ba784(0xa4)+_0x64733c[_0x2ba784(0xb0)]);}}}module['exports']={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
|
|
1
|
+
const a0_0x179dcb=a0_0x2192;(function(_0x25068c,_0x281f5c){const _0x91a5dc=a0_0x2192,_0x24bad5=_0x25068c();while(!![]){try{const _0xccf363=-parseInt(_0x91a5dc(0xc4))/0x1*(parseInt(_0x91a5dc(0xa3))/0x2)+parseInt(_0x91a5dc(0x9b))/0x3*(parseInt(_0x91a5dc(0xb9))/0x4)+parseInt(_0x91a5dc(0xcb))/0x5+-parseInt(_0x91a5dc(0x97))/0x6*(-parseInt(_0x91a5dc(0x93))/0x7)+-parseInt(_0x91a5dc(0xbc))/0x8*(parseInt(_0x91a5dc(0xb8))/0x9)+parseInt(_0x91a5dc(0x9f))/0xa+parseInt(_0x91a5dc(0xbf))/0xb*(-parseInt(_0x91a5dc(0xd8))/0xc);if(_0xccf363===_0x281f5c)break;else _0x24bad5['push'](_0x24bad5['shift']());}catch(_0x366b38){_0x24bad5['push'](_0x24bad5['shift']());}}}(a0_0x5703,0x97253));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x179dcb(0xba)),dbConfig={'host':process['env']['DB_HOST']||'192.168.100.1','port':parseInt(process[a0_0x179dcb(0xb4)]['DB_PORT']||'5432'),'user':process[a0_0x179dcb(0xb4)]['DB_USER']||'postgres','password':process['env']['DB_PASSWORD']||'postgres1234','database':process['env']['DB_NAME']||'dbxa03'};logDatabaseConfig({'host':dbConfig['host'],'port':dbConfig[a0_0x179dcb(0x96)],'database':dbConfig[a0_0x179dcb(0xc7)],'type':a0_0x179dcb(0xa4),'user':dbConfig['user']});function a0_0x5703(){const _0x3392c8=['uxvLCNKGCMv0DxjUzwqG','B0fMB3q','y29UBMvJDa','ntuZnJC5nxbAtLL5AW','ihjVDW','DhjHBNnHy3rPB25Fy29TCgXLDgu','CMvSzwfZzq','zxjYB3i','s0PfsuG','veDfvuu','vwTYD08','C3rHCNq','rxjYB3iGCM9SBgLUzYbIywnRihrYyw5Zywn0Aw9UoIa','vMDkq0G','y29Kzq','wg9KrNy','ndH5v3Lwr2S','ote0owrYuMzXvq','rMvXuNy','Cuv4tfy','Cg9YDa','otu0z1L1A1rw','tM8Gzgf0ysbMB3vUzc4','ChvZAa','zgjFCg9VBf9JBg9Zzwq','oda3wunxEgf4','zKnHCvG','rgf0ywjHC2uGzxjYB3i6ia','C3fS','mtaWotC4mtbMyujNEvK','zgvIDwC','qxv4seK','qKvhsu4','nLHgEhPRsG','Cg9ZDgDYzxnXBa','s3Dju2S','qNfjAfC','zw5K','zhDqwe0','BwvZC2fNzq','y0LdufO','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','zxHWB3j0CW','q09ntuLu','BwPhAu4','C3vIC3rYAw5N','BxmSia','vefctevFtK9ux0zpvu5e','CM93CW','ndjqmde','zw52','CM93q291BNq','CgfYyw1Z','vgPgB1O','mtu2ntuZmLjwvLfLDG','mtqXodHpDLPtAfe','lI9SB2DNzxi','u0vmrunuide','mtz4BefKrLC','rvHxB2C','Afzkug4','nty1nda1nvnYBgDpCG','CxvLCNK','Aw5MBW','BgvUz3rO','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','oduZnJnNqvvPwNG','zvvXAKi','ze1Ly0m','zgf0ywjHC2u'];a0_0x5703=function(){return _0x3392c8;};return a0_0x5703();}let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x8bfe4c=a0_0x179dcb,_0x1f1d30={'AuxHI':'db_pool_recreate','BqIhW':'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'};return isPoolClosed&&(logger['info']({'event':_0x1f1d30[_0x8bfe4c(0xa1)]},_0x1f1d30[_0x8bfe4c(0xa6)]),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x3247fd,_0x4c2541=[]){const _0x1ab238=a0_0x179dcb,_0x2a4d94={'mjGiN':function(_0x4ac28d){return _0x4ac28d();},'fCaqX':_0x1ab238(0xa4),'dMecC':function(_0x53cf33){return _0x53cf33();}},_0x40ca91=_0x2a4d94[_0x1ab238(0xae)](startQueryTimer);try{const _0x32584b=getPool(),_0x5cc175=await _0x32584b[_0x1ab238(0xca)]();try{const _0x3dd07e=await _0x5cc175['query'](_0x3247fd,_0x4c2541),_0x5a3ec4=_0x40ca91();return logQuery(_0x3247fd,_0x4c2541,{'duration':_0x5a3ec4,'rowsAffected':_0x3dd07e[_0x1ab238(0xb5)],'dbType':_0x2a4d94[_0x1ab238(0x9c)]}),_0x3dd07e[_0x1ab238(0xb2)];}finally{_0x5cc175[_0x1ab238(0xce)]();}}catch(_0x2e0cde){const _0x2a3bf0=_0x2a4d94[_0x1ab238(0xc6)](_0x40ca91);logError(_0x2e0cde,{'event':'sql_error','query':_0x3247fd[_0x1ab238(0xaf)](0x0,0x1f4),'paramCount':_0x4c2541['length'],'durationMs':_0x2a3bf0,'code':_0x2e0cde[_0x1ab238(0xd6)],'dbType':_0x2a4d94[_0x1ab238(0x9c)]},'SQL\x20Error:\x20'+_0x2e0cde['message']);throw _0x2e0cde;}}function formatResponse(_0x488757,_0x48fb75=null){const _0x500006=a0_0x179dcb,_0x4b2949={'cICPZ':function(_0x510220,_0x4770e2){return _0x510220===_0x4770e2;},'VgJCH':_0x500006(0xb3),'aWEJu':_0x500006(0xb1),'qExLV':function(_0x1b3b91,_0x19e64c){return _0x1b3b91===_0x19e64c;}};if(_0x48fb75){let _0x4bf616='UNKNOWN_ERROR';if(_0x48fb75['message']['includes']('syntax\x20error'))_0x4bf616='SYNTAX_ERROR';else{if(_0x4b2949[_0x500006(0xaa)](_0x48fb75[_0x500006(0xd6)],_0x4b2949[_0x500006(0xd5)]))_0x4bf616=_0x4b2949['aWEJu'];else{if(_0x48fb75['code']==='28P01')_0x4bf616='AUTHENTICATION_ERROR';else(_0x4b2949['cICPZ'](_0x48fb75[_0x500006(0xd6)],'08006')||_0x48fb75[_0x500006(0xd6)]==='08001')&&(_0x4bf616='CONNECTION_ERROR');}}return{'success':![],'message':_0x500006(0x9d)+_0x48fb75[_0x500006(0xa9)],'count':-0x1,'error_code':_0x4bf616};}else{if(!_0x488757||_0x488757['length']===0x0)return{'success':!![],'message':_0x500006(0x98),'count':0x0,'data':[]};return{'success':!![],'message':_0x500006(0xc8)+_0x488757[_0x500006(0xc2)]+_0x500006(0xcc)+(_0x4b2949[_0x500006(0x95)](_0x488757[_0x500006(0xc2)],0x1)?'':'s')+'.','count':_0x488757['length'],'data':_0x488757};}}async function closePool(){const _0x44b88a=a0_0x179dcb,_0x514c45={'XodFv':'Database\x20pool\x20closed\x20successfully','wupPr':function(_0x356157,_0x4bb60e,_0x368d22,_0x4f6586){return _0x356157(_0x4bb60e,_0x368d22,_0x4f6586);},'FeqRv':'db_pool_close_error','EXWog':'db_pool_already_closed','TjFoZ':'Database\x20pool\x20was\x20already\x20closed'};if(!isPoolClosed)try{isPoolClosed=!![],await pool[_0x44b88a(0xa7)](),logger['info']({'event':_0x44b88a(0x9a)},_0x514c45[_0x44b88a(0xd7)]);}catch(_0x4b7695){_0x514c45['wupPr'](logError,_0x4b7695,{'event':_0x514c45[_0x44b88a(0x94)]},_0x44b88a(0xab)+_0x4b7695['message']);}else logger[_0x44b88a(0xa0)]({'event':_0x514c45[_0x44b88a(0xbd)]},_0x514c45[_0x44b88a(0xb7)]);}function a0_0x2192(_0x918096,_0x462b0f){_0x918096=_0x918096-0x93;const _0x570308=a0_0x5703();let _0x219263=_0x570308[_0x918096];if(a0_0x2192['oCKaaN']===undefined){var _0xfdcc2e=function(_0x987ab5){const _0x242b36='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4113fe='',_0x2edd63='';for(let _0xf4e62a=0x0,_0x4d646a,_0x368069,_0x1535d4=0x0;_0x368069=_0x987ab5['charAt'](_0x1535d4++);~_0x368069&&(_0x4d646a=_0xf4e62a%0x4?_0x4d646a*0x40+_0x368069:_0x368069,_0xf4e62a++%0x4)?_0x4113fe+=String['fromCharCode'](0xff&_0x4d646a>>(-0x2*_0xf4e62a&0x6)):0x0){_0x368069=_0x242b36['indexOf'](_0x368069);}for(let _0x175f85=0x0,_0x3e08d8=_0x4113fe['length'];_0x175f85<_0x3e08d8;_0x175f85++){_0x2edd63+='%'+('00'+_0x4113fe['charCodeAt'](_0x175f85)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2edd63);};a0_0x2192['jruwYQ']=_0xfdcc2e,a0_0x2192['IQTDds']={},a0_0x2192['oCKaaN']=!![];}const _0x11e5d5=_0x570308[0x0],_0xafb6b0=_0x918096+_0x11e5d5,_0x4bb90b=a0_0x2192['IQTDds'][_0xafb6b0];return!_0x4bb90b?(_0x219263=a0_0x2192['jruwYQ'](_0x219263),a0_0x2192['IQTDds'][_0xafb6b0]=_0x219263):_0x219263=_0x4bb90b,_0x219263;}async function checkConnection(){const _0x4be4ec=a0_0x179dcb,_0x2b9ff0={'xbDpv':function(_0x5d96f6,_0x40211b,_0x4df5f8,_0x109240){return _0x5d96f6(_0x40211b,_0x4df5f8,_0x109240);},'KwISk':'db_connection_check_error'};try{const _0x5ae16c=getPool(),_0x4d5eef=await _0x5ae16c['connect']();try{return await _0x4d5eef[_0x4be4ec(0xc0)](_0x4be4ec(0xbb)),!![];}finally{_0x4d5eef['release']();}}catch(_0x4c5204){return _0x2b9ff0['xbDpv'](logError,_0x4c5204,{'event':_0x2b9ff0[_0x4be4ec(0xa5)]},_0x4be4ec(0xc3)+_0x4c5204[_0x4be4ec(0xa9)]),![];}}async function executeTransaction(_0x542e70){const _0x36f7e0=a0_0x179dcb,_0x988778={'dwPXM':function(_0x503559){return _0x503559();},'jqing':_0x36f7e0(0xa2),'MvrKK':function(_0x40549d){return _0x40549d();},'eUqjB':_0x36f7e0(0xad),'KJEIH':_0x36f7e0(0xcd),'UkrwO':function(_0x1c2529){return _0x1c2529();},'oAfot':function(_0x2735cb,_0x169a2b,_0x3d76bc){return _0x2735cb(_0x169a2b,_0x3d76bc);},'hVJPn':'rollback','TGEUE':function(_0x40f1bc,_0x20ddd8,_0x5b0868,_0xf49b61){return _0x40f1bc(_0x20ddd8,_0x5b0868,_0xf49b61);},'DyPoI':'rollback_error','bPcIo':'client_release_error'};let _0x16f6ad;const _0x3d7ff3=_0x988778[_0x36f7e0(0xa8)](startQueryTimer);try{const _0x13337c=getPool();_0x16f6ad=await _0x13337c['connect'](),logTransaction(_0x36f7e0(0xd3),_0x542e70['length']),await _0x16f6ad['query'](_0x988778['jqing']);const _0x90c8e3=[];for(const _0xda6efe of _0x542e70){const _0x22d670=startQueryTimer(),_0xee4637=await _0x16f6ad[_0x36f7e0(0xc0)](_0xda6efe[_0x36f7e0(0x9e)],_0xda6efe['params']||[]),_0x5d15b7=_0x988778['MvrKK'](_0x22d670);logQuery(_0xda6efe['sql'],_0xda6efe[_0x36f7e0(0xb6)]||[],{'duration':_0x5d15b7,'rowsAffected':_0xee4637[_0x36f7e0(0xb5)],'dbType':'postgresql'}),_0x90c8e3[_0x36f7e0(0x99)](_0xee4637['rows']);}await _0x16f6ad[_0x36f7e0(0xc0)](_0x988778[_0x36f7e0(0xc5)]);const _0x4489e1=_0x988778['dwPXM'](_0x3d7ff3);return logTransaction('commit',_0x542e70[_0x36f7e0(0xc2)]),logger[_0x36f7e0(0xc1)]({'event':_0x988778[_0x36f7e0(0xd0)],'queryCount':_0x542e70[_0x36f7e0(0xc2)],'totalDurationMs':_0x4489e1,'dbType':'postgresql'},'Transaction\x20committed\x20('+_0x4489e1+_0x36f7e0(0xb0)+_0x542e70['length']+'\x20queries)'),_0x90c8e3;}catch(_0x3fc10a){const _0x5c78e8=_0x988778[_0x36f7e0(0xd2)](_0x3d7ff3);logError(_0x3fc10a,{'event':'transaction_error','queryCount':_0x542e70[_0x36f7e0(0xc2)],'totalDurationMs':_0x5c78e8,'code':_0x3fc10a[_0x36f7e0(0xd6)],'dbType':'postgresql'},'Transaction\x20failed:\x20'+_0x3fc10a[_0x36f7e0(0xa9)]);if(_0x16f6ad)try{await _0x16f6ad[_0x36f7e0(0xc0)]('ROLLBACK'),_0x988778[_0x36f7e0(0xc9)](logTransaction,_0x988778[_0x36f7e0(0xbe)],_0x542e70[_0x36f7e0(0xc2)]);}catch(_0x5eba08){_0x988778[_0x36f7e0(0xd1)](logError,_0x5eba08,{'event':_0x988778['DyPoI'],'dbType':_0x36f7e0(0xa4)},_0x36f7e0(0xd4)+_0x5eba08[_0x36f7e0(0xa9)]);}throw _0x3fc10a;}finally{if(_0x16f6ad)try{_0x16f6ad[_0x36f7e0(0xce)]();}catch(_0x358100){logger[_0x36f7e0(0xcf)]({'event':_0x988778['bPcIo'],'error':_0x358100['message'],'dbType':_0x36f7e0(0xa4)},'Error\x20releasing\x20transaction\x20client:\x20'+_0x358100['message']);}}}module[a0_0x179dcb(0xac)]={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
|
package/src/core/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x2fce61=a0_0x526d;(function(_0x276101,_0x326056){const _0x9b6791=a0_0x526d,_0x3df3d5=_0x276101();while(!![]){try{const _0x1fa75b=-parseInt(_0x9b6791(0x144))/0x1+parseInt(_0x9b6791(0x162))/0x2*(-parseInt(_0x9b6791(0x1e0))/0x3)+parseInt(_0x9b6791(0x176))/0x4+parseInt(_0x9b6791(0x141))/0x5*(-parseInt(_0x9b6791(0x145))/0x6)+-parseInt(_0x9b6791(0x149))/0x7*(parseInt(_0x9b6791(0x1ab))/0x8)+-parseInt(_0x9b6791(0x1ba))/0x9+parseInt(_0x9b6791(0x1f9))/0xa*(parseInt(_0x9b6791(0x187))/0xb);if(_0x1fa75b===_0x326056)break;else _0x3df3d5['push'](_0x3df3d5['shift']());}catch(_0x10ab07){_0x3df3d5['push'](_0x3df3d5['shift']());}}}(a0_0x56d8,0x3ef66));const pino=require(a0_0x2fce61(0x169)),fs=require('fs'),path=require(a0_0x2fce61(0x1f1));let logToFile=![],logDir='./logs',serviceName=a0_0x2fce61(0x1e2),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':a0_0x2fce61(0x1d3),'ignore':a0_0x2fce61(0x167),'singleLine':![],'levelFirst':!![],'messageFormat':a0_0x2fce61(0x148),'customColors':a0_0x2fce61(0x195),'hideObject':!![]},isDevelopment=process[a0_0x2fce61(0x174)][a0_0x2fce61(0x178)]!==a0_0x2fce61(0x1ca),logLevel=process['env'][a0_0x2fce61(0x1b0)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process['env']['APP_VERSION']||'1.0.5','env':process['env']['NODE_ENV']||a0_0x2fce61(0x1e6)},'timestamp':pino['stdTimeFunctions'][a0_0x2fce61(0x156)],'redact':{'paths':[a0_0x2fce61(0x1aa),a0_0x2fce61(0x1ee),'password',a0_0x2fce61(0x13e),'apiKey','DB_PASSWORD',a0_0x2fce61(0x1af)],'censor':a0_0x2fce61(0x1f8)},'serializers':{'req':_0x4a7fa7=>({'id':_0x4a7fa7['id'],'method':_0x4a7fa7[a0_0x2fce61(0x173)],'url':_0x4a7fa7[a0_0x2fce61(0x1ed)],'path':_0x4a7fa7[a0_0x2fce61(0x1f1)],'remoteAddress':_0x4a7fa7['ip']||_0x4a7fa7['connection']?.['remoteAddress']}),'res':_0xee3acf=>({'statusCode':_0xee3acf[a0_0x2fce61(0x170)],'headers':_0xee3acf['getHeaders']?.()}),'err':pino[a0_0x2fce61(0x158)][a0_0x2fce61(0x1a3)]}});function initFileLogging(){const _0x8bd815=a0_0x2fce61,_0x2c3aeb={'qcMVP':'true','vUkLo':_0x8bd815(0x1e2),'wrGpk':function(_0xe9ee0f,_0x2e4117){return _0xe9ee0f===_0x2e4117;},'hwIep':_0x8bd815(0x16e),'SSYph':function(_0x19f7b3,_0x2e222c){return _0x19f7b3(_0x2e222c);},'blSJx':_0x8bd815(0x19f),'QvHoT':_0x8bd815(0x185),'YFwac':function(_0x42c83a,_0x22650d,_0x33cee6){return _0x42c83a(_0x22650d,_0x33cee6);},'OEweh':'info'};if(fileLoggingInitialized)return;logToFile=process[_0x8bd815(0x174)]['LOG_TO_FILE']===_0x2c3aeb['qcMVP'],logDir=process['env']['LOG_DIR']||_0x8bd815(0x153),serviceName=process['env']['SERVICE_NAME']||_0x2c3aeb[_0x8bd815(0x154)],sqlLogEnabled=_0x2c3aeb['wrGpk'](process[_0x8bd815(0x174)]['SQL_LOG_ENABLED'],_0x2c3aeb[_0x8bd815(0x193)]),sqlLogLevel=process[_0x8bd815(0x174)][_0x8bd815(0x189)]||_0x2c3aeb['hwIep'],sqlLogParams=process['env']['SQL_LOG_PARAMS']!=='false',sqlLogSlowThreshold=_0x2c3aeb['SSYph'](parseInt,process[_0x8bd815(0x174)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x3ad919=path['resolve'](process['cwd'](),logDir);try{!fs[_0x8bd815(0x1c2)](_0x3ad919)&&fs[_0x8bd815(0x160)](_0x3ad919,{'recursive':!![]});}catch(_0x23cabe){console['error']('Failed\x20to\x20create\x20log\x20directory\x20'+_0x3ad919+':',_0x23cabe['message']),fileLoggingInitialized=!![];return;}const _0x1a4469=path[_0x8bd815(0x139)](_0x3ad919,_0x2c3aeb[_0x8bd815(0x1c5)]),_0x55b3a4=path[_0x8bd815(0x139)](_0x3ad919,'error.log');try{appLogStream=fs['createWriteStream'](_0x1a4469,{'flags':'a'}),errorLogStream=fs[_0x8bd815(0x1be)](_0x55b3a4,{'flags':'a'}),fileLoggingInitialized=!![];const _0xce27fc={'event':_0x8bd815(0x15b),'logDir':_0x3ad919,'files':['app.log',_0x2c3aeb['QvHoT']]},_0x32d86e='File\x20logging\x20enabled:\x20'+_0x3ad919;logger[_0x8bd815(0x198)](_0xce27fc,_0x32d86e),_0x2c3aeb['YFwac'](writeToFileLog,{..._0xce27fc,'level':_0x2c3aeb[_0x8bd815(0x15c)],'msg':_0x32d86e,'time':new Date()['toISOString']()},_0x2c3aeb['OEweh']);}catch(_0x43b8b8){console['error']('Failed\x20to\x20create\x20log\x20streams:',_0x43b8b8['message']),fileLoggingInitialized=!![];}}function a0_0x56d8(){const _0x5ac498=['CgfZC3DVCMq','ExnkvNy','zMf0ywXFzxjYB3i','y3jLyxrLv3jPDgvtDhjLyw0','y3jLzgL0y2fYza','icdIHPiG','Dg9ju09tDhjPBMC','zxHPC3rZu3LUyW','BxmP','CgLU','yMXtsNG','u2vYDMvYihn0yxj0Aw5NoIa','AxntBg93','q1jjveLdquW','z09OuNO','ChjVzhvJDgLVBG','swLcEuy','rermx0fmvevs','ANnVBG','B2jQzwn0','q3HPz3C','C2vYDMLJzuLUzM8','icbvuKW6icaGia','DhjPBq','u1LtoKHioK1noNnZ','CgfKrw5K','u2zowu8','v1zZtLq','y3jLzgL0x2nHCMq','AwXiwhq','DhLWzq','iokvKqRILzeGifbVCNqGicaGicaGidOG','rxfUAgO','whrsCxq','revmrvrf','Aw5JBhvKzxm','C3rHDhvZ','mtCWmdC2wKHyC3jv','AgvHBhrOq2HLy2S','CMvZDgzVCMDL','D3jPDgu','AxnbCNjHEq','C3nU','zgv2zwXVCg1LBNq','BgvUz3rO','s2nAvLC','Dw90Ehm','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','C3fSx3f1zxj5','C2vJCMv0','DxjS','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','vM1Hy1m','ChjPDMf0zv9RzxK','Cgf0Aa','Bwf0y2G','w1jfrefdveveoNrVA2vUxq','ug1OzM0','vfjbtLnbq1rjt05Fq09ntuLu','C3rYAw5NAwz5','D2fYBG','w1jfrefdvevexq','otbiCvbMu3O','yMfZzvvYBa','CMvTB3rLqwrKCMvZCW','z2XVyMfSx2vYCM9Yx2HHBMrSzxjZx3nLDhvW','uufIsMW','CxvLCNK','AM9PBG','ywnSAwK','Ahj0Aw1L','ug1Lswe','ChDK','Dg9Rzw4','zMf0ywW','C3rHy2S','ndK1uLvVuvnl','Dg9vChbLCKnHC2u','yM9KEq','nduZnZKYzK55vgne','nJCYnMrMuvDkCq','Be9Qshq','s1jsDvK','E21Zz30','otaZrg56q05V','rermx0rst1a','C3rHCNrZv2L0Aa','ChjPDMf0zwTLEq','BwvZC2fNzq','quXurvi','C0rkzvC','zhvYyxrPB25nCW','CgLK','iokvKqRILzeGiefqssblzxKGicaGidOG','lI9SB2DZ','DLvRtg8','EwHuBwe','AxnVvgLTzq','z2v0','C3rKu2vYAwfSAxPLCNm','uuLbDKW','BMfTzq','zMLSzv9SB2DNAw5Nx2vUywjSzwq','t0v3zwG','tunOyxq','rermx0nsrufurq','Dg9mB3DLCKnHC2u','BwTKAxjtEw5J','CMvWBgfJzq','nLbQz2DPAW','rwroy0i','BwvTB3j5vxnHz2u','y29UzMLNrMLSzq','C2XduKO','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','y2ndzuy','CgLUBW','y1HxD2i','CMvMCMvZAf90B2TLBG','zuzQAvi','rw1REK8','zgvIDwC','t1v3y3y','C3rHDhvZq29Kzq','C29Tzq','Bw9KDwXL','Bwv0Ag9K','zw52','y3z2','nde1mZmYwhHNy1zI','rgf0ywjHC2u6ia','tK9erv9ftLy','icbizwfSDgG6ia','yM5KwMS','qw5AteK','uxHqBwy','ChjVAMvJDf9SB2fKzwq','wg9hAKy','rKvlD0K','rNDrqxy','Dg9gAxHLza','DxnLCG','uezWrfC','uK9mtejbq0S','zxjYB3iUBg9N','zgjFCxvLCNK','mtiYntKZoxjZCeXSrq','DgvZDa','u1fmx0Xpr19mrvzfta','rwvjzKu','w09lxsbqCM9Qzwn0igXVywrLzdOG','zgf0ywjHC2u','Dw5Oyw5KBgvKuMvQzwn0Aw9U','su5trvju','ywnJzxnZx3rVA2vU','yxbPx3nLy3jLDa','B3rW','Dw5JyxvNAhrfEgnLChrPB24','CwnnvLa','zxHPDa','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','t0rYyNK','Aw5MBW','u1rbuLqGvfjbtLnbq1rjt04','q09ntuLu','y29Kzq','CgfZC3DK','rgvMyxvSDa','sfruuca','yxbWlMXVzW','zNf1q1O','rM50zw4','yxbPx2TLEq','zxjY','y0jyzgy','Dw5RBM93BG','zxHWB3j0CW','BwfW','yxbPA2v5','w1jfrefdveveoMHHC2HD','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','nJC2ohb0vMTtAq','Dxb0Aw1L','vfjbtLnbq1rjt05FqKvhsu4','zxjYB3i','sLDux1nfq1jfva','te9hx0XfvKvm','Cg9YDa','Ahr0Cf9LCNjVCG','icbjBMzVoIaGia','tM9Kzs5QCW','vfjbtLnbq1rjt05FuK9mtejbq0S','ChjVAMvJDa','Bg9N','vvbeqvrf','rxjYB3i','ndq5otfJCfvXD1u'];a0_0x56d8=function(){return _0x5ac498;};return a0_0x56d8();}function writeToFileLog(_0x282630,_0x4adc8b){const _0x60012=a0_0x2fce61,_0x49654f={'PlPuJ':function(_0x35a8b9,_0x2dbfe6){return _0x35a8b9||_0x2dbfe6;},'AnZLI':function(_0x1680e0,_0x4d13d7){return _0x1680e0+_0x4d13d7;},'ccCeF':function(_0x1a896f,_0x3e0f1f){return _0x1a896f===_0x3e0f1f;},'ysJVv':_0x60012(0x13f)};if(_0x49654f['PlPuJ'](!logToFile,!appLogStream))return;const _0x1915c3={'service':serviceName,..._0x282630},_0x4f9026=_0x49654f[_0x60012(0x17b)](JSON[_0x60012(0x1f6)](_0x1915c3),'\x0a');appLogStream[_0x60012(0x1e3)](_0x4f9026),(_0x4adc8b===_0x60012(0x1ae)||_0x49654f[_0x60012(0x168)](_0x4adc8b,_0x49654f[_0x60012(0x1bc)]))&&(errorLogStream&&errorLogStream[_0x60012(0x1e3)](_0x4f9026));}function a0_0x526d(_0x42c36f,_0x51b82b){_0x42c36f=_0x42c36f-0x136;const _0x56d8fa=a0_0x56d8();let _0x526d2c=_0x56d8fa[_0x42c36f];if(a0_0x526d['mtJTHW']===undefined){var _0x5a7c39=function(_0x5f2cce){const _0x467cfa='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x26cfe4='',_0x29cdca='';for(let _0x20a185=0x0,_0xdbcdd1,_0x259e7e,_0x5d1dde=0x0;_0x259e7e=_0x5f2cce['charAt'](_0x5d1dde++);~_0x259e7e&&(_0xdbcdd1=_0x20a185%0x4?_0xdbcdd1*0x40+_0x259e7e:_0x259e7e,_0x20a185++%0x4)?_0x26cfe4+=String['fromCharCode'](0xff&_0xdbcdd1>>(-0x2*_0x20a185&0x6)):0x0){_0x259e7e=_0x467cfa['indexOf'](_0x259e7e);}for(let _0x280b1=0x0,_0x5cb045=_0x26cfe4['length'];_0x280b1<_0x5cb045;_0x280b1++){_0x29cdca+='%'+('00'+_0x26cfe4['charCodeAt'](_0x280b1)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x29cdca);};a0_0x526d['uGvOLO']=_0x5a7c39,a0_0x526d['NNtdGy']={},a0_0x526d['mtJTHW']=!![];}const _0x2c32b5=_0x56d8fa[0x0],_0xfd972a=_0x42c36f+_0x2c32b5,_0x4c015a=a0_0x526d['NNtdGy'][_0xfd972a];return!_0x4c015a?(_0x526d2c=a0_0x526d['uGvOLO'](_0x526d2c),a0_0x526d['NNtdGy'][_0xfd972a]=_0x526d2c):_0x526d2c=_0x4c015a,_0x526d2c;}const createRequestLogger=(_0x4b91a2={})=>{return logger['child'](_0x4b91a2);},logServerStart=_0x1b9ba2=>{const _0x48eb0e=a0_0x2fce61,_0x547f06={'JmfWA':_0x48eb0e(0x1b4),'SMNHt':'ACTIVE','tJqcH':'NOT\x20ACTIVE','SfNYO':'server_starting','yhTma':'info'},_0x98d144='\x0a╔═══════════════════════════════════════════════════════╗\x0a║\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RESTFORGE\x20RUNTIME\x20SERVER\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20║\x0a╠═══════════════════════════════════════════════════════╣\x0a║\x20\x20Environment\x20:\x20'+(_0x1b9ba2['environment']||_0x547f06['JmfWA'])[_0x48eb0e(0x1d4)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x1b9ba2[_0x48eb0e(0x1b6)]||'N/A')['padEnd'](0x26)+_0x48eb0e(0x1da)+String(_0x1b9ba2['port']||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x1b9ba2[_0x48eb0e(0x165)]||_0x48eb0e(0x19d))[_0x48eb0e(0x1d4)](0x26)+_0x48eb0e(0x152)+(_0x1b9ba2['apiKey']?_0x547f06['SMNHt']:_0x547f06['tJqcH'])[_0x48eb0e(0x1d4)](0x26)+_0x48eb0e(0x1ea);console[_0x48eb0e(0x1b7)](_0x98d144);const _0x4a165e={'event':_0x547f06[_0x48eb0e(0x1d5)],'project':_0x1b9ba2[_0x48eb0e(0x1b6)],'port':_0x1b9ba2['port'],'config':_0x1b9ba2[_0x48eb0e(0x165)],'apiKeyEnabled':!!_0x1b9ba2['apiKey']};logger['info'](_0x4a165e),writeToFileLog({..._0x4a165e,'level':_0x547f06[_0x48eb0e(0x155)],'msg':_0x48eb0e(0x1c6)+_0x1b9ba2['project']+'\x20on\x20port\x20'+_0x1b9ba2[_0x48eb0e(0x1b1)],'time':new Date()['toISOString']()},_0x547f06[_0x48eb0e(0x155)]);},logServerReady=_0x27a712=>{const _0x4dab72=a0_0x2fce61,_0x216947={'QIAvL':'server_ready','lOjHt':_0x4dab72(0x198)},_0x37e26a={'event':_0x216947[_0x4dab72(0x159)],'port':_0x27a712['port'],'module':_0x27a712[_0x4dab72(0x172)],'healthCheck':_0x27a712['healthCheck'],'serviceInfo':_0x27a712[_0x4dab72(0x1d0)],'baseUrl':_0x27a712['baseUrl']},_0x2aefea=_0x4dab72(0x196)+_0x27a712['port'];logger['info'](_0x37e26a,_0x2aefea),writeToFileLog({..._0x37e26a,'level':_0x4dab72(0x198),'msg':_0x2aefea,'time':new Date()[_0x4dab72(0x1c1)]()},_0x216947[_0x4dab72(0x146)]),_0x27a712['healthCheck']&&logger[_0x4dab72(0x198)](_0x4dab72(0x179)+_0x27a712[_0x4dab72(0x1e1)]),_0x27a712[_0x4dab72(0x1d0)]&&logger['info'](_0x4dab72(0x1b3)+_0x27a712[_0x4dab72(0x1d0)]),_0x27a712[_0x4dab72(0x1fa)]&&logger[_0x4dab72(0x198)](_0x4dab72(0x1d1)+_0x27a712[_0x4dab72(0x1fa)]);},logProjectLoaded=(_0x5b3814,_0x57c228)=>{const _0x141b10=a0_0x2fce61,_0x54ba91={'cXWwb':_0x141b10(0x17d),'MtOFx':'info'},_0x4098ca={'event':_0x54ba91[_0x141b10(0x16a)],'project':_0x5b3814,'path':_0x57c228},_0x35c2bd=_0x141b10(0x18b)+_0x5b3814;logger[_0x141b10(0x198)](_0x4098ca,_0x35c2bd),writeToFileLog({..._0x4098ca,'level':_0x54ba91['MtOFx'],'msg':_0x35c2bd,'time':new Date()['toISOString']()},_0x141b10(0x198));},logEndpointRegistered=(_0x7c32b0,_0xc4d46d)=>{const _0x472d8b=a0_0x2fce61,_0x3eafd3={'eFjiR':'endpoint_registered','TXEoY':function(_0x518037,_0x4699bc,_0x7160e2){return _0x518037(_0x4699bc,_0x7160e2);},'wCykK':_0x472d8b(0x16e)},_0x384da3={'event':_0x3eafd3[_0x472d8b(0x16c)],'endpoint':_0x7c32b0,'route':_0xc4d46d},_0x745336=_0x472d8b(0x1c0)+_0x7c32b0+':\x20'+_0xc4d46d;logger[_0x472d8b(0x16e)](_0x384da3,_0x745336),_0x3eafd3['TXEoY'](writeToFileLog,{..._0x384da3,'level':_0x472d8b(0x16e),'msg':_0x745336,'time':new Date()['toISOString']()},_0x3eafd3['wCykK']);},logDatabaseConfig=_0x1ea36b=>{const _0xfb713b=a0_0x2fce61,_0x508a48={'OzWsj':'database_config','OMVvd':'debug'},_0x233471={'event':_0x508a48['OzWsj'],'host':_0x1ea36b['host'],'port':_0x1ea36b['port'],'database':_0x1ea36b['database'],'type':_0x1ea36b[_0xfb713b(0x1d9)],'user':_0x1ea36b[_0xfb713b(0x182)]},_0x5af54a=_0xfb713b(0x177)+_0x1ea36b['type']+'://'+_0x1ea36b['host']+':'+_0x1ea36b[_0xfb713b(0x1b1)]+'/'+_0x1ea36b[_0xfb713b(0x18c)];logger['debug'](_0x233471,_0x5af54a),writeToFileLog({..._0x233471,'level':_0x508a48['OMVvd'],'msg':_0x5af54a,'time':new Date()[_0xfb713b(0x1c1)]()},'debug');},logRequest=(_0x1b4d83,_0x36ec06,_0x4ddd0b)=>{const _0x46daf6=a0_0x2fce61,_0xbfc038={'rNvnW':'http_request','xZYGb':function(_0x4892e5,_0x2c11cb){return _0x4892e5>=_0x2c11cb;},'ZfsrW':_0x46daf6(0x1f7),'EdNcB':function(_0x84a116,_0x5a552a,_0x563984){return _0x84a116(_0x5a552a,_0x563984);}},_0x313e17={'event':_0xbfc038['rNvnW'],'method':_0x1b4d83[_0x46daf6(0x173)],'path':_0x1b4d83['path'],'statusCode':_0x36ec06[_0x46daf6(0x170)],'durationMs':_0x4ddd0b,'ip':_0x1b4d83['ip']},_0x3a0945=_0x1b4d83['method']+'\x20'+_0x1b4d83[_0x46daf6(0x1f1)]+'\x20-\x20'+_0x36ec06['statusCode']+'\x20('+_0x4ddd0b+'ms)';let _0x36a3e6=_0x46daf6(0x198);if(_0xbfc038['xZYGb'](_0x36ec06[_0x46daf6(0x170)],0x1f4))_0x36a3e6=_0x46daf6(0x1ae),logger['error'](_0x313e17,_0x3a0945);else _0x36ec06['statusCode']>=0x190?(_0x36a3e6=_0xbfc038['ZfsrW'],logger[_0x46daf6(0x1f7)](_0x313e17,_0x3a0945)):logger['info'](_0x313e17,_0x3a0945);_0xbfc038[_0x46daf6(0x163)](writeToFileLog,{..._0x313e17,'level':_0x36a3e6,'msg':_0x3a0945,'time':new Date()['toISOString']()},_0x36a3e6);},SENSITIVE_PARAM_PATTERNS=[a0_0x2fce61(0x1bb),'passwd',a0_0x2fce61(0x13d),'token',a0_0x2fce61(0x18f),'refresh_token',a0_0x2fce61(0x1ec),a0_0x2fce61(0x190),'apikey',a0_0x2fce61(0x1a2),'credential','credentials',a0_0x2fce61(0x1c4),a0_0x2fce61(0x191),'private_key',a0_0x2fce61(0x14c)],redactSensitiveParams=(_0x5640ae,_0x272bf7)=>{const _0x12afcf=a0_0x2fce61,_0x186491={'JohjX':'string','KcZVW':function(_0x40943a,_0x52f702){return _0x40943a===_0x52f702;}};if(!_0x5640ae||_0x186491[_0x12afcf(0x1e8)](_0x5640ae[_0x12afcf(0x1e7)],0x0))return _0x5640ae;const _0x3185c1=_0x272bf7['toLowerCase'](),_0x954709=_0x3185c1['match'](/\(([^)]+)\)\s*values/i);let _0x4916f9=[];_0x954709&&(_0x4916f9=_0x954709[0x1]['split'](',')[_0x12afcf(0x1a7)](_0x5680be=>_0x5680be['trim']()[_0x12afcf(0x15f)]()));const _0x297d1b=_0x3185c1['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x297d1b){const _0x429890=_0x297d1b[0x1],_0x4f63de=_0x429890['match'](/(\w+)\s*=/g);_0x4f63de&&(_0x4916f9=_0x4f63de['map'](_0x2903fe=>_0x2903fe[_0x12afcf(0x161)](/\s*=/,'')['trim']()[_0x12afcf(0x15f)]()));}return _0x5640ae[_0x12afcf(0x1a7)]((_0x5d65ca,_0x3a3c8c)=>{const _0x2b6413=_0x12afcf;if(_0x4916f9[_0x3a3c8c]){const _0xdd171b=_0x4916f9[_0x3a3c8c],_0x1b8538=SENSITIVE_PARAM_PATTERNS['some'](_0x82f237=>_0xdd171b['includes'](_0x82f237));if(_0x1b8538)return _0x2b6413(0x1f8);}if(typeof _0x5d65ca===_0x186491['JohjX']&&_0x5d65ca[_0x2b6413(0x1e7)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x2b6413(0x188)](_0x5d65ca)&&_0x5d65ca['includes']('.'))return _0x2b6413(0x1f3);if(/^[a-fA-F0-9]{32,}$/[_0x2b6413(0x188)](_0x5d65ca))return _0x2b6413(0x1a9);}return _0x5d65ca;});},parseQueryMetadata=_0x13d211=>{const _0x524fcf=a0_0x2fce61,_0x4a4296={'slCRJ':_0x524fcf(0x18e),'DobOt':_0x524fcf(0x1ad),'OtjEM':_0x524fcf(0x19a),'Cxigw':_0x524fcf(0x1f5),'QxPmf':_0x524fcf(0x15e),'ptXtY':_0x524fcf(0x1cc)},_0x4b24f5=_0x13d211[_0x524fcf(0x1d2)](),_0x56c402=_0x4b24f5[_0x524fcf(0x142)]();let _0x1f2e5a='UNKNOWN',_0x11f4e4=null;if(_0x56c402['startsWith']('SELECT')){_0x1f2e5a='SELECT';const _0x1c8df1=_0x4b24f5['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x11f4e4=_0x1c8df1?_0x1c8df1[0x1]:null;}else{if(_0x56c402[_0x524fcf(0x14b)]('INSERT')){_0x1f2e5a=_0x4a4296[_0x524fcf(0x166)];const _0x6d7a7e=_0x4b24f5['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x11f4e4=_0x6d7a7e?_0x6d7a7e[0x1]:null;}else{if(_0x56c402[_0x524fcf(0x14b)](_0x524fcf(0x1b8))){_0x1f2e5a=_0x524fcf(0x1b8);const _0x40c294=_0x4b24f5[_0x524fcf(0x1f2)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x11f4e4=_0x40c294?_0x40c294[0x1]:null;}else{if(_0x56c402[_0x524fcf(0x14b)](_0x524fcf(0x1dd))){_0x1f2e5a='DELETE';const _0x319f00=_0x4b24f5['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x11f4e4=_0x319f00?_0x319f00[0x1]:null;}else{if(_0x56c402['startsWith']('BEGIN')||_0x56c402['startsWith'](_0x524fcf(0x199)))_0x1f2e5a=_0x4a4296['DobOt'];else{if(_0x56c402['startsWith'](_0x4a4296['OtjEM']))_0x1f2e5a=_0x4a4296[_0x524fcf(0x1cf)];else{if(_0x56c402[_0x524fcf(0x14b)](_0x524fcf(0x184)))_0x1f2e5a=_0x524fcf(0x1b5);else{if(_0x56c402[_0x524fcf(0x14b)]('CREATE'))_0x1f2e5a=_0x4a4296[_0x524fcf(0x17c)];else{if(_0x56c402['startsWith'](_0x524fcf(0x14e)))_0x1f2e5a=_0x4a4296['ptXtY'];else _0x56c402[_0x524fcf(0x14b)]('DROP')&&(_0x1f2e5a=_0x524fcf(0x14a));}}}}}}}}return{'type':_0x1f2e5a,'table':_0x11f4e4};},startQueryTimer=()=>{const _0x3293f6=a0_0x2fce61,_0x424311={'Tbfbc':function(_0x2b4a03,_0x204d62){return _0x2b4a03+_0x204d62;},'IiByF':function(_0x948cde,_0x41da66){return _0x948cde/_0x41da66;}},_0x2b9da8=process[_0x3293f6(0x13b)]();return()=>{const _0x5606a9=_0x3293f6,[_0x6084a2,_0x9a929c]=process[_0x5606a9(0x13b)](_0x2b9da8);return parseFloat(_0x424311['Tbfbc'](_0x6084a2*0x3e8,_0x424311[_0x5606a9(0x1cb)](_0x9a929c,0xf4240))[_0x5606a9(0x181)](0x2));};},logQuery=(_0x25961c,_0x947093=[],_0x2e5adb={})=>{const _0x134125=a0_0x2fce61,_0x200402={'Fnten':_0x134125(0x186),'PWqwE':'DB\x20Query','KRRuY':function(_0x5d5395,_0x2c67af,_0x3e0182){return _0x5d5395(_0x2c67af,_0x3e0182);},'idNjE':function(_0x140911,_0x231b92){return _0x140911>_0x231b92;},'ODrby':function(_0x49c119,_0xd8b95a){return _0x49c119!==_0xd8b95a;},'XoGjF':'warn','NifvX':function(_0x164b0a,_0x1a4613){return _0x164b0a===_0x1a4613;}};if(!sqlLogEnabled){logger['debug']({'event':_0x200402[_0x134125(0x1a1)],'query':_0x25961c['substring'](0x0,0xc8),'paramCount':_0x947093[_0x134125(0x1e7)]},_0x200402['PWqwE']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType='postgresql'}=_0x2e5adb,{type:_0x5724bd,table:_0x51d3d7}=parseQueryMetadata(_0x25961c),_0x6ecfd0={'event':_0x134125(0x1eb),'queryType':_0x5724bd,'table':_0x51d3d7,'query':_0x25961c,'paramCount':_0x947093['length'],'dbType':dbType};sqlLogParams&&_0x947093['length']>0x0&&(_0x6ecfd0['params']=_0x200402['KRRuY'](redactSensitiveParams,_0x947093,_0x25961c));duration!==null&&(_0x6ecfd0[_0x134125(0x150)]=duration,_0x6ecfd0[_0x134125(0x1c7)]=_0x200402['idNjE'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x6ecfd0['rowsAffected']=rowsAffected);const _0x201355=_0x51d3d7||_0x134125(0x1a5);let _0x2582d5='['+_0x5724bd+']\x20'+_0x201355;duration!==null&&(_0x2582d5+='\x20('+duration+_0x134125(0x1c3));const _0x2759c3=_0x200402[_0x134125(0x197)](duration,null)&&duration>sqlLogSlowThreshold;let _0x3cf2f8=_0x134125(0x16e);if(_0x2759c3)_0x2582d5+='\x20[SLOW]',_0x3cf2f8=_0x200402[_0x134125(0x17e)],logger[_0x134125(0x1f7)](_0x6ecfd0,_0x2582d5);else _0x200402['NifvX'](sqlLogLevel,'info')?(_0x3cf2f8='info',logger['info'](_0x6ecfd0,_0x2582d5)):logger[_0x134125(0x16e)](_0x6ecfd0,_0x2582d5);_0x200402[_0x134125(0x147)](writeToFileLog,{..._0x6ecfd0,'level':_0x3cf2f8,'msg':_0x2582d5,'time':new Date()['toISOString']()},_0x3cf2f8);},logTransaction=(_0xdc56b5,_0x5f3fe7)=>{const _0x1c5763=a0_0x2fce61,_0x4ebbd9={'Eqnhj':'db_transaction'},_0x1d1b1f={'event':_0x4ebbd9[_0x1c5763(0x1db)],'status':_0xdc56b5,'queryCount':_0x5f3fe7},_0x35191e='Transaction\x20'+_0xdc56b5;logger[_0x1c5763(0x16e)](_0x1d1b1f,_0x35191e),writeToFileLog({..._0x1d1b1f,'level':_0x1c5763(0x16e),'msg':_0x35191e,'time':new Date()[_0x1c5763(0x1c1)]()},'debug');},redactObject=_0x6caf9a=>{const _0x40c603=a0_0x2fce61,_0x1e5ae0={'FEKwI':function(_0x4aa30a,_0x1fce53){return _0x4aa30a!==_0x1fce53;},'bBcDE':_0x40c603(0x1ce),'XtRqt':_0x40c603(0x19c),'BXzgd':'secret','LUEQC':_0x40c603(0x1a2),'OHFkJ':_0x40c603(0x1bf),'PFpDW':_0x40c603(0x1f0),'EeIfE':_0x40c603(0x16b),'WVsNT':'access_token','EmkzO':_0x40c603(0x1f8),'JNoNk':function(_0x505050,_0xb7c5a0){return _0x505050===_0xb7c5a0;},'bndZk':function(_0x26187d,_0xf02f05){return _0x26187d!==_0xf02f05;}};if(!_0x6caf9a||_0x1e5ae0[_0x40c603(0x17f)](typeof _0x6caf9a,_0x1e5ae0['bBcDE']))return _0x6caf9a;const _0x74c532=[_0x40c603(0x1bb),_0x1e5ae0[_0x40c603(0x1dc)],'pwd',_0x40c603(0x13e),_0x1e5ae0['BXzgd'],_0x40c603(0x1a8),_0x1e5ae0['LUEQC'],'authorization',_0x1e5ae0['OHFkJ'],_0x40c603(0x1d7),_0x40c603(0x175),_0x40c603(0x1e5),_0x40c603(0x1c4),_0x1e5ae0[_0x40c603(0x183)],_0x40c603(0x14c),_0x1e5ae0[_0x40c603(0x18a)],_0x1e5ae0[_0x40c603(0x1d6)]],_0x388711=Array[_0x40c603(0x1e4)](_0x6caf9a)?[..._0x6caf9a]:{..._0x6caf9a};for(const _0x3e4330 of Object['keys'](_0x388711)){const _0x215f06=_0x3e4330['toLowerCase']();if(_0x74c532[_0x40c603(0x171)](_0x29db67=>_0x215f06[_0x40c603(0x1de)](_0x29db67)))_0x388711[_0x3e4330]=_0x1e5ae0[_0x40c603(0x16d)];else _0x1e5ae0['JNoNk'](typeof _0x388711[_0x3e4330],_0x1e5ae0['bBcDE'])&&_0x1e5ae0[_0x40c603(0x17a)](_0x388711[_0x3e4330],null)&&(_0x388711[_0x3e4330]=redactObject(_0x388711[_0x3e4330]));}return _0x388711;},logError=(_0x251ab6,_0x48b3a5={},_0x3e27af=null)=>{const _0x4468e4=a0_0x2fce61,_0x351f44={'fquCZ':_0x4468e4(0x1ae),'FwQAv':'Error','XKzCb':function(_0x35f079,_0x293a50,_0x26d7d2){return _0x35f079(_0x293a50,_0x26d7d2);}},_0x32d1d9={'event':_0x351f44[_0x4468e4(0x1a0)],'errorName':_0x251ab6[_0x4468e4(0x15a)]||_0x351f44[_0x4468e4(0x180)],'errorMessage':_0x251ab6[_0x4468e4(0x14d)],'errorCode':_0x251ab6['code']||null,'stack':_0x251ab6[_0x4468e4(0x140)],..._0x48b3a5},_0xc6a8b2=_0x3e27af||'Error:\x20'+_0x251ab6[_0x4468e4(0x14d)];logger[_0x4468e4(0x1ae)](_0x32d1d9,_0xc6a8b2),_0x351f44['XKzCb'](writeToFileLog,{..._0x32d1d9,'level':_0x351f44[_0x4468e4(0x1a0)],'msg':_0xc6a8b2,'time':new Date()['toISOString']()},_0x351f44[_0x4468e4(0x1a0)]);},logFatalError=(_0x23522b,_0x344d41={},_0x2a5218=null)=>{const _0x465304=a0_0x2fce61,_0x297063={'MChat':_0x465304(0x1c8),'lmsXX':_0x465304(0x1ae)},_0xbc2f7b={'event':_0x465304(0x1bd),'errorName':_0x23522b['name']||'Error','errorMessage':_0x23522b[_0x465304(0x14d)],'errorCode':_0x23522b[_0x465304(0x19b)]||null,'stack':_0x23522b['stack'],'severity':_0x297063[_0x465304(0x15d)],..._0x344d41},_0x2e3b02=_0x2a5218||'FATAL:\x20'+_0x23522b['message'];logger['fatal'](_0xbc2f7b,_0x2e3b02),writeToFileLog({..._0xbc2f7b,'level':'fatal','msg':_0x2e3b02,'time':new Date()['toISOString']()},_0x297063['lmsXX']);},logHttpError=(_0x134678,_0x508fb7,_0x4a49cc={})=>{const _0x5ccbcf=a0_0x2fce61,_0x3142dd={'XewKA':'Error','cBXdf':'user-agent','PmeIa':'x-request-id','zELCC':function(_0x426afd,_0x2f4edb){return _0x426afd>=_0x2f4edb;},'OUwcv':_0x5ccbcf(0x1f7),'uotxs':function(_0x16ff9c,_0x5b587d){return _0x16ff9c>=_0x5b587d;},'VmacS':_0x5ccbcf(0x1ae)},_0x31e800={'event':_0x5ccbcf(0x1b2),'errorName':_0x134678['name']||_0x3142dd['XewKA'],'errorMessage':_0x134678['message'],'errorCode':_0x134678['code']||_0x134678[_0x5ccbcf(0x170)]||0x1f4,'stack':_0x134678['stack'],'method':_0x508fb7?.['method'],'url':_0x508fb7?.['url']||_0x508fb7?.['originalUrl'],'path':_0x508fb7?.[_0x5ccbcf(0x1f1)],'ip':_0x508fb7?.['ip']||_0x508fb7?.['connection']?.[_0x5ccbcf(0x1fb)],'userAgent':_0x508fb7?.[_0x5ccbcf(0x157)]?.(_0x3142dd[_0x5ccbcf(0x1a4)]),'requestId':_0x508fb7?.['id']||_0x508fb7?.['headers']?.[_0x3142dd[_0x5ccbcf(0x13c)]],'body':_0x508fb7?.[_0x5ccbcf(0x143)]?redactObject(_0x508fb7['body']):undefined,'query':_0x508fb7?.[_0x5ccbcf(0x138)],..._0x4a49cc},_0x465be8=_0x134678[_0x5ccbcf(0x170)]||_0x134678[_0x5ccbcf(0x1df)]||0x1f4,_0x5cbd18=_0x5ccbcf(0x19e)+_0x465be8+':\x20'+_0x134678[_0x5ccbcf(0x14d)];_0x465be8>=0x1f4?logger[_0x5ccbcf(0x1ae)](_0x31e800,_0x5cbd18):logger['warn'](_0x31e800,_0x5cbd18),writeToFileLog({..._0x31e800,'level':_0x3142dd['zELCC'](_0x465be8,0x1f4)?_0x5ccbcf(0x1ae):_0x3142dd[_0x5ccbcf(0x16f)],'msg':_0x5cbd18,'time':new Date()[_0x5ccbcf(0x1c1)]()},_0x3142dd[_0x5ccbcf(0x1e9)](_0x465be8,0x1f4)?_0x3142dd[_0x5ccbcf(0x1ef)]:'warn');},logUncaughtError=(_0x2ff72f,_0x5af241)=>{const _0x567a8c=a0_0x2fce61,_0x35a1fe={'OgIZW':_0x567a8c(0x1b9),'aclii':'CRITICAL'},_0x4ae6d4={'event':_0x2ff72f,'errorName':_0x5af241?.[_0x567a8c(0x15a)]||_0x35a1fe['OgIZW'],'errorMessage':_0x5af241?.[_0x567a8c(0x14d)]||String(_0x5af241),'errorCode':_0x5af241?.['code']||null,'stack':_0x5af241?.['stack'],'severity':_0x35a1fe[_0x567a8c(0x13a)],'processId':process[_0x567a8c(0x151)],'memoryUsage':process[_0x567a8c(0x164)](),'uptime':process[_0x567a8c(0x1ac)]()},_0x40daa0='['+_0x2ff72f[_0x567a8c(0x142)]()+']\x20'+(_0x5af241?.[_0x567a8c(0x14d)]||_0x5af241);logger[_0x567a8c(0x13f)](_0x4ae6d4,_0x40daa0),writeToFileLog({..._0x4ae6d4,'level':_0x567a8c(0x13f),'msg':_0x40daa0,'time':new Date()[_0x567a8c(0x1c1)]()},_0x567a8c(0x1ae));},setupGlobalErrorHandlers=()=>{const _0x22d589=a0_0x2fce61,_0x4c714d={'qOylw':function(_0xa22c72,_0x4b88c9,_0x22add5){return _0xa22c72(_0x4b88c9,_0x22add5);},'Pmhfm':_0x22d589(0x192),'BWXNZ':_0x22d589(0x18d),'QAbJl':'process_warning','gOhRz':'warning','ilHXt':'Global\x20error\x20handlers\x20initialized'};process['on']('uncaughtException',_0x2d8e3e=>{const _0x544ba4=_0x22d589;_0x4c714d['qOylw'](logUncaughtError,_0x4c714d[_0x544ba4(0x1f4)],_0x2d8e3e),setTimeout(()=>{const _0x5d6031=_0x544ba4;process[_0x5d6031(0x194)](0x1);},0x3e8);}),process['on'](_0x4c714d['BWXNZ'],(_0x456c51,_0x2ac3e8)=>{const _0x3ef1fe=_0x456c51 instanceof Error?_0x456c51:new Error(String(_0x456c51));logUncaughtError(_0x4c714d['BWXNZ'],_0x3ef1fe);}),process['on'](_0x4c714d[_0x22d589(0x1c9)],_0x3ad1c2=>{const _0x18f461=_0x22d589;logger[_0x18f461(0x1f7)]({'event':_0x4c714d[_0x18f461(0x137)],'name':_0x3ad1c2['name'],'message':_0x3ad1c2[_0x18f461(0x14d)],'stack':_0x3ad1c2[_0x18f461(0x140)]},'Process\x20Warning:\x20'+_0x3ad1c2[_0x18f461(0x14d)]);});const _0x2b83e3={'event':_0x22d589(0x136)},_0x37eed8=_0x4c714d[_0x22d589(0x1d8)];logger[_0x22d589(0x198)](_0x2b83e3,_0x37eed8),writeToFileLog({..._0x2b83e3,'level':_0x22d589(0x198),'msg':_0x37eed8,'time':new Date()[_0x22d589(0x1c1)]()},'info');},createErrorHandlerMiddleware=()=>{const _0xda0773={'sDJeW':'x-request-id'};return(_0x124fba,_0x2788c5,_0x4e3b8c,_0x8031c2)=>{const _0x4ea154=a0_0x526d;logHttpError(_0x124fba,_0x2788c5);const _0x3ba0ca=_0x124fba[_0x4ea154(0x170)]||_0x124fba['status']||0x1f4;_0x4e3b8c['status'](_0x3ba0ca)[_0x4ea154(0x1cd)]({'success':![],'error':_0x3ba0ca>=0x1f4?'Internal\x20server\x20error':_0x124fba[_0x4ea154(0x14d)],'requestId':_0x2788c5['id']||_0x2788c5['headers']?.[_0xda0773[_0x4ea154(0x14f)]]||null});};};module[a0_0x2fce61(0x1a6)]={'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_0x20a785=a0_0x58e3;(function(_0x1c639e,_0x52383c){const _0xfcf45f=a0_0x58e3,_0xe616c8=_0x1c639e();while(!![]){try{const _0x431465=-parseInt(_0xfcf45f(0x1f5))/0x1+parseInt(_0xfcf45f(0x1ea))/0x2*(-parseInt(_0xfcf45f(0x214))/0x3)+-parseInt(_0xfcf45f(0x19b))/0x4+-parseInt(_0xfcf45f(0x1fb))/0x5*(-parseInt(_0xfcf45f(0x1d9))/0x6)+-parseInt(_0xfcf45f(0x1cb))/0x7+-parseInt(_0xfcf45f(0x1de))/0x8*(-parseInt(_0xfcf45f(0x1e8))/0x9)+parseInt(_0xfcf45f(0x1ff))/0xa;if(_0x431465===_0x52383c)break;else _0xe616c8['push'](_0xe616c8['shift']());}catch(_0x3eae97){_0xe616c8['push'](_0xe616c8['shift']());}}}(a0_0x4066,0xdb91f));const pino=require('pino'),fs=require('fs'),path=require('path');function a0_0x4066(){const _0x2a4cf1=['Dg9ju09tDhjPBMC','v0DnsKC','zgjFCxvLCNK','uhjVy2vZCYbxyxjUAw5NoIa','r1jmAuC','BgvUz3rO','C3rHDhvZq29Kzq','Bwf0y2G','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','mtm3nZuWnxfKvfv1AW','Chfmz2q','BvjbrLy','ChjPDMf0zwTLEq','Aw5MBW','zgvIDwC','mtb5uKvuA2y','w09lxsbqCM9Qzwn0igXVywrLzdOG','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','D0Tdwwq','ndy2ntu0odbQugHWCNm','w1jfrefdveveoNrVA2vUxq','icbjBMzVoIaGia','sNDiA2O','zw52','revmrvrf','DhLWzq','D2fYBG','Dxb0Aw1L','ChjVAMvJDa','rLPKDuu','iokvKqRILzeGifbVCNqGicaGicaGidOG','C0PdvLi','weTrELG','quXurvi','B3jPz2LUywXvCMW','sKrUELy','y2LYz2O','y3LWswO','s1rtBK8','C3rKvgLTzuz1BMn0Aw9UCW','odKZotCZEvfssgjS','rejFueftu1DpuKq','CMvZDgzVCMDL','z0LAqM0','ruHmvxm','yxbPx2TLEq','CgfKrw5K','zKnlrxC','CgfZC3DVCMq','zxHPDa','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','r0TKveK','BwvZC2fNzq','C0fcBeu','y2nZBuC','lI9SB2DZ','rermx0rst1a','DKHiDNK','BMfTzq','D09tDLC','y29Kzq','y2nmswm','tK9uiefdveLwrq','y3z2','zKzHCLa','D01Lrhq','C2vYDMvYx3n0yxj0Aw5N','Dhj1zq','q09ntuLu','y3jLzgvUDgLHBa','vKjiBgq','iokvKqRILzeGienVBMzPzYaGicaGidOG','B2jQzwn0','rMLlu1u','BM1ls0K','CgLU','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','vfjbtLnbq1rjt05FuK9mtejbq0S','Evf3EM8','zuPgv3y','ywnJzxnZx3rVA2vU','iokvKqRILzeGiefqssblzxKGicaGidOG','D3jPDgu','tM9Kzs5QCW','te9hx1rpx0zjteu','Aw5JBhvKzxm','vfjbtLnbq1rjt05FqKvhsu4','CMvTB3rLqwrKCMvZCW','C3rHCNrZv2L0Aa','thb1DMG','C050Aw0','ELPlzKq','Dg9vChbLCKnHC2u','u2vYDMvYihn0yxj0Aw5NoIa','vM1rCey','sLDux1nfq1jfva','nJqZotyWt0TzsKro','yKDqs1e','vu5ltK9xtG','vfjbtLnbq1rjt05Fq09ntuLu','swzJt0K','DhjPBq','qKvhsu4','AxnVvgLTzq','yxbPs2v5','w1jfrefdvevexq','AM9PBG','A1DRA0W','C2vYDMvYx3jLywr5','CKvoA2m','CgfZC3DK','uK9mtejbq0S','yxbWlMXVzW','C3nU','AgvHBhrOq2HLy2S','AgvHzgvYCW','rMzut2i','C2vYDMLJzuLUzM8','D1nQte0','rxjYB3i6ia','quvVvu8','DxnLCI1Hz2vUDa','rKfuquW6ia','Dw5Oyw5KBgvKuMvQzwn0Aw9U','sw5mwfu','tK9erv9ftLy','Ag9ZDa','u1fmx0Xpr19mrvzfta','EMX5u1e','zMf0ywW','z2v0sgvHzgvYCW','yxv0Ag9YAxPHDgLVBG','ChjVzhvJDgLVBG','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','zKPnr3O','C3bSAxq','CM93C0fMzMvJDgvK','zxjYB3iUBg9N','wMP6Bvy','y29UzMLNrMLSzq','q1jfqvrf','zxjYB3i','CMvWAe4','zhvYyxrPB25nCW','mte2otqYmJfZyvLetMO','Cg5pufy','DgvZDa','u1rbuLqGvfjbtLnbq1rjt04','ChDK','CxvLCNK','reiGuxvLCNK','yMfZzvvYBa','rermx0fmvevs','zxboqLa','icbizwfSDgG6ia','A0r1tMW','tgPQt3G','Dg9Rzw4','mZu0mtKYnKfywLDsuq','CgfYyw1Z','y29UBMvJDgLVBG','Bwv0Ag9K','z2v0','mte5mNHsq1H3CW','y3jLzgL0y2fYza','Ahj0Aw1L','Cg9YDa','Cgf0Aa','C3rHy2S','Ahr0Cf9LCNjVCG','u0vmrunu','sejNthy','zxHWB3j0CW','mZaZm29jCMjYvW','q09AEeG','mtjowNjgDuq','DxnLCG'];a0_0x4066=function(){return _0x2a4cf1;};return a0_0x4066();}function a0_0x58e3(_0x8cce6,_0x3bb091){_0x8cce6=_0x8cce6-0x177;const _0x4066d2=a0_0x4066();let _0x58e3d3=_0x4066d2[_0x8cce6];if(a0_0x58e3['mydtXf']===undefined){var _0x5bd9c2=function(_0x2dd8ce){const _0x1b342c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43b89c='',_0x2e714e='';for(let _0x4e8420=0x0,_0xfcdf1,_0x340ded,_0x1edff3=0x0;_0x340ded=_0x2dd8ce['charAt'](_0x1edff3++);~_0x340ded&&(_0xfcdf1=_0x4e8420%0x4?_0xfcdf1*0x40+_0x340ded:_0x340ded,_0x4e8420++%0x4)?_0x43b89c+=String['fromCharCode'](0xff&_0xfcdf1>>(-0x2*_0x4e8420&0x6)):0x0){_0x340ded=_0x1b342c['indexOf'](_0x340ded);}for(let _0x1cb955=0x0,_0x1b438c=_0x43b89c['length'];_0x1cb955<_0x1b438c;_0x1cb955++){_0x2e714e+='%'+('00'+_0x43b89c['charCodeAt'](_0x1cb955)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2e714e);};a0_0x58e3['kRjToR']=_0x5bd9c2,a0_0x58e3['KQcIVK']={},a0_0x58e3['mydtXf']=!![];}const _0x14abcc=_0x4066d2[0x0],_0xaee37d=_0x8cce6+_0x14abcc,_0x39bd4a=a0_0x58e3['KQcIVK'][_0xaee37d];return!_0x39bd4a?(_0x58e3d3=a0_0x58e3['kRjToR'](_0x58e3d3),a0_0x58e3['KQcIVK'][_0xaee37d]=_0x58e3d3):_0x58e3d3=_0x39bd4a,_0x58e3d3;}let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x20a785(0x1fa),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x20a785(0x1f4),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x20a785(0x21e),'hideObject':!![]},isDevelopment=process[a0_0x20a785(0x203)][a0_0x20a785(0x1b8)]!==a0_0x20a785(0x1bf),logLevel=process[a0_0x20a785(0x203)]['LOG_LEVEL']||a0_0x20a785(0x1f9);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x20a785(0x216),'version':process['env']['APP_VERSION']||'1.0.5','env':process['env']['NODE_ENV']||'development'},'timestamp':pino[a0_0x20a785(0x213)][a0_0x20a785(0x1a2)],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]',a0_0x20a785(0x21c),a0_0x20a785(0x1d8),'apiKey',a0_0x20a785(0x215),a0_0x20a785(0x19a)],'censor':a0_0x20a785(0x1a4)},'serializers':{'req':_0x57d472=>({'id':_0x57d472['id'],'method':_0x57d472['method'],'url':_0x57d472['url'],'path':_0x57d472['path'],'remoteAddress':_0x57d472['ip']||_0x57d472[a0_0x20a785(0x1db)]?.['remoteAddress']}),'res':_0x50f984=>({'statusCode':_0x50f984[a0_0x20a785(0x1f2)],'headers':_0x50f984[a0_0x20a785(0x1bd)]?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x298971=a0_0x20a785,_0x164104={'qnajp':function(_0x3c5ad5,_0x1a3dca){return _0x3c5ad5===_0x1a3dca;},'ZpgTb':'true','KTSnO':_0x298971(0x223),'cirgj':_0x298971(0x216),'zlySQ':function(_0x4730ab,_0x31c9ba){return _0x4730ab!==_0x31c9ba;},'wSjLM':'false','ccsmG':function(_0x1040c1,_0x108d32){return _0x1040c1(_0x108d32);},'wOSvW':_0x298971(0x1c4),'InLXU':_0x298971(0x1ab),'kWkkL':'info'};if(fileLoggingInitialized)return;logToFile=_0x164104['qnajp'](process[_0x298971(0x203)][_0x298971(0x18f)],_0x164104['ZpgTb']),logDir=process[_0x298971(0x203)]['LOG_DIR']||_0x164104[_0x298971(0x212)],serviceName=process[_0x298971(0x203)]['SERVICE_NAME']||_0x164104[_0x298971(0x210)],sqlLogEnabled=process['env']['SQL_LOG_ENABLED']===_0x298971(0x17e),sqlLogLevel=process['env'][_0x298971(0x1ba)]||'debug',sqlLogParams=_0x164104[_0x298971(0x1bb)](process['env']['SQL_LOG_PARAMS'],_0x164104[_0x298971(0x1b1)]),sqlLogSlowThreshold=_0x164104[_0x298971(0x222)](parseInt,process[_0x298971(0x203)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x199518=path['resolve'](process['cwd'](),logDir);try{!fs['existsSync'](_0x199518)&&fs['mkdirSync'](_0x199518,{'recursive':!![]});}catch(_0xf5205b){console[_0x298971(0x1c8)](_0x298971(0x1c0)+_0x199518+':',_0xf5205b[_0x298971(0x220)]),fileLoggingInitialized=!![];return;}const _0x2c28a6=path[_0x298971(0x1a5)](_0x199518,_0x298971(0x1ab)),_0x2b06be=path['join'](_0x199518,_0x164104[_0x298971(0x227)]);try{appLogStream=fs['createWriteStream'](_0x2c28a6,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x2b06be,{'flags':'a'}),fileLoggingInitialized=!![];const _0x9ea0e9={'event':'file_logging_enabled','logDir':_0x199518,'files':[_0x164104[_0x298971(0x1b7)],_0x298971(0x1c4)]},_0x2d22cf=_0x298971(0x1fd)+_0x199518;logger['info'](_0x9ea0e9,_0x2d22cf),writeToFileLog({..._0x9ea0e9,'level':_0x164104[_0x298971(0x1a6)],'msg':_0x2d22cf,'time':new Date()[_0x298971(0x1ec)]()},_0x298971(0x1f9));}catch(_0x30fe0e){console[_0x298971(0x1c8)]('Failed\x20to\x20create\x20log\x20streams:',_0x30fe0e['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x1f3c04,_0x3eb06f){const _0x5cf285=a0_0x20a785,_0x39dd71={'qdKth':function(_0x365e97,_0x55e805){return _0x365e97+_0x55e805;},'cjZTL':'error','WMRxl':function(_0x391a10,_0x35948f){return _0x391a10===_0x35948f;},'omeSq':'fatal'};if(!logToFile||!appLogStream)return;const _0x5c177c={'service':serviceName,..._0x1f3c04},_0x9e3ea0=_0x39dd71['qdKth'](JSON['stringify'](_0x5c177c),'\x0a');appLogStream[_0x5cf285(0x18d)](_0x9e3ea0),(_0x3eb06f===_0x39dd71['cjZTL']||_0x39dd71['WMRxl'](_0x3eb06f,_0x39dd71['omeSq']))&&(errorLogStream&&errorLogStream['write'](_0x9e3ea0));}const createRequestLogger=(_0x9254ef={})=>{return logger['child'](_0x9254ef);},logServerStart=_0x35bd66=>{const _0x5b71e5=a0_0x20a785,_0x34fe08={'Lpuvh':_0x5b71e5(0x18e),'fFarP':'N/A','ZJIyE':'Default','mPKEu':_0x5b71e5(0x179),'YKVPq':_0x5b71e5(0x17d),'FfTOb':function(_0x20caf1,_0xf4cdb4,_0x45dce5){return _0x20caf1(_0xf4cdb4,_0x45dce5);}},_0x4a3e6c=_0x5b71e5(0x187)+(_0x35bd66['environment']||_0x34fe08[_0x5b71e5(0x194)])[_0x5b71e5(0x21a)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x35bd66[_0x5b71e5(0x208)]||_0x34fe08[_0x5b71e5(0x17b)])['padEnd'](0x26)+_0x5b71e5(0x20a)+String(_0x35bd66['port']||0xbb8)[_0x5b71e5(0x21a)](0x26)+_0x5b71e5(0x182)+(_0x35bd66[_0x5b71e5(0x1c6)]||_0x34fe08['ZJIyE'])['padEnd'](0x26)+_0x5b71e5(0x18c)+(_0x35bd66['apiKey']?'ACTIVE':_0x34fe08['mPKEu'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x4a3e6c);const _0x2f5122={'event':_0x34fe08['YKVPq'],'project':_0x35bd66['project'],'port':_0x35bd66[_0x5b71e5(0x1e1)],'config':_0x35bd66['configFile'],'apiKeyEnabled':!!_0x35bd66[_0x5b71e5(0x1a3)]};logger['info'](_0x2f5122),_0x34fe08[_0x5b71e5(0x1af)](writeToFileLog,{..._0x2f5122,'level':'info','msg':_0x5b71e5(0x198)+_0x35bd66['project']+'\x20on\x20port\x20'+_0x35bd66[_0x5b71e5(0x1e1)],'time':new Date()[_0x5b71e5(0x1ec)]()},'info');},logServerReady=_0x5f3d86=>{const _0x3605a0=a0_0x20a785,_0x9c9009={'COZxH':_0x3605a0(0x1a7),'LYUkc':function(_0x486411,_0x186745,_0x42d6f4){return _0x486411(_0x186745,_0x42d6f4);},'lThaZ':'info'},_0x20dc7b={'event':_0x9c9009[_0x3605a0(0x1e9)],'port':_0x5f3d86[_0x3605a0(0x1e1)],'module':_0x5f3d86['module'],'healthCheck':_0x5f3d86[_0x3605a0(0x1ad)],'serviceInfo':_0x5f3d86[_0x3605a0(0x1b0)],'baseUrl':_0x5f3d86['baseUrl']},_0x4409ae='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x5f3d86['port'];logger[_0x3605a0(0x1f9)](_0x20dc7b,_0x4409ae),_0x9c9009['LYUkc'](writeToFileLog,{..._0x20dc7b,'level':_0x3605a0(0x1f9),'msg':_0x4409ae,'time':new Date()[_0x3605a0(0x1ec)]()},_0x9c9009['lThaZ']),_0x5f3d86[_0x3605a0(0x1ad)]&&logger['info'](_0x3605a0(0x1d5)+_0x5f3d86['healthCheck']),_0x5f3d86[_0x3605a0(0x1b0)]&&logger['info'](_0x3605a0(0x201)+_0x5f3d86['serviceInfo']),_0x5f3d86[_0x3605a0(0x1d2)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x5f3d86[_0x3605a0(0x1d2)]);},logProjectLoaded=(_0x49f061,_0x19d36c)=>{const _0x518f98=a0_0x20a785,_0x49aba7={'WOfIP':'project_loaded','XKQzX':_0x518f98(0x1f9)},_0x50ba71={'event':_0x49aba7['WOfIP'],'project':_0x49f061,'path':_0x19d36c},_0x2d3b4e=_0x518f98(0x1fc)+_0x49f061;logger['info'](_0x50ba71,_0x2d3b4e),writeToFileLog({..._0x50ba71,'level':_0x49aba7['XKQzX'],'msg':_0x2d3b4e,'time':new Date()['toISOString']()},_0x49aba7[_0x518f98(0x20c)]);},logEndpointRegistered=(_0x4a059a,_0x3ab911)=>{const _0x32e67e=a0_0x20a785,_0xf816ad={'qdlur':'debug'},_0x9314f6={'event':'endpoint_registered','endpoint':_0x4a059a,'route':_0x3ab911},_0x1f8c17='\x20\x20→\x20'+_0x4a059a+':\x20'+_0x3ab911;logger['debug'](_0x9314f6,_0x1f8c17),writeToFileLog({..._0x9314f6,'level':_0x32e67e(0x1fa),'msg':_0x1f8c17,'time':new Date()[_0x32e67e(0x1ec)]()},_0xf816ad['qdlur']);},logDatabaseConfig=_0x954c77=>{const _0xa5d878=a0_0x20a785,_0x23b5f5={'HBgLv':function(_0x598215,_0xd381c8,_0x5c867f){return _0x598215(_0xd381c8,_0x5c867f);},'OuzDP':_0xa5d878(0x1fa)},_0x435af7={'event':'database_config','host':_0x954c77['host'],'port':_0x954c77['port'],'database':_0x954c77['database'],'type':_0x954c77[_0xa5d878(0x205)],'user':_0x954c77[_0xa5d878(0x1eb)]},_0x8a0098='Database:\x20'+_0x954c77['type']+'://'+_0x954c77[_0xa5d878(0x1b9)]+':'+_0x954c77[_0xa5d878(0x1e1)]+'/'+_0x954c77['database'];logger['debug'](_0x435af7,_0x8a0098),_0x23b5f5[_0xa5d878(0x1e6)](writeToFileLog,{..._0x435af7,'level':_0x23b5f5['OuzDP'],'msg':_0x8a0098,'time':new Date()[_0xa5d878(0x1ec)]()},_0x23b5f5['OuzDP']);},logRequest=(_0x2afb65,_0xb49265,_0x328f59)=>{const _0x59d43b=a0_0x20a785,_0xc8ba05={'bGPKQ':'http_request','gmMTN':'error','zjpDQ':'warn','eJFWv':function(_0x4e265f,_0x10254c,_0x888f5b){return _0x4e265f(_0x10254c,_0x888f5b);}},_0x42aa6b={'event':_0xc8ba05[_0x59d43b(0x19c)],'method':_0x2afb65[_0x59d43b(0x1dc)],'path':_0x2afb65['path'],'statusCode':_0xb49265['statusCode'],'durationMs':_0x328f59,'ip':_0x2afb65['ip']},_0x12a1ab=_0x2afb65['method']+'\x20'+_0x2afb65[_0x59d43b(0x1e2)]+'\x20-\x20'+_0xb49265['statusCode']+'\x20('+_0x328f59+'ms)';let _0x47e26c='info';if(_0xb49265['statusCode']>=0x1f4)_0x47e26c=_0xc8ba05['gmMTN'],logger[_0x59d43b(0x1c8)](_0x42aa6b,_0x12a1ab);else _0xb49265['statusCode']>=0x190?(_0x47e26c=_0xc8ba05['zjpDQ'],logger['warn'](_0x42aa6b,_0x12a1ab)):logger['info'](_0x42aa6b,_0x12a1ab);_0xc8ba05[_0x59d43b(0x18a)](writeToFileLog,{..._0x42aa6b,'level':_0x47e26c,'msg':_0x12a1ab,'time':new Date()['toISOString']()},_0x47e26c);},SENSITIVE_PARAM_PATTERNS=[a0_0x20a785(0x21c),'passwd',a0_0x20a785(0x1cf),a0_0x20a785(0x1d8),a0_0x20a785(0x18b),'refresh_token','secret','api_secret','apikey',a0_0x20a785(0x219),a0_0x20a785(0x180),'credentials',a0_0x20a785(0x186),'otp','private_key','privatekey'],redactSensitiveParams=(_0x46f316,_0x35f26)=>{const _0xa8b10d=a0_0x20a785,_0x7fffab={'oIErH':_0xa8b10d(0x200),'fCKEw':'[REDACTED:hash]','ijpXk':function(_0x1deef3,_0x2aa0dc){return _0x1deef3===_0x2aa0dc;}};if(!_0x46f316||_0x7fffab['ijpXk'](_0x46f316[_0xa8b10d(0x1f1)],0x0))return _0x46f316;const _0x59a494=_0x35f26['toLowerCase'](),_0x4a9c52=_0x59a494['match'](/\(([^)]+)\)\s*values/i);let _0x4a310a=[];_0x4a9c52&&(_0x4a310a=_0x4a9c52[0x1][_0xa8b10d(0x1c2)](',')['map'](_0x576e37=>_0x576e37[_0xa8b10d(0x1a0)]()['toLowerCase']()));const _0x3ea430=_0x59a494['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x3ea430){const _0x80fdab=_0x3ea430[0x1],_0x360ecc=_0x80fdab[_0xa8b10d(0x1f3)](/(\w+)\s*=/g);_0x360ecc&&(_0x4a310a=_0x360ecc['map'](_0x5b6251=>_0x5b6251['replace'](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x46f316['map']((_0x2382b1,_0x38b4c8)=>{const _0x16db99=_0xa8b10d;if(_0x4a310a[_0x38b4c8]){const _0x3ece18=_0x4a310a[_0x38b4c8],_0xc839f3=SENSITIVE_PARAM_PATTERNS['some'](_0x3862cc=>_0x3ece18['includes'](_0x3862cc));if(_0xc839f3)return'[REDACTED]';}if(typeof _0x2382b1==='string'&&_0x2382b1['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x2382b1)&&_0x2382b1[_0x16db99(0x190)]('.'))return _0x7fffab['oIErH'];if(/^[a-fA-F0-9]{32,}$/[_0x16db99(0x1cd)](_0x2382b1))return _0x7fffab[_0x16db99(0x21b)];}return _0x2382b1;});},parseQueryMetadata=_0x113aed=>{const _0x482bb2=a0_0x20a785,_0x266fb8={'rhDwh':_0x482bb2(0x19d),'wMeDt':_0x482bb2(0x1e5),'ZoTWL':'UPDATE','FZduE':_0x482bb2(0x204),'KbuNj':_0x482bb2(0x17f),'GRLiG':_0x482bb2(0x1aa),'qxroN':_0x482bb2(0x188),'VBHld':'DDL_CREATE','AEoUO':_0x482bb2(0x1d3),'VmQpF':'DROP'},_0x2f43d6=_0x113aed[_0x482bb2(0x1a0)](),_0x539542=_0x2f43d6['toUpperCase']();let _0x7b7d28=_0x266fb8['rhDwh'],_0x26c8fd=null;if(_0x539542[_0x482bb2(0x193)]('SELECT')){_0x7b7d28=_0x266fb8[_0x482bb2(0x17c)];const _0x5488c1=_0x2f43d6['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x26c8fd=_0x5488c1?_0x5488c1[0x1]:null;}else{if(_0x539542['startsWith']('INSERT')){_0x7b7d28='INSERT';const _0x4615e0=_0x2f43d6['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x26c8fd=_0x4615e0?_0x4615e0[0x1]:null;}else{if(_0x539542['startsWith'](_0x266fb8['ZoTWL'])){_0x7b7d28='UPDATE';const _0x520756=_0x2f43d6['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x26c8fd=_0x520756?_0x520756[0x1]:null;}else{if(_0x539542[_0x482bb2(0x193)](_0x482bb2(0x204))){_0x7b7d28=_0x266fb8[_0x482bb2(0x209)];const _0x55de12=_0x2f43d6['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x26c8fd=_0x55de12?_0x55de12[0x1]:null;}else{if(_0x539542[_0x482bb2(0x193)](_0x482bb2(0x1a1))||_0x539542[_0x482bb2(0x193)](_0x482bb2(0x1ce)))_0x7b7d28=_0x482bb2(0x191);else{if(_0x539542[_0x482bb2(0x193)](_0x266fb8['KbuNj']))_0x7b7d28=_0x482bb2(0x19e);else{if(_0x539542[_0x482bb2(0x193)](_0x266fb8[_0x482bb2(0x1f0)]))_0x7b7d28=_0x266fb8['qxroN'];else{if(_0x539542['startsWith'](_0x482bb2(0x1c7)))_0x7b7d28=_0x266fb8[_0x482bb2(0x181)];else{if(_0x539542['startsWith'](_0x482bb2(0x20d)))_0x7b7d28=_0x266fb8[_0x482bb2(0x1b3)];else _0x539542['startsWith'](_0x266fb8[_0x482bb2(0x199)])&&(_0x7b7d28=_0x482bb2(0x224));}}}}}}}}return{'type':_0x7b7d28,'table':_0x26c8fd};},startQueryTimer=()=>{const _0x5154ee=a0_0x20a785,_0x3010a7={'kwBRJ':function(_0x354d88,_0x4cc1c0){return _0x354d88(_0x4cc1c0);},'sABlE':function(_0x5bf2d1,_0x5f3e5f){return _0x5bf2d1/_0x5f3e5f;}},_0x21ddf7=process[_0x5154ee(0x1e0)]();return()=>{const _0x851a3=_0x5154ee,[_0x404e77,_0x25b849]=process[_0x851a3(0x1e0)](_0x21ddf7);return _0x3010a7['kwBRJ'](parseFloat,(_0x404e77*0x3e8+_0x3010a7[_0x851a3(0x221)](_0x25b849,0xf4240))['toFixed'](0x2));};},logQuery=(_0x21e0e0,_0x5dd12c=[],_0x551b62={})=>{const _0x386edb=a0_0x20a785,_0x4d30f1={'rephN':_0x386edb(0x1d1),'NUAvy':'postgresql','sNtim':'sql_query','EHLUs':function(_0x1b93b2,_0x4fa266,_0x10c0ff){return _0x1b93b2(_0x4fa266,_0x10c0ff);},'rENkc':function(_0x2ed105,_0x52f728){return _0x2ed105>_0x52f728;},'ccLIc':function(_0x3484b5,_0xe6d81e){return _0x3484b5!==_0xe6d81e;},'FiKSU':_0x386edb(0x1f9)};if(!sqlLogEnabled){logger['debug']({'event':_0x386edb(0x1ee),'query':_0x21e0e0['substring'](0x0,0xc8),'paramCount':_0x5dd12c[_0x386edb(0x1f1)]},_0x4d30f1[_0x386edb(0x1c9)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x4d30f1['NUAvy']}=_0x551b62,{type:_0x1075ee,table:_0x2adff4}=parseQueryMetadata(_0x21e0e0),_0x491142={'event':_0x4d30f1[_0x386edb(0x195)],'queryType':_0x1075ee,'table':_0x2adff4,'query':_0x21e0e0,'paramCount':_0x5dd12c[_0x386edb(0x1f1)],'dbType':dbType};sqlLogParams&&_0x5dd12c['length']>0x0&&(_0x491142[_0x386edb(0x1da)]=_0x4d30f1[_0x386edb(0x218)](redactSensitiveParams,_0x5dd12c,_0x21e0e0));duration!==null&&(_0x491142[_0x386edb(0x1ca)]=duration,_0x491142['isSlow']=_0x4d30f1[_0x386edb(0x1a8)](duration,sqlLogSlowThreshold));_0x4d30f1['ccLIc'](rowsAffected,null)&&(_0x491142[_0x386edb(0x1c3)]=rowsAffected);const _0x2864fd=_0x2adff4||'unknown';let _0x534f8f='['+_0x1075ee+']\x20'+_0x2864fd;_0x4d30f1[_0x386edb(0x178)](duration,null)&&(_0x534f8f+='\x20('+duration+'ms)');const _0x4881da=_0x4d30f1['ccLIc'](duration,null)&&duration>sqlLogSlowThreshold;let _0x3fd9aa='debug';if(_0x4881da)_0x534f8f+='\x20[SLOW]',_0x3fd9aa=_0x386edb(0x206),logger[_0x386edb(0x206)](_0x491142,_0x534f8f);else sqlLogLevel===_0x4d30f1['FiKSU']?(_0x3fd9aa=_0x4d30f1[_0x386edb(0x184)],logger['info'](_0x491142,_0x534f8f)):logger['debug'](_0x491142,_0x534f8f);writeToFileLog({..._0x491142,'level':_0x3fd9aa,'msg':_0x534f8f,'time':new Date()[_0x386edb(0x1ec)]()},_0x3fd9aa);},logTransaction=(_0x12dc15,_0x1b79c2)=>{const _0x196fdf=a0_0x20a785,_0x137d52={'ZjzmV':'db_transaction','wVQoy':_0x196fdf(0x1fa)},_0x1e5cbd={'event':_0x137d52[_0x196fdf(0x1c5)],'status':_0x12dc15,'queryCount':_0x1b79c2},_0x188b02='Transaction\x20'+_0x12dc15;logger['debug'](_0x1e5cbd,_0x188b02),writeToFileLog({..._0x1e5cbd,'level':_0x137d52['wVQoy'],'msg':_0x188b02,'time':new Date()[_0x196fdf(0x1ec)]()},'debug');},redactObject=_0x44fbd0=>{const _0x222106=a0_0x20a785,_0x142568={'JwHkj':function(_0x5cb1e0,_0x5ced2e){return _0x5cb1e0!==_0x5ced2e;},'bQSFK':_0x222106(0x1cf),'kDuNl':'secret','IfcOI':'apikey','XqIoD':_0x222106(0x1be),'LjjOx':_0x222106(0x17a),'pnOPV':_0x222106(0x1ac),'nmKKI':_0x222106(0x1f8),'aNoei':_0x222106(0x18b),'pqLgd':'[REDACTED]','jDqaH':function(_0x1964ff,_0x5593f0){return _0x1964ff===_0x5593f0;},'kypjI':_0x222106(0x183)};if(!_0x44fbd0||_0x142568[_0x222106(0x202)](typeof _0x44fbd0,'object'))return _0x44fbd0;const _0x2f1d11=[_0x222106(0x21c),_0x222106(0x1a9),_0x142568['bQSFK'],_0x222106(0x1d8),_0x142568[_0x222106(0x1d6)],_0x142568[_0x222106(0x19f)],'api_key',_0x142568['XqIoD'],_0x222106(0x1df),'credit_card',_0x142568[_0x222106(0x1d7)],_0x142568[_0x222106(0x1cc)],_0x222106(0x186),'private_key',_0x142568[_0x222106(0x185)],'refresh_token',_0x142568['aNoei']],_0x2e5656=Array['isArray'](_0x44fbd0)?[..._0x44fbd0]:{..._0x44fbd0};for(const _0x45a3a8 of Object['keys'](_0x2e5656)){const _0x289020=_0x45a3a8['toLowerCase']();if(_0x2f1d11['some'](_0x3a8ed5=>_0x289020['includes'](_0x3a8ed5)))_0x2e5656[_0x45a3a8]=_0x142568[_0x222106(0x1f6)];else _0x142568['jDqaH'](typeof _0x2e5656[_0x45a3a8],_0x142568['kypjI'])&&_0x2e5656[_0x45a3a8]!==null&&(_0x2e5656[_0x45a3a8]=redactObject(_0x2e5656[_0x45a3a8]));}return _0x2e5656;},logError=(_0x46af6f,_0x1731c3={},_0x17167a=null)=>{const _0x2fd3fd=a0_0x20a785,_0xed786d={'WGMJG':'error'},_0x471180={'event':_0xed786d[_0x2fd3fd(0x1ed)],'errorName':_0x46af6f[_0x2fd3fd(0x226)]||'Error','errorMessage':_0x46af6f[_0x2fd3fd(0x220)],'errorCode':_0x46af6f[_0x2fd3fd(0x177)]||null,'stack':_0x46af6f[_0x2fd3fd(0x1e3)],..._0x1731c3},_0x136ff1=_0x17167a||_0x2fd3fd(0x1b2)+_0x46af6f[_0x2fd3fd(0x220)];logger[_0x2fd3fd(0x1c8)](_0x471180,_0x136ff1),writeToFileLog({..._0x471180,'level':'error','msg':_0x136ff1,'time':new Date()[_0x2fd3fd(0x1ec)]()},_0x2fd3fd(0x1c8));},logFatalError=(_0x56333c,_0x520a03={},_0x8f17a4=null)=>{const _0x59eb8d=a0_0x20a785,_0x5e28f6={'cjZcM':'fatal_error','BHbiC':'CRITICAL'},_0xb0b29f={'event':_0x5e28f6['cjZcM'],'errorName':_0x56333c[_0x59eb8d(0x226)]||'Error','errorMessage':_0x56333c['message'],'errorCode':_0x56333c['code']||null,'stack':_0x56333c[_0x59eb8d(0x1e3)],'severity':_0x5e28f6['BHbiC'],..._0x520a03},_0x48541d=_0x8f17a4||_0x59eb8d(0x1b5)+_0x56333c['message'];logger['fatal'](_0xb0b29f,_0x48541d),writeToFileLog({..._0xb0b29f,'level':_0x59eb8d(0x1bc),'msg':_0x48541d,'time':new Date()[_0x59eb8d(0x1ec)]()},'error');},logHttpError=(_0xb36c2e,_0x487e31,_0x5c0a56={})=>{const _0x538b14=a0_0x20a785,_0x5c6afb={'wWFcp':'Error','cypIj':function(_0x2dda5f,_0x38411a){return _0x2dda5f(_0x38411a);},'mRAFV':function(_0x33963f,_0x594b50,_0x4d9b95){return _0x33963f(_0x594b50,_0x4d9b95);},'vHHvy':'warn'},_0x5dc58a={'event':_0x538b14(0x1e4),'errorName':_0xb36c2e['name']||_0x5c6afb['wWFcp'],'errorMessage':_0xb36c2e[_0x538b14(0x220)],'errorCode':_0xb36c2e['code']||_0xb36c2e['statusCode']||0x1f4,'stack':_0xb36c2e['stack'],'method':_0x487e31?.['method'],'url':_0x487e31?.['url']||_0x487e31?.[_0x538b14(0x20e)],'path':_0x487e31?.['path'],'ip':_0x487e31?.['ip']||_0x487e31?.[_0x538b14(0x1db)]?.[_0x538b14(0x192)],'userAgent':_0x487e31?.[_0x538b14(0x1dd)]?.(_0x538b14(0x1b4)),'requestId':_0x487e31?.['id']||_0x487e31?.['headers']?.['x-request-id'],'body':_0x487e31?.['body']?_0x5c6afb[_0x538b14(0x211)](redactObject,_0x487e31['body']):undefined,'query':_0x487e31?.[_0x538b14(0x1d0)],..._0x5c0a56},_0x29b7f2=_0xb36c2e['statusCode']||_0xb36c2e['status']||0x1f4,_0x29851c='HTTP\x20'+_0x29b7f2+':\x20'+_0xb36c2e[_0x538b14(0x220)];_0x29b7f2>=0x1f4?logger['error'](_0x5dc58a,_0x29851c):logger[_0x538b14(0x206)](_0x5dc58a,_0x29851c),_0x5c6afb[_0x538b14(0x1f7)](writeToFileLog,{..._0x5dc58a,'level':_0x29b7f2>=0x1f4?_0x538b14(0x1c8):_0x5c6afb[_0x538b14(0x225)],'msg':_0x29851c,'time':new Date()[_0x538b14(0x1ec)]()},_0x29b7f2>=0x1f4?_0x538b14(0x1c8):_0x5c6afb[_0x538b14(0x225)]);},logUncaughtError=(_0x81f923,_0xe7a677)=>{const _0x327ce9=a0_0x20a785,_0x467a1c={'wKCYd':'Error','fJMGz':'CRITICAL','mvHXL':function(_0x155e2e,_0x473f3f,_0x21bb70){return _0x155e2e(_0x473f3f,_0x21bb70);},'lcXtH':_0x327ce9(0x1c8)},_0x49d727={'event':_0x81f923,'errorName':_0xe7a677?.[_0x327ce9(0x226)]||_0x467a1c[_0x327ce9(0x1fe)],'errorMessage':_0xe7a677?.['message']||String(_0xe7a677),'errorCode':_0xe7a677?.['code']||null,'stack':_0xe7a677?.['stack'],'severity':_0x467a1c[_0x327ce9(0x1c1)],'processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x327ce9(0x207)]()},_0x4333a0='['+_0x81f923[_0x327ce9(0x197)]()+']\x20'+(_0xe7a677?.[_0x327ce9(0x220)]||_0xe7a677);logger['fatal'](_0x49d727,_0x4333a0),_0x467a1c['mvHXL'](writeToFileLog,{..._0x49d727,'level':_0x327ce9(0x1bc),'msg':_0x4333a0,'time':new Date()[_0x327ce9(0x1ec)]()},_0x467a1c['lcXtH']);},setupGlobalErrorHandlers=()=>{const _0xe138f3=a0_0x20a785,_0x4b442b={'GKdTI':function(_0x8fb329,_0x2c445e,_0x23fd64){return _0x8fb329(_0x2c445e,_0x23fd64);},'sJCVR':'uncaughtException','fOnoB':function(_0x128b48,_0x87ebc2){return _0x128b48 instanceof _0x87ebc2;},'epNBP':function(_0x52e057,_0x133e01){return _0x52e057(_0x133e01);},'JDnzV':'process_warning','yQwzo':'warning','gIZBm':'Global\x20error\x20handlers\x20initialized','zZKfD':'info'};process['on'](_0x4b442b['sJCVR'],_0x4b27e3=>{const _0x11c22c=a0_0x58e3;_0x4b442b[_0x11c22c(0x21f)](logUncaughtError,_0x4b442b[_0x11c22c(0x20b)],_0x4b27e3),setTimeout(()=>{const _0x3136f9=_0x11c22c;process[_0x3136f9(0x21d)](0x1);},0x3e8);}),process['on'](_0xe138f3(0x1b6),(_0x139fc5,_0x4d4628)=>{const _0x37bcfa=_0xe138f3,_0x57ecc9=_0x4b442b['fOnoB'](_0x139fc5,Error)?_0x139fc5:new Error(_0x4b442b[_0x37bcfa(0x1d4)](String,_0x139fc5));logUncaughtError('unhandledRejection',_0x57ecc9);}),process['on'](_0x4b442b[_0xe138f3(0x189)],_0x6fd6cd=>{const _0x246c48=_0xe138f3;logger['warn']({'event':_0x4b442b[_0x246c48(0x20f)],'name':_0x6fd6cd[_0x246c48(0x226)],'message':_0x6fd6cd[_0x246c48(0x220)],'stack':_0x6fd6cd['stack']},_0x246c48(0x1ef)+_0x6fd6cd[_0x246c48(0x220)]);});const _0x37021e={'event':'global_error_handlers_setup'},_0x4f3d12=_0x4b442b[_0xe138f3(0x217)];logger[_0xe138f3(0x1f9)](_0x37021e,_0x4f3d12),_0x4b442b[_0xe138f3(0x21f)](writeToFileLog,{..._0x37021e,'level':_0x4b442b[_0xe138f3(0x196)],'msg':_0x4f3d12,'time':new Date()['toISOString']()},_0x4b442b['zZKfD']);},createErrorHandlerMiddleware=()=>{const _0x30d163={'qqfNw':function(_0x2abef6,_0x4671ac,_0x1af014){return _0x2abef6(_0x4671ac,_0x1af014);},'zsJlE':function(_0x2927b1,_0x38f91f){return _0x2927b1>=_0x38f91f;}};return(_0x5e03c4,_0x2f55d6,_0x25a4b4,_0x5e341a)=>{const _0x5e42d2=a0_0x58e3;_0x30d163['qqfNw'](logHttpError,_0x5e03c4,_0x2f55d6);const _0x2f4a65=_0x5e03c4['statusCode']||_0x5e03c4['status']||0x1f4;_0x25a4b4['status'](_0x2f4a65)['json']({'success':![],'error':_0x30d163['zsJlE'](_0x2f4a65,0x1f4)?'Internal\x20server\x20error':_0x5e03c4['message'],'requestId':_0x2f55d6['id']||_0x2f55d6[_0x5e42d2(0x1ae)]?.['x-request-id']||null});};};module[a0_0x20a785(0x1e7)]={'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_0xf40d0c=a0_0x3a05;function a0_0x4528(){const _0x5afa92=['mJG5nM52s1DtCG','nJy0nJzQzuTSs00','Bg9HzfbHEwXVywq','CMvHzezPBgu','AgfZ','mJbdC2XWwLm','nJGXs3DHuKnU','v1resvy','mtjWs0v0txi','mJHYvhDwvwK','ywn0Aw9U','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','nZm4ywj3zg5A','lI9SB2DNzxi','zxjYB3i','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','lwv4Cg9YDa','rMfPBgvKihrVigXVywqGCgf5Bg9Hza','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','Cgf5Bg9HzerPCG','mte3odq1nevTr213yW','zMLLBgroyw1L','zgvIDwC','ndu2mJq3mgHMvu9ywG','CMvWBgfJzq','Axnby3rPB25fBMfIBgvK','Cgf5Bg9Hzf9JywnOzv9JBgvHCMvK','nJi1nJCZnuvSufHpta','zKnXyM0','DxrMoa','mZiXmdiWodfvve10Agy','mtGWmJrlBvb0wge','AM9PBG','BwvZC2fNzq','uNbxuha','Cgf5Bg9HzdO','zgf0yxrHyMXLC1f1zxj5','z2v0','ChjVBwLZzxm','lI4VlI4VCgf5Bg9Hza','zMLLBgrmywjLBhm','CgfYC2u','z2v0rxHWB3j0q29UzMLN','ugf5Bg9HzcbUB3qGzM91BMq6ia','DgfIBgvoyw1L','y2fJAgu'];a0_0x4528=function(){return _0x5afa92;};return a0_0x4528();}function a0_0x3a05(_0x229fed,_0x14c2a4){_0x229fed=_0x229fed-0x1f2;const _0x45282c=a0_0x4528();let _0x3a05f1=_0x45282c[_0x229fed];if(a0_0x3a05['iOloeh']===undefined){var _0x98aa09=function(_0x3a7495){const _0x152677='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4cba1e='',_0x3d1cdc='';for(let _0x5f3db0=0x0,_0x2f645f,_0x19d8d4,_0x2b9d6a=0x0;_0x19d8d4=_0x3a7495['charAt'](_0x2b9d6a++);~_0x19d8d4&&(_0x2f645f=_0x5f3db0%0x4?_0x2f645f*0x40+_0x19d8d4:_0x19d8d4,_0x5f3db0++%0x4)?_0x4cba1e+=String['fromCharCode'](0xff&_0x2f645f>>(-0x2*_0x5f3db0&0x6)):0x0){_0x19d8d4=_0x152677['indexOf'](_0x19d8d4);}for(let _0x571363=0x0,_0x2eb2da=_0x4cba1e['length'];_0x571363<_0x2eb2da;_0x571363++){_0x3d1cdc+='%'+('00'+_0x4cba1e['charCodeAt'](_0x571363)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3d1cdc);};a0_0x3a05['FyqjTI']=_0x98aa09,a0_0x3a05['RMpyVQ']={},a0_0x3a05['iOloeh']=!![];}const _0x40e258=_0x45282c[0x0],_0x2fde81=_0x229fed+_0x40e258,_0x2a5941=a0_0x3a05['RMpyVQ'][_0x2fde81];return!_0x2a5941?(_0x3a05f1=a0_0x3a05['FyqjTI'](_0x3a05f1),a0_0x3a05['RMpyVQ'][_0x2fde81]=_0x3a05f1):_0x3a05f1=_0x2a5941,_0x3a05f1;}(function(_0x5ae9a0,_0x4e5f1f){const _0x123671=a0_0x3a05,_0x3dc674=_0x5ae9a0();while(!![]){try{const _0x5dd7a1=-parseInt(_0x123671(0x200))/0x1*(parseInt(_0x123671(0x204))/0x2)+-parseInt(_0x123671(0x205))/0x3*(-parseInt(_0x123671(0x1ff))/0x4)+-parseInt(_0x123671(0x21a))/0x5+-parseInt(_0x123671(0x213))/0x6*(parseInt(_0x123671(0x208))/0x7)+-parseInt(_0x123671(0x21e))/0x8*(parseInt(_0x123671(0x20b))/0x9)+parseInt(_0x123671(0x216))/0xa+-parseInt(_0x123671(0x21d))/0xb*(-parseInt(_0x123671(0x207))/0xc);if(_0x5dd7a1===_0x4e5f1f)break;else _0x3dc674['push'](_0x3dc674['shift']());}catch(_0x446741){_0x3dc674['push'](_0x3dc674['shift']());}}}(a0_0x4528,0x9f521));const fs=require('fs')[a0_0xf40d0c(0x1f7)],path=require('path'),{logger}=require(a0_0xf40d0c(0x20c));class PayloadLoader{constructor(){const _0x130b56=a0_0xf40d0c;this['payloadDir']=path['join'](__dirname,_0x130b56(0x1f8)),this['cache']=new Map();}async[a0_0xf40d0c(0x201)](_0x515a8e,_0x1d83f6){const _0x27ed86=a0_0xf40d0c,_0x12049e={'fCqbm':'payload_loaded','RpWPp':_0x27ed86(0x20a)},_0x130549=_0x515a8e+':'+_0x1d83f6;if(this[_0x27ed86(0x1fe)]['has'](_0x130549))return this[_0x27ed86(0x1fe)][_0x27ed86(0x1f6)](_0x130549);const _0x5a638e=path[_0x27ed86(0x21f)](this['payloadDir'],_0x515a8e+'_'+_0x1d83f6+'.json');try{const _0x3b2733=await fs['readFile'](_0x5a638e,'utf8'),_0x218369=JSON['parse'](_0x3b2733);return this['cache']['set'](_0x130549,_0x218369),logger[_0x27ed86(0x215)]({'event':_0x12049e[_0x27ed86(0x21b)],'project':_0x515a8e,'resource':_0x1d83f6},_0x12049e[_0x27ed86(0x1f3)]),_0x218369;}catch(_0x405f4c){logger[_0x27ed86(0x20d)]({'event':_0x27ed86(0x211),'project':_0x515a8e,'resource':_0x1d83f6,'error':_0x405f4c['message']},_0x27ed86(0x210));throw new Error(_0x27ed86(0x1fc)+_0x515a8e+'_'+_0x1d83f6);}}async['loadPayloadByName'](_0x5b4fb5){const _0x1aeb2a=a0_0xf40d0c,_0x19dfa0={'hugBZ':_0x1aeb2a(0x21c),'ISxSx':'payload_loaded','PEHew':_0x1aeb2a(0x20e),'bpUZI':_0x1aeb2a(0x211),'WTDIV':'Failed\x20to\x20load\x20payload\x20by\x20name'},_0x52235e=_0x1aeb2a(0x1f4)+_0x5b4fb5;if(this['cache'][_0x1aeb2a(0x203)](_0x52235e))return this[_0x1aeb2a(0x1fe)][_0x1aeb2a(0x1f6)](_0x52235e);const _0x34fe56=path['join'](this[_0x1aeb2a(0x212)],_0x5b4fb5+'.json');try{const _0x4ed948=await fs[_0x1aeb2a(0x202)](_0x34fe56,_0x19dfa0['hugBZ']),_0x13efe3=JSON[_0x1aeb2a(0x1fa)](_0x4ed948);return this['cache']['set'](_0x52235e,_0x13efe3),logger['debug']({'event':_0x19dfa0['ISxSx'],'payloadName':_0x5b4fb5},_0x19dfa0['PEHew']),_0x13efe3;}catch(_0x24f45d){logger[_0x1aeb2a(0x20d)]({'event':_0x19dfa0['bpUZI'],'payloadName':_0x5b4fb5,'error':_0x24f45d[_0x1aeb2a(0x1f2)]},_0x19dfa0[_0x1aeb2a(0x206)]);throw new Error(_0x1aeb2a(0x1fc)+_0x5b4fb5);}}[a0_0xf40d0c(0x218)](_0x2d2756,_0x417dc8){const _0x1a227c=a0_0xf40d0c;return _0x2d2756[_0x1a227c(0x209)]&&_0x2d2756[_0x1a227c(0x209)][_0x417dc8]===!![];}[a0_0xf40d0c(0x1fb)](_0x391746){const _0xb89eb6=a0_0xf40d0c;return{'columns':_0x391746[_0xb89eb6(0x214)]||[],'filename':_0x391746[_0xb89eb6(0x1fd)][_0xb89eb6(0x217)]('.','-')+_0xb89eb6(0x20f),'datatablesQuery':_0x391746[_0xb89eb6(0x1f5)]||null,'columnFormats':_0x391746['columnFormats']||null,'fieldLabels':_0x391746[_0xb89eb6(0x1f9)]||null};}['clearCache'](){const _0x32cce8=a0_0xf40d0c;this['cache']['clear'](),logger['info']({'event':_0x32cce8(0x219)},'Payload\x20cache\x20cleared');}}module['exports']=new PayloadLoader();
|