@restforgejs/platform 5.3.6 → 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/build-info.json +2 -2
- package/cli/consumer-deploy.js +1 -1
- package/cli/consumer.js +1 -1
- package/cli/designer.js +1 -1
- package/generators/cli/fast-track.js +98 -27
- package/generators/lib/templates/dashboard-catalog.js +1 -1
- package/generators/lib/templates/db-connection-env.js +1 -1
- package/generators/lib/templates/dbschema-catalog.js +1 -1
- package/generators/lib/templates/field-validation-catalog.js +1 -1
- package/generators/lib/templates/mysql-template.js +1 -1
- package/generators/lib/templates/oracle-template.js +1 -1
- package/generators/lib/templates/postgres-template.js +1 -1
- package/generators/lib/templates/query-declarative-catalog.js +1 -1
- package/generators/lib/templates/sqlite-template.js +1 -1
- package/integrity-manifest.json +18 -18
- package/package.json +1 -1
- package/scripts/verify-integrity.js +1 -1
- package/server.js +1 -1
- package/src/components/handlers/adjust_handler.js +1 -1
- package/src/components/handlers/audit_handler.js +1 -1
- package/src/components/handlers/delete_handler.js +1 -1
- package/src/components/handlers/export_handler.js +1 -1
- package/src/components/handlers/import_handler.js +1 -1
- package/src/components/handlers/insert_handler.js +1 -1
- package/src/components/handlers/update_handler.js +1 -1
- package/src/components/handlers/upload_handler.js +1 -1
- package/src/components/handlers/workflow_handler.js +1 -1
- package/src/components/integrations/webhook.js +1 -1
- package/src/consumers/baseConsumer.js +1 -1
- package/src/consumers/declarativeMapper.js +1 -1
- package/src/consumers/handlers/apiHandler.js +1 -1
- package/src/consumers/handlers/consoleHandler.js +1 -1
- package/src/consumers/handlers/databaseHandler.js +1 -1
- package/src/consumers/handlers/index.js +1 -1
- package/src/consumers/handlers/kafkaHandler.js +1 -1
- package/src/consumers/index.js +1 -1
- package/src/consumers/messageTransformer.js +1 -1
- package/src/consumers/validator.js +1 -1
- package/src/core/db/dialect/base-dialect.js +1 -1
- package/src/core/db/dialect/index.js +1 -1
- package/src/core/db/dialect/mysql-dialect.js +1 -1
- package/src/core/db/dialect/oracle-dialect.js +1 -1
- package/src/core/db/dialect/postgres-dialect.js +1 -1
- package/src/core/db/dialect/sqlite-dialect.js +1 -1
- package/src/core/db/flatten-helper.js +1 -1
- package/src/core/db/query-builder-error.js +1 -1
- package/src/core/db/query-builder.js +1 -1
- package/src/core/db/relation-helper.js +1 -1
- package/src/core/handlers/delete_handler.js +1 -1
- package/src/core/handlers/insert_handler.js +1 -1
- package/src/core/handlers/update_handler.js +1 -1
- package/src/core/models/base-model.js +1 -1
- package/src/core/utils/cache-manager.js +1 -1
- package/src/core/utils/component-engine.js +1 -1
- package/src/core/utils/context-builder.js +1 -1
- package/src/core/utils/datetime-formatter.js +1 -1
- package/src/core/utils/datetime-parser.js +1 -1
- package/src/core/utils/db.js +1 -1
- package/src/core/utils/logger.js +1 -1
- package/src/core/utils/payload-loader.js +1 -1
- package/src/core/utils/security-checks.js +1 -1
- package/src/middleware/body-options.js +1 -1
- package/src/middleware/cors.js +1 -1
- package/src/middleware/idempotency.js +1 -1
- package/src/middleware/rate-limiter.js +1 -1
- package/src/middleware/request-logger.js +1 -1
- package/src/middleware/security-headers.js +1 -1
- package/src/models/base-model-mysql.js +1 -1
- package/src/models/base-model-oracle.js +1 -1
- package/src/models/base-model-sqlite.js +1 -1
- package/src/models/base-model.js +1 -1
- package/src/pro/caching/redis-client.js +1 -1
- package/src/pro/caching/redis-helper.js +1 -1
- package/src/pro/consumers/baseConsumer.js +1 -1
- package/src/pro/consumers/declarativeMapper.js +1 -1
- package/src/pro/consumers/handlers/apiHandler.js +1 -1
- package/src/pro/consumers/handlers/consoleHandler.js +1 -1
- package/src/pro/consumers/handlers/databaseHandler.js +1 -1
- package/src/pro/consumers/handlers/index.js +1 -1
- package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
- package/src/pro/consumers/index.js +1 -1
- package/src/pro/consumers/messageTransformer.js +1 -1
- package/src/pro/consumers/validator.js +1 -1
- package/src/pro/database/base-model-mysql.js +1 -1
- package/src/pro/database/base-model-oracle.js +1 -1
- package/src/pro/database/base-model-sqlite.js +1 -1
- package/src/pro/database/db-mysql.js +1 -1
- package/src/pro/database/db-oracle.js +1 -1
- package/src/pro/database/db-sqlite.js +1 -1
- package/src/pro/excel/excel-generator.js +1 -1
- package/src/pro/excel/excel-parser.js +1 -1
- package/src/pro/excel/export-service.js +1 -1
- package/src/pro/excel/export_handler.js +1 -1
- package/src/pro/excel/import-service.js +1 -1
- package/src/pro/excel/import-validator.js +1 -1
- package/src/pro/excel/import_handler.js +1 -1
- package/src/pro/excel/upsert-builder.js +1 -1
- package/src/pro/idgen/idgen-routes.js +1 -1
- package/src/pro/integrations/lookup-resolver.js +1 -1
- package/src/pro/integrations/upload-handler-v2.js +1 -1
- package/src/pro/integrations/upload-handler.js +1 -1
- package/src/pro/integrations/webhook.js +1 -1
- package/src/pro/locking/lock-routes.js +1 -1
- package/src/pro/locking/resource-lock-manager.js +1 -1
- package/src/pro/messaging/kafkaConsumerService.js +1 -1
- package/src/pro/messaging/kafkaService.js +1 -1
- package/src/pro/messaging/messagehubService.js +1 -1
- package/src/pro/messaging/rabbitmqService.js +1 -1
- package/src/pro/scheduler/job-manager.js +1 -1
- package/src/pro/scheduler/job-routes.js +1 -1
- package/src/pro/scheduler/job-validator.js +1 -1
- package/src/pro/storage/base-storage-provider.js +1 -1
- package/src/pro/storage/file-metadata-helper.js +1 -1
- package/src/pro/storage/index.js +1 -1
- package/src/pro/storage/local-storage-provider.js +1 -1
- package/src/pro/storage/s3-storage-provider.js +1 -1
- package/src/pro/storage/upload-cleanup-job.js +1 -1
- package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
- package/src/pro/storage/upload-pending-tracker.js +1 -1
- package/src/pro/websocket/broadcast-helper.js +1 -1
- package/src/pro/websocket/index.js +1 -1
- package/src/pro/websocket/livesync-server.js +1 -1
- package/src/pro/websocket/ws-broadcaster.js +1 -1
- package/src/services/export-service.js +1 -1
- package/src/services/import-service.js +1 -1
- package/src/services/kafkaConsumerService.js +1 -1
- package/src/services/kafkaService.js +1 -1
- package/src/services/messagehubService.js +1 -1
- package/src/services/rabbitmqService.js +1 -1
- package/src/utils/cache-invalidation-registry.js +1 -1
- package/src/utils/cache-manager.js +1 -1
- package/src/utils/component-engine.js +1 -1
- package/src/utils/config-extractor.js +1 -1
- package/src/utils/consumerLogger.js +1 -1
- package/src/utils/context-builder.js +1 -1
- package/src/utils/dashboard-helpers.js +1 -1
- package/src/utils/dateHelper.js +1 -1
- package/src/utils/datetime-formatter.js +1 -1
- package/src/utils/datetime-parser.js +1 -1
- package/src/utils/db-bootstrap.js +1 -1
- package/src/utils/db-mysql.js +1 -1
- package/src/utils/db-oracle.js +1 -1
- package/src/utils/db-sqlite.js +1 -1
- package/src/utils/db.js +1 -1
- package/src/utils/demo-generator.js +1 -1
- package/src/utils/excel-generator.js +1 -1
- package/src/utils/excel-parser.js +1 -1
- package/src/utils/file-watcher.js +1 -1
- package/src/utils/id-generator.js +1 -1
- package/src/utils/idempotency-manager.js +1 -1
- package/src/utils/import-validator.js +1 -1
- package/src/utils/license-client.js +1 -1
- package/src/utils/lock-manager.js +1 -1
- package/src/utils/logger.js +1 -1
- package/src/utils/lookup-resolver.js +1 -1
- package/src/utils/payload-loader.js +1 -1
- package/src/utils/processor-response.js +1 -1
- package/src/utils/rabbitmq.js +1 -1
- package/src/utils/redis-client.js +1 -1
- package/src/utils/redis-helper.js +1 -1
- package/src/utils/request-scope.js +1 -1
- package/src/utils/security-checks.js +1 -1
- package/src/utils/service-resolver.js +1 -1
- package/src/utils/shutdown-coordinator.js +1 -1
- package/src/utils/soft-delete-dashboard-guard.js +1 -1
- package/src/utils/sql-table-extractor.js +1 -1
- package/src/utils/trusted-keys.js +1 -1
- package/src/utils/upload-handler.js +1 -1
- package/src/utils/upsert-builder.js +1 -1
- package/src/utils/workflow-hook-executor.js +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a0_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
|
-
const
|
|
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_0x421d59=a0_0x73f4;(function(_0x40029d,_0xc8ee18){const _0x3ab6a8=a0_0x73f4,_0x355a7b=_0x40029d();while(!![]){try{const _0xf31e21=parseInt(_0x3ab6a8(0x19f))/0x1*(-parseInt(_0x3ab6a8(0x1a3))/0x2)+-parseInt(_0x3ab6a8(0x1b8))/0x3+parseInt(_0x3ab6a8(0x1a9))/0x4+parseInt(_0x3ab6a8(0x19c))/0x5*(parseInt(_0x3ab6a8(0x1c4))/0x6)+parseInt(_0x3ab6a8(0x1bc))/0x7+-parseInt(_0x3ab6a8(0x187))/0x8*(-parseInt(_0x3ab6a8(0x19d))/0x9)+-parseInt(_0x3ab6a8(0x194))/0xa;if(_0xf31e21===_0xc8ee18)break;else _0x355a7b['push'](_0x355a7b['shift']());}catch(_0x4dc1bc){_0x355a7b['push'](_0x355a7b['shift']());}}}(a0_0x445a,0xda182));const {Pool}=require('pg'),{logQuery,logTransaction,startQueryTimer,logDatabaseConfig,logger,logError}=require('./logger'),dbConfig={'host':process['env']['DB_HOST']||a0_0x421d59(0x1a8),'port':parseInt(process[a0_0x421d59(0x195)][a0_0x421d59(0x1ac)]||a0_0x421d59(0x1b9)),'user':process['env']['DB_USER']||'postgres','password':process['env'][a0_0x421d59(0x1be)]||a0_0x421d59(0x18d),'database':process['env'][a0_0x421d59(0x1a4)]||'dbxa03'};function a0_0x445a(){const _0x3223c5=['mteXmdGXmdrwuefzD20','y2XPzw50x3jLBgvHC2vFzxjYB3i','rejFueftu1DpuKq','Cg9ZDgDYzxnXBa','y3fozue','zgjFCg9VBf9JBg9Zzwq','BgvUz3rO','uK9mtejbq0S','ntC4nevyuuz1BW','u1fmievYCM9YoIa','zgjFCg9VBf9HBhjLywr5x2nSB3nLza','C3fS','Ag9ZDa','mdGWmde','u0vmrunuide','Ehnby3K','CMvSzwfZzq','uLjAEw4','ChvZAa','CxvLCNK','u3nIB3e','q0fVt0q','C3vIC3rYAw5N','BxmSia','uxvLCNKGCMv0DxjUzwqG','mtzHEgzuBxy','D25lq08','tvnWBg8','y29TBwL0','rxjYB3iGCMvSzwfZAw5NihrYyw5Zywn0Aw9UignSAwvUDdOG','y1fdrLm','Cg9ZDgDYzxmXmJm0','zxjYB3i','rxjYB3iGy2HLy2TPBMCGzgf0ywjHC2uGy29UBMvJDgLVBJOG','Aw5MBW','Cg9YDa','DhjHBNnHy3rPB25Fy29TCgXLDgu','CM93CW','mtq3odG0mtb0weTqBg8','zw52','zgf0ywjHC2u','u1Lovefyx0vsuK9s','sePtELG','CxrOv2e','CgfYyw1Z','ihf1zxjPzxmP','mZy0mhnQseX6Dq','nteWmJG4m2rirvLoyG','z29XwMu','mtvzCxHgsNC','zxHWB3j0CW','y29UBMvJDa','ihjVDW','mti1nZe4BfzNv0nQ','rejFtKfnrq','yvjOrKy','Dgfwqxy','C3LUDgf4igvYCM9Y','mtKYlJe2oc4XmdaUmq','ntm5ndaWogPIA0fHAG','sfzvzKi','qwHVD1q','rejFue9sva','y2LNuue','C3rHCNq','tM8Gzgf0ysbMB3vUzc4','suPSD0G','qu1MvvO','AwLHu0S','CM93q291BNq','vefctevFtK9ux0zpvu5e','mdGWmdy','EfjWy0O','BK95v2W','ndm2odmWmeHxy1nOEq','ntqZmG','BwvZC2fNzq','y29Kzq'];a0_0x445a=function(){return _0x3223c5;};return a0_0x445a();}logDatabaseConfig({'host':dbConfig[a0_0x421d59(0x1c8)],'port':dbConfig[a0_0x421d59(0x191)],'database':dbConfig[a0_0x421d59(0x196)],'type':'postgresql','user':dbConfig['user']});function a0_0x73f4(_0x4d16b2,_0x5a894b){_0x4d16b2=_0x4d16b2-0x17d;const _0x445a0b=a0_0x445a();let _0x73f43c=_0x445a0b[_0x4d16b2];if(a0_0x73f4['CIWsvH']===undefined){var _0x57d769=function(_0x33baaa){const _0x3bcff8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xb8f2e2='',_0x1e18ea='';for(let _0x25c278=0x0,_0xbd04ec,_0x654aa9,_0x14631d=0x0;_0x654aa9=_0x33baaa['charAt'](_0x14631d++);~_0x654aa9&&(_0xbd04ec=_0x25c278%0x4?_0xbd04ec*0x40+_0x654aa9:_0x654aa9,_0x25c278++%0x4)?_0xb8f2e2+=String['fromCharCode'](0xff&_0xbd04ec>>(-0x2*_0x25c278&0x6)):0x0){_0x654aa9=_0x3bcff8['indexOf'](_0x654aa9);}for(let _0x2ddb7e=0x0,_0x47e5e8=_0xb8f2e2['length'];_0x2ddb7e<_0x47e5e8;_0x2ddb7e++){_0x1e18ea+='%'+('00'+_0xb8f2e2['charCodeAt'](_0x2ddb7e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1e18ea);};a0_0x73f4['PUwADa']=_0x57d769,a0_0x73f4['JUOZzZ']={},a0_0x73f4['CIWsvH']=!![];}const _0x4c8967=_0x445a0b[0x0],_0x282d10=_0x4d16b2+_0x4c8967,_0x2e7b3f=a0_0x73f4['JUOZzZ'][_0x282d10];return!_0x2e7b3f?(_0x73f43c=a0_0x73f4['PUwADa'](_0x73f43c),a0_0x73f4['JUOZzZ'][_0x282d10]=_0x73f43c):_0x73f43c=_0x2e7b3f,_0x73f43c;}let pool=new Pool(dbConfig),isPoolClosed=![];function getPool(){const _0x4b81f3=a0_0x421d59,_0x4c7096={'iiaSK':'Creating\x20new\x20database\x20pool\x20(previous\x20pool\x20was\x20closed)'};return isPoolClosed&&(logger[_0x4b81f3(0x190)]({'event':'db_pool_recreate'},_0x4c7096[_0x4b81f3(0x1b2)]),pool=new Pool(dbConfig),isPoolClosed=![]),pool;}async function executeQuery(_0x1bc857,_0x574cc5=[]){const _0x2a7822=a0_0x421d59,_0x3a5875={'wnKCO':function(_0x14307c){return _0x14307c();},'kFTgS':'sql_error','MVuFA':'postgresql'},_0x5d63ff=startQueryTimer();try{const _0x380dd0=getPool(),_0x21065b=await _0x380dd0[_0x2a7822(0x1a1)]();try{const _0x225082=await _0x21065b['query'](_0x1bc857,_0x574cc5),_0x20ef9d=_0x3a5875['wnKCO'](_0x5d63ff);return logQuery(_0x1bc857,_0x574cc5,{'duration':_0x20ef9d,'rowsAffected':_0x225082['rowCount'],'dbType':_0x2a7822(0x1bf)}),_0x225082[_0x2a7822(0x193)];}finally{_0x21065b['release']();}}catch(_0x372e87){const _0x335b5e=_0x3a5875[_0x2a7822(0x188)](_0x5d63ff);logError(_0x372e87,{'event':_0x3a5875['kFTgS'],'query':_0x1bc857[_0x2a7822(0x184)](0x0,0x1f4),'paramCount':_0x574cc5[_0x2a7822(0x1c2)],'durationMs':_0x335b5e,'code':_0x372e87['code'],'dbType':_0x3a5875['MVuFA']},_0x2a7822(0x1c5)+_0x372e87[_0x2a7822(0x1ba)]);throw _0x372e87;}}function formatResponse(_0x4b3af3,_0x420b60=null){const _0x46f4fc=a0_0x421d59,_0x12b039={'CAoOD':'UNKNOWN_ERROR','cQCFS':function(_0x318471,_0x21a96c){return _0x318471===_0x21a96c;},'OgpaM':'42P01','cigQA':function(_0x4c5b09,_0x49819e){return _0x4c5b09===_0x49819e;},'MSplo':'AUTHENTICATION_ERROR','RRZyn':_0x46f4fc(0x1b5),'xvVNd':_0x46f4fc(0x1af)};if(_0x420b60){let _0x34a5a7=_0x12b039[_0x46f4fc(0x183)];if(_0x420b60[_0x46f4fc(0x1ba)]['includes'](_0x46f4fc(0x1a7)))_0x34a5a7=_0x46f4fc(0x197);else{if(_0x12b039[_0x46f4fc(0x18c)](_0x420b60[_0x46f4fc(0x1bb)],_0x12b039['OgpaM']))_0x34a5a7=_0x46f4fc(0x1b4);else{if(_0x12b039['cigQA'](_0x420b60[_0x46f4fc(0x1bb)],'28P01'))_0x34a5a7=_0x12b039[_0x46f4fc(0x189)];else(_0x420b60['code']===_0x12b039[_0x46f4fc(0x17f)]||_0x420b60['code']===_0x46f4fc(0x1c9))&&(_0x34a5a7='CONNECTION_ERROR');}}return{'success':![],'message':'Database\x20error:\x20'+_0x420b60['message'],'count':-0x1,'error_code':_0x34a5a7};}else{if(!_0x4b3af3||_0x4b3af3[_0x46f4fc(0x1c2)]===0x0)return{'success':!![],'message':_0x12b039['xvVNd'],'count':0x0,'data':[]};return{'success':!![],'message':_0x46f4fc(0x186)+_0x4b3af3[_0x46f4fc(0x1c2)]+_0x46f4fc(0x1a2)+(_0x12b039[_0x46f4fc(0x1ad)](_0x4b3af3[_0x46f4fc(0x1c2)],0x1)?'':'s')+'.','count':_0x4b3af3['length'],'data':_0x4b3af3};}}async function closePool(){const _0x4da431=a0_0x421d59,_0x4fae0e={'LpRuE':_0x4da431(0x1c1),'goqZe':function(_0x26e56e,_0xf6f833,_0x5913ce,_0xbeb4ae){return _0x26e56e(_0xf6f833,_0x5913ce,_0xbeb4ae);},'qsjWT':_0x4da431(0x1c6),'IJlwH':'Database\x20pool\x20was\x20already\x20closed'};if(!isPoolClosed)try{isPoolClosed=!![],await pool['end'](),logger['info']({'event':_0x4fae0e['LpRuE']},'Database\x20pool\x20closed\x20successfully');}catch(_0x526d46){_0x4fae0e[_0x4da431(0x19e)](logError,_0x526d46,{'event':'db_pool_close_error'},'Error\x20closing\x20database\x20pool:\x20'+_0x526d46[_0x4da431(0x1ba)]);}else logger['debug']({'event':_0x4fae0e['qsjWT']},_0x4fae0e[_0x4da431(0x1b0)]);}async function checkConnection(){const _0x571099=a0_0x421d59,_0x4eb391={'xsAcy':function(_0x5a924){return _0x5a924();},'cqNeA':_0x571099(0x1ca),'aRhFF':function(_0x415f10,_0x4af662,_0xa4b988,_0x144199){return _0x415f10(_0x4af662,_0xa4b988,_0x144199);},'xRpcJ':'db_connection_check_error'};try{const _0x4dc8a7=_0x4eb391[_0x571099(0x17d)](getPool),_0x3d8330=await _0x4dc8a7[_0x571099(0x1a1)]();try{return await _0x3d8330['query'](_0x4eb391[_0x571099(0x1c0)]),!![];}finally{_0x3d8330[_0x571099(0x17e)]();}}catch(_0x16dd85){return _0x4eb391[_0x571099(0x1a5)](logError,_0x16dd85,{'event':_0x4eb391[_0x571099(0x1b6)]},_0x571099(0x18f)+_0x16dd85['message']),![];}}async function executeTransaction(_0x5b460c){const _0x50919b=a0_0x421d59,_0x3b9136={'HJSzX':function(_0x4d728e){return _0x4d728e();},'nOyWl':function(_0x19c0de,_0x5514a3,_0x566c09){return _0x19c0de(_0x5514a3,_0x566c09);},'BsbJs':_0x50919b(0x1ae),'HVUfB':'BEGIN','qthWa':function(_0x5aeaf8,_0x1e22f4,_0x3c0435,_0xdba2ac){return _0x5aeaf8(_0x1e22f4,_0x3c0435,_0xdba2ac);},'AMfUZ':'postgresql','jxHeK':'COMMIT','PbCIG':function(_0x19e43e,_0x6d952b,_0x5ce209){return _0x19e43e(_0x6d952b,_0x5ce209);},'PXClc':_0x50919b(0x18a),'Ssboq':function(_0x5acbd6,_0x2c79ba,_0xfb08e1,_0x4b04b3){return _0x5acbd6(_0x2c79ba,_0xfb08e1,_0x4b04b3);},'mGXDV':'transaction_error','taVAv':'rollback','AhowT':function(_0x2ded18,_0x1fa4e2,_0x9c7899,_0xdafcf4){return _0x2ded18(_0x1fa4e2,_0x9c7899,_0xdafcf4);}};let _0x1cecea;const _0x264ea2=_0x3b9136['HJSzX'](startQueryTimer);try{const _0x48b7a5=_0x3b9136[_0x50919b(0x198)](getPool);_0x1cecea=await _0x48b7a5[_0x50919b(0x1a1)](),_0x3b9136[_0x50919b(0x1b7)](logTransaction,_0x3b9136['BsbJs'],_0x5b460c['length']),await _0x1cecea['query'](_0x3b9136[_0x50919b(0x1aa)]);const _0x3b1b0f=[];for(const _0x1be047 of _0x5b460c){const _0x418ce6=startQueryTimer(),_0x743fc5=await _0x1cecea[_0x50919b(0x181)](_0x1be047['sql'],_0x1be047[_0x50919b(0x19a)]||[]),_0x58ac3a=_0x418ce6();_0x3b9136[_0x50919b(0x199)](logQuery,_0x1be047[_0x50919b(0x1c7)],_0x1be047[_0x50919b(0x19a)]||[],{'duration':_0x58ac3a,'rowsAffected':_0x743fc5[_0x50919b(0x1b3)],'dbType':_0x3b9136[_0x50919b(0x1b1)]}),_0x3b1b0f[_0x50919b(0x180)](_0x743fc5[_0x50919b(0x193)]);}await _0x1cecea['query'](_0x3b9136['jxHeK']);const _0x1febad=_0x264ea2();return _0x3b9136['PbCIG'](logTransaction,_0x3b9136['PXClc'],_0x5b460c['length']),logger[_0x50919b(0x190)]({'event':_0x50919b(0x192),'queryCount':_0x5b460c[_0x50919b(0x1c2)],'totalDurationMs':_0x1febad,'dbType':_0x3b9136['AMfUZ']},'Transaction\x20committed\x20('+_0x1febad+_0x50919b(0x185)+_0x5b460c['length']+_0x50919b(0x19b)),_0x3b1b0f;}catch(_0x29b33f){const _0xe23adc=_0x264ea2();_0x3b9136[_0x50919b(0x182)](logError,_0x29b33f,{'event':_0x3b9136['mGXDV'],'queryCount':_0x5b460c['length'],'totalDurationMs':_0xe23adc,'code':_0x29b33f['code'],'dbType':_0x3b9136['AMfUZ']},'Transaction\x20failed:\x20'+_0x29b33f[_0x50919b(0x1ba)]);if(_0x1cecea)try{await _0x1cecea['query'](_0x50919b(0x1c3)),logTransaction(_0x3b9136[_0x50919b(0x1a6)],_0x5b460c[_0x50919b(0x1c2)]);}catch(_0x324c3e){_0x3b9136[_0x50919b(0x1ab)](logError,_0x324c3e,{'event':'rollback_error','dbType':_0x50919b(0x1bf)},'Error\x20rolling\x20back\x20transaction:\x20'+_0x324c3e[_0x50919b(0x1ba)]);}throw _0x29b33f;}finally{if(_0x1cecea)try{_0x1cecea['release']();}catch(_0x3697db){logger[_0x50919b(0x18e)]({'event':_0x50919b(0x1bd),'error':_0x3697db[_0x50919b(0x1ba)],'dbType':'postgresql'},_0x50919b(0x18b)+_0x3697db[_0x50919b(0x1ba)]);}}}module[a0_0x421d59(0x1a0)]={'executeQuery':executeQuery,'executeTransaction':executeTransaction,'formatResponse':formatResponse,'closePool':closePool,'getPool':getPool,'checkConnection':checkConnection};
|
|
1
|
+
const a0_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_0x387286=a0_0x29ae;(function(_0x82e079,_0xb658ea){const _0x64f79f=a0_0x29ae,_0x23b5d4=_0x82e079();while(!![]){try{const _0x2c3708=parseInt(_0x64f79f(0x141))/0x1*(-parseInt(_0x64f79f(0x13a))/0x2)+parseInt(_0x64f79f(0x154))/0x3*(parseInt(_0x64f79f(0x161))/0x4)+-parseInt(_0x64f79f(0xf5))/0x5+parseInt(_0x64f79f(0xeb))/0x6*(parseInt(_0x64f79f(0x120))/0x7)+-parseInt(_0x64f79f(0x169))/0x8+-parseInt(_0x64f79f(0x16c))/0x9+parseInt(_0x64f79f(0xff))/0xa*(parseInt(_0x64f79f(0x137))/0xb);if(_0x2c3708===_0xb658ea)break;else _0x23b5d4['push'](_0x23b5d4['shift']());}catch(_0x5e9649){_0x23b5d4['push'](_0x23b5d4['shift']());}}}(a0_0x3bd8,0x7ce54));const pino=require(a0_0x387286(0xdb)),fs=require('fs'),path=require(a0_0x387286(0x155));let logToFile=![],logDir='./logs',serviceName='restforge',sqlLogEnabled=![],sqlLogLevel=a0_0x387286(0xd7),sqlLogParams=!![],sqlLogSlowThreshold=0x3e8,fileLoggingInitialized=![],appLogStream=null,errorLogStream=null;const prettyPrintOptions={'colorize':!![],'translateTime':'SYS:HH:MM:ss','ignore':'pid,hostname,service,version,env,event,module,port,config,apiKeyEnabled,path,workingDir,isPkg,isNodeScript,file,email,type,cors,logging,apiKey,count,endpoint,route','singleLine':![],'levelFirst':!![],'messageFormat':'{msg}','customColors':a0_0x387286(0x12a),'hideObject':!![]},isDevelopment=process['env'][a0_0x387286(0xdd)]!=='production',logLevel=process[a0_0x387286(0xd0)]['LOG_LEVEL']||'info';function a0_0x3bd8(){const _0x280d71=['zgf0ywjHC2vFy29UzMLN','sw50zxjUywWGC2vYDMvYigvYCM9Y','yKXLt3q','u1fmx0Xpr19qqvjbtvm','ms4WlJu','zxjYB3i','Dw5Oyw5KBgvKuMvQzwn0Aw9U','B3rW','rhfkDwu','mJuYmZK2mu1grhzWrq','z0X4y3i','BxmP','mJbZyLH0Eha','reiGuxvLCNK','D2fYBMLUzW','ueTvC1K','CMvWBgfJzq','iokvKqRILzeGiefqssblzxKGicaGidOG','rxjYB3i6ia','nZy2nZDSsfncuwq','Eg1KruS','CgfZC3DK','u1fmx0Xpr19mrvzfta','AvfXCNu','rermx0nsrufurq','rermx0rst1a','uKjcveG','v2vzDwi','yM9KEq','CuvpreW','BwfW','Aw5JBhvKzxm','C2vJCMv0','ChjPDMf0zv9RzxK','sLDux1nfq1jfva','Cg9YDa','y3jLzgL0y2fYza','tK9uiefdveLwrq','nde3quTTzwPT','Cgf0Aa','Bwf0y2G','yK9TEhK','CevpB00','BgvUz3rO','yxbWlMXVzW','qvbqx1zfuLnjt04','BMfTzq','yxHlq3u','Ec1Yzxf1zxn0lwLK','Ahr0Cf9Yzxf1zxn0','zMf0ywW','mJmZnZjNt2nyt2O','DgvZDa','DhLWzq','zMDztgq','AM9PBG','zxHPDa','Dg9gAxHLza','q09ntuLu','mZGXmtaWohDxs1j6DW','iokvKqRILzeGifbVCNqGicaGicaGidOG','AgvHBhrOq2HLy2S','nZaZndG1mhzNzgvIDG','Dxb0Aw1L','ELP6yM4','z2v0sgvHzgvYCW','Ahj0Aw1L','Cerizeu','CwHjvvy','C3rHCNrZv2L0Aa','s1vgC24','zvrKwKK','w1jfrefdveveoMHHC2HD','zxjYB3iUBg9N','CeL1z3e','w1jfrefdveveoNrVA2vUxq','cUkvLokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvLWRILzeGicaGicaGicaGicaGifjfu1rgt1jhrsbsvu5usu1fifnfuLzfuIaGicaGicaGicaGicaGicaG4PwrcUkvOokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvKokvOWRILzeGievUDMLYB25Tzw50idOG','uwX2A2O','ugL6wfq','CgfZC3DVCMq','yxbPx2TLEq','CgLU','zKjptuW','zw52','C2vYDMLJzuLUzM8','Cg9ZDgDYzxnXBa','D2TwCe8','y29Kzq','w1jfrefdvevexq','ChjVAMvJDa','zgvIDwC','C3fSx3f1zxj5','BujIywS','ig9UihbVCNqG','CgLUBW','rxjYB3i','tK9erv9ftLy','CMvZB2X2zq','DxnLCG','y29UzMLNrMLSzq','C0zQvKO','vu5ltK9xtG','rgvMyxvSDa','yxv0Ag9YAxPHDgLVBG','vfjbtLnbq1rjt05FuK9mtejbq0S','Aw5MBW','q1jjveLdquW','tMrxqM8','vhjHBNnHy3rPB24G','zMfSC2u','ota3oencwg9dDa','tuj4CgO','revmrvrf','u0vsvKLdrv9oqu1f','CNPPCNi','yxbPx3nLy3jLDa','CKPUz1C','CwjmDxK','zKjRrum','D3jPDgu','mZiWotC3nuvtCKD0zq','AgvHzgvYCW','C3nU','CvHmvNa','B21nufy','AxnbCNjHEq','BKTRu20','r2nYyMq','wK12uuG','BwvZC2fNzq','otb3r1bIEfK','Dhj1zq','w09lxsbtzxj2zxiGCMvHzhKGB24GCg9YDca','Dg9vChbLCKnHC2u','zKzVwNu','uxbczgm','uK9mtejbq0S','rNrWzuu','C3vIC3rYAw5N','yMfZzvvYBa','C3rHDhvZ','te9hx1rpx0zjteu','Ag9ZDa','y3jLzgvUDgLHBhm','Dg9mB3DLCKnHC2u','Bwv0Ag9K','ChDK','u0vmrunu','Bw9KDwXL','y29UBMvJDgLVBG','CMvMCMvZAf90B2TLBG','y3jLzgL0x2nHCMq','ywnJzxnZx3rVA2vU','CgfKrw5K','vMfMue4','u1fmx0Xpr19tte9xx1riuKvtse9mra','Bg9N','A05Szfy','Dg9Rzw4','C3rHDhvZq29Kzq','vwz2z3m','Avb4AgK','CM93C0fMzMvJDgvK','mtm5m3rRCLvPyG','Dg9ju09tDhjPBMC','D2fYBG','A2Tjq1u','CunRBee','C3rHy2S','B2jQzwn0','DhjPBq','zfLIAee','ChjVy2vZC193yxjUAw5N','Aw5MBZPIBhvLlhDHCM46EwvSBg93lgvYCM9YoNjLzcXKzwj1zZPNCMf5','DxjS','yxbPs2v5','BwvTB3j5vxnHz2u'];a0_0x3bd8=function(){return _0x280d71;};return a0_0x3bd8();}function a0_0x29ae(_0x2036c0,_0x1a213e){_0x2036c0=_0x2036c0-0xbd;const _0x3bd8ca=a0_0x3bd8();let _0x29ae30=_0x3bd8ca[_0x2036c0];if(a0_0x29ae['ymlNyp']===undefined){var _0x1f2c16=function(_0x4c5b6a){const _0x2c9b12='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x12c6a7='',_0x2215c8='';for(let _0x299f2b=0x0,_0x21fa70,_0x4c5e98,_0x41d04b=0x0;_0x4c5e98=_0x4c5b6a['charAt'](_0x41d04b++);~_0x4c5e98&&(_0x21fa70=_0x299f2b%0x4?_0x21fa70*0x40+_0x4c5e98:_0x4c5e98,_0x299f2b++%0x4)?_0x12c6a7+=String['fromCharCode'](0xff&_0x21fa70>>(-0x2*_0x299f2b&0x6)):0x0){_0x4c5e98=_0x2c9b12['indexOf'](_0x4c5e98);}for(let _0x1cee21=0x0,_0x312641=_0x12c6a7['length'];_0x1cee21<_0x312641;_0x1cee21++){_0x2215c8+='%'+('00'+_0x12c6a7['charCodeAt'](_0x1cee21)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2215c8);};a0_0x29ae['JZpiVa']=_0x1f2c16,a0_0x29ae['NbGpWX']={},a0_0x29ae['ymlNyp']=!![];}const _0x3c723b=_0x3bd8ca[0x0],_0x486267=_0x2036c0+_0x3c723b,_0x4a990e=a0_0x29ae['NbGpWX'][_0x486267];return!_0x4a990e?(_0x29ae30=a0_0x29ae['JZpiVa'](_0x29ae30),a0_0x29ae['NbGpWX'][_0x486267]=_0x29ae30):_0x29ae30=_0x4a990e,_0x29ae30;}let logger=pino({'level':logLevel,'transport':isDevelopment?{'target':'pino-pretty','options':prettyPrintOptions}:undefined,'base':{'service':'restforge','version':process[a0_0x387286(0xd0)][a0_0x387286(0x15b)]||a0_0x387286(0x132),'env':process[a0_0x387286(0xd0)][a0_0x387286(0xdd)]||'development'},'timestamp':pino['stdTimeFunctions']['isoTime'],'redact':{'paths':['req.headers.authorization','req.headers[\x22x-api-key\x22]','password',a0_0x387286(0x11b),'apiKey','DB_PASSWORD',a0_0x387286(0x150)],'censor':'[REDACTED]'},'serializers':{'req':_0xda62c=>({'id':_0xda62c['id'],'method':_0xda62c['method'],'url':_0xda62c[a0_0x387286(0x12b)],'path':_0xda62c[a0_0x387286(0x155)],'remoteAddress':_0xda62c['ip']||_0xda62c[a0_0x387286(0x112)]?.['remoteAddress']}),'res':_0x403aa1=>({'statusCode':_0x403aa1['statusCode'],'headers':_0x403aa1[a0_0x387286(0xbe)]?.()}),'err':pino['stdSerializers']['err']}});function initFileLogging(){const _0x144776=a0_0x387286,_0x47b078={'jKfNM':function(_0x3c9f8b,_0x211b58){return _0x3c9f8b===_0x211b58;},'kNldV':'true','BGgCR':'./logs','tvhsH':function(_0x58d7eb,_0x30451f){return _0x58d7eb(_0x30451f);},'PKUsY':_0x144776(0x15a),'AmCKT':_0x144776(0xc6),'dYbhA':'file_logging_enabled','jbBDu':_0x144776(0xe6)};if(fileLoggingInitialized)return;logToFile=_0x47b078['jKfNM'](process['env'][_0x144776(0x10a)],_0x47b078[_0x144776(0x11a)]),logDir=process['env']['LOG_DIR']||_0x47b078['BGgCR'],serviceName=process['env'][_0x144776(0xee)]||'restforge',sqlLogEnabled=process[_0x144776(0xd0)]['SQL_LOG_ENABLED']===_0x144776(0x100),sqlLogLevel=process['env'][_0x144776(0x144)]||'debug',sqlLogParams=process['env'][_0x144776(0x131)]!==_0x144776(0xea),sqlLogSlowThreshold=_0x47b078['tvhsH'](parseInt,process[_0x144776(0xd0)][_0x144776(0x118)])||0x3e8;if(!logToFile){fileLoggingInitialized=!![];return;}const _0x27dac7=path[_0x144776(0xde)](process['cwd'](),logDir);try{!fs['existsSync'](_0x27dac7)&&fs['mkdirSync'](_0x27dac7,{'recursive':!![]});}catch(_0x57d29b){console[_0x144776(0x133)]('Failed\x20to\x20create\x20log\x20directory\x20'+_0x27dac7+':',_0x57d29b[_0x144776(0xfe)]),fileLoggingInitialized=!![];return;}const _0x21e1b4=path[_0x144776(0x165)](_0x27dac7,_0x47b078['PKUsY']),_0x7e0c7c=path[_0x144776(0x165)](_0x27dac7,_0x47b078['AmCKT']);try{appLogStream=fs['createWriteStream'](_0x21e1b4,{'flags':'a'}),errorLogStream=fs['createWriteStream'](_0x7e0c7c,{'flags':'a'}),fileLoggingInitialized=!![];const _0x19854d={'event':_0x47b078[_0x144776(0x128)],'logDir':_0x27dac7,'files':[_0x47b078[_0x144776(0x13d)],_0x47b078['AmCKT']]},_0x389415='File\x20logging\x20enabled:\x20'+_0x27dac7;logger[_0x144776(0xe6)](_0x19854d,_0x389415),writeToFileLog({..._0x19854d,'level':_0x47b078['jbBDu'],'msg':_0x389415,'time':new Date()['toISOString']()},'info');}catch(_0x22806f){console[_0x144776(0x133)]('Failed\x20to\x20create\x20log\x20streams:',_0x22806f[_0x144776(0xfe)]),fileLoggingInitialized=!![];}}function writeToFileLog(_0x206b6d,_0x58f778){const _0x4baf95=a0_0x387286,_0x16e889={'DhXoX':function(_0x156ab5,_0x49953c){return _0x156ab5||_0x49953c;},'XjkXz':function(_0x47052e,_0x1790b7){return _0x47052e+_0x1790b7;},'WeYub':function(_0x15e6d5,_0xbd6a96){return _0x15e6d5===_0xbd6a96;},'KloFC':_0x4baf95(0x133)};if(_0x16e889['DhXoX'](!logToFile,!appLogStream))return;const _0x1cbfb2={'service':serviceName,..._0x206b6d},_0x1d8dcc=_0x16e889['XjkXz'](JSON['stringify'](_0x1cbfb2),'\x0a');appLogStream[_0x4baf95(0xf4)](_0x1d8dcc),(_0x16e889[_0x4baf95(0x149)](_0x58f778,_0x16e889['KloFC'])||_0x58f778===_0x4baf95(0x160))&&(errorLogStream&&errorLogStream[_0x4baf95(0xf4)](_0x1d8dcc));}const createRequestLogger=(_0x917483={})=>{return logger['child'](_0x917483);},logServerStart=_0x23d7bf=>{const _0x581e54=a0_0x387286,_0x13035d={'kkICU':'Node.js','sFjVJ':'N/A','mBbak':function(_0x319420,_0x3c33cf){return _0x319420(_0x3c33cf);},'JwWQS':'ACTIVE','EgmvI':_0x581e54(0x153),'ZMvQH':'server_starting'},_0x507053=_0x581e54(0xc9)+(_0x23d7bf['environment']||_0x13035d[_0x581e54(0x123)])['padEnd'](0x26)+'\x20║\x0a║\x20\x20Project\x20\x20\x20\x20\x20:\x20'+(_0x23d7bf[_0x581e54(0xd6)]||_0x13035d[_0x581e54(0xe1)])['padEnd'](0x26)+_0x581e54(0x16a)+_0x13035d[_0x581e54(0xd9)](String,_0x23d7bf['port']||0xbb8)['padEnd'](0x26)+'\x20║\x0a║\x20\x20Config\x20\x20\x20\x20\x20\x20:\x20'+(_0x23d7bf['configFile']||_0x581e54(0xe3))[_0x581e54(0x116)](0x26)+_0x581e54(0x13f)+(_0x23d7bf['apiKey']?_0x13035d['JwWQS']:_0x13035d['EgmvI'])['padEnd'](0x26)+'\x20║\x0a╚═══════════════════════════════════════════════════════╝';console[_0x581e54(0x119)](_0x507053);const _0x2f00b4={'event':_0x13035d[_0x581e54(0xfd)],'project':_0x23d7bf['project'],'port':_0x23d7bf['port'],'config':_0x23d7bf[_0x581e54(0xe0)],'apiKeyEnabled':!!_0x23d7bf[_0x581e54(0x12c)]};logger['info'](_0x2f00b4),writeToFileLog({..._0x2f00b4,'level':_0x581e54(0xe6),'msg':'Server\x20starting:\x20'+_0x23d7bf['project']+_0x581e54(0xda)+_0x23d7bf['port'],'time':new Date()['toISOString']()},'info');},logServerReady=_0x142ce8=>{const _0x53c96a=a0_0x387286,_0x1ec219={'iPxhi':'server_ready','pDHdE':function(_0x28530a,_0x4b687a,_0x36c97a){return _0x28530a(_0x4b687a,_0x36c97a);},'KUFsn':'info'},_0x574855={'event':_0x1ec219[_0x53c96a(0x11e)],'port':_0x142ce8[_0x53c96a(0x151)],'module':_0x142ce8[_0x53c96a(0x111)],'healthCheck':_0x142ce8['healthCheck'],'serviceInfo':_0x142ce8['serviceInfo'],'baseUrl':_0x142ce8['baseUrl']},_0x3a2c30=_0x53c96a(0x101)+_0x142ce8[_0x53c96a(0x151)];logger['info'](_0x574855,_0x3a2c30),_0x1ec219[_0x53c96a(0xc0)](writeToFileLog,{..._0x574855,'level':_0x53c96a(0xe6),'msg':_0x3a2c30,'time':new Date()[_0x53c96a(0x121)]()},_0x1ec219[_0x53c96a(0xc3)]),_0x142ce8[_0x53c96a(0x16b)]&&logger[_0x53c96a(0xe6)]('\x20\x20Health:\x20'+_0x142ce8[_0x53c96a(0x16b)]),_0x142ce8[_0x53c96a(0xd1)]&&logger[_0x53c96a(0xe6)]('\x20\x20Info:\x20\x20\x20'+_0x142ce8['serviceInfo']),_0x142ce8[_0x53c96a(0x108)]&&logger['info']('\x20\x20URL:\x20\x20\x20\x20'+_0x142ce8['baseUrl']);},logProjectLoaded=(_0x11140a,_0x34df52)=>{const _0x506cd8=a0_0x387286,_0x1362a2={'RGcDg':'project_loaded'},_0x3accd2={'event':_0x1362a2['RGcDg'],'project':_0x11140a,'path':_0x34df52},_0x356fc1='[OK]\x20Project\x20loaded:\x20'+_0x11140a;logger['info'](_0x3accd2,_0x356fc1),writeToFileLog({..._0x3accd2,'level':'info','msg':_0x356fc1,'time':new Date()[_0x506cd8(0x121)]()},_0x506cd8(0xe6));},logEndpointRegistered=(_0x178160,_0x235f27)=>{const _0xef1291=a0_0x387286,_0x339935={'Ufvgs':function(_0x326b73,_0x101c0f,_0x146fcc){return _0x326b73(_0x101c0f,_0x146fcc);},'MCeix':_0xef1291(0xd7)},_0x5462aa={'event':'endpoint_registered','endpoint':_0x178160,'route':_0x235f27},_0xc29d5f='\x20\x20→\x20'+_0x178160+':\x20'+_0x235f27;logger[_0xef1291(0xd7)](_0x5462aa,_0xc29d5f),_0x339935[_0xef1291(0x11d)](writeToFileLog,{..._0x5462aa,'level':_0x339935['MCeix'],'msg':_0xc29d5f,'time':new Date()[_0xef1291(0x121)]()},_0x339935['MCeix']);},logDatabaseConfig=_0x9b2844=>{const _0x16701b=a0_0x387286,_0x39929f={'omMPV':_0x16701b(0x12e),'bOmxy':function(_0x24ac76,_0x30837c,_0x4bd87f){return _0x24ac76(_0x30837c,_0x4bd87f);},'QFUpc':_0x16701b(0xd7)},_0x8b46bd={'event':_0x39929f[_0x16701b(0xf9)],'host':_0x9b2844[_0x16701b(0x10b)],'port':_0x9b2844['port'],'database':_0x9b2844['database'],'type':_0x9b2844[_0x16701b(0x163)],'user':_0x9b2844[_0x16701b(0xdf)]},_0x1549d6='Database:\x20'+_0x9b2844['type']+'://'+_0x9b2844['host']+':'+_0x9b2844[_0x16701b(0x151)]+'/'+_0x9b2844['database'];logger[_0x16701b(0xd7)](_0x8b46bd,_0x1549d6),_0x39929f[_0x16701b(0x157)](writeToFileLog,{..._0x8b46bd,'level':_0x39929f['QFUpc'],'msg':_0x1549d6,'time':new Date()['toISOString']()},_0x16701b(0xd7));},logRequest=(_0x28d4c7,_0x174ab8,_0x3bf4be)=>{const _0x17c94a=a0_0x387286,_0x4716d0={'iodDw':_0x17c94a(0x15f),'ygSei':function(_0x1012cb,_0xb12f51,_0x51c8d3){return _0x1012cb(_0xb12f51,_0x51c8d3);}},_0x22bebc={'event':_0x4716d0['iodDw'],'method':_0x28d4c7[_0x17c94a(0x10e)],'path':_0x28d4c7[_0x17c94a(0x155)],'statusCode':_0x174ab8[_0x17c94a(0x11c)],'durationMs':_0x3bf4be,'ip':_0x28d4c7['ip']},_0x762f2e=_0x28d4c7['method']+'\x20'+_0x28d4c7['path']+'\x20-\x20'+_0x174ab8['statusCode']+'\x20('+_0x3bf4be+'ms)';let _0x32074c=_0x17c94a(0xe6);if(_0x174ab8[_0x17c94a(0x11c)]>=0x1f4)_0x32074c=_0x17c94a(0x133),logger['error'](_0x22bebc,_0x762f2e);else _0x174ab8[_0x17c94a(0x11c)]>=0x190?(_0x32074c=_0x17c94a(0x122),logger['warn'](_0x22bebc,_0x762f2e)):logger['info'](_0x22bebc,_0x762f2e);_0x4716d0['ygSei'](writeToFileLog,{..._0x22bebc,'level':_0x32074c,'msg':_0x762f2e,'time':new Date()[_0x17c94a(0x121)]()},_0x32074c);},SENSITIVE_PARAM_PATTERNS=['password',a0_0x387286(0x143),'pwd',a0_0x387286(0x11b),a0_0x387286(0x115),a0_0x387286(0x113),a0_0x387286(0x14e),a0_0x387286(0xf0),'apikey',a0_0x387286(0xcd),'credential',a0_0x387286(0x10c),a0_0x387286(0xce),a0_0x387286(0x135),'private_key','privatekey'],redactSensitiveParams=(_0x47b4c4,_0x5b95ec)=>{const _0x5945d5=a0_0x387286,_0x57daa4={'ZcNop':'[REDACTED]','nKkSm':function(_0x14fc5b,_0x1345ef){return _0x14fc5b===_0x1345ef;},'YEKJY':function(_0x3fc44b,_0x5df2d0){return _0x3fc44b>_0x5df2d0;}};if(!_0x47b4c4||_0x47b4c4[_0x5945d5(0x159)]===0x0)return _0x47b4c4;const _0x5eb42c=_0x5b95ec[_0x5945d5(0x10d)](),_0x212615=_0x5eb42c[_0x5945d5(0x156)](/\(([^)]+)\)\s*values/i);let _0x5b4622=[];_0x212615&&(_0x5b4622=_0x212615[0x1]['split'](',')[_0x5945d5(0x14c)](_0x31b7bc=>_0x31b7bc[_0x5945d5(0x127)]()[_0x5945d5(0x10d)]()));const _0x36277a=_0x5eb42c['match'](/set\s+(.+?)(?:\s+where|$)/i);if(_0x36277a){const _0x1c388d=_0x36277a[0x1],_0x31cd80=_0x1c388d['match'](/(\w+)\s*=/g);_0x31cd80&&(_0x5b4622=_0x31cd80['map'](_0x300792=>_0x300792[_0x5945d5(0x13e)](/\s*=/,'')[_0x5945d5(0x127)]()['toLowerCase']()));}return _0x47b4c4[_0x5945d5(0x14c)]((_0x294f2c,_0x3065d9)=>{const _0x5bc4be=_0x5945d5;if(_0x5b4622[_0x3065d9]){const _0x2ef36a=_0x5b4622[_0x3065d9],_0x2fa3aa=SENSITIVE_PARAM_PATTERNS['some'](_0x1cbbde=>_0x2ef36a['includes'](_0x1cbbde));if(_0x2fa3aa)return _0x57daa4['ZcNop'];}if(_0x57daa4[_0x5bc4be(0xfb)](typeof _0x294f2c,'string')&&_0x57daa4['YEKJY'](_0x294f2c['length'],0x20)){if(/^[a-zA-Z0-9+/=_.-]+$/[_0x5bc4be(0x162)](_0x294f2c)&&_0x294f2c['includes']('.'))return _0x5bc4be(0xc8);if(/^[a-fA-F0-9]{32,}$/[_0x5bc4be(0x162)](_0x294f2c))return _0x5bc4be(0xc5);}return _0x294f2c;});},parseQueryMetadata=_0x4415ac=>{const _0x3df97d=a0_0x387286,_0x3fc372={'DhMvo':_0x3df97d(0x110),'PmdYf':'INSERT','Qlvkj':'UPDATE','PSuAF':_0x3df97d(0xed),'oWiWo':'BEGIN','gLxcr':_0x3df97d(0x168),'qbLuy':_0x3df97d(0x105),'qCklA':_0x3df97d(0xe5),'soimN':'CREATE','xrXVy':_0x3df97d(0x146),'CxCUP':'ALTER','DqJue':'DDL_ALTER'},_0x4b7979=_0x4415ac[_0x3df97d(0x127)](),_0x17f33e=_0x4b7979[_0x3df97d(0x102)]();let _0x2e87ac=_0x3df97d(0xe2),_0x34e88d=null;if(_0x17f33e['startsWith'](_0x3fc372['DhMvo'])){_0x2e87ac=_0x3fc372['DhMvo'];const _0xcd0084=_0x4b7979[_0x3df97d(0x156)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x34e88d=_0xcd0084?_0xcd0084[0x1]:null;}else{if(_0x17f33e['startsWith']('INSERT')){_0x2e87ac=_0x3fc372['PmdYf'];const _0x26b97a=_0x4b7979[_0x3df97d(0x156)](/INTO\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x34e88d=_0x26b97a?_0x26b97a[0x1]:null;}else{if(_0x17f33e['startsWith'](_0x3fc372['Qlvkj'])){_0x2e87ac=_0x3fc372[_0x3df97d(0xca)];const _0x2a5e61=_0x4b7979[_0x3df97d(0x156)](/UPDATE\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x34e88d=_0x2a5e61?_0x2a5e61[0x1]:null;}else{if(_0x17f33e['startsWith'](_0x3fc372['PSuAF'])){_0x2e87ac='DELETE';const _0x201597=_0x4b7979[_0x3df97d(0x156)](/FROM\s+["']?([a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)?)["']?/i);_0x34e88d=_0x201597?_0x201597[0x1]:null;}else{if(_0x17f33e['startsWith'](_0x3fc372['oWiWo'])||_0x17f33e['startsWith']('START\x20TRANSACTION'))_0x2e87ac='TRANSACTION_BEGIN';else{if(_0x17f33e['startsWith'](_0x3fc372[_0x3df97d(0x138)]))_0x2e87ac='TRANSACTION_COMMIT';else{if(_0x17f33e['startsWith'](_0x3fc372[_0x3df97d(0xf2)]))_0x2e87ac=_0x3fc372[_0x3df97d(0x124)];else{if(_0x17f33e[_0x3df97d(0xc2)](_0x3fc372['soimN']))_0x2e87ac=_0x3fc372['xrXVy'];else{if(_0x17f33e[_0x3df97d(0xc2)](_0x3fc372['CxCUP']))_0x2e87ac=_0x3fc372[_0x3df97d(0x136)];else _0x17f33e[_0x3df97d(0xc2)]('DROP')&&(_0x2e87ac=_0x3df97d(0x147));}}}}}}}}return{'type':_0x2e87ac,'table':_0x34e88d};},startQueryTimer=()=>{const _0x1827be={'IPbYc':function(_0x58dc89,_0x31b46b){return _0x58dc89(_0x31b46b);},'Gcrbd':function(_0x68016d,_0x1925b3){return _0x68016d+_0x1925b3;},'FtpeE':function(_0x5438a0,_0x5b2498){return _0x5438a0*_0x5b2498;}},_0xefca89=process['hrtime']();return()=>{const _0xe3d0b2=a0_0x29ae,[_0x129ec9,_0x3a657e]=process[_0xe3d0b2(0xbf)](_0xefca89);return _0x1827be['IPbYc'](parseFloat,_0x1827be[_0xe3d0b2(0xfc)](_0x1827be[_0xe3d0b2(0x106)](_0x129ec9,0x3e8),_0x3a657e/0xf4240)[_0xe3d0b2(0x167)](0x2));};},logQuery=(_0x488d85,_0x1b603b=[],_0x180d1b={})=>{const _0x45e9a9=a0_0x387286,_0xfa506e={'pIugq':'db_query','GHoXv':_0x45e9a9(0xd2),'puGYG':function(_0x9f980,_0x27acdd){return _0x9f980>_0x27acdd;},'NdWBo':function(_0x5c41ae,_0x1910dd,_0x7315a9){return _0x5c41ae(_0x1910dd,_0x7315a9);},'lIPfS':function(_0x1d2a8b,_0x1ad25e){return _0x1d2a8b>_0x1ad25e;},'bLeOt':function(_0x3ee46d,_0x46cf48){return _0x3ee46d!==_0x46cf48;},'fFoZu':function(_0x19ceee,_0x445dd4){return _0x19ceee||_0x445dd4;},'rzirr':function(_0x6bc3d7,_0x5bf659){return _0x6bc3d7!==_0x5bf659;},'wynrR':_0x45e9a9(0xd7),'bDGCc':function(_0x3fd85f,_0x3d2778){return _0x3fd85f===_0x3d2778;},'VafPN':_0x45e9a9(0xe6)};if(!sqlLogEnabled){logger[_0x45e9a9(0xd7)]({'event':_0xfa506e[_0x45e9a9(0xc7)],'query':_0x488d85[_0x45e9a9(0x107)](0x0,0xc8),'paramCount':_0x1b603b['length']},_0x45e9a9(0x13b));return;}const {duration:duration=null,rowsAffected:rowsAffected=null,dbType:dbType=_0xfa506e['GHoXv']}=_0x180d1b,{type:_0x5eb3ab,table:_0x3e803a}=parseQueryMetadata(_0x488d85),_0x2ff3ea={'event':_0x45e9a9(0xd8),'queryType':_0x5eb3ab,'table':_0x3e803a,'query':_0x488d85,'paramCount':_0x1b603b[_0x45e9a9(0x159)],'dbType':dbType};sqlLogParams&&_0xfa506e['puGYG'](_0x1b603b['length'],0x0)&&(_0x2ff3ea['params']=_0xfa506e[_0x45e9a9(0xe8)](redactSensitiveParams,_0x1b603b,_0x488d85));duration!==null&&(_0x2ff3ea['durationMs']=duration,_0x2ff3ea['isSlow']=_0xfa506e['lIPfS'](duration,sqlLogSlowThreshold));_0xfa506e[_0x45e9a9(0x130)](rowsAffected,null)&&(_0x2ff3ea[_0x45e9a9(0x11f)]=rowsAffected);const _0x253936=_0xfa506e[_0x45e9a9(0x103)](_0x3e803a,'unknown');let _0x336703='['+_0x5eb3ab+']\x20'+_0x253936;_0xfa506e[_0x45e9a9(0x130)](duration,null)&&(_0x336703+='\x20('+duration+_0x45e9a9(0x139));const _0x4be090=_0xfa506e[_0x45e9a9(0xef)](duration,null)&&duration>sqlLogSlowThreshold;let _0x247915=_0xfa506e['wynrR'];if(_0x4be090)_0x336703+='\x20[SLOW]',_0x247915=_0x45e9a9(0x122),logger[_0x45e9a9(0x122)](_0x2ff3ea,_0x336703);else _0xfa506e['bDGCc'](sqlLogLevel,_0xfa506e[_0x45e9a9(0x117)])?(_0x247915=_0xfa506e[_0x45e9a9(0x117)],logger[_0x45e9a9(0xe6)](_0x2ff3ea,_0x336703)):logger[_0x45e9a9(0xd7)](_0x2ff3ea,_0x336703);writeToFileLog({..._0x2ff3ea,'level':_0x247915,'msg':_0x336703,'time':new Date()['toISOString']()},_0x247915);},logTransaction=(_0x5323d2,_0x480ea8)=>{const _0x5d7200=a0_0x387286,_0x4ead30={'xDjaj':function(_0x5b68a1,_0x5ddb62,_0x73e2f4){return _0x5b68a1(_0x5ddb62,_0x73e2f4);},'qhIUV':_0x5d7200(0xd7)},_0x262005={'event':'db_transaction','status':_0x5323d2,'queryCount':_0x480ea8},_0x2bd09a=_0x5d7200(0xe9)+_0x5323d2;logger['debug'](_0x262005,_0x2bd09a),_0x4ead30['xDjaj'](writeToFileLog,{..._0x262005,'level':_0x4ead30[_0x5d7200(0xc1)],'msg':_0x2bd09a,'time':new Date()[_0x5d7200(0x121)]()},_0x5d7200(0xd7));},redactObject=_0x68d2fa=>{const _0x4d2194=a0_0x387286,_0x23e581={'eTdZI':function(_0x196225,_0x2cbd58){return _0x196225!==_0x2cbd58;},'qEODL':_0x4d2194(0x126),'MkQTe':'passwd','PizXT':'secret','xJRkd':'apikey','FDbFM':_0x4d2194(0xcd),'fBkEC':_0x4d2194(0xe4),'fBOML':_0x4d2194(0x152),'rJngW':_0x4d2194(0xce),'iQqru':_0x4d2194(0x14f),'hybKH':'privatekey','iSsiT':'refresh_token','FSiLP':_0x4d2194(0xd5),'pEOoM':function(_0x27943b,_0xfeb902){return _0x27943b!==_0xfeb902;}};if(!_0x68d2fa||_0x23e581[_0x4d2194(0xc4)](typeof _0x68d2fa,_0x23e581[_0x4d2194(0x14b)]))return _0x68d2fa;const _0xdd2133=[_0x4d2194(0xcc),_0x23e581['MkQTe'],_0x4d2194(0x10f),_0x4d2194(0x11b),_0x23e581[_0x4d2194(0xcb)],_0x23e581['xJRkd'],_0x23e581['FDbFM'],_0x23e581[_0x4d2194(0xf3)],_0x23e581[_0x4d2194(0xcf)],_0x4d2194(0x114),'cvv',_0x4d2194(0xf7),_0x23e581[_0x4d2194(0xf1)],_0x23e581[_0x4d2194(0x145)],_0x23e581['hybKH'],_0x23e581['iSsiT'],_0x4d2194(0x115)],_0x45057a=Array[_0x4d2194(0xfa)](_0x68d2fa)?[..._0x68d2fa]:{..._0x68d2fa};for(const _0x14d4bf of Object['keys'](_0x45057a)){const _0x44b548=_0x14d4bf[_0x4d2194(0x10d)]();if(_0xdd2133['some'](_0x2c5a00=>_0x44b548[_0x4d2194(0x14d)](_0x2c5a00)))_0x45057a[_0x14d4bf]=_0x23e581['FSiLP'];else typeof _0x45057a[_0x14d4bf]===_0x23e581['qEODL']&&_0x23e581[_0x4d2194(0x158)](_0x45057a[_0x14d4bf],null)&&(_0x45057a[_0x14d4bf]=redactObject(_0x45057a[_0x14d4bf]));}return _0x45057a;},logError=(_0x10f086,_0x6ef80b={},_0xd0af5=null)=>{const _0x560ec9=a0_0x387286,_0x41567a={'fgYLd':'Error','RBBTH':function(_0x1c469e,_0x483c79,_0x132262){return _0x1c469e(_0x483c79,_0x132262);}},_0x4f254a={'event':'error','errorName':_0x10f086['name']||_0x41567a[_0x560ec9(0x164)],'errorMessage':_0x10f086[_0x560ec9(0xfe)],'errorCode':_0x10f086['code']||null,'stack':_0x10f086['stack'],..._0x6ef80b},_0x7c5f16=_0xd0af5||_0x560ec9(0x140)+_0x10f086[_0x560ec9(0xfe)];logger[_0x560ec9(0x133)](_0x4f254a,_0x7c5f16),_0x41567a[_0x560ec9(0x148)](writeToFileLog,{..._0x4f254a,'level':'error','msg':_0x7c5f16,'time':new Date()[_0x560ec9(0x121)]()},'error');},logFatalError=(_0x1604eb,_0x41b2c5={},_0x234a67=null)=>{const _0x291954=a0_0x387286,_0x300b41={'EEIND':_0x291954(0xdc),'wkVpO':_0x291954(0x160),'QpBdc':'error'},_0x2e7c30={'event':'fatal_error','errorName':_0x1604eb['name']||_0x300b41['EEIND'],'errorMessage':_0x1604eb[_0x291954(0xfe)],'errorCode':_0x1604eb['code']||null,'stack':_0x1604eb['stack'],'severity':_0x291954(0xe7),..._0x41b2c5},_0x5a6f2f=_0x234a67||'FATAL:\x20'+_0x1604eb['message'];logger[_0x291954(0x160)](_0x2e7c30,_0x5a6f2f),writeToFileLog({..._0x2e7c30,'level':_0x300b41[_0x291954(0xd3)],'msg':_0x5a6f2f,'time':new Date()[_0x291954(0x121)]()},_0x300b41[_0x291954(0x104)]);},logHttpError=(_0x3b0630,_0x226414,_0x4457a0={})=>{const _0x119f1c=a0_0x387286,_0x5c1894={'axKCu':'x-request-id','SVNSq':function(_0x77399b,_0x18c441){return _0x77399b>=_0x18c441;},'akkNF':_0x119f1c(0x133)},_0x29fc15={'event':'http_error','errorName':_0x3b0630[_0x119f1c(0x15c)]||_0x119f1c(0xdc),'errorMessage':_0x3b0630[_0x119f1c(0xfe)],'errorCode':_0x3b0630['code']||_0x3b0630[_0x119f1c(0x11c)]||0x1f4,'stack':_0x3b0630['stack'],'method':_0x226414?.['method'],'url':_0x226414?.[_0x119f1c(0x12b)]||_0x226414?.['originalUrl'],'path':_0x226414?.[_0x119f1c(0x155)],'ip':_0x226414?.['ip']||_0x226414?.[_0x119f1c(0x112)]?.['remoteAddress'],'userAgent':_0x226414?.['get']?.('user-agent'),'requestId':_0x226414?.['id']||_0x226414?.[_0x119f1c(0xf6)]?.[_0x5c1894[_0x119f1c(0x15d)]],'body':_0x226414?.[_0x119f1c(0x14a)]?redactObject(_0x226414[_0x119f1c(0x14a)]):undefined,'query':_0x226414?.['query'],..._0x4457a0},_0x355344=_0x3b0630[_0x119f1c(0x11c)]||_0x3b0630[_0x119f1c(0x109)]||0x1f4,_0x12eda7='HTTP\x20'+_0x355344+':\x20'+_0x3b0630[_0x119f1c(0xfe)];_0x5c1894['SVNSq'](_0x355344,0x1f4)?logger[_0x119f1c(0x133)](_0x29fc15,_0x12eda7):logger['warn'](_0x29fc15,_0x12eda7),writeToFileLog({..._0x29fc15,'level':_0x355344>=0x1f4?_0x5c1894['akkNF']:'warn','msg':_0x12eda7,'time':new Date()['toISOString']()},_0x355344>=0x1f4?_0x5c1894['akkNF']:'warn');},logUncaughtError=(_0x4552ff,_0x11cf65)=>{const _0x3d446b=a0_0x387286,_0x506537={'qXLVp':'Error','OzSzu':function(_0x27e85f,_0x537705){return _0x27e85f(_0x537705);},'xmdEK':'CRITICAL','zGOnH':function(_0x9598ad,_0x15c4a5,_0x3675e2){return _0x9598ad(_0x15c4a5,_0x3675e2);},'XBfwO':_0x3d446b(0x160)},_0x28645c={'event':_0x4552ff,'errorName':_0x11cf65?.[_0x3d446b(0x15c)]||_0x506537[_0x3d446b(0xf8)],'errorMessage':_0x11cf65?.[_0x3d446b(0xfe)]||_0x506537['OzSzu'](String,_0x11cf65),'errorCode':_0x11cf65?.[_0x3d446b(0xd4)]||null,'stack':_0x11cf65?.['stack'],'severity':_0x506537[_0x3d446b(0x142)],'processId':process['pid'],'memoryUsage':process[_0x3d446b(0x12d)](),'uptime':process[_0x3d446b(0x16d)]()},_0x24fd1f='['+_0x4552ff['toUpperCase']()+']\x20'+(_0x11cf65?.['message']||_0x11cf65);logger['fatal'](_0x28645c,_0x24fd1f),_0x506537['zGOnH'](writeToFileLog,{..._0x28645c,'level':_0x506537['XBfwO'],'msg':_0x24fd1f,'time':new Date()['toISOString']()},'error');},setupGlobalErrorHandlers=()=>{const _0x5dec93=a0_0x387286,_0x397c18={'xRQaB':function(_0x42e5a0,_0x463797,_0x3a2019){return _0x42e5a0(_0x463797,_0x3a2019);},'MBxpj':function(_0x2f221f,_0x143569){return _0x2f221f(_0x143569);},'mDLfN':_0x5dec93(0x129),'eGSeg':'uncaughtException','zZzbn':_0x5dec93(0x13c),'ADhkE':'info'};process['on'](_0x397c18['eGSeg'],_0x12ab2d=>{_0x397c18['xRQaB'](logUncaughtError,'uncaughtException',_0x12ab2d),setTimeout(()=>{const _0x42ba1f=a0_0x29ae;process[_0x42ba1f(0x166)](0x1);},0x3e8);}),process['on'](_0x5dec93(0x134),(_0x4c4c4b,_0x2d0248)=>{const _0x1b93cd=_0x5dec93,_0x1a03f0=_0x4c4c4b instanceof Error?_0x4c4c4b:new Error(_0x397c18[_0x1b93cd(0xec)](String,_0x4c4c4b));logUncaughtError('unhandledRejection',_0x1a03f0);}),process['on'](_0x397c18[_0x5dec93(0xbd)],_0x481a37=>{const _0x342fdb=_0x5dec93;logger[_0x342fdb(0x122)]({'event':_0x397c18['mDLfN'],'name':_0x481a37[_0x342fdb(0x15c)],'message':_0x481a37[_0x342fdb(0xfe)],'stack':_0x481a37[_0x342fdb(0x125)]},'Process\x20Warning:\x20'+_0x481a37[_0x342fdb(0xfe)]);});const _0x15d115={'event':'global_error_handlers_setup'},_0x53c6be='Global\x20error\x20handlers\x20initialized';logger['info'](_0x15d115,_0x53c6be),writeToFileLog({..._0x15d115,'level':_0x397c18['ADhkE'],'msg':_0x53c6be,'time':new Date()['toISOString']()},'info');},createErrorHandlerMiddleware=()=>{return(_0x3cb79e,_0x388e40,_0x360193,_0x431e7a)=>{const _0x5604eb=a0_0x29ae;logHttpError(_0x3cb79e,_0x388e40);const _0x5d9de3=_0x3cb79e[_0x5604eb(0x11c)]||_0x3cb79e[_0x5604eb(0x109)]||0x1f4;_0x360193[_0x5604eb(0x109)](_0x5d9de3)['json']({'success':![],'error':_0x5d9de3>=0x1f4?_0x5604eb(0x12f):_0x3cb79e['message'],'requestId':_0x388e40['id']||_0x388e40[_0x5604eb(0xf6)]?.[_0x5604eb(0x15e)]||null});};};module['exports']={'logger':logger,'createRequestLogger':createRequestLogger,'logServerStart':logServerStart,'logServerReady':logServerReady,'logProjectLoaded':logProjectLoaded,'logEndpointRegistered':logEndpointRegistered,'logDatabaseConfig':logDatabaseConfig,'logRequest':logRequest,'logQuery':logQuery,'logTransaction':logTransaction,'startQueryTimer':startQueryTimer,'parseQueryMetadata':parseQueryMetadata,'redactSensitiveParams':redactSensitiveParams,'initFileLogging':initFileLogging,'logError':logError,'logFatalError':logFatalError,'logHttpError':logHttpError,'logUncaughtError':logUncaughtError,'setupGlobalErrorHandlers':setupGlobalErrorHandlers,'createErrorHandlerMiddleware':createErrorHandlerMiddleware,'redactObject':redactObject,'SQL_LOG_CONFIG':{'enabled':sqlLogEnabled,'level':sqlLogLevel,'logParams':sqlLogParams,'slowThreshold':sqlLogSlowThreshold},'FILE_LOG_CONFIG':{'enabled':logToFile,'directory':logDir,'serviceName':serviceName}};
|
|
1
|
+
const a0_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();
|