@restforgejs/platform 4.3.8 → 5.0.0

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 (190) hide show
  1. package/bin/sdf-tools.exe +0 -0
  2. package/build-info.json +2 -2
  3. package/cli/consumer-deploy.js +1 -1
  4. package/cli/consumer.js +1 -1
  5. package/generators/cli/payload/migrate.js +96 -96
  6. package/generators/lib/dbschema-kit/apply-engine.js +211 -46
  7. package/generators/lib/dbschema-kit/diff-engine.js +14 -2
  8. package/generators/lib/dbschema-kit/emitters/alter-table.js +96 -2
  9. package/generators/lib/dbschema-kit/introspect-mapper.js +9 -0
  10. package/generators/lib/migrate/backend-payload-migrator.js +221 -221
  11. package/generators/lib/migrate/field-type-resolver.js +319 -319
  12. package/generators/lib/migrate/label-generator.js +38 -38
  13. package/generators/lib/migrate/migrate-runner.js +187 -187
  14. package/generators/lib/migrate/naming.js +43 -43
  15. package/generators/lib/migrate/sql-parser.js +124 -124
  16. package/generators/lib/templates/dashboard-catalog.js +1 -1
  17. package/generators/lib/templates/db-connection-env.js +1 -1
  18. package/generators/lib/templates/dbschema-catalog.js +1 -1
  19. package/generators/lib/templates/field-validation-catalog.js +1 -1
  20. package/generators/lib/templates/mysql-template.js +1 -1
  21. package/generators/lib/templates/oracle-template.js +1 -1
  22. package/generators/lib/templates/postgres-template.js +1 -1
  23. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  24. package/generators/lib/templates/sqlite-template.js +1 -1
  25. package/integrity-manifest.json +18 -18
  26. package/node_modules/brace-expansion/index.js +1 -1
  27. package/node_modules/brace-expansion/package.json +1 -1
  28. package/node_modules/dayjs/CHANGELOG.md +7 -0
  29. package/node_modules/dayjs/README.md +12 -10
  30. package/node_modules/dayjs/dayjs.min.js +1 -1
  31. package/node_modules/dayjs/esm/constant.js +1 -1
  32. package/node_modules/dayjs/esm/plugin/duration/index.js +5 -4
  33. package/node_modules/dayjs/locale.json +1 -1
  34. package/node_modules/dayjs/package.json +2 -2
  35. package/node_modules/dayjs/plugin/duration.js +1 -1
  36. package/node_modules/tmp/lib/tmp.js +37 -7
  37. package/node_modules/tmp/package.json +4 -16
  38. package/package.json +1 -1
  39. package/scripts/verify-integrity.js +1 -1
  40. package/server.js +1 -1
  41. package/src/components/handlers/adjust_handler.js +1 -1
  42. package/src/components/handlers/audit_handler.js +1 -1
  43. package/src/components/handlers/delete_handler.js +1 -1
  44. package/src/components/handlers/export_handler.js +1 -1
  45. package/src/components/handlers/import_handler.js +1 -1
  46. package/src/components/handlers/insert_handler.js +1 -1
  47. package/src/components/handlers/update_handler.js +1 -1
  48. package/src/components/handlers/upload_handler.js +1 -1
  49. package/src/components/handlers/workflow_handler.js +1 -1
  50. package/src/components/integrations/webhook.js +1 -1
  51. package/src/consumers/baseConsumer.js +1 -1
  52. package/src/consumers/declarativeMapper.js +1 -1
  53. package/src/consumers/handlers/apiHandler.js +1 -1
  54. package/src/consumers/handlers/consoleHandler.js +1 -1
  55. package/src/consumers/handlers/databaseHandler.js +1 -1
  56. package/src/consumers/handlers/index.js +1 -1
  57. package/src/consumers/handlers/kafkaHandler.js +1 -1
  58. package/src/consumers/index.js +1 -1
  59. package/src/consumers/messageTransformer.js +1 -1
  60. package/src/consumers/validator.js +1 -1
  61. package/src/core/db/dialect/base-dialect.js +1 -1
  62. package/src/core/db/dialect/index.js +1 -1
  63. package/src/core/db/dialect/mysql-dialect.js +1 -1
  64. package/src/core/db/dialect/oracle-dialect.js +1 -1
  65. package/src/core/db/dialect/postgres-dialect.js +1 -1
  66. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  67. package/src/core/db/flatten-helper.js +1 -1
  68. package/src/core/db/query-builder-error.js +1 -1
  69. package/src/core/db/query-builder.js +1 -1
  70. package/src/core/db/relation-helper.js +1 -1
  71. package/src/core/handlers/delete_handler.js +1 -1
  72. package/src/core/handlers/insert_handler.js +1 -1
  73. package/src/core/handlers/update_handler.js +1 -1
  74. package/src/core/models/base-model.js +1 -1
  75. package/src/core/utils/cache-manager.js +1 -1
  76. package/src/core/utils/component-engine.js +1 -1
  77. package/src/core/utils/context-builder.js +1 -1
  78. package/src/core/utils/datetime-formatter.js +1 -1
  79. package/src/core/utils/datetime-parser.js +1 -1
  80. package/src/core/utils/db.js +1 -1
  81. package/src/core/utils/logger.js +1 -1
  82. package/src/core/utils/payload-loader.js +1 -1
  83. package/src/core/utils/security-checks.js +1 -1
  84. package/src/middleware/body-options.js +1 -1
  85. package/src/middleware/cors.js +1 -1
  86. package/src/middleware/idempotency.js +1 -1
  87. package/src/middleware/rate-limiter.js +1 -1
  88. package/src/middleware/request-logger.js +1 -1
  89. package/src/middleware/security-headers.js +1 -1
  90. package/src/models/base-model-mysql.js +1 -1
  91. package/src/models/base-model-oracle.js +1 -1
  92. package/src/models/base-model-sqlite.js +1 -1
  93. package/src/models/base-model.js +1 -1
  94. package/src/pro/caching/redis-client.js +1 -1
  95. package/src/pro/caching/redis-helper.js +1 -1
  96. package/src/pro/consumers/baseConsumer.js +1 -1
  97. package/src/pro/consumers/declarativeMapper.js +1 -1
  98. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  99. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  100. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  101. package/src/pro/consumers/handlers/index.js +1 -1
  102. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  103. package/src/pro/consumers/index.js +1 -1
  104. package/src/pro/consumers/messageTransformer.js +1 -1
  105. package/src/pro/consumers/validator.js +1 -1
  106. package/src/pro/database/base-model-mysql.js +1 -1
  107. package/src/pro/database/base-model-oracle.js +1 -1
  108. package/src/pro/database/base-model-sqlite.js +1 -1
  109. package/src/pro/database/db-mysql.js +1 -1
  110. package/src/pro/database/db-oracle.js +1 -1
  111. package/src/pro/database/db-sqlite.js +1 -1
  112. package/src/pro/excel/excel-generator.js +1 -1
  113. package/src/pro/excel/excel-parser.js +1 -1
  114. package/src/pro/excel/export-service.js +1 -1
  115. package/src/pro/excel/export_handler.js +1 -1
  116. package/src/pro/excel/import-service.js +1 -1
  117. package/src/pro/excel/import-validator.js +1 -1
  118. package/src/pro/excel/import_handler.js +1 -1
  119. package/src/pro/excel/upsert-builder.js +1 -1
  120. package/src/pro/idgen/idgen-routes.js +1 -1
  121. package/src/pro/integrations/lookup-resolver.js +1 -1
  122. package/src/pro/integrations/upload-handler-v2.js +1 -1
  123. package/src/pro/integrations/upload-handler.js +1 -1
  124. package/src/pro/integrations/webhook.js +1 -1
  125. package/src/pro/locking/lock-routes.js +1 -1
  126. package/src/pro/locking/resource-lock-manager.js +1 -1
  127. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  128. package/src/pro/messaging/kafkaService.js +1 -1
  129. package/src/pro/messaging/messagehubService.js +1 -1
  130. package/src/pro/messaging/rabbitmqService.js +1 -1
  131. package/src/pro/scheduler/job-manager.js +1 -1
  132. package/src/pro/scheduler/job-routes.js +1 -1
  133. package/src/pro/scheduler/job-validator.js +1 -1
  134. package/src/pro/storage/base-storage-provider.js +1 -1
  135. package/src/pro/storage/file-metadata-helper.js +1 -1
  136. package/src/pro/storage/index.js +1 -1
  137. package/src/pro/storage/local-storage-provider.js +1 -1
  138. package/src/pro/storage/s3-storage-provider.js +1 -1
  139. package/src/pro/storage/upload-cleanup-job.js +1 -1
  140. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  141. package/src/pro/storage/upload-pending-tracker.js +1 -1
  142. package/src/pro/websocket/broadcast-helper.js +1 -1
  143. package/src/pro/websocket/index.js +1 -1
  144. package/src/pro/websocket/livesync-server.js +1 -1
  145. package/src/pro/websocket/ws-broadcaster.js +1 -1
  146. package/src/services/export-service.js +1 -1
  147. package/src/services/import-service.js +1 -1
  148. package/src/services/kafkaConsumerService.js +1 -1
  149. package/src/services/kafkaService.js +1 -1
  150. package/src/services/messagehubService.js +1 -1
  151. package/src/services/rabbitmqService.js +1 -1
  152. package/src/utils/cache-invalidation-registry.js +1 -1
  153. package/src/utils/cache-manager.js +1 -1
  154. package/src/utils/component-engine.js +1 -1
  155. package/src/utils/config-extractor.js +1 -1
  156. package/src/utils/consumerLogger.js +1 -1
  157. package/src/utils/context-builder.js +1 -1
  158. package/src/utils/dashboard-helpers.js +1 -1
  159. package/src/utils/dateHelper.js +1 -1
  160. package/src/utils/datetime-formatter.js +1 -1
  161. package/src/utils/datetime-parser.js +1 -1
  162. package/src/utils/db-bootstrap.js +1 -1
  163. package/src/utils/db-mysql.js +1 -1
  164. package/src/utils/db-oracle.js +1 -1
  165. package/src/utils/db-sqlite.js +1 -1
  166. package/src/utils/db.js +1 -1
  167. package/src/utils/demo-generator.js +1 -1
  168. package/src/utils/excel-generator.js +1 -1
  169. package/src/utils/excel-parser.js +1 -1
  170. package/src/utils/file-watcher.js +1 -1
  171. package/src/utils/id-generator.js +1 -1
  172. package/src/utils/idempotency-manager.js +1 -1
  173. package/src/utils/import-validator.js +1 -1
  174. package/src/utils/license-client.js +1 -1
  175. package/src/utils/lock-manager.js +1 -1
  176. package/src/utils/logger.js +1 -1
  177. package/src/utils/lookup-resolver.js +1 -1
  178. package/src/utils/payload-loader.js +1 -1
  179. package/src/utils/processor-response.js +1 -1
  180. package/src/utils/rabbitmq.js +1 -1
  181. package/src/utils/redis-client.js +1 -1
  182. package/src/utils/redis-helper.js +1 -1
  183. package/src/utils/request-scope.js +1 -1
  184. package/src/utils/security-checks.js +1 -1
  185. package/src/utils/service-resolver.js +1 -1
  186. package/src/utils/shutdown-coordinator.js +1 -1
  187. package/src/utils/trusted-keys.js +1 -1
  188. package/src/utils/upload-handler.js +1 -1
  189. package/src/utils/upsert-builder.js +1 -1
  190. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x3798cd=a0_0x1d65;function a0_0x1d65(_0x42a6c6,_0x8f8bb5){_0x42a6c6=_0x42a6c6-0x173;const _0x4ac496=a0_0x4ac4();let _0x1d655e=_0x4ac496[_0x42a6c6];if(a0_0x1d65['UVvVWm']===undefined){var _0xd1eadd=function(_0x3232d0){const _0x3a11b6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b19d3='',_0x313357='';for(let _0x130e39=0x0,_0x3f401b,_0x1c07d1,_0x3d285b=0x0;_0x1c07d1=_0x3232d0['charAt'](_0x3d285b++);~_0x1c07d1&&(_0x3f401b=_0x130e39%0x4?_0x3f401b*0x40+_0x1c07d1:_0x1c07d1,_0x130e39++%0x4)?_0x4b19d3+=String['fromCharCode'](0xff&_0x3f401b>>(-0x2*_0x130e39&0x6)):0x0){_0x1c07d1=_0x3a11b6['indexOf'](_0x1c07d1);}for(let _0x127bd8=0x0,_0x32454=_0x4b19d3['length'];_0x127bd8<_0x32454;_0x127bd8++){_0x313357+='%'+('00'+_0x4b19d3['charCodeAt'](_0x127bd8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x313357);};a0_0x1d65['fOcCVm']=_0xd1eadd,a0_0x1d65['bkwfgZ']={},a0_0x1d65['UVvVWm']=!![];}const _0x104bd3=_0x4ac496[0x0],_0x403660=_0x42a6c6+_0x104bd3,_0x303c6c=a0_0x1d65['bkwfgZ'][_0x403660];return!_0x303c6c?(_0x1d655e=a0_0x1d65['fOcCVm'](_0x1d655e),a0_0x1d65['bkwfgZ'][_0x403660]=_0x1d655e):_0x1d655e=_0x303c6c,_0x1d655e;}function a0_0x4ac4(){const _0x53da81=['sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','Dw5SAw5R','Aw5MBW','vvbmt0fex0rjuG','Dg9mB3DLCKnHC2u','zxH0BMfTzq','B3jPz2LUywXUyw1L','ntaXotm5mhntv2DvyW','lI9SB2DNzxi','zxHPC3rZu3LUyW','whnwB1u','ndCXmdCZnK9Xu3LsCq','mtK3ntC5nKDsChLwta','tMzKEM8','mtK0odaWouvmy3HjCG','BwvZC2fNzq','zw52','zgLZA1n0B3jHz2u','Dg9tDhjPBMC','mZy4odeXnxvjzenAwa','z2v0u3rVCMfNzq','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','ohnLC3DgwG','rMfPBgvKihrVigLUAxrPywXPEMuGDxbSB2fKigHHBMrSzxi','x3vWBg9HzerPCG','wwntrwq','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','swnoyNu','BwTKAxjtEw5J','Aw5JBhvKzxm','CMfUzg9TqNL0zxm','DxbSB2fKx2HHBMrSzxjFAw5PDa','ntu0ndfRvvL5BKy','DLbvD3q','Agv4','zxHWB3j0CW','mtq2mdqZovLlBw1tqW','EwfUzuO','zgvSzxrLrMLSzq','DxbSB2fKx2zPBgvFzgvSzxrLza','AgLHDM0'];a0_0x4ac4=function(){return _0x53da81;};return a0_0x4ac4();}(function(_0x20895c,_0x2bf2a1){const _0x16028b=a0_0x1d65,_0x2470ec=_0x20895c();while(!![]){try{const _0x3a4ba9=parseInt(_0x16028b(0x198))/0x1*(-parseInt(_0x16028b(0x18e))/0x2)+-parseInt(_0x16028b(0x173))/0x3+-parseInt(_0x16028b(0x184))/0x4+parseInt(_0x16028b(0x18b))/0x5+parseInt(_0x16028b(0x17f))/0x6+-parseInt(_0x16028b(0x186))/0x7+parseInt(_0x16028b(0x183))/0x8;if(_0x3a4ba9===_0x2bf2a1)break;else _0x2470ec['push'](_0x2470ec['shift']());}catch(_0x4a96ff){_0x2470ec['push'](_0x2470ec['shift']());}}}(a0_0x4ac4,0xa68e9));const multer=require('multer'),path=require('path'),crypto=require('crypto'),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require(a0_0x3798cd(0x180));class UploadHandler{constructor(){const _0x453e77=a0_0x3798cd,_0x834f2a={'IcNbu':function(_0x210405,_0x13a096){return _0x210405*_0x13a096;},'hmxAK':function(_0xbd264e,_0x50f1c7){return _0xbd264e*_0x50f1c7;}};this['_uploadDir']=null,this['maxFileSize']=_0x834f2a[_0x453e77(0x193)](_0x834f2a['hmxAK'](0xa,0x400),0x400);}get['uploadDir'](){const _0x17b764=a0_0x3798cd,_0x209658={'ajBbU':'default','yaneJ':_0x17b764(0x197),'vPUwt':'Upload\x20handler\x20initialized','YVQWv':_0x17b764(0x18d),'hiavm':_0x17b764(0x18f)};if(!this['_uploadDir']){const _0x4e96af=process[_0x17b764(0x188)]['RESTFORGE_PROJECT_NAME']||_0x209658['ajBbU'];this['_uploadDir']=process['env'][_0x17b764(0x17b)]||path['join'](__dirname,'../../temp/uploads/'+_0x4e96af);try{!fsSync['existsSync'](this[_0x17b764(0x190)])&&fsSync[_0x17b764(0x194)](this['_uploadDir'],{'recursive':!![]}),logger[_0x17b764(0x17a)]({'event':_0x209658[_0x17b764(0x174)],'dir':this[_0x17b764(0x190)]},_0x209658[_0x17b764(0x199)]);}catch(_0x97bbe9){logger['error']({'event':_0x209658['YVQWv'],'error':_0x97bbe9[_0x17b764(0x187)]},_0x209658[_0x17b764(0x177)]);}}return this['_uploadDir'];}['getStorage'](){const _0x19b944=a0_0x3798cd,_0x33577a={'ZjolZ':function(_0x3c1bf,_0x3d815c,_0x48c6b9){return _0x3c1bf(_0x3d815c,_0x48c6b9);}};return multer[_0x19b944(0x189)]({'destination':(_0x2af0f8,_0x1d213e,_0x36a269)=>{const _0x122382=_0x19b944;!fsSync[_0x122382(0x181)](this['uploadDir'])&&fsSync[_0x122382(0x194)](this['uploadDir'],{'recursive':!![]}),_0x33577a['ZjolZ'](_0x36a269,null,this['uploadDir']);},'filename':(_0x56a08b,_0x1bee24,_0x1f7ea3)=>{const _0x27a8a9=_0x19b944,_0x478e25=crypto[_0x27a8a9(0x196)](0x8)[_0x27a8a9(0x18a)](_0x27a8a9(0x19a)),_0x3bc482=Date['now'](),_0x2b7b9b=path[_0x27a8a9(0x17d)](_0x1bee24[_0x27a8a9(0x17e)]);_0x1f7ea3(null,'upload-'+_0x3bc482+'-'+_0x478e25+_0x2b7b9b);}});}['getUploadMiddleware'](){const _0x1cf3bc=a0_0x3798cd,_0x36af75={'Vzjjm':'application/vnd.ms-excel','Nfdzo':'.xlsx','GftGw':'.xls','YcSEd':function(_0x1b0dbd,_0x54e206,_0x4b6dc4){return _0x1b0dbd(_0x54e206,_0x4b6dc4);},'zYaew':function(_0x52d11c,_0x4ea008){return _0x52d11c(_0x4ea008);},'EiLZc':'file'};return _0x36af75['zYaew'](multer,{'storage':this[_0x1cf3bc(0x18c)](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x554d75,_0xc6455a,_0x22c507)=>{const _0x4d1a06=_0x1cf3bc,_0x304d05=['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',_0x36af75['Vzjjm']],_0x526dbb=[_0x36af75[_0x4d1a06(0x185)],_0x36af75['GftGw']],_0x1342a3=path[_0x4d1a06(0x17d)](_0xc6455a[_0x4d1a06(0x17e)])[_0x4d1a06(0x17c)]();_0x304d05[_0x4d1a06(0x195)](_0xc6455a['mimetype'])&&_0x526dbb[_0x4d1a06(0x195)](_0x1342a3)?_0x36af75[_0x4d1a06(0x191)](_0x22c507,null,!![]):_0x22c507(new Error(_0x4d1a06(0x178)));}})['single'](_0x36af75['EiLZc']);}async[a0_0x3798cd(0x175)](_0x52acd1){const _0x1cb6db=a0_0x3798cd,_0x990ce6={'XsVoU':_0x1cb6db(0x192)};try{await fs[_0x1cb6db(0x179)](_0x52acd1),logger['info']({'event':_0x1cb6db(0x176),'filePath':_0x52acd1},'Uploaded\x20file\x20deleted');}catch(_0x18eb01){logger['error']({'event':'upload_file_delete_error','filePath':_0x52acd1,'error':_0x18eb01['message']},_0x990ce6[_0x1cb6db(0x182)]);}}}module[a0_0x3798cd(0x19b)]=new UploadHandler();
1
+ const a0_0x1291ca=a0_0x5f27;function a0_0x5f27(_0x4083c2,_0x1a1870){_0x4083c2=_0x4083c2-0xfc;const _0x284f8d=a0_0x284f();let _0x5f2733=_0x284f8d[_0x4083c2];if(a0_0x5f27['AFiWmU']===undefined){var _0x1351e8=function(_0x5a9d25){const _0x1f4b80='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x318d1c='',_0x29f5c4='';for(let _0x57f960=0x0,_0x4fdf37,_0x7ab9c,_0xb3e3cf=0x0;_0x7ab9c=_0x5a9d25['charAt'](_0xb3e3cf++);~_0x7ab9c&&(_0x4fdf37=_0x57f960%0x4?_0x4fdf37*0x40+_0x7ab9c:_0x7ab9c,_0x57f960++%0x4)?_0x318d1c+=String['fromCharCode'](0xff&_0x4fdf37>>(-0x2*_0x57f960&0x6)):0x0){_0x7ab9c=_0x1f4b80['indexOf'](_0x7ab9c);}for(let _0x3d8894=0x0,_0x281174=_0x318d1c['length'];_0x3d8894<_0x281174;_0x3d8894++){_0x29f5c4+='%'+('00'+_0x318d1c['charCodeAt'](_0x3d8894)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x29f5c4);};a0_0x5f27['UWRInB']=_0x1351e8,a0_0x5f27['vFlGKf']={},a0_0x5f27['AFiWmU']=!![];}const _0x15811f=_0x284f8d[0x0],_0x25ab1b=_0x4083c2+_0x15811f,_0x1c9c5d=a0_0x5f27['vFlGKf'][_0x25ab1b];return!_0x1c9c5d?(_0x5f2733=a0_0x5f27['UWRInB'](_0x5f2733),a0_0x5f27['vFlGKf'][_0x25ab1b]=_0x5f2733):_0x5f2733=_0x1c9c5d,_0x5f2733;}(function(_0x586da3,_0x409c17){const _0x18a55c=a0_0x5f27,_0x3758e2=_0x586da3();while(!![]){try{const _0x52b43a=-parseInt(_0x18a55c(0x11f))/0x1+-parseInt(_0x18a55c(0x11d))/0x2*(parseInt(_0x18a55c(0x128))/0x3)+-parseInt(_0x18a55c(0x12d))/0x4*(-parseInt(_0x18a55c(0x105))/0x5)+-parseInt(_0x18a55c(0x127))/0x6+-parseInt(_0x18a55c(0x120))/0x7+-parseInt(_0x18a55c(0x108))/0x8+-parseInt(_0x18a55c(0x10c))/0x9*(-parseInt(_0x18a55c(0x11e))/0xa);if(_0x52b43a===_0x409c17)break;else _0x3758e2['push'](_0x3758e2['shift']());}catch(_0x1af989){_0x3758e2['push'](_0x3758e2['shift']());}}}(a0_0x284f,0x1a875));const multer=require(a0_0x1291ca(0xfe)),path=require('path'),crypto=require('crypto'),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require('./logger');class UploadHandler{constructor(){const _0x51a12c=a0_0x1291ca,_0x2cb4a4={'DWmCk':function(_0x3c6708,_0x3b1a52){return _0x3c6708*_0x3b1a52;}};this['_uploadDir']=null,this[_0x51a12c(0x10e)]=_0x2cb4a4['DWmCk'](_0x2cb4a4[_0x51a12c(0x11c)](0xa,0x400),0x400);}get[a0_0x1291ca(0x12a)](){const _0x10e3ae=a0_0x1291ca,_0x1bcefc={'bDGRY':_0x10e3ae(0x11b),'jSASW':_0x10e3ae(0x12b),'kKFmn':'Failed\x20to\x20initialize\x20upload\x20handler'};if(!this['_uploadDir']){const _0x427fed=process[_0x10e3ae(0x106)]['RESTFORGE_PROJECT_NAME']||_0x1bcefc[_0x10e3ae(0x102)];this['_uploadDir']=process['env']['UPLOAD_DIR']||path[_0x10e3ae(0x111)](__dirname,_0x10e3ae(0x103)+_0x427fed);try{!fsSync[_0x10e3ae(0x10b)](this[_0x10e3ae(0x10d)])&&fsSync['mkdirSync'](this[_0x10e3ae(0x10d)],{'recursive':!![]}),logger['info']({'event':'upload_handler_init','dir':this[_0x10e3ae(0x10d)]},'Upload\x20handler\x20initialized');}catch(_0x349edc){logger[_0x10e3ae(0x10a)]({'event':_0x1bcefc['jSASW'],'error':_0x349edc['message']},_0x1bcefc['kKFmn']);}}return this[_0x10e3ae(0x10d)];}[a0_0x1291ca(0x123)](){const _0x586fca=a0_0x1291ca,_0x4640cc={'diWJT':function(_0x3dd2bd,_0xfb4dde,_0xd032e3){return _0x3dd2bd(_0xfb4dde,_0xd032e3);}};return multer[_0x586fca(0x110)]({'destination':(_0x1ba9de,_0x6374d4,_0x7629ae)=>{const _0x3d25a0=_0x586fca;!fsSync['existsSync'](this[_0x3d25a0(0x12a)])&&fsSync[_0x3d25a0(0x115)](this[_0x3d25a0(0x12a)],{'recursive':!![]}),_0x7629ae(null,this[_0x3d25a0(0x12a)]);},'filename':(_0x13e82b,_0x95fc4d,_0x37664f)=>{const _0x3e2b7a=_0x586fca,_0x571341=crypto[_0x3e2b7a(0x114)](0x8)[_0x3e2b7a(0x101)]('hex'),_0x5b40af=Date[_0x3e2b7a(0x109)](),_0x5ee7df=path['extname'](_0x95fc4d[_0x3e2b7a(0x118)]);_0x4640cc[_0x3e2b7a(0x121)](_0x37664f,null,_0x3e2b7a(0xfc)+_0x5b40af+'-'+_0x571341+_0x5ee7df);}});}[a0_0x1291ca(0x100)](){const _0x5c7d9d=a0_0x1291ca,_0x26c695={'fFTtc':'application/vnd.ms-excel','ZhAga':'.xlsx','STZYZ':function(_0x5c0011,_0xb84d71,_0x17cf50){return _0x5c0011(_0xb84d71,_0x17cf50);}};return multer({'storage':this['getStorage'](),'limits':{'fileSize':this[_0x5c7d9d(0x10e)],'files':0x1},'fileFilter':(_0x443900,_0x309560,_0x1343ac)=>{const _0x392a25=_0x5c7d9d,_0x4fee9a=[_0x392a25(0x107),_0x26c695[_0x392a25(0x104)]],_0x20d9d1=[_0x26c695['ZhAga'],_0x392a25(0x116)],_0x365cf9=path[_0x392a25(0x11a)](_0x309560['originalname'])[_0x392a25(0x112)]();_0x4fee9a['includes'](_0x309560[_0x392a25(0x126)])&&_0x20d9d1['includes'](_0x365cf9)?_0x26c695[_0x392a25(0xfd)](_0x1343ac,null,!![]):_0x1343ac(new Error(_0x392a25(0x10f)));}})['single']('file');}async[a0_0x1291ca(0x124)](_0x28a527){const _0x15bf6f=a0_0x1291ca,_0x29a2f2={'jIAsQ':_0x15bf6f(0xff),'yCijZ':'Uploaded\x20file\x20deleted'};try{await fs[_0x15bf6f(0x125)](_0x28a527),logger[_0x15bf6f(0x113)]({'event':_0x29a2f2[_0x15bf6f(0x119)],'filePath':_0x28a527},_0x29a2f2[_0x15bf6f(0x129)]);}catch(_0x36d214){logger['error']({'event':_0x15bf6f(0x12c),'filePath':_0x28a527,'error':_0x36d214[_0x15bf6f(0x117)]},_0x15bf6f(0x122));}}}function a0_0x284f(){const _0x33cf60=['z2v0u3rVCMfNzq','zgvSzxrLrMLSzq','Dw5SAw5R','BwLTzxr5Cgu','ntyZmJm4B214q2Hi','mJuYmdy5uxDvAwr4','EunPALO','DxbSB2fKrgLY','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','DxbSB2fKx2zPBgvFzgvSzxrLx2vYCM9Y','mtzXCu9lDMG','DxbSB2fKlq','u1rAwvO','BxvSDgvY','DxbSB2fKx2zPBgvFzgvSzxrLza','z2v0vxbSB2fKtwLKzgXLD2fYzq','Dg9tDhjPBMC','yKrhuLK','lI4VlI4VDgvTCc91CgXVywrZlW','zKzuDgm','mJm5ndbHBfjdA0W','zw52','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','mJKYnde2wKnMCMPy','BM93','zxjYB3i','zxHPC3rZu3LUyW','ounKv3nUDq','x3vWBg9HzerPCG','Bwf4rMLSzvnPEMu','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','zgLZA1n0B3jHz2u','AM9PBG','Dg9mB3DLCKnHC2u','Aw5MBW','CMfUzg9TqNL0zxm','BwTKAxjtEw5J','lNHSCW','BwvZC2fNzq','B3jPz2LUywXUyw1L','AKLbC1e','zxH0BMfTzq','zgvMyxvSDa','rfDTq2S','ngnxvKfnrW','ntu4odiZmgLuAwrpBa','odm3mJnnD1jUAgy','nJa5odqWuwvtvuPS','zgLxsLq','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL'];a0_0x284f=function(){return _0x33cf60;};return a0_0x284f();}module['exports']=new UploadHandler();
@@ -1 +1 @@
1
- const a0_0x34f01a=a0_0x3c19;function a0_0x3c19(_0x1f421f,_0x5a2e63){_0x1f421f=_0x1f421f-0x12e;const _0x27d0d6=a0_0x27d0();let _0x3c1901=_0x27d0d6[_0x1f421f];if(a0_0x3c19['bOWIJS']===undefined){var _0x12d950=function(_0x5d9ab9){const _0x1bf616='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0xcfdd22='',_0x446993='';for(let _0x5559a9=0x0,_0x621cc2,_0x5e165c,_0x5e96db=0x0;_0x5e165c=_0x5d9ab9['charAt'](_0x5e96db++);~_0x5e165c&&(_0x621cc2=_0x5559a9%0x4?_0x621cc2*0x40+_0x5e165c:_0x5e165c,_0x5559a9++%0x4)?_0xcfdd22+=String['fromCharCode'](0xff&_0x621cc2>>(-0x2*_0x5559a9&0x6)):0x0){_0x5e165c=_0x1bf616['indexOf'](_0x5e165c);}for(let _0xa619d5=0x0,_0x449cc8=_0xcfdd22['length'];_0xa619d5<_0x449cc8;_0xa619d5++){_0x446993+='%'+('00'+_0xcfdd22['charCodeAt'](_0xa619d5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x446993);};a0_0x3c19['AgmsPG']=_0x12d950,a0_0x3c19['xHwMwy']={},a0_0x3c19['bOWIJS']=!![];}const _0x58550c=_0x27d0d6[0x0],_0x2e86c2=_0x1f421f+_0x58550c,_0x44227a=a0_0x3c19['xHwMwy'][_0x2e86c2];return!_0x44227a?(_0x3c1901=a0_0x3c19['AgmsPG'](_0x3c1901),a0_0x3c19['xHwMwy'][_0x2e86c2]=_0x3c1901):_0x3c1901=_0x44227a,_0x3c1901;}(function(_0x3ed8c2,_0x590347){const _0x38ebc3=a0_0x3c19,_0x383360=_0x3ed8c2();while(!![]){try{const _0x44b731=parseInt(_0x38ebc3(0x184))/0x1+parseInt(_0x38ebc3(0x174))/0x2+parseInt(_0x38ebc3(0x151))/0x3*(-parseInt(_0x38ebc3(0x14a))/0x4)+-parseInt(_0x38ebc3(0x173))/0x5*(parseInt(_0x38ebc3(0x175))/0x6)+parseInt(_0x38ebc3(0x167))/0x7*(-parseInt(_0x38ebc3(0x16b))/0x8)+-parseInt(_0x38ebc3(0x189))/0x9*(-parseInt(_0x38ebc3(0x154))/0xa)+parseInt(_0x38ebc3(0x183))/0xb;if(_0x44b731===_0x590347)break;else _0x383360['push'](_0x383360['shift']());}catch(_0x2bfcfb){_0x383360['push'](_0x383360['shift']());}}}(a0_0x27d0,0xc204a));function a0_0x27d0(){const _0x25c686=['m0X4Cu5ruG','qNbUB2e','kqOGicaGicbxsevsrsa','mtb6yLPpv3O','B3jHy2XL','yvzIzKy','yMPctNu','ieforca','EevTzNe','t1jbq0Xf','Cg9ZDgDYzxnXBa','BxLZCwW','sMjht20','Aw52ywXPzf9KyL90ExbL','ExzYreq','ieftierbveuP','Dwj4u2e','oJPct09mrufo','yMf0y2HFAw5Zzxj0x2j1AwX0','rM1AzwW','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','lcaNwvLzws1nts1ercCP','n21czuvUuW','ENz3Ewe','lIbgywXSAw5NigjHy2SGDg8GCg9ZDgDYzxnXBc4','D2fYBG','mti1nJCXnZzmvwLtvuC','BNvTyMvY','zMLSDgvY','ksbwquXvrvmGka','D1LSv0K','cIaGica','BwfW','yMfmvMW','mZmYnJuWr0HUyKLq','mtG3nJu0mhzpv0TYzG','mtmYELrQthH2','cIaGicaGicKGDGOGicaGicbptIaO','yNvPBgrcyxrJAeLUC2vYDa','BgvUz3rO','wuzKD20','su5trvjuiefmtaO','zM9YBwf0rgf0zvzHBhvL','zgf0zq','CMvWBgfJzq','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','ieftiejjvcK','DMfSDwvZ','suTbuNi','tvLtuuW','mJi0mZuWodnkELfQCMW','mta5mte5BK5hqujr','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','BLbXwvq','DhLWzq','tLvmta','mteWmti5mdrXvxf0CNe','yMf0y2HFDxbKyxrLx2j1AwX0','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','cIaGicaGiezst00GkfzbtfvfuWOGicaGicaGia','C3rYAw5N','vxLRsM8','laOGicaGicaGia','kqOGicaGicbwquXvrvmG','id0GDI4','icbjtLrpia','u1fmu0vsvKvs','ieftihqkicaGicaGu0vuia','yNvPBgrfC2nHCgvgDw5JDgLVBG','cIaGicaGie1fuKDfieLove8G','r3jkq3u','zgvIDwC','qMnOuLC','ihqkicaGicaGvvnjtKCGkaO','rujcwuC','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','u1fmsvrf','tLvmtdO6refurq','z2v0rgf0ywjHC2vuExbL','cIaGicaGicKGqvmGDIG','laOGicaGicaGica','zxn4Ege','zM9YBwf0qM9VBgvHBLzHBhvL','Dg9mB3DLCKnHC2u','yM9VBgvHBG','mtKYntm3mK5frND0Da','AM9PBG','qMryvfu','ELjWsgW','zwvmEva','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHnEvnrtcbptIbevvbmsunbveuGs0vzkq','Aw5JBhvKzxm'];a0_0x27d0=function(){return _0x25c686;};return a0_0x27d0();}const {logger}=require('./logger'),DB_TYPES={'POSTGRESQL':'postgresql','MYSQL':'mysql','SQLSERVER':'sqlserver','ORACLE':a0_0x34f01a(0x155),'SQLITE':'sqlite'};class UpsertBuilder{[a0_0x34f01a(0x143)](){const _0x5d0806=a0_0x34f01a,_0x26ca19={'oAmvf':'postgresql','UykJo':_0x5d0806(0x15e)},_0x8d8eba=(process['env']['DB_TYPE']||_0x26ca19['oAmvf'])[_0x5d0806(0x148)](),_0x16844e=Object[_0x5d0806(0x180)](DB_TYPES);if(!_0x16844e[_0x5d0806(0x150)](_0x8d8eba))return logger['warn']({'event':_0x26ca19[_0x5d0806(0x132)],'provided':_0x8d8eba,'fallback':_0x26ca19['oAmvf']},'Invalid\x20DB_TYPE:\x20'+_0x8d8eba+_0x5d0806(0x169)),DB_TYPES['POSTGRESQL'];return _0x8d8eba;}['formatDateValue'](_0x2a4582,_0x150c60,_0x36b094=![]){const _0x33b22b=a0_0x34f01a,_0x27d2be={'bjBNu':'NULL'};if(_0x36b094)switch(_0x150c60){case DB_TYPES['POSTGRESQL']:return _0x33b22b(0x142);case DB_TYPES['MYSQL']:return _0x33b22b(0x188);case DB_TYPES[_0x33b22b(0x141)]:return _0x33b22b(0x188);case DB_TYPES[_0x33b22b(0x137)]:return _0x27d2be[_0x33b22b(0x157)];case DB_TYPES['ORACLE']:return _0x27d2be[_0x33b22b(0x157)];default:return _0x33b22b(0x142);}switch(_0x150c60){case DB_TYPES['POSTGRESQL']:return _0x2a4582+'::DATE';case DB_TYPES[_0x33b22b(0x182)]:return _0x2a4582;case DB_TYPES[_0x33b22b(0x141)]:return _0x2a4582;case DB_TYPES[_0x33b22b(0x137)]:return'CAST('+_0x2a4582+_0x33b22b(0x160);case DB_TYPES['ORACLE']:return'TO_DATE('+_0x2a4582+_0x33b22b(0x166);default:return _0x2a4582+'::DATE';}}['formatBooleanValue'](_0x354e19,_0x128657,_0x1e1188=![]){const _0xf0c8b2=a0_0x34f01a;if(_0x1e1188)switch(_0x128657){case DB_TYPES['POSTGRESQL']:return'NULL::BOOLEAN';default:return _0xf0c8b2(0x188);}switch(_0x128657){case DB_TYPES['POSTGRESQL']:return _0x354e19+_0xf0c8b2(0x162);case DB_TYPES['ORACLE']:return _0x354e19;case DB_TYPES[_0xf0c8b2(0x182)]:return _0x354e19;case DB_TYPES['SQLITE']:return _0x354e19;case DB_TYPES['SQLSERVER']:return'CAST('+_0x354e19+_0xf0c8b2(0x17f);default:return _0x354e19+_0xf0c8b2(0x162);}}[a0_0x34f01a(0x139)](_0x1f5f30={}){const _0x2d42d7=a0_0x34f01a,_0x264cb0={'IKARr':function(_0x5d42cc,_0xeb1c3e){return _0x5d42cc===_0xeb1c3e;},'xEmfq':function(_0x463d39,_0x4b288e){return _0x463d39===_0x4b288e;},'Xamap':'NULL','BchRW':function(_0x57d93f,_0x4a4f88){return _0x57d93f===_0x4a4f88;},'dkrGm':_0x2d42d7(0x131),'nPqYT':function(_0x5469a8,_0xaac2c3){return _0x5469a8===_0xaac2c3;},'XOlKC':_0x2d42d7(0x17c),'CfIZj':function(_0x360db8,_0x5a48ba){return _0x360db8===_0x5a48ba;},'eeLyP':_0x2d42d7(0x149),'EBBYG':function(_0x503b3f,_0x2853d7){return _0x503b3f===_0x2853d7;},'aJIPr':function(_0x167654,_0x487c7c){return _0x167654(_0x487c7c);},'zRpHl':function(_0x5e0d0c,_0x161cc7){return _0x5e0d0c===_0x161cc7;}},_0x309b74=this[_0x2d42d7(0x143)]();return(_0x230aa0,_0x418a73)=>{const _0x2b8466=_0x2d42d7,_0x3a3104=_0x1f5f30[_0x418a73];if(_0x264cb0['IKARr'](_0x230aa0,null)||_0x264cb0[_0x2b8466(0x181)](_0x230aa0,undefined)){if(_0x3a3104&&_0x264cb0['xEmfq'](_0x3a3104['type'],_0x2b8466(0x17c)))return this[_0x2b8466(0x17b)](null,_0x309b74,!![]);if(_0x3a3104&&_0x264cb0[_0x2b8466(0x159)](_0x3a3104[_0x2b8466(0x187)],'boolean'))return this['formatBooleanValue'](null,_0x309b74,!![]);return _0x264cb0['Xamap'];}if(_0x264cb0[_0x2b8466(0x13d)](typeof _0x230aa0,_0x264cb0['dkrGm'])){const _0x22678b='\x27'+_0x230aa0[_0x2b8466(0x17d)](/'/g,'\x27\x27')+'\x27';if(_0x3a3104&&_0x264cb0[_0x2b8466(0x186)](_0x3a3104[_0x2b8466(0x187)],_0x264cb0['XOlKC']))return this[_0x2b8466(0x17b)](_0x22678b,_0x309b74,![]);if(_0x3a3104&&_0x264cb0['CfIZj'](_0x3a3104[_0x2b8466(0x187)],_0x264cb0[_0x2b8466(0x14e)]))return this[_0x2b8466(0x147)](_0x22678b,_0x309b74,![]);return _0x22678b;}if(typeof _0x230aa0===_0x2b8466(0x16c))return _0x230aa0;if(_0x264cb0[_0x2b8466(0x13f)](typeof _0x230aa0,_0x264cb0[_0x2b8466(0x14e)]))return _0x230aa0;const _0x4ad3b0='\x27'+_0x264cb0['aJIPr'](String,_0x230aa0)['replace'](/'/g,'\x27\x27')+'\x27';if(_0x3a3104&&_0x264cb0[_0x2b8466(0x14d)](_0x3a3104[_0x2b8466(0x187)],_0x2b8466(0x17c)))return this['formatDateValue'](_0x4ad3b0,_0x309b74,![]);return _0x4ad3b0;};}[a0_0x34f01a(0x177)](_0x506a66,_0x7784df,_0x283668,_0x29451b={}){const _0x527cbd=a0_0x34f01a,_0x4e40bb=this[_0x527cbd(0x143)]();if(_0x4e40bb===DB_TYPES[_0x527cbd(0x15a)])return this['_buildBatchInsertOracle'](_0x506a66,_0x7784df,_0x283668,_0x29451b);return this[_0x527cbd(0x17e)](_0x506a66,_0x7784df,_0x283668,_0x29451b);}['_buildBatchInsertPostgres'](_0x3786e8,_0x86f002,_0x59f0f5,_0x2ccf1f={}){const _0x12ca47=a0_0x34f01a,_0x10dd5a={'BdXTU':',\x0a\x20\x20\x20\x20\x20\x20\x20','uXoRv':_0x12ca47(0x15b)};if(_0x3786e8['length']===0x0)return{'query':null,'values':[]};const _0x12ba82=this['buildEscapeFunction'](_0x2ccf1f),_0x1ec157=_0x3786e8['map'](_0x2199aa=>{const _0x13f132=_0x12ca47,_0x5a5c94=_0x59f0f5['map'](_0x59add0=>_0x12ba82(_0x2199aa[_0x59add0],_0x59add0));return'('+_0x5a5c94[_0x13f132(0x14b)](',\x20')+')';}),_0x4468e0='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x86f002+'\x20('+_0x59f0f5['join'](',\x20')+_0x12ca47(0x134)+_0x1ec157['join'](_0x10dd5a[_0x12ca47(0x14c)])+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':'batch_insert_built','tableName':_0x86f002,'rowCount':_0x3786e8[_0x12ca47(0x178)],'dbType':_0x10dd5a['uXoRv']},'Batch\x20INSERT\x20query\x20built\x20(PostgreSQL)'),{'query':_0x4468e0,'values':[]};}['_buildBatchInsertOracle'](_0x500100,_0x28e71c,_0x4cef5f,_0x301d93={}){const _0x410062=a0_0x34f01a,_0x17d297={'GrJCu':_0x410062(0x155),'zvwya':'Batch\x20INSERT\x20query\x20built\x20(Oracle)'};if(_0x500100['length']===0x0)return{'query':null,'values':[]};const _0x492732=this[_0x410062(0x139)](_0x301d93),_0x531683=_0x500100['map'](_0x42e981=>{const _0x346bd1=_0x410062,_0xed0c02=_0x4cef5f['map'](_0x164448=>_0x492732(_0x42e981[_0x164448],_0x164448));return _0x346bd1(0x136)+_0x28e71c+'\x20('+_0x4cef5f['join'](',\x20')+_0x346bd1(0x16e)+_0xed0c02['join'](',\x20')+')';}),_0x3fd071=_0x410062(0x17a)+_0x531683[_0x410062(0x14b)]('\x0a')+'\x0aSELECT\x201\x20FROM\x20DUAL';return logger[_0x410062(0x13c)]({'event':_0x410062(0x163),'tableName':_0x28e71c,'rowCount':_0x500100['length'],'dbType':_0x17d297[_0x410062(0x13b)]},_0x17d297[_0x410062(0x168)]),{'query':_0x3fd071,'values':[]};}['buildBatchUpdate'](_0x5c893a,_0xcdea8b,_0x166be2,_0x55ade9,_0x104451,_0x24490e={}){const _0x2cc535=a0_0x34f01a,_0xaadfce={'YFdwm':function(_0x5bffdb,_0x355a56){return _0x5bffdb===_0x355a56;},'ubxSa':function(_0x4892aa,_0x1e7746){return _0x4892aa===_0x1e7746;}},_0x4feaba=this['getDatabaseType']();if(_0xaadfce[_0x2cc535(0x179)](_0x4feaba,DB_TYPES[_0x2cc535(0x15a)]))return this[_0x2cc535(0x185)](_0x5c893a,_0xcdea8b,_0x166be2,_0x55ade9,_0x104451,_0x24490e);if(_0xaadfce[_0x2cc535(0x161)](_0x4feaba,DB_TYPES['MYSQL']))return this[_0x2cc535(0x12f)](_0x5c893a,_0xcdea8b,_0x166be2,_0x55ade9,_0x104451,_0x24490e);return this['_buildBatchUpdatePostgres'](_0x5c893a,_0xcdea8b,_0x166be2,_0x55ade9,_0x104451,_0x24490e);}['_buildBatchUpdatePostgres'](_0x34319c,_0x4f8446,_0x1b2a45,_0x8cf4df,_0x3fe4b4,_0x366838={}){const _0x5d20ea=a0_0x34f01a,_0x224c08={'yvrDD':_0x5d20ea(0x140),'baLVl':_0x5d20ea(0x165),'lTTTr':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20','OfszB':_0x5d20ea(0x12e),'AvBYN':'postgresql'};if(_0x34319c[_0x5d20ea(0x178)]===0x0)return{'query':null,'values':[]};const _0xca7ee5=this['buildEscapeFunction'](_0x366838),_0x9ac187=_0x1b2a45[_0x5d20ea(0x16d)](_0x18296a=>!_0x3fe4b4[_0x5d20ea(0x150)](_0x18296a)&&_0x18296a!==_0x8cf4df);if(_0x9ac187[_0x5d20ea(0x178)]===0x0)return logger[_0x5d20ea(0x16a)]({'event':_0x224c08[_0x5d20ea(0x15f)],'tableName':_0x4f8446},_0x224c08[_0x5d20ea(0x172)]),{'query':null,'values':[]};const _0x233300=_0x34319c['map'](_0x5c85e6=>{const _0x453bc8=_0x5d20ea,_0x3c7f28=[..._0x3fe4b4,..._0x9ac187],_0xc10b0c=_0x3c7f28[_0x453bc8(0x171)](_0x568f3c=>_0xca7ee5(_0x5c85e6[_0x568f3c],_0x568f3c));return'('+_0xc10b0c['join'](',\x20')+')';}),_0x31ff22=_0x9ac187['map'](_0x3e27c5=>_0x3e27c5+'\x20=\x20v.'+_0x3e27c5)[_0x5d20ea(0x14b)](_0x5d20ea(0x145)),_0xdee13d=_0x3fe4b4['map'](_0x57aef3=>'t.'+_0x57aef3+'\x20=\x20v.'+_0x57aef3)['join']('\x20AND\x20'),_0x74d97e='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x4f8446+_0x5d20ea(0x138)+_0x31ff22+_0x5d20ea(0x130)+_0x233300['join'](_0x224c08['lTTTr'])+_0x5d20ea(0x144)+[..._0x3fe4b4,..._0x9ac187][_0x5d20ea(0x14b)](',\x20')+_0x5d20ea(0x153)+_0xdee13d+_0x5d20ea(0x170);return logger[_0x5d20ea(0x13c)]({'event':_0x224c08['OfszB'],'tableName':_0x4f8446,'rowCount':_0x34319c[_0x5d20ea(0x178)],'updateColumns':_0x9ac187[_0x5d20ea(0x178)],'dbType':_0x224c08['AvBYN']},'Batch\x20UPDATE\x20query\x20built\x20(PostgreSQL)'),{'query':_0x74d97e,'values':[]};}[a0_0x34f01a(0x185)](_0x4cbfb7,_0x4a6257,_0x3b2938,_0x23d798,_0x47ae4e,_0x2d8bd2={}){const _0x290c06=a0_0x34f01a,_0x4a4d32={'nqEWS':function(_0x8179a7,_0x5bb7c4,_0x375e5d){return _0x8179a7(_0x5bb7c4,_0x375e5d);},'JbGOm':function(_0x144d5e,_0x3f08f3){return _0x144d5e===_0x3f08f3;},'UWoKC':_0x290c06(0x140),'aVbfF':_0x290c06(0x145),'FmZel':'\x0a\x20\x20\x20\x20UNION\x20ALL\x0a','esxxa':_0x290c06(0x12e)};if(_0x4a4d32[_0x290c06(0x15d)](_0x4cbfb7['length'],0x0))return{'query':null,'values':[]};const _0x33d0cf=this['buildEscapeFunction'](_0x2d8bd2),_0x3dfd33=_0x3b2938['filter'](_0x2687a2=>!_0x47ae4e['includes'](_0x2687a2)&&_0x2687a2!==_0x23d798);if(_0x4a4d32['JbGOm'](_0x3dfd33[_0x290c06(0x178)],0x0))return logger['warn']({'event':_0x4a4d32['UWoKC'],'tableName':_0x4a6257},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x5247c8=[..._0x47ae4e,..._0x3dfd33],_0x140e51=_0x4cbfb7['map']((_0x28ea14,_0x10a8b9)=>{const _0x13df68=_0x290c06,_0x4380ae=_0x5247c8['map'](_0x321cc1=>{const _0x1a78d0=_0x4a4d32['nqEWS'](_0x33d0cf,_0x28ea14[_0x321cc1],_0x321cc1);return _0x10a8b9===0x0?_0x1a78d0+'\x20AS\x20'+_0x321cc1:_0x1a78d0;});return'\x20\x20\x20\x20SELECT\x20'+_0x4380ae[_0x13df68(0x14b)](',\x20')+'\x20FROM\x20DUAL';}),_0x26d208=_0x3dfd33[_0x290c06(0x171)](_0x259995=>'t.'+_0x259995+'\x20=\x20v.'+_0x259995)[_0x290c06(0x14b)](_0x4a4d32[_0x290c06(0x156)]),_0x28c1b0=_0x47ae4e['map'](_0x187fb3=>'t.'+_0x187fb3+_0x290c06(0x135)+_0x187fb3)['join'](_0x290c06(0x158)),_0x4a8fe2=_0x290c06(0x13a)+_0x4a6257+_0x290c06(0x13e)+_0x140e51['join'](_0x4a4d32[_0x290c06(0x164)])+_0x290c06(0x176)+_0x28c1b0+')\x0a\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x20'+_0x26d208+_0x290c06(0x170);return logger['debug']({'event':_0x4a4d32[_0x290c06(0x146)],'tableName':_0x4a6257,'rowCount':_0x4cbfb7['length'],'updateColumns':_0x3dfd33[_0x290c06(0x178)],'dbType':_0x290c06(0x155)},'Batch\x20UPDATE\x20query\x20built\x20(Oracle\x20MERGE)'),{'query':_0x4a8fe2,'values':[]};}[a0_0x34f01a(0x12f)](_0x558ff4,_0x51ca12,_0x3b9ba7,_0x59699e,_0x25e973,_0x3577b7={}){const _0x6831e4=a0_0x34f01a,_0x10648c={'asgJK':_0x6831e4(0x165),'wYlWI':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','Bpnoa':_0x6831e4(0x133),'SFnTV':_0x6831e4(0x15c)};if(_0x558ff4['length']===0x0)return{'query':null,'values':[]};const _0x11d57d=this[_0x6831e4(0x139)](_0x3577b7),_0x5d2e85=_0x3b9ba7['filter'](_0x6e3839=>!_0x25e973[_0x6831e4(0x150)](_0x6e3839)&&_0x6e3839!==_0x59699e);if(_0x5d2e85[_0x6831e4(0x178)]===0x0)return logger['warn']({'event':'batch_update_no_columns','tableName':_0x51ca12},_0x10648c['asgJK']),{'query':null,'values':[]};const _0x1caefb=[...new Set([..._0x25e973,..._0x5d2e85])],_0x2568e8=_0x558ff4['map'](_0x4fb020=>{const _0x5860ff=_0x6831e4,_0x546b3b=_0x1caefb['map'](_0x45c1bd=>_0x11d57d(_0x4fb020[_0x45c1bd],_0x45c1bd));return'('+_0x546b3b[_0x5860ff(0x14b)](',\x20')+')';}),_0xe71f0f=_0x5d2e85[_0x6831e4(0x171)](_0x5dd911=>_0x5dd911+'\x20=\x20VALUES('+_0x5dd911+')')['join'](_0x10648c[_0x6831e4(0x16f)]),_0x5dfcdd='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x51ca12+'\x20('+_0x1caefb['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x2568e8[_0x6831e4(0x14b)](_0x10648c[_0x6831e4(0x152)])+'\x0a\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x20'+_0xe71f0f+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x6831e4(0x12e),'tableName':_0x51ca12,'rowCount':_0x558ff4['length'],'updateColumns':_0x5d2e85[_0x6831e4(0x178)],'dbType':_0x10648c['SFnTV']},_0x6831e4(0x14f)),{'query':_0x5dfcdd,'values':[]};}['chunkRows'](_0x8a3087,_0x24c4e8=0x64){const _0xb6bf32=[];for(let _0x209b8a=0x0;_0x209b8a<_0x8a3087['length'];_0x209b8a+=_0x24c4e8){_0xb6bf32['push'](_0x8a3087['slice'](_0x209b8a,_0x209b8a+_0x24c4e8));}return _0xb6bf32;}}module['exports']=new UpsertBuilder();
1
+ const a0_0x57fbbb=a0_0x165e;(function(_0x31d8d7,_0x51fa0c){const _0x20e21e=a0_0x165e,_0x37d888=_0x31d8d7();while(!![]){try{const _0x215e98=parseInt(_0x20e21e(0x200))/0x1+-parseInt(_0x20e21e(0x22a))/0x2+-parseInt(_0x20e21e(0x1fa))/0x3+-parseInt(_0x20e21e(0x1ea))/0x4+parseInt(_0x20e21e(0x1ec))/0x5*(-parseInt(_0x20e21e(0x22c))/0x6)+-parseInt(_0x20e21e(0x213))/0x7+parseInt(_0x20e21e(0x205))/0x8*(parseInt(_0x20e21e(0x20e))/0x9);if(_0x215e98===_0x51fa0c)break;else _0x37d888['push'](_0x37d888['shift']());}catch(_0x13379c){_0x37d888['push'](_0x37d888['shift']());}}}(a0_0x5c87,0x381e3));function a0_0x165e(_0x1733d4,_0x3beb98){_0x1733d4=_0x1733d4-0x1e3;const _0x5c87bf=a0_0x5c87();let _0x165ee9=_0x5c87bf[_0x1733d4];if(a0_0x165e['uNjGZN']===undefined){var _0x5ec4e0=function(_0x26a26c){const _0x26f9a6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x27799c='',_0x25a67f='';for(let _0x330686=0x0,_0x1703d7,_0x9879f1,_0x44fc62=0x0;_0x9879f1=_0x26a26c['charAt'](_0x44fc62++);~_0x9879f1&&(_0x1703d7=_0x330686%0x4?_0x1703d7*0x40+_0x9879f1:_0x9879f1,_0x330686++%0x4)?_0x27799c+=String['fromCharCode'](0xff&_0x1703d7>>(-0x2*_0x330686&0x6)):0x0){_0x9879f1=_0x26f9a6['indexOf'](_0x9879f1);}for(let _0x453be7=0x0,_0xf200b2=_0x27799c['length'];_0x453be7<_0xf200b2;_0x453be7++){_0x25a67f+='%'+('00'+_0x27799c['charCodeAt'](_0x453be7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x25a67f);};a0_0x165e['fTQrvi']=_0x5ec4e0,a0_0x165e['RVQKkq']={},a0_0x165e['uNjGZN']=!![];}const _0x2bd145=_0x5c87bf[0x0],_0x58602c=_0x1733d4+_0x2bd145,_0x25548c=a0_0x165e['RVQKkq'][_0x58602c];return!_0x25548c?(_0x165ee9=a0_0x165e['fTQrvi'](_0x165ee9),a0_0x165e['RVQKkq'][_0x58602c]=_0x165ee9):_0x165ee9=_0x25548c,_0x165ee9;}function a0_0x5c87(){const _0x59594f=['AvPfr1q','ogf6u1zWtW','Cg9ZDgDYzxnXBa','rvr5vLy','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','D2fYBG','BxLZCwW','z0PiB0S','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','lI9SB2DNzxi','mtaWmZm2ntbqww9RAM0','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHnEvnrtcbptIbevvbmsunbveuGs0vzkq','Dg9mB3DLCKnHC2u','kqOGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vuia','BNvTyMvY','mtG4nJK4m3jiBw1LDq','cIaGicbvtKLptIbbteWk','C3fSAxrL','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHpCMfJBguP','oJPct09mrufo','zLzVqxm','cIaGicaGieLou0vsvcbjtLrpia','BwfW','uKHgtKu','t1jbq0Xf','C3rYAw5N','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','Cg9TrNK','yNvPBgrfC2nHCgvgDw5JDgLVBG','id0GDI4','B21bC0O','ue9tveDsrvnrta','Aw5JBhvKzxm','cLnftevdvcaXiezst00Grfvbta','Cg5wzgS','ieforca','y2H1BMTsB3DZ','uMH5ALi','mJuYnZaWyxbiz3Hg','CeHnyxa','odrkEM5iqwK','C2XPy2u','icaGifnftevdvca','rejFvfLqrq','zw52','zgf0zq','y2vVsNO','C3LvAei','teLOC1e','ve9FrefursG','DhLWzq','su5trvjuiefmtaO','yNvPBgrcyxrJAfvWzgf0zq','ieftierbveuP','ChvZAa','zM9YBwf0rgf0zvzHBhvL','lcaNwvLzws1nts1ercCP','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','cIaGicaGie9oiervueXjq0fursblrvKGvvbeqvrfia','yMf0y2HFAw5Zzxj0x2j1AwX0','AM9PBG','ANPhEu4','u1fmsvrf','tvLtuuW','mtaWmJG3nNfdr0DYCq','z29eCgO','mtaZmta1vezhzLrO','oJPeqvrf','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','zM9YBwf0qM9VBgvHBLzHBhvL','tLvmta','yMf0y2HFDxbKyxrLx2j1AwX0','q0ftvcG','CMvWBgfJzq','z2v0rgf0ywjHC2vuExbL','vu1jrfy','kqOGicaGicbwquXvrvmG','t1vRrLa','uhHkEKK','cIaGicaGifvqrefursa','nZG3odmWzMD0A0DP','BgvUz3rO','yNvPBgrcyxrJAeLUC2vYDa','shfeA0y','ihqkicaGicaGvvnjtKCGkaO','zMLSDgvY','mZeYotuXuwjbBerS','laOGicaGicaGia','laOGicaGicaGica','zgvIDwC'];a0_0x5c87=function(){return _0x59594f;};return a0_0x5c87();}const {logger}=require(a0_0x57fbbb(0x20d)),DB_TYPES={'POSTGRESQL':a0_0x57fbbb(0x206),'MYSQL':a0_0x57fbbb(0x20a),'SQLSERVER':'sqlserver','ORACLE':'oracle','SQLITE':a0_0x57fbbb(0x215)};class UpsertBuilder{['getDatabaseType'](){const _0x243ace=a0_0x57fbbb,_0x3f9df7={'nmOME':'postgresql','ceoJz':'invalid_db_type'},_0x1bc797=(process[_0x243ace(0x230)][_0x243ace(0x22f)]||_0x3f9df7['nmOME'])[_0x243ace(0x210)](),_0xbdf610=Object['values'](DB_TYPES);if(!_0xbdf610['includes'](_0x1bc797))return logger[_0x243ace(0x209)]({'event':_0x3f9df7[_0x243ace(0x232)],'provided':_0x1bc797,'fallback':_0x3f9df7['nmOME']},'Invalid\x20DB_TYPE:\x20'+_0x1bc797+'.\x20Falling\x20back\x20to\x20postgresql.'),DB_TYPES[_0x243ace(0x223)];return _0x1bc797;}[a0_0x57fbbb(0x23b)](_0x5517d1,_0x3d0cc5,_0x1e3899=![]){const _0x48d595=a0_0x57fbbb,_0x6f3d59={'iWoID':'NULL::DATE','ETyVV':'NULL'};if(_0x1e3899)switch(_0x3d0cc5){case DB_TYPES['POSTGRESQL']:return _0x6f3d59['iWoID'];case DB_TYPES['MYSQL']:return _0x6f3d59[_0x48d595(0x207)];case DB_TYPES[_0x48d595(0x1e8)]:return _0x6f3d59['ETyVV'];case DB_TYPES['SQLSERVER']:return _0x48d595(0x1f0);case DB_TYPES['ORACLE']:return _0x6f3d59[_0x48d595(0x207)];default:return'NULL::DATE';}switch(_0x3d0cc5){case DB_TYPES[_0x48d595(0x223)]:return _0x5517d1+_0x48d595(0x1ed);case DB_TYPES[_0x48d595(0x1e9)]:return _0x5517d1;case DB_TYPES['SQLITE']:return _0x5517d1;case DB_TYPES['SQLSERVER']:return _0x48d595(0x1f2)+_0x5517d1+_0x48d595(0x239);case DB_TYPES[_0x48d595(0x21c)]:return _0x48d595(0x235)+_0x5517d1+_0x48d595(0x23c);default:return _0x5517d1+_0x48d595(0x1ed);}}[a0_0x57fbbb(0x1ef)](_0x34ca84,_0x1bff56,_0xc46be=![]){const _0xbded8b=a0_0x57fbbb,_0x1b12d7={'gJHoK':'NULL::BOOLEAN','nFJoi':_0xbded8b(0x1f0)};if(_0xc46be)switch(_0x1bff56){case DB_TYPES['POSTGRESQL']:return _0x1b12d7[_0xbded8b(0x20b)];default:return _0x1b12d7['nFJoi'];}switch(_0x1bff56){case DB_TYPES['POSTGRESQL']:return _0x34ca84+_0xbded8b(0x217);case DB_TYPES[_0xbded8b(0x21c)]:return _0x34ca84;case DB_TYPES['MYSQL']:return _0x34ca84;case DB_TYPES[_0xbded8b(0x1e8)]:return _0x34ca84;case DB_TYPES['SQLSERVER']:return _0xbded8b(0x1f2)+_0x34ca84+'\x20AS\x20BIT)';default:return _0x34ca84+_0xbded8b(0x217);}}['buildEscapeFunction'](_0x42ef81={}){const _0x40bfc7=a0_0x57fbbb,_0x1c843e={'LIhsQ':function(_0x5c0cfa,_0x5bb04e){return _0x5c0cfa===_0x5bb04e;},'PxJzI':_0x40bfc7(0x231),'jOyVq':_0x40bfc7(0x21d),'tmfHP':'boolean','otZam':_0x40bfc7(0x212),'goDpj':function(_0x2dcc5d,_0x7a7ce0){return _0x2dcc5d===_0x7a7ce0;}},_0x6a51c7=this[_0x40bfc7(0x1f4)]();return(_0x5c5356,_0x3c8d07)=>{const _0x12b001=_0x40bfc7,_0x11d3b4=_0x42ef81[_0x3c8d07];if(_0x5c5356===null||_0x5c5356===undefined){if(_0x11d3b4&&_0x1c843e['LIhsQ'](_0x11d3b4['type'],_0x1c843e[_0x12b001(0x1f8)]))return this['formatDateValue'](null,_0x6a51c7,!![]);if(_0x11d3b4&&_0x11d3b4[_0x12b001(0x236)]==='boolean')return this[_0x12b001(0x1ef)](null,_0x6a51c7,!![]);return'NULL';}if(_0x1c843e[_0x12b001(0x234)](typeof _0x5c5356,_0x1c843e['jOyVq'])){const _0x23de0d='\x27'+_0x5c5356['replace'](/'/g,'\x27\x27')+'\x27';if(_0x11d3b4&&_0x11d3b4[_0x12b001(0x236)]===_0x12b001(0x231))return this['formatDateValue'](_0x23de0d,_0x6a51c7,![]);if(_0x11d3b4&&_0x11d3b4[_0x12b001(0x236)]===_0x1c843e['tmfHP'])return this[_0x12b001(0x1ef)](_0x23de0d,_0x6a51c7,![]);return _0x23de0d;}if(typeof _0x5c5356===_0x1c843e['otZam'])return _0x5c5356;if(_0x1c843e[_0x12b001(0x1eb)](typeof _0x5c5356,'boolean'))return _0x5c5356;const _0x37782c='\x27'+String(_0x5c5356)[_0x12b001(0x1f3)](/'/g,'\x27\x27')+'\x27';if(_0x11d3b4&&_0x11d3b4['type']===_0x12b001(0x231))return this['formatDateValue'](_0x37782c,_0x6a51c7,![]);return _0x37782c;};}[a0_0x57fbbb(0x1fc)](_0x4ae761,_0x2ce2fd,_0x17cd2a,_0xe210de={}){const _0xc33e44=a0_0x57fbbb,_0x5020a1={'pHMap':function(_0x4ed61a,_0x36e918){return _0x4ed61a===_0x36e918;}},_0xace1fc=this['getDatabaseType']();if(_0x5020a1[_0xc33e44(0x22b)](_0xace1fc,DB_TYPES[_0xc33e44(0x21c)]))return this[_0xc33e44(0x208)](_0x4ae761,_0x2ce2fd,_0x17cd2a,_0xe210de);return this['_buildBatchInsertPostgres'](_0x4ae761,_0x2ce2fd,_0x17cd2a,_0xe210de);}['_buildBatchInsertPostgres'](_0x1606e7,_0x30e3b5,_0x15c76a,_0x274954={}){const _0x3d78d9=a0_0x57fbbb,_0x28275d={'CZZCt':'postgresql','pnVdk':_0x3d78d9(0x1e3)};if(_0x1606e7[_0x3d78d9(0x1fb)]===0x0)return{'query':null,'values':[]};const _0x2debe4=this['buildEscapeFunction'](_0x274954),_0x412208=_0x1606e7['map'](_0x58f2af=>{const _0x49ff00=_0x3d78d9,_0x2c3829=_0x15c76a['map'](_0x4d5bc4=>_0x2debe4(_0x58f2af[_0x4d5bc4],_0x4d5bc4));return'('+_0x2c3829[_0x49ff00(0x1e6)](',\x20')+')';}),_0x577e77=_0x3d78d9(0x219)+_0x30e3b5+'\x20('+_0x15c76a[_0x3d78d9(0x1e6)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x412208[_0x3d78d9(0x1e6)](',\x0a\x20\x20\x20\x20\x20\x20\x20')+'\x0a\x20\x20\x20\x20';return logger[_0x3d78d9(0x203)]({'event':_0x3d78d9(0x1e5),'tableName':_0x30e3b5,'rowCount':_0x1606e7[_0x3d78d9(0x1fb)],'dbType':_0x28275d['CZZCt']},_0x28275d[_0x3d78d9(0x226)]),{'query':_0x577e77,'values':[]};}[a0_0x57fbbb(0x208)](_0x47bd3a,_0x4b1b99,_0x1fb194,_0x570c8d={}){const _0x4c1fe9=a0_0x57fbbb,_0x3559fc={'lVuhF':function(_0x38c9fb,_0xde9c64){return _0x38c9fb===_0xde9c64;},'OfJRk':'batch_insert_built','pomFy':'oracle'};if(_0x3559fc['lVuhF'](_0x47bd3a[_0x4c1fe9(0x1fb)],0x0))return{'query':null,'values':[]};const _0x3c6571=this[_0x4c1fe9(0x220)](_0x570c8d),_0x473c6f=_0x47bd3a['map'](_0x298737=>{const _0x1f69bf=_0x4c1fe9,_0x42a846=_0x1fb194[_0x1f69bf(0x21a)](_0x44d120=>_0x3c6571(_0x298737[_0x44d120],_0x44d120));return'\x20\x20INTO\x20'+_0x4b1b99+'\x20('+_0x1fb194['join'](',\x20')+')\x20VALUES\x20('+_0x42a846[_0x1f69bf(0x1e6)](',\x20')+')';}),_0x20c982=_0x4c1fe9(0x237)+_0x473c6f['join']('\x0a')+_0x4c1fe9(0x225);return logger[_0x4c1fe9(0x203)]({'event':_0x3559fc['OfJRk'],'tableName':_0x4b1b99,'rowCount':_0x47bd3a[_0x4c1fe9(0x1fb)],'dbType':_0x3559fc[_0x4c1fe9(0x21f)]},_0x4c1fe9(0x216)),{'query':_0x20c982,'values':[]};}[a0_0x57fbbb(0x238)](_0x233eea,_0x24cafb,_0x4da74f,_0x4ccae0,_0xcbbbee,_0x6a927={}){const _0x43a727=a0_0x57fbbb,_0x386b4f=this['getDatabaseType']();if(_0x386b4f===DB_TYPES[_0x43a727(0x21c)])return this[_0x43a727(0x21e)](_0x233eea,_0x24cafb,_0x4da74f,_0x4ccae0,_0xcbbbee,_0x6a927);if(_0x386b4f===DB_TYPES[_0x43a727(0x1e9)])return this[_0x43a727(0x23d)](_0x233eea,_0x24cafb,_0x4da74f,_0x4ccae0,_0xcbbbee,_0x6a927);return this['_buildBatchUpdatePostgres'](_0x233eea,_0x24cafb,_0x4da74f,_0x4ccae0,_0xcbbbee,_0x6a927);}['_buildBatchUpdatePostgres'](_0xd8dbb9,_0x22f3d2,_0x1c30b2,_0x453012,_0x5378c0,_0x587696={}){const _0x3bcdef=a0_0x57fbbb,_0x50503b={'GZeet':function(_0x48b524,_0x4953e4){return _0x48b524===_0x4953e4;},'iZEGT':function(_0x3f3dfe,_0x4b4512){return _0x3f3dfe===_0x4b4512;},'hdVHf':'batch_update_no_columns','fVoAs':_0x3bcdef(0x227),'syUhB':_0x3bcdef(0x1f1),'vrXiw':'Batch\x20UPDATE\x20query\x20built\x20(PostgreSQL)'};if(_0x50503b['GZeet'](_0xd8dbb9['length'],0x0))return{'query':null,'values':[]};const _0x249d69=this['buildEscapeFunction'](_0x587696),_0x50aea2=_0x1c30b2[_0x3bcdef(0x1ff)](_0x144d80=>!_0x5378c0[_0x3bcdef(0x224)](_0x144d80)&&_0x144d80!==_0x453012);if(_0x50503b[_0x3bcdef(0x204)](_0x50aea2['length'],0x0))return logger[_0x3bcdef(0x209)]({'event':_0x50503b['hdVHf'],'tableName':_0x22f3d2},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x57b67f=_0xd8dbb9[_0x3bcdef(0x21a)](_0x1ce2d6=>{const _0x6e70a4=_0x3bcdef,_0x5f26e9=[..._0x5378c0,..._0x50aea2],_0x1c2e60=_0x5f26e9[_0x6e70a4(0x21a)](_0x4dfaa4=>_0x249d69(_0x1ce2d6[_0x4dfaa4],_0x4dfaa4));return'('+_0x1c2e60[_0x6e70a4(0x1e6)](',\x20')+')';}),_0x8c0583=_0x50aea2['map'](_0x4fb703=>_0x4fb703+_0x3bcdef(0x221)+_0x4fb703)['join'](_0x3bcdef(0x202)),_0x355d96=_0x5378c0[_0x3bcdef(0x21a)](_0x1b6b76=>'t.'+_0x1b6b76+_0x3bcdef(0x221)+_0x1b6b76)[_0x3bcdef(0x1e6)](_0x50503b[_0x3bcdef(0x218)]),_0x531f2c=_0x3bcdef(0x1f9)+_0x22f3d2+'\x20AS\x20t\x0a\x20\x20\x20\x20\x20\x20SET\x20'+_0x8c0583+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20(VALUES\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x57b67f['join'](_0x3bcdef(0x201))+'\x0a\x20\x20\x20\x20\x20\x20)\x20AS\x20v('+[..._0x5378c0,..._0x50aea2][_0x3bcdef(0x1e6)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x355d96+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x50503b[_0x3bcdef(0x233)],'tableName':_0x22f3d2,'rowCount':_0xd8dbb9[_0x3bcdef(0x1fb)],'updateColumns':_0x50aea2[_0x3bcdef(0x1fb)],'dbType':'postgresql'},_0x50503b['vrXiw']),{'query':_0x531f2c,'values':[]};}['_buildBatchUpdateOracle'](_0x355564,_0x19c394,_0x5691fb,_0x36ba37,_0x519463,_0x1e2b65={}){const _0x3aea03=a0_0x57fbbb,_0x174a9a={'ILhjr':function(_0x40005a,_0xc5743e,_0x493cd8){return _0x40005a(_0xc5743e,_0x493cd8);},'RhyjR':function(_0x4da188,_0x7ff1d6){return _0x4da188===_0x7ff1d6;},'spFgY':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','UMIDV':_0x3aea03(0x202),'jzGyN':_0x3aea03(0x227),'LLgbo':_0x3aea03(0x214)};if(_0x174a9a[_0x3aea03(0x229)](_0x355564['length'],0x0))return{'query':null,'values':[]};const _0x1a832e=this['buildEscapeFunction'](_0x1e2b65),_0x257065=_0x5691fb['filter'](_0x4a48ee=>!_0x519463['includes'](_0x4a48ee)&&_0x4a48ee!==_0x36ba37);if(_0x257065['length']===0x0)return logger[_0x3aea03(0x209)]({'event':'batch_update_no_columns','tableName':_0x19c394},_0x174a9a['spFgY']),{'query':null,'values':[]};const _0x1f686d=[..._0x519463,..._0x257065],_0x2efa6f=_0x355564['map']((_0x3483e4,_0x37f1a4)=>{const _0x29692a=_0x3aea03,_0x5f571c=_0x1f686d[_0x29692a(0x21a)](_0x103eba=>{const _0x1edf7f=_0x174a9a['ILhjr'](_0x1a832e,_0x3483e4[_0x103eba],_0x103eba);return _0x37f1a4===0x0?_0x1edf7f+'\x20AS\x20'+_0x103eba:_0x1edf7f;});return _0x29692a(0x22e)+_0x5f571c['join'](',\x20')+'\x20FROM\x20DUAL';}),_0x49a6ac=_0x257065['map'](_0x4fb138=>'t.'+_0x4fb138+_0x3aea03(0x221)+_0x4fb138)['join'](_0x174a9a[_0x3aea03(0x1f5)]),_0x2d0634=_0x519463[_0x3aea03(0x21a)](_0x4549b0=>'t.'+_0x4549b0+_0x3aea03(0x221)+_0x4549b0)[_0x3aea03(0x1e6)](_0x174a9a[_0x3aea03(0x1e7)]),_0x1c038f='\x0a\x20\x20\x20\x20\x20\x20MERGE\x20INTO\x20'+_0x19c394+_0x3aea03(0x1fe)+_0x2efa6f[_0x3aea03(0x1e6)](_0x174a9a['LLgbo'])+'\x0a\x20\x20\x20\x20\x20\x20)\x20v\x0a\x20\x20\x20\x20\x20\x20ON\x20('+_0x2d0634+_0x3aea03(0x211)+_0x49a6ac+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':'batch_update_built','tableName':_0x19c394,'rowCount':_0x355564[_0x3aea03(0x1fb)],'updateColumns':_0x257065[_0x3aea03(0x1fb)],'dbType':'oracle'},'Batch\x20UPDATE\x20query\x20built\x20(Oracle\x20MERGE)'),{'query':_0x1c038f,'values':[]};}['_buildBatchUpdateMysql'](_0x3813f5,_0x3e87f6,_0x32962e,_0x4be941,_0x1be7b7,_0x535db8={}){const _0x4e7143=a0_0x57fbbb,_0x59ec0a={'YAipQ':_0x4e7143(0x20c),'OUkFP':_0x4e7143(0x1ee),'EAakT':'batch_update_built','RHFNE':_0x4e7143(0x20a),'omAsJ':_0x4e7143(0x20f)};if(_0x3813f5['length']===0x0)return{'query':null,'values':[]};const _0x5c1f25=this['buildEscapeFunction'](_0x535db8),_0x1baad8=_0x32962e[_0x4e7143(0x1ff)](_0x4ed7f5=>!_0x1be7b7['includes'](_0x4ed7f5)&&_0x4ed7f5!==_0x4be941);if(_0x1baad8['length']===0x0)return logger[_0x4e7143(0x209)]({'event':_0x59ec0a['YAipQ'],'tableName':_0x3e87f6},_0x59ec0a[_0x4e7143(0x1f7)]),{'query':null,'values':[]};const _0x21fc0e=[...new Set([..._0x1be7b7,..._0x1baad8])],_0x3d5c4c=_0x3813f5[_0x4e7143(0x21a)](_0x387660=>{const _0x715c0=_0x4e7143,_0x16ed53=_0x21fc0e[_0x715c0(0x21a)](_0x54d9ee=>_0x5c1f25(_0x387660[_0x54d9ee],_0x54d9ee));return'('+_0x16ed53['join'](',\x20')+')';}),_0x3e8fa9=_0x1baad8['map'](_0x356b8d=>_0x356b8d+'\x20=\x20VALUES('+_0x356b8d+')')[_0x4e7143(0x1e6)](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20'),_0x543966='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x3e87f6+'\x20('+_0x21fc0e['join'](',\x20')+_0x4e7143(0x1f6)+_0x3d5c4c[_0x4e7143(0x1e6)](_0x4e7143(0x201))+_0x4e7143(0x1e4)+_0x3e8fa9+'\x0a\x20\x20\x20\x20';return logger[_0x4e7143(0x203)]({'event':_0x59ec0a['EAakT'],'tableName':_0x3e87f6,'rowCount':_0x3813f5[_0x4e7143(0x1fb)],'updateColumns':_0x1baad8[_0x4e7143(0x1fb)],'dbType':_0x59ec0a[_0x4e7143(0x21b)]},_0x59ec0a[_0x4e7143(0x222)]),{'query':_0x543966,'values':[]};}[a0_0x57fbbb(0x228)](_0x3f690c,_0x3eacb0=0x64){const _0x8a83fc=a0_0x57fbbb,_0x5b59a5={'HqDkF':function(_0x2f250e,_0x36a2ec){return _0x2f250e+_0x36a2ec;}},_0x1d6fff=[];for(let _0x3cfa33=0x0;_0x3cfa33<_0x3f690c['length'];_0x3cfa33+=_0x3eacb0){_0x1d6fff[_0x8a83fc(0x23a)](_0x3f690c[_0x8a83fc(0x22d)](_0x3cfa33,_0x5b59a5[_0x8a83fc(0x1fd)](_0x3cfa33,_0x3eacb0)));}return _0x1d6fff;}}module['exports']=new UpsertBuilder();
@@ -1 +1 @@
1
- const a0_0x1311dc=a0_0x33f2;(function(_0x5ec024,_0x191685){const _0x52c3c0=a0_0x33f2,_0x515f91=_0x5ec024();while(!![]){try{const _0x4ddf17=parseInt(_0x52c3c0(0x165))/0x1+-parseInt(_0x52c3c0(0x141))/0x2+-parseInt(_0x52c3c0(0x148))/0x3+parseInt(_0x52c3c0(0x164))/0x4+parseInt(_0x52c3c0(0x159))/0x5*(-parseInt(_0x52c3c0(0x14e))/0x6)+-parseInt(_0x52c3c0(0x15c))/0x7+-parseInt(_0x52c3c0(0x162))/0x8*(-parseInt(_0x52c3c0(0x151))/0x9);if(_0x4ddf17===_0x191685)break;else _0x515f91['push'](_0x515f91['shift']());}catch(_0x51f31f){_0x515f91['push'](_0x515f91['shift']());}}}(a0_0x4c0f,0xbea37));const axios=require('axios'),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD=a0_0x1311dc(0x153),DEFAULT_HOST='localhost',DEFAULT_PORT=0xbb8;function resolveTemplateString(_0x3ee20c,_0x188c44){const _0x866b66=a0_0x1311dc,_0x3539f5={'OjESE':function(_0x2d3695,_0x43b68b,_0x2cacff){return _0x2d3695(_0x43b68b,_0x2cacff);},'kPmkE':function(_0x2f28db,_0x594947){return _0x2f28db!==_0x594947;},'qeTkd':function(_0x2033ff,_0x2d7afb){return _0x2033ff===_0x2d7afb;},'Xgjgy':function(_0x11c4af,_0x249196){return _0x11c4af(_0x249196);},'NryBM':_0x866b66(0x15d)};if(typeof _0x3ee20c!==_0x3539f5[_0x866b66(0x14d)])return _0x3ee20c;return _0x3ee20c['replace'](/\{\{([^}]+)\}\}/g,(_0x1fe596,_0x169e0f)=>{const _0x4eacad=_0x866b66,_0x3b9954=_0x169e0f[_0x4eacad(0x156)](),_0x1cff7f=_0x3539f5[_0x4eacad(0x13c)](getNestedValue,_0x188c44,_0x3b9954);if(_0x3539f5['kPmkE'](_0x1cff7f,undefined)&&_0x1cff7f!==null)return _0x3539f5['qeTkd'](typeof _0x1cff7f,_0x4eacad(0x155))?JSON[_0x4eacad(0x14a)](_0x1cff7f):_0x3539f5[_0x4eacad(0x146)](String,_0x1cff7f);return _0x1fe596;});}function resolveTemplateVariables(_0x408fe2,_0x4633ba){const _0x379407=a0_0x1311dc,_0x33476b={'HrSxu':function(_0x2980c9,_0x2e202f){return _0x2980c9===_0x2e202f;},'TZtBJ':function(_0x1c8d75,_0x1187de,_0x4807fa){return _0x1c8d75(_0x1187de,_0x4807fa);}};if(typeof _0x408fe2==='string')return resolveTemplateString(_0x408fe2,_0x4633ba);if(Array[_0x379407(0x14c)](_0x408fe2))return _0x408fe2[_0x379407(0x152)](_0x2ab526=>resolveTemplateVariables(_0x2ab526,_0x4633ba));if(_0x408fe2!==null&&_0x33476b[_0x379407(0x147)](typeof _0x408fe2,'object')){const _0xca59cb={};for(const [_0xe2230,_0x34db7c]of Object[_0x379407(0x14b)](_0x408fe2)){_0xca59cb[_0xe2230]=_0x33476b[_0x379407(0x13b)](resolveTemplateVariables,_0x34db7c,_0x4633ba);}return _0xca59cb;}return _0x408fe2;}function getNestedValue(_0x32e3e2,_0xc4f99f){const _0x1bb211=a0_0x1311dc,_0x3df84b={'SwKGS':function(_0x217735,_0x233ecb){return _0x217735!==_0x233ecb;}};return _0xc4f99f[_0x1bb211(0x143)]('.')[_0x1bb211(0x16a)]((_0x5427f2,_0x11df17)=>{const _0x652897=_0x1bb211;return _0x5427f2&&_0x3df84b[_0x652897(0x161)](_0x5427f2[_0x11df17],undefined)?_0x5427f2[_0x11df17]:undefined;},_0x32e3e2);}function resolveUrl(_0xaa30fd,_0x19f6bb){const _0x1d9cf6=a0_0x1311dc,_0x2cef89={'HGZFg':function(_0x456f70,_0x56ea32){return _0x456f70!==_0x56ea32;},'TCUcP':_0x1d9cf6(0x15d),'eGGTf':'http://','wUjEo':'https://'};if(!_0xaa30fd||_0x2cef89[_0x1d9cf6(0x168)](typeof _0xaa30fd,_0x2cef89[_0x1d9cf6(0x15a)]))return _0xaa30fd;if(_0xaa30fd[_0x1d9cf6(0x163)](_0x2cef89['eGGTf'])||_0xaa30fd[_0x1d9cf6(0x163)](_0x2cef89['wUjEo']))return _0xaa30fd;const _0x31828a=process[_0x1d9cf6(0x13f)]['SERVER_ADDRESS']||process[_0x1d9cf6(0x13f)]['HOST']||DEFAULT_HOST,_0x5e6ff8=process['env']['PORT']||DEFAULT_PORT,_0x5a54c0=_0x1d9cf6(0x160)+_0x31828a+':'+_0x5e6ff8;if(_0xaa30fd[_0x1d9cf6(0x163)](_0x1d9cf6(0x138)))return''+_0x5a54c0+_0xaa30fd;if(_0xaa30fd['startsWith']('/')){const _0x239cb0=_0x19f6bb&&_0x19f6bb['project']||'';if(_0x239cb0)return _0x5a54c0+_0x1d9cf6(0x138)+_0x239cb0+_0xaa30fd;return''+_0x5a54c0+_0xaa30fd;}return _0xaa30fd;}function buildHookContext(_0x51000a){const _0x5eb711=a0_0x1311dc;return{'id':_0x51000a['id']||'','newStatus':_0x51000a[_0x5eb711(0x170)]||'','oldStatus':_0x51000a['oldStatus']||'','remarks':_0x51000a['remarks']||'','tableName':_0x51000a[_0x5eb711(0x16d)]||'','user_id':_0x51000a['userId']||_0x5eb711(0x154),'timestamp':new Date()['toISOString'](),'record':_0x51000a[_0x5eb711(0x166)]||{},'requestData':_0x51000a['requestData']||{},'project':_0x51000a[_0x5eb711(0x139)]||'','authHeader':_0x51000a[_0x5eb711(0x171)]||null};}async function executeHook(_0x540473,_0x334835){const _0x3e5cd2=a0_0x1311dc,_0x439aa1={'NSVUv':function(_0x3833e5,_0x1fe282){return _0x3833e5!==_0x1fe282;},'qXeBZ':function(_0x543994,_0x253b22,_0x463576){return _0x543994(_0x253b22,_0x463576);},'opkxK':function(_0x2a6528,_0x34ccaf){return _0x2a6528(_0x34ccaf);},'qpDNb':'application/json','gkhfB':_0x3e5cd2(0x167)};if(!_0x540473||_0x439aa1[_0x3e5cd2(0x158)](_0x540473['type'],'api'))return{'success':!![],'message':_0x3e5cd2(0x15e)};const _0x24dd77=_0x540473[_0x3e5cd2(0x16c)]===!![],_0x23e041=(_0x540473[_0x3e5cd2(0x145)]||DEFAULT_METHOD)[_0x3e5cd2(0x140)](),_0xcfa7c7=_0x540473['timeout']||DEFAULT_TIMEOUT,_0x23cf6e=resolveTemplateString(_0x540473['url'],_0x334835),_0x59eb3f=resolveUrl(_0x23cf6e,_0x334835),_0x1d81ec=_0x540473['body']?resolveTemplateVariables(_0x540473['body'],_0x334835):{},_0x120658=_0x540473['headers']?_0x439aa1['qXeBZ'](resolveTemplateVariables,_0x540473['headers'],_0x334835):{},_0x229f5a=_0x120658&&(_0x120658[_0x3e5cd2(0x150)]!==undefined||_0x120658[_0x3e5cd2(0x16f)]!==undefined),_0x2860c1=!_0x229f5a&&_0x334835&&_0x334835[_0x3e5cd2(0x171)]?{'Authorization':_0x334835[_0x3e5cd2(0x171)]}:{};try{const _0x423588=await _0x439aa1['opkxK'](axios,{'method':_0x23e041['toLowerCase'](),'url':_0x59eb3f,'data':_0x1d81ec,'headers':{'Content-Type':_0x439aa1['qpDNb'],'User-Agent':_0x439aa1[_0x3e5cd2(0x16b)],..._0x2860c1,..._0x120658},'timeout':_0xcfa7c7});return console['log']('Workflow\x20hook\x20executed:\x20'+_0x23e041+'\x20'+_0x59eb3f+_0x3e5cd2(0x15b)+_0x423588[_0x3e5cd2(0x149)]),{'success':!![],'message':_0x3e5cd2(0x15f),'status':_0x423588[_0x3e5cd2(0x149)],'url':_0x59eb3f};}catch(_0xd6fbc1){const _0x53f52a=_0xd6fbc1[_0x3e5cd2(0x16e)]?'HTTP\x20'+_0xd6fbc1['response']['status']+':\x20'+_0xd6fbc1[_0x3e5cd2(0x16e)]['statusText']:_0xd6fbc1[_0x3e5cd2(0x142)];console['error']('Workflow\x20hook\x20failed:\x20'+_0x23e041+'\x20'+_0x59eb3f+'\x20→\x20'+_0x53f52a);if(_0x24dd77)return{'success':![],'message':'Blocking\x20hook\x20failed:\x20'+_0x53f52a,'error':_0x53f52a,'url':_0x59eb3f};return console['warn'](_0x3e5cd2(0x13e)+_0x53f52a),{'success':!![],'message':_0x3e5cd2(0x13e)+_0x53f52a,'warning':_0x53f52a,'url':_0x59eb3f};}}function a0_0x4c0f(){const _0xb1c67b=['B2jQzwn0','DhjPBq','BgvUz3rO','tLnwvxy','nxnsrMflEq','venvy1a','iokgKIa','mJuYmdq2mNbrtejlrW','C3rYAw5N','sg9VAYbZA2LWCgvKoIb1BNn1ChbVCNrLzcb0ExbL','sg9VAYbLEgvJDxrLzcbZDwnJzxnZzNvSBhK','Ahr0CdOVlW','u3Dlr1m','ohfgtvfSqG','C3rHCNrZv2L0Aa','nZa2mJi0u1zKwNnO','mtiWnduXn1nTtxrVsG','CMvJB3jK','uMvZDezVCMDLlvDVCMTMBg93lZeUma','seDArMC','sg9VAYbLEgvJDxrPB24GzMfPBgvK','CMvKDwnL','z2TOzKi','yMXVy2TPBMC','DgfIBgvoyw1L','CMvZCg9UC2u','yxv0Ag9YAxPHDgLVBG','BMv3u3rHDhvZ','yxv0AeHLywrLCG','l2fWAs8','ChjVAMvJDa','C3vJy2vZCW','vfP0qKO','t2Pfu0u','BKztzNu','tM9UlwjSB2nRAw5NigHVB2SGzMfPBgvKicHPz25VCMvKktOG','zw52','Dg9vChbLCKnHC2u','mti0odq2mK1Mz0Ttra','BwvZC2fNzq','C3bSAxq','ChvZAa','Bwv0Ag9K','wgDQz3K','shjtEhu','ndq2nJeXoejpr2vOrG','C3rHDhvZ','C3rYAw5NAwz5','zw50CMLLCW','AxnbCNjHEq','tNj5qK0','mJm5nZm0mLbeterwuW','BwPiq2C','qxv0Ag9YAxPHDgLVBG','mJa0nteWnZHfu2TwDfi','BwfW','ue9tva','C3LZDgvT'];a0_0x4c0f=function(){return _0xb1c67b;};return a0_0x4c0f();}async function executeHooks(_0x4153f0,_0x1cbf37){const _0x8d192b=a0_0x1311dc,_0x3c0f6d={'nFSfu':function(_0x1e940d,_0x51be14,_0x25fbf1){return _0x1e940d(_0x51be14,_0x25fbf1);},'mjHCg':_0x8d192b(0x169)};if(!_0x4153f0||!Array[_0x8d192b(0x14c)](_0x4153f0)||_0x4153f0['length']===0x0)return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x561e1b=[];for(const _0x1bbed8 of _0x4153f0){const _0x3eeebe=await _0x3c0f6d[_0x8d192b(0x13d)](executeHook,_0x1bbed8,_0x1cbf37);_0x561e1b[_0x8d192b(0x144)](_0x3eeebe);if(!_0x3eeebe[_0x8d192b(0x13a)])return{'success':![],'error':_0x3eeebe['message']||_0x3c0f6d[_0x8d192b(0x14f)],'results':_0x561e1b,'hooksExecuted':_0x561e1b['length']};}return{'success':!![],'results':_0x561e1b,'hooksExecuted':_0x561e1b[_0x8d192b(0x157)]};}function a0_0x33f2(_0x35f260,_0x28dff3){_0x35f260=_0x35f260-0x138;const _0x4c0f13=a0_0x4c0f();let _0x33f2ee=_0x4c0f13[_0x35f260];if(a0_0x33f2['vdNtOP']===undefined){var _0x415b3c=function(_0xd9885){const _0x49b582='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5b6368='',_0xdd10aa='';for(let _0x2b58ab=0x0,_0x5307fc,_0x58a14d,_0x58f157=0x0;_0x58a14d=_0xd9885['charAt'](_0x58f157++);~_0x58a14d&&(_0x5307fc=_0x2b58ab%0x4?_0x5307fc*0x40+_0x58a14d:_0x58a14d,_0x2b58ab++%0x4)?_0x5b6368+=String['fromCharCode'](0xff&_0x5307fc>>(-0x2*_0x2b58ab&0x6)):0x0){_0x58a14d=_0x49b582['indexOf'](_0x58a14d);}for(let _0x335785=0x0,_0x39631b=_0x5b6368['length'];_0x335785<_0x39631b;_0x335785++){_0xdd10aa+='%'+('00'+_0x5b6368['charCodeAt'](_0x335785)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xdd10aa);};a0_0x33f2['MDfkTl']=_0x415b3c,a0_0x33f2['KPbrwv']={},a0_0x33f2['vdNtOP']=!![];}const _0x49f467=_0x4c0f13[0x0],_0x4c0ce1=_0x35f260+_0x49f467,_0x21c4d8=a0_0x33f2['KPbrwv'][_0x4c0ce1];return!_0x21c4d8?(_0x33f2ee=a0_0x33f2['MDfkTl'](_0x33f2ee),a0_0x33f2['KPbrwv'][_0x4c0ce1]=_0x33f2ee):_0x33f2ee=_0x21c4d8,_0x33f2ee;}module['exports']={'resolveTemplateString':resolveTemplateString,'resolveTemplateVariables':resolveTemplateVariables,'resolveUrl':resolveUrl,'buildHookContext':buildHookContext,'executeHook':executeHook,'executeHooks':executeHooks};
1
+ function a0_0x231b(_0x3b524d,_0xfa5da8){_0x3b524d=_0x3b524d-0x120;const _0xcfee4f=a0_0xcfee();let _0x231b4b=_0xcfee4f[_0x3b524d];if(a0_0x231b['ulWeqR']===undefined){var _0x53a261=function(_0x230a16){const _0x49178a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x309e24='',_0x78c42c='';for(let _0x104cef=0x0,_0x3aa766,_0x25677f,_0x37e36c=0x0;_0x25677f=_0x230a16['charAt'](_0x37e36c++);~_0x25677f&&(_0x3aa766=_0x104cef%0x4?_0x3aa766*0x40+_0x25677f:_0x25677f,_0x104cef++%0x4)?_0x309e24+=String['fromCharCode'](0xff&_0x3aa766>>(-0x2*_0x104cef&0x6)):0x0){_0x25677f=_0x49178a['indexOf'](_0x25677f);}for(let _0x40a7ac=0x0,_0x16694f=_0x309e24['length'];_0x40a7ac<_0x16694f;_0x40a7ac++){_0x78c42c+='%'+('00'+_0x309e24['charCodeAt'](_0x40a7ac)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x78c42c);};a0_0x231b['luIzvk']=_0x53a261,a0_0x231b['FDPohn']={},a0_0x231b['ulWeqR']=!![];}const _0x1e70c0=_0xcfee4f[0x0],_0x4b7c05=_0x3b524d+_0x1e70c0,_0x442f0f=a0_0x231b['FDPohn'][_0x4b7c05];return!_0x442f0f?(_0x231b4b=a0_0x231b['luIzvk'](_0x231b4b),a0_0x231b['FDPohn'][_0x4b7c05]=_0x231b4b):_0x231b4b=_0x442f0f,_0x231b4b;}function a0_0xcfee(){const _0x31e537=['nduWndK2oe5jyujfEG','mtGWntq2ndfPCuDrz3i','rfDQsK4','l2fWAs8','qMXVy2TPBMCGAg9VAYbMywLSzwq6ia','BgvUz3rO','sg9VAYbZA2LWCgvKoIb1BNn1ChbVCNrLzcb0ExbL','Dg9mB3DLCKnHC2u','B21IzwW','C3vJy2vZCW','mJy1nZy2rgTTuhPh','Ahr0CdOVlW','qxv0Ag9YAxPHDgLVBG','zK9RCfu','tM9UlwjSB2nRAw5NigHVB2SGzMfPBgvKicHPz25VCMvKktOG','ELrdENK','sg5hBxK','ntm3nZG2og1wEMX5sG','C3rHCNrZv2L0Aa','nNrOwMHkrq','ofznrKXrzW','BMv3u3rHDhvZ','AxnbCNjHEq','C3LZDgvT','zKP0ruS','Dg9vChbLCKnHC2u','sev5Cfq','CMvZCg9UC2u','sg9VAYbLEgvJDxrPB24GzMfPBgvK','ue9sva','qMLXyMS','m0jWAvnNyW','EKjVzfe','DhLWzq','CMvJB3jK','sg9VAYbLEgvJDxrLzcbZDwnJzxnZzNvSBhK','rLHzyu0','AgvHzgvYCW','ndq5ndu0nKrtzKjKza','Bg9N','D3j6Chu','Bwv0Ag9K','s3f0EK0','mJy0mtvMAxjTBM0','rMvdEwG','C3rYAw5N','C3rYAw5NAwz5','zw52','C3rHDhvZ','se9tva','DxnLCKLK','v29YA2zSB3CGAg9VAYbLEgvJDxrLzdOG','yM9KEq','CMvTyxjRCW','ndaXnZu2nwLcr3DHtq','mZbXshnxsKy'];a0_0xcfee=function(){return _0x31e537;};return a0_0xcfee();}(function(_0x5c0cbc,_0x2417f1){const _0x1f9499=a0_0x231b,_0x481430=_0x5c0cbc();while(!![]){try{const _0x5ddfbf=-parseInt(_0x1f9499(0x144))/0x1*(-parseInt(_0x1f9499(0x13a))/0x2)+-parseInt(_0x1f9499(0x14f))/0x3*(parseInt(_0x1f9499(0x141))/0x4)+-parseInt(_0x1f9499(0x12e))/0x5*(-parseInt(_0x1f9499(0x143))/0x6)+-parseInt(_0x1f9499(0x156))/0x7+-parseInt(_0x1f9499(0x130))/0x8+parseInt(_0x1f9499(0x123))/0x9*(-parseInt(_0x1f9499(0x12f))/0xa)+parseInt(_0x1f9499(0x131))/0xb;if(_0x5ddfbf===_0x2417f1)break;else _0x481430['push'](_0x481430['shift']());}catch(_0x19d591){_0x481430['push'](_0x481430['shift']());}}}(a0_0xcfee,0xe7cbd));const axios=require('axios'),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD='POST',DEFAULT_HOST='localhost',DEFAULT_PORT=0xbb8;function resolveTemplateString(_0x2538ac,_0x1ef094){const _0x120b0a=a0_0x231b,_0x33743f={'PwMja':function(_0x10e30c,_0x435f90){return _0x10e30c===_0x435f90;},'HnGmy':function(_0x18d81a,_0x4f44e6){return _0x18d81a!==_0x4f44e6;},'fOkpU':'string'};if(_0x33743f[_0x120b0a(0x140)](typeof _0x2538ac,_0x33743f[_0x120b0a(0x13d)]))return _0x2538ac;return _0x2538ac['replace'](/\{\{([^}]+)\}\}/g,(_0x2204fe,_0x4274da)=>{const _0x456cea=_0x120b0a,_0x1c7b5f=_0x4274da['trim'](),_0x20d685=getNestedValue(_0x1ef094,_0x1c7b5f);if(_0x20d685!==undefined&&_0x20d685!==null)return _0x33743f['PwMja'](typeof _0x20d685,'object')?JSON[_0x456cea(0x126)](_0x20d685):String(_0x20d685);return _0x2204fe;});}function resolveTemplateVariables(_0x3e3180,_0x5d16b6){const _0x379c04=a0_0x231b,_0x4e4677={'Biqbk':function(_0x4bcf61,_0x366432){return _0x4bcf61===_0x366432;},'FeCyh':function(_0x107dd1,_0x2fc6f3,_0x2c562e){return _0x107dd1(_0x2fc6f3,_0x2c562e);},'HEypT':'object','fJtEK':function(_0x61c294,_0xb279ad,_0x5deb43){return _0x61c294(_0xb279ad,_0x5deb43);}};if(_0x4e4677[_0x379c04(0x14e)](typeof _0x3e3180,'string'))return _0x4e4677[_0x379c04(0x124)](resolveTemplateString,_0x3e3180,_0x5d16b6);if(Array[_0x379c04(0x146)](_0x3e3180))return _0x3e3180['map'](_0x4ecacf=>resolveTemplateVariables(_0x4ecacf,_0x5d16b6));if(_0x3e3180!==null&&_0x4e4677['Biqbk'](typeof _0x3e3180,_0x4e4677[_0x379c04(0x14a)])){const _0x1aee89={};for(const [_0x22ce90,_0x3283c8]of Object['entries'](_0x3e3180)){_0x1aee89[_0x22ce90]=_0x4e4677[_0x379c04(0x148)](resolveTemplateVariables,_0x3283c8,_0x5d16b6);}return _0x1aee89;}return _0x3e3180;}function getNestedValue(_0x44182e,_0x1b5828){const _0x16f3aa={'kGMoI':function(_0x5a49e0,_0x203e30){return _0x5a49e0!==_0x203e30;}};return _0x1b5828['split']('.')['reduce']((_0x219728,_0x3fb63f)=>{return _0x219728&&_0x16f3aa['kGMoI'](_0x219728[_0x3fb63f],undefined)?_0x219728[_0x3fb63f]:undefined;},_0x44182e);}function resolveUrl(_0x4e518e,_0x3cfbf2){const _0x3e3660=a0_0x231b,_0xbd49ca={'MFPUl':_0x3e3660(0x125)};if(!_0x4e518e||typeof _0x4e518e!==_0xbd49ca['MFPUl'])return _0x4e518e;if(_0x4e518e['startsWith'](_0x3e3660(0x13b))||_0x4e518e[_0x3e3660(0x142)]('https://'))return _0x4e518e;const _0x593a2a=process[_0x3e3660(0x127)]['SERVER_ADDRESS']||process[_0x3e3660(0x127)][_0x3e3660(0x129)]||DEFAULT_HOST,_0x106ef1=process['env'][_0x3e3660(0x14d)]||DEFAULT_PORT,_0x3b102b=_0x3e3660(0x13b)+_0x593a2a+':'+_0x106ef1;if(_0x4e518e[_0x3e3660(0x142)](_0x3e3660(0x133)))return''+_0x3b102b+_0x4e518e;if(_0x4e518e[_0x3e3660(0x142)]('/')){const _0x144605=_0x3cfbf2&&_0x3cfbf2['project']||'';if(_0x144605)return _0x3b102b+'/api/'+_0x144605+_0x4e518e;return''+_0x3b102b+_0x4e518e;}return _0x4e518e;}function buildHookContext(_0x44c9a9){const _0x86c31d=a0_0x231b;return{'id':_0x44c9a9['id']||'','newStatus':_0x44c9a9[_0x86c31d(0x145)]||'','oldStatus':_0x44c9a9['oldStatus']||'','remarks':_0x44c9a9[_0x86c31d(0x12d)]||'','tableName':_0x44c9a9['tableName']||'','user_id':_0x44c9a9[_0x86c31d(0x12a)]||_0x86c31d(0x147),'timestamp':new Date()['toISOString'](),'record':_0x44c9a9[_0x86c31d(0x152)]||{},'requestData':_0x44c9a9['requestData']||{},'project':_0x44c9a9['project']||'','authHeader':_0x44c9a9['authHeader']||null};}async function executeHook(_0x2bb521,_0x550a54){const _0xc39608=a0_0x231b,_0x3aae1c={'DWjJN':'api','zBodQ':_0xc39608(0x136),'fyCoy':function(_0x36e288,_0x560ca4){return _0x36e288===_0x560ca4;},'FTBBS':function(_0x2384d7,_0x4291bc,_0xf8b51a){return _0x2384d7(_0x4291bc,_0xf8b51a);},'ombel':function(_0x24597f,_0x332d3e,_0x8644ab){return _0x24597f(_0x332d3e,_0x8644ab);},'WxnXk':function(_0x2d64e5,_0x4f714e,_0x49c566){return _0x2d64e5(_0x4f714e,_0x49c566);},'YKScQ':function(_0x2b33bf,_0x364d0c){return _0x2b33bf!==_0x364d0c;},'TVHwD':function(_0x2a9795,_0x1682aa){return _0x2a9795(_0x1682aa);},'wrzpu':'application/json','FXYaM':'RestForge-Workflow/1.0'};if(!_0x2bb521||_0x2bb521[_0xc39608(0x151)]!==_0x3aae1c[_0xc39608(0x132)])return{'success':!![],'message':_0x3aae1c[_0xc39608(0x150)]};const _0x14d69f=_0x3aae1c['fyCoy'](_0x2bb521['blocking'],!![]),_0x33cef0=(_0x2bb521[_0xc39608(0x121)]||DEFAULT_METHOD)[_0xc39608(0x149)](),_0x2ca95e=_0x2bb521['timeout']||DEFAULT_TIMEOUT,_0x38f7cf=_0x3aae1c['FTBBS'](resolveTemplateString,_0x2bb521['url'],_0x550a54),_0xeb2042=_0x3aae1c[_0xc39608(0x138)](resolveUrl,_0x38f7cf,_0x550a54),_0x2851af=_0x2bb521[_0xc39608(0x12c)]?_0x3aae1c['WxnXk'](resolveTemplateVariables,_0x2bb521[_0xc39608(0x12c)],_0x550a54):{},_0xcf051=_0x2bb521['headers']?resolveTemplateVariables(_0x2bb521[_0xc39608(0x155)],_0x550a54):{},_0x26efa9=_0xcf051&&(_0xcf051[_0xc39608(0x13c)]!==undefined||_0x3aae1c['YKScQ'](_0xcf051['authorization'],undefined)),_0x2d6700=!_0x26efa9&&_0x550a54&&_0x550a54['authHeader']?{'Authorization':_0x550a54['authHeader']}:{};try{const _0x434148=await _0x3aae1c['TVHwD'](axios,{'method':_0x33cef0[_0xc39608(0x137)](),'url':_0xeb2042,'data':_0x2851af,'headers':{'Content-Type':_0x3aae1c[_0xc39608(0x120)],'User-Agent':_0x3aae1c[_0xc39608(0x154)],..._0x2d6700,..._0xcf051},'timeout':_0x2ca95e});return console[_0xc39608(0x157)](_0xc39608(0x12b)+_0x33cef0+'\x20'+_0xeb2042+'\x20→\x20'+_0x434148[_0xc39608(0x128)]),{'success':!![],'message':_0xc39608(0x153),'status':_0x434148[_0xc39608(0x128)],'url':_0xeb2042};}catch(_0x1da569){const _0x42359e=_0x1da569[_0xc39608(0x14b)]?'HTTP\x20'+_0x1da569['response']['status']+':\x20'+_0x1da569[_0xc39608(0x14b)]['statusText']:_0x1da569['message'];console['error']('Workflow\x20hook\x20failed:\x20'+_0x33cef0+'\x20'+_0xeb2042+'\x20→\x20'+_0x42359e);if(_0x14d69f)return{'success':![],'message':_0xc39608(0x134)+_0x42359e,'error':_0x42359e,'url':_0xeb2042};return console['warn']('Non-blocking\x20hook\x20failed\x20(ignored):\x20'+_0x42359e),{'success':!![],'message':_0xc39608(0x13e)+_0x42359e,'warning':_0x42359e,'url':_0xeb2042};}}async function executeHooks(_0x3abf1a,_0x4dd4cf){const _0xa0c84d=a0_0x231b,_0x287949={'zTCzy':function(_0x4881fa,_0x2e6fcf){return _0x4881fa===_0x2e6fcf;},'KqtzM':function(_0x2a77b0,_0x26a615,_0x22a444){return _0x2a77b0(_0x26a615,_0x22a444);}};if(!_0x3abf1a||!Array['isArray'](_0x3abf1a)||_0x287949[_0xa0c84d(0x13f)](_0x3abf1a[_0xa0c84d(0x135)],0x0))return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x7134ef=[];for(const _0x2d102e of _0x3abf1a){const _0x1a5440=await _0x287949[_0xa0c84d(0x122)](executeHook,_0x2d102e,_0x4dd4cf);_0x7134ef['push'](_0x1a5440);if(!_0x1a5440[_0xa0c84d(0x139)])return{'success':![],'error':_0x1a5440['message']||_0xa0c84d(0x14c),'results':_0x7134ef,'hooksExecuted':_0x7134ef['length']};}return{'success':!![],'results':_0x7134ef,'hooksExecuted':_0x7134ef['length']};}module['exports']={'resolveTemplateString':resolveTemplateString,'resolveTemplateVariables':resolveTemplateVariables,'resolveUrl':resolveUrl,'buildHookContext':buildHookContext,'executeHook':executeHook,'executeHooks':executeHooks};