@restforgejs/platform 5.1.0 → 5.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (178) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/data/pull.js +95 -0
  5. package/generators/cli/data/push.js +85 -0
  6. package/generators/cli/fast-track.js +12 -25
  7. package/generators/cli/schema/introspect.js +10 -10
  8. package/generators/lib/data/db-executor.js +440 -0
  9. package/generators/lib/data/dialect-kit.js +56 -0
  10. package/generators/lib/data/envelope.js +220 -0
  11. package/generators/lib/data/pull-runner.js +407 -0
  12. package/generators/lib/data/push-runner.js +382 -0
  13. package/generators/lib/data/sdf-reader.js +132 -0
  14. package/generators/lib/data/table-order.js +126 -0
  15. package/generators/lib/data/value-codec.js +188 -0
  16. package/generators/lib/templates/dashboard-catalog.js +1 -1
  17. package/generators/lib/templates/db-connection-env.js +1 -1
  18. package/generators/lib/templates/dbschema-catalog.js +1 -1
  19. package/generators/lib/templates/field-validation-catalog.js +1 -1
  20. package/generators/lib/templates/mysql-template.js +1 -1
  21. package/generators/lib/templates/oracle-template.js +1 -1
  22. package/generators/lib/templates/postgres-template.js +1 -1
  23. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  24. package/generators/lib/templates/sqlite-template.js +1 -1
  25. package/integrity-manifest.json +18 -18
  26. package/package.json +1 -1
  27. package/scripts/verify-integrity.js +1 -1
  28. package/server.js +1 -1
  29. package/src/components/handlers/adjust_handler.js +1 -1
  30. package/src/components/handlers/audit_handler.js +1 -1
  31. package/src/components/handlers/delete_handler.js +1 -1
  32. package/src/components/handlers/export_handler.js +1 -1
  33. package/src/components/handlers/import_handler.js +1 -1
  34. package/src/components/handlers/insert_handler.js +1 -1
  35. package/src/components/handlers/update_handler.js +1 -1
  36. package/src/components/handlers/upload_handler.js +1 -1
  37. package/src/components/handlers/workflow_handler.js +1 -1
  38. package/src/components/integrations/webhook.js +1 -1
  39. package/src/consumers/baseConsumer.js +1 -1
  40. package/src/consumers/declarativeMapper.js +1 -1
  41. package/src/consumers/handlers/apiHandler.js +1 -1
  42. package/src/consumers/handlers/consoleHandler.js +1 -1
  43. package/src/consumers/handlers/databaseHandler.js +1 -1
  44. package/src/consumers/handlers/index.js +1 -1
  45. package/src/consumers/handlers/kafkaHandler.js +1 -1
  46. package/src/consumers/index.js +1 -1
  47. package/src/consumers/messageTransformer.js +1 -1
  48. package/src/consumers/validator.js +1 -1
  49. package/src/core/db/dialect/base-dialect.js +1 -1
  50. package/src/core/db/dialect/index.js +1 -1
  51. package/src/core/db/dialect/mysql-dialect.js +1 -1
  52. package/src/core/db/dialect/oracle-dialect.js +1 -1
  53. package/src/core/db/dialect/postgres-dialect.js +1 -1
  54. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  55. package/src/core/db/flatten-helper.js +1 -1
  56. package/src/core/db/query-builder-error.js +1 -1
  57. package/src/core/db/query-builder.js +1 -1
  58. package/src/core/db/relation-helper.js +1 -1
  59. package/src/core/handlers/delete_handler.js +1 -1
  60. package/src/core/handlers/insert_handler.js +1 -1
  61. package/src/core/handlers/update_handler.js +1 -1
  62. package/src/core/models/base-model.js +1 -1
  63. package/src/core/utils/cache-manager.js +1 -1
  64. package/src/core/utils/component-engine.js +1 -1
  65. package/src/core/utils/context-builder.js +1 -1
  66. package/src/core/utils/datetime-formatter.js +1 -1
  67. package/src/core/utils/datetime-parser.js +1 -1
  68. package/src/core/utils/db.js +1 -1
  69. package/src/core/utils/logger.js +1 -1
  70. package/src/core/utils/payload-loader.js +1 -1
  71. package/src/core/utils/security-checks.js +1 -1
  72. package/src/middleware/body-options.js +1 -1
  73. package/src/middleware/cors.js +1 -1
  74. package/src/middleware/idempotency.js +1 -1
  75. package/src/middleware/rate-limiter.js +1 -1
  76. package/src/middleware/request-logger.js +1 -1
  77. package/src/middleware/security-headers.js +1 -1
  78. package/src/models/base-model-mysql.js +1 -1
  79. package/src/models/base-model-oracle.js +1 -1
  80. package/src/models/base-model-sqlite.js +1 -1
  81. package/src/models/base-model.js +1 -1
  82. package/src/pro/caching/redis-client.js +1 -1
  83. package/src/pro/caching/redis-helper.js +1 -1
  84. package/src/pro/consumers/baseConsumer.js +1 -1
  85. package/src/pro/consumers/declarativeMapper.js +1 -1
  86. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  87. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  88. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  89. package/src/pro/consumers/handlers/index.js +1 -1
  90. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  91. package/src/pro/consumers/index.js +1 -1
  92. package/src/pro/consumers/messageTransformer.js +1 -1
  93. package/src/pro/consumers/validator.js +1 -1
  94. package/src/pro/database/base-model-mysql.js +1 -1
  95. package/src/pro/database/base-model-oracle.js +1 -1
  96. package/src/pro/database/base-model-sqlite.js +1 -1
  97. package/src/pro/database/db-mysql.js +1 -1
  98. package/src/pro/database/db-oracle.js +1 -1
  99. package/src/pro/database/db-sqlite.js +1 -1
  100. package/src/pro/excel/excel-generator.js +1 -1
  101. package/src/pro/excel/excel-parser.js +1 -1
  102. package/src/pro/excel/export-service.js +1 -1
  103. package/src/pro/excel/export_handler.js +1 -1
  104. package/src/pro/excel/import-service.js +1 -1
  105. package/src/pro/excel/import-validator.js +1 -1
  106. package/src/pro/excel/import_handler.js +1 -1
  107. package/src/pro/excel/upsert-builder.js +1 -1
  108. package/src/pro/idgen/idgen-routes.js +1 -1
  109. package/src/pro/integrations/lookup-resolver.js +1 -1
  110. package/src/pro/integrations/upload-handler-v2.js +1 -1
  111. package/src/pro/integrations/upload-handler.js +1 -1
  112. package/src/pro/integrations/webhook.js +1 -1
  113. package/src/pro/locking/lock-routes.js +1 -1
  114. package/src/pro/locking/resource-lock-manager.js +1 -1
  115. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  116. package/src/pro/messaging/kafkaService.js +1 -1
  117. package/src/pro/messaging/messagehubService.js +1 -1
  118. package/src/pro/messaging/rabbitmqService.js +1 -1
  119. package/src/pro/scheduler/job-manager.js +1 -1
  120. package/src/pro/scheduler/job-routes.js +1 -1
  121. package/src/pro/scheduler/job-validator.js +1 -1
  122. package/src/pro/storage/base-storage-provider.js +1 -1
  123. package/src/pro/storage/file-metadata-helper.js +1 -1
  124. package/src/pro/storage/index.js +1 -1
  125. package/src/pro/storage/local-storage-provider.js +1 -1
  126. package/src/pro/storage/s3-storage-provider.js +1 -1
  127. package/src/pro/storage/upload-cleanup-job.js +1 -1
  128. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  129. package/src/pro/storage/upload-pending-tracker.js +1 -1
  130. package/src/pro/websocket/broadcast-helper.js +1 -1
  131. package/src/pro/websocket/index.js +1 -1
  132. package/src/pro/websocket/livesync-server.js +1 -1
  133. package/src/pro/websocket/ws-broadcaster.js +1 -1
  134. package/src/services/export-service.js +1 -1
  135. package/src/services/import-service.js +1 -1
  136. package/src/services/kafkaConsumerService.js +1 -1
  137. package/src/services/kafkaService.js +1 -1
  138. package/src/services/messagehubService.js +1 -1
  139. package/src/services/rabbitmqService.js +1 -1
  140. package/src/utils/cache-invalidation-registry.js +1 -1
  141. package/src/utils/cache-manager.js +1 -1
  142. package/src/utils/component-engine.js +1 -1
  143. package/src/utils/config-extractor.js +1 -1
  144. package/src/utils/consumerLogger.js +1 -1
  145. package/src/utils/context-builder.js +1 -1
  146. package/src/utils/dashboard-helpers.js +1 -1
  147. package/src/utils/dateHelper.js +1 -1
  148. package/src/utils/datetime-formatter.js +1 -1
  149. package/src/utils/datetime-parser.js +1 -1
  150. package/src/utils/db-bootstrap.js +1 -1
  151. package/src/utils/db-mysql.js +1 -1
  152. package/src/utils/db-oracle.js +1 -1
  153. package/src/utils/db-sqlite.js +1 -1
  154. package/src/utils/db.js +1 -1
  155. package/src/utils/demo-generator.js +1 -1
  156. package/src/utils/excel-generator.js +1 -1
  157. package/src/utils/excel-parser.js +1 -1
  158. package/src/utils/file-watcher.js +1 -1
  159. package/src/utils/id-generator.js +1 -1
  160. package/src/utils/idempotency-manager.js +1 -1
  161. package/src/utils/import-validator.js +1 -1
  162. package/src/utils/license-client.js +1 -1
  163. package/src/utils/lock-manager.js +1 -1
  164. package/src/utils/logger.js +1 -1
  165. package/src/utils/lookup-resolver.js +1 -1
  166. package/src/utils/payload-loader.js +1 -1
  167. package/src/utils/processor-response.js +1 -1
  168. package/src/utils/rabbitmq.js +1 -1
  169. package/src/utils/redis-client.js +1 -1
  170. package/src/utils/redis-helper.js +1 -1
  171. package/src/utils/request-scope.js +1 -1
  172. package/src/utils/security-checks.js +1 -1
  173. package/src/utils/service-resolver.js +1 -1
  174. package/src/utils/shutdown-coordinator.js +1 -1
  175. package/src/utils/trusted-keys.js +1 -1
  176. package/src/utils/upload-handler.js +1 -1
  177. package/src/utils/upsert-builder.js +1 -1
  178. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- function a0_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
+ function a0_0x4b05(_0x35d6e3,_0x54255e){_0x35d6e3=_0x35d6e3-0x9f;const _0x89c3ee=a0_0x89c3();let _0x4b0533=_0x89c3ee[_0x35d6e3];if(a0_0x4b05['anrWjT']===undefined){var _0x511f58=function(_0x48fb6d){const _0xbf7c78='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1552ba='',_0x50bf90='';for(let _0x45c682=0x0,_0x4ccfab,_0x32bc9d,_0x3b9043=0x0;_0x32bc9d=_0x48fb6d['charAt'](_0x3b9043++);~_0x32bc9d&&(_0x4ccfab=_0x45c682%0x4?_0x4ccfab*0x40+_0x32bc9d:_0x32bc9d,_0x45c682++%0x4)?_0x1552ba+=String['fromCharCode'](0xff&_0x4ccfab>>(-0x2*_0x45c682&0x6)):0x0){_0x32bc9d=_0xbf7c78['indexOf'](_0x32bc9d);}for(let _0x59cab3=0x0,_0x5de8e5=_0x1552ba['length'];_0x59cab3<_0x5de8e5;_0x59cab3++){_0x50bf90+='%'+('00'+_0x1552ba['charCodeAt'](_0x59cab3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x50bf90);};a0_0x4b05['ABbrpy']=_0x511f58,a0_0x4b05['hjfmhR']={},a0_0x4b05['anrWjT']=!![];}const _0x2bc0fd=_0x89c3ee[0x0],_0xad8a71=_0x35d6e3+_0x2bc0fd,_0x33118b=a0_0x4b05['hjfmhR'][_0xad8a71];return!_0x33118b?(_0x4b0533=a0_0x4b05['ABbrpy'](_0x4b0533),a0_0x4b05['hjfmhR'][_0xad8a71]=_0x4b0533):_0x4b0533=_0x33118b,_0x4b0533;}const a0_0x2f357d=a0_0x4b05;function a0_0x89c3(){const _0x589aa6=['mte4ody1n0rrEu1VEa','zxHWB3j0CW','mtyZntmWA1rHrvHV','yxbWBgLJyxrPB24VDM5KlM1Zlwv4y2vS','BwvZC2fNzq','Aw5MBW','x3vWBg9HzerPCG','s2zSCKO','oduZmJnsr0jnD1C','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','lNHSC3G','vgngELy','vxbSB2fKzwqGzMLSzsbKzwXLDgvK','mJm0u0nmr0TJ','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','lI9SB2DNzxi','zxHPC3rZu3LUyW','mJblDhDsrha','Bwf4rMLSzvnPEMu','zxH0BMfTzq','Dw5SAw5R','nJmYmZi1nM9MELLoyG','q3rqrfC','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','AK11DLi','DxbSB2fKrgLY','lI4VlI4VDgvTCc91CgXVywrZlW','mtK4nvDYAw5fAq','Dg9tDhjPBMC','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','nta5mZC2mfPgEengAG','Aw5JBhvKzxm','Agv4','mtm4oda5oePmDgTLBG','C2LUz2XL','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','zgLZA1n0B3jHz2u','zw52','B3jPz2LUywXUyw1L','yxbWBgLJyxrPB24VDM5KlM9Wzw54BwXMB3jTyxrZlw9MzMLJzwrVy3vTzw50lNnWCMvHzhnOzwv0BwWUC2HLzxq','DxbSB2fKlq'];a0_0x89c3=function(){return _0x589aa6;};return a0_0x89c3();}(function(_0x4b93d0,_0x20c757){const _0x18c00e=a0_0x4b05,_0x431772=_0x4b93d0();while(!![]){try{const _0x18f645=-parseInt(_0x18c00e(0xc4))/0x1+-parseInt(_0x18c00e(0xba))/0x2+parseInt(_0x18c00e(0xc2))/0x3+-parseInt(_0x18c00e(0xaa))/0x4*(parseInt(_0x18c00e(0xb4))/0x5)+parseInt(_0x18c00e(0xa6))/0x6*(-parseInt(_0x18c00e(0xa1))/0x7)+parseInt(_0x18c00e(0xb7))/0x8+parseInt(_0x18c00e(0xae))/0x9;if(_0x18f645===_0x20c757)break;else _0x431772['push'](_0x431772['shift']());}catch(_0x162b81){_0x431772['push'](_0x431772['shift']());}}}(a0_0x89c3,0x61ccc));const multer=require('multer'),path=require('path'),crypto=require('crypto'),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require(a0_0x2f357d(0xa8));class UploadHandler{constructor(){this['_uploadDir']=null,this['maxFileSize']=0xa*0x400*0x400;}get[a0_0x2f357d(0xb2)](){const _0x110b66=a0_0x2f357d,_0x4bf591={'TcFzV':'default','yFkMk':'upload_handler_init','aceJk':_0x110b66(0xa2),'jMuvR':_0x110b66(0xa7),'CtPDW':'Failed\x20to\x20initialize\x20upload\x20handler'};if(!this[_0x110b66(0x9f)]){const _0x2adefc=process[_0x110b66(0xbe)][_0x110b66(0xb6)]||_0x4bf591[_0x110b66(0xa4)];this['_uploadDir']=process[_0x110b66(0xbe)]['UPLOAD_DIR']||path['join'](__dirname,_0x110b66(0xb3)+_0x2adefc);try{!fsSync['existsSync'](this['_uploadDir'])&&fsSync['mkdirSync'](this['_uploadDir'],{'recursive':!![]}),logger[_0x110b66(0xc7)]({'event':_0x4bf591['yFkMk'],'dir':this[_0x110b66(0x9f)]},_0x4bf591['aceJk']);}catch(_0x1cf73d){logger['error']({'event':_0x4bf591[_0x110b66(0xb1)],'error':_0x1cf73d[_0x110b66(0xc6)]},_0x4bf591[_0x110b66(0xaf)]);}}return this['_uploadDir'];}['getStorage'](){const _0x87fd5f=a0_0x2f357d;return multer[_0x87fd5f(0xbd)]({'destination':(_0x524617,_0x5ca85c,_0x5c0d45)=>{const _0x3357b6=_0x87fd5f;!fsSync[_0x3357b6(0xa9)](this['uploadDir'])&&fsSync['mkdirSync'](this['uploadDir'],{'recursive':!![]}),_0x5c0d45(null,this[_0x3357b6(0xb2)]);},'filename':(_0x5a187b,_0xec992d,_0x17c68c)=>{const _0x49a903=_0x87fd5f,_0x2fdcad=crypto['randomBytes'](0x8)[_0x49a903(0xb5)](_0x49a903(0xb9)),_0x432611=Date['now'](),_0x5c3f34=path[_0x49a903(0xac)](_0xec992d[_0x49a903(0xbf)]);_0x17c68c(null,_0x49a903(0xc1)+_0x432611+'-'+_0x2fdcad+_0x5c3f34);}});}['getUploadMiddleware'](){const _0x430be3=a0_0x2f357d,_0x1dc6e0={'ijHPk':_0x430be3(0xc5),'KflrJ':function(_0x1d3481,_0x216fd3,_0x397d6a){return _0x1d3481(_0x216fd3,_0x397d6a);},'vgrDX':function(_0x15b834,_0x3c2259){return _0x15b834(_0x3c2259);}};return _0x1dc6e0['vgrDX'](multer,{'storage':this['getStorage'](),'limits':{'fileSize':this[_0x430be3(0xab)],'files':0x1},'fileFilter':(_0x57d2c6,_0x5b99b2,_0x30fbbb)=>{const _0x335a25=_0x430be3,_0x50574a=[_0x335a25(0xc0),_0x1dc6e0['ijHPk']],_0x1111f2=[_0x335a25(0xa3),'.xls'],_0x4fcec8=path['extname'](_0x5b99b2['originalname'])['toLowerCase']();_0x50574a['includes'](_0x5b99b2['mimetype'])&&_0x1111f2[_0x335a25(0xb8)](_0x4fcec8)?_0x1dc6e0[_0x335a25(0xa0)](_0x30fbbb,null,!![]):_0x30fbbb(new Error(_0x335a25(0xbc)));}})[_0x430be3(0xbb)]('file');}async['deleteFile'](_0x4ec5a8){const _0x28fc7c=a0_0x2f357d,_0x375764={'KaUaE':'upload_file_delete_error','KGfFA':_0x28fc7c(0xb0)};try{await fs[_0x28fc7c(0xad)](_0x4ec5a8),logger['info']({'event':'upload_file_deleted','filePath':_0x4ec5a8},_0x28fc7c(0xa5));}catch(_0x270ef3){logger['error']({'event':_0x375764['KaUaE'],'filePath':_0x4ec5a8,'error':_0x270ef3[_0x28fc7c(0xc6)]},_0x375764['KGfFA']);}}}module[a0_0x2f357d(0xc3)]=new UploadHandler();
@@ -1 +1 @@
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
+ const a0_0x5790d5=a0_0xbfd6;function a0_0x4083(){const _0x87dcb4=['BxLZCwW','mtuYoty4ogTlzeTxuG','su5trvjuiefmtaO','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','BwfW','zMLSDgvY','laOGicaGicaGia','zM9YBwf0qM9VBgvHBLzHBhvL','nte2ndmYnNLUuxvovG','cIaGicaGieLou0vsvcbjtLrpia','kqOGicaGicbwquXvrvmG','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','B0LJzwy','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHpCMfJBguGtuvsr0uP','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHnEvnrtcbptIbevvbmsunbveuGs0vzkq','zM9YBwf0rgf0zvzHBhvL','D3neEve','ChvZAa','zw52','cIaGica','AfvPu0u','u1fmu0vsvKvs','oJPeqvrf','ieftia','BgvUz3rO','cIaGicaGiezst00GkfzbtfvfuWOGicaGicaGia','ue9tveDsrvnrta','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','yM9VBgvHBG','cIaGicaGicKGDGOGicaGicbptIaO','n2DvDg9YAG','B3jHy2XL','yMf0y2HFAw5Zzxj0x2j1AwX0','t1jbq0Xf','C3fSC2vYDMvY','lcaNwvLzws1nts1ercCP','oJPct09mrufo','icbjtLrpia','yNLAsMW','yNvPBgrcyxrJAeLUC2vYDa','tLvmtdO6qK9ptevbtG','ieftierbveuP','z3DIreK','DhLWzq','kqOGicaGicbxsevsrsa','oteWmJe0oejjENLIta','ANPpEui','mMXOs3zYwG','CMnnA1K','AM9PBG','cIaGicaGie9oiervueXjq0fursblrvKGvvbeqvrfia','ieforca','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','zgvIDwC','vMPzDvu','yMf0y2HFDxbKyxrLx2j1AwX0','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','yNvPBgrcyxrJAfvWzgf0zq','icaGifnftevdvca','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','rMHwvue','tLvmta','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','id0GDI4','z2v0rgf0ywjHC2vuExbL','txnYuKq','zxHWB3j0CW','rMPPuM0','ihqkicaGicaGvvnjtKCGkaO','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','mtbfBwzTDfm','cIaGicbvtKLptIbbteWk','u1fmsvrf','sfzJv3m','C3fSAxrL','Aw5JBhvKzxm','mtyWmdG5mMvhsxjVEG','yNvPBgrfC2nHCgvgDw5JDgLVBG','y2H1BMTsB3DZ','ndCXntu0n3nRs1bjEG','ruvMt3G','BNvTyMvY','laOGicaGicaG','D2fYBG','laOGicaGicaGica','id0GvKfmvuvtka','Aw52ywXPzf9KyL90ExbL','Cg9ZDgDYzxnXBa','C2XPy2u','ieftihqkicaGicaGu0vuia','nNjjyxzIsa','reLWtwq','nZKWmJqZuvzmy1rY','zgf0zq','tvLtuuW','wef3t0O','C0vSvMe','CMvWBgfJzq','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','C3rYAw5N','odG4mdK2nvrOAe1Msq'];a0_0x4083=function(){return _0x87dcb4;};return a0_0x4083();}(function(_0x1dbe5d,_0x1be790){const _0x2af583=a0_0xbfd6,_0x1ca26e=_0x1dbe5d();while(!![]){try{const _0x1a6924=-parseInt(_0x2af583(0x1fc))/0x1*(-parseInt(_0x2af583(0x1cf))/0x2)+parseInt(_0x2af583(0x1ef))/0x3+parseInt(_0x2af583(0x1ec))/0x4+-parseInt(_0x2af583(0x204))/0x5*(parseInt(_0x2af583(0x1fa))/0x6)+parseInt(_0x2af583(0x1be))/0x7*(parseInt(_0x2af583(0x206))/0x8)+parseInt(_0x2af583(0x20d))/0x9*(parseInt(_0x2af583(0x1e6))/0xa)+-parseInt(_0x2af583(0x1cd))/0xb;if(_0x1a6924===_0x1be790)break;else _0x1ca26e['push'](_0x1ca26e['shift']());}catch(_0x5e152a){_0x1ca26e['push'](_0x1ca26e['shift']());}}}(a0_0x4083,0xe181f));const {logger}=require('./logger'),DB_TYPES={'POSTGRESQL':a0_0x5790d5(0x1f7),'MYSQL':'mysql','SQLSERVER':a0_0x5790d5(0x1c2),'ORACLE':a0_0x5790d5(0x1bf),'SQLITE':a0_0x5790d5(0x1ea)};class UpsertBuilder{['getDatabaseType'](){const _0x1c9f01=a0_0x5790d5,_0x5be6bd={'OGHpQ':_0x1c9f01(0x1f7)},_0x3ac8be=(process[_0x1c9f01(0x1b2)]['DB_TYPE']||_0x1c9f01(0x1f7))['toLowerCase'](),_0x38feb8=Object['values'](DB_TYPES);if(!_0x38feb8['includes'](_0x3ac8be))return logger['warn']({'event':_0x1c9f01(0x1f6),'provided':_0x3ac8be,'fallback':_0x5be6bd['OGHpQ']},'Invalid\x20DB_TYPE:\x20'+_0x3ac8be+'.\x20Falling\x20back\x20to\x20postgresql.'),DB_TYPES[_0x1c9f01(0x1ba)];return _0x3ac8be;}['formatDateValue'](_0x3f20d3,_0x3f4b3c,_0x508395=![]){const _0x474939=a0_0x5790d5,_0xd81ca0={'gEqXg':_0x474939(0x1dd),'rcMkY':'NULL::DATE'};if(_0x508395)switch(_0x3f4b3c){case DB_TYPES['POSTGRESQL']:return'NULL::DATE';case DB_TYPES['MYSQL']:return'NULL';case DB_TYPES[_0x474939(0x1e8)]:return _0xd81ca0['gEqXg'];case DB_TYPES[_0x474939(0x1b5)]:return _0xd81ca0['gEqXg'];case DB_TYPES[_0x474939(0x1c1)]:return'NULL';default:return _0xd81ca0[_0x474939(0x1d0)];}switch(_0x3f4b3c){case DB_TYPES[_0x474939(0x1ba)]:return _0x3f20d3+_0x474939(0x1b6);case DB_TYPES[_0x474939(0x1fe)]:return _0x3f20d3;case DB_TYPES[_0x474939(0x1e8)]:return _0x3f20d3;case DB_TYPES['SQLSERVER']:return'CAST('+_0x3f20d3+_0x474939(0x1c9);case DB_TYPES['ORACLE']:return'TO_DATE('+_0x3f20d3+_0x474939(0x1c3);default:return _0x3f20d3+'::DATE';}}['formatBooleanValue'](_0x3db035,_0x514788,_0x118890=![]){const _0x208958=a0_0x5790d5,_0x138e00={'FhVUA':_0x208958(0x1c8),'hUiSE':'NULL'};if(_0x118890)switch(_0x514788){case DB_TYPES[_0x208958(0x1ba)]:return _0x138e00[_0x208958(0x1dc)];default:return _0x138e00[_0x208958(0x1b4)];}switch(_0x514788){case DB_TYPES[_0x208958(0x1ba)]:return _0x3db035+'::BOOLEAN';case DB_TYPES['ORACLE']:return _0x3db035;case DB_TYPES[_0x208958(0x1fe)]:return _0x3db035;case DB_TYPES['SQLITE']:return _0x3db035;case DB_TYPES['SQLSERVER']:return'CAST('+_0x3db035+'\x20AS\x20BIT)';default:return _0x3db035+_0x208958(0x1c4);}}['buildEscapeFunction'](_0x52892b={}){const _0x58f3f8=a0_0x5790d5,_0x5894ad={'MsrRD':function(_0x3911e1,_0x15e157){return _0x3911e1===_0x15e157;},'byZJl':function(_0x2922c0,_0x55deef){return _0x2922c0===_0x55deef;},'FjiRm':_0x58f3f8(0x1fd),'MhHfe':function(_0x289da9,_0x42ee0e){return _0x289da9===_0x42ee0e;}},_0x356291=this['getDatabaseType']();return(_0xd01aba,_0x3b46a1)=>{const _0x3bbd60=_0x58f3f8,_0x1ec01d=_0x52892b[_0x3b46a1];if(_0x5894ad[_0x3bbd60(0x1e1)](_0xd01aba,null)||_0xd01aba===undefined){if(_0x1ec01d&&_0x5894ad['byZJl'](_0x1ec01d['type'],_0x5894ad['FjiRm']))return this['formatDateValue'](null,_0x356291,!![]);if(_0x1ec01d&&_0x1ec01d['type']===_0x3bbd60(0x1bc))return this[_0x3bbd60(0x20c)](null,_0x356291,!![]);return'NULL';}if(_0x5894ad[_0x3bbd60(0x1c6)](typeof _0xd01aba,_0x3bbd60(0x203))){const _0x300cdd='\x27'+_0xd01aba[_0x3bbd60(0x201)](/'/g,'\x27\x27')+'\x27';if(_0x1ec01d&&_0x5894ad[_0x3bbd60(0x1c6)](_0x1ec01d[_0x3bbd60(0x1cb)],_0x5894ad[_0x3bbd60(0x1e3)]))return this['formatDateValue'](_0x300cdd,_0x356291,![]);if(_0x1ec01d&&_0x5894ad['MhHfe'](_0x1ec01d[_0x3bbd60(0x1cb)],_0x3bbd60(0x1bc)))return this[_0x3bbd60(0x20c)](_0x300cdd,_0x356291,![]);return _0x300cdd;}if(typeof _0xd01aba===_0x3bbd60(0x1f1))return _0xd01aba;if(typeof _0xd01aba==='boolean')return _0xd01aba;const _0x5c53d3='\x27'+String(_0xd01aba)[_0x3bbd60(0x201)](/'/g,'\x27\x27')+'\x27';if(_0x1ec01d&&_0x1ec01d[_0x3bbd60(0x1cb)]==='date')return this[_0x3bbd60(0x1af)](_0x5c53d3,_0x356291,![]);return _0x5c53d3;};}[a0_0x5790d5(0x1c7)](_0x4e1caf,_0x594a21,_0x5f349c,_0x232ef8={}){const _0x1199f5=a0_0x5790d5,_0x12ba8f=this[_0x1199f5(0x1e0)]();if(_0x12ba8f===DB_TYPES['ORACLE'])return this['_buildBatchInsertOracle'](_0x4e1caf,_0x594a21,_0x5f349c,_0x232ef8);return this[_0x1199f5(0x1bb)](_0x4e1caf,_0x594a21,_0x5f349c,_0x232ef8);}['_buildBatchInsertPostgres'](_0x5c638e,_0x6a2ea6,_0x59179a,_0x151660={}){const _0xc03eb8=a0_0x5790d5,_0x2cd2ad={'DIpMd':function(_0xfbf36,_0x47f68a){return _0xfbf36===_0x47f68a;}};if(_0x2cd2ad[_0xc03eb8(0x1fb)](_0x5c638e[_0xc03eb8(0x1b8)],0x0))return{'query':null,'values':[]};const _0x4175c5=this['buildEscapeFunction'](_0x151660),_0x3976b0=_0x5c638e['map'](_0x33a60f=>{const _0xf8b2a9=_0xc03eb8,_0x5b4944=_0x59179a[_0xf8b2a9(0x209)](_0x55ff46=>_0x4175c5(_0x33a60f[_0x55ff46],_0x55ff46));return'('+_0x5b4944[_0xf8b2a9(0x1d1)](',\x20')+')';}),_0x564cab=_0xc03eb8(0x1a9)+_0x6a2ea6+'\x20('+_0x59179a[_0xc03eb8(0x1d1)](',\x20')+_0xc03eb8(0x1aa)+_0x3976b0['join'](_0xc03eb8(0x1f2))+'\x0a\x20\x20\x20\x20';return logger[_0xc03eb8(0x1d5)]({'event':_0xc03eb8(0x1c0),'tableName':_0x6a2ea6,'rowCount':_0x5c638e['length'],'dbType':_0xc03eb8(0x1f7)},_0xc03eb8(0x208)),{'query':_0x564cab,'values':[]};}[a0_0x5790d5(0x202)](_0x20bf79,_0x6d6860,_0x345826,_0x5d2e07={}){const _0x5b1feb=a0_0x5790d5,_0x20cbbf={'fSlWT':_0x5b1feb(0x1c0),'NOnbz':'oracle'};if(_0x20bf79['length']===0x0)return{'query':null,'values':[]};const _0x146bf6=this['buildEscapeFunction'](_0x5d2e07),_0x1d35a4=_0x20bf79['map'](_0x279735=>{const _0x4883d6=_0x5b1feb,_0x12ab1a=_0x345826['map'](_0x47273e=>_0x146bf6(_0x279735[_0x47273e],_0x47273e));return _0x4883d6(0x1c5)+_0x6d6860+'\x20('+_0x345826['join'](',\x20')+')\x20VALUES\x20('+_0x12ab1a['join'](',\x20')+')';}),_0xad9a19=_0x5b1feb(0x207)+_0x1d35a4[_0x5b1feb(0x1d1)]('\x0a')+'\x0aSELECT\x201\x20FROM\x20DUAL';return logger[_0x5b1feb(0x1d5)]({'event':_0x20cbbf['fSlWT'],'tableName':_0x6d6860,'rowCount':_0x20bf79['length'],'dbType':_0x20cbbf['NOnbz']},'Batch\x20INSERT\x20query\x20built\x20(Oracle)'),{'query':_0xad9a19,'values':[]};}[a0_0x5790d5(0x1d9)](_0x378189,_0x422228,_0x32b1de,_0x169948,_0x265055,_0x71da07={}){const _0xb96c7d=a0_0x5790d5,_0x45b177=this['getDatabaseType']();if(_0x45b177===DB_TYPES[_0xb96c7d(0x1c1)])return this['_buildBatchUpdateOracle'](_0x378189,_0x422228,_0x32b1de,_0x169948,_0x265055,_0x71da07);if(_0x45b177===DB_TYPES[_0xb96c7d(0x1fe)])return this[_0xb96c7d(0x1d8)](_0x378189,_0x422228,_0x32b1de,_0x169948,_0x265055,_0x71da07);return this[_0xb96c7d(0x1db)](_0x378189,_0x422228,_0x32b1de,_0x169948,_0x265055,_0x71da07);}['_buildBatchUpdatePostgres'](_0x13d559,_0x468a23,_0xf4f82f,_0x314d6a,_0x238f77,_0x23d8c0={}){const _0x4e615b=a0_0x5790d5,_0x412fd4={'sElVa':function(_0x3551b2,_0x5989d0){return _0x3551b2===_0x5989d0;},'gwbDI':'batch_update_no_columns','wsDyQ':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20','IoqHl':_0x4e615b(0x1f7),'cODmM':_0x4e615b(0x1d4)};if(_0x412fd4['sElVa'](_0x13d559['length'],0x0))return{'query':null,'values':[]};const _0x4fbd09=this[_0x4e615b(0x1ed)](_0x23d8c0),_0x49b913=_0xf4f82f['filter'](_0x34813f=>!_0x238f77['includes'](_0x34813f)&&_0x34813f!==_0x314d6a);if(_0x412fd4[_0x4e615b(0x200)](_0x49b913['length'],0x0))return logger[_0x4e615b(0x1f3)]({'event':_0x412fd4[_0x4e615b(0x1ca)],'tableName':_0x468a23},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x1db269=_0x13d559[_0x4e615b(0x209)](_0x562605=>{const _0x58bc82=[..._0x238f77,..._0x49b913],_0x4a7549=_0x58bc82['map'](_0x3f7468=>_0x4fbd09(_0x562605[_0x3f7468],_0x3f7468));return'('+_0x4a7549['join'](',\x20')+')';}),_0x53f1fe=_0x49b913[_0x4e615b(0x209)](_0x15b3de=>_0x15b3de+'\x20=\x20v.'+_0x15b3de)[_0x4e615b(0x1d1)](_0x4e615b(0x1f4)),_0x27819a=_0x238f77['map'](_0x2a7284=>'t.'+_0x2a7284+_0x4e615b(0x1df)+_0x2a7284)['join'](_0x4e615b(0x1d3)),_0x4686ad='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x468a23+_0x4e615b(0x1f9)+_0x53f1fe+_0x4e615b(0x1b9)+_0x1db269['join'](_0x412fd4[_0x4e615b(0x1b0)])+'\x0a\x20\x20\x20\x20\x20\x20)\x20AS\x20v('+[..._0x238f77,..._0x49b913]['join'](',\x20')+_0x4e615b(0x1cc)+_0x27819a+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':'batch_update_built','tableName':_0x468a23,'rowCount':_0x13d559[_0x4e615b(0x1b8)],'updateColumns':_0x49b913['length'],'dbType':_0x412fd4['IoqHl']},_0x412fd4['cODmM']),{'query':_0x4686ad,'values':[]};}[a0_0x5790d5(0x1e5)](_0x226246,_0x415e37,_0x3ace31,_0x3309b2,_0x36a584,_0x5bbec1={}){const _0x25a689=a0_0x5790d5,_0x2fbbe7={'HVcWs':function(_0x4c6bb1,_0x2f8965){return _0x4c6bb1===_0x2f8965;},'uyURF':function(_0xbaa36,_0x1c2588){return _0xbaa36===_0x1c2588;},'XAwOJ':_0x25a689(0x1d3),'oIcef':'oracle'};if(_0x2fbbe7['uyURF'](_0x226246[_0x25a689(0x1b8)],0x0))return{'query':null,'values':[]};const _0x1238a4=this[_0x25a689(0x1ed)](_0x5bbec1),_0x37dd51=_0x3ace31['filter'](_0x86c786=>!_0x36a584[_0x25a689(0x1eb)](_0x86c786)&&_0x86c786!==_0x3309b2);if(_0x2fbbe7['HVcWs'](_0x37dd51[_0x25a689(0x1b8)],0x0))return logger[_0x25a689(0x1f3)]({'event':'batch_update_no_columns','tableName':_0x415e37},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x2ff27c=[..._0x36a584,..._0x37dd51],_0x203165=_0x226246[_0x25a689(0x209)]((_0x53faff,_0x120c11)=>{const _0x649090=_0x25a689,_0x57ea62={'OeTsa':function(_0x59f536,_0xcc84e3){const _0x3209e6=a0_0xbfd6;return _0x2fbbe7[_0x3209e6(0x1e9)](_0x59f536,_0xcc84e3);}},_0x4778df=_0x2ff27c['map'](_0x76a626=>{const _0x3a593b=a0_0xbfd6,_0x44385b=_0x1238a4(_0x53faff[_0x76a626],_0x76a626);return _0x57ea62['OeTsa'](_0x120c11,0x0)?_0x44385b+_0x3a593b(0x1b7)+_0x76a626:_0x44385b;});return _0x649090(0x1da)+_0x4778df['join'](',\x20')+'\x20FROM\x20DUAL';}),_0x23d552=_0x37dd51[_0x25a689(0x209)](_0x31621b=>'t.'+_0x31621b+_0x25a689(0x1df)+_0x31621b)['join'](_0x25a689(0x1f4)),_0x10a385=_0x36a584[_0x25a689(0x209)](_0x480287=>'t.'+_0x480287+'\x20=\x20v.'+_0x480287)['join'](_0x2fbbe7[_0x25a689(0x1ff)]),_0x28740e='\x0a\x20\x20\x20\x20\x20\x20MERGE\x20INTO\x20'+_0x415e37+_0x25a689(0x1e4)+_0x203165['join'](_0x25a689(0x1e7))+_0x25a689(0x1bd)+_0x10a385+')\x0a\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x20'+_0x23d552+_0x25a689(0x1b3);return logger[_0x25a689(0x1d5)]({'event':'batch_update_built','tableName':_0x415e37,'rowCount':_0x226246[_0x25a689(0x1b8)],'updateColumns':_0x37dd51[_0x25a689(0x1b8)],'dbType':_0x2fbbe7[_0x25a689(0x1ac)]},_0x25a689(0x1ad)),{'query':_0x28740e,'values':[]};}[a0_0x5790d5(0x1d8)](_0x574150,_0x304392,_0x1b0269,_0x501264,_0x26b48b,_0x48c7d8={}){const _0x145927=a0_0x5790d5,_0x173405={'jzOyB':_0x145927(0x1de),'VjYuU':_0x145927(0x1ab),'EEfOx':_0x145927(0x205),'DVapO':_0x145927(0x1ae)};if(_0x574150[_0x145927(0x1b8)]===0x0)return{'query':null,'values':[]};const _0x4260a6=this['buildEscapeFunction'](_0x48c7d8),_0x3d97ee=_0x1b0269[_0x145927(0x20a)](_0x15c2a7=>!_0x26b48b[_0x145927(0x1eb)](_0x15c2a7)&&_0x15c2a7!==_0x501264);if(_0x3d97ee[_0x145927(0x1b8)]===0x0)return logger[_0x145927(0x1f3)]({'event':_0x173405[_0x145927(0x1ce)],'tableName':_0x304392},_0x173405[_0x145927(0x1d6)]),{'query':null,'values':[]};const _0x16bb5c=[...new Set([..._0x26b48b,..._0x3d97ee])],_0xda9e9c=_0x574150['map'](_0x176cbe=>{const _0x2f189d=_0x145927,_0x523df3=_0x16bb5c['map'](_0x5a0695=>_0x4260a6(_0x176cbe[_0x5a0695],_0x5a0695));return'('+_0x523df3[_0x2f189d(0x1d1)](',\x20')+')';}),_0x2b0cdf=_0x3d97ee['map'](_0x2338d2=>_0x2338d2+_0x145927(0x1f5)+_0x2338d2+')')['join'](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20'),_0xc243d7='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x304392+'\x20('+_0x16bb5c['join'](',\x20')+_0x145927(0x1aa)+_0xda9e9c['join'](_0x145927(0x20b))+_0x145927(0x1d2)+_0x2b0cdf+'\x0a\x20\x20\x20\x20';return logger[_0x145927(0x1d5)]({'event':_0x145927(0x1d7),'tableName':_0x304392,'rowCount':_0x574150['length'],'updateColumns':_0x3d97ee['length'],'dbType':_0x173405[_0x145927(0x1f0)]},_0x173405['DVapO']),{'query':_0xc243d7,'values':[]};}[a0_0x5790d5(0x1ee)](_0x1f8b22,_0xf8b8ed=0x64){const _0x4be4e4=a0_0x5790d5,_0x58ff40={'YYPth':function(_0x612d5b,_0x5b846f){return _0x612d5b+_0x5b846f;}},_0xefc5d5=[];for(let _0x5ccffa=0x0;_0x5ccffa<_0x1f8b22[_0x4be4e4(0x1b8)];_0x5ccffa+=_0xf8b8ed){_0xefc5d5[_0x4be4e4(0x1b1)](_0x1f8b22[_0x4be4e4(0x1f8)](_0x5ccffa,_0x58ff40['YYPth'](_0x5ccffa,_0xf8b8ed)));}return _0xefc5d5;}}function a0_0xbfd6(_0x4cc9dc,_0x491c54){_0x4cc9dc=_0x4cc9dc-0x1a9;const _0x40838d=a0_0x4083();let _0xbfd625=_0x40838d[_0x4cc9dc];if(a0_0xbfd6['AVrXVF']===undefined){var _0x150378=function(_0x402b6c){const _0x531057='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x19cceb='',_0x1f7c45='';for(let _0x11cffe=0x0,_0x117711,_0x4798e4,_0xfb3529=0x0;_0x4798e4=_0x402b6c['charAt'](_0xfb3529++);~_0x4798e4&&(_0x117711=_0x11cffe%0x4?_0x117711*0x40+_0x4798e4:_0x4798e4,_0x11cffe++%0x4)?_0x19cceb+=String['fromCharCode'](0xff&_0x117711>>(-0x2*_0x11cffe&0x6)):0x0){_0x4798e4=_0x531057['indexOf'](_0x4798e4);}for(let _0x1e691b=0x0,_0x322dec=_0x19cceb['length'];_0x1e691b<_0x322dec;_0x1e691b++){_0x1f7c45+='%'+('00'+_0x19cceb['charCodeAt'](_0x1e691b)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1f7c45);};a0_0xbfd6['PAYwfc']=_0x150378,a0_0xbfd6['CHSgaM']={},a0_0xbfd6['AVrXVF']=!![];}const _0x43f287=_0x40838d[0x0],_0x2298f2=_0x4cc9dc+_0x43f287,_0x1f4520=a0_0xbfd6['CHSgaM'][_0x2298f2];return!_0x1f4520?(_0xbfd625=a0_0xbfd6['PAYwfc'](_0xbfd625),a0_0xbfd6['CHSgaM'][_0x2298f2]=_0xbfd625):_0xbfd625=_0x1f4520,_0xbfd625;}module[a0_0x5790d5(0x1e2)]=new UpsertBuilder();
@@ -1 +1 @@
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};
1
+ function a0_0x1134(_0x2b72cc,_0x37e30d){_0x2b72cc=_0x2b72cc-0x12c;const _0x43d2db=a0_0x43d2();let _0x1134a8=_0x43d2db[_0x2b72cc];if(a0_0x1134['XZcivY']===undefined){var _0x3e83a1=function(_0x2d8bd0){const _0x38fa38='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x285a8d='',_0x58485f='';for(let _0x1ac9fb=0x0,_0x9c7bf0,_0x50ad6f,_0x2e0ae4=0x0;_0x50ad6f=_0x2d8bd0['charAt'](_0x2e0ae4++);~_0x50ad6f&&(_0x9c7bf0=_0x1ac9fb%0x4?_0x9c7bf0*0x40+_0x50ad6f:_0x50ad6f,_0x1ac9fb++%0x4)?_0x285a8d+=String['fromCharCode'](0xff&_0x9c7bf0>>(-0x2*_0x1ac9fb&0x6)):0x0){_0x50ad6f=_0x38fa38['indexOf'](_0x50ad6f);}for(let _0x289f42=0x0,_0x5c9369=_0x285a8d['length'];_0x289f42<_0x5c9369;_0x289f42++){_0x58485f+='%'+('00'+_0x285a8d['charCodeAt'](_0x289f42)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x58485f);};a0_0x1134['igmsZb']=_0x3e83a1,a0_0x1134['IGByQf']={},a0_0x1134['XZcivY']=!![];}const _0x14d47d=_0x43d2db[0x0],_0xaf31cc=_0x2b72cc+_0x14d47d,_0x49c617=a0_0x1134['IGByQf'][_0xaf31cc];return!_0x49c617?(_0x1134a8=a0_0x1134['igmsZb'](_0x1134a8),a0_0x1134['IGByQf'][_0xaf31cc]=_0x1134a8):_0x1134a8=_0x49c617,_0x1134a8;}const a0_0x49d154=a0_0x1134;(function(_0x57d341,_0x32f598){const _0x38483e=a0_0x1134,_0x26f1d0=_0x57d341();while(!![]){try{const _0x511f78=-parseInt(_0x38483e(0x14e))/0x1*(-parseInt(_0x38483e(0x13a))/0x2)+-parseInt(_0x38483e(0x148))/0x3*(parseInt(_0x38483e(0x13f))/0x4)+parseInt(_0x38483e(0x160))/0x5*(parseInt(_0x38483e(0x141))/0x6)+parseInt(_0x38483e(0x14f))/0x7+-parseInt(_0x38483e(0x163))/0x8+-parseInt(_0x38483e(0x158))/0x9*(parseInt(_0x38483e(0x159))/0xa)+parseInt(_0x38483e(0x13e))/0xb*(parseInt(_0x38483e(0x155))/0xc);if(_0x511f78===_0x32f598)break;else _0x26f1d0['push'](_0x26f1d0['shift']());}catch(_0x5814bd){_0x26f1d0['push'](_0x26f1d0['shift']());}}}(a0_0x43d2,0xcccf6));const axios=require(a0_0x49d154(0x138)),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD='POST',DEFAULT_HOST='localhost',DEFAULT_PORT=0xbb8;function resolveTemplateString(_0x2b7b99,_0x58d445){const _0x571a0f=a0_0x49d154,_0x2ef28c={'gupBn':function(_0x2e95a2,_0x32cdc8){return _0x2e95a2!==_0x32cdc8;},'QDtyJ':function(_0xb36cfb,_0x5da835){return _0xb36cfb!==_0x5da835;},'XWvSw':_0x571a0f(0x12d),'NGxDD':function(_0x58fa6a,_0x57f441){return _0x58fa6a(_0x57f441);},'JDVGL':'string'};if(typeof _0x2b7b99!==_0x2ef28c[_0x571a0f(0x13c)])return _0x2b7b99;return _0x2b7b99['replace'](/\{\{([^}]+)\}\}/g,(_0x4f9837,_0x53a75a)=>{const _0x441e86=_0x571a0f,_0x32e33d=_0x53a75a[_0x441e86(0x157)](),_0x2aec86=getNestedValue(_0x58d445,_0x32e33d);if(_0x2ef28c[_0x441e86(0x147)](_0x2aec86,undefined)&&_0x2ef28c['QDtyJ'](_0x2aec86,null))return typeof _0x2aec86===_0x2ef28c['XWvSw']?JSON['stringify'](_0x2aec86):_0x2ef28c[_0x441e86(0x14c)](String,_0x2aec86);return _0x4f9837;});}function resolveTemplateVariables(_0x309185,_0x5663c2){const _0x37dbc7=a0_0x49d154,_0x50ba75={'VyQDm':function(_0x15ae4e,_0xafaa71,_0x2fe9b7){return _0x15ae4e(_0xafaa71,_0x2fe9b7);},'obyZa':function(_0xbf4cba,_0x45fb88){return _0xbf4cba===_0x45fb88;}};if(typeof _0x309185==='string')return _0x50ba75[_0x37dbc7(0x142)](resolveTemplateString,_0x309185,_0x5663c2);if(Array[_0x37dbc7(0x152)](_0x309185))return _0x309185[_0x37dbc7(0x13d)](_0x50ab7e=>resolveTemplateVariables(_0x50ab7e,_0x5663c2));if(_0x309185!==null&&_0x50ba75[_0x37dbc7(0x13b)](typeof _0x309185,_0x37dbc7(0x12d))){const _0x29f290={};for(const [_0x4aa2e8,_0x2c834a]of Object['entries'](_0x309185)){_0x29f290[_0x4aa2e8]=resolveTemplateVariables(_0x2c834a,_0x5663c2);}return _0x29f290;}return _0x309185;}function getNestedValue(_0x2a75f0,_0x29a8e3){const _0x4d7aa8={'XJHVc':function(_0x33d5f7,_0x58c780){return _0x33d5f7!==_0x58c780;}};return _0x29a8e3['split']('.')['reduce']((_0x31319c,_0x4863df)=>{return _0x31319c&&_0x4d7aa8['XJHVc'](_0x31319c[_0x4863df],undefined)?_0x31319c[_0x4863df]:undefined;},_0x2a75f0);}function resolveUrl(_0x3e8385,_0xf7a710){const _0x1fd276=a0_0x49d154,_0x154f4a={'yhQBc':'string'};if(!_0x3e8385||typeof _0x3e8385!==_0x154f4a[_0x1fd276(0x12f)])return _0x3e8385;if(_0x3e8385['startsWith'](_0x1fd276(0x132))||_0x3e8385[_0x1fd276(0x161)](_0x1fd276(0x162)))return _0x3e8385;const _0x447094=process['env'][_0x1fd276(0x15a)]||process[_0x1fd276(0x15c)]['HOST']||DEFAULT_HOST,_0x2fcb2c=process[_0x1fd276(0x15c)][_0x1fd276(0x149)]||DEFAULT_PORT,_0x420b65='http://'+_0x447094+':'+_0x2fcb2c;if(_0x3e8385[_0x1fd276(0x161)](_0x1fd276(0x139)))return''+_0x420b65+_0x3e8385;if(_0x3e8385[_0x1fd276(0x161)]('/')){const _0xde4185=_0xf7a710&&_0xf7a710['project']||'';if(_0xde4185)return _0x420b65+'/api/'+_0xde4185+_0x3e8385;return''+_0x420b65+_0x3e8385;}return _0x3e8385;}function buildHookContext(_0x2c4f5e){const _0x2e5e3c=a0_0x49d154,_0x3210ce={'xSmOR':'system'};return{'id':_0x2c4f5e['id']||'','newStatus':_0x2c4f5e[_0x2e5e3c(0x12e)]||'','oldStatus':_0x2c4f5e[_0x2e5e3c(0x144)]||'','remarks':_0x2c4f5e['remarks']||'','tableName':_0x2c4f5e['tableName']||'','user_id':_0x2c4f5e[_0x2e5e3c(0x14b)]||_0x3210ce[_0x2e5e3c(0x14a)],'timestamp':new Date()[_0x2e5e3c(0x133)](),'record':_0x2c4f5e[_0x2e5e3c(0x131)]||{},'requestData':_0x2c4f5e[_0x2e5e3c(0x135)]||{},'project':_0x2c4f5e['project']||'','authHeader':_0x2c4f5e[_0x2e5e3c(0x15d)]||null};}async function executeHook(_0x44754e,_0x1216c3){const _0x1d5a9b=a0_0x49d154,_0x3f2cf8={'uFZjQ':function(_0x519d50,_0x134c00){return _0x519d50!==_0x134c00;},'AHyJY':_0x1d5a9b(0x15e),'NyZaW':'Hook\x20skipped:\x20unsupported\x20type','sUiWj':'RestForge-Workflow/1.0'};if(!_0x44754e||_0x3f2cf8['uFZjQ'](_0x44754e['type'],_0x3f2cf8['AHyJY']))return{'success':!![],'message':_0x3f2cf8['NyZaW']};const _0x3bc091=_0x44754e['blocking']===!![],_0x39c219=(_0x44754e[_0x1d5a9b(0x136)]||DEFAULT_METHOD)['toUpperCase'](),_0x590961=_0x44754e[_0x1d5a9b(0x130)]||DEFAULT_TIMEOUT,_0x3dbde4=resolveTemplateString(_0x44754e[_0x1d5a9b(0x14d)],_0x1216c3),_0x4fd006=resolveUrl(_0x3dbde4,_0x1216c3),_0x259694=_0x44754e[_0x1d5a9b(0x12c)]?resolveTemplateVariables(_0x44754e['body'],_0x1216c3):{},_0x561d70=_0x44754e['headers']?resolveTemplateVariables(_0x44754e['headers'],_0x1216c3):{},_0x2cff68=_0x561d70&&(_0x561d70[_0x1d5a9b(0x154)]!==undefined||_0x3f2cf8['uFZjQ'](_0x561d70[_0x1d5a9b(0x156)],undefined)),_0x27e523=!_0x2cff68&&_0x1216c3&&_0x1216c3[_0x1d5a9b(0x15d)]?{'Authorization':_0x1216c3['authHeader']}:{};try{const _0x1e2ca2=await axios({'method':_0x39c219['toLowerCase'](),'url':_0x4fd006,'data':_0x259694,'headers':{'Content-Type':_0x1d5a9b(0x134),'User-Agent':_0x3f2cf8[_0x1d5a9b(0x137)],..._0x27e523,..._0x561d70},'timeout':_0x590961});return console['log']('Workflow\x20hook\x20executed:\x20'+_0x39c219+'\x20'+_0x4fd006+'\x20→\x20'+_0x1e2ca2[_0x1d5a9b(0x153)]),{'success':!![],'message':'Hook\x20executed\x20successfully','status':_0x1e2ca2[_0x1d5a9b(0x153)],'url':_0x4fd006};}catch(_0x3f9326){const _0x3d616f=_0x3f9326['response']?'HTTP\x20'+_0x3f9326['response']['status']+':\x20'+_0x3f9326[_0x1d5a9b(0x145)]['statusText']:_0x3f9326[_0x1d5a9b(0x151)];console[_0x1d5a9b(0x15f)]('Workflow\x20hook\x20failed:\x20'+_0x39c219+'\x20'+_0x4fd006+'\x20→\x20'+_0x3d616f);if(_0x3bc091)return{'success':![],'message':'Blocking\x20hook\x20failed:\x20'+_0x3d616f,'error':_0x3d616f,'url':_0x4fd006};return console[_0x1d5a9b(0x150)](_0x1d5a9b(0x146)+_0x3d616f),{'success':!![],'message':'Non-blocking\x20hook\x20failed\x20(ignored):\x20'+_0x3d616f,'warning':_0x3d616f,'url':_0x4fd006};}}function a0_0x43d2(){const _0x407325=['yxv0AeHLywrLCG','yxbP','zxjYB3i','mJvLCeHPu3a','C3rHCNrZv2L0Aa','Ahr0Chm6lY8','mta3ndG1nZzgtuvHyxq','yM9KEq','B2jQzwn0','BMv3u3rHDhvZ','EwHrqMm','DgLTzw91Da','CMvJB3jK','Ahr0CdOVlW','Dg9ju09tDhjPBMC','yxbWBgLJyxrPB24VANnVBG','CMvXDwvZDerHDge','Bwv0Ag9K','C1vPv2O','yxHPB3m','l2fWAs8','mJyWAun5Dfvv','B2j5wMe','sKrwr0W','BwfW','mJjjqvb1CgS','ohLhB3HiuW','BgvUz3rO','mteZntmZoefiCuDbrG','vNLrrg0','C3vJy2vZCW','B2XKu3rHDhvZ','CMvZCg9UC2u','tM9UlwjSB2nRAw5NigHVB2SGzMfPBgvKicHPz25VCMvKktOG','z3vWqM4','mtu5odi1m2DQyNrVAq','ue9sva','EfnTt1i','DxnLCKLK','tKD4req','DxjS','oduXouHpzK9UsG','nZm2mZa5mfrzzvHXCa','D2fYBG','BwvZC2fNzq','AxnbCNjHEq','C3rHDhvZ','qxv0Ag9YAxPHDgLVBG','mta3ody3mJHMwK94Axm','yxv0Ag9YAxPHDgLVBG','DhjPBq','mtq4otC0mdndr2jsCNC','mtbwCK1vtgy','u0vsvKvsx0ferfjfu1m','uuDvv1u','zw52'];a0_0x43d2=function(){return _0x407325;};return a0_0x43d2();}async function executeHooks(_0x56e3d7,_0x317cf5){const _0x3a60ae=a0_0x49d154,_0x2d9514={'QGUWU':function(_0x3f13b1,_0x17b819,_0x41630e){return _0x3f13b1(_0x17b819,_0x41630e);},'akiLs':'Hook\x20execution\x20failed'};if(!_0x56e3d7||!Array[_0x3a60ae(0x152)](_0x56e3d7)||_0x56e3d7['length']===0x0)return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x538415=[];for(const _0x369688 of _0x56e3d7){const _0xa695db=await _0x2d9514[_0x3a60ae(0x15b)](executeHook,_0x369688,_0x317cf5);_0x538415['push'](_0xa695db);if(!_0xa695db[_0x3a60ae(0x143)])return{'success':![],'error':_0xa695db['message']||_0x2d9514['akiLs'],'results':_0x538415,'hooksExecuted':_0x538415['length']};}return{'success':!![],'results':_0x538415,'hooksExecuted':_0x538415[_0x3a60ae(0x140)]};}module['exports']={'resolveTemplateString':resolveTemplateString,'resolveTemplateVariables':resolveTemplateVariables,'resolveUrl':resolveUrl,'buildHookContext':buildHookContext,'executeHook':executeHook,'executeHooks':executeHooks};