@restforgejs/platform 5.3.6 → 5.3.9
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/cli/designer.js +1 -1
- package/generators/cli/fast-track.js +272 -53
- package/generators/cli/init.js +37 -3
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/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
|
-
const
|
|
1
|
+
const a0_0x4ddfec=a0_0x2881;function a0_0x2881(_0x3aadd6,_0x269f91){_0x3aadd6=_0x3aadd6-0x11d;const _0x3f333b=a0_0x3f33();let _0x288149=_0x3f333b[_0x3aadd6];if(a0_0x2881['tnzdsC']===undefined){var _0x43dc53=function(_0x22f5b0){const _0x5e7824='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x33e316='',_0x597a88='';for(let _0x5e989a=0x0,_0x4b197a,_0x1dc1d7,_0x127268=0x0;_0x1dc1d7=_0x22f5b0['charAt'](_0x127268++);~_0x1dc1d7&&(_0x4b197a=_0x5e989a%0x4?_0x4b197a*0x40+_0x1dc1d7:_0x1dc1d7,_0x5e989a++%0x4)?_0x33e316+=String['fromCharCode'](0xff&_0x4b197a>>(-0x2*_0x5e989a&0x6)):0x0){_0x1dc1d7=_0x5e7824['indexOf'](_0x1dc1d7);}for(let _0x41026e=0x0,_0x4faf88=_0x33e316['length'];_0x41026e<_0x4faf88;_0x41026e++){_0x597a88+='%'+('00'+_0x33e316['charCodeAt'](_0x41026e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x597a88);};a0_0x2881['qrNcSN']=_0x43dc53,a0_0x2881['UkIWAZ']={},a0_0x2881['tnzdsC']=!![];}const _0x4d2edf=_0x3f333b[0x0],_0x2c017b=_0x3aadd6+_0x4d2edf,_0x5d9bd6=a0_0x2881['UkIWAZ'][_0x2c017b];return!_0x5d9bd6?(_0x288149=a0_0x2881['qrNcSN'](_0x288149),a0_0x2881['UkIWAZ'][_0x2c017b]=_0x288149):_0x288149=_0x5d9bd6,_0x288149;}(function(_0x1b9c9a,_0x995095){const _0x28ceae=a0_0x2881,_0xb2e22=_0x1b9c9a();while(!![]){try{const _0x13be77=-parseInt(_0x28ceae(0x139))/0x1+-parseInt(_0x28ceae(0x133))/0x2*(parseInt(_0x28ceae(0x13a))/0x3)+parseInt(_0x28ceae(0x126))/0x4+-parseInt(_0x28ceae(0x122))/0x5*(-parseInt(_0x28ceae(0x130))/0x6)+parseInt(_0x28ceae(0x13b))/0x7*(-parseInt(_0x28ceae(0x12c))/0x8)+-parseInt(_0x28ceae(0x127))/0x9+parseInt(_0x28ceae(0x135))/0xa*(parseInt(_0x28ceae(0x137))/0xb);if(_0x13be77===_0x995095)break;else _0xb2e22['push'](_0xb2e22['shift']());}catch(_0x5eb943){_0xb2e22['push'](_0xb2e22['shift']());}}}(a0_0x3f33,0x34ac3));class DateTimeFormatter{static['format'](_0x3488ca,_0x19c800,_0x30e880){const _0x48ecf2=a0_0x2881,_0x5092e2={'TRUdo':_0x48ecf2(0x138),'BSyEO':function(_0xea6c34,_0x42d5bb){return _0xea6c34===_0x42d5bb;},'zdzfl':'time'};if(!_0x3488ca)return null;try{if(_0x30e880==='date')return this[_0x48ecf2(0x12e)](_0x3488ca,_0x19c800);else{if(_0x30e880===_0x5092e2['TRUdo'])return this['formatTimestamp'](_0x3488ca,_0x19c800);else{if(_0x5092e2[_0x48ecf2(0x123)](_0x30e880,_0x5092e2['zdzfl']))return this['formatTime'](_0x3488ca,_0x19c800);}}return _0x3488ca;}catch(_0x381ffe){return console['error']('Error\x20formatting\x20datetime:\x20'+_0x381ffe['message']),_0x3488ca;}}static['formatDate'](_0x441054,_0x28a510){const _0xb70383=a0_0x2881,_0x588d8f={'SnuzK':function(_0x3cdf93,_0x332a78){return _0x3cdf93(_0x332a78);},'IpSlS':function(_0x78b03d,_0x19d7d6){return _0x78b03d(_0x19d7d6);},'wXWCT':function(_0x3f6782,_0xa7ea24){return _0x3f6782+_0xa7ea24;}},_0x5e2407=new Date(_0x441054);if(_0x588d8f[_0xb70383(0x125)](isNaN,_0x5e2407['getTime']()))return console[_0xb70383(0x128)](_0xb70383(0x12f)+_0x441054),_0x441054;const _0x4f37a8=_0x588d8f[_0xb70383(0x134)](String,_0x5e2407[_0xb70383(0x129)]())['padStart'](0x2,'0'),_0x4eb50a=_0x588d8f['SnuzK'](String,_0x588d8f[_0xb70383(0x132)](_0x5e2407[_0xb70383(0x131)](),0x1))[_0xb70383(0x12a)](0x2,'0'),_0x588360=_0x5e2407['getFullYear'](),_0x45fca2={'dd/MM/yyyy':_0x4f37a8+'/'+_0x4eb50a+'/'+_0x588360,'dd-MM-yyyy':_0x4f37a8+'-'+_0x4eb50a+'-'+_0x588360,'MM/dd/yyyy':_0x4eb50a+'/'+_0x4f37a8+'/'+_0x588360,'yyyy/MM/dd':_0x588360+'/'+_0x4eb50a+'/'+_0x4f37a8,'yyyy-MM-dd':_0x588360+'-'+_0x4eb50a+'-'+_0x4f37a8};return _0x45fca2[_0x28a510]||_0x588360+'-'+_0x4eb50a+'-'+_0x4f37a8;}static['formatTimestamp'](_0x28654d,_0x22d127){const _0x5a5ff9=a0_0x2881,_0x5d45a1={'rmEbi':function(_0x2df795,_0x680978){return _0x2df795(_0x680978);},'TKjBO':function(_0x4b6ff2,_0x4dc7d2){return _0x4b6ff2(_0x4dc7d2);},'ehgOR':function(_0x5f1912,_0x4f52a8){return _0x5f1912+_0x4f52a8;},'yMeUn':function(_0x5597cb,_0x3c1527){return _0x5597cb(_0x3c1527);}},_0x29ec89=new Date(_0x28654d);if(_0x5d45a1['rmEbi'](isNaN,_0x29ec89[_0x5a5ff9(0x12d)]()))return console['warn'](_0x5a5ff9(0x11f)+_0x28654d),_0x28654d;const _0x4c4425=_0x5d45a1[_0x5a5ff9(0x12b)](String,_0x29ec89['getDate']())[_0x5a5ff9(0x12a)](0x2,'0'),_0x4dbba2=String(_0x5d45a1['ehgOR'](_0x29ec89['getMonth'](),0x1))[_0x5a5ff9(0x12a)](0x2,'0'),_0x27f885=_0x29ec89['getFullYear'](),_0x31dbd4=_0x5d45a1['yMeUn'](String,_0x29ec89[_0x5a5ff9(0x121)]())['padStart'](0x2,'0'),_0x3f4b96=String(_0x29ec89[_0x5a5ff9(0x11d)]())['padStart'](0x2,'0'),_0x38f54a=_0x5d45a1[_0x5a5ff9(0x12b)](String,_0x29ec89['getSeconds']())[_0x5a5ff9(0x12a)](0x2,'0'),_0x378588=_0x22d127['split']('\x20');if(_0x378588['length']!==0x2)return _0x27f885+'-'+_0x4dbba2+'-'+_0x4c4425+'\x20'+_0x31dbd4+':'+_0x3f4b96+':'+_0x38f54a;const _0x1369ac=_0x378588[0x0],_0x310d3d=_0x378588[0x1],_0x46d119={'dd/MM/yyyy':_0x4c4425+'/'+_0x4dbba2+'/'+_0x27f885,'dd-MM-yyyy':_0x4c4425+'-'+_0x4dbba2+'-'+_0x27f885,'MM/dd/yyyy':_0x4dbba2+'/'+_0x4c4425+'/'+_0x27f885,'yyyy/MM/dd':_0x27f885+'/'+_0x4dbba2+'/'+_0x4c4425,'yyyy-MM-dd':_0x27f885+'-'+_0x4dbba2+'-'+_0x4c4425},_0x2ddb4e={'HH:mm':_0x31dbd4+':'+_0x3f4b96,'HH:mm:ss':_0x31dbd4+':'+_0x3f4b96+':'+_0x38f54a,'hh:mm':_0x31dbd4+':'+_0x3f4b96},_0x20e641=_0x46d119[_0x1369ac]||_0x27f885+'-'+_0x4dbba2+'-'+_0x4c4425,_0x266b13=_0x2ddb4e[_0x310d3d]||_0x31dbd4+':'+_0x3f4b96+':'+_0x38f54a;return _0x20e641+'\x20'+_0x266b13;}static['formatTime'](_0x4090d1,_0x4d6f5a){const _0x30f5fa=a0_0x2881,_0x11eab9={'wAVYi':function(_0x286d10,_0x5b8e66){return _0x286d10!==_0x5b8e66;}};if(_0x11eab9[_0x30f5fa(0x13c)](typeof _0x4090d1,'string'))return _0x4090d1;const _0xdaa1c9=_0x4090d1[_0x30f5fa(0x120)](':');if(_0xdaa1c9[_0x30f5fa(0x124)]<0x2)return console['warn'](_0x30f5fa(0x11e)+_0x4090d1),_0x4090d1;const _0x4f70db=_0xdaa1c9[0x0]['padStart'](0x2,'0'),_0x43a318=_0xdaa1c9[0x1]['padStart'](0x2,'0'),_0x272346=_0xdaa1c9[0x2]?_0xdaa1c9[0x2]['split']('.')[0x0]['padStart'](0x2,'0'):'00',_0xd0d354={'HH:mm':_0x4f70db+':'+_0x43a318,'HH:mm:ss':_0x4f70db+':'+_0x43a318+':'+_0x272346,'hh:mm':_0x4f70db+':'+_0x43a318};return _0xd0d354[_0x4d6f5a]||_0x4f70db+':'+_0x43a318+':'+_0x272346;}}module[a0_0x4ddfec(0x136)]=DateTimeFormatter;function a0_0x3f33(){const _0x2614ab=['BgvUz3rO','u251EKS','mta1mJqWs3HLA1rX','mZmYmJi4n3DgzMzhuW','D2fYBG','z2v0rgf0zq','CgfKu3rHCNq','veTQqK8','mtzAtKnJqvC','z2v0vgLTzq','zM9YBwf0rgf0zq','sw52ywXPzcbKyxrLihzHBhvLoIa','nJiXntrbse96wu0','z2v0tw9UDgG','D1Hxq1q','mK1qseLgAq','sxbtBfm','otCYodC1mfvvtMX2tq','zxHWB3j0CW','mtfNsNP0v0G','DgLTzxn0yw1W','mJu3ntC2zLbOsvPw','mty3ndqYrxbbD09Z','nJC5ndC2v0fHvLrR','D0fwwwK','z2v0twLUDxrLCW','sw52ywXPzcb0Aw1LihzHBhvLoIa','sw52ywXPzcb0Aw1LC3rHBxaGDMfSDwu6ia','C3bSAxq','z2v0sg91CNm','ndv1ze14yxm','qLn5ru8'];a0_0x3f33=function(){return _0x2614ab;};return a0_0x3f33();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_0x32aaf2=a0_0x5320;function a0_0x5320(_0x2f3c4c,_0x1fc791){_0x2f3c4c=_0x2f3c4c-0x9c;const _0x4e972c=a0_0x4e97();let _0x53203d=_0x4e972c[_0x2f3c4c];if(a0_0x5320['gtxHMd']===undefined){var _0x6aa3d6=function(_0xb1f083){const _0xb1ff75='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x772981='',_0xe8b2cc='';for(let _0x5347d2=0x0,_0x32e965,_0x143a87,_0x3cf3be=0x0;_0x143a87=_0xb1f083['charAt'](_0x3cf3be++);~_0x143a87&&(_0x32e965=_0x5347d2%0x4?_0x32e965*0x40+_0x143a87:_0x143a87,_0x5347d2++%0x4)?_0x772981+=String['fromCharCode'](0xff&_0x32e965>>(-0x2*_0x5347d2&0x6)):0x0){_0x143a87=_0xb1ff75['indexOf'](_0x143a87);}for(let _0x419300=0x0,_0x3f57df=_0x772981['length'];_0x419300<_0x3f57df;_0x419300++){_0xe8b2cc+='%'+('00'+_0x772981['charCodeAt'](_0x419300)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xe8b2cc);};a0_0x5320['BFoYRA']=_0x6aa3d6,a0_0x5320['ChQapB']={},a0_0x5320['gtxHMd']=!![];}const _0x32e617=_0x4e972c[0x0],_0x14f28a=_0x2f3c4c+_0x32e617,_0x4704ca=a0_0x5320['ChQapB'][_0x14f28a];return!_0x4704ca?(_0x53203d=a0_0x5320['BFoYRA'](_0x53203d),a0_0x5320['ChQapB'][_0x14f28a]=_0x53203d):_0x53203d=_0x4704ca,_0x53203d;}function a0_0x4e97(){const _0xeaea53=['DgLTzxn0yw1W','EwvHCG','q1znwM8','rgzhveO','odaXmdu1B3bhyurV','rgf0zsb2ywX1zsaI','vMDkywy','ExL5Es1nts1Kza','B3jKzxi','CgfYC2vuAw1L','Bw9UDgG','zxjYB3i','C2rmEuu','uMfRBum','otC1nZq0uLrlyMr4','C3bSAxq','CgfYC2veyxrL','CgfYC2vuAw1LC3rHBxa','ndjZDMnkyuW','odK0mdG0Bxj6qMnd','rfDcANe','seG6Bw06C3m','qufODxK','otm2nZiYq0HNyKXO','CgfYC2u','mJeXote3merJD0XIsq','ywPlBeG','mJqZEffdALnn','Cgf0DgvYBG','zgf5','mtyZndq4wxvmCML0','D2fYBG','mtq4mJuXnujxzK15EG','oJaW','BwvZC2fNzq','AKvcCey','Bwf0y2G','seG6Bw0','rxjYB3iGCgfYC2LUzYbKyxrLDgLTztOG'];a0_0x4e97=function(){return _0xeaea53;};return a0_0x4e97();}(function(_0x233159,_0x22276a){const _0x37335b=a0_0x5320,_0x3e34fd=_0x233159();while(!![]){try{const _0x3cc73a=parseInt(_0x37335b(0xbb))/0x1+parseInt(_0x37335b(0xa7))/0x2+parseInt(_0x37335b(0xa9))/0x3+-parseInt(_0x37335b(0x9e))/0x4+parseInt(_0x37335b(0xb0))/0x5+-parseInt(_0x37335b(0xa3))/0x6*(parseInt(_0x37335b(0xa2))/0x7)+-parseInt(_0x37335b(0xae))/0x8*(parseInt(_0x37335b(0xab))/0x9);if(_0x3cc73a===_0x22276a)break;else _0x3e34fd['push'](_0x3e34fd['shift']());}catch(_0x291193){_0x3e34fd['push'](_0x3e34fd['shift']());}}}(a0_0x4e97,0x8e3fc));class DateTimeParser{static[a0_0x32aaf2(0xa8)](_0x1a618d,_0x3cfe4d,_0x2f7752){const _0x2bd447=a0_0x32aaf2,_0x2d6685={'VgJaf':function(_0x1fc916,_0x2c551d){return _0x1fc916===_0x2c551d;},'DWBjq':function(_0x1a4ead,_0x110358){return _0x1a4ead===_0x110358;},'CVMZo':'date'};if(!_0x1a618d||_0x2d6685[_0x2bd447(0xbd)](_0x1a618d,''))return null;try{if(_0x2d6685[_0x2bd447(0xa4)](_0x2f7752,_0x2d6685[_0x2bd447(0xb9)]))return this[_0x2bd447(0xa0)](_0x1a618d,_0x3cfe4d);else{if(_0x2f7752===_0x2bd447(0xb7))return this[_0x2bd447(0xa1)](_0x1a618d,_0x3cfe4d);else{if(_0x2f7752==='time')return this['parseTime'](_0x1a618d,_0x3cfe4d);}}return _0x1a618d;}catch(_0x228f24){return console[_0x2bd447(0xc2)](_0x2bd447(0xb6)+_0x228f24[_0x2bd447(0xb2)]),null;}}static['parseDate'](_0x5ab34f,_0x3b58cc){const _0xcb22f3=a0_0x32aaf2,_0x48f028={'jyync':_0xcb22f3(0xbe),'jEBpF':'day','DfGTJ':_0xcb22f3(0xc1),'AAhuy':_0xcb22f3(0xb8)};if(!_0x3b58cc||_0x3b58cc===_0x48f028['jyync'])return _0x5ab34f;const _0x387918={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x48f028[_0xcb22f3(0xb3)],_0x48f028[_0xcb22f3(0xba)],_0xcb22f3(0xb8)]},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':[_0x48f028[_0xcb22f3(0xb3)],_0x48f028['DfGTJ'],_0x48f028[_0xcb22f3(0xa6)]]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x48f028[_0xcb22f3(0xba)],_0x48f028[_0xcb22f3(0xb3)],_0x48f028['AAhuy']]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':[_0x48f028[_0xcb22f3(0xa6)],_0x48f028['DfGTJ'],'day']}},_0x5a05a0=_0x387918[_0x3b58cc];if(!_0x5a05a0)return console[_0xcb22f3(0xaf)]('Unknown\x20date\x20format:\x20'+_0x3b58cc+',\x20returning\x20null'),null;const _0x1d6ead=_0x5ab34f['match'](_0x5a05a0[_0xcb22f3(0xac)]);if(!_0x1d6ead)return console['warn'](_0xcb22f3(0xbc)+_0x5ab34f+'\x22\x20doesn\x27t\x20match\x20format\x20\x22'+_0x3b58cc+'\x22'),null;const _0x51809f={'day':null,'month':null,'year':null};return _0x5a05a0[_0xcb22f3(0xbf)]['forEach']((_0xc48661,_0x2ab662)=>{_0x51809f[_0xc48661]=_0x1d6ead[_0x2ab662+0x1];}),_0x51809f[_0xcb22f3(0xb8)]+'-'+_0x51809f[_0xcb22f3(0xc1)]+'-'+_0x51809f[_0xcb22f3(0xad)];}static['parseTimestamp'](_0x4bccbd,_0x10268e){const _0x4fe609=a0_0x32aaf2,_0x4ab1c3={'sdLyE':function(_0x16b09a,_0x59a628){return _0x16b09a===_0x59a628;},'ajKlH':'yyyy-MM-dd\x20HH:mm:ss','aoLdJ':function(_0x262f9e,_0x488b8a){return _0x262f9e!==_0x488b8a;}};if(!_0x10268e||_0x4ab1c3[_0x4fe609(0x9c)](_0x10268e,_0x4ab1c3[_0x4fe609(0xaa)]))return _0x4bccbd;const _0x362719=_0x4bccbd[_0x4fe609(0x9f)]('\x20');if(_0x4ab1c3['aoLdJ'](_0x362719['length'],0x2))return console[_0x4fe609(0xaf)]('Invalid\x20timestamp\x20format:\x20'+_0x4bccbd),null;const [_0x38a652,_0x391ac2]=_0x362719,_0x721285=_0x10268e['split']('\x20')[0x0],_0x5cb4a2=this['parseDate'](_0x38a652,_0x721285);if(!_0x5cb4a2)return null;const _0x298626=_0x391ac2[_0x4fe609(0x9f)](':')['length']===0x2?_0x391ac2+_0x4fe609(0xb1):_0x391ac2;return _0x5cb4a2+'\x20'+_0x298626;}static[a0_0x32aaf2(0xc0)](_0x3b07ae,_0x3fd0c8){const _0x3ca302=a0_0x32aaf2,_0x3687c3={'yXcNc':function(_0x30046d,_0x4dfd0d){return _0x30046d===_0x4dfd0d;},'ZVvYY':_0x3ca302(0xa5),'RakmC':_0x3ca302(0xb5)};if(!_0x3fd0c8||_0x3687c3['yXcNc'](_0x3fd0c8,_0x3687c3['ZVvYY']))return _0x3b07ae;if(_0x3fd0c8===_0x3687c3[_0x3ca302(0x9d)]){if(_0x3b07ae[_0x3ca302(0xb4)](/^\d{2}:\d{2}$/))return _0x3b07ae+_0x3ca302(0xb1);}return _0x3b07ae;}}module['exports']=DateTimeParser;
|
package/src/core/utils/db.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x421d59=a0_0x73f4;(function(_0x40029d,_0xc8ee18){const _0x3ab6a8=a0_0x73f4,_0x355a7b=_0x40029d();while(!![]){try{const _0xf31e21=parseInt(_0x3ab6a8(0x19f))/0x1*(-parseInt(_0x3ab6a8(0x1a3))/0x2)+-parseInt(_0x3ab6a8(0x1b8))/0x3+parseInt(_0x3ab6a8(0x1a9))/0x4+parseInt(_0x3ab6a8(0x19c))/0x5*(parseInt(_0x3ab6a8(0x1c4))/0x6)+parseInt(_0x3ab6a8(0x1bc))/0x7+-parseInt(_0x3ab6a8(0x187))/0x8*(-parseInt(_0x3ab6a8(0x19d))/0x9)+-parseInt(_0x3ab6a8(0x194))/0xa;if(_0xf31e21===_0xc8ee18)break;else _0x355a7b['push'](_0x355a7b['shift']());}catch(_0x4dc1bc){_0x355a7b['push'](_0x355a7b['shift']());}}}(a0_0x445a,0xda182));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger'),dbConfig={'host':process['env']['DB_HOST']||a0_0x421d59(0x1a8),'port':parseInt(process[a0_0x421d59(0x195)][a0_0x421d59(0x1ac)]||a0_0x421d59(0x1b9)),'user':process['env']['DB_USER']||'postgres','password':process['env'][a0_0x421d59(0x1be)]||a0_0x421d59(0x18d),'database':process['env'][a0_0x421d59(0x1a4)]||'dbxa03'};function a0_0x445a(){const _0x3223c5=['mteXmdGXmdrwuefzD20','y2XPzw50x3jLBgvHC2vFzxjYB3i','rejFueftu1DpuKq','Cg9ZDgDYzxnXBa','y3fozue','zgjFCg9VBf9JBg9Zzwq','BgvUz3rO','uK9mtejbq0S','ntC4nevyuuz1BW','u1fmievYCM9YoIa','zgjFCg9VBf9HBhjLywr5x2nSB3nLza','C3fS','Ag9ZDa','mdGWmde','u0vmrunuide','Ehnby3K','CMvSzwfZzq','uLjAEw4','ChvZAa','CxvLCNK','u3nIB3e','q0fVt0q','C3vIC3rYAw5N','BxmSia','uxvLCNKGCMv0DxjUzwqG','mtzHEgzuBxy','D25lq08','tvnWBg8','y29TBwL0','rxjYB3iGCMvSzwfZAw5NihrYyw5Zywn0Aw9UignSAwvUDdOG','y1fdrLm','Cg9ZDgDYzxmXmJm0','zxjYB3i','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','Aw5MBW','Cg9YDa','DhjHBNnHy3rPB25Fy29TCgXLDgu','CM93CW','mtq3odG0mtb0weTqBg8','zw52','zgf0ywjHC2u','u1Lovefyx0vsuK9s','sePtELG','CxrOv2e','CgfYyw1Z','ihf1zxjPzxmP','mZy0mhnQseX6Dq','nteWmJG4m2rirvLoyG','z29XwMu','mtvzCxHgsNC','zxHWB3j0CW','y29UBMvJDa','ihjVDW','mti1nZe4BfzNv0nQ','rejFtKfnrq','yvjOrKy','Dgfwqxy','C3LUDgf4igvYCM9Y','mtKYlJe2oc4XmdaUmq','ntm5ndaWogPIA0fHAG','sfzvzKi','qwHVD1q','rejFue9sva','y2LNuue','C3rHCNq','tM8Gzgf0ysbMB3vUzc4','suPSD0G','qu1MvvO','AwLHu0S','CM93q291BNq','vefctevFtK9ux0zpvu5e','mdGWmdy','EfjWy0O','BK95v2W','ndm2odmWmeHxy1nOEq','ntqZmG','BwvZC2fNzq','y29Kzq'];a0_0x445a=function(){return _0x3223c5;};return a0_0x445a();}logDatabaseConfig({'host':dbConfig[a0_0x421d59(0x1c8)],'port':dbConfig[a0_0x421d59(0x191)],'database':dbConfig[a0_0x421d59(0x196)],'type':'postgresql','user':dbConfig['user']});function a0_0x73f4(_0x4d16b2,_0x5a894b){_0x4d16b2=_0x4d16b2-0x17d;const _0x445a0b=a0_0x445a();let _0x73f43c=_0x445a0b[_0x4d16b2];if(a0_0x73f4['CIWsvH']===undefined){var _0x57d769=function(_0x33baaa){const _0x3bcff8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb8f2e2='',_0x1e18ea='';for(let _0x25c278=0x0,_0xbd04ec,_0x654aa9,_0x14631d=0x0;_0x654aa9=_0x33baaa['charAt'](_0x14631d++);~_0x654aa9&&(_0xbd04ec=_0x25c278%0x4?_0xbd04ec*0x40+_0x654aa9:_0x654aa9,_0x25c278++%0x4)?_0xb8f2e2+=String['fromCharCode'](0xff&_0xbd04ec>>(-0x2*_0x25c278&0x6)):0x0){_0x654aa9=_0x3bcff8['indexOf'](_0x654aa9);}for(let _0x2ddb7e=0x0,_0x47e5e8=_0xb8f2e2['length'];_0x2ddb7e<_0x47e5e8;_0x2ddb7e++){_0x1e18ea+='%'+('00'+_0xb8f2e2['charCodeAt'](_0x2ddb7e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e18ea);};a0_0x73f4['PUwADa']=_0x57d769,a0_0x73f4['JUOZzZ']={},a0_0x73f4['CIWsvH']=!![];}const _0x4c8967=_0x445a0b[0x0],_0x282d10=_0x4d16b2+_0x4c8967,_0x2e7b3f=a0_0x73f4['JUOZzZ'][_0x282d10];return!_0x2e7b3f?(_0x73f43c=a0_0x73f4['PUwADa'](_0x73f43c),a0_0x73f4['JUOZzZ'][_0x282d10]=_0x73f43c):_0x73f43c=_0x2e7b3f,_0x73f43c;}let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x4b81f3=a0_0x421d59,_0x4c7096={'iiaSK':'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'};return isPoolClosed&&(logger[_0x4b81f3(0x190)]({'event':'db_pool_recreate'},_0x4c7096[_0x4b81f3(0x1b2)]),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x1bc857,_0x574cc5=[]){const _0x2a7822=a0_0x421d59,_0x3a5875={'wnKCO':function(_0x14307c){return _0x14307c();},'kFTgS':'sql_error','MVuFA':'postgresql'},_0x5d63ff=startQueryTimer();try{const _0x380dd0=getPool(),_0x21065b=await _0x380dd0[_0x2a7822(0x1a1)]();try{const _0x225082=await _0x21065b['query'](_0x1bc857,_0x574cc5),_0x20ef9d=_0x3a5875['wnKCO'](_0x5d63ff);return logQuery(_0x1bc857,_0x574cc5,{'duration':_0x20ef9d,'rowsAffected':_0x225082['rowCount'],'dbType':_0x2a7822(0x1bf)}),_0x225082[_0x2a7822(0x193)];}finally{_0x21065b['release']();}}catch(_0x372e87){const _0x335b5e=_0x3a5875[_0x2a7822(0x188)](_0x5d63ff);logError(_0x372e87,{'event':_0x3a5875['kFTgS'],'query':_0x1bc857[_0x2a7822(0x184)](0x0,0x1f4),'paramCount':_0x574cc5[_0x2a7822(0x1c2)],'durationMs':_0x335b5e,'code':_0x372e87['code'],'dbType':_0x3a5875['MVuFA']},_0x2a7822(0x1c5)+_0x372e87[_0x2a7822(0x1ba)]);throw _0x372e87;}}function formatResponse(_0x4b3af3,_0x420b60=null){const _0x46f4fc=a0_0x421d59,_0x12b039={'CAoOD':'UNKNOWN_ERROR','cQCFS':function(_0x318471,_0x21a96c){return _0x318471===_0x21a96c;},'OgpaM':'42P01','cigQA':function(_0x4c5b09,_0x49819e){return _0x4c5b09===_0x49819e;},'MSplo':'AUTHENTICATION_ERROR','RRZyn':_0x46f4fc(0x1b5),'xvVNd':_0x46f4fc(0x1af)};if(_0x420b60){let _0x34a5a7=_0x12b039[_0x46f4fc(0x183)];if(_0x420b60[_0x46f4fc(0x1ba)]['includes'](_0x46f4fc(0x1a7)))_0x34a5a7=_0x46f4fc(0x197);else{if(_0x12b039[_0x46f4fc(0x18c)](_0x420b60[_0x46f4fc(0x1bb)],_0x12b039['OgpaM']))_0x34a5a7=_0x46f4fc(0x1b4);else{if(_0x12b039['cigQA'](_0x420b60[_0x46f4fc(0x1bb)],'28P01'))_0x34a5a7=_0x12b039[_0x46f4fc(0x189)];else(_0x420b60['code']===_0x12b039[_0x46f4fc(0x17f)]||_0x420b60['code']===_0x46f4fc(0x1c9))&&(_0x34a5a7='CONNECTION_ERROR');}}return{'success':![],'message':'Database\x20error:\x20'+_0x420b60['message'],'count':-0x1,'error_code':_0x34a5a7};}else{if(!_0x4b3af3||_0x4b3af3[_0x46f4fc(0x1c2)]===0x0)return{'success':!![],'message':_0x12b039['xvVNd'],'count':0x0,'data':[]};return{'success':!![],'message':_0x46f4fc(0x186)+_0x4b3af3[_0x46f4fc(0x1c2)]+_0x46f4fc(0x1a2)+(_0x12b039[_0x46f4fc(0x1ad)](_0x4b3af3[_0x46f4fc(0x1c2)],0x1)?'':'s')+'.','count':_0x4b3af3['length'],'data':_0x4b3af3};}}async function closePool(){const _0x4da431=a0_0x421d59,_0x4fae0e={'LpRuE':_0x4da431(0x1c1),'goqZe':function(_0x26e56e,_0xf6f833,_0x5913ce,_0xbeb4ae){return _0x26e56e(_0xf6f833,_0x5913ce,_0xbeb4ae);},'qsjWT':_0x4da431(0x1c6),'IJlwH':'Database\x20pool\x20was\x20already\x20closed'};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger['info']({'event':_0x4fae0e['LpRuE']},'Database\x20pool\x20closed\x20successfully');}catch(_0x526d46){_0x4fae0e[_0x4da431(0x19e)](logError,_0x526d46,{'event':'db_pool_close_error'},'Error\x20closing\x20database\x20pool:\x20'+_0x526d46[_0x4da431(0x1ba)]);}else logger['debug']({'event':_0x4fae0e['qsjWT']},_0x4fae0e[_0x4da431(0x1b0)]);}async function checkConnection(){const _0x571099=a0_0x421d59,_0x4eb391={'xsAcy':function(_0x5a924){return _0x5a924();},'cqNeA':_0x571099(0x1ca),'aRhFF':function(_0x415f10,_0x4af662,_0xa4b988,_0x144199){return _0x415f10(_0x4af662,_0xa4b988,_0x144199);},'xRpcJ':'db_connection_check_error'};try{const _0x4dc8a7=_0x4eb391[_0x571099(0x17d)](getPool),_0x3d8330=await _0x4dc8a7[_0x571099(0x1a1)]();try{return await _0x3d8330['query'](_0x4eb391[_0x571099(0x1c0)]),!![];}finally{_0x3d8330[_0x571099(0x17e)]();}}catch(_0x16dd85){return _0x4eb391[_0x571099(0x1a5)](logError,_0x16dd85,{'event':_0x4eb391[_0x571099(0x1b6)]},_0x571099(0x18f)+_0x16dd85['message']),![];}}async function executeTransaction(_0x5b460c){const _0x50919b=a0_0x421d59,_0x3b9136={'HJSzX':function(_0x4d728e){return _0x4d728e();},'nOyWl':function(_0x19c0de,_0x5514a3,_0x566c09){return _0x19c0de(_0x5514a3,_0x566c09);},'BsbJs':_0x50919b(0x1ae),'HVUfB':'BEGIN','qthWa':function(_0x5aeaf8,_0x1e22f4,_0x3c0435,_0xdba2ac){return _0x5aeaf8(_0x1e22f4,_0x3c0435,_0xdba2ac);},'AMfUZ':'postgresql','jxHeK':'COMMIT','PbCIG':function(_0x19e43e,_0x6d952b,_0x5ce209){return _0x19e43e(_0x6d952b,_0x5ce209);},'PXClc':_0x50919b(0x18a),'Ssboq':function(_0x5acbd6,_0x2c79ba,_0xfb08e1,_0x4b04b3){return _0x5acbd6(_0x2c79ba,_0xfb08e1,_0x4b04b3);},'mGXDV':'transaction_error','taVAv':'rollback','AhowT':function(_0x2ded18,_0x1fa4e2,_0x9c7899,_0xdafcf4){return _0x2ded18(_0x1fa4e2,_0x9c7899,_0xdafcf4);}};let _0x1cecea;const _0x264ea2=_0x3b9136['HJSzX'](startQueryTimer);try{const _0x48b7a5=_0x3b9136[_0x50919b(0x198)](getPool);_0x1cecea=await _0x48b7a5[_0x50919b(0x1a1)](),_0x3b9136[_0x50919b(0x1b7)](logTransaction,_0x3b9136['BsbJs'],_0x5b460c['length']),await _0x1cecea['query'](_0x3b9136[_0x50919b(0x1aa)]);const _0x3b1b0f=[];for(const _0x1be047 of _0x5b460c){const _0x418ce6=startQueryTimer(),_0x743fc5=await _0x1cecea[_0x50919b(0x181)](_0x1be047['sql'],_0x1be047[_0x50919b(0x19a)]||[]),_0x58ac3a=_0x418ce6();_0x3b9136[_0x50919b(0x199)](logQuery,_0x1be047[_0x50919b(0x1c7)],_0x1be047[_0x50919b(0x19a)]||[],{'duration':_0x58ac3a,'rowsAffected':_0x743fc5[_0x50919b(0x1b3)],'dbType':_0x3b9136[_0x50919b(0x1b1)]}),_0x3b1b0f[_0x50919b(0x180)](_0x743fc5[_0x50919b(0x193)]);}await _0x1cecea['query'](_0x3b9136['jxHeK']);const _0x1febad=_0x264ea2();return _0x3b9136['PbCIG'](logTransaction,_0x3b9136['PXClc'],_0x5b460c['length']),logger[_0x50919b(0x190)]({'event':_0x50919b(0x192),'queryCount':_0x5b460c[_0x50919b(0x1c2)],'totalDurationMs':_0x1febad,'dbType':_0x3b9136['AMfUZ']},'Transaction\x20committed\x20('+_0x1febad+_0x50919b(0x185)+_0x5b460c['length']+_0x50919b(0x19b)),_0x3b1b0f;}catch(_0x29b33f){const _0xe23adc=_0x264ea2();_0x3b9136[_0x50919b(0x182)](logError,_0x29b33f,{'event':_0x3b9136['mGXDV'],'queryCount':_0x5b460c['length'],'totalDurationMs':_0xe23adc,'code':_0x29b33f['code'],'dbType':_0x3b9136['AMfUZ']},'Transaction\x20failed:\x20'+_0x29b33f[_0x50919b(0x1ba)]);if(_0x1cecea)try{await _0x1cecea['query'](_0x50919b(0x1c3)),logTransaction(_0x3b9136[_0x50919b(0x1a6)],_0x5b460c[_0x50919b(0x1c2)]);}catch(_0x324c3e){_0x3b9136[_0x50919b(0x1ab)](logError,_0x324c3e,{'event':'rollback_error','dbType':_0x50919b(0x1bf)},'Error\x20rolling\x20back\x20transaction:\x20'+_0x324c3e[_0x50919b(0x1ba)]);}throw _0x29b33f;}finally{if(_0x1cecea)try{_0x1cecea['release']();}catch(_0x3697db){logger[_0x50919b(0x18e)]({'event':_0x50919b(0x1bd),'error':_0x3697db[_0x50919b(0x1ba)],'dbType':'postgresql'},_0x50919b(0x18b)+_0x3697db[_0x50919b(0x1ba)]);}}}module[a0_0x421d59(0x1a0)]={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
|
|
1
|
+
const a0_0x5c0186=a0_0x2828;(function(_0x307ff0,_0x50d221){const _0x2a9fd3=a0_0x2828,_0x2b6421=_0x307ff0();while(!![]){try{const _0x163194=-parseInt(_0x2a9fd3(0x1d7))/0x1*(-parseInt(_0x2a9fd3(0x1bb))/0x2)+parseInt(_0x2a9fd3(0x19a))/0x3*(-parseInt(_0x2a9fd3(0x1aa))/0x4)+-parseInt(_0x2a9fd3(0x1a1))/0x5+parseInt(_0x2a9fd3(0x19f))/0x6*(parseInt(_0x2a9fd3(0x1a9))/0x7)+-parseInt(_0x2a9fd3(0x19e))/0x8*(parseInt(_0x2a9fd3(0x1ac))/0x9)+parseInt(_0x2a9fd3(0x1b2))/0xa*(-parseInt(_0x2a9fd3(0x1d3))/0xb)+-parseInt(_0x2a9fd3(0x1d2))/0xc*(-parseInt(_0x2a9fd3(0x1bd))/0xd);if(_0x163194===_0x50d221)break;else _0x2b6421['push'](_0x2b6421['shift']());}catch(_0x1628b1){_0x2b6421['push'](_0x2b6421['shift']());}}}(a0_0x31ab,0xa66dc));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x5c0186(0x1be)),dbConfig={'host':process['env']['DB_HOST']||'192.168.100.1','port':parseInt(process[a0_0x5c0186(0x1a6)][a0_0x5c0186(0x1af)]||'5432'),'user':process[a0_0x5c0186(0x1a6)]['DB_USER']||a0_0x5c0186(0x1cd),'password':process['env']['DB_PASSWORD']||'postgres1234','database':process['env']['DB_NAME']||a0_0x5c0186(0x1b1)};logDatabaseConfig({'host':dbConfig['host'],'port':dbConfig[a0_0x5c0186(0x1b5)],'database':dbConfig[a0_0x5c0186(0x1a5)],'type':'postgresql','user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x42ae5b=a0_0x5c0186,_0x176ee4={'szkHE':'db_pool_recreate','qsrPx':_0x42ae5b(0x1b4)};return isPoolClosed&&(logger[_0x42ae5b(0x19c)]({'event':_0x176ee4['szkHE']},_0x176ee4['qsrPx']),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}function a0_0x31ab(){const _0x19f296=['zgj4ytaZ','mtbRD01uv0q','zgvIDwC','q3jLyxrPBMCGBMv3igrHDgfIyxnLihbVB2WGkhbYzxzPB3vZihbVB2WGD2fZignSB3nLzcK','Cg9YDa','y2n2Efq','t21Ltvu','BwvZC2fNzq','tvruy1C','BxmSia','mtmYoeHxDwj3tG','qw1vqMm','mtG0ndq0otfdvLzlzxG','lI9SB2DNzxi','Cg9ZDgDYzxnXBa','u1fmievYCM9YoIa','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','zgjFCg9VBf9JBg9Zzv9LCNjVCG','C3LUDgf4igvYCM9Y','tgTlyNu','CM93q291BNq','CgfYyw1Z','Befswei','CxvLCNK','zw5K','zgjFCg9VBf9HBhjLywr5x2nSB3nLza','CM93CW','q09ntuLu','Cg9ZDgDYzxm','ihf1zxjPzxmP','wKTvz0W','rLjpsfm','mdGWmde','mtj3z2rHEKe','ntmXnZy0mK1IBenevq','y29Kzq','ndjqmde','rgf0ywjHC2uGCg9VBcbJBg9ZzwqGC3vJy2vZC2z1BgX5','mZK4vejVyMn2','qvvusevoveLdqvrjt05Frvjst1i','vu5ltK9xtL9fuLjpuG','mJHqmde','nZm4mJDNzKzXCuK','tM8Gzgf0ysbMB3vUzc4','Aw5MBW','DhjHBNnHy3rPB25Fy29TCgXLDgu','mJm4ngLtsgrrwq','mZi3mtK4DNnIyLbd','BgvUz3rO','nJiZotG1rvzlqxfv','ChvZAa','A3nqwvy','vefctevFtK9ux0zpvu5e','zgf0ywjHC2u','zw52','ihjVDW','txv1Dxm','nZDgzxnyBgG','mtqWAuzgD3f4','qNjVEhK','mZK3oerHtxfJBa','y29UBMvJDa','C3fS','rejFue9sva','y1z3qwu'];a0_0x31ab=function(){return _0x19f296;};return a0_0x31ab();}async function executeQuery(_0x5cc347,_0x2a932a=[]){const _0x3ca6d0=a0_0x5c0186,_0x1167d8={'cVwAe':function(_0x43981e){return _0x43981e();},'ZKUgL':function(_0x33aaff){return _0x33aaff();},'lARXB':function(_0x1543af,_0x24b94e,_0x39c11b,_0x5c4f12){return _0x1543af(_0x24b94e,_0x39c11b,_0x5c4f12);},'egltz':'sql_error','dWgrm':_0x3ca6d0(0x1bf)},_0x6d1bf3=_0x1167d8['cVwAe'](startQueryTimer);try{const _0x77d60d=_0x1167d8[_0x3ca6d0(0x1b0)](getPool),_0x1463f1=await _0x77d60d['connect']();try{const _0x440ec9=await _0x1463f1[_0x3ca6d0(0x1c8)](_0x5cc347,_0x2a932a),_0x5e4ee7=_0x1167d8[_0x3ca6d0(0x1cf)](_0x6d1bf3);return _0x1167d8[_0x3ca6d0(0x1c7)](logQuery,_0x5cc347,_0x2a932a,{'duration':_0x5e4ee7,'rowsAffected':_0x440ec9['rowCount'],'dbType':'postgresql'}),_0x440ec9[_0x3ca6d0(0x1cb)];}finally{_0x1463f1['release']();}}catch(_0x554f0a){const _0x86ed64=_0x6d1bf3();logError(_0x554f0a,{'event':_0x1167d8['egltz'],'query':_0x5cc347['substring'](0x0,0x1f4),'paramCount':_0x2a932a['length'],'durationMs':_0x86ed64,'code':_0x554f0a['code'],'dbType':_0x1167d8['dWgrm']},_0x3ca6d0(0x1c0)+_0x554f0a['message']);throw _0x554f0a;}}function formatResponse(_0x351b2a,_0x580c75=null){const _0x117c5f=a0_0x5c0186,_0x6c7da2={'KGPzI':_0x117c5f(0x1d5),'LkKbu':_0x117c5f(0x1a4),'xudYc':function(_0x209c1e,_0x50b451){return _0x209c1e===_0x50b451;},'pOELr':_0x117c5f(0x1d8)};if(_0x580c75){let _0x1396cf=_0x117c5f(0x1d9);if(_0x580c75['message']['includes'](_0x117c5f(0x1c3)))_0x1396cf='SYNTAX_ERROR';else{if(_0x580c75['code']===_0x6c7da2['KGPzI'])_0x1396cf=_0x6c7da2[_0x117c5f(0x1c4)];else{if(_0x6c7da2['xudYc'](_0x580c75[_0x117c5f(0x1d4)],_0x117c5f(0x199)))_0x1396cf=_0x6c7da2['pOELr'];else(_0x580c75[_0x117c5f(0x1d4)]==='08006'||_0x580c75[_0x117c5f(0x1d4)]===_0x117c5f(0x1d1))&&(_0x1396cf='CONNECTION_ERROR');}}return{'success':![],'message':'Database\x20error:\x20'+_0x580c75['message'],'count':-0x1,'error_code':_0x1396cf};}else{if(!_0x351b2a||_0x351b2a[_0x117c5f(0x1a0)]===0x0)return{'success':!![],'message':_0x117c5f(0x19b),'count':0x0,'data':[]};return{'success':!![],'message':'Query\x20returned\x20'+_0x351b2a[_0x117c5f(0x1a0)]+_0x117c5f(0x1a7)+(_0x351b2a['length']===0x1?'':'s')+'.','count':_0x351b2a['length'],'data':_0x351b2a};}}async function closePool(){const _0x38a066=a0_0x5c0186,_0x3c648e={'ksPYV':function(_0xfcc36a,_0x2bc974,_0x40a124,_0x2739e1){return _0xfcc36a(_0x2bc974,_0x40a124,_0x2739e1);},'Muuus':_0x38a066(0x1c2),'ccvxT':_0x38a066(0x1ca),'SHrfY':'Database\x20pool\x20was\x20already\x20closed'};if(!isPoolClosed)try{isPoolClosed=!![],await pool[_0x38a066(0x1c9)](),logger[_0x38a066(0x19c)]({'event':'db_pool_closed'},_0x38a066(0x1d6));}catch(_0xb3de6d){_0x3c648e[_0x38a066(0x1a3)](logError,_0xb3de6d,{'event':_0x3c648e[_0x38a066(0x1a8)]},_0x38a066(0x1c1)+_0xb3de6d['message']);}else logger[_0x38a066(0x1b3)]({'event':_0x3c648e[_0x38a066(0x1b6)]},_0x3c648e['SHrfY']);}async function checkConnection(){const _0xc4c20c=a0_0x5c0186,_0x45dc44={'gahuu':function(_0x56dc0d){return _0x56dc0d();},'SzuUq':function(_0x2b7e1d,_0x4cac2d,_0x20dbab,_0xc78ba6){return _0x2b7e1d(_0x4cac2d,_0x20dbab,_0xc78ba6);}};try{const _0x26363c=_0x45dc44['gahuu'](getPool),_0x3a2e05=await _0x26363c[_0xc4c20c(0x1ad)]();try{return await _0x3a2e05['query']('SELECT\x201'),!![];}finally{_0x3a2e05['release']();}}catch(_0x3e387b){return _0x45dc44['SzuUq'](logError,_0x3e387b,{'event':'db_connection_check_error'},'Error\x20checking\x20database\x20connection:\x20'+_0x3e387b[_0xc4c20c(0x1b8)]),![];}}function a0_0x2828(_0x255929,_0x2bb722){_0x255929=_0x255929-0x199;const _0x31ab4b=a0_0x31ab();let _0x2828a7=_0x31ab4b[_0x255929];if(a0_0x2828['YOyogo']===undefined){var _0x50a349=function(_0x51ed02){const _0xf75e9f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x126864='',_0x51c106='';for(let _0x39bfc1=0x0,_0x2a8672,_0x2b3652,_0x196819=0x0;_0x2b3652=_0x51ed02['charAt'](_0x196819++);~_0x2b3652&&(_0x2a8672=_0x39bfc1%0x4?_0x2a8672*0x40+_0x2b3652:_0x2b3652,_0x39bfc1++%0x4)?_0x126864+=String['fromCharCode'](0xff&_0x2a8672>>(-0x2*_0x39bfc1&0x6)):0x0){_0x2b3652=_0xf75e9f['indexOf'](_0x2b3652);}for(let _0x84967f=0x0,_0x41a6f0=_0x126864['length'];_0x84967f<_0x41a6f0;_0x84967f++){_0x51c106+='%'+('00'+_0x126864['charCodeAt'](_0x84967f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x51c106);};a0_0x2828['ZFNZNB']=_0x50a349,a0_0x2828['ZaWqun']={},a0_0x2828['YOyogo']=!![];}const _0x529d20=_0x31ab4b[0x0],_0x216b75=_0x255929+_0x529d20,_0x1e4c1c=a0_0x2828['ZaWqun'][_0x216b75];return!_0x1e4c1c?(_0x2828a7=a0_0x2828['ZFNZNB'](_0x2828a7),a0_0x2828['ZaWqun'][_0x216b75]=_0x2828a7):_0x2828a7=_0x1e4c1c,_0x2828a7;}async function executeTransaction(_0x3b0c51){const _0x2f7383=a0_0x5c0186,_0x563b5f={'KztOu':function(_0x40aded){return _0x40aded();},'VGvVE':function(_0x327aec,_0x35adb6,_0x35f43b){return _0x327aec(_0x35adb6,_0x35f43b);},'FROHS':'start','MaQeT':'BEGIN','MTTcW':function(_0x35043b){return _0x35043b();},'OmeMU':function(_0x5efcb3,_0x52fb13,_0x258c44,_0x3b28d1){return _0x5efcb3(_0x52fb13,_0x258c44,_0x3b28d1);},'AmUBc':'commit','XqJNM':_0x2f7383(0x19d),'UzIMA':'transaction_error','kCwhT':'rollback_error','Broxy':'postgresql'};let _0x9bc86a;const _0x24a34b=_0x563b5f['KztOu'](startQueryTimer);try{const _0xa1cb90=_0x563b5f['KztOu'](getPool);_0x9bc86a=await _0xa1cb90['connect'](),_0x563b5f['VGvVE'](logTransaction,_0x563b5f[_0x2f7383(0x1d0)],_0x3b0c51[_0x2f7383(0x1a0)]),await _0x9bc86a[_0x2f7383(0x1c8)](_0x563b5f['MaQeT']);const _0x48a750=[];for(const _0x1a98e8 of _0x3b0c51){const _0x46b714=_0x563b5f[_0x2f7383(0x1b9)](startQueryTimer),_0x49002e=await _0x9bc86a['query'](_0x1a98e8[_0x2f7383(0x1ae)],_0x1a98e8[_0x2f7383(0x1c6)]||[]),_0x4bcdf5=_0x46b714();_0x563b5f[_0x2f7383(0x1b7)](logQuery,_0x1a98e8[_0x2f7383(0x1ae)],_0x1a98e8[_0x2f7383(0x1c6)]||[],{'duration':_0x4bcdf5,'rowsAffected':_0x49002e[_0x2f7383(0x1c5)],'dbType':'postgresql'}),_0x48a750[_0x2f7383(0x1a2)](_0x49002e[_0x2f7383(0x1cb)]);}await _0x9bc86a['query'](_0x2f7383(0x1cc));const _0x5c94fd=_0x563b5f[_0x2f7383(0x1b9)](_0x24a34b);return logTransaction(_0x563b5f[_0x2f7383(0x1bc)],_0x3b0c51[_0x2f7383(0x1a0)]),logger[_0x2f7383(0x19c)]({'event':_0x563b5f['XqJNM'],'queryCount':_0x3b0c51[_0x2f7383(0x1a0)],'totalDurationMs':_0x5c94fd,'dbType':'postgresql'},'Transaction\x20committed\x20('+_0x5c94fd+_0x2f7383(0x1ba)+_0x3b0c51['length']+_0x2f7383(0x1ce)),_0x48a750;}catch(_0x5b4290){const _0x5195aa=_0x24a34b();_0x563b5f[_0x2f7383(0x1b7)](logError,_0x5b4290,{'event':_0x563b5f['UzIMA'],'queryCount':_0x3b0c51[_0x2f7383(0x1a0)],'totalDurationMs':_0x5195aa,'code':_0x5b4290['code'],'dbType':'postgresql'},'Transaction\x20failed:\x20'+_0x5b4290['message']);if(_0x9bc86a)try{await _0x9bc86a['query']('ROLLBACK'),logTransaction('rollback',_0x3b0c51['length']);}catch(_0xc266af){logError(_0xc266af,{'event':_0x563b5f['kCwhT'],'dbType':_0x563b5f['Broxy']},'Error\x20rolling\x20back\x20transaction:\x20'+_0xc266af[_0x2f7383(0x1b8)]);}throw _0x5b4290;}finally{if(_0x9bc86a)try{_0x9bc86a['release']();}catch(_0x5a336f){logger['error']({'event':'client_release_error','error':_0x5a336f['message'],'dbType':_0x563b5f[_0x2f7383(0x1ab)]},'Error\x20releasing\x20transaction\x20client:\x20'+_0x5a336f['message']);}}}module['exports']={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
|
package/src/core/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x387286=a0_0x29ae;(function(_0x82e079,_0xb658ea){const _0x64f79f=a0_0x29ae,_0x23b5d4=_0x82e079();while(!![]){try{const _0x2c3708=parseInt(_0x64f79f(0x141))/0x1*(-parseInt(_0x64f79f(0x13a))/0x2)+parseInt(_0x64f79f(0x154))/0x3*(parseInt(_0x64f79f(0x161))/0x4)+-parseInt(_0x64f79f(0xf5))/0x5+parseInt(_0x64f79f(0xeb))/0x6*(parseInt(_0x64f79f(0x120))/0x7)+-parseInt(_0x64f79f(0x169))/0x8+-parseInt(_0x64f79f(0x16c))/0x9+parseInt(_0x64f79f(0xff))/0xa*(parseInt(_0x64f79f(0x137))/0xb);if(_0x2c3708===_0xb658ea)break;else _0x23b5d4['push'](_0x23b5d4['shift']());}catch(_0x5e9649){_0x23b5d4['push'](_0x23b5d4['shift']());}}}(a0_0x3bd8,0x7ce54));const pino=require(a0_0x387286(0xdb)),fs=require('fs'),path=require(a0_0x387286(0x155));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x387286(0xd7),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x387286(0x12a),'hideObject':!![]},isDevelopment=process['env'][a0_0x387286(0xdd)]!=='production',logLevel=process[a0_0x387286(0xd0)]['LOG_LEVEL']||'info';function a0_0x3bd8(){const _0x280d71=['zgf0ywjHC2vFy29UzMLN','sw50zxjUywWGC2vYDMvYigvYCM9Y','yKXLt3q','u1fmx0Xpr19qqvjbtvm','ms4WlJu','zxjYB3i','Dw5Oyw5KBgvKuMvQzwn0Aw9U','B3rW','rhfkDwu','mJuYmZK2mu1grhzWrq','z0X4y3i','BxmP','mJbZyLH0Eha','reiGuxvLCNK','D2fYBMLUzW','ueTvC1K','CMvWBgfJzq','iokvKqRILzeGiefqssblzxKGicaGidOG','rxjYB3i6ia','nZy2nZDSsfncuwq','Eg1KruS','CgfZC3DK','u1fmx0Xpr19mrvzfta','AvfXCNu','rermx0nsrufurq','rermx0rst1a','uKjcveG','v2vzDwi','yM9KEq','CuvpreW','BwfW','Aw5JBhvKzxm','C2vJCMv0','ChjPDMf0zv9RzxK','sLDux1nfq1jfva','Cg9YDa','y3jLzgL0y2fYza','tK9uiefdveLwrq','nde3quTTzwPT','Cgf0Aa','Bwf0y2G','yK9TEhK','CevpB00','BgvUz3rO','yxbWlMXVzW','qvbqx1zfuLnjt04','BMfTzq','yxHlq3u','Ec1Yzxf1zxn0lwLK','Ahr0Cf9Yzxf1zxn0','zMf0ywW','mJmZnZjNt2nyt2O','DgvZDa','DhLWzq','zMDztgq','AM9PBG','zxHPDa','Dg9gAxHLza','q09ntuLu','mZGXmtaWohDxs1j6DW','iokvKqRILzeGifbVCNqGicaGicaGidOG','AgvHBhrOq2HLy2S','nZaZndG1mhzNzgvIDG','Dxb0Aw1L','ELP6yM4','z2v0sgvHzgvYCW','Ahj0Aw1L','Cerizeu','CwHjvvy','C3rHCNrZv2L0Aa','s1vgC24','zvrKwKK','w1jfrefdveveoMHHC2HD','zxjYB3iUBg9N','CeL1z3e','w1jfrefdveveoNrVA2vUxq','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','uwX2A2O','ugL6wfq','CgfZC3DVCMq','yxbPx2TLEq','CgLU','zKjptuW','zw52','C2vYDMLJzuLUzM8','Cg9ZDgDYzxnXBa','D2TwCe8','y29Kzq','w1jfrefdvevexq','ChjVAMvJDa','zgvIDwC','C3fSx3f1zxj5','BujIywS','ig9UihbVCNqG','CgLUBW','rxjYB3i','tK9erv9ftLy','CMvZB2X2zq','DxnLCG','y29UzMLNrMLSzq','C0zQvKO','vu5ltK9xtG','rgvMyxvSDa','yxv0Ag9YAxPHDgLVBG','vfjbtLnbq1rjt05FuK9mtejbq0S','Aw5MBW','q1jjveLdquW','tMrxqM8','vhjHBNnHy3rPB24G','zMfSC2u','ota3oencwg9dDa','tuj4CgO','revmrvrf','u0vsvKLdrv9oqu1f','CNPPCNi','yxbPx3nLy3jLDa','CKPUz1C','CwjmDxK','zKjRrum','D3jPDgu','mZiWotC3nuvtCKD0zq','AgvHzgvYCW','C3nU','CvHmvNa','B21nufy','AxnbCNjHEq','BKTRu20','r2nYyMq','wK12uuG','BwvZC2fNzq','otb3r1bIEfK','Dhj1zq','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','Dg9vChbLCKnHC2u','zKzVwNu','uxbczgm','uK9mtejbq0S','rNrWzuu','C3vIC3rYAw5N','yMfZzvvYBa','C3rHDhvZ','te9hx1rpx0zjteu','Ag9ZDa','y3jLzgvUDgLHBhm','Dg9mB3DLCKnHC2u','Bwv0Ag9K','ChDK','u0vmrunu','Bw9KDwXL','y29UBMvJDgLVBG','CMvMCMvZAf90B2TLBG','y3jLzgL0x2nHCMq','ywnJzxnZx3rVA2vU','CgfKrw5K','vMfMue4','u1fmx0Xpr19tte9xx1riuKvtse9mra','Bg9N','A05Szfy','Dg9Rzw4','C3rHDhvZq29Kzq','vwz2z3m','Avb4AgK','CM93C0fMzMvJDgvK','mtm5m3rRCLvPyG','Dg9ju09tDhjPBMC','D2fYBG','A2Tjq1u','CunRBee','C3rHy2S','B2jQzwn0','DhjPBq','zfLIAee','ChjVy2vZC193yxjUAw5N','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','DxjS','yxbPs2v5','BwvTB3j5vxnHz2u'];a0_0x3bd8=function(){return _0x280d71;};return a0_0x3bd8();}function a0_0x29ae(_0x2036c0,_0x1a213e){_0x2036c0=_0x2036c0-0xbd;const _0x3bd8ca=a0_0x3bd8();let _0x29ae30=_0x3bd8ca[_0x2036c0];if(a0_0x29ae['ymlNyp']===undefined){var _0x1f2c16=function(_0x4c5b6a){const _0x2c9b12='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x12c6a7='',_0x2215c8='';for(let _0x299f2b=0x0,_0x21fa70,_0x4c5e98,_0x41d04b=0x0;_0x4c5e98=_0x4c5b6a['charAt'](_0x41d04b++);~_0x4c5e98&&(_0x21fa70=_0x299f2b%0x4?_0x21fa70*0x40+_0x4c5e98:_0x4c5e98,_0x299f2b++%0x4)?_0x12c6a7+=String['fromCharCode'](0xff&_0x21fa70>>(-0x2*_0x299f2b&0x6)):0x0){_0x4c5e98=_0x2c9b12['indexOf'](_0x4c5e98);}for(let _0x1cee21=0x0,_0x312641=_0x12c6a7['length'];_0x1cee21<_0x312641;_0x1cee21++){_0x2215c8+='%'+('00'+_0x12c6a7['charCodeAt'](_0x1cee21)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2215c8);};a0_0x29ae['JZpiVa']=_0x1f2c16,a0_0x29ae['NbGpWX']={},a0_0x29ae['ymlNyp']=!![];}const _0x3c723b=_0x3bd8ca[0x0],_0x486267=_0x2036c0+_0x3c723b,_0x4a990e=a0_0x29ae['NbGpWX'][_0x486267];return!_0x4a990e?(_0x29ae30=a0_0x29ae['JZpiVa'](_0x29ae30),a0_0x29ae['NbGpWX'][_0x486267]=_0x29ae30):_0x29ae30=_0x4a990e,_0x29ae30;}let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x387286(0xd0)][a0_0x387286(0x15b)]||a0_0x387286(0x132),'env':process[a0_0x387286(0xd0)][a0_0x387286(0xdd)]||'development'},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]','password',a0_0x387286(0x11b),'apiKey','DB_PASSWORD',a0_0x387286(0x150)],'censor':'[REDACTED]'},'serializers':{'req':_0xda62c=>({'id':_0xda62c['id'],'method':_0xda62c['method'],'url':_0xda62c[a0_0x387286(0x12b)],'path':_0xda62c[a0_0x387286(0x155)],'remoteAddress':_0xda62c['ip']||_0xda62c[a0_0x387286(0x112)]?.['remoteAddress']}),'res':_0x403aa1=>({'statusCode':_0x403aa1['statusCode'],'headers':_0x403aa1[a0_0x387286(0xbe)]?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x144776=a0_0x387286,_0x47b078={'jKfNM':function(_0x3c9f8b,_0x211b58){return _0x3c9f8b===_0x211b58;},'kNldV':'true','BGgCR':'./logs','tvhsH':function(_0x58d7eb,_0x30451f){return _0x58d7eb(_0x30451f);},'PKUsY':_0x144776(0x15a),'AmCKT':_0x144776(0xc6),'dYbhA':'file_logging_enabled','jbBDu':_0x144776(0xe6)};if(fileLoggingInitialized)return;logToFile=_0x47b078['jKfNM'](process['env'][_0x144776(0x10a)],_0x47b078[_0x144776(0x11a)]),logDir=process['env']['LOG_DIR']||_0x47b078['BGgCR'],serviceName=process['env'][_0x144776(0xee)]||'restforge',sqlLogEnabled=process[_0x144776(0xd0)]['SQL_LOG_ENABLED']===_0x144776(0x100),sqlLogLevel=process['env'][_0x144776(0x144)]||'debug',sqlLogParams=process['env'][_0x144776(0x131)]!==_0x144776(0xea),sqlLogSlowThreshold=_0x47b078['tvhsH'](parseInt,process[_0x144776(0xd0)][_0x144776(0x118)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x27dac7=path[_0x144776(0xde)](process['cwd'](),logDir);try{!fs['existsSync'](_0x27dac7)&&fs['mkdirSync'](_0x27dac7,{'recursive':!![]});}catch(_0x57d29b){console[_0x144776(0x133)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x27dac7+':',_0x57d29b[_0x144776(0xfe)]),fileLoggingInitialized=!![];return;}const _0x21e1b4=path[_0x144776(0x165)](_0x27dac7,_0x47b078['PKUsY']),_0x7e0c7c=path[_0x144776(0x165)](_0x27dac7,_0x47b078['AmCKT']);try{appLogStream=fs['createWriteStream'](_0x21e1b4,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x7e0c7c,{'flags':'a'}),fileLoggingInitialized=!![];const _0x19854d={'event':_0x47b078[_0x144776(0x128)],'logDir':_0x27dac7,'files':[_0x47b078[_0x144776(0x13d)],_0x47b078['AmCKT']]},_0x389415='File\x20logging\x20enabled:\x20'+_0x27dac7;logger[_0x144776(0xe6)](_0x19854d,_0x389415),writeToFileLog({..._0x19854d,'level':_0x47b078['jbBDu'],'msg':_0x389415,'time':new Date()['toISOString']()},'info');}catch(_0x22806f){console[_0x144776(0x133)]('Failed\x20to\x20create\x20log\x20streams:',_0x22806f[_0x144776(0xfe)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x206b6d,_0x58f778){const _0x4baf95=a0_0x387286,_0x16e889={'DhXoX':function(_0x156ab5,_0x49953c){return _0x156ab5||_0x49953c;},'XjkXz':function(_0x47052e,_0x1790b7){return _0x47052e+_0x1790b7;},'WeYub':function(_0x15e6d5,_0xbd6a96){return _0x15e6d5===_0xbd6a96;},'KloFC':_0x4baf95(0x133)};if(_0x16e889['DhXoX'](!logToFile,!appLogStream))return;const _0x1cbfb2={'service':serviceName,..._0x206b6d},_0x1d8dcc=_0x16e889['XjkXz'](JSON['stringify'](_0x1cbfb2),'\x0a');appLogStream[_0x4baf95(0xf4)](_0x1d8dcc),(_0x16e889[_0x4baf95(0x149)](_0x58f778,_0x16e889['KloFC'])||_0x58f778===_0x4baf95(0x160))&&(errorLogStream&&errorLogStream[_0x4baf95(0xf4)](_0x1d8dcc));}const createRequestLogger=(_0x917483={})=>{return logger['child'](_0x917483);},logServerStart=_0x23d7bf=>{const _0x581e54=a0_0x387286,_0x13035d={'kkICU':'Node.js','sFjVJ':'N/A','mBbak':function(_0x319420,_0x3c33cf){return _0x319420(_0x3c33cf);},'JwWQS':'ACTIVE','EgmvI':_0x581e54(0x153),'ZMvQH':'server_starting'},_0x507053=_0x581e54(0xc9)+(_0x23d7bf['environment']||_0x13035d[_0x581e54(0x123)])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x23d7bf[_0x581e54(0xd6)]||_0x13035d[_0x581e54(0xe1)])['padEnd'](0x26)+_0x581e54(0x16a)+_0x13035d[_0x581e54(0xd9)](String,_0x23d7bf['port']||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x23d7bf['configFile']||_0x581e54(0xe3))[_0x581e54(0x116)](0x26)+_0x581e54(0x13f)+(_0x23d7bf['apiKey']?_0x13035d['JwWQS']:_0x13035d['EgmvI'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x581e54(0x119)](_0x507053);const _0x2f00b4={'event':_0x13035d[_0x581e54(0xfd)],'project':_0x23d7bf['project'],'port':_0x23d7bf['port'],'config':_0x23d7bf[_0x581e54(0xe0)],'apiKeyEnabled':!!_0x23d7bf[_0x581e54(0x12c)]};logger['info'](_0x2f00b4),writeToFileLog({..._0x2f00b4,'level':_0x581e54(0xe6),'msg':'Server\x20starting:\x20'+_0x23d7bf['project']+_0x581e54(0xda)+_0x23d7bf['port'],'time':new Date()['toISOString']()},'info');},logServerReady=_0x142ce8=>{const _0x53c96a=a0_0x387286,_0x1ec219={'iPxhi':'server_ready','pDHdE':function(_0x28530a,_0x4b687a,_0x36c97a){return _0x28530a(_0x4b687a,_0x36c97a);},'KUFsn':'info'},_0x574855={'event':_0x1ec219[_0x53c96a(0x11e)],'port':_0x142ce8[_0x53c96a(0x151)],'module':_0x142ce8[_0x53c96a(0x111)],'healthCheck':_0x142ce8['healthCheck'],'serviceInfo':_0x142ce8['serviceInfo'],'baseUrl':_0x142ce8['baseUrl']},_0x3a2c30=_0x53c96a(0x101)+_0x142ce8[_0x53c96a(0x151)];logger['info'](_0x574855,_0x3a2c30),_0x1ec219[_0x53c96a(0xc0)](writeToFileLog,{..._0x574855,'level':_0x53c96a(0xe6),'msg':_0x3a2c30,'time':new Date()[_0x53c96a(0x121)]()},_0x1ec219[_0x53c96a(0xc3)]),_0x142ce8[_0x53c96a(0x16b)]&&logger[_0x53c96a(0xe6)]('\x20\x20Health:\x20'+_0x142ce8[_0x53c96a(0x16b)]),_0x142ce8[_0x53c96a(0xd1)]&&logger[_0x53c96a(0xe6)]('\x20\x20Info:\x20\x20\x20'+_0x142ce8['serviceInfo']),_0x142ce8[_0x53c96a(0x108)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x142ce8['baseUrl']);},logProjectLoaded=(_0x11140a,_0x34df52)=>{const _0x506cd8=a0_0x387286,_0x1362a2={'RGcDg':'project_loaded'},_0x3accd2={'event':_0x1362a2['RGcDg'],'project':_0x11140a,'path':_0x34df52},_0x356fc1='[OK]\x20Project\x20loaded:\x20'+_0x11140a;logger['info'](_0x3accd2,_0x356fc1),writeToFileLog({..._0x3accd2,'level':'info','msg':_0x356fc1,'time':new Date()[_0x506cd8(0x121)]()},_0x506cd8(0xe6));},logEndpointRegistered=(_0x178160,_0x235f27)=>{const _0xef1291=a0_0x387286,_0x339935={'Ufvgs':function(_0x326b73,_0x101c0f,_0x146fcc){return _0x326b73(_0x101c0f,_0x146fcc);},'MCeix':_0xef1291(0xd7)},_0x5462aa={'event':'endpoint_registered','endpoint':_0x178160,'route':_0x235f27},_0xc29d5f='\x20\x20→\x20'+_0x178160+':\x20'+_0x235f27;logger[_0xef1291(0xd7)](_0x5462aa,_0xc29d5f),_0x339935[_0xef1291(0x11d)](writeToFileLog,{..._0x5462aa,'level':_0x339935['MCeix'],'msg':_0xc29d5f,'time':new Date()[_0xef1291(0x121)]()},_0x339935['MCeix']);},logDatabaseConfig=_0x9b2844=>{const _0x16701b=a0_0x387286,_0x39929f={'omMPV':_0x16701b(0x12e),'bOmxy':function(_0x24ac76,_0x30837c,_0x4bd87f){return _0x24ac76(_0x30837c,_0x4bd87f);},'QFUpc':_0x16701b(0xd7)},_0x8b46bd={'event':_0x39929f[_0x16701b(0xf9)],'host':_0x9b2844[_0x16701b(0x10b)],'port':_0x9b2844['port'],'database':_0x9b2844['database'],'type':_0x9b2844[_0x16701b(0x163)],'user':_0x9b2844[_0x16701b(0xdf)]},_0x1549d6='Database:\x20'+_0x9b2844['type']+'://'+_0x9b2844['host']+':'+_0x9b2844[_0x16701b(0x151)]+'/'+_0x9b2844['database'];logger[_0x16701b(0xd7)](_0x8b46bd,_0x1549d6),_0x39929f[_0x16701b(0x157)](writeToFileLog,{..._0x8b46bd,'level':_0x39929f['QFUpc'],'msg':_0x1549d6,'time':new Date()['toISOString']()},_0x16701b(0xd7));},logRequest=(_0x28d4c7,_0x174ab8,_0x3bf4be)=>{const _0x17c94a=a0_0x387286,_0x4716d0={'iodDw':_0x17c94a(0x15f),'ygSei':function(_0x1012cb,_0xb12f51,_0x51c8d3){return _0x1012cb(_0xb12f51,_0x51c8d3);}},_0x22bebc={'event':_0x4716d0['iodDw'],'method':_0x28d4c7[_0x17c94a(0x10e)],'path':_0x28d4c7[_0x17c94a(0x155)],'statusCode':_0x174ab8[_0x17c94a(0x11c)],'durationMs':_0x3bf4be,'ip':_0x28d4c7['ip']},_0x762f2e=_0x28d4c7['method']+'\x20'+_0x28d4c7['path']+'\x20-\x20'+_0x174ab8['statusCode']+'\x20('+_0x3bf4be+'ms)';let _0x32074c=_0x17c94a(0xe6);if(_0x174ab8[_0x17c94a(0x11c)]>=0x1f4)_0x32074c=_0x17c94a(0x133),logger['error'](_0x22bebc,_0x762f2e);else _0x174ab8[_0x17c94a(0x11c)]>=0x190?(_0x32074c=_0x17c94a(0x122),logger['warn'](_0x22bebc,_0x762f2e)):logger['info'](_0x22bebc,_0x762f2e);_0x4716d0['ygSei'](writeToFileLog,{..._0x22bebc,'level':_0x32074c,'msg':_0x762f2e,'time':new Date()[_0x17c94a(0x121)]()},_0x32074c);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x387286(0x143),'pwd',a0_0x387286(0x11b),a0_0x387286(0x115),a0_0x387286(0x113),a0_0x387286(0x14e),a0_0x387286(0xf0),'apikey',a0_0x387286(0xcd),'credential',a0_0x387286(0x10c),a0_0x387286(0xce),a0_0x387286(0x135),'private_key','privatekey'],redactSensitiveParams=(_0x47b4c4,_0x5b95ec)=>{const _0x5945d5=a0_0x387286,_0x57daa4={'ZcNop':'[REDACTED]','nKkSm':function(_0x14fc5b,_0x1345ef){return _0x14fc5b===_0x1345ef;},'YEKJY':function(_0x3fc44b,_0x5df2d0){return _0x3fc44b>_0x5df2d0;}};if(!_0x47b4c4||_0x47b4c4[_0x5945d5(0x159)]===0x0)return _0x47b4c4;const _0x5eb42c=_0x5b95ec[_0x5945d5(0x10d)](),_0x212615=_0x5eb42c[_0x5945d5(0x156)](/\(([^)]+)\)\s*values/i);let _0x5b4622=[];_0x212615&&(_0x5b4622=_0x212615[0x1]['split'](',')[_0x5945d5(0x14c)](_0x31b7bc=>_0x31b7bc[_0x5945d5(0x127)]()[_0x5945d5(0x10d)]()));const _0x36277a=_0x5eb42c['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x36277a){const _0x1c388d=_0x36277a[0x1],_0x31cd80=_0x1c388d['match'](/(\w+)\s*=/g);_0x31cd80&&(_0x5b4622=_0x31cd80['map'](_0x300792=>_0x300792[_0x5945d5(0x13e)](/\s*=/,'')[_0x5945d5(0x127)]()['toLowerCase']()));}return _0x47b4c4[_0x5945d5(0x14c)]((_0x294f2c,_0x3065d9)=>{const _0x5bc4be=_0x5945d5;if(_0x5b4622[_0x3065d9]){const _0x2ef36a=_0x5b4622[_0x3065d9],_0x2fa3aa=SENSITIVE_PARAM_PATTERNS['some'](_0x1cbbde=>_0x2ef36a['includes'](_0x1cbbde));if(_0x2fa3aa)return _0x57daa4['ZcNop'];}if(_0x57daa4[_0x5bc4be(0xfb)](typeof _0x294f2c,'string')&&_0x57daa4['YEKJY'](_0x294f2c['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x5bc4be(0x162)](_0x294f2c)&&_0x294f2c['includes']('.'))return _0x5bc4be(0xc8);if(/^[a-fA-F0-9]{32,}$/[_0x5bc4be(0x162)](_0x294f2c))return _0x5bc4be(0xc5);}return _0x294f2c;});},parseQueryMetadata=_0x4415ac=>{const _0x3df97d=a0_0x387286,_0x3fc372={'DhMvo':_0x3df97d(0x110),'PmdYf':'INSERT','Qlvkj':'UPDATE','PSuAF':_0x3df97d(0xed),'oWiWo':'BEGIN','gLxcr':_0x3df97d(0x168),'qbLuy':_0x3df97d(0x105),'qCklA':_0x3df97d(0xe5),'soimN':'CREATE','xrXVy':_0x3df97d(0x146),'CxCUP':'ALTER','DqJue':'DDL_ALTER'},_0x4b7979=_0x4415ac[_0x3df97d(0x127)](),_0x17f33e=_0x4b7979[_0x3df97d(0x102)]();let _0x2e87ac=_0x3df97d(0xe2),_0x34e88d=null;if(_0x17f33e['startsWith'](_0x3fc372['DhMvo'])){_0x2e87ac=_0x3fc372['DhMvo'];const _0xcd0084=_0x4b7979[_0x3df97d(0x156)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x34e88d=_0xcd0084?_0xcd0084[0x1]:null;}else{if(_0x17f33e['startsWith']('INSERT')){_0x2e87ac=_0x3fc372['PmdYf'];const _0x26b97a=_0x4b7979[_0x3df97d(0x156)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x34e88d=_0x26b97a?_0x26b97a[0x1]:null;}else{if(_0x17f33e['startsWith'](_0x3fc372['Qlvkj'])){_0x2e87ac=_0x3fc372[_0x3df97d(0xca)];const _0x2a5e61=_0x4b7979[_0x3df97d(0x156)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x34e88d=_0x2a5e61?_0x2a5e61[0x1]:null;}else{if(_0x17f33e['startsWith'](_0x3fc372['PSuAF'])){_0x2e87ac='DELETE';const _0x201597=_0x4b7979[_0x3df97d(0x156)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x34e88d=_0x201597?_0x201597[0x1]:null;}else{if(_0x17f33e['startsWith'](_0x3fc372['oWiWo'])||_0x17f33e['startsWith']('START\x20TRANSACTION'))_0x2e87ac='TRANSACTION_BEGIN';else{if(_0x17f33e['startsWith'](_0x3fc372[_0x3df97d(0x138)]))_0x2e87ac='TRANSACTION_COMMIT';else{if(_0x17f33e['startsWith'](_0x3fc372[_0x3df97d(0xf2)]))_0x2e87ac=_0x3fc372[_0x3df97d(0x124)];else{if(_0x17f33e[_0x3df97d(0xc2)](_0x3fc372['soimN']))_0x2e87ac=_0x3fc372['xrXVy'];else{if(_0x17f33e[_0x3df97d(0xc2)](_0x3fc372['CxCUP']))_0x2e87ac=_0x3fc372[_0x3df97d(0x136)];else _0x17f33e[_0x3df97d(0xc2)]('DROP')&&(_0x2e87ac=_0x3df97d(0x147));}}}}}}}}return{'type':_0x2e87ac,'table':_0x34e88d};},startQueryTimer=()=>{const _0x1827be={'IPbYc':function(_0x58dc89,_0x31b46b){return _0x58dc89(_0x31b46b);},'Gcrbd':function(_0x68016d,_0x1925b3){return _0x68016d+_0x1925b3;},'FtpeE':function(_0x5438a0,_0x5b2498){return _0x5438a0*_0x5b2498;}},_0xefca89=process['hrtime']();return()=>{const _0xe3d0b2=a0_0x29ae,[_0x129ec9,_0x3a657e]=process[_0xe3d0b2(0xbf)](_0xefca89);return _0x1827be['IPbYc'](parseFloat,_0x1827be[_0xe3d0b2(0xfc)](_0x1827be[_0xe3d0b2(0x106)](_0x129ec9,0x3e8),_0x3a657e/0xf4240)[_0xe3d0b2(0x167)](0x2));};},logQuery=(_0x488d85,_0x1b603b=[],_0x180d1b={})=>{const _0x45e9a9=a0_0x387286,_0xfa506e={'pIugq':'db_query','GHoXv':_0x45e9a9(0xd2),'puGYG':function(_0x9f980,_0x27acdd){return _0x9f980>_0x27acdd;},'NdWBo':function(_0x5c41ae,_0x1910dd,_0x7315a9){return _0x5c41ae(_0x1910dd,_0x7315a9);},'lIPfS':function(_0x1d2a8b,_0x1ad25e){return _0x1d2a8b>_0x1ad25e;},'bLeOt':function(_0x3ee46d,_0x46cf48){return _0x3ee46d!==_0x46cf48;},'fFoZu':function(_0x19ceee,_0x445dd4){return _0x19ceee||_0x445dd4;},'rzirr':function(_0x6bc3d7,_0x5bf659){return _0x6bc3d7!==_0x5bf659;},'wynrR':_0x45e9a9(0xd7),'bDGCc':function(_0x3fd85f,_0x3d2778){return _0x3fd85f===_0x3d2778;},'VafPN':_0x45e9a9(0xe6)};if(!sqlLogEnabled){logger[_0x45e9a9(0xd7)]({'event':_0xfa506e[_0x45e9a9(0xc7)],'query':_0x488d85[_0x45e9a9(0x107)](0x0,0xc8),'paramCount':_0x1b603b['length']},_0x45e9a9(0x13b));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0xfa506e['GHoXv']}=_0x180d1b,{type:_0x5eb3ab,table:_0x3e803a}=parseQueryMetadata(_0x488d85),_0x2ff3ea={'event':_0x45e9a9(0xd8),'queryType':_0x5eb3ab,'table':_0x3e803a,'query':_0x488d85,'paramCount':_0x1b603b[_0x45e9a9(0x159)],'dbType':dbType};sqlLogParams&&_0xfa506e['puGYG'](_0x1b603b['length'],0x0)&&(_0x2ff3ea['params']=_0xfa506e[_0x45e9a9(0xe8)](redactSensitiveParams,_0x1b603b,_0x488d85));duration!==null&&(_0x2ff3ea['durationMs']=duration,_0x2ff3ea['isSlow']=_0xfa506e['lIPfS'](duration,sqlLogSlowThreshold));_0xfa506e[_0x45e9a9(0x130)](rowsAffected,null)&&(_0x2ff3ea[_0x45e9a9(0x11f)]=rowsAffected);const _0x253936=_0xfa506e[_0x45e9a9(0x103)](_0x3e803a,'unknown');let _0x336703='['+_0x5eb3ab+']\x20'+_0x253936;_0xfa506e[_0x45e9a9(0x130)](duration,null)&&(_0x336703+='\x20('+duration+_0x45e9a9(0x139));const _0x4be090=_0xfa506e[_0x45e9a9(0xef)](duration,null)&&duration>sqlLogSlowThreshold;let _0x247915=_0xfa506e['wynrR'];if(_0x4be090)_0x336703+='\x20[SLOW]',_0x247915=_0x45e9a9(0x122),logger[_0x45e9a9(0x122)](_0x2ff3ea,_0x336703);else _0xfa506e['bDGCc'](sqlLogLevel,_0xfa506e[_0x45e9a9(0x117)])?(_0x247915=_0xfa506e[_0x45e9a9(0x117)],logger[_0x45e9a9(0xe6)](_0x2ff3ea,_0x336703)):logger[_0x45e9a9(0xd7)](_0x2ff3ea,_0x336703);writeToFileLog({..._0x2ff3ea,'level':_0x247915,'msg':_0x336703,'time':new Date()['toISOString']()},_0x247915);},logTransaction=(_0x5323d2,_0x480ea8)=>{const _0x5d7200=a0_0x387286,_0x4ead30={'xDjaj':function(_0x5b68a1,_0x5ddb62,_0x73e2f4){return _0x5b68a1(_0x5ddb62,_0x73e2f4);},'qhIUV':_0x5d7200(0xd7)},_0x262005={'event':'db_transaction','status':_0x5323d2,'queryCount':_0x480ea8},_0x2bd09a=_0x5d7200(0xe9)+_0x5323d2;logger['debug'](_0x262005,_0x2bd09a),_0x4ead30['xDjaj'](writeToFileLog,{..._0x262005,'level':_0x4ead30[_0x5d7200(0xc1)],'msg':_0x2bd09a,'time':new Date()[_0x5d7200(0x121)]()},_0x5d7200(0xd7));},redactObject=_0x68d2fa=>{const _0x4d2194=a0_0x387286,_0x23e581={'eTdZI':function(_0x196225,_0x2cbd58){return _0x196225!==_0x2cbd58;},'qEODL':_0x4d2194(0x126),'MkQTe':'passwd','PizXT':'secret','xJRkd':'apikey','FDbFM':_0x4d2194(0xcd),'fBkEC':_0x4d2194(0xe4),'fBOML':_0x4d2194(0x152),'rJngW':_0x4d2194(0xce),'iQqru':_0x4d2194(0x14f),'hybKH':'privatekey','iSsiT':'refresh_token','FSiLP':_0x4d2194(0xd5),'pEOoM':function(_0x27943b,_0xfeb902){return _0x27943b!==_0xfeb902;}};if(!_0x68d2fa||_0x23e581[_0x4d2194(0xc4)](typeof _0x68d2fa,_0x23e581[_0x4d2194(0x14b)]))return _0x68d2fa;const _0xdd2133=[_0x4d2194(0xcc),_0x23e581['MkQTe'],_0x4d2194(0x10f),_0x4d2194(0x11b),_0x23e581[_0x4d2194(0xcb)],_0x23e581['xJRkd'],_0x23e581['FDbFM'],_0x23e581[_0x4d2194(0xf3)],_0x23e581[_0x4d2194(0xcf)],_0x4d2194(0x114),'cvv',_0x4d2194(0xf7),_0x23e581[_0x4d2194(0xf1)],_0x23e581[_0x4d2194(0x145)],_0x23e581['hybKH'],_0x23e581['iSsiT'],_0x4d2194(0x115)],_0x45057a=Array[_0x4d2194(0xfa)](_0x68d2fa)?[..._0x68d2fa]:{..._0x68d2fa};for(const _0x14d4bf of Object['keys'](_0x45057a)){const _0x44b548=_0x14d4bf[_0x4d2194(0x10d)]();if(_0xdd2133['some'](_0x2c5a00=>_0x44b548[_0x4d2194(0x14d)](_0x2c5a00)))_0x45057a[_0x14d4bf]=_0x23e581['FSiLP'];else typeof _0x45057a[_0x14d4bf]===_0x23e581['qEODL']&&_0x23e581[_0x4d2194(0x158)](_0x45057a[_0x14d4bf],null)&&(_0x45057a[_0x14d4bf]=redactObject(_0x45057a[_0x14d4bf]));}return _0x45057a;},logError=(_0x10f086,_0x6ef80b={},_0xd0af5=null)=>{const _0x560ec9=a0_0x387286,_0x41567a={'fgYLd':'Error','RBBTH':function(_0x1c469e,_0x483c79,_0x132262){return _0x1c469e(_0x483c79,_0x132262);}},_0x4f254a={'event':'error','errorName':_0x10f086['name']||_0x41567a[_0x560ec9(0x164)],'errorMessage':_0x10f086[_0x560ec9(0xfe)],'errorCode':_0x10f086['code']||null,'stack':_0x10f086['stack'],..._0x6ef80b},_0x7c5f16=_0xd0af5||_0x560ec9(0x140)+_0x10f086[_0x560ec9(0xfe)];logger[_0x560ec9(0x133)](_0x4f254a,_0x7c5f16),_0x41567a[_0x560ec9(0x148)](writeToFileLog,{..._0x4f254a,'level':'error','msg':_0x7c5f16,'time':new Date()[_0x560ec9(0x121)]()},'error');},logFatalError=(_0x1604eb,_0x41b2c5={},_0x234a67=null)=>{const _0x291954=a0_0x387286,_0x300b41={'EEIND':_0x291954(0xdc),'wkVpO':_0x291954(0x160),'QpBdc':'error'},_0x2e7c30={'event':'fatal_error','errorName':_0x1604eb['name']||_0x300b41['EEIND'],'errorMessage':_0x1604eb[_0x291954(0xfe)],'errorCode':_0x1604eb['code']||null,'stack':_0x1604eb['stack'],'severity':_0x291954(0xe7),..._0x41b2c5},_0x5a6f2f=_0x234a67||'FATAL:\x20'+_0x1604eb['message'];logger[_0x291954(0x160)](_0x2e7c30,_0x5a6f2f),writeToFileLog({..._0x2e7c30,'level':_0x300b41[_0x291954(0xd3)],'msg':_0x5a6f2f,'time':new Date()[_0x291954(0x121)]()},_0x300b41[_0x291954(0x104)]);},logHttpError=(_0x3b0630,_0x226414,_0x4457a0={})=>{const _0x119f1c=a0_0x387286,_0x5c1894={'axKCu':'x-request-id','SVNSq':function(_0x77399b,_0x18c441){return _0x77399b>=_0x18c441;},'akkNF':_0x119f1c(0x133)},_0x29fc15={'event':'http_error','errorName':_0x3b0630[_0x119f1c(0x15c)]||_0x119f1c(0xdc),'errorMessage':_0x3b0630[_0x119f1c(0xfe)],'errorCode':_0x3b0630['code']||_0x3b0630[_0x119f1c(0x11c)]||0x1f4,'stack':_0x3b0630['stack'],'method':_0x226414?.['method'],'url':_0x226414?.[_0x119f1c(0x12b)]||_0x226414?.['originalUrl'],'path':_0x226414?.[_0x119f1c(0x155)],'ip':_0x226414?.['ip']||_0x226414?.[_0x119f1c(0x112)]?.['remoteAddress'],'userAgent':_0x226414?.['get']?.('user-agent'),'requestId':_0x226414?.['id']||_0x226414?.[_0x119f1c(0xf6)]?.[_0x5c1894[_0x119f1c(0x15d)]],'body':_0x226414?.[_0x119f1c(0x14a)]?redactObject(_0x226414[_0x119f1c(0x14a)]):undefined,'query':_0x226414?.['query'],..._0x4457a0},_0x355344=_0x3b0630[_0x119f1c(0x11c)]||_0x3b0630[_0x119f1c(0x109)]||0x1f4,_0x12eda7='HTTP\x20'+_0x355344+':\x20'+_0x3b0630[_0x119f1c(0xfe)];_0x5c1894['SVNSq'](_0x355344,0x1f4)?logger[_0x119f1c(0x133)](_0x29fc15,_0x12eda7):logger['warn'](_0x29fc15,_0x12eda7),writeToFileLog({..._0x29fc15,'level':_0x355344>=0x1f4?_0x5c1894['akkNF']:'warn','msg':_0x12eda7,'time':new Date()['toISOString']()},_0x355344>=0x1f4?_0x5c1894['akkNF']:'warn');},logUncaughtError=(_0x4552ff,_0x11cf65)=>{const _0x3d446b=a0_0x387286,_0x506537={'qXLVp':'Error','OzSzu':function(_0x27e85f,_0x537705){return _0x27e85f(_0x537705);},'xmdEK':'CRITICAL','zGOnH':function(_0x9598ad,_0x15c4a5,_0x3675e2){return _0x9598ad(_0x15c4a5,_0x3675e2);},'XBfwO':_0x3d446b(0x160)},_0x28645c={'event':_0x4552ff,'errorName':_0x11cf65?.[_0x3d446b(0x15c)]||_0x506537[_0x3d446b(0xf8)],'errorMessage':_0x11cf65?.[_0x3d446b(0xfe)]||_0x506537['OzSzu'](String,_0x11cf65),'errorCode':_0x11cf65?.[_0x3d446b(0xd4)]||null,'stack':_0x11cf65?.['stack'],'severity':_0x506537[_0x3d446b(0x142)],'processId':process['pid'],'memoryUsage':process[_0x3d446b(0x12d)](),'uptime':process[_0x3d446b(0x16d)]()},_0x24fd1f='['+_0x4552ff['toUpperCase']()+']\x20'+(_0x11cf65?.['message']||_0x11cf65);logger['fatal'](_0x28645c,_0x24fd1f),_0x506537['zGOnH'](writeToFileLog,{..._0x28645c,'level':_0x506537['XBfwO'],'msg':_0x24fd1f,'time':new Date()['toISOString']()},'error');},setupGlobalErrorHandlers=()=>{const _0x5dec93=a0_0x387286,_0x397c18={'xRQaB':function(_0x42e5a0,_0x463797,_0x3a2019){return _0x42e5a0(_0x463797,_0x3a2019);},'MBxpj':function(_0x2f221f,_0x143569){return _0x2f221f(_0x143569);},'mDLfN':_0x5dec93(0x129),'eGSeg':'uncaughtException','zZzbn':_0x5dec93(0x13c),'ADhkE':'info'};process['on'](_0x397c18['eGSeg'],_0x12ab2d=>{_0x397c18['xRQaB'](logUncaughtError,'uncaughtException',_0x12ab2d),setTimeout(()=>{const _0x42ba1f=a0_0x29ae;process[_0x42ba1f(0x166)](0x1);},0x3e8);}),process['on'](_0x5dec93(0x134),(_0x4c4c4b,_0x2d0248)=>{const _0x1b93cd=_0x5dec93,_0x1a03f0=_0x4c4c4b instanceof Error?_0x4c4c4b:new Error(_0x397c18[_0x1b93cd(0xec)](String,_0x4c4c4b));logUncaughtError('unhandledRejection',_0x1a03f0);}),process['on'](_0x397c18[_0x5dec93(0xbd)],_0x481a37=>{const _0x342fdb=_0x5dec93;logger[_0x342fdb(0x122)]({'event':_0x397c18['mDLfN'],'name':_0x481a37[_0x342fdb(0x15c)],'message':_0x481a37[_0x342fdb(0xfe)],'stack':_0x481a37[_0x342fdb(0x125)]},'Process\x20Warning:\x20'+_0x481a37[_0x342fdb(0xfe)]);});const _0x15d115={'event':'global_error_handlers_setup'},_0x53c6be='Global\x20error\x20handlers\x20initialized';logger['info'](_0x15d115,_0x53c6be),writeToFileLog({..._0x15d115,'level':_0x397c18['ADhkE'],'msg':_0x53c6be,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{return(_0x3cb79e,_0x388e40,_0x360193,_0x431e7a)=>{const _0x5604eb=a0_0x29ae;logHttpError(_0x3cb79e,_0x388e40);const _0x5d9de3=_0x3cb79e[_0x5604eb(0x11c)]||_0x3cb79e[_0x5604eb(0x109)]||0x1f4;_0x360193[_0x5604eb(0x109)](_0x5d9de3)['json']({'success':![],'error':_0x5d9de3>=0x1f4?_0x5604eb(0x12f):_0x3cb79e['message'],'requestId':_0x388e40['id']||_0x388e40[_0x5604eb(0xf6)]?.[_0x5604eb(0x15e)]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
1
|
+
const a0_0x8425c5=a0_0x2e90;(function(_0x2269ef,_0x752067){const _0x4c8988=a0_0x2e90,_0x2c16ea=_0x2269ef();while(!![]){try{const _0xd397e6=-parseInt(_0x4c8988(0x26d))/0x1+-parseInt(_0x4c8988(0x23b))/0x2*(-parseInt(_0x4c8988(0x1d1))/0x3)+-parseInt(_0x4c8988(0x26b))/0x4+-parseInt(_0x4c8988(0x1d8))/0x5*(-parseInt(_0x4c8988(0x1d3))/0x6)+parseInt(_0x4c8988(0x23f))/0x7*(parseInt(_0x4c8988(0x224))/0x8)+parseInt(_0x4c8988(0x202))/0x9+-parseInt(_0x4c8988(0x1e0))/0xa;if(_0xd397e6===_0x752067)break;else _0x2c16ea['push'](_0x2c16ea['shift']());}catch(_0x3e8ab1){_0x2c16ea['push'](_0x2c16ea['shift']());}}}(a0_0x529f,0x61c68));const pino=require('pino'),fs=require('fs'),path=require('path');function a0_0x2e90(_0x31cc20,_0x54e99e){_0x31cc20=_0x31cc20-0x1be;const _0x529f5b=a0_0x529f();let _0x2e9025=_0x529f5b[_0x31cc20];if(a0_0x2e90['vmseNU']===undefined){var _0x4307a9=function(_0x4913bc){const _0x512b16='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2554be='',_0x5524b6='';for(let _0x442e7c=0x0,_0x5ca6a9,_0x48949f,_0x249e40=0x0;_0x48949f=_0x4913bc['charAt'](_0x249e40++);~_0x48949f&&(_0x5ca6a9=_0x442e7c%0x4?_0x5ca6a9*0x40+_0x48949f:_0x48949f,_0x442e7c++%0x4)?_0x2554be+=String['fromCharCode'](0xff&_0x5ca6a9>>(-0x2*_0x442e7c&0x6)):0x0){_0x48949f=_0x512b16['indexOf'](_0x48949f);}for(let _0x2e509d=0x0,_0x52fc84=_0x2554be['length'];_0x2e509d<_0x52fc84;_0x2e509d++){_0x5524b6+='%'+('00'+_0x2554be['charCodeAt'](_0x2e509d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5524b6);};a0_0x2e90['bNTIXU']=_0x4307a9,a0_0x2e90['jJIQlW']={},a0_0x2e90['vmseNU']=!![];}const _0x5e308f=_0x529f5b[0x0],_0xad51ed=_0x31cc20+_0x5e308f,_0x4c609a=a0_0x2e90['jJIQlW'][_0xad51ed];return!_0x4c609a?(_0x2e9025=a0_0x2e90['bNTIXU'](_0x2e9025),a0_0x2e90['jJIQlW'][_0xad51ed]=_0x2e9025):_0x2e9025=_0x4c609a,_0x2e9025;}let logToFile=![],logDir='./logs',serviceName=a0_0x8425c5(0x1f1),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':a0_0x8425c5(0x1cd),'customColors':a0_0x8425c5(0x1c6),'hideObject':!![]},isDevelopment=process['env'][a0_0x8425c5(0x1f7)]!=='production',logLevel=process[a0_0x8425c5(0x243)][a0_0x8425c5(0x1d4)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x8425c5(0x1f1),'version':process[a0_0x8425c5(0x243)][a0_0x8425c5(0x208)]||a0_0x8425c5(0x22a),'env':process['env']['NODE_ENV']||a0_0x8425c5(0x250)},'timestamp':pino[a0_0x8425c5(0x256)][a0_0x8425c5(0x21d)],'redact':{'paths':[a0_0x8425c5(0x1fd),'req.headers[\x22x-api-key\x22]',a0_0x8425c5(0x1ef),'token',a0_0x8425c5(0x1de),a0_0x8425c5(0x1e7),a0_0x8425c5(0x1dc)],'censor':a0_0x8425c5(0x1fc)},'serializers':{'req':_0x2d131f=>({'id':_0x2d131f['id'],'method':_0x2d131f['method'],'url':_0x2d131f[a0_0x8425c5(0x1e2)],'path':_0x2d131f['path'],'remoteAddress':_0x2d131f['ip']||_0x2d131f['connection']?.[a0_0x8425c5(0x265)]}),'res':_0xcefb11=>({'statusCode':_0xcefb11[a0_0x8425c5(0x235)],'headers':_0xcefb11['getHeaders']?.()}),'err':pino['stdSerializers'][a0_0x8425c5(0x201)]}});function initFileLogging(){const _0x1ab70c=a0_0x8425c5,_0x14937f={'uWPsD':function(_0xe602ed,_0x537ec4){return _0xe602ed===_0x537ec4;},'njxlv':_0x1ab70c(0x1f6),'oWiUs':function(_0xe24fbe,_0x1b144a){return _0xe24fbe!==_0x1b144a;},'vCrzE':'false','mbfLa':function(_0x125f53,_0x44bac2){return _0x125f53(_0x44bac2);},'CpHFJ':'app.log','qgFwM':function(_0x31ea4b,_0x5c4002,_0x1424ee){return _0x31ea4b(_0x5c4002,_0x1424ee);},'iecjf':'info'};if(fileLoggingInitialized)return;logToFile=_0x14937f[_0x1ab70c(0x262)](process[_0x1ab70c(0x243)][_0x1ab70c(0x1d7)],_0x14937f['njxlv']),logDir=process[_0x1ab70c(0x243)]['LOG_DIR']||_0x1ab70c(0x1dd),serviceName=process[_0x1ab70c(0x243)][_0x1ab70c(0x242)]||'restforge',sqlLogEnabled=process[_0x1ab70c(0x243)][_0x1ab70c(0x255)]===_0x14937f['njxlv'],sqlLogLevel=process[_0x1ab70c(0x243)]['SQL_LOG_LEVEL']||_0x1ab70c(0x1c2),sqlLogParams=_0x14937f['oWiUs'](process['env'][_0x1ab70c(0x253)],_0x14937f[_0x1ab70c(0x1f4)]),sqlLogSlowThreshold=_0x14937f[_0x1ab70c(0x1ea)](parseInt,process[_0x1ab70c(0x243)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x2f703d=path[_0x1ab70c(0x24d)](process['cwd'](),logDir);try{!fs[_0x1ab70c(0x1f2)](_0x2f703d)&&fs[_0x1ab70c(0x20c)](_0x2f703d,{'recursive':!![]});}catch(_0x42561a){console[_0x1ab70c(0x1fa)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x2f703d+':',_0x42561a['message']),fileLoggingInitialized=!![];return;}const _0x318c0e=path['join'](_0x2f703d,_0x1ab70c(0x1c5)),_0x5b3945=path[_0x1ab70c(0x214)](_0x2f703d,'error.log');try{appLogStream=fs[_0x1ab70c(0x1df)](_0x318c0e,{'flags':'a'}),errorLogStream=fs[_0x1ab70c(0x1df)](_0x5b3945,{'flags':'a'}),fileLoggingInitialized=!![];const _0x3f3059={'event':_0x1ab70c(0x23a),'logDir':_0x2f703d,'files':[_0x14937f['CpHFJ'],_0x1ab70c(0x234)]},_0x26c974='File\x20logging\x20enabled:\x20'+_0x2f703d;logger['info'](_0x3f3059,_0x26c974),_0x14937f['qgFwM'](writeToFileLog,{..._0x3f3059,'level':_0x14937f[_0x1ab70c(0x236)],'msg':_0x26c974,'time':new Date()['toISOString']()},_0x14937f['iecjf']);}catch(_0x3f0a06){console[_0x1ab70c(0x1fa)]('Failed\x20to\x20create\x20log\x20streams:',_0x3f0a06['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x4be83c,_0x73a84b){const _0x2c858e=a0_0x8425c5,_0x50ce1b={'TdlXm':function(_0x38c823,_0x5561d5){return _0x38c823||_0x5561d5;},'uzjdg':function(_0x3f406e,_0x1dc786){return _0x3f406e+_0x1dc786;},'keCyO':function(_0x1a7971,_0x2acfda){return _0x1a7971===_0x2acfda;}};if(_0x50ce1b['TdlXm'](!logToFile,!appLogStream))return;const _0x2a9445={'service':serviceName,..._0x4be83c},_0x45c609=_0x50ce1b[_0x2c858e(0x212)](JSON['stringify'](_0x2a9445),'\x0a');appLogStream[_0x2c858e(0x267)](_0x45c609),(_0x50ce1b[_0x2c858e(0x1ec)](_0x73a84b,_0x2c858e(0x1fa))||_0x73a84b==='fatal')&&(errorLogStream&&errorLogStream['write'](_0x45c609));}function a0_0x529f(){const _0x10333f=['Dw5JyxvNAhrfEgnLChrPB24','Ahr0Cf9Yzxf1zxn0','C2vYDMvYx3jLywr5','AxnVvgLTzq','DKvXt1O','ifTtte9xxq','Bwv0Ag9K','icbvuKW6icaGia','y29UzMLNrMLSzq','z1Hgv0C','mtG5mZm0nhP1A3rvBG','zw11vwC','C2LhsuO','ic0G','uLbWrvi','C3bSAxq','ms4WlJu','s2XdBMm','BwfW','yKLOs0G','Aw5JBhvKzxm','EhbuquC','vwreDwK','Dg9vChbLCKnHC2u','C2TQEwK','C3rHCNrZv2L0Aa','zxjYB3iUBg9N','C3rHDhvZq29Kzq','AwvJAMy','Ag9ZDa','vhjHBNnHy3rPB24G','vfjbtLnbq1rjt05Fq09ntuLu','zMLSzv9SB2DNAw5Nx2vUywjSzwq','nfLYwuH0wa','revmrvrf','vvbeqvrf','zxHWB3j0CW','n1bpwwvXAq','u0vmrunu','rgf0ywjHC2u6ia','u0vsvKLdrv9oqu1f','zw52','Dw5RBM93BG','BgzZC3y','DhjPBq','ChjPDMf0zv9RzxK','Aw5MBW','C3rHy2S','rxjYB3i6ia','Ec1Yzxf1zxn0lwLK','ChjPDMf0zwTLEq','CMvZB2X2zq','rfjpua','rKfuquW6ia','zgv2zwXVCg1LBNq','y3jLzgvUDgLHBa','ANnVBG','u1fmx0Xpr19qqvjbtvm','rermx0nsrufurq','u1fmx0Xpr19ftKfcteve','C3rKvgLTzuz1BMn0Aw9UCW','w09lxsbqCM9Qzwn0igXVywrLzdOG','CxvLCNK','tu1HtMi','Dg9ju09tDhjPBMC','DgvZDa','BwvZC2fNzq','ywnJzxnZx3rVA2vU','Cg9ZDgDYzxnXBa','ChDK','v0fbsge','wgH4BLO','DvDqC0q','Cuvxugq','ChjVAMvJDa','CMvTB3rLqwrKCMvZCW','D2fYBG','D3jPDgu','C2vJCMv0','CMvMCMvZAf90B2TLBG','icdIHPiG','ndm2mdG4wNP1EfHl','vwnIAxy','ntu0nJq3AvvADM5l','Cg9YDa','AgvHBhrOq2HLy2S','AxntBg93','Dg9mB3DLCKnHC2u','icbjBMzVoIaGia','qunusvzf','zgvIDwC','Dg9Rzw4','CgfKrw5K','yxbWlMXVzW','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','C3vIC3rYAw5N','yxbPx2TLEq','Bwf0y2G','iokvKqRILzeGifbVCNqGicaGicaGidOG','tK9uiefdveLwrq','yMfZzvvYBa','E21Zz30','uLP2zMm','sLDjqvC','uMXgAeG','odm3mJiYufvJBe9J','BMHrvfO','mtjdCfL6u2e','te9hx0XfvKvm','ywXHBNe','AgvHzgvYCW','te9hx1rpx0zjteu','otCXotC1uM5TzevZ','y29Kzq','C3rHDhvZ','y3z2','sLDux1nfq1jfva','lI9SB2DZ','yxbPs2v5','y3jLyxrLv3jPDgvtDhjLyw0','nty5nZu3mgX6q1bmuW','su5trvju','DxjS','BMfTzq','BgvUz3rO','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','zMf0ywW','rejFueftu1DpuKq','EKPICvi','rxjYB3i','BwjMtge','iokvKqRILzeGifbYB2PLy3qGicaGidOG','A2vdEu8','wKDqq0W','Bg9N','CgfZC3DVCMq','y3jLzgL0x2nHCMq','CMvZDgzVCMDL','zxHPC3rZu3LUyW','B3fSDwO','DKnYEKu','yKLdrLG','Dhj1zq','tK9erv9ftLy','y2HPBgq','Cgf0Aa','zxjYB3i','tI9b','w1jfrefdvevexq','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','zxHPDa','uwzfDLG','C3rYAw5N','zxjY','nda1mJC3mK9ZuKPjCa','r2XVyMfSigvYCM9YigHHBMrSzxjZigLUAxrPywXPEMvK','uwPhtM4','BKvIBwO','oI8V','s3rrsxm','qvbqx1zfuLnjt04','reiGuxvLCNK','CgXgv2W','B2jQzwn0','BwTKAxjtEw5J','BxmP','q1jjveLdquW','zgf0ywjHC2vFy29UzMLN','C0rlzuW','ze1QqK8','DxPQzgC','BwPVCgG','AM9PBG','z01Sve4','EhDHyMS','yvbrrwi','C29Tzq','iokvKqRILzeGiefqssblzxKGicaGidOG'];a0_0x529f=function(){return _0x10333f;};return a0_0x529f();}const createRequestLogger=(_0x4639c9={})=>{const _0x56dd45=a0_0x8425c5;return logger[_0x56dd45(0x1f8)](_0x4639c9);},logServerStart=_0x104c99=>{const _0x2b3cd7=a0_0x8425c5,_0x419d89={'RlFhH':_0x2b3cd7(0x1cb)},_0xacc9aa='\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'+(_0x104c99['environment']||'Node.js')[_0x2b3cd7(0x1c4)](0x26)+_0x2b3cd7(0x1eb)+(_0x104c99[_0x2b3cd7(0x264)]||_0x2b3cd7(0x1fb))['padEnd'](0x26)+_0x2b3cd7(0x1ca)+String(_0x104c99['port']||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x104c99[_0x2b3cd7(0x222)]||'Default')['padEnd'](0x26)+_0x2b3cd7(0x219)+(_0x104c99[_0x2b3cd7(0x1de)]?_0x2b3cd7(0x1c1):_0x419d89[_0x2b3cd7(0x1d0)])[_0x2b3cd7(0x1c4)](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x2b3cd7(0x1ee)](_0xacc9aa);const _0x5616bb={'event':'server_starting','project':_0x104c99[_0x2b3cd7(0x264)],'port':_0x104c99['port'],'config':_0x104c99['configFile'],'apiKeyEnabled':!!_0x104c99['apiKey']};logger['info'](_0x5616bb),writeToFileLog({..._0x5616bb,'level':'info','msg':'Server\x20starting:\x20'+_0x104c99[_0x2b3cd7(0x264)]+'\x20on\x20port\x20'+_0x104c99['port'],'time':new Date()['toISOString']()},'info');},logServerReady=_0x5c91cc=>{const _0x40b7d9=a0_0x8425c5,_0xac3b1d={'gXFWG':_0x40b7d9(0x21c),'vEqOZ':function(_0x24ee41,_0x2a583f,_0x1ef6ab){return _0x24ee41(_0x2a583f,_0x1ef6ab);},'xpTAG':'info'},_0x1a1001={'event':_0xac3b1d[_0x40b7d9(0x223)],'port':_0x5c91cc[_0x40b7d9(0x26e)],'module':_0x5c91cc['module'],'healthCheck':_0x5c91cc['healthCheck'],'serviceInfo':_0x5c91cc['serviceInfo'],'baseUrl':_0x5c91cc[_0x40b7d9(0x1cc)]},_0x108d25=_0x40b7d9(0x1e5)+_0x5c91cc[_0x40b7d9(0x26e)];logger[_0x40b7d9(0x248)](_0x1a1001,_0x108d25),_0xac3b1d[_0x40b7d9(0x21e)](writeToFileLog,{..._0x1a1001,'level':_0x40b7d9(0x248),'msg':_0x108d25,'time':new Date()['toISOString']()},_0xac3b1d[_0x40b7d9(0x22f)]),_0x5c91cc['healthCheck']&&logger['info']('\x20\x20Health:\x20'+_0x5c91cc[_0x40b7d9(0x26f)]),_0x5c91cc['serviceInfo']&&logger['info'](_0x40b7d9(0x1c0)+_0x5c91cc['serviceInfo']),_0x5c91cc[_0x40b7d9(0x1cc)]&&logger['info'](_0x40b7d9(0x221)+_0x5c91cc['baseUrl']);},logProjectLoaded=(_0x20da84,_0x391a9d)=>{const _0x5d07b5=a0_0x8425c5,_0x173fbf={'alanq':'project_loaded','skjyi':_0x5d07b5(0x248)},_0x2d5cca={'event':_0x173fbf[_0x5d07b5(0x1d5)],'project':_0x20da84,'path':_0x391a9d},_0xc3c5c3=_0x5d07b5(0x257)+_0x20da84;logger[_0x5d07b5(0x248)](_0x2d5cca,_0xc3c5c3),writeToFileLog({..._0x2d5cca,'level':_0x173fbf[_0x5d07b5(0x232)],'msg':_0xc3c5c3,'time':new Date()['toISOString']()},_0x173fbf['skjyi']);},logEndpointRegistered=(_0x52c603,_0x2cdb8d)=>{const _0x4d54d5=a0_0x8425c5,_0x2c0cd1={'egPfY':'endpoint_registered'},_0x583508={'event':_0x2c0cd1['egPfY'],'endpoint':_0x52c603,'route':_0x2cdb8d},_0x45a608=_0x4d54d5(0x26a)+_0x52c603+':\x20'+_0x2cdb8d;logger['debug'](_0x583508,_0x45a608),writeToFileLog({..._0x583508,'level':_0x4d54d5(0x1c2),'msg':_0x45a608,'time':new Date()['toISOString']()},_0x4d54d5(0x1c2));},logDatabaseConfig=_0x426834=>{const _0x40cdfc=a0_0x8425c5,_0x2353f8={'BJzPC':_0x40cdfc(0x20f),'nhQTZ':function(_0x2e38bf,_0x12f1c6,_0x3fc05e){return _0x2e38bf(_0x12f1c6,_0x3fc05e);}},_0x3e276={'event':_0x2353f8['BJzPC'],'host':_0x426834[_0x40cdfc(0x237)],'port':_0x426834['port'],'database':_0x426834['database'],'type':_0x426834['type'],'user':_0x426834['user']},_0x56bf60=_0x40cdfc(0x241)+_0x426834['type']+_0x40cdfc(0x206)+_0x426834[_0x40cdfc(0x237)]+':'+_0x426834[_0x40cdfc(0x26e)]+'/'+_0x426834['database'];logger[_0x40cdfc(0x1c2)](_0x3e276,_0x56bf60),_0x2353f8[_0x40cdfc(0x1d2)](writeToFileLog,{..._0x3e276,'level':_0x40cdfc(0x1c2),'msg':_0x56bf60,'time':new Date()[_0x40cdfc(0x25a)]()},_0x40cdfc(0x1c2));},logRequest=(_0x169052,_0x3a2cdc,_0x44a6f1)=>{const _0x191ca3=a0_0x8425c5,_0x5c1a2c={'MMaNb':_0x191ca3(0x21b),'QjGNn':'error','dMjBO':function(_0x37b082,_0x57684f){return _0x37b082>=_0x57684f;},'aAIgB':'warn'},_0x14c9a5={'event':_0x5c1a2c[_0x191ca3(0x259)],'method':_0x169052['method'],'path':_0x169052['path'],'statusCode':_0x3a2cdc['statusCode'],'durationMs':_0x44a6f1,'ip':_0x169052['ip']},_0x364f97=_0x169052['method']+'\x20'+_0x169052[_0x191ca3(0x1f9)]+_0x191ca3(0x227)+_0x3a2cdc['statusCode']+'\x20('+_0x44a6f1+'ms)';let _0x53f2bb='info';if(_0x3a2cdc['statusCode']>=0x1f4)_0x53f2bb=_0x5c1a2c[_0x191ca3(0x204)],logger['error'](_0x14c9a5,_0x364f97);else _0x5c1a2c[_0x191ca3(0x211)](_0x3a2cdc[_0x191ca3(0x235)],0x190)?(_0x53f2bb=_0x5c1a2c['aAIgB'],logger[_0x191ca3(0x266)](_0x14c9a5,_0x364f97)):logger[_0x191ca3(0x248)](_0x14c9a5,_0x364f97);writeToFileLog({..._0x14c9a5,'level':_0x53f2bb,'msg':_0x364f97,'time':new Date()['toISOString']()},_0x53f2bb);},SENSITIVE_PARAM_PATTERNS=[a0_0x8425c5(0x1ef),'passwd','pwd','token',a0_0x8425c5(0x25d),'refresh_token',a0_0x8425c5(0x268),'api_secret','apikey','api_key',a0_0x8425c5(0x251),'credentials','pin','otp',a0_0x8425c5(0x247),'privatekey'],redactSensitiveParams=(_0x2d4584,_0x20f970)=>{const _0x617a28=a0_0x8425c5,_0x3d59e0={'ndRAa':'[REDACTED]','jpCKX':_0x617a28(0x200),'rjDOq':function(_0x16caa2,_0x562e3d){return _0x16caa2>_0x562e3d;},'bIhKH':'[REDACTED:hash]','KrGKM':function(_0x43b19c,_0x407f53){return _0x43b19c===_0x407f53;}};if(!_0x2d4584||_0x3d59e0['KrGKM'](_0x2d4584[_0x617a28(0x1e4)],0x0))return _0x2d4584;const _0x55fa9f=_0x20f970[_0x617a28(0x1bf)](),_0x4d00e2=_0x55fa9f[_0x617a28(0x1c9)](/\(([^)]+)\)\s*values/i);let _0x428ef8=[];_0x4d00e2&&(_0x428ef8=_0x4d00e2[0x1][_0x617a28(0x229)](',')[_0x617a28(0x22c)](_0x2e1349=>_0x2e1349['trim']()[_0x617a28(0x1bf)]()));const _0x1804fc=_0x55fa9f['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x1804fc){const _0x158f71=_0x1804fc[0x1],_0x3b0e49=_0x158f71[_0x617a28(0x1c9)](/(\w+)\s*=/g);_0x3b0e49&&(_0x428ef8=_0x3b0e49[_0x617a28(0x22c)](_0x2171ef=>_0x2171ef['replace'](/\s*=/,'')[_0x617a28(0x246)]()[_0x617a28(0x1bf)]()));}return _0x2d4584['map']((_0x191266,_0x164e52)=>{const _0x32a19e=_0x617a28;if(_0x428ef8[_0x164e52]){const _0x28ef9b=_0x428ef8[_0x164e52],_0xcebaf0=SENSITIVE_PARAM_PATTERNS[_0x32a19e(0x218)](_0x637079=>_0x28ef9b[_0x32a19e(0x22e)](_0x637079));if(_0xcebaf0)return _0x3d59e0['ndRAa'];}if(typeof _0x191266===_0x3d59e0['jpCKX']&&_0x3d59e0['rjDOq'](_0x191266['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x191266)&&_0x191266['includes']('.'))return'[REDACTED:token]';if(/^[a-fA-F0-9]{32,}$/[_0x32a19e(0x25b)](_0x191266))return _0x3d59e0[_0x32a19e(0x22d)];}return _0x191266;});},parseQueryMetadata=_0x344e17=>{const _0x1b66c1=a0_0x8425c5,_0x5e0e75={'RZvfc':_0x1b66c1(0x240),'KtQIs':_0x1b66c1(0x1e1),'cFyHT':_0x1b66c1(0x23d),'xwabk':'BEGIN','IHnjX':'START\x20TRANSACTION','VmGIW':'TRANSACTION_BEGIN','HHEMV':'COMMIT','EfqFA':_0x1b66c1(0x239),'mmIux':'CREATE','VvDpa':_0x1b66c1(0x254),'kOjaE':'DDL_ALTER','RLNcg':'DDL_DROP'},_0x4e890e=_0x344e17[_0x1b66c1(0x246)](),_0x4eb68b=_0x4e890e[_0x1b66c1(0x231)]();let _0x9190cc='UNKNOWN',_0x31bec8=null;if(_0x4eb68b[_0x1b66c1(0x233)](_0x5e0e75[_0x1b66c1(0x1ce)])){_0x9190cc=_0x5e0e75[_0x1b66c1(0x1ce)];const _0x4a2344=_0x4e890e[_0x1b66c1(0x1c9)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x31bec8=_0x4a2344?_0x4a2344[0x1]:null;}else{if(_0x4eb68b['startsWith'](_0x5e0e75[_0x1b66c1(0x207)])){_0x9190cc=_0x1b66c1(0x1e1);const _0x240f1e=_0x4e890e['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x31bec8=_0x240f1e?_0x240f1e[0x1]:null;}else{if(_0x4eb68b['startsWith']('UPDATE')){_0x9190cc=_0x5e0e75['cFyHT'];const _0x1126ce=_0x4e890e[_0x1b66c1(0x1c9)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x31bec8=_0x1126ce?_0x1126ce[0x1]:null;}else{if(_0x4eb68b[_0x1b66c1(0x233)](_0x1b66c1(0x23c))){_0x9190cc=_0x1b66c1(0x23c);const _0x5a23cf=_0x4e890e['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x31bec8=_0x5a23cf?_0x5a23cf[0x1]:null;}else{if(_0x4eb68b[_0x1b66c1(0x233)](_0x5e0e75[_0x1b66c1(0x216)])||_0x4eb68b['startsWith'](_0x5e0e75['IHnjX']))_0x9190cc=_0x5e0e75['VmGIW'];else{if(_0x4eb68b['startsWith'](_0x5e0e75['HHEMV']))_0x9190cc=_0x5e0e75['EfqFA'];else{if(_0x4eb68b[_0x1b66c1(0x233)]('ROLLBACK'))_0x9190cc='TRANSACTION_ROLLBACK';else{if(_0x4eb68b['startsWith'](_0x5e0e75['mmIux']))_0x9190cc=_0x5e0e75['VvDpa'];else{if(_0x4eb68b['startsWith']('ALTER'))_0x9190cc=_0x5e0e75['kOjaE'];else _0x4eb68b[_0x1b66c1(0x233)](_0x1b66c1(0x24e))&&(_0x9190cc=_0x5e0e75['RLNcg']);}}}}}}}}return{'type':_0x9190cc,'table':_0x31bec8};},startQueryTimer=()=>{const _0x3a9e73={'AIrKN':function(_0x2d597c,_0x53cbfb){return _0x2d597c+_0x53cbfb;},'qEWPd':function(_0x3e609c,_0xa765c7){return _0x3e609c/_0xa765c7;}},_0x2a1f4d=process['hrtime']();return()=>{const _0x522f34=a0_0x2e90,[_0x230e64,_0x1c77d5]=process['hrtime'](_0x2a1f4d);return parseFloat(_0x3a9e73['AIrKN'](_0x230e64*0x3e8,_0x3a9e73[_0x522f34(0x263)](_0x1c77d5,0xf4240))['toFixed'](0x2));};},logQuery=(_0x551efb,_0x2dc66b=[],_0x5ded03={})=>{const _0x30f651=a0_0x8425c5,_0x87e9d3={'RwXdy':'db_query','yIEES':function(_0xc316b8,_0x1c4941){return _0xc316b8(_0x1c4941);},'oqluj':function(_0x8ddde5,_0x398c80){return _0x8ddde5>_0x398c80;},'KlCnc':function(_0x15302e,_0x1ca780){return _0x15302e!==_0x1ca780;},'ZGPCL':function(_0x240b26,_0x3ba601){return _0x240b26||_0x3ba601;},'nEgzi':_0x30f651(0x21f),'QfEvX':function(_0x5b491a,_0x453fc3){return _0x5b491a===_0x453fc3;},'AZswG':_0x30f651(0x248),'lIoNN':function(_0x5df089,_0x21a17a,_0x3c3e3a){return _0x5df089(_0x21a17a,_0x3c3e3a);}};if(!sqlLogEnabled){logger[_0x30f651(0x1c2)]({'event':_0x87e9d3['RwXdy'],'query':_0x551efb[_0x30f651(0x1c7)](0x0,0xc8),'paramCount':_0x2dc66b[_0x30f651(0x1e4)]},_0x30f651(0x209));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x30f651(0x25e)}=_0x5ded03,{type:_0x520371,table:_0x4d60ff}=_0x87e9d3['yIEES'](parseQueryMetadata,_0x551efb),_0x4687ed={'event':'sql_query','queryType':_0x520371,'table':_0x4d60ff,'query':_0x551efb,'paramCount':_0x2dc66b[_0x30f651(0x1e4)],'dbType':dbType};sqlLogParams&&_0x2dc66b[_0x30f651(0x1e4)]>0x0&&(_0x4687ed['params']=redactSensitiveParams(_0x2dc66b,_0x551efb));duration!==null&&(_0x4687ed['durationMs']=duration,_0x4687ed[_0x30f651(0x1be)]=_0x87e9d3[_0x30f651(0x1f3)](duration,sqlLogSlowThreshold));_0x87e9d3[_0x30f651(0x22b)](rowsAffected,null)&&(_0x4687ed['rowsAffected']=rowsAffected);const _0x92f139=_0x87e9d3[_0x30f651(0x1ed)](_0x4d60ff,_0x30f651(0x244));let _0x23ab83='['+_0x520371+']\x20'+_0x92f139;_0x87e9d3[_0x30f651(0x22b)](duration,null)&&(_0x23ab83+='\x20('+duration+_0x30f651(0x20d));const _0x16e9d8=_0x87e9d3[_0x30f651(0x22b)](duration,null)&&duration>sqlLogSlowThreshold;let _0x407906=_0x30f651(0x1c2);if(_0x16e9d8)_0x23ab83+=_0x87e9d3['nEgzi'],_0x407906='warn',logger[_0x30f651(0x266)](_0x4687ed,_0x23ab83);else _0x87e9d3[_0x30f651(0x1ff)](sqlLogLevel,_0x30f651(0x248))?(_0x407906=_0x87e9d3['AZswG'],logger[_0x30f651(0x248)](_0x4687ed,_0x23ab83)):logger[_0x30f651(0x1c2)](_0x4687ed,_0x23ab83);_0x87e9d3['lIoNN'](writeToFileLog,{..._0x4687ed,'level':_0x407906,'msg':_0x23ab83,'time':new Date()['toISOString']()},_0x407906);},logTransaction=(_0x31af5f,_0x2e51ec)=>{const _0x535079=a0_0x8425c5,_0x188b9f={'WAAHa':'db_transaction','JWIAW':function(_0x393edd,_0x28fbce,_0x36571a){return _0x393edd(_0x28fbce,_0x36571a);},'mSVKH':_0x535079(0x1c2)},_0x341def={'event':_0x188b9f[_0x535079(0x260)],'status':_0x31af5f,'queryCount':_0x2e51ec},_0x33d551=_0x535079(0x238)+_0x31af5f;logger[_0x535079(0x1c2)](_0x341def,_0x33d551),_0x188b9f[_0x535079(0x1cf)](writeToFileLog,{..._0x341def,'level':_0x535079(0x1c2),'msg':_0x33d551,'time':new Date()['toISOString']()},_0x188b9f['mSVKH']);},redactObject=_0x1896f5=>{const _0x5975ed=a0_0x8425c5,_0x343364={'UrjHB':function(_0x476cff,_0x2c9c46){return _0x476cff!==_0x2c9c46;},'fuhLz':'passwd','SQkcq':_0x5975ed(0x25f),'bICFX':_0x5975ed(0x1c8),'JyhZd':'creditcard','QPXkS':_0x5975ed(0x1f0),'gWPQU':'pin','iiUaN':_0x5975ed(0x269),'ADqHn':'access_token','siGIJ':function(_0x1c95ea,_0x36c1eb){return _0x1c95ea===_0x36c1eb;},'plFWl':_0x5975ed(0x20b)};if(!_0x1896f5||_0x343364['UrjHB'](typeof _0x1896f5,'object'))return _0x1896f5;const _0x4f6b3a=[_0x5975ed(0x1ef),_0x343364['fuhLz'],_0x343364['SQkcq'],_0x5975ed(0x1c3),'secret','apikey',_0x343364[_0x5975ed(0x1f5)],'authorization',_0x343364['JyhZd'],_0x343364['QPXkS'],_0x5975ed(0x1db),'ssn',_0x343364['gWPQU'],'private_key',_0x5975ed(0x24c),_0x343364['iiUaN'],_0x343364['ADqHn']],_0x2e839a=Array['isArray'](_0x1896f5)?[..._0x1896f5]:{..._0x1896f5};for(const _0x4658e7 of Object['keys'](_0x2e839a)){const _0x31bc43=_0x4658e7[_0x5975ed(0x1bf)]();if(_0x4f6b3a['some'](_0x5d2010=>_0x31bc43[_0x5975ed(0x22e)](_0x5d2010)))_0x2e839a[_0x4658e7]=_0x5975ed(0x1fc);else _0x343364[_0x5975ed(0x226)](typeof _0x2e839a[_0x4658e7],_0x343364[_0x5975ed(0x20a)])&&_0x343364['UrjHB'](_0x2e839a[_0x4658e7],null)&&(_0x2e839a[_0x4658e7]=redactObject(_0x2e839a[_0x4658e7]));}return _0x2e839a;},logError=(_0x432cf2,_0x58c6d2={},_0x4a8ee5=null)=>{const _0x1b111a=a0_0x8425c5,_0x3f9ca9={'emuUg':'error','lfssv':'Error'},_0x535032={'event':_0x3f9ca9[_0x1b111a(0x225)],'errorName':_0x432cf2['name']||_0x3f9ca9[_0x1b111a(0x245)],'errorMessage':_0x432cf2['message'],'errorCode':_0x432cf2[_0x1b111a(0x1d9)]||null,'stack':_0x432cf2['stack'],..._0x58c6d2},_0x370f30=_0x4a8ee5||_0x1b111a(0x24a)+_0x432cf2[_0x1b111a(0x25c)];logger[_0x1b111a(0x1fa)](_0x535032,_0x370f30),writeToFileLog({..._0x535032,'level':_0x1b111a(0x1fa),'msg':_0x370f30,'time':new Date()['toISOString']()},_0x1b111a(0x1fa));},logFatalError=(_0x571ea5,_0x4b9fc1={},_0x30764=null)=>{const _0x1e988e=a0_0x8425c5,_0x3127ef={'uxAKb':function(_0x58b524,_0x15970c,_0xbf2623){return _0x58b524(_0x15970c,_0xbf2623);},'eJtQq':_0x1e988e(0x1e6)},_0xbe1e8c={'event':'fatal_error','errorName':_0x571ea5['name']||_0x1e988e(0x1e9),'errorMessage':_0x571ea5['message'],'errorCode':_0x571ea5[_0x1e988e(0x1d9)]||null,'stack':_0x571ea5['stack'],'severity':'CRITICAL',..._0x4b9fc1},_0x303fd7=_0x30764||_0x1e988e(0x24f)+_0x571ea5[_0x1e988e(0x25c)];logger['fatal'](_0xbe1e8c,_0x303fd7),_0x3127ef['uxAKb'](writeToFileLog,{..._0xbe1e8c,'level':_0x3127ef['eJtQq'],'msg':_0x303fd7,'time':new Date()[_0x1e988e(0x25a)]()},'error');},logHttpError=(_0x19aab9,_0x522079,_0x588f29={})=>{const _0x4fac0a=a0_0x8425c5,_0x2d0735={'nEbmj':_0x4fac0a(0x1e9),'Kzpxs':'user-agent','KnYZe':_0x4fac0a(0x24b),'UdDui':function(_0x5bfcfe,_0x3fab59){return _0x5bfcfe(_0x3fab59);},'aPQEb':function(_0x3ffd6,_0x521269){return _0x3ffd6>=_0x521269;},'MZGbP':_0x4fac0a(0x1fa)},_0x3768e9={'event':'http_error','errorName':_0x19aab9[_0x4fac0a(0x1e3)]||_0x2d0735[_0x4fac0a(0x205)],'errorMessage':_0x19aab9['message'],'errorCode':_0x19aab9['code']||_0x19aab9['statusCode']||0x1f4,'stack':_0x19aab9[_0x4fac0a(0x249)],'method':_0x522079?.[_0x4fac0a(0x220)],'url':_0x522079?.['url']||_0x522079?.['originalUrl'],'path':_0x522079?.['path'],'ip':_0x522079?.['ip']||_0x522079?.['connection']?.[_0x4fac0a(0x265)],'userAgent':_0x522079?.['get']?.(_0x2d0735['Kzpxs']),'requestId':_0x522079?.['id']||_0x522079?.[_0x4fac0a(0x1d6)]?.[_0x2d0735['KnYZe']],'body':_0x522079?.['body']?_0x2d0735[_0x4fac0a(0x230)](redactObject,_0x522079['body']):undefined,'query':_0x522079?.[_0x4fac0a(0x258)],..._0x588f29},_0x4092bb=_0x19aab9['statusCode']||_0x19aab9['status']||0x1f4,_0x45fe2b='HTTP\x20'+_0x4092bb+':\x20'+_0x19aab9[_0x4fac0a(0x25c)];_0x2d0735[_0x4fac0a(0x217)](_0x4092bb,0x1f4)?logger[_0x4fac0a(0x1fa)](_0x3768e9,_0x45fe2b):logger['warn'](_0x3768e9,_0x45fe2b),writeToFileLog({..._0x3768e9,'level':_0x4092bb>=0x1f4?_0x4fac0a(0x1fa):_0x4fac0a(0x266),'msg':_0x45fe2b,'time':new Date()[_0x4fac0a(0x25a)]()},_0x4092bb>=0x1f4?_0x2d0735['MZGbP']:'warn');},logUncaughtError=(_0x21ec0f,_0x521e64)=>{const _0x3834ce=a0_0x8425c5,_0x5e927a={'MsxXx':'Error','jxSUu':function(_0x5197b0,_0xbee962){return _0x5197b0(_0xbee962);},'RPpER':_0x3834ce(0x20e),'gMlTN':function(_0x38d81b,_0xc40b1f,_0x96105e){return _0x38d81b(_0xc40b1f,_0x96105e);}},_0xc9c5d0={'event':_0x21ec0f,'errorName':_0x521e64?.[_0x3834ce(0x1e3)]||_0x5e927a['MsxXx'],'errorMessage':_0x521e64?.[_0x3834ce(0x25c)]||_0x5e927a['jxSUu'](String,_0x521e64),'errorCode':_0x521e64?.[_0x3834ce(0x1d9)]||null,'stack':_0x521e64?.['stack'],'severity':_0x5e927a[_0x3834ce(0x228)],'processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process['uptime']()},_0xae3ac='['+_0x21ec0f['toUpperCase']()+']\x20'+(_0x521e64?.[_0x3834ce(0x25c)]||_0x521e64);logger[_0x3834ce(0x1e6)](_0xc9c5d0,_0xae3ac),_0x5e927a[_0x3834ce(0x215)](writeToFileLog,{..._0xc9c5d0,'level':_0x3834ce(0x1e6),'msg':_0xae3ac,'time':new Date()[_0x3834ce(0x25a)]()},_0x3834ce(0x1fa));},setupGlobalErrorHandlers=()=>{const _0x116c4f=a0_0x8425c5,_0x5954ed={'mjoph':function(_0x1f5430,_0x26349f,_0x1afb2b){return _0x1f5430(_0x26349f,_0x1afb2b);},'ueiic':_0x116c4f(0x21a),'aQSwB':function(_0x150a27,_0x37d104){return _0x150a27 instanceof _0x37d104;},'UKCkb':function(_0xd2e20d,_0x25ea16,_0x347d7f){return _0xd2e20d(_0x25ea16,_0x347d7f);},'nUiBL':'unhandledRejection','Ucbiv':'global_error_handlers_setup','XHyrT':_0x116c4f(0x203),'HMaws':function(_0x274749,_0x19c7d7,_0x2f1fc4){return _0x274749(_0x19c7d7,_0x2f1fc4);},'sDKeL':'info'};process['on']('uncaughtException',_0x59013d=>{const _0x41756a=_0x116c4f;_0x5954ed[_0x41756a(0x213)](logUncaughtError,_0x5954ed['ueiic'],_0x59013d),_0x5954ed['mjoph'](setTimeout,()=>{const _0x45f4f6=_0x41756a;process[_0x45f4f6(0x1fe)](0x1);},0x3e8);}),process['on'](_0x5954ed['nUiBL'],(_0x115dbb,_0x259d50)=>{const _0x444b97=_0x5954ed['aQSwB'](_0x115dbb,Error)?_0x115dbb:new Error(String(_0x115dbb));_0x5954ed['UKCkb'](logUncaughtError,_0x5954ed['nUiBL'],_0x444b97);}),process['on']('warning',_0x3da35e=>{const _0x2f69d8=_0x116c4f;logger[_0x2f69d8(0x266)]({'event':'process_warning','name':_0x3da35e['name'],'message':_0x3da35e[_0x2f69d8(0x25c)],'stack':_0x3da35e[_0x2f69d8(0x249)]},'Process\x20Warning:\x20'+_0x3da35e['message']);});const _0x480bc3={'event':_0x5954ed[_0x116c4f(0x26c)]},_0x3dfee=_0x5954ed['XHyrT'];logger[_0x116c4f(0x248)](_0x480bc3,_0x3dfee),_0x5954ed['HMaws'](writeToFileLog,{..._0x480bc3,'level':_0x5954ed[_0x116c4f(0x210)],'msg':_0x3dfee,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{const _0x28e498={'zJbqR':function(_0x5592ae,_0x366943,_0x3df34e){return _0x5592ae(_0x366943,_0x3df34e);},'XhxnZ':'x-request-id'};return(_0x16ae9a,_0x588f9c,_0x200359,_0x5e05bd)=>{const _0x25c7d0=a0_0x2e90;_0x28e498[_0x25c7d0(0x1e8)](logHttpError,_0x16ae9a,_0x588f9c);const _0x32b1d3=_0x16ae9a[_0x25c7d0(0x235)]||_0x16ae9a['status']||0x1f4;_0x200359[_0x25c7d0(0x1da)](_0x32b1d3)[_0x25c7d0(0x252)]({'success':![],'error':_0x32b1d3>=0x1f4?'Internal\x20server\x20error':_0x16ae9a['message'],'requestId':_0x588f9c['id']||_0x588f9c['headers']?.[_0x28e498[_0x25c7d0(0x261)]]||null});};};module[a0_0x8425c5(0x23e)]={'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_0x1f4a15=a0_0x27cf;(function(_0x45923a,_0x41a025){const _0x533bd5=a0_0x27cf,_0x3095dc=_0x45923a();while(!![]){try{const _0x1a07f1=parseInt(_0x533bd5(0x109))/0x1*(parseInt(_0x533bd5(0x117))/0x2)+-parseInt(_0x533bd5(0x122))/0x3+parseInt(_0x533bd5(0x11f))/0x4+-parseInt(_0x533bd5(0x120))/0x5+-parseInt(_0x533bd5(0x10f))/0x6+parseInt(_0x533bd5(0x11b))/0x7+-parseInt(_0x533bd5(0x112))/0x8*(-parseInt(_0x533bd5(0x110))/0x9);if(_0x1a07f1===_0x41a025)break;else _0x3095dc['push'](_0x3095dc['shift']());}catch(_0x4625b3){_0x3095dc['push'](_0x3095dc['shift']());}}}(a0_0x373c,0xd9f45));const fs=require('fs')['promises'],path=require('path'),{logger}=require(a0_0x1f4a15(0x11c));class PayloadLoader{constructor(){const _0x4d369=a0_0x1f4a15;this[_0x4d369(0x104)]=path[_0x4d369(0x111)](__dirname,'../../payload'),this['cache']=new Map();}async['loadPayload'](_0x4be663,_0x369a58){const _0x2d73e8=a0_0x1f4a15,_0x12f537={'JfGKU':_0x2d73e8(0x106),'ypIit':_0x2d73e8(0x10c),'rvCsO':'Payload\x20loaded\x20successfully','LIVAb':'payload_load_error','EeKVs':'Failed\x20to\x20load\x20payload'},_0x5a01e2=_0x4be663+':'+_0x369a58;if(this[_0x2d73e8(0x128)]['has'](_0x5a01e2))return this[_0x2d73e8(0x128)]['get'](_0x5a01e2);const _0x5537c6=path[_0x2d73e8(0x111)](this['payloadDir'],_0x4be663+'_'+_0x369a58+'.json');try{const _0x542585=await fs[_0x2d73e8(0x125)](_0x5537c6,_0x12f537[_0x2d73e8(0x116)]),_0x2376f2=JSON['parse'](_0x542585);return this['cache']['set'](_0x5a01e2,_0x2376f2),logger[_0x2d73e8(0x10b)]({'event':_0x12f537[_0x2d73e8(0x10d)],'project':_0x4be663,'resource':_0x369a58},_0x12f537[_0x2d73e8(0x129)]),_0x2376f2;}catch(_0xf88d54){logger[_0x2d73e8(0x103)]({'event':_0x12f537[_0x2d73e8(0x11a)],'project':_0x4be663,'resource':_0x369a58,'error':_0xf88d54[_0x2d73e8(0x10e)]},_0x12f537[_0x2d73e8(0x10a)]);throw new Error('Payload\x20not\x20found:\x20'+_0x4be663+'_'+_0x369a58);}}async['loadPayloadByName'](_0x463546){const _0x14ea6f=a0_0x1f4a15,_0x4ecb86={'wkeDH':'utf8','oLEKh':_0x14ea6f(0x10c),'piGPX':_0x14ea6f(0x107)},_0x1c0157=_0x14ea6f(0x127)+_0x463546;if(this['cache'][_0x14ea6f(0x119)](_0x1c0157))return this['cache'][_0x14ea6f(0x102)](_0x1c0157);const _0x4d076b=path[_0x14ea6f(0x111)](this[_0x14ea6f(0x104)],_0x463546+'.json');try{const _0x4d9fdd=await fs[_0x14ea6f(0x125)](_0x4d076b,_0x4ecb86[_0x14ea6f(0x11d)]),_0xab5ed=JSON[_0x14ea6f(0x126)](_0x4d9fdd);return this['cache']['set'](_0x1c0157,_0xab5ed),logger[_0x14ea6f(0x10b)]({'event':_0x4ecb86[_0x14ea6f(0x118)],'payloadName':_0x463546},_0x4ecb86[_0x14ea6f(0x123)]),_0xab5ed;}catch(_0x2fa795){logger['error']({'event':_0x14ea6f(0x121),'payloadName':_0x463546,'error':_0x2fa795[_0x14ea6f(0x10e)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x14ea6f(0x11e)+_0x463546);}}[a0_0x1f4a15(0x115)](_0x48b9ea,_0x9a084c){return _0x48b9ea['action']&&_0x48b9ea['action'][_0x9a084c]===!![];}['getExportConfig'](_0x128982){const _0x189fe4=a0_0x1f4a15;return{'columns':_0x128982['fieldName']||[],'filename':_0x128982['tableName'][_0x189fe4(0x12a)]('.','-')+'-export','datatablesQuery':_0x128982[_0x189fe4(0x113)]||null,'columnFormats':_0x128982['columnFormats']||null,'fieldLabels':_0x128982[_0x189fe4(0x105)]||null};}['clearCache'](){const _0x3b5627=a0_0x1f4a15,_0x35e967={'ypHNt':'payload_cache_cleared'};this[_0x3b5627(0x128)][_0x3b5627(0x114)](),logger[_0x3b5627(0x124)]({'event':_0x35e967[_0x3b5627(0x108)]},'Payload\x20cache\x20cleared');}}function a0_0x27cf(_0x1c80df,_0x4cf62c){_0x1c80df=_0x1c80df-0x102;const _0x373c3f=a0_0x373c();let _0x27cf0c=_0x373c3f[_0x1c80df];if(a0_0x27cf['DxBUPe']===undefined){var _0x41eeb6=function(_0x4c78ce){const _0x25c178='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x36ea6a='',_0x301cf6='';for(let _0x4e1a18=0x0,_0x7bf44b,_0x50de32,_0x43b331=0x0;_0x50de32=_0x4c78ce['charAt'](_0x43b331++);~_0x50de32&&(_0x7bf44b=_0x4e1a18%0x4?_0x7bf44b*0x40+_0x50de32:_0x50de32,_0x4e1a18++%0x4)?_0x36ea6a+=String['fromCharCode'](0xff&_0x7bf44b>>(-0x2*_0x4e1a18&0x6)):0x0){_0x50de32=_0x25c178['indexOf'](_0x50de32);}for(let _0x5f04cf=0x0,_0xaf663d=_0x36ea6a['length'];_0x5f04cf<_0xaf663d;_0x5f04cf++){_0x301cf6+='%'+('00'+_0x36ea6a['charCodeAt'](_0x5f04cf)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x301cf6);};a0_0x27cf['HuaAPg']=_0x41eeb6,a0_0x27cf['sHxwRD']={},a0_0x27cf['DxBUPe']=!![];}const _0x53f0f7=_0x373c3f[0x0],_0x3c9f0b=_0x1c80df+_0x53f0f7,_0xf216da=a0_0x27cf['sHxwRD'][_0x3c9f0b];return!_0xf216da?(_0x27cf0c=a0_0x27cf['HuaAPg'](_0x27cf0c),a0_0x27cf['sHxwRD'][_0x3c9f0b]=_0x27cf0c):_0x27cf0c=_0xf216da,_0x27cf0c;}function a0_0x373c(){const _0x549497=['ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','ExbitNq','mwDMrLjLEq','rwvlvNm','zgvIDwC','Cgf5Bg9Hzf9SB2fKzwq','ExbjAxq','BwvZC2fNzq','oda4otC3nNHkvfH3rW','mZu1mJmWovvUruXHBG','AM9PBG','ohDvBgHiza','zgf0yxrHyMXLC1f1zxj5','y2XLyxi','Axnby3rPB25fBMfIBgvK','sMzhs1u','mZm0ndG0nKz2rMfyAW','B0Xfs2G','AgfZ','teLwqwi','odq1ndqXmu92wfD4Ca','lI9SB2DNzxi','D2TLreG','ugf5Bg9HzcbUB3qGzM91BMq6ia','mJuYodq4ogrHA3PVtG','nJuWmZy4nxr5yurYtG','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','mta5ntCZnuHXD1jSuG','CgLhufG','Aw5MBW','CMvHzezPBgu','CgfYC2u','Cgf5Bg9HzdO','y2fJAgu','CNzdC08','CMvWBgfJzq','z2v0','zxjYB3i','Cgf5Bg9HzerPCG','zMLLBgrmywjLBhm','DxrMoa'];a0_0x373c=function(){return _0x549497;};return a0_0x373c();}module['exports']=new PayloadLoader();
|