@restforgejs/platform 5.3.5 → 5.3.7
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/bin/restforge-designer-linux +0 -0
- package/bin/restforge-designer.exe +0 -0
- package/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/cli/designer.js +3 -0
- package/generators/cli/fast-track.js +105 -34
- 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 +3 -2
- 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
|
-
|
|
1
|
+
const a0_0x164e9a=a0_0xac20;(function(_0x22af03,_0x348342){const _0x195cb9=a0_0xac20,_0x517de9=_0x22af03();while(!![]){try{const _0x28e60d=-parseInt(_0x195cb9(0x8f))/0x1*(parseInt(_0x195cb9(0x8b))/0x2)+parseInt(_0x195cb9(0xa6))/0x3+-parseInt(_0x195cb9(0x92))/0x4+parseInt(_0x195cb9(0x95))/0x5+parseInt(_0x195cb9(0x98))/0x6+parseInt(_0x195cb9(0xa1))/0x7*(-parseInt(_0x195cb9(0x91))/0x8)+parseInt(_0x195cb9(0xa0))/0x9*(parseInt(_0x195cb9(0x90))/0xa);if(_0x28e60d===_0x348342)break;else _0x517de9['push'](_0x517de9['shift']());}catch(_0x3bba41){_0x517de9['push'](_0x517de9['shift']());}}}(a0_0x3c9c,0x6b0ef));function a0_0xac20(_0x495f10,_0x42dc4a){_0x495f10=_0x495f10-0x8a;const _0x3c9c40=a0_0x3c9c();let _0xac205a=_0x3c9c40[_0x495f10];if(a0_0xac20['mYabur']===undefined){var _0x4fdb40=function(_0x38c3d9){const _0x560cc8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x486472='',_0xf37425='';for(let _0x5dba22=0x0,_0x21487f,_0x53e620,_0x2139e3=0x0;_0x53e620=_0x38c3d9['charAt'](_0x2139e3++);~_0x53e620&&(_0x21487f=_0x5dba22%0x4?_0x21487f*0x40+_0x53e620:_0x53e620,_0x5dba22++%0x4)?_0x486472+=String['fromCharCode'](0xff&_0x21487f>>(-0x2*_0x5dba22&0x6)):0x0){_0x53e620=_0x560cc8['indexOf'](_0x53e620);}for(let _0x22b04c=0x0,_0x415bd7=_0x486472['length'];_0x22b04c<_0x415bd7;_0x22b04c++){_0xf37425+='%'+('00'+_0x486472['charCodeAt'](_0x22b04c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xf37425);};a0_0xac20['MSMckK']=_0x4fdb40,a0_0xac20['XvlDoh']={},a0_0xac20['mYabur']=!![];}const _0x25d634=_0x3c9c40[0x0],_0x3a1078=_0x495f10+_0x25d634,_0x4ddf1c=a0_0xac20['XvlDoh'][_0x3a1078];return!_0x4ddf1c?(_0xac205a=a0_0xac20['MSMckK'](_0xac205a),a0_0xac20['XvlDoh'][_0x3a1078]=_0xac205a):_0xac205a=_0x4ddf1c,_0xac205a;}class DateTimeFormatter{static[a0_0x164e9a(0x8e)](_0x6f256d,_0x441c11,_0x5261f7){const _0x5f02ac=a0_0x164e9a,_0x389faa={'VLwcz':function(_0x543286,_0x5aa4f2){return _0x543286===_0x5aa4f2;},'aSKJc':'timestamp','SRFfX':_0x5f02ac(0x9e)};if(!_0x6f256d)return null;try{if(_0x389faa[_0x5f02ac(0x9a)](_0x5261f7,_0x5f02ac(0x9b)))return this[_0x5f02ac(0x99)](_0x6f256d,_0x441c11);else{if(_0x5261f7===_0x389faa['aSKJc'])return this['formatTimestamp'](_0x6f256d,_0x441c11);else{if(_0x5261f7===_0x389faa[_0x5f02ac(0x96)])return this['formatTime'](_0x6f256d,_0x441c11);}}return _0x6f256d;}catch(_0x2ff008){return console['error'](_0x5f02ac(0x9d)+_0x2ff008['message']),_0x6f256d;}}static[a0_0x164e9a(0x99)](_0x33268c,_0x344b3e){const _0x2da064=a0_0x164e9a,_0x37ab20={'qVCHN':function(_0x5b0406,_0x5bd3e9){return _0x5b0406(_0x5bd3e9);}},_0x3c5318=new Date(_0x33268c);if(_0x37ab20[_0x2da064(0x8a)](isNaN,_0x3c5318[_0x2da064(0xa7)]()))return console['warn'](_0x2da064(0x8c)+_0x33268c),_0x33268c;const _0x5de252=String(_0x3c5318['getDate']())[_0x2da064(0xa4)](0x2,'0'),_0x815de=String(_0x3c5318[_0x2da064(0x97)]()+0x1)[_0x2da064(0xa4)](0x2,'0'),_0x306be5=_0x3c5318[_0x2da064(0xa5)](),_0x34380b={'dd/MM/yyyy':_0x5de252+'/'+_0x815de+'/'+_0x306be5,'dd-MM-yyyy':_0x5de252+'-'+_0x815de+'-'+_0x306be5,'MM/dd/yyyy':_0x815de+'/'+_0x5de252+'/'+_0x306be5,'yyyy/MM/dd':_0x306be5+'/'+_0x815de+'/'+_0x5de252,'yyyy-MM-dd':_0x306be5+'-'+_0x815de+'-'+_0x5de252};return _0x34380b[_0x344b3e]||_0x306be5+'-'+_0x815de+'-'+_0x5de252;}static[a0_0x164e9a(0x9c)](_0x5ecc9b,_0x517908){const _0x4cc72e=a0_0x164e9a,_0x4a1e86={'auYTt':function(_0xdb6521,_0x37efd0){return _0xdb6521(_0x37efd0);}},_0x4e2b72=new Date(_0x5ecc9b);if(_0x4a1e86['auYTt'](isNaN,_0x4e2b72[_0x4cc72e(0xa7)]()))return console['warn'](_0x4cc72e(0x9f)+_0x5ecc9b),_0x5ecc9b;const _0x11d554=String(_0x4e2b72[_0x4cc72e(0x94)]())['padStart'](0x2,'0'),_0x12163f=String(_0x4e2b72['getMonth']()+0x1)['padStart'](0x2,'0'),_0x23afd0=_0x4e2b72['getFullYear'](),_0x138d03=String(_0x4e2b72[_0x4cc72e(0x8d)]())[_0x4cc72e(0xa4)](0x2,'0'),_0x1d277a=_0x4a1e86['auYTt'](String,_0x4e2b72['getMinutes']())[_0x4cc72e(0xa4)](0x2,'0'),_0x3f9db8=String(_0x4e2b72[_0x4cc72e(0x93)]())[_0x4cc72e(0xa4)](0x2,'0'),_0x5bfd0b=_0x517908['split']('\x20');if(_0x5bfd0b[_0x4cc72e(0xa2)]!==0x2)return _0x23afd0+'-'+_0x12163f+'-'+_0x11d554+'\x20'+_0x138d03+':'+_0x1d277a+':'+_0x3f9db8;const _0x453878=_0x5bfd0b[0x0],_0x3e2978=_0x5bfd0b[0x1],_0x31e00f={'dd/MM/yyyy':_0x11d554+'/'+_0x12163f+'/'+_0x23afd0,'dd-MM-yyyy':_0x11d554+'-'+_0x12163f+'-'+_0x23afd0,'MM/dd/yyyy':_0x12163f+'/'+_0x11d554+'/'+_0x23afd0,'yyyy/MM/dd':_0x23afd0+'/'+_0x12163f+'/'+_0x11d554,'yyyy-MM-dd':_0x23afd0+'-'+_0x12163f+'-'+_0x11d554},_0x3e86da={'HH:mm':_0x138d03+':'+_0x1d277a,'HH:mm:ss':_0x138d03+':'+_0x1d277a+':'+_0x3f9db8,'hh:mm':_0x138d03+':'+_0x1d277a},_0x4f4bc8=_0x31e00f[_0x453878]||_0x23afd0+'-'+_0x12163f+'-'+_0x11d554,_0x34024c=_0x3e86da[_0x3e2978]||_0x138d03+':'+_0x1d277a+':'+_0x3f9db8;return _0x4f4bc8+'\x20'+_0x34024c;}static[a0_0x164e9a(0xa8)](_0x5c0aec,_0x2e5b58){const _0x5af596=a0_0x164e9a,_0x496251={'RxnBT':function(_0x5ccf69,_0x38824b){return _0x5ccf69<_0x38824b;}};if(typeof _0x5c0aec!=='string')return _0x5c0aec;const _0x308ef3=_0x5c0aec['split'](':');if(_0x496251['RxnBT'](_0x308ef3['length'],0x2))return console[_0x5af596(0xa3)]('Invalid\x20time\x20value:\x20'+_0x5c0aec),_0x5c0aec;const _0x171c8d=_0x308ef3[0x0]['padStart'](0x2,'0'),_0x2a5bdb=_0x308ef3[0x1][_0x5af596(0xa4)](0x2,'0'),_0x2aa25d=_0x308ef3[0x2]?_0x308ef3[0x2]['split']('.')[0x0]['padStart'](0x2,'0'):'00',_0x325642={'HH:mm':_0x171c8d+':'+_0x2a5bdb,'HH:mm:ss':_0x171c8d+':'+_0x2a5bdb+':'+_0x2aa25d,'hh:mm':_0x171c8d+':'+_0x2a5bdb};return _0x325642[_0x2e5b58]||_0x171c8d+':'+_0x2a5bdb+':'+_0x2aa25d;}}function a0_0x3c9c(){const _0x33180f=['sw52ywXPzcbKyxrLihzHBhvLoIa','z2v0sg91CNm','zM9YBwf0','nJm5otuZvwrxB2zU','mte4mZe1otbnvKDouKG','nte3nty4wLnKzenZ','mtiWmty0oenvCeL5uW','z2v0u2vJB25KCW','z2v0rgf0zq','mty3ntC1nuTZr3v6Dq','u1jgzLG','z2v0tw9UDgG','nZu3nti0u2zzDxzy','zM9YBwf0rgf0zq','vKX3y3O','zgf0zq','zM9YBwf0vgLTzxn0yw1W','rxjYB3iGzM9YBwf0DgLUzYbKyxrLDgLTztOG','DgLTzq','sw52ywXPzcb0Aw1LC3rHBxaGDMfSDwu6ia','oufVweLhqG','nJnPv25Nuxa','BgvUz3rO','D2fYBG','CgfKu3rHCNq','z2v0rNvSBfLLyxi','otq5nZi4BwLws2PR','z2v0vgLTzq','zM9YBwf0vgLTzq','Cvzdse4','mLrNvvHnuG'];a0_0x3c9c=function(){return _0x33180f;};return a0_0x3c9c();}module['exports']=DateTimeFormatter;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a0_0x45c766=a0_0x4d32;(function(_0x263921,_0xd14ca7){const _0x51377a=a0_0x4d32,_0x59a81a=_0x263921();while(!![]){try{const _0x299543=-parseInt(_0x51377a(0xad))/0x1+parseInt(_0x51377a(0x8c))/0x2*(-parseInt(_0x51377a(0xa4))/0x3)+-parseInt(_0x51377a(0x8a))/0x4+parseInt(_0x51377a(0x96))/0x5*(parseInt(_0x51377a(0x8d))/0x6)+-parseInt(_0x51377a(0xa0))/0x7*(parseInt(_0x51377a(0x9d))/0x8)+parseInt(_0x51377a(0xaa))/0x9*(-parseInt(_0x51377a(0x95))/0xa)+parseInt(_0x51377a(0x97))/0xb;if(_0x299543===_0xd14ca7)break;else _0x59a81a['push'](_0x59a81a['shift']());}catch(_0xd6116e){_0x59a81a['push'](_0x59a81a['shift']());}}}(a0_0x2b07,0x265af));function a0_0x2b07(){const _0x437aa0=['mZrewKzKCgG','mte0uhPRzgH1','zM9YrwfJAa','shfwsKW','vw5RBM93BIbKyxrLigzVCM1HDdOG','Dwfhsvi','CgfYC2veyxrL','BgvUz3rO','u0zmD24','mtuZmtbhvwTOBgS','nZeWmZbqzLzgChy','oti5mJy2ohPMD2PPqq','EwvHCG','zgf5','B3jKzxi','lcbYzxr1CM5PBMCGBNvSBa','AunMBvy','odGYngLXwMDOua','DgLTzxn0yw1W','zxjYB3i','mtiXmxHxEuvVua','DgLTzq','Cgf0DgvYBG','zwTAzfq','mJy0mtvgtePgzwO','rxjYB3iGCgfYC2LUzYbKyxrLDgLTztOG','Bwf0y2G','D2fYBG','rgf0zsb2ywX1zsaI','C3bSAxq','mtyXmvj3r2LQCG','ALzyyMW','CgfYC2u','mtC3mte3BhnxthjO','s3rysKu','nJyZnZe2BNPQqwXT','BwvZC2fNzq'];a0_0x2b07=function(){return _0x437aa0;};return a0_0x2b07();}function a0_0x4d32(_0x537a8d,_0x2a87fa){_0x537a8d=_0x537a8d-0x8a;const _0x2b0743=a0_0x2b07();let _0x4d32bb=_0x2b0743[_0x537a8d];if(a0_0x4d32['rVlKXd']===undefined){var _0x409473=function(_0x6e8678){const _0x280413='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x46f643='',_0x5b876a='';for(let _0x4b6f07=0x0,_0x12f9ba,_0x4a8a1b,_0x524da0=0x0;_0x4a8a1b=_0x6e8678['charAt'](_0x524da0++);~_0x4a8a1b&&(_0x12f9ba=_0x4b6f07%0x4?_0x12f9ba*0x40+_0x4a8a1b:_0x4a8a1b,_0x4b6f07++%0x4)?_0x46f643+=String['fromCharCode'](0xff&_0x12f9ba>>(-0x2*_0x4b6f07&0x6)):0x0){_0x4a8a1b=_0x280413['indexOf'](_0x4a8a1b);}for(let _0x83a82f=0x0,_0x4058da=_0x46f643['length'];_0x83a82f<_0x4058da;_0x83a82f++){_0x5b876a+='%'+('00'+_0x46f643['charCodeAt'](_0x83a82f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b876a);};a0_0x4d32['dOfEig']=_0x409473,a0_0x4d32['TahLqc']={},a0_0x4d32['rVlKXd']=!![];}const _0x5f126b=_0x2b0743[0x0],_0x1a7ed9=_0x537a8d+_0x5f126b,_0x573b9c=a0_0x4d32['TahLqc'][_0x1a7ed9];return!_0x573b9c?(_0x4d32bb=a0_0x4d32['dOfEig'](_0x4d32bb),a0_0x4d32['TahLqc'][_0x1a7ed9]=_0x4d32bb):_0x4d32bb=_0x573b9c,_0x4d32bb;}class DateTimeParser{static[a0_0x45c766(0xac)](_0x1a8860,_0x4c1310,_0x324cec){const _0x4b59a6=a0_0x45c766,_0x86337={'jVXbl':function(_0x24a26e,_0x330558){return _0x24a26e===_0x330558;},'LGSlJ':_0x4b59a6(0xa1)};if(!_0x1a8860||_0x86337['jVXbl'](_0x1a8860,''))return null;try{if(_0x86337[_0x4b59a6(0xab)](_0x324cec,'date'))return this['parseDate'](_0x1a8860,_0x4c1310);else{if(_0x86337[_0x4b59a6(0xab)](_0x324cec,_0x4b59a6(0x9e)))return this['parseTimestamp'](_0x1a8860,_0x4c1310);else{if(_0x324cec===_0x86337['LGSlJ'])return this['parseTime'](_0x1a8860,_0x4c1310);}}return _0x1a8860;}catch(_0x6c1946){return console[_0x4b59a6(0x9f)](_0x4b59a6(0xa5)+_0x6c1946[_0x4b59a6(0x8b)]),null;}}static[a0_0x45c766(0x92)](_0x7298da,_0x2c996e){const _0x2727e7=a0_0x45c766,_0xd0bd3b={'KtXJE':function(_0x79ef3b,_0x1b3ccd){return _0x79ef3b+_0x1b3ccd;},'SFLwn':'yyyy-MM-dd','iCfmV':'year','uaGIR':'month','ekZdT':'day'};if(!_0x2c996e||_0x2c996e===_0xd0bd3b[_0x2727e7(0x94)])return _0x7298da;const _0x2aa845={'dd/MM/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0x2727e7(0x99),'month',_0xd0bd3b[_0x2727e7(0x9c)]]},'dd-MM-yyyy':{'pattern':/^(\d{2})-(\d{2})-(\d{4})$/,'order':[_0x2727e7(0x99),'month',_0x2727e7(0x98)]},'MM/dd/yyyy':{'pattern':/^(\d{2})\/(\d{2})\/(\d{4})$/,'order':[_0xd0bd3b[_0x2727e7(0x91)],_0x2727e7(0x99),_0x2727e7(0x98)]},'yyyy/MM/dd':{'pattern':/^(\d{4})\/(\d{2})\/(\d{2})$/,'order':['year',_0xd0bd3b['uaGIR'],_0xd0bd3b[_0x2727e7(0xa3)]]}},_0xcec4b5=_0x2aa845[_0x2c996e];if(!_0xcec4b5)return console['warn'](_0x2727e7(0x90)+_0x2c996e+_0x2727e7(0x9b)),null;const _0x1aa9f3=_0x7298da['match'](_0xcec4b5[_0x2727e7(0xa2)]);if(!_0x1aa9f3)return console[_0x2727e7(0xa7)](_0x2727e7(0xa8)+_0x7298da+'\x22\x20doesn\x27t\x20match\x20format\x20\x22'+_0x2c996e+'\x22'),null;const _0x481f1b={'day':null,'month':null,'year':null};return _0xcec4b5[_0x2727e7(0x9a)][_0x2727e7(0x8e)]((_0x185b00,_0x1592cd)=>{const _0x1e5315=_0x2727e7;_0x481f1b[_0x185b00]=_0x1aa9f3[_0xd0bd3b[_0x1e5315(0xae)](_0x1592cd,0x1)];}),_0x481f1b[_0x2727e7(0x98)]+'-'+_0x481f1b['month']+'-'+_0x481f1b['day'];}static['parseTimestamp'](_0x349eed,_0x25d935){const _0x160979=a0_0x45c766,_0x205bdc={'HqVJL':function(_0x4dc95a,_0x3a7d62){return _0x4dc95a===_0x3a7d62;}};if(!_0x25d935||_0x205bdc[_0x160979(0x8f)](_0x25d935,'yyyy-MM-dd\x20HH:mm:ss'))return _0x349eed;const _0x3b36af=_0x349eed['split']('\x20');if(_0x3b36af[_0x160979(0x93)]!==0x2)return console['warn']('Invalid\x20timestamp\x20format:\x20'+_0x349eed),null;const [_0x3048e6,_0x1d435d]=_0x3b36af,_0x43ac12=_0x25d935['split']('\x20')[0x0],_0x131185=this['parseDate'](_0x3048e6,_0x43ac12);if(!_0x131185)return null;const _0x50192c=_0x1d435d[_0x160979(0xa9)](':')['length']===0x2?_0x1d435d+':00':_0x1d435d;return _0x131185+'\x20'+_0x50192c;}static['parseTime'](_0x3f0279,_0x7a1334){const _0x42d4b4=a0_0x45c766,_0x369fb9={'VQSJZ':function(_0x425624,_0x27cb73){return _0x425624===_0x27cb73;},'muSWz':function(_0x5201f5,_0x3a5d9f){return _0x5201f5===_0x3a5d9f;}};if(!_0x7a1334||_0x369fb9['VQSJZ'](_0x7a1334,'HH:mm:ss'))return _0x3f0279;if(_0x369fb9['muSWz'](_0x7a1334,'HH:mm')){if(_0x3f0279[_0x42d4b4(0xa6)](/^\d{2}:\d{2}$/))return _0x3f0279+':00';}return _0x3f0279;}}module['exports']=DateTimeParser;
|
package/src/core/utils/db.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x179dcb=a0_0x2192;(function(_0x25068c,_0x281f5c){const _0x91a5dc=a0_0x2192,_0x24bad5=_0x25068c();while(!![]){try{const _0xccf363=-parseInt(_0x91a5dc(0xc4))/0x1*(parseInt(_0x91a5dc(0xa3))/0x2)+parseInt(_0x91a5dc(0x9b))/0x3*(parseInt(_0x91a5dc(0xb9))/0x4)+parseInt(_0x91a5dc(0xcb))/0x5+-parseInt(_0x91a5dc(0x97))/0x6*(-parseInt(_0x91a5dc(0x93))/0x7)+-parseInt(_0x91a5dc(0xbc))/0x8*(parseInt(_0x91a5dc(0xb8))/0x9)+parseInt(_0x91a5dc(0x9f))/0xa+parseInt(_0x91a5dc(0xbf))/0xb*(-parseInt(_0x91a5dc(0xd8))/0xc);if(_0xccf363===_0x281f5c)break;else _0x24bad5['push'](_0x24bad5['shift']());}catch(_0x366b38){_0x24bad5['push'](_0x24bad5['shift']());}}}(a0_0x5703,0x97253));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require(a0_0x179dcb(0xba)),dbConfig={'host':process['env']['DB_HOST']||'192.168.100.1','port':parseInt(process[a0_0x179dcb(0xb4)]['DB_PORT']||'5432'),'user':process[a0_0x179dcb(0xb4)]['DB_USER']||'postgres','password':process['env']['DB_PASSWORD']||'postgres1234','database':process['env']['DB_NAME']||'dbxa03'};logDatabaseConfig({'host':dbConfig['host'],'port':dbConfig[a0_0x179dcb(0x96)],'database':dbConfig[a0_0x179dcb(0xc7)],'type':a0_0x179dcb(0xa4),'user':dbConfig['user']});function a0_0x5703(){const _0x3392c8=['uxvLCNKGCMv0DxjUzwqG','B0fMB3q','y29UBMvJDa','ntuZnJC5nxbAtLL5AW','ihjVDW','DhjHBNnHy3rPB25Fy29TCgXLDgu','CMvSzwfZzq','zxjYB3i','s0PfsuG','veDfvuu','vwTYD08','C3rHCNq','rxjYB3iGCM9SBgLUzYbIywnRihrYyw5Zywn0Aw9UoIa','vMDkq0G','y29Kzq','wg9KrNy','ndH5v3Lwr2S','ote0owrYuMzXvq','rMvXuNy','Cuv4tfy','Cg9YDa','otu0z1L1A1rw','tM8Gzgf0ysbMB3vUzc4','ChvZAa','zgjFCg9VBf9JBg9Zzwq','oda3wunxEgf4','zKnHCvG','rgf0ywjHC2uGzxjYB3i6ia','C3fS','mtaWotC4mtbMyujNEvK','zgvIDwC','qxv4seK','qKvhsu4','nLHgEhPRsG','Cg9ZDgDYzxnXBa','s3Dju2S','qNfjAfC','zw5K','zhDqwe0','BwvZC2fNzq','y0LdufO','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','zxHWB3j0CW','q09ntuLu','BwPhAu4','C3vIC3rYAw5N','BxmSia','vefctevFtK9ux0zpvu5e','CM93CW','ndjqmde','zw52','CM93q291BNq','CgfYyw1Z','vgPgB1O','mtu2ntuZmLjwvLfLDG','mtqXodHpDLPtAfe','lI9SB2DNzxi','u0vmrunuide','mtz4BefKrLC','rvHxB2C','Afzkug4','nty1nda1nvnYBgDpCG','CxvLCNK','Aw5MBW','BgvUz3rO','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','oduZnJnNqvvPwNG','zvvXAKi','ze1Ly0m','zgf0ywjHC2u'];a0_0x5703=function(){return _0x3392c8;};return a0_0x5703();}let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x8bfe4c=a0_0x179dcb,_0x1f1d30={'AuxHI':'db_pool_recreate','BqIhW':'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'};return isPoolClosed&&(logger['info']({'event':_0x1f1d30[_0x8bfe4c(0xa1)]},_0x1f1d30[_0x8bfe4c(0xa6)]),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x3247fd,_0x4c2541=[]){const _0x1ab238=a0_0x179dcb,_0x2a4d94={'mjGiN':function(_0x4ac28d){return _0x4ac28d();},'fCaqX':_0x1ab238(0xa4),'dMecC':function(_0x53cf33){return _0x53cf33();}},_0x40ca91=_0x2a4d94[_0x1ab238(0xae)](startQueryTimer);try{const _0x32584b=getPool(),_0x5cc175=await _0x32584b[_0x1ab238(0xca)]();try{const _0x3dd07e=await _0x5cc175['query'](_0x3247fd,_0x4c2541),_0x5a3ec4=_0x40ca91();return logQuery(_0x3247fd,_0x4c2541,{'duration':_0x5a3ec4,'rowsAffected':_0x3dd07e[_0x1ab238(0xb5)],'dbType':_0x2a4d94[_0x1ab238(0x9c)]}),_0x3dd07e[_0x1ab238(0xb2)];}finally{_0x5cc175[_0x1ab238(0xce)]();}}catch(_0x2e0cde){const _0x2a3bf0=_0x2a4d94[_0x1ab238(0xc6)](_0x40ca91);logError(_0x2e0cde,{'event':'sql_error','query':_0x3247fd[_0x1ab238(0xaf)](0x0,0x1f4),'paramCount':_0x4c2541['length'],'durationMs':_0x2a3bf0,'code':_0x2e0cde[_0x1ab238(0xd6)],'dbType':_0x2a4d94[_0x1ab238(0x9c)]},'SQL\x20Error:\x20'+_0x2e0cde['message']);throw _0x2e0cde;}}function formatResponse(_0x488757,_0x48fb75=null){const _0x500006=a0_0x179dcb,_0x4b2949={'cICPZ':function(_0x510220,_0x4770e2){return _0x510220===_0x4770e2;},'VgJCH':_0x500006(0xb3),'aWEJu':_0x500006(0xb1),'qExLV':function(_0x1b3b91,_0x19e64c){return _0x1b3b91===_0x19e64c;}};if(_0x48fb75){let _0x4bf616='UNKNOWN_ERROR';if(_0x48fb75['message']['includes']('syntax\x20error'))_0x4bf616='SYNTAX_ERROR';else{if(_0x4b2949[_0x500006(0xaa)](_0x48fb75[_0x500006(0xd6)],_0x4b2949[_0x500006(0xd5)]))_0x4bf616=_0x4b2949['aWEJu'];else{if(_0x48fb75['code']==='28P01')_0x4bf616='AUTHENTICATION_ERROR';else(_0x4b2949['cICPZ'](_0x48fb75[_0x500006(0xd6)],'08006')||_0x48fb75[_0x500006(0xd6)]==='08001')&&(_0x4bf616='CONNECTION_ERROR');}}return{'success':![],'message':_0x500006(0x9d)+_0x48fb75[_0x500006(0xa9)],'count':-0x1,'error_code':_0x4bf616};}else{if(!_0x488757||_0x488757['length']===0x0)return{'success':!![],'message':_0x500006(0x98),'count':0x0,'data':[]};return{'success':!![],'message':_0x500006(0xc8)+_0x488757[_0x500006(0xc2)]+_0x500006(0xcc)+(_0x4b2949[_0x500006(0x95)](_0x488757[_0x500006(0xc2)],0x1)?'':'s')+'.','count':_0x488757['length'],'data':_0x488757};}}async function closePool(){const _0x44b88a=a0_0x179dcb,_0x514c45={'XodFv':'Database\x20pool\x20closed\x20successfully','wupPr':function(_0x356157,_0x4bb60e,_0x368d22,_0x4f6586){return _0x356157(_0x4bb60e,_0x368d22,_0x4f6586);},'FeqRv':'db_pool_close_error','EXWog':'db_pool_already_closed','TjFoZ':'Database\x20pool\x20was\x20already\x20closed'};if(!isPoolClosed)try{isPoolClosed=!![],await pool[_0x44b88a(0xa7)](),logger['info']({'event':_0x44b88a(0x9a)},_0x514c45[_0x44b88a(0xd7)]);}catch(_0x4b7695){_0x514c45['wupPr'](logError,_0x4b7695,{'event':_0x514c45[_0x44b88a(0x94)]},_0x44b88a(0xab)+_0x4b7695['message']);}else logger[_0x44b88a(0xa0)]({'event':_0x514c45[_0x44b88a(0xbd)]},_0x514c45[_0x44b88a(0xb7)]);}function a0_0x2192(_0x918096,_0x462b0f){_0x918096=_0x918096-0x93;const _0x570308=a0_0x5703();let _0x219263=_0x570308[_0x918096];if(a0_0x2192['oCKaaN']===undefined){var _0xfdcc2e=function(_0x987ab5){const _0x242b36='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4113fe='',_0x2edd63='';for(let _0xf4e62a=0x0,_0x4d646a,_0x368069,_0x1535d4=0x0;_0x368069=_0x987ab5['charAt'](_0x1535d4++);~_0x368069&&(_0x4d646a=_0xf4e62a%0x4?_0x4d646a*0x40+_0x368069:_0x368069,_0xf4e62a++%0x4)?_0x4113fe+=String['fromCharCode'](0xff&_0x4d646a>>(-0x2*_0xf4e62a&0x6)):0x0){_0x368069=_0x242b36['indexOf'](_0x368069);}for(let _0x175f85=0x0,_0x3e08d8=_0x4113fe['length'];_0x175f85<_0x3e08d8;_0x175f85++){_0x2edd63+='%'+('00'+_0x4113fe['charCodeAt'](_0x175f85)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2edd63);};a0_0x2192['jruwYQ']=_0xfdcc2e,a0_0x2192['IQTDds']={},a0_0x2192['oCKaaN']=!![];}const _0x11e5d5=_0x570308[0x0],_0xafb6b0=_0x918096+_0x11e5d5,_0x4bb90b=a0_0x2192['IQTDds'][_0xafb6b0];return!_0x4bb90b?(_0x219263=a0_0x2192['jruwYQ'](_0x219263),a0_0x2192['IQTDds'][_0xafb6b0]=_0x219263):_0x219263=_0x4bb90b,_0x219263;}async function checkConnection(){const _0x4be4ec=a0_0x179dcb,_0x2b9ff0={'xbDpv':function(_0x5d96f6,_0x40211b,_0x4df5f8,_0x109240){return _0x5d96f6(_0x40211b,_0x4df5f8,_0x109240);},'KwISk':'db_connection_check_error'};try{const _0x5ae16c=getPool(),_0x4d5eef=await _0x5ae16c['connect']();try{return await _0x4d5eef[_0x4be4ec(0xc0)](_0x4be4ec(0xbb)),!![];}finally{_0x4d5eef['release']();}}catch(_0x4c5204){return _0x2b9ff0['xbDpv'](logError,_0x4c5204,{'event':_0x2b9ff0[_0x4be4ec(0xa5)]},_0x4be4ec(0xc3)+_0x4c5204[_0x4be4ec(0xa9)]),![];}}async function executeTransaction(_0x542e70){const _0x36f7e0=a0_0x179dcb,_0x988778={'dwPXM':function(_0x503559){return _0x503559();},'jqing':_0x36f7e0(0xa2),'MvrKK':function(_0x40549d){return _0x40549d();},'eUqjB':_0x36f7e0(0xad),'KJEIH':_0x36f7e0(0xcd),'UkrwO':function(_0x1c2529){return _0x1c2529();},'oAfot':function(_0x2735cb,_0x169a2b,_0x3d76bc){return _0x2735cb(_0x169a2b,_0x3d76bc);},'hVJPn':'rollback','TGEUE':function(_0x40f1bc,_0x20ddd8,_0x5b0868,_0xf49b61){return _0x40f1bc(_0x20ddd8,_0x5b0868,_0xf49b61);},'DyPoI':'rollback_error','bPcIo':'client_release_error'};let _0x16f6ad;const _0x3d7ff3=_0x988778[_0x36f7e0(0xa8)](startQueryTimer);try{const _0x13337c=getPool();_0x16f6ad=await _0x13337c['connect'](),logTransaction(_0x36f7e0(0xd3),_0x542e70['length']),await _0x16f6ad['query'](_0x988778['jqing']);const _0x90c8e3=[];for(const _0xda6efe of _0x542e70){const _0x22d670=startQueryTimer(),_0xee4637=await _0x16f6ad[_0x36f7e0(0xc0)](_0xda6efe[_0x36f7e0(0x9e)],_0xda6efe['params']||[]),_0x5d15b7=_0x988778['MvrKK'](_0x22d670);logQuery(_0xda6efe['sql'],_0xda6efe[_0x36f7e0(0xb6)]||[],{'duration':_0x5d15b7,'rowsAffected':_0xee4637[_0x36f7e0(0xb5)],'dbType':'postgresql'}),_0x90c8e3[_0x36f7e0(0x99)](_0xee4637['rows']);}await _0x16f6ad[_0x36f7e0(0xc0)](_0x988778[_0x36f7e0(0xc5)]);const _0x4489e1=_0x988778['dwPXM'](_0x3d7ff3);return logTransaction('commit',_0x542e70[_0x36f7e0(0xc2)]),logger[_0x36f7e0(0xc1)]({'event':_0x988778[_0x36f7e0(0xd0)],'queryCount':_0x542e70[_0x36f7e0(0xc2)],'totalDurationMs':_0x4489e1,'dbType':'postgresql'},'Transaction\x20committed\x20('+_0x4489e1+_0x36f7e0(0xb0)+_0x542e70['length']+'\x20queries)'),_0x90c8e3;}catch(_0x3fc10a){const _0x5c78e8=_0x988778[_0x36f7e0(0xd2)](_0x3d7ff3);logError(_0x3fc10a,{'event':'transaction_error','queryCount':_0x542e70[_0x36f7e0(0xc2)],'totalDurationMs':_0x5c78e8,'code':_0x3fc10a[_0x36f7e0(0xd6)],'dbType':'postgresql'},'Transaction\x20failed:\x20'+_0x3fc10a[_0x36f7e0(0xa9)]);if(_0x16f6ad)try{await _0x16f6ad[_0x36f7e0(0xc0)]('ROLLBACK'),_0x988778[_0x36f7e0(0xc9)](logTransaction,_0x988778[_0x36f7e0(0xbe)],_0x542e70[_0x36f7e0(0xc2)]);}catch(_0x5eba08){_0x988778[_0x36f7e0(0xd1)](logError,_0x5eba08,{'event':_0x988778['DyPoI'],'dbType':_0x36f7e0(0xa4)},_0x36f7e0(0xd4)+_0x5eba08[_0x36f7e0(0xa9)]);}throw _0x3fc10a;}finally{if(_0x16f6ad)try{_0x16f6ad[_0x36f7e0(0xce)]();}catch(_0x358100){logger[_0x36f7e0(0xcf)]({'event':_0x988778['bPcIo'],'error':_0x358100['message'],'dbType':_0x36f7e0(0xa4)},'Error\x20releasing\x20transaction\x20client:\x20'+_0x358100['message']);}}}module[a0_0x179dcb(0xac)]={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
|
|
1
|
+
const a0_0x3528ae=a0_0x8e30;function a0_0x8e30(_0x248c1a,_0x4ddce8){_0x248c1a=_0x248c1a-0x161;const _0x4cb9a1=a0_0x4cb9();let _0x8e30c0=_0x4cb9a1[_0x248c1a];if(a0_0x8e30['eEhirH']===undefined){var _0x1acdf2=function(_0xf791a0){const _0x3f12d8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x47f0aa='',_0x101b86='';for(let _0x5c9436=0x0,_0x73706c,_0x55d972,_0x3a3e2e=0x0;_0x55d972=_0xf791a0['charAt'](_0x3a3e2e++);~_0x55d972&&(_0x73706c=_0x5c9436%0x4?_0x73706c*0x40+_0x55d972:_0x55d972,_0x5c9436++%0x4)?_0x47f0aa+=String['fromCharCode'](0xff&_0x73706c>>(-0x2*_0x5c9436&0x6)):0x0){_0x55d972=_0x3f12d8['indexOf'](_0x55d972);}for(let _0x1f9d41=0x0,_0x8fc0cd=_0x47f0aa['length'];_0x1f9d41<_0x8fc0cd;_0x1f9d41++){_0x101b86+='%'+('00'+_0x47f0aa['charCodeAt'](_0x1f9d41)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x101b86);};a0_0x8e30['ciBYwx']=_0x1acdf2,a0_0x8e30['FYVbCT']={},a0_0x8e30['eEhirH']=!![];}const _0x3e3470=_0x4cb9a1[0x0],_0x209dc4=_0x248c1a+_0x3e3470,_0x19a898=a0_0x8e30['FYVbCT'][_0x209dc4];return!_0x19a898?(_0x8e30c0=a0_0x8e30['ciBYwx'](_0x8e30c0),a0_0x8e30['FYVbCT'][_0x209dc4]=_0x8e30c0):_0x8e30c0=_0x19a898,_0x8e30c0;}(function(_0x45351e,_0xa703ca){const _0x572c2b=a0_0x8e30,_0x13a319=_0x45351e();while(!![]){try{const _0x330b60=-parseInt(_0x572c2b(0x161))/0x1+-parseInt(_0x572c2b(0x171))/0x2*(-parseInt(_0x572c2b(0x186))/0x3)+parseInt(_0x572c2b(0x190))/0x4*(-parseInt(_0x572c2b(0x177))/0x5)+parseInt(_0x572c2b(0x183))/0x6+parseInt(_0x572c2b(0x19e))/0x7+-parseInt(_0x572c2b(0x18e))/0x8*(parseInt(_0x572c2b(0x187))/0x9)+-parseInt(_0x572c2b(0x17a))/0xa*(-parseInt(_0x572c2b(0x16f))/0xb);if(_0x330b60===_0xa703ca)break;else _0x13a319['push'](_0x13a319['shift']());}catch(_0xa837ac){_0x13a319['push'](_0x13a319['shift']());}}}(a0_0x4cb9,0xddc26));function a0_0x4cb9(){const _0xe74245=['vhjHBNnHy3rPB24Gy29TBwL0DgvKicG','q1jABhy','m1rethDptG','oxDOBNDdwq','uw5ODe8','zxHWB3j0CW','zw52','rejFvvnfuG','BMHnz3C','Ae9Lz2i','mJK0nZG1nMjdAfPOBa','t2Xjrwu','nJG3mZC3mKvqDvvtrG','CM93CW','Cg9ZDgDYzxm','uK9mtejbq0S','ihf1zxjPzxmP','mtKYlJe2oc4XmdaUmq','tfPKELq','rxjYB3iGCM9SBgLUzYbIywnRihrYyw5Zywn0Aw9UoIa','EgnHyLi','C3vIC3rYAw5N','C3rHCNq','zgj4ytaZ','q09ntuLu','u0vmrunuide','nJy4ntC3n2DSr0Lfua','q3jLyxrPBMCGBMv3igrHDgfIyxnLihbVB2WGkhbYzxzPB3vZihbVB2WGD2fZignSB3nLzcK','vefctevFtK9ux0zpvu5e','ChvZAa','BgvUz3rO','CxvLCNK','rxjYB3iGCMvSzwfZAw5NihrYyw5Zywn0Aw9UignSAwvUDdOG','Aw5MBW','C3LUDgf4igvYCM9Y','zxjYB3i','ody0nZi1AgzLrgPo','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','uxvLCNKGCMv0DxjUzwqG','y2XPzw50x3jLBgvHC2vFzxjYB3i','q2X1u3i','y29UBMvJDa','y29Kzq','CM93q291BNq','rgf0ywjHC2uGCg9VBcbJBg9ZzwqGC3vJy2vZC2z1BgX5','rejFueftu1DpuKq','mdGWmdy','Cg9ZDgDYzxnXBa','BwvZC2fNzq','tM8Gzgf0ysbMB3vUzc4','mJi4otfMvfbVte8','BxboyvO','ndu1mJa2ug9oC1bq','mdGWmde','rxjYB3iGy2XVC2LUzYbKyxrHyMfZzsbWB29SoIa','vhjHBNnHy3rPB24GzMfPBgvKoIa','y29Pve8','C3fSx2vYCM9Y','nwrrsKH1zW','zgjFCg9VBf9JBg9Zzwq','sMT4rxK','nJG1mgTUqK50qq','y2Lkq3u','ugXSy1m','vvjzr2S','u1fmievYCM9YoIa','BLLeCwi','DhjHBNnHy3rPB25Fy29TCgXLDgu','CM9SBgjHy2S','rgf0ywjHC2uGCg9VBcb3yxmGywXYzwfKEsbJBg9Zzwq','nZuXmdy2mLPWz1jbAa'];a0_0x4cb9=function(){return _0xe74245;};return a0_0x4cb9();}const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger'),dbConfig={'host':process[a0_0x3528ae(0x18a)]['DB_HOST']||a0_0x3528ae(0x195),'port':parseInt(process['env']['DB_PORT']||'5432'),'user':process['env'][a0_0x3528ae(0x18b)]||a0_0x3528ae(0x192),'password':process['env'][a0_0x3528ae(0x16a)]||'postgres1234','database':process['env']['DB_NAME']||a0_0x3528ae(0x19b)};logDatabaseConfig({'host':dbConfig['host'],'port':dbConfig['port'],'database':dbConfig['database'],'type':'postgresql','user':dbConfig['user']});let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x3bf6a5=a0_0x3528ae,_0x1b4775={'stlTf':_0x3bf6a5(0x19f)};return isPoolClosed&&(logger['info']({'event':'db_pool_recreate'},_0x1b4775['stlTf']),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x53f0ee,_0x2ed521=[]){const _0x274d0a=a0_0x3528ae,_0x177542={'SgUQc':function(_0x54a004){return _0x54a004();},'PllcS':function(_0x4d2fea,_0x615f4d,_0x15f559,_0x157b2b){return _0x4d2fea(_0x615f4d,_0x15f559,_0x157b2b);}},_0x2b1707=_0x177542['SgUQc'](startQueryTimer);try{const _0x121834=getPool(),_0x18932a=await _0x121834['connect']();try{const _0x28bb72=await _0x18932a['query'](_0x53f0ee,_0x2ed521),_0x2bf68c=_0x2b1707();return _0x177542[_0x274d0a(0x17c)](logQuery,_0x53f0ee,_0x2ed521,{'duration':_0x2bf68c,'rowsAffected':_0x28bb72[_0x274d0a(0x168)],'dbType':_0x274d0a(0x16c)}),_0x28bb72[_0x274d0a(0x191)];}finally{_0x18932a['release']();}}catch(_0x3b9aaa){const _0x40a7fc=_0x2b1707();logError(_0x3b9aaa,{'event':_0x274d0a(0x176),'query':_0x53f0ee[_0x274d0a(0x199)](0x0,0x1f4),'paramCount':_0x2ed521[_0x274d0a(0x1a2)],'durationMs':_0x40a7fc,'code':_0x3b9aaa[_0x274d0a(0x167)],'dbType':_0x274d0a(0x16c)},_0x274d0a(0x17e)+_0x3b9aaa[_0x274d0a(0x16d)]);throw _0x3b9aaa;}}function formatResponse(_0x274e90,_0x5319cd=null){const _0x185ad3=a0_0x3528ae,_0x2baacb={'CvxSr':'UNKNOWN_ERROR','FxJRh':_0x185ad3(0x1a6),'CRZlv':'SYNTAX_ERROR','xcabR':_0x185ad3(0x1a0),'mpNaZ':function(_0x14d04a,_0x253d1d){return _0x14d04a===_0x253d1d;},'nhMgw':'28P01','LZdzT':'AUTHENTICATION_ERROR','zmuOD':_0x185ad3(0x16e)};if(_0x5319cd){let _0x5778b8=_0x2baacb['CvxSr'];if(_0x5319cd['message']['includes'](_0x2baacb['FxJRh']))_0x5778b8=_0x2baacb[_0x185ad3(0x185)];else{if(_0x5319cd['code']==='42P01')_0x5778b8=_0x2baacb[_0x185ad3(0x198)];else{if(_0x2baacb['mpNaZ'](_0x5319cd[_0x185ad3(0x167)],_0x2baacb[_0x185ad3(0x18c)]))_0x5778b8=_0x2baacb[_0x185ad3(0x196)];else(_0x2baacb[_0x185ad3(0x170)](_0x5319cd['code'],_0x185ad3(0x16b))||_0x5319cd[_0x185ad3(0x167)]===_0x185ad3(0x172))&&(_0x5778b8='CONNECTION_ERROR');}}return{'success':![],'message':'Database\x20error:\x20'+_0x5319cd[_0x185ad3(0x16d)],'count':-0x1,'error_code':_0x5778b8};}else{if(!_0x274e90||_0x274e90['length']===0x0)return{'success':!![],'message':_0x2baacb['zmuOD'],'count':0x0,'data':[]};return{'success':!![],'message':_0x185ad3(0x163)+_0x274e90[_0x185ad3(0x1a2)]+'\x20row'+(_0x274e90['length']===0x1?'':'s')+'.','count':_0x274e90['length'],'data':_0x274e90};}}async function closePool(){const _0x32e781=a0_0x3528ae,_0x221289={'hOegb':_0x32e781(0x178),'JkxEy':_0x32e781(0x169),'coiTO':function(_0x478cba,_0x1749a4,_0x58ed2c,_0x515dcb){return _0x478cba(_0x1749a4,_0x58ed2c,_0x515dcb);},'TnhrG':'db_pool_already_closed','NeIUK':_0x32e781(0x182)};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger[_0x32e781(0x1a5)]({'event':_0x221289[_0x32e781(0x18d)]},_0x221289[_0x32e781(0x179)]);}catch(_0x1c6e00){_0x221289[_0x32e781(0x175)](logError,_0x1c6e00,{'event':'db_pool_close_error'},_0x32e781(0x173)+_0x1c6e00[_0x32e781(0x16d)]);}else logger['debug']({'event':_0x221289['TnhrG']},_0x221289['NeIUK']);}async function checkConnection(){const _0x200036=a0_0x3528ae,_0xe50db1={'OlIEe':_0x200036(0x19d),'QnhtO':function(_0x28e3a2,_0x31bd03,_0x34ec24,_0x14eb73){return _0x28e3a2(_0x31bd03,_0x34ec24,_0x14eb73);},'EtTvi':'db_connection_check_error'};try{const _0x49774e=getPool(),_0x25525a=await _0x49774e['connect']();try{return await _0x25525a['query'](_0xe50db1[_0x200036(0x18f)]),!![];}finally{_0x25525a['release']();}}catch(_0x52f951){return _0xe50db1[_0x200036(0x188)](logError,_0x52f951,{'event':_0xe50db1['EtTvi']},_0x200036(0x162)+_0x52f951['message']),![];}}async function executeTransaction(_0x34f851){const _0x2cf842=a0_0x3528ae,_0x24eaaa={'nxBiz':function(_0x40589c){return _0x40589c();},'babYB':function(_0xfa39a5){return _0xfa39a5();},'CluSr':function(_0x41e23b,_0x4bacd4,_0x6cdef6){return _0x41e23b(_0x4bacd4,_0x6cdef6);},'ciJCu':_0x2cf842(0x193),'URYGk':_0x2cf842(0x181),'nYDqb':function(_0x5a1264,_0x752d6c,_0x5759c1,_0x4c10b){return _0x5a1264(_0x752d6c,_0x5759c1,_0x4c10b);},'SvjEr':'rollback_error','ntOsX':_0x2cf842(0x16c)};let _0x1de2cd;const _0x284d6a=startQueryTimer();try{const _0x852120=getPool();_0x1de2cd=await _0x852120[_0x2cf842(0x166)](),logTransaction(_0x2cf842(0x19a),_0x34f851[_0x2cf842(0x1a2)]),await _0x1de2cd['query']('BEGIN');const _0x543ecb=[];for(const _0x3181f9 of _0x34f851){const _0x318b55=startQueryTimer(),_0xae9a30=await _0x1de2cd['query'](_0x3181f9['sql'],_0x3181f9['params']||[]),_0x4794b4=_0x24eaaa['nxBiz'](_0x318b55);logQuery(_0x3181f9['sql'],_0x3181f9['params']||[],{'duration':_0x4794b4,'rowsAffected':_0xae9a30['rowCount'],'dbType':'postgresql'}),_0x543ecb[_0x2cf842(0x1a1)](_0xae9a30['rows']);}await _0x1de2cd[_0x2cf842(0x1a3)](_0x2cf842(0x19c));const _0x2038f8=_0x24eaaa['babYB'](_0x284d6a);return _0x24eaaa[_0x2cf842(0x165)](logTransaction,'commit',_0x34f851[_0x2cf842(0x1a2)]),logger[_0x2cf842(0x1a5)]({'event':_0x2cf842(0x180),'queryCount':_0x34f851[_0x2cf842(0x1a2)],'totalDurationMs':_0x2038f8,'dbType':_0x2cf842(0x16c)},_0x2cf842(0x184)+_0x2038f8+'ms,\x20'+_0x34f851['length']+_0x2cf842(0x194)),_0x543ecb;}catch(_0x4a074a){const _0xb5329b=_0x284d6a();logError(_0x4a074a,{'event':'transaction_error','queryCount':_0x34f851[_0x2cf842(0x1a2)],'totalDurationMs':_0xb5329b,'code':_0x4a074a[_0x2cf842(0x167)],'dbType':'postgresql'},_0x2cf842(0x174)+_0x4a074a[_0x2cf842(0x16d)]);if(_0x1de2cd)try{await _0x1de2cd['query'](_0x24eaaa[_0x2cf842(0x17b)]),_0x24eaaa[_0x2cf842(0x165)](logTransaction,_0x24eaaa[_0x2cf842(0x17d)],_0x34f851[_0x2cf842(0x1a2)]);}catch(_0x2df389){_0x24eaaa[_0x2cf842(0x17f)](logError,_0x2df389,{'event':_0x24eaaa['SvjEr'],'dbType':_0x24eaaa['ntOsX']},_0x2cf842(0x197)+_0x2df389[_0x2cf842(0x16d)]);}throw _0x4a074a;}finally{if(_0x1de2cd)try{_0x1de2cd['release']();}catch(_0xc969df){logger[_0x2cf842(0x1a7)]({'event':_0x2cf842(0x164),'error':_0xc969df['message'],'dbType':_0x24eaaa['ntOsX']},_0x2cf842(0x1a4)+_0xc969df['message']);}}}module[a0_0x3528ae(0x189)]={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
|
package/src/core/utils/logger.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a0_0x20a785=a0_0x58e3;(function(_0x1c639e,_0x52383c){const _0xfcf45f=a0_0x58e3,_0xe616c8=_0x1c639e();while(!![]){try{const _0x431465=-parseInt(_0xfcf45f(0x1f5))/0x1+parseInt(_0xfcf45f(0x1ea))/0x2*(-parseInt(_0xfcf45f(0x214))/0x3)+-parseInt(_0xfcf45f(0x19b))/0x4+-parseInt(_0xfcf45f(0x1fb))/0x5*(-parseInt(_0xfcf45f(0x1d9))/0x6)+-parseInt(_0xfcf45f(0x1cb))/0x7+-parseInt(_0xfcf45f(0x1de))/0x8*(-parseInt(_0xfcf45f(0x1e8))/0x9)+parseInt(_0xfcf45f(0x1ff))/0xa;if(_0x431465===_0x52383c)break;else _0xe616c8['push'](_0xe616c8['shift']());}catch(_0x3eae97){_0xe616c8['push'](_0xe616c8['shift']());}}}(a0_0x4066,0xdb91f));const pino=require('pino'),fs=require('fs'),path=require('path');function a0_0x4066(){const _0x2a4cf1=['Dg9ju09tDhjPBMC','v0DnsKC','zgjFCxvLCNK','uhjVy2vZCYbxyxjUAw5NoIa','r1jmAuC','BgvUz3rO','C3rHDhvZq29Kzq','Bwf0y2G','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','mtm3nZuWnxfKvfv1AW','Chfmz2q','BvjbrLy','ChjPDMf0zwTLEq','Aw5MBW','zgvIDwC','mtb5uKvuA2y','w09lxsbqCM9Qzwn0igXVywrLzdOG','rMLSzsbSB2DNAw5NigvUywjSzwq6ia','D0Tdwwq','ndy2ntu0odbQugHWCNm','w1jfrefdveveoNrVA2vUxq','icbjBMzVoIaGia','sNDiA2O','zw52','revmrvrf','DhLWzq','D2fYBG','Dxb0Aw1L','ChjVAMvJDa','rLPKDuu','iokvKqRILzeGifbVCNqGicaGicaGidOG','C0PdvLi','weTrELG','quXurvi','B3jPz2LUywXvCMW','sKrUELy','y2LYz2O','y3LWswO','s1rtBK8','C3rKvgLTzuz1BMn0Aw9UCW','odKZotCZEvfssgjS','rejFueftu1DpuKq','CMvZDgzVCMDL','z0LAqM0','ruHmvxm','yxbPx2TLEq','CgfKrw5K','zKnlrxC','CgfZC3DVCMq','zxHPDa','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','r0TKveK','BwvZC2fNzq','C0fcBeu','y2nZBuC','lI9SB2DZ','rermx0rst1a','DKHiDNK','BMfTzq','D09tDLC','y29Kzq','y2nmswm','tK9uiefdveLwrq','y3z2','zKzHCLa','D01Lrhq','C2vYDMvYx3n0yxj0Aw5N','Dhj1zq','q09ntuLu','y3jLzgvUDgLHBa','vKjiBgq','iokvKqRILzeGienVBMzPzYaGicaGidOG','B2jQzwn0','rMLlu1u','BM1ls0K','CgLU','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','vfjbtLnbq1rjt05FuK9mtejbq0S','Evf3EM8','zuPgv3y','ywnJzxnZx3rVA2vU','iokvKqRILzeGiefqssblzxKGicaGidOG','D3jPDgu','tM9Kzs5QCW','te9hx1rpx0zjteu','Aw5JBhvKzxm','vfjbtLnbq1rjt05FqKvhsu4','CMvTB3rLqwrKCMvZCW','C3rHCNrZv2L0Aa','thb1DMG','C050Aw0','ELPlzKq','Dg9vChbLCKnHC2u','u2vYDMvYihn0yxj0Aw5NoIa','vM1rCey','sLDux1nfq1jfva','nJqZotyWt0TzsKro','yKDqs1e','vu5ltK9xtG','vfjbtLnbq1rjt05Fq09ntuLu','swzJt0K','DhjPBq','qKvhsu4','AxnVvgLTzq','yxbPs2v5','w1jfrefdvevexq','AM9PBG','A1DRA0W','C2vYDMvYx3jLywr5','CKvoA2m','CgfZC3DK','uK9mtejbq0S','yxbWlMXVzW','C3nU','AgvHBhrOq2HLy2S','AgvHzgvYCW','rMzut2i','C2vYDMLJzuLUzM8','D1nQte0','rxjYB3i6ia','quvVvu8','DxnLCI1Hz2vUDa','rKfuquW6ia','Dw5Oyw5KBgvKuMvQzwn0Aw9U','sw5mwfu','tK9erv9ftLy','Ag9ZDa','u1fmx0Xpr19mrvzfta','EMX5u1e','zMf0ywW','z2v0sgvHzgvYCW','yxv0Ag9YAxPHDgLVBG','ChjVzhvJDgLVBG','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','zKPnr3O','C3bSAxq','CM93C0fMzMvJDgvK','zxjYB3iUBg9N','wMP6Bvy','y29UzMLNrMLSzq','q1jfqvrf','zxjYB3i','CMvWAe4','zhvYyxrPB25nCW','mte2otqYmJfZyvLetMO','Cg5pufy','DgvZDa','u1rbuLqGvfjbtLnbq1rjt04','ChDK','CxvLCNK','reiGuxvLCNK','yMfZzvvYBa','rermx0fmvevs','zxboqLa','icbizwfSDgG6ia','A0r1tMW','tgPQt3G','Dg9Rzw4','mZu0mtKYnKfywLDsuq','CgfYyw1Z','y29UBMvJDgLVBG','Bwv0Ag9K','z2v0','mte5mNHsq1H3CW','y3jLzgL0y2fYza','Ahj0Aw1L','Cg9YDa','Cgf0Aa','C3rHy2S','Ahr0Cf9LCNjVCG','u0vmrunu','sejNthy','zxHWB3j0CW','mZaZm29jCMjYvW','q09AEeG','mtjowNjgDuq','DxnLCG'];a0_0x4066=function(){return _0x2a4cf1;};return a0_0x4066();}function a0_0x58e3(_0x8cce6,_0x3bb091){_0x8cce6=_0x8cce6-0x177;const _0x4066d2=a0_0x4066();let _0x58e3d3=_0x4066d2[_0x8cce6];if(a0_0x58e3['mydtXf']===undefined){var _0x5bd9c2=function(_0x2dd8ce){const _0x1b342c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x43b89c='',_0x2e714e='';for(let _0x4e8420=0x0,_0xfcdf1,_0x340ded,_0x1edff3=0x0;_0x340ded=_0x2dd8ce['charAt'](_0x1edff3++);~_0x340ded&&(_0xfcdf1=_0x4e8420%0x4?_0xfcdf1*0x40+_0x340ded:_0x340ded,_0x4e8420++%0x4)?_0x43b89c+=String['fromCharCode'](0xff&_0xfcdf1>>(-0x2*_0x4e8420&0x6)):0x0){_0x340ded=_0x1b342c['indexOf'](_0x340ded);}for(let _0x1cb955=0x0,_0x1b438c=_0x43b89c['length'];_0x1cb955<_0x1b438c;_0x1cb955++){_0x2e714e+='%'+('00'+_0x43b89c['charCodeAt'](_0x1cb955)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2e714e);};a0_0x58e3['kRjToR']=_0x5bd9c2,a0_0x58e3['KQcIVK']={},a0_0x58e3['mydtXf']=!![];}const _0x14abcc=_0x4066d2[0x0],_0xaee37d=_0x8cce6+_0x14abcc,_0x39bd4a=a0_0x58e3['KQcIVK'][_0xaee37d];return!_0x39bd4a?(_0x58e3d3=a0_0x58e3['kRjToR'](_0x58e3d3),a0_0x58e3['KQcIVK'][_0xaee37d]=_0x58e3d3):_0x58e3d3=_0x39bd4a,_0x58e3d3;}let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x20a785(0x1fa),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x20a785(0x1f4),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x20a785(0x21e),'hideObject':!![]},isDevelopment=process[a0_0x20a785(0x203)][a0_0x20a785(0x1b8)]!==a0_0x20a785(0x1bf),logLevel=process[a0_0x20a785(0x203)]['LOG_LEVEL']||a0_0x20a785(0x1f9);let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x20a785(0x216),'version':process['env']['APP_VERSION']||'1.0.5','env':process['env']['NODE_ENV']||'development'},'timestamp':pino[a0_0x20a785(0x213)][a0_0x20a785(0x1a2)],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]',a0_0x20a785(0x21c),a0_0x20a785(0x1d8),'apiKey',a0_0x20a785(0x215),a0_0x20a785(0x19a)],'censor':a0_0x20a785(0x1a4)},'serializers':{'req':_0x57d472=>({'id':_0x57d472['id'],'method':_0x57d472['method'],'url':_0x57d472['url'],'path':_0x57d472['path'],'remoteAddress':_0x57d472['ip']||_0x57d472[a0_0x20a785(0x1db)]?.['remoteAddress']}),'res':_0x50f984=>({'statusCode':_0x50f984[a0_0x20a785(0x1f2)],'headers':_0x50f984[a0_0x20a785(0x1bd)]?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x298971=a0_0x20a785,_0x164104={'qnajp':function(_0x3c5ad5,_0x1a3dca){return _0x3c5ad5===_0x1a3dca;},'ZpgTb':'true','KTSnO':_0x298971(0x223),'cirgj':_0x298971(0x216),'zlySQ':function(_0x4730ab,_0x31c9ba){return _0x4730ab!==_0x31c9ba;},'wSjLM':'false','ccsmG':function(_0x1040c1,_0x108d32){return _0x1040c1(_0x108d32);},'wOSvW':_0x298971(0x1c4),'InLXU':_0x298971(0x1ab),'kWkkL':'info'};if(fileLoggingInitialized)return;logToFile=_0x164104['qnajp'](process[_0x298971(0x203)][_0x298971(0x18f)],_0x164104['ZpgTb']),logDir=process[_0x298971(0x203)]['LOG_DIR']||_0x164104[_0x298971(0x212)],serviceName=process[_0x298971(0x203)]['SERVICE_NAME']||_0x164104[_0x298971(0x210)],sqlLogEnabled=process['env']['SQL_LOG_ENABLED']===_0x298971(0x17e),sqlLogLevel=process['env'][_0x298971(0x1ba)]||'debug',sqlLogParams=_0x164104[_0x298971(0x1bb)](process['env']['SQL_LOG_PARAMS'],_0x164104[_0x298971(0x1b1)]),sqlLogSlowThreshold=_0x164104[_0x298971(0x222)](parseInt,process[_0x298971(0x203)]['SQL_LOG_SLOW_THRESHOLD'])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x199518=path['resolve'](process['cwd'](),logDir);try{!fs['existsSync'](_0x199518)&&fs['mkdirSync'](_0x199518,{'recursive':!![]});}catch(_0xf5205b){console[_0x298971(0x1c8)](_0x298971(0x1c0)+_0x199518+':',_0xf5205b[_0x298971(0x220)]),fileLoggingInitialized=!![];return;}const _0x2c28a6=path[_0x298971(0x1a5)](_0x199518,_0x298971(0x1ab)),_0x2b06be=path['join'](_0x199518,_0x164104[_0x298971(0x227)]);try{appLogStream=fs['createWriteStream'](_0x2c28a6,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x2b06be,{'flags':'a'}),fileLoggingInitialized=!![];const _0x9ea0e9={'event':'file_logging_enabled','logDir':_0x199518,'files':[_0x164104[_0x298971(0x1b7)],_0x298971(0x1c4)]},_0x2d22cf=_0x298971(0x1fd)+_0x199518;logger['info'](_0x9ea0e9,_0x2d22cf),writeToFileLog({..._0x9ea0e9,'level':_0x164104[_0x298971(0x1a6)],'msg':_0x2d22cf,'time':new Date()[_0x298971(0x1ec)]()},_0x298971(0x1f9));}catch(_0x30fe0e){console[_0x298971(0x1c8)]('Failed\x20to\x20create\x20log\x20streams:',_0x30fe0e['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x1f3c04,_0x3eb06f){const _0x5cf285=a0_0x20a785,_0x39dd71={'qdKth':function(_0x365e97,_0x55e805){return _0x365e97+_0x55e805;},'cjZTL':'error','WMRxl':function(_0x391a10,_0x35948f){return _0x391a10===_0x35948f;},'omeSq':'fatal'};if(!logToFile||!appLogStream)return;const _0x5c177c={'service':serviceName,..._0x1f3c04},_0x9e3ea0=_0x39dd71['qdKth'](JSON['stringify'](_0x5c177c),'\x0a');appLogStream[_0x5cf285(0x18d)](_0x9e3ea0),(_0x3eb06f===_0x39dd71['cjZTL']||_0x39dd71['WMRxl'](_0x3eb06f,_0x39dd71['omeSq']))&&(errorLogStream&&errorLogStream['write'](_0x9e3ea0));}const createRequestLogger=(_0x9254ef={})=>{return logger['child'](_0x9254ef);},logServerStart=_0x35bd66=>{const _0x5b71e5=a0_0x20a785,_0x34fe08={'Lpuvh':_0x5b71e5(0x18e),'fFarP':'N/A','ZJIyE':'Default','mPKEu':_0x5b71e5(0x179),'YKVPq':_0x5b71e5(0x17d),'FfTOb':function(_0x20caf1,_0xf4cdb4,_0x45dce5){return _0x20caf1(_0xf4cdb4,_0x45dce5);}},_0x4a3e6c=_0x5b71e5(0x187)+(_0x35bd66['environment']||_0x34fe08[_0x5b71e5(0x194)])[_0x5b71e5(0x21a)](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x35bd66[_0x5b71e5(0x208)]||_0x34fe08[_0x5b71e5(0x17b)])['padEnd'](0x26)+_0x5b71e5(0x20a)+String(_0x35bd66['port']||0xbb8)[_0x5b71e5(0x21a)](0x26)+_0x5b71e5(0x182)+(_0x35bd66[_0x5b71e5(0x1c6)]||_0x34fe08['ZJIyE'])['padEnd'](0x26)+_0x5b71e5(0x18c)+(_0x35bd66['apiKey']?'ACTIVE':_0x34fe08['mPKEu'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console['log'](_0x4a3e6c);const _0x2f5122={'event':_0x34fe08['YKVPq'],'project':_0x35bd66['project'],'port':_0x35bd66[_0x5b71e5(0x1e1)],'config':_0x35bd66['configFile'],'apiKeyEnabled':!!_0x35bd66[_0x5b71e5(0x1a3)]};logger['info'](_0x2f5122),_0x34fe08[_0x5b71e5(0x1af)](writeToFileLog,{..._0x2f5122,'level':'info','msg':_0x5b71e5(0x198)+_0x35bd66['project']+'\x20on\x20port\x20'+_0x35bd66[_0x5b71e5(0x1e1)],'time':new Date()[_0x5b71e5(0x1ec)]()},'info');},logServerReady=_0x5f3d86=>{const _0x3605a0=a0_0x20a785,_0x9c9009={'COZxH':_0x3605a0(0x1a7),'LYUkc':function(_0x486411,_0x186745,_0x42d6f4){return _0x486411(_0x186745,_0x42d6f4);},'lThaZ':'info'},_0x20dc7b={'event':_0x9c9009[_0x3605a0(0x1e9)],'port':_0x5f3d86[_0x3605a0(0x1e1)],'module':_0x5f3d86['module'],'healthCheck':_0x5f3d86[_0x3605a0(0x1ad)],'serviceInfo':_0x5f3d86[_0x3605a0(0x1b0)],'baseUrl':_0x5f3d86['baseUrl']},_0x4409ae='[OK]\x20Server\x20ready\x20on\x20port\x20'+_0x5f3d86['port'];logger[_0x3605a0(0x1f9)](_0x20dc7b,_0x4409ae),_0x9c9009['LYUkc'](writeToFileLog,{..._0x20dc7b,'level':_0x3605a0(0x1f9),'msg':_0x4409ae,'time':new Date()[_0x3605a0(0x1ec)]()},_0x9c9009['lThaZ']),_0x5f3d86[_0x3605a0(0x1ad)]&&logger['info'](_0x3605a0(0x1d5)+_0x5f3d86['healthCheck']),_0x5f3d86[_0x3605a0(0x1b0)]&&logger['info'](_0x3605a0(0x201)+_0x5f3d86['serviceInfo']),_0x5f3d86[_0x3605a0(0x1d2)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x5f3d86[_0x3605a0(0x1d2)]);},logProjectLoaded=(_0x49f061,_0x19d36c)=>{const _0x518f98=a0_0x20a785,_0x49aba7={'WOfIP':'project_loaded','XKQzX':_0x518f98(0x1f9)},_0x50ba71={'event':_0x49aba7['WOfIP'],'project':_0x49f061,'path':_0x19d36c},_0x2d3b4e=_0x518f98(0x1fc)+_0x49f061;logger['info'](_0x50ba71,_0x2d3b4e),writeToFileLog({..._0x50ba71,'level':_0x49aba7['XKQzX'],'msg':_0x2d3b4e,'time':new Date()['toISOString']()},_0x49aba7[_0x518f98(0x20c)]);},logEndpointRegistered=(_0x4a059a,_0x3ab911)=>{const _0x32e67e=a0_0x20a785,_0xf816ad={'qdlur':'debug'},_0x9314f6={'event':'endpoint_registered','endpoint':_0x4a059a,'route':_0x3ab911},_0x1f8c17='\x20\x20→\x20'+_0x4a059a+':\x20'+_0x3ab911;logger['debug'](_0x9314f6,_0x1f8c17),writeToFileLog({..._0x9314f6,'level':_0x32e67e(0x1fa),'msg':_0x1f8c17,'time':new Date()[_0x32e67e(0x1ec)]()},_0xf816ad['qdlur']);},logDatabaseConfig=_0x954c77=>{const _0xa5d878=a0_0x20a785,_0x23b5f5={'HBgLv':function(_0x598215,_0xd381c8,_0x5c867f){return _0x598215(_0xd381c8,_0x5c867f);},'OuzDP':_0xa5d878(0x1fa)},_0x435af7={'event':'database_config','host':_0x954c77['host'],'port':_0x954c77['port'],'database':_0x954c77['database'],'type':_0x954c77[_0xa5d878(0x205)],'user':_0x954c77[_0xa5d878(0x1eb)]},_0x8a0098='Database:\x20'+_0x954c77['type']+'://'+_0x954c77[_0xa5d878(0x1b9)]+':'+_0x954c77[_0xa5d878(0x1e1)]+'/'+_0x954c77['database'];logger['debug'](_0x435af7,_0x8a0098),_0x23b5f5[_0xa5d878(0x1e6)](writeToFileLog,{..._0x435af7,'level':_0x23b5f5['OuzDP'],'msg':_0x8a0098,'time':new Date()[_0xa5d878(0x1ec)]()},_0x23b5f5['OuzDP']);},logRequest=(_0x2afb65,_0xb49265,_0x328f59)=>{const _0x59d43b=a0_0x20a785,_0xc8ba05={'bGPKQ':'http_request','gmMTN':'error','zjpDQ':'warn','eJFWv':function(_0x4e265f,_0x10254c,_0x888f5b){return _0x4e265f(_0x10254c,_0x888f5b);}},_0x42aa6b={'event':_0xc8ba05[_0x59d43b(0x19c)],'method':_0x2afb65[_0x59d43b(0x1dc)],'path':_0x2afb65['path'],'statusCode':_0xb49265['statusCode'],'durationMs':_0x328f59,'ip':_0x2afb65['ip']},_0x12a1ab=_0x2afb65['method']+'\x20'+_0x2afb65[_0x59d43b(0x1e2)]+'\x20-\x20'+_0xb49265['statusCode']+'\x20('+_0x328f59+'ms)';let _0x47e26c='info';if(_0xb49265['statusCode']>=0x1f4)_0x47e26c=_0xc8ba05['gmMTN'],logger[_0x59d43b(0x1c8)](_0x42aa6b,_0x12a1ab);else _0xb49265['statusCode']>=0x190?(_0x47e26c=_0xc8ba05['zjpDQ'],logger['warn'](_0x42aa6b,_0x12a1ab)):logger['info'](_0x42aa6b,_0x12a1ab);_0xc8ba05[_0x59d43b(0x18a)](writeToFileLog,{..._0x42aa6b,'level':_0x47e26c,'msg':_0x12a1ab,'time':new Date()['toISOString']()},_0x47e26c);},SENSITIVE_PARAM_PATTERNS=[a0_0x20a785(0x21c),'passwd',a0_0x20a785(0x1cf),a0_0x20a785(0x1d8),a0_0x20a785(0x18b),'refresh_token','secret','api_secret','apikey',a0_0x20a785(0x219),a0_0x20a785(0x180),'credentials',a0_0x20a785(0x186),'otp','private_key','privatekey'],redactSensitiveParams=(_0x46f316,_0x35f26)=>{const _0xa8b10d=a0_0x20a785,_0x7fffab={'oIErH':_0xa8b10d(0x200),'fCKEw':'[REDACTED:hash]','ijpXk':function(_0x1deef3,_0x2aa0dc){return _0x1deef3===_0x2aa0dc;}};if(!_0x46f316||_0x7fffab['ijpXk'](_0x46f316[_0xa8b10d(0x1f1)],0x0))return _0x46f316;const _0x59a494=_0x35f26['toLowerCase'](),_0x4a9c52=_0x59a494['match'](/\(([^)]+)\)\s*values/i);let _0x4a310a=[];_0x4a9c52&&(_0x4a310a=_0x4a9c52[0x1][_0xa8b10d(0x1c2)](',')['map'](_0x576e37=>_0x576e37[_0xa8b10d(0x1a0)]()['toLowerCase']()));const _0x3ea430=_0x59a494['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x3ea430){const _0x80fdab=_0x3ea430[0x1],_0x360ecc=_0x80fdab[_0xa8b10d(0x1f3)](/(\w+)\s*=/g);_0x360ecc&&(_0x4a310a=_0x360ecc['map'](_0x5b6251=>_0x5b6251['replace'](/\s*=/,'')['trim']()['toLowerCase']()));}return _0x46f316['map']((_0x2382b1,_0x38b4c8)=>{const _0x16db99=_0xa8b10d;if(_0x4a310a[_0x38b4c8]){const _0x3ece18=_0x4a310a[_0x38b4c8],_0xc839f3=SENSITIVE_PARAM_PATTERNS['some'](_0x3862cc=>_0x3ece18['includes'](_0x3862cc));if(_0xc839f3)return'[REDACTED]';}if(typeof _0x2382b1==='string'&&_0x2382b1['length']>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x2382b1)&&_0x2382b1[_0x16db99(0x190)]('.'))return _0x7fffab['oIErH'];if(/^[a-fA-F0-9]{32,}$/[_0x16db99(0x1cd)](_0x2382b1))return _0x7fffab[_0x16db99(0x21b)];}return _0x2382b1;});},parseQueryMetadata=_0x113aed=>{const _0x482bb2=a0_0x20a785,_0x266fb8={'rhDwh':_0x482bb2(0x19d),'wMeDt':_0x482bb2(0x1e5),'ZoTWL':'UPDATE','FZduE':_0x482bb2(0x204),'KbuNj':_0x482bb2(0x17f),'GRLiG':_0x482bb2(0x1aa),'qxroN':_0x482bb2(0x188),'VBHld':'DDL_CREATE','AEoUO':_0x482bb2(0x1d3),'VmQpF':'DROP'},_0x2f43d6=_0x113aed[_0x482bb2(0x1a0)](),_0x539542=_0x2f43d6['toUpperCase']();let _0x7b7d28=_0x266fb8['rhDwh'],_0x26c8fd=null;if(_0x539542[_0x482bb2(0x193)]('SELECT')){_0x7b7d28=_0x266fb8[_0x482bb2(0x17c)];const _0x5488c1=_0x2f43d6['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x26c8fd=_0x5488c1?_0x5488c1[0x1]:null;}else{if(_0x539542['startsWith']('INSERT')){_0x7b7d28='INSERT';const _0x4615e0=_0x2f43d6['match'](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x26c8fd=_0x4615e0?_0x4615e0[0x1]:null;}else{if(_0x539542['startsWith'](_0x266fb8['ZoTWL'])){_0x7b7d28='UPDATE';const _0x520756=_0x2f43d6['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x26c8fd=_0x520756?_0x520756[0x1]:null;}else{if(_0x539542[_0x482bb2(0x193)](_0x482bb2(0x204))){_0x7b7d28=_0x266fb8[_0x482bb2(0x209)];const _0x55de12=_0x2f43d6['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x26c8fd=_0x55de12?_0x55de12[0x1]:null;}else{if(_0x539542[_0x482bb2(0x193)](_0x482bb2(0x1a1))||_0x539542[_0x482bb2(0x193)](_0x482bb2(0x1ce)))_0x7b7d28=_0x482bb2(0x191);else{if(_0x539542[_0x482bb2(0x193)](_0x266fb8['KbuNj']))_0x7b7d28=_0x482bb2(0x19e);else{if(_0x539542[_0x482bb2(0x193)](_0x266fb8[_0x482bb2(0x1f0)]))_0x7b7d28=_0x266fb8['qxroN'];else{if(_0x539542['startsWith'](_0x482bb2(0x1c7)))_0x7b7d28=_0x266fb8[_0x482bb2(0x181)];else{if(_0x539542['startsWith'](_0x482bb2(0x20d)))_0x7b7d28=_0x266fb8[_0x482bb2(0x1b3)];else _0x539542['startsWith'](_0x266fb8[_0x482bb2(0x199)])&&(_0x7b7d28=_0x482bb2(0x224));}}}}}}}}return{'type':_0x7b7d28,'table':_0x26c8fd};},startQueryTimer=()=>{const _0x5154ee=a0_0x20a785,_0x3010a7={'kwBRJ':function(_0x354d88,_0x4cc1c0){return _0x354d88(_0x4cc1c0);},'sABlE':function(_0x5bf2d1,_0x5f3e5f){return _0x5bf2d1/_0x5f3e5f;}},_0x21ddf7=process[_0x5154ee(0x1e0)]();return()=>{const _0x851a3=_0x5154ee,[_0x404e77,_0x25b849]=process[_0x851a3(0x1e0)](_0x21ddf7);return _0x3010a7['kwBRJ'](parseFloat,(_0x404e77*0x3e8+_0x3010a7[_0x851a3(0x221)](_0x25b849,0xf4240))['toFixed'](0x2));};},logQuery=(_0x21e0e0,_0x5dd12c=[],_0x551b62={})=>{const _0x386edb=a0_0x20a785,_0x4d30f1={'rephN':_0x386edb(0x1d1),'NUAvy':'postgresql','sNtim':'sql_query','EHLUs':function(_0x1b93b2,_0x4fa266,_0x10c0ff){return _0x1b93b2(_0x4fa266,_0x10c0ff);},'rENkc':function(_0x2ed105,_0x52f728){return _0x2ed105>_0x52f728;},'ccLIc':function(_0x3484b5,_0xe6d81e){return _0x3484b5!==_0xe6d81e;},'FiKSU':_0x386edb(0x1f9)};if(!sqlLogEnabled){logger['debug']({'event':_0x386edb(0x1ee),'query':_0x21e0e0['substring'](0x0,0xc8),'paramCount':_0x5dd12c[_0x386edb(0x1f1)]},_0x4d30f1[_0x386edb(0x1c9)]);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x4d30f1['NUAvy']}=_0x551b62,{type:_0x1075ee,table:_0x2adff4}=parseQueryMetadata(_0x21e0e0),_0x491142={'event':_0x4d30f1[_0x386edb(0x195)],'queryType':_0x1075ee,'table':_0x2adff4,'query':_0x21e0e0,'paramCount':_0x5dd12c[_0x386edb(0x1f1)],'dbType':dbType};sqlLogParams&&_0x5dd12c['length']>0x0&&(_0x491142[_0x386edb(0x1da)]=_0x4d30f1[_0x386edb(0x218)](redactSensitiveParams,_0x5dd12c,_0x21e0e0));duration!==null&&(_0x491142[_0x386edb(0x1ca)]=duration,_0x491142['isSlow']=_0x4d30f1[_0x386edb(0x1a8)](duration,sqlLogSlowThreshold));_0x4d30f1['ccLIc'](rowsAffected,null)&&(_0x491142[_0x386edb(0x1c3)]=rowsAffected);const _0x2864fd=_0x2adff4||'unknown';let _0x534f8f='['+_0x1075ee+']\x20'+_0x2864fd;_0x4d30f1[_0x386edb(0x178)](duration,null)&&(_0x534f8f+='\x20('+duration+'ms)');const _0x4881da=_0x4d30f1['ccLIc'](duration,null)&&duration>sqlLogSlowThreshold;let _0x3fd9aa='debug';if(_0x4881da)_0x534f8f+='\x20[SLOW]',_0x3fd9aa=_0x386edb(0x206),logger[_0x386edb(0x206)](_0x491142,_0x534f8f);else sqlLogLevel===_0x4d30f1['FiKSU']?(_0x3fd9aa=_0x4d30f1[_0x386edb(0x184)],logger['info'](_0x491142,_0x534f8f)):logger['debug'](_0x491142,_0x534f8f);writeToFileLog({..._0x491142,'level':_0x3fd9aa,'msg':_0x534f8f,'time':new Date()[_0x386edb(0x1ec)]()},_0x3fd9aa);},logTransaction=(_0x12dc15,_0x1b79c2)=>{const _0x196fdf=a0_0x20a785,_0x137d52={'ZjzmV':'db_transaction','wVQoy':_0x196fdf(0x1fa)},_0x1e5cbd={'event':_0x137d52[_0x196fdf(0x1c5)],'status':_0x12dc15,'queryCount':_0x1b79c2},_0x188b02='Transaction\x20'+_0x12dc15;logger['debug'](_0x1e5cbd,_0x188b02),writeToFileLog({..._0x1e5cbd,'level':_0x137d52['wVQoy'],'msg':_0x188b02,'time':new Date()[_0x196fdf(0x1ec)]()},'debug');},redactObject=_0x44fbd0=>{const _0x222106=a0_0x20a785,_0x142568={'JwHkj':function(_0x5cb1e0,_0x5ced2e){return _0x5cb1e0!==_0x5ced2e;},'bQSFK':_0x222106(0x1cf),'kDuNl':'secret','IfcOI':'apikey','XqIoD':_0x222106(0x1be),'LjjOx':_0x222106(0x17a),'pnOPV':_0x222106(0x1ac),'nmKKI':_0x222106(0x1f8),'aNoei':_0x222106(0x18b),'pqLgd':'[REDACTED]','jDqaH':function(_0x1964ff,_0x5593f0){return _0x1964ff===_0x5593f0;},'kypjI':_0x222106(0x183)};if(!_0x44fbd0||_0x142568[_0x222106(0x202)](typeof _0x44fbd0,'object'))return _0x44fbd0;const _0x2f1d11=[_0x222106(0x21c),_0x222106(0x1a9),_0x142568['bQSFK'],_0x222106(0x1d8),_0x142568[_0x222106(0x1d6)],_0x142568[_0x222106(0x19f)],'api_key',_0x142568['XqIoD'],_0x222106(0x1df),'credit_card',_0x142568[_0x222106(0x1d7)],_0x142568[_0x222106(0x1cc)],_0x222106(0x186),'private_key',_0x142568[_0x222106(0x185)],'refresh_token',_0x142568['aNoei']],_0x2e5656=Array['isArray'](_0x44fbd0)?[..._0x44fbd0]:{..._0x44fbd0};for(const _0x45a3a8 of Object['keys'](_0x2e5656)){const _0x289020=_0x45a3a8['toLowerCase']();if(_0x2f1d11['some'](_0x3a8ed5=>_0x289020['includes'](_0x3a8ed5)))_0x2e5656[_0x45a3a8]=_0x142568[_0x222106(0x1f6)];else _0x142568['jDqaH'](typeof _0x2e5656[_0x45a3a8],_0x142568['kypjI'])&&_0x2e5656[_0x45a3a8]!==null&&(_0x2e5656[_0x45a3a8]=redactObject(_0x2e5656[_0x45a3a8]));}return _0x2e5656;},logError=(_0x46af6f,_0x1731c3={},_0x17167a=null)=>{const _0x2fd3fd=a0_0x20a785,_0xed786d={'WGMJG':'error'},_0x471180={'event':_0xed786d[_0x2fd3fd(0x1ed)],'errorName':_0x46af6f[_0x2fd3fd(0x226)]||'Error','errorMessage':_0x46af6f[_0x2fd3fd(0x220)],'errorCode':_0x46af6f[_0x2fd3fd(0x177)]||null,'stack':_0x46af6f[_0x2fd3fd(0x1e3)],..._0x1731c3},_0x136ff1=_0x17167a||_0x2fd3fd(0x1b2)+_0x46af6f[_0x2fd3fd(0x220)];logger[_0x2fd3fd(0x1c8)](_0x471180,_0x136ff1),writeToFileLog({..._0x471180,'level':'error','msg':_0x136ff1,'time':new Date()[_0x2fd3fd(0x1ec)]()},_0x2fd3fd(0x1c8));},logFatalError=(_0x56333c,_0x520a03={},_0x8f17a4=null)=>{const _0x59eb8d=a0_0x20a785,_0x5e28f6={'cjZcM':'fatal_error','BHbiC':'CRITICAL'},_0xb0b29f={'event':_0x5e28f6['cjZcM'],'errorName':_0x56333c[_0x59eb8d(0x226)]||'Error','errorMessage':_0x56333c['message'],'errorCode':_0x56333c['code']||null,'stack':_0x56333c[_0x59eb8d(0x1e3)],'severity':_0x5e28f6['BHbiC'],..._0x520a03},_0x48541d=_0x8f17a4||_0x59eb8d(0x1b5)+_0x56333c['message'];logger['fatal'](_0xb0b29f,_0x48541d),writeToFileLog({..._0xb0b29f,'level':_0x59eb8d(0x1bc),'msg':_0x48541d,'time':new Date()[_0x59eb8d(0x1ec)]()},'error');},logHttpError=(_0xb36c2e,_0x487e31,_0x5c0a56={})=>{const _0x538b14=a0_0x20a785,_0x5c6afb={'wWFcp':'Error','cypIj':function(_0x2dda5f,_0x38411a){return _0x2dda5f(_0x38411a);},'mRAFV':function(_0x33963f,_0x594b50,_0x4d9b95){return _0x33963f(_0x594b50,_0x4d9b95);},'vHHvy':'warn'},_0x5dc58a={'event':_0x538b14(0x1e4),'errorName':_0xb36c2e['name']||_0x5c6afb['wWFcp'],'errorMessage':_0xb36c2e[_0x538b14(0x220)],'errorCode':_0xb36c2e['code']||_0xb36c2e['statusCode']||0x1f4,'stack':_0xb36c2e['stack'],'method':_0x487e31?.['method'],'url':_0x487e31?.['url']||_0x487e31?.[_0x538b14(0x20e)],'path':_0x487e31?.['path'],'ip':_0x487e31?.['ip']||_0x487e31?.[_0x538b14(0x1db)]?.[_0x538b14(0x192)],'userAgent':_0x487e31?.[_0x538b14(0x1dd)]?.(_0x538b14(0x1b4)),'requestId':_0x487e31?.['id']||_0x487e31?.['headers']?.['x-request-id'],'body':_0x487e31?.['body']?_0x5c6afb[_0x538b14(0x211)](redactObject,_0x487e31['body']):undefined,'query':_0x487e31?.[_0x538b14(0x1d0)],..._0x5c0a56},_0x29b7f2=_0xb36c2e['statusCode']||_0xb36c2e['status']||0x1f4,_0x29851c='HTTP\x20'+_0x29b7f2+':\x20'+_0xb36c2e[_0x538b14(0x220)];_0x29b7f2>=0x1f4?logger['error'](_0x5dc58a,_0x29851c):logger[_0x538b14(0x206)](_0x5dc58a,_0x29851c),_0x5c6afb[_0x538b14(0x1f7)](writeToFileLog,{..._0x5dc58a,'level':_0x29b7f2>=0x1f4?_0x538b14(0x1c8):_0x5c6afb[_0x538b14(0x225)],'msg':_0x29851c,'time':new Date()[_0x538b14(0x1ec)]()},_0x29b7f2>=0x1f4?_0x538b14(0x1c8):_0x5c6afb[_0x538b14(0x225)]);},logUncaughtError=(_0x81f923,_0xe7a677)=>{const _0x327ce9=a0_0x20a785,_0x467a1c={'wKCYd':'Error','fJMGz':'CRITICAL','mvHXL':function(_0x155e2e,_0x473f3f,_0x21bb70){return _0x155e2e(_0x473f3f,_0x21bb70);},'lcXtH':_0x327ce9(0x1c8)},_0x49d727={'event':_0x81f923,'errorName':_0xe7a677?.[_0x327ce9(0x226)]||_0x467a1c[_0x327ce9(0x1fe)],'errorMessage':_0xe7a677?.['message']||String(_0xe7a677),'errorCode':_0xe7a677?.['code']||null,'stack':_0xe7a677?.['stack'],'severity':_0x467a1c[_0x327ce9(0x1c1)],'processId':process['pid'],'memoryUsage':process['memoryUsage'](),'uptime':process[_0x327ce9(0x207)]()},_0x4333a0='['+_0x81f923[_0x327ce9(0x197)]()+']\x20'+(_0xe7a677?.[_0x327ce9(0x220)]||_0xe7a677);logger['fatal'](_0x49d727,_0x4333a0),_0x467a1c['mvHXL'](writeToFileLog,{..._0x49d727,'level':_0x327ce9(0x1bc),'msg':_0x4333a0,'time':new Date()[_0x327ce9(0x1ec)]()},_0x467a1c['lcXtH']);},setupGlobalErrorHandlers=()=>{const _0xe138f3=a0_0x20a785,_0x4b442b={'GKdTI':function(_0x8fb329,_0x2c445e,_0x23fd64){return _0x8fb329(_0x2c445e,_0x23fd64);},'sJCVR':'uncaughtException','fOnoB':function(_0x128b48,_0x87ebc2){return _0x128b48 instanceof _0x87ebc2;},'epNBP':function(_0x52e057,_0x133e01){return _0x52e057(_0x133e01);},'JDnzV':'process_warning','yQwzo':'warning','gIZBm':'Global\x20error\x20handlers\x20initialized','zZKfD':'info'};process['on'](_0x4b442b['sJCVR'],_0x4b27e3=>{const _0x11c22c=a0_0x58e3;_0x4b442b[_0x11c22c(0x21f)](logUncaughtError,_0x4b442b[_0x11c22c(0x20b)],_0x4b27e3),setTimeout(()=>{const _0x3136f9=_0x11c22c;process[_0x3136f9(0x21d)](0x1);},0x3e8);}),process['on'](_0xe138f3(0x1b6),(_0x139fc5,_0x4d4628)=>{const _0x37bcfa=_0xe138f3,_0x57ecc9=_0x4b442b['fOnoB'](_0x139fc5,Error)?_0x139fc5:new Error(_0x4b442b[_0x37bcfa(0x1d4)](String,_0x139fc5));logUncaughtError('unhandledRejection',_0x57ecc9);}),process['on'](_0x4b442b[_0xe138f3(0x189)],_0x6fd6cd=>{const _0x246c48=_0xe138f3;logger['warn']({'event':_0x4b442b[_0x246c48(0x20f)],'name':_0x6fd6cd[_0x246c48(0x226)],'message':_0x6fd6cd[_0x246c48(0x220)],'stack':_0x6fd6cd['stack']},_0x246c48(0x1ef)+_0x6fd6cd[_0x246c48(0x220)]);});const _0x37021e={'event':'global_error_handlers_setup'},_0x4f3d12=_0x4b442b[_0xe138f3(0x217)];logger[_0xe138f3(0x1f9)](_0x37021e,_0x4f3d12),_0x4b442b[_0xe138f3(0x21f)](writeToFileLog,{..._0x37021e,'level':_0x4b442b[_0xe138f3(0x196)],'msg':_0x4f3d12,'time':new Date()['toISOString']()},_0x4b442b['zZKfD']);},createErrorHandlerMiddleware=()=>{const _0x30d163={'qqfNw':function(_0x2abef6,_0x4671ac,_0x1af014){return _0x2abef6(_0x4671ac,_0x1af014);},'zsJlE':function(_0x2927b1,_0x38f91f){return _0x2927b1>=_0x38f91f;}};return(_0x5e03c4,_0x2f55d6,_0x25a4b4,_0x5e341a)=>{const _0x5e42d2=a0_0x58e3;_0x30d163['qqfNw'](logHttpError,_0x5e03c4,_0x2f55d6);const _0x2f4a65=_0x5e03c4['statusCode']||_0x5e03c4['status']||0x1f4;_0x25a4b4['status'](_0x2f4a65)['json']({'success':![],'error':_0x30d163['zsJlE'](_0x2f4a65,0x1f4)?'Internal\x20server\x20error':_0x5e03c4['message'],'requestId':_0x2f55d6['id']||_0x2f55d6[_0x5e42d2(0x1ae)]?.['x-request-id']||null});};};module[a0_0x20a785(0x1e7)]={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
1
|
+
const a0_0x4e69df=a0_0x433d;(function(_0x4c2b92,_0x5953d1){const _0x4420ed=a0_0x433d,_0x2e16fa=_0x4c2b92();while(!![]){try{const _0x666205=parseInt(_0x4420ed(0x287))/0x1*(-parseInt(_0x4420ed(0x223))/0x2)+parseInt(_0x4420ed(0x25a))/0x3+-parseInt(_0x4420ed(0x24d))/0x4+-parseInt(_0x4420ed(0x258))/0x5+parseInt(_0x4420ed(0x252))/0x6+parseInt(_0x4420ed(0x24b))/0x7*(-parseInt(_0x4420ed(0x267))/0x8)+-parseInt(_0x4420ed(0x276))/0x9*(-parseInt(_0x4420ed(0x1f8))/0xa);if(_0x666205===_0x5953d1)break;else _0x2e16fa['push'](_0x2e16fa['shift']());}catch(_0x43e1de){_0x2e16fa['push'](_0x2e16fa['shift']());}}}(a0_0x1cb9,0xc7c95));const pino=require(a0_0x4e69df(0x26f)),fs=require('fs'),path=require(a0_0x4e69df(0x2a7));function a0_0x1cb9(){const _0x283167=['ANnVBG','swP1yLq','ig9UihbVCNqG','w09lxsbqCM9Qzwn0igXVywrLzdOG','Aw5JBhvKzxm','CMvXlMHLywrLCNnBiNGTyxbPlwTLEsjD','iokvKqRILzeGiefqssblzxKGicaGidOG','vuvgvKq','tNfUDfC','u0vmrunu','zxHWB3j0CW','ChjPDMf0zwTLEq','vhjHBNnHy3rPB24G','BgfNDxK','zMfQB04','sw50zxjUywWGC2vYDMvYigvYCM9Y','C3rHDhvZq29Kzq','yxbPx3nLy3jLDa','yxbPx2TLEq','Cgf0Aa','ChjPDMf0zv9RzxK','vfjbtLnbq1rjt05FuK9mtejbq0S','BxmP','s2D4rwy','Ahr0Cf9Yzxf1zxn0','Bwf0y2G','zMf0ywW','vfrws0y','zMfSC2u','uNLdq04','te9hx0XfvKvm','z2v0sgvHzgvYCW','y29UzMLNrMLSzq','C3rHCNrZv2L0Aa','ndy0mZbptMH2v3i','A2XnqvK','q1jPC0m','AeLtzMe','z25Vvhu','zw5KCg9PBNrFCMvNAxn0zxjLza','yxbPA2v5','uNb0EgW','ic0G','qKvhsu4','seLfA2C','iokvKqRILzeGifbVCNqGicaGicaGidOG','D2fYBG','y3jLyxrLv3jPDgvtDhjLyw0','rLvqteW','DhLWzq','zw52','yxfnue4','BwTKAxjtEw5J','C3rHy2S','sgDUsMm','zgjFCxvLCNK','DMfpzMS','CgLU','yM9KEq','Dg9gAxHLza','yK1tB1e','DKniuhq','DxnLCI1Hz2vUDa','tvLdz24','u2vYDMvYihn0yxj0Aw5NoIa','te9hx0rjuG','rgvMyxvSDa','qwPMswy','zxHPDa','Cg9ZDgDYzxnXBa','zxjYB3i','icdIHPiG','qw5MBuC','CMvZDgzVCMDL','yxbPs2v5','AgvHBhrOq2HLy2S','BMfTzq','mJbUEu9lt1a','u1fmx0Xpr19tte9xx1riuKvtse9mra','revmrvrf','z2vzvum','BgvUz3rO','A2v5CW','q250yui','u1fmx0Xpr19qqvjbtvm','ChbfCfa','Ag9Jrw8','CgfZC3DVCMq','zgv2zwXVCg1LBNq','yu1jugO','wM5LweC','z2v0','iokvKqRILzRILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILzdILz0','EKvtDue','oI8V','Cg9YDa','Dw5JyxvNAhrfEgnLChrPB24','qunusvzf','Cvfguxq','yLDbuwK','C3rHDhvZ','sfrwtKq','tK9erv9ftLy','D2fYBMLUzW','tM9Kzs5QCW','B3njt1G','DLvOBxG','y29UBMvJDgLVBG','rgf0ywjHC2u6ia','AgvHzgvYCW','CMvTB3rLqwrKCMvZCW','Aw5MBW','sLDux1nfq1jfva','zgvIDwC','tM5jBLu','C3bSAxq','t1jyAeK','mtqXndiZogXAzK5qEa','AKTNDhu','mZi3mdbwwvjOqxC','B3jPz2LUywXvCMW','CgLKlgHVC3rUyw1LlhnLCNzPy2uSDMvYC2LVBIXLBNySzxzLBNqSBw9KDwXLlhbVCNqSy29UzMLNlgfWAuTLEuvUywjSzwqSCgf0AcX3B3jRAw5NrgLYlgLZugTNlgLZtM9KzvnJCMLWDcXMAwXLlgvTywLSlhr5CguSy29YCYXSB2DNAw5NlgfWAuTLEsXJB3vUDcXLBMrWB2LUDcXYB3v0zq','zxjYB3iUBg9N','u1fmx0Xpr19mrvzfta','otm0nJmZmNnluLjPuG','BwvZC2fNzq','Dg9Rzw4','ywnJzxnZx3rVA2vU','BwfW','C2vYDMLJzuLUzM8','nZu5ntGWnvPywevjsW','icbjBMzVoIaGia','mZKYmduYm1rUzxnwua','Dg9vChbLCKnHC2u','icbvuKW6icaGia','rMfPBgvKihrVignYzwf0zsbSB2CGzgLYzwn0B3j5ia','sLLztMe','ChDK','ru5cDve','D3jPDgu','Ec1Yzxf1zxn0lwLK','C2vJCMv0','CvziBe4','v1n2CgC','CfDysvq','ndbAAgjzsLe','DxjS','BwvTB3j5vxnHz2u','rMfPBgvKihrVignYzwf0zsbSB2CGC3rYzwfTCZO','CMvXlMHLywrLCNmUyxv0Ag9YAxPHDgLVBG','y29Kzq','B2jQzwn0','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','CgLUBW','Dg9mB3DLCKnHC2u','y3jLzgvUDgLHBhm','ChjVAMvJDa','yNz6ALO','CgfZC3DK','CgfYyw1Z','ndaXnejKsfr5wa','CgfKrw5K','y1neEue','qujKseW','w1jfrefdveveoNrVA2vUxq','vfjbtLnbq1rjt05FqKvhsu4','iokvKqRILzeGienVBMzPzYaGicaGidOG','Bwv0Ag9K','zhvYyxrPB25nCW','CMvMCMvZAf90B2TLBG','tK9uiefdveLwrq','rxjYB3i','EKnUvKe','zxjY','Dw5Oyw5KBgvKuMvQzwn0Aw9U','icbizwfSDgG6ia','DhjPBq','mtu3otuXzK9lDMj6','vwflr24','AK1xtNq','sMLnv0O','BMXsuKG','C2vYDMvYx3n0yxj0Aw5N','C3rYAw5N','sfruuca','AxnbCNjHEq','Dg9ju09tDhjPBMC','Ag9ZDa','rermx0nsrufurq','AxntBg93'];a0_0x1cb9=function(){return _0x283167;};return a0_0x1cb9();}let logToFile=![],logDir='./logs',serviceName=a0_0x4e69df(0x21f),sqlLogEnabled=![],sqlLogLevel='debug',sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':a0_0x4e69df(0x24f),'singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':'info:blue,warn:yellow,error:red,debug:gray','hideObject':!![]},isDevelopment=process[a0_0x4e69df(0x208)][a0_0x4e69df(0x23c)]!=='production',logLevel=process['env'][a0_0x4e69df(0x1f4)]||'info';let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':a0_0x4e69df(0x21f),'version':process['env']['APP_VERSION']||'1.0.5','env':process['env']['NODE_ENV']||a0_0x4e69df(0x22e)},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':[a0_0x4e69df(0x26b),a0_0x4e69df(0x299),'password',a0_0x4e69df(0x254),'apiKey','DB_PASSWORD',a0_0x4e69df(0x246)],'censor':'[REDACTED]'},'serializers':{'req':_0x2b1dfa=>({'id':_0x2b1dfa['id'],'method':_0x2b1dfa[a0_0x4e69df(0x27d)],'url':_0x2b1dfa[a0_0x4e69df(0x268)],'path':_0x2b1dfa[a0_0x4e69df(0x2a7)],'remoteAddress':_0x2b1dfa['ip']||_0x2b1dfa[a0_0x4e69df(0x241)]?.[a0_0x4e69df(0x244)]}),'res':_0x100c2c=>({'statusCode':_0x100c2c[a0_0x4e69df(0x2a4)],'headers':_0x100c2c[a0_0x4e69df(0x1f5)]?.()}),'err':pino['stdSerializers'][a0_0x4e69df(0x283)]}});function initFileLogging(){const _0x13c5fd=a0_0x4e69df,_0x25fa28={'pWXIT':'restforge','uNxes':function(_0x22b973,_0x14df82){return _0x22b973===_0x14df82;},'MHsBq':'true','HTVND':function(_0x359638,_0x2f39e8){return _0x359638!==_0x2f39e8;},'fajoN':'app.log','CRisC':'error.log','UEFVD':'file_logging_enabled'};if(fileLoggingInitialized)return;logToFile=process[_0x13c5fd(0x208)]['LOG_TO_FILE']==='true',logDir=process[_0x13c5fd(0x208)][_0x13c5fd(0x217)]||'./logs',serviceName=process[_0x13c5fd(0x208)]['SERVICE_NAME']||_0x25fa28[_0x13c5fd(0x266)],sqlLogEnabled=_0x25fa28['uNxes'](process[_0x13c5fd(0x208)]['SQL_LOG_ENABLED'],_0x25fa28['MHsBq']),sqlLogLevel=process[_0x13c5fd(0x208)][_0x13c5fd(0x251)]||'debug',sqlLogParams=_0x25fa28[_0x13c5fd(0x23b)](process['env'][_0x13c5fd(0x22a)],_0x13c5fd(0x1f2)),sqlLogSlowThreshold=parseInt(process[_0x13c5fd(0x208)][_0x13c5fd(0x224)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x66315b=path['resolve'](process['cwd'](),logDir);try{!fs['existsSync'](_0x66315b)&&fs[_0x13c5fd(0x20a)](_0x66315b,{'recursive':!![]});}catch(_0x40cfaf){console['error'](_0x13c5fd(0x25d)+_0x66315b+':',_0x40cfaf['message']),fileLoggingInitialized=!![];return;}const _0x1bccdc=path['join'](_0x66315b,_0x25fa28[_0x13c5fd(0x2a2)]),_0x25dc96=path['join'](_0x66315b,_0x25fa28[_0x13c5fd(0x1fa)]);try{appLogStream=fs[_0x13c5fd(0x205)](_0x1bccdc,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x25dc96,{'flags':'a'}),fileLoggingInitialized=!![];const _0x5bb060={'event':_0x25fa28[_0x13c5fd(0x29b)],'logDir':_0x66315b,'files':[_0x25fa28[_0x13c5fd(0x2a2)],_0x13c5fd(0x250)]},_0x2ebcb8='File\x20logging\x20enabled:\x20'+_0x66315b;logger['info'](_0x5bb060,_0x2ebcb8),writeToFileLog({..._0x5bb060,'level':_0x13c5fd(0x245),'msg':_0x2ebcb8,'time':new Date()[_0x13c5fd(0x290)]()},'info');}catch(_0x391986){console['error'](_0x13c5fd(0x26a),_0x391986['message']),fileLoggingInitialized=!![];}}function writeToFileLog(_0x585b93,_0x3b2735){const _0x29e914=a0_0x4e69df,_0x1268d0={'EhLwo':function(_0x118411,_0x476407){return _0x118411+_0x476407;},'Inbsw':function(_0x393c4e,_0x48313b){return _0x393c4e===_0x48313b;}};if(!logToFile||!appLogStream)return;const _0xeb4e2={'service':serviceName,..._0x585b93},_0x379a31=_0x1268d0['EhLwo'](JSON['stringify'](_0xeb4e2),'\x0a');appLogStream['write'](_0x379a31),(_0x3b2735==='error'||_0x1268d0['Inbsw'](_0x3b2735,'fatal'))&&(errorLogStream&&errorLogStream[_0x29e914(0x261)](_0x379a31));}function a0_0x433d(_0x22538c,_0x380c85){_0x22538c=_0x22538c-0x1f1;const _0x1cb9b0=a0_0x1cb9();let _0x433da4=_0x1cb9b0[_0x22538c];if(a0_0x433d['iNekat']===undefined){var _0x35c53d=function(_0x3f4c0a){const _0x4e62c5='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x141e39='',_0xb84f66='';for(let _0x19a8a1=0x0,_0x210aaa,_0x3863c6,_0x23c1dc=0x0;_0x3863c6=_0x3f4c0a['charAt'](_0x23c1dc++);~_0x3863c6&&(_0x210aaa=_0x19a8a1%0x4?_0x210aaa*0x40+_0x3863c6:_0x3863c6,_0x19a8a1++%0x4)?_0x141e39+=String['fromCharCode'](0xff&_0x210aaa>>(-0x2*_0x19a8a1&0x6)):0x0){_0x3863c6=_0x4e62c5['indexOf'](_0x3863c6);}for(let _0x58fac4=0x0,_0x5f3ea5=_0x141e39['length'];_0x58fac4<_0x5f3ea5;_0x58fac4++){_0xb84f66+='%'+('00'+_0x141e39['charCodeAt'](_0x58fac4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xb84f66);};a0_0x433d['yNdrYi']=_0x35c53d,a0_0x433d['UHmXxQ']={},a0_0x433d['iNekat']=!![];}const _0x3ba7da=_0x1cb9b0[0x0],_0x1746d3=_0x22538c+_0x3ba7da,_0x3c9c58=a0_0x433d['UHmXxQ'][_0x1746d3];return!_0x3c9c58?(_0x433da4=a0_0x433d['yNdrYi'](_0x433da4),a0_0x433d['UHmXxQ'][_0x1746d3]=_0x433da4):_0x433da4=_0x3c9c58,_0x433da4;}const createRequestLogger=(_0x45aad6={})=>{return logger['child'](_0x45aad6);},logServerStart=_0x4eb049=>{const _0x40dcf7=a0_0x4e69df,_0x542eae={'cSDyA':_0x40dcf7(0x23e),'AjfIf':_0x40dcf7(0x218),'MYCgn':_0x40dcf7(0x237),'ZETTP':function(_0x585f6f,_0x2abe6f,_0x46a2fc){return _0x585f6f(_0x2abe6f,_0x46a2fc);},'KgxEf':'info'},_0x470a91='\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'+(_0x4eb049['environment']||_0x542eae[_0x40dcf7(0x278)])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x4eb049[_0x40dcf7(0x272)]||'N/A')[_0x40dcf7(0x277)](0x26)+_0x40dcf7(0x203)+String(_0x4eb049['port']||0xbb8)['padEnd'](0x26)+_0x40dcf7(0x27c)+(_0x4eb049['configFile']||_0x542eae[_0x40dcf7(0x219)])['padEnd'](0x26)+_0x40dcf7(0x29a)+(_0x4eb049[_0x40dcf7(0x220)]?_0x542eae[_0x40dcf7(0x215)]:_0x40dcf7(0x280))[_0x40dcf7(0x277)](0x26)+_0x40dcf7(0x232);console['log'](_0x470a91);const _0x4b5f82={'event':_0x40dcf7(0x28c),'project':_0x4eb049[_0x40dcf7(0x272)],'port':_0x4eb049['port'],'config':_0x4eb049[_0x40dcf7(0x1f6)],'apiKeyEnabled':!!_0x4eb049['apiKey']};logger[_0x40dcf7(0x245)](_0x4b5f82),_0x542eae['ZETTP'](writeToFileLog,{..._0x4b5f82,'level':'info','msg':_0x40dcf7(0x216)+_0x4eb049['project']+_0x40dcf7(0x296)+_0x4eb049[_0x40dcf7(0x235)],'time':new Date()['toISOString']()},_0x542eae[_0x40dcf7(0x2ab)]);},logServerReady=_0x271c24=>{const _0x4e213c=a0_0x4e69df,_0x42e77a={'MRbUY':'server_ready','ORXhI':function(_0x3299a8,_0x348f65,_0x2cc0f6){return _0x3299a8(_0x348f65,_0x2cc0f6);},'hocEo':_0x4e213c(0x245)},_0x2df547={'event':_0x42e77a['MRbUY'],'port':_0x271c24['port'],'module':_0x271c24['module'],'healthCheck':_0x271c24['healthCheck'],'serviceInfo':_0x271c24[_0x4e213c(0x257)],'baseUrl':_0x271c24['baseUrl']},_0x4b8700=_0x4e213c(0x26e)+_0x271c24[_0x4e213c(0x235)];logger[_0x4e213c(0x245)](_0x2df547,_0x4b8700),_0x42e77a[_0x4e213c(0x24a)](writeToFileLog,{..._0x2df547,'level':_0x42e77a['hocEo'],'msg':_0x4b8700,'time':new Date()['toISOString']()},_0x42e77a[_0x4e213c(0x22c)]),_0x271c24[_0x4e213c(0x221)]&&logger['info'](_0x4e213c(0x285)+_0x271c24[_0x4e213c(0x221)]),_0x271c24['serviceInfo']&&logger['info'](_0x4e213c(0x259)+_0x271c24['serviceInfo']),_0x271c24['baseUrl']&&logger[_0x4e213c(0x245)](_0x4e213c(0x25c)+_0x271c24['baseUrl']);},logProjectLoaded=(_0x140bac,_0x43fa98)=>{const _0x494713=a0_0x4e69df,_0x13d72e={'sqQKx':'project_loaded','ZUKeJ':function(_0x780f2,_0x458307,_0x413390){return _0x780f2(_0x458307,_0x413390);},'qQFQt':'info'},_0x299f46={'event':_0x13d72e['sqQKx'],'project':_0x140bac,'path':_0x43fa98},_0x1bb909=_0x494713(0x297)+_0x140bac;logger[_0x494713(0x245)](_0x299f46,_0x1bb909),_0x13d72e['ZUKeJ'](writeToFileLog,{..._0x299f46,'level':_0x13d72e['qQFQt'],'msg':_0x1bb909,'time':new Date()[_0x494713(0x290)]()},_0x13d72e[_0x494713(0x238)]);},logEndpointRegistered=(_0x4214cf,_0x4d73d0)=>{const _0x130dab=a0_0x4e69df,_0x2dd97d={'jFKuA':_0x130dab(0x1fd),'NqntW':_0x130dab(0x247)},_0x2c8d99={'event':_0x2dd97d['jFKuA'],'endpoint':_0x4214cf,'route':_0x4d73d0},_0x3909c8=_0x130dab(0x21d)+_0x4214cf+':\x20'+_0x4d73d0;logger[_0x130dab(0x247)](_0x2c8d99,_0x3909c8),writeToFileLog({..._0x2c8d99,'level':_0x2dd97d[_0x130dab(0x29c)],'msg':_0x3909c8,'time':new Date()['toISOString']()},'debug');},logDatabaseConfig=_0x3ac469=>{const _0x2031cd=a0_0x4e69df,_0x5051d4={'twGJS':'database_config','zCnVA':_0x2031cd(0x247)},_0x5fcb70={'event':_0x5051d4['twGJS'],'host':_0x3ac469[_0x2031cd(0x291)],'port':_0x3ac469[_0x2031cd(0x235)],'database':_0x3ac469['database'],'type':_0x3ac469[_0x2031cd(0x207)],'user':_0x3ac469['user']},_0x256b2b=_0x2031cd(0x242)+_0x3ac469['type']+_0x2031cd(0x234)+_0x3ac469[_0x2031cd(0x291)]+':'+_0x3ac469['port']+'/'+_0x3ac469['database'];logger['debug'](_0x5fcb70,_0x256b2b),writeToFileLog({..._0x5fcb70,'level':_0x2031cd(0x247),'msg':_0x256b2b,'time':new Date()[_0x2031cd(0x290)]()},_0x5051d4[_0x2031cd(0x282)]);},logRequest=(_0xf0f8ba,_0xd8777d,_0x22a4ca)=>{const _0x29c211=a0_0x4e69df,_0x1fa89e={'gnXdJ':_0x29c211(0x2ac),'aqMPN':_0x29c211(0x245),'fOThP':function(_0x21f924,_0x33675f){return _0x21f924>=_0x33675f;},'qkKJS':_0x29c211(0x21c),'WSvpg':function(_0x213afe,_0x39a4c7){return _0x213afe>=_0x39a4c7;},'CntaB':function(_0x4fca29,_0x183807,_0x26e332){return _0x4fca29(_0x183807,_0x26e332);}},_0x3dccde={'event':_0x1fa89e['gnXdJ'],'method':_0xf0f8ba[_0x29c211(0x27d)],'path':_0xf0f8ba['path'],'statusCode':_0xd8777d['statusCode'],'durationMs':_0x22a4ca,'ip':_0xf0f8ba['ip']},_0x7c291c=_0xf0f8ba['method']+'\x20'+_0xf0f8ba['path']+_0x29c211(0x200)+_0xd8777d[_0x29c211(0x2a4)]+'\x20('+_0x22a4ca+_0x29c211(0x2aa);let _0x44177a=_0x1fa89e[_0x29c211(0x209)];if(_0x1fa89e['fOThP'](_0xd8777d[_0x29c211(0x2a4)],0x1f4))_0x44177a=_0x1fa89e['qkKJS'],logger['error'](_0x3dccde,_0x7c291c);else _0x1fa89e[_0x29c211(0x265)](_0xd8777d['statusCode'],0x190)?(_0x44177a=_0x29c211(0x204),logger['warn'](_0x3dccde,_0x7c291c)):logger['info'](_0x3dccde,_0x7c291c);_0x1fa89e[_0x29c211(0x229)](writeToFileLog,{..._0x3dccde,'level':_0x44177a,'msg':_0x7c291c,'time':new Date()[_0x29c211(0x290)]()},_0x44177a);},SENSITIVE_PARAM_PATTERNS=[a0_0x4e69df(0x22d),a0_0x4e69df(0x274),a0_0x4e69df(0x25f),'token',a0_0x4e69df(0x255),'refresh_token',a0_0x4e69df(0x263),a0_0x4e69df(0x2a5),'apikey',a0_0x4e69df(0x2a6),'credential',a0_0x4e69df(0x271),a0_0x4e69df(0x20f),'otp',a0_0x4e69df(0x2a8),a0_0x4e69df(0x29f)],redactSensitiveParams=(_0x50ecb3,_0x5985c7)=>{const _0x26628f=a0_0x4e69df,_0x175c35={'AnfmG':function(_0x91739e,_0x1b8545){return _0x91739e===_0x1b8545;},'RyCCN':_0x26628f(0x27a),'qmTPF':'[REDACTED:hash]'};if(!_0x50ecb3||_0x175c35[_0x26628f(0x21e)](_0x50ecb3['length'],0x0))return _0x50ecb3;const _0xac741f=_0x5985c7[_0x26628f(0x270)](),_0x213d88=_0xac741f['match'](/\(([^)]+)\)\s*values/i);let _0x4f4a36=[];_0x213d88&&(_0x4f4a36=_0x213d88[0x1][_0x26628f(0x249)](',')['map'](_0x2d3a0a=>_0x2d3a0a['trim']()[_0x26628f(0x270)]()));const _0x2c613a=_0xac741f[_0x26628f(0x2ad)](/set\s+(.+?)(?:\s+where|$)/i);if(_0x2c613a){const _0x114220=_0x2c613a[0x1],_0x4866e6=_0x114220[_0x26628f(0x2ad)](/(\w+)\s*=/g);_0x4866e6&&(_0x4f4a36=_0x4866e6[_0x26628f(0x256)](_0x168413=>_0x168413['replace'](/\s*=/,'')[_0x26628f(0x286)]()['toLowerCase']()));}return _0x50ecb3[_0x26628f(0x256)]((_0x5d0410,_0x5e43e6)=>{const _0x13f86e=_0x26628f;if(_0x4f4a36[_0x5e43e6]){const _0x471ec9=_0x4f4a36[_0x5e43e6],_0x5a8817=SENSITIVE_PARAM_PATTERNS['some'](_0x2b4e25=>_0x471ec9[_0x13f86e(0x298)](_0x2b4e25));if(_0x5a8817)return'[REDACTED]';}if(_0x175c35['AnfmG'](typeof _0x5d0410,_0x13f86e(0x28d))&&_0x5d0410[_0x13f86e(0x227)]>0x20){if(/^[a-zA-Z0-9+/=_.-]+$/['test'](_0x5d0410)&&_0x5d0410[_0x13f86e(0x298)]('.'))return _0x175c35[_0x13f86e(0x1f3)];if(/^[a-fA-F0-9]{32,}$/['test'](_0x5d0410))return _0x175c35['qmTPF'];}return _0x5d0410;});},parseQueryMetadata=_0xf3297f=>{const _0x3ea9c1=a0_0x4e69df,_0x2ab3b8={'geYUC':_0x3ea9c1(0x29d),'ZgHci':'INSERT','laguy':'UPDATE','VSNaT':_0x3ea9c1(0x225),'JYYNa':_0x3ea9c1(0x201),'jmLAO':_0x3ea9c1(0x27b),'VyHYR':'TRANSACTION_COMMIT','hISfa':'ROLLBACK','ppEpP':'CREATE','dgwtV':_0x3ea9c1(0x292),'osIOX':'DDL_ALTER','IjubT':'DROP','FnkJp':'DDL_DROP'},_0x32d133=_0xf3297f['trim'](),_0x45d303=_0x32d133[_0x3ea9c1(0x25b)]();let _0x4e2997='UNKNOWN',_0x10e6cb=null;if(_0x45d303['startsWith'](_0x3ea9c1(0x29d))){_0x4e2997=_0x2ab3b8[_0x3ea9c1(0x226)];const _0x42ef62=_0x32d133['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x10e6cb=_0x42ef62?_0x42ef62[0x1]:null;}else{if(_0x45d303['startsWith'](_0x2ab3b8['ZgHci'])){_0x4e2997='INSERT';const _0x4918b4=_0x32d133[_0x3ea9c1(0x2ad)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x10e6cb=_0x4918b4?_0x4918b4[0x1]:null;}else{if(_0x45d303['startsWith'](_0x2ab3b8[_0x3ea9c1(0x2a1)])){_0x4e2997=_0x2ab3b8[_0x3ea9c1(0x2a1)];const _0x2ff718=_0x32d133['match'](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x10e6cb=_0x2ff718?_0x2ff718[0x1]:null;}else{if(_0x45d303['startsWith'](_0x3ea9c1(0x225))){_0x4e2997=_0x2ab3b8['VSNaT'];const _0x3c26d2=_0x32d133['match'](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x10e6cb=_0x3c26d2?_0x3c26d2[0x1]:null;}else{if(_0x45d303['startsWith'](_0x2ab3b8[_0x3ea9c1(0x25e)])||_0x45d303['startsWith']('START\x20TRANSACTION'))_0x4e2997=_0x2ab3b8['jmLAO'];else{if(_0x45d303['startsWith']('COMMIT'))_0x4e2997=_0x2ab3b8['VyHYR'];else{if(_0x45d303['startsWith'](_0x2ab3b8[_0x3ea9c1(0x1fb)]))_0x4e2997=_0x3ea9c1(0x2a9);else{if(_0x45d303['startsWith'](_0x2ab3b8[_0x3ea9c1(0x22b)]))_0x4e2997=_0x2ab3b8['dgwtV'];else{if(_0x45d303[_0x3ea9c1(0x1f7)]('ALTER'))_0x4e2997=_0x2ab3b8[_0x3ea9c1(0x23f)];else _0x45d303[_0x3ea9c1(0x1f7)](_0x2ab3b8[_0x3ea9c1(0x295)])&&(_0x4e2997=_0x2ab3b8['FnkJp']);}}}}}}}}return{'type':_0x4e2997,'table':_0x10e6cb};},startQueryTimer=()=>{const _0x2ca4a7={'qVHlN':function(_0x1199a1,_0x5e7b87){return _0x1199a1(_0x5e7b87);},'Rptxl':function(_0x414a32,_0xb8b37){return _0x414a32+_0xb8b37;},'nRNcx':function(_0x15f759,_0x4cbc93){return _0x15f759/_0x4cbc93;}},_0x37d99a=process['hrtime']();return()=>{const _0x1b11cc=a0_0x433d,[_0x2a32b3,_0x1992d5]=process['hrtime'](_0x37d99a);return _0x2ca4a7[_0x1b11cc(0x264)](parseFloat,_0x2ca4a7[_0x1b11cc(0x1ff)](_0x2a32b3*0x3e8,_0x2ca4a7['nRNcx'](_0x1992d5,0xf4240))[_0x1b11cc(0x211)](0x2));};},logQuery=(_0xc7631d,_0x3d5e7b=[],_0x457f9f={})=>{const _0x38a199=a0_0x4e69df,_0x36ad07={'FUCPh':'DB\x20Query','bWAQi':_0x38a199(0x21b),'JOwkk':function(_0x59c149,_0x19937d){return _0x59c149!==_0x19937d;},'nwIVf':function(_0x57b852,_0x5c3723){return _0x57b852>_0x5c3723;},'FUPLL':'\x20[SLOW]','QWjTu':'warn','TTVKF':'info','vUhmx':function(_0x437340,_0x1e15b0,_0x440c47){return _0x437340(_0x1e15b0,_0x440c47);}};if(!sqlLogEnabled){logger[_0x38a199(0x247)]({'event':_0x38a199(0x20d),'query':_0xc7631d['substring'](0x0,0xc8),'paramCount':_0x3d5e7b['length']},_0x36ad07['FUCPh']);return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0x36ad07[_0x38a199(0x239)]}=_0x457f9f,{type:_0x5bea5c,table:_0x2289d6}=parseQueryMetadata(_0xc7631d),_0x27d22d={'event':'sql_query','queryType':_0x5bea5c,'table':_0x2289d6,'query':_0xc7631d,'paramCount':_0x3d5e7b['length'],'dbType':dbType};sqlLogParams&&_0x3d5e7b['length']>0x0&&(_0x27d22d[_0x38a199(0x275)]=redactSensitiveParams(_0x3d5e7b,_0xc7631d));_0x36ad07['JOwkk'](duration,null)&&(_0x27d22d[_0x38a199(0x27e)]=duration,_0x27d22d[_0x38a199(0x293)]=_0x36ad07['nwIVf'](duration,sqlLogSlowThreshold));rowsAffected!==null&&(_0x27d22d['rowsAffected']=rowsAffected);const _0x26072a=_0x2289d6||'unknown';let _0x49054b='['+_0x5bea5c+']\x20'+_0x26072a;duration!==null&&(_0x49054b+='\x20('+duration+_0x38a199(0x2aa));const _0x2d307f=duration!==null&&duration>sqlLogSlowThreshold;let _0x6a5e09=_0x38a199(0x247);if(_0x2d307f)_0x49054b+=_0x36ad07[_0x38a199(0x206)],_0x6a5e09=_0x36ad07['QWjTu'],logger['warn'](_0x27d22d,_0x49054b);else sqlLogLevel===_0x36ad07[_0x38a199(0x1f1)]?(_0x6a5e09='info',logger[_0x38a199(0x245)](_0x27d22d,_0x49054b)):logger['debug'](_0x27d22d,_0x49054b);_0x36ad07[_0x38a199(0x240)](writeToFileLog,{..._0x27d22d,'level':_0x6a5e09,'msg':_0x49054b,'time':new Date()['toISOString']()},_0x6a5e09);},logTransaction=(_0x53d056,_0x2c049f)=>{const _0x247283=a0_0x4e69df,_0x3aa064={'PUbHp':'db_transaction','vaOfk':function(_0x1c7443,_0xf7ec66,_0x1bdbdd){return _0x1c7443(_0xf7ec66,_0x1bdbdd);},'vCHPt':'debug'},_0x17f44f={'event':_0x3aa064['PUbHp'],'status':_0x53d056,'queryCount':_0x2c049f},_0x29509a=_0x247283(0x2a0)+_0x53d056;logger['debug'](_0x17f44f,_0x29509a),_0x3aa064[_0x247283(0x20e)](writeToFileLog,{..._0x17f44f,'level':_0x3aa064[_0x247283(0x213)],'msg':_0x29509a,'time':new Date()[_0x247283(0x290)]()},_0x3aa064[_0x247283(0x213)]);},redactObject=_0x5dcccd=>{const _0x40518c=a0_0x4e69df,_0x23a082={'oYkSD':'password','UaKGn':_0x40518c(0x274),'yEtCA':_0x40518c(0x263),'hahWD':_0x40518c(0x1fe),'zESuA':'credit_card','klMAY':'pin','bvzjZ':'object','jKgtu':function(_0x1ca7c2,_0x38a7ce){return _0x1ca7c2!==_0x38a7ce;},'gnoTu':function(_0x4d481f,_0x3bb2a0){return _0x4d481f(_0x3bb2a0);}};if(!_0x5dcccd||typeof _0x5dcccd!==_0x40518c(0x26d))return _0x5dcccd;const _0x587844=[_0x23a082['oYkSD'],_0x23a082[_0x40518c(0x288)],'pwd',_0x40518c(0x254),_0x23a082['yEtCA'],_0x23a082['hahWD'],_0x40518c(0x2a6),'authorization','creditcard',_0x23a082[_0x40518c(0x233)],'cvv','ssn',_0x23a082[_0x40518c(0x1f9)],_0x40518c(0x2a8),'privatekey',_0x40518c(0x27f),'access_token'],_0x32f8b1=Array[_0x40518c(0x28f)](_0x5dcccd)?[..._0x5dcccd]:{..._0x5dcccd};for(const _0xcd9692 of Object[_0x40518c(0x228)](_0x32f8b1)){const _0x595847=_0xcd9692['toLowerCase']();if(_0x587844['some'](_0x5cf0df=>_0x595847[_0x40518c(0x298)](_0x5cf0df)))_0x32f8b1[_0xcd9692]='[REDACTED]';else typeof _0x32f8b1[_0xcd9692]===_0x23a082[_0x40518c(0x273)]&&_0x23a082[_0x40518c(0x24c)](_0x32f8b1[_0xcd9692],null)&&(_0x32f8b1[_0xcd9692]=_0x23a082[_0x40518c(0x1fc)](redactObject,_0x32f8b1[_0xcd9692]));}return _0x32f8b1;},logError=(_0x5a5777,_0x172feb={},_0x5ae955=null)=>{const _0xbe4245=a0_0x4e69df,_0x5879d0={'bMSoQ':_0xbe4245(0x21c),'JiMWJ':function(_0x2e3e65,_0x2a0373,_0x4ec161){return _0x2e3e65(_0x2a0373,_0x4ec161);}},_0x1bb4f5={'event':_0x5879d0[_0xbe4245(0x212)],'errorName':_0x5a5777['name']||'Error','errorMessage':_0x5a5777['message'],'errorCode':_0x5a5777['code']||null,'stack':_0x5a5777[_0xbe4245(0x20b)],..._0x172feb},_0x8467a=_0x5ae955||'Error:\x20'+_0x5a5777[_0xbe4245(0x253)];logger[_0xbe4245(0x21c)](_0x1bb4f5,_0x8467a),_0x5879d0[_0xbe4245(0x28a)](writeToFileLog,{..._0x1bb4f5,'level':_0x5879d0[_0xbe4245(0x212)],'msg':_0x8467a,'time':new Date()[_0xbe4245(0x290)]()},'error');},logFatalError=(_0x34ca3c,_0x1758c3={},_0x391ae0=null)=>{const _0x4b2cd3=a0_0x4e69df,_0x14bed0={'LHbtN':'CRITICAL'},_0xbd4e67={'event':'fatal_error','errorName':_0x34ca3c[_0x4b2cd3(0x222)]||_0x4b2cd3(0x281),'errorMessage':_0x34ca3c[_0x4b2cd3(0x253)],'errorCode':_0x34ca3c[_0x4b2cd3(0x26c)]||null,'stack':_0x34ca3c['stack'],'severity':_0x14bed0['LHbtN'],..._0x1758c3},_0x15a9d0=_0x391ae0||'FATAL:\x20'+_0x34ca3c['message'];logger[_0x4b2cd3(0x2ae)](_0xbd4e67,_0x15a9d0),writeToFileLog({..._0xbd4e67,'level':_0x4b2cd3(0x2ae),'msg':_0x15a9d0,'time':new Date()['toISOString']()},'error');},logHttpError=(_0x4af514,_0x5590a3,_0x5a1558={})=>{const _0x59623b=a0_0x4e69df,_0x3bb2ba={'zBsDP':_0x59623b(0x281),'jMWNt':_0x59623b(0x214),'HgnJc':function(_0x48735f,_0x514701,_0x1db028){return _0x48735f(_0x514701,_0x1db028);},'NnInU':function(_0x146da0,_0x1061e1){return _0x146da0>=_0x1061e1;},'nlRRH':_0x59623b(0x204)},_0x2fadd0={'event':'http_error','errorName':_0x4af514[_0x59623b(0x222)]||_0x3bb2ba['zBsDP'],'errorMessage':_0x4af514['message'],'errorCode':_0x4af514['code']||_0x4af514[_0x59623b(0x2a4)]||0x1f4,'stack':_0x4af514['stack'],'method':_0x5590a3?.['method'],'url':_0x5590a3?.[_0x59623b(0x268)]||_0x5590a3?.[_0x59623b(0x24e)],'path':_0x5590a3?.[_0x59623b(0x2a7)],'ip':_0x5590a3?.['ip']||_0x5590a3?.['connection']?.['remoteAddress'],'userAgent':_0x5590a3?.[_0x59623b(0x231)]?.(_0x3bb2ba[_0x59623b(0x289)]),'requestId':_0x5590a3?.['id']||_0x5590a3?.[_0x59623b(0x243)]?.[_0x59623b(0x262)],'body':_0x5590a3?.[_0x59623b(0x210)]?redactObject(_0x5590a3['body']):undefined,'query':_0x5590a3?.['query'],..._0x5a1558},_0x135f96=_0x4af514[_0x59623b(0x2a4)]||_0x4af514[_0x59623b(0x23a)]||0x1f4,_0x22525d=_0x59623b(0x28e)+_0x135f96+':\x20'+_0x4af514['message'];_0x135f96>=0x1f4?logger['error'](_0x2fadd0,_0x22525d):logger[_0x59623b(0x204)](_0x2fadd0,_0x22525d),_0x3bb2ba[_0x59623b(0x20c)](writeToFileLog,{..._0x2fadd0,'level':_0x3bb2ba[_0x59623b(0x248)](_0x135f96,0x1f4)?'error':_0x3bb2ba['nlRRH'],'msg':_0x22525d,'time':new Date()[_0x59623b(0x290)]()},_0x135f96>=0x1f4?'error':_0x3bb2ba[_0x59623b(0x28b)]);},logUncaughtError=(_0x1d5972,_0x56e590)=>{const _0x40ec82=a0_0x4e69df,_0x177618={'VvBsL':function(_0x16db96,_0x27a43b){return _0x16db96(_0x27a43b);},'HIEkg':function(_0x33d058,_0x5a61bc,_0x453e5f){return _0x33d058(_0x5a61bc,_0x453e5f);},'ARsjn':'fatal','VcYos':_0x40ec82(0x21c)},_0x3ea182={'event':_0x1d5972,'errorName':_0x56e590?.[_0x40ec82(0x222)]||'Error','errorMessage':_0x56e590?.['message']||_0x177618['VvBsL'](String,_0x56e590),'errorCode':_0x56e590?.['code']||null,'stack':_0x56e590?.['stack'],'severity':'CRITICAL','processId':process['pid'],'memoryUsage':process[_0x40ec82(0x269)](),'uptime':process['uptime']()},_0x43af5f='['+_0x1d5972['toUpperCase']()+']\x20'+(_0x56e590?.['message']||_0x56e590);logger['fatal'](_0x3ea182,_0x43af5f),_0x177618[_0x40ec82(0x202)](writeToFileLog,{..._0x3ea182,'level':_0x177618['ARsjn'],'msg':_0x43af5f,'time':new Date()['toISOString']()},_0x177618['VcYos']);},setupGlobalErrorHandlers=()=>{const _0x509d71=a0_0x4e69df,_0x56db7a={'ZneXG':function(_0x3de5cb,_0x417bfd,_0x51387f){return _0x3de5cb(_0x417bfd,_0x51387f);},'GBUrc':_0x509d71(0x236),'aMIPj':function(_0x353e77,_0x1043e3){return _0x353e77 instanceof _0x1043e3;},'qQVaL':'unhandledRejection','ENBuQ':'process_warning','VsuiA':_0x509d71(0x23d),'ABdHL':'global_error_handlers_setup'};process['on'](_0x509d71(0x236),_0x368cbf=>{const _0x434ed0=_0x509d71;_0x56db7a['ZneXG'](logUncaughtError,_0x56db7a['GBUrc'],_0x368cbf),_0x56db7a[_0x434ed0(0x230)](setTimeout,()=>{const _0x316345=_0x434ed0;process[_0x316345(0x21a)](0x1);},0x3e8);}),process['on'](_0x509d71(0x284),(_0x4752cb,_0x38087c)=>{const _0x430133=_0x509d71,_0x197790=_0x56db7a[_0x430133(0x22f)](_0x4752cb,Error)?_0x4752cb:new Error(String(_0x4752cb));logUncaughtError(_0x56db7a['qQVaL'],_0x197790);}),process['on'](_0x56db7a['VsuiA'],_0x1377ed=>{const _0x7e73ce=_0x509d71;logger[_0x7e73ce(0x204)]({'event':_0x56db7a[_0x7e73ce(0x260)],'name':_0x1377ed[_0x7e73ce(0x222)],'message':_0x1377ed['message'],'stack':_0x1377ed[_0x7e73ce(0x20b)]},'Process\x20Warning:\x20'+_0x1377ed[_0x7e73ce(0x253)]);});const _0x20eee2={'event':_0x56db7a[_0x509d71(0x279)]},_0x5f21f4='Global\x20error\x20handlers\x20initialized';logger['info'](_0x20eee2,_0x5f21f4),writeToFileLog({..._0x20eee2,'level':_0x509d71(0x245),'msg':_0x5f21f4,'time':new Date()[_0x509d71(0x290)]()},'info');},createErrorHandlerMiddleware=()=>{const _0x2f8b2d=a0_0x4e69df,_0x44016a={'ILkvJ':function(_0x391831,_0x35bfeb){return _0x391831>=_0x35bfeb;},'VlbKf':_0x2f8b2d(0x2a3),'MdpGt':_0x2f8b2d(0x262)};return(_0x22a8a1,_0x511907,_0x1bd095,_0x14184f)=>{const _0x3b64b6=_0x2f8b2d;logHttpError(_0x22a8a1,_0x511907);const _0x26c7e8=_0x22a8a1[_0x3b64b6(0x2a4)]||_0x22a8a1['status']||0x1f4;_0x1bd095['status'](_0x26c7e8)[_0x3b64b6(0x294)]({'success':![],'error':_0x44016a['ILkvJ'](_0x26c7e8,0x1f4)?_0x44016a['VlbKf']:_0x22a8a1['message'],'requestId':_0x511907['id']||_0x511907['headers']?.[_0x44016a['MdpGt']]||null});};};module[a0_0x4e69df(0x29e)]={'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_0x1b2d4b=a0_0x465a;(function(_0x543baf,_0x4d63c2){const _0x4b284f=a0_0x465a,_0x245208=_0x543baf();while(!![]){try{const _0x546e7d=-parseInt(_0x4b284f(0x119))/0x1+-parseInt(_0x4b284f(0x113))/0x2+parseInt(_0x4b284f(0x118))/0x3*(parseInt(_0x4b284f(0x12f))/0x4)+-parseInt(_0x4b284f(0x12e))/0x5+-parseInt(_0x4b284f(0x122))/0x6+parseInt(_0x4b284f(0x11f))/0x7+parseInt(_0x4b284f(0x11d))/0x8*(parseInt(_0x4b284f(0x127))/0x9);if(_0x546e7d===_0x4d63c2)break;else _0x245208['push'](_0x245208['shift']());}catch(_0x18602f){_0x245208['push'](_0x245208['shift']());}}}(a0_0xefaf,0x790de));function a0_0x465a(_0x2b471d,_0x1c48cc){_0x2b471d=_0x2b471d-0x113;const _0xefafaa=a0_0xefaf();let _0x465a6c=_0xefafaa[_0x2b471d];if(a0_0x465a['dogHvu']===undefined){var _0x26f6d7=function(_0x4716f9){const _0x5d12c3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x45e027='',_0x5b9207='';for(let _0x11d28e=0x0,_0x46f1b2,_0x226ed5,_0x385491=0x0;_0x226ed5=_0x4716f9['charAt'](_0x385491++);~_0x226ed5&&(_0x46f1b2=_0x11d28e%0x4?_0x46f1b2*0x40+_0x226ed5:_0x226ed5,_0x11d28e++%0x4)?_0x45e027+=String['fromCharCode'](0xff&_0x46f1b2>>(-0x2*_0x11d28e&0x6)):0x0){_0x226ed5=_0x5d12c3['indexOf'](_0x226ed5);}for(let _0x2b25ab=0x0,_0x46e3bf=_0x45e027['length'];_0x2b25ab<_0x46e3bf;_0x2b25ab++){_0x5b9207+='%'+('00'+_0x45e027['charCodeAt'](_0x2b25ab)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b9207);};a0_0x465a['zVAoHS']=_0x26f6d7,a0_0x465a['lgGSlv']={},a0_0x465a['dogHvu']=!![];}const _0x5f1766=_0xefafaa[0x0],_0x1fe3d9=_0x2b471d+_0x5f1766,_0xbc4baa=a0_0x465a['lgGSlv'][_0x1fe3d9];return!_0xbc4baa?(_0x465a6c=a0_0x465a['zVAoHS'](_0x465a6c),a0_0x465a['lgGSlv'][_0x1fe3d9]=_0x465a6c):_0x465a6c=_0xbc4baa,_0x465a6c;}const fs=require('fs')['promises'],path=require(a0_0x1b2d4b(0x11e)),{logger}=require('./logger');class PayloadLoader{constructor(){this['payloadDir']=path['join'](__dirname,'../../payload'),this['cache']=new Map();}async[a0_0x1b2d4b(0x114)](_0x14834a,_0x474c2e){const _0x5f1927=a0_0x1b2d4b,_0x2de72c={'HLJtD':'utf8','YnXmT':_0x5f1927(0x134),'WwRJH':'Failed\x20to\x20load\x20payload'},_0x2af3fd=_0x14834a+':'+_0x474c2e;if(this[_0x5f1927(0x137)][_0x5f1927(0x128)](_0x2af3fd))return this[_0x5f1927(0x137)]['get'](_0x2af3fd);const _0x45a8a1=path['join'](this[_0x5f1927(0x12c)],_0x14834a+'_'+_0x474c2e+_0x5f1927(0x126));try{const _0x3127e8=await fs[_0x5f1927(0x11b)](_0x45a8a1,_0x2de72c['HLJtD']),_0x2d6dee=JSON[_0x5f1927(0x138)](_0x3127e8);return this['cache']['set'](_0x2af3fd,_0x2d6dee),logger[_0x5f1927(0x116)]({'event':'payload_loaded','project':_0x14834a,'resource':_0x474c2e},_0x5f1927(0x129)),_0x2d6dee;}catch(_0x3ab877){logger[_0x5f1927(0x136)]({'event':_0x2de72c['YnXmT'],'project':_0x14834a,'resource':_0x474c2e,'error':_0x3ab877[_0x5f1927(0x11a)]},_0x2de72c[_0x5f1927(0x133)]);throw new Error('Payload\x20not\x20found:\x20'+_0x14834a+'_'+_0x474c2e);}}async[a0_0x1b2d4b(0x123)](_0x3e3e95){const _0x3e28b4=a0_0x1b2d4b,_0x3a3abc={'zseKc':_0x3e28b4(0x121)},_0x980b9c=_0x3e28b4(0x12a)+_0x3e3e95;if(this[_0x3e28b4(0x137)][_0x3e28b4(0x128)](_0x980b9c))return this['cache'][_0x3e28b4(0x124)](_0x980b9c);const _0x1a8dcc=path[_0x3e28b4(0x132)](this[_0x3e28b4(0x12c)],_0x3e3e95+'.json');try{const _0xeb383e=await fs[_0x3e28b4(0x11b)](_0x1a8dcc,'utf8'),_0x251990=JSON[_0x3e28b4(0x138)](_0xeb383e);return this['cache']['set'](_0x980b9c,_0x251990),logger[_0x3e28b4(0x116)]({'event':'payload_loaded','payloadName':_0x3e3e95},_0x3a3abc[_0x3e28b4(0x135)]),_0x251990;}catch(_0x3e8aa3){logger[_0x3e28b4(0x136)]({'event':_0x3e28b4(0x134),'payloadName':_0x3e3e95,'error':_0x3e8aa3[_0x3e28b4(0x11a)]},'Failed\x20to\x20load\x20payload\x20by\x20name');throw new Error(_0x3e28b4(0x12b)+_0x3e3e95);}}['isActionEnabled'](_0xe08e5a,_0xf9d7d5){const _0x1655d3=a0_0x1b2d4b,_0x3174e5={'wdUqe':function(_0x5aefa4,_0x116fd8){return _0x5aefa4===_0x116fd8;}};return _0xe08e5a[_0x1655d3(0x139)]&&_0x3174e5[_0x1655d3(0x120)](_0xe08e5a['action'][_0xf9d7d5],!![]);}[a0_0x1b2d4b(0x11c)](_0xd91468){const _0x2c9c09=a0_0x1b2d4b;return{'columns':_0xd91468[_0x2c9c09(0x12d)]||[],'filename':_0xd91468[_0x2c9c09(0x125)]['replace']('.','-')+'-export','datatablesQuery':_0xd91468[_0x2c9c09(0x130)]||null,'columnFormats':_0xd91468[_0x2c9c09(0x115)]||null,'fieldLabels':_0xd91468['fieldLabels']||null};}[a0_0x1b2d4b(0x131)](){const _0x1e8949=a0_0x1b2d4b,_0x1d7c03={'Lofxa':'payload_cache_cleared'};this[_0x1e8949(0x137)][_0x1e8949(0x117)](),logger['info']({'event':_0x1d7c03['Lofxa']},'Payload\x20cache\x20cleared');}}function a0_0xefaf(){const _0x1aace1=['Cgf0Aa','mJm0ntmWogTArxHVAG','D2rvCwu','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5igj5ig5HBwu','ndi0nJi3ohvkDvzqBW','Bg9HzfbHEwXVywrcEu5HBwu','z2v0','DgfIBgvoyw1L','lMPZB24','oty3nuLoChfoCq','AgfZ','ugf5Bg9HzcbSB2fKzwqGC3vJy2vZC2z1BgX5','Cgf5Bg9HzdO','ugf5Bg9HzcbUB3qGzM91BMq6ia','Cgf5Bg9HzerPCG','zMLLBgroyw1L','mtmWotm0mePiv0XTDa','mta4zun0u0Lr','zgf0yxrHyMXLC1f1zxj5','y2XLyxjdywnOzq','AM9PBG','v3DssKG','Cgf5Bg9Hzf9SB2fKx2vYCM9Y','ENnLs2m','zxjYB3i','y2fJAgu','CgfYC2u','ywn0Aw9U','mtG2odq4ofvTwujSzq','Bg9HzfbHEwXVywq','y29SDw1UrM9YBwf0CW','zgvIDwC','y2XLyxi','mtq0nJnxs3bmB08','odq0ndiZBuX3C2nN','BwvZC2fNzq','CMvHzezPBgu','z2v0rxHWB3j0q29UzMLN','mJa2odbwyNbewKu'];a0_0xefaf=function(){return _0x1aace1;};return a0_0xefaf();}module['exports']=new PayloadLoader();
|