@restforgejs/platform 4.3.4 → 4.3.5

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 (171) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/lib/payload/endpoint-schema-validator.js +181 -181
  5. package/generators/lib/payload/payload-runner.js +1218 -1218
  6. package/generators/lib/payload/schema-diff.js +460 -460
  7. package/generators/lib/templates/dashboard-catalog.js +1 -1
  8. package/generators/lib/templates/db-connection-env.js +1 -1
  9. package/generators/lib/templates/dbschema-catalog.js +1 -1
  10. package/generators/lib/templates/field-validation-catalog.js +1 -1
  11. package/generators/lib/templates/mysql-template.js +1 -1
  12. package/generators/lib/templates/oracle-template.js +1 -1
  13. package/generators/lib/templates/postgres-template.js +1 -1
  14. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  15. package/generators/lib/templates/sqlite-template.js +1 -1
  16. package/integrity-manifest.json +18 -18
  17. package/node_modules/readdir-glob/node_modules/brace-expansion/index.js +1 -1
  18. package/node_modules/readdir-glob/node_modules/brace-expansion/package.json +1 -1
  19. package/package.json +1 -1
  20. package/scripts/verify-integrity.js +1 -1
  21. package/server.js +1 -1
  22. package/src/components/handlers/adjust_handler.js +1 -1
  23. package/src/components/handlers/audit_handler.js +1 -1
  24. package/src/components/handlers/delete_handler.js +1 -1
  25. package/src/components/handlers/export_handler.js +1 -1
  26. package/src/components/handlers/import_handler.js +1 -1
  27. package/src/components/handlers/insert_handler.js +1 -1
  28. package/src/components/handlers/update_handler.js +1 -1
  29. package/src/components/handlers/upload_handler.js +1 -1
  30. package/src/components/handlers/workflow_handler.js +1 -1
  31. package/src/components/integrations/webhook.js +1 -1
  32. package/src/consumers/baseConsumer.js +1 -1
  33. package/src/consumers/declarativeMapper.js +1 -1
  34. package/src/consumers/handlers/apiHandler.js +1 -1
  35. package/src/consumers/handlers/consoleHandler.js +1 -1
  36. package/src/consumers/handlers/databaseHandler.js +1 -1
  37. package/src/consumers/handlers/index.js +1 -1
  38. package/src/consumers/handlers/kafkaHandler.js +1 -1
  39. package/src/consumers/index.js +1 -1
  40. package/src/consumers/messageTransformer.js +1 -1
  41. package/src/consumers/validator.js +1 -1
  42. package/src/core/db/dialect/base-dialect.js +1 -1
  43. package/src/core/db/dialect/index.js +1 -1
  44. package/src/core/db/dialect/mysql-dialect.js +1 -1
  45. package/src/core/db/dialect/oracle-dialect.js +1 -1
  46. package/src/core/db/dialect/postgres-dialect.js +1 -1
  47. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  48. package/src/core/db/flatten-helper.js +1 -1
  49. package/src/core/db/query-builder-error.js +1 -1
  50. package/src/core/db/query-builder.js +1 -1
  51. package/src/core/db/relation-helper.js +1 -1
  52. package/src/core/handlers/delete_handler.js +1 -1
  53. package/src/core/handlers/insert_handler.js +1 -1
  54. package/src/core/handlers/update_handler.js +1 -1
  55. package/src/core/models/base-model.js +1 -1
  56. package/src/core/utils/cache-manager.js +1 -1
  57. package/src/core/utils/component-engine.js +1 -1
  58. package/src/core/utils/context-builder.js +1 -1
  59. package/src/core/utils/datetime-formatter.js +1 -1
  60. package/src/core/utils/datetime-parser.js +1 -1
  61. package/src/core/utils/db.js +1 -1
  62. package/src/core/utils/logger.js +1 -1
  63. package/src/core/utils/payload-loader.js +1 -1
  64. package/src/core/utils/security-checks.js +1 -1
  65. package/src/middleware/body-options.js +1 -1
  66. package/src/middleware/cors.js +1 -1
  67. package/src/middleware/idempotency.js +1 -1
  68. package/src/middleware/rate-limiter.js +1 -1
  69. package/src/middleware/request-logger.js +1 -1
  70. package/src/middleware/security-headers.js +1 -1
  71. package/src/models/base-model-mysql.js +1 -1
  72. package/src/models/base-model-oracle.js +1 -1
  73. package/src/models/base-model-sqlite.js +1 -1
  74. package/src/models/base-model.js +1 -1
  75. package/src/pro/caching/redis-client.js +1 -1
  76. package/src/pro/caching/redis-helper.js +1 -1
  77. package/src/pro/consumers/baseConsumer.js +1 -1
  78. package/src/pro/consumers/declarativeMapper.js +1 -1
  79. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  80. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  81. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  82. package/src/pro/consumers/handlers/index.js +1 -1
  83. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  84. package/src/pro/consumers/index.js +1 -1
  85. package/src/pro/consumers/messageTransformer.js +1 -1
  86. package/src/pro/consumers/validator.js +1 -1
  87. package/src/pro/database/base-model-mysql.js +1 -1
  88. package/src/pro/database/base-model-oracle.js +1 -1
  89. package/src/pro/database/base-model-sqlite.js +1 -1
  90. package/src/pro/database/db-mysql.js +1 -1
  91. package/src/pro/database/db-oracle.js +1 -1
  92. package/src/pro/database/db-sqlite.js +1 -1
  93. package/src/pro/excel/excel-generator.js +1 -1
  94. package/src/pro/excel/excel-parser.js +1 -1
  95. package/src/pro/excel/export-service.js +1 -1
  96. package/src/pro/excel/export_handler.js +1 -1
  97. package/src/pro/excel/import-service.js +1 -1
  98. package/src/pro/excel/import-validator.js +1 -1
  99. package/src/pro/excel/import_handler.js +1 -1
  100. package/src/pro/excel/upsert-builder.js +1 -1
  101. package/src/pro/idgen/idgen-routes.js +1 -1
  102. package/src/pro/integrations/lookup-resolver.js +1 -1
  103. package/src/pro/integrations/upload-handler-v2.js +1 -1
  104. package/src/pro/integrations/upload-handler.js +1 -1
  105. package/src/pro/integrations/webhook.js +1 -1
  106. package/src/pro/locking/lock-routes.js +1 -1
  107. package/src/pro/locking/resource-lock-manager.js +1 -1
  108. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  109. package/src/pro/messaging/kafkaService.js +1 -1
  110. package/src/pro/messaging/messagehubService.js +1 -1
  111. package/src/pro/messaging/rabbitmqService.js +1 -1
  112. package/src/pro/scheduler/job-manager.js +1 -1
  113. package/src/pro/scheduler/job-routes.js +1 -1
  114. package/src/pro/scheduler/job-validator.js +1 -1
  115. package/src/pro/storage/base-storage-provider.js +1 -1
  116. package/src/pro/storage/file-metadata-helper.js +1 -1
  117. package/src/pro/storage/index.js +1 -1
  118. package/src/pro/storage/local-storage-provider.js +1 -1
  119. package/src/pro/storage/s3-storage-provider.js +1 -1
  120. package/src/pro/storage/upload-cleanup-job.js +1 -1
  121. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  122. package/src/pro/storage/upload-pending-tracker.js +1 -1
  123. package/src/pro/websocket/broadcast-helper.js +1 -1
  124. package/src/pro/websocket/index.js +1 -1
  125. package/src/pro/websocket/livesync-server.js +1 -1
  126. package/src/pro/websocket/ws-broadcaster.js +1 -1
  127. package/src/services/export-service.js +1 -1
  128. package/src/services/import-service.js +1 -1
  129. package/src/services/kafkaConsumerService.js +1 -1
  130. package/src/services/kafkaService.js +1 -1
  131. package/src/services/messagehubService.js +1 -1
  132. package/src/services/rabbitmqService.js +1 -1
  133. package/src/utils/cache-invalidation-registry.js +1 -1
  134. package/src/utils/cache-manager.js +1 -1
  135. package/src/utils/component-engine.js +1 -1
  136. package/src/utils/config-extractor.js +1 -1
  137. package/src/utils/consumerLogger.js +1 -1
  138. package/src/utils/context-builder.js +1 -1
  139. package/src/utils/dashboard-helpers.js +1 -1
  140. package/src/utils/dateHelper.js +1 -1
  141. package/src/utils/datetime-formatter.js +1 -1
  142. package/src/utils/datetime-parser.js +1 -1
  143. package/src/utils/db-bootstrap.js +1 -1
  144. package/src/utils/db-mysql.js +1 -1
  145. package/src/utils/db-oracle.js +1 -1
  146. package/src/utils/db-sqlite.js +1 -1
  147. package/src/utils/db.js +1 -1
  148. package/src/utils/demo-generator.js +1 -1
  149. package/src/utils/excel-generator.js +1 -1
  150. package/src/utils/excel-parser.js +1 -1
  151. package/src/utils/file-watcher.js +1 -1
  152. package/src/utils/id-generator.js +1 -1
  153. package/src/utils/idempotency-manager.js +1 -1
  154. package/src/utils/import-validator.js +1 -1
  155. package/src/utils/license-client.js +1 -1
  156. package/src/utils/lock-manager.js +1 -1
  157. package/src/utils/logger.js +1 -1
  158. package/src/utils/lookup-resolver.js +1 -1
  159. package/src/utils/payload-loader.js +1 -1
  160. package/src/utils/processor-response.js +1 -1
  161. package/src/utils/rabbitmq.js +1 -1
  162. package/src/utils/redis-client.js +1 -1
  163. package/src/utils/redis-helper.js +1 -1
  164. package/src/utils/request-scope.js +1 -1
  165. package/src/utils/security-checks.js +1 -1
  166. package/src/utils/service-resolver.js +1 -1
  167. package/src/utils/shutdown-coordinator.js +1 -1
  168. package/src/utils/trusted-keys.js +1 -1
  169. package/src/utils/upload-handler.js +1 -1
  170. package/src/utils/upsert-builder.js +1 -1
  171. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x5b75f9=a0_0x27d3;(function(_0x2a664b,_0x5e10f2){const _0x44f5ab=a0_0x27d3,_0x3efb72=_0x2a664b();while(!![]){try{const _0x5c7b7a=parseInt(_0x44f5ab(0x1ec))/0x1*(parseInt(_0x44f5ab(0x211))/0x2)+parseInt(_0x44f5ab(0x205))/0x3+-parseInt(_0x44f5ab(0x1fc))/0x4+-parseInt(_0x44f5ab(0x1ed))/0x5+parseInt(_0x44f5ab(0x20e))/0x6+-parseInt(_0x44f5ab(0x201))/0x7+-parseInt(_0x44f5ab(0x1f2))/0x8*(-parseInt(_0x44f5ab(0x203))/0x9);if(_0x5c7b7a===_0x5e10f2)break;else _0x3efb72['push'](_0x3efb72['shift']());}catch(_0x21c4e0){_0x3efb72['push'](_0x3efb72['shift']());}}}(a0_0x1262,0x2c9b7));function a0_0x27d3(_0x43d7b0,_0x387c83){_0x43d7b0=_0x43d7b0-0x1e9;const _0x126201=a0_0x1262();let _0x27d34a=_0x126201[_0x43d7b0];if(a0_0x27d3['cwykyj']===undefined){var _0x3e854e=function(_0x14884d){const _0x191fed='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b7431='',_0x1b9d08='';for(let _0x2f4d4e=0x0,_0xa45eaf,_0x26b2eb,_0x200185=0x0;_0x26b2eb=_0x14884d['charAt'](_0x200185++);~_0x26b2eb&&(_0xa45eaf=_0x2f4d4e%0x4?_0xa45eaf*0x40+_0x26b2eb:_0x26b2eb,_0x2f4d4e++%0x4)?_0x4b7431+=String['fromCharCode'](0xff&_0xa45eaf>>(-0x2*_0x2f4d4e&0x6)):0x0){_0x26b2eb=_0x191fed['indexOf'](_0x26b2eb);}for(let _0x184934=0x0,_0x358f3d=_0x4b7431['length'];_0x184934<_0x358f3d;_0x184934++){_0x1b9d08+='%'+('00'+_0x4b7431['charCodeAt'](_0x184934)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b9d08);};a0_0x27d3['yPpuiL']=_0x3e854e,a0_0x27d3['VGWzqC']={},a0_0x27d3['cwykyj']=!![];}const _0x1b6033=_0x126201[0x0],_0x5709db=_0x43d7b0+_0x1b6033,_0x160a38=a0_0x27d3['VGWzqC'][_0x5709db];return!_0x160a38?(_0x27d34a=a0_0x27d3['yPpuiL'](_0x27d34a),a0_0x27d3['VGWzqC'][_0x5709db]=_0x27d34a):_0x27d34a=_0x160a38,_0x27d34a;}const multer=require('multer'),path=require(a0_0x5b75f9(0x1f1)),crypto=require('crypto'),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require('./logger');class UploadHandler{constructor(){const _0x19386d=a0_0x5b75f9;this[_0x19386d(0x210)]=null,this['maxFileSize']=0xa*0x400*0x400;}get['uploadDir'](){const _0x1a53cc=a0_0x5b75f9,_0x73ddcb={'FoRYn':_0x1a53cc(0x1f9),'hTBft':'upload_handler_init','MEFuq':_0x1a53cc(0x1f3),'OdvVV':'Failed\x20to\x20initialize\x20upload\x20handler'};if(!this[_0x1a53cc(0x210)]){const _0x1e0980=process[_0x1a53cc(0x204)]['RESTFORGE_PROJECT_NAME']||_0x73ddcb['FoRYn'];this[_0x1a53cc(0x210)]=process[_0x1a53cc(0x204)]['UPLOAD_DIR']||path[_0x1a53cc(0x206)](__dirname,_0x1a53cc(0x20f)+_0x1e0980);try{!fsSync[_0x1a53cc(0x200)](this['_uploadDir'])&&fsSync[_0x1a53cc(0x202)](this[_0x1a53cc(0x210)],{'recursive':!![]}),logger[_0x1a53cc(0x1f4)]({'event':_0x73ddcb['hTBft'],'dir':this['_uploadDir']},_0x1a53cc(0x1f8));}catch(_0xc6fab1){logger['error']({'event':_0x73ddcb[_0x1a53cc(0x1fe)],'error':_0xc6fab1[_0x1a53cc(0x20c)]},_0x73ddcb['OdvVV']);}}return this[_0x1a53cc(0x210)];}[a0_0x5b75f9(0x212)](){const _0x326077=a0_0x5b75f9,_0x37d5d4={'wSdkZ':_0x326077(0x209),'VXHFv':function(_0xaa5c57,_0x1feb99,_0x19df16){return _0xaa5c57(_0x1feb99,_0x19df16);}};return multer[_0x326077(0x1ea)]({'destination':(_0xc5caf,_0x244960,_0x1facef)=>{const _0x4eb6e5=_0x326077;!fsSync[_0x4eb6e5(0x200)](this['uploadDir'])&&fsSync['mkdirSync'](this[_0x4eb6e5(0x20a)],{'recursive':!![]}),_0x1facef(null,this[_0x4eb6e5(0x20a)]);},'filename':(_0x7390fe,_0x31fa1f,_0x926019)=>{const _0xa69ee2=_0x326077,_0x224895=crypto[_0xa69ee2(0x207)](0x8)[_0xa69ee2(0x208)](_0x37d5d4['wSdkZ']),_0x3d1cc6=Date[_0xa69ee2(0x1e9)](),_0x23851d=path[_0xa69ee2(0x1f0)](_0x31fa1f[_0xa69ee2(0x1ff)]);_0x37d5d4[_0xa69ee2(0x1f7)](_0x926019,null,'upload-'+_0x3d1cc6+'-'+_0x224895+_0x23851d);}});}['getUploadMiddleware'](){const _0x1743f6=a0_0x5b75f9,_0x5b1f2c={'CVZmF':_0x1743f6(0x1f5),'aTivT':function(_0x7c54f7,_0x193c52){return _0x7c54f7(_0x193c52);},'FZucW':_0x1743f6(0x1ef)};return multer({'storage':this[_0x1743f6(0x212)](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x2bcfdd,_0x2dd65c,_0x436f6f)=>{const _0x51b837=_0x1743f6,_0x2d3848=['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','application/vnd.ms-excel'],_0x12420c=['.xlsx',_0x5b1f2c['CVZmF']],_0x1331f3=path[_0x51b837(0x1f0)](_0x2dd65c[_0x51b837(0x1ff)])['toLowerCase']();_0x2d3848['includes'](_0x2dd65c['mimetype'])&&_0x12420c['includes'](_0x1331f3)?_0x436f6f(null,!![]):_0x5b1f2c[_0x51b837(0x20b)](_0x436f6f,new Error(_0x5b1f2c['FZucW']));}})[_0x1743f6(0x1fd)]('file');}async[a0_0x5b75f9(0x1fb)](_0xceb30b){const _0x4e09be=a0_0x5b75f9,_0x193938={'qAuAp':_0x4e09be(0x20d),'Dqstr':'Uploaded\x20file\x20deleted','OsCbP':_0x4e09be(0x1f6)};try{await fs['unlink'](_0xceb30b),logger['info']({'event':_0x193938['qAuAp'],'filePath':_0xceb30b},_0x193938['Dqstr']);}catch(_0x543d56){logger[_0x4e09be(0x1fa)]({'event':_0x4e09be(0x1eb),'filePath':_0xceb30b,'error':_0x543d56['message']},_0x193938[_0x4e09be(0x1ee)]);}}}function a0_0x1262(){const _0x32119d=['zw52','ndKWmZa1vuHbthHp','AM9PBG','CMfUzg9TqNL0zxm','Dg9tDhjPBMC','Agv4','DxbSB2fKrgLY','yvrPDLq','BwvZC2fNzq','DxbSB2fKx2zPBgvFzgvSzxrLza','mtK1odG5mKXSseL5yW','lI4VlI4VDgvTCc91CgXVywrZlW','x3vWBg9HzerPCG','mZbRBNLpB04','z2v0u3rVCMfNzq','BM93','zgLZA1n0B3jHz2u','DxbSB2fKx2zPBgvFzgvSzxrLx2vYCM9Y','mtyYntnOvfbju3O','mtCYndm5nvnjC3PIrG','t3ndyLa','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','zxH0BMfTzq','Cgf0Aa','mJrHzvb5D2i','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','Aw5MBW','lNHSCW','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','vLHirNy','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','zgvMyxvSDa','zxjYB3i','zgvSzxrLrMLSzq','odiYnZq4B0Pgqw5e','C2LUz2XL','tuvgDxe','B3jPz2LUywXUyw1L','zxHPC3rZu3LUyW','mJiXmZe5A3LABMPV','BwTKAxjtEw5J','otm1ndzZD05lCu4'];a0_0x1262=function(){return _0x32119d;};return a0_0x1262();}module['exports']=new UploadHandler();
1
+ const a0_0x3a327d=a0_0x20d4;function a0_0xb447(){const _0x519ac5=['lI9SB2DNzxi','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','Aw5JBhvKzxm','Cgf0Aa','yxbWBgLJyxrPB24VDM5KlM1Zlwv4y2vS','nJnYDKHmyMi','ntbPCgvnCfu','mtu4mZm0nNnKCNPIsG','AM9PBG','m3PfDMPdBG','y3j5ChrV','vvbmt0fex0rjuG','z2v0u3rVCMfNzq','C2LUz2XL','yxr2tuK','Aw5MBW','lI4VlI4VDgvTCc91CgXVywrZlW','nZe5mJuZz3DoEhvZ','odvmq3voww8','DxbSB2fKx2zPBgvFzgvSzxrLza','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','nJy3ndC5menvBK9eEq','mtqZoda1m2TdzNjMyq','BxvSDgvY','zgvMyxvSDa','DxbSB2fKrgLY','BM93','Bwf4rMLSzvnPEMu','mty2nti0CMDLs0Dx','BwLTzxr5Cgu','lNHSCW','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','zMLSzq','ndC0odm0ogLSALvTDq','zgLZA1n0B3jHz2u','Dg9mB3DLCKnHC2u','B3jPz2LUywXUyw1L','uerMtfq','BwTKAxjtEw5J','DxbSB2fKlq','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','mte0mJeZnMjXBNr1EG','zxH0BMfTzq','Agv4','zw52','BwvZC2fNzq'];a0_0xb447=function(){return _0x519ac5;};return a0_0xb447();}(function(_0x842dd3,_0x50a474){const _0x327469=a0_0x20d4,_0x27e2f4=_0x842dd3();while(!![]){try{const _0x241189=-parseInt(_0x327469(0x1ab))/0x1+-parseInt(_0x327469(0x1ca))/0x2*(-parseInt(_0x327469(0x1cc))/0x3)+-parseInt(_0x327469(0x1b1))/0x4*(-parseInt(_0x327469(0x1d5))/0x5)+parseInt(_0x327469(0x1d8))/0x6+-parseInt(_0x327469(0x1c8))/0x7*(parseInt(_0x327469(0x1be))/0x8)+-parseInt(_0x327469(0x1d4))/0x9*(-parseInt(_0x327469(0x1c9))/0xa)+parseInt(_0x327469(0x1b6))/0xb;if(_0x241189===_0x50a474)break;else _0x27e2f4['push'](_0x27e2f4['shift']());}catch(_0x219ebd){_0x27e2f4['push'](_0x27e2f4['shift']());}}}(a0_0xb447,0xafd22));function a0_0x20d4(_0x5bd318,_0x519353){_0x5bd318=_0x5bd318-0x1ab;const _0xb44730=a0_0xb447();let _0x20d477=_0xb44730[_0x5bd318];if(a0_0x20d4['iLPZtE']===undefined){var _0x303d1c=function(_0x52ecbf){const _0x51563f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4c2045='',_0x1a5cdb='';for(let _0x14ec5a=0x0,_0x3fe1f2,_0x54a173,_0x6dd801=0x0;_0x54a173=_0x52ecbf['charAt'](_0x6dd801++);~_0x54a173&&(_0x3fe1f2=_0x14ec5a%0x4?_0x3fe1f2*0x40+_0x54a173:_0x54a173,_0x14ec5a++%0x4)?_0x4c2045+=String['fromCharCode'](0xff&_0x3fe1f2>>(-0x2*_0x14ec5a&0x6)):0x0){_0x54a173=_0x51563f['indexOf'](_0x54a173);}for(let _0x4c7f1c=0x0,_0x2500c8=_0x4c2045['length'];_0x4c7f1c<_0x2500c8;_0x4c7f1c++){_0x1a5cdb+='%'+('00'+_0x4c2045['charCodeAt'](_0x4c7f1c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1a5cdb);};a0_0x20d4['KLHtAV']=_0x303d1c,a0_0x20d4['Tdjsms']={},a0_0x20d4['iLPZtE']=!![];}const _0x4c45eb=_0xb44730[0x0],_0x509066=_0x5bd318+_0x4c45eb,_0x30a1a6=a0_0x20d4['Tdjsms'][_0x509066];return!_0x30a1a6?(_0x20d477=a0_0x20d4['KLHtAV'](_0x20d477),a0_0x20d4['Tdjsms'][_0x509066]=_0x20d477):_0x20d477=_0x30a1a6,_0x20d477;}const multer=require(a0_0x3a327d(0x1ac)),path=require(a0_0x3a327d(0x1c6)),crypto=require(a0_0x3a327d(0x1cd)),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require(a0_0x3a327d(0x1c3));class UploadHandler{constructor(){const _0x427264=a0_0x3a327d,_0x58b455={'FQmev':function(_0x2c5743,_0x10610c){return _0x2c5743*_0x10610c;},'aBeUv':function(_0x1f65fd,_0x113b29){return _0x1f65fd*_0x113b29;}};this['_uploadDir']=null,this[_0x427264(0x1b0)]=_0x58b455['FQmev'](_0x58b455['aBeUv'](0xa,0x400),0x400);}get[a0_0x3a327d(0x1ae)](){const _0x38bc8e=a0_0x3a327d,_0x3aa42a={'hMCYG':_0x38bc8e(0x1ad),'jFXaf':'upload_handler_init'};if(!this['_uploadDir']){const _0x7c8333=process['env'][_0x38bc8e(0x1d7)]||_0x3aa42a['hMCYG'];this['_uploadDir']=process[_0x38bc8e(0x1c1)][_0x38bc8e(0x1ce)]||path[_0x38bc8e(0x1cb)](__dirname,_0x38bc8e(0x1d3)+_0x7c8333);try{!fsSync['existsSync'](this['_uploadDir'])&&fsSync[_0x38bc8e(0x1bb)](this['_uploadDir'],{'recursive':!![]}),logger['info']({'event':_0x3aa42a['jFXaf'],'dir':this['_uploadDir']},_0x38bc8e(0x1bd));}catch(_0x4cd19b){logger['error']({'event':_0x38bc8e(0x1c4),'error':_0x4cd19b[_0x38bc8e(0x1c2)]},'Failed\x20to\x20initialize\x20upload\x20handler');}}return this['_uploadDir'];}['getStorage'](){const _0x50fcf6=a0_0x3a327d;return multer[_0x50fcf6(0x1b7)]({'destination':(_0x51833a,_0x5336b5,_0xaeb796)=>{const _0xebe3aa=_0x50fcf6;!fsSync['existsSync'](this['uploadDir'])&&fsSync['mkdirSync'](this[_0xebe3aa(0x1ae)],{'recursive':!![]}),_0xaeb796(null,this['uploadDir']);},'filename':(_0x218bdc,_0x3a0ad,_0x717a03)=>{const _0x5ca686=_0x50fcf6,_0x3933e5=crypto['randomBytes'](0x8)['toString'](_0x5ca686(0x1c0)),_0x428477=Date[_0x5ca686(0x1af)](),_0x17a857=path['extname'](_0x3a0ad['originalname']);_0x717a03(null,_0x5ca686(0x1bc)+_0x428477+'-'+_0x3933e5+_0x17a857);}});}['getUploadMiddleware'](){const _0x4cc780=a0_0x3a327d,_0x1c65e2={'UAPar':'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','Rdrnz':_0x4cc780(0x1b3),'efXep':function(_0x29e7b7,_0xcdbac5){return _0x29e7b7(_0xcdbac5);},'PDfLT':_0x4cc780(0x1b5)};return _0x1c65e2['efXep'](multer,{'storage':this[_0x4cc780(0x1cf)](),'limits':{'fileSize':this[_0x4cc780(0x1b0)],'files':0x1},'fileFilter':(_0x26903e,_0xceed5f,_0x3d438a)=>{const _0x211b0c=_0x4cc780,_0x9e2ee1=[_0x1c65e2['UAPar'],_0x211b0c(0x1c7)],_0x2867ae=['.xlsx',_0x1c65e2['Rdrnz']],_0x1b031f=path[_0x211b0c(0x1bf)](_0xceed5f[_0x211b0c(0x1b9)])[_0x211b0c(0x1b8)]();_0x9e2ee1['includes'](_0xceed5f[_0x211b0c(0x1b2)])&&_0x2867ae[_0x211b0c(0x1c5)](_0x1b031f)?_0x3d438a(null,!![]):_0x1c65e2['efXep'](_0x3d438a,new Error('Invalid\x20file\x20type.\x20Only\x20.xlsx\x20files\x20are\x20allowed'));}})[_0x4cc780(0x1d0)](_0x1c65e2[_0x4cc780(0x1ba)]);}async['deleteFile'](_0xa8b87){const _0x2aa248=a0_0x3a327d,_0xdd17e1={'IVUbz':_0x2aa248(0x1d6),'atvMI':'upload_file_delete_error'};try{await fs['unlink'](_0xa8b87),logger[_0x2aa248(0x1d2)]({'event':_0xdd17e1['IVUbz'],'filePath':_0xa8b87},'Uploaded\x20file\x20deleted');}catch(_0x7b8750){logger['error']({'event':_0xdd17e1[_0x2aa248(0x1d1)],'filePath':_0xa8b87,'error':_0x7b8750['message']},_0x2aa248(0x1b4));}}}module['exports']=new UploadHandler();
@@ -1 +1 @@
1
- const a0_0x1c2875=a0_0x542d;function a0_0x5cf6(){const _0x202399=['BMz4zw4','wMTjEMi','laOGicaGicaGia','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHpCMfJBguGtuvsr0uP','D2L0zxi','rMvzDw8','C3rYAw5N','cLnftevdvcaXiezst00Grfvbta','laOGicaGicaGica','AvHAs20','yNvPBgrcyxrJAeLUC2vYDa','CMvWBgfJzq','ChvZAa','tLvmtdO6qK9ptevbtG','swX5AgG','BwfW','id0GDI4','ihqkicaGicaGvvnjtKCGkaO','mZbLvK5bDgy','B3jHy2XL','zM9YBwf0qM9VBgvHBLzHBhvL','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','u1fmsvrf','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','ruf3Ahq','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','nJqXmtiWn2TuDMfyBW','ksbwquXvrvmGka','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','A3vvEMm','mtCZndHtzhblzui','AM9PBG','rK1Ru1q','tLvmtdO6refurq','vMjxA00','oJPct09mrufo','yM9VBgvHBG','CNHgy04','Aw52ywXPzf9KyL90ExbL','ieforca','u1fmu0vsvKvs','BNvTyMvY','BgvUz3rO','ueruC1K','odHsuvzjyLy','zgf0zq','cIaGicaGieLou0vsvcbjtLrpia','mJbUq1jlrwi','ndq1ndy2n21SDuToDq','z2v0rgf0ywjHC2vuExbL','t3n0EKy','v1boAgO','B1jPv3K','DwDfEuq','odKYmtK3r0fcDw5A','DhLWzq','mtCXndK5mKnxALPcwq','ieftierbveuP','tvLtuuW','A1DJrgS','t2jVELe','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHpCMfJBguP','mtC1mteZs0vTsffO','rMfvwuW','yNvPBgrfC2nHCgvgDw5JDgLVBG','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','t1jbq0Xf','BxLZCwW','zM9YBwf0rgf0zvzHBhvL','kqOGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vuia','cIaGica','Cg9ZDgDYzxnXBa','zgvIDwC','cIaGicaGie1fuKDfieLove8G','D2fYBG','id0GvKfmvuvtka','DMfSDwvZ','vvLZvw8','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','y2HLALu','ieftihqkicaGicaGu0vuia','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','uKLPvKy','kqOGicaGicbxsevsrsa','ue9tveDsrvnrta','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','icbjtLrpia','q0ftvcG','cIaGicaGicKGqvmGDIG','otqWnZy4quLKBu5i','zfz6u2W','vfLMBMO','ieftia','yMf0y2HFAw5Zzxj0x2j1AwX0','Aw5JBhvKzxm','yMf0y2HFDxbKyxrLx2j1AwX0','tfj4Bfi','mtvVAKvyug4'];a0_0x5cf6=function(){return _0x202399;};return a0_0x5cf6();}(function(_0x2f3655,_0x79c8e8){const _0xb94ce8=a0_0x542d,_0x2b459a=_0x2f3655();while(!![]){try{const _0x3c828a=-parseInt(_0xb94ce8(0xf7))/0x1+parseInt(_0xb94ce8(0x11a))/0x2+parseInt(_0xb94ce8(0xc0))/0x3*(parseInt(_0xb94ce8(0xdf))/0x4)+-parseInt(_0xb94ce8(0xf0))/0x5*(parseInt(_0xb94ce8(0xf9))/0x6)+parseInt(_0xb94ce8(0xf1))/0x7+-parseInt(_0xb94ce8(0xed))/0x8*(parseInt(_0xb94ce8(0xff))/0x9)+parseInt(_0xb94ce8(0xd3))/0xa*(parseInt(_0xb94ce8(0xdb))/0xb);if(_0x3c828a===_0x79c8e8)break;else _0x2b459a['push'](_0x2b459a['shift']());}catch(_0x3ff3fd){_0x2b459a['push'](_0x2b459a['shift']());}}}(a0_0x5cf6,0x992d1));const {logger}=require('./logger'),DB_TYPES={'POSTGRESQL':a0_0x1c2875(0x108),'MYSQL':a0_0x1c2875(0x104),'SQLSERVER':'sqlserver','ORACLE':a0_0x1c2875(0xd4),'SQLITE':'sqlite'};function a0_0x542d(_0x3bd752,_0x3c0e3c){_0x3bd752=_0x3bd752-0xbd;const _0x5cf62a=a0_0x5cf6();let _0x542d4b=_0x5cf62a[_0x3bd752];if(a0_0x542d['QNcHCP']===undefined){var _0x2f0ece=function(_0x5eb745){const _0x39f4cc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x267049='',_0x5645d1='';for(let _0x5e5b81=0x0,_0x3e5d5c,_0x2d97ec,_0x41b387=0x0;_0x2d97ec=_0x5eb745['charAt'](_0x41b387++);~_0x2d97ec&&(_0x3e5d5c=_0x5e5b81%0x4?_0x3e5d5c*0x40+_0x2d97ec:_0x2d97ec,_0x5e5b81++%0x4)?_0x267049+=String['fromCharCode'](0xff&_0x3e5d5c>>(-0x2*_0x5e5b81&0x6)):0x0){_0x2d97ec=_0x39f4cc['indexOf'](_0x2d97ec);}for(let _0x1cfbcd=0x0,_0x28e650=_0x267049['length'];_0x1cfbcd<_0x28e650;_0x1cfbcd++){_0x5645d1+='%'+('00'+_0x267049['charCodeAt'](_0x1cfbcd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5645d1);};a0_0x542d['BgHCpq']=_0x2f0ece,a0_0x542d['gfRqII']={},a0_0x542d['QNcHCP']=!![];}const _0x3aab47=_0x5cf62a[0x0],_0xd73ad1=_0x3bd752+_0x3aab47,_0x40fb8c=a0_0x542d['gfRqII'][_0xd73ad1];return!_0x40fb8c?(_0x542d4b=a0_0x542d['BgHCpq'](_0x542d4b),a0_0x542d['gfRqII'][_0xd73ad1]=_0x542d4b):_0x542d4b=_0x40fb8c,_0x542d4b;}class UpsertBuilder{[a0_0x1c2875(0xf2)](){const _0x370b7d=a0_0x1c2875,_0x3b8f6f=(process['env']['DB_TYPE']||_0x370b7d(0x108))['toLowerCase'](),_0x158c20=Object[_0x370b7d(0x10d)](DB_TYPES);if(!_0x158c20[_0x370b7d(0xbd)](_0x3b8f6f))return logger[_0x370b7d(0x10b)]({'event':_0x370b7d(0xe7),'provided':_0x3b8f6f,'fallback':_0x370b7d(0x108)},'Invalid\x20DB_TYPE:\x20'+_0x3b8f6f+'.\x20Falling\x20back\x20to\x20postgresql.'),DB_TYPES[_0x370b7d(0x115)];return _0x3b8f6f;}[a0_0x1c2875(0x105)](_0x2ef165,_0x33b1cd,_0x995919=![]){const _0x563bca=a0_0x1c2875,_0x3c7bed={'VbWkM':_0x563bca(0xe2),'kWcDk':'NULL'};if(_0x995919)switch(_0x33b1cd){case DB_TYPES['POSTGRESQL']:return _0x3c7bed[_0x563bca(0xe3)];case DB_TYPES[_0x563bca(0xfb)]:return _0x3c7bed['kWcDk'];case DB_TYPES['SQLITE']:return _0x3c7bed[_0x563bca(0xfc)];case DB_TYPES[_0x563bca(0xe9)]:return _0x3c7bed[_0x563bca(0xfc)];case DB_TYPES['ORACLE']:return _0x3c7bed[_0x563bca(0xfc)];default:return'NULL::DATE';}switch(_0x33b1cd){case DB_TYPES[_0x563bca(0x115)]:return _0x2ef165+'::DATE';case DB_TYPES[_0x563bca(0xfb)]:return _0x2ef165;case DB_TYPES[_0x563bca(0xd7)]:return _0x2ef165;case DB_TYPES[_0x563bca(0xe9)]:return _0x563bca(0x118)+_0x2ef165+_0x563bca(0xfa);case DB_TYPES['ORACLE']:return'TO_DATE('+_0x2ef165+',\x20\x27YYYY-MM-DD\x27)';default:return _0x2ef165+'::DATE';}}[a0_0x1c2875(0xd5)](_0x343525,_0x51409a,_0x89d1fa=![]){const _0x1c650e=a0_0x1c2875,_0x471579={'ObozQ':_0x1c650e(0xce)};if(_0x89d1fa)switch(_0x51409a){case DB_TYPES['POSTGRESQL']:return _0x471579[_0x1c650e(0xfd)];default:return'NULL';}switch(_0x51409a){case DB_TYPES['POSTGRESQL']:return _0x343525+_0x1c650e(0xe4);case DB_TYPES['ORACLE']:return _0x343525;case DB_TYPES[_0x1c650e(0xfb)]:return _0x343525;case DB_TYPES['SQLITE']:return _0x343525;case DB_TYPES[_0x1c650e(0xe9)]:return'CAST('+_0x343525+'\x20AS\x20BIT)';default:return _0x343525+'::BOOLEAN';}}['buildEscapeFunction'](_0x407fc0={}){const _0x67a854=a0_0x1c2875,_0x586b40={'rxFcN':function(_0x20979f,_0xb6e3e2){return _0x20979f===_0xb6e3e2;},'RIiVF':function(_0x6d4257,_0x139139){return _0x6d4257===_0x139139;},'WPNhj':function(_0xe20be4,_0x3194b3){return _0xe20be4===_0x3194b3;},'chejU':_0x67a854(0xe5),'FaUYL':'NULL','FMkST':_0x67a854(0xc7),'JmNzJ':function(_0x42ac02,_0x1c6052){return _0x42ac02===_0x1c6052;},'bFaCQ':_0x67a854(0xea),'vqsKd':function(_0x376408,_0x5647b9){return _0x376408===_0x5647b9;},'Ilyhh':function(_0x591f57,_0x132e8b){return _0x591f57(_0x132e8b);},'iXZKm':_0x67a854(0xee)},_0xe9d230=this[_0x67a854(0xf2)]();return(_0x4e714e,_0x457824)=>{const _0x437651=_0x67a854,_0x28a811=_0x407fc0[_0x457824];if(_0x586b40[_0x437651(0xe6)](_0x4e714e,null)||_0x586b40[_0x437651(0x113)](_0x4e714e,undefined)){if(_0x28a811&&_0x586b40[_0x437651(0xf4)](_0x28a811[_0x437651(0xf8)],'date'))return this['formatDateValue'](null,_0xe9d230,!![]);if(_0x28a811&&_0x28a811[_0x437651(0xf8)]===_0x586b40[_0x437651(0x110)])return this[_0x437651(0xd5)](null,_0xe9d230,!![]);return _0x586b40[_0x437651(0x100)];}if(typeof _0x4e714e===_0x586b40[_0x437651(0xe1)]){const _0x2119fa='\x27'+_0x4e714e[_0x437651(0xcc)](/'/g,'\x27\x27')+'\x27';if(_0x28a811&&_0x586b40['JmNzJ'](_0x28a811[_0x437651(0xf8)],_0x437651(0xee)))return this['formatDateValue'](_0x2119fa,_0xe9d230,![]);if(_0x28a811&&_0x586b40[_0x437651(0xf4)](_0x28a811['type'],_0x586b40[_0x437651(0x110)]))return this[_0x437651(0xd5)](_0x2119fa,_0xe9d230,![]);return _0x2119fa;}if(_0x586b40['RIiVF'](typeof _0x4e714e,_0x586b40['bFaCQ']))return _0x4e714e;if(_0x586b40['vqsKd'](typeof _0x4e714e,_0x586b40['chejU']))return _0x4e714e;const _0x15e7d9='\x27'+_0x586b40[_0x437651(0xcf)](String,_0x4e714e)['replace'](/'/g,'\x27\x27')+'\x27';if(_0x28a811&&_0x28a811['type']===_0x586b40[_0x437651(0xca)])return this[_0x437651(0x105)](_0x15e7d9,_0xe9d230,![]);return _0x15e7d9;};}[a0_0x1c2875(0xcb)](_0x324ecc,_0x4f647b,_0x11e5d1,_0x104be6={}){const _0x1ce72e=a0_0x1c2875,_0x588aa8={'ZkIzb':function(_0x417792,_0x5f9a47){return _0x417792===_0x5f9a47;}},_0x5c3611=this['getDatabaseType']();if(_0x588aa8[_0x1ce72e(0xc2)](_0x5c3611,DB_TYPES[_0x1ce72e(0x103)]))return this[_0x1ce72e(0x102)](_0x324ecc,_0x4f647b,_0x11e5d1,_0x104be6);return this['_buildBatchInsertPostgres'](_0x324ecc,_0x4f647b,_0x11e5d1,_0x104be6);}['_buildBatchInsertPostgres'](_0x4f384c,_0x358e3d,_0x15e276,_0x4a3882={}){const _0xd97c70=a0_0x1c2875,_0x2eb2f2={'TFbKZ':',\x0a\x20\x20\x20\x20\x20\x20\x20','ibYQn':_0xd97c70(0x116)};if(_0x4f384c['length']===0x0)return{'query':null,'values':[]};const _0x333328=this['buildEscapeFunction'](_0x4a3882),_0x29e406=_0x4f384c[_0xd97c70(0xd0)](_0x565dc2=>{const _0x2d1a50=_0x15e276['map'](_0x2d6e5f=>_0x333328(_0x565dc2[_0x2d6e5f],_0x2d6e5f));return'('+_0x2d1a50['join'](',\x20')+')';}),_0x4c3947='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x358e3d+'\x20('+_0x15e276['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x29e406['join'](_0x2eb2f2['TFbKZ'])+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0xd97c70(0x11e),'tableName':_0x358e3d,'rowCount':_0x4f384c['length'],'dbType':_0xd97c70(0x108)},_0x2eb2f2['ibYQn']),{'query':_0x4c3947,'values':[]};}['_buildBatchInsertOracle'](_0x531551,_0x11a84b,_0x81b9d7,_0x499dae={}){const _0x12fd08=a0_0x1c2875;if(_0x531551[_0x12fd08(0xeb)]===0x0)return{'query':null,'values':[]};const _0x57ff39=this[_0x12fd08(0x101)](_0x499dae),_0x4c5f83=_0x531551['map'](_0x1463fc=>{const _0x50603e=_0x12fd08,_0x5c8d8d=_0x81b9d7['map'](_0x2148d3=>_0x57ff39(_0x1463fc[_0x2148d3],_0x2148d3));return _0x50603e(0x117)+_0x11a84b+'\x20('+_0x81b9d7[_0x50603e(0xe0)](',\x20')+_0x50603e(0xdc)+_0x5c8d8d[_0x50603e(0xe0)](',\x20')+')';}),_0x1226b2='INSERT\x20ALL\x0a'+_0x4c5f83['join']('\x0a')+_0x12fd08(0xc8);return logger[_0x12fd08(0x109)]({'event':'batch_insert_built','tableName':_0x11a84b,'rowCount':_0x531551[_0x12fd08(0xeb)],'dbType':_0x12fd08(0xd4)},_0x12fd08(0xfe)),{'query':_0x1226b2,'values':[]};}['buildBatchUpdate'](_0x3b08b1,_0x589042,_0x31f7a7,_0x4422f1,_0x1b9f9b,_0x48412a={}){const _0x380638=a0_0x1c2875,_0x551148={'witer':function(_0xf5598e,_0x48001e){return _0xf5598e===_0x48001e;}},_0x30f8f9=this[_0x380638(0xf2)]();if(_0x30f8f9===DB_TYPES[_0x380638(0x103)])return this[_0x380638(0x112)](_0x3b08b1,_0x589042,_0x31f7a7,_0x4422f1,_0x1b9f9b,_0x48412a);if(_0x551148[_0x380638(0xc5)](_0x30f8f9,DB_TYPES[_0x380638(0xfb)]))return this[_0x380638(0xdd)](_0x3b08b1,_0x589042,_0x31f7a7,_0x4422f1,_0x1b9f9b,_0x48412a);return this['_buildBatchUpdatePostgres'](_0x3b08b1,_0x589042,_0x31f7a7,_0x4422f1,_0x1b9f9b,_0x48412a);}[a0_0x1c2875(0xd8)](_0x52383a,_0x38b69b,_0x52caa1,_0x5c6701,_0x68fda,_0x2141f5={}){const _0x31180d=a0_0x1c2875,_0x889b59={'PDTsY':function(_0x41e2ec,_0x105760){return _0x41e2ec===_0x105760;},'oRiWy':'batch_update_no_columns','zfzPH':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','dVzSl':_0x31180d(0xbe),'RzCVz':_0x31180d(0x108),'oxMEW':_0x31180d(0xda)};if(_0x889b59[_0x31180d(0xec)](_0x52383a['length'],0x0))return{'query':null,'values':[]};const _0x326855=this[_0x31180d(0x101)](_0x2141f5),_0x2eb4d4=_0x52caa1['filter'](_0x25a69f=>!_0x68fda[_0x31180d(0xbd)](_0x25a69f)&&_0x25a69f!==_0x5c6701);if(_0x2eb4d4['length']===0x0)return logger['warn']({'event':_0x889b59[_0x31180d(0xf5)],'tableName':_0x38b69b},_0x31180d(0x10f)),{'query':null,'values':[]};const _0x35ba3f=_0x52383a[_0x31180d(0xd0)](_0x5e4f69=>{const _0x1b90c2=[..._0x68fda,..._0x2eb4d4],_0x22b521=_0x1b90c2['map'](_0x3a498c=>_0x326855(_0x5e4f69[_0x3a498c],_0x3a498c));return'('+_0x22b521['join'](',\x20')+')';}),_0x56810d=_0x2eb4d4['map'](_0x139ba3=>_0x139ba3+'\x20=\x20v.'+_0x139ba3)[_0x31180d(0xe0)](_0x889b59['zfzPH']),_0x180f38=_0x68fda[_0x31180d(0xd0)](_0x526b75=>'t.'+_0x526b75+_0x31180d(0xd1)+_0x526b75)[_0x31180d(0xe0)](_0x31180d(0xe8)),_0x2a7218='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x38b69b+_0x31180d(0x111)+_0x56810d+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20(VALUES\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x35ba3f['join'](_0x31180d(0xc3))+_0x31180d(0x119)+[..._0x68fda,..._0x2eb4d4][_0x31180d(0xe0)](',\x20')+_0x31180d(0x114)+_0x180f38+_0x31180d(0x107);return logger[_0x31180d(0x109)]({'event':_0x889b59[_0x31180d(0x11b)],'tableName':_0x38b69b,'rowCount':_0x52383a[_0x31180d(0xeb)],'updateColumns':_0x2eb4d4['length'],'dbType':_0x889b59['RzCVz']},_0x889b59['oxMEW']),{'query':_0x2a7218,'values':[]};}['_buildBatchUpdateOracle'](_0x292ee7,_0x1f342a,_0x578155,_0x4c530a,_0x8d9a22,_0x2d619b={}){const _0x3d11e9=a0_0x1c2875,_0x279047={'OrQiT':function(_0xc1513d,_0x22c0fb,_0x5a6726){return _0xc1513d(_0x22c0fb,_0x5a6726);},'kuUzc':function(_0x256a3c,_0x33e5e5){return _0x256a3c===_0x33e5e5;},'ugEyD':_0x3d11e9(0xd6),'AkpRi':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','LRxlR':_0x3d11e9(0xc9),'LQZpD':_0x3d11e9(0xe8),'EAwht':'batch_update_built','WmzJV':'oracle'};if(_0x292ee7[_0x3d11e9(0xeb)]===0x0)return{'query':null,'values':[]};const _0x11bc41=this['buildEscapeFunction'](_0x2d619b),_0x483c03=_0x578155['filter'](_0x1f3883=>!_0x8d9a22[_0x3d11e9(0xbd)](_0x1f3883)&&_0x1f3883!==_0x4c530a);if(_0x279047['kuUzc'](_0x483c03[_0x3d11e9(0xeb)],0x0))return logger['warn']({'event':_0x279047[_0x3d11e9(0xf6)],'tableName':_0x1f342a},_0x279047['AkpRi']),{'query':null,'values':[]};const _0x944a12=[..._0x8d9a22,..._0x483c03],_0x66b523=_0x292ee7['map']((_0x42cede,_0x26d3cb)=>{const _0x5f1643=_0x944a12['map'](_0x22d70e=>{const _0xe97652=a0_0x542d,_0x1397c8=_0x279047['OrQiT'](_0x11bc41,_0x42cede[_0x22d70e],_0x22d70e);return _0x279047[_0xe97652(0xde)](_0x26d3cb,0x0)?_0x1397c8+_0xe97652(0x11d)+_0x22d70e:_0x1397c8;});return'\x20\x20\x20\x20SELECT\x20'+_0x5f1643['join'](',\x20')+'\x20FROM\x20DUAL';}),_0x4eae53=_0x483c03[_0x3d11e9(0xd0)](_0x4c590e=>'t.'+_0x4c590e+_0x3d11e9(0xd1)+_0x4c590e)['join'](_0x279047[_0x3d11e9(0xbf)]),_0x3e2554=_0x8d9a22['map'](_0x22ee73=>'t.'+_0x22ee73+'\x20=\x20v.'+_0x22ee73)['join'](_0x279047['LQZpD']),_0x44c2be=_0x3d11e9(0x10a)+_0x1f342a+_0x3d11e9(0xd2)+_0x66b523['join']('\x0a\x20\x20\x20\x20UNION\x20ALL\x0a')+'\x0a\x20\x20\x20\x20\x20\x20)\x20v\x0a\x20\x20\x20\x20\x20\x20ON\x20('+_0x3e2554+_0x3d11e9(0x106)+_0x4eae53+_0x3d11e9(0x107);return logger['debug']({'event':_0x279047[_0x3d11e9(0xd9)],'tableName':_0x1f342a,'rowCount':_0x292ee7[_0x3d11e9(0xeb)],'updateColumns':_0x483c03['length'],'dbType':_0x279047['WmzJV']},_0x3d11e9(0xc4)),{'query':_0x44c2be,'values':[]};}[a0_0x1c2875(0xdd)](_0x5e0beb,_0x521b41,_0x299714,_0x1c6222,_0x3514d6,_0x37c18e={}){const _0x294c91=a0_0x1c2875,_0x2091a1={'nfxen':function(_0x234cb0,_0x35c16c){return _0x234cb0===_0x35c16c;},'UYsUo':'batch_update_no_columns','ljFwT':_0x294c91(0x104),'TYfnj':'Batch\x20UPDATE\x20query\x20built\x20(MySQL\x20ON\x20DUPLICATE\x20KEY)'};if(_0x2091a1[_0x294c91(0xc1)](_0x5e0beb['length'],0x0))return{'query':null,'values':[]};const _0x54a16c=this['buildEscapeFunction'](_0x37c18e),_0x5c85b6=_0x299714['filter'](_0x1dbc2b=>!_0x3514d6[_0x294c91(0xbd)](_0x1dbc2b)&&_0x1dbc2b!==_0x1c6222);if(_0x5c85b6[_0x294c91(0xeb)]===0x0)return logger[_0x294c91(0x10b)]({'event':_0x2091a1[_0x294c91(0x10e)],'tableName':_0x521b41},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x5c87db=[...new Set([..._0x3514d6,..._0x5c85b6])],_0x25826b=_0x5e0beb[_0x294c91(0xd0)](_0x379466=>{const _0x5f5c97=_0x294c91,_0x51d028=_0x5c87db[_0x5f5c97(0xd0)](_0x73ad09=>_0x54a16c(_0x379466[_0x73ad09],_0x73ad09));return'('+_0x51d028['join'](',\x20')+')';}),_0x45ef77=_0x5c85b6['map'](_0xcc9490=>_0xcc9490+_0x294c91(0x10c)+_0xcc9490+')')[_0x294c91(0xe0)](_0x294c91(0xc9)),_0xdca2bc=_0x294c91(0xef)+_0x521b41+'\x20('+_0x5c87db[_0x294c91(0xe0)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x25826b[_0x294c91(0xe0)](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20')+'\x0a\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x20'+_0x45ef77+_0x294c91(0x107);return logger[_0x294c91(0x109)]({'event':_0x294c91(0xbe),'tableName':_0x521b41,'rowCount':_0x5e0beb['length'],'updateColumns':_0x5c85b6['length'],'dbType':_0x2091a1['ljFwT']},_0x2091a1[_0x294c91(0x11c)]),{'query':_0xdca2bc,'values':[]};}['chunkRows'](_0x5220c6,_0x129d12=0x64){const _0x39dc89=a0_0x1c2875,_0x25c106={'FeYuo':function(_0x4009fc,_0x3659cf){return _0x4009fc<_0x3659cf;},'OstzF':function(_0x3e12ca,_0x398f50){return _0x3e12ca+_0x398f50;}},_0x3b3e00=[];for(let _0xbf4632=0x0;_0x25c106[_0x39dc89(0xc6)](_0xbf4632,_0x5220c6[_0x39dc89(0xeb)]);_0xbf4632+=_0x129d12){_0x3b3e00[_0x39dc89(0xcd)](_0x5220c6['slice'](_0xbf4632,_0x25c106[_0x39dc89(0xf3)](_0xbf4632,_0x129d12)));}return _0x3b3e00;}}module['exports']=new UpsertBuilder();
1
+ function a0_0x2906(){const _0x1d65e7=['EKfNywi','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHpCMfJBguGtuvsr0uP','q21Kwfu','uhDxzLu','mZbMq1nUq2m','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHpCMfJBguP','Aw52ywXPzf9KyL90ExbL','zgvIDwC','u1fmsvrf','laOGicaGicaGia','cIaGicaGie9oiervueXjq0fursblrvKGvvbeqvrfia','sw52ywXPzcbeqL9uwvbfoIa','r3HgzLy','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','ywHLCMu','DhnWALG','mtGWmJq5nfLbBLj2vG','zM9YBwf0rgf0zvzHBhvL','zM9YBwf0qM9VBgvHBLzHBhvL','cLnftevdvcaXiezst00Grfvbta','ueHxuwS','yNvPBgrfC2nHCgvgDw5JDgLVBG','B3jHy2XL','lI9SB2DNzxi','C3fSAxrL','ieftia','yMf0y2HFDxbKyxrLx2j1AwX0','qLzNzeG','tvLtuuW','ChvZAa','nZqYode0nfzHs29QAa','yuHTs3q','zxHWB3j0CW','zgf0zq','qwfbthm','rejFvfLqrq','u1fmu0vsvKvs','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','DhLWzq','DMfSDwvZ','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','yM9VBgvHBG','ndrUDvnoCwu','Aw5JBhvKzxm','BxLZCwW','q0ftvcG','ve9FrefursG','laOGicaGicaGica','ieftiejjvcK','z1HouNG','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','DxbSC08','t1jbq0Xf','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','uuDprhq','ieftierbveuP','zMLSDgvY','vgnkwe8','Cg9ZDgDYzxnXBa','nZqZmJe2mhnRzKvgvW','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','C2XPy2u','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','ieforca','C3fSC2vYDMvY','ue9tveDsrvnrta','su5trvjuiefmtaO','cIaGicaGicKGqvmGDIG','cIaGicaGie1fuKDfieLove8G','nZe2oty0r2nqrNHg','cIaGicbvtKLptIbbteWk','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHnEvnrtcbptIbevvbmsunbveuGs0vzkq','ntm4nde1mu1uuNfTqW','vuHfu1e','BgvUz3rO','y2H1BMTsB3DZ','cIaGicaGiezst00GkfzbtfvfuWOGicaGicaGia','ihqkicaGicaGvvnjtKCGkaO','uNztBha','otm1mdyZnuTbzwzWsG','oJPct09mrufo','D2fYBG','cIaGica','sNnJBuC','mxz5r3r5DG','AM9PBG','BwfW','lIbgywXSAw5NigjHy2SGDg8GCg9ZDgDYzxnXBc4','tLvmta','kqOGicaGicbwquXvrvmG','nJq5nJa1AefQDNDS','id0GDI4','z2v0rgf0ywjHC2vuExbL','DwjNrxq','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm'];a0_0x2906=function(){return _0x1d65e7;};return a0_0x2906();}const a0_0x2ce5ba=a0_0x4506;(function(_0x52071a,_0x59a62e){const _0x2347c4=a0_0x4506,_0x76a2e2=_0x52071a();while(!![]){try{const _0x5bd59f=-parseInt(_0x2347c4(0xe5))/0x1*(parseInt(_0x2347c4(0xa1))/0x2)+parseInt(_0x2347c4(0xd6))/0x3+-parseInt(_0x2347c4(0xbb))/0x4*(parseInt(_0x2347c4(0xeb))/0x5)+-parseInt(_0x2347c4(0xaf))/0x6+parseInt(_0x2347c4(0xe0))/0x7+parseInt(_0x2347c4(0xcc))/0x8+parseInt(_0x2347c4(0xd9))/0x9*(parseInt(_0x2347c4(0x95))/0xa);if(_0x5bd59f===_0x59a62e)break;else _0x76a2e2['push'](_0x76a2e2['shift']());}catch(_0x5dc9d7){_0x76a2e2['push'](_0x76a2e2['shift']());}}}(a0_0x2906,0xb2410));function a0_0x4506(_0x2f615f,_0x1e9251){_0x2f615f=_0x2f615f-0x95;const _0x2906b2=a0_0x2906();let _0x45066d=_0x2906b2[_0x2f615f];if(a0_0x4506['zZvXUc']===undefined){var _0x85b655=function(_0x320680){const _0x384d4c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x130d83='',_0x17e8d0='';for(let _0x31850d=0x0,_0x40e73b,_0x168e65,_0x421134=0x0;_0x168e65=_0x320680['charAt'](_0x421134++);~_0x168e65&&(_0x40e73b=_0x31850d%0x4?_0x40e73b*0x40+_0x168e65:_0x168e65,_0x31850d++%0x4)?_0x130d83+=String['fromCharCode'](0xff&_0x40e73b>>(-0x2*_0x31850d&0x6)):0x0){_0x168e65=_0x384d4c['indexOf'](_0x168e65);}for(let _0x47637b=0x0,_0x42cdca=_0x130d83['length'];_0x47637b<_0x42cdca;_0x47637b++){_0x17e8d0+='%'+('00'+_0x130d83['charCodeAt'](_0x47637b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x17e8d0);};a0_0x4506['NzvOwc']=_0x85b655,a0_0x4506['HVerhl']={},a0_0x4506['zZvXUc']=!![];}const _0x4f1f35=_0x2906b2[0x0],_0x46792b=_0x2f615f+_0x4f1f35,_0x36d8bb=a0_0x4506['HVerhl'][_0x46792b];return!_0x36d8bb?(_0x45066d=a0_0x4506['NzvOwc'](_0x45066d),a0_0x4506['HVerhl'][_0x46792b]=_0x45066d):_0x45066d=_0x36d8bb,_0x45066d;}const {logger}=require(a0_0x2ce5ba(0xa8)),DB_TYPES={'POSTGRESQL':'postgresql','MYSQL':a0_0x2ce5ba(0xbd),'SQLSERVER':a0_0x2ce5ba(0xd1),'ORACLE':a0_0x2ce5ba(0xa7),'SQLITE':a0_0x2ce5ba(0xa9)};class UpsertBuilder{['getDatabaseType'](){const _0x371ee4=a0_0x2ce5ba,_0x183e3e={'hnvdB':'postgresql'},_0x3aa1a6=(process['env'][_0x371ee4(0xb4)]||_0x183e3e['hnvdB'])['toLowerCase'](),_0x201222=Object[_0x371ee4(0xb8)](DB_TYPES);if(!_0x201222['includes'](_0x3aa1a6))return logger[_0x371ee4(0xe2)]({'event':_0x371ee4(0x97),'provided':_0x3aa1a6,'fallback':_0x371ee4(0xcb)},_0x371ee4(0x9c)+_0x3aa1a6+_0x371ee4(0xe8)),DB_TYPES['POSTGRESQL'];return _0x3aa1a6;}['formatDateValue'](_0xcf9985,_0x3836cd,_0x53465b=![]){const _0x473f52=a0_0x2ce5ba,_0x46849d={'CmdXU':'NULL::DATE','BVgdH':_0x473f52(0xe9)};if(_0x53465b)switch(_0x3836cd){case DB_TYPES['POSTGRESQL']:return _0x46849d[_0x473f52(0xf2)];case DB_TYPES['MYSQL']:return'NULL';case DB_TYPES[_0x473f52(0x99)]:return'NULL';case DB_TYPES[_0x473f52(0xb5)]:return _0x46849d[_0x473f52(0xac)];case DB_TYPES['ORACLE']:return'NULL';default:return _0x46849d[_0x473f52(0xf2)];}switch(_0x3836cd){case DB_TYPES['POSTGRESQL']:return _0xcf9985+'::DATE';case DB_TYPES['MYSQL']:return _0xcf9985;case DB_TYPES[_0x473f52(0x99)]:return _0xcf9985;case DB_TYPES['SQLSERVER']:return _0x473f52(0xbe)+_0xcf9985+_0x473f52(0xc8);case DB_TYPES[_0x473f52(0xc5)]:return _0x473f52(0xbf)+_0xcf9985+',\x20\x27YYYY-MM-DD\x27)';default:return _0xcf9985+'::DATE';}}[a0_0x2ce5ba(0xa3)](_0x32850d,_0x8fe3a4,_0x9e1e6a=![]){const _0x345df5=a0_0x2ce5ba,_0x30300e={'ubgEt':'NULL::BOOLEAN','OVudB':_0x345df5(0xe9)};if(_0x9e1e6a)switch(_0x8fe3a4){case DB_TYPES[_0x345df5(0xd2)]:return _0x30300e[_0x345df5(0xee)];default:return _0x30300e['OVudB'];}switch(_0x8fe3a4){case DB_TYPES['POSTGRESQL']:return _0x32850d+_0x345df5(0xe1);case DB_TYPES[_0x345df5(0xc5)]:return _0x32850d;case DB_TYPES[_0x345df5(0xad)]:return _0x32850d;case DB_TYPES['SQLITE']:return _0x32850d;case DB_TYPES[_0x345df5(0xb5)]:return _0x345df5(0xbe)+_0x32850d+_0x345df5(0xc1);default:return _0x32850d+_0x345df5(0xe1);}}['buildEscapeFunction'](_0x35581f={}){const _0x1e8765=a0_0x2ce5ba,_0xb5d23c={'tspjX':function(_0x9a3b6b,_0x89a45e){return _0x9a3b6b===_0x89a45e;},'aHmKt':function(_0x4ce0cc,_0x2bf920){return _0x4ce0cc===_0x2bf920;},'PHWQk':_0x1e8765(0xb2),'UHESQ':'boolean','diDVb':'string'},_0x169049=this['getDatabaseType']();return(_0x1d2be1,_0x4a5ef8)=>{const _0x1233b2=_0x1e8765,_0x56b066=_0x35581f[_0x4a5ef8];if(_0xb5d23c[_0x1233b2(0xa0)](_0x1d2be1,null)||_0xb5d23c[_0x1233b2(0xb0)](_0x1d2be1,undefined)){if(_0x56b066&&_0xb5d23c[_0x1233b2(0xa0)](_0x56b066[_0x1233b2(0xb7)],_0xb5d23c[_0x1233b2(0xa5)]))return this['formatDateValue'](null,_0x169049,!![]);if(_0x56b066&&_0xb5d23c['aHmKt'](_0x56b066[_0x1233b2(0xb7)],_0xb5d23c[_0x1233b2(0xda)]))return this[_0x1233b2(0xa3)](null,_0x169049,!![]);return _0x1233b2(0xe9);}if(typeof _0x1d2be1===_0xb5d23c['diDVb']){const _0x5b2f77='\x27'+_0x1d2be1['replace'](/'/g,'\x27\x27')+'\x27';if(_0x56b066&&_0x56b066[_0x1233b2(0xb7)]==='date')return this[_0x1233b2(0xa2)](_0x5b2f77,_0x169049,![]);if(_0x56b066&&_0x56b066['type']===_0x1233b2(0xba))return this[_0x1233b2(0xa3)](_0x5b2f77,_0x169049,![]);return _0x5b2f77;}if(typeof _0x1d2be1==='number')return _0x1d2be1;if(typeof _0x1d2be1===_0x1233b2(0xba))return _0x1d2be1;const _0x47e466='\x27'+String(_0x1d2be1)['replace'](/'/g,'\x27\x27')+'\x27';if(_0x56b066&&_0xb5d23c['tspjX'](_0x56b066['type'],_0xb5d23c[_0x1233b2(0xa5)]))return this['formatDateValue'](_0x47e466,_0x169049,![]);return _0x47e466;};}['buildBatchInsert'](_0x47ab8e,_0xc0a45a,_0x1de8c4,_0x4f1a35={}){const _0x39d3e2=a0_0x2ce5ba,_0x28c518=this[_0x39d3e2(0xed)]();if(_0x28c518===DB_TYPES[_0x39d3e2(0xc5)])return this['_buildBatchInsertOracle'](_0x47ab8e,_0xc0a45a,_0x1de8c4,_0x4f1a35);return this['_buildBatchInsertPostgres'](_0x47ab8e,_0xc0a45a,_0x1de8c4,_0x4f1a35);}[a0_0x2ce5ba(0xc6)](_0x1a26fc,_0x574879,_0x4d744f,_0x46db29={}){const _0x5bd3b5=a0_0x2ce5ba,_0x4f7da3={'RvSlp':',\x0a\x20\x20\x20\x20\x20\x20\x20','ePBVZ':'postgresql','harKC':'Batch\x20INSERT\x20query\x20built\x20(PostgreSQL)'};if(_0x1a26fc['length']===0x0)return{'query':null,'values':[]};const _0x57c9a4=this[_0x5bd3b5(0xa6)](_0x46db29),_0x5d9470=_0x1a26fc[_0x5bd3b5(0xe7)](_0x2f782b=>{const _0x1b9ee9=_0x5bd3b5,_0x1cbc5c=_0x4d744f[_0x1b9ee9(0xe7)](_0x539f63=>_0x57c9a4(_0x2f782b[_0x539f63],_0x539f63));return'('+_0x1cbc5c[_0x1b9ee9(0xe6)](',\x20')+')';}),_0x428f22='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x574879+'\x20('+_0x4d744f['join'](',\x20')+_0x5bd3b5(0xea)+_0x5d9470['join'](_0x4f7da3[_0x5bd3b5(0xdf)])+_0x5bd3b5(0xe3);return logger['debug']({'event':'batch_insert_built','tableName':_0x574879,'rowCount':_0x1a26fc['length'],'dbType':_0x4f7da3['ePBVZ']},_0x4f7da3['harKC']),{'query':_0x428f22,'values':[]};}[a0_0x2ce5ba(0xc3)](_0x11ec7b,_0x5b35c8,_0x34146d,_0x3ecff1={}){const _0x5cd7af=a0_0x2ce5ba,_0x288250={'iOmgQ':function(_0x22bdfe,_0x44a5b7){return _0x22bdfe===_0x44a5b7;},'yhmfm':'oracle'};if(_0x288250['iOmgQ'](_0x11ec7b[_0x5cd7af(0xdb)],0x0))return{'query':null,'values':[]};const _0x5458b1=this[_0x5cd7af(0xa6)](_0x3ecff1),_0xce665b=_0x11ec7b[_0x5cd7af(0xe7)](_0x157509=>{const _0x10ff69=_0x5cd7af,_0x217573=_0x34146d['map'](_0x4c2ba8=>_0x5458b1(_0x157509[_0x4c2ba8],_0x4c2ba8));return'\x20\x20INTO\x20'+_0x5b35c8+'\x20('+_0x34146d[_0x10ff69(0xe6)](',\x20')+')\x20VALUES\x20('+_0x217573['join'](',\x20')+')';}),_0x5b59b4=_0x5cd7af(0xd3)+_0xce665b[_0x5cd7af(0xe6)]('\x0a')+_0x5cd7af(0xa4);return logger['debug']({'event':'batch_insert_built','tableName':_0x5b35c8,'rowCount':_0x11ec7b[_0x5cd7af(0xdb)],'dbType':_0x288250['yhmfm']},_0x5cd7af(0x96)),{'query':_0x5b59b4,'values':[]};}['buildBatchUpdate'](_0x4533f6,_0x4e8992,_0x3a0bfc,_0x2249cd,_0x1dd890,_0x1f6310={}){const _0x6982c1=a0_0x2ce5ba,_0xcc9db6={'ahere':function(_0x189780,_0x3189df){return _0x189780===_0x3189df;}},_0x21a790=this['getDatabaseType']();if(_0xcc9db6[_0x6982c1(0x9f)](_0x21a790,DB_TYPES[_0x6982c1(0xc5)]))return this[_0x6982c1(0xcf)](_0x4533f6,_0x4e8992,_0x3a0bfc,_0x2249cd,_0x1dd890,_0x1f6310);if(_0xcc9db6['ahere'](_0x21a790,DB_TYPES[_0x6982c1(0xad)]))return this['_buildBatchUpdateMysql'](_0x4533f6,_0x4e8992,_0x3a0bfc,_0x2249cd,_0x1dd890,_0x1f6310);return this[_0x6982c1(0xb6)](_0x4533f6,_0x4e8992,_0x3a0bfc,_0x2249cd,_0x1dd890,_0x1f6310);}['_buildBatchUpdatePostgres'](_0x33ba82,_0x486229,_0x2624c7,_0x4495d9,_0x1ed1f3,_0x26c875={}){const _0x6f5686=a0_0x2ce5ba,_0x33c4f6={'QGODt':function(_0x339de7,_0x69c095){return _0x339de7===_0x69c095;},'JscmG':_0x6f5686(0xef),'FUCLs':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','gXNRx':_0x6f5686(0xc0),'mwmYh':_0x6f5686(0xd0),'zAgab':_0x6f5686(0x9e)};if(_0x33c4f6[_0x6f5686(0xc7)](_0x33ba82['length'],0x0))return{'query':null,'values':[]};const _0x42f53d=this['buildEscapeFunction'](_0x26c875),_0x2b0e86=_0x2624c7[_0x6f5686(0xc9)](_0x1bbdde=>!_0x1ed1f3[_0x6f5686(0xbc)](_0x1bbdde)&&_0x1bbdde!==_0x4495d9);if(_0x33c4f6['QGODt'](_0x2b0e86[_0x6f5686(0xdb)],0x0))return logger[_0x6f5686(0xe2)]({'event':_0x33c4f6[_0x6f5686(0xe4)],'tableName':_0x486229},_0x33c4f6['FUCLs']),{'query':null,'values':[]};const _0x84550c=_0x33ba82[_0x6f5686(0xe7)](_0x1dcf7c=>{const _0x3f687f=_0x6f5686,_0xaac715=[..._0x1ed1f3,..._0x2b0e86],_0x256da7=_0xaac715['map'](_0x42735f=>_0x42f53d(_0x1dcf7c[_0x42735f],_0x42735f));return'('+_0x256da7[_0x3f687f(0xe6)](',\x20')+')';}),_0x525308=_0x2b0e86['map'](_0x4d2fd2=>_0x4d2fd2+'\x20=\x20v.'+_0x4d2fd2)[_0x6f5686(0xe6)](_0x33c4f6[_0x6f5686(0xc2)]),_0x2d3132=_0x1ed1f3['map'](_0x4e25d5=>'t.'+_0x4e25d5+_0x6f5686(0xec)+_0x4e25d5)[_0x6f5686(0xe6)](_0x33c4f6['mwmYh']),_0x49738b='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x486229+'\x20AS\x20t\x0a\x20\x20\x20\x20\x20\x20SET\x20'+_0x525308+_0x6f5686(0xdd)+_0x84550c[_0x6f5686(0xe6)](_0x6f5686(0x9a))+_0x6f5686(0xd4)+[..._0x1ed1f3,..._0x2b0e86]['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x2d3132+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':'batch_update_built','tableName':_0x486229,'rowCount':_0x33ba82['length'],'updateColumns':_0x2b0e86[_0x6f5686(0xdb)],'dbType':'postgresql'},_0x33c4f6[_0x6f5686(0xf0)]),{'query':_0x49738b,'values':[]};}[a0_0x2ce5ba(0xcf)](_0x4f312b,_0x1bd9a4,_0x140287,_0x2e1be4,_0x3319a8,_0x2dab60={}){const _0x5b111d=a0_0x2ce5ba,_0x18f0d6={'ZteOo':function(_0x28f81b,_0x54a5a0,_0x2fe247){return _0x28f81b(_0x54a5a0,_0x2fe247);},'AaALs':function(_0x1edb63,_0x14bf59){return _0x1edb63===_0x14bf59;},'AZPwK':'batch_update_no_columns','fJDuc':_0x5b111d(0xd7),'GxFfV':'batch_update_built','uplsO':_0x5b111d(0xf1)};if(_0x4f312b['length']===0x0)return{'query':null,'values':[]};const _0x248f9f=this['buildEscapeFunction'](_0x2dab60),_0x2bfac8=_0x140287[_0x5b111d(0xc9)](_0x549d36=>!_0x3319a8[_0x5b111d(0xbc)](_0x549d36)&&_0x549d36!==_0x2e1be4);if(_0x18f0d6[_0x5b111d(0xb3)](_0x2bfac8['length'],0x0))return logger[_0x5b111d(0xe2)]({'event':_0x18f0d6['AZPwK'],'tableName':_0x1bd9a4},_0x5b111d(0xcd)),{'query':null,'values':[]};const _0x542c81=[..._0x3319a8,..._0x2bfac8],_0x1d9462=_0x4f312b[_0x5b111d(0xe7)]((_0xcea733,_0x49e862)=>{const _0x586a50=_0x5b111d,_0x4a1531=_0x542c81['map'](_0x4d4653=>{const _0x3dba52=a0_0x4506,_0x141d52=_0x18f0d6['ZteOo'](_0x248f9f,_0xcea733[_0x4d4653],_0x4d4653);return _0x49e862===0x0?_0x141d52+_0x3dba52(0xaa)+_0x4d4653:_0x141d52;});return'\x20\x20\x20\x20SELECT\x20'+_0x4a1531[_0x586a50(0xe6)](',\x20')+'\x20FROM\x20DUAL';}),_0x12e9d2=_0x2bfac8[_0x5b111d(0xe7)](_0x48a551=>'t.'+_0x48a551+_0x5b111d(0xec)+_0x48a551)['join'](_0x5b111d(0xc0)),_0x38529e=_0x3319a8[_0x5b111d(0xe7)](_0x400499=>'t.'+_0x400499+_0x5b111d(0xec)+_0x400499)['join'](_0x5b111d(0xd0)),_0x1f3200=_0x5b111d(0xd5)+_0x1bd9a4+_0x5b111d(0xde)+_0x1d9462[_0x5b111d(0xe6)](_0x18f0d6['fJDuc'])+'\x0a\x20\x20\x20\x20\x20\x20)\x20v\x0a\x20\x20\x20\x20\x20\x20ON\x20('+_0x38529e+')\x0a\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x20'+_0x12e9d2+_0x5b111d(0xe3);return logger[_0x5b111d(0x98)]({'event':_0x18f0d6[_0x5b111d(0x9d)],'tableName':_0x1bd9a4,'rowCount':_0x4f312b[_0x5b111d(0xdb)],'updateColumns':_0x2bfac8['length'],'dbType':'oracle'},_0x18f0d6[_0x5b111d(0xc4)]),{'query':_0x1f3200,'values':[]};}[a0_0x2ce5ba(0xb9)](_0x193888,_0x4577d7,_0x255c97,_0x28ac3c,_0x5ec86b,_0x361933={}){const _0x43fde0=a0_0x2ce5ba,_0x305aa2={'ypFwA':function(_0x560454,_0x591cd6){return _0x560454===_0x591cd6;},'NBtyg':'batch_update_no_columns','InSbx':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','PwWfU':_0x43fde0(0xc0),'TcJXO':_0x43fde0(0xab)};if(_0x193888[_0x43fde0(0xdb)]===0x0)return{'query':null,'values':[]};const _0x32105e=this['buildEscapeFunction'](_0x361933),_0x1e657d=_0x255c97['filter'](_0x5acfac=>!_0x5ec86b[_0x43fde0(0xbc)](_0x5acfac)&&_0x5acfac!==_0x28ac3c);if(_0x305aa2['ypFwA'](_0x1e657d[_0x43fde0(0xdb)],0x0))return logger['warn']({'event':_0x305aa2['NBtyg'],'tableName':_0x4577d7},_0x305aa2['InSbx']),{'query':null,'values':[]};const _0x31d341=[...new Set([..._0x5ec86b,..._0x1e657d])],_0x483a25=_0x193888['map'](_0x2b1df5=>{const _0x685f77=_0x43fde0,_0x48bd44=_0x31d341[_0x685f77(0xe7)](_0x5dbb08=>_0x32105e(_0x2b1df5[_0x5dbb08],_0x5dbb08));return'('+_0x48bd44[_0x685f77(0xe6)](',\x20')+')';}),_0x5be650=_0x1e657d['map'](_0x535332=>_0x535332+'\x20=\x20VALUES('+_0x535332+')')[_0x43fde0(0xe6)](_0x305aa2[_0x43fde0(0xf3)]),_0x685062='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x4577d7+'\x20('+_0x31d341['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x483a25[_0x43fde0(0xe6)](_0x43fde0(0x9a))+_0x43fde0(0x9b)+_0x5be650+'\x0a\x20\x20\x20\x20';return logger[_0x43fde0(0x98)]({'event':_0x305aa2[_0x43fde0(0xca)],'tableName':_0x4577d7,'rowCount':_0x193888['length'],'updateColumns':_0x1e657d[_0x43fde0(0xdb)],'dbType':'mysql'},_0x43fde0(0xd8)),{'query':_0x685062,'values':[]};}[a0_0x2ce5ba(0xdc)](_0x17eeda,_0x23a605=0x64){const _0x5a00a7=a0_0x2ce5ba,_0x6882a2={'ctZuo':function(_0xd78819,_0x3b00b2){return _0xd78819<_0x3b00b2;}},_0x58a7c6=[];for(let _0x2d28ee=0x0;_0x6882a2['ctZuo'](_0x2d28ee,_0x17eeda['length']);_0x2d28ee+=_0x23a605){_0x58a7c6[_0x5a00a7(0xae)](_0x17eeda[_0x5a00a7(0xce)](_0x2d28ee,_0x2d28ee+_0x23a605));}return _0x58a7c6;}}module[a0_0x2ce5ba(0xb1)]=new UpsertBuilder();
@@ -1 +1 @@
1
- const a0_0x35c297=a0_0x4bcd;(function(_0x3cf980,_0x3e827e){const _0x5ef5bf=a0_0x4bcd,_0x983b7b=_0x3cf980();while(!![]){try{const _0x5c70e0=-parseInt(_0x5ef5bf(0x188))/0x1*(parseInt(_0x5ef5bf(0x18a))/0x2)+-parseInt(_0x5ef5bf(0x182))/0x3*(-parseInt(_0x5ef5bf(0x18e))/0x4)+-parseInt(_0x5ef5bf(0x166))/0x5+-parseInt(_0x5ef5bf(0x169))/0x6+parseInt(_0x5ef5bf(0x198))/0x7+-parseInt(_0x5ef5bf(0x19a))/0x8*(-parseInt(_0x5ef5bf(0x194))/0x9)+-parseInt(_0x5ef5bf(0x178))/0xa*(-parseInt(_0x5ef5bf(0x179))/0xb);if(_0x5c70e0===_0x3e827e)break;else _0x983b7b['push'](_0x983b7b['shift']());}catch(_0x22982f){_0x983b7b['push'](_0x983b7b['shift']());}}}(a0_0x5af8,0x5ccc0));const axios=require(a0_0x35c297(0x196)),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD='POST',DEFAULT_HOST='localhost',DEFAULT_PORT=0xbb8;function a0_0x5af8(){const _0x3a239f=['nZeXmZuXB01myLbn','v09Oq1i','C3LZDgvT','yMXVy2TPBMC','C3rHDhvZ','yxv0AeHLywrLCG','nJy2odjPBe5gvMS','sg9VAYbLEgvJDxrLzcbZDwnJzxnZzNvSBhK','mJjgzw9NzNa','C3rYAw5NAwz5','C3rHCNrZv2L0Aa','se9tva','mtjOCvz5ELe','CMvWBgfJzq','B2jQzwn0','DhLWzq','qNjNzKG','yxbWBgLJyxrPB24VANnVBG','mtHPBvj2uvG','DxnLCKLK','yxHPB3m','yNjJB2C','ntaYnZa3mvLyuLjQAG','EMn2wKG','nJm1otiWuwTAqvD6','qxv0Ag9YAxPHDgLVBG','iokgKIa','u0vsvKvsx0ferfjfu1m','mJKZmJe2nuzqDgHptW','zxHWB3j0CW','s09YvK8','nJqYmdG0Ee9sCgLy','AxnbCNjHEq','zufrwNm','sg9VAYbLEgvJDxrPB24GzMfPBgvK','C3rYAw5N','C3bSAxq','yM9KEq','BgvUz3rO','Bg9N','CMvTyxjRCW','AgvHzgvYCW','uxvPtKK','CMvZCg9UC2u','DhjPBq','l2fWAs8','mJe4ntyXmg9zAfDwsa','mtfduuTQB2e','EwPqvxC','tM9UlwjSB2nRAw5NigHVB2SGzMfPBgvKicHPz25VCMvKktOG','ChvZAa','zw52','Dg9vChbLCKnHC2u','Ahr0CdOVlW','BMv3u3rHDhvZ','uNPcy0K'];a0_0x5af8=function(){return _0x3a239f;};return a0_0x5af8();}function a0_0x4bcd(_0x5dcb68,_0x4b7e4b){_0x5dcb68=_0x5dcb68-0x164;const _0x5af8c0=a0_0x5af8();let _0x4bcdc2=_0x5af8c0[_0x5dcb68];if(a0_0x4bcd['nAkZZr']===undefined){var _0x176e69=function(_0x45fb3a){const _0x585e0a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2663c8='',_0x217aec='';for(let _0x150496=0x0,_0x40b010,_0x5d0ca4,_0x584d55=0x0;_0x5d0ca4=_0x45fb3a['charAt'](_0x584d55++);~_0x5d0ca4&&(_0x40b010=_0x150496%0x4?_0x40b010*0x40+_0x5d0ca4:_0x5d0ca4,_0x150496++%0x4)?_0x2663c8+=String['fromCharCode'](0xff&_0x40b010>>(-0x2*_0x150496&0x6)):0x0){_0x5d0ca4=_0x585e0a['indexOf'](_0x5d0ca4);}for(let _0x12b5f7=0x0,_0x137a3b=_0x2663c8['length'];_0x12b5f7<_0x137a3b;_0x12b5f7++){_0x217aec+='%'+('00'+_0x2663c8['charCodeAt'](_0x12b5f7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x217aec);};a0_0x4bcd['vkxwvm']=_0x176e69,a0_0x4bcd['yEuEZD']={},a0_0x4bcd['nAkZZr']=!![];}const _0x14c063=_0x5af8c0[0x0],_0x12662d=_0x5dcb68+_0x14c063,_0x3857a0=a0_0x4bcd['yEuEZD'][_0x12662d];return!_0x3857a0?(_0x4bcdc2=a0_0x4bcd['vkxwvm'](_0x4bcdc2),a0_0x4bcd['yEuEZD'][_0x12662d]=_0x4bcdc2):_0x4bcdc2=_0x3857a0,_0x4bcdc2;}function resolveTemplateString(_0x174fd3,_0x15f23d){const _0xe0b7e4=a0_0x35c297,_0x4db03b={'xHSZt':function(_0x3d30bd,_0x1b641c,_0x4e41b6){return _0x3d30bd(_0x1b641c,_0x4e41b6);},'zrrKn':function(_0x540680,_0x1e1f4a){return _0x540680!==_0x1e1f4a;},'Wuikh':function(_0x736c2a,_0x1e047e){return _0x736c2a===_0x1e047e;},'QVvRT':_0xe0b7e4(0x190),'KOrVO':function(_0x552032,_0x56bc60){return _0x552032(_0x56bc60);},'eAQZs':'string'};if(typeof _0x174fd3!==_0x4db03b[_0xe0b7e4(0x16b)])return _0x174fd3;return _0x174fd3[_0xe0b7e4(0x18f)](/\{\{([^}]+)\}\}/g,(_0x25b61a,_0x2a71d4)=>{const _0x54b675=_0xe0b7e4,_0x14273a=_0x2a71d4[_0x54b675(0x176)](),_0x163e6f=_0x4db03b['xHSZt'](getNestedValue,_0x15f23d,_0x14273a);if(_0x4db03b['zrrKn'](_0x163e6f,undefined)&&_0x163e6f!==null)return _0x4db03b['Wuikh'](typeof _0x163e6f,_0x4db03b['QVvRT'])?JSON[_0x54b675(0x18b)](_0x163e6f):_0x4db03b[_0x54b675(0x168)](String,_0x163e6f);return _0x25b61a;});}function resolveTemplateVariables(_0x3ec031,_0xd68284){const _0x59c1b9=a0_0x35c297,_0x3ff966={'xRfKd':function(_0x12f15f,_0x2208c7,_0x42c4a9){return _0x12f15f(_0x2208c7,_0x42c4a9);}};if(typeof _0x3ec031===_0x59c1b9(0x16d))return _0x3ff966['xRfKd'](resolveTemplateString,_0x3ec031,_0xd68284);if(Array['isArray'](_0x3ec031))return _0x3ec031['map'](_0xa80831=>resolveTemplateVariables(_0xa80831,_0xd68284));if(_0x3ec031!==null&&typeof _0x3ec031==='object'){const _0x5c8bd2={};for(const [_0x5d822d,_0x2c4a93]of Object['entries'](_0x3ec031)){_0x5c8bd2[_0x5d822d]=resolveTemplateVariables(_0x2c4a93,_0xd68284);}return _0x5c8bd2;}return _0x3ec031;}function getNestedValue(_0x48dd9c,_0x55cbd4){const _0x528618=a0_0x35c297,_0x58ee2e={'BrgfH':function(_0x3c5acb,_0x2f5925){return _0x3c5acb!==_0x2f5925;}};return _0x55cbd4[_0x528618(0x16e)]('.')['reduce']((_0x6e3406,_0x2ce820)=>{const _0x5d3cc9=_0x528618;return _0x6e3406&&_0x58ee2e[_0x5d3cc9(0x192)](_0x6e3406[_0x2ce820],undefined)?_0x6e3406[_0x2ce820]:undefined;},_0x48dd9c);}function resolveUrl(_0x40a31e,_0x11f7ba){const _0x353d0e=a0_0x35c297,_0x149f96={'yMLmZ':function(_0x299a4c,_0x2cadf7){return _0x299a4c!==_0x2cadf7;},'NXbtV':'string','IbooE':_0x353d0e(0x17f)};if(!_0x40a31e||_0x149f96['yMLmZ'](typeof _0x40a31e,_0x149f96['NXbtV']))return _0x40a31e;if(_0x40a31e['startsWith'](_0x149f96['IbooE'])||_0x40a31e[_0x353d0e(0x18c)]('https://'))return _0x40a31e;const _0x33d14b=process['env'][_0x353d0e(0x165)]||process[_0x353d0e(0x17d)][_0x353d0e(0x18d)]||DEFAULT_HOST,_0x59c3e4=process[_0x353d0e(0x17d)]['PORT']||DEFAULT_PORT,_0xabf10f=_0x353d0e(0x17f)+_0x33d14b+':'+_0x59c3e4;if(_0x40a31e['startsWith']('/api/'))return''+_0xabf10f+_0x40a31e;if(_0x40a31e['startsWith']('/')){const _0x2bf81b=_0x11f7ba&&_0x11f7ba['project']||'';if(_0x2bf81b)return _0xabf10f+_0x353d0e(0x177)+_0x2bf81b+_0x40a31e;return''+_0xabf10f+_0x40a31e;}return _0x40a31e;}function buildHookContext(_0x3e1d27){const _0x24192d=a0_0x35c297;return{'id':_0x3e1d27['id']||'','newStatus':_0x3e1d27[_0x24192d(0x180)]||'','oldStatus':_0x3e1d27['oldStatus']||'','remarks':_0x3e1d27[_0x24192d(0x172)]||'','tableName':_0x3e1d27['tableName']||'','user_id':_0x3e1d27[_0x24192d(0x195)]||_0x24192d(0x184),'timestamp':new Date()['toISOString'](),'record':_0x3e1d27['record']||{},'requestData':_0x3e1d27['requestData']||{},'project':_0x3e1d27['project']||'','authHeader':_0x3e1d27[_0x24192d(0x187)]||null};}async function executeHook(_0x189175,_0x3781bf){const _0x2eb855=a0_0x35c297,_0x4bd035={'QaOcz':function(_0x231733,_0x18776c){return _0x231733!==_0x18776c;},'QuiNI':'api','UnUta':function(_0x96977a,_0x104119){return _0x96977a===_0x104119;},'RzBcI':function(_0x4787b6,_0x193095,_0x283433){return _0x4787b6(_0x193095,_0x283433);},'nmssH':function(_0xf69cce,_0x36be1d,_0x4a9dd6){return _0xf69cce(_0x36be1d,_0x4a9dd6);},'WOhCR':function(_0x2e17ed,_0x5d62cd){return _0x2e17ed(_0x5d62cd);},'yjPUw':_0x2eb855(0x193)};if(!_0x189175||_0x4bd035['QaOcz'](_0x189175[_0x2eb855(0x191)],_0x4bd035[_0x2eb855(0x174)]))return{'success':!![],'message':'Hook\x20skipped:\x20unsupported\x20type'};const _0x540258=_0x4bd035['UnUta'](_0x189175[_0x2eb855(0x185)],!![]),_0x4d316d=(_0x189175['method']||DEFAULT_METHOD)[_0x2eb855(0x17e)](),_0x4d84ec=_0x189175['timeout']||DEFAULT_TIMEOUT,_0x5254e8=resolveTemplateString(_0x189175['url'],_0x3781bf),_0x59291d=_0x4bd035[_0x2eb855(0x181)](resolveUrl,_0x5254e8,_0x3781bf),_0x5028ee=_0x189175[_0x2eb855(0x16f)]?resolveTemplateVariables(_0x189175[_0x2eb855(0x16f)],_0x3781bf):{},_0x2ef2dc=_0x189175[_0x2eb855(0x173)]?_0x4bd035['nmssH'](resolveTemplateVariables,_0x189175[_0x2eb855(0x173)],_0x3781bf):{},_0xd1bf87=_0x2ef2dc&&(_0x2ef2dc[_0x2eb855(0x19b)]!==undefined||_0x2ef2dc['authorization']!==undefined),_0x439fd4=!_0xd1bf87&&_0x3781bf&&_0x3781bf['authHeader']?{'Authorization':_0x3781bf[_0x2eb855(0x187)]}:{};try{const _0x4a7527=await _0x4bd035[_0x2eb855(0x183)](axios,{'method':_0x4d316d['toLowerCase'](),'url':_0x59291d,'data':_0x5028ee,'headers':{'Content-Type':_0x4bd035[_0x2eb855(0x17a)],'User-Agent':'RestForge-Workflow/1.0',..._0x439fd4,..._0x2ef2dc},'timeout':_0x4d84ec});return console[_0x2eb855(0x171)]('Workflow\x20hook\x20executed:\x20'+_0x4d316d+'\x20'+_0x59291d+'\x20→\x20'+_0x4a7527['status']),{'success':!![],'message':_0x2eb855(0x189),'status':_0x4a7527['status'],'url':_0x59291d};}catch(_0x1e84d8){const _0x2480b2=_0x1e84d8['response']?'HTTP\x20'+_0x1e84d8['response'][_0x2eb855(0x186)]+':\x20'+_0x1e84d8[_0x2eb855(0x175)]['statusText']:_0x1e84d8['message'];console['error']('Workflow\x20hook\x20failed:\x20'+_0x4d316d+'\x20'+_0x59291d+_0x2eb855(0x164)+_0x2480b2);if(_0x540258)return{'success':![],'message':'Blocking\x20hook\x20failed:\x20'+_0x2480b2,'error':_0x2480b2,'url':_0x59291d};return console['warn'](_0x2eb855(0x17b)+_0x2480b2),{'success':!![],'message':_0x2eb855(0x17b)+_0x2480b2,'warning':_0x2480b2,'url':_0x59291d};}}async function executeHooks(_0x3d6ab2,_0x3755e8){const _0x500282=a0_0x35c297,_0x1476e8={'brcog':function(_0x96d23,_0x526c2b){return _0x96d23===_0x526c2b;},'zcvZH':function(_0x5b9fb3,_0x1ac3ff,_0xcdfc9c){return _0x5b9fb3(_0x1ac3ff,_0xcdfc9c);}};if(!_0x3d6ab2||!Array[_0x500282(0x16a)](_0x3d6ab2)||_0x1476e8[_0x500282(0x197)](_0x3d6ab2[_0x500282(0x170)],0x0))return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x568785=[];for(const _0x1f3f24 of _0x3d6ab2){const _0x3a5113=await _0x1476e8[_0x500282(0x199)](executeHook,_0x1f3f24,_0x3755e8);_0x568785[_0x500282(0x17c)](_0x3a5113);if(!_0x3a5113['success'])return{'success':![],'error':_0x3a5113['message']||_0x500282(0x16c),'results':_0x568785,'hooksExecuted':_0x568785[_0x500282(0x170)]};}return{'success':!![],'results':_0x568785,'hooksExecuted':_0x568785['length']};}module[a0_0x35c297(0x167)]={'resolveTemplateString':resolveTemplateString,'resolveTemplateVariables':resolveTemplateVariables,'resolveUrl':resolveUrl,'buildHookContext':buildHookContext,'executeHook':executeHook,'executeHooks':executeHooks};
1
+ const a0_0x35b97e=a0_0x2ec0;(function(_0x1ca825,_0x18968a){const _0x414188=a0_0x2ec0,_0x157675=_0x1ca825();while(!![]){try{const _0x40acd6=parseInt(_0x414188(0xa1))/0x1+-parseInt(_0x414188(0x99))/0x2+parseInt(_0x414188(0xa0))/0x3+-parseInt(_0x414188(0x95))/0x4*(parseInt(_0x414188(0x7b))/0x5)+parseInt(_0x414188(0x77))/0x6*(parseInt(_0x414188(0x79))/0x7)+parseInt(_0x414188(0xa6))/0x8+parseInt(_0x414188(0x87))/0x9*(parseInt(_0x414188(0xa2))/0xa);if(_0x40acd6===_0x18968a)break;else _0x157675['push'](_0x157675['shift']());}catch(_0x4a3182){_0x157675['push'](_0x157675['shift']());}}}(a0_0x2b17,0x24d1e));const axios=require(a0_0x35b97e(0x83)),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD='POST',DEFAULT_HOST='localhost',DEFAULT_PORT=0xbb8;function resolveTemplateString(_0x186fd3,_0x329eda){const _0x3eaf43=a0_0x35b97e,_0x4c5876={'FpcRL':function(_0x123581,_0x316f80,_0x4608a0){return _0x123581(_0x316f80,_0x4608a0);},'zyHhe':function(_0x20f069,_0x28fc4c){return _0x20f069!==_0x28fc4c;},'nFGSE':'object'};if(typeof _0x186fd3!=='string')return _0x186fd3;return _0x186fd3[_0x3eaf43(0xa8)](/\{\{([^}]+)\}\}/g,(_0x1c866e,_0x56effd)=>{const _0x51449d=_0x3eaf43,_0x3ba3a8=_0x56effd[_0x51449d(0xa7)](),_0x38bd61=_0x4c5876['FpcRL'](getNestedValue,_0x329eda,_0x3ba3a8);if(_0x4c5876['zyHhe'](_0x38bd61,undefined)&&_0x38bd61!==null)return typeof _0x38bd61===_0x4c5876['nFGSE']?JSON[_0x51449d(0x98)](_0x38bd61):String(_0x38bd61);return _0x1c866e;});}function resolveTemplateVariables(_0xb69503,_0x1e871b){const _0x28c91d=a0_0x35b97e,_0x2a210b={'wIRXC':function(_0x453739,_0x5a0d20){return _0x453739===_0x5a0d20;},'rOaVP':'string','uZOnz':function(_0x362b91,_0x79a6e7){return _0x362b91!==_0x79a6e7;},'RHZhu':function(_0x4068f6,_0x33456b,_0x10d404){return _0x4068f6(_0x33456b,_0x10d404);}};if(_0x2a210b['wIRXC'](typeof _0xb69503,_0x2a210b[_0x28c91d(0x82)]))return resolveTemplateString(_0xb69503,_0x1e871b);if(Array['isArray'](_0xb69503))return _0xb69503[_0x28c91d(0x9c)](_0x407e1a=>resolveTemplateVariables(_0x407e1a,_0x1e871b));if(_0x2a210b['uZOnz'](_0xb69503,null)&&typeof _0xb69503==='object'){const _0x33abbd={};for(const [_0x504e88,_0x49b52c]of Object['entries'](_0xb69503)){_0x33abbd[_0x504e88]=_0x2a210b[_0x28c91d(0xa9)](resolveTemplateVariables,_0x49b52c,_0x1e871b);}return _0x33abbd;}return _0xb69503;}function getNestedValue(_0x40845f,_0x1bfcbd){const _0x1e03cc=a0_0x35b97e;return _0x1bfcbd[_0x1e03cc(0x90)]('.')['reduce']((_0x38b3ac,_0x14b960)=>{return _0x38b3ac&&_0x38b3ac[_0x14b960]!==undefined?_0x38b3ac[_0x14b960]:undefined;},_0x40845f);}function resolveUrl(_0x376408,_0x56dee5){const _0x170132=a0_0x35b97e,_0x4f140a={'jdFvo':function(_0xde1e5a,_0x55857e){return _0xde1e5a!==_0x55857e;},'lYNyD':'http://','CdtwN':'https://','mjLpc':'/api/'};if(!_0x376408||_0x4f140a[_0x170132(0x8c)](typeof _0x376408,_0x170132(0x91)))return _0x376408;if(_0x376408['startsWith'](_0x4f140a['lYNyD'])||_0x376408['startsWith'](_0x4f140a[_0x170132(0x85)]))return _0x376408;const _0x45e618=process[_0x170132(0x88)]['SERVER_ADDRESS']||process['env']['HOST']||DEFAULT_HOST,_0x29bee8=process[_0x170132(0x88)]['PORT']||DEFAULT_PORT,_0x1f4bd9='http://'+_0x45e618+':'+_0x29bee8;if(_0x376408[_0x170132(0x7d)](_0x4f140a['mjLpc']))return''+_0x1f4bd9+_0x376408;if(_0x376408['startsWith']('/')){const _0x3835b8=_0x56dee5&&_0x56dee5['project']||'';if(_0x3835b8)return _0x1f4bd9+'/api/'+_0x3835b8+_0x376408;return''+_0x1f4bd9+_0x376408;}return _0x376408;}function a0_0x2ec0(_0x1cd66d,_0x2e6155){_0x1cd66d=_0x1cd66d-0x75;const _0x2b176f=a0_0x2b17();let _0x2ec01d=_0x2b176f[_0x1cd66d];if(a0_0x2ec0['ekRRcT']===undefined){var _0x5f2179=function(_0xa39161){const _0x47c580='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x344e3d='',_0x4706db='';for(let _0x112c39=0x0,_0x3cd65c,_0x67b7ac,_0x12ab74=0x0;_0x67b7ac=_0xa39161['charAt'](_0x12ab74++);~_0x67b7ac&&(_0x3cd65c=_0x112c39%0x4?_0x3cd65c*0x40+_0x67b7ac:_0x67b7ac,_0x112c39++%0x4)?_0x344e3d+=String['fromCharCode'](0xff&_0x3cd65c>>(-0x2*_0x112c39&0x6)):0x0){_0x67b7ac=_0x47c580['indexOf'](_0x67b7ac);}for(let _0xa4d3d7=0x0,_0x51ca1b=_0x344e3d['length'];_0xa4d3d7<_0x51ca1b;_0xa4d3d7++){_0x4706db+='%'+('00'+_0x344e3d['charCodeAt'](_0xa4d3d7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4706db);};a0_0x2ec0['cfjaJi']=_0x5f2179,a0_0x2ec0['SMhyCv']={},a0_0x2ec0['ekRRcT']=!![];}const _0x27e99a=_0x2b176f[0x0],_0x40378a=_0x1cd66d+_0x27e99a,_0x1ea6c2=a0_0x2ec0['SMhyCv'][_0x40378a];return!_0x1ea6c2?(_0x2ec01d=a0_0x2ec0['cfjaJi'](_0x2ec01d),a0_0x2ec0['SMhyCv'][_0x40378a]=_0x2ec01d):_0x2ec01d=_0x1ea6c2,_0x2ec01d;}function buildHookContext(_0x12735a){const _0x19ab54=a0_0x35b97e;return{'id':_0x12735a['id']||'','newStatus':_0x12735a['newStatus']||'','oldStatus':_0x12735a['oldStatus']||'','remarks':_0x12735a['remarks']||'','tableName':_0x12735a[_0x19ab54(0x92)]||'','user_id':_0x12735a['userId']||'system','timestamp':new Date()[_0x19ab54(0xaa)](),'record':_0x12735a['record']||{},'requestData':_0x12735a['requestData']||{},'project':_0x12735a['project']||'','authHeader':_0x12735a['authHeader']||null};}function a0_0x2b17(){const _0x5102d3=['zxHWB3j0CW','mJeZndjoAvPru2y','rMfyA08','mJfAt0PxBe0','BgvUz3rO','mJi4ndviC3rWq24','sg9VAYbZA2LWCgvKoIb1BNn1ChbVCNrLzcb0ExbL','C3rHCNrZv2L0Aa','C3vJy2vZCW','CMvZCg9UC2u','AgvHzgvYCW','sg9VAYbLEgvJDxrPB24GzMfPBgvK','CK9HvLa','yxHPB3m','C3rHDhvZvgv4Da','q2r0D04','Bwv0Ag9K','mJq3otu5D0TerfvM','zw52','Dg9mB3DLCKnHC2u','yxbWBgLJyxrPB24VANnVBG','uMvZDezVCMDLlvDVCMTMBg93lZeUma','AMrgDM8','yMXVy2TPBMC','yxv0Ag9YAxPHDgLVBG','AxnbCNjHEq','C3bSAxq','C3rYAw5N','DgfIBgvoyw1L','yM9KEq','qxv0Ag9YAxPHDgLVBG','mJm2wg9hBgjf','v29YA2zSB3CGAg9VAYbMywLSzwq6ia','q1fJChK','C3rYAw5NAwz5','mJmZote2r3zHDhLv','sg9VAYbLEgvJDxrLzcbZDwnJzxnZzNvSBhK','t1PKDhK','BwfW','sxbWu1K','rujLwfm','BwvZC2fNzq','mJy1mtGYv1LZAurf','mJi1ntG4z1rsvgX4','mtbQt2DAzei','DxjS','C3rHDhvZ','DgLTzw91Da','mtq4mteXmMX5AwHXCG','DhjPBq','CMvWBgfJzq','uKHAAhu','Dg9ju09tDhjPBMC','B1b0wvm','iokgKIa'];a0_0x2b17=function(){return _0x5102d3;};return a0_0x2b17();}async function executeHook(_0x4ab232,_0x110a4d){const _0x522cc5=a0_0x35b97e,_0x572d5f={'CQcpy':function(_0x29fd92,_0x3211bc){return _0x29fd92!==_0x3211bc;},'OZdty':'api','oPtYS':_0x522cc5(0x7c),'rHcSy':function(_0x48e44,_0x5ea5d6,_0x3cd887){return _0x48e44(_0x5ea5d6,_0x3cd887);},'xvrPl':function(_0x5a8cda,_0x27f88a,_0x7739b3){return _0x5a8cda(_0x27f88a,_0x7739b3);},'IppSY':function(_0x3f980,_0xaebf4){return _0x3f980&&_0xaebf4;},'FaXkO':function(_0x11c4cd,_0x2d77ff){return _0x11c4cd(_0x2d77ff);},'Oihsp':_0x522cc5(0x8b)};if(!_0x4ab232||_0x572d5f['CQcpy'](_0x4ab232['type'],_0x572d5f[_0x522cc5(0x9b)]))return{'success':!![],'message':_0x572d5f[_0x522cc5(0xab)]};const _0x1bb9cf=_0x4ab232[_0x522cc5(0x8d)]===!![],_0x1e99de=(_0x4ab232[_0x522cc5(0x86)]||DEFAULT_METHOD)['toUpperCase'](),_0x2dbfe9=_0x4ab232[_0x522cc5(0xa5)]||DEFAULT_TIMEOUT,_0x21687b=resolveTemplateString(_0x4ab232[_0x522cc5(0xa3)],_0x110a4d),_0x14e39a=_0x572d5f['rHcSy'](resolveUrl,_0x21687b,_0x110a4d),_0x22d6c5=_0x4ab232[_0x522cc5(0x93)]?_0x572d5f['xvrPl'](resolveTemplateVariables,_0x4ab232[_0x522cc5(0x93)],_0x110a4d):{},_0x543d93=_0x4ab232[_0x522cc5(0x80)]?resolveTemplateVariables(_0x4ab232['headers'],_0x110a4d):{},_0x8e533=_0x543d93&&(_0x572d5f[_0x522cc5(0x97)](_0x543d93[_0x522cc5(0x94)],undefined)||_0x543d93[_0x522cc5(0x8e)]!==undefined),_0x447e40=_0x572d5f[_0x522cc5(0x9d)](!_0x8e533,_0x110a4d)&&_0x110a4d['authHeader']?{'Authorization':_0x110a4d['authHeader']}:{};try{const _0x49537d=await _0x572d5f[_0x522cc5(0x78)](axios,{'method':_0x1e99de[_0x522cc5(0x89)](),'url':_0x14e39a,'data':_0x22d6c5,'headers':{'Content-Type':_0x522cc5(0x8a),'User-Agent':_0x572d5f['Oihsp'],..._0x447e40,..._0x543d93},'timeout':_0x2dbfe9});return console['log']('Workflow\x20hook\x20executed:\x20'+_0x1e99de+'\x20'+_0x14e39a+_0x522cc5(0x75)+_0x49537d[_0x522cc5(0xa4)]),{'success':!![],'message':_0x522cc5(0x9a),'status':_0x49537d[_0x522cc5(0xa4)],'url':_0x14e39a};}catch(_0x3eca04){const _0x511d76=_0x3eca04['response']?'HTTP\x20'+_0x3eca04[_0x522cc5(0x7f)]['status']+':\x20'+_0x3eca04[_0x522cc5(0x7f)][_0x522cc5(0x84)]:_0x3eca04['message'];console['error'](_0x522cc5(0x96)+_0x1e99de+'\x20'+_0x14e39a+'\x20→\x20'+_0x511d76);if(_0x1bb9cf)return{'success':![],'message':'Blocking\x20hook\x20failed:\x20'+_0x511d76,'error':_0x511d76,'url':_0x14e39a};return console['warn']('Non-blocking\x20hook\x20failed\x20(ignored):\x20'+_0x511d76),{'success':!![],'message':'Non-blocking\x20hook\x20failed\x20(ignored):\x20'+_0x511d76,'warning':_0x511d76,'url':_0x14e39a};}}async function executeHooks(_0x1af051,_0x4db32e){const _0xb67be8=a0_0x35b97e,_0xb92203={'vBqnI':function(_0x768d17,_0x26cb6b){return _0x768d17===_0x26cb6b;},'EBeXS':function(_0x541804,_0x4de03a,_0x553c70){return _0x541804(_0x4de03a,_0x553c70);}};if(!_0x1af051||!Array[_0xb67be8(0x8f)](_0x1af051)||_0xb92203['vBqnI'](_0x1af051['length'],0x0))return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x464cbb=[];for(const _0x2db039 of _0x1af051){const _0x3bc7c1=await _0xb92203[_0xb67be8(0x9e)](executeHook,_0x2db039,_0x4db32e);_0x464cbb['push'](_0x3bc7c1);if(!_0x3bc7c1[_0xb67be8(0x7e)])return{'success':![],'error':_0x3bc7c1[_0xb67be8(0x9f)]||_0xb67be8(0x81),'results':_0x464cbb,'hooksExecuted':_0x464cbb['length']};}return{'success':!![],'results':_0x464cbb,'hooksExecuted':_0x464cbb[_0xb67be8(0x7a)]};}module[a0_0x35b97e(0x76)]={'resolveTemplateString':resolveTemplateString,'resolveTemplateVariables':resolveTemplateVariables,'resolveUrl':resolveUrl,'buildHookContext':buildHookContext,'executeHook':executeHook,'executeHooks':executeHooks};