@restforgejs/platform 4.3.2 → 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 (178) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/dashboard/create.js +0 -1
  5. package/generators/cli/endpoint/create.js +1 -1
  6. package/generators/lib/generators/model-generator.js +1 -1
  7. package/generators/lib/payload/endpoint-schema-validator.js +181 -171
  8. package/generators/lib/payload/payload-runner.js +1218 -1218
  9. package/generators/lib/payload/schema-diff.js +460 -277
  10. package/generators/lib/templates/dashboard-catalog.js +1 -1
  11. package/generators/lib/templates/db-connection-env.js +1 -1
  12. package/generators/lib/templates/dbschema-catalog.js +1 -1
  13. package/generators/lib/templates/field-validation-catalog.js +1 -1
  14. package/generators/lib/templates/mysql-template.js +1 -1
  15. package/generators/lib/templates/oracle-template.js +1 -1
  16. package/generators/lib/templates/postgres-template.js +1 -1
  17. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  18. package/generators/lib/templates/sqlite-template.js +1 -1
  19. package/generators/lib/utils/conflict-checker.js +9 -57
  20. package/generators/lib/utils/database-introspector.js +84 -0
  21. package/generators/lib/utils/file-utils.js +0 -159
  22. package/generators/lib/utils/payload-processor.js +21 -112
  23. package/integrity-manifest.json +18 -18
  24. package/node_modules/readdir-glob/node_modules/brace-expansion/index.js +1 -1
  25. package/node_modules/readdir-glob/node_modules/brace-expansion/package.json +1 -1
  26. package/package.json +1 -1
  27. package/scripts/verify-integrity.js +1 -1
  28. package/server.js +1 -1
  29. package/src/components/handlers/adjust_handler.js +1 -1
  30. package/src/components/handlers/audit_handler.js +1 -1
  31. package/src/components/handlers/delete_handler.js +1 -1
  32. package/src/components/handlers/export_handler.js +1 -1
  33. package/src/components/handlers/import_handler.js +1 -1
  34. package/src/components/handlers/insert_handler.js +1 -1
  35. package/src/components/handlers/update_handler.js +1 -1
  36. package/src/components/handlers/upload_handler.js +1 -1
  37. package/src/components/handlers/workflow_handler.js +1 -1
  38. package/src/components/integrations/webhook.js +1 -1
  39. package/src/consumers/baseConsumer.js +1 -1
  40. package/src/consumers/declarativeMapper.js +1 -1
  41. package/src/consumers/handlers/apiHandler.js +1 -1
  42. package/src/consumers/handlers/consoleHandler.js +1 -1
  43. package/src/consumers/handlers/databaseHandler.js +1 -1
  44. package/src/consumers/handlers/index.js +1 -1
  45. package/src/consumers/handlers/kafkaHandler.js +1 -1
  46. package/src/consumers/index.js +1 -1
  47. package/src/consumers/messageTransformer.js +1 -1
  48. package/src/consumers/validator.js +1 -1
  49. package/src/core/db/dialect/base-dialect.js +1 -1
  50. package/src/core/db/dialect/index.js +1 -1
  51. package/src/core/db/dialect/mysql-dialect.js +1 -1
  52. package/src/core/db/dialect/oracle-dialect.js +1 -1
  53. package/src/core/db/dialect/postgres-dialect.js +1 -1
  54. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  55. package/src/core/db/flatten-helper.js +1 -1
  56. package/src/core/db/query-builder-error.js +1 -1
  57. package/src/core/db/query-builder.js +1 -1
  58. package/src/core/db/relation-helper.js +1 -1
  59. package/src/core/handlers/delete_handler.js +1 -1
  60. package/src/core/handlers/insert_handler.js +1 -1
  61. package/src/core/handlers/update_handler.js +1 -1
  62. package/src/core/models/base-model.js +1 -1
  63. package/src/core/utils/cache-manager.js +1 -1
  64. package/src/core/utils/component-engine.js +1 -1
  65. package/src/core/utils/context-builder.js +1 -1
  66. package/src/core/utils/datetime-formatter.js +1 -1
  67. package/src/core/utils/datetime-parser.js +1 -1
  68. package/src/core/utils/db.js +1 -1
  69. package/src/core/utils/logger.js +1 -1
  70. package/src/core/utils/payload-loader.js +1 -1
  71. package/src/core/utils/security-checks.js +1 -1
  72. package/src/middleware/body-options.js +1 -1
  73. package/src/middleware/cors.js +1 -1
  74. package/src/middleware/idempotency.js +1 -1
  75. package/src/middleware/rate-limiter.js +1 -1
  76. package/src/middleware/request-logger.js +1 -1
  77. package/src/middleware/security-headers.js +1 -1
  78. package/src/models/base-model-mysql.js +1 -1
  79. package/src/models/base-model-oracle.js +1 -1
  80. package/src/models/base-model-sqlite.js +1 -1
  81. package/src/models/base-model.js +1 -1
  82. package/src/pro/caching/redis-client.js +1 -1
  83. package/src/pro/caching/redis-helper.js +1 -1
  84. package/src/pro/consumers/baseConsumer.js +1 -1
  85. package/src/pro/consumers/declarativeMapper.js +1 -1
  86. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  87. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  88. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  89. package/src/pro/consumers/handlers/index.js +1 -1
  90. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  91. package/src/pro/consumers/index.js +1 -1
  92. package/src/pro/consumers/messageTransformer.js +1 -1
  93. package/src/pro/consumers/validator.js +1 -1
  94. package/src/pro/database/base-model-mysql.js +1 -1
  95. package/src/pro/database/base-model-oracle.js +1 -1
  96. package/src/pro/database/base-model-sqlite.js +1 -1
  97. package/src/pro/database/db-mysql.js +1 -1
  98. package/src/pro/database/db-oracle.js +1 -1
  99. package/src/pro/database/db-sqlite.js +1 -1
  100. package/src/pro/excel/excel-generator.js +1 -1
  101. package/src/pro/excel/excel-parser.js +1 -1
  102. package/src/pro/excel/export-service.js +1 -1
  103. package/src/pro/excel/export_handler.js +1 -1
  104. package/src/pro/excel/import-service.js +1 -1
  105. package/src/pro/excel/import-validator.js +1 -1
  106. package/src/pro/excel/import_handler.js +1 -1
  107. package/src/pro/excel/upsert-builder.js +1 -1
  108. package/src/pro/idgen/idgen-routes.js +1 -1
  109. package/src/pro/integrations/lookup-resolver.js +1 -1
  110. package/src/pro/integrations/upload-handler-v2.js +1 -1
  111. package/src/pro/integrations/upload-handler.js +1 -1
  112. package/src/pro/integrations/webhook.js +1 -1
  113. package/src/pro/locking/lock-routes.js +1 -1
  114. package/src/pro/locking/resource-lock-manager.js +1 -1
  115. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  116. package/src/pro/messaging/kafkaService.js +1 -1
  117. package/src/pro/messaging/messagehubService.js +1 -1
  118. package/src/pro/messaging/rabbitmqService.js +1 -1
  119. package/src/pro/scheduler/job-manager.js +1 -1
  120. package/src/pro/scheduler/job-routes.js +1 -1
  121. package/src/pro/scheduler/job-validator.js +1 -1
  122. package/src/pro/storage/base-storage-provider.js +1 -1
  123. package/src/pro/storage/file-metadata-helper.js +1 -1
  124. package/src/pro/storage/index.js +1 -1
  125. package/src/pro/storage/local-storage-provider.js +1 -1
  126. package/src/pro/storage/s3-storage-provider.js +1 -1
  127. package/src/pro/storage/upload-cleanup-job.js +1 -1
  128. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  129. package/src/pro/storage/upload-pending-tracker.js +1 -1
  130. package/src/pro/websocket/broadcast-helper.js +1 -1
  131. package/src/pro/websocket/index.js +1 -1
  132. package/src/pro/websocket/livesync-server.js +1 -1
  133. package/src/pro/websocket/ws-broadcaster.js +1 -1
  134. package/src/services/export-service.js +1 -1
  135. package/src/services/import-service.js +1 -1
  136. package/src/services/kafkaConsumerService.js +1 -1
  137. package/src/services/kafkaService.js +1 -1
  138. package/src/services/messagehubService.js +1 -1
  139. package/src/services/rabbitmqService.js +1 -1
  140. package/src/utils/cache-invalidation-registry.js +1 -1
  141. package/src/utils/cache-manager.js +1 -1
  142. package/src/utils/component-engine.js +1 -1
  143. package/src/utils/config-extractor.js +1 -1
  144. package/src/utils/consumerLogger.js +1 -1
  145. package/src/utils/context-builder.js +1 -1
  146. package/src/utils/dashboard-helpers.js +1 -1
  147. package/src/utils/dateHelper.js +1 -1
  148. package/src/utils/datetime-formatter.js +1 -1
  149. package/src/utils/datetime-parser.js +1 -1
  150. package/src/utils/db-bootstrap.js +1 -1
  151. package/src/utils/db-mysql.js +1 -1
  152. package/src/utils/db-oracle.js +1 -1
  153. package/src/utils/db-sqlite.js +1 -1
  154. package/src/utils/db.js +1 -1
  155. package/src/utils/demo-generator.js +1 -1
  156. package/src/utils/excel-generator.js +1 -1
  157. package/src/utils/excel-parser.js +1 -1
  158. package/src/utils/file-watcher.js +1 -1
  159. package/src/utils/id-generator.js +1 -1
  160. package/src/utils/idempotency-manager.js +1 -1
  161. package/src/utils/import-validator.js +1 -1
  162. package/src/utils/license-client.js +1 -1
  163. package/src/utils/lock-manager.js +1 -1
  164. package/src/utils/logger.js +1 -1
  165. package/src/utils/lookup-resolver.js +1 -1
  166. package/src/utils/payload-loader.js +1 -1
  167. package/src/utils/processor-response.js +1 -1
  168. package/src/utils/rabbitmq.js +1 -1
  169. package/src/utils/redis-client.js +1 -1
  170. package/src/utils/redis-helper.js +1 -1
  171. package/src/utils/request-scope.js +1 -1
  172. package/src/utils/security-checks.js +1 -1
  173. package/src/utils/service-resolver.js +1 -1
  174. package/src/utils/shutdown-coordinator.js +1 -1
  175. package/src/utils/trusted-keys.js +1 -1
  176. package/src/utils/upload-handler.js +1 -1
  177. package/src/utils/upsert-builder.js +1 -1
  178. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- function a0_0x4c2c(_0x15cc1d,_0x2f4a90){_0x15cc1d=_0x15cc1d-0x1ed;const _0x48e586=a0_0x48e5();let _0x4c2c3f=_0x48e586[_0x15cc1d];if(a0_0x4c2c['SQYthQ']===undefined){var _0x2cca20=function(_0x3a907e){const _0x143419='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4f2d65='',_0x11e3d4='';for(let _0x1db6a9=0x0,_0x46a9f3,_0x2abc1d,_0x2a2192=0x0;_0x2abc1d=_0x3a907e['charAt'](_0x2a2192++);~_0x2abc1d&&(_0x46a9f3=_0x1db6a9%0x4?_0x46a9f3*0x40+_0x2abc1d:_0x2abc1d,_0x1db6a9++%0x4)?_0x4f2d65+=String['fromCharCode'](0xff&_0x46a9f3>>(-0x2*_0x1db6a9&0x6)):0x0){_0x2abc1d=_0x143419['indexOf'](_0x2abc1d);}for(let _0x4738f8=0x0,_0x36acdd=_0x4f2d65['length'];_0x4738f8<_0x36acdd;_0x4738f8++){_0x11e3d4+='%'+('00'+_0x4f2d65['charCodeAt'](_0x4738f8)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x11e3d4);};a0_0x4c2c['xTrIEI']=_0x2cca20,a0_0x4c2c['vLRuIV']={},a0_0x4c2c['SQYthQ']=!![];}const _0x10fd5f=_0x48e586[0x0],_0x3cebe3=_0x15cc1d+_0x10fd5f,_0x379c76=a0_0x4c2c['vLRuIV'][_0x3cebe3];return!_0x379c76?(_0x4c2c3f=a0_0x4c2c['xTrIEI'](_0x4c2c3f),a0_0x4c2c['vLRuIV'][_0x3cebe3]=_0x4c2c3f):_0x4c2c3f=_0x379c76,_0x4c2c3f;}function a0_0x48e5(){const _0xfe5035=['zgvMyxvSDa','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','lNHSC3G','mtmWnJe4mKzZrxPXBq','ChjVBwLZzxm','zM5mDem','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','swXly2G','DxbSB2fKrgLY','ndy0mZqYne1zCgXezW','vvbmt0fex0rjuG','B3jPz2LUywXUyw1L','vMDuDwO','zxjYB3i','mZm4ndaWogftv3LbBW','Aevjwxu','BwTKAxjtEw5J','mtrUz2fLEwW','mZbeAhnks0K','AM9PBG','DxbSB2fKx2HHBMrSzxjFAw5PDa','z2v0u3rVCMfNzq','x3vWBg9HzerPCG','C2LUz2XL','tK5rvKm','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','Agv4','z2v0vxbSB2fKtwLKzgXLD2fYzq','ndu0mtCYmgvfCur1Aq','zw52','ndu5odK0Dw9vugT1','mNzLD1LJra','lI9SB2DNzxi','lNHSCW','y3j5ChrV','mtm1ntu4mgvhrLvezG','Dg9tDhjPBMC','mZeYmdqYnLPWrvzKsW','Cgf0Aa','Bwf4rMLSzvnPEMu','BwvZC2fNzq','zgvSzxrLrMLSzq'];a0_0x48e5=function(){return _0xfe5035;};return a0_0x48e5();}const a0_0xb6d8e1=a0_0x4c2c;(function(_0x2ce799,_0x33ed9b){const _0x439638=a0_0x4c2c,_0x52f2be=_0x2ce799();while(!![]){try{const _0x2e874b=parseInt(_0x439638(0x211))/0x1*(-parseInt(_0x439638(0x210))/0x2)+-parseInt(_0x439638(0x1f5))/0x3+parseInt(_0x439638(0x215))/0x4+parseInt(_0x439638(0x20e))/0x5+-parseInt(_0x439638(0x1ed))/0x6+-parseInt(_0x439638(0x203))/0x7*(parseInt(_0x439638(0x200))/0x8)+-parseInt(_0x439638(0x1fb))/0x9*(-parseInt(_0x439638(0x204))/0xa);if(_0x2e874b===_0x33ed9b)break;else _0x52f2be['push'](_0x52f2be['shift']());}catch(_0x22a91f){_0x52f2be['push'](_0x52f2be['shift']());}}}(a0_0x48e5,0x824b6));const multer=require('multer'),path=require(a0_0xb6d8e1(0x1ee)),crypto=require(a0_0xb6d8e1(0x214)),fs=require('fs')[a0_0xb6d8e1(0x1f6)],fsSync=require('fs'),{logger}=require(a0_0xb6d8e1(0x212));class UploadHandler{constructor(){const _0x15eea6=a0_0xb6d8e1,_0x166e21={'hEIYu':function(_0x428871,_0xd40da5){return _0x428871*_0xd40da5;}};this['_uploadDir']=null,this[_0x15eea6(0x1ef)]=_0x166e21[_0x15eea6(0x201)](_0x166e21[_0x15eea6(0x201)](0xa,0x400),0x400);}get['uploadDir'](){const _0xebcf3d=a0_0xb6d8e1,_0x3bc8bf={'uIIlo':_0xebcf3d(0x1f2),'LGZRV':_0xebcf3d(0x206),'TvQpd':'upload_handler_init_error'};if(!this[_0xebcf3d(0x208)]){const _0x2e16ab=process['env']['RESTFORGE_PROJECT_NAME']||_0x3bc8bf['uIIlo'];this['_uploadDir']=process[_0xebcf3d(0x20f)][_0xebcf3d(0x1fc)]||path[_0xebcf3d(0x205)](__dirname,'../../temp/uploads/'+_0x2e16ab);try{!fsSync['existsSync'](this['_uploadDir'])&&fsSync[_0xebcf3d(0x202)](this['_uploadDir'],{'recursive':!![]}),logger['info']({'event':_0x3bc8bf['LGZRV'],'dir':this[_0xebcf3d(0x208)]},_0xebcf3d(0x1f3));}catch(_0x5a7504){logger[_0xebcf3d(0x1ff)]({'event':_0x3bc8bf['TvQpd'],'error':_0x5a7504['message']},'Failed\x20to\x20initialize\x20upload\x20handler');}}return this['_uploadDir'];}[a0_0xb6d8e1(0x207)](){const _0x5ae8de=a0_0xb6d8e1,_0x2c405d={'IlKch':_0x5ae8de(0x20c),'OSjEh':function(_0x3a0e50,_0x2b271d,_0x1f4f2e){return _0x3a0e50(_0x2b271d,_0x1f4f2e);}};return multer['diskStorage']({'destination':(_0x341ef4,_0x33a255,_0x1d4f9d)=>{const _0x57d002=_0x5ae8de;!fsSync['existsSync'](this[_0x57d002(0x1fa)])&&fsSync[_0x57d002(0x202)](this['uploadDir'],{'recursive':!![]}),_0x1d4f9d(null,this[_0x57d002(0x1fa)]);},'filename':(_0x5a1cbf,_0x25cd4c,_0x5e3dca)=>{const _0x31a48b=_0x5ae8de,_0x51296=crypto['randomBytes'](0x8)[_0x31a48b(0x216)](_0x2c405d[_0x31a48b(0x1f9)]),_0x2cafa4=Date['now'](),_0x227cb2=path['extname'](_0x25cd4c['originalname']);_0x2c405d['OSjEh'](_0x5e3dca,null,'upload-'+_0x2cafa4+'-'+_0x51296+_0x227cb2);}});}[a0_0xb6d8e1(0x20d)](){const _0x5a6954=a0_0xb6d8e1,_0x45c441={'VgTuj':_0x5a6954(0x1f8),'fnLtC':_0x5a6954(0x213)};return multer({'storage':this['getStorage'](),'limits':{'fileSize':this[_0x5a6954(0x1ef)],'files':0x1},'fileFilter':(_0x1a5a45,_0x4732f2,_0x32bfce)=>{const _0x1d01d8=_0x5a6954,_0x3301b8=[_0x45c441[_0x1d01d8(0x1fe)],'application/vnd.ms-excel'],_0x4deaff=[_0x1d01d8(0x1f4),_0x45c441[_0x1d01d8(0x1f7)]],_0x1c8962=path['extname'](_0x4732f2[_0x1d01d8(0x1fd)])['toLowerCase']();_0x3301b8['includes'](_0x4732f2['mimetype'])&&_0x4deaff['includes'](_0x1c8962)?_0x32bfce(null,!![]):_0x32bfce(new Error('Invalid\x20file\x20type.\x20Only\x20.xlsx\x20files\x20are\x20allowed'));}})[_0x5a6954(0x209)]('file');}async[a0_0xb6d8e1(0x1f1)](_0x263676){const _0xd5ac1e=a0_0xb6d8e1,_0x31bf12={'NNQVC':'upload_file_delete_error'};try{await fs['unlink'](_0x263676),logger['info']({'event':'upload_file_deleted','filePath':_0x263676},'Uploaded\x20file\x20deleted');}catch(_0x1510cd){logger['error']({'event':_0x31bf12[_0xd5ac1e(0x20a)],'filePath':_0x263676,'error':_0x1510cd[_0xd5ac1e(0x1f0)]},_0xd5ac1e(0x20b));}}}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_0x25f1b6=a0_0x2720;(function(_0x10d051,_0xf2fa84){const _0x26d50=a0_0x2720,_0x4c5fa6=_0x10d051();while(!![]){try{const _0x14f1b9=parseInt(_0x26d50(0x110))/0x1*(parseInt(_0x26d50(0xb8))/0x2)+-parseInt(_0x26d50(0xb6))/0x3+-parseInt(_0x26d50(0xfb))/0x4*(parseInt(_0x26d50(0xda))/0x5)+parseInt(_0x26d50(0xe9))/0x6+parseInt(_0x26d50(0xfd))/0x7+parseInt(_0x26d50(0x111))/0x8*(parseInt(_0x26d50(0x10b))/0x9)+parseInt(_0x26d50(0x109))/0xa*(-parseInt(_0x26d50(0xf8))/0xb);if(_0x14f1b9===_0xf2fa84)break;else _0x4c5fa6['push'](_0x4c5fa6['shift']());}catch(_0x34f715){_0x4c5fa6['push'](_0x4c5fa6['shift']());}}}(a0_0x1a6e,0x35a4a));const {logger}=require(a0_0x25f1b6(0x112)),DB_TYPES={'POSTGRESQL':'postgresql','MYSQL':'mysql','SQLSERVER':a0_0x25f1b6(0xc9),'ORACLE':a0_0x25f1b6(0xde),'SQLITE':a0_0x25f1b6(0xd5)};class UpsertBuilder{['getDatabaseType'](){const _0x3705ab=a0_0x25f1b6,_0x662991={'qclQe':'postgresql'},_0x4bf33c=(process[_0x3705ab(0xd2)]['DB_TYPE']||'postgresql')['toLowerCase'](),_0x4cb208=Object[_0x3705ab(0xcb)](DB_TYPES);if(!_0x4cb208[_0x3705ab(0xcc)](_0x4bf33c))return logger['warn']({'event':_0x3705ab(0xbd),'provided':_0x4bf33c,'fallback':_0x662991['qclQe']},'Invalid\x20DB_TYPE:\x20'+_0x4bf33c+'.\x20Falling\x20back\x20to\x20postgresql.'),DB_TYPES['POSTGRESQL'];return _0x4bf33c;}['formatDateValue'](_0xf651c7,_0x221b75,_0x276cad=![]){const _0x36be92=a0_0x25f1b6,_0x422af2={'AlDET':'NULL::DATE'};if(_0x276cad)switch(_0x221b75){case DB_TYPES[_0x36be92(0xdc)]:return _0x422af2[_0x36be92(0xd7)];case DB_TYPES['MYSQL']:return'NULL';case DB_TYPES['SQLITE']:return'NULL';case DB_TYPES['SQLSERVER']:return'NULL';case DB_TYPES['ORACLE']:return _0x36be92(0xc1);default:return _0x36be92(0xf5);}switch(_0x221b75){case DB_TYPES['POSTGRESQL']:return _0xf651c7+_0x36be92(0xc6);case DB_TYPES['MYSQL']:return _0xf651c7;case DB_TYPES['SQLITE']:return _0xf651c7;case DB_TYPES[_0x36be92(0xc3)]:return _0x36be92(0x101)+_0xf651c7+'\x20AS\x20DATE)';case DB_TYPES['ORACLE']:return'TO_DATE('+_0xf651c7+_0x36be92(0xea);default:return _0xf651c7+_0x36be92(0xc6);}}[a0_0x25f1b6(0x10a)](_0x164cdd,_0x5894c2,_0x2fa114=![]){const _0x42889f=a0_0x25f1b6;if(_0x2fa114)switch(_0x5894c2){case DB_TYPES['POSTGRESQL']:return _0x42889f(0xe8);default:return _0x42889f(0xc1);}switch(_0x5894c2){case DB_TYPES[_0x42889f(0xdc)]:return _0x164cdd+'::BOOLEAN';case DB_TYPES[_0x42889f(0xf3)]:return _0x164cdd;case DB_TYPES['MYSQL']:return _0x164cdd;case DB_TYPES[_0x42889f(0xbe)]:return _0x164cdd;case DB_TYPES['SQLSERVER']:return _0x42889f(0x101)+_0x164cdd+'\x20AS\x20BIT)';default:return _0x164cdd+_0x42889f(0xbf);}}[a0_0x25f1b6(0xfa)](_0x4108de={}){const _0x1cae4e=a0_0x25f1b6,_0x3d537d={'tBFlE':function(_0x198956,_0x23c9de){return _0x198956===_0x23c9de;},'jkJHc':_0x1cae4e(0xec),'qBNUP':_0x1cae4e(0x103),'jpCwn':function(_0x1eeb88,_0x477f94){return _0x1eeb88===_0x477f94;},'ZoXYc':function(_0x317716,_0x5dcaf3){return _0x317716(_0x5dcaf3);}},_0x1ec4f6=this['getDatabaseType']();return(_0x2d005a,_0x13e6fc)=>{const _0x12343c=_0x1cae4e,_0x3bc664=_0x4108de[_0x13e6fc];if(_0x3d537d[_0x12343c(0xdb)](_0x2d005a,null)||_0x2d005a===undefined){if(_0x3bc664&&_0x3bc664['type']==='date')return this['formatDateValue'](null,_0x1ec4f6,!![]);if(_0x3bc664&&_0x3bc664[_0x12343c(0xca)]===_0x3d537d[_0x12343c(0xed)])return this[_0x12343c(0x10a)](null,_0x1ec4f6,!![]);return _0x12343c(0xc1);}if(typeof _0x2d005a===_0x12343c(0xf6)){const _0x593118='\x27'+_0x2d005a[_0x12343c(0xf7)](/'/g,'\x27\x27')+'\x27';if(_0x3bc664&&_0x3bc664['type']===_0x3d537d[_0x12343c(0xff)])return this[_0x12343c(0xbb)](_0x593118,_0x1ec4f6,![]);if(_0x3bc664&&_0x3bc664[_0x12343c(0xca)]===_0x3d537d[_0x12343c(0xed)])return this['formatBooleanValue'](_0x593118,_0x1ec4f6,![]);return _0x593118;}if(_0x3d537d['jpCwn'](typeof _0x2d005a,'number'))return _0x2d005a;if(typeof _0x2d005a===_0x12343c(0xec))return _0x2d005a;const _0x2b845a='\x27'+_0x3d537d[_0x12343c(0xdd)](String,_0x2d005a)['replace'](/'/g,'\x27\x27')+'\x27';if(_0x3bc664&&_0x3d537d['tBFlE'](_0x3bc664[_0x12343c(0xca)],_0x3d537d[_0x12343c(0xff)]))return this['formatDateValue'](_0x2b845a,_0x1ec4f6,![]);return _0x2b845a;};}['buildBatchInsert'](_0x4ee6fc,_0x3827b7,_0x4a0bb5,_0x542677={}){const _0x1ad1b2=a0_0x25f1b6,_0x42bcfb={'pcZjo':function(_0x2de674,_0x411751){return _0x2de674===_0x411751;}},_0x35cd70=this['getDatabaseType']();if(_0x42bcfb[_0x1ad1b2(0xe0)](_0x35cd70,DB_TYPES[_0x1ad1b2(0xf3)]))return this[_0x1ad1b2(0xd4)](_0x4ee6fc,_0x3827b7,_0x4a0bb5,_0x542677);return this[_0x1ad1b2(0xc7)](_0x4ee6fc,_0x3827b7,_0x4a0bb5,_0x542677);}['_buildBatchInsertPostgres'](_0x8193cc,_0x41c018,_0x22192e,_0x51ca4e={}){const _0x299505=a0_0x25f1b6,_0x3f0757={'XmlrG':function(_0x36e97e,_0x48f954){return _0x36e97e===_0x48f954;},'uIzoV':'batch_insert_built'};if(_0x3f0757[_0x299505(0xb5)](_0x8193cc['length'],0x0))return{'query':null,'values':[]};const _0x14cdd6=this[_0x299505(0xfa)](_0x51ca4e),_0x1127aa=_0x8193cc[_0x299505(0xee)](_0x5110d4=>{const _0x32d13f=_0x299505,_0x55bae=_0x22192e[_0x32d13f(0xee)](_0x368c15=>_0x14cdd6(_0x5110d4[_0x368c15],_0x368c15));return'('+_0x55bae[_0x32d13f(0xc8)](',\x20')+')';}),_0xbb5c34='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x41c018+'\x20('+_0x22192e[_0x299505(0xc8)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x1127aa[_0x299505(0xc8)](_0x299505(0x113))+_0x299505(0x10e);return logger[_0x299505(0xcf)]({'event':_0x3f0757['uIzoV'],'tableName':_0x41c018,'rowCount':_0x8193cc[_0x299505(0xc2)],'dbType':_0x299505(0xe4)},'Batch\x20INSERT\x20query\x20built\x20(PostgreSQL)'),{'query':_0xbb5c34,'values':[]};}[a0_0x25f1b6(0xd4)](_0x3e347b,_0x3e5669,_0x22f2ab,_0x1976a9={}){const _0x32b3f6=a0_0x25f1b6,_0x4247f0={'SYnBv':function(_0x8a0cbf,_0x3e8af5){return _0x8a0cbf===_0x3e8af5;},'doerB':'Batch\x20INSERT\x20query\x20built\x20(Oracle)'};if(_0x4247f0[_0x32b3f6(0xe1)](_0x3e347b['length'],0x0))return{'query':null,'values':[]};const _0x4b1098=this[_0x32b3f6(0xfa)](_0x1976a9),_0x36f1f7=_0x3e347b['map'](_0x34e50c=>{const _0xdb153b=_0x32b3f6,_0x19e32c=_0x22f2ab[_0xdb153b(0xee)](_0x4367ba=>_0x4b1098(_0x34e50c[_0x4367ba],_0x4367ba));return'\x20\x20INTO\x20'+_0x3e5669+'\x20('+_0x22f2ab[_0xdb153b(0xc8)](',\x20')+_0xdb153b(0xef)+_0x19e32c[_0xdb153b(0xc8)](',\x20')+')';}),_0x172208=_0x32b3f6(0xb9)+_0x36f1f7[_0x32b3f6(0xc8)]('\x0a')+'\x0aSELECT\x201\x20FROM\x20DUAL';return logger[_0x32b3f6(0xcf)]({'event':'batch_insert_built','tableName':_0x3e5669,'rowCount':_0x3e347b[_0x32b3f6(0xc2)],'dbType':_0x32b3f6(0xde)},_0x4247f0[_0x32b3f6(0xf9)]),{'query':_0x172208,'values':[]};}['buildBatchUpdate'](_0x422d49,_0x53ad38,_0x346469,_0x2d903d,_0x3faa2b,_0x136899={}){const _0x93bdb7=a0_0x25f1b6,_0x32cc0a={'NGtFU':function(_0x2e6d38,_0x5c2546){return _0x2e6d38===_0x5c2546;}},_0x3df503=this[_0x93bdb7(0xe3)]();if(_0x32cc0a[_0x93bdb7(0xf4)](_0x3df503,DB_TYPES['ORACLE']))return this[_0x93bdb7(0xf2)](_0x422d49,_0x53ad38,_0x346469,_0x2d903d,_0x3faa2b,_0x136899);if(_0x32cc0a[_0x93bdb7(0xf4)](_0x3df503,DB_TYPES['MYSQL']))return this[_0x93bdb7(0xf0)](_0x422d49,_0x53ad38,_0x346469,_0x2d903d,_0x3faa2b,_0x136899);return this[_0x93bdb7(0x107)](_0x422d49,_0x53ad38,_0x346469,_0x2d903d,_0x3faa2b,_0x136899);}[a0_0x25f1b6(0x107)](_0x211f4d,_0x310999,_0xb35e18,_0x2457d9,_0x5b7235,_0x2d1c3c={}){const _0x57deba=a0_0x25f1b6,_0x68f814={'NQvzI':function(_0xb471d,_0xbf5b79){return _0xb471d===_0xbf5b79;},'oSzIo':_0x57deba(0xd3),'pHXTD':'\x20AND\x20','spBLx':_0x57deba(0xeb)};if(_0x211f4d[_0x57deba(0xc2)]===0x0)return{'query':null,'values':[]};const _0x5e85fd=this['buildEscapeFunction'](_0x2d1c3c),_0x41e22a=_0xb35e18['filter'](_0x15f4f6=>!_0x5b7235['includes'](_0x15f4f6)&&_0x15f4f6!==_0x2457d9);if(_0x68f814[_0x57deba(0xd6)](_0x41e22a['length'],0x0))return logger[_0x57deba(0xc5)]({'event':'batch_update_no_columns','tableName':_0x310999},_0x68f814['oSzIo']),{'query':null,'values':[]};const _0x21a894=_0x211f4d[_0x57deba(0xee)](_0x30dd58=>{const _0x4ad332=_0x57deba,_0x15bc50=[..._0x5b7235,..._0x41e22a],_0x3d6f43=_0x15bc50[_0x4ad332(0xee)](_0x1a3a1b=>_0x5e85fd(_0x30dd58[_0x1a3a1b],_0x1a3a1b));return'('+_0x3d6f43['join'](',\x20')+')';}),_0x22457a=_0x41e22a['map'](_0x1b700f=>_0x1b700f+'\x20=\x20v.'+_0x1b700f)[_0x57deba(0xc8)](_0x57deba(0xe7)),_0x5be3ee=_0x5b7235['map'](_0x5924ad=>'t.'+_0x5924ad+_0x57deba(0xba)+_0x5924ad)[_0x57deba(0xc8)](_0x68f814[_0x57deba(0x10c)]),_0x3a2b70='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x310999+_0x57deba(0xdf)+_0x22457a+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20(VALUES\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x21a894['join'](_0x68f814['spBLx'])+_0x57deba(0xce)+[..._0x5b7235,..._0x41e22a]['join'](',\x20')+_0x57deba(0x104)+_0x5be3ee+_0x57deba(0x10e);return logger[_0x57deba(0xcf)]({'event':_0x57deba(0xd9),'tableName':_0x310999,'rowCount':_0x211f4d[_0x57deba(0xc2)],'updateColumns':_0x41e22a[_0x57deba(0xc2)],'dbType':'postgresql'},_0x57deba(0x100)),{'query':_0x3a2b70,'values':[]};}[a0_0x25f1b6(0xf2)](_0x182918,_0x581fc3,_0x397f63,_0x4923dd,_0x26031c,_0x4553e0={}){const _0x618b11=a0_0x25f1b6,_0x3ac5ab={'YCSlB':function(_0x440b47,_0x1236a4){return _0x440b47===_0x1236a4;},'EtRfW':function(_0x51a2c1,_0x494753){return _0x51a2c1===_0x494753;},'JFNAt':'batch_update_no_columns','qnAAQ':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','MyiFE':'\x0a\x20\x20\x20\x20UNION\x20ALL\x0a','UzXfq':'oracle'};if(_0x182918['length']===0x0)return{'query':null,'values':[]};const _0x319f9a=this['buildEscapeFunction'](_0x4553e0),_0x35eead=_0x397f63[_0x618b11(0x105)](_0x3e3c5d=>!_0x26031c['includes'](_0x3e3c5d)&&_0x3e3c5d!==_0x4923dd);if(_0x3ac5ab[_0x618b11(0xc4)](_0x35eead[_0x618b11(0xc2)],0x0))return logger[_0x618b11(0xc5)]({'event':_0x3ac5ab[_0x618b11(0xc0)],'tableName':_0x581fc3},_0x3ac5ab[_0x618b11(0xd0)]),{'query':null,'values':[]};const _0x3778a9=[..._0x26031c,..._0x35eead],_0x5a0d1a=_0x182918['map']((_0x58477b,_0x2e71a5)=>{const _0x283abb=_0x618b11,_0xb22487={'BbzEq':function(_0x18e210,_0x5892a6){const _0x2c3a59=a0_0x2720;return _0x3ac5ab[_0x2c3a59(0xfc)](_0x18e210,_0x5892a6);}},_0x33b574=_0x3778a9['map'](_0x21878a=>{const _0x1d4118=_0x319f9a(_0x58477b[_0x21878a],_0x21878a);return _0xb22487['BbzEq'](_0x2e71a5,0x0)?_0x1d4118+'\x20AS\x20'+_0x21878a:_0x1d4118;});return'\x20\x20\x20\x20SELECT\x20'+_0x33b574['join'](',\x20')+_0x283abb(0xe6);}),_0x3d0cfb=_0x35eead[_0x618b11(0xee)](_0x379064=>'t.'+_0x379064+_0x618b11(0xba)+_0x379064)['join'](_0x618b11(0xe7)),_0xe4ea30=_0x26031c['map'](_0xe5fef8=>'t.'+_0xe5fef8+'\x20=\x20v.'+_0xe5fef8)['join'](_0x618b11(0xe2)),_0x2b289d=_0x618b11(0xe5)+_0x581fc3+'\x20t\x0a\x20\x20\x20\x20\x20\x20USING\x20(\x0a'+_0x5a0d1a['join'](_0x3ac5ab[_0x618b11(0x10f)])+_0x618b11(0x106)+_0xe4ea30+_0x618b11(0xbc)+_0x3d0cfb+_0x618b11(0x10e);return logger[_0x618b11(0xcf)]({'event':_0x618b11(0xd9),'tableName':_0x581fc3,'rowCount':_0x182918[_0x618b11(0xc2)],'updateColumns':_0x35eead[_0x618b11(0xc2)],'dbType':_0x3ac5ab[_0x618b11(0x102)]},_0x618b11(0xcd)),{'query':_0x2b289d,'values':[]};}[a0_0x25f1b6(0xf0)](_0x458094,_0xc03672,_0x43c60f,_0xed13de,_0x45fdd6,_0x279b8f={}){const _0x4e25cb=a0_0x25f1b6,_0x3cecc8={'htSkD':function(_0x5cfd71,_0x150e97){return _0x5cfd71===_0x150e97;},'sunKy':_0x4e25cb(0xfe)};if(_0x3cecc8['htSkD'](_0x458094[_0x4e25cb(0xc2)],0x0))return{'query':null,'values':[]};const _0x6db82=this['buildEscapeFunction'](_0x279b8f),_0x228d90=_0x43c60f['filter'](_0x1a8584=>!_0x45fdd6['includes'](_0x1a8584)&&_0x1a8584!==_0xed13de);if(_0x228d90['length']===0x0)return logger[_0x4e25cb(0xc5)]({'event':'batch_update_no_columns','tableName':_0xc03672},_0x4e25cb(0xd3)),{'query':null,'values':[]};const _0x49da91=[...new Set([..._0x45fdd6,..._0x228d90])],_0x52298e=_0x458094['map'](_0xd9e4ae=>{const _0x212f6f=_0x4e25cb,_0x2f1b9d=_0x49da91[_0x212f6f(0xee)](_0x2f1878=>_0x6db82(_0xd9e4ae[_0x2f1878],_0x2f1878));return'('+_0x2f1b9d['join'](',\x20')+')';}),_0x58edd4=_0x228d90['map'](_0xeb3cf4=>_0xeb3cf4+_0x4e25cb(0xf1)+_0xeb3cf4+')')[_0x4e25cb(0xc8)](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20'),_0xbdad36=_0x4e25cb(0x10d)+_0xc03672+'\x20('+_0x49da91[_0x4e25cb(0xc8)](',\x20')+_0x4e25cb(0xd1)+_0x52298e['join'](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20')+_0x4e25cb(0x108)+_0x58edd4+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x4e25cb(0xd9),'tableName':_0xc03672,'rowCount':_0x458094[_0x4e25cb(0xc2)],'updateColumns':_0x228d90[_0x4e25cb(0xc2)],'dbType':_0x3cecc8['sunKy']},'Batch\x20UPDATE\x20query\x20built\x20(MySQL\x20ON\x20DUPLICATE\x20KEY)'),{'query':_0xbdad36,'values':[]};}['chunkRows'](_0x4f3e1b,_0x35aa6a=0x64){const _0x153bc5=a0_0x25f1b6,_0x5a1463={'BKLjz':function(_0x36c83e,_0x4c95a7){return _0x36c83e<_0x4c95a7;},'QiqIh':function(_0x49df2c,_0x4ea38c){return _0x49df2c+_0x4ea38c;}},_0x3eee73=[];for(let _0xb1f272=0x0;_0x5a1463['BKLjz'](_0xb1f272,_0x4f3e1b[_0x153bc5(0xc2)]);_0xb1f272+=_0x35aa6a){_0x3eee73[_0x153bc5(0xb7)](_0x4f3e1b['slice'](_0xb1f272,_0x5a1463['QiqIh'](_0xb1f272,_0x35aa6a)));}return _0x3eee73;}}function a0_0x1a6e(){const _0x2edc61=['zM9YBwf0rgf0zvzHBhvL','kqOGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vuia','Aw52ywXPzf9KyL90ExbL','u1fmsvrf','oJPct09mrufo','sKzoqxq','tLvmta','BgvUz3rO','u1fmu0vsvKvs','rxrszLC','D2fYBG','oJPeqvrf','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','AM9PBG','C3fSC2vYDMvY','DhLWzq','DMfSDwvZ','Aw5JBhvKzxm','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHpCMfJBguGtuvsr0uP','cIaGicaGicKGqvmGDIG','zgvIDwC','Cw5bqve','kqOGicaGicbwquXvrvmG','zw52','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','C3fSAxrL','tLf2EKK','qwXervq','zxHWB3j0CW','yMf0y2HFDxbKyxrLx2j1AwX0','mJKYmtv2qxHlrfa','DejgBeu','ue9tveDsrvnrta','wM9ywwm','B3jHy2XL','ieftihqkicaGicaGu0vuia','CgnAAM8','u1LUqNy','ieforca','z2v0rgf0ywjHC2vuExbL','Cg9ZDgDYzxnXBa','cIaGicaGie1fuKDfieLove8G','iezst00Grfvbta','laOGicaGicaGica','tLvmtdO6qK9ptevbtG','mtqZnZi5nejSquDOwa','lcaNwvLzws1nts1ercCP','laOGicaGicaGia','yM9VBgvHBG','AMTksgm','BwfW','ksbwquXvrvmGka','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','id0GvKfmvuvtka','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','t1jbq0Xf','tKD0rLu','tLvmtdO6refurq','C3rYAw5N','CMvWBgfJzq','ndu3nZm1m1PUwhHLvq','zg9LCKi','yNvPBgrfC2nHCgvgDw5JDgLVBG','mtuYCfzHA1bm','wuntBei','mJa4nJi1ovPhz2jeCa','BxLZCwW','Cujovva','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','q0ftvcG','vxPyzNe','zgf0zq','kqOGicaGicbxsevsrsa','zMLSDgvY','cIaGicaGicKGDGOGicaGicbptIaO','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','cIaGicaGie9oiervueXjq0fursblrvKGvvbeqvrfia','mtbru1rHtfC','zM9YBwf0qM9VBgvHBLzHBhvL','mtyZntnwquHlAw8','CeHyveq','cIaGicaGieLou0vsvcbjtLrpia','cIaGica','txLPrKu','n215Evb1sa','mtqWmgHUu1jcta','lI9SB2DNzxi','laOGicaGicaG','wg1SCKC','mZCXota3sKLSDM9H','ChvZAa','mZyWodj1rNfsBLG','su5trvjuiefmtaO','id0GDI4'];a0_0x1a6e=function(){return _0x2edc61;};return a0_0x1a6e();}function a0_0x2720(_0x3041ac,_0x26527a){_0x3041ac=_0x3041ac-0xb5;const _0x1a6e2d=a0_0x1a6e();let _0x27204e=_0x1a6e2d[_0x3041ac];if(a0_0x2720['aQdAup']===undefined){var _0x53760f=function(_0x54893b){const _0x5d61eb='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x517243='',_0x813df4='';for(let _0x69aea4=0x0,_0x5edb7d,_0x44aac4,_0x58273d=0x0;_0x44aac4=_0x54893b['charAt'](_0x58273d++);~_0x44aac4&&(_0x5edb7d=_0x69aea4%0x4?_0x5edb7d*0x40+_0x44aac4:_0x44aac4,_0x69aea4++%0x4)?_0x517243+=String['fromCharCode'](0xff&_0x5edb7d>>(-0x2*_0x69aea4&0x6)):0x0){_0x44aac4=_0x5d61eb['indexOf'](_0x44aac4);}for(let _0x4c277d=0x0,_0x5a7fee=_0x517243['length'];_0x4c277d<_0x5a7fee;_0x4c277d++){_0x813df4+='%'+('00'+_0x517243['charCodeAt'](_0x4c277d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x813df4);};a0_0x2720['ONAKQS']=_0x53760f,a0_0x2720['enJlhb']={},a0_0x2720['aQdAup']=!![];}const _0x3c3257=_0x1a6e2d[0x0],_0x8cf21a=_0x3041ac+_0x3c3257,_0x3281a7=a0_0x2720['enJlhb'][_0x8cf21a];return!_0x3281a7?(_0x27204e=a0_0x2720['ONAKQS'](_0x27204e),a0_0x2720['enJlhb'][_0x8cf21a]=_0x27204e):_0x27204e=_0x3281a7,_0x27204e;}module[a0_0x25f1b6(0xd8)]=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
- (function(_0x39d04d,_0x2367a8){const _0x4d3def=a0_0xad50,_0x3a99bf=_0x39d04d();while(!![]){try{const _0x3e1bea=parseInt(_0x4d3def(0x143))/0x1+parseInt(_0x4d3def(0x132))/0x2+parseInt(_0x4d3def(0x142))/0x3*(-parseInt(_0x4d3def(0x151))/0x4)+parseInt(_0x4d3def(0x135))/0x5*(-parseInt(_0x4d3def(0x14f))/0x6)+parseInt(_0x4d3def(0x15a))/0x7*(parseInt(_0x4d3def(0x13e))/0x8)+parseInt(_0x4d3def(0x131))/0x9+-parseInt(_0x4d3def(0x13a))/0xa;if(_0x3e1bea===_0x2367a8)break;else _0x3a99bf['push'](_0x3a99bf['shift']());}catch(_0x371dee){_0x3a99bf['push'](_0x3a99bf['shift']());}}}(a0_0x17f0,0x1afd8));const axios=require('axios'),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD='POST',DEFAULT_HOST='localhost',DEFAULT_PORT=0xbb8;function resolveTemplateString(_0x4f65af,_0x4fa621){const _0x441281=a0_0xad50,_0x24c524={'BCupH':function(_0x410259,_0x3e1427){return _0x410259!==_0x3e1427;},'gtTKB':_0x441281(0x169),'jDyjb':_0x441281(0x14c)};if(typeof _0x4f65af!==_0x24c524[_0x441281(0x134)])return _0x4f65af;return _0x4f65af[_0x441281(0x133)](/\{\{([^}]+)\}\}/g,(_0x3e1b2a,_0x961297)=>{const _0x3f38cf=_0x441281,_0x515dab=_0x961297['trim'](),_0x4998b4=getNestedValue(_0x4fa621,_0x515dab);if(_0x24c524['BCupH'](_0x4998b4,undefined)&&_0x24c524['BCupH'](_0x4998b4,null))return typeof _0x4998b4===_0x24c524[_0x3f38cf(0x146)]?JSON[_0x3f38cf(0x14e)](_0x4998b4):String(_0x4998b4);return _0x3e1b2a;});}function a0_0xad50(_0x3b184c,_0x29c12c){_0x3b184c=_0x3b184c-0x131;const _0x17f0c6=a0_0x17f0();let _0xad5097=_0x17f0c6[_0x3b184c];if(a0_0xad50['cosAva']===undefined){var _0x4a3fb6=function(_0x5d2850){const _0x53294c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2d7158='',_0x2d8f46='';for(let _0x2efe3d=0x0,_0x288317,_0x429ada,_0x4f7e1a=0x0;_0x429ada=_0x5d2850['charAt'](_0x4f7e1a++);~_0x429ada&&(_0x288317=_0x2efe3d%0x4?_0x288317*0x40+_0x429ada:_0x429ada,_0x2efe3d++%0x4)?_0x2d7158+=String['fromCharCode'](0xff&_0x288317>>(-0x2*_0x2efe3d&0x6)):0x0){_0x429ada=_0x53294c['indexOf'](_0x429ada);}for(let _0x267c33=0x0,_0x416839=_0x2d7158['length'];_0x267c33<_0x416839;_0x267c33++){_0x2d8f46+='%'+('00'+_0x2d7158['charCodeAt'](_0x267c33)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2d8f46);};a0_0xad50['jEgppK']=_0x4a3fb6,a0_0xad50['HORQGO']={},a0_0xad50['cosAva']=!![];}const _0x204052=_0x17f0c6[0x0],_0x18cedf=_0x3b184c+_0x204052,_0x3282c6=a0_0xad50['HORQGO'][_0x18cedf];return!_0x3282c6?(_0xad5097=a0_0xad50['jEgppK'](_0xad5097),a0_0xad50['HORQGO'][_0x18cedf]=_0xad5097):_0xad5097=_0x3282c6,_0xad5097;}function resolveTemplateVariables(_0x58c695,_0x4aae4c){const _0x1c4197=a0_0xad50,_0x1b680b={'joMpI':function(_0xe35aba,_0x5a9754){return _0xe35aba===_0x5a9754;},'lbGWg':'string'};if(_0x1b680b['joMpI'](typeof _0x58c695,_0x1b680b['lbGWg']))return resolveTemplateString(_0x58c695,_0x4aae4c);if(Array['isArray'](_0x58c695))return _0x58c695[_0x1c4197(0x13f)](_0xd814d0=>resolveTemplateVariables(_0xd814d0,_0x4aae4c));if(_0x58c695!==null&&typeof _0x58c695===_0x1c4197(0x169)){const _0xabb459={};for(const [_0x101c06,_0x954c61]of Object['entries'](_0x58c695)){_0xabb459[_0x101c06]=resolveTemplateVariables(_0x954c61,_0x4aae4c);}return _0xabb459;}return _0x58c695;}function a0_0x17f0(){const _0x4f3f66=['mtbRww92BM8','sg9VAYbLEgvJDxrLzcbZDwnJzxnZzNvSBhK','BwvZC2fNzq','Dg9mB3DLCKnHC2u','yxbP','mJa1nJuYmeTuzKfeBW','C296zgS','ChvZAa','sfruuca','odq1ndy0ugLYDNLl','BwfW','q0zhB2S','yxv0AeHLywrLCG','nMrLuMTxuq','otuXmtvxELfpu3O','C3rHCNrZv2L0Aa','tM9UlwjSB2nRAw5NigHVB2SGzMfPBgvKicHPz25VCMvKktOG','z3rus0i','DxnLCKLK','DxjS','Ahr0Chm6lY8','CMvKDwnL','uMvZDezVCMDLlvDVCMTMBg93lZeUma','C3rYAw5N','iokgKIa','C3rYAw5NAwz5','mZe1mdKWDhjqwhHU','CMvTyxjRCW','mte4nduYwenqyvrl','BgvUz3rO','yM9KEq','yMXVy2TPBMC','AgvHzgvYCW','sg9VAYbZA2LWCgvKoIb1BNn1ChbVCNrLzcb0ExbL','Bwv0Ag9K','Egj3sgW','seLuzNq','n2XMsNLhBa','DhLWzq','DMnLu24','qxv0Ag9YAxPHDgLVBG','sg9VAYbLEgvJDxrPB24GzMfPBgvK','CMvXDwvZDerHDge','u0vsvKvsx0ferfjfu1m','AxnbCNjHEq','B2XKu3rHDhvZ','C3vJy2vZCW','v29YA2zSB3CGAg9VAYbMywLSzwq6ia','yNvWBNK','l2fWAs8','BMv3u3rHDhvZ','C3rHDhvZ','B2jQzwn0','q2voyMW','zw52','mte2mJuZmffqtMDhCW','mZaWotG0zM56Bhf5','CMvWBgfJzq','AKr5AMi'];a0_0x17f0=function(){return _0x4f3f66;};return a0_0x17f0();}function getNestedValue(_0x14f8e0,_0x27807b){const _0x14c416=a0_0xad50;return _0x27807b['split']('.')[_0x14c416(0x14a)]((_0x117498,_0x26dad4)=>{return _0x117498&&_0x117498[_0x26dad4]!==undefined?_0x117498[_0x26dad4]:undefined;},_0x14f8e0);}function resolveUrl(_0x47a5b3,_0xb3ecf0){const _0xa3e186=a0_0xad50,_0x543446={'HITft':'http://','zSvmX':_0xa3e186(0x149),'vceSn':_0xa3e186(0x166)};if(!_0x47a5b3||typeof _0x47a5b3!==_0xa3e186(0x14c))return _0x47a5b3;if(_0x47a5b3['startsWith'](_0x543446[_0xa3e186(0x159)])||_0x47a5b3[_0xa3e186(0x144)](_0x543446['zSvmX']))return _0x47a5b3;const _0x4119fa=process['env'][_0xa3e186(0x160)]||process['env']['HOST']||DEFAULT_HOST,_0x3bff06=process[_0xa3e186(0x16b)]['PORT']||DEFAULT_PORT,_0x25f73d='http://'+_0x4119fa+':'+_0x3bff06;if(_0x47a5b3[_0xa3e186(0x144)](_0x543446[_0xa3e186(0x15c)]))return''+_0x25f73d+_0x47a5b3;if(_0x47a5b3['startsWith']('/')){const _0x44f2c1=_0xb3ecf0&&_0xb3ecf0['project']||'';if(_0x44f2c1)return _0x25f73d+_0xa3e186(0x166)+_0x44f2c1+_0x47a5b3;return''+_0x25f73d+_0x47a5b3;}return _0x47a5b3;}function buildHookContext(_0x355c05){const _0x2460be=a0_0xad50;return{'id':_0x355c05['id']||'','newStatus':_0x355c05[_0x2460be(0x167)]||'','oldStatus':_0x355c05[_0x2460be(0x162)]||'','remarks':_0x355c05[_0x2460be(0x150)]||'','tableName':_0x355c05['tableName']||'','user_id':_0x355c05[_0x2460be(0x147)]||'system','timestamp':new Date()['toISOString'](),'record':_0x355c05['record']||{},'requestData':_0x355c05[_0x2460be(0x15f)]||{},'project':_0x355c05['project']||'','authHeader':_0x355c05['authHeader']||null};}async function executeHook(_0x380f16,_0x46b073){const _0x4f2e18=a0_0xad50,_0x1cc874={'sozdk':function(_0x292ea3,_0x50d72a){return _0x292ea3!==_0x50d72a;},'CeNbl':_0x4f2e18(0x139),'uWTkK':_0x4f2e18(0x156),'bupny':function(_0x268185,_0x574eb7){return _0x268185===_0x574eb7;},'xbwHl':function(_0x12405b,_0x1030e5,_0x47c536){return _0x12405b(_0x1030e5,_0x47c536);},'CFGok':function(_0x58fb00,_0x7eb3a8){return _0x58fb00&&_0x7eb3a8;}};if(!_0x380f16||_0x1cc874[_0x4f2e18(0x13b)](_0x380f16[_0x4f2e18(0x15b)],_0x1cc874[_0x4f2e18(0x16a)]))return{'success':!![],'message':_0x1cc874['uWTkK']};const _0x38fef7=_0x1cc874[_0x4f2e18(0x165)](_0x380f16[_0x4f2e18(0x154)],!![]),_0x5df2c6=(_0x380f16[_0x4f2e18(0x157)]||DEFAULT_METHOD)['toUpperCase'](),_0x5724dd=_0x380f16['timeout']||DEFAULT_TIMEOUT,_0x53b800=_0x1cc874['xbwHl'](resolveTemplateString,_0x380f16[_0x4f2e18(0x148)],_0x46b073),_0xa13cba=resolveUrl(_0x53b800,_0x46b073),_0x264e0c=_0x380f16['body']?_0x1cc874[_0x4f2e18(0x158)](resolveTemplateVariables,_0x380f16[_0x4f2e18(0x153)],_0x46b073):{},_0x6c21d2=_0x380f16[_0x4f2e18(0x155)]?resolveTemplateVariables(_0x380f16[_0x4f2e18(0x155)],_0x46b073):{},_0x3c6096=_0x6c21d2&&(_0x6c21d2[_0x4f2e18(0x15d)]!==undefined||_0x1cc874[_0x4f2e18(0x13b)](_0x6c21d2['authorization'],undefined)),_0x53de45=_0x1cc874[_0x4f2e18(0x140)](!_0x3c6096,_0x46b073)&&_0x46b073[_0x4f2e18(0x141)]?{'Authorization':_0x46b073['authHeader']}:{};try{const _0x9402f7=await axios({'method':_0x5df2c6[_0x4f2e18(0x138)](),'url':_0xa13cba,'data':_0x264e0c,'headers':{'Content-Type':'application/json','User-Agent':_0x4f2e18(0x14b),..._0x53de45,..._0x6c21d2},'timeout':_0x5724dd});return console['log']('Workflow\x20hook\x20executed:\x20'+_0x5df2c6+'\x20'+_0xa13cba+_0x4f2e18(0x14d)+_0x9402f7['status']),{'success':!![],'message':_0x4f2e18(0x136),'status':_0x9402f7[_0x4f2e18(0x168)],'url':_0xa13cba};}catch(_0x7465){const _0xc91e32=_0x7465['response']?_0x4f2e18(0x13d)+_0x7465['response']['status']+':\x20'+_0x7465['response']['statusText']:_0x7465[_0x4f2e18(0x137)];console['error'](_0x4f2e18(0x164)+_0x5df2c6+'\x20'+_0xa13cba+_0x4f2e18(0x14d)+_0xc91e32);if(_0x38fef7)return{'success':![],'message':'Blocking\x20hook\x20failed:\x20'+_0xc91e32,'error':_0xc91e32,'url':_0xa13cba};return console['warn'](_0x4f2e18(0x145)+_0xc91e32),{'success':!![],'message':'Non-blocking\x20hook\x20failed\x20(ignored):\x20'+_0xc91e32,'warning':_0xc91e32,'url':_0xa13cba};}}async function executeHooks(_0x5c3709,_0x851edd){const _0x15de07=a0_0xad50;if(!_0x5c3709||!Array[_0x15de07(0x161)](_0x5c3709)||_0x5c3709[_0x15de07(0x152)]===0x0)return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x2e2fda=[];for(const _0x19d24a of _0x5c3709){const _0x449c85=await executeHook(_0x19d24a,_0x851edd);_0x2e2fda[_0x15de07(0x13c)](_0x449c85);if(!_0x449c85[_0x15de07(0x163)])return{'success':![],'error':_0x449c85['message']||_0x15de07(0x15e),'results':_0x2e2fda,'hooksExecuted':_0x2e2fda[_0x15de07(0x152)]};}return{'success':!![],'results':_0x2e2fda,'hooksExecuted':_0x2e2fda['length']};}module['exports']={'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};