@restforgejs/platform 5.1.4 → 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 (174) 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/data/pull.js +16 -7
  5. package/generators/cli/data/push.js +17 -7
  6. package/generators/cli/fast-track.js +63 -43
  7. package/generators/cli/init.js +347 -97
  8. package/generators/lib/data/data-scope.js +138 -0
  9. package/generators/lib/data/envelope.js +25 -9
  10. package/generators/lib/data/pull-runner.js +44 -37
  11. package/generators/lib/data/push-runner.js +64 -46
  12. package/generators/lib/templates/dashboard-catalog.js +1 -1
  13. package/generators/lib/templates/db-connection-env.js +1 -1
  14. package/generators/lib/templates/dbschema-catalog.js +1 -1
  15. package/generators/lib/templates/field-validation-catalog.js +1 -1
  16. package/generators/lib/templates/mysql-template.js +1 -1
  17. package/generators/lib/templates/oracle-template.js +1 -1
  18. package/generators/lib/templates/postgres-template.js +1 -1
  19. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  20. package/generators/lib/templates/sqlite-template.js +1 -1
  21. package/integrity-manifest.json +18 -18
  22. package/package.json +1 -1
  23. package/scripts/verify-integrity.js +1 -1
  24. package/server.js +1 -1
  25. package/src/components/handlers/adjust_handler.js +1 -1
  26. package/src/components/handlers/audit_handler.js +1 -1
  27. package/src/components/handlers/delete_handler.js +1 -1
  28. package/src/components/handlers/export_handler.js +1 -1
  29. package/src/components/handlers/import_handler.js +1 -1
  30. package/src/components/handlers/insert_handler.js +1 -1
  31. package/src/components/handlers/update_handler.js +1 -1
  32. package/src/components/handlers/upload_handler.js +1 -1
  33. package/src/components/handlers/workflow_handler.js +1 -1
  34. package/src/components/integrations/webhook.js +1 -1
  35. package/src/consumers/baseConsumer.js +1 -1
  36. package/src/consumers/declarativeMapper.js +1 -1
  37. package/src/consumers/handlers/apiHandler.js +1 -1
  38. package/src/consumers/handlers/consoleHandler.js +1 -1
  39. package/src/consumers/handlers/databaseHandler.js +1 -1
  40. package/src/consumers/handlers/index.js +1 -1
  41. package/src/consumers/handlers/kafkaHandler.js +1 -1
  42. package/src/consumers/index.js +1 -1
  43. package/src/consumers/messageTransformer.js +1 -1
  44. package/src/consumers/validator.js +1 -1
  45. package/src/core/db/dialect/base-dialect.js +1 -1
  46. package/src/core/db/dialect/index.js +1 -1
  47. package/src/core/db/dialect/mysql-dialect.js +1 -1
  48. package/src/core/db/dialect/oracle-dialect.js +1 -1
  49. package/src/core/db/dialect/postgres-dialect.js +1 -1
  50. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  51. package/src/core/db/flatten-helper.js +1 -1
  52. package/src/core/db/query-builder-error.js +1 -1
  53. package/src/core/db/query-builder.js +1 -1
  54. package/src/core/db/relation-helper.js +1 -1
  55. package/src/core/handlers/delete_handler.js +1 -1
  56. package/src/core/handlers/insert_handler.js +1 -1
  57. package/src/core/handlers/update_handler.js +1 -1
  58. package/src/core/models/base-model.js +1 -1
  59. package/src/core/utils/cache-manager.js +1 -1
  60. package/src/core/utils/component-engine.js +1 -1
  61. package/src/core/utils/context-builder.js +1 -1
  62. package/src/core/utils/datetime-formatter.js +1 -1
  63. package/src/core/utils/datetime-parser.js +1 -1
  64. package/src/core/utils/db.js +1 -1
  65. package/src/core/utils/logger.js +1 -1
  66. package/src/core/utils/payload-loader.js +1 -1
  67. package/src/core/utils/security-checks.js +1 -1
  68. package/src/middleware/body-options.js +1 -1
  69. package/src/middleware/cors.js +1 -1
  70. package/src/middleware/idempotency.js +1 -1
  71. package/src/middleware/rate-limiter.js +1 -1
  72. package/src/middleware/request-logger.js +1 -1
  73. package/src/middleware/security-headers.js +1 -1
  74. package/src/models/base-model-mysql.js +1 -1
  75. package/src/models/base-model-oracle.js +1 -1
  76. package/src/models/base-model-sqlite.js +1 -1
  77. package/src/models/base-model.js +1 -1
  78. package/src/pro/caching/redis-client.js +1 -1
  79. package/src/pro/caching/redis-helper.js +1 -1
  80. package/src/pro/consumers/baseConsumer.js +1 -1
  81. package/src/pro/consumers/declarativeMapper.js +1 -1
  82. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  83. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  84. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  85. package/src/pro/consumers/handlers/index.js +1 -1
  86. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  87. package/src/pro/consumers/index.js +1 -1
  88. package/src/pro/consumers/messageTransformer.js +1 -1
  89. package/src/pro/consumers/validator.js +1 -1
  90. package/src/pro/database/base-model-mysql.js +1 -1
  91. package/src/pro/database/base-model-oracle.js +1 -1
  92. package/src/pro/database/base-model-sqlite.js +1 -1
  93. package/src/pro/database/db-mysql.js +1 -1
  94. package/src/pro/database/db-oracle.js +1 -1
  95. package/src/pro/database/db-sqlite.js +1 -1
  96. package/src/pro/excel/excel-generator.js +1 -1
  97. package/src/pro/excel/excel-parser.js +1 -1
  98. package/src/pro/excel/export-service.js +1 -1
  99. package/src/pro/excel/export_handler.js +1 -1
  100. package/src/pro/excel/import-service.js +1 -1
  101. package/src/pro/excel/import-validator.js +1 -1
  102. package/src/pro/excel/import_handler.js +1 -1
  103. package/src/pro/excel/upsert-builder.js +1 -1
  104. package/src/pro/idgen/idgen-routes.js +1 -1
  105. package/src/pro/integrations/lookup-resolver.js +1 -1
  106. package/src/pro/integrations/upload-handler-v2.js +1 -1
  107. package/src/pro/integrations/upload-handler.js +1 -1
  108. package/src/pro/integrations/webhook.js +1 -1
  109. package/src/pro/locking/lock-routes.js +1 -1
  110. package/src/pro/locking/resource-lock-manager.js +1 -1
  111. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  112. package/src/pro/messaging/kafkaService.js +1 -1
  113. package/src/pro/messaging/messagehubService.js +1 -1
  114. package/src/pro/messaging/rabbitmqService.js +1 -1
  115. package/src/pro/scheduler/job-manager.js +1 -1
  116. package/src/pro/scheduler/job-routes.js +1 -1
  117. package/src/pro/scheduler/job-validator.js +1 -1
  118. package/src/pro/storage/base-storage-provider.js +1 -1
  119. package/src/pro/storage/file-metadata-helper.js +1 -1
  120. package/src/pro/storage/index.js +1 -1
  121. package/src/pro/storage/local-storage-provider.js +1 -1
  122. package/src/pro/storage/s3-storage-provider.js +1 -1
  123. package/src/pro/storage/upload-cleanup-job.js +1 -1
  124. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  125. package/src/pro/storage/upload-pending-tracker.js +1 -1
  126. package/src/pro/websocket/broadcast-helper.js +1 -1
  127. package/src/pro/websocket/index.js +1 -1
  128. package/src/pro/websocket/livesync-server.js +1 -1
  129. package/src/pro/websocket/ws-broadcaster.js +1 -1
  130. package/src/services/export-service.js +1 -1
  131. package/src/services/import-service.js +1 -1
  132. package/src/services/kafkaConsumerService.js +1 -1
  133. package/src/services/kafkaService.js +1 -1
  134. package/src/services/messagehubService.js +1 -1
  135. package/src/services/rabbitmqService.js +1 -1
  136. package/src/utils/cache-invalidation-registry.js +1 -1
  137. package/src/utils/cache-manager.js +1 -1
  138. package/src/utils/component-engine.js +1 -1
  139. package/src/utils/config-extractor.js +1 -1
  140. package/src/utils/consumerLogger.js +1 -1
  141. package/src/utils/context-builder.js +1 -1
  142. package/src/utils/dashboard-helpers.js +1 -1
  143. package/src/utils/dateHelper.js +1 -1
  144. package/src/utils/datetime-formatter.js +1 -1
  145. package/src/utils/datetime-parser.js +1 -1
  146. package/src/utils/db-bootstrap.js +1 -1
  147. package/src/utils/db-mysql.js +1 -1
  148. package/src/utils/db-oracle.js +1 -1
  149. package/src/utils/db-sqlite.js +1 -1
  150. package/src/utils/db.js +1 -1
  151. package/src/utils/demo-generator.js +1 -1
  152. package/src/utils/excel-generator.js +1 -1
  153. package/src/utils/excel-parser.js +1 -1
  154. package/src/utils/file-watcher.js +1 -1
  155. package/src/utils/id-generator.js +1 -1
  156. package/src/utils/idempotency-manager.js +1 -1
  157. package/src/utils/import-validator.js +1 -1
  158. package/src/utils/license-client.js +1 -1
  159. package/src/utils/lock-manager.js +1 -1
  160. package/src/utils/logger.js +1 -1
  161. package/src/utils/lookup-resolver.js +1 -1
  162. package/src/utils/payload-loader.js +1 -1
  163. package/src/utils/processor-response.js +1 -1
  164. package/src/utils/rabbitmq.js +1 -1
  165. package/src/utils/redis-client.js +1 -1
  166. package/src/utils/redis-helper.js +1 -1
  167. package/src/utils/request-scope.js +1 -1
  168. package/src/utils/security-checks.js +1 -1
  169. package/src/utils/service-resolver.js +1 -1
  170. package/src/utils/shutdown-coordinator.js +1 -1
  171. package/src/utils/trusted-keys.js +1 -1
  172. package/src/utils/upload-handler.js +1 -1
  173. package/src/utils/upsert-builder.js +1 -1
  174. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- function a0_0x4b05(_0x35d6e3,_0x54255e){_0x35d6e3=_0x35d6e3-0x9f;const _0x89c3ee=a0_0x89c3();let _0x4b0533=_0x89c3ee[_0x35d6e3];if(a0_0x4b05['anrWjT']===undefined){var _0x511f58=function(_0x48fb6d){const _0xbf7c78='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1552ba='',_0x50bf90='';for(let _0x45c682=0x0,_0x4ccfab,_0x32bc9d,_0x3b9043=0x0;_0x32bc9d=_0x48fb6d['charAt'](_0x3b9043++);~_0x32bc9d&&(_0x4ccfab=_0x45c682%0x4?_0x4ccfab*0x40+_0x32bc9d:_0x32bc9d,_0x45c682++%0x4)?_0x1552ba+=String['fromCharCode'](0xff&_0x4ccfab>>(-0x2*_0x45c682&0x6)):0x0){_0x32bc9d=_0xbf7c78['indexOf'](_0x32bc9d);}for(let _0x59cab3=0x0,_0x5de8e5=_0x1552ba['length'];_0x59cab3<_0x5de8e5;_0x59cab3++){_0x50bf90+='%'+('00'+_0x1552ba['charCodeAt'](_0x59cab3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x50bf90);};a0_0x4b05['ABbrpy']=_0x511f58,a0_0x4b05['hjfmhR']={},a0_0x4b05['anrWjT']=!![];}const _0x2bc0fd=_0x89c3ee[0x0],_0xad8a71=_0x35d6e3+_0x2bc0fd,_0x33118b=a0_0x4b05['hjfmhR'][_0xad8a71];return!_0x33118b?(_0x4b0533=a0_0x4b05['ABbrpy'](_0x4b0533),a0_0x4b05['hjfmhR'][_0xad8a71]=_0x4b0533):_0x4b0533=_0x33118b,_0x4b0533;}const a0_0x2f357d=a0_0x4b05;function a0_0x89c3(){const _0x589aa6=['mte4ody1n0rrEu1VEa','zxHWB3j0CW','mtyZntmWA1rHrvHV','yxbWBgLJyxrPB24VDM5KlM1Zlwv4y2vS','BwvZC2fNzq','Aw5MBW','x3vWBg9HzerPCG','s2zSCKO','oduZmJnsr0jnD1C','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','lNHSC3G','vgngELy','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','mJm0u0nmr0TJ','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','lI9SB2DNzxi','zxHPC3rZu3LUyW','mJblDhDsrha','Bwf4rMLSzvnPEMu','zxH0BMfTzq','Dw5SAw5R','nJmYmZi1nM9MELLoyG','q3rqrfC','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','AK11DLi','DxbSB2fKrgLY','lI4VlI4VDgvTCc91CgXVywrZlW','mtK4nvDYAw5fAq','Dg9tDhjPBMC','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','nta5mZC2mfPgEengAG','Aw5JBhvKzxm','Agv4','mtm4oda5oePmDgTLBG','C2LUz2XL','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','zgLZA1n0B3jHz2u','zw52','B3jPz2LUywXUyw1L','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','DxbSB2fKlq'];a0_0x89c3=function(){return _0x589aa6;};return a0_0x89c3();}(function(_0x4b93d0,_0x20c757){const _0x18c00e=a0_0x4b05,_0x431772=_0x4b93d0();while(!![]){try{const _0x18f645=-parseInt(_0x18c00e(0xc4))/0x1+-parseInt(_0x18c00e(0xba))/0x2+parseInt(_0x18c00e(0xc2))/0x3+-parseInt(_0x18c00e(0xaa))/0x4*(parseInt(_0x18c00e(0xb4))/0x5)+parseInt(_0x18c00e(0xa6))/0x6*(-parseInt(_0x18c00e(0xa1))/0x7)+parseInt(_0x18c00e(0xb7))/0x8+parseInt(_0x18c00e(0xae))/0x9;if(_0x18f645===_0x20c757)break;else _0x431772['push'](_0x431772['shift']());}catch(_0x162b81){_0x431772['push'](_0x431772['shift']());}}}(a0_0x89c3,0x61ccc));const multer=require('multer'),path=require('path'),crypto=require('crypto'),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require(a0_0x2f357d(0xa8));class UploadHandler{constructor(){this['_uploadDir']=null,this['maxFileSize']=0xa*0x400*0x400;}get[a0_0x2f357d(0xb2)](){const _0x110b66=a0_0x2f357d,_0x4bf591={'TcFzV':'default','yFkMk':'upload_handler_init','aceJk':_0x110b66(0xa2),'jMuvR':_0x110b66(0xa7),'CtPDW':'Failed\x20to\x20initialize\x20upload\x20handler'};if(!this[_0x110b66(0x9f)]){const _0x2adefc=process[_0x110b66(0xbe)][_0x110b66(0xb6)]||_0x4bf591[_0x110b66(0xa4)];this['_uploadDir']=process[_0x110b66(0xbe)]['UPLOAD_DIR']||path['join'](__dirname,_0x110b66(0xb3)+_0x2adefc);try{!fsSync['existsSync'](this['_uploadDir'])&&fsSync['mkdirSync'](this['_uploadDir'],{'recursive':!![]}),logger[_0x110b66(0xc7)]({'event':_0x4bf591['yFkMk'],'dir':this[_0x110b66(0x9f)]},_0x4bf591['aceJk']);}catch(_0x1cf73d){logger['error']({'event':_0x4bf591[_0x110b66(0xb1)],'error':_0x1cf73d[_0x110b66(0xc6)]},_0x4bf591[_0x110b66(0xaf)]);}}return this['_uploadDir'];}['getStorage'](){const _0x87fd5f=a0_0x2f357d;return multer[_0x87fd5f(0xbd)]({'destination':(_0x524617,_0x5ca85c,_0x5c0d45)=>{const _0x3357b6=_0x87fd5f;!fsSync[_0x3357b6(0xa9)](this['uploadDir'])&&fsSync['mkdirSync'](this['uploadDir'],{'recursive':!![]}),_0x5c0d45(null,this[_0x3357b6(0xb2)]);},'filename':(_0x5a187b,_0xec992d,_0x17c68c)=>{const _0x49a903=_0x87fd5f,_0x2fdcad=crypto['randomBytes'](0x8)[_0x49a903(0xb5)](_0x49a903(0xb9)),_0x432611=Date['now'](),_0x5c3f34=path[_0x49a903(0xac)](_0xec992d[_0x49a903(0xbf)]);_0x17c68c(null,_0x49a903(0xc1)+_0x432611+'-'+_0x2fdcad+_0x5c3f34);}});}['getUploadMiddleware'](){const _0x430be3=a0_0x2f357d,_0x1dc6e0={'ijHPk':_0x430be3(0xc5),'KflrJ':function(_0x1d3481,_0x216fd3,_0x397d6a){return _0x1d3481(_0x216fd3,_0x397d6a);},'vgrDX':function(_0x15b834,_0x3c2259){return _0x15b834(_0x3c2259);}};return _0x1dc6e0['vgrDX'](multer,{'storage':this['getStorage'](),'limits':{'fileSize':this[_0x430be3(0xab)],'files':0x1},'fileFilter':(_0x57d2c6,_0x5b99b2,_0x30fbbb)=>{const _0x335a25=_0x430be3,_0x50574a=[_0x335a25(0xc0),_0x1dc6e0['ijHPk']],_0x1111f2=[_0x335a25(0xa3),'.xls'],_0x4fcec8=path['extname'](_0x5b99b2['originalname'])['toLowerCase']();_0x50574a['includes'](_0x5b99b2['mimetype'])&&_0x1111f2[_0x335a25(0xb8)](_0x4fcec8)?_0x1dc6e0[_0x335a25(0xa0)](_0x30fbbb,null,!![]):_0x30fbbb(new Error(_0x335a25(0xbc)));}})[_0x430be3(0xbb)]('file');}async['deleteFile'](_0x4ec5a8){const _0x28fc7c=a0_0x2f357d,_0x375764={'KaUaE':'upload_file_delete_error','KGfFA':_0x28fc7c(0xb0)};try{await fs[_0x28fc7c(0xad)](_0x4ec5a8),logger['info']({'event':'upload_file_deleted','filePath':_0x4ec5a8},_0x28fc7c(0xa5));}catch(_0x270ef3){logger['error']({'event':_0x375764['KaUaE'],'filePath':_0x4ec5a8,'error':_0x270ef3[_0x28fc7c(0xc6)]},_0x375764['KGfFA']);}}}module[a0_0x2f357d(0xc3)]=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_0x5790d5=a0_0xbfd6;function a0_0x4083(){const _0x87dcb4=['BxLZCwW','mtuYoty4ogTlzeTxuG','su5trvjuiefmtaO','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','BwfW','zMLSDgvY','laOGicaGicaGia','zM9YBwf0qM9VBgvHBLzHBhvL','nte2ndmYnNLUuxvovG','cIaGicaGieLou0vsvcbjtLrpia','kqOGicaGicbwquXvrvmG','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','B0LJzwy','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHpCMfJBguGtuvsr0uP','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHnEvnrtcbptIbevvbmsunbveuGs0vzkq','zM9YBwf0rgf0zvzHBhvL','D3neEve','ChvZAa','zw52','cIaGica','AfvPu0u','u1fmu0vsvKvs','oJPeqvrf','ieftia','BgvUz3rO','cIaGicaGiezst00GkfzbtfvfuWOGicaGicaGia','ue9tveDsrvnrta','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','yM9VBgvHBG','cIaGicaGicKGDGOGicaGicbptIaO','n2DvDg9YAG','B3jHy2XL','yMf0y2HFAw5Zzxj0x2j1AwX0','t1jbq0Xf','C3fSC2vYDMvY','lcaNwvLzws1nts1ercCP','oJPct09mrufo','icbjtLrpia','yNLAsMW','yNvPBgrcyxrJAeLUC2vYDa','tLvmtdO6qK9ptevbtG','ieftierbveuP','z3DIreK','DhLWzq','kqOGicaGicbxsevsrsa','oteWmJe0oejjENLIta','ANPpEui','mMXOs3zYwG','CMnnA1K','AM9PBG','cIaGicaGie9oiervueXjq0fursblrvKGvvbeqvrfia','ieforca','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','zgvIDwC','vMPzDvu','yMf0y2HFDxbKyxrLx2j1AwX0','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','yNvPBgrcyxrJAfvWzgf0zq','icaGifnftevdvca','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','rMHwvue','tLvmta','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','id0GDI4','z2v0rgf0ywjHC2vuExbL','txnYuKq','zxHWB3j0CW','rMPPuM0','ihqkicaGicaGvvnjtKCGkaO','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','mtbfBwzTDfm','cIaGicbvtKLptIbbteWk','u1fmsvrf','sfzJv3m','C3fSAxrL','Aw5JBhvKzxm','mtyWmdG5mMvhsxjVEG','yNvPBgrfC2nHCgvgDw5JDgLVBG','y2H1BMTsB3DZ','ndCXntu0n3nRs1bjEG','ruvMt3G','BNvTyMvY','laOGicaGicaG','D2fYBG','laOGicaGicaGica','id0GvKfmvuvtka','Aw52ywXPzf9KyL90ExbL','Cg9ZDgDYzxnXBa','C2XPy2u','ieftihqkicaGicaGu0vuia','nNjjyxzIsa','reLWtwq','nZKWmJqZuvzmy1rY','zgf0zq','tvLtuuW','wef3t0O','C0vSvMe','CMvWBgfJzq','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','C3rYAw5N','odG4mdK2nvrOAe1Msq'];a0_0x4083=function(){return _0x87dcb4;};return a0_0x4083();}(function(_0x1dbe5d,_0x1be790){const _0x2af583=a0_0xbfd6,_0x1ca26e=_0x1dbe5d();while(!![]){try{const _0x1a6924=-parseInt(_0x2af583(0x1fc))/0x1*(-parseInt(_0x2af583(0x1cf))/0x2)+parseInt(_0x2af583(0x1ef))/0x3+parseInt(_0x2af583(0x1ec))/0x4+-parseInt(_0x2af583(0x204))/0x5*(parseInt(_0x2af583(0x1fa))/0x6)+parseInt(_0x2af583(0x1be))/0x7*(parseInt(_0x2af583(0x206))/0x8)+parseInt(_0x2af583(0x20d))/0x9*(parseInt(_0x2af583(0x1e6))/0xa)+-parseInt(_0x2af583(0x1cd))/0xb;if(_0x1a6924===_0x1be790)break;else _0x1ca26e['push'](_0x1ca26e['shift']());}catch(_0x5e152a){_0x1ca26e['push'](_0x1ca26e['shift']());}}}(a0_0x4083,0xe181f));const {logger}=require('./logger'),DB_TYPES={'POSTGRESQL':a0_0x5790d5(0x1f7),'MYSQL':'mysql','SQLSERVER':a0_0x5790d5(0x1c2),'ORACLE':a0_0x5790d5(0x1bf),'SQLITE':a0_0x5790d5(0x1ea)};class UpsertBuilder{['getDatabaseType'](){const _0x1c9f01=a0_0x5790d5,_0x5be6bd={'OGHpQ':_0x1c9f01(0x1f7)},_0x3ac8be=(process[_0x1c9f01(0x1b2)]['DB_TYPE']||_0x1c9f01(0x1f7))['toLowerCase'](),_0x38feb8=Object['values'](DB_TYPES);if(!_0x38feb8['includes'](_0x3ac8be))return logger['warn']({'event':_0x1c9f01(0x1f6),'provided':_0x3ac8be,'fallback':_0x5be6bd['OGHpQ']},'Invalid\x20DB_TYPE:\x20'+_0x3ac8be+'.\x20Falling\x20back\x20to\x20postgresql.'),DB_TYPES[_0x1c9f01(0x1ba)];return _0x3ac8be;}['formatDateValue'](_0x3f20d3,_0x3f4b3c,_0x508395=![]){const _0x474939=a0_0x5790d5,_0xd81ca0={'gEqXg':_0x474939(0x1dd),'rcMkY':'NULL::DATE'};if(_0x508395)switch(_0x3f4b3c){case DB_TYPES['POSTGRESQL']:return'NULL::DATE';case DB_TYPES['MYSQL']:return'NULL';case DB_TYPES[_0x474939(0x1e8)]:return _0xd81ca0['gEqXg'];case DB_TYPES[_0x474939(0x1b5)]:return _0xd81ca0['gEqXg'];case DB_TYPES[_0x474939(0x1c1)]:return'NULL';default:return _0xd81ca0[_0x474939(0x1d0)];}switch(_0x3f4b3c){case DB_TYPES[_0x474939(0x1ba)]:return _0x3f20d3+_0x474939(0x1b6);case DB_TYPES[_0x474939(0x1fe)]:return _0x3f20d3;case DB_TYPES[_0x474939(0x1e8)]:return _0x3f20d3;case DB_TYPES['SQLSERVER']:return'CAST('+_0x3f20d3+_0x474939(0x1c9);case DB_TYPES['ORACLE']:return'TO_DATE('+_0x3f20d3+_0x474939(0x1c3);default:return _0x3f20d3+'::DATE';}}['formatBooleanValue'](_0x3db035,_0x514788,_0x118890=![]){const _0x208958=a0_0x5790d5,_0x138e00={'FhVUA':_0x208958(0x1c8),'hUiSE':'NULL'};if(_0x118890)switch(_0x514788){case DB_TYPES[_0x208958(0x1ba)]:return _0x138e00[_0x208958(0x1dc)];default:return _0x138e00[_0x208958(0x1b4)];}switch(_0x514788){case DB_TYPES[_0x208958(0x1ba)]:return _0x3db035+'::BOOLEAN';case DB_TYPES['ORACLE']:return _0x3db035;case DB_TYPES[_0x208958(0x1fe)]:return _0x3db035;case DB_TYPES['SQLITE']:return _0x3db035;case DB_TYPES['SQLSERVER']:return'CAST('+_0x3db035+'\x20AS\x20BIT)';default:return _0x3db035+_0x208958(0x1c4);}}['buildEscapeFunction'](_0x52892b={}){const _0x58f3f8=a0_0x5790d5,_0x5894ad={'MsrRD':function(_0x3911e1,_0x15e157){return _0x3911e1===_0x15e157;},'byZJl':function(_0x2922c0,_0x55deef){return _0x2922c0===_0x55deef;},'FjiRm':_0x58f3f8(0x1fd),'MhHfe':function(_0x289da9,_0x42ee0e){return _0x289da9===_0x42ee0e;}},_0x356291=this['getDatabaseType']();return(_0xd01aba,_0x3b46a1)=>{const _0x3bbd60=_0x58f3f8,_0x1ec01d=_0x52892b[_0x3b46a1];if(_0x5894ad[_0x3bbd60(0x1e1)](_0xd01aba,null)||_0xd01aba===undefined){if(_0x1ec01d&&_0x5894ad['byZJl'](_0x1ec01d['type'],_0x5894ad['FjiRm']))return this['formatDateValue'](null,_0x356291,!![]);if(_0x1ec01d&&_0x1ec01d['type']===_0x3bbd60(0x1bc))return this[_0x3bbd60(0x20c)](null,_0x356291,!![]);return'NULL';}if(_0x5894ad[_0x3bbd60(0x1c6)](typeof _0xd01aba,_0x3bbd60(0x203))){const _0x300cdd='\x27'+_0xd01aba[_0x3bbd60(0x201)](/'/g,'\x27\x27')+'\x27';if(_0x1ec01d&&_0x5894ad[_0x3bbd60(0x1c6)](_0x1ec01d[_0x3bbd60(0x1cb)],_0x5894ad[_0x3bbd60(0x1e3)]))return this['formatDateValue'](_0x300cdd,_0x356291,![]);if(_0x1ec01d&&_0x5894ad['MhHfe'](_0x1ec01d[_0x3bbd60(0x1cb)],_0x3bbd60(0x1bc)))return this[_0x3bbd60(0x20c)](_0x300cdd,_0x356291,![]);return _0x300cdd;}if(typeof _0xd01aba===_0x3bbd60(0x1f1))return _0xd01aba;if(typeof _0xd01aba==='boolean')return _0xd01aba;const _0x5c53d3='\x27'+String(_0xd01aba)[_0x3bbd60(0x201)](/'/g,'\x27\x27')+'\x27';if(_0x1ec01d&&_0x1ec01d[_0x3bbd60(0x1cb)]==='date')return this[_0x3bbd60(0x1af)](_0x5c53d3,_0x356291,![]);return _0x5c53d3;};}[a0_0x5790d5(0x1c7)](_0x4e1caf,_0x594a21,_0x5f349c,_0x232ef8={}){const _0x1199f5=a0_0x5790d5,_0x12ba8f=this[_0x1199f5(0x1e0)]();if(_0x12ba8f===DB_TYPES['ORACLE'])return this['_buildBatchInsertOracle'](_0x4e1caf,_0x594a21,_0x5f349c,_0x232ef8);return this[_0x1199f5(0x1bb)](_0x4e1caf,_0x594a21,_0x5f349c,_0x232ef8);}['_buildBatchInsertPostgres'](_0x5c638e,_0x6a2ea6,_0x59179a,_0x151660={}){const _0xc03eb8=a0_0x5790d5,_0x2cd2ad={'DIpMd':function(_0xfbf36,_0x47f68a){return _0xfbf36===_0x47f68a;}};if(_0x2cd2ad[_0xc03eb8(0x1fb)](_0x5c638e[_0xc03eb8(0x1b8)],0x0))return{'query':null,'values':[]};const _0x4175c5=this['buildEscapeFunction'](_0x151660),_0x3976b0=_0x5c638e['map'](_0x33a60f=>{const _0xf8b2a9=_0xc03eb8,_0x5b4944=_0x59179a[_0xf8b2a9(0x209)](_0x55ff46=>_0x4175c5(_0x33a60f[_0x55ff46],_0x55ff46));return'('+_0x5b4944[_0xf8b2a9(0x1d1)](',\x20')+')';}),_0x564cab=_0xc03eb8(0x1a9)+_0x6a2ea6+'\x20('+_0x59179a[_0xc03eb8(0x1d1)](',\x20')+_0xc03eb8(0x1aa)+_0x3976b0['join'](_0xc03eb8(0x1f2))+'\x0a\x20\x20\x20\x20';return logger[_0xc03eb8(0x1d5)]({'event':_0xc03eb8(0x1c0),'tableName':_0x6a2ea6,'rowCount':_0x5c638e['length'],'dbType':_0xc03eb8(0x1f7)},_0xc03eb8(0x208)),{'query':_0x564cab,'values':[]};}[a0_0x5790d5(0x202)](_0x20bf79,_0x6d6860,_0x345826,_0x5d2e07={}){const _0x5b1feb=a0_0x5790d5,_0x20cbbf={'fSlWT':_0x5b1feb(0x1c0),'NOnbz':'oracle'};if(_0x20bf79['length']===0x0)return{'query':null,'values':[]};const _0x146bf6=this['buildEscapeFunction'](_0x5d2e07),_0x1d35a4=_0x20bf79['map'](_0x279735=>{const _0x4883d6=_0x5b1feb,_0x12ab1a=_0x345826['map'](_0x47273e=>_0x146bf6(_0x279735[_0x47273e],_0x47273e));return _0x4883d6(0x1c5)+_0x6d6860+'\x20('+_0x345826['join'](',\x20')+')\x20VALUES\x20('+_0x12ab1a['join'](',\x20')+')';}),_0xad9a19=_0x5b1feb(0x207)+_0x1d35a4[_0x5b1feb(0x1d1)]('\x0a')+'\x0aSELECT\x201\x20FROM\x20DUAL';return logger[_0x5b1feb(0x1d5)]({'event':_0x20cbbf['fSlWT'],'tableName':_0x6d6860,'rowCount':_0x20bf79['length'],'dbType':_0x20cbbf['NOnbz']},'Batch\x20INSERT\x20query\x20built\x20(Oracle)'),{'query':_0xad9a19,'values':[]};}[a0_0x5790d5(0x1d9)](_0x378189,_0x422228,_0x32b1de,_0x169948,_0x265055,_0x71da07={}){const _0xb96c7d=a0_0x5790d5,_0x45b177=this['getDatabaseType']();if(_0x45b177===DB_TYPES[_0xb96c7d(0x1c1)])return this['_buildBatchUpdateOracle'](_0x378189,_0x422228,_0x32b1de,_0x169948,_0x265055,_0x71da07);if(_0x45b177===DB_TYPES[_0xb96c7d(0x1fe)])return this[_0xb96c7d(0x1d8)](_0x378189,_0x422228,_0x32b1de,_0x169948,_0x265055,_0x71da07);return this[_0xb96c7d(0x1db)](_0x378189,_0x422228,_0x32b1de,_0x169948,_0x265055,_0x71da07);}['_buildBatchUpdatePostgres'](_0x13d559,_0x468a23,_0xf4f82f,_0x314d6a,_0x238f77,_0x23d8c0={}){const _0x4e615b=a0_0x5790d5,_0x412fd4={'sElVa':function(_0x3551b2,_0x5989d0){return _0x3551b2===_0x5989d0;},'gwbDI':'batch_update_no_columns','wsDyQ':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20','IoqHl':_0x4e615b(0x1f7),'cODmM':_0x4e615b(0x1d4)};if(_0x412fd4['sElVa'](_0x13d559['length'],0x0))return{'query':null,'values':[]};const _0x4fbd09=this[_0x4e615b(0x1ed)](_0x23d8c0),_0x49b913=_0xf4f82f['filter'](_0x34813f=>!_0x238f77['includes'](_0x34813f)&&_0x34813f!==_0x314d6a);if(_0x412fd4[_0x4e615b(0x200)](_0x49b913['length'],0x0))return logger[_0x4e615b(0x1f3)]({'event':_0x412fd4[_0x4e615b(0x1ca)],'tableName':_0x468a23},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x1db269=_0x13d559[_0x4e615b(0x209)](_0x562605=>{const _0x58bc82=[..._0x238f77,..._0x49b913],_0x4a7549=_0x58bc82['map'](_0x3f7468=>_0x4fbd09(_0x562605[_0x3f7468],_0x3f7468));return'('+_0x4a7549['join'](',\x20')+')';}),_0x53f1fe=_0x49b913[_0x4e615b(0x209)](_0x15b3de=>_0x15b3de+'\x20=\x20v.'+_0x15b3de)[_0x4e615b(0x1d1)](_0x4e615b(0x1f4)),_0x27819a=_0x238f77['map'](_0x2a7284=>'t.'+_0x2a7284+_0x4e615b(0x1df)+_0x2a7284)['join'](_0x4e615b(0x1d3)),_0x4686ad='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x468a23+_0x4e615b(0x1f9)+_0x53f1fe+_0x4e615b(0x1b9)+_0x1db269['join'](_0x412fd4[_0x4e615b(0x1b0)])+'\x0a\x20\x20\x20\x20\x20\x20)\x20AS\x20v('+[..._0x238f77,..._0x49b913]['join'](',\x20')+_0x4e615b(0x1cc)+_0x27819a+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':'batch_update_built','tableName':_0x468a23,'rowCount':_0x13d559[_0x4e615b(0x1b8)],'updateColumns':_0x49b913['length'],'dbType':_0x412fd4['IoqHl']},_0x412fd4['cODmM']),{'query':_0x4686ad,'values':[]};}[a0_0x5790d5(0x1e5)](_0x226246,_0x415e37,_0x3ace31,_0x3309b2,_0x36a584,_0x5bbec1={}){const _0x25a689=a0_0x5790d5,_0x2fbbe7={'HVcWs':function(_0x4c6bb1,_0x2f8965){return _0x4c6bb1===_0x2f8965;},'uyURF':function(_0xbaa36,_0x1c2588){return _0xbaa36===_0x1c2588;},'XAwOJ':_0x25a689(0x1d3),'oIcef':'oracle'};if(_0x2fbbe7['uyURF'](_0x226246[_0x25a689(0x1b8)],0x0))return{'query':null,'values':[]};const _0x1238a4=this[_0x25a689(0x1ed)](_0x5bbec1),_0x37dd51=_0x3ace31['filter'](_0x86c786=>!_0x36a584[_0x25a689(0x1eb)](_0x86c786)&&_0x86c786!==_0x3309b2);if(_0x2fbbe7['HVcWs'](_0x37dd51[_0x25a689(0x1b8)],0x0))return logger[_0x25a689(0x1f3)]({'event':'batch_update_no_columns','tableName':_0x415e37},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x2ff27c=[..._0x36a584,..._0x37dd51],_0x203165=_0x226246[_0x25a689(0x209)]((_0x53faff,_0x120c11)=>{const _0x649090=_0x25a689,_0x57ea62={'OeTsa':function(_0x59f536,_0xcc84e3){const _0x3209e6=a0_0xbfd6;return _0x2fbbe7[_0x3209e6(0x1e9)](_0x59f536,_0xcc84e3);}},_0x4778df=_0x2ff27c['map'](_0x76a626=>{const _0x3a593b=a0_0xbfd6,_0x44385b=_0x1238a4(_0x53faff[_0x76a626],_0x76a626);return _0x57ea62['OeTsa'](_0x120c11,0x0)?_0x44385b+_0x3a593b(0x1b7)+_0x76a626:_0x44385b;});return _0x649090(0x1da)+_0x4778df['join'](',\x20')+'\x20FROM\x20DUAL';}),_0x23d552=_0x37dd51[_0x25a689(0x209)](_0x31621b=>'t.'+_0x31621b+_0x25a689(0x1df)+_0x31621b)['join'](_0x25a689(0x1f4)),_0x10a385=_0x36a584[_0x25a689(0x209)](_0x480287=>'t.'+_0x480287+'\x20=\x20v.'+_0x480287)['join'](_0x2fbbe7[_0x25a689(0x1ff)]),_0x28740e='\x0a\x20\x20\x20\x20\x20\x20MERGE\x20INTO\x20'+_0x415e37+_0x25a689(0x1e4)+_0x203165['join'](_0x25a689(0x1e7))+_0x25a689(0x1bd)+_0x10a385+')\x0a\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x20'+_0x23d552+_0x25a689(0x1b3);return logger[_0x25a689(0x1d5)]({'event':'batch_update_built','tableName':_0x415e37,'rowCount':_0x226246[_0x25a689(0x1b8)],'updateColumns':_0x37dd51[_0x25a689(0x1b8)],'dbType':_0x2fbbe7[_0x25a689(0x1ac)]},_0x25a689(0x1ad)),{'query':_0x28740e,'values':[]};}[a0_0x5790d5(0x1d8)](_0x574150,_0x304392,_0x1b0269,_0x501264,_0x26b48b,_0x48c7d8={}){const _0x145927=a0_0x5790d5,_0x173405={'jzOyB':_0x145927(0x1de),'VjYuU':_0x145927(0x1ab),'EEfOx':_0x145927(0x205),'DVapO':_0x145927(0x1ae)};if(_0x574150[_0x145927(0x1b8)]===0x0)return{'query':null,'values':[]};const _0x4260a6=this['buildEscapeFunction'](_0x48c7d8),_0x3d97ee=_0x1b0269[_0x145927(0x20a)](_0x15c2a7=>!_0x26b48b[_0x145927(0x1eb)](_0x15c2a7)&&_0x15c2a7!==_0x501264);if(_0x3d97ee[_0x145927(0x1b8)]===0x0)return logger[_0x145927(0x1f3)]({'event':_0x173405[_0x145927(0x1ce)],'tableName':_0x304392},_0x173405[_0x145927(0x1d6)]),{'query':null,'values':[]};const _0x16bb5c=[...new Set([..._0x26b48b,..._0x3d97ee])],_0xda9e9c=_0x574150['map'](_0x176cbe=>{const _0x2f189d=_0x145927,_0x523df3=_0x16bb5c['map'](_0x5a0695=>_0x4260a6(_0x176cbe[_0x5a0695],_0x5a0695));return'('+_0x523df3[_0x2f189d(0x1d1)](',\x20')+')';}),_0x2b0cdf=_0x3d97ee['map'](_0x2338d2=>_0x2338d2+_0x145927(0x1f5)+_0x2338d2+')')['join'](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20'),_0xc243d7='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x304392+'\x20('+_0x16bb5c['join'](',\x20')+_0x145927(0x1aa)+_0xda9e9c['join'](_0x145927(0x20b))+_0x145927(0x1d2)+_0x2b0cdf+'\x0a\x20\x20\x20\x20';return logger[_0x145927(0x1d5)]({'event':_0x145927(0x1d7),'tableName':_0x304392,'rowCount':_0x574150['length'],'updateColumns':_0x3d97ee['length'],'dbType':_0x173405[_0x145927(0x1f0)]},_0x173405['DVapO']),{'query':_0xc243d7,'values':[]};}[a0_0x5790d5(0x1ee)](_0x1f8b22,_0xf8b8ed=0x64){const _0x4be4e4=a0_0x5790d5,_0x58ff40={'YYPth':function(_0x612d5b,_0x5b846f){return _0x612d5b+_0x5b846f;}},_0xefc5d5=[];for(let _0x5ccffa=0x0;_0x5ccffa<_0x1f8b22[_0x4be4e4(0x1b8)];_0x5ccffa+=_0xf8b8ed){_0xefc5d5[_0x4be4e4(0x1b1)](_0x1f8b22[_0x4be4e4(0x1f8)](_0x5ccffa,_0x58ff40['YYPth'](_0x5ccffa,_0xf8b8ed)));}return _0xefc5d5;}}function a0_0xbfd6(_0x4cc9dc,_0x491c54){_0x4cc9dc=_0x4cc9dc-0x1a9;const _0x40838d=a0_0x4083();let _0xbfd625=_0x40838d[_0x4cc9dc];if(a0_0xbfd6['AVrXVF']===undefined){var _0x150378=function(_0x402b6c){const _0x531057='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x19cceb='',_0x1f7c45='';for(let _0x11cffe=0x0,_0x117711,_0x4798e4,_0xfb3529=0x0;_0x4798e4=_0x402b6c['charAt'](_0xfb3529++);~_0x4798e4&&(_0x117711=_0x11cffe%0x4?_0x117711*0x40+_0x4798e4:_0x4798e4,_0x11cffe++%0x4)?_0x19cceb+=String['fromCharCode'](0xff&_0x117711>>(-0x2*_0x11cffe&0x6)):0x0){_0x4798e4=_0x531057['indexOf'](_0x4798e4);}for(let _0x1e691b=0x0,_0x322dec=_0x19cceb['length'];_0x1e691b<_0x322dec;_0x1e691b++){_0x1f7c45+='%'+('00'+_0x19cceb['charCodeAt'](_0x1e691b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f7c45);};a0_0xbfd6['PAYwfc']=_0x150378,a0_0xbfd6['CHSgaM']={},a0_0xbfd6['AVrXVF']=!![];}const _0x43f287=_0x40838d[0x0],_0x2298f2=_0x4cc9dc+_0x43f287,_0x1f4520=a0_0xbfd6['CHSgaM'][_0x2298f2];return!_0x1f4520?(_0xbfd625=a0_0xbfd6['PAYwfc'](_0xbfd625),a0_0xbfd6['CHSgaM'][_0x2298f2]=_0xbfd625):_0xbfd625=_0x1f4520,_0xbfd625;}module[a0_0x5790d5(0x1e2)]=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
- function a0_0x1134(_0x2b72cc,_0x37e30d){_0x2b72cc=_0x2b72cc-0x12c;const _0x43d2db=a0_0x43d2();let _0x1134a8=_0x43d2db[_0x2b72cc];if(a0_0x1134['XZcivY']===undefined){var _0x3e83a1=function(_0x2d8bd0){const _0x38fa38='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x285a8d='',_0x58485f='';for(let _0x1ac9fb=0x0,_0x9c7bf0,_0x50ad6f,_0x2e0ae4=0x0;_0x50ad6f=_0x2d8bd0['charAt'](_0x2e0ae4++);~_0x50ad6f&&(_0x9c7bf0=_0x1ac9fb%0x4?_0x9c7bf0*0x40+_0x50ad6f:_0x50ad6f,_0x1ac9fb++%0x4)?_0x285a8d+=String['fromCharCode'](0xff&_0x9c7bf0>>(-0x2*_0x1ac9fb&0x6)):0x0){_0x50ad6f=_0x38fa38['indexOf'](_0x50ad6f);}for(let _0x289f42=0x0,_0x5c9369=_0x285a8d['length'];_0x289f42<_0x5c9369;_0x289f42++){_0x58485f+='%'+('00'+_0x285a8d['charCodeAt'](_0x289f42)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x58485f);};a0_0x1134['igmsZb']=_0x3e83a1,a0_0x1134['IGByQf']={},a0_0x1134['XZcivY']=!![];}const _0x14d47d=_0x43d2db[0x0],_0xaf31cc=_0x2b72cc+_0x14d47d,_0x49c617=a0_0x1134['IGByQf'][_0xaf31cc];return!_0x49c617?(_0x1134a8=a0_0x1134['igmsZb'](_0x1134a8),a0_0x1134['IGByQf'][_0xaf31cc]=_0x1134a8):_0x1134a8=_0x49c617,_0x1134a8;}const a0_0x49d154=a0_0x1134;(function(_0x57d341,_0x32f598){const _0x38483e=a0_0x1134,_0x26f1d0=_0x57d341();while(!![]){try{const _0x511f78=-parseInt(_0x38483e(0x14e))/0x1*(-parseInt(_0x38483e(0x13a))/0x2)+-parseInt(_0x38483e(0x148))/0x3*(parseInt(_0x38483e(0x13f))/0x4)+parseInt(_0x38483e(0x160))/0x5*(parseInt(_0x38483e(0x141))/0x6)+parseInt(_0x38483e(0x14f))/0x7+-parseInt(_0x38483e(0x163))/0x8+-parseInt(_0x38483e(0x158))/0x9*(parseInt(_0x38483e(0x159))/0xa)+parseInt(_0x38483e(0x13e))/0xb*(parseInt(_0x38483e(0x155))/0xc);if(_0x511f78===_0x32f598)break;else _0x26f1d0['push'](_0x26f1d0['shift']());}catch(_0x5814bd){_0x26f1d0['push'](_0x26f1d0['shift']());}}}(a0_0x43d2,0xcccf6));const axios=require(a0_0x49d154(0x138)),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD='POST',DEFAULT_HOST='localhost',DEFAULT_PORT=0xbb8;function resolveTemplateString(_0x2b7b99,_0x58d445){const _0x571a0f=a0_0x49d154,_0x2ef28c={'gupBn':function(_0x2e95a2,_0x32cdc8){return _0x2e95a2!==_0x32cdc8;},'QDtyJ':function(_0xb36cfb,_0x5da835){return _0xb36cfb!==_0x5da835;},'XWvSw':_0x571a0f(0x12d),'NGxDD':function(_0x58fa6a,_0x57f441){return _0x58fa6a(_0x57f441);},'JDVGL':'string'};if(typeof _0x2b7b99!==_0x2ef28c[_0x571a0f(0x13c)])return _0x2b7b99;return _0x2b7b99['replace'](/\{\{([^}]+)\}\}/g,(_0x4f9837,_0x53a75a)=>{const _0x441e86=_0x571a0f,_0x32e33d=_0x53a75a[_0x441e86(0x157)](),_0x2aec86=getNestedValue(_0x58d445,_0x32e33d);if(_0x2ef28c[_0x441e86(0x147)](_0x2aec86,undefined)&&_0x2ef28c['QDtyJ'](_0x2aec86,null))return typeof _0x2aec86===_0x2ef28c['XWvSw']?JSON['stringify'](_0x2aec86):_0x2ef28c[_0x441e86(0x14c)](String,_0x2aec86);return _0x4f9837;});}function resolveTemplateVariables(_0x309185,_0x5663c2){const _0x37dbc7=a0_0x49d154,_0x50ba75={'VyQDm':function(_0x15ae4e,_0xafaa71,_0x2fe9b7){return _0x15ae4e(_0xafaa71,_0x2fe9b7);},'obyZa':function(_0xbf4cba,_0x45fb88){return _0xbf4cba===_0x45fb88;}};if(typeof _0x309185==='string')return _0x50ba75[_0x37dbc7(0x142)](resolveTemplateString,_0x309185,_0x5663c2);if(Array[_0x37dbc7(0x152)](_0x309185))return _0x309185[_0x37dbc7(0x13d)](_0x50ab7e=>resolveTemplateVariables(_0x50ab7e,_0x5663c2));if(_0x309185!==null&&_0x50ba75[_0x37dbc7(0x13b)](typeof _0x309185,_0x37dbc7(0x12d))){const _0x29f290={};for(const [_0x4aa2e8,_0x2c834a]of Object['entries'](_0x309185)){_0x29f290[_0x4aa2e8]=resolveTemplateVariables(_0x2c834a,_0x5663c2);}return _0x29f290;}return _0x309185;}function getNestedValue(_0x2a75f0,_0x29a8e3){const _0x4d7aa8={'XJHVc':function(_0x33d5f7,_0x58c780){return _0x33d5f7!==_0x58c780;}};return _0x29a8e3['split']('.')['reduce']((_0x31319c,_0x4863df)=>{return _0x31319c&&_0x4d7aa8['XJHVc'](_0x31319c[_0x4863df],undefined)?_0x31319c[_0x4863df]:undefined;},_0x2a75f0);}function resolveUrl(_0x3e8385,_0xf7a710){const _0x1fd276=a0_0x49d154,_0x154f4a={'yhQBc':'string'};if(!_0x3e8385||typeof _0x3e8385!==_0x154f4a[_0x1fd276(0x12f)])return _0x3e8385;if(_0x3e8385['startsWith'](_0x1fd276(0x132))||_0x3e8385[_0x1fd276(0x161)](_0x1fd276(0x162)))return _0x3e8385;const _0x447094=process['env'][_0x1fd276(0x15a)]||process[_0x1fd276(0x15c)]['HOST']||DEFAULT_HOST,_0x2fcb2c=process[_0x1fd276(0x15c)][_0x1fd276(0x149)]||DEFAULT_PORT,_0x420b65='http://'+_0x447094+':'+_0x2fcb2c;if(_0x3e8385[_0x1fd276(0x161)](_0x1fd276(0x139)))return''+_0x420b65+_0x3e8385;if(_0x3e8385[_0x1fd276(0x161)]('/')){const _0xde4185=_0xf7a710&&_0xf7a710['project']||'';if(_0xde4185)return _0x420b65+'/api/'+_0xde4185+_0x3e8385;return''+_0x420b65+_0x3e8385;}return _0x3e8385;}function buildHookContext(_0x2c4f5e){const _0x2e5e3c=a0_0x49d154,_0x3210ce={'xSmOR':'system'};return{'id':_0x2c4f5e['id']||'','newStatus':_0x2c4f5e[_0x2e5e3c(0x12e)]||'','oldStatus':_0x2c4f5e[_0x2e5e3c(0x144)]||'','remarks':_0x2c4f5e['remarks']||'','tableName':_0x2c4f5e['tableName']||'','user_id':_0x2c4f5e[_0x2e5e3c(0x14b)]||_0x3210ce[_0x2e5e3c(0x14a)],'timestamp':new Date()[_0x2e5e3c(0x133)](),'record':_0x2c4f5e[_0x2e5e3c(0x131)]||{},'requestData':_0x2c4f5e[_0x2e5e3c(0x135)]||{},'project':_0x2c4f5e['project']||'','authHeader':_0x2c4f5e[_0x2e5e3c(0x15d)]||null};}async function executeHook(_0x44754e,_0x1216c3){const _0x1d5a9b=a0_0x49d154,_0x3f2cf8={'uFZjQ':function(_0x519d50,_0x134c00){return _0x519d50!==_0x134c00;},'AHyJY':_0x1d5a9b(0x15e),'NyZaW':'Hook\x20skipped:\x20unsupported\x20type','sUiWj':'RestForge-Workflow/1.0'};if(!_0x44754e||_0x3f2cf8['uFZjQ'](_0x44754e['type'],_0x3f2cf8['AHyJY']))return{'success':!![],'message':_0x3f2cf8['NyZaW']};const _0x3bc091=_0x44754e['blocking']===!![],_0x39c219=(_0x44754e[_0x1d5a9b(0x136)]||DEFAULT_METHOD)['toUpperCase'](),_0x590961=_0x44754e[_0x1d5a9b(0x130)]||DEFAULT_TIMEOUT,_0x3dbde4=resolveTemplateString(_0x44754e[_0x1d5a9b(0x14d)],_0x1216c3),_0x4fd006=resolveUrl(_0x3dbde4,_0x1216c3),_0x259694=_0x44754e[_0x1d5a9b(0x12c)]?resolveTemplateVariables(_0x44754e['body'],_0x1216c3):{},_0x561d70=_0x44754e['headers']?resolveTemplateVariables(_0x44754e['headers'],_0x1216c3):{},_0x2cff68=_0x561d70&&(_0x561d70[_0x1d5a9b(0x154)]!==undefined||_0x3f2cf8['uFZjQ'](_0x561d70[_0x1d5a9b(0x156)],undefined)),_0x27e523=!_0x2cff68&&_0x1216c3&&_0x1216c3[_0x1d5a9b(0x15d)]?{'Authorization':_0x1216c3['authHeader']}:{};try{const _0x1e2ca2=await axios({'method':_0x39c219['toLowerCase'](),'url':_0x4fd006,'data':_0x259694,'headers':{'Content-Type':_0x1d5a9b(0x134),'User-Agent':_0x3f2cf8[_0x1d5a9b(0x137)],..._0x27e523,..._0x561d70},'timeout':_0x590961});return console['log']('Workflow\x20hook\x20executed:\x20'+_0x39c219+'\x20'+_0x4fd006+'\x20→\x20'+_0x1e2ca2[_0x1d5a9b(0x153)]),{'success':!![],'message':'Hook\x20executed\x20successfully','status':_0x1e2ca2[_0x1d5a9b(0x153)],'url':_0x4fd006};}catch(_0x3f9326){const _0x3d616f=_0x3f9326['response']?'HTTP\x20'+_0x3f9326['response']['status']+':\x20'+_0x3f9326[_0x1d5a9b(0x145)]['statusText']:_0x3f9326[_0x1d5a9b(0x151)];console[_0x1d5a9b(0x15f)]('Workflow\x20hook\x20failed:\x20'+_0x39c219+'\x20'+_0x4fd006+'\x20→\x20'+_0x3d616f);if(_0x3bc091)return{'success':![],'message':'Blocking\x20hook\x20failed:\x20'+_0x3d616f,'error':_0x3d616f,'url':_0x4fd006};return console[_0x1d5a9b(0x150)](_0x1d5a9b(0x146)+_0x3d616f),{'success':!![],'message':'Non-blocking\x20hook\x20failed\x20(ignored):\x20'+_0x3d616f,'warning':_0x3d616f,'url':_0x4fd006};}}function a0_0x43d2(){const _0x407325=['yxv0AeHLywrLCG','yxbP','zxjYB3i','mJvLCeHPu3a','C3rHCNrZv2L0Aa','Ahr0Chm6lY8','mta3ndG1nZzgtuvHyxq','yM9KEq','B2jQzwn0','BMv3u3rHDhvZ','EwHrqMm','DgLTzw91Da','CMvJB3jK','Ahr0CdOVlW','Dg9ju09tDhjPBMC','yxbWBgLJyxrPB24VANnVBG','CMvXDwvZDerHDge','Bwv0Ag9K','C1vPv2O','yxHPB3m','l2fWAs8','mJyWAun5Dfvv','B2j5wMe','sKrwr0W','BwfW','mJjjqvb1CgS','ohLhB3HiuW','BgvUz3rO','mteZntmZoefiCuDbrG','vNLrrg0','C3vJy2vZCW','B2XKu3rHDhvZ','CMvZCg9UC2u','tM9UlwjSB2nRAw5NigHVB2SGzMfPBgvKicHPz25VCMvKktOG','z3vWqM4','mtu5odi1m2DQyNrVAq','ue9sva','EfnTt1i','DxnLCKLK','tKD4req','DxjS','oduXouHpzK9UsG','nZm2mZa5mfrzzvHXCa','D2fYBG','BwvZC2fNzq','AxnbCNjHEq','C3rHDhvZ','qxv0Ag9YAxPHDgLVBG','mta3ody3mJHMwK94Axm','yxv0Ag9YAxPHDgLVBG','DhjPBq','mtq4otC0mdndr2jsCNC','mtbwCK1vtgy','u0vsvKvsx0ferfjfu1m','uuDvv1u','zw52'];a0_0x43d2=function(){return _0x407325;};return a0_0x43d2();}async function executeHooks(_0x56e3d7,_0x317cf5){const _0x3a60ae=a0_0x49d154,_0x2d9514={'QGUWU':function(_0x3f13b1,_0x17b819,_0x41630e){return _0x3f13b1(_0x17b819,_0x41630e);},'akiLs':'Hook\x20execution\x20failed'};if(!_0x56e3d7||!Array[_0x3a60ae(0x152)](_0x56e3d7)||_0x56e3d7['length']===0x0)return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x538415=[];for(const _0x369688 of _0x56e3d7){const _0xa695db=await _0x2d9514[_0x3a60ae(0x15b)](executeHook,_0x369688,_0x317cf5);_0x538415['push'](_0xa695db);if(!_0xa695db[_0x3a60ae(0x143)])return{'success':![],'error':_0xa695db['message']||_0x2d9514['akiLs'],'results':_0x538415,'hooksExecuted':_0x538415['length']};}return{'success':!![],'results':_0x538415,'hooksExecuted':_0x538415[_0x3a60ae(0x140)]};}module['exports']={'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};