@restforgejs/platform 5.1.6 → 5.1.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.
Files changed (167) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/fast-track.js +63 -43
  5. package/generators/lib/templates/dashboard-catalog.js +1 -1
  6. package/generators/lib/templates/db-connection-env.js +1 -1
  7. package/generators/lib/templates/dbschema-catalog.js +1 -1
  8. package/generators/lib/templates/field-validation-catalog.js +1 -1
  9. package/generators/lib/templates/mysql-template.js +1 -1
  10. package/generators/lib/templates/oracle-template.js +1 -1
  11. package/generators/lib/templates/postgres-template.js +1 -1
  12. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  13. package/generators/lib/templates/sqlite-template.js +1 -1
  14. package/integrity-manifest.json +18 -18
  15. package/package.json +1 -1
  16. package/scripts/verify-integrity.js +1 -1
  17. package/server.js +1 -1
  18. package/src/components/handlers/adjust_handler.js +1 -1
  19. package/src/components/handlers/audit_handler.js +1 -1
  20. package/src/components/handlers/delete_handler.js +1 -1
  21. package/src/components/handlers/export_handler.js +1 -1
  22. package/src/components/handlers/import_handler.js +1 -1
  23. package/src/components/handlers/insert_handler.js +1 -1
  24. package/src/components/handlers/update_handler.js +1 -1
  25. package/src/components/handlers/upload_handler.js +1 -1
  26. package/src/components/handlers/workflow_handler.js +1 -1
  27. package/src/components/integrations/webhook.js +1 -1
  28. package/src/consumers/baseConsumer.js +1 -1
  29. package/src/consumers/declarativeMapper.js +1 -1
  30. package/src/consumers/handlers/apiHandler.js +1 -1
  31. package/src/consumers/handlers/consoleHandler.js +1 -1
  32. package/src/consumers/handlers/databaseHandler.js +1 -1
  33. package/src/consumers/handlers/index.js +1 -1
  34. package/src/consumers/handlers/kafkaHandler.js +1 -1
  35. package/src/consumers/index.js +1 -1
  36. package/src/consumers/messageTransformer.js +1 -1
  37. package/src/consumers/validator.js +1 -1
  38. package/src/core/db/dialect/base-dialect.js +1 -1
  39. package/src/core/db/dialect/index.js +1 -1
  40. package/src/core/db/dialect/mysql-dialect.js +1 -1
  41. package/src/core/db/dialect/oracle-dialect.js +1 -1
  42. package/src/core/db/dialect/postgres-dialect.js +1 -1
  43. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  44. package/src/core/db/flatten-helper.js +1 -1
  45. package/src/core/db/query-builder-error.js +1 -1
  46. package/src/core/db/query-builder.js +1 -1
  47. package/src/core/db/relation-helper.js +1 -1
  48. package/src/core/handlers/delete_handler.js +1 -1
  49. package/src/core/handlers/insert_handler.js +1 -1
  50. package/src/core/handlers/update_handler.js +1 -1
  51. package/src/core/models/base-model.js +1 -1
  52. package/src/core/utils/cache-manager.js +1 -1
  53. package/src/core/utils/component-engine.js +1 -1
  54. package/src/core/utils/context-builder.js +1 -1
  55. package/src/core/utils/datetime-formatter.js +1 -1
  56. package/src/core/utils/datetime-parser.js +1 -1
  57. package/src/core/utils/db.js +1 -1
  58. package/src/core/utils/logger.js +1 -1
  59. package/src/core/utils/payload-loader.js +1 -1
  60. package/src/core/utils/security-checks.js +1 -1
  61. package/src/middleware/body-options.js +1 -1
  62. package/src/middleware/cors.js +1 -1
  63. package/src/middleware/idempotency.js +1 -1
  64. package/src/middleware/rate-limiter.js +1 -1
  65. package/src/middleware/request-logger.js +1 -1
  66. package/src/middleware/security-headers.js +1 -1
  67. package/src/models/base-model-mysql.js +1 -1
  68. package/src/models/base-model-oracle.js +1 -1
  69. package/src/models/base-model-sqlite.js +1 -1
  70. package/src/models/base-model.js +1 -1
  71. package/src/pro/caching/redis-client.js +1 -1
  72. package/src/pro/caching/redis-helper.js +1 -1
  73. package/src/pro/consumers/baseConsumer.js +1 -1
  74. package/src/pro/consumers/declarativeMapper.js +1 -1
  75. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  76. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  77. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  78. package/src/pro/consumers/handlers/index.js +1 -1
  79. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  80. package/src/pro/consumers/index.js +1 -1
  81. package/src/pro/consumers/messageTransformer.js +1 -1
  82. package/src/pro/consumers/validator.js +1 -1
  83. package/src/pro/database/base-model-mysql.js +1 -1
  84. package/src/pro/database/base-model-oracle.js +1 -1
  85. package/src/pro/database/base-model-sqlite.js +1 -1
  86. package/src/pro/database/db-mysql.js +1 -1
  87. package/src/pro/database/db-oracle.js +1 -1
  88. package/src/pro/database/db-sqlite.js +1 -1
  89. package/src/pro/excel/excel-generator.js +1 -1
  90. package/src/pro/excel/excel-parser.js +1 -1
  91. package/src/pro/excel/export-service.js +1 -1
  92. package/src/pro/excel/export_handler.js +1 -1
  93. package/src/pro/excel/import-service.js +1 -1
  94. package/src/pro/excel/import-validator.js +1 -1
  95. package/src/pro/excel/import_handler.js +1 -1
  96. package/src/pro/excel/upsert-builder.js +1 -1
  97. package/src/pro/idgen/idgen-routes.js +1 -1
  98. package/src/pro/integrations/lookup-resolver.js +1 -1
  99. package/src/pro/integrations/upload-handler-v2.js +1 -1
  100. package/src/pro/integrations/upload-handler.js +1 -1
  101. package/src/pro/integrations/webhook.js +1 -1
  102. package/src/pro/locking/lock-routes.js +1 -1
  103. package/src/pro/locking/resource-lock-manager.js +1 -1
  104. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  105. package/src/pro/messaging/kafkaService.js +1 -1
  106. package/src/pro/messaging/messagehubService.js +1 -1
  107. package/src/pro/messaging/rabbitmqService.js +1 -1
  108. package/src/pro/scheduler/job-manager.js +1 -1
  109. package/src/pro/scheduler/job-routes.js +1 -1
  110. package/src/pro/scheduler/job-validator.js +1 -1
  111. package/src/pro/storage/base-storage-provider.js +1 -1
  112. package/src/pro/storage/file-metadata-helper.js +1 -1
  113. package/src/pro/storage/index.js +1 -1
  114. package/src/pro/storage/local-storage-provider.js +1 -1
  115. package/src/pro/storage/s3-storage-provider.js +1 -1
  116. package/src/pro/storage/upload-cleanup-job.js +1 -1
  117. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  118. package/src/pro/storage/upload-pending-tracker.js +1 -1
  119. package/src/pro/websocket/broadcast-helper.js +1 -1
  120. package/src/pro/websocket/index.js +1 -1
  121. package/src/pro/websocket/livesync-server.js +1 -1
  122. package/src/pro/websocket/ws-broadcaster.js +1 -1
  123. package/src/services/export-service.js +1 -1
  124. package/src/services/import-service.js +1 -1
  125. package/src/services/kafkaConsumerService.js +1 -1
  126. package/src/services/kafkaService.js +1 -1
  127. package/src/services/messagehubService.js +1 -1
  128. package/src/services/rabbitmqService.js +1 -1
  129. package/src/utils/cache-invalidation-registry.js +1 -1
  130. package/src/utils/cache-manager.js +1 -1
  131. package/src/utils/component-engine.js +1 -1
  132. package/src/utils/config-extractor.js +1 -1
  133. package/src/utils/consumerLogger.js +1 -1
  134. package/src/utils/context-builder.js +1 -1
  135. package/src/utils/dashboard-helpers.js +1 -1
  136. package/src/utils/dateHelper.js +1 -1
  137. package/src/utils/datetime-formatter.js +1 -1
  138. package/src/utils/datetime-parser.js +1 -1
  139. package/src/utils/db-bootstrap.js +1 -1
  140. package/src/utils/db-mysql.js +1 -1
  141. package/src/utils/db-oracle.js +1 -1
  142. package/src/utils/db-sqlite.js +1 -1
  143. package/src/utils/db.js +1 -1
  144. package/src/utils/demo-generator.js +1 -1
  145. package/src/utils/excel-generator.js +1 -1
  146. package/src/utils/excel-parser.js +1 -1
  147. package/src/utils/file-watcher.js +1 -1
  148. package/src/utils/id-generator.js +1 -1
  149. package/src/utils/idempotency-manager.js +1 -1
  150. package/src/utils/import-validator.js +1 -1
  151. package/src/utils/license-client.js +1 -1
  152. package/src/utils/lock-manager.js +1 -1
  153. package/src/utils/logger.js +1 -1
  154. package/src/utils/lookup-resolver.js +1 -1
  155. package/src/utils/payload-loader.js +1 -1
  156. package/src/utils/processor-response.js +1 -1
  157. package/src/utils/rabbitmq.js +1 -1
  158. package/src/utils/redis-client.js +1 -1
  159. package/src/utils/redis-helper.js +1 -1
  160. package/src/utils/request-scope.js +1 -1
  161. package/src/utils/security-checks.js +1 -1
  162. package/src/utils/service-resolver.js +1 -1
  163. package/src/utils/shutdown-coordinator.js +1 -1
  164. package/src/utils/trusted-keys.js +1 -1
  165. package/src/utils/upload-handler.js +1 -1
  166. package/src/utils/upsert-builder.js +1 -1
  167. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x4241cd=a0_0x1f95;function a0_0x1f95(_0x4a1940,_0x414203){_0x4a1940=_0x4a1940-0x1b1;const _0x1b2a79=a0_0x1b2a();let _0x1f95d2=_0x1b2a79[_0x4a1940];if(a0_0x1f95['UwcTRg']===undefined){var _0x4e7910=function(_0xa7ea70){const _0xb92179='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x51350b='',_0xaf5ce0='';for(let _0x59906=0x0,_0x1bbf25,_0x2a6f18,_0x331c1d=0x0;_0x2a6f18=_0xa7ea70['charAt'](_0x331c1d++);~_0x2a6f18&&(_0x1bbf25=_0x59906%0x4?_0x1bbf25*0x40+_0x2a6f18:_0x2a6f18,_0x59906++%0x4)?_0x51350b+=String['fromCharCode'](0xff&_0x1bbf25>>(-0x2*_0x59906&0x6)):0x0){_0x2a6f18=_0xb92179['indexOf'](_0x2a6f18);}for(let _0x4039f6=0x0,_0x53b172=_0x51350b['length'];_0x4039f6<_0x53b172;_0x4039f6++){_0xaf5ce0+='%'+('00'+_0x51350b['charCodeAt'](_0x4039f6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xaf5ce0);};a0_0x1f95['SjEHai']=_0x4e7910,a0_0x1f95['cYlcYx']={},a0_0x1f95['UwcTRg']=!![];}const _0x5f3054=_0x1b2a79[0x0],_0x3565c0=_0x4a1940+_0x5f3054,_0x4fce4a=a0_0x1f95['cYlcYx'][_0x3565c0];return!_0x4fce4a?(_0x1f95d2=a0_0x1f95['SjEHai'](_0x1f95d2),a0_0x1f95['cYlcYx'][_0x3565c0]=_0x1f95d2):_0x1f95d2=_0x4fce4a,_0x1f95d2;}(function(_0x574c13,_0x3c90c1){const _0x31e4fb=a0_0x1f95,_0x53fcb2=_0x574c13();while(!![]){try{const _0x33201b=-parseInt(_0x31e4fb(0x1dc))/0x1+parseInt(_0x31e4fb(0x1c6))/0x2*(parseInt(_0x31e4fb(0x1be))/0x3)+-parseInt(_0x31e4fb(0x1b2))/0x4*(parseInt(_0x31e4fb(0x1c0))/0x5)+-parseInt(_0x31e4fb(0x1b3))/0x6+-parseInt(_0x31e4fb(0x1c8))/0x7*(parseInt(_0x31e4fb(0x1d8))/0x8)+parseInt(_0x31e4fb(0x1b7))/0x9+-parseInt(_0x31e4fb(0x1cf))/0xa*(-parseInt(_0x31e4fb(0x1bf))/0xb);if(_0x33201b===_0x3c90c1)break;else _0x53fcb2['push'](_0x53fcb2['shift']());}catch(_0x3c2002){_0x53fcb2['push'](_0x53fcb2['shift']());}}}(a0_0x1b2a,0xa1551));const multer=require(a0_0x4241cd(0x1d5)),path=require('path'),crypto=require('crypto'),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require(a0_0x4241cd(0x1b8));class UploadHandler{constructor(){const _0x2c34b3=a0_0x4241cd,_0x389b91={'dfHCR':function(_0x352710,_0x272d19){return _0x352710*_0x272d19;},'KaLYb':function(_0x5a26ce,_0x12e8eb){return _0x5a26ce*_0x12e8eb;}};this[_0x2c34b3(0x1c1)]=null,this[_0x2c34b3(0x1b6)]=_0x389b91[_0x2c34b3(0x1b9)](_0x389b91['KaLYb'](0xa,0x400),0x400);}get['uploadDir'](){const _0x22979e=a0_0x4241cd,_0x4c4f9e={'OVVws':'default','Lxkgv':_0x22979e(0x1da),'NvQhw':_0x22979e(0x1bd)};if(!this['_uploadDir']){const _0x1facbc=process[_0x22979e(0x1d6)]['RESTFORGE_PROJECT_NAME']||_0x4c4f9e['OVVws'];this[_0x22979e(0x1c1)]=process[_0x22979e(0x1d6)][_0x22979e(0x1c9)]||path[_0x22979e(0x1cd)](__dirname,'../../temp/uploads/'+_0x1facbc);try{!fsSync[_0x22979e(0x1db)](this[_0x22979e(0x1c1)])&&fsSync['mkdirSync'](this['_uploadDir'],{'recursive':!![]}),logger[_0x22979e(0x1b4)]({'event':_0x4c4f9e['Lxkgv'],'dir':this[_0x22979e(0x1c1)]},_0x22979e(0x1c3));}catch(_0x4cebd4){logger['error']({'event':'upload_handler_init_error','error':_0x4cebd4[_0x22979e(0x1ba)]},_0x4c4f9e[_0x22979e(0x1ca)]);}}return this[_0x22979e(0x1c1)];}[a0_0x4241cd(0x1bc)](){const _0x217bfb={'FIzmr':'hex'};return multer['diskStorage']({'destination':(_0x1f62cf,_0xe317f1,_0x1e0a10)=>{const _0x38bf78=a0_0x1f95;!fsSync['existsSync'](this[_0x38bf78(0x1b5)])&&fsSync[_0x38bf78(0x1c7)](this['uploadDir'],{'recursive':!![]}),_0x1e0a10(null,this[_0x38bf78(0x1b5)]);},'filename':(_0x296c2d,_0x208986,_0x5666cc)=>{const _0x486f79=a0_0x1f95,_0x160ee9=crypto[_0x486f79(0x1d1)](0x8)[_0x486f79(0x1bb)](_0x217bfb[_0x486f79(0x1d3)]),_0x3b15be=Date[_0x486f79(0x1ce)](),_0x554b19=path['extname'](_0x208986[_0x486f79(0x1d9)]);_0x5666cc(null,'upload-'+_0x3b15be+'-'+_0x160ee9+_0x554b19);}});}[a0_0x4241cd(0x1cb)](){const _0x15437e=a0_0x4241cd,_0x337efb={'keuWu':_0x15437e(0x1cc),'JITCY':_0x15437e(0x1c5),'jprqN':function(_0x3e9246,_0x3a331d){return _0x3e9246(_0x3a331d);}};return _0x337efb['jprqN'](multer,{'storage':this[_0x15437e(0x1bc)](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x47aeea,_0xec6c6b,_0x434e17)=>{const _0x28daf6=_0x15437e,_0x1d8ee7=[_0x337efb[_0x28daf6(0x1b1)],_0x28daf6(0x1d0)],_0x4a1774=['.xlsx',_0x337efb['JITCY']],_0x508d49=path['extname'](_0xec6c6b['originalname'])['toLowerCase']();_0x1d8ee7[_0x28daf6(0x1dd)](_0xec6c6b['mimetype'])&&_0x4a1774['includes'](_0x508d49)?_0x434e17(null,!![]):_0x434e17(new Error('Invalid\x20file\x20type.\x20Only\x20.xlsx\x20files\x20are\x20allowed'));}})[_0x15437e(0x1d4)]('file');}async['deleteFile'](_0x5ec4ed){const _0x4ae48b=a0_0x4241cd,_0x25348d={'GiCNN':_0x4ae48b(0x1c2)};try{await fs[_0x4ae48b(0x1d2)](_0x5ec4ed),logger['info']({'event':_0x4ae48b(0x1c4),'filePath':_0x5ec4ed},'Uploaded\x20file\x20deleted');}catch(_0x479ebe){logger[_0x4ae48b(0x1d7)]({'event':'upload_file_delete_error','filePath':_0x5ec4ed,'error':_0x479ebe['message']},_0x25348d['GiCNN']);}}}function a0_0x1b2a(){const _0x3fccda=['mJGWsvzgzwXz','yxbWBgLJyxrPB24VDM5KlM1Zlwv4y2vS','CMfUzg9TqNL0zxm','Dw5SAw5R','rKL6Bxi','C2LUz2XL','BxvSDgvY','zw52','zxjYB3i','mZuYmJGWq0zVCMnj','B3jPz2LUywXUyw1L','DxbSB2fKx2HHBMrSzxjFAw5PDa','zxHPC3rZu3LUyW','mta3mtC5nvzpq1Dfwq','Aw5JBhvKzxm','A2v1v3u','nfDZvxbqDq','nZq1nZuWmKPsqNPJyq','Aw5MBW','DxbSB2fKrgLY','Bwf4rMLSzvnPEMu','ndi4ntCYogfREKDPCW','lI9SB2DNzxi','zgziq1i','BwvZC2fNzq','Dg9tDhjPBMC','z2v0u3rVCMfNzq','rMfPBgvKihrVigLUAxrPywXPEMuGDxbSB2fKigHHBMrSzxi','m1bmu0PhBW','mtmYntGXovnouxLVuW','mZy5nJG2mhLVDxfyqW','x3vWBg9HzerPCG','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','DxbSB2fKx2zPBgvFzgvSzxrLza','lNHSCW','odaWnZr2Ew51uNi','BwTKAxjtEw5J','mJHUy3DrzhC','vvbmt0fex0rjuG','tNzrAhC','z2v0vxbSB2fKtwLKzgXLD2fYzq','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','AM9PBG','BM93'];a0_0x1b2a=function(){return _0x3fccda;};return a0_0x1b2a();}module['exports']=new UploadHandler();
1
+ const a0_0x2de505=a0_0x14ab;function a0_0x14ab(_0x2838bb,_0x302de1){_0x2838bb=_0x2838bb-0x89;const _0x42d685=a0_0x42d6();let _0x14aba3=_0x42d685[_0x2838bb];if(a0_0x14ab['GAfRkS']===undefined){var _0x4c3be6=function(_0x53a100){const _0x3fdac1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1c4a7a='',_0x547f79='';for(let _0x363aef=0x0,_0x1dae02,_0x5d535e,_0x296056=0x0;_0x5d535e=_0x53a100['charAt'](_0x296056++);~_0x5d535e&&(_0x1dae02=_0x363aef%0x4?_0x1dae02*0x40+_0x5d535e:_0x5d535e,_0x363aef++%0x4)?_0x1c4a7a+=String['fromCharCode'](0xff&_0x1dae02>>(-0x2*_0x363aef&0x6)):0x0){_0x5d535e=_0x3fdac1['indexOf'](_0x5d535e);}for(let _0xa7cd1c=0x0,_0x2e0aa2=_0x1c4a7a['length'];_0xa7cd1c<_0x2e0aa2;_0xa7cd1c++){_0x547f79+='%'+('00'+_0x1c4a7a['charCodeAt'](_0xa7cd1c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x547f79);};a0_0x14ab['SFwuiL']=_0x4c3be6,a0_0x14ab['FlIZPE']={},a0_0x14ab['GAfRkS']=!![];}const _0x460d10=_0x42d685[0x0],_0x577793=_0x2838bb+_0x460d10,_0x4f59cb=a0_0x14ab['FlIZPE'][_0x577793];return!_0x4f59cb?(_0x14aba3=a0_0x14ab['SFwuiL'](_0x14aba3),a0_0x14ab['FlIZPE'][_0x577793]=_0x14aba3):_0x14aba3=_0x4f59cb,_0x14aba3;}(function(_0xaf9263,_0x5c251d){const _0xb3095=a0_0x14ab,_0x867c8c=_0xaf9263();while(!![]){try{const _0xb47b37=parseInt(_0xb3095(0x89))/0x1*(parseInt(_0xb3095(0x98))/0x2)+parseInt(_0xb3095(0x95))/0x3*(-parseInt(_0xb3095(0x90))/0x4)+-parseInt(_0xb3095(0x8e))/0x5+parseInt(_0xb3095(0xb5))/0x6+parseInt(_0xb3095(0xa1))/0x7*(-parseInt(_0xb3095(0x94))/0x8)+parseInt(_0xb3095(0x8c))/0x9*(parseInt(_0xb3095(0xa9))/0xa)+-parseInt(_0xb3095(0x99))/0xb*(parseInt(_0xb3095(0x9f))/0xc);if(_0xb47b37===_0x5c251d)break;else _0x867c8c['push'](_0x867c8c['shift']());}catch(_0xcf2c68){_0x867c8c['push'](_0x867c8c['shift']());}}}(a0_0x42d6,0x6f248));const multer=require(a0_0x2de505(0xa3)),path=require('path'),crypto=require(a0_0x2de505(0xb1)),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require(a0_0x2de505(0xb0));class UploadHandler{constructor(){const _0x521d5e=a0_0x2de505,_0x15d46e={'ZcSRL':function(_0x296213,_0x24c379){return _0x296213*_0x24c379;}};this[_0x521d5e(0x96)]=null,this['maxFileSize']=_0x15d46e[_0x521d5e(0xa2)](_0x15d46e['ZcSRL'](0xa,0x400),0x400);}get[a0_0x2de505(0x9c)](){const _0x3802ee=a0_0x2de505,_0x2264e1={'lvKjA':_0x3802ee(0x8d)};if(!this[_0x3802ee(0x96)]){const _0x3be87c=process['env']['RESTFORGE_PROJECT_NAME']||_0x2264e1['lvKjA'];this['_uploadDir']=process['env'][_0x3802ee(0x9a)]||path[_0x3802ee(0x9b)](__dirname,'../../temp/uploads/'+_0x3be87c);try{!fsSync['existsSync'](this['_uploadDir'])&&fsSync[_0x3802ee(0xb3)](this[_0x3802ee(0x96)],{'recursive':!![]}),logger[_0x3802ee(0x92)]({'event':_0x3802ee(0x9d),'dir':this['_uploadDir']},'Upload\x20handler\x20initialized');}catch(_0x4feffc){logger[_0x3802ee(0xb2)]({'event':'upload_handler_init_error','error':_0x4feffc['message']},_0x3802ee(0xa0));}}return this[_0x3802ee(0x96)];}[a0_0x2de505(0x91)](){const _0x3aa6aa=a0_0x2de505,_0x357564={'vBaTd':_0x3aa6aa(0x8a)};return multer['diskStorage']({'destination':(_0x1d0a75,_0x4bf0ba,_0xc3e237)=>{const _0x50e02c=_0x3aa6aa;!fsSync['existsSync'](this[_0x50e02c(0x9c)])&&fsSync['mkdirSync'](this['uploadDir'],{'recursive':!![]}),_0xc3e237(null,this['uploadDir']);},'filename':(_0x309fec,_0x2ea6b0,_0x556a69)=>{const _0x3ff4fd=_0x3aa6aa,_0x4a35c7=crypto['randomBytes'](0x8)['toString'](_0x357564[_0x3ff4fd(0xa8)]),_0x165d0e=Date['now'](),_0x100dda=path['extname'](_0x2ea6b0[_0x3ff4fd(0xb7)]);_0x556a69(null,_0x3ff4fd(0x97)+_0x165d0e+'-'+_0x4a35c7+_0x100dda);}});}[a0_0x2de505(0xa7)](){const _0x13bc65=a0_0x2de505,_0x319ade={'pQkhn':'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','FBqlV':'.xls','hKqIc':function(_0xd332ea,_0xc2ccb8){return _0xd332ea(_0xc2ccb8);},'ehSxA':_0x13bc65(0x8b),'CCvtT':'file'};return _0x319ade['hKqIc'](multer,{'storage':this['getStorage'](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x2cc9d1,_0x851797,_0x590de5)=>{const _0x46d8fe=_0x13bc65,_0x47e723=[_0x319ade['pQkhn'],_0x46d8fe(0xa5)],_0x35b804=[_0x46d8fe(0xa4),_0x319ade[_0x46d8fe(0xb4)]],_0x2d0844=path[_0x46d8fe(0xab)](_0x851797[_0x46d8fe(0xb7)])['toLowerCase']();_0x47e723['includes'](_0x851797[_0x46d8fe(0xae)])&&_0x35b804['includes'](_0x2d0844)?_0x590de5(null,!![]):_0x319ade[_0x46d8fe(0xad)](_0x590de5,new Error(_0x319ade[_0x46d8fe(0xaf)]));}})['single'](_0x319ade[_0x13bc65(0xb6)]);}async[a0_0x2de505(0xa6)](_0x141178){const _0x58964c=a0_0x2de505,_0x4fa827={'qsFfN':_0x58964c(0xaa),'xBMBL':'Failed\x20to\x20delete\x20uploaded\x20file'};try{await fs['unlink'](_0x141178),logger['info']({'event':'upload_file_deleted','filePath':_0x141178},_0x4fa827[_0x58964c(0x8f)]);}catch(_0x3de519){logger['error']({'event':_0x58964c(0x9e),'filePath':_0x141178,'error':_0x3de519[_0x58964c(0xac)]},_0x4fa827[_0x58964c(0x93)]);}}}function a0_0x42d6(){const _0x3f1825=['mtiWodH3CejVEwS','z2v0u3rVCMfNzq','Aw5MBW','EejnqKW','mta0mJyZmNbPBg9nyG','mZi3EvfNruPt','x3vWBg9HzerPCG','DxbSB2fKlq','mtuWDNHHtKPS','mJjpvLzxqwi','vvbmt0fex0rjuG','AM9PBG','DxbSB2fKrgLY','DxbSB2fKx2HHBMrSzxjFAw5PDa','DxbSB2fKx2zPBgvFzgvSzxrLx2vYCM9Y','otu2oty0Cxjiq3zi','rMfPBgvKihrVigLUAxrPywXPEMuGDxbSB2fKigHHBMrSzxi','mJf6zvjUtLq','wMntuKW','BxvSDgvY','lNHSC3G','yxbWBgLJyxrPB24VDM5KlM1Zlwv4y2vS','zgvSzxrLrMLSzq','z2v0vxbSB2fKtwLKzgXLD2fYzq','DKjHvgq','ode4mtiWy1fqExPw','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','zxH0BMfTzq','BwvZC2fNzq','AeTXswm','BwLTzxr5Cgu','zwHtEee','lI9SB2DNzxi','y3j5ChrV','zxjYB3i','BwTKAxjtEw5J','rKjXBfy','nda1ntG2oerXAw1czW','q0n2Dfq','B3jPz2LUywXUyw1L','mZm2ogL0qKXJuW','Agv4','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','nZjRyMv5zwK','zgvMyxvSDa','mtiZotC3nwPywhvtAa','CxngzK4'];a0_0x42d6=function(){return _0x3f1825;};return a0_0x42d6();}module['exports']=new UploadHandler();
@@ -1 +1 @@
1
- const a0_0x43747a=a0_0x29a1;(function(_0x413aab,_0x451080){const _0x362771=a0_0x29a1,_0x445332=_0x413aab();while(!![]){try{const _0x7faed5=-parseInt(_0x362771(0x1a5))/0x1+-parseInt(_0x362771(0x1c6))/0x2+parseInt(_0x362771(0x1a4))/0x3+-parseInt(_0x362771(0x1c3))/0x4+parseInt(_0x362771(0x1d3))/0x5*(parseInt(_0x362771(0x1ae))/0x6)+parseInt(_0x362771(0x1ec))/0x7*(parseInt(_0x362771(0x1b4))/0x8)+parseInt(_0x362771(0x1a9))/0x9;if(_0x7faed5===_0x451080)break;else _0x445332['push'](_0x445332['shift']());}catch(_0x23c687){_0x445332['push'](_0x445332['shift']());}}}(a0_0x1906,0x945c0));function a0_0x29a1(_0x1573fa,_0x25f4ce){_0x1573fa=_0x1573fa-0x1a3;const _0x19069a=a0_0x1906();let _0x29a1a0=_0x19069a[_0x1573fa];if(a0_0x29a1['RRJcSF']===undefined){var _0x415da9=function(_0x18d4c7){const _0x2a5dea='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1c1902='',_0x3ea864='';for(let _0x2f394e=0x0,_0x31e5a3,_0x1b2240,_0x4bcbf1=0x0;_0x1b2240=_0x18d4c7['charAt'](_0x4bcbf1++);~_0x1b2240&&(_0x31e5a3=_0x2f394e%0x4?_0x31e5a3*0x40+_0x1b2240:_0x1b2240,_0x2f394e++%0x4)?_0x1c1902+=String['fromCharCode'](0xff&_0x31e5a3>>(-0x2*_0x2f394e&0x6)):0x0){_0x1b2240=_0x2a5dea['indexOf'](_0x1b2240);}for(let _0x2ce978=0x0,_0x246cc9=_0x1c1902['length'];_0x2ce978<_0x246cc9;_0x2ce978++){_0x3ea864+='%'+('00'+_0x1c1902['charCodeAt'](_0x2ce978)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3ea864);};a0_0x29a1['pARqzP']=_0x415da9,a0_0x29a1['hICEnl']={},a0_0x29a1['RRJcSF']=!![];}const _0x3cb854=_0x19069a[0x0],_0x554f7c=_0x1573fa+_0x3cb854,_0x4b132c=a0_0x29a1['hICEnl'][_0x554f7c];return!_0x4b132c?(_0x29a1a0=a0_0x29a1['pARqzP'](_0x29a1a0),a0_0x29a1['hICEnl'][_0x554f7c]=_0x29a1a0):_0x29a1a0=_0x4b132c,_0x29a1a0;}const {logger}=require(a0_0x43747a(0x1e5)),DB_TYPES={'POSTGRESQL':a0_0x43747a(0x1a8),'MYSQL':a0_0x43747a(0x1de),'SQLSERVER':'sqlserver','ORACLE':a0_0x43747a(0x1e7),'SQLITE':'sqlite'};class UpsertBuilder{[a0_0x43747a(0x1e8)](){const _0xcb4f23=a0_0x43747a,_0x15e255={'LMNTX':'postgresql'},_0x57a0de=(process['env']['DB_TYPE']||'postgresql')[_0xcb4f23(0x1ba)](),_0x30417a=Object[_0xcb4f23(0x1eb)](DB_TYPES);if(!_0x30417a['includes'](_0x57a0de))return logger['warn']({'event':'invalid_db_type','provided':_0x57a0de,'fallback':_0x15e255['LMNTX']},_0xcb4f23(0x1d1)+_0x57a0de+'.\x20Falling\x20back\x20to\x20postgresql.'),DB_TYPES[_0xcb4f23(0x1d7)];return _0x57a0de;}['formatDateValue'](_0x388d71,_0x5d81aa,_0x19795d=![]){const _0x1f4f86=a0_0x43747a,_0x4e41db={'PRgGn':'NULL','zjEJy':_0x1f4f86(0x1b2)};if(_0x19795d)switch(_0x5d81aa){case DB_TYPES['POSTGRESQL']:return _0x1f4f86(0x1b2);case DB_TYPES['MYSQL']:return _0x4e41db['PRgGn'];case DB_TYPES[_0x1f4f86(0x1e4)]:return _0x4e41db[_0x1f4f86(0x1d6)];case DB_TYPES[_0x1f4f86(0x1d8)]:return _0x4e41db[_0x1f4f86(0x1d6)];case DB_TYPES[_0x1f4f86(0x1dd)]:return'NULL';default:return _0x4e41db['zjEJy'];}switch(_0x5d81aa){case DB_TYPES['POSTGRESQL']:return _0x388d71+_0x1f4f86(0x1c4);case DB_TYPES[_0x1f4f86(0x1c2)]:return _0x388d71;case DB_TYPES[_0x1f4f86(0x1e4)]:return _0x388d71;case DB_TYPES[_0x1f4f86(0x1d8)]:return _0x1f4f86(0x1ac)+_0x388d71+'\x20AS\x20DATE)';case DB_TYPES[_0x1f4f86(0x1dd)]:return'TO_DATE('+_0x388d71+_0x1f4f86(0x1c0);default:return _0x388d71+_0x1f4f86(0x1c4);}}['formatBooleanValue'](_0xcfc69a,_0x5f183e,_0x2b2471=![]){const _0x1f04eb=a0_0x43747a,_0x11258a={'dNLrm':'NULL'};if(_0x2b2471)switch(_0x5f183e){case DB_TYPES['POSTGRESQL']:return _0x1f04eb(0x1e2);default:return _0x11258a['dNLrm'];}switch(_0x5f183e){case DB_TYPES[_0x1f04eb(0x1d7)]:return _0xcfc69a+'::BOOLEAN';case DB_TYPES['ORACLE']:return _0xcfc69a;case DB_TYPES[_0x1f04eb(0x1c2)]:return _0xcfc69a;case DB_TYPES[_0x1f04eb(0x1e4)]:return _0xcfc69a;case DB_TYPES[_0x1f04eb(0x1d8)]:return'CAST('+_0xcfc69a+_0x1f04eb(0x1cb);default:return _0xcfc69a+'::BOOLEAN';}}['buildEscapeFunction'](_0x20cf54={}){const _0x20b70a=a0_0x43747a,_0x55c8f3={'KdZAb':function(_0x182a8e,_0x4b8f5e){return _0x182a8e===_0x4b8f5e;},'uhPkG':function(_0x9b5c1b,_0x11846a){return _0x9b5c1b===_0x11846a;},'VdEcG':_0x20b70a(0x1d9),'tLdBn':'NULL','abZyC':function(_0x56d32d,_0x4b5c86){return _0x56d32d===_0x4b5c86;},'WMVPM':function(_0x82a5cb,_0x2782f4){return _0x82a5cb===_0x2782f4;},'mQgLy':function(_0x138864,_0x5a40f4){return _0x138864===_0x5a40f4;},'EWcOc':function(_0x2f2227,_0x57e471){return _0x2f2227===_0x57e471;}},_0x4957d8=this['getDatabaseType']();return(_0x296558,_0x1aece4)=>{const _0xba8931=_0x20b70a,_0x531c00=_0x20cf54[_0x1aece4];if(_0x55c8f3[_0xba8931(0x1e0)](_0x296558,null)||_0x55c8f3[_0xba8931(0x1e0)](_0x296558,undefined)){if(_0x531c00&&_0x55c8f3['uhPkG'](_0x531c00['type'],_0x55c8f3[_0xba8931(0x1ca)]))return this['formatDateValue'](null,_0x4957d8,!![]);if(_0x531c00&&_0x531c00['type']===_0xba8931(0x1d2))return this['formatBooleanValue'](null,_0x4957d8,!![]);return _0x55c8f3[_0xba8931(0x1f3)];}if(_0x55c8f3[_0xba8931(0x1a3)](typeof _0x296558,'string')){const _0x25388d='\x27'+_0x296558['replace'](/'/g,'\x27\x27')+'\x27';if(_0x531c00&&_0x55c8f3[_0xba8931(0x1a3)](_0x531c00['type'],_0x55c8f3['VdEcG']))return this['formatDateValue'](_0x25388d,_0x4957d8,![]);if(_0x531c00&&_0x55c8f3[_0xba8931(0x1d0)](_0x531c00[_0xba8931(0x1ee)],_0xba8931(0x1d2)))return this['formatBooleanValue'](_0x25388d,_0x4957d8,![]);return _0x25388d;}if(_0x55c8f3[_0xba8931(0x1aa)](typeof _0x296558,_0xba8931(0x1be)))return _0x296558;if(_0x55c8f3[_0xba8931(0x1e0)](typeof _0x296558,_0xba8931(0x1d2)))return _0x296558;const _0x513542='\x27'+String(_0x296558)['replace'](/'/g,'\x27\x27')+'\x27';if(_0x531c00&&_0x55c8f3['EWcOc'](_0x531c00[_0xba8931(0x1ee)],_0x55c8f3['VdEcG']))return this[_0xba8931(0x1bf)](_0x513542,_0x4957d8,![]);return _0x513542;};}['buildBatchInsert'](_0x4bee5e,_0x312989,_0x5843b2,_0xa521c={}){const _0x19bd44=a0_0x43747a,_0x1e5c12=this[_0x19bd44(0x1e8)]();if(_0x1e5c12===DB_TYPES['ORACLE'])return this['_buildBatchInsertOracle'](_0x4bee5e,_0x312989,_0x5843b2,_0xa521c);return this['_buildBatchInsertPostgres'](_0x4bee5e,_0x312989,_0x5843b2,_0xa521c);}['_buildBatchInsertPostgres'](_0x285168,_0x43510e,_0x5b1146,_0x4f91bd={}){const _0x54b552=a0_0x43747a,_0xc2b22={'PFpPs':function(_0x1b04b1,_0x1f7dd1){return _0x1b04b1===_0x1f7dd1;},'tssTb':',\x0a\x20\x20\x20\x20\x20\x20\x20','zURIf':_0x54b552(0x1a8),'eQmWS':'Batch\x20INSERT\x20query\x20built\x20(PostgreSQL)'};if(_0xc2b22[_0x54b552(0x1b6)](_0x285168[_0x54b552(0x1bc)],0x0))return{'query':null,'values':[]};const _0x46c08d=this['buildEscapeFunction'](_0x4f91bd),_0x4f36d6=_0x285168[_0x54b552(0x1b3)](_0x428690=>{const _0x23c668=_0x54b552,_0x229365=_0x5b1146[_0x23c668(0x1b3)](_0x51b109=>_0x46c08d(_0x428690[_0x51b109],_0x51b109));return'('+_0x229365['join'](',\x20')+')';}),_0x2ae61e=_0x54b552(0x1d4)+_0x43510e+'\x20('+_0x5b1146['join'](',\x20')+_0x54b552(0x1b5)+_0x4f36d6[_0x54b552(0x1cd)](_0xc2b22[_0x54b552(0x1e9)])+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':'batch_insert_built','tableName':_0x43510e,'rowCount':_0x285168[_0x54b552(0x1bc)],'dbType':_0xc2b22[_0x54b552(0x1a7)]},_0xc2b22['eQmWS']),{'query':_0x2ae61e,'values':[]};}['_buildBatchInsertOracle'](_0x1dee52,_0x17a5af,_0x12d4cb,_0x604f1c={}){const _0x4f142e=a0_0x43747a,_0x9d98f2={'ISiww':function(_0x4f03d6,_0x4cd189){return _0x4f03d6===_0x4cd189;},'VMFRl':'Batch\x20INSERT\x20query\x20built\x20(Oracle)'};if(_0x9d98f2[_0x4f142e(0x1a6)](_0x1dee52['length'],0x0))return{'query':null,'values':[]};const _0x4acdba=this['buildEscapeFunction'](_0x604f1c),_0xf7ce33=_0x1dee52[_0x4f142e(0x1b3)](_0x44f150=>{const _0x4ca495=_0x4f142e,_0x50e26a=_0x12d4cb[_0x4ca495(0x1b3)](_0x3170ae=>_0x4acdba(_0x44f150[_0x3170ae],_0x3170ae));return'\x20\x20INTO\x20'+_0x17a5af+'\x20('+_0x12d4cb['join'](',\x20')+_0x4ca495(0x1d5)+_0x50e26a['join'](',\x20')+')';}),_0x10385d='INSERT\x20ALL\x0a'+_0xf7ce33['join']('\x0a')+'\x0aSELECT\x201\x20FROM\x20DUAL';return logger['debug']({'event':'batch_insert_built','tableName':_0x17a5af,'rowCount':_0x1dee52[_0x4f142e(0x1bc)],'dbType':'oracle'},_0x9d98f2[_0x4f142e(0x1c5)]),{'query':_0x10385d,'values':[]};}['buildBatchUpdate'](_0x7de62a,_0x3ffe32,_0x29f15f,_0x2d7bb4,_0x330a7d,_0x59a70b={}){const _0x16215d=a0_0x43747a,_0x8f50fc={'ktpjV':function(_0x57c611,_0x45f551){return _0x57c611===_0x45f551;}},_0x4e9796=this[_0x16215d(0x1e8)]();if(_0x8f50fc[_0x16215d(0x1ed)](_0x4e9796,DB_TYPES[_0x16215d(0x1dd)]))return this['_buildBatchUpdateOracle'](_0x7de62a,_0x3ffe32,_0x29f15f,_0x2d7bb4,_0x330a7d,_0x59a70b);if(_0x8f50fc[_0x16215d(0x1ed)](_0x4e9796,DB_TYPES['MYSQL']))return this['_buildBatchUpdateMysql'](_0x7de62a,_0x3ffe32,_0x29f15f,_0x2d7bb4,_0x330a7d,_0x59a70b);return this[_0x16215d(0x1c9)](_0x7de62a,_0x3ffe32,_0x29f15f,_0x2d7bb4,_0x330a7d,_0x59a70b);}['_buildBatchUpdatePostgres'](_0x5bd210,_0x5b9252,_0x9bd66,_0x4c2215,_0x32c59c,_0x334782={}){const _0x4fc837=a0_0x43747a,_0x55b3e0={'dLndm':function(_0x428acc,_0x17804a){return _0x428acc===_0x17804a;},'lEheJ':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','LQeKl':_0x4fc837(0x1b9),'NjJdG':_0x4fc837(0x1ab)};if(_0x55b3e0['dLndm'](_0x5bd210[_0x4fc837(0x1bc)],0x0))return{'query':null,'values':[]};const _0x4525e8=this[_0x4fc837(0x1c7)](_0x334782),_0x53bcf6=_0x9bd66[_0x4fc837(0x1cc)](_0x1a52a4=>!_0x32c59c['includes'](_0x1a52a4)&&_0x1a52a4!==_0x4c2215);if(_0x53bcf6[_0x4fc837(0x1bc)]===0x0)return logger[_0x4fc837(0x1f0)]({'event':_0x4fc837(0x1b8),'tableName':_0x5b9252},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x2e6713=_0x5bd210[_0x4fc837(0x1b3)](_0x1ef699=>{const _0x56918a=_0x4fc837,_0x2c7876=[..._0x32c59c,..._0x53bcf6],_0x277254=_0x2c7876[_0x56918a(0x1b3)](_0xd49bc3=>_0x4525e8(_0x1ef699[_0xd49bc3],_0xd49bc3));return'('+_0x277254['join'](',\x20')+')';}),_0x38bdea=_0x53bcf6['map'](_0x3fa4a1=>_0x3fa4a1+_0x4fc837(0x1b7)+_0x3fa4a1)[_0x4fc837(0x1cd)](_0x55b3e0[_0x4fc837(0x1bb)]),_0x11977b=_0x32c59c['map'](_0xa96d4a=>'t.'+_0xa96d4a+'\x20=\x20v.'+_0xa96d4a)[_0x4fc837(0x1cd)](_0x55b3e0['LQeKl']),_0x13d095='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x5b9252+'\x20AS\x20t\x0a\x20\x20\x20\x20\x20\x20SET\x20'+_0x38bdea+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20(VALUES\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x2e6713[_0x4fc837(0x1cd)](_0x55b3e0['NjJdG'])+'\x0a\x20\x20\x20\x20\x20\x20)\x20AS\x20v('+[..._0x32c59c,..._0x53bcf6][_0x4fc837(0x1cd)](',\x20')+_0x4fc837(0x1ad)+_0x11977b+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':'batch_update_built','tableName':_0x5b9252,'rowCount':_0x5bd210['length'],'updateColumns':_0x53bcf6['length'],'dbType':'postgresql'},'Batch\x20UPDATE\x20query\x20built\x20(PostgreSQL)'),{'query':_0x13d095,'values':[]};}[a0_0x43747a(0x1ef)](_0x501aa9,_0x3923b4,_0x26e075,_0x3be8fa,_0xda322a,_0x432cc2={}){const _0x407c89=a0_0x43747a,_0x335226={'YwtBJ':function(_0x11a07b,_0x3bef07,_0x2b330d){return _0x11a07b(_0x3bef07,_0x2b330d);},'fVLdy':function(_0x4101d3,_0xd5ece3){return _0x4101d3===_0xd5ece3;},'hpqQT':function(_0x34d781,_0x5e750d){return _0x34d781===_0x5e750d;},'kxJJu':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','kiLXR':_0x407c89(0x1b9),'PyXsb':'\x0a\x20\x20\x20\x20UNION\x20ALL\x0a','LMtCr':'batch_update_built'};if(_0x335226[_0x407c89(0x1f1)](_0x501aa9[_0x407c89(0x1bc)],0x0))return{'query':null,'values':[]};const _0x541730=this['buildEscapeFunction'](_0x432cc2),_0x4feb22=_0x26e075[_0x407c89(0x1cc)](_0x5db558=>!_0xda322a['includes'](_0x5db558)&&_0x5db558!==_0x3be8fa);if(_0x335226[_0x407c89(0x1bd)](_0x4feb22[_0x407c89(0x1bc)],0x0))return logger['warn']({'event':_0x407c89(0x1b8),'tableName':_0x3923b4},_0x407c89(0x1e6)),{'query':null,'values':[]};const _0x806423=[..._0xda322a,..._0x4feb22],_0xefb75a=_0x501aa9[_0x407c89(0x1b3)]((_0x1b3e12,_0x10ba37)=>{const _0x4fdb88=_0x407c89,_0x309e0d=_0x806423['map'](_0x2f8aa6=>{const _0x3e6391=a0_0x29a1,_0x21b5d3=_0x335226['YwtBJ'](_0x541730,_0x1b3e12[_0x2f8aa6],_0x2f8aa6);return _0x10ba37===0x0?_0x21b5d3+_0x3e6391(0x1af)+_0x2f8aa6:_0x21b5d3;});return _0x4fdb88(0x1b1)+_0x309e0d['join'](',\x20')+'\x20FROM\x20DUAL';}),_0x32eabe=_0x4feb22[_0x407c89(0x1b3)](_0x2dd87c=>'t.'+_0x2dd87c+_0x407c89(0x1b7)+_0x2dd87c)[_0x407c89(0x1cd)](_0x335226[_0x407c89(0x1e3)]),_0x20734a=_0xda322a[_0x407c89(0x1b3)](_0x5715b2=>'t.'+_0x5715b2+_0x407c89(0x1b7)+_0x5715b2)[_0x407c89(0x1cd)](_0x335226['kiLXR']),_0x135f73=_0x407c89(0x1c8)+_0x3923b4+_0x407c89(0x1da)+_0xefb75a['join'](_0x335226[_0x407c89(0x1dc)])+'\x0a\x20\x20\x20\x20\x20\x20)\x20v\x0a\x20\x20\x20\x20\x20\x20ON\x20('+_0x20734a+')\x0a\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x20'+_0x32eabe+_0x407c89(0x1cf);return logger['debug']({'event':_0x335226['LMtCr'],'tableName':_0x3923b4,'rowCount':_0x501aa9['length'],'updateColumns':_0x4feb22['length'],'dbType':_0x407c89(0x1e7)},'Batch\x20UPDATE\x20query\x20built\x20(Oracle\x20MERGE)'),{'query':_0x135f73,'values':[]};}['_buildBatchUpdateMysql'](_0x206ce2,_0x23ab22,_0x5883c5,_0x55b916,_0x35959b,_0x42e090={}){const _0x5e68aa=a0_0x43747a,_0x51e876={'cFDwU':_0x5e68aa(0x1e6),'PYltF':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','MoyPP':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20'};if(_0x206ce2['length']===0x0)return{'query':null,'values':[]};const _0x611428=this[_0x5e68aa(0x1c7)](_0x42e090),_0x1e057e=_0x5883c5[_0x5e68aa(0x1cc)](_0x3de640=>!_0x35959b[_0x5e68aa(0x1b0)](_0x3de640)&&_0x3de640!==_0x55b916);if(_0x1e057e['length']===0x0)return logger['warn']({'event':'batch_update_no_columns','tableName':_0x23ab22},_0x51e876[_0x5e68aa(0x1f2)]),{'query':null,'values':[]};const _0x4ac9f5=[...new Set([..._0x35959b,..._0x1e057e])],_0x2de213=_0x206ce2[_0x5e68aa(0x1b3)](_0x658721=>{const _0x2249ed=_0x5e68aa,_0x4b5f43=_0x4ac9f5[_0x2249ed(0x1b3)](_0x480445=>_0x611428(_0x658721[_0x480445],_0x480445));return'('+_0x4b5f43[_0x2249ed(0x1cd)](',\x20')+')';}),_0x415fc9=_0x1e057e['map'](_0x493eb7=>_0x493eb7+'\x20=\x20VALUES('+_0x493eb7+')')[_0x5e68aa(0x1cd)](_0x51e876['PYltF']),_0x1f6be7=_0x5e68aa(0x1d4)+_0x23ab22+'\x20('+_0x4ac9f5['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x2de213[_0x5e68aa(0x1cd)](_0x51e876['MoyPP'])+'\x0a\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x20'+_0x415fc9+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x5e68aa(0x1df),'tableName':_0x23ab22,'rowCount':_0x206ce2['length'],'updateColumns':_0x1e057e['length'],'dbType':'mysql'},_0x5e68aa(0x1e1)),{'query':_0x1f6be7,'values':[]};}[a0_0x43747a(0x1ea)](_0x846d5b,_0x4c7763=0x64){const _0x49ae5f=a0_0x43747a,_0x67fb3={'ksyfP':function(_0x5eab93,_0x2bbbd4){return _0x5eab93<_0x2bbbd4;}},_0x252dc9=[];for(let _0xe472cf=0x0;_0x67fb3[_0x49ae5f(0x1ce)](_0xe472cf,_0x846d5b['length']);_0xe472cf+=_0x4c7763){_0x252dc9[_0x49ae5f(0x1db)](_0x846d5b['slice'](_0xe472cf,_0xe472cf+_0x4c7763));}return _0x252dc9;}}function a0_0x1906(){const _0x533652=['t1jbq0Xf','BxLZCwW','yMf0y2HFDxbKyxrLx2j1AwX0','s2rAqwi','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHnEvnrtcbptIbevvbmsunbveuGs0vzkq','tLvmtdO6qK9ptevbtG','A3HksNu','u1fmsvrf','lI9SB2DNzxi','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','B3jHy2XL','z2v0rgf0ywjHC2vuExbL','DhnZvgi','y2H1BMTsB3DZ','DMfSDwvZ','n2XkvfnPuW','A3rWALy','DhLWzq','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','D2fYBG','zLzmzhK','y0zeD1u','DeXKqM4','ywjAEum','mJq4mJmYnNfoB2Lysa','ntC3mZyXtgPgvKvw','svnPD3C','ELvsswy','Cg9ZDgDYzxnXBa','otyXmte5oundzMzLrG','BvfNthK','laOGicaGicaGia','q0ftvcG','kqOGicaGicbxsevsrsa','mJuXmtC4qunLAfrN','ieftia','Aw5JBhvKzxm','icaGifnftevdvca','tLvmtdO6refurq','BwfW','otmWnte0neLWAgPuDW','kqOGicaGicbwquXvrvmG','uezWuhm','id0GDI4','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','ieforca','Dg9mB3DLCKnHC2u','BevOzuO','BgvUz3rO','AhbXuvq','BNvTyMvY','zM9YBwf0rgf0zvzHBhvL','lcaNwvLzws1nts1ercCP','zxHWB3j0CW','tvLtuuW','mZm1mtm5nMPNveTVyW','oJPeqvrf','vK1guMW','mJqWnJeXnNffCMn5Dq','yNvPBgrfC2nHCgvgDw5JDgLVBG','cIaGicaGie1fuKDfieLove8G','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','vMrfy0C','ieftiejjvcK','zMLSDgvY','AM9PBG','A3n5zLa','cIaGica','v01wue0','sw52ywXPzcbeqL9uwvbfoIa','yM9VBgvHBG','mJbyueT4r3i','cIaGicaGieLou0vsvcbjtLrpia','ksbwquXvrvmGka','ufjNr24','ue9tveDsrvnrta','u1fmu0vsvKvs','zgf0zq','ihqkicaGicaGvvnjtKCGkaO','ChvZAa','uhLyC2i'];a0_0x1906=function(){return _0x533652;};return a0_0x1906();}module[a0_0x43747a(0x1c1)]=new UpsertBuilder();
1
+ const a0_0x1c27af=a0_0x1917;(function(_0x11e862,_0x1f766a){const _0x3237d5=a0_0x1917,_0x5aacd2=_0x11e862();while(!![]){try{const _0x23498c=-parseInt(_0x3237d5(0x14a))/0x1*(-parseInt(_0x3237d5(0x160))/0x2)+-parseInt(_0x3237d5(0x14d))/0x3+parseInt(_0x3237d5(0x11b))/0x4+parseInt(_0x3237d5(0x114))/0x5+parseInt(_0x3237d5(0x123))/0x6+-parseInt(_0x3237d5(0x12f))/0x7+-parseInt(_0x3237d5(0x15e))/0x8;if(_0x23498c===_0x1f766a)break;else _0x5aacd2['push'](_0x5aacd2['shift']());}catch(_0x29f9b5){_0x5aacd2['push'](_0x5aacd2['shift']());}}}(a0_0x9c6e,0x44edd));const {logger}=require(a0_0x1c27af(0x12a)),DB_TYPES={'POSTGRESQL':'postgresql','MYSQL':a0_0x1c27af(0x131),'SQLSERVER':a0_0x1c27af(0x15c),'ORACLE':'oracle','SQLITE':a0_0x1c27af(0x165)};function a0_0x9c6e(){const _0x52cc18=['BwfW','C1Hjt1u','Ew51C2u','vMvqBNu','icbjtLrpia','lIbgywXSAw5NigjHy2SGDg8GCg9ZDgDYzxnXBc4','D2fYBG','C3fSC2vYDMvY','AM9PBG','mZeZmtGYnhzTyuD4Bq','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','mtK0mZHYCfLHvfK','id0GDI4','t1jbq0Xf','CuPbywO','AwjICwq','C3fSAxrL','yNvPBgrcyxrJAfvWzgf0zq','cIaGicaGifvqrefursa','A1rpt08','A0TUt1a','oJPeqvrf','EeHVvxO','cIaGicaGiezst00GkfzbtfvfuWOGicaGicaGia','CM5ZteK','BNvTyMvY','nJCWntu1su5NrgnH','yMf0y2HFAw5Zzxj0x2j1AwX0','Ce9cAMK','ve9FrefursG','zM9YBwf0qM9VBgvHBLzHBhvL','tLvmta','ieftia','otuYnty0EeHuuwzW','tLvmtdO6refurq','AM5fwvm','sw52ywXPzcbeqL9uwvbfoIa','u1fmu0vsvKvs','B3jHy2XL','ue9tveDsrvnrta','vhnwAuG','mZa3mdK5mKzkr2L1qq','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','Cg9ZDgDYzxnXBa','cIaGica','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','CMvWBgfJzq','DvPvs2W','lI9SB2DNzxi','zM9YBwf0rgf0zvzHBhvL','yMf0y2HFDxbKyxrLx2j1AwX0','zMLSDgvY','ww9PEfK','mtm5otC5mfbjEhzfrW','yNvPBgrfC2nHCgvgDw5JDgLVBG','BxLZCwW','id0GvKfmvuvtka','zgf0zq','Aw5JBhvKzxm','yNvPBgrcyxrJAeLUC2vYDa','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','DMfSDwvZ','DhLWzq','ieftihqkicaGicaGu0vuia','wMPqu00','zgvIDwC','qNreruK','kqOGicaGicbxsevsrsa','z2v0rgf0ywjHC2vuExbL','ALHvtfi','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','D0vMDuW','DePMt2W','cIaGicaGieLou0vsvcbjtLrpia','laOGicaGicaGica','u1fmsvrf','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','BgvUz3rO','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHpCMfJBguGtuvsr0uP','mJLJqwDKEhu','Cfrvwxa','tvLtuuW','odC2ndyYCurgzwrV','DuDztgW','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','lcaNwvLzws1nts1ercCP','cIaGicaGie9oiervueXjq0fursblrvKGvvbeqvrfia','kqOGicaGicbwquXvrvmG','Dg9mB3DLCKnHC2u','ieforca'];a0_0x9c6e=function(){return _0x52cc18;};return a0_0x9c6e();}function a0_0x1917(_0x5d74dd,_0x3085bf){_0x5d74dd=_0x5d74dd-0x10d;const _0x9c6e55=a0_0x9c6e();let _0x1917e0=_0x9c6e55[_0x5d74dd];if(a0_0x1917['IOmEad']===undefined){var _0x21a50f=function(_0x157388){const _0x3a37e8='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e3160='',_0x35e02f='';for(let _0x137468=0x0,_0xdb771e,_0x552284,_0x47d595=0x0;_0x552284=_0x157388['charAt'](_0x47d595++);~_0x552284&&(_0xdb771e=_0x137468%0x4?_0xdb771e*0x40+_0x552284:_0x552284,_0x137468++%0x4)?_0x2e3160+=String['fromCharCode'](0xff&_0xdb771e>>(-0x2*_0x137468&0x6)):0x0){_0x552284=_0x3a37e8['indexOf'](_0x552284);}for(let _0x56ff5d=0x0,_0x58786a=_0x2e3160['length'];_0x56ff5d<_0x58786a;_0x56ff5d++){_0x35e02f+='%'+('00'+_0x2e3160['charCodeAt'](_0x56ff5d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x35e02f);};a0_0x1917['uFYYAX']=_0x21a50f,a0_0x1917['GEfNnu']={},a0_0x1917['IOmEad']=!![];}const _0x3c97e3=_0x9c6e55[0x0],_0x28736c=_0x5d74dd+_0x3c97e3,_0x421a18=a0_0x1917['GEfNnu'][_0x28736c];return!_0x421a18?(_0x1917e0=a0_0x1917['uFYYAX'](_0x1917e0),a0_0x1917['GEfNnu'][_0x28736c]=_0x1917e0):_0x1917e0=_0x421a18,_0x1917e0;}class UpsertBuilder{[a0_0x1c27af(0x13f)](){const _0x42ef98=a0_0x1c27af,_0x2aa56d={'uZUKl':'postgresql'},_0x53fad1=(process['env']['DB_TYPE']||_0x2aa56d[_0x42ef98(0x129)])[_0x42ef98(0x153)](),_0x283744=Object[_0x42ef98(0x138)](DB_TYPES);if(!_0x283744[_0x42ef98(0x134)](_0x53fad1))return logger['warn']({'event':'invalid_db_type','provided':_0x53fad1,'fallback':_0x2aa56d[_0x42ef98(0x129)]},_0x42ef98(0x11e)+_0x53fad1+_0x42ef98(0x15a)),DB_TYPES[_0x42ef98(0x121)];return _0x53fad1;}[a0_0x1c27af(0x12b)](_0x16fb95,_0x27866e,_0x1859e1=![]){const _0x1e723a=a0_0x1c27af,_0x182ce2={'tvjLs':'NULL','kTOOO':_0x1e723a(0x11c)};if(_0x1859e1)switch(_0x27866e){case DB_TYPES['POSTGRESQL']:return _0x1e723a(0x11c);case DB_TYPES[_0x1e723a(0x14c)]:return'NULL';case DB_TYPES['SQLITE']:return _0x1e723a(0x119);case DB_TYPES['SQLSERVER']:return _0x1e723a(0x119);case DB_TYPES['ORACLE']:return _0x182ce2['tvjLs'];default:return _0x182ce2[_0x1e723a(0x10d)];}switch(_0x27866e){case DB_TYPES['POSTGRESQL']:return _0x16fb95+_0x1e723a(0x10f);case DB_TYPES[_0x1e723a(0x14c)]:return _0x16fb95;case DB_TYPES[_0x1e723a(0x146)]:return _0x16fb95;case DB_TYPES[_0x1e723a(0x11f)]:return'CAST('+_0x16fb95+'\x20AS\x20DATE)';case DB_TYPES[_0x1e723a(0x162)]:return _0x1e723a(0x117)+_0x16fb95+_0x1e723a(0x150);default:return _0x16fb95+_0x1e723a(0x10f);}}[a0_0x1c27af(0x118)](_0x27fd61,_0x1147a8,_0x4baa64=![]){const _0x21da97=a0_0x1c27af,_0xee0aec={'ZjPSM':'NULL::BOOLEAN','YoixY':_0x21da97(0x119)};if(_0x4baa64)switch(_0x1147a8){case DB_TYPES['POSTGRESQL']:return _0xee0aec[_0x21da97(0x13b)];default:return _0xee0aec[_0x21da97(0x12e)];}switch(_0x1147a8){case DB_TYPES['POSTGRESQL']:return _0x27fd61+'::BOOLEAN';case DB_TYPES[_0x21da97(0x162)]:return _0x27fd61;case DB_TYPES[_0x21da97(0x14c)]:return _0x27fd61;case DB_TYPES[_0x21da97(0x146)]:return _0x27fd61;case DB_TYPES[_0x21da97(0x11f)]:return'CAST('+_0x27fd61+'\x20AS\x20BIT)';default:return _0x27fd61+'::BOOLEAN';}}['buildEscapeFunction'](_0x25aa29={}){const _0x562bdf=a0_0x1c27af,_0x2f3f43={'FlVks':function(_0xfc5020,_0x3ac1ac){return _0xfc5020===_0x3ac1ac;},'ibbqd':'date','uGYLl':'boolean','gblAN':_0x562bdf(0x113)},_0x25b411=this[_0x562bdf(0x13f)]();return(_0x1ee347,_0x343faa)=>{const _0x33820e=_0x562bdf,_0x46dc75=_0x25aa29[_0x343faa];if(_0x1ee347===null||_0x1ee347===undefined){if(_0x46dc75&&_0x2f3f43['FlVks'](_0x46dc75[_0x33820e(0x139)],_0x2f3f43[_0x33820e(0x164)]))return this[_0x33820e(0x12b)](null,_0x25b411,!![]);if(_0x46dc75&&_0x46dc75['type']===_0x2f3f43[_0x33820e(0x14e)])return this['formatBooleanValue'](null,_0x25b411,!![]);return'NULL';}if(typeof _0x1ee347==='string'){const _0x52b57a='\x27'+_0x1ee347[_0x33820e(0x128)](/'/g,'\x27\x27')+'\x27';if(_0x46dc75&&_0x46dc75['type']==='date')return this[_0x33820e(0x12b)](_0x52b57a,_0x25b411,![]);if(_0x46dc75&&_0x46dc75['type']==='boolean')return this['formatBooleanValue'](_0x52b57a,_0x25b411,![]);return _0x52b57a;}if(typeof _0x1ee347===_0x2f3f43['gblAN'])return _0x1ee347;if(typeof _0x1ee347===_0x2f3f43[_0x33820e(0x14e)])return _0x1ee347;const _0x4b44a8='\x27'+String(_0x1ee347)[_0x33820e(0x128)](/'/g,'\x27\x27')+'\x27';if(_0x46dc75&&_0x46dc75[_0x33820e(0x139)]===_0x33820e(0x133))return this['formatDateValue'](_0x4b44a8,_0x25b411,![]);return _0x4b44a8;};}[a0_0x1c27af(0x135)](_0x51ce96,_0x594246,_0x94925d,_0x46310d={}){const _0xfa1acc=a0_0x1c27af,_0x5c5927=this['getDatabaseType']();if(_0x5c5927===DB_TYPES[_0xfa1acc(0x162)])return this[_0xfa1acc(0x14f)](_0x51ce96,_0x594246,_0x94925d,_0x46310d);return this[_0xfa1acc(0x147)](_0x51ce96,_0x594246,_0x94925d,_0x46310d);}[a0_0x1c27af(0x147)](_0x2d0922,_0x4edd12,_0x938175,_0x3cc452={}){const _0x406b7a=a0_0x1c27af,_0x1304eb={'ynuse':function(_0x581c8b,_0x17ab48){return _0x581c8b===_0x17ab48;},'xHoUz':',\x0a\x20\x20\x20\x20\x20\x20\x20','KiSGH':_0x406b7a(0x115)};if(_0x1304eb[_0x406b7a(0x157)](_0x2d0922['length'],0x0))return{'query':null,'values':[]};const _0x3a3c18=this[_0x406b7a(0x130)](_0x3cc452),_0x4f6302=_0x2d0922[_0x406b7a(0x155)](_0x197756=>{const _0x193764=_0x406b7a,_0x15beda=_0x938175[_0x193764(0x155)](_0x425ae4=>_0x3a3c18(_0x197756[_0x425ae4],_0x425ae4));return'('+_0x15beda[_0x193764(0x15d)](',\x20')+')';}),_0x1aa0d6=_0x406b7a(0x144)+_0x4edd12+'\x20('+_0x938175[_0x406b7a(0x15d)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x4f6302['join'](_0x1304eb[_0x406b7a(0x110)])+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x1304eb['KiSGH'],'tableName':_0x4edd12,'rowCount':_0x2d0922[_0x406b7a(0x148)],'dbType':'postgresql'},'Batch\x20INSERT\x20query\x20built\x20(PostgreSQL)'),{'query':_0x1aa0d6,'values':[]};}[a0_0x1c27af(0x14f)](_0x40ac41,_0x58eacd,_0x4ae486,_0xfb0993={}){const _0x260062=a0_0x1c27af,_0x57fe31={'ojLBS':function(_0x3a538b,_0x3bf486){return _0x3a538b===_0x3bf486;},'wEfuL':'Batch\x20INSERT\x20query\x20built\x20(Oracle)'};if(_0x57fe31['ojLBS'](_0x40ac41[_0x260062(0x148)],0x0))return{'query':null,'values':[]};const _0x5074db=this[_0x260062(0x130)](_0xfb0993),_0x5da6cf=_0x40ac41['map'](_0x1ed0f1=>{const _0x2155a2=_0x260062,_0x309ab1=_0x4ae486[_0x2155a2(0x155)](_0x268f63=>_0x5074db(_0x1ed0f1[_0x268f63],_0x268f63));return _0x2155a2(0x159)+_0x58eacd+'\x20('+_0x4ae486['join'](',\x20')+')\x20VALUES\x20('+_0x309ab1['join'](',\x20')+')';}),_0x9cda47='INSERT\x20ALL\x0a'+_0x5da6cf['join']('\x0a')+'\x0aSELECT\x201\x20FROM\x20DUAL';return logger['debug']({'event':_0x260062(0x115),'tableName':_0x58eacd,'rowCount':_0x40ac41[_0x260062(0x148)],'dbType':_0x260062(0x120)},_0x57fe31[_0x260062(0x142)]),{'query':_0x9cda47,'values':[]};}[a0_0x1c27af(0x166)](_0x27229a,_0x48715f,_0x19261d,_0x14c634,_0x2baa5b,_0x104822={}){const _0x5210cb=a0_0x1c27af,_0x1fb3fb=this['getDatabaseType']();if(_0x1fb3fb===DB_TYPES['ORACLE'])return this['_buildBatchUpdateOracle'](_0x27229a,_0x48715f,_0x19261d,_0x14c634,_0x2baa5b,_0x104822);if(_0x1fb3fb===DB_TYPES[_0x5210cb(0x14c)])return this[_0x5210cb(0x124)](_0x27229a,_0x48715f,_0x19261d,_0x14c634,_0x2baa5b,_0x104822);return this['_buildBatchUpdatePostgres'](_0x27229a,_0x48715f,_0x19261d,_0x14c634,_0x2baa5b,_0x104822);}[a0_0x1c27af(0x127)](_0x58761f,_0x495b19,_0x10dccd,_0x13b647,_0x4eb19b,_0x3fd1e1={}){const _0x31b647=a0_0x1c27af,_0xe99ae5={'AimVr':_0x31b647(0x137),'sXIOU':_0x31b647(0x145),'pOBji':'\x20AND\x20','jnEYS':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20','TsViH':_0x31b647(0x125),'kKnOP':_0x31b647(0x15f)};if(_0x58761f['length']===0x0)return{'query':null,'values':[]};const _0x5070be=this[_0x31b647(0x130)](_0x3fd1e1),_0x58e7dc=_0x10dccd[_0x31b647(0x12d)](_0xab187b=>!_0x4eb19b[_0x31b647(0x134)](_0xab187b)&&_0xab187b!==_0x13b647);if(_0x58e7dc[_0x31b647(0x148)]===0x0)return logger[_0x31b647(0x15b)]({'event':_0xe99ae5['AimVr'],'tableName':_0x495b19},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x10bbe2=_0x58761f[_0x31b647(0x155)](_0x103b5e=>{const _0x24e675=[..._0x4eb19b,..._0x58e7dc],_0xa0eb8b=_0x24e675['map'](_0x89452a=>_0x5070be(_0x103b5e[_0x89452a],_0x89452a));return'('+_0xa0eb8b['join'](',\x20')+')';}),_0x6d5f81=_0x58e7dc[_0x31b647(0x155)](_0x252cd9=>_0x252cd9+'\x20=\x20v.'+_0x252cd9)['join'](_0xe99ae5[_0x31b647(0x156)]),_0x2702ae=_0x4eb19b['map'](_0x323265=>'t.'+_0x323265+_0x31b647(0x161)+_0x323265)[_0x31b647(0x15d)](_0xe99ae5[_0x31b647(0x116)]),_0x261625=_0x31b647(0x167)+_0x495b19+_0x31b647(0x13a)+_0x6d5f81+_0x31b647(0x111)+_0x10bbe2['join'](_0xe99ae5[_0x31b647(0x11d)])+'\x0a\x20\x20\x20\x20\x20\x20)\x20AS\x20v('+[..._0x4eb19b,..._0x58e7dc][_0x31b647(0x15d)](',\x20')+_0x31b647(0x13e)+_0x2702ae+_0x31b647(0x126);return logger['debug']({'event':_0x31b647(0x12c),'tableName':_0x495b19,'rowCount':_0x58761f['length'],'updateColumns':_0x58e7dc[_0x31b647(0x148)],'dbType':_0xe99ae5[_0x31b647(0x122)]},_0xe99ae5[_0x31b647(0x10e)]),{'query':_0x261625,'values':[]};}[a0_0x1c27af(0x141)](_0x13339e,_0x42e43e,_0x5926ab,_0x3b7e63,_0x170db0,_0x4abefe={}){const _0x24725b=a0_0x1c27af,_0x89a066={'tJfOl':function(_0x4f93e2,_0x1f3dbc){return _0x4f93e2===_0x1f3dbc;},'JzmgE':'batch_update_no_columns','Midpf':_0x24725b(0x12c),'rnsLI':_0x24725b(0x149)};if(_0x13339e['length']===0x0)return{'query':null,'values':[]};const _0x4b3966=this[_0x24725b(0x130)](_0x4abefe),_0x3d19c2=_0x5926ab['filter'](_0x8b10bf=>!_0x170db0['includes'](_0x8b10bf)&&_0x8b10bf!==_0x3b7e63);if(_0x89a066[_0x24725b(0x143)](_0x3d19c2[_0x24725b(0x148)],0x0))return logger[_0x24725b(0x15b)]({'event':_0x89a066['JzmgE'],'tableName':_0x42e43e},_0x24725b(0x136)),{'query':null,'values':[]};const _0x4f0aa9=[..._0x170db0,..._0x3d19c2],_0xa03829=_0x13339e[_0x24725b(0x155)]((_0x4d8042,_0x32551c)=>{const _0x267fc2=_0x24725b,_0xf0bf65=_0x4f0aa9[_0x267fc2(0x155)](_0x141b11=>{const _0xbdabd3=_0x267fc2,_0x1bfa63=_0x4b3966(_0x4d8042[_0x141b11],_0x141b11);return _0x32551c===0x0?_0x1bfa63+_0xbdabd3(0x11a)+_0x141b11:_0x1bfa63;});return'\x20\x20\x20\x20SELECT\x20'+_0xf0bf65['join'](',\x20')+'\x20FROM\x20DUAL';}),_0x55e407=_0x3d19c2['map'](_0x2379a2=>'t.'+_0x2379a2+'\x20=\x20v.'+_0x2379a2)['join'](_0x24725b(0x145)),_0x47d78b=_0x170db0['map'](_0x389fb4=>'t.'+_0x389fb4+'\x20=\x20v.'+_0x389fb4)['join'](_0x24725b(0x154)),_0x59c77f='\x0a\x20\x20\x20\x20\x20\x20MERGE\x20INTO\x20'+_0x42e43e+'\x20t\x0a\x20\x20\x20\x20\x20\x20USING\x20(\x0a'+_0xa03829[_0x24725b(0x15d)]('\x0a\x20\x20\x20\x20UNION\x20ALL\x0a')+'\x0a\x20\x20\x20\x20\x20\x20)\x20v\x0a\x20\x20\x20\x20\x20\x20ON\x20('+_0x47d78b+')\x0a\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x20'+_0x55e407+'\x0a\x20\x20\x20\x20';return logger[_0x24725b(0x13c)]({'event':_0x89a066['Midpf'],'tableName':_0x42e43e,'rowCount':_0x13339e['length'],'updateColumns':_0x3d19c2['length'],'dbType':'oracle'},_0x89a066[_0x24725b(0x112)]),{'query':_0x59c77f,'values':[]};}[a0_0x1c27af(0x124)](_0x217d4e,_0x44fca9,_0x234a30,_0x2bced9,_0x17712b,_0x23fe6f={}){const _0x3f0e6c=a0_0x1c27af,_0x1acfcd={'wvFeT':_0x3f0e6c(0x137),'BtDEI':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','DCaWw':_0x3f0e6c(0x145),'VePnu':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20','icXgO':_0x3f0e6c(0x12c),'BVoCy':'mysql','qJAaj':'Batch\x20UPDATE\x20query\x20built\x20(MySQL\x20ON\x20DUPLICATE\x20KEY)'};if(_0x217d4e[_0x3f0e6c(0x148)]===0x0)return{'query':null,'values':[]};const _0x1d71e8=this['buildEscapeFunction'](_0x23fe6f),_0x202e4d=_0x234a30[_0x3f0e6c(0x12d)](_0x142bb4=>!_0x17712b['includes'](_0x142bb4)&&_0x142bb4!==_0x2bced9);if(_0x202e4d[_0x3f0e6c(0x148)]===0x0)return logger['warn']({'event':_0x1acfcd['wvFeT'],'tableName':_0x44fca9},_0x1acfcd[_0x3f0e6c(0x13d)]),{'query':null,'values':[]};const _0xec8f7d=[...new Set([..._0x17712b,..._0x202e4d])],_0xd707b3=_0x217d4e[_0x3f0e6c(0x155)](_0x55364f=>{const _0x5a26b2=_0x3f0e6c,_0x589448=_0xec8f7d['map'](_0x26372a=>_0x1d71e8(_0x55364f[_0x26372a],_0x26372a));return'('+_0x589448[_0x5a26b2(0x15d)](',\x20')+')';}),_0x14cc9d=_0x202e4d['map'](_0x24b639=>_0x24b639+_0x3f0e6c(0x132)+_0x24b639+')')[_0x3f0e6c(0x15d)](_0x1acfcd['DCaWw']),_0x2a040f='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x44fca9+'\x20('+_0xec8f7d[_0x3f0e6c(0x15d)](',\x20')+_0x3f0e6c(0x152)+_0xd707b3[_0x3f0e6c(0x15d)](_0x1acfcd[_0x3f0e6c(0x158)])+_0x3f0e6c(0x151)+_0x14cc9d+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x1acfcd['icXgO'],'tableName':_0x44fca9,'rowCount':_0x217d4e[_0x3f0e6c(0x148)],'updateColumns':_0x202e4d['length'],'dbType':_0x1acfcd['BVoCy']},_0x1acfcd[_0x3f0e6c(0x163)]),{'query':_0x2a040f,'values':[]};}['chunkRows'](_0x1f7ac1,_0x32d8cc=0x64){const _0x382cba=a0_0x1c27af,_0x1cfeb2={'jXULR':function(_0x5a7493,_0x3c50aa){return _0x5a7493<_0x3c50aa;},'pTUYp':function(_0xa75e93,_0x3729d6){return _0xa75e93+_0x3729d6;}},_0x361143=[];for(let _0x303724=0x0;_0x1cfeb2[_0x382cba(0x140)](_0x303724,_0x1f7ac1[_0x382cba(0x148)]);_0x303724+=_0x32d8cc){_0x361143['push'](_0x1f7ac1['slice'](_0x303724,_0x1cfeb2[_0x382cba(0x14b)](_0x303724,_0x32d8cc)));}return _0x361143;}}module['exports']=new UpsertBuilder();
@@ -1 +1 @@
1
- const a0_0x268645=a0_0x496e;(function(_0x520f61,_0x20fbcf){const _0x1b0709=a0_0x496e,_0x3b9dbf=_0x520f61();while(!![]){try{const _0x1ad4d2=parseInt(_0x1b0709(0xa3))/0x1+parseInt(_0x1b0709(0x71))/0x2+-parseInt(_0x1b0709(0x9a))/0x3*(-parseInt(_0x1b0709(0xa6))/0x4)+parseInt(_0x1b0709(0x87))/0x5*(parseInt(_0x1b0709(0xa0))/0x6)+parseInt(_0x1b0709(0x79))/0x7*(-parseInt(_0x1b0709(0x97))/0x8)+-parseInt(_0x1b0709(0x8e))/0x9*(parseInt(_0x1b0709(0x6e))/0xa)+-parseInt(_0x1b0709(0x73))/0xb*(-parseInt(_0x1b0709(0x9e))/0xc);if(_0x1ad4d2===_0x20fbcf)break;else _0x3b9dbf['push'](_0x3b9dbf['shift']());}catch(_0x349558){_0x3b9dbf['push'](_0x3b9dbf['shift']());}}}(a0_0x12d6,0xe7b5c));const axios=require(a0_0x268645(0x70)),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD=a0_0x268645(0x82),DEFAULT_HOST='localhost',DEFAULT_PORT=0xbb8;function resolveTemplateString(_0x4a5188,_0x3e1378){const _0x1f4bb0={'MWjDV':function(_0x33e6f7,_0x335396){return _0x33e6f7!==_0x335396;},'qrHLM':function(_0x39dff0,_0x2a58da){return _0x39dff0===_0x2a58da;},'lbtNs':'object'};if(typeof _0x4a5188!=='string')return _0x4a5188;return _0x4a5188['replace'](/\{\{([^}]+)\}\}/g,(_0xf74386,_0xc2fb5c)=>{const _0x3a1549=a0_0x496e,_0x285e3e=_0xc2fb5c['trim'](),_0x922927=getNestedValue(_0x3e1378,_0x285e3e);if(_0x1f4bb0[_0x3a1549(0x99)](_0x922927,undefined)&&_0x922927!==null)return _0x1f4bb0[_0x3a1549(0xa1)](typeof _0x922927,_0x1f4bb0[_0x3a1549(0x7f)])?JSON['stringify'](_0x922927):String(_0x922927);return _0xf74386;});}function a0_0x496e(_0x1bde58,_0x1acdd5){_0x1bde58=_0x1bde58-0x69;const _0x12d6cf=a0_0x12d6();let _0x496e5c=_0x12d6cf[_0x1bde58];if(a0_0x496e['Teqlht']===undefined){var _0x5b5fe0=function(_0x46276c){const _0x14e589='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4d0f85='',_0x5e0957='';for(let _0x2041e3=0x0,_0x3de032,_0x965391,_0x4c6b51=0x0;_0x965391=_0x46276c['charAt'](_0x4c6b51++);~_0x965391&&(_0x3de032=_0x2041e3%0x4?_0x3de032*0x40+_0x965391:_0x965391,_0x2041e3++%0x4)?_0x4d0f85+=String['fromCharCode'](0xff&_0x3de032>>(-0x2*_0x2041e3&0x6)):0x0){_0x965391=_0x14e589['indexOf'](_0x965391);}for(let _0x263660=0x0,_0x565bbe=_0x4d0f85['length'];_0x263660<_0x565bbe;_0x263660++){_0x5e0957+='%'+('00'+_0x4d0f85['charCodeAt'](_0x263660)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5e0957);};a0_0x496e['vVCGEQ']=_0x5b5fe0,a0_0x496e['KaWDYv']={},a0_0x496e['Teqlht']=!![];}const _0x40ac87=_0x12d6cf[0x0],_0x47ae18=_0x1bde58+_0x40ac87,_0x42ad57=a0_0x496e['KaWDYv'][_0x47ae18];return!_0x42ad57?(_0x496e5c=a0_0x496e['vVCGEQ'](_0x496e5c),a0_0x496e['KaWDYv'][_0x47ae18]=_0x496e5c):_0x496e5c=_0x42ad57,_0x496e5c;}function resolveTemplateVariables(_0x367744,_0x283928){const _0x2326ad=a0_0x268645,_0x304fa8={'pmtVn':'object','bdpwQ':function(_0x4d11e5,_0x1f8e2c,_0x3e5ea9){return _0x4d11e5(_0x1f8e2c,_0x3e5ea9);}};if(typeof _0x367744==='string')return resolveTemplateString(_0x367744,_0x283928);if(Array['isArray'](_0x367744))return _0x367744[_0x2326ad(0x92)](_0x41682a=>resolveTemplateVariables(_0x41682a,_0x283928));if(_0x367744!==null&&typeof _0x367744===_0x304fa8['pmtVn']){const _0x325391={};for(const [_0x351a04,_0xc3617d]of Object['entries'](_0x367744)){_0x325391[_0x351a04]=_0x304fa8[_0x2326ad(0x7d)](resolveTemplateVariables,_0xc3617d,_0x283928);}return _0x325391;}return _0x367744;}function getNestedValue(_0x42f38e,_0x5824c6){return _0x5824c6['split']('.')['reduce']((_0x4d762f,_0x5107fa)=>{return _0x4d762f&&_0x4d762f[_0x5107fa]!==undefined?_0x4d762f[_0x5107fa]:undefined;},_0x42f38e);}function resolveUrl(_0x3c4847,_0x470146){const _0x430114=a0_0x268645,_0x2be404={'EHtNe':function(_0x148d8c,_0x19cc18){return _0x148d8c!==_0x19cc18;},'QgfRc':'string','Oniju':'/api/'};if(!_0x3c4847||_0x2be404['EHtNe'](typeof _0x3c4847,_0x2be404[_0x430114(0x74)]))return _0x3c4847;if(_0x3c4847[_0x430114(0x88)]('http://')||_0x3c4847['startsWith'](_0x430114(0x7a)))return _0x3c4847;const _0x321fdf=process['env'][_0x430114(0x96)]||process[_0x430114(0x6c)][_0x430114(0x9c)]||DEFAULT_HOST,_0x33e87d=process[_0x430114(0x6c)][_0x430114(0x83)]||DEFAULT_PORT,_0x4dc4c8=_0x430114(0x84)+_0x321fdf+':'+_0x33e87d;if(_0x3c4847[_0x430114(0x88)](_0x2be404['Oniju']))return''+_0x4dc4c8+_0x3c4847;if(_0x3c4847[_0x430114(0x88)]('/')){const _0x4a8aa9=_0x470146&&_0x470146['project']||'';if(_0x4a8aa9)return _0x4dc4c8+_0x430114(0x8c)+_0x4a8aa9+_0x3c4847;return''+_0x4dc4c8+_0x3c4847;}return _0x3c4847;}function a0_0x12d6(){const _0x4b16d6=['Bwv0Ag9K','mtf2uK5Ps3C','uwDMuMm','CMvZCg9UC2u','Dg9mB3DLCKnHC2u','ChjVAMvJDa','zfnlC3y','mtu5ndC3nxDrz0fRqG','Ahr0Chm6lY8','C3rHDhvZvgv4Da','tNvSvwy','yMrWD1e','C3rHDhvZ','Bgj0tNm','sfruuca','CMvXDwvZDerHDge','ue9tva','ue9sva','Ahr0CdOVlW','uM50u2C','BgvUz3rO','mJuXnxnsugj3Cq','C3rHCNrZv2L0Aa','BMv3u3rHDhvZ','CMvJB3jK','yMXVy2TPBMC','l2fWAs8','v29YA2zSB3CGAg9VAYbMywLSzwq6ia','mJGXntu1mxPPrwfrDa','DgfIBgvoyw1L','Dg9ju09tDhjPBMC','C3vJy2vZCW','BwfW','DhLWzq','sg9VAYbZA2LWCgvKoIb1BNn1ChbVCNrLzcb0ExbL','zxjYB3i','u0vsvKvsx0ferfjfu1m','mJrXt3fYBK4','AxnbCNjHEq','tvDQrfy','mJq1mtaZEKnHzLr3','yxv0Ag9YAxPHDgLVBG','se9tva','tM9UlwjSB2nRAw5NigHVB2SGzMfPBgvKicHPz25VCMvKktOG','mtm0nZa5nZj1EvPzAfy','yxv0AeHLywrLCG','ntaYoe5juKz2Aa','Cxjite0','sg9VAYbLEgvJDxrPB24GzMfPBgvK','mJyZntzLrfPjy00','zxHWB3j0CW','D2fYBG','nZzyve5eAKS','yxbWBgLJyxrPB24VANnVBG','yxbP','ChvZAa','DxjS','zw52','iokgKIa','nJbotMTpC3m','qxv0Ag9YAxPHDgLVBG','yxHPB3m','nZCZnJq2tMLMvhzZ'];a0_0x12d6=function(){return _0x4b16d6;};return a0_0x12d6();}function buildHookContext(_0xb03c6d){const _0x136be5=a0_0x268645,_0xac905d={'qktJp':'system'};return{'id':_0xb03c6d['id']||'','newStatus':_0xb03c6d[_0x136be5(0x89)]||'','oldStatus':_0xb03c6d['oldStatus']||'','remarks':_0xb03c6d['remarks']||'','tableName':_0xb03c6d[_0x136be5(0x8f)]||'','user_id':_0xb03c6d['userId']||_0xac905d['qktJp'],'timestamp':new Date()[_0x136be5(0x90)](),'record':_0xb03c6d[_0x136be5(0x8a)]||{},'requestData':_0xb03c6d[_0x136be5(0x81)]||{},'project':_0xb03c6d[_0x136be5(0x77)]||'','authHeader':_0xb03c6d[_0x136be5(0x9f)]||null};}async function executeHook(_0x469c21,_0x4dabfe){const _0x42aef2=a0_0x268645,_0x4c07e7={'RntSg':function(_0x1badc4,_0xfbb423){return _0x1badc4!==_0xfbb423;},'bqRqV':function(_0x307372,_0x531b4b,_0x1ca436){return _0x307372(_0x531b4b,_0x1ca436);},'NulUf':function(_0xa56f06,_0x38f90f){return _0xa56f06(_0x38f90f);},'iRDwF':_0x42aef2(0xa7),'WNVGn':'RestForge-Workflow/1.0'};if(!_0x469c21||_0x4c07e7[_0x42aef2(0x85)](_0x469c21[_0x42aef2(0x93)],_0x42aef2(0x69)))return{'success':!![],'message':_0x42aef2(0x94)};const _0x105287=_0x469c21[_0x42aef2(0x8b)]===!![],_0x12a2f1=(_0x469c21[_0x42aef2(0x72)]||DEFAULT_METHOD)['toUpperCase'](),_0xfd2f3f=_0x469c21['timeout']||DEFAULT_TIMEOUT,_0x25e3d7=_0x4c07e7['bqRqV'](resolveTemplateString,_0x469c21[_0x42aef2(0x6b)],_0x4dabfe),_0x118073=resolveUrl(_0x25e3d7,_0x4dabfe),_0xd49919=_0x469c21['body']?resolveTemplateVariables(_0x469c21['body'],_0x4dabfe):{},_0x53150a=_0x469c21['headers']?resolveTemplateVariables(_0x469c21['headers'],_0x4dabfe):{},_0x256952=_0x53150a&&(_0x53150a[_0x42aef2(0x6f)]!==undefined||_0x53150a[_0x42aef2(0x9b)]!==undefined),_0x45d078=!_0x256952&&_0x4dabfe&&_0x4dabfe[_0x42aef2(0x9f)]?{'Authorization':_0x4dabfe[_0x42aef2(0x9f)]}:{};try{const _0x5f04ac=await _0x4c07e7[_0x42aef2(0x7c)](axios,{'method':_0x12a2f1[_0x42aef2(0x76)](),'url':_0x118073,'data':_0xd49919,'headers':{'Content-Type':_0x4c07e7['iRDwF'],'User-Agent':_0x4c07e7['WNVGn'],..._0x45d078,..._0x53150a},'timeout':_0xfd2f3f});return console['log']('Workflow\x20hook\x20executed:\x20'+_0x12a2f1+'\x20'+_0x118073+_0x42aef2(0x6d)+_0x5f04ac['status']),{'success':!![],'message':'Hook\x20executed\x20successfully','status':_0x5f04ac[_0x42aef2(0x7e)],'url':_0x118073};}catch(_0x5345c5){const _0x50dd81=_0x5345c5['response']?_0x42aef2(0x80)+_0x5345c5['response']['status']+':\x20'+_0x5345c5[_0x42aef2(0x75)][_0x42aef2(0x7b)]:_0x5345c5['message'];console[_0x42aef2(0x95)](_0x42aef2(0x8d)+_0x12a2f1+'\x20'+_0x118073+'\x20→\x20'+_0x50dd81);if(_0x105287)return{'success':![],'message':'Blocking\x20hook\x20failed:\x20'+_0x50dd81,'error':_0x50dd81,'url':_0x118073};return console[_0x42aef2(0xa5)](_0x42aef2(0x9d)+_0x50dd81),{'success':!![],'message':_0x42aef2(0x9d)+_0x50dd81,'warning':_0x50dd81,'url':_0x118073};}}async function executeHooks(_0x35be9a,_0x3b0dbb){const _0x16bdc0=a0_0x268645,_0x5c8a5c={'xexIe':function(_0x4e1236,_0x4eb8e0){return _0x4e1236===_0x4eb8e0;},'dSKsv':_0x16bdc0(0xa2)};if(!_0x35be9a||!Array[_0x16bdc0(0x98)](_0x35be9a)||_0x5c8a5c['xexIe'](_0x35be9a[_0x16bdc0(0x86)],0x0))return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x54cb9f=[];for(const _0x124c7e of _0x35be9a){const _0x137c6f=await executeHook(_0x124c7e,_0x3b0dbb);_0x54cb9f[_0x16bdc0(0x6a)](_0x137c6f);if(!_0x137c6f[_0x16bdc0(0x91)])return{'success':![],'error':_0x137c6f['message']||_0x5c8a5c[_0x16bdc0(0x78)],'results':_0x54cb9f,'hooksExecuted':_0x54cb9f[_0x16bdc0(0x86)]};}return{'success':!![],'results':_0x54cb9f,'hooksExecuted':_0x54cb9f[_0x16bdc0(0x86)]};}module[a0_0x268645(0xa4)]={'resolveTemplateString':resolveTemplateString,'resolveTemplateVariables':resolveTemplateVariables,'resolveUrl':resolveUrl,'buildHookContext':buildHookContext,'executeHook':executeHook,'executeHooks':executeHooks};
1
+ const a0_0x2dd0c5=a0_0x169b;(function(_0x303ad2,_0x89442c){const _0x5a5415=a0_0x169b,_0x16d6f5=_0x303ad2();while(!![]){try{const _0x358c0d=parseInt(_0x5a5415(0x159))/0x1+parseInt(_0x5a5415(0x148))/0x2*(parseInt(_0x5a5415(0x139))/0x3)+parseInt(_0x5a5415(0x137))/0x4+parseInt(_0x5a5415(0x14c))/0x5+-parseInt(_0x5a5415(0x13a))/0x6+-parseInt(_0x5a5415(0x152))/0x7*(parseInt(_0x5a5415(0x12f))/0x8)+-parseInt(_0x5a5415(0x149))/0x9*(parseInt(_0x5a5415(0x13e))/0xa);if(_0x358c0d===_0x89442c)break;else _0x16d6f5['push'](_0x16d6f5['shift']());}catch(_0xd30586){_0x16d6f5['push'](_0x16d6f5['shift']());}}}(a0_0x3f03,0xbeba6));const axios=require(a0_0x2dd0c5(0x14a)),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD='POST',DEFAULT_HOST='localhost',DEFAULT_PORT=0xbb8;function resolveTemplateString(_0x174e21,_0x431eb6){const _0x44f30c=a0_0x2dd0c5,_0x1b00ba={'uBAKm':function(_0xf94a5e,_0x1a546a){return _0xf94a5e!==_0x1a546a;}};if(typeof _0x174e21!=='string')return _0x174e21;return _0x174e21[_0x44f30c(0x154)](/\{\{([^}]+)\}\}/g,(_0x34af50,_0x353d6a)=>{const _0x5c0326=_0x44f30c,_0x290c09=_0x353d6a[_0x5c0326(0x13d)](),_0x2bd6b5=getNestedValue(_0x431eb6,_0x290c09);if(_0x1b00ba[_0x5c0326(0x14f)](_0x2bd6b5,undefined)&&_0x1b00ba['uBAKm'](_0x2bd6b5,null))return typeof _0x2bd6b5==='object'?JSON[_0x5c0326(0x131)](_0x2bd6b5):String(_0x2bd6b5);return _0x34af50;});}function resolveTemplateVariables(_0xf9ba0b,_0x4c03ca){const _0x250eee=a0_0x2dd0c5,_0x4b1d6f={'qwNLL':function(_0x2e2645,_0x53187a){return _0x2e2645!==_0x53187a;},'IquJc':function(_0x463c8c,_0x4813d5){return _0x463c8c===_0x4813d5;},'hnSNY':_0x250eee(0x127)};if(typeof _0xf9ba0b==='string')return resolveTemplateString(_0xf9ba0b,_0x4c03ca);if(Array['isArray'](_0xf9ba0b))return _0xf9ba0b['map'](_0x77286=>resolveTemplateVariables(_0x77286,_0x4c03ca));if(_0x4b1d6f[_0x250eee(0x158)](_0xf9ba0b,null)&&_0x4b1d6f[_0x250eee(0x12a)](typeof _0xf9ba0b,_0x4b1d6f['hnSNY'])){const _0x3d08d5={};for(const [_0x52467d,_0x307cf2]of Object['entries'](_0xf9ba0b)){_0x3d08d5[_0x52467d]=resolveTemplateVariables(_0x307cf2,_0x4c03ca);}return _0x3d08d5;}return _0xf9ba0b;}function getNestedValue(_0x19e809,_0x5204f7){const _0x543363=a0_0x2dd0c5,_0x7bb719={'GiQPO':function(_0x229338,_0x2a2244){return _0x229338!==_0x2a2244;}};return _0x5204f7['split']('.')[_0x543363(0x129)]((_0x381a87,_0x36c2e7)=>{const _0x5caeb5=_0x543363;return _0x381a87&&_0x7bb719[_0x5caeb5(0x12e)](_0x381a87[_0x36c2e7],undefined)?_0x381a87[_0x36c2e7]:undefined;},_0x19e809);}function resolveUrl(_0x1b049f,_0x3ddce9){const _0xe9fdf3=a0_0x2dd0c5;if(!_0x1b049f||typeof _0x1b049f!=='string')return _0x1b049f;if(_0x1b049f['startsWith']('http://')||_0x1b049f[_0xe9fdf3(0x140)](_0xe9fdf3(0x136)))return _0x1b049f;const _0x295719=process[_0xe9fdf3(0x141)][_0xe9fdf3(0x15a)]||process[_0xe9fdf3(0x141)][_0xe9fdf3(0x156)]||DEFAULT_HOST,_0x26a5fa=process['env'][_0xe9fdf3(0x128)]||DEFAULT_PORT,_0x4c9e15=_0xe9fdf3(0x132)+_0x295719+':'+_0x26a5fa;if(_0x1b049f[_0xe9fdf3(0x140)]('/api/'))return''+_0x4c9e15+_0x1b049f;if(_0x1b049f[_0xe9fdf3(0x140)]('/')){const _0x4f7dd9=_0x3ddce9&&_0x3ddce9['project']||'';if(_0x4f7dd9)return _0x4c9e15+_0xe9fdf3(0x124)+_0x4f7dd9+_0x1b049f;return''+_0x4c9e15+_0x1b049f;}return _0x1b049f;}function a0_0x3f03(){const _0x5322d6=['CMvTyxjRCW','l2fWAs8','Bg9N','ALrtzhe','B2jQzwn0','ue9sva','CMvKDwnL','sxf1sMm','DhLWzq','sfruuca','zxHWB3j0CW','r2Lrue8','mtyWnZj1zMT4A0q','qMXVy2TPBMCGAg9VAYbMywLSzwq6ia','C3rYAw5NAwz5','Ahr0CdOVlW','yxbWBgLJyxrPB24VANnVBG','Dg9ju09tDhjPBMC','yM9KEq','Ahr0Chm6lY8','ndu4ntmYme9wtNb6Bq','y1Pgsu8','mtq5ntu5menZs052rG','mZC2ntmXmNPxsfrJsW','tM9UlwjSB2nRAw5NigHVB2SGzMfPBgvKicHPz25VCMvKktOG','AxnbCNjHEq','DhjPBq','ntmWyM5pBKrR','C3vJy2vZCW','C3rHCNrZv2L0Aa','zw52','iokgKIa','v29YA2zSB3CGAg9VAYbLEgvJDxrLzdOG','uMLjqvy','D2fYBG','BwvZC2fNzq','Dg9vChbLCKnHC2u','neX2yvvqyG','mZG3mdKWu1ntCurs','yxHPB3m','zMjkyLy','ndK0mta2mgjOD2rtrW','CMvZCg9UC2u','sg9VAYbLEgvJDxrLzcbZDwnJzxnZzNvSBhK','Dujbs20','yxbP','Bwv0Ag9K','mZiYn05fAvDksq','DxjS','CMvWBgfJzq','C3LZDgvT','se9tva','v29YA2zSB3CGAg9VAYbMywLSzwq6ia','CxDoteW','mtq4mJG1mxr4rNHQDa','u0vsvKvsx0ferfjfu1m'];a0_0x3f03=function(){return _0x5322d6;};return a0_0x3f03();}function buildHookContext(_0x560d82){const _0x21bafd=a0_0x2dd0c5;return{'id':_0x560d82['id']||'','newStatus':_0x560d82['newStatus']||'','oldStatus':_0x560d82['oldStatus']||'','remarks':_0x560d82[_0x21bafd(0x123)]||'','tableName':_0x560d82['tableName']||'','user_id':_0x560d82['userId']||_0x21bafd(0x155),'timestamp':new Date()[_0x21bafd(0x134)](),'record':_0x560d82['record']||{},'requestData':_0x560d82['requestData']||{},'project':_0x560d82['project']||'','authHeader':_0x560d82['authHeader']||null};}async function executeHook(_0x55f18e,_0x2d3b6a){const _0x4837aa=a0_0x2dd0c5,_0x2e4aab={'lTKuq':function(_0x1724ed,_0x49c900){return _0x1724ed!==_0x49c900;},'jTSdq':function(_0x1c3f21,_0x20b278,_0x2d12b5){return _0x1c3f21(_0x20b278,_0x2d12b5);},'cZFIO':function(_0x585724,_0x5737e4,_0x28b605){return _0x585724(_0x5737e4,_0x28b605);},'fbJbV':function(_0xf888ad,_0x44d94f,_0x9e09e4){return _0xf888ad(_0x44d94f,_0x9e09e4);},'RiIAV':function(_0x14f303,_0x41cdb2){return _0x14f303!==_0x41cdb2;}};if(!_0x55f18e||_0x2e4aab['lTKuq'](_0x55f18e[_0x4837aa(0x12b)],_0x4837aa(0x150)))return{'success':!![],'message':'Hook\x20skipped:\x20unsupported\x20type'};const _0x589d0c=_0x55f18e['blocking']===!![],_0x2e2151=(_0x55f18e[_0x4837aa(0x151)]||DEFAULT_METHOD)[_0x4837aa(0x147)](),_0x5925f1=_0x55f18e['timeout']||DEFAULT_TIMEOUT,_0x3483f4=_0x2e4aab[_0x4837aa(0x126)](resolveTemplateString,_0x55f18e[_0x4837aa(0x153)],_0x2d3b6a),_0x34f22a=_0x2e4aab[_0x4837aa(0x138)](resolveUrl,_0x3483f4,_0x2d3b6a),_0xd97c4f=_0x55f18e['body']?resolveTemplateVariables(_0x55f18e[_0x4837aa(0x135)],_0x2d3b6a):{},_0xaca14c=_0x55f18e['headers']?_0x2e4aab[_0x4837aa(0x14b)](resolveTemplateVariables,_0x55f18e['headers'],_0x2d3b6a):{},_0x1f8743=_0xaca14c&&(_0x2e4aab[_0x4837aa(0x144)](_0xaca14c['Authorization'],undefined)||_0xaca14c['authorization']!==undefined),_0x38ab84=!_0x1f8743&&_0x2d3b6a&&_0x2d3b6a['authHeader']?{'Authorization':_0x2d3b6a['authHeader']}:{};try{const _0xbae3b6=await axios({'method':_0x2e2151['toLowerCase'](),'url':_0x34f22a,'data':_0xd97c4f,'headers':{'Content-Type':_0x4837aa(0x133),'User-Agent':'RestForge-Workflow/1.0',..._0x38ab84,..._0xaca14c},'timeout':_0x5925f1});return console[_0x4837aa(0x125)](_0x4837aa(0x143)+_0x2e2151+'\x20'+_0x34f22a+'\x20→\x20'+_0xbae3b6['status']),{'success':!![],'message':_0x4837aa(0x14e),'status':_0xbae3b6['status'],'url':_0x34f22a};}catch(_0x1890a5){const _0x1644da=_0x1890a5[_0x4837aa(0x14d)]?_0x4837aa(0x12c)+_0x1890a5[_0x4837aa(0x14d)]['status']+':\x20'+_0x1890a5['response']['statusText']:_0x1890a5['message'];console['error'](_0x4837aa(0x157)+_0x2e2151+'\x20'+_0x34f22a+_0x4837aa(0x142)+_0x1644da);if(_0x589d0c)return{'success':![],'message':_0x4837aa(0x130)+_0x1644da,'error':_0x1644da,'url':_0x34f22a};return console[_0x4837aa(0x145)](_0x4837aa(0x13b)+_0x1644da),{'success':!![],'message':'Non-blocking\x20hook\x20failed\x20(ignored):\x20'+_0x1644da,'warning':_0x1644da,'url':_0x34f22a};}}async function executeHooks(_0x3ec2f3,_0x3a70d5){const _0x543e21=a0_0x2dd0c5,_0x498f26={'fosSU':'Hook\x20execution\x20failed'};if(!_0x3ec2f3||!Array[_0x543e21(0x13c)](_0x3ec2f3)||_0x3ec2f3['length']===0x0)return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x124abd=[];for(const _0x1e0b42 of _0x3ec2f3){const _0x1e48a9=await executeHook(_0x1e0b42,_0x3a70d5);_0x124abd['push'](_0x1e48a9);if(!_0x1e48a9[_0x543e21(0x13f)])return{'success':![],'error':_0x1e48a9[_0x543e21(0x146)]||_0x498f26['fosSU'],'results':_0x124abd,'hooksExecuted':_0x124abd['length']};}return{'success':!![],'results':_0x124abd,'hooksExecuted':_0x124abd['length']};}function a0_0x169b(_0x228f1e,_0x44bb28){_0x228f1e=_0x228f1e-0x123;const _0x3f031a=a0_0x3f03();let _0x169b17=_0x3f031a[_0x228f1e];if(a0_0x169b['aOyxNb']===undefined){var _0x36f7e6=function(_0x1b5cc4){const _0x578d38='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x41cbe1='',_0x174a3d='';for(let _0x3e9c0f=0x0,_0x319cb6,_0x571381,_0xc5dc50=0x0;_0x571381=_0x1b5cc4['charAt'](_0xc5dc50++);~_0x571381&&(_0x319cb6=_0x3e9c0f%0x4?_0x319cb6*0x40+_0x571381:_0x571381,_0x3e9c0f++%0x4)?_0x41cbe1+=String['fromCharCode'](0xff&_0x319cb6>>(-0x2*_0x3e9c0f&0x6)):0x0){_0x571381=_0x578d38['indexOf'](_0x571381);}for(let _0x1a608b=0x0,_0x38b2cc=_0x41cbe1['length'];_0x1a608b<_0x38b2cc;_0x1a608b++){_0x174a3d+='%'+('00'+_0x41cbe1['charCodeAt'](_0x1a608b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x174a3d);};a0_0x169b['Hpqwmu']=_0x36f7e6,a0_0x169b['whGHAR']={},a0_0x169b['aOyxNb']=!![];}const _0x453a5f=_0x3f031a[0x0],_0x144de8=_0x228f1e+_0x453a5f,_0x4f47aa=a0_0x169b['whGHAR'][_0x144de8];return!_0x4f47aa?(_0x169b17=a0_0x169b['Hpqwmu'](_0x169b17),a0_0x169b['whGHAR'][_0x144de8]=_0x169b17):_0x169b17=_0x4f47aa,_0x169b17;}module[a0_0x2dd0c5(0x12d)]={'resolveTemplateString':resolveTemplateString,'resolveTemplateVariables':resolveTemplateVariables,'resolveUrl':resolveUrl,'buildHookContext':buildHookContext,'executeHook':executeHook,'executeHooks':executeHooks};