@restforgejs/platform 4.3.1 → 4.3.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 (176) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/dashboard/create.js +0 -1
  5. package/generators/cli/endpoint/create.js +1 -1
  6. package/generators/lib/generators/model-generator.js +1 -1
  7. package/generators/lib/payload/endpoint-schema-validator.js +11 -1
  8. package/generators/lib/payload/payload-runner.js +4 -4
  9. package/generators/lib/payload/schema-diff.js +186 -3
  10. package/generators/lib/templates/dashboard-catalog.js +1 -1
  11. package/generators/lib/templates/db-connection-env.js +1 -1
  12. package/generators/lib/templates/dbschema-catalog.js +1 -1
  13. package/generators/lib/templates/field-validation-catalog.js +1 -1
  14. package/generators/lib/templates/mysql-template.js +1 -1
  15. package/generators/lib/templates/oracle-template.js +1 -1
  16. package/generators/lib/templates/postgres-template.js +1 -1
  17. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  18. package/generators/lib/templates/sqlite-template.js +1 -1
  19. package/generators/lib/utils/conflict-checker.js +9 -57
  20. package/generators/lib/utils/database-introspector.js +84 -0
  21. package/generators/lib/utils/file-utils.js +0 -159
  22. package/generators/lib/utils/payload-processor.js +21 -112
  23. package/integrity-manifest.json +18 -18
  24. package/package.json +1 -1
  25. package/scripts/verify-integrity.js +1 -1
  26. package/server.js +1 -1
  27. package/src/components/handlers/adjust_handler.js +1 -1
  28. package/src/components/handlers/audit_handler.js +1 -1
  29. package/src/components/handlers/delete_handler.js +1 -1
  30. package/src/components/handlers/export_handler.js +1 -1
  31. package/src/components/handlers/import_handler.js +1 -1
  32. package/src/components/handlers/insert_handler.js +1 -1
  33. package/src/components/handlers/update_handler.js +1 -1
  34. package/src/components/handlers/upload_handler.js +1 -1
  35. package/src/components/handlers/workflow_handler.js +1 -1
  36. package/src/components/integrations/webhook.js +1 -1
  37. package/src/consumers/baseConsumer.js +1 -1
  38. package/src/consumers/declarativeMapper.js +1 -1
  39. package/src/consumers/handlers/apiHandler.js +1 -1
  40. package/src/consumers/handlers/consoleHandler.js +1 -1
  41. package/src/consumers/handlers/databaseHandler.js +1 -1
  42. package/src/consumers/handlers/index.js +1 -1
  43. package/src/consumers/handlers/kafkaHandler.js +1 -1
  44. package/src/consumers/index.js +1 -1
  45. package/src/consumers/messageTransformer.js +1 -1
  46. package/src/consumers/validator.js +1 -1
  47. package/src/core/db/dialect/base-dialect.js +1 -1
  48. package/src/core/db/dialect/index.js +1 -1
  49. package/src/core/db/dialect/mysql-dialect.js +1 -1
  50. package/src/core/db/dialect/oracle-dialect.js +1 -1
  51. package/src/core/db/dialect/postgres-dialect.js +1 -1
  52. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  53. package/src/core/db/flatten-helper.js +1 -1
  54. package/src/core/db/query-builder-error.js +1 -1
  55. package/src/core/db/query-builder.js +1 -1
  56. package/src/core/db/relation-helper.js +1 -1
  57. package/src/core/handlers/delete_handler.js +1 -1
  58. package/src/core/handlers/insert_handler.js +1 -1
  59. package/src/core/handlers/update_handler.js +1 -1
  60. package/src/core/models/base-model.js +1 -1
  61. package/src/core/utils/cache-manager.js +1 -1
  62. package/src/core/utils/component-engine.js +1 -1
  63. package/src/core/utils/context-builder.js +1 -1
  64. package/src/core/utils/datetime-formatter.js +1 -1
  65. package/src/core/utils/datetime-parser.js +1 -1
  66. package/src/core/utils/db.js +1 -1
  67. package/src/core/utils/logger.js +1 -1
  68. package/src/core/utils/payload-loader.js +1 -1
  69. package/src/core/utils/security-checks.js +1 -1
  70. package/src/middleware/body-options.js +1 -1
  71. package/src/middleware/cors.js +1 -1
  72. package/src/middleware/idempotency.js +1 -1
  73. package/src/middleware/rate-limiter.js +1 -1
  74. package/src/middleware/request-logger.js +1 -1
  75. package/src/middleware/security-headers.js +1 -1
  76. package/src/models/base-model-mysql.js +1 -1
  77. package/src/models/base-model-oracle.js +1 -1
  78. package/src/models/base-model-sqlite.js +1 -1
  79. package/src/models/base-model.js +1 -1
  80. package/src/pro/caching/redis-client.js +1 -1
  81. package/src/pro/caching/redis-helper.js +1 -1
  82. package/src/pro/consumers/baseConsumer.js +1 -1
  83. package/src/pro/consumers/declarativeMapper.js +1 -1
  84. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  85. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  86. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  87. package/src/pro/consumers/handlers/index.js +1 -1
  88. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  89. package/src/pro/consumers/index.js +1 -1
  90. package/src/pro/consumers/messageTransformer.js +1 -1
  91. package/src/pro/consumers/validator.js +1 -1
  92. package/src/pro/database/base-model-mysql.js +1 -1
  93. package/src/pro/database/base-model-oracle.js +1 -1
  94. package/src/pro/database/base-model-sqlite.js +1 -1
  95. package/src/pro/database/db-mysql.js +1 -1
  96. package/src/pro/database/db-oracle.js +1 -1
  97. package/src/pro/database/db-sqlite.js +1 -1
  98. package/src/pro/excel/excel-generator.js +1 -1
  99. package/src/pro/excel/excel-parser.js +1 -1
  100. package/src/pro/excel/export-service.js +1 -1
  101. package/src/pro/excel/export_handler.js +1 -1
  102. package/src/pro/excel/import-service.js +1 -1
  103. package/src/pro/excel/import-validator.js +1 -1
  104. package/src/pro/excel/import_handler.js +1 -1
  105. package/src/pro/excel/upsert-builder.js +1 -1
  106. package/src/pro/idgen/idgen-routes.js +1 -1
  107. package/src/pro/integrations/lookup-resolver.js +1 -1
  108. package/src/pro/integrations/upload-handler-v2.js +1 -1
  109. package/src/pro/integrations/upload-handler.js +1 -1
  110. package/src/pro/integrations/webhook.js +1 -1
  111. package/src/pro/locking/lock-routes.js +1 -1
  112. package/src/pro/locking/resource-lock-manager.js +1 -1
  113. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  114. package/src/pro/messaging/kafkaService.js +1 -1
  115. package/src/pro/messaging/messagehubService.js +1 -1
  116. package/src/pro/messaging/rabbitmqService.js +1 -1
  117. package/src/pro/scheduler/job-manager.js +1 -1
  118. package/src/pro/scheduler/job-routes.js +1 -1
  119. package/src/pro/scheduler/job-validator.js +1 -1
  120. package/src/pro/storage/base-storage-provider.js +1 -1
  121. package/src/pro/storage/file-metadata-helper.js +1 -1
  122. package/src/pro/storage/index.js +1 -1
  123. package/src/pro/storage/local-storage-provider.js +1 -1
  124. package/src/pro/storage/s3-storage-provider.js +1 -1
  125. package/src/pro/storage/upload-cleanup-job.js +1 -1
  126. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  127. package/src/pro/storage/upload-pending-tracker.js +1 -1
  128. package/src/pro/websocket/broadcast-helper.js +1 -1
  129. package/src/pro/websocket/index.js +1 -1
  130. package/src/pro/websocket/livesync-server.js +1 -1
  131. package/src/pro/websocket/ws-broadcaster.js +1 -1
  132. package/src/services/export-service.js +1 -1
  133. package/src/services/import-service.js +1 -1
  134. package/src/services/kafkaConsumerService.js +1 -1
  135. package/src/services/kafkaService.js +1 -1
  136. package/src/services/messagehubService.js +1 -1
  137. package/src/services/rabbitmqService.js +1 -1
  138. package/src/utils/cache-invalidation-registry.js +1 -1
  139. package/src/utils/cache-manager.js +1 -1
  140. package/src/utils/component-engine.js +1 -1
  141. package/src/utils/config-extractor.js +1 -1
  142. package/src/utils/consumerLogger.js +1 -1
  143. package/src/utils/context-builder.js +1 -1
  144. package/src/utils/dashboard-helpers.js +1 -1
  145. package/src/utils/dateHelper.js +1 -1
  146. package/src/utils/datetime-formatter.js +1 -1
  147. package/src/utils/datetime-parser.js +1 -1
  148. package/src/utils/db-bootstrap.js +1 -1
  149. package/src/utils/db-mysql.js +1 -1
  150. package/src/utils/db-oracle.js +1 -1
  151. package/src/utils/db-sqlite.js +1 -1
  152. package/src/utils/db.js +1 -1
  153. package/src/utils/demo-generator.js +1 -1
  154. package/src/utils/excel-generator.js +1 -1
  155. package/src/utils/excel-parser.js +1 -1
  156. package/src/utils/file-watcher.js +1 -1
  157. package/src/utils/id-generator.js +1 -1
  158. package/src/utils/idempotency-manager.js +1 -1
  159. package/src/utils/import-validator.js +1 -1
  160. package/src/utils/license-client.js +1 -1
  161. package/src/utils/lock-manager.js +1 -1
  162. package/src/utils/logger.js +1 -1
  163. package/src/utils/lookup-resolver.js +1 -1
  164. package/src/utils/payload-loader.js +1 -1
  165. package/src/utils/processor-response.js +1 -1
  166. package/src/utils/rabbitmq.js +1 -1
  167. package/src/utils/redis-client.js +1 -1
  168. package/src/utils/redis-helper.js +1 -1
  169. package/src/utils/request-scope.js +1 -1
  170. package/src/utils/security-checks.js +1 -1
  171. package/src/utils/service-resolver.js +1 -1
  172. package/src/utils/shutdown-coordinator.js +1 -1
  173. package/src/utils/trusted-keys.js +1 -1
  174. package/src/utils/upload-handler.js +1 -1
  175. package/src/utils/upsert-builder.js +1 -1
  176. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x537c35=a0_0x490d;(function(_0xb7f5b9,_0x16a4a9){const _0x3b6b1d=a0_0x490d,_0xe0dbc2=_0xb7f5b9();while(!![]){try{const _0x21ac73=parseInt(_0x3b6b1d(0x12d))/0x1*(parseInt(_0x3b6b1d(0x11d))/0x2)+-parseInt(_0x3b6b1d(0x105))/0x3+-parseInt(_0x3b6b1d(0x108))/0x4+parseInt(_0x3b6b1d(0x10f))/0x5*(-parseInt(_0x3b6b1d(0x12a))/0x6)+-parseInt(_0x3b6b1d(0x103))/0x7+parseInt(_0x3b6b1d(0x118))/0x8*(parseInt(_0x3b6b1d(0x10c))/0x9)+-parseInt(_0x3b6b1d(0x125))/0xa*(-parseInt(_0x3b6b1d(0x111))/0xb);if(_0x21ac73===_0x16a4a9)break;else _0xe0dbc2['push'](_0xe0dbc2['shift']());}catch(_0x59adc3){_0xe0dbc2['push'](_0xe0dbc2['shift']());}}}(a0_0x4628,0x4799d));function a0_0x490d(_0x263f4f,_0x3b4875){_0x263f4f=_0x263f4f-0x100;const _0x462834=a0_0x4628();let _0x490ddf=_0x462834[_0x263f4f];if(a0_0x490d['KqMopG']===undefined){var _0xfdcabd=function(_0x3ff5f9){const _0x160142='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4171e6='',_0x1af20c='';for(let _0x4d7448=0x0,_0x19d536,_0x2f6e4b,_0x32af51=0x0;_0x2f6e4b=_0x3ff5f9['charAt'](_0x32af51++);~_0x2f6e4b&&(_0x19d536=_0x4d7448%0x4?_0x19d536*0x40+_0x2f6e4b:_0x2f6e4b,_0x4d7448++%0x4)?_0x4171e6+=String['fromCharCode'](0xff&_0x19d536>>(-0x2*_0x4d7448&0x6)):0x0){_0x2f6e4b=_0x160142['indexOf'](_0x2f6e4b);}for(let _0x211fbb=0x0,_0x1a57a0=_0x4171e6['length'];_0x211fbb<_0x1a57a0;_0x211fbb++){_0x1af20c+='%'+('00'+_0x4171e6['charCodeAt'](_0x211fbb)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1af20c);};a0_0x490d['OeVDYz']=_0xfdcabd,a0_0x490d['tiyJZn']={},a0_0x490d['KqMopG']=!![];}const _0x1bf760=_0x462834[0x0],_0x39ceb1=_0x263f4f+_0x1bf760,_0x5b1763=a0_0x490d['tiyJZn'][_0x39ceb1];return!_0x5b1763?(_0x490ddf=a0_0x490d['OeVDYz'](_0x490ddf),a0_0x490d['tiyJZn'][_0x39ceb1]=_0x490ddf):_0x490ddf=_0x5b1763,_0x490ddf;}const multer=require('multer'),path=require(a0_0x537c35(0x113)),crypto=require(a0_0x537c35(0x10d)),fs=require('fs')[a0_0x537c35(0x114)],fsSync=require('fs'),{logger}=require(a0_0x537c35(0x11e));class UploadHandler{constructor(){const _0x2cce1d=a0_0x537c35,_0x52a468={'PPEds':function(_0x17b39d,_0x29083e){return _0x17b39d*_0x29083e;}};this[_0x2cce1d(0x11c)]=null,this['maxFileSize']=_0x52a468[_0x2cce1d(0x12b)](0xa,0x400)*0x400;}get[a0_0x537c35(0x116)](){const _0x327911=a0_0x537c35,_0xf4682e={'LRDjg':_0x327911(0x12c),'cOZiG':'upload_handler_init','OjauN':_0x327911(0x121)};if(!this['_uploadDir']){const _0x424c85=process['env'][_0x327911(0x109)]||_0xf4682e['LRDjg'];this['_uploadDir']=process['env']['UPLOAD_DIR']||path[_0x327911(0x112)](__dirname,_0x327911(0x110)+_0x424c85);try{!fsSync[_0x327911(0x120)](this['_uploadDir'])&&fsSync[_0x327911(0x11b)](this[_0x327911(0x11c)],{'recursive':!![]}),logger[_0x327911(0x11a)]({'event':_0xf4682e[_0x327911(0x104)],'dir':this[_0x327911(0x11c)]},_0xf4682e[_0x327911(0x129)]);}catch(_0x403e46){logger['error']({'event':_0x327911(0x119),'error':_0x403e46['message']},'Failed\x20to\x20initialize\x20upload\x20handler');}}return this[_0x327911(0x11c)];}['getStorage'](){const _0x16bdaf=a0_0x537c35;return multer[_0x16bdaf(0x122)]({'destination':(_0x5b0513,_0x1bbd92,_0x496e3e)=>{const _0x562e12=_0x16bdaf;!fsSync[_0x562e12(0x120)](this['uploadDir'])&&fsSync['mkdirSync'](this['uploadDir'],{'recursive':!![]}),_0x496e3e(null,this['uploadDir']);},'filename':(_0x424207,_0xb6f4d2,_0x35bbe4)=>{const _0x59aed2=_0x16bdaf,_0x288cc9=crypto[_0x59aed2(0x100)](0x8)['toString']('hex'),_0x35183c=Date[_0x59aed2(0x102)](),_0x5733ea=path[_0x59aed2(0x10b)](_0xb6f4d2['originalname']);_0x35bbe4(null,_0x59aed2(0x123)+_0x35183c+'-'+_0x288cc9+_0x5733ea);}});}['getUploadMiddleware'](){const _0x38f7e1=a0_0x537c35,_0x476ca0={'zTiVy':_0x38f7e1(0x10a),'EnTZP':_0x38f7e1(0x124),'vCegf':function(_0x43c2ae,_0x4cd319){return _0x43c2ae(_0x4cd319);}};return multer({'storage':this[_0x38f7e1(0x115)](),'limits':{'fileSize':this[_0x38f7e1(0x117)],'files':0x1},'fileFilter':(_0x258f71,_0x29985b,_0x464fe3)=>{const _0x2ac248=_0x38f7e1,_0x2d8906=['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',_0x476ca0['zTiVy']],_0x267c4c=[_0x476ca0['EnTZP'],'.xls'],_0x2269b2=path[_0x2ac248(0x10b)](_0x29985b['originalname'])[_0x2ac248(0x10e)]();_0x2d8906[_0x2ac248(0x127)](_0x29985b['mimetype'])&&_0x267c4c['includes'](_0x2269b2)?_0x464fe3(null,!![]):_0x476ca0[_0x2ac248(0x11f)](_0x464fe3,new Error(_0x2ac248(0x107)));}})[_0x38f7e1(0x106)](_0x38f7e1(0x101));}async[a0_0x537c35(0x128)](_0x1af9bd){const _0x497c95=a0_0x537c35,_0x1b72e2={'DwGTK':'Uploaded\x20file\x20deleted','QzGnd':'Failed\x20to\x20delete\x20uploaded\x20file'};try{await fs[_0x497c95(0x126)](_0x1af9bd),logger[_0x497c95(0x11a)]({'event':'upload_file_deleted','filePath':_0x1af9bd},_0x1b72e2['DwGTK']);}catch(_0x5c9717){logger['error']({'event':'upload_file_delete_error','filePath':_0x1af9bd,'error':_0x5c9717['message']},_0x1b72e2['QzGnd']);}}}function a0_0x4628(){const _0x431c4e=['C2LUz2XL','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','ndyYmZC2zMfZveDH','uKvtvezpuKDfx1bst0Pfq1rFtKfnrq','yxbWBgLJyxrPB24VDM5KlM1Zlwv4y2vS','zxH0BMfTzq','nty2otu1y0rQC3zj','y3j5ChrV','Dg9mB3DLCKnHC2u','nZvXB0LxEey','lI4VlI4VDgvTCc91CgXVywrZlW','mJKXmJKZmKHnCNbIBW','AM9PBG','Cgf0Aa','ChjVBwLZzxm','z2v0u3rVCMfNzq','DxbSB2fKrgLY','Bwf4rMLSzvnPEMu','ntzvs1jpz3e','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','Aw5MBW','BwTKAxjtEw5J','x3vWBg9HzerPCG','nNDfuNnyAW','lI9SB2DNzxi','DKnLz2y','zxHPC3rZu3LUyW','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','zgLZA1n0B3jHz2u','DxbSB2fKlq','lNHSC3G','mZbxA2jrvMC','Dw5SAw5R','Aw5JBhvKzxm','zgvSzxrLrMLSzq','t2PHDu4','mtu1mZq2qKX2AxHz','ufbfzhm','zgvMyxvSDa','mJK4mu55vMXJyG','CMfUzg9TqNL0zxm','zMLSzq','BM93','mta1mtK2n1PhEgTLua','y09AAuC','odKWndGXq0XNEw1U'];a0_0x4628=function(){return _0x431c4e;};return a0_0x4628();}module['exports']=new UploadHandler();
1
+ const a0_0x5b75f9=a0_0x27d3;(function(_0x2a664b,_0x5e10f2){const _0x44f5ab=a0_0x27d3,_0x3efb72=_0x2a664b();while(!![]){try{const _0x5c7b7a=parseInt(_0x44f5ab(0x1ec))/0x1*(parseInt(_0x44f5ab(0x211))/0x2)+parseInt(_0x44f5ab(0x205))/0x3+-parseInt(_0x44f5ab(0x1fc))/0x4+-parseInt(_0x44f5ab(0x1ed))/0x5+parseInt(_0x44f5ab(0x20e))/0x6+-parseInt(_0x44f5ab(0x201))/0x7+-parseInt(_0x44f5ab(0x1f2))/0x8*(-parseInt(_0x44f5ab(0x203))/0x9);if(_0x5c7b7a===_0x5e10f2)break;else _0x3efb72['push'](_0x3efb72['shift']());}catch(_0x21c4e0){_0x3efb72['push'](_0x3efb72['shift']());}}}(a0_0x1262,0x2c9b7));function a0_0x27d3(_0x43d7b0,_0x387c83){_0x43d7b0=_0x43d7b0-0x1e9;const _0x126201=a0_0x1262();let _0x27d34a=_0x126201[_0x43d7b0];if(a0_0x27d3['cwykyj']===undefined){var _0x3e854e=function(_0x14884d){const _0x191fed='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4b7431='',_0x1b9d08='';for(let _0x2f4d4e=0x0,_0xa45eaf,_0x26b2eb,_0x200185=0x0;_0x26b2eb=_0x14884d['charAt'](_0x200185++);~_0x26b2eb&&(_0xa45eaf=_0x2f4d4e%0x4?_0xa45eaf*0x40+_0x26b2eb:_0x26b2eb,_0x2f4d4e++%0x4)?_0x4b7431+=String['fromCharCode'](0xff&_0xa45eaf>>(-0x2*_0x2f4d4e&0x6)):0x0){_0x26b2eb=_0x191fed['indexOf'](_0x26b2eb);}for(let _0x184934=0x0,_0x358f3d=_0x4b7431['length'];_0x184934<_0x358f3d;_0x184934++){_0x1b9d08+='%'+('00'+_0x4b7431['charCodeAt'](_0x184934)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1b9d08);};a0_0x27d3['yPpuiL']=_0x3e854e,a0_0x27d3['VGWzqC']={},a0_0x27d3['cwykyj']=!![];}const _0x1b6033=_0x126201[0x0],_0x5709db=_0x43d7b0+_0x1b6033,_0x160a38=a0_0x27d3['VGWzqC'][_0x5709db];return!_0x160a38?(_0x27d34a=a0_0x27d3['yPpuiL'](_0x27d34a),a0_0x27d3['VGWzqC'][_0x5709db]=_0x27d34a):_0x27d34a=_0x160a38,_0x27d34a;}const multer=require('multer'),path=require(a0_0x5b75f9(0x1f1)),crypto=require('crypto'),fs=require('fs')['promises'],fsSync=require('fs'),{logger}=require('./logger');class UploadHandler{constructor(){const _0x19386d=a0_0x5b75f9;this[_0x19386d(0x210)]=null,this['maxFileSize']=0xa*0x400*0x400;}get['uploadDir'](){const _0x1a53cc=a0_0x5b75f9,_0x73ddcb={'FoRYn':_0x1a53cc(0x1f9),'hTBft':'upload_handler_init','MEFuq':_0x1a53cc(0x1f3),'OdvVV':'Failed\x20to\x20initialize\x20upload\x20handler'};if(!this[_0x1a53cc(0x210)]){const _0x1e0980=process[_0x1a53cc(0x204)]['RESTFORGE_PROJECT_NAME']||_0x73ddcb['FoRYn'];this[_0x1a53cc(0x210)]=process[_0x1a53cc(0x204)]['UPLOAD_DIR']||path[_0x1a53cc(0x206)](__dirname,_0x1a53cc(0x20f)+_0x1e0980);try{!fsSync[_0x1a53cc(0x200)](this['_uploadDir'])&&fsSync[_0x1a53cc(0x202)](this[_0x1a53cc(0x210)],{'recursive':!![]}),logger[_0x1a53cc(0x1f4)]({'event':_0x73ddcb['hTBft'],'dir':this['_uploadDir']},_0x1a53cc(0x1f8));}catch(_0xc6fab1){logger['error']({'event':_0x73ddcb[_0x1a53cc(0x1fe)],'error':_0xc6fab1[_0x1a53cc(0x20c)]},_0x73ddcb['OdvVV']);}}return this[_0x1a53cc(0x210)];}[a0_0x5b75f9(0x212)](){const _0x326077=a0_0x5b75f9,_0x37d5d4={'wSdkZ':_0x326077(0x209),'VXHFv':function(_0xaa5c57,_0x1feb99,_0x19df16){return _0xaa5c57(_0x1feb99,_0x19df16);}};return multer[_0x326077(0x1ea)]({'destination':(_0xc5caf,_0x244960,_0x1facef)=>{const _0x4eb6e5=_0x326077;!fsSync[_0x4eb6e5(0x200)](this['uploadDir'])&&fsSync['mkdirSync'](this[_0x4eb6e5(0x20a)],{'recursive':!![]}),_0x1facef(null,this[_0x4eb6e5(0x20a)]);},'filename':(_0x7390fe,_0x31fa1f,_0x926019)=>{const _0xa69ee2=_0x326077,_0x224895=crypto[_0xa69ee2(0x207)](0x8)[_0xa69ee2(0x208)](_0x37d5d4['wSdkZ']),_0x3d1cc6=Date[_0xa69ee2(0x1e9)](),_0x23851d=path[_0xa69ee2(0x1f0)](_0x31fa1f[_0xa69ee2(0x1ff)]);_0x37d5d4[_0xa69ee2(0x1f7)](_0x926019,null,'upload-'+_0x3d1cc6+'-'+_0x224895+_0x23851d);}});}['getUploadMiddleware'](){const _0x1743f6=a0_0x5b75f9,_0x5b1f2c={'CVZmF':_0x1743f6(0x1f5),'aTivT':function(_0x7c54f7,_0x193c52){return _0x7c54f7(_0x193c52);},'FZucW':_0x1743f6(0x1ef)};return multer({'storage':this[_0x1743f6(0x212)](),'limits':{'fileSize':this['maxFileSize'],'files':0x1},'fileFilter':(_0x2bcfdd,_0x2dd65c,_0x436f6f)=>{const _0x51b837=_0x1743f6,_0x2d3848=['application/vnd.openxmlformats-officedocument.spreadsheetml.sheet','application/vnd.ms-excel'],_0x12420c=['.xlsx',_0x5b1f2c['CVZmF']],_0x1331f3=path[_0x51b837(0x1f0)](_0x2dd65c[_0x51b837(0x1ff)])['toLowerCase']();_0x2d3848['includes'](_0x2dd65c['mimetype'])&&_0x12420c['includes'](_0x1331f3)?_0x436f6f(null,!![]):_0x5b1f2c[_0x51b837(0x20b)](_0x436f6f,new Error(_0x5b1f2c['FZucW']));}})[_0x1743f6(0x1fd)]('file');}async[a0_0x5b75f9(0x1fb)](_0xceb30b){const _0x4e09be=a0_0x5b75f9,_0x193938={'qAuAp':_0x4e09be(0x20d),'Dqstr':'Uploaded\x20file\x20deleted','OsCbP':_0x4e09be(0x1f6)};try{await fs['unlink'](_0xceb30b),logger['info']({'event':_0x193938['qAuAp'],'filePath':_0xceb30b},_0x193938['Dqstr']);}catch(_0x543d56){logger[_0x4e09be(0x1fa)]({'event':_0x4e09be(0x1eb),'filePath':_0xceb30b,'error':_0x543d56['message']},_0x193938[_0x4e09be(0x1ee)]);}}}function a0_0x1262(){const _0x32119d=['zw52','ndKWmZa1vuHbthHp','AM9PBG','CMfUzg9TqNL0zxm','Dg9tDhjPBMC','Agv4','DxbSB2fKrgLY','yvrPDLq','BwvZC2fNzq','DxbSB2fKx2zPBgvFzgvSzxrLza','mtK1odG5mKXSseL5yW','lI4VlI4VDgvTCc91CgXVywrZlW','x3vWBg9HzerPCG','mZbRBNLpB04','z2v0u3rVCMfNzq','BM93','zgLZA1n0B3jHz2u','DxbSB2fKx2zPBgvFzgvSzxrLx2vYCM9Y','mtyYntnOvfbju3O','mtCYndm5nvnjC3PIrG','t3ndyLa','sw52ywXPzcbMAwXLihr5CguUie9UBhKGlNHSC3GGzMLSzxmGyxjLigfSBg93zwq','zxH0BMfTzq','Cgf0Aa','mJrHzvb5D2i','DxbSB2fKx2HHBMrSzxjFAw5PDf9LCNjVCG','Aw5MBW','lNHSCW','rMfPBgvKihrVigrLBgv0zsb1CgXVywrLzcbMAwXL','vLHirNy','vxbSB2fKigHHBMrSzxiGAw5PDgLHBgL6zwq','zgvMyxvSDa','zxjYB3i','zgvSzxrLrMLSzq','odiYnZq4B0Pgqw5e','C2LUz2XL','tuvgDxe','B3jPz2LUywXUyw1L','zxHPC3rZu3LUyW','mJiXmZe5A3LABMPV','BwTKAxjtEw5J','otm1ndzZD05lCu4'];a0_0x1262=function(){return _0x32119d;};return a0_0x1262();}module['exports']=new UploadHandler();
@@ -1 +1 @@
1
- function a0_0xaf0b(_0x4a3267,_0x29a5d7){_0x4a3267=_0x4a3267-0x192;const _0x18097e=a0_0x1809();let _0xaf0bdd=_0x18097e[_0x4a3267];if(a0_0xaf0b['NhyHoR']===undefined){var _0x1c7f3d=function(_0x12aff4){const _0x512a89='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x468747='',_0x1ca058='';for(let _0x2d0639=0x0,_0x326a3d,_0x3b16d7,_0x303254=0x0;_0x3b16d7=_0x12aff4['charAt'](_0x303254++);~_0x3b16d7&&(_0x326a3d=_0x2d0639%0x4?_0x326a3d*0x40+_0x3b16d7:_0x3b16d7,_0x2d0639++%0x4)?_0x468747+=String['fromCharCode'](0xff&_0x326a3d>>(-0x2*_0x2d0639&0x6)):0x0){_0x3b16d7=_0x512a89['indexOf'](_0x3b16d7);}for(let _0xd9f870=0x0,_0x402ba9=_0x468747['length'];_0xd9f870<_0x402ba9;_0xd9f870++){_0x1ca058+='%'+('00'+_0x468747['charCodeAt'](_0xd9f870)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1ca058);};a0_0xaf0b['DzsiWL']=_0x1c7f3d,a0_0xaf0b['KEYTxQ']={},a0_0xaf0b['NhyHoR']=!![];}const _0x4afb5e=_0x18097e[0x0],_0x2f496e=_0x4a3267+_0x4afb5e,_0x297c2d=a0_0xaf0b['KEYTxQ'][_0x2f496e];return!_0x297c2d?(_0xaf0bdd=a0_0xaf0b['DzsiWL'](_0xaf0bdd),a0_0xaf0b['KEYTxQ'][_0x2f496e]=_0xaf0bdd):_0xaf0bdd=_0x297c2d,_0xaf0bdd;}const a0_0x752940=a0_0xaf0b;(function(_0x45f583,_0x201107){const _0x18fc6c=a0_0xaf0b,_0x5bcdf1=_0x45f583();while(!![]){try{const _0x136462=parseInt(_0x18fc6c(0x1b5))/0x1*(parseInt(_0x18fc6c(0x1ac))/0x2)+-parseInt(_0x18fc6c(0x1b8))/0x3*(-parseInt(_0x18fc6c(0x1e9))/0x4)+parseInt(_0x18fc6c(0x1bf))/0x5+parseInt(_0x18fc6c(0x1b4))/0x6*(-parseInt(_0x18fc6c(0x1df))/0x7)+-parseInt(_0x18fc6c(0x1af))/0x8+-parseInt(_0x18fc6c(0x1e4))/0x9+parseInt(_0x18fc6c(0x1bc))/0xa*(parseInt(_0x18fc6c(0x1c3))/0xb);if(_0x136462===_0x201107)break;else _0x5bcdf1['push'](_0x5bcdf1['shift']());}catch(_0x25a179){_0x5bcdf1['push'](_0x5bcdf1['shift']());}}}(a0_0x1809,0xd7472));const {logger}=require(a0_0x752940(0x1a9)),DB_TYPES={'POSTGRESQL':'postgresql','MYSQL':'mysql','SQLSERVER':a0_0x752940(0x1f1),'ORACLE':a0_0x752940(0x1da),'SQLITE':a0_0x752940(0x1a7)};class UpsertBuilder{[a0_0x752940(0x1e5)](){const _0xed0128=a0_0x752940,_0x31aa4f={'DvMID':'invalid_db_type'},_0x7e61e2=(process[_0xed0128(0x1ef)]['DB_TYPE']||_0xed0128(0x1d0))['toLowerCase'](),_0x4bb8ae=Object[_0xed0128(0x1e7)](DB_TYPES);if(!_0x4bb8ae['includes'](_0x7e61e2))return logger['warn']({'event':_0x31aa4f[_0xed0128(0x1ab)],'provided':_0x7e61e2,'fallback':_0xed0128(0x1d0)},_0xed0128(0x1ed)+_0x7e61e2+_0xed0128(0x19a)),DB_TYPES['POSTGRESQL'];return _0x7e61e2;}['formatDateValue'](_0xfa2530,_0x11373a,_0x18af6a=![]){const _0x8f20b8=a0_0x752940,_0x57d6e8={'ILFSj':'NULL'};if(_0x18af6a)switch(_0x11373a){case DB_TYPES['POSTGRESQL']:return _0x8f20b8(0x1dd);case DB_TYPES['MYSQL']:return'NULL';case DB_TYPES['SQLITE']:return _0x57d6e8['ILFSj'];case DB_TYPES[_0x8f20b8(0x1a0)]:return _0x8f20b8(0x198);case DB_TYPES['ORACLE']:return _0x57d6e8[_0x8f20b8(0x1d1)];default:return _0x8f20b8(0x1dd);}switch(_0x11373a){case DB_TYPES[_0x8f20b8(0x196)]:return _0xfa2530+_0x8f20b8(0x1a3);case DB_TYPES[_0x8f20b8(0x1c8)]:return _0xfa2530;case DB_TYPES['SQLITE']:return _0xfa2530;case DB_TYPES[_0x8f20b8(0x1a0)]:return _0x8f20b8(0x19f)+_0xfa2530+_0x8f20b8(0x1be);case DB_TYPES['ORACLE']:return _0x8f20b8(0x1ec)+_0xfa2530+',\x20\x27YYYY-MM-DD\x27)';default:return _0xfa2530+'::DATE';}}['formatBooleanValue'](_0x25698b,_0xea6f4b,_0xc215b=![]){const _0x259081=a0_0x752940;if(_0xc215b)switch(_0xea6f4b){case DB_TYPES[_0x259081(0x196)]:return'NULL::BOOLEAN';default:return'NULL';}switch(_0xea6f4b){case DB_TYPES['POSTGRESQL']:return _0x25698b+_0x259081(0x1cb);case DB_TYPES['ORACLE']:return _0x25698b;case DB_TYPES['MYSQL']:return _0x25698b;case DB_TYPES[_0x259081(0x19c)]:return _0x25698b;case DB_TYPES[_0x259081(0x1a0)]:return'CAST('+_0x25698b+_0x259081(0x1d8);default:return _0x25698b+'::BOOLEAN';}}[a0_0x752940(0x1b6)](_0x49fdbb={}){const _0x23a863=a0_0x752940,_0x3d3552={'Tschv':function(_0x26732c,_0x374ee6){return _0x26732c===_0x374ee6;},'qJvLN':'date','QmWof':function(_0x4ca4b0,_0xc3fc1d){return _0x4ca4b0===_0xc3fc1d;},'cYoeJ':_0x23a863(0x1c0),'bqHky':_0x23a863(0x198),'IvYhb':_0x23a863(0x1a1),'fXBWf':function(_0x435310,_0x2339cc){return _0x435310===_0x2339cc;},'YrlXT':function(_0x590da6,_0x4f6c30){return _0x590da6===_0x4f6c30;},'JhqGh':function(_0x5a12a7,_0x4e8671){return _0x5a12a7(_0x4e8671);}},_0x35bfd1=this[_0x23a863(0x1e5)]();return(_0x14a857,_0x4901b4)=>{const _0x30dee5=_0x23a863,_0x313e10=_0x49fdbb[_0x4901b4];if(_0x3d3552[_0x30dee5(0x1ce)](_0x14a857,null)||_0x14a857===undefined){if(_0x313e10&&_0x313e10[_0x30dee5(0x1c9)]===_0x3d3552['qJvLN'])return this[_0x30dee5(0x1c5)](null,_0x35bfd1,!![]);if(_0x313e10&&_0x3d3552['QmWof'](_0x313e10['type'],_0x3d3552[_0x30dee5(0x19d)]))return this['formatBooleanValue'](null,_0x35bfd1,!![]);return _0x3d3552[_0x30dee5(0x1b3)];}if(typeof _0x14a857===_0x3d3552[_0x30dee5(0x1cf)]){const _0x29cd4d='\x27'+_0x14a857['replace'](/'/g,'\x27\x27')+'\x27';if(_0x313e10&&_0x313e10['type']===_0x30dee5(0x1d3))return this['formatDateValue'](_0x29cd4d,_0x35bfd1,![]);if(_0x313e10&&_0x3d3552[_0x30dee5(0x1b7)](_0x313e10['type'],_0x30dee5(0x1c0)))return this[_0x30dee5(0x197)](_0x29cd4d,_0x35bfd1,![]);return _0x29cd4d;}if(typeof _0x14a857==='number')return _0x14a857;if(_0x3d3552['YrlXT'](typeof _0x14a857,_0x3d3552[_0x30dee5(0x19d)]))return _0x14a857;const _0x1cbe96='\x27'+_0x3d3552[_0x30dee5(0x1dc)](String,_0x14a857)['replace'](/'/g,'\x27\x27')+'\x27';if(_0x313e10&&_0x313e10[_0x30dee5(0x1c9)]===_0x30dee5(0x1d3))return this[_0x30dee5(0x1c5)](_0x1cbe96,_0x35bfd1,![]);return _0x1cbe96;};}[a0_0x752940(0x1c2)](_0x5705d1,_0x1ee21c,_0x4d9d90,_0x234344={}){const _0x133026=a0_0x752940,_0x5b5cd4={'OqnaS':function(_0x745be9,_0x5896cf){return _0x745be9===_0x5896cf;}},_0x2c9e18=this['getDatabaseType']();if(_0x5b5cd4[_0x133026(0x1eb)](_0x2c9e18,DB_TYPES[_0x133026(0x1d7)]))return this[_0x133026(0x1f0)](_0x5705d1,_0x1ee21c,_0x4d9d90,_0x234344);return this['_buildBatchInsertPostgres'](_0x5705d1,_0x1ee21c,_0x4d9d90,_0x234344);}['_buildBatchInsertPostgres'](_0x3977c1,_0x6a7155,_0x50b62b,_0x686dbc={}){const _0x4db840=a0_0x752940,_0x392bff={'IjxKp':function(_0x296dfd,_0x4140d9){return _0x296dfd===_0x4140d9;},'tuTtT':_0x4db840(0x1cd),'agfCZ':'postgresql','NzXhP':_0x4db840(0x1d2)};if(_0x392bff[_0x4db840(0x1e0)](_0x3977c1['length'],0x0))return{'query':null,'values':[]};const _0x4598e7=this[_0x4db840(0x1b6)](_0x686dbc),_0x30da68=_0x3977c1['map'](_0x41d9be=>{const _0x307aa5=_0x4db840,_0x571468=_0x50b62b[_0x307aa5(0x1a2)](_0x54680e=>_0x4598e7(_0x41d9be[_0x54680e],_0x54680e));return'('+_0x571468[_0x307aa5(0x1ad)](',\x20')+')';}),_0x148513='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x6a7155+'\x20('+_0x50b62b[_0x4db840(0x1ad)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x30da68['join'](',\x0a\x20\x20\x20\x20\x20\x20\x20')+_0x4db840(0x1e6);return logger['debug']({'event':_0x392bff[_0x4db840(0x1ea)],'tableName':_0x6a7155,'rowCount':_0x3977c1['length'],'dbType':_0x392bff[_0x4db840(0x1d5)]},_0x392bff['NzXhP']),{'query':_0x148513,'values':[]};}['_buildBatchInsertOracle'](_0x46c6f1,_0x5d2003,_0x218276,_0x4f37e7={}){const _0xfb81e3=a0_0x752940,_0x3ef4b9={'lgoCK':'Batch\x20INSERT\x20query\x20built\x20(Oracle)'};if(_0x46c6f1['length']===0x0)return{'query':null,'values':[]};const _0x5f5d96=this['buildEscapeFunction'](_0x4f37e7),_0x5bc4c9=_0x46c6f1['map'](_0x27f2da=>{const _0x328ba2=a0_0xaf0b,_0x52be22=_0x218276[_0x328ba2(0x1a2)](_0x538573=>_0x5f5d96(_0x27f2da[_0x538573],_0x538573));return'\x20\x20INTO\x20'+_0x5d2003+'\x20('+_0x218276[_0x328ba2(0x1ad)](',\x20')+')\x20VALUES\x20('+_0x52be22['join'](',\x20')+')';}),_0x1a311d=_0xfb81e3(0x19e)+_0x5bc4c9[_0xfb81e3(0x1ad)]('\x0a')+_0xfb81e3(0x1de);return logger['debug']({'event':'batch_insert_built','tableName':_0x5d2003,'rowCount':_0x46c6f1[_0xfb81e3(0x1b0)],'dbType':'oracle'},_0x3ef4b9['lgoCK']),{'query':_0x1a311d,'values':[]};}['buildBatchUpdate'](_0x5cae8d,_0x522b92,_0x493088,_0x1d2c55,_0x24e1da,_0x4a17d3={}){const _0x44ea2f=a0_0x752940,_0x4eb0df={'vWFKR':function(_0x320707,_0x11e583){return _0x320707===_0x11e583;}},_0x5a0194=this[_0x44ea2f(0x1e5)]();if(_0x4eb0df[_0x44ea2f(0x1ba)](_0x5a0194,DB_TYPES[_0x44ea2f(0x1d7)]))return this[_0x44ea2f(0x1cc)](_0x5cae8d,_0x522b92,_0x493088,_0x1d2c55,_0x24e1da,_0x4a17d3);if(_0x5a0194===DB_TYPES['MYSQL'])return this[_0x44ea2f(0x1a4)](_0x5cae8d,_0x522b92,_0x493088,_0x1d2c55,_0x24e1da,_0x4a17d3);return this[_0x44ea2f(0x1a8)](_0x5cae8d,_0x522b92,_0x493088,_0x1d2c55,_0x24e1da,_0x4a17d3);}[a0_0x752940(0x1a8)](_0x21d2ce,_0xaf745e,_0x3c6267,_0x414e5b,_0x4e0f26,_0x34785a={}){const _0x43c0de=a0_0x752940,_0x101975={'sZYGc':function(_0x62025f,_0x4cc61d){return _0x62025f===_0x4cc61d;},'edgzz':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','fFrih':_0x43c0de(0x1a5),'iZnCT':_0x43c0de(0x1ca)};if(_0x101975[_0x43c0de(0x1d6)](_0x21d2ce['length'],0x0))return{'query':null,'values':[]};const _0x1705af=this[_0x43c0de(0x1b6)](_0x34785a),_0x37cd2f=_0x3c6267['filter'](_0x3199cd=>!_0x4e0f26['includes'](_0x3199cd)&&_0x3199cd!==_0x414e5b);if(_0x101975['sZYGc'](_0x37cd2f[_0x43c0de(0x1b0)],0x0))return logger['warn']({'event':_0x43c0de(0x1c1),'tableName':_0xaf745e},_0x101975[_0x43c0de(0x192)]),{'query':null,'values':[]};const _0x5cc148=_0x21d2ce[_0x43c0de(0x1a2)](_0x1ad1c6=>{const _0x5a5556=[..._0x4e0f26,..._0x37cd2f],_0xd9ae79=_0x5a5556['map'](_0x4bf0f4=>_0x1705af(_0x1ad1c6[_0x4bf0f4],_0x4bf0f4));return'('+_0xd9ae79['join'](',\x20')+')';}),_0x4ca09f=_0x37cd2f['map'](_0x2bfb86=>_0x2bfb86+'\x20=\x20v.'+_0x2bfb86)['join'](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20'),_0x4fe6ea=_0x4e0f26[_0x43c0de(0x1a2)](_0x7b9a5d=>'t.'+_0x7b9a5d+'\x20=\x20v.'+_0x7b9a5d)[_0x43c0de(0x1ad)](_0x43c0de(0x193)),_0x26b00a='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0xaf745e+'\x20AS\x20t\x0a\x20\x20\x20\x20\x20\x20SET\x20'+_0x4ca09f+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20(VALUES\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x5cc148[_0x43c0de(0x1ad)](_0x101975['fFrih'])+_0x43c0de(0x1c7)+[..._0x4e0f26,..._0x37cd2f]['join'](',\x20')+_0x43c0de(0x19b)+_0x4fe6ea+'\x0a\x20\x20\x20\x20';return logger[_0x43c0de(0x1b1)]({'event':_0x43c0de(0x1ae),'tableName':_0xaf745e,'rowCount':_0x21d2ce[_0x43c0de(0x1b0)],'updateColumns':_0x37cd2f['length'],'dbType':_0x43c0de(0x1d0)},_0x101975['iZnCT']),{'query':_0x26b00a,'values':[]};}['_buildBatchUpdateOracle'](_0x69240c,_0x46ce81,_0x1f8d57,_0x5ceb29,_0x535571,_0x3d5747={}){const _0x183290=a0_0x752940,_0x4a8b7f={'bmpYO':function(_0x5c2689,_0x541fe7){return _0x5c2689===_0x541fe7;},'qbEcn':_0x183290(0x1c1),'TufNW':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','YNpEI':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','rdmVb':'batch_update_built','XVNwE':_0x183290(0x1da),'nIHsa':'Batch\x20UPDATE\x20query\x20built\x20(Oracle\x20MERGE)'};if(_0x69240c['length']===0x0)return{'query':null,'values':[]};const _0x3c926b=this[_0x183290(0x1b6)](_0x3d5747),_0x1edfa0=_0x1f8d57['filter'](_0x144bec=>!_0x535571[_0x183290(0x1c4)](_0x144bec)&&_0x144bec!==_0x5ceb29);if(_0x4a8b7f[_0x183290(0x199)](_0x1edfa0['length'],0x0))return logger[_0x183290(0x1b2)]({'event':_0x4a8b7f['qbEcn'],'tableName':_0x46ce81},_0x4a8b7f[_0x183290(0x1f2)]),{'query':null,'values':[]};const _0x116bd5=[..._0x535571,..._0x1edfa0],_0x10c1c5=_0x69240c[_0x183290(0x1a2)]((_0x3124fa,_0x17a6ce)=>{const _0x5a3c10=_0x183290,_0x7751c8=_0x116bd5[_0x5a3c10(0x1a2)](_0x19d1f3=>{const _0x38d11b=_0x5a3c10,_0x47cee1=_0x3c926b(_0x3124fa[_0x19d1f3],_0x19d1f3);return _0x17a6ce===0x0?_0x47cee1+_0x38d11b(0x1e8)+_0x19d1f3:_0x47cee1;});return'\x20\x20\x20\x20SELECT\x20'+_0x7751c8[_0x5a3c10(0x1ad)](',\x20')+_0x5a3c10(0x1bb);}),_0x32a6e7=_0x1edfa0[_0x183290(0x1a2)](_0x457043=>'t.'+_0x457043+'\x20=\x20v.'+_0x457043)['join'](_0x4a8b7f[_0x183290(0x1e3)]),_0x4a69fe=_0x535571['map'](_0x28496a=>'t.'+_0x28496a+_0x183290(0x1ee)+_0x28496a)[_0x183290(0x1ad)]('\x20AND\x20'),_0x445c25='\x0a\x20\x20\x20\x20\x20\x20MERGE\x20INTO\x20'+_0x46ce81+'\x20t\x0a\x20\x20\x20\x20\x20\x20USING\x20(\x0a'+_0x10c1c5['join']('\x0a\x20\x20\x20\x20UNION\x20ALL\x0a')+_0x183290(0x1a6)+_0x4a69fe+_0x183290(0x1aa)+_0x32a6e7+_0x183290(0x1e6);return logger[_0x183290(0x1b1)]({'event':_0x4a8b7f['rdmVb'],'tableName':_0x46ce81,'rowCount':_0x69240c['length'],'updateColumns':_0x1edfa0['length'],'dbType':_0x4a8b7f[_0x183290(0x1c6)]},_0x4a8b7f['nIHsa']),{'query':_0x445c25,'values':[]};}[a0_0x752940(0x1a4)](_0x3c4fc2,_0x3fc39d,_0x5ae855,_0x288781,_0x474661,_0x2c4085={}){const _0x5621c5=a0_0x752940,_0x4a8105={'pZyGl':'batch_update_built','Tmtwd':_0x5621c5(0x1db),'kNOCp':'Batch\x20UPDATE\x20query\x20built\x20(MySQL\x20ON\x20DUPLICATE\x20KEY)'};if(_0x3c4fc2['length']===0x0)return{'query':null,'values':[]};const _0x2f108d=this[_0x5621c5(0x1b6)](_0x2c4085),_0x29bcb3=_0x5ae855['filter'](_0x9f9e23=>!_0x474661['includes'](_0x9f9e23)&&_0x9f9e23!==_0x288781);if(_0x29bcb3['length']===0x0)return logger[_0x5621c5(0x1b2)]({'event':_0x5621c5(0x1c1),'tableName':_0x3fc39d},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x26694d=[...new Set([..._0x474661,..._0x29bcb3])],_0x4f8415=_0x3c4fc2[_0x5621c5(0x1a2)](_0x5c3c53=>{const _0x264ca3=_0x5621c5,_0x332c43=_0x26694d[_0x264ca3(0x1a2)](_0x33862e=>_0x2f108d(_0x5c3c53[_0x33862e],_0x33862e));return'('+_0x332c43[_0x264ca3(0x1ad)](',\x20')+')';}),_0x18106b=_0x29bcb3['map'](_0x3d0451=>_0x3d0451+_0x5621c5(0x1b9)+_0x3d0451+')')['join'](_0x5621c5(0x194)),_0x194e9b='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x3fc39d+'\x20('+_0x26694d[_0x5621c5(0x1ad)](',\x20')+_0x5621c5(0x1e1)+_0x4f8415['join'](_0x5621c5(0x1a5))+'\x0a\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x20'+_0x18106b+'\x0a\x20\x20\x20\x20';return logger[_0x5621c5(0x1b1)]({'event':_0x4a8105['pZyGl'],'tableName':_0x3fc39d,'rowCount':_0x3c4fc2['length'],'updateColumns':_0x29bcb3['length'],'dbType':_0x4a8105[_0x5621c5(0x1bd)]},_0x4a8105['kNOCp']),{'query':_0x194e9b,'values':[]};}[a0_0x752940(0x1d9)](_0x11ee60,_0x1fc6e6=0x64){const _0x1c3cec=a0_0x752940,_0x5c408c={'HtFJU':function(_0x1b5f66,_0x141c0d){return _0x1b5f66<_0x141c0d;},'goAWz':function(_0x2fb58c,_0x477b6c){return _0x2fb58c+_0x477b6c;}},_0x4baa6b=[];for(let _0x4265f8=0x0;_0x5c408c[_0x1c3cec(0x195)](_0x4265f8,_0x11ee60[_0x1c3cec(0x1b0)]);_0x4265f8+=_0x1fc6e6){_0x4baa6b['push'](_0x11ee60[_0x1c3cec(0x1e2)](_0x4265f8,_0x5c408c[_0x1c3cec(0x1d4)](_0x4265f8,_0x1fc6e6)));}return _0x4baa6b;}}module['exports']=new UpsertBuilder();function a0_0x1809(){const _0x4e456e=['ve9FrefursG','sw52ywXPzcbeqL9uwvbfoIa','id0GDI4','zw52','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','C3fSC2vYDMvY','vhvMtLC','zwrNENO','ieforca','laOGicaGicaGica','shrgsLu','ue9tveDsrvnrta','zM9YBwf0qM9VBgvHBLzHBhvL','tLvmta','yM1Wwu8','lIbgywXSAw5NigjHy2SGDg8GCg9ZDgDYzxnXBc4','kqOGicaGicbxsevsrsa','u1fmsvrf','y1LVzuO','su5trvjuiefmtaO','q0ftvcG','u1fmu0vsvKvs','C3rYAw5N','BwfW','oJPeqvrf','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','laOGicaGicaGia','cIaGicaGicKGDGOGicaGicbptIaO','C3fSAxrL','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','lI9SB2DNzxi','kqOGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vuia','rhznsuq','mJHQvwDvDNe','AM9PBG','yMf0y2HFDxbKyxrLx2j1AwX0','mZCWnZG4ofPkwMHTDq','BgvUz3rO','zgvIDwC','D2fYBG','yNfiA3K','nZC0uNzJuhrQ','mJG1ntbrz09qAKS','yNvPBgrfC2nHCgvgDw5JDgLVBG','zLHcv2y','ota0nti0qxDcsNvc','id0GvKfmvuvtka','DLDgs1i','iezst00Grfvbta','mty0mtCWAMjNB2nZ','vg10D2q','ieftierbveuP','nJm5mta2mgXdBxPnuq','yM9VBgvHBG','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','yNvPBgrcyxrJAeLUC2vYDa','ndCZAhb6Ew9M','Aw5JBhvKzxm','zM9YBwf0rgf0zvzHBhvL','wfzoD0u','cIaGicaGicKGqvmGDIG','tvLtuuW','DhLWzq','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','oJPct09mrufo','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','yMf0y2HFAw5Zzxj0x2j1AwX0','vhnJAhy','sxzzAgi','Cg9ZDgDYzxnXBa','suXgu2O','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','zgf0zq','z29bv3O','ywDMq1O','C1Pzr2m','t1jbq0Xf','ieftiejjvcK','y2H1BMTsB3DZ','B3jHy2XL','BxLZCwW','sMHXr2G','tLvmtdO6refurq','cLnftevdvcaXiezst00Grfvbta','ntC2mJrkALfxu1K','swP4s3a','kqOGicaGicbwquXvrvmG','C2XPy2u','wu5WruK','mJuWmZqZmu12sgPIvq','z2v0rgf0ywjHC2vuExbL','cIaGica','DMfSDwvZ','ieftia','ngXhANjyuW','DhvuDfq','t3fUyvm'];a0_0x1809=function(){return _0x4e456e;};return a0_0x1809();}
1
+ const a0_0x1c2875=a0_0x542d;function a0_0x5cf6(){const _0x202399=['BMz4zw4','wMTjEMi','laOGicaGicaGia','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHpCMfJBguGtuvsr0uP','D2L0zxi','rMvzDw8','C3rYAw5N','cLnftevdvcaXiezst00Grfvbta','laOGicaGicaGica','AvHAs20','yNvPBgrcyxrJAeLUC2vYDa','CMvWBgfJzq','ChvZAa','tLvmtdO6qK9ptevbtG','swX5AgG','BwfW','id0GDI4','ihqkicaGicaGvvnjtKCGkaO','mZbLvK5bDgy','B3jHy2XL','zM9YBwf0qM9VBgvHBLzHBhvL','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','u1fmsvrf','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','ruf3Ahq','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','nJqXmtiWn2TuDMfyBW','ksbwquXvrvmGka','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','A3vvEMm','mtCZndHtzhblzui','AM9PBG','rK1Ru1q','tLvmtdO6refurq','vMjxA00','oJPct09mrufo','yM9VBgvHBG','CNHgy04','Aw52ywXPzf9KyL90ExbL','ieforca','u1fmu0vsvKvs','BNvTyMvY','BgvUz3rO','ueruC1K','odHsuvzjyLy','zgf0zq','cIaGicaGieLou0vsvcbjtLrpia','mJbUq1jlrwi','ndq1ndy2n21SDuToDq','z2v0rgf0ywjHC2vuExbL','t3n0EKy','v1boAgO','B1jPv3K','DwDfEuq','odKYmtK3r0fcDw5A','DhLWzq','mtCXndK5mKnxALPcwq','ieftierbveuP','tvLtuuW','A1DJrgS','t2jVELe','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHpCMfJBguP','mtC1mteZs0vTsffO','rMfvwuW','yNvPBgrfC2nHCgvgDw5JDgLVBG','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','t1jbq0Xf','BxLZCwW','zM9YBwf0rgf0zvzHBhvL','kqOGicaGicbxsevoie1bveniruqGveHftIbvuerbveuGu0vuia','cIaGica','Cg9ZDgDYzxnXBa','zgvIDwC','cIaGicaGie1fuKDfieLove8G','D2fYBG','id0GvKfmvuvtka','DMfSDwvZ','vvLZvw8','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','y2HLALu','ieftihqkicaGicaGu0vuia','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','uKLPvKy','kqOGicaGicbxsevsrsa','ue9tveDsrvnrta','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','icbjtLrpia','q0ftvcG','cIaGicaGicKGqvmGDIG','otqWnZy4quLKBu5i','zfz6u2W','vfLMBMO','ieftia','yMf0y2HFAw5Zzxj0x2j1AwX0','Aw5JBhvKzxm','yMf0y2HFDxbKyxrLx2j1AwX0','tfj4Bfi','mtvVAKvyug4'];a0_0x5cf6=function(){return _0x202399;};return a0_0x5cf6();}(function(_0x2f3655,_0x79c8e8){const _0xb94ce8=a0_0x542d,_0x2b459a=_0x2f3655();while(!![]){try{const _0x3c828a=-parseInt(_0xb94ce8(0xf7))/0x1+parseInt(_0xb94ce8(0x11a))/0x2+parseInt(_0xb94ce8(0xc0))/0x3*(parseInt(_0xb94ce8(0xdf))/0x4)+-parseInt(_0xb94ce8(0xf0))/0x5*(parseInt(_0xb94ce8(0xf9))/0x6)+parseInt(_0xb94ce8(0xf1))/0x7+-parseInt(_0xb94ce8(0xed))/0x8*(parseInt(_0xb94ce8(0xff))/0x9)+parseInt(_0xb94ce8(0xd3))/0xa*(parseInt(_0xb94ce8(0xdb))/0xb);if(_0x3c828a===_0x79c8e8)break;else _0x2b459a['push'](_0x2b459a['shift']());}catch(_0x3ff3fd){_0x2b459a['push'](_0x2b459a['shift']());}}}(a0_0x5cf6,0x992d1));const {logger}=require('./logger'),DB_TYPES={'POSTGRESQL':a0_0x1c2875(0x108),'MYSQL':a0_0x1c2875(0x104),'SQLSERVER':'sqlserver','ORACLE':a0_0x1c2875(0xd4),'SQLITE':'sqlite'};function a0_0x542d(_0x3bd752,_0x3c0e3c){_0x3bd752=_0x3bd752-0xbd;const _0x5cf62a=a0_0x5cf6();let _0x542d4b=_0x5cf62a[_0x3bd752];if(a0_0x542d['QNcHCP']===undefined){var _0x2f0ece=function(_0x5eb745){const _0x39f4cc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x267049='',_0x5645d1='';for(let _0x5e5b81=0x0,_0x3e5d5c,_0x2d97ec,_0x41b387=0x0;_0x2d97ec=_0x5eb745['charAt'](_0x41b387++);~_0x2d97ec&&(_0x3e5d5c=_0x5e5b81%0x4?_0x3e5d5c*0x40+_0x2d97ec:_0x2d97ec,_0x5e5b81++%0x4)?_0x267049+=String['fromCharCode'](0xff&_0x3e5d5c>>(-0x2*_0x5e5b81&0x6)):0x0){_0x2d97ec=_0x39f4cc['indexOf'](_0x2d97ec);}for(let _0x1cfbcd=0x0,_0x28e650=_0x267049['length'];_0x1cfbcd<_0x28e650;_0x1cfbcd++){_0x5645d1+='%'+('00'+_0x267049['charCodeAt'](_0x1cfbcd)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5645d1);};a0_0x542d['BgHCpq']=_0x2f0ece,a0_0x542d['gfRqII']={},a0_0x542d['QNcHCP']=!![];}const _0x3aab47=_0x5cf62a[0x0],_0xd73ad1=_0x3bd752+_0x3aab47,_0x40fb8c=a0_0x542d['gfRqII'][_0xd73ad1];return!_0x40fb8c?(_0x542d4b=a0_0x542d['BgHCpq'](_0x542d4b),a0_0x542d['gfRqII'][_0xd73ad1]=_0x542d4b):_0x542d4b=_0x40fb8c,_0x542d4b;}class UpsertBuilder{[a0_0x1c2875(0xf2)](){const _0x370b7d=a0_0x1c2875,_0x3b8f6f=(process['env']['DB_TYPE']||_0x370b7d(0x108))['toLowerCase'](),_0x158c20=Object[_0x370b7d(0x10d)](DB_TYPES);if(!_0x158c20[_0x370b7d(0xbd)](_0x3b8f6f))return logger[_0x370b7d(0x10b)]({'event':_0x370b7d(0xe7),'provided':_0x3b8f6f,'fallback':_0x370b7d(0x108)},'Invalid\x20DB_TYPE:\x20'+_0x3b8f6f+'.\x20Falling\x20back\x20to\x20postgresql.'),DB_TYPES[_0x370b7d(0x115)];return _0x3b8f6f;}[a0_0x1c2875(0x105)](_0x2ef165,_0x33b1cd,_0x995919=![]){const _0x563bca=a0_0x1c2875,_0x3c7bed={'VbWkM':_0x563bca(0xe2),'kWcDk':'NULL'};if(_0x995919)switch(_0x33b1cd){case DB_TYPES['POSTGRESQL']:return _0x3c7bed[_0x563bca(0xe3)];case DB_TYPES[_0x563bca(0xfb)]:return _0x3c7bed['kWcDk'];case DB_TYPES['SQLITE']:return _0x3c7bed[_0x563bca(0xfc)];case DB_TYPES[_0x563bca(0xe9)]:return _0x3c7bed[_0x563bca(0xfc)];case DB_TYPES['ORACLE']:return _0x3c7bed[_0x563bca(0xfc)];default:return'NULL::DATE';}switch(_0x33b1cd){case DB_TYPES[_0x563bca(0x115)]:return _0x2ef165+'::DATE';case DB_TYPES[_0x563bca(0xfb)]:return _0x2ef165;case DB_TYPES[_0x563bca(0xd7)]:return _0x2ef165;case DB_TYPES[_0x563bca(0xe9)]:return _0x563bca(0x118)+_0x2ef165+_0x563bca(0xfa);case DB_TYPES['ORACLE']:return'TO_DATE('+_0x2ef165+',\x20\x27YYYY-MM-DD\x27)';default:return _0x2ef165+'::DATE';}}[a0_0x1c2875(0xd5)](_0x343525,_0x51409a,_0x89d1fa=![]){const _0x1c650e=a0_0x1c2875,_0x471579={'ObozQ':_0x1c650e(0xce)};if(_0x89d1fa)switch(_0x51409a){case DB_TYPES['POSTGRESQL']:return _0x471579[_0x1c650e(0xfd)];default:return'NULL';}switch(_0x51409a){case DB_TYPES['POSTGRESQL']:return _0x343525+_0x1c650e(0xe4);case DB_TYPES['ORACLE']:return _0x343525;case DB_TYPES[_0x1c650e(0xfb)]:return _0x343525;case DB_TYPES['SQLITE']:return _0x343525;case DB_TYPES[_0x1c650e(0xe9)]:return'CAST('+_0x343525+'\x20AS\x20BIT)';default:return _0x343525+'::BOOLEAN';}}['buildEscapeFunction'](_0x407fc0={}){const _0x67a854=a0_0x1c2875,_0x586b40={'rxFcN':function(_0x20979f,_0xb6e3e2){return _0x20979f===_0xb6e3e2;},'RIiVF':function(_0x6d4257,_0x139139){return _0x6d4257===_0x139139;},'WPNhj':function(_0xe20be4,_0x3194b3){return _0xe20be4===_0x3194b3;},'chejU':_0x67a854(0xe5),'FaUYL':'NULL','FMkST':_0x67a854(0xc7),'JmNzJ':function(_0x42ac02,_0x1c6052){return _0x42ac02===_0x1c6052;},'bFaCQ':_0x67a854(0xea),'vqsKd':function(_0x376408,_0x5647b9){return _0x376408===_0x5647b9;},'Ilyhh':function(_0x591f57,_0x132e8b){return _0x591f57(_0x132e8b);},'iXZKm':_0x67a854(0xee)},_0xe9d230=this[_0x67a854(0xf2)]();return(_0x4e714e,_0x457824)=>{const _0x437651=_0x67a854,_0x28a811=_0x407fc0[_0x457824];if(_0x586b40[_0x437651(0xe6)](_0x4e714e,null)||_0x586b40[_0x437651(0x113)](_0x4e714e,undefined)){if(_0x28a811&&_0x586b40[_0x437651(0xf4)](_0x28a811[_0x437651(0xf8)],'date'))return this['formatDateValue'](null,_0xe9d230,!![]);if(_0x28a811&&_0x28a811[_0x437651(0xf8)]===_0x586b40[_0x437651(0x110)])return this[_0x437651(0xd5)](null,_0xe9d230,!![]);return _0x586b40[_0x437651(0x100)];}if(typeof _0x4e714e===_0x586b40[_0x437651(0xe1)]){const _0x2119fa='\x27'+_0x4e714e[_0x437651(0xcc)](/'/g,'\x27\x27')+'\x27';if(_0x28a811&&_0x586b40['JmNzJ'](_0x28a811[_0x437651(0xf8)],_0x437651(0xee)))return this['formatDateValue'](_0x2119fa,_0xe9d230,![]);if(_0x28a811&&_0x586b40[_0x437651(0xf4)](_0x28a811['type'],_0x586b40[_0x437651(0x110)]))return this[_0x437651(0xd5)](_0x2119fa,_0xe9d230,![]);return _0x2119fa;}if(_0x586b40['RIiVF'](typeof _0x4e714e,_0x586b40['bFaCQ']))return _0x4e714e;if(_0x586b40['vqsKd'](typeof _0x4e714e,_0x586b40['chejU']))return _0x4e714e;const _0x15e7d9='\x27'+_0x586b40[_0x437651(0xcf)](String,_0x4e714e)['replace'](/'/g,'\x27\x27')+'\x27';if(_0x28a811&&_0x28a811['type']===_0x586b40[_0x437651(0xca)])return this[_0x437651(0x105)](_0x15e7d9,_0xe9d230,![]);return _0x15e7d9;};}[a0_0x1c2875(0xcb)](_0x324ecc,_0x4f647b,_0x11e5d1,_0x104be6={}){const _0x1ce72e=a0_0x1c2875,_0x588aa8={'ZkIzb':function(_0x417792,_0x5f9a47){return _0x417792===_0x5f9a47;}},_0x5c3611=this['getDatabaseType']();if(_0x588aa8[_0x1ce72e(0xc2)](_0x5c3611,DB_TYPES[_0x1ce72e(0x103)]))return this[_0x1ce72e(0x102)](_0x324ecc,_0x4f647b,_0x11e5d1,_0x104be6);return this['_buildBatchInsertPostgres'](_0x324ecc,_0x4f647b,_0x11e5d1,_0x104be6);}['_buildBatchInsertPostgres'](_0x4f384c,_0x358e3d,_0x15e276,_0x4a3882={}){const _0xd97c70=a0_0x1c2875,_0x2eb2f2={'TFbKZ':',\x0a\x20\x20\x20\x20\x20\x20\x20','ibYQn':_0xd97c70(0x116)};if(_0x4f384c['length']===0x0)return{'query':null,'values':[]};const _0x333328=this['buildEscapeFunction'](_0x4a3882),_0x29e406=_0x4f384c[_0xd97c70(0xd0)](_0x565dc2=>{const _0x2d1a50=_0x15e276['map'](_0x2d6e5f=>_0x333328(_0x565dc2[_0x2d6e5f],_0x2d6e5f));return'('+_0x2d1a50['join'](',\x20')+')';}),_0x4c3947='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x358e3d+'\x20('+_0x15e276['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x29e406['join'](_0x2eb2f2['TFbKZ'])+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0xd97c70(0x11e),'tableName':_0x358e3d,'rowCount':_0x4f384c['length'],'dbType':_0xd97c70(0x108)},_0x2eb2f2['ibYQn']),{'query':_0x4c3947,'values':[]};}['_buildBatchInsertOracle'](_0x531551,_0x11a84b,_0x81b9d7,_0x499dae={}){const _0x12fd08=a0_0x1c2875;if(_0x531551[_0x12fd08(0xeb)]===0x0)return{'query':null,'values':[]};const _0x57ff39=this[_0x12fd08(0x101)](_0x499dae),_0x4c5f83=_0x531551['map'](_0x1463fc=>{const _0x50603e=_0x12fd08,_0x5c8d8d=_0x81b9d7['map'](_0x2148d3=>_0x57ff39(_0x1463fc[_0x2148d3],_0x2148d3));return _0x50603e(0x117)+_0x11a84b+'\x20('+_0x81b9d7[_0x50603e(0xe0)](',\x20')+_0x50603e(0xdc)+_0x5c8d8d[_0x50603e(0xe0)](',\x20')+')';}),_0x1226b2='INSERT\x20ALL\x0a'+_0x4c5f83['join']('\x0a')+_0x12fd08(0xc8);return logger[_0x12fd08(0x109)]({'event':'batch_insert_built','tableName':_0x11a84b,'rowCount':_0x531551[_0x12fd08(0xeb)],'dbType':_0x12fd08(0xd4)},_0x12fd08(0xfe)),{'query':_0x1226b2,'values':[]};}['buildBatchUpdate'](_0x3b08b1,_0x589042,_0x31f7a7,_0x4422f1,_0x1b9f9b,_0x48412a={}){const _0x380638=a0_0x1c2875,_0x551148={'witer':function(_0xf5598e,_0x48001e){return _0xf5598e===_0x48001e;}},_0x30f8f9=this[_0x380638(0xf2)]();if(_0x30f8f9===DB_TYPES[_0x380638(0x103)])return this[_0x380638(0x112)](_0x3b08b1,_0x589042,_0x31f7a7,_0x4422f1,_0x1b9f9b,_0x48412a);if(_0x551148[_0x380638(0xc5)](_0x30f8f9,DB_TYPES[_0x380638(0xfb)]))return this[_0x380638(0xdd)](_0x3b08b1,_0x589042,_0x31f7a7,_0x4422f1,_0x1b9f9b,_0x48412a);return this['_buildBatchUpdatePostgres'](_0x3b08b1,_0x589042,_0x31f7a7,_0x4422f1,_0x1b9f9b,_0x48412a);}[a0_0x1c2875(0xd8)](_0x52383a,_0x38b69b,_0x52caa1,_0x5c6701,_0x68fda,_0x2141f5={}){const _0x31180d=a0_0x1c2875,_0x889b59={'PDTsY':function(_0x41e2ec,_0x105760){return _0x41e2ec===_0x105760;},'oRiWy':'batch_update_no_columns','zfzPH':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','dVzSl':_0x31180d(0xbe),'RzCVz':_0x31180d(0x108),'oxMEW':_0x31180d(0xda)};if(_0x889b59[_0x31180d(0xec)](_0x52383a['length'],0x0))return{'query':null,'values':[]};const _0x326855=this[_0x31180d(0x101)](_0x2141f5),_0x2eb4d4=_0x52caa1['filter'](_0x25a69f=>!_0x68fda[_0x31180d(0xbd)](_0x25a69f)&&_0x25a69f!==_0x5c6701);if(_0x2eb4d4['length']===0x0)return logger['warn']({'event':_0x889b59[_0x31180d(0xf5)],'tableName':_0x38b69b},_0x31180d(0x10f)),{'query':null,'values':[]};const _0x35ba3f=_0x52383a[_0x31180d(0xd0)](_0x5e4f69=>{const _0x1b90c2=[..._0x68fda,..._0x2eb4d4],_0x22b521=_0x1b90c2['map'](_0x3a498c=>_0x326855(_0x5e4f69[_0x3a498c],_0x3a498c));return'('+_0x22b521['join'](',\x20')+')';}),_0x56810d=_0x2eb4d4['map'](_0x139ba3=>_0x139ba3+'\x20=\x20v.'+_0x139ba3)[_0x31180d(0xe0)](_0x889b59['zfzPH']),_0x180f38=_0x68fda[_0x31180d(0xd0)](_0x526b75=>'t.'+_0x526b75+_0x31180d(0xd1)+_0x526b75)[_0x31180d(0xe0)](_0x31180d(0xe8)),_0x2a7218='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x38b69b+_0x31180d(0x111)+_0x56810d+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20(VALUES\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x35ba3f['join'](_0x31180d(0xc3))+_0x31180d(0x119)+[..._0x68fda,..._0x2eb4d4][_0x31180d(0xe0)](',\x20')+_0x31180d(0x114)+_0x180f38+_0x31180d(0x107);return logger[_0x31180d(0x109)]({'event':_0x889b59[_0x31180d(0x11b)],'tableName':_0x38b69b,'rowCount':_0x52383a[_0x31180d(0xeb)],'updateColumns':_0x2eb4d4['length'],'dbType':_0x889b59['RzCVz']},_0x889b59['oxMEW']),{'query':_0x2a7218,'values':[]};}['_buildBatchUpdateOracle'](_0x292ee7,_0x1f342a,_0x578155,_0x4c530a,_0x8d9a22,_0x2d619b={}){const _0x3d11e9=a0_0x1c2875,_0x279047={'OrQiT':function(_0xc1513d,_0x22c0fb,_0x5a6726){return _0xc1513d(_0x22c0fb,_0x5a6726);},'kuUzc':function(_0x256a3c,_0x33e5e5){return _0x256a3c===_0x33e5e5;},'ugEyD':_0x3d11e9(0xd6),'AkpRi':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','LRxlR':_0x3d11e9(0xc9),'LQZpD':_0x3d11e9(0xe8),'EAwht':'batch_update_built','WmzJV':'oracle'};if(_0x292ee7[_0x3d11e9(0xeb)]===0x0)return{'query':null,'values':[]};const _0x11bc41=this['buildEscapeFunction'](_0x2d619b),_0x483c03=_0x578155['filter'](_0x1f3883=>!_0x8d9a22[_0x3d11e9(0xbd)](_0x1f3883)&&_0x1f3883!==_0x4c530a);if(_0x279047['kuUzc'](_0x483c03[_0x3d11e9(0xeb)],0x0))return logger['warn']({'event':_0x279047[_0x3d11e9(0xf6)],'tableName':_0x1f342a},_0x279047['AkpRi']),{'query':null,'values':[]};const _0x944a12=[..._0x8d9a22,..._0x483c03],_0x66b523=_0x292ee7['map']((_0x42cede,_0x26d3cb)=>{const _0x5f1643=_0x944a12['map'](_0x22d70e=>{const _0xe97652=a0_0x542d,_0x1397c8=_0x279047['OrQiT'](_0x11bc41,_0x42cede[_0x22d70e],_0x22d70e);return _0x279047[_0xe97652(0xde)](_0x26d3cb,0x0)?_0x1397c8+_0xe97652(0x11d)+_0x22d70e:_0x1397c8;});return'\x20\x20\x20\x20SELECT\x20'+_0x5f1643['join'](',\x20')+'\x20FROM\x20DUAL';}),_0x4eae53=_0x483c03[_0x3d11e9(0xd0)](_0x4c590e=>'t.'+_0x4c590e+_0x3d11e9(0xd1)+_0x4c590e)['join'](_0x279047[_0x3d11e9(0xbf)]),_0x3e2554=_0x8d9a22['map'](_0x22ee73=>'t.'+_0x22ee73+'\x20=\x20v.'+_0x22ee73)['join'](_0x279047['LQZpD']),_0x44c2be=_0x3d11e9(0x10a)+_0x1f342a+_0x3d11e9(0xd2)+_0x66b523['join']('\x0a\x20\x20\x20\x20UNION\x20ALL\x0a')+'\x0a\x20\x20\x20\x20\x20\x20)\x20v\x0a\x20\x20\x20\x20\x20\x20ON\x20('+_0x3e2554+_0x3d11e9(0x106)+_0x4eae53+_0x3d11e9(0x107);return logger['debug']({'event':_0x279047[_0x3d11e9(0xd9)],'tableName':_0x1f342a,'rowCount':_0x292ee7[_0x3d11e9(0xeb)],'updateColumns':_0x483c03['length'],'dbType':_0x279047['WmzJV']},_0x3d11e9(0xc4)),{'query':_0x44c2be,'values':[]};}[a0_0x1c2875(0xdd)](_0x5e0beb,_0x521b41,_0x299714,_0x1c6222,_0x3514d6,_0x37c18e={}){const _0x294c91=a0_0x1c2875,_0x2091a1={'nfxen':function(_0x234cb0,_0x35c16c){return _0x234cb0===_0x35c16c;},'UYsUo':'batch_update_no_columns','ljFwT':_0x294c91(0x104),'TYfnj':'Batch\x20UPDATE\x20query\x20built\x20(MySQL\x20ON\x20DUPLICATE\x20KEY)'};if(_0x2091a1[_0x294c91(0xc1)](_0x5e0beb['length'],0x0))return{'query':null,'values':[]};const _0x54a16c=this['buildEscapeFunction'](_0x37c18e),_0x5c85b6=_0x299714['filter'](_0x1dbc2b=>!_0x3514d6[_0x294c91(0xbd)](_0x1dbc2b)&&_0x1dbc2b!==_0x1c6222);if(_0x5c85b6[_0x294c91(0xeb)]===0x0)return logger[_0x294c91(0x10b)]({'event':_0x2091a1[_0x294c91(0x10e)],'tableName':_0x521b41},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x5c87db=[...new Set([..._0x3514d6,..._0x5c85b6])],_0x25826b=_0x5e0beb[_0x294c91(0xd0)](_0x379466=>{const _0x5f5c97=_0x294c91,_0x51d028=_0x5c87db[_0x5f5c97(0xd0)](_0x73ad09=>_0x54a16c(_0x379466[_0x73ad09],_0x73ad09));return'('+_0x51d028['join'](',\x20')+')';}),_0x45ef77=_0x5c85b6['map'](_0xcc9490=>_0xcc9490+_0x294c91(0x10c)+_0xcc9490+')')[_0x294c91(0xe0)](_0x294c91(0xc9)),_0xdca2bc=_0x294c91(0xef)+_0x521b41+'\x20('+_0x5c87db[_0x294c91(0xe0)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x25826b[_0x294c91(0xe0)](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20')+'\x0a\x20\x20\x20\x20\x20\x20ON\x20DUPLICATE\x20KEY\x20UPDATE\x20'+_0x45ef77+_0x294c91(0x107);return logger[_0x294c91(0x109)]({'event':_0x294c91(0xbe),'tableName':_0x521b41,'rowCount':_0x5e0beb['length'],'updateColumns':_0x5c85b6['length'],'dbType':_0x2091a1['ljFwT']},_0x2091a1[_0x294c91(0x11c)]),{'query':_0xdca2bc,'values':[]};}['chunkRows'](_0x5220c6,_0x129d12=0x64){const _0x39dc89=a0_0x1c2875,_0x25c106={'FeYuo':function(_0x4009fc,_0x3659cf){return _0x4009fc<_0x3659cf;},'OstzF':function(_0x3e12ca,_0x398f50){return _0x3e12ca+_0x398f50;}},_0x3b3e00=[];for(let _0xbf4632=0x0;_0x25c106[_0x39dc89(0xc6)](_0xbf4632,_0x5220c6[_0x39dc89(0xeb)]);_0xbf4632+=_0x129d12){_0x3b3e00[_0x39dc89(0xcd)](_0x5220c6['slice'](_0xbf4632,_0x25c106[_0x39dc89(0xf3)](_0xbf4632,_0x129d12)));}return _0x3b3e00;}}module['exports']=new UpsertBuilder();
@@ -1 +1 @@
1
- function a0_0x345c(_0x5b4d9b,_0x369c28){_0x5b4d9b=_0x5b4d9b-0xd9;const _0x1868a6=a0_0x1868();let _0x345cd3=_0x1868a6[_0x5b4d9b];if(a0_0x345c['tCNjdu']===undefined){var _0x1c18af=function(_0x422dac){const _0x4054d4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x6ca4ce='',_0x137024='';for(let _0x40fb6e=0x0,_0x3eaad9,_0x8eebdd,_0x41d673=0x0;_0x8eebdd=_0x422dac['charAt'](_0x41d673++);~_0x8eebdd&&(_0x3eaad9=_0x40fb6e%0x4?_0x3eaad9*0x40+_0x8eebdd:_0x8eebdd,_0x40fb6e++%0x4)?_0x6ca4ce+=String['fromCharCode'](0xff&_0x3eaad9>>(-0x2*_0x40fb6e&0x6)):0x0){_0x8eebdd=_0x4054d4['indexOf'](_0x8eebdd);}for(let _0x5630df=0x0,_0x259c70=_0x6ca4ce['length'];_0x5630df<_0x259c70;_0x5630df++){_0x137024+='%'+('00'+_0x6ca4ce['charCodeAt'](_0x5630df)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x137024);};a0_0x345c['IegQKC']=_0x1c18af,a0_0x345c['KyTyWW']={},a0_0x345c['tCNjdu']=!![];}const _0x1b44ad=_0x1868a6[0x0],_0x28eb7d=_0x5b4d9b+_0x1b44ad,_0x130b81=a0_0x345c['KyTyWW'][_0x28eb7d];return!_0x130b81?(_0x345cd3=a0_0x345c['IegQKC'](_0x345cd3),a0_0x345c['KyTyWW'][_0x28eb7d]=_0x345cd3):_0x345cd3=_0x130b81,_0x345cd3;}const a0_0x4a1dc7=a0_0x345c;(function(_0xdd184e,_0x20c09c){const _0x5bc2b1=a0_0x345c,_0x4bafe8=_0xdd184e();while(!![]){try{const _0x3d9c41=-parseInt(_0x5bc2b1(0xe5))/0x1*(parseInt(_0x5bc2b1(0xf8))/0x2)+-parseInt(_0x5bc2b1(0xda))/0x3*(parseInt(_0x5bc2b1(0x105))/0x4)+parseInt(_0x5bc2b1(0x112))/0x5*(parseInt(_0x5bc2b1(0x10e))/0x6)+parseInt(_0x5bc2b1(0xe9))/0x7+parseInt(_0x5bc2b1(0xe1))/0x8*(-parseInt(_0x5bc2b1(0x108))/0x9)+parseInt(_0x5bc2b1(0xfc))/0xa*(parseInt(_0x5bc2b1(0xf0))/0xb)+-parseInt(_0x5bc2b1(0x103))/0xc*(-parseInt(_0x5bc2b1(0x10a))/0xd);if(_0x3d9c41===_0x20c09c)break;else _0x4bafe8['push'](_0x4bafe8['shift']());}catch(_0x5e4e33){_0x4bafe8['push'](_0x4bafe8['shift']());}}}(a0_0x1868,0x3312d));const axios=require('axios'),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD='POST',DEFAULT_HOST='localhost',DEFAULT_PORT=0xbb8;function resolveTemplateString(_0x40e489,_0x5db7d4){const _0xe1c68f=a0_0x345c,_0x2bdade={'Zzhpt':function(_0x56ea31,_0x6d10a4,_0x1651ec){return _0x56ea31(_0x6d10a4,_0x1651ec);},'KzxRg':function(_0x4e0edb,_0x2e68f8){return _0x4e0edb!==_0x2e68f8;},'QsRwb':function(_0x5544a7,_0x4ec682){return _0x5544a7===_0x4ec682;}};if(_0x2bdade['KzxRg'](typeof _0x40e489,'string'))return _0x40e489;return _0x40e489[_0xe1c68f(0xf7)](/\{\{([^}]+)\}\}/g,(_0xeedb9a,_0x23a6f6)=>{const _0x5ccf03=_0xe1c68f,_0x3bc100=_0x23a6f6['trim'](),_0x507dac=_0x2bdade['Zzhpt'](getNestedValue,_0x5db7d4,_0x3bc100);if(_0x2bdade[_0x5ccf03(0x107)](_0x507dac,undefined)&&_0x2bdade['KzxRg'](_0x507dac,null))return _0x2bdade['QsRwb'](typeof _0x507dac,_0x5ccf03(0xdb))?JSON[_0x5ccf03(0x101)](_0x507dac):String(_0x507dac);return _0xeedb9a;});}function resolveTemplateVariables(_0x2e0d56,_0x3726f7){const _0x21c61a=a0_0x345c,_0x402752={'twMtq':function(_0x2eea23,_0x126663){return _0x2eea23===_0x126663;},'XLLkD':_0x21c61a(0x109),'lkcVy':function(_0x10c739,_0x3e3fe1,_0x45042d){return _0x10c739(_0x3e3fe1,_0x45042d);},'icNUQ':_0x21c61a(0xdb)};if(_0x402752['twMtq'](typeof _0x2e0d56,_0x402752[_0x21c61a(0x10c)]))return _0x402752[_0x21c61a(0xfd)](resolveTemplateString,_0x2e0d56,_0x3726f7);if(Array['isArray'](_0x2e0d56))return _0x2e0d56[_0x21c61a(0xdf)](_0x5f07d0=>resolveTemplateVariables(_0x5f07d0,_0x3726f7));if(_0x2e0d56!==null&&_0x402752['twMtq'](typeof _0x2e0d56,_0x402752['icNUQ'])){const _0x4eb912={};for(const [_0xa8f04d,_0x226d8e]of Object[_0x21c61a(0xff)](_0x2e0d56)){_0x4eb912[_0xa8f04d]=_0x402752['lkcVy'](resolveTemplateVariables,_0x226d8e,_0x3726f7);}return _0x4eb912;}return _0x2e0d56;}function getNestedValue(_0x1a2097,_0x4de31c){const _0x36b991=a0_0x345c;return _0x4de31c[_0x36b991(0x110)]('.')['reduce']((_0x20a028,_0x3f5900)=>{return _0x20a028&&_0x20a028[_0x3f5900]!==undefined?_0x20a028[_0x3f5900]:undefined;},_0x1a2097);}function resolveUrl(_0x4ac9af,_0x308359){const _0x3e7dc5=a0_0x345c,_0x1579d8={'hPJoS':function(_0x98269e,_0x50e547){return _0x98269e!==_0x50e547;},'mdVCY':'string','zNeIb':'http://','LtqUA':'https://'};if(!_0x4ac9af||_0x1579d8['hPJoS'](typeof _0x4ac9af,_0x1579d8['mdVCY']))return _0x4ac9af;if(_0x4ac9af[_0x3e7dc5(0xde)](_0x1579d8['zNeIb'])||_0x4ac9af['startsWith'](_0x1579d8['LtqUA']))return _0x4ac9af;const _0x6bb6c2=process['env']['SERVER_ADDRESS']||process[_0x3e7dc5(0xeb)][_0x3e7dc5(0xed)]||DEFAULT_HOST,_0x3d5974=process[_0x3e7dc5(0xeb)][_0x3e7dc5(0xef)]||DEFAULT_PORT,_0x1b9ff3='http://'+_0x6bb6c2+':'+_0x3d5974;if(_0x4ac9af[_0x3e7dc5(0xde)]('/api/'))return''+_0x1b9ff3+_0x4ac9af;if(_0x4ac9af[_0x3e7dc5(0xde)]('/')){const _0x2c5fbc=_0x308359&&_0x308359['project']||'';if(_0x2c5fbc)return _0x1b9ff3+'/api/'+_0x2c5fbc+_0x4ac9af;return''+_0x1b9ff3+_0x4ac9af;}return _0x4ac9af;}function buildHookContext(_0x110951){const _0x322bdc=a0_0x345c,_0x1dc4b3={'SFKon':'system'};return{'id':_0x110951['id']||'','newStatus':_0x110951[_0x322bdc(0x102)]||'','oldStatus':_0x110951[_0x322bdc(0x106)]||'','remarks':_0x110951['remarks']||'','tableName':_0x110951[_0x322bdc(0x104)]||'','user_id':_0x110951['userId']||_0x1dc4b3[_0x322bdc(0xf2)],'timestamp':new Date()['toISOString'](),'record':_0x110951[_0x322bdc(0x111)]||{},'requestData':_0x110951[_0x322bdc(0xe4)]||{},'project':_0x110951['project']||'','authHeader':_0x110951['authHeader']||null};}function a0_0x1868(){const _0x28d4e7=['owjxtM53uG','C3rYAw5N','otyWn09NrfrmyG','ChvZAa','weXmA0q','DxjS','mJa5mdqZnKvXtKDHEG','yM9KEq','C3bSAxq','CMvJB3jK','nw50vhzXuW','yxv0AeHLywrLCG','qxv0Ag9YAxPHDgLVBG','nte3ofDpALjyBW','B2jQzwn0','sg9VAYbLEgvJDxrLzcbZDwnJzxnZzNvSBhK','vwvrtge','C3rHCNrZv2L0Aa','BwfW','BgvUz3rO','mZa2odK4ngjoswf4yq','C3rHDhvZ','yxbWBgLJyxrPB24VANnVBG','CMvXDwvZDerHDge','ndKXmZLNEvLOy2q','CMvZCg9UC2u','qMHNDg4','yMXVy2TPBMC','ndGWmdq2Dvrqy0Df','BwvZC2fNzq','zw52','uhj2CNO','se9tva','CLbys1C','ue9sva','mJG1mde2nNn5Du1jrW','uMvZDezVCMDLlvDVCMTMBg93lZeUma','u0zlB24','zxHWB3j0CW','sg9VAYbLEgvJDxrPB24GzMfPBgvK','yxbP','whH5DNy','CMvWBgfJzq','mtznsLHPtee','iokgKIa','C3vJy2vZCW','Dg9mB3DLCKnHC2u','mtbdBM9Jvhy','BgTJvNK','BMXmtwS','zw50CMLLCW','DhLWzq','C3rYAw5NAwz5','BMv3u3rHDhvZ','otKZnMndB25QCq','DgfIBgvoyw1L','nZaWwMTHz0ru','B2XKu3rHDhvZ','s3P4uMC'];a0_0x1868=function(){return _0x28d4e7;};return a0_0x1868();}async function executeHook(_0x1bb01d,_0x524f5c){const _0x4e89fc=a0_0x345c,_0x30a6d1={'nlLMk':function(_0xe77aad,_0x2b28da){return _0xe77aad!==_0x2b28da;},'Xxyvv':_0x4e89fc(0xf5),'rPXKW':'Hook\x20skipped:\x20unsupported\x20type','ekLfZ':function(_0xcddd0,_0x2ca42d,_0x13c6b6){return _0xcddd0(_0x2ca42d,_0x13c6b6);},'jjbMj':function(_0x250f8e,_0x17d6a0){return _0x250f8e&&_0x17d6a0;},'Prvrz':_0x4e89fc(0xe3),'sORMB':_0x4e89fc(0xf1)};if(!_0x1bb01d||_0x30a6d1[_0x4e89fc(0xfe)](_0x1bb01d[_0x4e89fc(0x100)],_0x30a6d1[_0x4e89fc(0xf6)]))return{'success':!![],'message':_0x30a6d1[_0x4e89fc(0xee)]};const _0x27aa12=_0x1bb01d[_0x4e89fc(0xe8)]===!![],_0x5e7093=(_0x1bb01d['method']||DEFAULT_METHOD)['toUpperCase'](),_0x37fa14=_0x1bb01d['timeout']||DEFAULT_TIMEOUT,_0x4bd69d=resolveTemplateString(_0x1bb01d[_0x4e89fc(0x10d)],_0x524f5c),_0x3c61e1=resolveUrl(_0x4bd69d,_0x524f5c),_0x58e476=_0x1bb01d[_0x4e89fc(0x10f)]?resolveTemplateVariables(_0x1bb01d['body'],_0x524f5c):{},_0x55d3e3=_0x1bb01d['headers']?_0x30a6d1['ekLfZ'](resolveTemplateVariables,_0x1bb01d['headers'],_0x524f5c):{},_0x901718=_0x55d3e3&&(_0x30a6d1['nlLMk'](_0x55d3e3[_0x4e89fc(0xd9)],undefined)||_0x55d3e3['authorization']!==undefined),_0x25964f=_0x30a6d1['jjbMj'](!_0x901718,_0x524f5c)&&_0x524f5c[_0x4e89fc(0x113)]?{'Authorization':_0x524f5c[_0x4e89fc(0x113)]}:{};try{const _0xba4e66=await axios({'method':_0x5e7093[_0x4e89fc(0xfb)](),'url':_0x3c61e1,'data':_0x58e476,'headers':{'Content-Type':_0x30a6d1[_0x4e89fc(0xec)],'User-Agent':_0x30a6d1['sORMB'],..._0x25964f,..._0x55d3e3},'timeout':_0x37fa14});return console['log']('Workflow\x20hook\x20executed:\x20'+_0x5e7093+'\x20'+_0x3c61e1+'\x20→\x20'+_0xba4e66[_0x4e89fc(0xe2)]),{'success':!![],'message':_0x4e89fc(0xdc),'status':_0xba4e66[_0x4e89fc(0xe2)],'url':_0x3c61e1};}catch(_0x53ae18){const _0x4743f8=_0x53ae18[_0x4e89fc(0xe6)]?'HTTP\x20'+_0x53ae18['response'][_0x4e89fc(0xe2)]+':\x20'+_0x53ae18[_0x4e89fc(0xe6)]['statusText']:_0x53ae18[_0x4e89fc(0xea)];console['error']('Workflow\x20hook\x20failed:\x20'+_0x5e7093+'\x20'+_0x3c61e1+_0x4e89fc(0xf9)+_0x4743f8);if(_0x27aa12)return{'success':![],'message':'Blocking\x20hook\x20failed:\x20'+_0x4743f8,'error':_0x4743f8,'url':_0x3c61e1};return console['warn']('Non-blocking\x20hook\x20failed\x20(ignored):\x20'+_0x4743f8),{'success':!![],'message':'Non-blocking\x20hook\x20failed\x20(ignored):\x20'+_0x4743f8,'warning':_0x4743f8,'url':_0x3c61e1};}}async function executeHooks(_0x375377,_0x40809d){const _0x52aa81=a0_0x345c,_0x3eb383={'CtqMY':function(_0x9736d2,_0xfb0b02){return _0x9736d2===_0xfb0b02;},'Bhgtn':function(_0x398131,_0x57f66a,_0x2868bc){return _0x398131(_0x57f66a,_0x2868bc);},'UeQLa':_0x52aa81(0xf4)};if(!_0x375377||!Array['isArray'](_0x375377)||_0x3eb383['CtqMY'](_0x375377['length'],0x0))return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x3dc79d=[];for(const _0xbc9b03 of _0x375377){const _0x36ba90=await _0x3eb383[_0x52aa81(0xe7)](executeHook,_0xbc9b03,_0x40809d);_0x3dc79d[_0x52aa81(0x10b)](_0x36ba90);if(!_0x36ba90[_0x52aa81(0xfa)])return{'success':![],'error':_0x36ba90['message']||_0x3eb383[_0x52aa81(0xdd)],'results':_0x3dc79d,'hooksExecuted':_0x3dc79d[_0x52aa81(0xe0)]};}return{'success':!![],'results':_0x3dc79d,'hooksExecuted':_0x3dc79d[_0x52aa81(0xe0)]};}module[a0_0x4a1dc7(0xf3)]={'resolveTemplateString':resolveTemplateString,'resolveTemplateVariables':resolveTemplateVariables,'resolveUrl':resolveUrl,'buildHookContext':buildHookContext,'executeHook':executeHook,'executeHooks':executeHooks};
1
+ const a0_0x35c297=a0_0x4bcd;(function(_0x3cf980,_0x3e827e){const _0x5ef5bf=a0_0x4bcd,_0x983b7b=_0x3cf980();while(!![]){try{const _0x5c70e0=-parseInt(_0x5ef5bf(0x188))/0x1*(parseInt(_0x5ef5bf(0x18a))/0x2)+-parseInt(_0x5ef5bf(0x182))/0x3*(-parseInt(_0x5ef5bf(0x18e))/0x4)+-parseInt(_0x5ef5bf(0x166))/0x5+-parseInt(_0x5ef5bf(0x169))/0x6+parseInt(_0x5ef5bf(0x198))/0x7+-parseInt(_0x5ef5bf(0x19a))/0x8*(-parseInt(_0x5ef5bf(0x194))/0x9)+-parseInt(_0x5ef5bf(0x178))/0xa*(-parseInt(_0x5ef5bf(0x179))/0xb);if(_0x5c70e0===_0x3e827e)break;else _0x983b7b['push'](_0x983b7b['shift']());}catch(_0x22982f){_0x983b7b['push'](_0x983b7b['shift']());}}}(a0_0x5af8,0x5ccc0));const axios=require(a0_0x35c297(0x196)),DEFAULT_TIMEOUT=0x2710,DEFAULT_METHOD='POST',DEFAULT_HOST='localhost',DEFAULT_PORT=0xbb8;function a0_0x5af8(){const _0x3a239f=['nZeXmZuXB01myLbn','v09Oq1i','C3LZDgvT','yMXVy2TPBMC','C3rHDhvZ','yxv0AeHLywrLCG','nJy2odjPBe5gvMS','sg9VAYbLEgvJDxrLzcbZDwnJzxnZzNvSBhK','mJjgzw9NzNa','C3rYAw5NAwz5','C3rHCNrZv2L0Aa','se9tva','mtjOCvz5ELe','CMvWBgfJzq','B2jQzwn0','DhLWzq','qNjNzKG','yxbWBgLJyxrPB24VANnVBG','mtHPBvj2uvG','DxnLCKLK','yxHPB3m','yNjJB2C','ntaYnZa3mvLyuLjQAG','EMn2wKG','nJm1otiWuwTAqvD6','qxv0Ag9YAxPHDgLVBG','iokgKIa','u0vsvKvsx0ferfjfu1m','mJKZmJe2nuzqDgHptW','zxHWB3j0CW','s09YvK8','nJqYmdG0Ee9sCgLy','AxnbCNjHEq','zufrwNm','sg9VAYbLEgvJDxrPB24GzMfPBgvK','C3rYAw5N','C3bSAxq','yM9KEq','BgvUz3rO','Bg9N','CMvTyxjRCW','AgvHzgvYCW','uxvPtKK','CMvZCg9UC2u','DhjPBq','l2fWAs8','mJe4ntyXmg9zAfDwsa','mtfduuTQB2e','EwPqvxC','tM9UlwjSB2nRAw5NigHVB2SGzMfPBgvKicHPz25VCMvKktOG','ChvZAa','zw52','Dg9vChbLCKnHC2u','Ahr0CdOVlW','BMv3u3rHDhvZ','uNPcy0K'];a0_0x5af8=function(){return _0x3a239f;};return a0_0x5af8();}function a0_0x4bcd(_0x5dcb68,_0x4b7e4b){_0x5dcb68=_0x5dcb68-0x164;const _0x5af8c0=a0_0x5af8();let _0x4bcdc2=_0x5af8c0[_0x5dcb68];if(a0_0x4bcd['nAkZZr']===undefined){var _0x176e69=function(_0x45fb3a){const _0x585e0a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2663c8='',_0x217aec='';for(let _0x150496=0x0,_0x40b010,_0x5d0ca4,_0x584d55=0x0;_0x5d0ca4=_0x45fb3a['charAt'](_0x584d55++);~_0x5d0ca4&&(_0x40b010=_0x150496%0x4?_0x40b010*0x40+_0x5d0ca4:_0x5d0ca4,_0x150496++%0x4)?_0x2663c8+=String['fromCharCode'](0xff&_0x40b010>>(-0x2*_0x150496&0x6)):0x0){_0x5d0ca4=_0x585e0a['indexOf'](_0x5d0ca4);}for(let _0x12b5f7=0x0,_0x137a3b=_0x2663c8['length'];_0x12b5f7<_0x137a3b;_0x12b5f7++){_0x217aec+='%'+('00'+_0x2663c8['charCodeAt'](_0x12b5f7)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x217aec);};a0_0x4bcd['vkxwvm']=_0x176e69,a0_0x4bcd['yEuEZD']={},a0_0x4bcd['nAkZZr']=!![];}const _0x14c063=_0x5af8c0[0x0],_0x12662d=_0x5dcb68+_0x14c063,_0x3857a0=a0_0x4bcd['yEuEZD'][_0x12662d];return!_0x3857a0?(_0x4bcdc2=a0_0x4bcd['vkxwvm'](_0x4bcdc2),a0_0x4bcd['yEuEZD'][_0x12662d]=_0x4bcdc2):_0x4bcdc2=_0x3857a0,_0x4bcdc2;}function resolveTemplateString(_0x174fd3,_0x15f23d){const _0xe0b7e4=a0_0x35c297,_0x4db03b={'xHSZt':function(_0x3d30bd,_0x1b641c,_0x4e41b6){return _0x3d30bd(_0x1b641c,_0x4e41b6);},'zrrKn':function(_0x540680,_0x1e1f4a){return _0x540680!==_0x1e1f4a;},'Wuikh':function(_0x736c2a,_0x1e047e){return _0x736c2a===_0x1e047e;},'QVvRT':_0xe0b7e4(0x190),'KOrVO':function(_0x552032,_0x56bc60){return _0x552032(_0x56bc60);},'eAQZs':'string'};if(typeof _0x174fd3!==_0x4db03b[_0xe0b7e4(0x16b)])return _0x174fd3;return _0x174fd3[_0xe0b7e4(0x18f)](/\{\{([^}]+)\}\}/g,(_0x25b61a,_0x2a71d4)=>{const _0x54b675=_0xe0b7e4,_0x14273a=_0x2a71d4[_0x54b675(0x176)](),_0x163e6f=_0x4db03b['xHSZt'](getNestedValue,_0x15f23d,_0x14273a);if(_0x4db03b['zrrKn'](_0x163e6f,undefined)&&_0x163e6f!==null)return _0x4db03b['Wuikh'](typeof _0x163e6f,_0x4db03b['QVvRT'])?JSON[_0x54b675(0x18b)](_0x163e6f):_0x4db03b[_0x54b675(0x168)](String,_0x163e6f);return _0x25b61a;});}function resolveTemplateVariables(_0x3ec031,_0xd68284){const _0x59c1b9=a0_0x35c297,_0x3ff966={'xRfKd':function(_0x12f15f,_0x2208c7,_0x42c4a9){return _0x12f15f(_0x2208c7,_0x42c4a9);}};if(typeof _0x3ec031===_0x59c1b9(0x16d))return _0x3ff966['xRfKd'](resolveTemplateString,_0x3ec031,_0xd68284);if(Array['isArray'](_0x3ec031))return _0x3ec031['map'](_0xa80831=>resolveTemplateVariables(_0xa80831,_0xd68284));if(_0x3ec031!==null&&typeof _0x3ec031==='object'){const _0x5c8bd2={};for(const [_0x5d822d,_0x2c4a93]of Object['entries'](_0x3ec031)){_0x5c8bd2[_0x5d822d]=resolveTemplateVariables(_0x2c4a93,_0xd68284);}return _0x5c8bd2;}return _0x3ec031;}function getNestedValue(_0x48dd9c,_0x55cbd4){const _0x528618=a0_0x35c297,_0x58ee2e={'BrgfH':function(_0x3c5acb,_0x2f5925){return _0x3c5acb!==_0x2f5925;}};return _0x55cbd4[_0x528618(0x16e)]('.')['reduce']((_0x6e3406,_0x2ce820)=>{const _0x5d3cc9=_0x528618;return _0x6e3406&&_0x58ee2e[_0x5d3cc9(0x192)](_0x6e3406[_0x2ce820],undefined)?_0x6e3406[_0x2ce820]:undefined;},_0x48dd9c);}function resolveUrl(_0x40a31e,_0x11f7ba){const _0x353d0e=a0_0x35c297,_0x149f96={'yMLmZ':function(_0x299a4c,_0x2cadf7){return _0x299a4c!==_0x2cadf7;},'NXbtV':'string','IbooE':_0x353d0e(0x17f)};if(!_0x40a31e||_0x149f96['yMLmZ'](typeof _0x40a31e,_0x149f96['NXbtV']))return _0x40a31e;if(_0x40a31e['startsWith'](_0x149f96['IbooE'])||_0x40a31e[_0x353d0e(0x18c)]('https://'))return _0x40a31e;const _0x33d14b=process['env'][_0x353d0e(0x165)]||process[_0x353d0e(0x17d)][_0x353d0e(0x18d)]||DEFAULT_HOST,_0x59c3e4=process[_0x353d0e(0x17d)]['PORT']||DEFAULT_PORT,_0xabf10f=_0x353d0e(0x17f)+_0x33d14b+':'+_0x59c3e4;if(_0x40a31e['startsWith']('/api/'))return''+_0xabf10f+_0x40a31e;if(_0x40a31e['startsWith']('/')){const _0x2bf81b=_0x11f7ba&&_0x11f7ba['project']||'';if(_0x2bf81b)return _0xabf10f+_0x353d0e(0x177)+_0x2bf81b+_0x40a31e;return''+_0xabf10f+_0x40a31e;}return _0x40a31e;}function buildHookContext(_0x3e1d27){const _0x24192d=a0_0x35c297;return{'id':_0x3e1d27['id']||'','newStatus':_0x3e1d27[_0x24192d(0x180)]||'','oldStatus':_0x3e1d27['oldStatus']||'','remarks':_0x3e1d27[_0x24192d(0x172)]||'','tableName':_0x3e1d27['tableName']||'','user_id':_0x3e1d27[_0x24192d(0x195)]||_0x24192d(0x184),'timestamp':new Date()['toISOString'](),'record':_0x3e1d27['record']||{},'requestData':_0x3e1d27['requestData']||{},'project':_0x3e1d27['project']||'','authHeader':_0x3e1d27[_0x24192d(0x187)]||null};}async function executeHook(_0x189175,_0x3781bf){const _0x2eb855=a0_0x35c297,_0x4bd035={'QaOcz':function(_0x231733,_0x18776c){return _0x231733!==_0x18776c;},'QuiNI':'api','UnUta':function(_0x96977a,_0x104119){return _0x96977a===_0x104119;},'RzBcI':function(_0x4787b6,_0x193095,_0x283433){return _0x4787b6(_0x193095,_0x283433);},'nmssH':function(_0xf69cce,_0x36be1d,_0x4a9dd6){return _0xf69cce(_0x36be1d,_0x4a9dd6);},'WOhCR':function(_0x2e17ed,_0x5d62cd){return _0x2e17ed(_0x5d62cd);},'yjPUw':_0x2eb855(0x193)};if(!_0x189175||_0x4bd035['QaOcz'](_0x189175[_0x2eb855(0x191)],_0x4bd035[_0x2eb855(0x174)]))return{'success':!![],'message':'Hook\x20skipped:\x20unsupported\x20type'};const _0x540258=_0x4bd035['UnUta'](_0x189175[_0x2eb855(0x185)],!![]),_0x4d316d=(_0x189175['method']||DEFAULT_METHOD)[_0x2eb855(0x17e)](),_0x4d84ec=_0x189175['timeout']||DEFAULT_TIMEOUT,_0x5254e8=resolveTemplateString(_0x189175['url'],_0x3781bf),_0x59291d=_0x4bd035[_0x2eb855(0x181)](resolveUrl,_0x5254e8,_0x3781bf),_0x5028ee=_0x189175[_0x2eb855(0x16f)]?resolveTemplateVariables(_0x189175[_0x2eb855(0x16f)],_0x3781bf):{},_0x2ef2dc=_0x189175[_0x2eb855(0x173)]?_0x4bd035['nmssH'](resolveTemplateVariables,_0x189175[_0x2eb855(0x173)],_0x3781bf):{},_0xd1bf87=_0x2ef2dc&&(_0x2ef2dc[_0x2eb855(0x19b)]!==undefined||_0x2ef2dc['authorization']!==undefined),_0x439fd4=!_0xd1bf87&&_0x3781bf&&_0x3781bf['authHeader']?{'Authorization':_0x3781bf[_0x2eb855(0x187)]}:{};try{const _0x4a7527=await _0x4bd035[_0x2eb855(0x183)](axios,{'method':_0x4d316d['toLowerCase'](),'url':_0x59291d,'data':_0x5028ee,'headers':{'Content-Type':_0x4bd035[_0x2eb855(0x17a)],'User-Agent':'RestForge-Workflow/1.0',..._0x439fd4,..._0x2ef2dc},'timeout':_0x4d84ec});return console[_0x2eb855(0x171)]('Workflow\x20hook\x20executed:\x20'+_0x4d316d+'\x20'+_0x59291d+'\x20→\x20'+_0x4a7527['status']),{'success':!![],'message':_0x2eb855(0x189),'status':_0x4a7527['status'],'url':_0x59291d};}catch(_0x1e84d8){const _0x2480b2=_0x1e84d8['response']?'HTTP\x20'+_0x1e84d8['response'][_0x2eb855(0x186)]+':\x20'+_0x1e84d8[_0x2eb855(0x175)]['statusText']:_0x1e84d8['message'];console['error']('Workflow\x20hook\x20failed:\x20'+_0x4d316d+'\x20'+_0x59291d+_0x2eb855(0x164)+_0x2480b2);if(_0x540258)return{'success':![],'message':'Blocking\x20hook\x20failed:\x20'+_0x2480b2,'error':_0x2480b2,'url':_0x59291d};return console['warn'](_0x2eb855(0x17b)+_0x2480b2),{'success':!![],'message':_0x2eb855(0x17b)+_0x2480b2,'warning':_0x2480b2,'url':_0x59291d};}}async function executeHooks(_0x3d6ab2,_0x3755e8){const _0x500282=a0_0x35c297,_0x1476e8={'brcog':function(_0x96d23,_0x526c2b){return _0x96d23===_0x526c2b;},'zcvZH':function(_0x5b9fb3,_0x1ac3ff,_0xcdfc9c){return _0x5b9fb3(_0x1ac3ff,_0xcdfc9c);}};if(!_0x3d6ab2||!Array[_0x500282(0x16a)](_0x3d6ab2)||_0x1476e8[_0x500282(0x197)](_0x3d6ab2[_0x500282(0x170)],0x0))return{'success':!![],'results':[],'hooksExecuted':0x0};const _0x568785=[];for(const _0x1f3f24 of _0x3d6ab2){const _0x3a5113=await _0x1476e8[_0x500282(0x199)](executeHook,_0x1f3f24,_0x3755e8);_0x568785[_0x500282(0x17c)](_0x3a5113);if(!_0x3a5113['success'])return{'success':![],'error':_0x3a5113['message']||_0x500282(0x16c),'results':_0x568785,'hooksExecuted':_0x568785[_0x500282(0x170)]};}return{'success':!![],'results':_0x568785,'hooksExecuted':_0x568785['length']};}module[a0_0x35c297(0x167)]={'resolveTemplateString':resolveTemplateString,'resolveTemplateVariables':resolveTemplateVariables,'resolveUrl':resolveUrl,'buildHookContext':buildHookContext,'executeHook':executeHook,'executeHooks':executeHooks};