@restforgejs/platform 4.1.0 → 4.1.1

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 (160) hide show
  1. package/LICENSE.md +5 -1
  2. package/README.md +30 -14
  3. package/build-info.json +2 -2
  4. package/cli/consumer-deploy.js +1 -1
  5. package/cli/consumer.js +1 -1
  6. package/integrity-manifest.json +8 -8
  7. package/package.json +4 -4
  8. package/scripts/check-install.js +45 -45
  9. package/scripts/verify-integrity.js +1 -1
  10. package/server.js +1 -1
  11. package/src/components/handlers/adjust_handler.js +1 -1
  12. package/src/components/handlers/audit_handler.js +1 -1
  13. package/src/components/handlers/delete_handler.js +1 -1
  14. package/src/components/handlers/export_handler.js +1 -1
  15. package/src/components/handlers/import_handler.js +1 -1
  16. package/src/components/handlers/insert_handler.js +1 -1
  17. package/src/components/handlers/update_handler.js +1 -1
  18. package/src/components/handlers/upload_handler.js +1 -1
  19. package/src/components/handlers/workflow_handler.js +1 -1
  20. package/src/components/integrations/webhook.js +1 -1
  21. package/src/consumers/baseConsumer.js +1 -1
  22. package/src/consumers/declarativeMapper.js +1 -1
  23. package/src/consumers/handlers/apiHandler.js +1 -1
  24. package/src/consumers/handlers/consoleHandler.js +1 -1
  25. package/src/consumers/handlers/databaseHandler.js +1 -1
  26. package/src/consumers/handlers/index.js +1 -1
  27. package/src/consumers/handlers/kafkaHandler.js +1 -1
  28. package/src/consumers/index.js +1 -1
  29. package/src/consumers/messageTransformer.js +1 -1
  30. package/src/consumers/validator.js +1 -1
  31. package/src/core/db/dialect/base-dialect.js +1 -1
  32. package/src/core/db/dialect/index.js +1 -1
  33. package/src/core/db/dialect/mysql-dialect.js +1 -1
  34. package/src/core/db/dialect/oracle-dialect.js +1 -1
  35. package/src/core/db/dialect/postgres-dialect.js +1 -1
  36. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  37. package/src/core/db/flatten-helper.js +1 -1
  38. package/src/core/db/query-builder-error.js +1 -1
  39. package/src/core/db/query-builder.js +1 -1
  40. package/src/core/db/relation-helper.js +1 -1
  41. package/src/core/handlers/delete_handler.js +1 -1
  42. package/src/core/handlers/insert_handler.js +1 -1
  43. package/src/core/handlers/update_handler.js +1 -1
  44. package/src/core/models/base-model.js +1 -1
  45. package/src/core/utils/cache-manager.js +1 -1
  46. package/src/core/utils/component-engine.js +1 -1
  47. package/src/core/utils/context-builder.js +1 -1
  48. package/src/core/utils/datetime-formatter.js +1 -1
  49. package/src/core/utils/datetime-parser.js +1 -1
  50. package/src/core/utils/db.js +1 -1
  51. package/src/core/utils/logger.js +1 -1
  52. package/src/core/utils/payload-loader.js +1 -1
  53. package/src/core/utils/security-checks.js +1 -1
  54. package/src/middleware/body-options.js +1 -1
  55. package/src/middleware/cors.js +1 -1
  56. package/src/middleware/idempotency.js +1 -1
  57. package/src/middleware/rate-limiter.js +1 -1
  58. package/src/middleware/request-logger.js +1 -1
  59. package/src/middleware/security-headers.js +1 -1
  60. package/src/models/base-model-mysql.js +1 -1
  61. package/src/models/base-model-oracle.js +1 -1
  62. package/src/models/base-model-sqlite.js +1 -1
  63. package/src/models/base-model.js +1 -1
  64. package/src/pro/caching/redis-client.js +1 -1
  65. package/src/pro/caching/redis-helper.js +1 -1
  66. package/src/pro/consumers/baseConsumer.js +1 -1
  67. package/src/pro/consumers/declarativeMapper.js +1 -1
  68. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  69. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  70. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  71. package/src/pro/consumers/handlers/index.js +1 -1
  72. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  73. package/src/pro/consumers/index.js +1 -1
  74. package/src/pro/consumers/messageTransformer.js +1 -1
  75. package/src/pro/consumers/validator.js +1 -1
  76. package/src/pro/database/base-model-mysql.js +1 -1
  77. package/src/pro/database/base-model-oracle.js +1 -1
  78. package/src/pro/database/base-model-sqlite.js +1 -1
  79. package/src/pro/database/db-mysql.js +1 -1
  80. package/src/pro/database/db-oracle.js +1 -1
  81. package/src/pro/database/db-sqlite.js +1 -1
  82. package/src/pro/excel/excel-generator.js +1 -1
  83. package/src/pro/excel/excel-parser.js +1 -1
  84. package/src/pro/excel/export-service.js +1 -1
  85. package/src/pro/excel/export_handler.js +1 -1
  86. package/src/pro/excel/import-service.js +1 -1
  87. package/src/pro/excel/import-validator.js +1 -1
  88. package/src/pro/excel/import_handler.js +1 -1
  89. package/src/pro/excel/upsert-builder.js +1 -1
  90. package/src/pro/idgen/idgen-routes.js +1 -1
  91. package/src/pro/integrations/lookup-resolver.js +1 -1
  92. package/src/pro/integrations/upload-handler-v2.js +1 -1
  93. package/src/pro/integrations/upload-handler.js +1 -1
  94. package/src/pro/integrations/webhook.js +1 -1
  95. package/src/pro/locking/lock-routes.js +1 -1
  96. package/src/pro/locking/resource-lock-manager.js +1 -1
  97. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  98. package/src/pro/messaging/kafkaService.js +1 -1
  99. package/src/pro/messaging/messagehubService.js +1 -1
  100. package/src/pro/messaging/rabbitmqService.js +1 -1
  101. package/src/pro/scheduler/job-manager.js +1 -1
  102. package/src/pro/scheduler/job-routes.js +1 -1
  103. package/src/pro/scheduler/job-validator.js +1 -1
  104. package/src/pro/storage/base-storage-provider.js +1 -1
  105. package/src/pro/storage/file-metadata-helper.js +1 -1
  106. package/src/pro/storage/index.js +1 -1
  107. package/src/pro/storage/local-storage-provider.js +1 -1
  108. package/src/pro/storage/s3-storage-provider.js +1 -1
  109. package/src/pro/storage/upload-cleanup-job.js +1 -1
  110. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  111. package/src/pro/storage/upload-pending-tracker.js +1 -1
  112. package/src/pro/websocket/broadcast-helper.js +1 -1
  113. package/src/pro/websocket/index.js +1 -1
  114. package/src/pro/websocket/livesync-server.js +1 -1
  115. package/src/pro/websocket/ws-broadcaster.js +1 -1
  116. package/src/services/export-service.js +1 -1
  117. package/src/services/import-service.js +1 -1
  118. package/src/services/kafkaConsumerService.js +1 -1
  119. package/src/services/kafkaService.js +1 -1
  120. package/src/services/messagehubService.js +1 -1
  121. package/src/services/rabbitmqService.js +1 -1
  122. package/src/utils/cache-invalidation-registry.js +1 -1
  123. package/src/utils/cache-manager.js +1 -1
  124. package/src/utils/component-engine.js +1 -1
  125. package/src/utils/config-extractor.js +1 -1
  126. package/src/utils/consumerLogger.js +1 -1
  127. package/src/utils/context-builder.js +1 -1
  128. package/src/utils/dashboard-helpers.js +1 -1
  129. package/src/utils/dateHelper.js +1 -1
  130. package/src/utils/datetime-formatter.js +1 -1
  131. package/src/utils/datetime-parser.js +1 -1
  132. package/src/utils/db-bootstrap.js +1 -1
  133. package/src/utils/db-mysql.js +1 -1
  134. package/src/utils/db-oracle.js +1 -1
  135. package/src/utils/db-sqlite.js +1 -1
  136. package/src/utils/db.js +1 -1
  137. package/src/utils/demo-generator.js +1 -1
  138. package/src/utils/excel-generator.js +1 -1
  139. package/src/utils/excel-parser.js +1 -1
  140. package/src/utils/file-watcher.js +1 -1
  141. package/src/utils/id-generator.js +1 -1
  142. package/src/utils/idempotency-manager.js +1 -1
  143. package/src/utils/import-validator.js +1 -1
  144. package/src/utils/license-client.js +1 -1
  145. package/src/utils/lock-manager.js +1 -1
  146. package/src/utils/logger.js +1 -1
  147. package/src/utils/lookup-resolver.js +1 -1
  148. package/src/utils/payload-loader.js +1 -1
  149. package/src/utils/processor-response.js +1 -1
  150. package/src/utils/rabbitmq.js +1 -1
  151. package/src/utils/redis-client.js +1 -1
  152. package/src/utils/redis-helper.js +1 -1
  153. package/src/utils/request-scope.js +1 -1
  154. package/src/utils/security-checks.js +1 -1
  155. package/src/utils/service-resolver.js +1 -1
  156. package/src/utils/shutdown-coordinator.js +1 -1
  157. package/src/utils/trusted-keys.js +1 -1
  158. package/src/utils/upload-handler.js +1 -1
  159. package/src/utils/upsert-builder.js +1 -1
  160. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x22c17b=a0_0x522e;function a0_0x4330(){const _0x5b3ec0=['AM9PBG','mtnOyNzxveK','EMLNEMm','ExLNzvq','BwLTzxr5Cgu','BxvSDgvY','z2v0u3rVCMfNzq','B3jPz2LUywXUyw1L','zgvMyxvSDa','BwvZC2fNzq','DxbSB2fKx2zPBgvFzgvSzxrLza','CMfUzg9TqNL0zxm','mtK1nZq3Dhn6EvvR','m1vRswjHCa','neniCKngqq','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','lNHSCW','mtfVDxvwvwW','nMr5rM9usW','rMfPBgvKihrVigLUAxrPywXPEMuGDxbSB2fKigHHBMrSzxi','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','Aw5JBhvKzxm','BM93','zgLZA1n0B3jHz2u','t1LQr0e','Exf4qKC','zxHWB3j0CW','mJqYoteXme5sCfzgrG','mJyXs012CeDZ','mJe5mdiYoeHIqMzHuW','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','mJaYntG4nfvlzM5Rra','mZG5nJzgyw5QuhK','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','DxbSB2fKrgLY','BwTKAxjtEw5J','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','Aw5MBW','otaZmM9dwKr4EG','zxjYB3i','zxHPC3rZu3LUyW','y3j5ChrV','mZuZodG3mgPeBersEq','Be93D08','zxH0BMfTzq','x3vWBg9HzerPCG','tLrAAhy','Bur2CLK','vwj4wLi'];a0_0x4330=function(){return _0x5b3ec0;};return a0_0x4330();}(function(_0x566b30,_0x4a0f4d){const _0x5b0d92=a0_0x522e,_0x32dc23=_0x566b30();while(!![]){try{const _0x3eebc5=-parseInt(_0x5b0d92(0x71))/0x1*(parseInt(_0x5b0d92(0x84))/0x2)+-parseInt(_0x5b0d92(0x70))/0x3+-parseInt(_0x5b0d92(0x72))/0x4*(-parseInt(_0x5b0d92(0x7f))/0x5)+parseInt(_0x5b0d92(0x76))/0x6*(-parseInt(_0x5b0d92(0x83))/0x7)+-parseInt(_0x5b0d92(0x8b))/0x8*(-parseInt(_0x5b0d92(0x80))/0x9)+-parseInt(_0x5b0d92(0x8f))/0xa*(-parseInt(_0x5b0d92(0x75))/0xb)+parseInt(_0x5b0d92(0x81))/0xc*(-parseInt(_0x5b0d92(0x97))/0xd);if(_0x3eebc5===_0x4a0f4d)break;else _0x32dc23['push'](_0x32dc23['shift']());}catch(_0x47d241){_0x32dc23['push'](_0x32dc23['shift']());}}}(a0_0x4330,0x43955));function a0_0x522e(_0x590a58,_0x53cef9){_0x590a58=_0x590a58-0x70;const _0x4330cd=a0_0x4330();let _0x522ea0=_0x4330cd[_0x590a58];if(a0_0x522e['xmPbIv']===undefined){var _0x3dbb15=function(_0x19752b){const _0x2e4977='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5e20bd='',_0x4df2e6='';for(let _0x2df94b=0x0,_0x5e8617,_0x28b203,_0x5c021a=0x0;_0x28b203=_0x19752b['charAt'](_0x5c021a++);~_0x28b203&&(_0x5e8617=_0x2df94b%0x4?_0x5e8617*0x40+_0x28b203:_0x28b203,_0x2df94b++%0x4)?_0x5e20bd+=String['fromCharCode'](0xff&_0x5e8617>>(-0x2*_0x2df94b&0x6)):0x0){_0x28b203=_0x2e4977['indexOf'](_0x28b203);}for(let _0xb98a3d=0x0,_0x11f4a1=_0x5e20bd['length'];_0xb98a3d<_0x11f4a1;_0xb98a3d++){_0x4df2e6+='%'+('00'+_0x5e20bd['charCodeAt'](_0xb98a3d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4df2e6);};a0_0x522e['sTqxWN']=_0x3dbb15,a0_0x522e['MIzGYQ']={},a0_0x522e['xmPbIv']=!![];}const _0x228102=_0x4330cd[0x0],_0x5eee66=_0x590a58+_0x228102,_0x25539d=a0_0x522e['MIzGYQ'][_0x5eee66];return!_0x25539d?(_0x522ea0=a0_0x522e['sTqxWN'](_0x522ea0),a0_0x522e['MIzGYQ'][_0x5eee66]=_0x522ea0):_0x522ea0=_0x25539d,_0x522ea0;}const multer=require(a0_0x22c17b(0x9b)),path=require('path'),crypto=require(a0_0x22c17b(0x8e)),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require('./logger');class UploadHandler{constructor(){const _0xd58444=a0_0x22c17b,_0x8937a={'mDvrY':function(_0x3ed904,_0x505f05){return _0x3ed904*_0x505f05;}};this['_uploadDir']=null,this['maxFileSize']=_0x8937a[_0xd58444(0x94)](0xa*0x400,0x400);}get[a0_0x22c17b(0x87)](){const _0x5cccdc=a0_0x22c17b,_0x220027={'gUiRL':'upload_handler_init','zigzc':_0x5cccdc(0x77)};if(!this[_0x5cccdc(0x92)]){const _0x486818=process['env'][_0x5cccdc(0x86)]||_0x5cccdc(0x9e);this[_0x5cccdc(0x92)]=process['env']['UPLOAD_DIR']||path[_0x5cccdc(0x96)](__dirname,'../../temp/uploads/'+_0x486818);try{!fsSync['existsSync'](this['_uploadDir'])&&fsSync['mkdirSync'](this[_0x5cccdc(0x92)],{'recursive':!![]}),logger[_0x5cccdc(0x8a)]({'event':_0x220027['gUiRL'],'dir':this[_0x5cccdc(0x92)]},_0x5cccdc(0x73));}catch(_0x1268a2){logger['error']({'event':_0x5cccdc(0x85),'error':_0x1268a2[_0x5cccdc(0x9f)]},_0x220027[_0x5cccdc(0x98)]);}}return this['_uploadDir'];}[a0_0x22c17b(0x9c)](){const _0x5daa27=a0_0x22c17b,_0x4fb433={'qcwUs':function(_0x2504c2,_0x434f85,_0x324fb9){return _0x2504c2(_0x434f85,_0x324fb9);},'GNUmf':'hex','yqxBG':function(_0x1ef0f8,_0x184883,_0x28e921){return _0x1ef0f8(_0x184883,_0x28e921);}};return multer[_0x5daa27(0x7b)]({'destination':(_0x4b1335,_0x105435,_0x477fe7)=>{const _0x179157=_0x5daa27;!fsSync[_0x179157(0x8d)](this[_0x179157(0x87)])&&fsSync[_0x179157(0x88)](this[_0x179157(0x87)],{'recursive':!![]}),_0x4fb433['qcwUs'](_0x477fe7,null,this[_0x179157(0x87)]);},'filename':(_0x582ae0,_0x45d08e,_0x7528b7)=>{const _0x419a6d=_0x5daa27,_0x3315bb=crypto[_0x419a6d(0xa1)](0x8)['toString'](_0x4fb433['GNUmf']),_0x402358=Date[_0x419a6d(0x7a)](),_0x19faf1=path[_0x419a6d(0x91)](_0x45d08e[_0x419a6d(0x9d)]);_0x4fb433[_0x419a6d(0x7d)](_0x7528b7,null,'upload-'+_0x402358+'-'+_0x3315bb+_0x19faf1);}});}['getUploadMiddleware'](){const _0x2e0223=a0_0x22c17b,_0x2dfe9c={'yygeT':'application/vnd.ms-excel','NTZhv':'.xlsx','irkpR':function(_0x871e3b,_0x4f1ca6,_0x514208){return _0x871e3b(_0x4f1ca6,_0x514208);},'lOwwO':function(_0x3ea336,_0x5cd768){return _0x3ea336(_0x5cd768);}};return _0x2dfe9c[_0x2e0223(0x90)](multer,{'storage':this[_0x2e0223(0x9c)](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x39effd,_0x460013,_0x42a4c2)=>{const _0x500704=_0x2e0223,_0x1e7863=[_0x500704(0x78),_0x2dfe9c[_0x500704(0x99)]],_0x5a9e8a=[_0x2dfe9c[_0x500704(0x93)],_0x500704(0x74)],_0x4fa94a=path['extname'](_0x460013[_0x500704(0x9d)])['toLowerCase']();_0x1e7863[_0x500704(0x79)](_0x460013[_0x500704(0x9a)])&&_0x5a9e8a[_0x500704(0x79)](_0x4fa94a)?_0x2dfe9c['irkpR'](_0x42a4c2,null,!![]):_0x42a4c2(new Error(_0x500704(0x82)));}})['single']('file');}async['deleteFile'](_0x10f173){const _0x44764a=a0_0x22c17b,_0x6b262e={'xLRzp':_0x44764a(0x89),'UbxZR':'upload_file_delete_error','OYjGA':'Failed\x20to\x20delete\x20uploaded\x20file'};try{await fs['unlink'](_0x10f173),logger[_0x44764a(0x8a)]({'event':_0x44764a(0xa0),'filePath':_0x10f173},_0x6b262e['xLRzp']);}catch(_0x59c09c){logger[_0x44764a(0x8c)]({'event':_0x6b262e[_0x44764a(0x95)],'filePath':_0x10f173,'error':_0x59c09c['message']},_0x6b262e[_0x44764a(0x7c)]);}}}module[a0_0x22c17b(0x7e)]=new UploadHandler();
1
+ const a0_0x18f32a=a0_0x3293;(function(_0x16f109,_0x2321c5){const _0x4f1ec5=a0_0x3293,_0x5ef5f5=_0x16f109();while(!![]){try{const _0x3ccae2=-parseInt(_0x4f1ec5(0x1e6))/0x1+-parseInt(_0x4f1ec5(0x1e8))/0x2+parseInt(_0x4f1ec5(0x1ed))/0x3*(parseInt(_0x4f1ec5(0x1e1))/0x4)+-parseInt(_0x4f1ec5(0x1ee))/0x5+-parseInt(_0x4f1ec5(0x1f5))/0x6+-parseInt(_0x4f1ec5(0x1f4))/0x7*(-parseInt(_0x4f1ec5(0x201))/0x8)+parseInt(_0x4f1ec5(0x1de))/0x9*(parseInt(_0x4f1ec5(0x1f3))/0xa);if(_0x3ccae2===_0x2321c5)break;else _0x5ef5f5['push'](_0x5ef5f5['shift']());}catch(_0x2bc999){_0x5ef5f5['push'](_0x5ef5f5['shift']());}}}(a0_0x27c1,0xc3ea9));function a0_0x27c1(){const _0x4fc737=['DxbSB2fKrgLY','mJGYnJLvrNDtzhe','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','EKLdzw0','ngjetvz4Aq','z2v0u3rVCMfNzq','zxHPC3rZu3LUyW','x3vWBg9HzerPCG','lNHSCW','odeYodm3yvbWDLjg','zMLSzq','nZq1nZa2sxH6z0H3','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','vvbmt0fex0rjuG','Bwf4rMLSzvnPEMu','B01kvMu','mJa3nJy2m3bmu1btua','nZyWnJe1mhLSC1bpwG','zunPCvm','zxH0BMfTzq','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','DxbSB2fKx2HHBMrSzxjFAw5PDa','nJaZmgPJsLHAsG','mZG2ntmZvxLbAfvT','mZa3nti3mgrVtMvmyW','Aw5MBW','DxbSB2fKx2zPBgvFzgvSzxrLx2vYCM9Y','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','qMD6sxm','lI9SB2DNzxi','BwTKAxjtEw5J','zgvSzxrLrMLSzq','zw52','BxvSDgvY','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','BM93','mJa4sw9WBMDn','Dw5SAw5R','Aw5JBhvKzxm','s0P1D2u','zgvMyxvSDa','zxjYB3i'];a0_0x27c1=function(){return _0x4fc737;};return a0_0x27c1();}const multer=require(a0_0x18f32a(0x1fe)),path=require('path'),crypto=require('crypto'),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require(a0_0x18f32a(0x1fa));function a0_0x3293(_0x3cce7d,_0x316961){_0x3cce7d=_0x3cce7d-0x1d8;const _0x27c114=a0_0x27c1();let _0x32936e=_0x27c114[_0x3cce7d];if(a0_0x3293['OVyopb']===undefined){var _0x20a374=function(_0x5cb9ac){const _0x117a6c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5285e2='',_0x2e2ed9='';for(let _0x37ad44=0x0,_0x39f9ab,_0x5eb932,_0x44d892=0x0;_0x5eb932=_0x5cb9ac['charAt'](_0x44d892++);~_0x5eb932&&(_0x39f9ab=_0x37ad44%0x4?_0x39f9ab*0x40+_0x5eb932:_0x5eb932,_0x37ad44++%0x4)?_0x5285e2+=String['fromCharCode'](0xff&_0x39f9ab>>(-0x2*_0x37ad44&0x6)):0x0){_0x5eb932=_0x117a6c['indexOf'](_0x5eb932);}for(let _0x3d973e=0x0,_0x425842=_0x5285e2['length'];_0x3d973e<_0x425842;_0x3d973e++){_0x2e2ed9+='%'+('00'+_0x5285e2['charCodeAt'](_0x3d973e)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2e2ed9);};a0_0x3293['WOAkCf']=_0x20a374,a0_0x3293['oRDpZP']={},a0_0x3293['OVyopb']=!![];}const _0xb5ebfc=_0x27c114[0x0],_0x5ebd9b=_0x3cce7d+_0xb5ebfc,_0xaf30c2=a0_0x3293['oRDpZP'][_0x5ebd9b];return!_0xaf30c2?(_0x32936e=a0_0x3293['WOAkCf'](_0x32936e),a0_0x3293['oRDpZP'][_0x5ebd9b]=_0x32936e):_0x32936e=_0xaf30c2,_0x32936e;}class UploadHandler{constructor(){const _0x30065a=a0_0x18f32a,_0x531e33={'BDCkj':function(_0x3dc78a,_0x588470){return _0x3dc78a*_0x588470;}};this[_0x30065a(0x1e4)]=null,this[_0x30065a(0x1eb)]=_0x531e33['BDCkj'](0xa,0x400)*0x400;}get['uploadDir'](){const _0x1f337e=a0_0x18f32a,_0x36406b={'gwSEu':_0x1f337e(0x1db),'QqGTm':'upload_handler_init_error'};if(!this['_uploadDir']){const _0x34b1d1=process[_0x1f337e(0x1fd)][_0x1f337e(0x1f1)]||_0x36406b['gwSEu'];this[_0x1f337e(0x1e4)]=process['env'][_0x1f337e(0x1ea)]||path['join'](__dirname,'../../temp/uploads/'+_0x34b1d1);try{!fsSync['existsSync'](this[_0x1f337e(0x1e4)])&&fsSync[_0x1f337e(0x1fb)](this['_uploadDir'],{'recursive':!![]}),logger[_0x1f337e(0x1f6)]({'event':_0x1f337e(0x1f2),'dir':this['_uploadDir']},_0x1f337e(0x1f8));}catch(_0x5cd32e){logger['error']({'event':_0x36406b['QqGTm'],'error':_0x5cd32e['message']},'Failed\x20to\x20initialize\x20upload\x20handler');}}return this[_0x1f337e(0x1e4)];}[a0_0x18f32a(0x1e2)](){return multer['diskStorage']({'destination':(_0x1a0fd0,_0x49e5b3,_0x312ae5)=>{const _0x28553d=a0_0x3293;!fsSync[_0x28553d(0x1e3)](this[_0x28553d(0x1dd)])&&fsSync['mkdirSync'](this[_0x28553d(0x1dd)],{'recursive':!![]}),_0x312ae5(null,this['uploadDir']);},'filename':(_0x59f1f1,_0x4d6ee8,_0x2bcdeb)=>{const _0x5e9680=a0_0x3293,_0x31a539=crypto['randomBytes'](0x8)['toString']('hex'),_0x12e422=Date[_0x5e9680(0x200)](),_0x28ea5f=path[_0x5e9680(0x1f0)](_0x4d6ee8['originalname']);_0x2bcdeb(null,'upload-'+_0x12e422+'-'+_0x31a539+_0x28ea5f);}});}['getUploadMiddleware'](){const _0x26488a=a0_0x18f32a,_0x36f199={'eCiqS':_0x26488a(0x1df),'oMJVe':'application/vnd.ms-excel','auZjg':'.xlsx','BgzIs':function(_0x165fdf,_0x1d105a,_0x3d1e04){return _0x165fdf(_0x1d105a,_0x3d1e04);},'zICem':function(_0x1c1f7a,_0x33f8d3){return _0x1c1f7a(_0x33f8d3);}};return _0x36f199[_0x26488a(0x1e0)](multer,{'storage':this[_0x26488a(0x1e2)](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x16f889,_0x26945c,_0x420a78)=>{const _0x571427=_0x26488a,_0x5da72b=[_0x36f199[_0x571427(0x1ef)],_0x36f199[_0x571427(0x1ec)]],_0x285737=[_0x36f199['auZjg'],_0x571427(0x1e5)],_0x763574=path['extname'](_0x26945c['originalname'])['toLowerCase']();_0x5da72b[_0x571427(0x1d9)](_0x26945c['mimetype'])&&_0x285737[_0x571427(0x1d9)](_0x763574)?_0x36f199[_0x571427(0x1f9)](_0x420a78,null,!![]):_0x420a78(new Error('Invalid\x20file\x20type.\x20Only\x20.xlsx\x20files\x20are\x20allowed'));}})['single'](_0x26488a(0x1e7));}async[a0_0x18f32a(0x1fc)](_0x55dbca){const _0x427bc3=a0_0x18f32a,_0x4ceff7={'KJuwe':_0x427bc3(0x1ff),'DlLFf':_0x427bc3(0x1f7)};try{await fs[_0x427bc3(0x1d8)](_0x55dbca),logger[_0x427bc3(0x1f6)]({'event':'upload_file_deleted','filePath':_0x55dbca},_0x4ceff7[_0x427bc3(0x1da)]);}catch(_0x3dbcd5){logger[_0x427bc3(0x1dc)]({'event':_0x4ceff7['DlLFf'],'filePath':_0x55dbca,'error':_0x3dbcd5['message']},_0x427bc3(0x1e9));}}}module['exports']=new UploadHandler();
@@ -1 +1 @@
1
- const a0_0x56a89e=a0_0x1ff8;(function(_0x7a1512,_0x44ee6d){const _0x3b598e=a0_0x1ff8,_0x2af8e4=_0x7a1512();while(!![]){try{const _0x24c1ce=parseInt(_0x3b598e(0x19a))/0x1*(-parseInt(_0x3b598e(0x14e))/0x2)+-parseInt(_0x3b598e(0x18e))/0x3+-parseInt(_0x3b598e(0x172))/0x4*(-parseInt(_0x3b598e(0x160))/0x5)+-parseInt(_0x3b598e(0x162))/0x6+-parseInt(_0x3b598e(0x153))/0x7*(parseInt(_0x3b598e(0x15b))/0x8)+parseInt(_0x3b598e(0x159))/0x9+parseInt(_0x3b598e(0x170))/0xa*(parseInt(_0x3b598e(0x17e))/0xb);if(_0x24c1ce===_0x44ee6d)break;else _0x2af8e4['push'](_0x2af8e4['shift']());}catch(_0x3476a0){_0x2af8e4['push'](_0x2af8e4['shift']());}}}(a0_0xaf53,0xc629d));const {logger}=require(a0_0x56a89e(0x17f)),DB_TYPES={'POSTGRESQL':a0_0x56a89e(0x14b),'MYSQL':'mysql','SQLSERVER':a0_0x56a89e(0x165),'ORACLE':a0_0x56a89e(0x15d),'SQLITE':a0_0x56a89e(0x14a)};class UpsertBuilder{[a0_0x56a89e(0x196)](){const _0x519e6b=a0_0x56a89e,_0x5a29f7={'yfOSz':_0x519e6b(0x1a0),'AvTBm':_0x519e6b(0x14b)},_0x1cb721=(process[_0x519e6b(0x174)][_0x519e6b(0x15e)]||'postgresql')[_0x519e6b(0x15a)](),_0x1bdb9c=Object['values'](DB_TYPES);if(!_0x1bdb9c[_0x519e6b(0x1a1)](_0x1cb721))return logger['warn']({'event':_0x5a29f7[_0x519e6b(0x161)],'provided':_0x1cb721,'fallback':_0x5a29f7['AvTBm']},_0x519e6b(0x173)+_0x1cb721+_0x519e6b(0x188)),DB_TYPES['POSTGRESQL'];return _0x1cb721;}[a0_0x56a89e(0x17b)](_0x4297fe,_0x3254e2,_0x3f3c2f=![]){const _0x96207e=a0_0x56a89e,_0x158af9={'uWKdi':'NULL'};if(_0x3f3c2f)switch(_0x3254e2){case DB_TYPES['POSTGRESQL']:return'NULL::DATE';case DB_TYPES[_0x96207e(0x158)]:return _0x158af9[_0x96207e(0x16e)];case DB_TYPES['SQLITE']:return _0x158af9[_0x96207e(0x16e)];case DB_TYPES[_0x96207e(0x19c)]:return'NULL';case DB_TYPES[_0x96207e(0x185)]:return _0x158af9[_0x96207e(0x16e)];default:return _0x96207e(0x1a2);}switch(_0x3254e2){case DB_TYPES[_0x96207e(0x191)]:return _0x4297fe+'::DATE';case DB_TYPES['MYSQL']:return _0x4297fe;case DB_TYPES[_0x96207e(0x192)]:return _0x4297fe;case DB_TYPES['SQLSERVER']:return'CAST('+_0x4297fe+_0x96207e(0x182);case DB_TYPES[_0x96207e(0x185)]:return _0x96207e(0x156)+_0x4297fe+',\x20\x27YYYY-MM-DD\x27)';default:return _0x4297fe+_0x96207e(0x147);}}[a0_0x56a89e(0x166)](_0x17bf56,_0x1b09e1,_0x112a33=![]){const _0x17df69=a0_0x56a89e,_0x93b216={'IVDuf':_0x17df69(0x14c)};if(_0x112a33)switch(_0x1b09e1){case DB_TYPES['POSTGRESQL']:return'NULL::BOOLEAN';default:return _0x93b216['IVDuf'];}switch(_0x1b09e1){case DB_TYPES[_0x17df69(0x191)]:return _0x17bf56+_0x17df69(0x14f);case DB_TYPES['ORACLE']:return _0x17bf56;case DB_TYPES['MYSQL']:return _0x17bf56;case DB_TYPES[_0x17df69(0x192)]:return _0x17bf56;case DB_TYPES[_0x17df69(0x19c)]:return'CAST('+_0x17bf56+'\x20AS\x20BIT)';default:return _0x17bf56+'::BOOLEAN';}}['buildEscapeFunction'](_0x4f0599={}){const _0x1f49f0=a0_0x56a89e,_0x2a0eee={'fNjOD':function(_0x77a26f,_0xba46f8){return _0x77a26f===_0xba46f8;},'kJTfo':function(_0x3e130f,_0x398d7e){return _0x3e130f===_0x398d7e;},'TNqjz':'boolean','pPnlx':function(_0x31a6d8,_0x6a0088){return _0x31a6d8===_0x6a0088;},'eOvFf':_0x1f49f0(0x18d),'WmQaB':'date'},_0x49c9f6=this['getDatabaseType']();return(_0x54ef3b,_0x2bc441)=>{const _0x3538ac=_0x1f49f0,_0x2a12aa=_0x4f0599[_0x2bc441];if(_0x54ef3b===null||_0x54ef3b===undefined){if(_0x2a12aa&&_0x2a12aa[_0x3538ac(0x186)]===_0x3538ac(0x19d))return this[_0x3538ac(0x17b)](null,_0x49c9f6,!![]);if(_0x2a12aa&&_0x2a12aa[_0x3538ac(0x186)]==='boolean')return this['formatBooleanValue'](null,_0x49c9f6,!![]);return _0x3538ac(0x14c);}if(_0x2a0eee[_0x3538ac(0x18a)](typeof _0x54ef3b,_0x3538ac(0x19b))){const _0x2403e2='\x27'+_0x54ef3b[_0x3538ac(0x168)](/'/g,'\x27\x27')+'\x27';if(_0x2a12aa&&_0x2a0eee['kJTfo'](_0x2a12aa['type'],'date'))return this['formatDateValue'](_0x2403e2,_0x49c9f6,![]);if(_0x2a12aa&&_0x2a12aa['type']===_0x2a0eee['TNqjz'])return this[_0x3538ac(0x166)](_0x2403e2,_0x49c9f6,![]);return _0x2403e2;}if(_0x2a0eee[_0x3538ac(0x157)](typeof _0x54ef3b,_0x2a0eee[_0x3538ac(0x148)]))return _0x54ef3b;if(typeof _0x54ef3b===_0x3538ac(0x15f))return _0x54ef3b;const _0x5c0ffc='\x27'+String(_0x54ef3b)[_0x3538ac(0x168)](/'/g,'\x27\x27')+'\x27';if(_0x2a12aa&&_0x2a12aa[_0x3538ac(0x186)]===_0x2a0eee['WmQaB'])return this['formatDateValue'](_0x5c0ffc,_0x49c9f6,![]);return _0x5c0ffc;};}[a0_0x56a89e(0x181)](_0x5b87b5,_0x4272ca,_0x24ff47,_0x191ec6={}){const _0x48489a=a0_0x56a89e,_0x5ea48f={'QYlub':function(_0x5402de,_0x3fa273){return _0x5402de===_0x3fa273;}},_0x15c7db=this[_0x48489a(0x196)]();if(_0x5ea48f['QYlub'](_0x15c7db,DB_TYPES[_0x48489a(0x185)]))return this[_0x48489a(0x187)](_0x5b87b5,_0x4272ca,_0x24ff47,_0x191ec6);return this[_0x48489a(0x163)](_0x5b87b5,_0x4272ca,_0x24ff47,_0x191ec6);}[a0_0x56a89e(0x163)](_0x479d00,_0x3b4c74,_0x1afce0,_0x37f25f={}){const _0x43d367=a0_0x56a89e,_0x26693c={'bgmUq':',\x0a\x20\x20\x20\x20\x20\x20\x20','SDidg':_0x43d367(0x1a4),'ahJym':'Batch\x20INSERT\x20query\x20built\x20(PostgreSQL)'};if(_0x479d00[_0x43d367(0x171)]===0x0)return{'query':null,'values':[]};const _0xc6fd57=this['buildEscapeFunction'](_0x37f25f),_0x3172ca=_0x479d00[_0x43d367(0x199)](_0x4f4846=>{const _0x344004=_0x43d367,_0x126640=_0x1afce0[_0x344004(0x199)](_0x4fdd59=>_0xc6fd57(_0x4f4846[_0x4fdd59],_0x4fdd59));return'('+_0x126640['join'](',\x20')+')';}),_0x56d850='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x3b4c74+'\x20('+_0x1afce0['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x3172ca['join'](_0x26693c['bgmUq'])+_0x43d367(0x177);return logger[_0x43d367(0x198)]({'event':_0x26693c[_0x43d367(0x184)],'tableName':_0x3b4c74,'rowCount':_0x479d00['length'],'dbType':_0x43d367(0x14b)},_0x26693c['ahJym']),{'query':_0x56d850,'values':[]};}[a0_0x56a89e(0x187)](_0x4c28a7,_0xc9b1f5,_0x7d7902,_0x4dc66f={}){const _0x1d9b2f=a0_0x56a89e,_0x551931={'ZMdiL':'oracle','tbdHh':_0x1d9b2f(0x16d)};if(_0x4c28a7[_0x1d9b2f(0x171)]===0x0)return{'query':null,'values':[]};const _0x4da744=this[_0x1d9b2f(0x193)](_0x4dc66f),_0x5bbe6c=_0x4c28a7['map'](_0x12b980=>{const _0x6a86be=_0x1d9b2f,_0x18eacd=_0x7d7902['map'](_0x29435a=>_0x4da744(_0x12b980[_0x29435a],_0x29435a));return _0x6a86be(0x183)+_0xc9b1f5+'\x20('+_0x7d7902[_0x6a86be(0x18b)](',\x20')+')\x20VALUES\x20('+_0x18eacd['join'](',\x20')+')';}),_0x1a1e80='INSERT\x20ALL\x0a'+_0x5bbe6c[_0x1d9b2f(0x18b)]('\x0a')+_0x1d9b2f(0x15c);return logger['debug']({'event':'batch_insert_built','tableName':_0xc9b1f5,'rowCount':_0x4c28a7['length'],'dbType':_0x551931[_0x1d9b2f(0x16a)]},_0x551931['tbdHh']),{'query':_0x1a1e80,'values':[]};}['buildBatchUpdate'](_0x3ef471,_0x1cb5c0,_0x3c4996,_0xe7976,_0x1ee9d7,_0x3b43ec={}){const _0x364d50=a0_0x56a89e,_0x4a8281={'QaAqI':function(_0x43e5cb,_0x1d53a4){return _0x43e5cb===_0x1d53a4;},'VrmkN':function(_0x4c9673,_0x372b90){return _0x4c9673===_0x372b90;}},_0x4cb498=this['getDatabaseType']();if(_0x4a8281['QaAqI'](_0x4cb498,DB_TYPES[_0x364d50(0x185)]))return this[_0x364d50(0x180)](_0x3ef471,_0x1cb5c0,_0x3c4996,_0xe7976,_0x1ee9d7,_0x3b43ec);if(_0x4a8281[_0x364d50(0x154)](_0x4cb498,DB_TYPES['MYSQL']))return this['_buildBatchUpdateMysql'](_0x3ef471,_0x1cb5c0,_0x3c4996,_0xe7976,_0x1ee9d7,_0x3b43ec);return this['_buildBatchUpdatePostgres'](_0x3ef471,_0x1cb5c0,_0x3c4996,_0xe7976,_0x1ee9d7,_0x3b43ec);}[a0_0x56a89e(0x16f)](_0x911902,_0x32ceca,_0x59af51,_0x149eb5,_0x4712dc,_0x11d294={}){const _0x4ec436=a0_0x56a89e,_0x33a3f1={'rijpR':function(_0x134d91,_0x387379){return _0x134d91===_0x387379;},'wpOXu':function(_0x1fb0ba,_0x44d1b3){return _0x1fb0ba===_0x44d1b3;},'CXdgV':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','rXGAJ':_0x4ec436(0x197),'obrFh':'postgresql','WtnNv':_0x4ec436(0x19e)};if(_0x33a3f1[_0x4ec436(0x179)](_0x911902['length'],0x0))return{'query':null,'values':[]};const _0x45f08d=this['buildEscapeFunction'](_0x11d294),_0x35b3eb=_0x59af51[_0x4ec436(0x1a3)](_0xd8e472=>!_0x4712dc[_0x4ec436(0x1a1)](_0xd8e472)&&_0xd8e472!==_0x149eb5);if(_0x33a3f1[_0x4ec436(0x175)](_0x35b3eb[_0x4ec436(0x171)],0x0))return logger['warn']({'event':'batch_update_no_columns','tableName':_0x32ceca},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x18d033=_0x911902['map'](_0x49061f=>{const _0x2d2576=_0x4ec436,_0x22b7d1=[..._0x4712dc,..._0x35b3eb],_0x2e1d2b=_0x22b7d1['map'](_0x294e30=>_0x45f08d(_0x49061f[_0x294e30],_0x294e30));return'('+_0x2e1d2b[_0x2d2576(0x18b)](',\x20')+')';}),_0x334d20=_0x35b3eb[_0x4ec436(0x199)](_0x3da991=>_0x3da991+_0x4ec436(0x16c)+_0x3da991)['join'](_0x33a3f1[_0x4ec436(0x18c)]),_0x252ac8=_0x4712dc[_0x4ec436(0x199)](_0x15d404=>'t.'+_0x15d404+_0x4ec436(0x16c)+_0x15d404)['join']('\x20AND\x20'),_0x3b8206='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x32ceca+'\x20AS\x20t\x0a\x20\x20\x20\x20\x20\x20SET\x20'+_0x334d20+_0x4ec436(0x152)+_0x18d033[_0x4ec436(0x18b)](_0x4ec436(0x19f))+'\x0a\x20\x20\x20\x20\x20\x20)\x20AS\x20v('+[..._0x4712dc,..._0x35b3eb]['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x252ac8+_0x4ec436(0x177);return logger[_0x4ec436(0x198)]({'event':_0x33a3f1[_0x4ec436(0x14d)],'tableName':_0x32ceca,'rowCount':_0x911902['length'],'updateColumns':_0x35b3eb['length'],'dbType':_0x33a3f1['obrFh']},_0x33a3f1['WtnNv']),{'query':_0x3b8206,'values':[]};}['_buildBatchUpdateOracle'](_0x20b694,_0x2f9ff1,_0x1b9312,_0x33b2f7,_0x4c2b06,_0x1f23be={}){const _0x3f8c87=a0_0x56a89e,_0x5bf9a8={'DoNUf':function(_0x32a014,_0x2ad9b3,_0x5ad048){return _0x32a014(_0x2ad9b3,_0x5ad048);},'IfEyX':function(_0x38e792,_0x15bc54){return _0x38e792===_0x15bc54;},'tVsUT':'batch_update_no_columns','qXpQs':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','PVrQo':'\x20AND\x20','tefKZ':_0x3f8c87(0x197),'wpFYR':_0x3f8c87(0x15d)};if(_0x20b694['length']===0x0)return{'query':null,'values':[]};const _0x2b8b45=this['buildEscapeFunction'](_0x1f23be),_0x4b95a7=_0x1b9312['filter'](_0x56d2e6=>!_0x4c2b06[_0x3f8c87(0x1a1)](_0x56d2e6)&&_0x56d2e6!==_0x33b2f7);if(_0x5bf9a8[_0x3f8c87(0x1a5)](_0x4b95a7[_0x3f8c87(0x171)],0x0))return logger[_0x3f8c87(0x178)]({'event':_0x5bf9a8['tVsUT'],'tableName':_0x2f9ff1},_0x5bf9a8[_0x3f8c87(0x18f)]),{'query':null,'values':[]};const _0x43e196=[..._0x4c2b06,..._0x4b95a7],_0x51cd72=_0x20b694[_0x3f8c87(0x199)]((_0x2b7f5f,_0x40c018)=>{const _0x13c035=_0x3f8c87,_0x580975=_0x43e196['map'](_0x2c192c=>{const _0x271c98=_0x5bf9a8['DoNUf'](_0x2b8b45,_0x2b7f5f[_0x2c192c],_0x2c192c);return _0x40c018===0x0?_0x271c98+'\x20AS\x20'+_0x2c192c:_0x271c98;});return'\x20\x20\x20\x20SELECT\x20'+_0x580975[_0x13c035(0x18b)](',\x20')+'\x20FROM\x20DUAL';}),_0xe9485c=_0x4b95a7['map'](_0x5af7a8=>'t.'+_0x5af7a8+'\x20=\x20v.'+_0x5af7a8)['join'](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20'),_0x535c9d=_0x4c2b06[_0x3f8c87(0x199)](_0x186bc8=>'t.'+_0x186bc8+_0x3f8c87(0x16c)+_0x186bc8)[_0x3f8c87(0x18b)](_0x5bf9a8['PVrQo']),_0x4ea768=_0x3f8c87(0x190)+_0x2f9ff1+_0x3f8c87(0x189)+_0x51cd72['join']('\x0a\x20\x20\x20\x20UNION\x20ALL\x0a')+'\x0a\x20\x20\x20\x20\x20\x20)\x20v\x0a\x20\x20\x20\x20\x20\x20ON\x20('+_0x535c9d+')\x0a\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x20'+_0xe9485c+'\x0a\x20\x20\x20\x20';return logger[_0x3f8c87(0x198)]({'event':_0x5bf9a8[_0x3f8c87(0x17a)],'tableName':_0x2f9ff1,'rowCount':_0x20b694['length'],'updateColumns':_0x4b95a7['length'],'dbType':_0x5bf9a8[_0x3f8c87(0x167)]},_0x3f8c87(0x176)),{'query':_0x4ea768,'values':[]};}[a0_0x56a89e(0x151)](_0x53cd3f,_0xea2992,_0x135d03,_0xb6a8d,_0x27bdcc,_0x583259={}){const _0x3bdad5=a0_0x56a89e,_0x235303={'SGpQa':function(_0x5222ef,_0x11a1cf){return _0x5222ef===_0x11a1cf;},'runIi':_0x3bdad5(0x194),'OcNQu':_0x3bdad5(0x16b)};if(_0x53cd3f['length']===0x0)return{'query':null,'values':[]};const _0x2f0b38=this[_0x3bdad5(0x193)](_0x583259),_0x26aab4=_0x135d03['filter'](_0x272b30=>!_0x27bdcc[_0x3bdad5(0x1a1)](_0x272b30)&&_0x272b30!==_0xb6a8d);if(_0x235303['SGpQa'](_0x26aab4[_0x3bdad5(0x171)],0x0))return logger['warn']({'event':'batch_update_no_columns','tableName':_0xea2992},_0x3bdad5(0x17d)),{'query':null,'values':[]};const _0x2cf5a9=[...new Set([..._0x27bdcc,..._0x26aab4])],_0x30f1a7=_0x53cd3f['map'](_0x505e71=>{const _0x64ed95=_0x3bdad5,_0x1acc60=_0x2cf5a9['map'](_0x2bd373=>_0x2f0b38(_0x505e71[_0x2bd373],_0x2bd373));return'('+_0x1acc60[_0x64ed95(0x18b)](',\x20')+')';}),_0x14afc3=_0x26aab4['map'](_0x436662=>_0x436662+'\x20=\x20VALUES('+_0x436662+')')['join'](_0x235303[_0x3bdad5(0x164)]),_0x49887d='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0xea2992+'\x20('+_0x2cf5a9['join'](',\x20')+_0x3bdad5(0x155)+_0x30f1a7[_0x3bdad5(0x18b)](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20')+_0x3bdad5(0x17c)+_0x14afc3+_0x3bdad5(0x177);return logger[_0x3bdad5(0x198)]({'event':_0x3bdad5(0x197),'tableName':_0xea2992,'rowCount':_0x53cd3f[_0x3bdad5(0x171)],'updateColumns':_0x26aab4[_0x3bdad5(0x171)],'dbType':'mysql'},_0x235303[_0x3bdad5(0x195)]),{'query':_0x49887d,'values':[]};}[a0_0x56a89e(0x149)](_0x1650bd,_0x26abad=0x64){const _0x1eaef1=a0_0x56a89e,_0x4a9d6e={'KehJT':function(_0x19d5f5,_0x3ae4ae){return _0x19d5f5<_0x3ae4ae;},'OrBKE':function(_0x1c2209,_0x36d44d){return _0x1c2209+_0x36d44d;}},_0x45847b=[];for(let _0x445bba=0x0;_0x4a9d6e['KehJT'](_0x445bba,_0x1650bd[_0x1eaef1(0x171)]);_0x445bba+=_0x26abad){_0x45847b[_0x1eaef1(0x169)](_0x1650bd['slice'](_0x445bba,_0x4a9d6e[_0x1eaef1(0x150)](_0x445bba,_0x26abad)));}return _0x45847b;}}function a0_0x1ff8(_0x481a8b,_0x43c532){_0x481a8b=_0x481a8b-0x147;const _0xaf5358=a0_0xaf53();let _0x1ff8af=_0xaf5358[_0x481a8b];if(a0_0x1ff8['TygrQw']===undefined){var _0x1ece10=function(_0x57c5f3){const _0x567739='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5b75e5='',_0x5be709='';for(let _0x425903=0x0,_0x37def8,_0x5725c9,_0x149a2a=0x0;_0x5725c9=_0x57c5f3['charAt'](_0x149a2a++);~_0x5725c9&&(_0x37def8=_0x425903%0x4?_0x37def8*0x40+_0x5725c9:_0x5725c9,_0x425903++%0x4)?_0x5b75e5+=String['fromCharCode'](0xff&_0x37def8>>(-0x2*_0x425903&0x6)):0x0){_0x5725c9=_0x567739['indexOf'](_0x5725c9);}for(let _0x1d1f68=0x0,_0x573b37=_0x5b75e5['length'];_0x1d1f68<_0x573b37;_0x1d1f68++){_0x5be709+='%'+('00'+_0x5b75e5['charCodeAt'](_0x1d1f68)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5be709);};a0_0x1ff8['KpexrJ']=_0x1ece10,a0_0x1ff8['GItnKh']={},a0_0x1ff8['TygrQw']=!![];}const _0x27813c=_0xaf5358[0x0],_0x1de567=_0x481a8b+_0x27813c,_0x270baa=a0_0x1ff8['GItnKh'][_0x1de567];return!_0x270baa?(_0x1ff8af=a0_0x1ff8['KpexrJ'](_0x1ff8af),a0_0x1ff8['GItnKh'][_0x1de567]=_0x1ff8af):_0x1ff8af=_0x270baa,_0x1ff8af;}module['exports']=new UpsertBuilder();function a0_0xaf53(){const _0x4279be=['mtCYvwnhu0XH','sw52ywXPzcbeqL9uwvbfoIa','zw52','D3bpwhu','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHpCMfJBguGtuvsr0uP','cIaGica','D2fYBG','CMLQCfi','DgvMs1O','zM9YBwf0rgf0zvzHBhvL','cIaGicaGie9oiervueXjq0fursblrvKGvvbeqvrfia','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','nZqYndy3mhzzs2HKAq','lI9SB2DNzxi','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','yNvPBgrcyxrJAeLUC2vYDa','ieftierbveuP','icbjtLrpia','u0rPzgC','t1jbq0Xf','DhLWzq','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','lIbgywXSAw5NigjHy2SGDg8GCg9ZDgDYzxnXBc4','ihqkicaGicaGvvnjtKCGkaO','zK5Qt0q','AM9PBG','q1HKz1y','BNvTyMvY','mtG5ode1n1bWtNPryq','CvHWuxm','cIaGicaGie1fuKDfieLove8G','ue9tveDsrvnrta','u1fmsvrf','yNvPBgrfC2nHCgvgDw5JDgLVBG','laOGicaGicaGica','t2nouxu','z2v0rgf0ywjHC2vuExbL','yMf0y2HFDxbKyxrLx2j1AwX0','zgvIDwC','BwfW','mMDnqxnzyW','C3rYAw5N','u1fmu0vsvKvs','zgf0zq','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','laOGicaGicaGia','Aw52ywXPzf9KyL90ExbL','Aw5JBhvKzxm','tLvmtdO6refurq','zMLSDgvY','yMf0y2HFAw5Zzxj0x2j1AwX0','swzfEvG','oJPeqvrf','zu92rMy','y2H1BMTsB3DZ','C3fSAxrL','Cg9ZDgDYzxnXBa','tLvmta','CLHhquO','mJi4nZGYvNr6txHH','oJPct09mrufo','t3jcs0u','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','cIaGicaGiezst00GkfzbtfvfuWOGicaGicaGia','mJfTuNPdsgC','vNjTA04','kqOGicaGicbwquXvrvmG','ve9FrefursG','CfbUBhG','tvLtuuW','mJy3mZiWn0jwtKncvq','Dg9mB3DLCKnHC2u','nZKZnZuYteXHzuzl','cLnftevdvcaXiezst00Grfvbta','B3jHy2XL','rejFvfLqrq','yM9VBgvHBG','mtC3ntqWs0Dht3jT','Ewzpu3O','mZe2odaXmKPRuhv4CW','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','CNvUswK','C3fSC2vYDMvY','zM9YBwf0qM9VBgvHBLzHBhvL','D3bgwvi','CMvWBgfJzq','ChvZAa','wK1KAuW','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHnEvnrtcbptIbevvbmsunbveuGs0vzkq','id0GDI4','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHpCMfJBguP','DvDlzgK','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','mtbqCvPAzgy','BgvUz3rO'];a0_0xaf53=function(){return _0x4279be;};return a0_0xaf53();}
1
+ function a0_0x2bd7(_0x180ff2,_0x1ff408){_0x180ff2=_0x180ff2-0xa1;const _0x542b17=a0_0x542b();let _0x2bd7b4=_0x542b17[_0x180ff2];if(a0_0x2bd7['kckBbU']===undefined){var _0x262a30=function(_0x4e79a2){const _0x2e1605='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x188063='',_0x3f976f='';for(let _0x56c506=0x0,_0x17d4a,_0xeff047,_0x296a7b=0x0;_0xeff047=_0x4e79a2['charAt'](_0x296a7b++);~_0xeff047&&(_0x17d4a=_0x56c506%0x4?_0x17d4a*0x40+_0xeff047:_0xeff047,_0x56c506++%0x4)?_0x188063+=String['fromCharCode'](0xff&_0x17d4a>>(-0x2*_0x56c506&0x6)):0x0){_0xeff047=_0x2e1605['indexOf'](_0xeff047);}for(let _0x9cf023=0x0,_0x3b4b77=_0x188063['length'];_0x9cf023<_0x3b4b77;_0x9cf023++){_0x3f976f+='%'+('00'+_0x188063['charCodeAt'](_0x9cf023)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3f976f);};a0_0x2bd7['rBDoal']=_0x262a30,a0_0x2bd7['rOgqFr']={},a0_0x2bd7['kckBbU']=!![];}const _0x1f4dcf=_0x542b17[0x0],_0x25995d=_0x180ff2+_0x1f4dcf,_0x5a3723=a0_0x2bd7['rOgqFr'][_0x25995d];return!_0x5a3723?(_0x2bd7b4=a0_0x2bd7['rBDoal'](_0x2bd7b4),a0_0x2bd7['rOgqFr'][_0x25995d]=_0x2bd7b4):_0x2bd7b4=_0x5a3723,_0x2bd7b4;}const a0_0x2b2e90=a0_0x2bd7;(function(_0x536147,_0x9758a7){const _0x3dfa06=a0_0x2bd7,_0x4f038a=_0x536147();while(!![]){try{const _0x323ab1=-parseInt(_0x3dfa06(0xdf))/0x1+parseInt(_0x3dfa06(0xc7))/0x2*(-parseInt(_0x3dfa06(0x103))/0x3)+-parseInt(_0x3dfa06(0x105))/0x4*(parseInt(_0x3dfa06(0xa6))/0x5)+-parseInt(_0x3dfa06(0x107))/0x6*(-parseInt(_0x3dfa06(0xff))/0x7)+parseInt(_0x3dfa06(0xe0))/0x8+-parseInt(_0x3dfa06(0xb8))/0x9*(parseInt(_0x3dfa06(0xf6))/0xa)+parseInt(_0x3dfa06(0xd2))/0xb*(parseInt(_0x3dfa06(0xf1))/0xc);if(_0x323ab1===_0x9758a7)break;else _0x4f038a['push'](_0x4f038a['shift']());}catch(_0x5048a8){_0x4f038a['push'](_0x4f038a['shift']());}}}(a0_0x542b,0xbc831));const {logger}=require(a0_0x2b2e90(0xbd)),DB_TYPES={'POSTGRESQL':a0_0x2b2e90(0xcd),'MYSQL':a0_0x2b2e90(0xa4),'SQLSERVER':a0_0x2b2e90(0xf2),'ORACLE':a0_0x2b2e90(0xe2),'SQLITE':a0_0x2b2e90(0xe6)};class UpsertBuilder{[a0_0x2b2e90(0xb6)](){const _0x508205=a0_0x2b2e90,_0x265b32={'wXdHO':_0x508205(0xcd),'SXgoS':'invalid_db_type'},_0x33635f=(process['env']['DB_TYPE']||_0x265b32[_0x508205(0xc1)])['toLowerCase'](),_0x828fb7=Object[_0x508205(0xb9)](DB_TYPES);if(!_0x828fb7['includes'](_0x33635f))return logger['warn']({'event':_0x265b32[_0x508205(0xd7)],'provided':_0x33635f,'fallback':_0x265b32[_0x508205(0xc1)]},_0x508205(0xc5)+_0x33635f+_0x508205(0xa8)),DB_TYPES[_0x508205(0xdd)];return _0x33635f;}['formatDateValue'](_0x27c59f,_0x12ad44,_0x4ebe55=![]){const _0x2ca35d=a0_0x2b2e90,_0x1e91fa={'Wtswo':'NULL::DATE','bUbOl':_0x2ca35d(0xda)};if(_0x4ebe55)switch(_0x12ad44){case DB_TYPES['POSTGRESQL']:return _0x1e91fa[_0x2ca35d(0xef)];case DB_TYPES[_0x2ca35d(0xd8)]:return _0x1e91fa['bUbOl'];case DB_TYPES[_0x2ca35d(0xc6)]:return _0x1e91fa['bUbOl'];case DB_TYPES[_0x2ca35d(0xd3)]:return _0x1e91fa[_0x2ca35d(0xf5)];case DB_TYPES[_0x2ca35d(0xd5)]:return _0x1e91fa[_0x2ca35d(0xf5)];default:return _0x2ca35d(0x101);}switch(_0x12ad44){case DB_TYPES['POSTGRESQL']:return _0x27c59f+_0x2ca35d(0xbb);case DB_TYPES['MYSQL']:return _0x27c59f;case DB_TYPES['SQLITE']:return _0x27c59f;case DB_TYPES[_0x2ca35d(0xd3)]:return'CAST('+_0x27c59f+_0x2ca35d(0xe7);case DB_TYPES[_0x2ca35d(0xd5)]:return _0x2ca35d(0xce)+_0x27c59f+_0x2ca35d(0xba);default:return _0x27c59f+_0x2ca35d(0xbb);}}['formatBooleanValue'](_0x2f4af6,_0x4d243b,_0x1ea8f2=![]){const _0x4d3ac7=a0_0x2b2e90;if(_0x1ea8f2)switch(_0x4d243b){case DB_TYPES[_0x4d3ac7(0xdd)]:return _0x4d3ac7(0xca);default:return _0x4d3ac7(0xda);}switch(_0x4d243b){case DB_TYPES['POSTGRESQL']:return _0x2f4af6+'::BOOLEAN';case DB_TYPES['ORACLE']:return _0x2f4af6;case DB_TYPES[_0x4d3ac7(0xd8)]:return _0x2f4af6;case DB_TYPES[_0x4d3ac7(0xc6)]:return _0x2f4af6;case DB_TYPES['SQLSERVER']:return _0x4d3ac7(0xa7)+_0x2f4af6+'\x20AS\x20BIT)';default:return _0x2f4af6+_0x4d3ac7(0xbc);}}[a0_0x2b2e90(0xae)](_0x3991a6={}){const _0x8aef6d={'lnYyX':function(_0x5220a3,_0x1db229){return _0x5220a3===_0x1db229;},'IpKEK':'date','SQWbH':function(_0x3a90a9,_0x37cf12){return _0x3a90a9===_0x37cf12;},'UQPtr':'string','Jkbjs':function(_0x94088c,_0x491c1e){return _0x94088c===_0x491c1e;},'HNUQK':function(_0x39e2a5,_0x5904c4){return _0x39e2a5===_0x5904c4;},'VQbJI':function(_0x541f56,_0x18f7a1){return _0x541f56===_0x18f7a1;},'aIBOo':'boolean','pdgGW':function(_0x1d638c,_0x2ca014){return _0x1d638c(_0x2ca014);},'kpsIw':function(_0xd9186d,_0x4602c8){return _0xd9186d===_0x4602c8;}},_0x5ab36d=this['getDatabaseType']();return(_0x1d3b59,_0x34acf4)=>{const _0x1a91d4=a0_0x2bd7,_0x4470ff=_0x3991a6[_0x34acf4];if(_0x1d3b59===null||_0x8aef6d['lnYyX'](_0x1d3b59,undefined)){if(_0x4470ff&&_0x4470ff['type']===_0x8aef6d[_0x1a91d4(0xa3)])return this[_0x1a91d4(0x106)](null,_0x5ab36d,!![]);if(_0x4470ff&&_0x4470ff['type']==='boolean')return this[_0x1a91d4(0xe5)](null,_0x5ab36d,!![]);return _0x1a91d4(0xda);}if(_0x8aef6d['SQWbH'](typeof _0x1d3b59,_0x8aef6d[_0x1a91d4(0xab)])){const _0xefe5fb='\x27'+_0x1d3b59[_0x1a91d4(0xaf)](/'/g,'\x27\x27')+'\x27';if(_0x4470ff&&_0x8aef6d['Jkbjs'](_0x4470ff[_0x1a91d4(0xcc)],_0x8aef6d['IpKEK']))return this[_0x1a91d4(0x106)](_0xefe5fb,_0x5ab36d,![]);if(_0x4470ff&&_0x8aef6d[_0x1a91d4(0xc4)](_0x4470ff['type'],'boolean'))return this['formatBooleanValue'](_0xefe5fb,_0x5ab36d,![]);return _0xefe5fb;}if(_0x8aef6d['VQbJI'](typeof _0x1d3b59,_0x1a91d4(0xc9)))return _0x1d3b59;if(typeof _0x1d3b59===_0x8aef6d[_0x1a91d4(0x104)])return _0x1d3b59;const _0x22c89f='\x27'+_0x8aef6d[_0x1a91d4(0x100)](String,_0x1d3b59)[_0x1a91d4(0xaf)](/'/g,'\x27\x27')+'\x27';if(_0x4470ff&&_0x8aef6d[_0x1a91d4(0xed)](_0x4470ff[_0x1a91d4(0xcc)],_0x1a91d4(0xec)))return this[_0x1a91d4(0x106)](_0x22c89f,_0x5ab36d,![]);return _0x22c89f;};}[a0_0x2b2e90(0xfd)](_0x290490,_0x490fa2,_0x462b1a,_0x5eb37c={}){const _0x219e4d=a0_0x2b2e90,_0x560b14=this['getDatabaseType']();if(_0x560b14===DB_TYPES[_0x219e4d(0xd5)])return this['_buildBatchInsertOracle'](_0x290490,_0x490fa2,_0x462b1a,_0x5eb37c);return this[_0x219e4d(0xf9)](_0x290490,_0x490fa2,_0x462b1a,_0x5eb37c);}[a0_0x2b2e90(0xf9)](_0x672abb,_0xb0edf4,_0x34f827,_0x58f0cf={}){const _0x467922=a0_0x2b2e90,_0x3820a7={'iTJDS':function(_0x30166c,_0x521d4b){return _0x30166c===_0x521d4b;},'WDCtI':_0x467922(0xe4),'pzcor':'postgresql','vXqMx':_0x467922(0xc0)};if(_0x3820a7['iTJDS'](_0x672abb['length'],0x0))return{'query':null,'values':[]};const _0x339709=this['buildEscapeFunction'](_0x58f0cf),_0x47ca8c=_0x672abb[_0x467922(0xbf)](_0x50053f=>{const _0x2a3c6c=_0x467922,_0x3c3de6=_0x34f827[_0x2a3c6c(0xbf)](_0x326945=>_0x339709(_0x50053f[_0x326945],_0x326945));return'('+_0x3c3de6['join'](',\x20')+')';}),_0x52f4cc=_0x467922(0xcb)+_0xb0edf4+'\x20('+_0x34f827['join'](',\x20')+_0x467922(0x109)+_0x47ca8c[_0x467922(0x108)](_0x3820a7[_0x467922(0xa1)])+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':'batch_insert_built','tableName':_0xb0edf4,'rowCount':_0x672abb[_0x467922(0xa5)],'dbType':_0x3820a7['pzcor']},_0x3820a7['vXqMx']),{'query':_0x52f4cc,'values':[]};}['_buildBatchInsertOracle'](_0x5101f9,_0x3257d8,_0x4e322d,_0x46db50={}){const _0xd737dc=a0_0x2b2e90,_0xddb6ea={'rBvtJ':_0xd737dc(0xf8)};if(_0x5101f9['length']===0x0)return{'query':null,'values':[]};const _0x51eb0c=this['buildEscapeFunction'](_0x46db50),_0x12d027=_0x5101f9['map'](_0x3e0437=>{const _0x12b06d=_0xd737dc,_0x5dfdfb=_0x4e322d['map'](_0x4fa1f8=>_0x51eb0c(_0x3e0437[_0x4fa1f8],_0x4fa1f8));return _0x12b06d(0xf7)+_0x3257d8+'\x20('+_0x4e322d['join'](',\x20')+')\x20VALUES\x20('+_0x5dfdfb[_0x12b06d(0x108)](',\x20')+')';}),_0x11d0bd='INSERT\x20ALL\x0a'+_0x12d027[_0xd737dc(0x108)]('\x0a')+_0xd737dc(0x102);return logger['debug']({'event':'batch_insert_built','tableName':_0x3257d8,'rowCount':_0x5101f9['length'],'dbType':_0xd737dc(0xe2)},_0xddb6ea['rBvtJ']),{'query':_0x11d0bd,'values':[]};}['buildBatchUpdate'](_0x2c8c58,_0x4b3e0e,_0x38d07d,_0xb03b8d,_0x53d4ee,_0x527d52={}){const _0x30311c=a0_0x2b2e90,_0x562631={'NMOQb':function(_0x1f1c16,_0x2d62c9){return _0x1f1c16===_0x2d62c9;}},_0x1c293b=this['getDatabaseType']();if(_0x562631[_0x30311c(0xdc)](_0x1c293b,DB_TYPES[_0x30311c(0xd5)]))return this['_buildBatchUpdateOracle'](_0x2c8c58,_0x4b3e0e,_0x38d07d,_0xb03b8d,_0x53d4ee,_0x527d52);if(_0x562631['NMOQb'](_0x1c293b,DB_TYPES['MYSQL']))return this[_0x30311c(0xb4)](_0x2c8c58,_0x4b3e0e,_0x38d07d,_0xb03b8d,_0x53d4ee,_0x527d52);return this[_0x30311c(0xad)](_0x2c8c58,_0x4b3e0e,_0x38d07d,_0xb03b8d,_0x53d4ee,_0x527d52);}['_buildBatchUpdatePostgres'](_0x22b88a,_0x576774,_0x1ea954,_0x39f54c,_0x25faca,_0x451140={}){const _0x15dd96=a0_0x2b2e90,_0x4d7c0b={'KYaiS':function(_0x40412e,_0x285b3e){return _0x40412e===_0x285b3e;},'odUGb':_0x15dd96(0xdb),'WioNA':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','LlQfo':'batch_update_built','uCGQO':'postgresql','JcWgB':_0x15dd96(0xb7)};if(_0x4d7c0b[_0x15dd96(0xee)](_0x22b88a['length'],0x0))return{'query':null,'values':[]};const _0x368fec=this['buildEscapeFunction'](_0x451140),_0x3dee76=_0x1ea954[_0x15dd96(0xe8)](_0x1a7d1f=>!_0x25faca[_0x15dd96(0xe1)](_0x1a7d1f)&&_0x1a7d1f!==_0x39f54c);if(_0x3dee76['length']===0x0)return logger[_0x15dd96(0xde)]({'event':_0x4d7c0b[_0x15dd96(0xaa)],'tableName':_0x576774},_0x4d7c0b[_0x15dd96(0xf3)]),{'query':null,'values':[]};const _0x2df435=_0x22b88a[_0x15dd96(0xbf)](_0x31742d=>{const _0x362be4=_0x15dd96,_0xe43ce4=[..._0x25faca,..._0x3dee76],_0x48f383=_0xe43ce4[_0x362be4(0xbf)](_0x2f360e=>_0x368fec(_0x31742d[_0x2f360e],_0x2f360e));return'('+_0x48f383[_0x362be4(0x108)](',\x20')+')';}),_0x529313=_0x3dee76['map'](_0x121707=>_0x121707+'\x20=\x20v.'+_0x121707)['join'](_0x15dd96(0xf4)),_0x2a379f=_0x25faca[_0x15dd96(0xbf)](_0x430818=>'t.'+_0x430818+'\x20=\x20v.'+_0x430818)[_0x15dd96(0x108)]('\x20AND\x20'),_0x2d2956='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x576774+_0x15dd96(0xfb)+_0x529313+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20(VALUES\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x2df435['join'](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20')+_0x15dd96(0xa2)+[..._0x25faca,..._0x3dee76]['join'](',\x20')+_0x15dd96(0xa9)+_0x2a379f+_0x15dd96(0xb0);return logger[_0x15dd96(0xd0)]({'event':_0x4d7c0b[_0x15dd96(0xfe)],'tableName':_0x576774,'rowCount':_0x22b88a[_0x15dd96(0xa5)],'updateColumns':_0x3dee76[_0x15dd96(0xa5)],'dbType':_0x4d7c0b['uCGQO']},_0x4d7c0b['JcWgB']),{'query':_0x2d2956,'values':[]};}[a0_0x2b2e90(0xb5)](_0x2ca233,_0x4860e3,_0x32d524,_0x550f1b,_0x784477,_0x4c6d70={}){const _0x4cef31=a0_0x2b2e90,_0x3fbb1f={'WoLHx':function(_0x277abf,_0x15193e,_0x2ca918){return _0x277abf(_0x15193e,_0x2ca918);},'NEiyf':function(_0x3a2922,_0x13a0cf){return _0x3a2922===_0x13a0cf;},'hAXxT':function(_0x15d62e,_0x130ac9){return _0x15d62e===_0x130ac9;},'LGpXA':function(_0x3d4a55,_0x53de61){return _0x3d4a55===_0x53de61;},'luNdn':_0x4cef31(0xc3),'MWMQO':_0x4cef31(0xeb),'hcOdk':_0x4cef31(0xe2),'IvcLL':'Batch\x20UPDATE\x20query\x20built\x20(Oracle\x20MERGE)'};if(_0x3fbb1f['hAXxT'](_0x2ca233[_0x4cef31(0xa5)],0x0))return{'query':null,'values':[]};const _0x4cb587=this['buildEscapeFunction'](_0x4c6d70),_0x5ad33e=_0x32d524['filter'](_0x56692e=>!_0x784477[_0x4cef31(0xe1)](_0x56692e)&&_0x56692e!==_0x550f1b);if(_0x3fbb1f[_0x4cef31(0xbe)](_0x5ad33e['length'],0x0))return logger[_0x4cef31(0xde)]({'event':_0x4cef31(0xdb),'tableName':_0x4860e3},_0x3fbb1f[_0x4cef31(0xc2)]),{'query':null,'values':[]};const _0x2a27e5=[..._0x784477,..._0x5ad33e],_0x1428d8=_0x2ca233['map']((_0x555f34,_0xa5356b)=>{const _0x58654d=_0x4cef31,_0x4436e4=_0x2a27e5[_0x58654d(0xbf)](_0xfb7e16=>{const _0x3c568a=_0x58654d,_0x4fd0e1=_0x3fbb1f[_0x3c568a(0xe9)](_0x4cb587,_0x555f34[_0xfb7e16],_0xfb7e16);return _0x3fbb1f[_0x3c568a(0xc8)](_0xa5356b,0x0)?_0x4fd0e1+'\x20AS\x20'+_0xfb7e16:_0x4fd0e1;});return _0x58654d(0xd4)+_0x4436e4[_0x58654d(0x108)](',\x20')+_0x58654d(0xb1);}),_0x138854=_0x5ad33e[_0x4cef31(0xbf)](_0x552544=>'t.'+_0x552544+'\x20=\x20v.'+_0x552544)[_0x4cef31(0x108)](_0x4cef31(0xf4)),_0x6fb923=_0x784477[_0x4cef31(0xbf)](_0xc7f734=>'t.'+_0xc7f734+'\x20=\x20v.'+_0xc7f734)['join']('\x20AND\x20'),_0x1a31af=_0x4cef31(0xb3)+_0x4860e3+'\x20t\x0a\x20\x20\x20\x20\x20\x20USING\x20(\x0a'+_0x1428d8[_0x4cef31(0x108)](_0x3fbb1f[_0x4cef31(0xea)])+_0x4cef31(0xd1)+_0x6fb923+')\x0a\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x20'+_0x138854+_0x4cef31(0xb0);return logger['debug']({'event':'batch_update_built','tableName':_0x4860e3,'rowCount':_0x2ca233['length'],'updateColumns':_0x5ad33e['length'],'dbType':_0x3fbb1f['hcOdk']},_0x3fbb1f['IvcLL']),{'query':_0x1a31af,'values':[]};}[a0_0x2b2e90(0xb4)](_0x230343,_0x56f7c0,_0x2c4b4e,_0x173de4,_0x4261df,_0x119b3d={}){const _0x5537ec=a0_0x2b2e90,_0x224ab1={'LjMuj':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','bHCYV':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','UcNtG':_0x5537ec(0xe3),'TdvBc':'batch_update_built','FkhkA':'mysql'};if(_0x230343[_0x5537ec(0xa5)]===0x0)return{'query':null,'values':[]};const _0x2d62ef=this['buildEscapeFunction'](_0x119b3d),_0x225c65=_0x2c4b4e[_0x5537ec(0xe8)](_0xd5c25=>!_0x4261df['includes'](_0xd5c25)&&_0xd5c25!==_0x173de4);if(_0x225c65['length']===0x0)return logger[_0x5537ec(0xde)]({'event':_0x5537ec(0xdb),'tableName':_0x56f7c0},_0x224ab1[_0x5537ec(0xfc)]),{'query':null,'values':[]};const _0x526359=[...new Set([..._0x4261df,..._0x225c65])],_0x16bf11=_0x230343[_0x5537ec(0xbf)](_0x2c61e4=>{const _0x2eea44=_0x5537ec,_0x57560b=_0x526359[_0x2eea44(0xbf)](_0x1aff66=>_0x2d62ef(_0x2c61e4[_0x1aff66],_0x1aff66));return'('+_0x57560b['join'](',\x20')+')';}),_0x158667=_0x225c65['map'](_0x1b1d1b=>_0x1b1d1b+_0x5537ec(0xd9)+_0x1b1d1b+')')['join'](_0x224ab1['bHCYV']),_0x2b356d='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x56f7c0+'\x20('+_0x526359[_0x5537ec(0x108)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x16bf11['join'](_0x224ab1[_0x5537ec(0xfa)])+_0x5537ec(0xb2)+_0x158667+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x224ab1[_0x5537ec(0xf0)],'tableName':_0x56f7c0,'rowCount':_0x230343[_0x5537ec(0xa5)],'updateColumns':_0x225c65[_0x5537ec(0xa5)],'dbType':_0x224ab1[_0x5537ec(0xac)]},_0x5537ec(0xd6)),{'query':_0x2b356d,'values':[]};}[a0_0x2b2e90(0xcf)](_0x5d86b2,_0x42dc31=0x64){const _0x37010c=a0_0x2b2e90,_0x22af5a={'oCiyy':function(_0x3653de,_0x574e79){return _0x3653de<_0x574e79;},'NBiaC':function(_0xc5751,_0x5aea65){return _0xc5751+_0x5aea65;}},_0x3d2ff3=[];for(let _0x5a2c65=0x0;_0x22af5a['oCiyy'](_0x5a2c65,_0x5d86b2[_0x37010c(0xa5)]);_0x5a2c65+=_0x42dc31){_0x3d2ff3['push'](_0x5d86b2['slice'](_0x5a2c65,_0x22af5a['NBiaC'](_0x5a2c65,_0x42dc31)));}return _0x3d2ff3;}}function a0_0x542b(){const _0x5cbac5=['DMfSDwvZ','lcaNwvLzws1nts1ercCP','oJPeqvrf','oJPct09mrufo','lI9SB2DNzxi','teDWwee','BwfW','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','D1HKse8','Bhvozg4','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','se5vuuS','sw52ywXPzcbeqL9uwvbfoIa','u1fmsvrf','mte0mdu1nM1xyKfwtW','tKvPEwy','BNvTyMvY','tLvmtdO6qK9ptevbtG','cIaGicaGieLou0vsvcbjtLrpia','DhLWzq','Cg9ZDgDYzxnXBa','ve9FrefursG','y2H1BMTsB3DZ','zgvIDwC','cIaGicaGicKGDGOGicaGicbptIaO','mteZmJiYodLuqNn3reK','u1fmu0vsvKvs','icaGifnftevdvca','t1jbq0Xf','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHnEvnrtcbptIbevvbmsunbveuGs0vzkq','u1HNB1m','tvLtuuW','id0GvKfmvuvtka','tLvmta','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','tK1puwi','ue9tveDsrvnrta','D2fYBG','mtm3mdiYngXQAK1zEq','nZK0mZC2merjsvnnzG','Aw5JBhvKzxm','B3jHy2XL','laOGicaGicaGia','laOGicaGicaG','zM9YBwf0qM9VBgvHBLzHBhvL','C3fSAxrL','ieftierbveuP','zMLSDgvY','v29mshG','tvDnuu8','cIaGicbvtKLptIbbteWk','zgf0zq','A3bZsxC','s1LHAvm','v3rZD28','vgr2qMm','mZzKCMLewhe','C3fSC2vYDMvY','v2LVtKe','laOGicaGicaGica','yLvIt2W','mtmZmtCXndbbDvPAwwK','icbjtLrpia','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHpCMfJBguP','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','vwnoDeC','ieftihqkicaGicaGu0vuia','tgPnDwO','yNvPBgrcyxrJAeLUC2vYDa','tgXrzM8','n3nlDMTQsa','CgrNr1C','tLvmtdO6refurq','cLnftevdvcaXiezst00Grfvbta','m1Lgt2jNtG','yuLct28','nJeWmde1nNHVvLPAqG','zM9YBwf0rgf0zvzHBhvL','odKZmte5ohP1CxfzCG','AM9PBG','kqOGicaGicbwquXvrvmG','v0rdDeK','cIaGicaGicKGqvmGDIG','sxblruS','BxLZCwW','BgvUz3rO','nu5lzxbwyq','q0ftvcG','lIbgywXSAw5NigjHy2SGDg8GCg9ZDgDYzxnXBc4','kqOGicaGicbxsevsrsa','B2rvr2i','vvfqDhi','rMTOA0e','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','yNvPBgrfC2nHCgvgDw5JDgLVBG','CMvWBgfJzq','cIaGica','iezst00Grfvbta','cIaGicaGie9oiervueXjq0fursblrvKGvvbeqvrfia','cIaGicaGie1fuKDfieLove8G','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','z2v0rgf0ywjHC2vuExbL','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','ovnzyKz3wG'];a0_0x542b=function(){return _0x5cbac5;};return a0_0x542b();}module['exports']=new UpsertBuilder();
@@ -1 +1 @@
1
- const a0_0x491fee=a0_0x3bb2;(function(_0x3eaab3,_0x357b18){const _0x7e9057=a0_0x3bb2,_0x37e035=_0x3eaab3();while(!![]){try{const _0x2402ea=parseInt(_0x7e9057(0x93))/0x1+parseInt(_0x7e9057(0x92))/0x2+-parseInt(_0x7e9057(0x7f))/0x3+-parseInt(_0x7e9057(0x76))/0x4+-parseInt(_0x7e9057(0x8f))/0x5+-parseInt(_0x7e9057(0x73))/0x6+parseInt(_0x7e9057(0x7a))/0x7;if(_0x2402ea===_0x357b18)break;else _0x37e035['push'](_0x37e035['shift']());}catch(_0x370fa2){_0x37e035['push'](_0x37e035['shift']());}}}(a0_0x10c8,0x18f18));const axios=require(a0_0x491fee(0x8a)),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD=a0_0x491fee(0x7e),DEFAULT_HOST='localhost',DEFAULT_PORT=0xbb8;function resolveTemplateString(_0x228a8a,_0x15d7c9){const _0x35497c=a0_0x491fee,_0x5d3ef0={'KecEn':function(_0x2647fe,_0x4aecef){return _0x2647fe!==_0x4aecef;},'dwrYJ':function(_0x2c4290,_0x1448c6){return _0x2c4290(_0x1448c6);},'KmSAf':'string'};if(typeof _0x228a8a!==_0x5d3ef0['KmSAf'])return _0x228a8a;return _0x228a8a[_0x35497c(0x88)](/\{\{([^}]+)\}\}/g,(_0x33f803,_0x28781e)=>{const _0x1ec874=_0x35497c,_0x33ace0=_0x28781e['trim'](),_0x418fa9=getNestedValue(_0x15d7c9,_0x33ace0);if(_0x5d3ef0['KecEn'](_0x418fa9,undefined)&&_0x5d3ef0['KecEn'](_0x418fa9,null))return typeof _0x418fa9==='object'?JSON[_0x1ec874(0x84)](_0x418fa9):_0x5d3ef0['dwrYJ'](String,_0x418fa9);return _0x33f803;});}function resolveTemplateVariables(_0x917848,_0x18e97f){const _0x498ed7=a0_0x491fee,_0x509ef7={'qSiBE':function(_0x12aa87,_0x50ef6a){return _0x12aa87===_0x50ef6a;},'avQyQ':function(_0xe2b03e,_0x5b3206,_0x38d95e){return _0xe2b03e(_0x5b3206,_0x38d95e);},'HUyPa':function(_0x399cf8,_0x173206){return _0x399cf8!==_0x173206;},'lLLnO':function(_0x6e3360,_0x542671){return _0x6e3360===_0x542671;}};if(_0x509ef7[_0x498ed7(0x77)](typeof _0x917848,_0x498ed7(0x70)))return _0x509ef7[_0x498ed7(0x6d)](resolveTemplateString,_0x917848,_0x18e97f);if(Array['isArray'](_0x917848))return _0x917848[_0x498ed7(0x82)](_0x3452a9=>resolveTemplateVariables(_0x3452a9,_0x18e97f));if(_0x509ef7['HUyPa'](_0x917848,null)&&_0x509ef7['lLLnO'](typeof _0x917848,'object')){const _0x2df5ff={};for(const [_0x25b8de,_0x1f9b21]of Object['entries'](_0x917848)){_0x2df5ff[_0x25b8de]=resolveTemplateVariables(_0x1f9b21,_0x18e97f);}return _0x2df5ff;}return _0x917848;}function getNestedValue(_0x262881,_0x56bd3e){const _0x4efd36=a0_0x491fee,_0x2b6f7a={'OAJSB':function(_0x387b4f,_0x454a43){return _0x387b4f!==_0x454a43;}};return _0x56bd3e['split']('.')[_0x4efd36(0x91)]((_0x1fd19f,_0x11eab7)=>{return _0x1fd19f&&_0x2b6f7a['OAJSB'](_0x1fd19f[_0x11eab7],undefined)?_0x1fd19f[_0x11eab7]:undefined;},_0x262881);}function resolveUrl(_0x3fe5bf,_0x10b454){const _0x1740aa=a0_0x491fee,_0x29c811={'AYiIo':'/api/'};if(!_0x3fe5bf||typeof _0x3fe5bf!=='string')return _0x3fe5bf;if(_0x3fe5bf['startsWith'](_0x1740aa(0x9a))||_0x3fe5bf[_0x1740aa(0x94)]('https://'))return _0x3fe5bf;const _0xb51a95=process[_0x1740aa(0x85)][_0x1740aa(0x6e)]||process[_0x1740aa(0x85)][_0x1740aa(0x96)]||DEFAULT_HOST,_0x38a6b5=process['env']['PORT']||DEFAULT_PORT,_0x17e68b=_0x1740aa(0x9a)+_0xb51a95+':'+_0x38a6b5;if(_0x3fe5bf[_0x1740aa(0x94)](_0x29c811[_0x1740aa(0x89)]))return''+_0x17e68b+_0x3fe5bf;if(_0x3fe5bf['startsWith']('/')){const _0xd25420=_0x10b454&&_0x10b454[_0x1740aa(0x83)]||'';if(_0xd25420)return _0x17e68b+_0x1740aa(0x7b)+_0xd25420+_0x3fe5bf;return''+_0x17e68b+_0x3fe5bf;}return _0x3fe5bf;}function buildHookContext(_0x385aea){const _0x12016=a0_0x491fee;return{'id':_0x385aea['id']||'','newStatus':_0x385aea['newStatus']||'','oldStatus':_0x385aea['oldStatus']||'','remarks':_0x385aea[_0x12016(0x90)]||'','tableName':_0x385aea['tableName']||'','user_id':_0x385aea['userId']||'system','timestamp':new Date()[_0x12016(0x98)](),'record':_0x385aea['record']||{},'requestData':_0x385aea[_0x12016(0x99)]||{},'project':_0x385aea[_0x12016(0x83)]||'','authHeader':_0x385aea['authHeader']||null};}async function executeHook(_0x1a0935,_0x43c0b2){const _0x3dce97=a0_0x491fee,_0x54f4b9={'upGNG':function(_0x4e7571,_0x238aa8){return _0x4e7571===_0x238aa8;},'Immes':function(_0x20c8a,_0x4a6da0,_0xcf2d4f){return _0x20c8a(_0x4a6da0,_0xcf2d4f);},'wjUYk':function(_0x199c81,_0x8a63d2,_0x36f955){return _0x199c81(_0x8a63d2,_0x36f955);},'daXLi':function(_0x532ca3,_0x3ce232){return _0x532ca3!==_0x3ce232;},'gsjca':'application/json'};if(!_0x1a0935||_0x1a0935['type']!=='api')return{'success':!![],'message':_0x3dce97(0x74)};const _0x2fda83=_0x54f4b9[_0x3dce97(0x87)](_0x1a0935['blocking'],!![]),_0x3eb0f1=(_0x1a0935[_0x3dce97(0x6c)]||DEFAULT_METHOD)['toUpperCase'](),_0x5cf5c1=_0x1a0935['timeout']||DEFAULT_TIMEOUT,_0x5b8c28=resolveTemplateString(_0x1a0935[_0x3dce97(0x8c)],_0x43c0b2),_0x407866=resolveUrl(_0x5b8c28,_0x43c0b2),_0x105b32=_0x1a0935[_0x3dce97(0x71)]?_0x54f4b9[_0x3dce97(0x80)](resolveTemplateVariables,_0x1a0935[_0x3dce97(0x71)],_0x43c0b2):{},_0x1c0a56=_0x1a0935[_0x3dce97(0x95)]?_0x54f4b9[_0x3dce97(0x97)](resolveTemplateVariables,_0x1a0935[_0x3dce97(0x95)],_0x43c0b2):{},_0x3da488=_0x1c0a56&&(_0x54f4b9['daXLi'](_0x1c0a56['Authorization'],undefined)||_0x1c0a56[_0x3dce97(0x6f)]!==undefined),_0x1aedac=!_0x3da488&&_0x43c0b2&&_0x43c0b2[_0x3dce97(0x78)]?{'Authorization':_0x43c0b2['authHeader']}:{};try{const _0x56954a=await axios({'method':_0x3eb0f1['toLowerCase'](),'url':_0x407866,'data':_0x105b32,'headers':{'Content-Type':_0x54f4b9['gsjca'],'User-Agent':'RestForge-Workflow/1.0',..._0x1aedac,..._0x1c0a56},'timeout':_0x5cf5c1});return console['log']('Workflow\x20hook\x20executed:\x20'+_0x3eb0f1+'\x20'+_0x407866+'\x20→\x20'+_0x56954a[_0x3dce97(0x7c)]),{'success':!![],'message':'Hook\x20executed\x20successfully','status':_0x56954a[_0x3dce97(0x7c)],'url':_0x407866};}catch(_0x50e100){const _0x2d254c=_0x50e100['response']?_0x3dce97(0x75)+_0x50e100['response'][_0x3dce97(0x7c)]+':\x20'+_0x50e100[_0x3dce97(0x72)][_0x3dce97(0x86)]:_0x50e100[_0x3dce97(0x8d)];console['error'](_0x3dce97(0x8b)+_0x3eb0f1+'\x20'+_0x407866+'\x20→\x20'+_0x2d254c);if(_0x2fda83)return{'success':![],'message':'Blocking\x20hook\x20failed:\x20'+_0x2d254c,'error':_0x2d254c,'url':_0x407866};return console['warn'](_0x3dce97(0x81)+_0x2d254c),{'success':!![],'message':'Non-blocking\x20hook\x20failed\x20(ignored):\x20'+_0x2d254c,'warning':_0x2d254c,'url':_0x407866};}}async function executeHooks(_0x446a7a,_0x408765){const _0x531d4d=a0_0x491fee;if(!_0x446a7a||!Array[_0x531d4d(0x7d)](_0x446a7a)||_0x446a7a['length']===0x0)return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x33d3b4=[];for(const _0x194091 of _0x446a7a){const _0x6ace88=await executeHook(_0x194091,_0x408765);_0x33d3b4[_0x531d4d(0x8e)](_0x6ace88);if(!_0x6ace88['success'])return{'success':![],'error':_0x6ace88['message']||'Hook\x20execution\x20failed','results':_0x33d3b4,'hooksExecuted':_0x33d3b4[_0x531d4d(0x79)]};}return{'success':!![],'results':_0x33d3b4,'hooksExecuted':_0x33d3b4['length']};}module['exports']={'resolveTemplateString':resolveTemplateString,'resolveTemplateVariables':resolveTemplateVariables,'resolveUrl':resolveUrl,'buildHookContext':buildHookContext,'executeHook':executeHook,'executeHooks':executeHooks};function a0_0x3bb2(_0x5e97b9,_0x2d21db){_0x5e97b9=_0x5e97b9-0x6c;const _0x10c8f0=a0_0x10c8();let _0x3bb2a3=_0x10c8f0[_0x5e97b9];if(a0_0x3bb2['rRrkSt']===undefined){var _0x28260c=function(_0x104af1){const _0x3d25ab='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x47941c='',_0x501052='';for(let _0x7d8281=0x0,_0x436fb1,_0x608fce,_0x1f79f4=0x0;_0x608fce=_0x104af1['charAt'](_0x1f79f4++);~_0x608fce&&(_0x436fb1=_0x7d8281%0x4?_0x436fb1*0x40+_0x608fce:_0x608fce,_0x7d8281++%0x4)?_0x47941c+=String['fromCharCode'](0xff&_0x436fb1>>(-0x2*_0x7d8281&0x6)):0x0){_0x608fce=_0x3d25ab['indexOf'](_0x608fce);}for(let _0x39a062=0x0,_0x2d3a50=_0x47941c['length'];_0x39a062<_0x2d3a50;_0x39a062++){_0x501052+='%'+('00'+_0x47941c['charCodeAt'](_0x39a062)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x501052);};a0_0x3bb2['ipxKNh']=_0x28260c,a0_0x3bb2['ardznf']={},a0_0x3bb2['rRrkSt']=!![];}const _0x50e480=_0x10c8f0[0x0],_0x13ca61=_0x5e97b9+_0x50e480,_0x186693=a0_0x3bb2['ardznf'][_0x13ca61];return!_0x186693?(_0x3bb2a3=a0_0x3bb2['ipxKNh'](_0x3bb2a3),a0_0x3bb2['ardznf'][_0x13ca61]=_0x3bb2a3):_0x3bb2a3=_0x186693,_0x3bb2a3;}function a0_0x10c8(){const _0x5bd32f=['mJmXoty2zeTzCNHZ','odGWmxzbz0X5rq','C3rHCNrZv2L0Aa','AgvHzgvYCW','se9tva','D2PvwwS','Dg9ju09tDhjPBMC','CMvXDwvZDerHDge','Ahr0CdOVlW','Bwv0Ag9K','yxzrEve','u0vsvKvsx0ferfjfu1m','yxv0Ag9YAxPHDgLVBG','C3rYAw5N','yM9KEq','CMvZCg9UC2u','mJq2ody0rMPRCgH2','sg9VAYbZA2LWCgvKoIb1BNn1ChbVCNrLzcb0ExbL','sfruuca','mJm4nJbVshvdDLu','CvnPqKu','yxv0AeHLywrLCG','BgvUz3rO','mJmWnJmZoxbpwfzqCa','l2fWAs8','C3rHDhvZ','AxnbCNjHEq','ue9tva','ndy2mZKYELLAsxH6','sw1Tzxm','tM9UlwjSB2nRAw5NigHVB2SGzMfPBgvKicHPz25VCMvKktOG','BwfW','ChjVAMvJDa','C3rYAw5NAwz5','zw52','C3rHDhvZvgv4Da','DxbhtKC','CMvWBgfJzq','qvLPsw8','yxHPB3m','v29YA2zSB3CGAg9VAYbMywLSzwq6ia','DxjS','BwvZC2fNzq','ChvZAa','nZq3nJaWu0jpAK5R','CMvTyxjRCW','CMvKDwnL'];a0_0x10c8=function(){return _0x5bd32f;};return a0_0x10c8();}
1
+ const a0_0xf13f29=a0_0x17e5;(function(_0x37e812,_0x32e115){const _0x5c98d7=a0_0x17e5,_0x357d94=_0x37e812();while(!![]){try{const _0xb222bb=parseInt(_0x5c98d7(0x188))/0x1*(-parseInt(_0x5c98d7(0x173))/0x2)+parseInt(_0x5c98d7(0x167))/0x3+-parseInt(_0x5c98d7(0x16e))/0x4*(-parseInt(_0x5c98d7(0x181))/0x5)+parseInt(_0x5c98d7(0x15e))/0x6+-parseInt(_0x5c98d7(0x162))/0x7+parseInt(_0x5c98d7(0x15a))/0x8+parseInt(_0x5c98d7(0x158))/0x9*(-parseInt(_0x5c98d7(0x187))/0xa);if(_0xb222bb===_0x32e115)break;else _0x357d94['push'](_0x357d94['shift']());}catch(_0x2ac8d1){_0x357d94['push'](_0x357d94['shift']());}}}(a0_0x7e41,0xc343d));const axios=require('axios'),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD=a0_0xf13f29(0x15d),DEFAULT_HOST=a0_0xf13f29(0x151),DEFAULT_PORT=0xbb8;function resolveTemplateString(_0x2e581e,_0x2e6603){const _0x16af72=a0_0xf13f29,_0x29989c={'QTRCN':function(_0x3933f3,_0x206f23){return _0x3933f3!==_0x206f23;},'dhBDl':function(_0x2447af,_0x132ae5){return _0x2447af===_0x132ae5;},'RYpYD':function(_0x3981c6,_0x55307b){return _0x3981c6(_0x55307b);}};if(_0x29989c['QTRCN'](typeof _0x2e581e,_0x16af72(0x175)))return _0x2e581e;return _0x2e581e[_0x16af72(0x159)](/\{\{([^}]+)\}\}/g,(_0x645074,_0x5da00b)=>{const _0x4dd526=_0x16af72,_0xe0eddc=_0x5da00b['trim'](),_0x5e54a6=getNestedValue(_0x2e6603,_0xe0eddc);if(_0x29989c['QTRCN'](_0x5e54a6,undefined)&&_0x5e54a6!==null)return _0x29989c['dhBDl'](typeof _0x5e54a6,'object')?JSON[_0x4dd526(0x157)](_0x5e54a6):_0x29989c['RYpYD'](String,_0x5e54a6);return _0x645074;});}function resolveTemplateVariables(_0x5f1088,_0x5a1fe6){const _0x5e7331=a0_0xf13f29,_0x185a12={'xXjPn':function(_0x48fbad,_0x3f1a7b){return _0x48fbad===_0x3f1a7b;},'QyDLN':function(_0x2f1784,_0x4aa708,_0x4b3928){return _0x2f1784(_0x4aa708,_0x4b3928);},'ssusU':function(_0xc4202,_0x45474c){return _0xc4202!==_0x45474c;},'TEjYw':function(_0x238705,_0x3b825d){return _0x238705===_0x3b825d;}};if(_0x185a12['xXjPn'](typeof _0x5f1088,'string'))return _0x185a12[_0x5e7331(0x172)](resolveTemplateString,_0x5f1088,_0x5a1fe6);if(Array[_0x5e7331(0x183)](_0x5f1088))return _0x5f1088['map'](_0x23a31a=>resolveTemplateVariables(_0x23a31a,_0x5a1fe6));if(_0x185a12[_0x5e7331(0x154)](_0x5f1088,null)&&_0x185a12['TEjYw'](typeof _0x5f1088,'object')){const _0x3320c9={};for(const [_0x36b5e4,_0x328c8d]of Object[_0x5e7331(0x17d)](_0x5f1088)){_0x3320c9[_0x36b5e4]=_0x185a12[_0x5e7331(0x172)](resolveTemplateVariables,_0x328c8d,_0x5a1fe6);}return _0x3320c9;}return _0x5f1088;}function a0_0x7e41(){const _0x28899e=['ue9tva','ndu4nJC3ogjxtgrqwq','D29zsem','yxv0Ag9YAxPHDgLVBG','zxjYB3i','nJCZnJeZnuvmquHAwq','Dg9vChbLCKnHC2u','yxv0AeHLywrLCG','yM9KEq','C3rHDhvZ','ndiYodiWBxvrzvfY','B2XKu3rHDhvZ','BwL2sgi','C3rHDhvZvgv4Da','DxjS','CMvTyxjRCW','Ahr0CdOVlW','ntyYmtzJqKTmsxi','BwvZC2fNzq','l2fWAs8','C3vJy2vZCW','uxLete4','ndm4nJztEM5fCMG','BgvUz3rO','C3rYAw5N','sg9VAYbLEgvJDxrLzcbZDwnJzxnZzNvSBhK','C3rHCNrZv2L0Aa','B2j3vLe','sg9VAYbZA2LWCgvKoIb1BNn1ChbVCNrLzcb0ExbL','Ahr0Chm6lY8','u0vsvKvsx0ferfjfu1m','DgLTzw91Da','zw50CMLLCW','ue9sva','Bg9N','v29YA2zSB3CGAg9VAYbMywLSzwq6ia','mtuWAfDNtgjx','yMXVy2TPBMC','AxnbCNjHEq','CMvZCg9UC2u','DgfIBgvoyw1L','tM9UlwjSB2nRAw5NigHVB2SGzMfPBgvKicHPz25VCMvKktOG','mZu0meHVAwDnza','mMHHwhH3vq','C3bSAxq','Bg9JywXOB3n0','ChjVAMvJDa','D2fYBG','C3n1C1u','zw52','v3HNrgS','C3rYAw5NAwz5','mZqXmxzcsM5qrG','CMvWBgfJzq','ndKWndK1mLrnBfnPyW','z0ndD3e','iokgKIa'];a0_0x7e41=function(){return _0x28899e;};return a0_0x7e41();}function getNestedValue(_0x1d0f4a,_0x36533f){const _0x5f389c=a0_0xf13f29;return _0x36533f[_0x5f389c(0x150)]('.')['reduce']((_0x27e60a,_0x22f696)=>{return _0x27e60a&&_0x27e60a[_0x22f696]!==undefined?_0x27e60a[_0x22f696]:undefined;},_0x1d0f4a);}function resolveUrl(_0x2d3867,_0x1e90ab){const _0x2ec989=a0_0xf13f29,_0x10ae76={'KhIGI':function(_0x3fe916,_0x468002){return _0x3fe916!==_0x468002;},'dtkke':_0x2ec989(0x170)};if(!_0x2d3867||_0x10ae76['KhIGI'](typeof _0x2d3867,'string'))return _0x2d3867;if(_0x2d3867['startsWith'](_0x2ec989(0x16d))||_0x2d3867[_0x2ec989(0x177)](_0x2ec989(0x17a)))return _0x2d3867;const _0x159bfe=process['env'][_0x2ec989(0x17b)]||process[_0x2ec989(0x155)]['HOST']||DEFAULT_HOST,_0xe20bda=process['env'][_0x2ec989(0x17e)]||DEFAULT_PORT,_0xb2b95d='http://'+_0x159bfe+':'+_0xe20bda;if(_0x2d3867['startsWith'](_0x10ae76['dtkke']))return''+_0xb2b95d+_0x2d3867;if(_0x2d3867[_0x2ec989(0x177)]('/')){const _0x5e843a=_0x1e90ab&&_0x1e90ab[_0x2ec989(0x152)]||'';if(_0x5e843a)return _0xb2b95d+_0x2ec989(0x170)+_0x5e843a+_0x2d3867;return''+_0xb2b95d+_0x2d3867;}return _0x2d3867;}function buildHookContext(_0x30c953){const _0x321198=a0_0xf13f29,_0x2d57fc={'obwVQ':'system'};return{'id':_0x30c953['id']||'','newStatus':_0x30c953['newStatus']||'','oldStatus':_0x30c953[_0x321198(0x168)]||'','remarks':_0x30c953[_0x321198(0x16c)]||'','tableName':_0x30c953[_0x321198(0x185)]||'','user_id':_0x30c953['userId']||_0x2d57fc[_0x321198(0x178)],'timestamp':new Date()['toISOString'](),'record':_0x30c953['record']||{},'requestData':_0x30c953['requestData']||{},'project':_0x30c953['project']||'','authHeader':_0x30c953['authHeader']||null};}async function executeHook(_0x238141,_0x3c6190){const _0x1b1055=a0_0xf13f29,_0x4dead1={'gCCwq':'api','QMmDD':_0x1b1055(0x179),'mivHb':function(_0x18a8d2,_0x21ed56,_0x49442b){return _0x18a8d2(_0x21ed56,_0x49442b);},'hoqQA':function(_0x3d8ba9,_0x5549b4){return _0x3d8ba9!==_0x5549b4;},'WxgDk':'application/json'};if(!_0x238141||_0x238141['type']!==_0x4dead1[_0x1b1055(0x15b)])return{'success':!![],'message':_0x4dead1['QMmDD']};const _0x580523=_0x238141[_0x1b1055(0x182)]===!![],_0x386c8f=(_0x238141['method']||DEFAULT_METHOD)[_0x1b1055(0x163)](),_0x40e585=_0x238141[_0x1b1055(0x17c)]||DEFAULT_TIMEOUT,_0x51c3d=resolveTemplateString(_0x238141[_0x1b1055(0x16b)],_0x3c6190),_0x200a7f=_0x4dead1[_0x1b1055(0x169)](resolveUrl,_0x51c3d,_0x3c6190),_0x41826c=_0x238141['body']?_0x4dead1[_0x1b1055(0x169)](resolveTemplateVariables,_0x238141[_0x1b1055(0x165)],_0x3c6190):{},_0x54e785=_0x238141['headers']?resolveTemplateVariables(_0x238141['headers'],_0x3c6190):{},_0x26be99=_0x54e785&&(_0x54e785['Authorization']!==undefined||_0x4dead1['hoqQA'](_0x54e785[_0x1b1055(0x160)],undefined)),_0x31e1e3=!_0x26be99&&_0x3c6190&&_0x3c6190[_0x1b1055(0x164)]?{'Authorization':_0x3c6190['authHeader']}:{};try{const _0x7600e2=await axios({'method':_0x386c8f['toLowerCase'](),'url':_0x200a7f,'data':_0x41826c,'headers':{'Content-Type':_0x4dead1[_0x1b1055(0x156)],'User-Agent':'RestForge-Workflow/1.0',..._0x31e1e3,..._0x54e785},'timeout':_0x40e585});return console[_0x1b1055(0x17f)]('Workflow\x20hook\x20executed:\x20'+_0x386c8f+'\x20'+_0x200a7f+_0x1b1055(0x15c)+_0x7600e2[_0x1b1055(0x166)]),{'success':!![],'message':_0x1b1055(0x176),'status':_0x7600e2[_0x1b1055(0x166)],'url':_0x200a7f};}catch(_0x4adf4d){const _0x55ae1e=_0x4adf4d['response']?'HTTP\x20'+_0x4adf4d[_0x1b1055(0x184)][_0x1b1055(0x166)]+':\x20'+_0x4adf4d[_0x1b1055(0x184)][_0x1b1055(0x16a)]:_0x4adf4d['message'];console[_0x1b1055(0x161)](_0x1b1055(0x180)+_0x386c8f+'\x20'+_0x200a7f+'\x20→\x20'+_0x55ae1e);if(_0x580523)return{'success':![],'message':'Blocking\x20hook\x20failed:\x20'+_0x55ae1e,'error':_0x55ae1e,'url':_0x200a7f};return console[_0x1b1055(0x153)]('Non-blocking\x20hook\x20failed\x20(ignored):\x20'+_0x55ae1e),{'success':!![],'message':_0x1b1055(0x186)+_0x55ae1e,'warning':_0x55ae1e,'url':_0x200a7f};}}function a0_0x17e5(_0x16cf8a,_0x5e1986){_0x16cf8a=_0x16cf8a-0x150;const _0x7e41fe=a0_0x7e41();let _0x17e51f=_0x7e41fe[_0x16cf8a];if(a0_0x17e5['XUEsTm']===undefined){var _0x30a6a6=function(_0x37c746){const _0x4d9e6b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4be9c8='',_0x5c0433='';for(let _0x399286=0x0,_0x3070ef,_0x4a4108,_0x47fd80=0x0;_0x4a4108=_0x37c746['charAt'](_0x47fd80++);~_0x4a4108&&(_0x3070ef=_0x399286%0x4?_0x3070ef*0x40+_0x4a4108:_0x4a4108,_0x399286++%0x4)?_0x4be9c8+=String['fromCharCode'](0xff&_0x3070ef>>(-0x2*_0x399286&0x6)):0x0){_0x4a4108=_0x4d9e6b['indexOf'](_0x4a4108);}for(let _0x9be7b4=0x0,_0x145df3=_0x4be9c8['length'];_0x9be7b4<_0x145df3;_0x9be7b4++){_0x5c0433+='%'+('00'+_0x4be9c8['charCodeAt'](_0x9be7b4)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5c0433);};a0_0x17e5['KlwuTh']=_0x30a6a6,a0_0x17e5['DLtTNT']={},a0_0x17e5['XUEsTm']=!![];}const _0x429d6a=_0x7e41fe[0x0],_0x1cdbbb=_0x16cf8a+_0x429d6a,_0x942afd=a0_0x17e5['DLtTNT'][_0x1cdbbb];return!_0x942afd?(_0x17e51f=a0_0x17e5['KlwuTh'](_0x17e51f),a0_0x17e5['DLtTNT'][_0x1cdbbb]=_0x17e51f):_0x17e51f=_0x942afd,_0x17e51f;}async function executeHooks(_0x1ce8c0,_0x1f2d3d){const _0x161211=a0_0xf13f29,_0x3b08fb={'woYHC':function(_0x548924,_0x43ffc6){return _0x548924===_0x43ffc6;},'tjqWw':'Hook\x20execution\x20failed'};if(!_0x1ce8c0||!Array[_0x161211(0x183)](_0x1ce8c0)||_0x3b08fb[_0x161211(0x15f)](_0x1ce8c0['length'],0x0))return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x18d9b2=[];for(const _0x53cb47 of _0x1ce8c0){const _0x59a8ce=await executeHook(_0x53cb47,_0x1f2d3d);_0x18d9b2['push'](_0x59a8ce);if(!_0x59a8ce[_0x161211(0x171)])return{'success':![],'error':_0x59a8ce[_0x161211(0x16f)]||_0x3b08fb['tjqWw'],'results':_0x18d9b2,'hooksExecuted':_0x18d9b2[_0x161211(0x174)]};}return{'success':!![],'results':_0x18d9b2,'hooksExecuted':_0x18d9b2['length']};}module['exports']={'resolveTemplateString':resolveTemplateString,'resolveTemplateVariables':resolveTemplateVariables,'resolveUrl':resolveUrl,'buildHookContext':buildHookContext,'executeHook':executeHook,'executeHooks':executeHooks};