@restforgejs/platform 5.0.8 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (172) 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/fast-track.js +963 -0
  5. package/generators/cli/payload/sync.js +18 -2
  6. package/generators/lib/dbschema-kit/connection.js +17 -2
  7. package/generators/lib/migrate/field-type-resolver.js +18 -5
  8. package/generators/lib/payload/payload-runner.js +724 -39
  9. package/generators/lib/templates/dashboard-catalog.js +1 -1
  10. package/generators/lib/templates/db-connection-env.js +1 -1
  11. package/generators/lib/templates/dbschema-catalog.js +1 -1
  12. package/generators/lib/templates/field-validation-catalog.js +1 -1
  13. package/generators/lib/templates/mysql-template.js +1 -1
  14. package/generators/lib/templates/oracle-template.js +1 -1
  15. package/generators/lib/templates/postgres-template.js +1 -1
  16. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  17. package/generators/lib/templates/sqlite-template.js +1 -1
  18. package/generators/lib/utils/database-introspector.js +4 -1
  19. package/integrity-manifest.json +18 -18
  20. package/package.json +1 -1
  21. package/scripts/verify-integrity.js +1 -1
  22. package/server.js +1 -1
  23. package/src/components/handlers/adjust_handler.js +1 -1
  24. package/src/components/handlers/audit_handler.js +1 -1
  25. package/src/components/handlers/delete_handler.js +1 -1
  26. package/src/components/handlers/export_handler.js +1 -1
  27. package/src/components/handlers/import_handler.js +1 -1
  28. package/src/components/handlers/insert_handler.js +1 -1
  29. package/src/components/handlers/update_handler.js +1 -1
  30. package/src/components/handlers/upload_handler.js +1 -1
  31. package/src/components/handlers/workflow_handler.js +1 -1
  32. package/src/components/integrations/webhook.js +1 -1
  33. package/src/consumers/baseConsumer.js +1 -1
  34. package/src/consumers/declarativeMapper.js +1 -1
  35. package/src/consumers/handlers/apiHandler.js +1 -1
  36. package/src/consumers/handlers/consoleHandler.js +1 -1
  37. package/src/consumers/handlers/databaseHandler.js +1 -1
  38. package/src/consumers/handlers/index.js +1 -1
  39. package/src/consumers/handlers/kafkaHandler.js +1 -1
  40. package/src/consumers/index.js +1 -1
  41. package/src/consumers/messageTransformer.js +1 -1
  42. package/src/consumers/validator.js +1 -1
  43. package/src/core/db/dialect/base-dialect.js +1 -1
  44. package/src/core/db/dialect/index.js +1 -1
  45. package/src/core/db/dialect/mysql-dialect.js +1 -1
  46. package/src/core/db/dialect/oracle-dialect.js +1 -1
  47. package/src/core/db/dialect/postgres-dialect.js +1 -1
  48. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  49. package/src/core/db/flatten-helper.js +1 -1
  50. package/src/core/db/query-builder-error.js +1 -1
  51. package/src/core/db/query-builder.js +1 -1
  52. package/src/core/db/relation-helper.js +1 -1
  53. package/src/core/handlers/delete_handler.js +1 -1
  54. package/src/core/handlers/insert_handler.js +1 -1
  55. package/src/core/handlers/update_handler.js +1 -1
  56. package/src/core/models/base-model.js +1 -1
  57. package/src/core/utils/cache-manager.js +1 -1
  58. package/src/core/utils/component-engine.js +1 -1
  59. package/src/core/utils/context-builder.js +1 -1
  60. package/src/core/utils/datetime-formatter.js +1 -1
  61. package/src/core/utils/datetime-parser.js +1 -1
  62. package/src/core/utils/db.js +1 -1
  63. package/src/core/utils/logger.js +1 -1
  64. package/src/core/utils/payload-loader.js +1 -1
  65. package/src/core/utils/security-checks.js +1 -1
  66. package/src/middleware/body-options.js +1 -1
  67. package/src/middleware/cors.js +1 -1
  68. package/src/middleware/idempotency.js +1 -1
  69. package/src/middleware/rate-limiter.js +1 -1
  70. package/src/middleware/request-logger.js +1 -1
  71. package/src/middleware/security-headers.js +1 -1
  72. package/src/models/base-model-mysql.js +1 -1
  73. package/src/models/base-model-oracle.js +1 -1
  74. package/src/models/base-model-sqlite.js +1 -1
  75. package/src/models/base-model.js +1 -1
  76. package/src/pro/caching/redis-client.js +1 -1
  77. package/src/pro/caching/redis-helper.js +1 -1
  78. package/src/pro/consumers/baseConsumer.js +1 -1
  79. package/src/pro/consumers/declarativeMapper.js +1 -1
  80. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  81. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  82. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  83. package/src/pro/consumers/handlers/index.js +1 -1
  84. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  85. package/src/pro/consumers/index.js +1 -1
  86. package/src/pro/consumers/messageTransformer.js +1 -1
  87. package/src/pro/consumers/validator.js +1 -1
  88. package/src/pro/database/base-model-mysql.js +1 -1
  89. package/src/pro/database/base-model-oracle.js +1 -1
  90. package/src/pro/database/base-model-sqlite.js +1 -1
  91. package/src/pro/database/db-mysql.js +1 -1
  92. package/src/pro/database/db-oracle.js +1 -1
  93. package/src/pro/database/db-sqlite.js +1 -1
  94. package/src/pro/excel/excel-generator.js +1 -1
  95. package/src/pro/excel/excel-parser.js +1 -1
  96. package/src/pro/excel/export-service.js +1 -1
  97. package/src/pro/excel/export_handler.js +1 -1
  98. package/src/pro/excel/import-service.js +1 -1
  99. package/src/pro/excel/import-validator.js +1 -1
  100. package/src/pro/excel/import_handler.js +1 -1
  101. package/src/pro/excel/upsert-builder.js +1 -1
  102. package/src/pro/idgen/idgen-routes.js +1 -1
  103. package/src/pro/integrations/lookup-resolver.js +1 -1
  104. package/src/pro/integrations/upload-handler-v2.js +1 -1
  105. package/src/pro/integrations/upload-handler.js +1 -1
  106. package/src/pro/integrations/webhook.js +1 -1
  107. package/src/pro/locking/lock-routes.js +1 -1
  108. package/src/pro/locking/resource-lock-manager.js +1 -1
  109. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  110. package/src/pro/messaging/kafkaService.js +1 -1
  111. package/src/pro/messaging/messagehubService.js +1 -1
  112. package/src/pro/messaging/rabbitmqService.js +1 -1
  113. package/src/pro/scheduler/job-manager.js +1 -1
  114. package/src/pro/scheduler/job-routes.js +1 -1
  115. package/src/pro/scheduler/job-validator.js +1 -1
  116. package/src/pro/storage/base-storage-provider.js +1 -1
  117. package/src/pro/storage/file-metadata-helper.js +1 -1
  118. package/src/pro/storage/index.js +1 -1
  119. package/src/pro/storage/local-storage-provider.js +1 -1
  120. package/src/pro/storage/s3-storage-provider.js +1 -1
  121. package/src/pro/storage/upload-cleanup-job.js +1 -1
  122. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  123. package/src/pro/storage/upload-pending-tracker.js +1 -1
  124. package/src/pro/websocket/broadcast-helper.js +1 -1
  125. package/src/pro/websocket/index.js +1 -1
  126. package/src/pro/websocket/livesync-server.js +1 -1
  127. package/src/pro/websocket/ws-broadcaster.js +1 -1
  128. package/src/services/export-service.js +1 -1
  129. package/src/services/import-service.js +1 -1
  130. package/src/services/kafkaConsumerService.js +1 -1
  131. package/src/services/kafkaService.js +1 -1
  132. package/src/services/messagehubService.js +1 -1
  133. package/src/services/rabbitmqService.js +1 -1
  134. package/src/utils/cache-invalidation-registry.js +1 -1
  135. package/src/utils/cache-manager.js +1 -1
  136. package/src/utils/component-engine.js +1 -1
  137. package/src/utils/config-extractor.js +1 -1
  138. package/src/utils/consumerLogger.js +1 -1
  139. package/src/utils/context-builder.js +1 -1
  140. package/src/utils/dashboard-helpers.js +1 -1
  141. package/src/utils/dateHelper.js +1 -1
  142. package/src/utils/datetime-formatter.js +1 -1
  143. package/src/utils/datetime-parser.js +1 -1
  144. package/src/utils/db-bootstrap.js +1 -1
  145. package/src/utils/db-mysql.js +1 -1
  146. package/src/utils/db-oracle.js +1 -1
  147. package/src/utils/db-sqlite.js +1 -1
  148. package/src/utils/db.js +1 -1
  149. package/src/utils/demo-generator.js +1 -1
  150. package/src/utils/excel-generator.js +1 -1
  151. package/src/utils/excel-parser.js +1 -1
  152. package/src/utils/file-watcher.js +1 -1
  153. package/src/utils/id-generator.js +1 -1
  154. package/src/utils/idempotency-manager.js +1 -1
  155. package/src/utils/import-validator.js +1 -1
  156. package/src/utils/license-client.js +1 -1
  157. package/src/utils/lock-manager.js +1 -1
  158. package/src/utils/logger.js +1 -1
  159. package/src/utils/lookup-resolver.js +1 -1
  160. package/src/utils/payload-loader.js +1 -1
  161. package/src/utils/processor-response.js +1 -1
  162. package/src/utils/rabbitmq.js +1 -1
  163. package/src/utils/redis-client.js +1 -1
  164. package/src/utils/redis-helper.js +1 -1
  165. package/src/utils/request-scope.js +1 -1
  166. package/src/utils/security-checks.js +1 -1
  167. package/src/utils/service-resolver.js +1 -1
  168. package/src/utils/shutdown-coordinator.js +1 -1
  169. package/src/utils/trusted-keys.js +1 -1
  170. package/src/utils/upload-handler.js +1 -1
  171. package/src/utils/upsert-builder.js +1 -1
  172. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- function a0_0x51f5(){const _0x2f4b25=['zxHPC3rZu3LUyW','B3jPz2LUywXUyw1L','Bwf4rMLSzvnPEMu','C2LUz2XL','zxjYB3i','mMzpBLzmBG','BwTKAxjtEw5J','y3j5ChrV','zxH0BMfTzq','nJaYndGWn1fwyxfPtG','ChjVBwLZzxm','zgLZA1n0B3jHz2u','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','DxbSB2fKrgLY','zMLSzq','zw52','D2T4the','ndC4mdqYr1vdCev3','z1vwq0m','ndiYmdqZmM5jvhb4zW','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','vvbmt0fex0rjuG','nZe3mtqZovvmyLrqEa','DxbSB2fKx2zPBgvFzgvSzxrLx2vYCM9Y','mtq5ntLPufLWzw8','mtq2ntu4n3jetNPeyG','BM93','A3rOuwi','rujUEKq','ndKWngTuBxDLCq','x3vWBg9HzerPCG','BwvZC2fNzq','Aw5MBW','ELDADwu','uxb2EMi','nta5ndK0oe5ht1zmBq','lI9SB2DNzxi','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','DxbSB2fKx2HHBMrSzxjFAw5PDa','Dg9mB3DLCKnHC2u','nwvnBgD3uG','uNvbCva','yxbWBgLJyxrPB24VDM5KlM1Zlwv4y2vS','DxbSB2fKx2zPBgvFzgvSzxrLza','Cgf0Aa','z2v0u3rVCMfNzq','ntbbuKf4vxa','DxbSB2fKlq'];a0_0x51f5=function(){return _0x2f4b25;};return a0_0x51f5();}const a0_0x5a3103=a0_0x150c;function a0_0x150c(_0x3500da,_0x41b65f){_0x3500da=_0x3500da-0x1cb;const _0x51f525=a0_0x51f5();let _0x150c4a=_0x51f525[_0x3500da];if(a0_0x150c['mHknkG']===undefined){var _0x12d095=function(_0x3ccfb0){const _0xcae5cc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f3fb6='',_0xf4b63a='';for(let _0x557c5c=0x0,_0x210bd6,_0x17befa,_0x1f1174=0x0;_0x17befa=_0x3ccfb0['charAt'](_0x1f1174++);~_0x17befa&&(_0x210bd6=_0x557c5c%0x4?_0x210bd6*0x40+_0x17befa:_0x17befa,_0x557c5c++%0x4)?_0x3f3fb6+=String['fromCharCode'](0xff&_0x210bd6>>(-0x2*_0x557c5c&0x6)):0x0){_0x17befa=_0xcae5cc['indexOf'](_0x17befa);}for(let _0x5e68dd=0x0,_0x2fc289=_0x3f3fb6['length'];_0x5e68dd<_0x2fc289;_0x5e68dd++){_0xf4b63a+='%'+('00'+_0x3f3fb6['charCodeAt'](_0x5e68dd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xf4b63a);};a0_0x150c['KSNVDK']=_0x12d095,a0_0x150c['ozBqDT']={},a0_0x150c['mHknkG']=!![];}const _0x24d368=_0x51f525[0x0],_0x4c6d36=_0x3500da+_0x24d368,_0x548b63=a0_0x150c['ozBqDT'][_0x4c6d36];return!_0x548b63?(_0x150c4a=a0_0x150c['KSNVDK'](_0x150c4a),a0_0x150c['ozBqDT'][_0x4c6d36]=_0x150c4a):_0x150c4a=_0x548b63,_0x150c4a;}(function(_0x44cbd5,_0x192792){const _0x5f33df=a0_0x150c,_0x19aab9=_0x44cbd5();while(!![]){try{const _0x2c0578=-parseInt(_0x5f33df(0x1f0))/0x1+parseInt(_0x5f33df(0x1e4))/0x2*(parseInt(_0x5f33df(0x1f8))/0x3)+-parseInt(_0x5f33df(0x1f2))/0x4+parseInt(_0x5f33df(0x1d7))/0x5*(-parseInt(_0x5f33df(0x1d2))/0x6)+-parseInt(_0x5f33df(0x1f7))/0x7*(parseInt(_0x5f33df(0x1cc))/0x8)+parseInt(_0x5f33df(0x1e8))/0x9+parseInt(_0x5f33df(0x1dd))/0xa*(parseInt(_0x5f33df(0x1f5))/0xb);if(_0x2c0578===_0x192792)break;else _0x19aab9['push'](_0x19aab9['shift']());}catch(_0x27cb4f){_0x19aab9['push'](_0x19aab9['shift']());}}}(a0_0x51f5,0xb11a0));const multer=require('multer'),path=require(a0_0x5a3103(0x1db)),crypto=require(a0_0x5a3103(0x1e6)),fs=require('fs')[a0_0x5a3103(0x1e9)],fsSync=require('fs'),{logger}=require(a0_0x5a3103(0x1d3));class UploadHandler{constructor(){const _0x5546e6={'ZQGNR':function(_0xf02435,_0x269c60){return _0xf02435*_0x269c60;}};this['_uploadDir']=null,this['maxFileSize']=_0x5546e6['ZQGNR'](0xa,0x400)*0x400;}get[a0_0x5a3103(0x1ec)](){const _0x3d3cd1=a0_0x5a3103,_0x49a73f={'pQqIX':'default','wkxLq':_0x3d3cd1(0x1d5),'gUVCC':'upload_handler_init_error','RuAqP':'Failed\x20to\x20initialize\x20upload\x20handler'};if(!this['_uploadDir']){const _0x19252c=process[_0x3d3cd1(0x1ee)]['RESTFORGE_PROJECT_NAME']||_0x49a73f['pQqIX'];this[_0x3d3cd1(0x1cd)]=process[_0x3d3cd1(0x1ee)][_0x3d3cd1(0x1f4)]||path['join'](__dirname,'../../temp/uploads/'+_0x19252c);try{!fsSync[_0x3d3cd1(0x1df)](this[_0x3d3cd1(0x1cd)])&&fsSync[_0x3d3cd1(0x1e5)](this['_uploadDir'],{'recursive':!![]}),logger[_0x3d3cd1(0x1cf)]({'event':_0x49a73f[_0x3d3cd1(0x1ef)],'dir':this['_uploadDir']},_0x3d3cd1(0x1eb));}catch(_0x467206){logger[_0x3d3cd1(0x1e3)]({'event':_0x49a73f[_0x3d3cd1(0x1f1)],'error':_0x467206[_0x3d3cd1(0x1ce)]},_0x49a73f[_0x3d3cd1(0x1d8)]);}}return this[_0x3d3cd1(0x1cd)];}[a0_0x5a3103(0x1dc)](){const _0xf91582=a0_0x5a3103,_0x1d286c={'zWZue':function(_0x394d23,_0x4bc048,_0x4c94a7){return _0x394d23(_0x4bc048,_0x4c94a7);}};return multer[_0xf91582(0x1ea)]({'destination':(_0x5f164b,_0x204dc0,_0xbfd49)=>{const _0x42e41e=_0xf91582;!fsSync[_0x42e41e(0x1df)](this['uploadDir'])&&fsSync['mkdirSync'](this[_0x42e41e(0x1ec)],{'recursive':!![]}),_0xbfd49(null,this['uploadDir']);},'filename':(_0x451757,_0x12828a,_0x19135d)=>{const _0x4a7161=_0xf91582,_0x528d0f=crypto['randomBytes'](0x8)['toString']('hex'),_0x45f141=Date[_0x4a7161(0x1f9)](),_0xde71e=path[_0x4a7161(0x1e7)](_0x12828a[_0x4a7161(0x1e0)]);_0x1d286c[_0x4a7161(0x1d0)](_0x19135d,null,_0x4a7161(0x1de)+_0x45f141+'-'+_0x528d0f+_0xde71e);}});}['getUploadMiddleware'](){const _0x25e212=a0_0x5a3103,_0x442e00={'kthQb':'.xls','EBnzD':function(_0x507418,_0xb496db){return _0x507418(_0xb496db);},'mOaRu':_0x25e212(0x1d4),'jNKsL':_0x25e212(0x1ed)};return _0x442e00['EBnzD'](multer,{'storage':this[_0x25e212(0x1dc)](),'limits':{'fileSize':this[_0x25e212(0x1e1)],'files':0x1},'fileFilter':(_0x3631a4,_0x2a6bac,_0x66ddc3)=>{const _0x4eca34=_0x25e212,_0x4d1bf7=[_0x4eca34(0x1f3),_0x4eca34(0x1d9)],_0x4ae905=['.xlsx',_0x442e00[_0x4eca34(0x1fa)]],_0xf8abb7=path['extname'](_0x2a6bac['originalname'])[_0x4eca34(0x1d6)]();_0x4d1bf7['includes'](_0x2a6bac['mimetype'])&&_0x4ae905['includes'](_0xf8abb7)?_0x66ddc3(null,!![]):_0x442e00[_0x4eca34(0x1cb)](_0x66ddc3,new Error(_0x442e00['mOaRu']));}})[_0x25e212(0x1e2)](_0x442e00['jNKsL']);}async['deleteFile'](_0x533aeb){const _0x308b7f=a0_0x5a3103,_0x54ec61={'JNxsZ':_0x308b7f(0x1f6),'Qpvzb':'Failed\x20to\x20delete\x20uploaded\x20file'};try{await fs['unlink'](_0x533aeb),logger['info']({'event':_0x308b7f(0x1da),'filePath':_0x533aeb},'Uploaded\x20file\x20deleted');}catch(_0x5ebf0b){logger[_0x308b7f(0x1e3)]({'event':_0x54ec61['JNxsZ'],'filePath':_0x533aeb,'error':_0x5ebf0b['message']},_0x54ec61[_0x308b7f(0x1d1)]);}}}module['exports']=new UploadHandler();
1
+ function a0_0x12db(_0x6e41fe,_0x12b0a4){_0x6e41fe=_0x6e41fe-0x116;const _0x2d143a=a0_0x2d14();let _0x12db12=_0x2d143a[_0x6e41fe];if(a0_0x12db['pzEXmU']===undefined){var _0x29b4ea=function(_0x2d130f){const _0x2e80fc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x566b2c='',_0x58686f='';for(let _0x5d40ca=0x0,_0x37f872,_0x31ec0e,_0x3d854a=0x0;_0x31ec0e=_0x2d130f['charAt'](_0x3d854a++);~_0x31ec0e&&(_0x37f872=_0x5d40ca%0x4?_0x37f872*0x40+_0x31ec0e:_0x31ec0e,_0x5d40ca++%0x4)?_0x566b2c+=String['fromCharCode'](0xff&_0x37f872>>(-0x2*_0x5d40ca&0x6)):0x0){_0x31ec0e=_0x2e80fc['indexOf'](_0x31ec0e);}for(let _0x37af81=0x0,_0x14b754=_0x566b2c['length'];_0x37af81<_0x14b754;_0x37af81++){_0x58686f+='%'+('00'+_0x566b2c['charCodeAt'](_0x37af81)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x58686f);};a0_0x12db['hPSPTb']=_0x29b4ea,a0_0x12db['QrfSjt']={},a0_0x12db['pzEXmU']=!![];}const _0x4143c2=_0x2d143a[0x0],_0x38d190=_0x6e41fe+_0x4143c2,_0x5933b9=a0_0x12db['QrfSjt'][_0x38d190];return!_0x5933b9?(_0x12db12=a0_0x12db['hPSPTb'](_0x12db12),a0_0x12db['QrfSjt'][_0x38d190]=_0x12db12):_0x12db12=_0x5933b9,_0x12db12;}function a0_0x2d14(){const _0x2ffa16=['DxbSB2fKx2zPBgvFzgvSzxrLx2vYCM9Y','ntG4nJm0oxP2rMzvAW','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','Aw5JBhvKzxm','nti0BxfMCMfg','zxjYB3i','AejJEva','mtmZntCZmM1kr3rwAq','BwTKAxjtEw5J','ChjVBwLZzxm','z2v0u3rVCMfNzq','lI4VlI4VDgvTCc91CgXVywrZlW','C2LUz2XL','nZK0mZy5tvfQDuve','EgnXqLe','otm4mwv2uKvHwG','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','mJKXndGWoeTjvvvjvq','Aw5MBW','zgLZA1n0B3jHz2u','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','DxbSB2fKlq','u3Pmqvm','odu2mJeYBMTxsxni','DxbSB2fKrgLY','zxH0BMfTzq','B3jPz2LUywXUyw1L','zgvMyxvSDa','DxbSB2fKx2zPBgvFzgvSzxrLza','mtvqtvjbCgG','AwvTBeK','zw52','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','ntiWmteWmezrvLrJqq','x3vWBg9HzerPCG','BM93','Agv4','Cgf0Aa','Bwf4rMLSzvnPEMu','Dw5SAw5R','Dg9tDhjPBMC'];a0_0x2d14=function(){return _0x2ffa16;};return a0_0x2d14();}const a0_0xe8c3d5=a0_0x12db;(function(_0x452275,_0x20f50c){const _0x625389=a0_0x12db,_0x5accb0=_0x452275();while(!![]){try{const _0x5ae829=-parseInt(_0x625389(0x128))/0x1+parseInt(_0x625389(0x132))/0x2+parseInt(_0x625389(0x12a))/0x3*(parseInt(_0x625389(0x11f))/0x4)+parseInt(_0x625389(0x138))/0x5*(parseInt(_0x625389(0x122))/0x6)+parseInt(_0x625389(0x11c))/0x7+-parseInt(_0x625389(0x12c))/0x8+-parseInt(_0x625389(0x13c))/0x9;if(_0x5ae829===_0x20f50c)break;else _0x5accb0['push'](_0x5accb0['shift']());}catch(_0x10a7a6){_0x5accb0['push'](_0x5accb0['shift']());}}}(a0_0x2d14,0x94e68));const multer=require('multer'),path=require(a0_0xe8c3d5(0x117)),crypto=require('crypto'),fs=require('fs')[a0_0xe8c3d5(0x124)],fsSync=require('fs'),{logger}=require('./logger');class UploadHandler{constructor(){const _0x121638=a0_0xe8c3d5,_0x574808={'OALJw':function(_0x29b200,_0x36b3ef){return _0x29b200*_0x36b3ef;}};this[_0x121638(0x13d)]=null,this[_0x121638(0x118)]=_0x574808['OALJw'](0xa*0x400,0x400);}get['uploadDir'](){const _0x291c62=a0_0xe8c3d5;if(!this['_uploadDir']){const _0x5be7e6=process[_0x291c62(0x13a)]['RESTFORGE_PROJECT_NAME']||_0x291c62(0x136);this[_0x291c62(0x13d)]=process['env']['UPLOAD_DIR']||path['join'](__dirname,_0x291c62(0x126)+_0x5be7e6);try{!fsSync['existsSync'](this[_0x291c62(0x13d)])&&fsSync['mkdirSync'](this[_0x291c62(0x13d)],{'recursive':!![]}),logger['info']({'event':'upload_handler_init','dir':this['_uploadDir']},'Upload\x20handler\x20initialized');}catch(_0x576099){logger[_0x291c62(0x120)]({'event':_0x291c62(0x13b),'error':_0x576099['message']},'Failed\x20to\x20initialize\x20upload\x20handler');}}return this['_uploadDir'];}['getStorage'](){const _0x168a44=a0_0xe8c3d5,_0x2b527e={'SzLAS':function(_0x47646f,_0x4cc709,_0x491126){return _0x47646f(_0x4cc709,_0x491126);}};return multer[_0x168a44(0x12e)]({'destination':(_0x21b6fc,_0x1420bc,_0xcfdfc3)=>{const _0x19312f=_0x168a44;!fsSync['existsSync'](this[_0x19312f(0x133)])&&fsSync[_0x19312f(0x123)](this[_0x19312f(0x133)],{'recursive':!![]}),_0x2b527e['SzLAS'](_0xcfdfc3,null,this['uploadDir']);},'filename':(_0x4fc4d0,_0x4a0289,_0x2e31d6)=>{const _0x252f3c=_0x168a44,_0x83d519=crypto['randomBytes'](0x8)[_0x252f3c(0x11a)](_0x252f3c(0x116)),_0x56d4c4=Date[_0x252f3c(0x13e)](),_0x233081=path[_0x252f3c(0x134)](_0x4a0289['originalname']);_0x2b527e[_0x252f3c(0x131)](_0x2e31d6,null,_0x252f3c(0x130)+_0x56d4c4+'-'+_0x83d519+_0x233081);}});}['getUploadMiddleware'](){const _0x2e18da=a0_0xe8c3d5,_0x5dec4b={'iemlI':_0x2e18da(0x12b),'lEjrK':'application/vnd.ms-excel','hBcyP':'.xls','IiACU':function(_0x3217d6,_0x8150fb,_0x4660a2){return _0x3217d6(_0x8150fb,_0x4660a2);},'ySgcj':function(_0x509fb9,_0x4ff1e1){return _0x509fb9(_0x4ff1e1);}};return _0x5dec4b['ySgcj'](multer,{'storage':this[_0x2e18da(0x125)](),'limits':{'fileSize':this[_0x2e18da(0x118)],'files':0x1},'fileFilter':(_0x4e8723,_0x4c499d,_0x5e61ab)=>{const _0x3af05c=_0x2e18da,_0x29f734=[_0x5dec4b[_0x3af05c(0x139)],_0x5dec4b['lEjrK']],_0x1ab483=['.xlsx',_0x5dec4b[_0x3af05c(0x121)]],_0x4296a9=path[_0x3af05c(0x134)](_0x4c499d[_0x3af05c(0x135)])['toLowerCase']();_0x29f734[_0x3af05c(0x11e)](_0x4c499d['mimetype'])&&_0x1ab483[_0x3af05c(0x11e)](_0x4296a9)?_0x5dec4b['IiACU'](_0x5e61ab,null,!![]):_0x5e61ab(new Error('Invalid\x20file\x20type.\x20Only\x20.xlsx\x20files\x20are\x20allowed'));}})[_0x2e18da(0x127)]('file');}async['deleteFile'](_0xa744){const _0x48d2b0=a0_0xe8c3d5,_0x4da862={'IcXaC':_0x48d2b0(0x137),'xcqBQ':_0x48d2b0(0x11d)};try{await fs[_0x48d2b0(0x119)](_0xa744),logger[_0x48d2b0(0x12d)]({'event':_0x4da862['IcXaC'],'filePath':_0xa744},_0x4da862[_0x48d2b0(0x129)]);}catch(_0x26946f){logger['error']({'event':_0x48d2b0(0x11b),'filePath':_0xa744,'error':_0x26946f['message']},_0x48d2b0(0x12f));}}}module['exports']=new UploadHandler();
@@ -1 +1 @@
1
- const a0_0xd58b44=a0_0x337c;(function(_0x4f567e,_0x4c2079){const _0x480420=a0_0x337c,_0x26d4a8=_0x4f567e();while(!![]){try{const _0x10b5cc=parseInt(_0x480420(0x1ba))/0x1*(parseInt(_0x480420(0x1d4))/0x2)+parseInt(_0x480420(0x1b6))/0x3+-parseInt(_0x480420(0x1a7))/0x4*(parseInt(_0x480420(0x1ab))/0x5)+-parseInt(_0x480420(0x1b0))/0x6+parseInt(_0x480420(0x1ca))/0x7+-parseInt(_0x480420(0x1bf))/0x8+-parseInt(_0x480420(0x1b5))/0x9;if(_0x10b5cc===_0x4c2079)break;else _0x26d4a8['push'](_0x26d4a8['shift']());}catch(_0x499297){_0x26d4a8['push'](_0x26d4a8['shift']());}}}(a0_0xa214,0xf14ad));const {logger}=require(a0_0xd58b44(0x1af)),DB_TYPES={'POSTGRESQL':a0_0xd58b44(0x1d1),'MYSQL':a0_0xd58b44(0x1a4),'SQLSERVER':a0_0xd58b44(0x1e4),'ORACLE':'oracle','SQLITE':a0_0xd58b44(0x1eb)};class UpsertBuilder{['getDatabaseType'](){const _0x38959d=a0_0xd58b44,_0xcf1e0b={'GEspr':'postgresql'},_0x191fcf=(process[_0x38959d(0x1a9)]['DB_TYPE']||_0x38959d(0x1d1))[_0x38959d(0x1bd)](),_0xf84e71=Object['values'](DB_TYPES);if(!_0xf84e71[_0x38959d(0x1e1)](_0x191fcf))return logger['warn']({'event':'invalid_db_type','provided':_0x191fcf,'fallback':_0xcf1e0b['GEspr']},'Invalid\x20DB_TYPE:\x20'+_0x191fcf+'.\x20Falling\x20back\x20to\x20postgresql.'),DB_TYPES['POSTGRESQL'];return _0x191fcf;}['formatDateValue'](_0x40e131,_0x225aaf,_0xef1c2d=![]){const _0x2fbd3c=a0_0xd58b44,_0x57902f={'sqpZW':_0x2fbd3c(0x1f2)};if(_0xef1c2d)switch(_0x225aaf){case DB_TYPES[_0x2fbd3c(0x1c4)]:return _0x2fbd3c(0x1d3);case DB_TYPES[_0x2fbd3c(0x1f8)]:return _0x57902f['sqpZW'];case DB_TYPES['SQLITE']:return _0x57902f[_0x2fbd3c(0x1dd)];case DB_TYPES['SQLSERVER']:return _0x57902f['sqpZW'];case DB_TYPES[_0x2fbd3c(0x1d0)]:return _0x2fbd3c(0x1f2);default:return _0x2fbd3c(0x1d3);}switch(_0x225aaf){case DB_TYPES[_0x2fbd3c(0x1c4)]:return _0x40e131+'::DATE';case DB_TYPES['MYSQL']:return _0x40e131;case DB_TYPES['SQLITE']:return _0x40e131;case DB_TYPES['SQLSERVER']:return'CAST('+_0x40e131+'\x20AS\x20DATE)';case DB_TYPES[_0x2fbd3c(0x1d0)]:return _0x2fbd3c(0x1c6)+_0x40e131+_0x2fbd3c(0x1f9);default:return _0x40e131+_0x2fbd3c(0x1cc);}}[a0_0xd58b44(0x1fb)](_0x307efa,_0x261632,_0xd17ff7=![]){const _0x1e7669=a0_0xd58b44,_0xddd045={'xzUuo':'NULL::BOOLEAN'};if(_0xd17ff7)switch(_0x261632){case DB_TYPES[_0x1e7669(0x1c4)]:return _0xddd045[_0x1e7669(0x1ae)];default:return _0x1e7669(0x1f2);}switch(_0x261632){case DB_TYPES[_0x1e7669(0x1c4)]:return _0x307efa+_0x1e7669(0x1ea);case DB_TYPES[_0x1e7669(0x1d0)]:return _0x307efa;case DB_TYPES[_0x1e7669(0x1f8)]:return _0x307efa;case DB_TYPES[_0x1e7669(0x1cb)]:return _0x307efa;case DB_TYPES['SQLSERVER']:return _0x1e7669(0x1b7)+_0x307efa+_0x1e7669(0x1d8);default:return _0x307efa+_0x1e7669(0x1ea);}}['buildEscapeFunction'](_0x5a967c={}){const _0xe745bf={'AJwjR':function(_0x22b560,_0x15d2b5){return _0x22b560===_0x15d2b5;},'ctoWQ':function(_0x5f0b69,_0x3faf38){return _0x5f0b69===_0x3faf38;},'Hxasx':function(_0x490108,_0x1256df){return _0x490108===_0x1256df;},'zSXcQ':'boolean','mAlOU':function(_0x461070,_0x529a6e){return _0x461070===_0x529a6e;},'yOlMY':'number','faPFj':function(_0x21b75e,_0x427c16){return _0x21b75e(_0x427c16);}},_0x905961=this['getDatabaseType']();return(_0x59e7fc,_0x217a36)=>{const _0x58018a=a0_0x337c,_0x18eafb=_0x5a967c[_0x217a36];if(_0xe745bf[_0x58018a(0x1fd)](_0x59e7fc,null)||_0x59e7fc===undefined){if(_0x18eafb&&_0xe745bf[_0x58018a(0x1cd)](_0x18eafb[_0x58018a(0x1e9)],_0x58018a(0x1fc)))return this[_0x58018a(0x1f6)](null,_0x905961,!![]);if(_0x18eafb&&_0x18eafb['type']==='boolean')return this['formatBooleanValue'](null,_0x905961,!![]);return'NULL';}if(_0xe745bf[_0x58018a(0x1cd)](typeof _0x59e7fc,_0x58018a(0x1b2))){const _0x5b1481='\x27'+_0x59e7fc[_0x58018a(0x1ed)](/'/g,'\x27\x27')+'\x27';if(_0x18eafb&&_0x18eafb[_0x58018a(0x1e9)]==='date')return this[_0x58018a(0x1f6)](_0x5b1481,_0x905961,![]);if(_0x18eafb&&_0xe745bf[_0x58018a(0x1b4)](_0x18eafb['type'],_0xe745bf['zSXcQ']))return this[_0x58018a(0x1fb)](_0x5b1481,_0x905961,![]);return _0x5b1481;}if(_0xe745bf[_0x58018a(0x1d2)](typeof _0x59e7fc,_0xe745bf['yOlMY']))return _0x59e7fc;if(_0xe745bf['mAlOU'](typeof _0x59e7fc,_0xe745bf['zSXcQ']))return _0x59e7fc;const _0x937ce9='\x27'+_0xe745bf[_0x58018a(0x1d6)](String,_0x59e7fc)[_0x58018a(0x1ed)](/'/g,'\x27\x27')+'\x27';if(_0x18eafb&&_0x18eafb['type']==='date')return this[_0x58018a(0x1f6)](_0x937ce9,_0x905961,![]);return _0x937ce9;};}['buildBatchInsert'](_0x13c838,_0x3b3e70,_0x318896,_0x1d5ced={}){const _0xa110f5=a0_0xd58b44,_0x4b7c94=this[_0xa110f5(0x1fa)]();if(_0x4b7c94===DB_TYPES['ORACLE'])return this['_buildBatchInsertOracle'](_0x13c838,_0x3b3e70,_0x318896,_0x1d5ced);return this['_buildBatchInsertPostgres'](_0x13c838,_0x3b3e70,_0x318896,_0x1d5ced);}['_buildBatchInsertPostgres'](_0x50ee39,_0x3516d6,_0x29acc9,_0x209fe7={}){const _0x2f039e=a0_0xd58b44,_0x84dbac={'UrEID':function(_0x167adf,_0x2bdb3a){return _0x167adf===_0x2bdb3a;}};if(_0x84dbac['UrEID'](_0x50ee39[_0x2f039e(0x1d9)],0x0))return{'query':null,'values':[]};const _0x339e4e=this[_0x2f039e(0x1df)](_0x209fe7),_0x3d5457=_0x50ee39['map'](_0x2fa8f5=>{const _0x435c7a=_0x29acc9['map'](_0x43df31=>_0x339e4e(_0x2fa8f5[_0x43df31],_0x43df31));return'('+_0x435c7a['join'](',\x20')+')';}),_0x38f428=_0x2f039e(0x1b1)+_0x3516d6+'\x20('+_0x29acc9[_0x2f039e(0x1ce)](',\x20')+_0x2f039e(0x1e3)+_0x3d5457[_0x2f039e(0x1ce)](',\x0a\x20\x20\x20\x20\x20\x20\x20')+_0x2f039e(0x1e6);return logger['debug']({'event':_0x2f039e(0x1c3),'tableName':_0x3516d6,'rowCount':_0x50ee39[_0x2f039e(0x1d9)],'dbType':_0x2f039e(0x1d1)},'Batch\x20INSERT\x20query\x20built\x20(PostgreSQL)'),{'query':_0x38f428,'values':[]};}['_buildBatchInsertOracle'](_0x40bdf6,_0x47294a,_0x2e77cb,_0x3c05d2={}){const _0xed116=a0_0xd58b44,_0x319a8c={'hbeiH':function(_0x22a642,_0x2f64ad){return _0x22a642===_0x2f64ad;},'kyxGx':'oracle'};if(_0x319a8c['hbeiH'](_0x40bdf6['length'],0x0))return{'query':null,'values':[]};const _0x94eba6=this[_0xed116(0x1df)](_0x3c05d2),_0x2277c6=_0x40bdf6[_0xed116(0x1f4)](_0x110e17=>{const _0x71d767=_0xed116,_0x527c19=_0x2e77cb['map'](_0x516997=>_0x94eba6(_0x110e17[_0x516997],_0x516997));return _0x71d767(0x1c7)+_0x47294a+'\x20('+_0x2e77cb[_0x71d767(0x1ce)](',\x20')+')\x20VALUES\x20('+_0x527c19[_0x71d767(0x1ce)](',\x20')+')';}),_0x527f8e=_0xed116(0x1f3)+_0x2277c6[_0xed116(0x1ce)]('\x0a')+'\x0aSELECT\x201\x20FROM\x20DUAL';return logger[_0xed116(0x1e2)]({'event':'batch_insert_built','tableName':_0x47294a,'rowCount':_0x40bdf6[_0xed116(0x1d9)],'dbType':_0x319a8c[_0xed116(0x1f5)]},'Batch\x20INSERT\x20query\x20built\x20(Oracle)'),{'query':_0x527f8e,'values':[]};}[a0_0xd58b44(0x1a6)](_0x3452ee,_0x209ef2,_0x32de2b,_0x1c997f,_0x9b83b7,_0x53004b={}){const _0x2a01e6=a0_0xd58b44,_0x5a2717={'dJEfG':function(_0x586b45,_0x47b5db){return _0x586b45===_0x47b5db;}},_0x2864a2=this['getDatabaseType']();if(_0x2864a2===DB_TYPES['ORACLE'])return this[_0x2a01e6(0x1da)](_0x3452ee,_0x209ef2,_0x32de2b,_0x1c997f,_0x9b83b7,_0x53004b);if(_0x5a2717[_0x2a01e6(0x1e0)](_0x2864a2,DB_TYPES[_0x2a01e6(0x1f8)]))return this['_buildBatchUpdateMysql'](_0x3452ee,_0x209ef2,_0x32de2b,_0x1c997f,_0x9b83b7,_0x53004b);return this[_0x2a01e6(0x1de)](_0x3452ee,_0x209ef2,_0x32de2b,_0x1c997f,_0x9b83b7,_0x53004b);}[a0_0xd58b44(0x1de)](_0x3271e8,_0x25b2bc,_0x539a01,_0xbbe15,_0x42bac9,_0x3cb17e={}){const _0x13d03d=a0_0xd58b44,_0x297a37={'ahvRP':function(_0xa25d73,_0x2d3d7b){return _0xa25d73===_0x2d3d7b;},'iIDGW':function(_0x279b8f,_0xbfd3e4){return _0x279b8f===_0xbfd3e4;},'gwpWC':_0x13d03d(0x1ef),'AVEds':'batch_update_built','CFdCJ':_0x13d03d(0x1d1)};if(_0x297a37[_0x13d03d(0x1bc)](_0x3271e8['length'],0x0))return{'query':null,'values':[]};const _0x4c431e=this[_0x13d03d(0x1df)](_0x3cb17e),_0x79faed=_0x539a01[_0x13d03d(0x1e8)](_0x2d3f08=>!_0x42bac9['includes'](_0x2d3f08)&&_0x2d3f08!==_0xbbe15);if(_0x297a37[_0x13d03d(0x1f0)](_0x79faed[_0x13d03d(0x1d9)],0x0))return logger['warn']({'event':_0x297a37[_0x13d03d(0x1ac)],'tableName':_0x25b2bc},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x237276=_0x3271e8['map'](_0x5d7e80=>{const _0x52cb23=_0x13d03d,_0x4e8bec=[..._0x42bac9,..._0x79faed],_0x242c9b=_0x4e8bec['map'](_0x1a9fee=>_0x4c431e(_0x5d7e80[_0x1a9fee],_0x1a9fee));return'('+_0x242c9b[_0x52cb23(0x1ce)](',\x20')+')';}),_0xddc3ef=_0x79faed[_0x13d03d(0x1f4)](_0x331090=>_0x331090+_0x13d03d(0x1dc)+_0x331090)['join'](_0x13d03d(0x1a3)),_0x2bcfa2=_0x42bac9[_0x13d03d(0x1f4)](_0x5e6d69=>'t.'+_0x5e6d69+_0x13d03d(0x1dc)+_0x5e6d69)[_0x13d03d(0x1ce)](_0x13d03d(0x1f1)),_0x46cbf4=_0x13d03d(0x1e7)+_0x25b2bc+'\x20AS\x20t\x0a\x20\x20\x20\x20\x20\x20SET\x20'+_0xddc3ef+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20(VALUES\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x237276['join'](_0x13d03d(0x1bb))+_0x13d03d(0x1d5)+[..._0x42bac9,..._0x79faed][_0x13d03d(0x1ce)](',\x20')+_0x13d03d(0x1c0)+_0x2bcfa2+'\x0a\x20\x20\x20\x20';return logger[_0x13d03d(0x1e2)]({'event':_0x297a37[_0x13d03d(0x1d7)],'tableName':_0x25b2bc,'rowCount':_0x3271e8['length'],'updateColumns':_0x79faed[_0x13d03d(0x1d9)],'dbType':_0x297a37['CFdCJ']},_0x13d03d(0x1aa)),{'query':_0x46cbf4,'values':[]};}[a0_0xd58b44(0x1da)](_0x37dd86,_0x3ef1bf,_0x5b9932,_0x4f2cbf,_0x2b3d8a,_0x3bde44={}){const _0x135d8f=a0_0xd58b44,_0x520457={'wQqfD':function(_0x9d4ff3,_0x93922a,_0x1bade1){return _0x9d4ff3(_0x93922a,_0x1bade1);},'UlLBD':function(_0x1f0e32,_0x211f6b){return _0x1f0e32===_0x211f6b;},'WNKJg':_0x135d8f(0x1a8),'WMrrd':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','FSywS':_0x135d8f(0x1b3),'LywoY':_0x135d8f(0x1be)};if(_0x520457['UlLBD'](_0x37dd86['length'],0x0))return{'query':null,'values':[]};const _0x5e014a=this[_0x135d8f(0x1df)](_0x3bde44),_0x3a25ff=_0x5b9932[_0x135d8f(0x1e8)](_0x569ed7=>!_0x2b3d8a[_0x135d8f(0x1e1)](_0x569ed7)&&_0x569ed7!==_0x4f2cbf);if(_0x520457[_0x135d8f(0x1c2)](_0x3a25ff['length'],0x0))return logger['warn']({'event':_0x135d8f(0x1ef),'tableName':_0x3ef1bf},_0x520457['WNKJg']),{'query':null,'values':[]};const _0x2aefc0=[..._0x2b3d8a,..._0x3a25ff],_0x319867=_0x37dd86[_0x135d8f(0x1f4)]((_0x38ec44,_0x1dd483)=>{const _0x2454be=_0x2aefc0['map'](_0x228318=>{const _0x35c3b5=a0_0x337c,_0x567810=_0x520457[_0x35c3b5(0x1c9)](_0x5e014a,_0x38ec44[_0x228318],_0x228318);return _0x520457[_0x35c3b5(0x1c2)](_0x1dd483,0x0)?_0x567810+'\x20AS\x20'+_0x228318:_0x567810;});return'\x20\x20\x20\x20SELECT\x20'+_0x2454be['join'](',\x20')+'\x20FROM\x20DUAL';}),_0x4fdc39=_0x3a25ff[_0x135d8f(0x1f4)](_0x427283=>'t.'+_0x427283+'\x20=\x20v.'+_0x427283)[_0x135d8f(0x1ce)](_0x520457[_0x135d8f(0x1a5)]),_0x4e2d31=_0x2b3d8a[_0x135d8f(0x1f4)](_0x3196d6=>'t.'+_0x3196d6+'\x20=\x20v.'+_0x3196d6)[_0x135d8f(0x1ce)](_0x135d8f(0x1f1)),_0x388c79='\x0a\x20\x20\x20\x20\x20\x20MERGE\x20INTO\x20'+_0x3ef1bf+_0x135d8f(0x1c1)+_0x319867[_0x135d8f(0x1ce)](_0x520457[_0x135d8f(0x1cf)])+'\x0a\x20\x20\x20\x20\x20\x20)\x20v\x0a\x20\x20\x20\x20\x20\x20ON\x20('+_0x4e2d31+_0x135d8f(0x1fe)+_0x4fdc39+_0x135d8f(0x1e6);return logger['debug']({'event':'batch_update_built','tableName':_0x3ef1bf,'rowCount':_0x37dd86[_0x135d8f(0x1d9)],'updateColumns':_0x3a25ff['length'],'dbType':'oracle'},_0x520457[_0x135d8f(0x1e5)]),{'query':_0x388c79,'values':[]};}['_buildBatchUpdateMysql'](_0x19e3a8,_0x57f48a,_0x4f4cbe,_0x3903ba,_0x2e6816,_0x19aecb={}){const _0x36be4e=a0_0xd58b44,_0x2f6ef1={'djnyz':function(_0x35eec7,_0x4cf7a0){return _0x35eec7===_0x4cf7a0;},'RrskD':_0x36be4e(0x1a8),'QeuGx':_0x36be4e(0x1bb),'mFjTE':'batch_update_built','oluWp':'Batch\x20UPDATE\x20query\x20built\x20(MySQL\x20ON\x20DUPLICATE\x20KEY)'};if(_0x2f6ef1['djnyz'](_0x19e3a8[_0x36be4e(0x1d9)],0x0))return{'query':null,'values':[]};const _0x492076=this['buildEscapeFunction'](_0x19aecb),_0xd31d5c=_0x4f4cbe['filter'](_0x19234b=>!_0x2e6816[_0x36be4e(0x1e1)](_0x19234b)&&_0x19234b!==_0x3903ba);if(_0x2f6ef1[_0x36be4e(0x1ad)](_0xd31d5c['length'],0x0))return logger['warn']({'event':_0x36be4e(0x1ef),'tableName':_0x57f48a},_0x2f6ef1[_0x36be4e(0x1b8)]),{'query':null,'values':[]};const _0x1bfb84=[...new Set([..._0x2e6816,..._0xd31d5c])],_0x2a52e6=_0x19e3a8['map'](_0x4b5a0a=>{const _0x4d2231=_0x36be4e,_0xc140b1=_0x1bfb84[_0x4d2231(0x1f4)](_0x208374=>_0x492076(_0x4b5a0a[_0x208374],_0x208374));return'('+_0xc140b1['join'](',\x20')+')';}),_0x3c2e04=_0xd31d5c['map'](_0x5c5647=>_0x5c5647+_0x36be4e(0x1b9)+_0x5c5647+')')[_0x36be4e(0x1ce)](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20'),_0x59ed88='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x57f48a+'\x20('+_0x1bfb84['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x2a52e6[_0x36be4e(0x1ce)](_0x2f6ef1['QeuGx'])+_0x36be4e(0x1c5)+_0x3c2e04+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x2f6ef1[_0x36be4e(0x1ec)],'tableName':_0x57f48a,'rowCount':_0x19e3a8[_0x36be4e(0x1d9)],'updateColumns':_0xd31d5c['length'],'dbType':_0x36be4e(0x1a4)},_0x2f6ef1['oluWp']),{'query':_0x59ed88,'values':[]};}['chunkRows'](_0x10453e,_0x1113ab=0x64){const _0x4585d7=a0_0xd58b44,_0x4ada57={'tyACq':function(_0x414576,_0x4b2219){return _0x414576<_0x4b2219;},'aHXmr':function(_0x233024,_0x2c896f){return _0x233024+_0x2c896f;}},_0x19fac2=[];for(let _0xf7f94d=0x0;_0x4ada57[_0x4585d7(0x1f7)](_0xf7f94d,_0x10453e['length']);_0xf7f94d+=_0x1113ab){_0x19fac2[_0x4585d7(0x1ee)](_0x10453e[_0x4585d7(0x1c8)](_0xf7f94d,_0x4ada57[_0x4585d7(0x1db)](_0xf7f94d,_0x1113ab)));}return _0x19fac2;}}function a0_0x337c(_0x442016,_0x215e5b){_0x442016=_0x442016-0x1a3;const _0xa21417=a0_0xa214();let _0x337c5e=_0xa21417[_0x442016];if(a0_0x337c['UztRXL']===undefined){var _0x1a5f4f=function(_0x41bab2){const _0x191746='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1c8768='',_0x37d783='';for(let _0x46e16d=0x0,_0x28a878,_0x1bad48,_0x494f5d=0x0;_0x1bad48=_0x41bab2['charAt'](_0x494f5d++);~_0x1bad48&&(_0x28a878=_0x46e16d%0x4?_0x28a878*0x40+_0x1bad48:_0x1bad48,_0x46e16d++%0x4)?_0x1c8768+=String['fromCharCode'](0xff&_0x28a878>>(-0x2*_0x46e16d&0x6)):0x0){_0x1bad48=_0x191746['indexOf'](_0x1bad48);}for(let _0x300f6a=0x0,_0x1b90e6=_0x1c8768['length'];_0x300f6a<_0x1b90e6;_0x300f6a++){_0x37d783+='%'+('00'+_0x1c8768['charCodeAt'](_0x300f6a)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x37d783);};a0_0x337c['OcdzaS']=_0x1a5f4f,a0_0x337c['xQJdsL']={},a0_0x337c['UztRXL']=!![];}const _0x2742a0=_0xa21417[0x0],_0x205873=_0x442016+_0x2742a0,_0x184fb2=a0_0x337c['xQJdsL'][_0x205873];return!_0x184fb2?(_0x337c5e=a0_0x337c['OcdzaS'](_0x337c5e),a0_0x337c['xQJdsL'][_0x205873]=_0x337c5e):_0x337c5e=_0x184fb2,_0x337c5e;}module['exports']=new UpsertBuilder();function a0_0xa214(){const _0x5c02c9=['yNvPBgrcyxrJAfvWzgf0zq','ngngt0DwEG','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','zw52','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','mti0nZG0nvvbs1bwuW','z3DWv0m','zgPUExO','EhPvDw8','lI9SB2DNzxi','nZaXmJeXmfLotKTxrq','cIaGicaGieLou0vsvcbjtLrpia','C3rYAw5N','cIaGicbvtKLptIbbteWk','shHHC3G','nZCZmJyWmMD4DK5SAa','mJaWmdyZn0jxtezuAq','q0ftvcG','uNjZA0q','id0GvKfmvuvtka','mtm1mdq4nxHlBNDWAa','laOGicaGicaGia','ywH2uLa','Dg9mB3DLCKnHC2u','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHpCMfJBguGtuvsr0uP','mZe5mZeWnfvVzwrWCq','kqOGicaGicbxsevsrsa','ihqkicaGicaGvvnjtKCGkaO','vwXmqKq','yMf0y2HFAw5Zzxj0x2j1AwX0','ue9tveDsrvnrta','cIaGicaGie9oiervueXjq0fursblrvKGvvbeqvrfia','ve9FrefursG','icbjtLrpia','C2XPy2u','D1fXzKq','mte1mZi3nZnSzxr4wuS','u1fmsvrf','oJPeqvrf','y3rVv1e','AM9PBG','rLn5D1m','t1jbq0Xf','Cg9ZDgDYzxnXBa','BufSt1u','tLvmtdO6refurq','mLzOvuT1yq','cIaGicaGicKGqvmGDIG','zMfqrMO','qvzfzhm','ieftiejjvcK','BgvUz3rO','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','yuHyBxi','id0GDI4','C3fWwLC','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','yNvPBgrfC2nHCgvgDw5JDgLVBG','zePfzKC','Aw5JBhvKzxm','zgvIDwC','kqOGicaGicbwquXvrvmG','C3fSC2vYDMvY','thL3B1K','cIaGica','cIaGicaGifvqrefursa','zMLSDgvY','DhLWzq','oJPct09mrufo','C3fSAxrL','BuzQveu','CMvWBgfJzq','ChvZAa','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','AuLer1C','ieforca','tLvmta','su5trvjuiefmtaO','BwfW','A3L4r3G','zM9YBwf0rgf0zvzHBhvL','DhLbq3e','tvLtuuW','lcaNwvLzws1nts1ercCP','z2v0rgf0ywjHC2vuExbL','zM9YBwf0qM9VBgvHBLzHBhvL','zgf0zq','quP3ALi','kqOGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vuia','laOGicaGicaGica','BxLZCwW','v01YCMq'];a0_0xa214=function(){return _0x5c02c9;};return a0_0xa214();}
1
+ const a0_0x1ee4f1=a0_0x3e34;function a0_0x3e34(_0xbd15,_0x18f8de){_0xbd15=_0xbd15-0x97;const _0x555a97=a0_0x555a();let _0x3e340d=_0x555a97[_0xbd15];if(a0_0x3e34['sAqAKD']===undefined){var _0x5e2dd0=function(_0x3cf4c3){const _0x5e75e6='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x559f90='',_0x36f596='';for(let _0x457166=0x0,_0x444ad2,_0x2649f9,_0x17bf67=0x0;_0x2649f9=_0x3cf4c3['charAt'](_0x17bf67++);~_0x2649f9&&(_0x444ad2=_0x457166%0x4?_0x444ad2*0x40+_0x2649f9:_0x2649f9,_0x457166++%0x4)?_0x559f90+=String['fromCharCode'](0xff&_0x444ad2>>(-0x2*_0x457166&0x6)):0x0){_0x2649f9=_0x5e75e6['indexOf'](_0x2649f9);}for(let _0x2f65c6=0x0,_0x7a2b1e=_0x559f90['length'];_0x2f65c6<_0x7a2b1e;_0x2f65c6++){_0x36f596+='%'+('00'+_0x559f90['charCodeAt'](_0x2f65c6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x36f596);};a0_0x3e34['sGbPwF']=_0x5e2dd0,a0_0x3e34['owUFut']={},a0_0x3e34['sAqAKD']=!![];}const _0x1e3f7d=_0x555a97[0x0],_0x367f0d=_0xbd15+_0x1e3f7d,_0x1957db=a0_0x3e34['owUFut'][_0x367f0d];return!_0x1957db?(_0x3e340d=a0_0x3e34['sGbPwF'](_0x3e340d),a0_0x3e34['owUFut'][_0x367f0d]=_0x3e340d):_0x3e340d=_0x1957db,_0x3e340d;}(function(_0x10c9cb,_0x11cfd7){const _0x2f68a5=a0_0x3e34,_0x21f3fd=_0x10c9cb();while(!![]){try{const _0x22dd18=-parseInt(_0x2f68a5(0xaf))/0x1+parseInt(_0x2f68a5(0xb2))/0x2+parseInt(_0x2f68a5(0x9e))/0x3+parseInt(_0x2f68a5(0xe3))/0x4*(-parseInt(_0x2f68a5(0xb4))/0x5)+-parseInt(_0x2f68a5(0xcb))/0x6+parseInt(_0x2f68a5(0xc8))/0x7*(parseInt(_0x2f68a5(0xb0))/0x8)+parseInt(_0x2f68a5(0xa5))/0x9;if(_0x22dd18===_0x11cfd7)break;else _0x21f3fd['push'](_0x21f3fd['shift']());}catch(_0xfd4e70){_0x21f3fd['push'](_0x21f3fd['shift']());}}}(a0_0x555a,0xa96c7));const {logger}=require(a0_0x1ee4f1(0xa6)),DB_TYPES={'POSTGRESQL':a0_0x1ee4f1(0xc0),'MYSQL':a0_0x1ee4f1(0xd4),'SQLSERVER':a0_0x1ee4f1(0xdd),'ORACLE':'oracle','SQLITE':'sqlite'};class UpsertBuilder{[a0_0x1ee4f1(0xba)](){const _0x409eb1=a0_0x1ee4f1,_0x1d4def={'xwADY':_0x409eb1(0xc0),'GKbsQ':_0x409eb1(0xc2)},_0x512f1e=(process[_0x409eb1(0x9f)]['DB_TYPE']||_0x1d4def['xwADY'])[_0x409eb1(0xce)](),_0x3e7dbe=Object['values'](DB_TYPES);if(!_0x3e7dbe[_0x409eb1(0x9a)](_0x512f1e))return logger[_0x409eb1(0xb6)]({'event':_0x1d4def['GKbsQ'],'provided':_0x512f1e,'fallback':'postgresql'},_0x409eb1(0xd0)+_0x512f1e+'.\x20Falling\x20back\x20to\x20postgresql.'),DB_TYPES[_0x409eb1(0xe7)];return _0x512f1e;}[a0_0x1ee4f1(0xa0)](_0x1e5b25,_0x1c7113,_0x134fd5=![]){const _0x5bc214=a0_0x1ee4f1,_0x22b060={'vRChV':_0x5bc214(0x9b),'ylJgl':'NULL'};if(_0x134fd5)switch(_0x1c7113){case DB_TYPES['POSTGRESQL']:return _0x22b060[_0x5bc214(0xc9)];case DB_TYPES[_0x5bc214(0xe8)]:return _0x22b060['ylJgl'];case DB_TYPES[_0x5bc214(0xcd)]:return _0x22b060[_0x5bc214(0xc6)];case DB_TYPES[_0x5bc214(0xe4)]:return _0x5bc214(0xdb);case DB_TYPES[_0x5bc214(0xd5)]:return'NULL';default:return _0x22b060[_0x5bc214(0xc9)];}switch(_0x1c7113){case DB_TYPES['POSTGRESQL']:return _0x1e5b25+'::DATE';case DB_TYPES['MYSQL']:return _0x1e5b25;case DB_TYPES['SQLITE']:return _0x1e5b25;case DB_TYPES['SQLSERVER']:return'CAST('+_0x1e5b25+'\x20AS\x20DATE)';case DB_TYPES['ORACLE']:return'TO_DATE('+_0x1e5b25+_0x5bc214(0xac);default:return _0x1e5b25+'::DATE';}}[a0_0x1ee4f1(0xf2)](_0xe2f934,_0x4e792e,_0xa18304=![]){const _0x38648a=a0_0x1ee4f1,_0x118cd2={'QtyKQ':'NULL'};if(_0xa18304)switch(_0x4e792e){case DB_TYPES['POSTGRESQL']:return _0x38648a(0xe0);default:return _0x118cd2['QtyKQ'];}switch(_0x4e792e){case DB_TYPES['POSTGRESQL']:return _0xe2f934+_0x38648a(0xe9);case DB_TYPES[_0x38648a(0xd5)]:return _0xe2f934;case DB_TYPES[_0x38648a(0xe8)]:return _0xe2f934;case DB_TYPES[_0x38648a(0xcd)]:return _0xe2f934;case DB_TYPES[_0x38648a(0xe4)]:return _0x38648a(0xd1)+_0xe2f934+'\x20AS\x20BIT)';default:return _0xe2f934+'::BOOLEAN';}}[a0_0x1ee4f1(0xed)](_0x3575ae={}){const _0x37d934=a0_0x1ee4f1,_0x36a48d={'htEku':function(_0x18a49e,_0x19ea79){return _0x18a49e===_0x19ea79;},'QcxQP':_0x37d934(0xb9),'zNuNP':'string','terYM':function(_0x2e2ea3,_0xeae6fc){return _0x2e2ea3===_0xeae6fc;},'lVQFQ':'boolean','jKzcF':'number','dfjrI':function(_0x3b3f7b,_0x3bd889){return _0x3b3f7b===_0x3bd889;},'fVgyv':function(_0x388e8a,_0x476fa9){return _0x388e8a(_0x476fa9);}},_0x3ac095=this['getDatabaseType']();return(_0x28ed4c,_0x5ddfce)=>{const _0x18c73e=_0x37d934,_0x5252ef=_0x3575ae[_0x5ddfce];if(_0x36a48d[_0x18c73e(0xcf)](_0x28ed4c,null)||_0x28ed4c===undefined){if(_0x5252ef&&_0x5252ef[_0x18c73e(0xab)]===_0x36a48d[_0x18c73e(0xcc)])return this['formatDateValue'](null,_0x3ac095,!![]);if(_0x5252ef&&_0x5252ef[_0x18c73e(0xab)]===_0x18c73e(0xbc))return this['formatBooleanValue'](null,_0x3ac095,!![]);return _0x18c73e(0xdb);}if(typeof _0x28ed4c===_0x36a48d[_0x18c73e(0xda)]){const _0x22b1ed='\x27'+_0x28ed4c[_0x18c73e(0xc3)](/'/g,'\x27\x27')+'\x27';if(_0x5252ef&&_0x36a48d[_0x18c73e(0xca)](_0x5252ef[_0x18c73e(0xab)],_0x36a48d['QcxQP']))return this['formatDateValue'](_0x22b1ed,_0x3ac095,![]);if(_0x5252ef&&_0x36a48d[_0x18c73e(0xca)](_0x5252ef['type'],_0x36a48d['lVQFQ']))return this['formatBooleanValue'](_0x22b1ed,_0x3ac095,![]);return _0x22b1ed;}if(_0x36a48d['terYM'](typeof _0x28ed4c,_0x36a48d['jKzcF']))return _0x28ed4c;if(_0x36a48d['dfjrI'](typeof _0x28ed4c,_0x36a48d['lVQFQ']))return _0x28ed4c;const _0x57fbfd='\x27'+_0x36a48d[_0x18c73e(0x99)](String,_0x28ed4c)['replace'](/'/g,'\x27\x27')+'\x27';if(_0x5252ef&&_0x5252ef['type']==='date')return this[_0x18c73e(0xa0)](_0x57fbfd,_0x3ac095,![]);return _0x57fbfd;};}['buildBatchInsert'](_0x2c46e2,_0x271983,_0xfa6344,_0x312bbb={}){const _0xcf3178={'HoxXJ':function(_0x15d272,_0x269790){return _0x15d272===_0x269790;}},_0x327a81=this['getDatabaseType']();if(_0xcf3178['HoxXJ'](_0x327a81,DB_TYPES['ORACLE']))return this['_buildBatchInsertOracle'](_0x2c46e2,_0x271983,_0xfa6344,_0x312bbb);return this['_buildBatchInsertPostgres'](_0x2c46e2,_0x271983,_0xfa6344,_0x312bbb);}[a0_0x1ee4f1(0xef)](_0x49922f,_0x211faa,_0x430aac,_0x4c1508={}){const _0x47b7a7=a0_0x1ee4f1,_0x40d74d={'IZYKc':',\x0a\x20\x20\x20\x20\x20\x20\x20','jnZzj':_0x47b7a7(0xd3)};if(_0x49922f['length']===0x0)return{'query':null,'values':[]};const _0x5e7b37=this[_0x47b7a7(0xed)](_0x4c1508),_0x2f9c2e=_0x49922f[_0x47b7a7(0xbf)](_0xe6bcb2=>{const _0x273716=_0x47b7a7,_0x24cb75=_0x430aac['map'](_0x2a63ca=>_0x5e7b37(_0xe6bcb2[_0x2a63ca],_0x2a63ca));return'('+_0x24cb75[_0x273716(0xb5)](',\x20')+')';}),_0x2fc3dc=_0x47b7a7(0xf0)+_0x211faa+'\x20('+_0x430aac['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x2f9c2e[_0x47b7a7(0xb5)](_0x40d74d[_0x47b7a7(0xde)])+_0x47b7a7(0xbb);return logger[_0x47b7a7(0x98)]({'event':_0x40d74d['jnZzj'],'tableName':_0x211faa,'rowCount':_0x49922f['length'],'dbType':_0x47b7a7(0xc0)},'Batch\x20INSERT\x20query\x20built\x20(PostgreSQL)'),{'query':_0x2fc3dc,'values':[]};}['_buildBatchInsertOracle'](_0x32db5b,_0x267f55,_0x4b913d,_0x3d7c12={}){const _0x324286=a0_0x1ee4f1,_0x33db24={'IaDIH':function(_0x2bc697,_0x333199){return _0x2bc697===_0x333199;},'duHdM':'Batch\x20INSERT\x20query\x20built\x20(Oracle)'};if(_0x33db24[_0x324286(0xee)](_0x32db5b[_0x324286(0xd7)],0x0))return{'query':null,'values':[]};const _0x51c475=this['buildEscapeFunction'](_0x3d7c12),_0x19ec2b=_0x32db5b['map'](_0x5d2ff7=>{const _0x261358=_0x324286,_0x272db9=_0x4b913d[_0x261358(0xbf)](_0xaa3d52=>_0x51c475(_0x5d2ff7[_0xaa3d52],_0xaa3d52));return _0x261358(0xa2)+_0x267f55+'\x20('+_0x4b913d['join'](',\x20')+')\x20VALUES\x20('+_0x272db9[_0x261358(0xb5)](',\x20')+')';}),_0x1cc613=_0x324286(0xf3)+_0x19ec2b['join']('\x0a')+_0x324286(0xb7);return logger['debug']({'event':'batch_insert_built','tableName':_0x267f55,'rowCount':_0x32db5b['length'],'dbType':'oracle'},_0x33db24[_0x324286(0xa1)]),{'query':_0x1cc613,'values':[]};}['buildBatchUpdate'](_0x1de4d0,_0x2e2375,_0x5e6a6e,_0x27c499,_0x4dc0fb,_0x463dd4={}){const _0x4a27bb={'QcCOL':function(_0x3329b3,_0x1c1cbe){return _0x3329b3===_0x1c1cbe;}},_0x152c9a=this['getDatabaseType']();if(_0x4a27bb['QcCOL'](_0x152c9a,DB_TYPES['ORACLE']))return this['_buildBatchUpdateOracle'](_0x1de4d0,_0x2e2375,_0x5e6a6e,_0x27c499,_0x4dc0fb,_0x463dd4);if(_0x4a27bb['QcCOL'](_0x152c9a,DB_TYPES['MYSQL']))return this['_buildBatchUpdateMysql'](_0x1de4d0,_0x2e2375,_0x5e6a6e,_0x27c499,_0x4dc0fb,_0x463dd4);return this['_buildBatchUpdatePostgres'](_0x1de4d0,_0x2e2375,_0x5e6a6e,_0x27c499,_0x4dc0fb,_0x463dd4);}[a0_0x1ee4f1(0xb1)](_0x5dabcb,_0x118f41,_0x58c55b,_0x13de93,_0x45972c,_0x457046={}){const _0x272e5=a0_0x1ee4f1,_0x65d1e8={'wwtMN':function(_0x161654,_0x1862d4){return _0x161654===_0x1862d4;},'pEgCK':_0x272e5(0xbe),'uRYXE':_0x272e5(0xeb),'IrFea':_0x272e5(0xc0)};if(_0x65d1e8['wwtMN'](_0x5dabcb[_0x272e5(0xd7)],0x0))return{'query':null,'values':[]};const _0x27d065=this['buildEscapeFunction'](_0x457046),_0x55529c=_0x58c55b[_0x272e5(0xc7)](_0x2ef7a3=>!_0x45972c['includes'](_0x2ef7a3)&&_0x2ef7a3!==_0x13de93);if(_0x55529c['length']===0x0)return logger['warn']({'event':_0x272e5(0xc1),'tableName':_0x118f41},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x4078da=_0x5dabcb[_0x272e5(0xbf)](_0x3579e5=>{const _0x1927d5=[..._0x45972c,..._0x55529c],_0x176e52=_0x1927d5['map'](_0x1bac61=>_0x27d065(_0x3579e5[_0x1bac61],_0x1bac61));return'('+_0x176e52['join'](',\x20')+')';}),_0x39628c=_0x55529c['map'](_0xf2e921=>_0xf2e921+_0x272e5(0xa3)+_0xf2e921)[_0x272e5(0xb5)](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20'),_0x1bb937=_0x45972c[_0x272e5(0xbf)](_0xd482cf=>'t.'+_0xd482cf+_0x272e5(0xa3)+_0xd482cf)['join'](_0x272e5(0xe6)),_0xa6277=_0x272e5(0x9d)+_0x118f41+'\x20AS\x20t\x0a\x20\x20\x20\x20\x20\x20SET\x20'+_0x39628c+_0x272e5(0x97)+_0x4078da['join'](_0x65d1e8[_0x272e5(0xd6)])+'\x0a\x20\x20\x20\x20\x20\x20)\x20AS\x20v('+[..._0x45972c,..._0x55529c]['join'](',\x20')+_0x272e5(0xa9)+_0x1bb937+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x65d1e8['uRYXE'],'tableName':_0x118f41,'rowCount':_0x5dabcb['length'],'updateColumns':_0x55529c['length'],'dbType':_0x65d1e8['IrFea']},_0x272e5(0xea)),{'query':_0xa6277,'values':[]};}['_buildBatchUpdateOracle'](_0x23ffcd,_0x201e1f,_0x49f7c3,_0x3551f3,_0x44970b,_0x388bf1={}){const _0x3c244d=a0_0x1ee4f1,_0x29e431={'GVVhI':function(_0x6979bf,_0xa3bf5d,_0x599582){return _0x6979bf(_0xa3bf5d,_0x599582);},'TpCvx':function(_0x1ae33c,_0x562436){return _0x1ae33c===_0x562436;},'UxbZl':'batch_update_no_columns','DBrbC':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','sRqhD':_0x3c244d(0xa8),'fkrwP':'\x20AND\x20','EeXBL':_0x3c244d(0xd9),'noVuy':'oracle','hfPkG':_0x3c244d(0xd8)};if(_0x29e431[_0x3c244d(0xb3)](_0x23ffcd['length'],0x0))return{'query':null,'values':[]};const _0x12b065=this['buildEscapeFunction'](_0x388bf1),_0x3d22da=_0x49f7c3[_0x3c244d(0xc7)](_0x58c583=>!_0x44970b[_0x3c244d(0x9a)](_0x58c583)&&_0x58c583!==_0x3551f3);if(_0x29e431['TpCvx'](_0x3d22da['length'],0x0))return logger['warn']({'event':_0x29e431[_0x3c244d(0xc4)],'tableName':_0x201e1f},_0x29e431[_0x3c244d(0xaa)]),{'query':null,'values':[]};const _0x15354b=[..._0x44970b,..._0x3d22da],_0x62a1e0=_0x23ffcd['map']((_0x23f676,_0x1e1972)=>{const _0x553c2=_0x3c244d,_0x43cd72=_0x15354b[_0x553c2(0xbf)](_0x261e34=>{const _0x232072=_0x553c2,_0x3ad195=_0x29e431['GVVhI'](_0x12b065,_0x23f676[_0x261e34],_0x261e34);return _0x29e431[_0x232072(0xb3)](_0x1e1972,0x0)?_0x3ad195+'\x20AS\x20'+_0x261e34:_0x3ad195;});return _0x553c2(0xa4)+_0x43cd72['join'](',\x20')+_0x553c2(0xf1);}),_0x49e72f=_0x3d22da[_0x3c244d(0xbf)](_0x29c7f1=>'t.'+_0x29c7f1+'\x20=\x20v.'+_0x29c7f1)[_0x3c244d(0xb5)](_0x29e431[_0x3c244d(0x9c)]),_0x48d0fc=_0x44970b['map'](_0x43a045=>'t.'+_0x43a045+'\x20=\x20v.'+_0x43a045)[_0x3c244d(0xb5)](_0x29e431[_0x3c244d(0xad)]),_0x54cf80=_0x3c244d(0xbd)+_0x201e1f+'\x20t\x0a\x20\x20\x20\x20\x20\x20USING\x20(\x0a'+_0x62a1e0[_0x3c244d(0xb5)](_0x29e431[_0x3c244d(0xe5)])+'\x0a\x20\x20\x20\x20\x20\x20)\x20v\x0a\x20\x20\x20\x20\x20\x20ON\x20('+_0x48d0fc+_0x3c244d(0xdf)+_0x49e72f+'\x0a\x20\x20\x20\x20';return logger[_0x3c244d(0x98)]({'event':'batch_update_built','tableName':_0x201e1f,'rowCount':_0x23ffcd[_0x3c244d(0xd7)],'updateColumns':_0x3d22da[_0x3c244d(0xd7)],'dbType':_0x29e431[_0x3c244d(0xae)]},_0x29e431[_0x3c244d(0xe2)]),{'query':_0x54cf80,'values':[]};}[a0_0x1ee4f1(0xa7)](_0x357e40,_0xd0031b,_0x2bfb2a,_0x282465,_0x14b779,_0x12858b={}){const _0x1f96f0=a0_0x1ee4f1,_0x51ed25={'QegRU':function(_0x2418b7,_0x65f6b2){return _0x2418b7===_0x65f6b2;},'rgfeY':'batch_update_no_columns','lEFlV':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','Unetc':_0x1f96f0(0xeb)};if(_0x357e40[_0x1f96f0(0xd7)]===0x0)return{'query':null,'values':[]};const _0x589a45=this['buildEscapeFunction'](_0x12858b),_0x32f072=_0x2bfb2a[_0x1f96f0(0xc7)](_0x50c3ad=>!_0x14b779['includes'](_0x50c3ad)&&_0x50c3ad!==_0x282465);if(_0x51ed25[_0x1f96f0(0xd2)](_0x32f072['length'],0x0))return logger['warn']({'event':_0x51ed25[_0x1f96f0(0xdc)],'tableName':_0xd0031b},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x4824c5=[...new Set([..._0x14b779,..._0x32f072])],_0x4b97d3=_0x357e40['map'](_0x508979=>{const _0x564c66=_0x1f96f0,_0x596c1e=_0x4824c5[_0x564c66(0xbf)](_0x283382=>_0x589a45(_0x508979[_0x283382],_0x283382));return'('+_0x596c1e['join'](',\x20')+')';}),_0x6504f1=_0x32f072[_0x1f96f0(0xbf)](_0x1caccf=>_0x1caccf+'\x20=\x20VALUES('+_0x1caccf+')')['join'](_0x51ed25['lEFlV']),_0x562293=_0x1f96f0(0xf0)+_0xd0031b+'\x20('+_0x4824c5['join'](',\x20')+_0x1f96f0(0xc5)+_0x4b97d3['join'](_0x1f96f0(0xbe))+_0x1f96f0(0xec)+_0x6504f1+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x51ed25[_0x1f96f0(0xe1)],'tableName':_0xd0031b,'rowCount':_0x357e40['length'],'updateColumns':_0x32f072[_0x1f96f0(0xd7)],'dbType':'mysql'},_0x1f96f0(0xb8)),{'query':_0x562293,'values':[]};}['chunkRows'](_0x4979ae,_0xbf7ae0=0x64){const _0x5e1e97={'ElnyG':function(_0x536815,_0x9515a3){return _0x536815+_0x9515a3;}},_0xf4bf31=[];for(let _0x32eba4=0x0;_0x32eba4<_0x4979ae['length'];_0x32eba4+=_0xbf7ae0){_0xf4bf31['push'](_0x4979ae['slice'](_0x32eba4,_0x5e1e97['ElnyG'](_0x32eba4,_0xbf7ae0)));}return _0xf4bf31;}}function a0_0x555a(){const _0x30d849=['kqOGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vuia','tLvmtdO6qK9ptevbtG','vw5LDgm','AgzqA0C','mtaWr2LAwK5w','u1fmu0vsvKvs','rwvyqKW','ieforca','ue9tveDsrvnrta','tvLtuuW','oJPct09mrufo','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','yMf0y2HFDxbKyxrLx2j1AwX0','cIaGicaGie9oiervueXjq0fursblrvKGvvbeqvrfia','yNvPBgrfC2nHCgvgDw5JDgLVBG','swfesuG','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','cIaGicaGieLou0vsvcbjtLrpia','iezst00Grfvbta','zM9YBwf0qM9VBgvHBLzHBhvL','su5trvjuiefmtaO','cIaGicaGiezst00GkfzbtfvfuWOGicaGicaGia','zgvIDwC','zLzNExy','Aw5JBhvKzxm','tLvmtdO6refurq','C1jXAeq','cIaGicaGifvqrefursa','mJK5nJa4nvj2B2LsEa','zw52','zM9YBwf0rgf0zvzHBhvL','zhvize0','icbjtLrpia','id0GDI4','icaGifnftevdvca','ntC3odmYng5MvLvUtG','lI9SB2DNzxi','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','laOGicaGicaGica','kqOGicaGicbxsevsrsa','rejYyKm','DhLWzq','lcaNwvLzws1nts1ercCP','zMTYD1a','BM9wDxK','mJC2odC1ywnqwNfj','mta5mtjHwfzlr2i','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','ntq4nZmYAeLXr0nl','vhbdDNG','nZu5mZvnyK5kELa','AM9PBG','D2fYBG','cLnftevdvcaXiezst00Grfvbta','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHnEvnrtcbptIbevvbmsunbveuGs0vzkq','zgf0zq','z2v0rgf0ywjHC2vuExbL','cIaGica','yM9VBgvHBG','cIaGicaGie1fuKDfieLove8G','laOGicaGicaGia','BwfW','Cg9ZDgDYzxnXBa','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','Aw52ywXPzf9KyL90ExbL','CMvWBgfJzq','vxHIwMW','kqOGicaGicbwquXvrvmG','EwXkz2W','zMLSDgvY','nZDZzMnsB20','DLjdAfy','DgvYwu0','mZq3nZu1mNz5q01Mzq','uwn4uva','u1fmsvrf','Dg9mB3DLCKnHC2u','AhrfA3u','sw52ywXPzcbeqL9uwvbfoIa','q0ftvcG','uwvNuLu','yMf0y2HFAw5Zzxj0x2j1AwX0','BxLZCwW','t1jbq0Xf','CevNq0S','BgvUz3rO','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHpCMfJBguGtuvsr0uP','cIaGicbvtKLptIbbteWk','EK51tLa','tLvmta','CMDMzvK','C3fSC2vYDMvY','svPzs2m'];a0_0x555a=function(){return _0x30d849;};return a0_0x555a();}module['exports']=new UpsertBuilder();
@@ -1 +1 @@
1
- const a0_0x5a628d=a0_0x7d74;(function(_0x5e687c,_0x3cc31c){const _0x391d27=a0_0x7d74,_0x48bd05=_0x5e687c();while(!![]){try{const _0x26fa23=-parseInt(_0x391d27(0x16c))/0x1+-parseInt(_0x391d27(0x178))/0x2+parseInt(_0x391d27(0x16e))/0x3+parseInt(_0x391d27(0x172))/0x4+parseInt(_0x391d27(0x158))/0x5*(parseInt(_0x391d27(0x14c))/0x6)+parseInt(_0x391d27(0x155))/0x7*(parseInt(_0x391d27(0x14e))/0x8)+-parseInt(_0x391d27(0x14f))/0x9*(-parseInt(_0x391d27(0x153))/0xa);if(_0x26fa23===_0x3cc31c)break;else _0x48bd05['push'](_0x48bd05['shift']());}catch(_0x595af6){_0x48bd05['push'](_0x48bd05['shift']());}}}(a0_0x5597,0xeeefb));const axios=require('axios'),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD=a0_0x5a628d(0x167),DEFAULT_HOST=a0_0x5a628d(0x14b),DEFAULT_PORT=0xbb8;function resolveTemplateString(_0x1088fd,_0x32d165){const _0x561d7c=a0_0x5a628d,_0x58951a={'oRLnq':function(_0x5d9e20,_0x1e767a,_0x1de241){return _0x5d9e20(_0x1e767a,_0x1de241);},'jKnfr':function(_0x47362a,_0x2ef19e){return _0x47362a!==_0x2ef19e;},'KfizN':function(_0x4c1430,_0x4f66c7){return _0x4c1430===_0x4f66c7;},'ARzOO':'object','qyNbC':function(_0x456509,_0x2fde04){return _0x456509(_0x2fde04);},'bqgri':_0x561d7c(0x152)};if(_0x58951a['jKnfr'](typeof _0x1088fd,_0x58951a[_0x561d7c(0x157)]))return _0x1088fd;return _0x1088fd[_0x561d7c(0x156)](/\{\{([^}]+)\}\}/g,(_0x28ce34,_0x76052f)=>{const _0x3a4187=_0x561d7c,_0x1e8170=_0x76052f[_0x3a4187(0x14d)](),_0x554b53=_0x58951a[_0x3a4187(0x13b)](getNestedValue,_0x32d165,_0x1e8170);if(_0x58951a['jKnfr'](_0x554b53,undefined)&&_0x554b53!==null)return _0x58951a[_0x3a4187(0x13c)](typeof _0x554b53,_0x58951a['ARzOO'])?JSON['stringify'](_0x554b53):_0x58951a['qyNbC'](String,_0x554b53);return _0x28ce34;});}function a0_0x5597(){const _0x2bcaf3=['wMj0rNe','C3rYAw5N','mJmXmgz0D0XVDW','iokgKIa','mtruvvnsB20','CMvWBgfJzq','yNfNCMK','mtmXmej4AwnovW','l2fWAs8','BMv3u3rHDhvZ','CMvTyxjRCW','se9tva','C3rHDhvZ','qxv0Ag9YAxPHDgLVBG','yxv0AeHLywrLCG','uMvZDezVCMDLlvDVCMTMBg93lZeUma','DgfIBgvoyw1L','CMvKDwnL','BgvUz3rO','sg9VAYbLEgvJDxrPB24GzMfPBgvK','D2fYBG','C3rHCNrZv2L0Aa','ue9tva','BwvZC2fNzq','C3bSAxq','v29YA2zSB3CGAg9VAYbMywLSzwq6ia','rwPRBKu','mtGWntG0n0Xmu1zwva','tM9UlwjSB2nRAw5NigHVB2SGzMfPBgvKicHPz25VCMvKktOG','otu5mda0B0rnB2zd','sfruuca','CMvZCg9UC2u','Ahr0Chm6lY8','mteYmdK4ofDIq01bDq','CKr0CLu','yKzrD08','zxjYB3i','Ahr0CdOVlW','ChjVAMvJDa','mZGZodKXnhDxBLfPrq','yM9KEq','B1jmBNe','s2zPEK4','CMvJB3jK','zw52','B2XKu3rHDhvZ','yxbWBgLJyxrPB24VANnVBG','Bg9N','Bwv0Ag9K','AxnbCNjHEq','u0vsvKvsx0ferfjfu1m','Dg9mB3DLCKnHC2u','yxbP','sg9VAYbLEgvJDxrLzcbZDwnJzxnZzNvSBhK','ChvZAa','v29YA2zSB3CGAg9VAYbLEgvJDxrLzdOG','DhLWzq','Bg9JywXOB3n0','mZi1nJjQC0DbtKS','DhjPBq','mJC1ndy3mNbWsLvlqW','nZC2nZbhuwvRvxq','DxjS'];a0_0x5597=function(){return _0x2bcaf3;};return a0_0x5597();}function resolveTemplateVariables(_0x385fa3,_0x9259ea){const _0xe2addd=a0_0x5a628d,_0x43b5db={'JpWgE':function(_0x5ead7f,_0x5adac1){return _0x5ead7f===_0x5adac1;},'ZbtFq':function(_0x3b7c9e,_0x491e90,_0x5cdae9){return _0x3b7c9e(_0x491e90,_0x5cdae9);}};if(_0x43b5db['JpWgE'](typeof _0x385fa3,'string'))return _0x43b5db[_0xe2addd(0x151)](resolveTemplateString,_0x385fa3,_0x9259ea);if(Array['isArray'](_0x385fa3))return _0x385fa3['map'](_0x553a40=>resolveTemplateVariables(_0x553a40,_0x9259ea));if(_0x385fa3!==null&&typeof _0x385fa3==='object'){const _0x44dedf={};for(const [_0x2d7ef0,_0x1528fd]of Object['entries'](_0x385fa3)){_0x44dedf[_0x2d7ef0]=_0x43b5db['ZbtFq'](resolveTemplateVariables,_0x1528fd,_0x9259ea);}return _0x44dedf;}return _0x385fa3;}function getNestedValue(_0x35190c,_0x3a5915){const _0x20ed01=a0_0x5a628d,_0x46b1e2={'liEOP':function(_0x53fa81,_0xda5ed8){return _0x53fa81!==_0xda5ed8;}};return _0x3a5915[_0x20ed01(0x169)]('.')[_0x20ed01(0x162)]((_0x49b696,_0x43ba58)=>{return _0x49b696&&_0x46b1e2['liEOP'](_0x49b696[_0x43ba58],undefined)?_0x49b696[_0x43ba58]:undefined;},_0x35190c);}function resolveUrl(_0x495fd2,_0x11d88b){const _0x34268b=a0_0x5a628d,_0xaf8f3={'AXguC':function(_0x5dbe67,_0x19f105){return _0x5dbe67!==_0x19f105;},'tlqmj':'string','JdOlY':_0x34268b(0x159)};if(!_0x495fd2||_0xaf8f3['AXguC'](typeof _0x495fd2,_0xaf8f3['tlqmj']))return _0x495fd2;if(_0x495fd2['startsWith'](_0x34268b(0x176))||_0x495fd2[_0x34268b(0x166)](_0x34268b(0x171)))return _0x495fd2;const _0x3385c3=process[_0x34268b(0x13e)][_0x34268b(0x144)]||process[_0x34268b(0x13e)][_0x34268b(0x15c)]||DEFAULT_HOST,_0x316237=process['env']['PORT']||DEFAULT_PORT,_0x165e38='http://'+_0x3385c3+':'+_0x316237;if(_0x495fd2['startsWith'](_0xaf8f3['JdOlY']))return''+_0x165e38+_0x495fd2;if(_0x495fd2['startsWith']('/')){const _0xb8a6ff=_0x11d88b&&_0x11d88b['project']||'';if(_0xb8a6ff)return _0x165e38+_0x34268b(0x159)+_0xb8a6ff+_0x495fd2;return''+_0x165e38+_0x495fd2;}return _0x495fd2;}function buildHookContext(_0x34a469){const _0xaefbef=a0_0x5a628d;return{'id':_0x34a469['id']||'','newStatus':_0x34a469[_0xaefbef(0x15a)]||'','oldStatus':_0x34a469[_0xaefbef(0x13f)]||'','remarks':_0x34a469[_0xaefbef(0x15b)]||'','tableName':_0x34a469[_0xaefbef(0x161)]||'','user_id':_0x34a469['userId']||'system','timestamp':new Date()['toISOString'](),'record':_0x34a469[_0xaefbef(0x13d)]||{},'requestData':_0x34a469['requestData']||{},'project':_0x34a469[_0xaefbef(0x177)]||'','authHeader':_0x34a469['authHeader']||null};}async function executeHook(_0x1feaea,_0x7b5777){const _0x25be9a=a0_0x5a628d,_0x39cbb4={'bFQwO':_0x25be9a(0x146),'EjknE':function(_0x506059,_0x4a57d7,_0x16c93c){return _0x506059(_0x4a57d7,_0x16c93c);},'aCLIi':function(_0x49035f,_0x23b735,_0x50199f){return _0x49035f(_0x23b735,_0x50199f);},'ZBzmd':function(_0x2d42c7,_0x32f8f4,_0x5ec40e){return _0x2d42c7(_0x32f8f4,_0x5ec40e);},'rDtrU':function(_0x2a891c,_0x49bc09){return _0x2a891c!==_0x49bc09;},'Fravm':_0x25be9a(0x160)};if(!_0x1feaea||_0x1feaea[_0x25be9a(0x14a)]!==_0x39cbb4[_0x25be9a(0x174)])return{'success':!![],'message':'Hook\x20skipped:\x20unsupported\x20type'};const _0xc24272=_0x1feaea['blocking']===!![],_0x33e82a=(_0x1feaea[_0x25be9a(0x142)]||DEFAULT_METHOD)['toUpperCase'](),_0x48e2ee=_0x1feaea['timeout']||DEFAULT_TIMEOUT,_0x4ea72a=_0x39cbb4[_0x25be9a(0x16b)](resolveTemplateString,_0x1feaea[_0x25be9a(0x150)],_0x7b5777),_0x16afb4=_0x39cbb4['aCLIi'](resolveUrl,_0x4ea72a,_0x7b5777),_0x3646bd=_0x1feaea['body']?_0x39cbb4['ZBzmd'](resolveTemplateVariables,_0x1feaea[_0x25be9a(0x179)],_0x7b5777):{},_0x42b79f=_0x1feaea['headers']?_0x39cbb4['aCLIi'](resolveTemplateVariables,_0x1feaea['headers'],_0x7b5777):{},_0x530c53=_0x42b79f&&(_0x42b79f[_0x25be9a(0x15e)]!==undefined||_0x39cbb4[_0x25be9a(0x173)](_0x42b79f['authorization'],undefined)),_0x3cba85=!_0x530c53&&_0x7b5777&&_0x7b5777[_0x25be9a(0x15f)]?{'Authorization':_0x7b5777[_0x25be9a(0x15f)]}:{};try{const _0x1f2469=await axios({'method':_0x33e82a[_0x25be9a(0x145)](),'url':_0x16afb4,'data':_0x3646bd,'headers':{'Content-Type':_0x25be9a(0x140),'User-Agent':_0x39cbb4['Fravm'],..._0x3cba85,..._0x42b79f},'timeout':_0x48e2ee});return console[_0x25be9a(0x141)](_0x25be9a(0x149)+_0x33e82a+'\x20'+_0x16afb4+'\x20→\x20'+_0x1f2469['status']),{'success':!![],'message':_0x25be9a(0x147),'status':_0x1f2469[_0x25be9a(0x15d)],'url':_0x16afb4};}catch(_0x38ebbe){const _0x111011=_0x38ebbe[_0x25be9a(0x170)]?_0x25be9a(0x16f)+_0x38ebbe[_0x25be9a(0x170)][_0x25be9a(0x15d)]+':\x20'+_0x38ebbe['response']['statusText']:_0x38ebbe[_0x25be9a(0x168)];console[_0x25be9a(0x175)](_0x25be9a(0x16a)+_0x33e82a+'\x20'+_0x16afb4+_0x25be9a(0x154)+_0x111011);if(_0xc24272)return{'success':![],'message':'Blocking\x20hook\x20failed:\x20'+_0x111011,'error':_0x111011,'url':_0x16afb4};return console[_0x25be9a(0x165)](_0x25be9a(0x16d)+_0x111011),{'success':!![],'message':_0x25be9a(0x16d)+_0x111011,'warning':_0x111011,'url':_0x16afb4};}}function a0_0x7d74(_0x133d56,_0x47eca0){_0x133d56=_0x133d56-0x13b;const _0x55973e=a0_0x5597();let _0x7d74d3=_0x55973e[_0x133d56];if(a0_0x7d74['NzONPz']===undefined){var _0x2e83d4=function(_0x4a0241){const _0x4d3d01='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x226d96='',_0x30ddbf='';for(let _0x53851c=0x0,_0x5cc6ab,_0x20d7ad,_0x12721d=0x0;_0x20d7ad=_0x4a0241['charAt'](_0x12721d++);~_0x20d7ad&&(_0x5cc6ab=_0x53851c%0x4?_0x5cc6ab*0x40+_0x20d7ad:_0x20d7ad,_0x53851c++%0x4)?_0x226d96+=String['fromCharCode'](0xff&_0x5cc6ab>>(-0x2*_0x53851c&0x6)):0x0){_0x20d7ad=_0x4d3d01['indexOf'](_0x20d7ad);}for(let _0x2c5bc5=0x0,_0x55eacc=_0x226d96['length'];_0x2c5bc5<_0x55eacc;_0x2c5bc5++){_0x30ddbf+='%'+('00'+_0x226d96['charCodeAt'](_0x2c5bc5)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x30ddbf);};a0_0x7d74['MhSpzH']=_0x2e83d4,a0_0x7d74['fbGNqi']={},a0_0x7d74['NzONPz']=!![];}const _0xfcfa13=_0x55973e[0x0],_0x3fa485=_0x133d56+_0xfcfa13,_0x4bb1c1=a0_0x7d74['fbGNqi'][_0x3fa485];return!_0x4bb1c1?(_0x7d74d3=a0_0x7d74['MhSpzH'](_0x7d74d3),a0_0x7d74['fbGNqi'][_0x3fa485]=_0x7d74d3):_0x7d74d3=_0x4bb1c1,_0x7d74d3;}async function executeHooks(_0xbb3591,_0x551be3){const _0x5be1b6=a0_0x5a628d,_0xfbf466={'RDznT':_0x5be1b6(0x164)};if(!_0xbb3591||!Array[_0x5be1b6(0x143)](_0xbb3591)||_0xbb3591[_0x5be1b6(0x163)]===0x0)return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x4dc1c3=[];for(const _0x5d4408 of _0xbb3591){const _0x1d43af=await executeHook(_0x5d4408,_0x551be3);_0x4dc1c3[_0x5be1b6(0x148)](_0x1d43af);if(!_0x1d43af['success'])return{'success':![],'error':_0x1d43af['message']||_0xfbf466['RDznT'],'results':_0x4dc1c3,'hooksExecuted':_0x4dc1c3['length']};}return{'success':!![],'results':_0x4dc1c3,'hooksExecuted':_0x4dc1c3[_0x5be1b6(0x163)]};}module['exports']={'resolveTemplateString':resolveTemplateString,'resolveTemplateVariables':resolveTemplateVariables,'resolveUrl':resolveUrl,'buildHookContext':buildHookContext,'executeHook':executeHook,'executeHooks':executeHooks};
1
+ const a0_0x518396=a0_0x36e2;(function(_0x3c206c,_0x461782){const _0x5a75fd=a0_0x36e2,_0x311010=_0x3c206c();while(!![]){try{const _0x42d698=-parseInt(_0x5a75fd(0x16b))/0x1+parseInt(_0x5a75fd(0x154))/0x2*(parseInt(_0x5a75fd(0x171))/0x3)+-parseInt(_0x5a75fd(0x157))/0x4+parseInt(_0x5a75fd(0x170))/0x5*(parseInt(_0x5a75fd(0x167))/0x6)+-parseInt(_0x5a75fd(0x166))/0x7+-parseInt(_0x5a75fd(0x15d))/0x8*(-parseInt(_0x5a75fd(0x165))/0x9)+parseInt(_0x5a75fd(0x16a))/0xa;if(_0x42d698===_0x461782)break;else _0x311010['push'](_0x311010['shift']());}catch(_0xcf61d0){_0x311010['push'](_0x311010['shift']());}}}(a0_0x564a,0x88204));const axios=require('axios'),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD='POST',DEFAULT_HOST=a0_0x518396(0x173),DEFAULT_PORT=0xbb8;function resolveTemplateString(_0x3f8f86,_0x24e89c){const _0x277fa8=a0_0x518396,_0x3de59e={'DeNAq':function(_0x503816,_0x17d10c,_0x12fab7){return _0x503816(_0x17d10c,_0x12fab7);},'warJm':function(_0x174984,_0x3cbae4){return _0x174984!==_0x3cbae4;},'bWYGU':function(_0x3cf4fa,_0x34bc53){return _0x3cf4fa(_0x34bc53);}};if(_0x3de59e['warJm'](typeof _0x3f8f86,_0x277fa8(0x148)))return _0x3f8f86;return _0x3f8f86['replace'](/\{\{([^}]+)\}\}/g,(_0x26c9ae,_0x58f0a3)=>{const _0x32bc72=_0x277fa8,_0x5e70d6=_0x58f0a3['trim'](),_0x243a41=_0x3de59e[_0x32bc72(0x15c)](getNestedValue,_0x24e89c,_0x5e70d6);if(_0x3de59e['warJm'](_0x243a41,undefined)&&_0x243a41!==null)return typeof _0x243a41===_0x32bc72(0x15b)?JSON['stringify'](_0x243a41):_0x3de59e['bWYGU'](String,_0x243a41);return _0x26c9ae;});}function a0_0x564a(){const _0x46a9db=['mJvHywrbCeK','mJyXndu1mwTtuxz4tq','sg9VAYbLEgvJDxrLzcbZDwnJzxnZzNvSBhK','Bg9JywXOB3n0','u3PdC2q','B3PwwLC','se9tva','vNPTwMC','yxv0Ag9YAxPHDgLVBG','rKziqMu','DxjS','C3rHDhvZ','C3bSAxq','C3LZDgvT','yM9KEq','C3rYAw5N','AxnbCNjHEq','Ahr0Chm6lY8','qMXVy2TPBMCGAg9VAYbMywLSzwq6ia','yMXVy2TPBMC','AgvHzgvYCW','C3rHCNrZv2L0Aa','v29YA2zSB3CGAg9VAYbLEgvJDxrLzdOG','ue9sva','C3rHDhvZvgv4Da','Ahr0CdOVlW','C3vJy2vZCW','mNn5EhDJuW','yxv0AeHLywrLCG','tM9UlwjSB2nRAw5NigHVB2SGzMfPBgvKicHPz25VCMvKktOG','mZq4mZmZmMjeAgTkyW','Agf3sKe','s3vgse0','sg9VAYbZA2LWCgvKoIb1BNn1ChbVCNrLzcb0ExbL','B2jQzwn0','rgvoqxe','ndy5nMnrsMH3za','CMvJB3jK','BwvZC2fNzq','BgvUz3rO','Dg9mB3DLCKnHC2u','BwfW','DxnLCKLK','DLfwu1G','ndiZmfbtzuvnsW','mtyZnJGWm1vHqvjTwq','mte3mtCXmgnSrfvYyW','qxv0Ag9YAxPHDgLVBG','l2fWAs8','mZi4ote5mhfirvrbDW','nZKWnte3q3fYr0Tb','iokgKIa','uMvZDezVCMDLlvDVCMTMBg93lZeUma','ChjVAMvJDa','tgX4rwy'];a0_0x564a=function(){return _0x46a9db;};return a0_0x564a();}function resolveTemplateVariables(_0x2aaea8,_0x162d1a){const _0x3c8eb9=a0_0x518396,_0x5b873a={'LlxEf':function(_0xa243e9,_0x281e56){return _0xa243e9===_0x281e56;},'KuFHM':_0x3c8eb9(0x148),'hawJA':function(_0x52d05d,_0x444b71,_0x412218){return _0x52d05d(_0x444b71,_0x412218);},'bLhnF':function(_0x1e4d8f,_0x54f306){return _0x1e4d8f!==_0x54f306;}};if(_0x5b873a[_0x3c8eb9(0x16f)](typeof _0x2aaea8,_0x5b873a[_0x3c8eb9(0x159)]))return _0x5b873a[_0x3c8eb9(0x158)](resolveTemplateString,_0x2aaea8,_0x162d1a);if(Array[_0x3c8eb9(0x149)](_0x2aaea8))return _0x2aaea8[_0x3c8eb9(0x162)](_0x37e5b5=>resolveTemplateVariables(_0x37e5b5,_0x162d1a));if(_0x5b873a['bLhnF'](_0x2aaea8,null)&&_0x5b873a['LlxEf'](typeof _0x2aaea8,_0x3c8eb9(0x15b))){const _0x556894={};for(const [_0x594a3b,_0xce0013]of Object['entries'](_0x2aaea8)){_0x556894[_0x594a3b]=resolveTemplateVariables(_0xce0013,_0x162d1a);}return _0x556894;}return _0x2aaea8;}function getNestedValue(_0x39174f,_0x3368ee){const _0x5f9ad1=a0_0x518396,_0x4c4c5c={'jDvXH':function(_0x46d605,_0x33468d){return _0x46d605!==_0x33468d;}};return _0x3368ee[_0x5f9ad1(0x145)]('.')['reduce']((_0x4a0ae5,_0x57bd3a)=>{return _0x4a0ae5&&_0x4c4c5c['jDvXH'](_0x4a0ae5[_0x57bd3a],undefined)?_0x4a0ae5[_0x57bd3a]:undefined;},_0x39174f);}function resolveUrl(_0x2602e8,_0x3c8463){const _0x55d5de=a0_0x518396,_0x4102ce={'bxMIz':'string','vQVSX':'http://'};if(!_0x2602e8||typeof _0x2602e8!==_0x4102ce['bxMIz'])return _0x2602e8;if(_0x2602e8['startsWith'](_0x4102ce[_0x55d5de(0x164)])||_0x2602e8[_0x55d5de(0x14e)](_0x55d5de(0x14a)))return _0x2602e8;const _0x4f2c75=process['env']['SERVER_ADDRESS']||process['env'][_0x55d5de(0x13f)]||DEFAULT_HOST,_0x19c631=process['env'][_0x55d5de(0x150)]||DEFAULT_PORT,_0x3aef53=_0x55d5de(0x152)+_0x4f2c75+':'+_0x19c631;if(_0x2602e8[_0x55d5de(0x14e)](_0x55d5de(0x169)))return''+_0x3aef53+_0x2602e8;if(_0x2602e8['startsWith']('/')){const _0x4f48fe=_0x3c8463&&_0x3c8463[_0x55d5de(0x16e)]||'';if(_0x4f48fe)return _0x3aef53+'/api/'+_0x4f48fe+_0x2602e8;return''+_0x3aef53+_0x2602e8;}return _0x2602e8;}function a0_0x36e2(_0x5eba04,_0x267742){_0x5eba04=_0x5eba04-0x13f;const _0x564a16=a0_0x564a();let _0x36e279=_0x564a16[_0x5eba04];if(a0_0x36e2['NgdAVF']===undefined){var _0x4134aa=function(_0x27168f){const _0x2d901d='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5dd43a='',_0x520f94='';for(let _0x258a67=0x0,_0x5d7e2e,_0xe6b43b,_0x534302=0x0;_0xe6b43b=_0x27168f['charAt'](_0x534302++);~_0xe6b43b&&(_0x5d7e2e=_0x258a67%0x4?_0x5d7e2e*0x40+_0xe6b43b:_0xe6b43b,_0x258a67++%0x4)?_0x5dd43a+=String['fromCharCode'](0xff&_0x5d7e2e>>(-0x2*_0x258a67&0x6)):0x0){_0xe6b43b=_0x2d901d['indexOf'](_0xe6b43b);}for(let _0x1de52c=0x0,_0x4d48d3=_0x5dd43a['length'];_0x1de52c<_0x4d48d3;_0x1de52c++){_0x520f94+='%'+('00'+_0x5dd43a['charCodeAt'](_0x1de52c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x520f94);};a0_0x36e2['oJziOw']=_0x4134aa,a0_0x36e2['wKClJd']={},a0_0x36e2['NgdAVF']=!![];}const _0x156db6=_0x564a16[0x0],_0x396deb=_0x5eba04+_0x156db6,_0x257473=a0_0x36e2['wKClJd'][_0x396deb];return!_0x257473?(_0x36e279=a0_0x36e2['oJziOw'](_0x36e279),a0_0x36e2['wKClJd'][_0x396deb]=_0x36e279):_0x36e279=_0x257473,_0x36e279;}function buildHookContext(_0x1e54f8){const _0x125751=a0_0x518396;return{'id':_0x1e54f8['id']||'','newStatus':_0x1e54f8['newStatus']||'','oldStatus':_0x1e54f8['oldStatus']||'','remarks':_0x1e54f8['remarks']||'','tableName':_0x1e54f8['tableName']||'','user_id':_0x1e54f8[_0x125751(0x163)]||_0x125751(0x146),'timestamp':new Date()['toISOString'](),'record':_0x1e54f8[_0x125751(0x15e)]||{},'requestData':_0x1e54f8['requestData']||{},'project':_0x1e54f8[_0x125751(0x16e)]||'','authHeader':_0x1e54f8[_0x125751(0x155)]||null};}async function executeHook(_0x54db28,_0x44bbd7){const _0x5801f2=a0_0x518396,_0x1af6aa={'wguOz':function(_0x255bff,_0x55bdaa){return _0x255bff!==_0x55bdaa;},'rAGXk':'api','FFHBe':function(_0xfe46cf,_0x51ce16){return _0xfe46cf===_0x51ce16;},'xgfXS':function(_0x513d2b,_0x1430e0){return _0x513d2b&&_0x1430e0;},'ozVZW':function(_0x4b4720,_0x599543){return _0x4b4720(_0x599543);}};if(!_0x54db28||_0x1af6aa['wguOz'](_0x54db28['type'],_0x1af6aa['rAGXk']))return{'success':!![],'message':_0x5801f2(0x15a)};const _0x20931c=_0x1af6aa[_0x5801f2(0x142)](_0x54db28[_0x5801f2(0x14c)],!![]),_0x389c74=(_0x54db28['method']||DEFAULT_METHOD)['toUpperCase'](),_0x393d2f=_0x54db28['timeout']||DEFAULT_TIMEOUT,_0x2f7eef=resolveTemplateString(_0x54db28[_0x5801f2(0x143)],_0x44bbd7),_0x4fe9b3=resolveUrl(_0x2f7eef,_0x44bbd7),_0x443594=_0x54db28[_0x5801f2(0x147)]?resolveTemplateVariables(_0x54db28['body'],_0x44bbd7):{},_0x28f6dd=_0x54db28['headers']?resolveTemplateVariables(_0x54db28[_0x5801f2(0x14d)],_0x44bbd7):{},_0x31f21b=_0x28f6dd&&(_0x28f6dd[_0x5801f2(0x168)]!==undefined||_0x28f6dd[_0x5801f2(0x141)]!==undefined),_0x1fb6e7=_0x1af6aa['xgfXS'](!_0x31f21b,_0x44bbd7)&&_0x44bbd7['authHeader']?{'Authorization':_0x44bbd7['authHeader']}:{};try{const _0x5931b6=await _0x1af6aa[_0x5801f2(0x175)](axios,{'method':_0x389c74[_0x5801f2(0x161)](),'url':_0x4fe9b3,'data':_0x443594,'headers':{'Content-Type':'application/json','User-Agent':_0x5801f2(0x16d),..._0x1fb6e7,..._0x28f6dd},'timeout':_0x393d2f});return console['log'](_0x5801f2(0x14f)+_0x389c74+'\x20'+_0x4fe9b3+'\x20→\x20'+_0x5931b6['status']),{'success':!![],'message':_0x5801f2(0x172),'status':_0x5931b6[_0x5801f2(0x144)],'url':_0x4fe9b3};}catch(_0x2415e5){const _0x417efc=_0x2415e5['response']?'HTTP\x20'+_0x2415e5['response']['status']+':\x20'+_0x2415e5['response'][_0x5801f2(0x151)]:_0x2415e5['message'];console['error']('Workflow\x20hook\x20failed:\x20'+_0x389c74+'\x20'+_0x4fe9b3+_0x5801f2(0x16c)+_0x417efc);if(_0x20931c)return{'success':![],'message':_0x5801f2(0x14b)+_0x417efc,'error':_0x417efc,'url':_0x4fe9b3};return console['warn'](_0x5801f2(0x156)+_0x417efc),{'success':!![],'message':_0x5801f2(0x156)+_0x417efc,'warning':_0x417efc,'url':_0x4fe9b3};}}async function executeHooks(_0x2fd8fb,_0x2733af){const _0x3a5cc1=a0_0x518396,_0x1023e7={'SzCsd':function(_0x1fd732,_0x18bb34){return _0x1fd732===_0x18bb34;},'VzmZg':'Hook\x20execution\x20failed'};if(!_0x2fd8fb||!Array[_0x3a5cc1(0x149)](_0x2fd8fb)||_0x1023e7[_0x3a5cc1(0x174)](_0x2fd8fb[_0x3a5cc1(0x160)],0x0))return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x4e322e=[];for(const _0x3c7752 of _0x2fd8fb){const _0xce7090=await executeHook(_0x3c7752,_0x2733af);_0x4e322e['push'](_0xce7090);if(!_0xce7090[_0x3a5cc1(0x153)])return{'success':![],'error':_0xce7090[_0x3a5cc1(0x15f)]||_0x1023e7[_0x3a5cc1(0x140)],'results':_0x4e322e,'hooksExecuted':_0x4e322e[_0x3a5cc1(0x160)]};}return{'success':!![],'results':_0x4e322e,'hooksExecuted':_0x4e322e[_0x3a5cc1(0x160)]};}module['exports']={'resolveTemplateString':resolveTemplateString,'resolveTemplateVariables':resolveTemplateVariables,'resolveUrl':resolveUrl,'buildHookContext':buildHookContext,'executeHook':executeHook,'executeHooks':executeHooks};