@restforgejs/platform 5.0.9 → 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 (170) 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/migrate/field-type-resolver.js +18 -5
  7. package/generators/lib/payload/payload-runner.js +724 -39
  8. package/generators/lib/templates/dashboard-catalog.js +1 -1
  9. package/generators/lib/templates/db-connection-env.js +1 -1
  10. package/generators/lib/templates/dbschema-catalog.js +1 -1
  11. package/generators/lib/templates/field-validation-catalog.js +1 -1
  12. package/generators/lib/templates/mysql-template.js +1 -1
  13. package/generators/lib/templates/oracle-template.js +1 -1
  14. package/generators/lib/templates/postgres-template.js +1 -1
  15. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  16. package/generators/lib/templates/sqlite-template.js +1 -1
  17. package/integrity-manifest.json +18 -18
  18. package/package.json +1 -1
  19. package/scripts/verify-integrity.js +1 -1
  20. package/server.js +1 -1
  21. package/src/components/handlers/adjust_handler.js +1 -1
  22. package/src/components/handlers/audit_handler.js +1 -1
  23. package/src/components/handlers/delete_handler.js +1 -1
  24. package/src/components/handlers/export_handler.js +1 -1
  25. package/src/components/handlers/import_handler.js +1 -1
  26. package/src/components/handlers/insert_handler.js +1 -1
  27. package/src/components/handlers/update_handler.js +1 -1
  28. package/src/components/handlers/upload_handler.js +1 -1
  29. package/src/components/handlers/workflow_handler.js +1 -1
  30. package/src/components/integrations/webhook.js +1 -1
  31. package/src/consumers/baseConsumer.js +1 -1
  32. package/src/consumers/declarativeMapper.js +1 -1
  33. package/src/consumers/handlers/apiHandler.js +1 -1
  34. package/src/consumers/handlers/consoleHandler.js +1 -1
  35. package/src/consumers/handlers/databaseHandler.js +1 -1
  36. package/src/consumers/handlers/index.js +1 -1
  37. package/src/consumers/handlers/kafkaHandler.js +1 -1
  38. package/src/consumers/index.js +1 -1
  39. package/src/consumers/messageTransformer.js +1 -1
  40. package/src/consumers/validator.js +1 -1
  41. package/src/core/db/dialect/base-dialect.js +1 -1
  42. package/src/core/db/dialect/index.js +1 -1
  43. package/src/core/db/dialect/mysql-dialect.js +1 -1
  44. package/src/core/db/dialect/oracle-dialect.js +1 -1
  45. package/src/core/db/dialect/postgres-dialect.js +1 -1
  46. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  47. package/src/core/db/flatten-helper.js +1 -1
  48. package/src/core/db/query-builder-error.js +1 -1
  49. package/src/core/db/query-builder.js +1 -1
  50. package/src/core/db/relation-helper.js +1 -1
  51. package/src/core/handlers/delete_handler.js +1 -1
  52. package/src/core/handlers/insert_handler.js +1 -1
  53. package/src/core/handlers/update_handler.js +1 -1
  54. package/src/core/models/base-model.js +1 -1
  55. package/src/core/utils/cache-manager.js +1 -1
  56. package/src/core/utils/component-engine.js +1 -1
  57. package/src/core/utils/context-builder.js +1 -1
  58. package/src/core/utils/datetime-formatter.js +1 -1
  59. package/src/core/utils/datetime-parser.js +1 -1
  60. package/src/core/utils/db.js +1 -1
  61. package/src/core/utils/logger.js +1 -1
  62. package/src/core/utils/payload-loader.js +1 -1
  63. package/src/core/utils/security-checks.js +1 -1
  64. package/src/middleware/body-options.js +1 -1
  65. package/src/middleware/cors.js +1 -1
  66. package/src/middleware/idempotency.js +1 -1
  67. package/src/middleware/rate-limiter.js +1 -1
  68. package/src/middleware/request-logger.js +1 -1
  69. package/src/middleware/security-headers.js +1 -1
  70. package/src/models/base-model-mysql.js +1 -1
  71. package/src/models/base-model-oracle.js +1 -1
  72. package/src/models/base-model-sqlite.js +1 -1
  73. package/src/models/base-model.js +1 -1
  74. package/src/pro/caching/redis-client.js +1 -1
  75. package/src/pro/caching/redis-helper.js +1 -1
  76. package/src/pro/consumers/baseConsumer.js +1 -1
  77. package/src/pro/consumers/declarativeMapper.js +1 -1
  78. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  79. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  80. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  81. package/src/pro/consumers/handlers/index.js +1 -1
  82. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  83. package/src/pro/consumers/index.js +1 -1
  84. package/src/pro/consumers/messageTransformer.js +1 -1
  85. package/src/pro/consumers/validator.js +1 -1
  86. package/src/pro/database/base-model-mysql.js +1 -1
  87. package/src/pro/database/base-model-oracle.js +1 -1
  88. package/src/pro/database/base-model-sqlite.js +1 -1
  89. package/src/pro/database/db-mysql.js +1 -1
  90. package/src/pro/database/db-oracle.js +1 -1
  91. package/src/pro/database/db-sqlite.js +1 -1
  92. package/src/pro/excel/excel-generator.js +1 -1
  93. package/src/pro/excel/excel-parser.js +1 -1
  94. package/src/pro/excel/export-service.js +1 -1
  95. package/src/pro/excel/export_handler.js +1 -1
  96. package/src/pro/excel/import-service.js +1 -1
  97. package/src/pro/excel/import-validator.js +1 -1
  98. package/src/pro/excel/import_handler.js +1 -1
  99. package/src/pro/excel/upsert-builder.js +1 -1
  100. package/src/pro/idgen/idgen-routes.js +1 -1
  101. package/src/pro/integrations/lookup-resolver.js +1 -1
  102. package/src/pro/integrations/upload-handler-v2.js +1 -1
  103. package/src/pro/integrations/upload-handler.js +1 -1
  104. package/src/pro/integrations/webhook.js +1 -1
  105. package/src/pro/locking/lock-routes.js +1 -1
  106. package/src/pro/locking/resource-lock-manager.js +1 -1
  107. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  108. package/src/pro/messaging/kafkaService.js +1 -1
  109. package/src/pro/messaging/messagehubService.js +1 -1
  110. package/src/pro/messaging/rabbitmqService.js +1 -1
  111. package/src/pro/scheduler/job-manager.js +1 -1
  112. package/src/pro/scheduler/job-routes.js +1 -1
  113. package/src/pro/scheduler/job-validator.js +1 -1
  114. package/src/pro/storage/base-storage-provider.js +1 -1
  115. package/src/pro/storage/file-metadata-helper.js +1 -1
  116. package/src/pro/storage/index.js +1 -1
  117. package/src/pro/storage/local-storage-provider.js +1 -1
  118. package/src/pro/storage/s3-storage-provider.js +1 -1
  119. package/src/pro/storage/upload-cleanup-job.js +1 -1
  120. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  121. package/src/pro/storage/upload-pending-tracker.js +1 -1
  122. package/src/pro/websocket/broadcast-helper.js +1 -1
  123. package/src/pro/websocket/index.js +1 -1
  124. package/src/pro/websocket/livesync-server.js +1 -1
  125. package/src/pro/websocket/ws-broadcaster.js +1 -1
  126. package/src/services/export-service.js +1 -1
  127. package/src/services/import-service.js +1 -1
  128. package/src/services/kafkaConsumerService.js +1 -1
  129. package/src/services/kafkaService.js +1 -1
  130. package/src/services/messagehubService.js +1 -1
  131. package/src/services/rabbitmqService.js +1 -1
  132. package/src/utils/cache-invalidation-registry.js +1 -1
  133. package/src/utils/cache-manager.js +1 -1
  134. package/src/utils/component-engine.js +1 -1
  135. package/src/utils/config-extractor.js +1 -1
  136. package/src/utils/consumerLogger.js +1 -1
  137. package/src/utils/context-builder.js +1 -1
  138. package/src/utils/dashboard-helpers.js +1 -1
  139. package/src/utils/dateHelper.js +1 -1
  140. package/src/utils/datetime-formatter.js +1 -1
  141. package/src/utils/datetime-parser.js +1 -1
  142. package/src/utils/db-bootstrap.js +1 -1
  143. package/src/utils/db-mysql.js +1 -1
  144. package/src/utils/db-oracle.js +1 -1
  145. package/src/utils/db-sqlite.js +1 -1
  146. package/src/utils/db.js +1 -1
  147. package/src/utils/demo-generator.js +1 -1
  148. package/src/utils/excel-generator.js +1 -1
  149. package/src/utils/excel-parser.js +1 -1
  150. package/src/utils/file-watcher.js +1 -1
  151. package/src/utils/id-generator.js +1 -1
  152. package/src/utils/idempotency-manager.js +1 -1
  153. package/src/utils/import-validator.js +1 -1
  154. package/src/utils/license-client.js +1 -1
  155. package/src/utils/lock-manager.js +1 -1
  156. package/src/utils/logger.js +1 -1
  157. package/src/utils/lookup-resolver.js +1 -1
  158. package/src/utils/payload-loader.js +1 -1
  159. package/src/utils/processor-response.js +1 -1
  160. package/src/utils/rabbitmq.js +1 -1
  161. package/src/utils/redis-client.js +1 -1
  162. package/src/utils/redis-helper.js +1 -1
  163. package/src/utils/request-scope.js +1 -1
  164. package/src/utils/security-checks.js +1 -1
  165. package/src/utils/service-resolver.js +1 -1
  166. package/src/utils/shutdown-coordinator.js +1 -1
  167. package/src/utils/trusted-keys.js +1 -1
  168. package/src/utils/upload-handler.js +1 -1
  169. package/src/utils/upsert-builder.js +1 -1
  170. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x29412a=a0_0x2f6e;function a0_0x2f6e(_0x3310ac,_0x7c1d1a){_0x3310ac=_0x3310ac-0x11c;const _0x5d1181=a0_0x5d11();let _0x2f6ef0=_0x5d1181[_0x3310ac];if(a0_0x2f6e['gBRpXA']===undefined){var _0x551eb6=function(_0x3ac53a){const _0x493ed1='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x502db3='',_0x399a22='';for(let _0x4dcbcc=0x0,_0x4cea80,_0x3d4d56,_0x56061f=0x0;_0x3d4d56=_0x3ac53a['charAt'](_0x56061f++);~_0x3d4d56&&(_0x4cea80=_0x4dcbcc%0x4?_0x4cea80*0x40+_0x3d4d56:_0x3d4d56,_0x4dcbcc++%0x4)?_0x502db3+=String['fromCharCode'](0xff&_0x4cea80>>(-0x2*_0x4dcbcc&0x6)):0x0){_0x3d4d56=_0x493ed1['indexOf'](_0x3d4d56);}for(let _0x34b607=0x0,_0x552908=_0x502db3['length'];_0x34b607<_0x552908;_0x34b607++){_0x399a22+='%'+('00'+_0x502db3['charCodeAt'](_0x34b607)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x399a22);};a0_0x2f6e['uLESbV']=_0x551eb6,a0_0x2f6e['FBZlMK']={},a0_0x2f6e['gBRpXA']=!![];}const _0x4acf6a=_0x5d1181[0x0],_0x4e742c=_0x3310ac+_0x4acf6a,_0x62a29c=a0_0x2f6e['FBZlMK'][_0x4e742c];return!_0x62a29c?(_0x2f6ef0=a0_0x2f6e['uLESbV'](_0x2f6ef0),a0_0x2f6e['FBZlMK'][_0x4e742c]=_0x2f6ef0):_0x2f6ef0=_0x62a29c,_0x2f6ef0;}(function(_0x18d22a,_0x35fb99){const _0x10af4c=a0_0x2f6e,_0x36a254=_0x18d22a();while(!![]){try{const _0x5974b7=parseInt(_0x10af4c(0x133))/0x1*(-parseInt(_0x10af4c(0x141))/0x2)+-parseInt(_0x10af4c(0x13c))/0x3*(parseInt(_0x10af4c(0x14a))/0x4)+parseInt(_0x10af4c(0x12e))/0x5+parseInt(_0x10af4c(0x146))/0x6*(parseInt(_0x10af4c(0x125))/0x7)+parseInt(_0x10af4c(0x11d))/0x8+-parseInt(_0x10af4c(0x131))/0x9*(-parseInt(_0x10af4c(0x123))/0xa)+parseInt(_0x10af4c(0x138))/0xb;if(_0x5974b7===_0x35fb99)break;else _0x36a254['push'](_0x36a254['shift']());}catch(_0x2114ab){_0x36a254['push'](_0x36a254['shift']());}}}(a0_0x5d11,0xdb288));const multer=require('multer'),path=require(a0_0x29412a(0x11c)),crypto=require(a0_0x29412a(0x121)),fs=require('fs')[a0_0x29412a(0x130)],fsSync=require('fs'),{logger}=require(a0_0x29412a(0x136));function a0_0x5d11(){const _0x3f062e=['ntK2mdqYChrXqxDY','B3jPz2LUywXUyw1L','Aw5MBW','yxbWBgLJyxrPB24VDM5KlM1Zlwv4y2vS','zxjYB3i','mZbNseHNwum','Aw5JBhvKzxm','x3vWBg9HzerPCG','Dg9mB3DLCKnHC2u','mtzhAMrmq0W','Cgf0Aa','mZCYnZm2mg1xDMzgzG','EMzmC3G','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','z2v0u3rVCMfNzq','y3j5ChrV','A2r0uM0','mZuYmg5VEgD1qW','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','mtyXndCZoxjiquPnzG','CLLHv3q','zgvSzxrLrMLSzq','BfPfy1e','DxbSB2fKrgLY','C2LUz2XL','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','DxbSB2fKx2zPBgvFzgvSzxrLx2vYCM9Y','DxbSB2fKlq','nJG5ntbrwNbjvMG','Bwf4rMLSzvnPEMu','ChjVBwLZzxm','mJi4nJLhv2DXzu0','z2v0vxbSB2fKtwLKzgXLD2fYzq','nevYCxLHBq','rMfPBgvKihrVigLUAxrPywXPEMuGDxbSB2fKigHHBMrSzxi','EvL3rwK','lI9SB2DNzxi','Dw5SAw5R','mJe5mJnXDu9iwwK','zxHWB3j0CW','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','BwvZC2fNzq','mZi5odiZtNbutK1U','zw52','AM1useq','zxHPC3rZu3LUyW','zxH0BMfTzq'];a0_0x5d11=function(){return _0x3f062e;};return a0_0x5d11();}class UploadHandler{constructor(){const _0x5b4cf2=a0_0x29412a,_0x50ef37={'rYaWt':function(_0x5b9379,_0x28a6ed){return _0x5b9379*_0x28a6ed;}};this['_uploadDir']=null,this[_0x5b4cf2(0x12f)]=_0x50ef37['rYaWt'](_0x50ef37[_0x5b4cf2(0x126)](0xa,0x400),0x400);}get['uploadDir'](){const _0x585d67=a0_0x29412a,_0x592e4c={'kdtRm':'default','yYwEi':_0x585d67(0x134)};if(!this[_0x585d67(0x148)]){const _0x2551eb=process['env']['RESTFORGE_PROJECT_NAME']||_0x592e4c[_0x585d67(0x122)];this[_0x585d67(0x148)]=process[_0x585d67(0x13d)]['UPLOAD_DIR']||path['join'](__dirname,'../../temp/uploads/'+_0x2551eb);try{!fsSync['existsSync'](this[_0x585d67(0x148)])&&fsSync['mkdirSync'](this[_0x585d67(0x148)],{'recursive':!![]}),logger['info']({'event':'upload_handler_init','dir':this['_uploadDir']},_0x585d67(0x11f));}catch(_0x1d37e8){logger[_0x585d67(0x145)]({'event':'upload_handler_init_error','error':_0x1d37e8[_0x585d67(0x13b)]},_0x592e4c[_0x585d67(0x135)]);}}return this[_0x585d67(0x148)];}['getStorage'](){const _0x1c7a93={'zfLsx':'hex'};return multer['diskStorage']({'destination':(_0x2b1068,_0x5e77c2,_0x420d38)=>{const _0x28df94=a0_0x2f6e;!fsSync[_0x28df94(0x13f)](this[_0x28df94(0x129)])&&fsSync['mkdirSync'](this[_0x28df94(0x129)],{'recursive':!![]}),_0x420d38(null,this['uploadDir']);},'filename':(_0x2f8d4f,_0x23f91e,_0x1efc1a)=>{const _0x1eed94=a0_0x2f6e,_0x3d6b73=crypto['randomBytes'](0x8)['toString'](_0x1c7a93[_0x1eed94(0x11e)]),_0x3520bc=Date['now'](),_0x29790c=path[_0x1eed94(0x140)](_0x23f91e[_0x1eed94(0x142)]);_0x1efc1a(null,_0x1eed94(0x12d)+_0x3520bc+'-'+_0x3d6b73+_0x29790c);}});}[a0_0x29412a(0x132)](){const _0x53b358=a0_0x29412a,_0x4cb0a9={'jmTHD':'.xls','qlZEy':function(_0x4dda37,_0x242261,_0x1d9d5d){return _0x4dda37(_0x242261,_0x1d9d5d);},'Klwcg':function(_0xd2fbcc,_0x65c5aa){return _0xd2fbcc(_0x65c5aa);},'lZEcQ':_0x53b358(0x13a),'EYOTw':'file'};return multer({'storage':this[_0x53b358(0x120)](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x5f2973,_0x43e42a,_0x3fe334)=>{const _0x5d28e7=_0x53b358,_0x5732e5=[_0x5d28e7(0x124),_0x5d28e7(0x144)],_0x4fad43=['.xlsx',_0x4cb0a9[_0x5d28e7(0x13e)]],_0x5a99d8=path[_0x5d28e7(0x140)](_0x43e42a[_0x5d28e7(0x142)])[_0x5d28e7(0x149)]();_0x5732e5[_0x5d28e7(0x147)](_0x43e42a['mimetype'])&&_0x4fad43['includes'](_0x5a99d8)?_0x4cb0a9['qlZEy'](_0x3fe334,null,!![]):_0x4cb0a9['Klwcg'](_0x3fe334,new Error(_0x4cb0a9[_0x5d28e7(0x128)]));}})[_0x53b358(0x12a)](_0x4cb0a9['EYOTw']);}async[a0_0x29412a(0x127)](_0x5233bf){const _0x5a7c6c=a0_0x29412a,_0xb08854={'lgCFs':'Uploaded\x20file\x20deleted','zaTIz':_0x5a7c6c(0x12c),'JxrQk':_0x5a7c6c(0x12b)};try{await fs[_0x5a7c6c(0x137)](_0x5233bf),logger[_0x5a7c6c(0x143)]({'event':'upload_file_deleted','filePath':_0x5233bf},_0xb08854['lgCFs']);}catch(_0x504988){logger['error']({'event':_0xb08854['zaTIz'],'filePath':_0x5233bf,'error':_0x504988['message']},_0xb08854['JxrQk']);}}}module[a0_0x29412a(0x139)]=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_0x3b4fb2=a0_0x5717;(function(_0x3cf210,_0x434afc){const _0xf843f2=a0_0x5717,_0x49829a=_0x3cf210();while(!![]){try{const _0x5a8a0b=-parseInt(_0xf843f2(0x13d))/0x1*(-parseInt(_0xf843f2(0x151))/0x2)+parseInt(_0xf843f2(0x129))/0x3+parseInt(_0xf843f2(0x162))/0x4+-parseInt(_0xf843f2(0x182))/0x5+-parseInt(_0xf843f2(0x153))/0x6+parseInt(_0xf843f2(0x14e))/0x7+-parseInt(_0xf843f2(0x174))/0x8;if(_0x5a8a0b===_0x434afc)break;else _0x49829a['push'](_0x49829a['shift']());}catch(_0x2f3d6f){_0x49829a['push'](_0x49829a['shift']());}}}(a0_0x5090,0xc8789));const {logger}=require('./logger'),DB_TYPES={'POSTGRESQL':a0_0x3b4fb2(0x134),'MYSQL':a0_0x3b4fb2(0x139),'SQLSERVER':a0_0x3b4fb2(0x14c),'ORACLE':'oracle','SQLITE':'sqlite'};function a0_0x5717(_0x24385b,_0xec7094){_0x24385b=_0x24385b-0x125;const _0x5090ce=a0_0x5090();let _0x5717eb=_0x5090ce[_0x24385b];if(a0_0x5717['PATOLs']===undefined){var _0x3a117e=function(_0x3fb9db){const _0x39b13a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x5840c8='',_0x4cea4a='';for(let _0x331271=0x0,_0x4dd77f,_0x52699b,_0x28f99e=0x0;_0x52699b=_0x3fb9db['charAt'](_0x28f99e++);~_0x52699b&&(_0x4dd77f=_0x331271%0x4?_0x4dd77f*0x40+_0x52699b:_0x52699b,_0x331271++%0x4)?_0x5840c8+=String['fromCharCode'](0xff&_0x4dd77f>>(-0x2*_0x331271&0x6)):0x0){_0x52699b=_0x39b13a['indexOf'](_0x52699b);}for(let _0x4d3597=0x0,_0x57f34c=_0x5840c8['length'];_0x4d3597<_0x57f34c;_0x4d3597++){_0x4cea4a+='%'+('00'+_0x5840c8['charCodeAt'](_0x4d3597)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x4cea4a);};a0_0x5717['DOVrud']=_0x3a117e,a0_0x5717['iwtsrc']={},a0_0x5717['PATOLs']=!![];}const _0x7aae4f=_0x5090ce[0x0],_0x2cc80b=_0x24385b+_0x7aae4f,_0x41b093=a0_0x5717['iwtsrc'][_0x2cc80b];return!_0x41b093?(_0x5717eb=a0_0x5717['DOVrud'](_0x5717eb),a0_0x5717['iwtsrc'][_0x2cc80b]=_0x5717eb):_0x5717eb=_0x41b093,_0x5717eb;}function a0_0x5090(){const _0x3ae523=['id0GDI4','twzWtwC','uKriu2m','u1fmsvrf','mJiYotGXnxD6BwTWza','yMf0y2HFDxbKyxrLx2j1AwX0','laOGicaGicaG','DMfSDwvZ','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','zwntEey','DhLWzq','ndC0mti0nuLQDNnQyq','y2H1BMTsB3DZ','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHnEvnrtcbptIbevvbmsunbveuGs0vzkq','z2v0rgf0ywjHC2vuExbL','oJPct09mrufo','cIaGicaGifvqrefursa','D2fYBG','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','yKrXtxm','cIaGicaGie9oiervueXjq0fursblrvKGvvbeqvrfia','tLvmtdO6refurq','Cg9ZDgDYzxnXBa','ChvZAa','sw52ywXPzcbeqL9uwvbfoIa','laOGicaGicaGica','yM9VBgvHBG','BxLZCwW','AM9PBG','su5trvjuiefmtaO','ue9tveDsrvnrta','muTODuzcta','tLvmta','zgf0zq','q0ftvcG','cIaGica','BwfW','lIbgywXSAw5NigjHy2SGDg8GCg9ZDgDYzxnXBc4','id0GvKfmvuvtka','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','yNvPBgrcyxrJAeLUC2vYDa','DMrbrvO','Aw5JBhvKzxm','icbjtLrpia','D2HXr1y','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','C3fSC2vYDMvY','txPOAKS','mZe5mZqYmuTNz011Bq','yMf0y2HFAw5Zzxj0x2j1AwX0','Cg5jzLq','mtK0otuYmMneAwLLvq','ieforca','ody3nZyYnNrrthjWzG','tLvmtdO6qK9ptevbtG','EfjNsfi','cIaGicbvtKLptIbbteWk','ksbwquXvrvmGka','C2XPy2u','cIaGicaGie1fuKDfieLove8G','BgvUz3rO','r3PVAMu','u1fmu0vsvKvs','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHpCMfJBguGtuvsr0uP','yNvPBgrfC2nHCgvgDw5JDgLVBG','ieftia','zMLSDgvY','DKnizxa','ndiZnZKZmMPMtwzKCq','cIaGicaGiezst00GkfzbtfvfuWOGicaGicaGia','Efzbu1a','B3DVEhK','zM9YBwf0qM9VBgvHBLzHBhvL','seX2y3y','Dg9mB3DLCKnHC2u','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','B3jHy2XL','oJPeqvrf','ieftihqkicaGicaGu0vuia','cIaGicaGicKGqvmGDIG','A25mzwy','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','u0X2se0','rejFvfLqrq','zgvIDwC','zerAExe','mta4ntK5otjdtwXmrKW','wNb4Ee8','t1jbq0Xf','seX4z2e','zM9YBwf0rgf0zvzHBhvL','kqOGicaGicbxsevsrsa','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','CMvWBgfJzq','tKXby04','zxHWB3j0CW'];a0_0x5090=function(){return _0x3ae523;};return a0_0x5090();}class UpsertBuilder{['getDatabaseType'](){const _0x55f7d3=a0_0x3b4fb2,_0x304d02={'HLvcv':'invalid_db_type'},_0x63826c=(process['env'][_0x55f7d3(0x171)]||'postgresql')[_0x55f7d3(0x168)](),_0xb2d3e8=Object[_0x55f7d3(0x185)](DB_TYPES);if(!_0xb2d3e8[_0x55f7d3(0x148)](_0x63826c))return logger[_0x55f7d3(0x12f)]({'event':_0x304d02[_0x55f7d3(0x167)],'provided':_0x63826c,'fallback':'postgresql'},_0x55f7d3(0x136)+_0x63826c+_0x55f7d3(0x143)),DB_TYPES['POSTGRESQL'];return _0x63826c;}[a0_0x3b4fb2(0x178)](_0x252305,_0x14a573,_0x595b4b=![]){const _0x239936=a0_0x3b4fb2,_0x8dc3d3={'xRgHR':_0x239936(0x133),'knLef':_0x239936(0x13e)};if(_0x595b4b)switch(_0x14a573){case DB_TYPES['POSTGRESQL']:return _0x8dc3d3['xRgHR'];case DB_TYPES['MYSQL']:return _0x8dc3d3[_0x239936(0x16e)];case DB_TYPES['SQLITE']:return _0x239936(0x13e);case DB_TYPES[_0x239936(0x15c)]:return _0x8dc3d3['knLef'];case DB_TYPES[_0x239936(0x176)]:return _0x8dc3d3['knLef'];default:return _0x8dc3d3[_0x239936(0x155)];}switch(_0x14a573){case DB_TYPES[_0x239936(0x13c)]:return _0x252305+_0x239936(0x16b);case DB_TYPES['MYSQL']:return _0x252305;case DB_TYPES['SQLITE']:return _0x252305;case DB_TYPES['SQLSERVER']:return _0x239936(0x140)+_0x252305+'\x20AS\x20DATE)';case DB_TYPES['ORACLE']:return'TO_DATE('+_0x252305+',\x20\x27YYYY-MM-DD\x27)';default:return _0x252305+'::DATE';}}['formatBooleanValue'](_0x457853,_0x40ff66,_0x2de9a3=![]){const _0x3a155d=a0_0x3b4fb2;if(_0x2de9a3)switch(_0x40ff66){case DB_TYPES['POSTGRESQL']:return _0x3a155d(0x154);default:return'NULL';}switch(_0x40ff66){case DB_TYPES['POSTGRESQL']:return _0x457853+_0x3a155d(0x12d);case DB_TYPES['ORACLE']:return _0x457853;case DB_TYPES['MYSQL']:return _0x457853;case DB_TYPES[_0x3a155d(0x181)]:return _0x457853;case DB_TYPES[_0x3a155d(0x15c)]:return'CAST('+_0x457853+'\x20AS\x20BIT)';default:return _0x457853+'::BOOLEAN';}}[a0_0x3b4fb2(0x15e)](_0x26af2e={}){const _0x3b20ca=a0_0x3b4fb2,_0x112b05={'vdAEZ':function(_0x174119,_0x4ad35f){return _0x174119===_0x4ad35f;},'mjSPe':'NULL','onrim':'string','RDHSc':function(_0x14fb40,_0x1a9214){return _0x14fb40===_0x1a9214;},'whqGV':_0x3b20ca(0x138),'jUJiG':'number'},_0x5b9467=this['getDatabaseType']();return(_0x4d4a69,_0x193f96)=>{const _0x246289=_0x3b20ca,_0x12378c=_0x26af2e[_0x193f96];if(_0x4d4a69===null||_0x112b05[_0x246289(0x147)](_0x4d4a69,undefined)){if(_0x12378c&&_0x112b05[_0x246289(0x147)](_0x12378c['type'],_0x246289(0x13f)))return this[_0x246289(0x178)](null,_0x5b9467,!![]);if(_0x12378c&&_0x112b05[_0x246289(0x147)](_0x12378c[_0x246289(0x128)],_0x246289(0x138)))return this[_0x246289(0x166)](null,_0x5b9467,!![]);return _0x112b05['mjSPe'];}if(_0x112b05['vdAEZ'](typeof _0x4d4a69,_0x112b05['onrim'])){const _0x5260af='\x27'+_0x4d4a69['replace'](/'/g,'\x27\x27')+'\x27';if(_0x12378c&&_0x112b05[_0x246289(0x180)](_0x12378c['type'],_0x246289(0x13f)))return this['formatDateValue'](_0x5260af,_0x5b9467,![]);if(_0x12378c&&_0x12378c[_0x246289(0x128)]===_0x112b05[_0x246289(0x14a)])return this['formatBooleanValue'](_0x5260af,_0x5b9467,![]);return _0x5260af;}if(typeof _0x4d4a69===_0x112b05['jUJiG'])return _0x4d4a69;if(typeof _0x4d4a69==='boolean')return _0x4d4a69;const _0x414c29='\x27'+String(_0x4d4a69)[_0x246289(0x17b)](/'/g,'\x27\x27')+'\x27';if(_0x12378c&&_0x12378c[_0x246289(0x128)]===_0x246289(0x13f))return this[_0x246289(0x178)](_0x414c29,_0x5b9467,![]);return _0x414c29;};}[a0_0x3b4fb2(0x146)](_0x31026b,_0x144fcd,_0x392fc7,_0x1efde0={}){const _0x48cbab=a0_0x3b4fb2,_0x1512bf={'NLAcN':function(_0x12908b,_0x1561ab){return _0x12908b===_0x1561ab;}},_0x4bcfdf=this['getDatabaseType']();if(_0x1512bf[_0x48cbab(0x17c)](_0x4bcfdf,DB_TYPES[_0x48cbab(0x176)]))return this['_buildBatchInsertOracle'](_0x31026b,_0x144fcd,_0x392fc7,_0x1efde0);return this[_0x48cbab(0x130)](_0x31026b,_0x144fcd,_0x392fc7,_0x1efde0);}[a0_0x3b4fb2(0x130)](_0x4e0cac,_0x144460,_0x47ac66,_0x5dc904={}){const _0x1304be=a0_0x3b4fb2,_0x51e396={'iNHfE':function(_0x505c36,_0x6c608c){return _0x505c36===_0x6c608c;},'HLxga':_0x1304be(0x184),'PaIxn':_0x1304be(0x14f),'ecSxF':'postgresql','SLvHM':_0x1304be(0x125)};if(_0x51e396['iNHfE'](_0x4e0cac[_0x1304be(0x15a)],0x0))return{'query':null,'values':[]};const _0x512f49=this[_0x1304be(0x15e)](_0x5dc904),_0x5a893b=_0x4e0cac[_0x1304be(0x142)](_0x45e7f7=>{const _0x4e4002=_0x1304be,_0x399a1c=_0x47ac66[_0x4e4002(0x142)](_0x4ad9e3=>_0x512f49(_0x45e7f7[_0x4ad9e3],_0x4ad9e3));return'('+_0x399a1c[_0x4e4002(0x13a)](',\x20')+')';}),_0x597dec='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x144460+'\x20('+_0x47ac66['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x5a893b[_0x1304be(0x13a)](_0x51e396[_0x1304be(0x177)])+_0x1304be(0x141);return logger['debug']({'event':_0x51e396['PaIxn'],'tableName':_0x144460,'rowCount':_0x4e0cac['length'],'dbType':_0x51e396[_0x1304be(0x127)]},_0x51e396[_0x1304be(0x170)]),{'query':_0x597dec,'values':[]};}[a0_0x3b4fb2(0x17a)](_0xd5a145,_0x57332e,_0x770807,_0x5bcf59={}){const _0x38410d=a0_0x3b4fb2,_0x5df096={'eHAjY':function(_0x35eade,_0x11770d){return _0x35eade===_0x11770d;},'ZxruT':'batch_insert_built'};if(_0x5df096['eHAjY'](_0xd5a145['length'],0x0))return{'query':null,'values':[]};const _0x7a0dae=this['buildEscapeFunction'](_0x5bcf59),_0x40547b=_0xd5a145['map'](_0x4fbb0f=>{const _0x5e412d=a0_0x5717,_0x3f89bc=_0x770807[_0x5e412d(0x142)](_0x48414c=>_0x7a0dae(_0x4fbb0f[_0x48414c],_0x48414c));return _0x5e412d(0x149)+_0x57332e+'\x20('+_0x770807['join'](',\x20')+_0x5e412d(0x157)+_0x3f89bc['join'](',\x20')+')';}),_0x5b11e5=_0x38410d(0x13b)+_0x40547b[_0x38410d(0x13a)]('\x0a')+'\x0aSELECT\x201\x20FROM\x20DUAL';return logger[_0x38410d(0x172)]({'event':_0x5df096['ZxruT'],'tableName':_0x57332e,'rowCount':_0xd5a145[_0x38410d(0x15a)],'dbType':_0x38410d(0x16a)},'Batch\x20INSERT\x20query\x20built\x20(Oracle)'),{'query':_0x5b11e5,'values':[]};}['buildBatchUpdate'](_0x576504,_0x2a28d3,_0x35cb47,_0x506324,_0x2717c0,_0x55f3db={}){const _0x56e7f4=a0_0x3b4fb2,_0x18e98c={'xVASP':function(_0x1b0377,_0x534335){return _0x1b0377===_0x534335;}},_0x41442a=this[_0x56e7f4(0x12c)]();if(_0x18e98c[_0x56e7f4(0x164)](_0x41442a,DB_TYPES['ORACLE']))return this[_0x56e7f4(0x14b)](_0x576504,_0x2a28d3,_0x35cb47,_0x506324,_0x2717c0,_0x55f3db);if(_0x18e98c[_0x56e7f4(0x164)](_0x41442a,DB_TYPES['MYSQL']))return this[_0x56e7f4(0x126)](_0x576504,_0x2a28d3,_0x35cb47,_0x506324,_0x2717c0,_0x55f3db);return this['_buildBatchUpdatePostgres'](_0x576504,_0x2a28d3,_0x35cb47,_0x506324,_0x2717c0,_0x55f3db);}[a0_0x3b4fb2(0x16f)](_0x2113ec,_0x55b194,_0x4521a3,_0x45ee38,_0x24922b,_0x4b0932={}){const _0x2ae438=a0_0x3b4fb2,_0x405999={'dDZyq':_0x2ae438(0x169),'vCHep':_0x2ae438(0x145),'owoxy':_0x2ae438(0x137),'VVjxL':_0x2ae438(0x134)};if(_0x2113ec['length']===0x0)return{'query':null,'values':[]};const _0x5b0a11=this['buildEscapeFunction'](_0x4b0932),_0x447de4=_0x4521a3['filter'](_0x2865c9=>!_0x24922b['includes'](_0x2865c9)&&_0x2865c9!==_0x45ee38);if(_0x447de4['length']===0x0)return logger[_0x2ae438(0x12f)]({'event':_0x405999[_0x2ae438(0x173)],'tableName':_0x55b194},_0x405999[_0x2ae438(0x161)]),{'query':null,'values':[]};const _0x175f2b=_0x2113ec[_0x2ae438(0x142)](_0xf76d84=>{const _0x2c1c7f=[..._0x24922b,..._0x447de4],_0x3b2789=_0x2c1c7f['map'](_0x1bb5bf=>_0x5b0a11(_0xf76d84[_0x1bb5bf],_0x1bb5bf));return'('+_0x3b2789['join'](',\x20')+')';}),_0x544d18=_0x447de4[_0x2ae438(0x142)](_0x123362=>_0x123362+'\x20=\x20v.'+_0x123362)[_0x2ae438(0x13a)](_0x405999[_0x2ae438(0x165)]),_0x18d971=_0x24922b['map'](_0x5dd075=>'t.'+_0x5dd075+_0x2ae438(0x17e)+_0x5dd075)[_0x2ae438(0x13a)](_0x2ae438(0x152)),_0x3244a2=_0x2ae438(0x12e)+_0x55b194+_0x2ae438(0x16c)+_0x544d18+_0x2ae438(0x163)+_0x175f2b['join'](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20')+_0x2ae438(0x16d)+[..._0x24922b,..._0x447de4]['join'](',\x20')+_0x2ae438(0x179)+_0x18d971+_0x2ae438(0x141);return logger[_0x2ae438(0x172)]({'event':_0x2ae438(0x183),'tableName':_0x55b194,'rowCount':_0x2113ec['length'],'updateColumns':_0x447de4[_0x2ae438(0x15a)],'dbType':_0x405999['VVjxL']},'Batch\x20UPDATE\x20query\x20built\x20(PostgreSQL)'),{'query':_0x3244a2,'values':[]};}['_buildBatchUpdateOracle'](_0x54168f,_0x510b8e,_0x1936ad,_0x28336e,_0x17b36f,_0x1a61b6={}){const _0x35da1a=a0_0x3b4fb2,_0x3f525c={'YInKs':function(_0x34d224,_0x466c14){return _0x34d224===_0x466c14;},'ZpxxO':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','pnIfT':_0x35da1a(0x152),'MzhjK':_0x35da1a(0x156),'bDqMs':'batch_update_built','DgUhy':'oracle'};if(_0x54168f[_0x35da1a(0x15a)]===0x0)return{'query':null,'values':[]};const _0x649462=this['buildEscapeFunction'](_0x1a61b6),_0x290ce5=_0x1936ad['filter'](_0x428df7=>!_0x17b36f['includes'](_0x428df7)&&_0x428df7!==_0x28336e);if(_0x3f525c['YInKs'](_0x290ce5[_0x35da1a(0x15a)],0x0))return logger[_0x35da1a(0x12f)]({'event':'batch_update_no_columns','tableName':_0x510b8e},_0x35da1a(0x145)),{'query':null,'values':[]};const _0x32d842=[..._0x17b36f,..._0x290ce5],_0x306975=_0x54168f['map']((_0x8b4cc4,_0x2fef90)=>{const _0x12b74d=_0x35da1a,_0x356680=_0x32d842[_0x12b74d(0x142)](_0x4258e7=>{const _0x5f69d2=_0x12b74d,_0xf1b287=_0x649462(_0x8b4cc4[_0x4258e7],_0x4258e7);return _0x2fef90===0x0?_0xf1b287+_0x5f69d2(0x15f)+_0x4258e7:_0xf1b287;});return'\x20\x20\x20\x20SELECT\x20'+_0x356680[_0x12b74d(0x13a)](',\x20')+'\x20FROM\x20DUAL';}),_0x35d3bf=_0x290ce5[_0x35da1a(0x142)](_0x547e82=>'t.'+_0x547e82+_0x35da1a(0x17e)+_0x547e82)[_0x35da1a(0x13a)](_0x3f525c[_0x35da1a(0x175)]),_0x5b83c2=_0x17b36f['map'](_0x46d58f=>'t.'+_0x46d58f+_0x35da1a(0x17e)+_0x46d58f)[_0x35da1a(0x13a)](_0x3f525c[_0x35da1a(0x150)]),_0x76abf9=_0x35da1a(0x159)+_0x510b8e+'\x20t\x0a\x20\x20\x20\x20\x20\x20USING\x20(\x0a'+_0x306975[_0x35da1a(0x13a)](_0x3f525c[_0x35da1a(0x14d)])+'\x0a\x20\x20\x20\x20\x20\x20)\x20v\x0a\x20\x20\x20\x20\x20\x20ON\x20('+_0x5b83c2+')\x0a\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x20'+_0x35d3bf+_0x35da1a(0x141);return logger['debug']({'event':_0x3f525c[_0x35da1a(0x131)],'tableName':_0x510b8e,'rowCount':_0x54168f['length'],'updateColumns':_0x290ce5['length'],'dbType':_0x3f525c['DgUhy']},_0x35da1a(0x15d)),{'query':_0x76abf9,'values':[]};}[a0_0x3b4fb2(0x126)](_0x194808,_0x4ce296,_0x5cbab0,_0x3b3821,_0x1f8210,_0x5320c8={}){const _0x46f93b=a0_0x3b4fb2,_0x16126d={'yTFBd':function(_0x3e1b43,_0x327198){return _0x3e1b43===_0x327198;},'vaJui':'batch_update_no_columns','dXmmK':_0x46f93b(0x137),'Gzoje':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20','MfpMg':'batch_update_built','gzNcy':_0x46f93b(0x139),'qnehb':_0x46f93b(0x12b)};if(_0x16126d['yTFBd'](_0x194808['length'],0x0))return{'query':null,'values':[]};const _0x243df6=this[_0x46f93b(0x15e)](_0x5320c8),_0x5f5d76=_0x5cbab0[_0x46f93b(0x160)](_0x53dd48=>!_0x1f8210[_0x46f93b(0x148)](_0x53dd48)&&_0x53dd48!==_0x3b3821);if(_0x5f5d76[_0x46f93b(0x15a)]===0x0)return logger[_0x46f93b(0x12f)]({'event':_0x16126d['vaJui'],'tableName':_0x4ce296},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x42dc73=[...new Set([..._0x1f8210,..._0x5f5d76])],_0x2cfd0a=_0x194808['map'](_0x3e849a=>{const _0xd397bf=_0x46f93b,_0x81f6c8=_0x42dc73[_0xd397bf(0x142)](_0x5009c8=>_0x243df6(_0x3e849a[_0x5009c8],_0x5009c8));return'('+_0x81f6c8['join'](',\x20')+')';}),_0x4b0b6c=_0x5f5d76['map'](_0x557b05=>_0x557b05+_0x46f93b(0x144)+_0x557b05+')')[_0x46f93b(0x13a)](_0x16126d['dXmmK']),_0x5b1a40='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x4ce296+'\x20('+_0x42dc73['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x2cfd0a[_0x46f93b(0x13a)](_0x16126d[_0x46f93b(0x15b)])+_0x46f93b(0x132)+_0x4b0b6c+'\x0a\x20\x20\x20\x20';return logger[_0x46f93b(0x172)]({'event':_0x16126d[_0x46f93b(0x17f)],'tableName':_0x4ce296,'rowCount':_0x194808[_0x46f93b(0x15a)],'updateColumns':_0x5f5d76[_0x46f93b(0x15a)],'dbType':_0x16126d['gzNcy']},_0x16126d['qnehb']),{'query':_0x5b1a40,'values':[]};}[a0_0x3b4fb2(0x12a)](_0x2920e3,_0x5ceace=0x64){const _0x5eebd4=a0_0x3b4fb2,_0x474778=[];for(let _0x592f1c=0x0;_0x592f1c<_0x2920e3['length'];_0x592f1c+=_0x5ceace){_0x474778[_0x5eebd4(0x135)](_0x2920e3[_0x5eebd4(0x158)](_0x592f1c,_0x592f1c+_0x5ceace));}return _0x474778;}}module[a0_0x3b4fb2(0x17d)]=new UpsertBuilder();
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_0x4561df=a0_0xdf1f;(function(_0x3fa4c0,_0x2f6594){const _0x362df6=a0_0xdf1f,_0x2c1e00=_0x3fa4c0();while(!![]){try{const _0x10dd48=-parseInt(_0x362df6(0xa6))/0x1+parseInt(_0x362df6(0xbd))/0x2*(parseInt(_0x362df6(0xb4))/0x3)+parseInt(_0x362df6(0xc1))/0x4*(parseInt(_0x362df6(0xab))/0x5)+parseInt(_0x362df6(0x89))/0x6+-parseInt(_0x362df6(0x8d))/0x7+parseInt(_0x362df6(0x8b))/0x8*(-parseInt(_0x362df6(0x8a))/0x9)+parseInt(_0x362df6(0x88))/0xa*(parseInt(_0x362df6(0xa5))/0xb);if(_0x10dd48===_0x2f6594)break;else _0x2c1e00['push'](_0x2c1e00['shift']());}catch(_0x1e1a7c){_0x2c1e00['push'](_0x2c1e00['shift']());}}}(a0_0x44bd,0xcf526));const axios=require(a0_0x4561df(0xa4)),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD=a0_0x4561df(0xc3),DEFAULT_HOST='localhost',DEFAULT_PORT=0xbb8;function resolveTemplateString(_0x181d3b,_0x3fb746){const _0x395020=a0_0x4561df,_0x2514d6={'AgoZL':function(_0x47162d,_0x583f52,_0x1531bb){return _0x47162d(_0x583f52,_0x1531bb);},'HXVRK':function(_0x16eaa9,_0x52cade){return _0x16eaa9===_0x52cade;}};if(typeof _0x181d3b!=='string')return _0x181d3b;return _0x181d3b[_0x395020(0xad)](/\{\{([^}]+)\}\}/g,(_0x114f7d,_0x1ad91f)=>{const _0x73d2d6=_0x395020,_0x4f3d52=_0x1ad91f[_0x73d2d6(0xbc)](),_0x211936=_0x2514d6['AgoZL'](getNestedValue,_0x3fb746,_0x4f3d52);if(_0x211936!==undefined&&_0x211936!==null)return _0x2514d6['HXVRK'](typeof _0x211936,'object')?JSON[_0x73d2d6(0xa1)](_0x211936):String(_0x211936);return _0x114f7d;});}function resolveTemplateVariables(_0x194fe7,_0x27e106){const _0x2d858f=a0_0x4561df,_0x18ded6={'dfJJj':function(_0x4cf3da,_0x300266){return _0x4cf3da===_0x300266;},'dMEPc':function(_0x43a28e,_0x3f4cc2){return _0x43a28e!==_0x3f4cc2;}};if(_0x18ded6[_0x2d858f(0x94)](typeof _0x194fe7,_0x2d858f(0xa3)))return resolveTemplateString(_0x194fe7,_0x27e106);if(Array[_0x2d858f(0xb8)](_0x194fe7))return _0x194fe7[_0x2d858f(0x9e)](_0x15f0b0=>resolveTemplateVariables(_0x15f0b0,_0x27e106));if(_0x18ded6[_0x2d858f(0x8f)](_0x194fe7,null)&&_0x18ded6[_0x2d858f(0x94)](typeof _0x194fe7,'object')){const _0x9affdf={};for(const [_0x456c72,_0x939145]of Object['entries'](_0x194fe7)){_0x9affdf[_0x456c72]=resolveTemplateVariables(_0x939145,_0x27e106);}return _0x9affdf;}return _0x194fe7;}function a0_0xdf1f(_0xde746a,_0x19b134){_0xde746a=_0xde746a-0x88;const _0x44bd62=a0_0x44bd();let _0xdf1f93=_0x44bd62[_0xde746a];if(a0_0xdf1f['TPYZcs']===undefined){var _0x229b23=function(_0x58da4a){const _0x395b45='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x34cd9d='',_0x3fbdf8='';for(let _0x1000cc=0x0,_0x5cfbe0,_0x5b434e,_0x135c94=0x0;_0x5b434e=_0x58da4a['charAt'](_0x135c94++);~_0x5b434e&&(_0x5cfbe0=_0x1000cc%0x4?_0x5cfbe0*0x40+_0x5b434e:_0x5b434e,_0x1000cc++%0x4)?_0x34cd9d+=String['fromCharCode'](0xff&_0x5cfbe0>>(-0x2*_0x1000cc&0x6)):0x0){_0x5b434e=_0x395b45['indexOf'](_0x5b434e);}for(let _0x35bbf0=0x0,_0x13882f=_0x34cd9d['length'];_0x35bbf0<_0x13882f;_0x35bbf0++){_0x3fbdf8+='%'+('00'+_0x34cd9d['charCodeAt'](_0x35bbf0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x3fbdf8);};a0_0xdf1f['KXDigp']=_0x229b23,a0_0xdf1f['WOhkiB']={},a0_0xdf1f['TPYZcs']=!![];}const _0x9f468c=_0x44bd62[0x0],_0x57096d=_0xde746a+_0x9f468c,_0x58846=a0_0xdf1f['WOhkiB'][_0x57096d];return!_0x58846?(_0xdf1f93=a0_0xdf1f['KXDigp'](_0xdf1f93),a0_0xdf1f['WOhkiB'][_0x57096d]=_0xdf1f93):_0xdf1f93=_0x58846,_0xdf1f93;}function getNestedValue(_0x50e493,_0x1f8e90){const _0x2f6c17=a0_0x4561df,_0x268103={'sFdnS':function(_0x3b4347,_0x382715){return _0x3b4347!==_0x382715;}};return _0x1f8e90[_0x2f6c17(0x9d)]('.')[_0x2f6c17(0x97)]((_0x49b1b0,_0x17e87e)=>{return _0x49b1b0&&_0x268103['sFdnS'](_0x49b1b0[_0x17e87e],undefined)?_0x49b1b0[_0x17e87e]:undefined;},_0x50e493);}function resolveUrl(_0x5711ec,_0x3c7935){const _0x18dbff=a0_0x4561df,_0x190538={'MMElk':'string','nmEcX':_0x18dbff(0x99)};if(!_0x5711ec||typeof _0x5711ec!==_0x190538[_0x18dbff(0xae)])return _0x5711ec;if(_0x5711ec[_0x18dbff(0xb9)](_0x18dbff(0xba))||_0x5711ec[_0x18dbff(0xb9)](_0x190538[_0x18dbff(0xbb)]))return _0x5711ec;const _0x2671c6=process[_0x18dbff(0xb1)]['SERVER_ADDRESS']||process['env']['HOST']||DEFAULT_HOST,_0x1d7489=process[_0x18dbff(0xb1)][_0x18dbff(0xa2)]||DEFAULT_PORT,_0x2908ba='http://'+_0x2671c6+':'+_0x1d7489;if(_0x5711ec['startsWith'](_0x18dbff(0xb3)))return''+_0x2908ba+_0x5711ec;if(_0x5711ec[_0x18dbff(0xb9)]('/')){const _0x227d82=_0x3c7935&&_0x3c7935[_0x18dbff(0x90)]||'';if(_0x227d82)return _0x2908ba+_0x18dbff(0xb3)+_0x227d82+_0x5711ec;return''+_0x2908ba+_0x5711ec;}return _0x5711ec;}function buildHookContext(_0x201038){const _0x448007=a0_0x4561df,_0x5e22fa={'iXvsw':_0x448007(0xa9)};return{'id':_0x201038['id']||'','newStatus':_0x201038[_0x448007(0x98)]||'','oldStatus':_0x201038['oldStatus']||'','remarks':_0x201038['remarks']||'','tableName':_0x201038[_0x448007(0xb2)]||'','user_id':_0x201038['userId']||_0x5e22fa['iXvsw'],'timestamp':new Date()['toISOString'](),'record':_0x201038[_0x448007(0xb6)]||{},'requestData':_0x201038[_0x448007(0xc0)]||{},'project':_0x201038[_0x448007(0x90)]||'','authHeader':_0x201038['authHeader']||null};}async function executeHook(_0x219dba,_0x59a94c){const _0x25f5e7=a0_0x4561df,_0x35fa3e={'vvSMM':_0x25f5e7(0x8c),'fAsjj':function(_0x13a7e3,_0x472794,_0x150f1b){return _0x13a7e3(_0x472794,_0x150f1b);},'GpZsu':function(_0x1ddac7,_0x238d49){return _0x1ddac7!==_0x238d49;},'ztPXY':_0x25f5e7(0x92),'kEOVy':_0x25f5e7(0xb0)};if(!_0x219dba||_0x219dba[_0x25f5e7(0xc5)]!==_0x25f5e7(0x9b))return{'success':!![],'message':_0x35fa3e[_0x25f5e7(0x91)]};const _0x11b545=_0x219dba[_0x25f5e7(0xaa)]===!![],_0x56b1c0=(_0x219dba['method']||DEFAULT_METHOD)['toUpperCase'](),_0x52c15a=_0x219dba['timeout']||DEFAULT_TIMEOUT,_0xfcd06e=_0x35fa3e['fAsjj'](resolveTemplateString,_0x219dba[_0x25f5e7(0x95)],_0x59a94c),_0x1ab39d=resolveUrl(_0xfcd06e,_0x59a94c),_0x497280=_0x219dba[_0x25f5e7(0x9a)]?resolveTemplateVariables(_0x219dba['body'],_0x59a94c):{},_0x619552=_0x219dba[_0x25f5e7(0xaf)]?_0x35fa3e[_0x25f5e7(0x8e)](resolveTemplateVariables,_0x219dba['headers'],_0x59a94c):{},_0x3b026b=_0x619552&&(_0x35fa3e[_0x25f5e7(0xa8)](_0x619552[_0x25f5e7(0xc2)],undefined)||_0x619552[_0x25f5e7(0x9f)]!==undefined),_0x4ba8a6=!_0x3b026b&&_0x59a94c&&_0x59a94c[_0x25f5e7(0x93)]?{'Authorization':_0x59a94c['authHeader']}:{};try{const _0x4b1cfd=await axios({'method':_0x56b1c0[_0x25f5e7(0xbe)](),'url':_0x1ab39d,'data':_0x497280,'headers':{'Content-Type':_0x35fa3e['ztPXY'],'User-Agent':_0x35fa3e['kEOVy'],..._0x4ba8a6,..._0x619552},'timeout':_0x52c15a});return console[_0x25f5e7(0xb7)](_0x25f5e7(0xa7)+_0x56b1c0+'\x20'+_0x1ab39d+_0x25f5e7(0x96)+_0x4b1cfd['status']),{'success':!![],'message':'Hook\x20executed\x20successfully','status':_0x4b1cfd['status'],'url':_0x1ab39d};}catch(_0x269481){const _0x4a74ba=_0x269481[_0x25f5e7(0xac)]?'HTTP\x20'+_0x269481['response']['status']+':\x20'+_0x269481['response'][_0x25f5e7(0xa0)]:_0x269481['message'];console['error']('Workflow\x20hook\x20failed:\x20'+_0x56b1c0+'\x20'+_0x1ab39d+'\x20→\x20'+_0x4a74ba);if(_0x11b545)return{'success':![],'message':'Blocking\x20hook\x20failed:\x20'+_0x4a74ba,'error':_0x4a74ba,'url':_0x1ab39d};return console[_0x25f5e7(0xc4)]('Non-blocking\x20hook\x20failed\x20(ignored):\x20'+_0x4a74ba),{'success':!![],'message':_0x25f5e7(0xbf)+_0x4a74ba,'warning':_0x4a74ba,'url':_0x1ab39d};}}async function executeHooks(_0x480027,_0x3238a9){const _0x166c20=a0_0x4561df,_0x4eac4a={'QFZTA':'Hook\x20execution\x20failed'};if(!_0x480027||!Array[_0x166c20(0xb8)](_0x480027)||_0x480027[_0x166c20(0xb5)]===0x0)return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x3e8a9d=[];for(const _0x222e4c of _0x480027){const _0x214180=await executeHook(_0x222e4c,_0x3238a9);_0x3e8a9d['push'](_0x214180);if(!_0x214180['success'])return{'success':![],'error':_0x214180[_0x166c20(0x9c)]||_0x4eac4a['QFZTA'],'results':_0x3e8a9d,'hooksExecuted':_0x3e8a9d[_0x166c20(0xb5)]};}return{'success':!![],'results':_0x3e8a9d,'hooksExecuted':_0x3e8a9d['length']};}module['exports']={'resolveTemplateString':resolveTemplateString,'resolveTemplateVariables':resolveTemplateVariables,'resolveUrl':resolveUrl,'buildHookContext':buildHookContext,'executeHook':executeHook,'executeHooks':executeHooks};function a0_0x44bd(){const _0x3ff801=['mZqXnZuZnMrAuNznrW','qxv0Ag9YAxPHDgLVBG','ue9tva','D2fYBG','DhLWzq','mZiXnZiZmhfdz0jPCG','mtqYmda2ohjevKfMyG','ow1gtvfUwq','odyXmdKYoerfy01PrW','sg9VAYbZA2LWCgvKoIb1BNn1ChbVCNrLzcb0ExbL','nJC2ndaZtw5syLre','zKfZAMO','ze1fugm','ChjVAMvJDa','DNzttu0','yxbWBgLJyxrPB24VANnVBG','yxv0AeHLywrLCG','zgzksMO','DxjS','iokgKIa','CMvKDwnL','BMv3u3rHDhvZ','Ahr0Chm6lY8','yM9KEq','yxbP','BwvZC2fNzq','C3bSAxq','BwfW','yxv0Ag9YAxPHDgLVBG','C3rHDhvZvgv4Da','C3rYAw5NAwz5','ue9sva','C3rYAw5N','yxHPB3m','mJjiwLbXCNe','otmYodL0uuLxyKS','v29YA2zSB3CGAg9VAYbLEgvJDxrLzdOG','r3bAC3u','C3LZDgvT','yMXVy2TPBMC','nunVuhPIrq','CMvZCg9UC2u','CMvWBgfJzq','tu1fBgS','AgvHzgvYCW','uMvZDezVCMDLlvDVCMTMBg93lZeUma','zw52','DgfIBgvoyw1L','l2fWAs8','mte0mJG5ogLIBhvfBW','BgvUz3rO','CMvJB3jK','Bg9N','AxnbCNjHEq','C3rHCNrZv2L0Aa','Ahr0CdOVlW','BM1fy1G','DhjPBq','mNzeC2jtuq','Dg9mB3DLCKnHC2u','tM9UlwjSB2nRAw5NigHVB2SGzMfPBgvKicHPz25VCMvKktOG','CMvXDwvZDerHDge'];a0_0x44bd=function(){return _0x3ff801;};return a0_0x44bd();}
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};