@restforgejs/platform 5.0.9 → 5.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/build-info.json +2 -2
  2. package/cli/consumer-deploy.js +1 -1
  3. package/cli/consumer.js +1 -1
  4. package/generators/cli/fast-track.js +963 -0
  5. package/generators/cli/payload/sync.js +18 -2
  6. package/generators/lib/migrate/field-type-resolver.js +18 -5
  7. package/generators/lib/payload/payload-runner.js +724 -39
  8. package/generators/lib/templates/dashboard-catalog.js +1 -1
  9. package/generators/lib/templates/db-connection-env.js +1 -1
  10. package/generators/lib/templates/dbschema-catalog.js +1 -1
  11. package/generators/lib/templates/field-validation-catalog.js +1 -1
  12. package/generators/lib/templates/mysql-template.js +1 -1
  13. package/generators/lib/templates/oracle-template.js +1 -1
  14. package/generators/lib/templates/postgres-template.js +1 -1
  15. package/generators/lib/templates/query-declarative-catalog.js +1 -1
  16. package/generators/lib/templates/sqlite-template.js +1 -1
  17. package/integrity-manifest.json +18 -18
  18. package/package.json +1 -1
  19. package/scripts/verify-integrity.js +1 -1
  20. package/server.js +1 -1
  21. package/src/components/handlers/adjust_handler.js +1 -1
  22. package/src/components/handlers/audit_handler.js +1 -1
  23. package/src/components/handlers/delete_handler.js +1 -1
  24. package/src/components/handlers/export_handler.js +1 -1
  25. package/src/components/handlers/import_handler.js +1 -1
  26. package/src/components/handlers/insert_handler.js +1 -1
  27. package/src/components/handlers/update_handler.js +1 -1
  28. package/src/components/handlers/upload_handler.js +1 -1
  29. package/src/components/handlers/workflow_handler.js +1 -1
  30. package/src/components/integrations/webhook.js +1 -1
  31. package/src/consumers/baseConsumer.js +1 -1
  32. package/src/consumers/declarativeMapper.js +1 -1
  33. package/src/consumers/handlers/apiHandler.js +1 -1
  34. package/src/consumers/handlers/consoleHandler.js +1 -1
  35. package/src/consumers/handlers/databaseHandler.js +1 -1
  36. package/src/consumers/handlers/index.js +1 -1
  37. package/src/consumers/handlers/kafkaHandler.js +1 -1
  38. package/src/consumers/index.js +1 -1
  39. package/src/consumers/messageTransformer.js +1 -1
  40. package/src/consumers/validator.js +1 -1
  41. package/src/core/db/dialect/base-dialect.js +1 -1
  42. package/src/core/db/dialect/index.js +1 -1
  43. package/src/core/db/dialect/mysql-dialect.js +1 -1
  44. package/src/core/db/dialect/oracle-dialect.js +1 -1
  45. package/src/core/db/dialect/postgres-dialect.js +1 -1
  46. package/src/core/db/dialect/sqlite-dialect.js +1 -1
  47. package/src/core/db/flatten-helper.js +1 -1
  48. package/src/core/db/query-builder-error.js +1 -1
  49. package/src/core/db/query-builder.js +1 -1
  50. package/src/core/db/relation-helper.js +1 -1
  51. package/src/core/handlers/delete_handler.js +1 -1
  52. package/src/core/handlers/insert_handler.js +1 -1
  53. package/src/core/handlers/update_handler.js +1 -1
  54. package/src/core/models/base-model.js +1 -1
  55. package/src/core/utils/cache-manager.js +1 -1
  56. package/src/core/utils/component-engine.js +1 -1
  57. package/src/core/utils/context-builder.js +1 -1
  58. package/src/core/utils/datetime-formatter.js +1 -1
  59. package/src/core/utils/datetime-parser.js +1 -1
  60. package/src/core/utils/db.js +1 -1
  61. package/src/core/utils/logger.js +1 -1
  62. package/src/core/utils/payload-loader.js +1 -1
  63. package/src/core/utils/security-checks.js +1 -1
  64. package/src/middleware/body-options.js +1 -1
  65. package/src/middleware/cors.js +1 -1
  66. package/src/middleware/idempotency.js +1 -1
  67. package/src/middleware/rate-limiter.js +1 -1
  68. package/src/middleware/request-logger.js +1 -1
  69. package/src/middleware/security-headers.js +1 -1
  70. package/src/models/base-model-mysql.js +1 -1
  71. package/src/models/base-model-oracle.js +1 -1
  72. package/src/models/base-model-sqlite.js +1 -1
  73. package/src/models/base-model.js +1 -1
  74. package/src/pro/caching/redis-client.js +1 -1
  75. package/src/pro/caching/redis-helper.js +1 -1
  76. package/src/pro/consumers/baseConsumer.js +1 -1
  77. package/src/pro/consumers/declarativeMapper.js +1 -1
  78. package/src/pro/consumers/handlers/apiHandler.js +1 -1
  79. package/src/pro/consumers/handlers/consoleHandler.js +1 -1
  80. package/src/pro/consumers/handlers/databaseHandler.js +1 -1
  81. package/src/pro/consumers/handlers/index.js +1 -1
  82. package/src/pro/consumers/handlers/kafkaHandler.js +1 -1
  83. package/src/pro/consumers/index.js +1 -1
  84. package/src/pro/consumers/messageTransformer.js +1 -1
  85. package/src/pro/consumers/validator.js +1 -1
  86. package/src/pro/database/base-model-mysql.js +1 -1
  87. package/src/pro/database/base-model-oracle.js +1 -1
  88. package/src/pro/database/base-model-sqlite.js +1 -1
  89. package/src/pro/database/db-mysql.js +1 -1
  90. package/src/pro/database/db-oracle.js +1 -1
  91. package/src/pro/database/db-sqlite.js +1 -1
  92. package/src/pro/excel/excel-generator.js +1 -1
  93. package/src/pro/excel/excel-parser.js +1 -1
  94. package/src/pro/excel/export-service.js +1 -1
  95. package/src/pro/excel/export_handler.js +1 -1
  96. package/src/pro/excel/import-service.js +1 -1
  97. package/src/pro/excel/import-validator.js +1 -1
  98. package/src/pro/excel/import_handler.js +1 -1
  99. package/src/pro/excel/upsert-builder.js +1 -1
  100. package/src/pro/idgen/idgen-routes.js +1 -1
  101. package/src/pro/integrations/lookup-resolver.js +1 -1
  102. package/src/pro/integrations/upload-handler-v2.js +1 -1
  103. package/src/pro/integrations/upload-handler.js +1 -1
  104. package/src/pro/integrations/webhook.js +1 -1
  105. package/src/pro/locking/lock-routes.js +1 -1
  106. package/src/pro/locking/resource-lock-manager.js +1 -1
  107. package/src/pro/messaging/kafkaConsumerService.js +1 -1
  108. package/src/pro/messaging/kafkaService.js +1 -1
  109. package/src/pro/messaging/messagehubService.js +1 -1
  110. package/src/pro/messaging/rabbitmqService.js +1 -1
  111. package/src/pro/scheduler/job-manager.js +1 -1
  112. package/src/pro/scheduler/job-routes.js +1 -1
  113. package/src/pro/scheduler/job-validator.js +1 -1
  114. package/src/pro/storage/base-storage-provider.js +1 -1
  115. package/src/pro/storage/file-metadata-helper.js +1 -1
  116. package/src/pro/storage/index.js +1 -1
  117. package/src/pro/storage/local-storage-provider.js +1 -1
  118. package/src/pro/storage/s3-storage-provider.js +1 -1
  119. package/src/pro/storage/upload-cleanup-job.js +1 -1
  120. package/src/pro/storage/upload-cleanup-scheduler.js +1 -1
  121. package/src/pro/storage/upload-pending-tracker.js +1 -1
  122. package/src/pro/websocket/broadcast-helper.js +1 -1
  123. package/src/pro/websocket/index.js +1 -1
  124. package/src/pro/websocket/livesync-server.js +1 -1
  125. package/src/pro/websocket/ws-broadcaster.js +1 -1
  126. package/src/services/export-service.js +1 -1
  127. package/src/services/import-service.js +1 -1
  128. package/src/services/kafkaConsumerService.js +1 -1
  129. package/src/services/kafkaService.js +1 -1
  130. package/src/services/messagehubService.js +1 -1
  131. package/src/services/rabbitmqService.js +1 -1
  132. package/src/utils/cache-invalidation-registry.js +1 -1
  133. package/src/utils/cache-manager.js +1 -1
  134. package/src/utils/component-engine.js +1 -1
  135. package/src/utils/config-extractor.js +1 -1
  136. package/src/utils/consumerLogger.js +1 -1
  137. package/src/utils/context-builder.js +1 -1
  138. package/src/utils/dashboard-helpers.js +1 -1
  139. package/src/utils/dateHelper.js +1 -1
  140. package/src/utils/datetime-formatter.js +1 -1
  141. package/src/utils/datetime-parser.js +1 -1
  142. package/src/utils/db-bootstrap.js +1 -1
  143. package/src/utils/db-mysql.js +1 -1
  144. package/src/utils/db-oracle.js +1 -1
  145. package/src/utils/db-sqlite.js +1 -1
  146. package/src/utils/db.js +1 -1
  147. package/src/utils/demo-generator.js +1 -1
  148. package/src/utils/excel-generator.js +1 -1
  149. package/src/utils/excel-parser.js +1 -1
  150. package/src/utils/file-watcher.js +1 -1
  151. package/src/utils/id-generator.js +1 -1
  152. package/src/utils/idempotency-manager.js +1 -1
  153. package/src/utils/import-validator.js +1 -1
  154. package/src/utils/license-client.js +1 -1
  155. package/src/utils/lock-manager.js +1 -1
  156. package/src/utils/logger.js +1 -1
  157. package/src/utils/lookup-resolver.js +1 -1
  158. package/src/utils/payload-loader.js +1 -1
  159. package/src/utils/processor-response.js +1 -1
  160. package/src/utils/rabbitmq.js +1 -1
  161. package/src/utils/redis-client.js +1 -1
  162. package/src/utils/redis-helper.js +1 -1
  163. package/src/utils/request-scope.js +1 -1
  164. package/src/utils/security-checks.js +1 -1
  165. package/src/utils/service-resolver.js +1 -1
  166. package/src/utils/shutdown-coordinator.js +1 -1
  167. package/src/utils/trusted-keys.js +1 -1
  168. package/src/utils/upload-handler.js +1 -1
  169. package/src/utils/upsert-builder.js +1 -1
  170. package/src/utils/workflow-hook-executor.js +1 -1
@@ -1 +1 @@
1
- const a0_0x412580=a0_0x4bd3;(function(_0x29bc67,_0x361960){const _0x46e371=a0_0x4bd3,_0x3bd479=_0x29bc67();while(!![]){try{const _0x53ea35=-parseInt(_0x46e371(0xc2))/0x1*(-parseInt(_0x46e371(0xd6))/0x2)+-parseInt(_0x46e371(0xce))/0x3+-parseInt(_0x46e371(0x124))/0x4*(-parseInt(_0x46e371(0x14f))/0x5)+-parseInt(_0x46e371(0x13a))/0x6*(-parseInt(_0x46e371(0xf4))/0x7)+-parseInt(_0x46e371(0x119))/0x8+parseInt(_0x46e371(0xfe))/0x9+-parseInt(_0x46e371(0xd7))/0xa*(parseInt(_0x46e371(0xdd))/0xb);if(_0x53ea35===_0x361960)break;else _0x3bd479['push'](_0x3bd479['shift']());}catch(_0x3a819d){_0x3bd479['push'](_0x3bd479['shift']());}}}(a0_0x4b87,0x73ec9));function a0_0x4bd3(_0x29bbcf,_0x12ad00){_0x29bbcf=_0x29bbcf-0xb6;const _0x4b877c=a0_0x4b87();let _0x4bd353=_0x4b877c[_0x29bbcf];if(a0_0x4bd3['lmBcMO']===undefined){var _0x2bb437=function(_0x5517e5){const _0x30c367='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x9fae56='',_0x5b2559='';for(let _0x5b4dcd=0x0,_0xbdee52,_0x540077,_0x1d44cb=0x0;_0x540077=_0x5517e5['charAt'](_0x1d44cb++);~_0x540077&&(_0xbdee52=_0x5b4dcd%0x4?_0xbdee52*0x40+_0x540077:_0x540077,_0x5b4dcd++%0x4)?_0x9fae56+=String['fromCharCode'](0xff&_0xbdee52>>(-0x2*_0x5b4dcd&0x6)):0x0){_0x540077=_0x30c367['indexOf'](_0x540077);}for(let _0x1af52d=0x0,_0x576332=_0x9fae56['length'];_0x1af52d<_0x576332;_0x1af52d++){_0x5b2559+='%'+('00'+_0x9fae56['charCodeAt'](_0x1af52d)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5b2559);};a0_0x4bd3['ypLvFl']=_0x2bb437,a0_0x4bd3['IFkmKY']={},a0_0x4bd3['lmBcMO']=!![];}const _0x1a0475=_0x4b877c[0x0],_0x858fde=_0x29bbcf+_0x1a0475,_0x2921e7=a0_0x4bd3['IFkmKY'][_0x858fde];return!_0x2921e7?(_0x4bd353=a0_0x4bd3['ypLvFl'](_0x4bd353),a0_0x4bd3['IFkmKY'][_0x858fde]=_0x4bd353):_0x4bd353=_0x2921e7,_0x4bd353;}const {v7:uuidv7}=require(a0_0x412580(0xc3)),path=require(a0_0x412580(0x149)),fs=require('fs')['promises'],redisHelper=require(a0_0x412580(0x144)),{logger,logError}=require('../../core/utils/logger'),dbType=(process['env']['DB_TYPE']||'postgresql')[a0_0x412580(0x11c)]();let executeQuery,executeTransaction,oracleDb;if(dbType==='oracle')oracleDb=require('../database/db-oracle'),executeQuery=(_0x3f72db,_0xbdb934)=>oracleDb[a0_0x412580(0xc4)](_0x3f72db,_0xbdb934),executeTransaction=_0x39be89=>oracleDb[a0_0x412580(0xde)](_0x39be89);else{if(dbType==='mysql'){const mysqlDb=require(a0_0x412580(0xd3));executeQuery=(_0x45fa5d,_0x4ca8f7)=>mysqlDb['executeQuery'](_0x45fa5d,_0x4ca8f7),executeTransaction=_0x23bc68=>mysqlDb['executeTransaction'](_0x23bc68);}else{const db=require('../../core/utils/db');executeQuery=db[a0_0x412580(0xc4)],executeTransaction=db[a0_0x412580(0xde)];}}const excelParser=require(a0_0x412580(0xdb)),importValidator=require(a0_0x412580(0x109)),upsertBuilder=require('./upsert-builder'),lookupResolver=require(a0_0x412580(0x122));class ImportService{constructor(){const _0x5af833=a0_0x412580;this[_0x5af833(0x157)]=null;}get['uploadDir'](){const _0x388b22=a0_0x412580,_0x247a53={'ekwpp':'default'};if(!this[_0x388b22(0x157)]){const _0x5c94bb=process[_0x388b22(0x130)]['RESTFORGE_PROJECT_NAME']||_0x247a53['ekwpp'];this['_uploadDir']=process[_0x388b22(0x130)][_0x388b22(0x156)]||path[_0x388b22(0xd8)](__dirname,_0x388b22(0x108)+_0x5c94bb);}return this[_0x388b22(0x157)];}[a0_0x412580(0xc1)](){const _0x251ad2=a0_0x412580,_0x501633={'FCpIE':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','mRoOF':function(_0x21d871,_0x10fdc6){return _0x21d871-_0x10fdc6;},'qPLhl':function(_0x4ac9da,_0x59559a){return _0x4ac9da<_0x59559a;},'bxVno':function(_0x53dff7,_0x120c9a){return _0x53dff7*_0x120c9a;}},_0x57df21=_0x501633['FCpIE'],_0x3dddbd=Date[_0x251ad2(0xe0)]()[_0x251ad2(0x140)](0x24),_0x4da697=uuidv7()[_0x251ad2(0xcd)](/-/g,'')[_0x251ad2(0x135)](0x0,_0x501633['mRoOF'](0xc,_0x3dddbd['length'])),_0x3a2115=(_0x3dddbd+_0x4da697)[_0x251ad2(0x135)](0x0,0xc);let _0x577478='';for(let _0x14933d=0x0;_0x501633['qPLhl'](_0x14933d,0xc);_0x14933d++){_0x3a2115[_0x14933d]?_0x577478+=_0x3a2115[_0x14933d]:_0x577478+=_0x57df21[_0x251ad2(0x145)](Math['floor'](_0x501633['bxVno'](Math['random'](),_0x57df21['length'])));}return _0x577478;}[a0_0x412580(0x14e)](_0x54c0f4){const _0x374a38=a0_0x412580,_0x223c77={'xGPys':_0x374a38(0xe4),'iSJow':'label_to_field_map_built','yaxTM':_0x374a38(0x12b)},_0x264c6b=new Map();if(!_0x54c0f4)return _0x264c6b;return Object[_0x374a38(0x103)](_0x54c0f4)[_0x374a38(0x143)](([_0x1581a1,_0x497596])=>{const _0x3b267b=_0x374a38,_0x1408e0=String(_0x497596)['trim']()[_0x3b267b(0xcd)](/\s+/g,'_')[_0x3b267b(0xcd)](/([a-z])([A-Z])/g,_0x223c77[_0x3b267b(0x116)])[_0x3b267b(0xcd)](/([A-Z]+)([A-Z][a-z])/g,_0x223c77[_0x3b267b(0x116)])['toLowerCase']();_0x264c6b[_0x3b267b(0xbc)](_0x1408e0,_0x1581a1);}),logger[_0x374a38(0x13d)]({'event':_0x223c77['iSJow'],'mappingCount':_0x264c6b[_0x374a38(0xe3)]},_0x223c77[_0x374a38(0xda)]),_0x264c6b;}[a0_0x412580(0xc8)](_0x431ddf,_0x294541){const _0x2ed9ed=a0_0x412580,_0x48711e={'zTMqJ':function(_0x141d4a,_0x8401de){return _0x141d4a===_0x8401de;},'BcMrI':_0x2ed9ed(0x10d),'zdPoL':function(_0x562bd1,_0x43f45a){return _0x562bd1(_0x43f45a);},'TsZar':function(_0x301314,_0x49a343){return _0x301314===_0x49a343;}};if(!_0x294541||_0x48711e['TsZar'](Object['keys'](_0x294541)[_0x2ed9ed(0xea)],0x0))return _0x431ddf;return _0x431ddf['map'](_0x7a3733=>{const _0x430fff=_0x2ed9ed,_0x2b2d12={..._0x7a3733};for(const [_0x933148,_0x1e3057]of Object['entries'](_0x294541)){const _0x4d10a2=_0x2b2d12[_0x933148];if(_0x48711e['zTMqJ'](_0x4d10a2,null)||_0x4d10a2===undefined||_0x4d10a2===''){_0x2b2d12[_0x933148]=null;continue;}switch(_0x1e3057['type']){case _0x430fff(0xeb):_0x2b2d12[_0x933148]=this['formatDateForDatabase'](_0x4d10a2);break;case _0x48711e['BcMrI']:_0x2b2d12[_0x933148]=this[_0x430fff(0x11b)](_0x4d10a2);break;case'text':_0x2b2d12[_0x933148]=_0x48711e[_0x430fff(0xb6)](String,_0x4d10a2);break;default:break;}}return _0x2b2d12;});}[a0_0x412580(0xc6)](_0x5cd847){const _0x13fc58=a0_0x412580,_0x35a7da={'lOfYz':function(_0x32d56d,_0x3b10a5){return _0x32d56d===_0x3b10a5;},'kZRXT':function(_0x401ae8,_0x36c763){return _0x401ae8===_0x36c763;},'FvEYZ':function(_0xa04681,_0x1f5fe6){return _0xa04681 instanceof _0x1f5fe6;},'jvlQk':function(_0xe6ff50,_0x5ba6b3){return _0xe6ff50(_0x5ba6b3);},'ZNpwN':function(_0x42ef5,_0x311d9f){return _0x42ef5+_0x311d9f;},'ymrur':function(_0x547c18,_0x5c4e58){return _0x547c18(_0x5c4e58);},'DGoxH':'string','gPcQO':function(_0x205e9e,_0x3f0f58){return _0x205e9e(_0x3f0f58);}};if(_0x5cd847===null||_0x35a7da[_0x13fc58(0x10b)](_0x5cd847,undefined)||_0x35a7da[_0x13fc58(0x129)](_0x5cd847,''))return null;if(_0x35a7da[_0x13fc58(0x129)](typeof _0x5cd847,'string')&&/^\d{4}-\d{2}-\d{2}$/['test'](_0x5cd847))return _0x5cd847;if(_0x35a7da['FvEYZ'](_0x5cd847,Date)){if(_0x35a7da[_0x13fc58(0xc7)](isNaN,_0x5cd847[_0x13fc58(0x146)]()))return null;const _0x2616f0=_0x5cd847['getFullYear'](),_0x204779=_0x35a7da[_0x13fc58(0xc7)](String,_0x35a7da['ZNpwN'](_0x5cd847[_0x13fc58(0x102)](),0x1))['padStart'](0x2,'0'),_0x3d31cc=_0x35a7da[_0x13fc58(0xf7)](String,_0x5cd847['getDate']())['padStart'](0x2,'0');return _0x2616f0+'-'+_0x204779+'-'+_0x3d31cc;}if(_0x35a7da[_0x13fc58(0x129)](typeof _0x5cd847,_0x35a7da[_0x13fc58(0x100)])){const _0x4ca973=_0x5cd847[_0x13fc58(0x14b)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x4ca973){const _0x57b1ca=_0x35a7da[_0x13fc58(0xf7)](String,_0x4ca973[0x1])['padStart'](0x2,'0'),_0x58df37=String(_0x4ca973[0x2])[_0x13fc58(0xf5)](0x2,'0'),_0x125190=_0x4ca973[0x3];return _0x125190+'-'+_0x58df37+'-'+_0x57b1ca;}const _0x4d6a12=_0x5cd847[_0x13fc58(0x14b)](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x4d6a12){const _0x55dad0=_0x4d6a12[0x1],_0x47f193=_0x35a7da[_0x13fc58(0x148)](String,_0x4d6a12[0x2])['padStart'](0x2,'0'),_0x1803aa=String(_0x4d6a12[0x3])[_0x13fc58(0xf5)](0x2,'0');return _0x55dad0+'-'+_0x47f193+'-'+_0x1803aa;}}return _0x5cd847;}['formatNumberForDatabase'](_0x1e53fb){const _0x395364=a0_0x412580,_0x107ce1={'nSBxe':function(_0xc5e346,_0x46774f){return _0xc5e346===_0x46774f;},'KYjDh':function(_0x2017bb,_0x31153a){return _0x2017bb===_0x31153a;},'EFIjK':function(_0xa81cd1,_0x35feb9){return _0xa81cd1===_0x35feb9;},'ryKft':function(_0x3b9385,_0x51c903){return _0x3b9385===_0x51c903;},'xDQua':function(_0x2b5d0a,_0x5b2ef7){return _0x2b5d0a(_0x5b2ef7);}};if(_0x107ce1['nSBxe'](_0x1e53fb,null)||_0x107ce1[_0x395364(0x132)](_0x1e53fb,undefined)||_0x107ce1[_0x395364(0x147)](_0x1e53fb,''))return null;if(_0x107ce1['nSBxe'](typeof _0x1e53fb,_0x395364(0x10d)))return isNaN(_0x1e53fb)?null:_0x1e53fb;if(_0x107ce1['ryKft'](typeof _0x1e53fb,'string')){let _0x41ed10=_0x1e53fb['trim']();const _0x17c38e=/,\d{1,2}$/[_0x395364(0xba)](_0x41ed10)&&!/,\d{3}/['test'](_0x41ed10);_0x17c38e?_0x41ed10=_0x41ed10['replace'](/\./g,'')[_0x395364(0xcd)](',','.'):_0x41ed10=_0x41ed10[_0x395364(0xcd)](/,/g,'');const _0x30ba37=_0x107ce1[_0x395364(0x155)](parseFloat,_0x41ed10);return isNaN(_0x30ba37)?null:_0x30ba37;}return null;}async['uploadFile'](_0x39c921,_0x423dd9){const _0x47581e=a0_0x412580,_0x346d3a={'ezsvZ':_0x47581e(0xe2),'mqzUE':_0x47581e(0xd2),'BDOwA':_0x47581e(0x111),'aTxeP':_0x47581e(0x154)},_0x5ef006=this['generateId']();try{let {headers:_0x2360ab,rows:_0x25e555,totalRows:_0x2077e2}=await excelParser['parseExcelFile'](_0x39c921[_0x47581e(0x149)]);const _0x48a049=this['buildLabelToFieldMap'](_0x423dd9['fieldLabels']),_0x3f7822=_0x2360ab['map'](_0x3ece9a=>{const _0x1d4d60=_0x47581e,_0x566c42=_0x48a049[_0x1d4d60(0xb7)](_0x3ece9a);return _0x566c42||_0x3ece9a;});_0x25e555=_0x25e555[_0x47581e(0x136)](_0x4d0b2c=>{const _0x4b772e=_0x47581e,_0x45b25e={};return _0x2360ab[_0x4b772e(0x143)]((_0x481cca,_0x103621)=>{const _0x2970d1=_0x3f7822[_0x103621];_0x45b25e[_0x2970d1]=_0x4d0b2c[_0x481cca];}),_0x45b25e;}),_0x2360ab=_0x3f7822,logger['debug']({'event':'headers_mapped','original':_0x2360ab['length'],'mapped':_0x3f7822[_0x47581e(0xdc)]((_0x3934ec,_0x590092)=>_0x3934ec!==_0x2360ab[_0x590092])['length']},_0x346d3a['ezsvZ']);_0x423dd9[_0x47581e(0x118)]&&Object[_0x47581e(0x14c)](_0x423dd9[_0x47581e(0x118)])['length']>0x0&&(_0x25e555=this['applyColumnFormats'](_0x25e555,_0x423dd9['columnFormats']),logger[_0x47581e(0x13d)]({'event':_0x346d3a['mqzUE'],'formatCount':Object[_0x47581e(0x14c)](_0x423dd9['columnFormats'])[_0x47581e(0xea)],'formats':Object[_0x47581e(0x14c)](_0x423dd9['columnFormats'])},_0x346d3a['BDOwA']));const _0x1a83b9=_0x423dd9[_0x47581e(0x12c)]?Object[_0x47581e(0x105)](_0x423dd9['lookupFields'])['map'](_0x1f7446=>_0x1f7446[_0x47581e(0x14d)]):[],_0x3a1274=_0x423dd9[_0x47581e(0xed)][_0x47581e(0xdc)](_0x290662=>!_0x1a83b9['includes'](_0x290662)),_0xed5581=excelParser['validateExcelStructure'](_0x2360ab,_0x3a1274);if(!_0xed5581['valid']){await fs['unlink'](_0x39c921['path']);throw new Error('Excel\x20structure\x20mismatch.\x20Missing\x20fields:\x20'+_0xed5581[_0x47581e(0x13f)][_0x47581e(0xd8)](',\x20'));}const _0x1ef1ce={'upload_id':_0x5ef006,'filename':_0x39c921[_0x47581e(0xf0)],'total_rows':_0x2077e2,'headers':_0x2360ab,'rows':_0x25e555,'params':_0x423dd9,'created_at':new Date()['toISOString']()};return await redisHelper[_0x47581e(0x141)](_0x47581e(0xfa)+_0x5ef006,_0x1ef1ce,0xe10),await fs[_0x47581e(0xe7)](_0x39c921[_0x47581e(0x149)]),logger['info']({'event':_0x47581e(0x117),'uploadId':_0x5ef006,'filename':_0x39c921[_0x47581e(0xf0)],'totalRows':_0x2077e2},_0x346d3a['aTxeP']),{'upload_id':_0x5ef006,'total_rows':_0x2077e2,'preview':_0x25e555['slice'](0x0,0xa)};}catch(_0x5a4420){try{await fs['unlink'](_0x39c921[_0x47581e(0x149)]);}catch(_0x44d0){logError(_0x44d0,{'event':'file_cleanup_error'},_0x47581e(0x11f));}throw _0x5a4420;}}async['createPreviewJob'](_0x3d16a8){const _0x7679c9=a0_0x412580,_0x5965ce={'ViZnE':function(_0x54f39f,_0x3c8c93,_0x3a115e,_0x4a8ee9){return _0x54f39f(_0x3c8c93,_0x3a115e,_0x4a8ee9);},'cuaVW':'Upload\x20data\x20not\x20found\x20or\x20expired','EimkO':'preview_job_created','uzeKa':_0x7679c9(0xbd),'tLciV':_0x7679c9(0xe9)},_0x82550c=this['generateId'](),_0x408ffe=await redisHelper[_0x7679c9(0xd5)](_0x7679c9(0xfa)+_0x3d16a8);if(!_0x408ffe)throw new Error(_0x5965ce[_0x7679c9(0xcc)]);const _0x5f3bd0={'job_id':_0x82550c,'upload_id':_0x3d16a8,'status':'validating','progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x408ffe['params']};return await redisHelper[_0x7679c9(0x141)]('job:'+_0x82550c,_0x5f3bd0,0xe10),logger['info']({'event':_0x5965ce['EimkO'],'jobId':_0x82550c,'uploadId':_0x3d16a8},_0x5965ce[_0x7679c9(0x107)]),this['processPreviewJob'](_0x82550c,_0x3d16a8,_0x408ffe)[_0x7679c9(0x127)](_0x5c6394=>{const _0x59a90c=_0x7679c9;_0x5965ce['ViZnE'](logError,_0x5c6394,{'event':'preview_process_error','jobId':_0x82550c},_0x59a90c(0xf6));}),{'job_id':_0x82550c,'status':_0x5965ce['tLciV']};}['autoGenerateUpsertKeys'](_0x3fcf1f,_0x353d7e){const _0x2bd3e3=a0_0x412580,_0x4b63ba={'LUlWj':function(_0x4454e5,_0x4371f8){return _0x4454e5+_0x4371f8;}};_0x3fcf1f[_0x2bd3e3(0x143)]((_0x1cc6a4,_0x49e9f9)=>{const _0x14d28e={'oVrQJ':function(_0x272665,_0x433d02){return _0x272665(_0x433d02);},'jqpwt':function(_0x4e4cc1,_0x2f1cf5){const _0x2a41ca=a0_0x4bd3;return _0x4b63ba[_0x2a41ca(0xbb)](_0x4e4cc1,_0x2f1cf5);}};_0x353d7e['forEach'](_0x191f4e=>{const _0x23a8e3=a0_0x4bd3,_0x22ec66=_0x1cc6a4[_0x191f4e];if(_0x22ec66===null||_0x22ec66===undefined||_0x22ec66===''||_0x14d28e['oVrQJ'](String,_0x22ec66)[_0x23a8e3(0xc0)]()==='-'){const _0x123f80=uuidv7();_0x1cc6a4[_0x191f4e]=_0x123f80,_0x1cc6a4[_0x23a8e3(0xe1)]=_0x1cc6a4['_generated_uuid']||{},_0x1cc6a4['_generated_uuid'][_0x191f4e]=_0x123f80,logger[_0x23a8e3(0x13d)]({'event':'uuid_auto_generated','rowIndex':_0x49e9f9,'field':_0x191f4e,'uuid':_0x123f80},_0x23a8e3(0x131)+_0x191f4e+'\x20at\x20row\x20'+_0x14d28e['jqpwt'](_0x49e9f9,0x2));}});});}async[a0_0x412580(0xe6)](_0xef1a00,_0x98349f,_0x442276){const _0x1065ca=a0_0x412580,_0x1225db={'zqHJK':function(_0x1bed6d,_0x6fd3fc){return _0x1bed6d===_0x6fd3fc;},'osVUZ':'UPDATE','OaFYH':function(_0x425b8a,_0x17271e){return _0x425b8a||_0x17271e;},'OQsCR':function(_0x396a7e,_0x10baf0){return _0x396a7e>_0x10baf0;},'BMEGu':'preview_ok','qLrHz':_0x1065ca(0x14a),'QIVmB':'preview_job_failed','ywiAe':'Preview\x20job\x20failed','dLNsC':_0x1065ca(0x150)};try{let {rows:_0x2b9f6c,params:_0x56fff8}=_0x442276;const {requiredFields:_0x5ea694,validations:_0x445c8a,upsertKeys:_0x257c64,tableName:_0x1249f5,primaryKey:_0x5b0bab,fieldName:_0x3ad05f,upsertStrategy:_0x467635,lookupFields:_0x1d8b94}=_0x56fff8;this['autoGenerateUpsertKeys'](_0x2b9f6c,_0x257c64);let _0x14ac9c=[];if(_0x1d8b94&&Object['keys'](_0x1d8b94)['length']>0x0){logger['info']({'event':'processing_lookup_fields','jobId':_0xef1a00,'lookupFieldCount':Object['keys'](_0x1d8b94)['length']},_0x1065ca(0x13e));const _0x2c8517=await lookupResolver['processLookupFields'](_0x2b9f6c,_0x1d8b94);_0x2b9f6c=_0x2c8517[_0x1065ca(0x110)],_0x14ac9c=_0x2c8517[_0x1065ca(0xdf)],_0x442276[_0x1065ca(0xf1)]=_0x2b9f6c;}const _0x4e01da=importValidator[_0x1065ca(0xc5)](_0x2b9f6c,_0x5ea694||[],_0x1225db['OaFYH'](_0x445c8a,{}));_0x14ac9c['forEach'](_0x4520f4=>{const _0x2f6d51=_0x1065ca,_0x3d122b=_0x4e01da[_0x2f6d51(0xbe)](_0xb03bbc=>_0xb03bbc['rowIndex']===_0x4520f4['rowIndex']);_0x3d122b?_0x3d122b[_0x2f6d51(0xdf)][_0x2f6d51(0xe8)](_0x4520f4['message']):_0x4e01da['push']({'rowIndex':_0x4520f4[_0x2f6d51(0x152)],'rowData':_0x2b9f6c[_0x4520f4['rowIndex']],'errors':[_0x4520f4[_0x2f6d51(0xff)]]});});const _0x50ff00=importValidator[_0x1065ca(0x101)](_0x2b9f6c,_0x257c64);_0x50ff00['forEach'](_0x4ac5c6=>{const _0x4f4ec9=_0x1065ca,_0x5bd86a=_0x4e01da['find'](_0x433a28=>_0x433a28[_0x4f4ec9(0x152)]===_0x4ac5c6[_0x4f4ec9(0x152)]),_0x3c5d1c=_0x257c64[_0x4f4ec9(0x136)](_0x122ea1=>_0x122ea1['toUpperCase']())['join'](',\x20'),_0x560d56='Duplicate\x20value\x20for\x20'+_0x3c5d1c;_0x5bd86a?_0x5bd86a['errors'][_0x4f4ec9(0xe8)](_0x560d56):_0x4e01da['push']({'rowIndex':_0x4ac5c6['rowIndex'],'rowData':_0x2b9f6c[_0x4ac5c6['rowIndex']],'errors':[_0x560d56]});}),await this['detectDatabaseDuplicates'](_0x2b9f6c,_0x257c64,_0x1249f5,_0x5b0bab,_0x467635,_0x4e01da),_0x4e01da[_0x1065ca(0x143)](_0x29cc9d=>{const _0x2915fa=_0x1065ca,_0x368737=_0x2b9f6c[_0x29cc9d[_0x2915fa(0x152)]];_0x368737&&(_0x368737[_0x2915fa(0x128)]=_0x29cc9d[_0x2915fa(0xdf)]);});let _0x16c8df=0x0,_0x13be11=0x0,_0x557374=0x0;_0x2b9f6c[_0x1065ca(0x143)](_0x2d6834=>{const _0x289b72=_0x1065ca;if(_0x1225db[_0x289b72(0x12d)](_0x2d6834[_0x289b72(0x11d)],'INSERT'))_0x16c8df++;else{if(_0x2d6834[_0x289b72(0x11d)]===_0x1225db['osVUZ'])_0x13be11++;else _0x2d6834[_0x289b72(0x11d)]===_0x289b72(0x10a)&&_0x557374++;}});const _0x2a3544={'job_id':_0xef1a00,'upload_id':_0x98349f,'status':_0x1225db['OQsCR'](_0x4e01da['length'],0x0)?'preview_error':_0x1225db[_0x1065ca(0x11e)],'progress':0x64,'created_at':_0x442276['created_at'],'completed_at':new Date()[_0x1065ca(0xfb)](),'preview':{'total_rows':_0x2b9f6c['length'],'insert_count':_0x16c8df,'update_count':_0x13be11,'skip_count':_0x557374,'error_count':_0x4e01da[_0x1065ca(0xea)],'errors':_0x4e01da,'data':_0x2b9f6c,'sample_insert':_0x2b9f6c[_0x1065ca(0xdc)](_0x28d2f1=>_0x28d2f1['_action']==='INSERT')[_0x1065ca(0xb8)](0x0,0x5),'sample_update':_0x2b9f6c[_0x1065ca(0xdc)](_0x18dbb2=>_0x18dbb2['_action']==='UPDATE')['slice'](0x0,0x5),'sample_skip':_0x2b9f6c['filter'](_0x503ad8=>_0x503ad8['_action']==='SKIP')['slice'](0x0,0x5)},'params':_0x56fff8};await redisHelper['setJob']('job:'+_0xef1a00,_0x2a3544,0xe10),_0x442276['rows']=_0x2b9f6c,await redisHelper[_0x1065ca(0x141)](_0x1065ca(0xfa)+_0x98349f,_0x442276,0xe10),logger['info']({'event':_0x1065ca(0x12f),'jobId':_0xef1a00,'status':_0x2a3544[_0x1065ca(0x11a)],'insertCount':_0x16c8df,'updateCount':_0x13be11,'skipCount':_0x557374,'errorCount':_0x4e01da[_0x1065ca(0xea)]},_0x1225db['qLrHz']);}catch(_0x19d356){logError(_0x19d356,{'event':_0x1225db['QIVmB'],'jobId':_0xef1a00},_0x1225db['ywiAe']),await redisHelper['setJob'](_0x1065ca(0xf9)+_0xef1a00,{'job_id':_0xef1a00,'upload_id':_0x98349f,'status':_0x1225db[_0x1065ca(0xca)],'progress':0x0,'error':_0x19d356[_0x1065ca(0xff)],'created_at':new Date()[_0x1065ca(0xfb)](),'completed_at':new Date()[_0x1065ca(0xfb)]()},0xe10);}}async[a0_0x412580(0x138)](_0x5d6dc1,_0x52b15f,_0x4a1d47,_0x4cb692,_0x54d35d=a0_0x412580(0xef),_0x36f0d3=[]){const _0x3a1687=a0_0x412580,_0x3fab8a={'FGGfI':function(_0x2f9e4b,_0x1c9111){return _0x2f9e4b===_0x1c9111;},'AoHPO':'NULL','ekdUp':function(_0x6c496c,_0x1e01e9){return _0x6c496c(_0x1e01e9);},'LIMsU':_0x3a1687(0xef),'kazKX':function(_0x335542,_0x3461c6){return _0x335542===_0x3461c6;},'wEygo':_0x3a1687(0x10c),'UjwBJ':'SKIP','sYaLP':function(_0x5a8ab9,_0x24e812){return _0x5a8ab9!==_0x24e812;},'ZzGnW':_0x3a1687(0xf8),'BnZIU':function(_0x3067cc,_0x283c93){return _0x3067cc===_0x283c93;},'rgSTs':function(_0x2d6020,_0x186e36){return _0x2d6020===_0x186e36;},'owLYR':function(_0x520ead,_0x41e867){return _0x520ead===_0x41e867;},'ZFPFP':'INSERT','QysiO':function(_0x49fbfa,_0x27fcd6){return _0x49fbfa(_0x27fcd6);},'ZnqVX':function(_0x188ac0,_0x13fae6){return _0x188ac0===_0x13fae6;},'eMaRL':_0x3a1687(0x134),'aeEVQ':function(_0x549d6f,_0x3382f1){return _0x549d6f>_0x3382f1;}},_0x33d012=upsertBuilder[_0x3a1687(0x139)](_0x5d6dc1,0x64);for(const _0x42f124 of _0x33d012){const _0x41539c=_0x42f124[_0x3a1687(0x136)](_0xae41b2=>_0xae41b2[_0x52b15f[0x0]]),_0x88e614=_0x41539c[_0x3a1687(0x136)](_0x319512=>{const _0x56ebd8=_0x3a1687;if(_0x319512===null||_0x3fab8a[_0x56ebd8(0xf3)](_0x319512,undefined))return _0x3fab8a['AoHPO'];return'\x27'+_0x3fab8a['ekdUp'](String,_0x319512)[_0x56ebd8(0xcd)](/'/g,'\x27\x27')+'\x27';}),_0x219560='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20'+_0x4cb692+',\x20'+_0x52b15f['join'](',\x20')+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20FROM\x20'+_0x4a1d47+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x52b15f[0x0]+'\x20IN\x20('+_0x88e614['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x327e47=await _0x3fab8a['QysiO'](executeQuery,_0x219560);_0x3fab8a['ZnqVX'](dbType,_0x3fab8a['eMaRL'])&&_0x327e47&&_0x3fab8a['aeEVQ'](_0x327e47[_0x3a1687(0xea)],0x0)&&(_0x327e47=_0x327e47['map'](_0x399458=>{const _0x45cc15=_0x3a1687,_0xfeed56={};for(const [_0x1bad8a,_0x106836]of Object['entries'](_0x399458)){_0xfeed56[_0x1bad8a[_0x45cc15(0x11c)]()]=_0x106836;}return _0xfeed56;}));const _0x1ee540=new Map();_0x327e47['forEach'](_0x5b9d44=>{const _0x4d647f=_0x3a1687,_0x1ac93e=_0x5b9d44[_0x52b15f[0x0]];_0x1ee540[_0x4d647f(0xbc)](_0x1ac93e,_0x5b9d44);}),_0x42f124['forEach']((_0x4fecfc,_0x8d1283)=>{const _0x428cbb=_0x3a1687,_0x24179d=_0x4fecfc[_0x52b15f[0x0]],_0x5738ed=_0x1ee540['get'](_0x24179d);if(_0x5738ed){if(_0x54d35d===_0x3fab8a[_0x428cbb(0xcf)])_0x4fecfc['_action']='UPDATE',_0x4fecfc['_existingId']=_0x5738ed[_0x4cb692];else{if(_0x3fab8a['kazKX'](_0x54d35d,_0x3fab8a[_0x428cbb(0xf2)])){_0x4fecfc[_0x428cbb(0x11d)]=_0x3fab8a[_0x428cbb(0x126)],_0x4fecfc[_0x428cbb(0x128)]=_0x4fecfc['_errors']||[],_0x4fecfc[_0x428cbb(0x128)][_0x428cbb(0xe8)](_0x428cbb(0xd1));const _0x1af3b2=_0x5d6dc1['indexOf'](_0x4fecfc);_0x3fab8a['sYaLP'](_0x1af3b2,-0x1)&&_0x36f0d3[_0x428cbb(0xe8)]({'rowIndex':_0x1af3b2,'rowData':_0x4fecfc,'errors':[_0x428cbb(0xd1)]});}else _0x3fab8a['FGGfI'](_0x54d35d,_0x3fab8a['ZzGnW'])&&(_0x4fecfc['_action']=_0x3fab8a[_0x428cbb(0x126)]);}}else{if(_0x3fab8a['BnZIU'](_0x54d35d,_0x3fab8a[_0x428cbb(0xcf)]))_0x4fecfc[_0x428cbb(0x11d)]=_0x428cbb(0xd4);else(_0x3fab8a['rgSTs'](_0x54d35d,_0x3fab8a[_0x428cbb(0xf2)])||_0x3fab8a[_0x428cbb(0xd9)](_0x54d35d,_0x3fab8a['ZzGnW']))&&(_0x4fecfc[_0x428cbb(0x11d)]=_0x3fab8a[_0x428cbb(0x125)]);}});}}async[a0_0x412580(0xb9)](_0x12e856){const _0x18d49d=a0_0x412580,_0x606e3b={'FDHzD':function(_0x3a86f3,_0x33f653,_0x48570a,_0x1a3ed7){return _0x3a86f3(_0x33f653,_0x48570a,_0x1a3ed7);},'isGkL':'Commit\x20job\x20created'},_0x5566e3=this[_0x18d49d(0xc1)](),_0x4538dd=await redisHelper[_0x18d49d(0xd5)](_0x18d49d(0xf9)+_0x12e856);if(!_0x4538dd)throw new Error(_0x18d49d(0x121));if(_0x4538dd['status']!==_0x18d49d(0x113))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x4538dd[_0x18d49d(0x11a)]);const _0x28a94b={'job_id':_0x5566e3,'upload_id':_0x4538dd[_0x18d49d(0x120)],'preview_job_id':_0x12e856,'status':'processing','progress':0x0,'created_at':new Date()[_0x18d49d(0xfb)](),'params':_0x4538dd['params']};return await redisHelper['setJob']('job:'+_0x5566e3,_0x28a94b,0xe10),logger['info']({'event':'commit_job_created','jobId':_0x5566e3,'previewJobId':_0x12e856},_0x606e3b['isGkL']),this[_0x18d49d(0xec)](_0x5566e3,_0x4538dd)[_0x18d49d(0x127)](_0x1dffbe=>{const _0x59d757=_0x18d49d;_0x606e3b['FDHzD'](logError,_0x1dffbe,{'event':_0x59d757(0x10f),'jobId':_0x5566e3},_0x59d757(0xe5));}),{'job_id':_0x5566e3,'status':'processing'};}async[a0_0x412580(0xec)](_0x3d7134,_0x4ba7a4){const _0x3981fb=a0_0x412580,_0x15233e={'bouSf':'insert','AQAkk':function(_0x588557,_0x24e467){return _0x588557>_0x24e467;},'MpRuI':function(_0xc2bb73,_0x49efe0){return _0xc2bb73||_0x49efe0;},'fGEpX':function(_0x23f9e3,_0x3e8785){return _0x23f9e3>_0x3e8785;},'YXRNF':_0x3981fb(0x137),'QWvpo':function(_0x503bf6,_0x583d18){return _0x503bf6(_0x583d18);},'uHcWg':_0x3981fb(0xcb),'BdhLQ':_0x3981fb(0x13c),'IMHrU':'failed'};try{const _0xbe511c=await redisHelper[_0x3981fb(0xd5)]('upload:'+_0x4ba7a4['upload_id']);if(!_0xbe511c)throw new Error(_0x3981fb(0x106));const {rows:_0x2e5097,params:_0x146ab5}=_0xbe511c,{tableName:_0x4533eb,fieldName:_0x2e4f70,primaryKey:_0x52efc3,upsertKeys:_0xc0ab3e,excludeFromImport:_0x1e4d78,lookupFields:_0x82e887,columnFormats:_0x42aff9}=_0x146ab5,_0xab062d=_0x82e887?Object['keys'](_0x82e887):[],_0x5e7776=new Set([..._0x1e4d78||[],..._0xab062d]);let _0x51cb27=_0x2e4f70;_0x5e7776[_0x3981fb(0xe3)]>0x0&&(_0x51cb27=_0x2e4f70['filter'](_0x1ac23c=>!_0x5e7776[_0x3981fb(0x142)](_0x1ac23c)),logger[_0x3981fb(0x13d)]({'event':_0x3981fb(0xfd),'originalCount':_0x2e4f70['length'],'filteredCount':_0x51cb27['length'],'excludedFields':Array[_0x3981fb(0xc9)](_0x5e7776),'lookupSourceFields':_0xab062d},_0x3981fb(0xfc)));const _0x2999fd=_0x2e5097[_0x3981fb(0xdc)](_0xcbe62e=>_0xcbe62e['_action']===_0x3981fb(0xd4)),_0x515563=_0x2e5097[_0x3981fb(0xdc)](_0x4f87c5=>_0x4f87c5[_0x3981fb(0x11d)]==='UPDATE');let _0x759505=0x0,_0xc010ad=0x0;const _0x167c8e=[];if(_0x15233e[_0x3981fb(0x13b)](_0x2999fd[_0x3981fb(0xea)],0x0)){const _0x2c483b=upsertBuilder['chunkRows'](_0x2999fd,0x64);for(const _0x45f452 of _0x2c483b){const {query:_0x286cf5}=upsertBuilder[_0x3981fb(0x153)](_0x45f452,_0x4533eb,_0x51cb27,_0x15233e['MpRuI'](_0x42aff9,{}));_0x286cf5&&_0x167c8e[_0x3981fb(0xe8)]({'sql':_0x286cf5,'count':_0x45f452['length'],'type':'insert'});}}if(_0x15233e['fGEpX'](_0x515563[_0x3981fb(0xea)],0x0)){const _0x9f6e29=upsertBuilder[_0x3981fb(0x139)](_0x515563,0x64);for(const _0x18b15a of _0x9f6e29){const {query:_0x2ef4ed}=upsertBuilder['buildBatchUpdate'](_0x18b15a,_0x4533eb,_0x51cb27,_0x52efc3,_0xc0ab3e,_0x42aff9||{});_0x2ef4ed&&_0x167c8e[_0x3981fb(0xe8)]({'sql':_0x2ef4ed,'count':_0x18b15a['length'],'type':_0x15233e['YXRNF']});}}_0x167c8e['length']>0x0&&await _0x15233e[_0x3981fb(0x104)](executeTransaction,_0x167c8e[_0x3981fb(0x136)](_0x545590=>({'sql':_0x545590['sql'],'params':[]})));_0x167c8e[_0x3981fb(0x143)](_0x3e8284=>{const _0x1e497e=_0x3981fb;if(_0x3e8284[_0x1e497e(0x151)]===_0x15233e[_0x1e497e(0xbf)])_0x759505+=_0x3e8284[_0x1e497e(0x133)];else _0xc010ad+=_0x3e8284[_0x1e497e(0x133)];});const _0x5ddb6a={'job_id':_0x3d7134,'upload_id':_0x4ba7a4[_0x3981fb(0x120)],'preview_job_id':_0x4ba7a4[_0x3981fb(0xd0)],'status':_0x3981fb(0x12a),'progress':0x64,'created_at':_0x4ba7a4['created_at'],'started_at':new Date()['toISOString'](),'completed_at':new Date()[_0x3981fb(0xfb)](),'result':{'total_rows':_0x2e5097['length'],'inserted_rows':_0x759505,'updated_rows':_0xc010ad,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x146ab5};await redisHelper['setJob'](_0x3981fb(0xf9)+_0x3d7134,_0x5ddb6a,0xe10),logger['info']({'event':_0x15233e[_0x3981fb(0x115)],'jobId':_0x3d7134,'insertedCount':_0x759505,'updatedCount':_0xc010ad},_0x15233e[_0x3981fb(0x10e)]);}catch(_0x3c53fd){logError(_0x3c53fd,{'event':_0x3981fb(0x12e),'jobId':_0x3d7134},_0x3981fb(0x114)),await redisHelper[_0x3981fb(0x141)](_0x3981fb(0xf9)+_0x3d7134,{'job_id':_0x3d7134,'upload_id':_0x4ba7a4['upload_id'],'preview_job_id':_0x4ba7a4['job_id'],'status':_0x15233e['IMHrU'],'progress':0x0,'error':_0x3c53fd[_0x3981fb(0xff)],'created_at':_0x4ba7a4[_0x3981fb(0xee)],'started_at':new Date()[_0x3981fb(0xfb)](),'completed_at':new Date()['toISOString']()},0xe10);}}async[a0_0x412580(0x123)](_0x424cad){const _0x1fe414=a0_0x412580,_0x506afa=await redisHelper[_0x1fe414(0xd5)]('job:'+_0x424cad);if(!_0x506afa)return{'success':![],'error':_0x1fe414(0x112)};return{'success':!![],'data':_0x506afa};}}function a0_0x4b87(){const _0x1fe028=['B3Dmwvi','Ewf4ve0','lI9LEgnLBc1WyxjZzxi','zMLSDgvY','mtu1mZaZodnzvM1qwe8','zxHLy3v0zvrYyw5Zywn0Aw9U','zxjYB3jZ','BM93','x2DLBMvYyxrLzf91DwLK','rxHJzwWGAgvHzgvYCYbTyxbWzwqGDg8GzMLLBgqGBMfTzxm','C2L6zq','jdfFjdi','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','ChjVy2vZC1bYzxzPzxDkB2i','Dw5SAw5R','ChvZAa','DMfSAwrHDgLUzW','BgvUz3rO','zgf0zq','ChjVy2vZC0nVBw1PDePVyG','zMLLBgroyw1L','y3jLyxrLzf9HDa','DxbKyxrLx2v4Axn0Aw5N','B3jPz2LUywXUyw1L','CM93CW','D0v5z28','rKDhzKK','ntGYmdaZmwfzC0LHuW','CgfKu3rHCNq','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','Ew1YDxi','C2TPCf9LEgLZDgLUzW','AM9IoG','DxbSB2fKoG','Dg9ju09tDhjPBMC','sw1WB3j0igzPzwXKCYbMAwX0zxjLzcaOzxHJBhvKzwqGBg9VA3vWihnVDxjJzsbJB2X1Bw5Zkq','Aw1WB3j0x2zPzwXKC19MAwX0zxjLza','nda5mdK1z0jLAgTR','BwvZC2fNzq','reDVEeG','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','z2v0tw9UDgG','zw50CMLLCW','uvD2Cg8','DMfSDwvZ','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','DxPLs2e','lI4VlI4VDgvTCc91CgXVywrZlW','lI9PBxbVCNqTDMfSAwrHDg9Y','u0Tjua','Be9MwxO','Aw5Zzxj0x29UBhK','BNvTyMvY','qMrOtfe','y29TBwL0x3bYB2nLC3nFzxjYB3i','ChjVy2vZC2vKuM93CW','q29SDw1UigzVCM1HDhmGyxbWBgLLzcb0BYbYB3DZ','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','ChjLDMLLD19VAW','q29TBwL0igPVyIbMywLSzwq','DuHJv2C','EeDqExm','Aw1WB3j0x2zPBgvFDxbSB2fKzwq','y29SDw1UrM9YBwf0CW','mJiXodK5mKP3zgvOCG','C3rHDhvZ','zM9YBwf0tNvTyMvYrM9Yrgf0ywjHC2u','Dg9mB3DLCKnHC2u','x2fJDgLVBG','qK1fr3u','rMfPBgvKihrVignSzwfUDxaGzMLSzq','DxbSB2fKx2LK','uhjLDMLLDYbQB2iGBM90igzVDw5Kig9Yigv4CgLYzwq','lI4VAw50zwDYyxrPB25Zl2XVB2T1Cc1YzxnVBhzLCG','z2v0sM9Iu3rHDhvZ','mtaZmdC3nKjUvuXTCG','wKzqrLa','vwP3qKO','y2f0y2G','x2vYCM9YCW','A1Pswfq','y29TCgXLDgvK','tgfIzwWGDg8GzMLLBgqGBwfWCgLUzYbIDwLSDa','Bg9VA3vWrMLLBgrZ','ENfisKS','y29TBwL0x2PVyL9MywLSzwq','ChjLDMLLD19QB2jFy29TCgXLDgvK','zw52','qxv0BY1Nzw5LCMf0zwqGvvvjrcbMB3iG','s1LQrgG','y291BNq','B3jHy2XL','C3vIC3rYAw5N','BwfW','DxbKyxrL','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','y2H1BMTsB3DZ','nNbHq1nUqG','qvfbA2S','q29TBwL0igPVyIbJB21WBgv0zwq','zgvIDwC','uhjVy2vZC2LUzYbSB29RDxaGzMLLBgrZ','BwLZC2LUz0zPzwXKCW','Dg9tDhjPBMC','C2v0sM9I','AgfZ','zM9YrwfJAa','lI4Vy2fJAgLUzY9YzwrPCY1OzwXWzxi','y2HHCKf0','z2v0vgLTzq','ruzjAKS','z1bJuu8','Cgf0Aa','uhjLDMLLDYbQB2iGy29TCgXLDgvK','Bwf0y2G','A2v5CW','DgfYz2v0rMLLBgq','yNvPBgrmywjLBfrVrMLLBgrnyxa','mtvxuu9fr1u','zMfPBgvK','DhLWzq','CM93sw5KzxG','yNvPBgrcyxrJAeLUC2vYDa','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','EerrDwe','vvbmt0fex0rjuG','x3vWBg9HzerPCG','EMrqB0W','z2v0','C2XPy2u','y3jLyxrLq29TBwL0sM9I','DgvZDa','tfvSv2O','C2v0','uhjLDMLLDYbQB2iGy3jLyxrLza','zMLUza','yM91u2y','DhjPBq','z2vUzxjHDgvjza','nde3mJm5BNzivLHe','DxvPza','zxHLy3v0zvf1zxj5','yMf0y2HwywXPzgf0zvjVD3m','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','ANzSuwS','yxbWBhLdB2X1Bw5gB3jTyxrZ','zNjVBq','zeXoC0m','y29TBwL0x2PVyL9JB21WBgv0zwq','y3vHvLC','CMvWBgfJzq','otyXmtG4ChrLAfLu','teLnC1u','AM9Ix2LK','uMvJB3jKigv4Axn0CYaOAw5Zzxj0x29UBhKGBw9KzsK','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','lI4Vzgf0ywjHC2uVzgiTBxLZCwW','su5trvju','z2v0sM9I','nefpuu5gsq','mtb5t3n4Avu','AM9PBG'];a0_0x4b87=function(){return _0x1fe028;};return a0_0x4b87();}module['exports']=new ImportService();
1
+ const a0_0x3b1c99=a0_0x1c17;(function(_0x450e2d,_0x2df9e9){const _0x5a03cc=a0_0x1c17,_0xd2dc5e=_0x450e2d();while(!![]){try{const _0x44c0f7=-parseInt(_0x5a03cc(0x110))/0x1*(-parseInt(_0x5a03cc(0x135))/0x2)+parseInt(_0x5a03cc(0x10f))/0x3+-parseInt(_0x5a03cc(0x123))/0x4*(parseInt(_0x5a03cc(0xe4))/0x5)+-parseInt(_0x5a03cc(0xe8))/0x6+parseInt(_0x5a03cc(0x11f))/0x7+-parseInt(_0x5a03cc(0x118))/0x8*(-parseInt(_0x5a03cc(0x13b))/0x9)+-parseInt(_0x5a03cc(0x146))/0xa;if(_0x44c0f7===_0x2df9e9)break;else _0xd2dc5e['push'](_0xd2dc5e['shift']());}catch(_0x2bace4){_0xd2dc5e['push'](_0xd2dc5e['shift']());}}}(a0_0x1527,0x6a390));const {v7:uuidv7}=require('uuid'),path=require(a0_0x3b1c99(0xf2)),fs=require('fs')['promises'],redisHelper=require(a0_0x3b1c99(0xe5)),{logger,logError}=require('../../core/utils/logger'),dbType=(process[a0_0x3b1c99(0x160)]['DB_TYPE']||'postgresql')['toLowerCase']();let executeQuery,executeTransaction,oracleDb;if(dbType===a0_0x3b1c99(0xe1))oracleDb=require(a0_0x3b1c99(0xfa)),executeQuery=(_0x2adb5c,_0x27a3cb)=>oracleDb['executeQuery'](_0x2adb5c,_0x27a3cb),executeTransaction=_0x989dcd=>oracleDb['executeTransaction'](_0x989dcd);else{if(dbType===a0_0x3b1c99(0x11a)){const mysqlDb=require('../database/db-mysql');executeQuery=(_0x20d948,_0x678958)=>mysqlDb[a0_0x3b1c99(0x15b)](_0x20d948,_0x678958),executeTransaction=_0xd85b12=>mysqlDb['executeTransaction'](_0xd85b12);}else{const db=require('../../core/utils/db');executeQuery=db['executeQuery'],executeTransaction=db[a0_0x3b1c99(0x12d)];}}const excelParser=require('./excel-parser'),importValidator=require(a0_0x3b1c99(0x15c)),upsertBuilder=require('./upsert-builder'),lookupResolver=require(a0_0x3b1c99(0x12a));function a0_0x1c17(_0x439c62,_0x372432){_0x439c62=_0x439c62-0xd3;const _0x152769=a0_0x1527();let _0x1c175d=_0x152769[_0x439c62];if(a0_0x1c17['pmeohM']===undefined){var _0x48adcd=function(_0x13269d){const _0x353371='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x109f6a='',_0x209090='';for(let _0x496d58=0x0,_0x5809ef,_0x272adf,_0x1034ba=0x0;_0x272adf=_0x13269d['charAt'](_0x1034ba++);~_0x272adf&&(_0x5809ef=_0x496d58%0x4?_0x5809ef*0x40+_0x272adf:_0x272adf,_0x496d58++%0x4)?_0x109f6a+=String['fromCharCode'](0xff&_0x5809ef>>(-0x2*_0x496d58&0x6)):0x0){_0x272adf=_0x353371['indexOf'](_0x272adf);}for(let _0x482b36=0x0,_0x5d2961=_0x109f6a['length'];_0x482b36<_0x5d2961;_0x482b36++){_0x209090+='%'+('00'+_0x109f6a['charCodeAt'](_0x482b36)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x209090);};a0_0x1c17['EJrGdm']=_0x48adcd,a0_0x1c17['TwDXJS']={},a0_0x1c17['pmeohM']=!![];}const _0x52cd1f=_0x152769[0x0],_0x4b9320=_0x439c62+_0x52cd1f,_0x103c10=a0_0x1c17['TwDXJS'][_0x4b9320];return!_0x103c10?(_0x1c175d=a0_0x1c17['EJrGdm'](_0x1c175d),a0_0x1c17['TwDXJS'][_0x4b9320]=_0x1c175d):_0x1c175d=_0x103c10,_0x1c175d;}class ImportService{constructor(){this['_uploadDir']=null;}get[a0_0x3b1c99(0x112)](){const _0xd423a9=a0_0x3b1c99;if(!this[_0xd423a9(0xed)]){const _0xed24d8=process[_0xd423a9(0x160)]['RESTFORGE_PROJECT_NAME']||_0xd423a9(0x163);this['_uploadDir']=process[_0xd423a9(0x160)]['UPLOAD_DIR']||path[_0xd423a9(0xf8)](__dirname,'../../temp/uploads/'+_0xed24d8);}return this['_uploadDir'];}['generateId'](){const _0x2e1866=a0_0x3b1c99,_0x4a33a3={'DsPSR':'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789','LCVkW':function(_0x2711a7,_0x404fa9){return _0x2711a7<_0x404fa9;},'Mtrai':function(_0x2122c6,_0x5dfc99){return _0x2122c6*_0x5dfc99;}},_0x46c7ae=_0x4a33a3['DsPSR'],_0x3b5b70=Date[_0x2e1866(0x11b)]()[_0x2e1866(0x14d)](0x24),_0x439d21=uuidv7()['replace'](/-/g,'')[_0x2e1866(0x125)](0x0,0xc-_0x3b5b70['length']),_0x598828=(_0x3b5b70+_0x439d21)['substring'](0x0,0xc);let _0x2dcedc='';for(let _0xfe4168=0x0;_0x4a33a3[_0x2e1866(0x140)](_0xfe4168,0xc);_0xfe4168++){_0x598828[_0xfe4168]?_0x2dcedc+=_0x598828[_0xfe4168]:_0x2dcedc+=_0x46c7ae[_0x2e1866(0x122)](Math['floor'](_0x4a33a3[_0x2e1866(0xec)](Math['random'](),_0x46c7ae[_0x2e1866(0x13a)])));}return _0x2dcedc;}[a0_0x3b1c99(0x10c)](_0x3bd801){const _0x2641da=a0_0x3b1c99,_0x26957a={'ZjVtp':'$1_$2','LwqUH':'label_to_field_map_built','JpLrO':'Label\x20to\x20field\x20mapping\x20built'},_0x4805c5=new Map();if(!_0x3bd801)return _0x4805c5;return Object[_0x2641da(0x133)](_0x3bd801)['forEach'](([_0x242ac4,_0x3cef89])=>{const _0x379627=_0x2641da,_0x25f588=String(_0x3cef89)[_0x379627(0x106)]()[_0x379627(0x14f)](/\s+/g,'_')['replace'](/([a-z])([A-Z])/g,_0x26957a[_0x379627(0x12c)])[_0x379627(0x14f)](/([A-Z]+)([A-Z][a-z])/g,'$1_$2')[_0x379627(0x113)]();_0x4805c5[_0x379627(0x132)](_0x25f588,_0x242ac4);}),logger[_0x2641da(0x161)]({'event':_0x26957a['LwqUH'],'mappingCount':_0x4805c5[_0x2641da(0x10e)]},_0x26957a['JpLrO']),_0x4805c5;}['applyColumnFormats'](_0x4b93fe,_0x4d7056){const _0x2fbef6=a0_0x3b1c99,_0x3cae02={'JRYgw':function(_0x2aee05,_0x4b6889){return _0x2aee05===_0x4b6889;},'TpcJa':_0x2fbef6(0xe3),'eIrMR':_0x2fbef6(0x159),'qRitQ':function(_0x349539,_0x1ba72c){return _0x349539===_0x1ba72c;}};if(!_0x4d7056||_0x3cae02['qRitQ'](Object['keys'](_0x4d7056)['length'],0x0))return _0x4b93fe;return _0x4b93fe[_0x2fbef6(0x102)](_0x544aa5=>{const _0x112a45=_0x2fbef6,_0x583f6b={..._0x544aa5};for(const [_0x572ade,_0x5cd123]of Object['entries'](_0x4d7056)){const _0x15b1a4=_0x583f6b[_0x572ade];if(_0x3cae02[_0x112a45(0x167)](_0x15b1a4,null)||_0x15b1a4===undefined||_0x15b1a4===''){_0x583f6b[_0x572ade]=null;continue;}switch(_0x5cd123['type']){case _0x112a45(0x105):_0x583f6b[_0x572ade]=this[_0x112a45(0x151)](_0x15b1a4);break;case _0x3cae02[_0x112a45(0x152)]:_0x583f6b[_0x572ade]=this['formatNumberForDatabase'](_0x15b1a4);break;case _0x3cae02['eIrMR']:_0x583f6b[_0x572ade]=String(_0x15b1a4);break;default:break;}}return _0x583f6b;});}['formatDateForDatabase'](_0x7b63e1){const _0x378005=a0_0x3b1c99,_0x521538={'WDceB':function(_0x1e78e7,_0x35b4ee){return _0x1e78e7===_0x35b4ee;},'uuOMI':'string','fdJoy':function(_0x11734f,_0x4e9eaa){return _0x11734f instanceof _0x4e9eaa;},'BjprS':function(_0x4dbffc,_0x237599){return _0x4dbffc(_0x237599);},'mRiXK':function(_0x462de0,_0x5b7283){return _0x462de0+_0x5b7283;},'ZaMWt':function(_0x5eef79,_0x4cbf31){return _0x5eef79(_0x4cbf31);},'XJndN':function(_0x5828b2,_0x315d7d){return _0x5828b2(_0x315d7d);}};if(_0x7b63e1===null||_0x7b63e1===undefined||_0x7b63e1==='')return null;if(_0x521538[_0x378005(0xf3)](typeof _0x7b63e1,_0x521538[_0x378005(0xf6)])&&/^\d{4}-\d{2}-\d{2}$/[_0x378005(0x15f)](_0x7b63e1))return _0x7b63e1;if(_0x521538['fdJoy'](_0x7b63e1,Date)){if(isNaN(_0x7b63e1[_0x378005(0xde)]()))return null;const _0x3c3d71=_0x7b63e1[_0x378005(0x144)](),_0x6bbeea=_0x521538['BjprS'](String,_0x521538['mRiXK'](_0x7b63e1['getMonth'](),0x1))[_0x378005(0x15e)](0x2,'0'),_0x3de555=String(_0x7b63e1[_0x378005(0x108)]())[_0x378005(0x15e)](0x2,'0');return _0x3c3d71+'-'+_0x6bbeea+'-'+_0x3de555;}if(typeof _0x7b63e1===_0x521538['uuOMI']){const _0x485c39=_0x7b63e1[_0x378005(0xd7)](/^(\d{1,2})[\/\-](\d{1,2})[\/\-](\d{4})$/);if(_0x485c39){const _0x24ab5a=_0x521538['ZaMWt'](String,_0x485c39[0x1])['padStart'](0x2,'0'),_0x1b3e01=String(_0x485c39[0x2])['padStart'](0x2,'0'),_0x496ec2=_0x485c39[0x3];return _0x496ec2+'-'+_0x1b3e01+'-'+_0x24ab5a;}const _0x295f69=_0x7b63e1['match'](/^(\d{4})[\/\-](\d{1,2})[\/\-](\d{1,2})$/);if(_0x295f69){const _0xd87bc5=_0x295f69[0x1],_0x17db17=String(_0x295f69[0x2])['padStart'](0x2,'0'),_0x43f686=_0x521538[_0x378005(0xdd)](String,_0x295f69[0x3])[_0x378005(0x15e)](0x2,'0');return _0xd87bc5+'-'+_0x17db17+'-'+_0x43f686;}}return _0x7b63e1;}['formatNumberForDatabase'](_0x2a46f3){const _0x47f183=a0_0x3b1c99,_0x36d2b0={'prMTU':function(_0x38298e,_0xe5a120){return _0x38298e(_0xe5a120);},'pEPEo':'string'};if(_0x2a46f3===null||_0x2a46f3===undefined||_0x2a46f3==='')return null;if(typeof _0x2a46f3==='number')return _0x36d2b0[_0x47f183(0x138)](isNaN,_0x2a46f3)?null:_0x2a46f3;if(typeof _0x2a46f3===_0x36d2b0[_0x47f183(0x126)]){let _0x61c6cf=_0x2a46f3[_0x47f183(0x106)]();const _0x1fb821=/,\d{1,2}$/[_0x47f183(0x15f)](_0x61c6cf)&&!/,\d{3}/[_0x47f183(0x15f)](_0x61c6cf);_0x1fb821?_0x61c6cf=_0x61c6cf[_0x47f183(0x14f)](/\./g,'')['replace'](',','.'):_0x61c6cf=_0x61c6cf[_0x47f183(0x14f)](/,/g,'');const _0x312c72=parseFloat(_0x61c6cf);return isNaN(_0x312c72)?null:_0x312c72;}return null;}async[a0_0x3b1c99(0x103)](_0x99c555,_0x2abcf4){const _0x23046a=a0_0x3b1c99,_0x4c0d59={'KYxCi':'Excel\x20headers\x20mapped\x20to\x20field\x20names','oGedL':'Failed\x20to\x20cleanup\x20file'},_0x4eae89=this['generateId']();try{let {headers:_0x57d8df,rows:_0x4338cb,totalRows:_0x85553b}=await excelParser['parseExcelFile'](_0x99c555[_0x23046a(0xf2)]);const _0x49eb7b=this[_0x23046a(0x10c)](_0x2abcf4[_0x23046a(0xe6)]),_0x523b1a=_0x57d8df[_0x23046a(0x102)](_0x2111dc=>{const _0x5ee3bd=_0x23046a,_0x195cfd=_0x49eb7b[_0x5ee3bd(0xf7)](_0x2111dc);return _0x195cfd||_0x2111dc;});_0x4338cb=_0x4338cb['map'](_0x16fe75=>{const _0x5c75e0=_0x23046a,_0x3dca08={};return _0x57d8df[_0x5c75e0(0x139)]((_0x16221d,_0x5d09b3)=>{const _0x229ebc=_0x523b1a[_0x5d09b3];_0x3dca08[_0x229ebc]=_0x16fe75[_0x16221d];}),_0x3dca08;}),_0x57d8df=_0x523b1a,logger['debug']({'event':'headers_mapped','original':_0x57d8df[_0x23046a(0x13a)],'mapped':_0x523b1a['filter']((_0x11f3f0,_0x3a3d0b)=>_0x11f3f0!==_0x57d8df[_0x3a3d0b])['length']},_0x4c0d59['KYxCi']);_0x2abcf4['columnFormats']&&Object[_0x23046a(0xd6)](_0x2abcf4[_0x23046a(0x10b)])['length']>0x0&&(_0x4338cb=this['applyColumnFormats'](_0x4338cb,_0x2abcf4['columnFormats']),logger['debug']({'event':_0x23046a(0xf4),'formatCount':Object[_0x23046a(0xd6)](_0x2abcf4['columnFormats'])['length'],'formats':Object['keys'](_0x2abcf4[_0x23046a(0x10b)])},'Column\x20formats\x20applied\x20to\x20rows'));const _0x579408=_0x2abcf4[_0x23046a(0x143)]?Object['values'](_0x2abcf4['lookupFields'])['map'](_0x103e63=>_0x103e63[_0x23046a(0xff)]):[],_0x211d20=_0x2abcf4['fieldName']['filter'](_0x3b6d9f=>!_0x579408[_0x23046a(0x157)](_0x3b6d9f)),_0x578b99=excelParser[_0x23046a(0x131)](_0x57d8df,_0x211d20);if(!_0x578b99['valid']){await fs['unlink'](_0x99c555['path']);throw new Error(_0x23046a(0x15a)+_0x578b99['missingFields']['join'](',\x20'));}const _0x1bc30d={'upload_id':_0x4eae89,'filename':_0x99c555['originalname'],'total_rows':_0x85553b,'headers':_0x57d8df,'rows':_0x4338cb,'params':_0x2abcf4,'created_at':new Date()[_0x23046a(0x104)]()};return await redisHelper['setJob']('upload:'+_0x4eae89,_0x1bc30d,0xe10),await fs[_0x23046a(0x128)](_0x99c555['path']),logger['info']({'event':'import_file_uploaded','uploadId':_0x4eae89,'filename':_0x99c555['originalname'],'totalRows':_0x85553b},_0x23046a(0x120)),{'upload_id':_0x4eae89,'total_rows':_0x85553b,'preview':_0x4338cb['slice'](0x0,0xa)};}catch(_0x12892f){try{await fs['unlink'](_0x99c555[_0x23046a(0xf2)]);}catch(_0x24df16){logError(_0x24df16,{'event':_0x23046a(0x162)},_0x4c0d59['oGedL']);}throw _0x12892f;}}async[a0_0x3b1c99(0x11d)](_0x500f50){const _0x314cfa=a0_0x3b1c99,_0xfd7000={'OFNwR':function(_0x5bf703,_0xd0002f,_0x2855a2,_0xb8ed33){return _0x5bf703(_0xd0002f,_0x2855a2,_0xb8ed33);},'fBaKW':_0x314cfa(0x11c),'UuUUP':_0x314cfa(0x129),'FVbRc':_0x314cfa(0x10a),'JVqtP':_0x314cfa(0x13e)},_0x46717e=this['generateId'](),_0x247eea=await redisHelper[_0x314cfa(0xe9)]('upload:'+_0x500f50);if(!_0x247eea)throw new Error('Upload\x20data\x20not\x20found\x20or\x20expired');const _0x16a41f={'job_id':_0x46717e,'upload_id':_0x500f50,'status':_0xfd7000['UuUUP'],'progress':0x0,'created_at':new Date()['toISOString'](),'params':_0x247eea[_0x314cfa(0x15d)]};return await redisHelper[_0x314cfa(0x164)]('job:'+_0x46717e,_0x16a41f,0xe10),logger[_0x314cfa(0x116)]({'event':_0xfd7000['FVbRc'],'jobId':_0x46717e,'uploadId':_0x500f50},_0xfd7000['JVqtP']),this[_0x314cfa(0xeb)](_0x46717e,_0x500f50,_0x247eea)['catch'](_0x123758=>{const _0x37260a=_0x314cfa;_0xfd7000['OFNwR'](logError,_0x123758,{'event':_0x37260a(0x158),'jobId':_0x46717e},_0xfd7000['fBaKW']);}),{'job_id':_0x46717e,'status':'validating'};}[a0_0x3b1c99(0x114)](_0x4bdce0,_0x3106a2){const _0x7a696a={'NtMKj':function(_0x5c03ac,_0x22a493){return _0x5c03ac===_0x22a493;},'clccp':function(_0x42ed1b,_0x3fc8bd){return _0x42ed1b(_0x3fc8bd);},'lasWO':'uuid_auto_generated','FpIYX':function(_0x2cbd4d,_0x28e0e2){return _0x2cbd4d+_0x28e0e2;}};_0x4bdce0['forEach']((_0x46463b,_0x493f7f)=>{_0x3106a2['forEach'](_0x48f1ef=>{const _0x4ef028=a0_0x1c17,_0x38029a=_0x46463b[_0x48f1ef];if(_0x38029a===null||_0x38029a===undefined||_0x7a696a['NtMKj'](_0x38029a,'')||_0x7a696a['NtMKj'](_0x7a696a['clccp'](String,_0x38029a)[_0x4ef028(0x106)](),'-')){const _0x218d98=uuidv7();_0x46463b[_0x48f1ef]=_0x218d98,_0x46463b['_generated_uuid']=_0x46463b[_0x4ef028(0xfe)]||{},_0x46463b['_generated_uuid'][_0x48f1ef]=_0x218d98,logger[_0x4ef028(0x161)]({'event':_0x7a696a['lasWO'],'rowIndex':_0x493f7f,'field':_0x48f1ef,'uuid':_0x218d98},'Auto-generated\x20UUID\x20for\x20'+_0x48f1ef+'\x20at\x20row\x20'+_0x7a696a['FpIYX'](_0x493f7f,0x2));}});});}async[a0_0x3b1c99(0xeb)](_0x1570e7,_0x20148a,_0x3f282a){const _0x2ed728=a0_0x3b1c99,_0x51cd6b={'HJJKw':function(_0x3a775a,_0x1a47c2){return _0x3a775a===_0x1a47c2;},'rEVMJ':function(_0x5c4a51,_0x11184a){return _0x5c4a51===_0x11184a;},'LcTJy':function(_0x288f0c,_0x5db29c){return _0x288f0c===_0x5db29c;},'LkpLx':'SKIP','fLpfr':'Processing\x20lookup\x20fields','nTWwt':function(_0x3e014c,_0xa8fc55){return _0x3e014c>_0xa8fc55;},'tuAfn':'Preview\x20job\x20completed','jSlFM':'Preview\x20job\x20failed','JesoK':'failed'};try{let {rows:_0x58d31e,params:_0x55a0f3}=_0x3f282a;const {requiredFields:_0x557a92,validations:_0x5ac42b,upsertKeys:_0x2ea6bc,tableName:_0x2dde02,primaryKey:_0x26fe6a,fieldName:_0x4ad81d,upsertStrategy:_0x3ab043,lookupFields:_0x2b3d49}=_0x55a0f3;this['autoGenerateUpsertKeys'](_0x58d31e,_0x2ea6bc);let _0x33a67c=[];if(_0x2b3d49&&Object['keys'](_0x2b3d49)[_0x2ed728(0x13a)]>0x0){logger['info']({'event':_0x2ed728(0xe2),'jobId':_0x1570e7,'lookupFieldCount':Object[_0x2ed728(0xd6)](_0x2b3d49)[_0x2ed728(0x13a)]},_0x51cd6b[_0x2ed728(0xe0)]);const _0x196e41=await lookupResolver['processLookupFields'](_0x58d31e,_0x2b3d49);_0x58d31e=_0x196e41['processedRows'],_0x33a67c=_0x196e41[_0x2ed728(0x14c)],_0x3f282a[_0x2ed728(0x109)]=_0x58d31e;}const _0x369b64=importValidator[_0x2ed728(0x165)](_0x58d31e,_0x557a92||[],_0x5ac42b||{});_0x33a67c['forEach'](_0x355054=>{const _0x791b6f=_0x2ed728,_0x545b14=_0x369b64[_0x791b6f(0x12f)](_0x267a75=>_0x267a75['rowIndex']===_0x355054[_0x791b6f(0xf5)]);_0x545b14?_0x545b14['errors']['push'](_0x355054[_0x791b6f(0xee)]):_0x369b64[_0x791b6f(0x156)]({'rowIndex':_0x355054['rowIndex'],'rowData':_0x58d31e[_0x355054['rowIndex']],'errors':[_0x355054[_0x791b6f(0xee)]]});});const _0x4ff2e3=importValidator['detectDuplicatesInFile'](_0x58d31e,_0x2ea6bc);_0x4ff2e3[_0x2ed728(0x139)](_0x294dbd=>{const _0x3869d0=_0x2ed728,_0x2531e4=_0x369b64[_0x3869d0(0x12f)](_0x500ddd=>_0x500ddd[_0x3869d0(0xf5)]===_0x294dbd['rowIndex']),_0x49bdf2=_0x2ea6bc[_0x3869d0(0x102)](_0x5f3eba=>_0x5f3eba['toUpperCase']())[_0x3869d0(0xf8)](',\x20'),_0x4bdf67='Duplicate\x20value\x20for\x20'+_0x49bdf2;_0x2531e4?_0x2531e4[_0x3869d0(0x14c)][_0x3869d0(0x156)](_0x4bdf67):_0x369b64[_0x3869d0(0x156)]({'rowIndex':_0x294dbd['rowIndex'],'rowData':_0x58d31e[_0x294dbd[_0x3869d0(0xf5)]],'errors':[_0x4bdf67]});}),await this[_0x2ed728(0xf1)](_0x58d31e,_0x2ea6bc,_0x2dde02,_0x26fe6a,_0x3ab043,_0x369b64),_0x369b64[_0x2ed728(0x139)](_0x52dff3=>{const _0x28cc71=_0x2ed728,_0x597719=_0x58d31e[_0x52dff3[_0x28cc71(0xf5)]];_0x597719&&(_0x597719['_errors']=_0x52dff3[_0x28cc71(0x14c)]);});let _0x58b8f6=0x0,_0x1bf38d=0x0,_0x3f1b39=0x0;_0x58d31e[_0x2ed728(0x139)](_0x16ea1e=>{const _0x3c4edc=_0x2ed728;if(_0x51cd6b['HJJKw'](_0x16ea1e[_0x3c4edc(0x14a)],'INSERT'))_0x58b8f6++;else{if(_0x51cd6b['rEVMJ'](_0x16ea1e[_0x3c4edc(0x14a)],'UPDATE'))_0x1bf38d++;else _0x51cd6b['LcTJy'](_0x16ea1e['_action'],_0x51cd6b[_0x3c4edc(0x121)])&&_0x3f1b39++;}});const _0x1beaf7={'job_id':_0x1570e7,'upload_id':_0x20148a,'status':_0x51cd6b[_0x2ed728(0x13c)](_0x369b64['length'],0x0)?_0x2ed728(0x148):'preview_ok','progress':0x64,'created_at':_0x3f282a[_0x2ed728(0xd9)],'completed_at':new Date()['toISOString'](),'preview':{'total_rows':_0x58d31e[_0x2ed728(0x13a)],'insert_count':_0x58b8f6,'update_count':_0x1bf38d,'skip_count':_0x3f1b39,'error_count':_0x369b64['length'],'errors':_0x369b64,'data':_0x58d31e,'sample_insert':_0x58d31e[_0x2ed728(0x100)](_0x4f90a9=>_0x4f90a9['_action']==='INSERT')[_0x2ed728(0x13f)](0x0,0x5),'sample_update':_0x58d31e['filter'](_0x3ae46a=>_0x3ae46a[_0x2ed728(0x14a)]===_0x2ed728(0x154))['slice'](0x0,0x5),'sample_skip':_0x58d31e['filter'](_0xd9320b=>_0xd9320b[_0x2ed728(0x14a)]===_0x2ed728(0x111))[_0x2ed728(0x13f)](0x0,0x5)},'params':_0x55a0f3};await redisHelper[_0x2ed728(0x164)](_0x2ed728(0xd4)+_0x1570e7,_0x1beaf7,0xe10),_0x3f282a['rows']=_0x58d31e,await redisHelper[_0x2ed728(0x164)](_0x2ed728(0x147)+_0x20148a,_0x3f282a,0xe10),logger['info']({'event':'preview_job_completed','jobId':_0x1570e7,'status':_0x1beaf7[_0x2ed728(0x137)],'insertCount':_0x58b8f6,'updateCount':_0x1bf38d,'skipCount':_0x3f1b39,'errorCount':_0x369b64['length']},_0x51cd6b[_0x2ed728(0xd3)]);}catch(_0x51a137){logError(_0x51a137,{'event':'preview_job_failed','jobId':_0x1570e7},_0x51cd6b['jSlFM']),await redisHelper[_0x2ed728(0x164)]('job:'+_0x1570e7,{'job_id':_0x1570e7,'upload_id':_0x20148a,'status':_0x51cd6b['JesoK'],'progress':0x0,'error':_0x51a137[_0x2ed728(0xee)],'created_at':new Date()[_0x2ed728(0x104)](),'completed_at':new Date()['toISOString']()},0xe10);}}async['detectDatabaseDuplicates'](_0x297cdd,_0xe8e7ac,_0x45180a,_0xeca4da,_0x5b74e9='update_existing',_0x9aee94=[]){const _0x2123b5=a0_0x3b1c99,_0x199987={'KTvzz':'NULL','mZPZr':_0x2123b5(0x154),'RgTBT':function(_0x46d1fe,_0x25c10f){return _0x46d1fe===_0x25c10f;},'cBQfJ':'skip_existing','owwEt':'SKIP','vUBpr':function(_0x486840,_0x218e47){return _0x486840===_0x218e47;},'axfgM':_0x2123b5(0xea),'Gyrvr':function(_0xd6455e,_0x3d7c1f){return _0xd6455e===_0x3d7c1f;},'lJUjG':'oracle','cnKbX':function(_0x44a6d9,_0xbdcec9){return _0x44a6d9>_0xbdcec9;}},_0x39ee9e=upsertBuilder[_0x2123b5(0x11e)](_0x297cdd,0x64);for(const _0xe947ad of _0x39ee9e){const _0x52afe7=_0xe947ad['map'](_0x201cfd=>_0x201cfd[_0xe8e7ac[0x0]]),_0x11da81=_0x52afe7['map'](_0x152a08=>{const _0x5d4d3a=_0x2123b5;if(_0x152a08===null||_0x152a08===undefined)return _0x199987['KTvzz'];return'\x27'+String(_0x152a08)[_0x5d4d3a(0x14f)](/'/g,'\x27\x27')+'\x27';}),_0x56539d=_0x2123b5(0xdc)+_0xeca4da+',\x20'+_0xe8e7ac[_0x2123b5(0xf8)](',\x20')+_0x2123b5(0x141)+_0x45180a+_0x2123b5(0x117)+_0xe8e7ac[0x0]+'\x20IN\x20('+_0x11da81['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20';let _0x8f3df5=await executeQuery(_0x56539d);_0x199987['Gyrvr'](dbType,_0x199987['lJUjG'])&&_0x8f3df5&&_0x199987[_0x2123b5(0x136)](_0x8f3df5['length'],0x0)&&(_0x8f3df5=_0x8f3df5['map'](_0x25678b=>{const _0xd5bd99=_0x2123b5,_0x499ff4={};for(const [_0x5a0087,_0x4c7f6c]of Object[_0xd5bd99(0x133)](_0x25678b)){_0x499ff4[_0x5a0087[_0xd5bd99(0x113)]()]=_0x4c7f6c;}return _0x499ff4;}));const _0x16112b=new Map();_0x8f3df5[_0x2123b5(0x139)](_0x5d3245=>{const _0x5e3a94=_0x2123b5,_0xe60904=_0x5d3245[_0xe8e7ac[0x0]];_0x16112b[_0x5e3a94(0x132)](_0xe60904,_0x5d3245);}),_0xe947ad[_0x2123b5(0x139)]((_0x95062,_0x366a9a)=>{const _0x28a6a0=_0x2123b5,_0x42d96c=_0x95062[_0xe8e7ac[0x0]],_0x1a9a92=_0x16112b[_0x28a6a0(0xf7)](_0x42d96c);if(_0x1a9a92){if(_0x5b74e9==='update_existing')_0x95062['_action']=_0x199987[_0x28a6a0(0xf9)],_0x95062['_existingId']=_0x1a9a92[_0xeca4da];else{if(_0x5b74e9===_0x28a6a0(0xe7)){_0x95062[_0x28a6a0(0x14a)]=_0x28a6a0(0x111),_0x95062[_0x28a6a0(0x153)]=_0x95062[_0x28a6a0(0x153)]||[],_0x95062['_errors']['push']('Record\x20exists\x20(insert_only\x20mode)');const _0x267d5e=_0x297cdd[_0x28a6a0(0x14e)](_0x95062);_0x267d5e!==-0x1&&_0x9aee94['push']({'rowIndex':_0x267d5e,'rowData':_0x95062,'errors':['Record\x20exists\x20(insert_only\x20mode)']});}else _0x199987['RgTBT'](_0x5b74e9,_0x199987['cBQfJ'])&&(_0x95062['_action']=_0x199987[_0x28a6a0(0x168)]);}}else{if(_0x199987['vUBpr'](_0x5b74e9,_0x199987['axfgM']))_0x95062['_action']=_0x28a6a0(0xef);else(_0x5b74e9===_0x28a6a0(0xe7)||_0x199987['vUBpr'](_0x5b74e9,_0x199987[_0x28a6a0(0x130)]))&&(_0x95062[_0x28a6a0(0x14a)]=_0x28a6a0(0xef));}});}}async[a0_0x3b1c99(0xf0)](_0x272c61){const _0x39349c=a0_0x3b1c99,_0x2cbc37={'GGSAg':function(_0x3219f6,_0x556c12,_0x2da099,_0x483477){return _0x3219f6(_0x556c12,_0x2da099,_0x483477);},'uMLiS':_0x39349c(0x101),'DqQDE':'Preview\x20job\x20not\x20found\x20or\x20expired','FXRxe':_0x39349c(0x124),'eDzjy':_0x39349c(0x166)},_0x355e22=this['generateId'](),_0x38fd35=await redisHelper[_0x39349c(0xe9)](_0x39349c(0xd4)+_0x272c61);if(!_0x38fd35)throw new Error(_0x2cbc37['DqQDE']);if(_0x38fd35['status']!==_0x39349c(0xdb))throw new Error('Cannot\x20commit:\x20preview\x20status\x20is\x20'+_0x38fd35['status']);const _0x45527c={'job_id':_0x355e22,'upload_id':_0x38fd35[_0x39349c(0x13d)],'preview_job_id':_0x272c61,'status':_0x2cbc37['FXRxe'],'progress':0x0,'created_at':new Date()[_0x39349c(0x104)](),'params':_0x38fd35['params']};return await redisHelper['setJob']('job:'+_0x355e22,_0x45527c,0xe10),logger['info']({'event':_0x2cbc37[_0x39349c(0x150)],'jobId':_0x355e22,'previewJobId':_0x272c61},_0x39349c(0xda)),this[_0x39349c(0xd5)](_0x355e22,_0x38fd35)['catch'](_0x137d20=>{const _0x2ff294=_0x39349c;_0x2cbc37['GGSAg'](logError,_0x137d20,{'event':'commit_process_error','jobId':_0x355e22},_0x2cbc37[_0x2ff294(0x127)]);}),{'job_id':_0x355e22,'status':_0x2cbc37['FXRxe']};}async['processCommitJob'](_0x5c82da,_0x130ab6){const _0x28d7f6=a0_0x3b1c99,_0x4d17b7={'IxsnM':function(_0x126d1a,_0x914484){return _0x126d1a===_0x914484;},'UxxKZ':'import_fields_filtered','ZPHBH':function(_0x2bb494,_0x20dfea){return _0x2bb494||_0x20dfea;},'ksWoa':_0x28d7f6(0x12b),'joCQC':function(_0x39cf42,_0x20b478){return _0x39cf42>_0x20b478;},'uhQJH':'update','NKMiT':function(_0x48b70e,_0x131287){return _0x48b70e>_0x131287;},'lMxJr':'commit_job_completed','bawoQ':_0x28d7f6(0x155),'IMvky':_0x28d7f6(0xdf),'QRaRW':_0x28d7f6(0x145),'tkqMA':'failed'};try{const _0x39fabc=await redisHelper[_0x28d7f6(0xe9)](_0x28d7f6(0x147)+_0x130ab6[_0x28d7f6(0x13d)]);if(!_0x39fabc)throw new Error(_0x28d7f6(0x142));const {rows:_0x2f9cbe,params:_0x1aa5f1}=_0x39fabc,{tableName:_0x59713c,fieldName:_0x25c50c,primaryKey:_0x257fd6,upsertKeys:_0x42192e,excludeFromImport:_0x23a00a,lookupFields:_0x1f7a74,columnFormats:_0x2d8bec}=_0x1aa5f1,_0x51d713=_0x1f7a74?Object['keys'](_0x1f7a74):[],_0x8470af=new Set([..._0x23a00a||[],..._0x51d713]);let _0x273f2c=_0x25c50c;_0x8470af[_0x28d7f6(0x10e)]>0x0&&(_0x273f2c=_0x25c50c['filter'](_0x5bf31a=>!_0x8470af['has'](_0x5bf31a)),logger[_0x28d7f6(0x161)]({'event':_0x4d17b7['UxxKZ'],'originalCount':_0x25c50c['length'],'filteredCount':_0x273f2c['length'],'excludedFields':Array['from'](_0x8470af),'lookupSourceFields':_0x51d713},'Import\x20fields\x20filtered\x20(excluded\x20lookup\x20source\x20columns)'));const _0x21d384=_0x2f9cbe['filter'](_0x9d3e24=>_0x9d3e24[_0x28d7f6(0x14a)]==='INSERT'),_0x4a2fdf=_0x2f9cbe[_0x28d7f6(0x100)](_0x255421=>_0x255421['_action']==='UPDATE');let _0x3d8e8b=0x0,_0x5b99fb=0x0;const _0x2644b3=[];if(_0x21d384[_0x28d7f6(0x13a)]>0x0){const _0x240c8d=upsertBuilder[_0x28d7f6(0x11e)](_0x21d384,0x64);for(const _0x4ebccd of _0x240c8d){const {query:_0x2c1dd7}=upsertBuilder[_0x28d7f6(0x119)](_0x4ebccd,_0x59713c,_0x273f2c,_0x4d17b7[_0x28d7f6(0x10d)](_0x2d8bec,{}));_0x2c1dd7&&_0x2644b3[_0x28d7f6(0x156)]({'sql':_0x2c1dd7,'count':_0x4ebccd['length'],'type':_0x4d17b7['ksWoa']});}}if(_0x4d17b7[_0x28d7f6(0xfd)](_0x4a2fdf[_0x28d7f6(0x13a)],0x0)){const _0x4a1d7a=upsertBuilder[_0x28d7f6(0x11e)](_0x4a2fdf,0x64);for(const _0x607a62 of _0x4a1d7a){const {query:_0x27e2b2}=upsertBuilder['buildBatchUpdate'](_0x607a62,_0x59713c,_0x273f2c,_0x257fd6,_0x42192e,_0x2d8bec||{});_0x27e2b2&&_0x2644b3[_0x28d7f6(0x156)]({'sql':_0x27e2b2,'count':_0x607a62[_0x28d7f6(0x13a)],'type':_0x4d17b7['uhQJH']});}}_0x4d17b7['NKMiT'](_0x2644b3['length'],0x0)&&await executeTransaction(_0x2644b3['map'](_0x800031=>({'sql':_0x800031['sql'],'params':[]})));_0x2644b3['forEach'](_0x1c0140=>{const _0x4fb97a=_0x28d7f6;if(_0x4d17b7['IxsnM'](_0x1c0140['type'],_0x4fb97a(0x12b)))_0x3d8e8b+=_0x1c0140[_0x4fb97a(0x115)];else _0x5b99fb+=_0x1c0140[_0x4fb97a(0x115)];});const _0x1746d={'job_id':_0x5c82da,'upload_id':_0x130ab6[_0x28d7f6(0x13d)],'preview_job_id':_0x130ab6[_0x28d7f6(0x12e)],'status':_0x28d7f6(0x107),'progress':0x64,'created_at':_0x130ab6[_0x28d7f6(0xd9)],'started_at':new Date()['toISOString'](),'completed_at':new Date()['toISOString'](),'result':{'total_rows':_0x2f9cbe[_0x28d7f6(0x13a)],'inserted_rows':_0x3d8e8b,'updated_rows':_0x5b99fb,'skipped_rows':0x0,'failed_rows':0x0,'errors':[]},'params':_0x1aa5f1};await redisHelper[_0x28d7f6(0x164)](_0x28d7f6(0xd4)+_0x5c82da,_0x1746d,0xe10),logger['info']({'event':_0x4d17b7['lMxJr'],'jobId':_0x5c82da,'insertedCount':_0x3d8e8b,'updatedCount':_0x5b99fb},_0x4d17b7['bawoQ']);}catch(_0x3dfb38){logError(_0x3dfb38,{'event':_0x4d17b7[_0x28d7f6(0xfb)],'jobId':_0x5c82da},_0x4d17b7[_0x28d7f6(0x134)]),await redisHelper['setJob']('job:'+_0x5c82da,{'job_id':_0x5c82da,'upload_id':_0x130ab6[_0x28d7f6(0x13d)],'preview_job_id':_0x130ab6['job_id'],'status':_0x4d17b7[_0x28d7f6(0x149)],'progress':0x0,'error':_0x3dfb38[_0x28d7f6(0xee)],'created_at':_0x130ab6[_0x28d7f6(0xd9)],'started_at':new Date()[_0x28d7f6(0x104)](),'completed_at':new Date()[_0x28d7f6(0x104)]()},0xe10);}}async[a0_0x3b1c99(0x14b)](_0x327c2a){const _0x259552=a0_0x3b1c99,_0x7a03cc=await redisHelper['getJob']('job:'+_0x327c2a);if(!_0x7a03cc)return{'success':![],'error':_0x259552(0xfc)};return{'success':!![],'data':_0x7a03cc};}}module[a0_0x3b1c99(0xd8)]=new ImportService();function a0_0x1527(){const _0x18aab0=['Dgv4Da','rxHJzwWGC3rYDwn0DxjLig1PC21HDgnOlIbnAxnZAw5NigzPzwXKCZOG','zxHLy3v0zvf1zxj5','lI9PBxbVCNqTDMfSAwrHDg9Y','CgfYyw1Z','CgfKu3rHCNq','DgvZDa','zw52','zgvIDwC','zMLSzv9JBgvHBNvWx2vYCM9Y','zgvMyxvSDa','C2v0sM9I','yMf0y2HwywXPzgf0zvjVD3m','y29TBwL0x2PVyL9JCMvHDgvK','sLjzz3C','B3D3rxq','DhvbzM4','AM9IoG','ChjVy2vZC0nVBw1PDePVyG','A2v5CW','Bwf0y2G','zxHWB3j0CW','y3jLyxrLzf9HDa','q29TBwL0igPVyIbJCMvHDgvK','ChjLDMLLD19VAW','cIaGicaGicaGu0vmrunuia','wePUze4','z2v0vgLTzq','y29TBwL0x2PVyL9MywLSzwq','zKXWzNi','B3jHy2XL','ChjVy2vZC2LUz19SB29RDxbFzMLLBgrZ','BNvTyMvY','nvLhsuPnua','lI4Vy2fJAgLUzY9YzwrPCY1OzwXWzxi','zMLLBgrmywjLBhm','Aw5Zzxj0x29UBhK','nJC0mtC4sxLwCMHr','z2v0sM9I','DxbKyxrLx2v4Axn0Aw5N','ChjVy2vZC1bYzxzPzxDkB2i','txrYywK','x3vWBg9HzerPCG','BwvZC2fNzq','su5trvju','y3jLyxrLq29TBwL0sM9I','zgv0zwn0rgf0ywjHC2veDxbSAwnHDgvZ','Cgf0Aa','v0rJzui','y29SDw1Ux2zVCM1HDhnFyxbWBgLLza','CM93sw5KzxG','DxvptuK','z2v0','AM9PBG','BvPqwNi','lI4Vzgf0ywjHC2uVzgiTB3jHy2XL','su12A3K','sM9Iig5VDcbMB3vUzcbVCIbLEhbPCMvK','AM9duum','x2DLBMvYyxrLzf91DwLK','DgfYz2v0rMLLBgq','zMLSDgvY','q29TBwL0ihbYB2nLC3nPBMCGzMfPBgvK','BwfW','DxbSB2fKrMLSzq','Dg9ju09tDhjPBMC','zgf0zq','DhjPBq','y29TCgXLDgvK','z2v0rgf0zq','CM93CW','ChjLDMLLD19QB2jFy3jLyxrLza','y29SDw1UrM9YBwf0CW','yNvPBgrmywjLBfrVrMLLBgrnyxa','wLbiqKG','C2L6zq','mtqZmtu0A013sw9b','nti3mxrlsKr0sW','u0Tjua','DxbSB2fKrgLY','Dg9mB3DLCKnHC2u','yxv0B0DLBMvYyxrLvxbZzxj0s2v5CW','y291BNq','Aw5MBW','cIaGicaGicaGv0HfuKuG','nduYofn4ugPJtW','yNvPBgrcyxrJAeLUC2vYDa','BxLZCwW','BM93','uhjLDMLLDYbWCM9JzxnZAw5NigzHAwXLza','y3jLyxrLuhjLDMLLD0PVyG','y2H1BMTsB3DZ','ota5mdGZywTJEK5Z','sw1WB3j0igzPBguGDxbSB2fKzwqGyw5KihbHCNnLza','tgTWthG','y2HHCKf0','mtG5otaWneLuB0LZqW','ChjVy2vZC2LUzW','C3vIC3rYAw5N','Cevqrw8','Du1mAvm','Dw5SAw5R','DMfSAwrHDgLUzW','lI4VAw50zwDYyxrPB25Zl2XVB2T1Cc1YzxnVBhzLCG','Aw5Zzxj0','wMPwDha','zxHLy3v0zvrYyw5Zywn0Aw9U','AM9Ix2LK','zMLUza','y0jrzKO','DMfSAwrHDgvfEgnLBfn0CNvJDhvYzq','C2v0','zw50CMLLCW','uvjHuLC','mJi4vNntyKPv','y25lyLG','C3rHDhvZ','Chjnvfu','zM9YrwfJAa','BgvUz3rO','nJi2ngzrDwvoEq','BLrxD3q','DxbSB2fKx2LK','uhjLDMLLDYbQB2iGy3jLyxrLza','C2XPy2u','tenwA1C','cIaGicaGicaGrLjptsa','vxbSB2fKigrHDgeGBM90igzVDw5Kig9Yigv4CgLYzwq','Bg9VA3vWrMLLBgrZ','z2v0rNvSBfLLyxi','q29TBwL0igPVyIbMywLSzwq','mtuWmJe1mePXCxPgsq','DxbSB2fKoG','ChjLDMLLD19LCNjVCG','DgTXtue','x2fJDgLVBG','z2v0sM9Iu3rHDhvZ','zxjYB3jZ','Dg9tDhjPBMC','Aw5KzxHpzG','CMvWBgfJzq','zur6ANK','zM9YBwf0rgf0zuzVCKrHDgfIyxnL','vhbJsMe','x2vYCM9YCW','vvbeqvrf','q29TBwL0igPVyIbJB21WBgv0zwq','ChvZAa','Aw5JBhvKzxm','ChjLDMLLD19WCM9JzxnZx2vYCM9Y'];a0_0x1527=function(){return _0x18aab0;};return a0_0x1527();}
@@ -1 +1 @@
1
- function a0_0x131d(_0x89639c,_0x644643){_0x89639c=_0x89639c-0x6a;const _0x3fbc8f=a0_0x3fbc();let _0x131d62=_0x3fbc8f[_0x89639c];if(a0_0x131d['udEhHi']===undefined){var _0x27fd7b=function(_0x4973d3){const _0x4a705a='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x59d41f='',_0x83ce34='';for(let _0x200634=0x0,_0x55f132,_0x2586c3,_0x50bef6=0x0;_0x2586c3=_0x4973d3['charAt'](_0x50bef6++);~_0x2586c3&&(_0x55f132=_0x200634%0x4?_0x55f132*0x40+_0x2586c3:_0x2586c3,_0x200634++%0x4)?_0x59d41f+=String['fromCharCode'](0xff&_0x55f132>>(-0x2*_0x200634&0x6)):0x0){_0x2586c3=_0x4a705a['indexOf'](_0x2586c3);}for(let _0x4be5e0=0x0,_0x11019d=_0x59d41f['length'];_0x4be5e0<_0x11019d;_0x4be5e0++){_0x83ce34+='%'+('00'+_0x59d41f['charCodeAt'](_0x4be5e0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x83ce34);};a0_0x131d['osFkAI']=_0x27fd7b,a0_0x131d['zDiZro']={},a0_0x131d['udEhHi']=!![];}const _0x4b012b=_0x3fbc8f[0x0],_0x45b77d=_0x89639c+_0x4b012b,_0x32911c=a0_0x131d['zDiZro'][_0x45b77d];return!_0x32911c?(_0x131d62=a0_0x131d['osFkAI'](_0x131d62),a0_0x131d['zDiZro'][_0x45b77d]=_0x131d62):_0x131d62=_0x32911c,_0x131d62;}const a0_0x26f8fa=a0_0x131d;function a0_0x3fbc(){const _0x1b1659=['zM9YrwfJAa','mta5nJu4nfzptvHfEa','nJzOyMPSC00','CMvWBgfJzq','DMfSAwrHDgvsB3C','DMfSAwrHDgvvCMW','DMfSAwrHDgvqAg9Uzq','Aw5MBW','DMfSAwrHDgvgAwvSzezVCM1HDa','ohnivMrLvq','AM9PBG','zM9YBwf0','CgHVBMu','zw1HAwW','DMfSAwrHDgvfBwfPBa','ndmWodeXmg9YvxvxvG','sw52ywXPzcbUDw1IzxiGzM9YBwf0','nJi1mdyZmNH2DMPcBW','ChvZAa','mJfwvMnOBwe','DxjS','sw52ywXPzcbvuKWGzM9YBwf0','BgvUz3rO','mZu2ndGYzfvwywHd','C2v0','DMfSAwrHDgvoDw1Izxi','nti3mJbqrK5kBK0','mZGZoti4nJb0ENnJqxu','mtuWnda3meXTreHtEa','A2v5CW','CNHyAhy','mJDnzevYrhi','yMf0y2HwywXPzgf0zvjVD3m','CNbWEgu'];a0_0x3fbc=function(){return _0x1b1659;};return a0_0x3fbc();}(function(_0x153cb0,_0x349e35){const _0x155c70=a0_0x131d,_0xeae262=_0x153cb0();while(!![]){try{const _0x41171e=parseInt(_0x155c70(0x7b))/0x1+-parseInt(_0x155c70(0x7e))/0x2*(-parseInt(_0x155c70(0x88))/0x3)+-parseInt(_0x155c70(0x6d))/0x4*(-parseInt(_0x155c70(0x73))/0x5)+-parseInt(_0x155c70(0x87))/0x6*(-parseInt(_0x155c70(0x77))/0x7)+parseInt(_0x155c70(0x75))/0x8+-parseInt(_0x155c70(0x83))/0x9*(-parseInt(_0x155c70(0x80))/0xa)+-parseInt(_0x155c70(0x7f))/0xb;if(_0x41171e===_0x349e35)break;else _0xeae262['push'](_0xeae262['shift']());}catch(_0x624dcf){_0xeae262['push'](_0xeae262['shift']());}}}(a0_0x3fbc,0xe7fd4));const {logger}=require('./logger');class ImportValidator{[a0_0x26f8fa(0x8a)](_0x540351,_0x2f39af=[],_0x373cba={}){const _0x4fbcce=a0_0x26f8fa,_0x408e67={'glizW':function(_0x561bba,_0x3a6810){return _0x561bba===_0x3a6810;},'rxXhv':'required','eAXid':function(_0xa23d4,_0x261b74){return _0xa23d4===_0x261b74;}},_0x2c9454=[];return _0x2f39af[_0x4fbcce(0x86)](_0x97adb2=>{const _0x9c8b52=_0x4fbcce,_0x3212a1=_0x540351[_0x97adb2];(_0x3212a1===null||_0x408e67['glizW'](_0x3212a1,undefined)||_0x3212a1==='')&&_0x2c9454['push']({'field':_0x97adb2,'type':_0x408e67[_0x9c8b52(0x82)],'message':'Required\x20field\x20is\x20empty'});}),Object[_0x4fbcce(0x81)](_0x373cba)['forEach'](_0xd196c0=>{const _0x561fb7=_0x4fbcce,_0x54d31c=_0x540351[_0xd196c0],_0x44404d=_0x373cba[_0xd196c0];if(_0x408e67['eAXid'](_0x54d31c,null)||_0x54d31c===undefined||_0x54d31c==='')return;const _0x550e7a=this['validateFieldFormat'](_0xd196c0,_0x54d31c,_0x44404d);_0x550e7a&&_0x2c9454[_0x561fb7(0x76)](_0x550e7a);}),_0x2c9454;}[a0_0x26f8fa(0x6c)](_0x5f5995,_0x203667,_0x17c797){const _0x384102=a0_0x26f8fa,_0x1bfef1={'AxnNV':_0x384102(0x70),'WCvrA':'number'};switch(_0x17c797){case _0x384102(0x71):return this['validateEmail'](_0x5f5995,_0x203667);case _0x1bfef1['AxnNV']:return this['validatePhone'](_0x5f5995,_0x203667);case _0x384102(0x78):return this['validateUrl'](_0x5f5995,_0x203667);case _0x1bfef1['WCvrA']:return this[_0x384102(0x7d)](_0x5f5995,_0x203667);default:return null;}}[a0_0x26f8fa(0x72)](_0xd7fbda,_0x4c6f99){const _0x678803={'exnpX':'format'},_0x3aec6d=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x3aec6d['test'](String(_0x4c6f99)))return{'field':_0xd7fbda,'type':_0x678803['exnpX'],'message':'Invalid\x20email\x20format'};return null;}[a0_0x26f8fa(0x6a)](_0x1cbee6,_0x4fd363){const _0x361270=a0_0x26f8fa,_0x2eac23={'rppxe':_0x361270(0x6f)},_0x4e256f=String(_0x4fd363)[_0x361270(0x89)](/\s+/g,''),_0x19baa3=/^[\d\+\-\(\)]+$/;if(!_0x19baa3['test'](_0x4e256f)||_0x4e256f[_0x361270(0x7a)]<0x8)return{'field':_0x1cbee6,'type':_0x2eac23[_0x361270(0x85)],'message':'Invalid\x20phone\x20format'};return null;}[a0_0x26f8fa(0x8b)](_0x30bf3a,_0x1eb52){const _0x1e031c=a0_0x26f8fa,_0x7a7b91={'UXFgw':function(_0x31272d,_0x357448){return _0x31272d(_0x357448);},'Taret':_0x1e031c(0x79)};try{return new URL(_0x7a7b91['UXFgw'](String,_0x1eb52)),null;}catch(_0x3e15a1){return{'field':_0x30bf3a,'type':_0x1e031c(0x6f),'message':_0x7a7b91['Taret']};}}[a0_0x26f8fa(0x7d)](_0x3a1c5e,_0xecb627){const _0x5d6121=a0_0x26f8fa,_0x4decfe={'DszxA':_0x5d6121(0x74)};if(isNaN(_0xecb627))return{'field':_0x3a1c5e,'type':'format','message':_0x4decfe['DszxA']};return null;}['detectDuplicatesInFile'](_0x35050d,_0x10f60c){const _0x1f73de=a0_0x26f8fa,_0x5dd60b=new Map(),_0x199048=[];return _0x35050d[_0x1f73de(0x86)]((_0x59b98d,_0x1cf02f)=>{const _0x237e9d=_0x1f73de,_0x45649f=_0x10f60c['map'](_0x460c6a=>_0x59b98d[_0x460c6a])[_0x237e9d(0x6e)]('|');_0x5dd60b['has'](_0x45649f)?_0x199048['push']({'rowIndex':_0x1cf02f,'duplicateOf':_0x5dd60b['get'](_0x45649f),'key':_0x45649f}):_0x5dd60b[_0x237e9d(0x7c)](_0x45649f,_0x1cf02f);}),_0x199048;}[a0_0x26f8fa(0x84)](_0x20b30d,_0x43a3ac,_0x30faa1){const _0x35d2e1=a0_0x26f8fa,_0x229e91={'PMIEP':'batch_validation_complete','EGnQz':'Batch\x20validation\x20completed'},_0x2812eb=[];return _0x20b30d['forEach']((_0x2dda89,_0x459664)=>{const _0x447a60=a0_0x131d,_0x2e9912=this[_0x447a60(0x8a)](_0x2dda89,_0x43a3ac,_0x30faa1);_0x2e9912[_0x447a60(0x7a)]>0x0&&_0x2812eb[_0x447a60(0x76)]({'rowIndex':_0x459664,'rowData':_0x2dda89,'errors':_0x2e9912});}),logger[_0x35d2e1(0x6b)]({'event':_0x229e91['PMIEP'],'totalRows':_0x20b30d[_0x35d2e1(0x7a)],'errorCount':_0x2812eb[_0x35d2e1(0x7a)]},_0x229e91['EGnQz']),_0x2812eb;}}module['exports']=new ImportValidator();
1
+ const a0_0x149d3b=a0_0x51f4;(function(_0x23bcb1,_0x5104df){const _0x4ac5fd=a0_0x51f4,_0x1fe58a=_0x23bcb1();while(!![]){try{const _0x37d12d=-parseInt(_0x4ac5fd(0x97))/0x1+-parseInt(_0x4ac5fd(0x9f))/0x2*(parseInt(_0x4ac5fd(0xa8))/0x3)+parseInt(_0x4ac5fd(0x99))/0x4*(-parseInt(_0x4ac5fd(0x8c))/0x5)+-parseInt(_0x4ac5fd(0x95))/0x6*(-parseInt(_0x4ac5fd(0x9c))/0x7)+parseInt(_0x4ac5fd(0xab))/0x8+parseInt(_0x4ac5fd(0xa5))/0x9+-parseInt(_0x4ac5fd(0xa2))/0xa*(-parseInt(_0x4ac5fd(0x9d))/0xb);if(_0x37d12d===_0x5104df)break;else _0x1fe58a['push'](_0x1fe58a['shift']());}catch(_0x3274cd){_0x1fe58a['push'](_0x1fe58a['shift']());}}}(a0_0x3c32,0x1dd45));function a0_0x3c32(){const _0x277215=['ndaWotHHC1rSrM8','DMfSAwrHDgvsB3C','BgvUz3rO','mZeWmdeXmgD5r1zQAa','D2TWyum','DxPsCfe','mtGZnJLHvhv3tLy','A2v5CW','BwfW','mJDNwwTqD28','A09ctvC','DM1rrMu','mtC1mtmYohP3ENLmDa','wu53uem','DMfSAwrHDgvfBwfPBa','DMfSAwrHDgvvCMW','uMXMs1y','zgv0zwn0rhvWBgLJyxrLC0LUrMLSzq','DgvZDa','otbxrwDZAuK','ChvZAa','yMf0y2HwywXPzgf0zvjVD3m','AgfZ','CMvWBgfJzq','zM9YBwf0','CgHVBMu','DMfSAwrHDgvqAg9Uzq','BKDLtgG','odiYt2DVsKDV','DLPHv2W','mJaWmJy5B09OEMzu','Cg5vwhi','ndCYndHnqM9Hqve','DMfSAwrHDgvgAwvSzezVCM1HDa','DxjS','otqYovvYy0j6sa','mtf2AKLiywu','BKX6uNC'];a0_0x3c32=function(){return _0x277215;};return a0_0x3c32();}function a0_0x51f4(_0x117089,_0x2c6e98){_0x117089=_0x117089-0x86;const _0x3c321e=a0_0x3c32();let _0x51f468=_0x3c321e[_0x117089];if(a0_0x51f4['DhYnjf']===undefined){var _0x1c999c=function(_0x1b4bf8){const _0x5668b9='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2e47de='',_0x58cb75='';for(let _0xae6306=0x0,_0x39b004,_0x4acdac,_0x12eea5=0x0;_0x4acdac=_0x1b4bf8['charAt'](_0x12eea5++);~_0x4acdac&&(_0x39b004=_0xae6306%0x4?_0x39b004*0x40+_0x4acdac:_0x4acdac,_0xae6306++%0x4)?_0x2e47de+=String['fromCharCode'](0xff&_0x39b004>>(-0x2*_0xae6306&0x6)):0x0){_0x4acdac=_0x5668b9['indexOf'](_0x4acdac);}for(let _0x8b10e0=0x0,_0x111994=_0x2e47de['length'];_0x8b10e0<_0x111994;_0x8b10e0++){_0x58cb75+='%'+('00'+_0x2e47de['charCodeAt'](_0x8b10e0)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x58cb75);};a0_0x51f4['AKOIiS']=_0x1c999c,a0_0x51f4['TDcUPb']={},a0_0x51f4['DhYnjf']=!![];}const _0x52f7c5=_0x3c321e[0x0],_0x468993=_0x117089+_0x52f7c5,_0x15624d=a0_0x51f4['TDcUPb'][_0x468993];return!_0x15624d?(_0x51f468=a0_0x51f4['AKOIiS'](_0x51f468),a0_0x51f4['TDcUPb'][_0x468993]=_0x51f468):_0x51f468=_0x15624d,_0x51f468;}const {logger}=require('./logger');class ImportValidator{['validateRow'](_0x2440d7,_0x370818=[],_0x259d4b={}){const _0x164770=a0_0x51f4,_0x39a4ed={'pnUXr':function(_0x41cb40,_0x3664b7){return _0x41cb40===_0x3664b7;},'vmQFe':function(_0x403b13,_0x1f0e6a){return _0x403b13===_0x1f0e6a;},'yHlYG':'required'},_0x29dc7e=[];return _0x370818['forEach'](_0x357bb0=>{const _0x51e49b=a0_0x51f4,_0x2a16d3=_0x2440d7[_0x357bb0];(_0x39a4ed['pnUXr'](_0x2a16d3,null)||_0x39a4ed[_0x51e49b(0xaa)](_0x2a16d3,undefined)||_0x39a4ed[_0x51e49b(0x98)](_0x2a16d3,''))&&_0x29dc7e[_0x51e49b(0x8d)]({'field':_0x357bb0,'type':_0x39a4ed['yHlYG'],'message':'Required\x20field\x20is\x20empty'});}),Object[_0x164770(0xa6)](_0x259d4b)['forEach'](_0x28323d=>{const _0x2c0f5c=_0x164770,_0x4743df=_0x2440d7[_0x28323d],_0x2741f7=_0x259d4b[_0x28323d];if(_0x4743df===null||_0x4743df===undefined||_0x4743df==='')return;const _0x541717=this['validateFieldFormat'](_0x28323d,_0x4743df,_0x2741f7);_0x541717&&_0x29dc7e[_0x2c0f5c(0x8d)](_0x541717);}),_0x29dc7e;}[a0_0x149d3b(0x9a)](_0x3e38f3,_0x6ab067,_0x369e19){const _0x3aff4f=a0_0x149d3b,_0xf1454f={'RlfKV':'number'};switch(_0x369e19){case'email':return this[_0x3aff4f(0x87)](_0x3e38f3,_0x6ab067);case _0x3aff4f(0x92):return this[_0x3aff4f(0x93)](_0x3e38f3,_0x6ab067);case _0x3aff4f(0x9b):return this[_0x3aff4f(0x88)](_0x3e38f3,_0x6ab067);case _0xf1454f[_0x3aff4f(0x89)]:return this['validateNumber'](_0x3e38f3,_0x6ab067);default:return null;}}['validateEmail'](_0x579334,_0xf0cc82){const _0x5d9e1d=a0_0x149d3b,_0x449018={'uzRpQ':function(_0x205db0,_0x1f8d16){return _0x205db0(_0x1f8d16);},'axREL':'format','riJGf':'Invalid\x20email\x20format'},_0x2f4262=/^[^\s@]+@[^\s@]+\.[^\s@]+$/;if(!_0x2f4262[_0x5d9e1d(0x8b)](_0x449018[_0x5d9e1d(0xa4)](String,_0xf0cc82)))return{'field':_0x579334,'type':_0x449018['axREL'],'message':_0x449018['riJGf']};return null;}['validatePhone'](_0x2bf33d,_0x3232fa){const _0x8cceef=a0_0x149d3b,_0x508cff={'MMptE':function(_0x3fc0c7,_0x500d0e){return _0x3fc0c7(_0x500d0e);},'wkpaC':'Invalid\x20phone\x20format'},_0x2a0468=_0x508cff['MMptE'](String,_0x3232fa)[_0x8cceef(0x90)](/\s+/g,''),_0x1ed2d5=/^[\d\+\-\(\)]+$/;if(!_0x1ed2d5[_0x8cceef(0x8b)](_0x2a0468)||_0x2a0468[_0x8cceef(0xa1)]<0x8)return{'field':_0x2bf33d,'type':_0x8cceef(0x91),'message':_0x508cff[_0x8cceef(0xa3)]};return null;}[a0_0x149d3b(0x88)](_0x361c89,_0x20a970){const _0x1ee743=a0_0x149d3b,_0x23152b={'YNwPC':function(_0x43b55d,_0x555bae){return _0x43b55d(_0x555bae);},'vZaWl':'Invalid\x20URL\x20format'};try{return new URL(_0x23152b[_0x1ee743(0x86)](String,_0x20a970)),null;}catch(_0x1f1ef2){return{'field':_0x361c89,'type':'format','message':_0x23152b[_0x1ee743(0x96)]};}}['validateNumber'](_0x381039,_0x16c750){if(isNaN(_0x16c750))return{'field':_0x381039,'type':'format','message':'Invalid\x20number\x20format'};return null;}[a0_0x149d3b(0x8a)](_0x50dd3c,_0x5537c6){const _0x27bb19=new Map(),_0x4b66da=[];return _0x50dd3c['forEach']((_0x58ad51,_0x5a36e0)=>{const _0x13b6b0=a0_0x51f4,_0x2ab388=_0x5537c6[_0x13b6b0(0xa7)](_0x409850=>_0x58ad51[_0x409850])['join']('|');_0x27bb19[_0x13b6b0(0x8f)](_0x2ab388)?_0x4b66da['push']({'rowIndex':_0x5a36e0,'duplicateOf':_0x27bb19['get'](_0x2ab388),'key':_0x2ab388}):_0x27bb19['set'](_0x2ab388,_0x5a36e0);}),_0x4b66da;}[a0_0x149d3b(0x8e)](_0x320625,_0x4021ec,_0x146476){const _0x1c407c=a0_0x149d3b,_0x2e0695={'nLzRw':function(_0x2dcb76,_0x399d86){return _0x2dcb76>_0x399d86;},'kOBMW':'batch_validation_complete','nGeLh':'Batch\x20validation\x20completed'},_0x4474b2=[];return _0x320625['forEach']((_0x1654fd,_0x14c615)=>{const _0x4ed225=a0_0x51f4,_0x2a5c90=this[_0x4ed225(0xa0)](_0x1654fd,_0x4021ec,_0x146476);_0x2e0695[_0x4ed225(0x9e)](_0x2a5c90[_0x4ed225(0xa1)],0x0)&&_0x4474b2['push']({'rowIndex':_0x14c615,'rowData':_0x1654fd,'errors':_0x2a5c90});}),logger['info']({'event':_0x2e0695[_0x1c407c(0xa9)],'totalRows':_0x320625[_0x1c407c(0xa1)],'errorCount':_0x4474b2[_0x1c407c(0xa1)]},_0x2e0695[_0x1c407c(0x94)]),_0x4474b2;}}module['exports']=new ImportValidator();
@@ -1 +1 @@
1
- const a0_0x37b8ad=a0_0x41e7;function a0_0x1fda(){const _0x17c2d5=['EKTSEg4','rMfPBgvKihrVihvWBg9HzcbPBxbVCNqGzMLSzq','y3jLyxrLq29TBwL0sM9I','rMfPBgvKihrVihbYB2nLC3mGDxbSB2fK','DxbKyxrLx2v4Axn0Aw5N','mtq2otq2ohPyD0H6sW','rMfPBgvKihrVihbHCNnLihvWC2vYDeTLExmSihvZAw5NigrLzMf1Bhq','AM9Ix2LKigLZihjLCxvPCMvK','mtmZntHAwgDduhC','BwvZC2fNzq','CKrXsvu','DMfSAwrHDgLVBNm','C3rHDhvZ','tM8GzMLSzsb1CgXVywrLza','ANnVBG','l2fWAs8','mZGZndq4oxvQBLnuCW','mtbmswrlqM8','AM9PBG','l2LTCg9YDc1WCMv2Awv3','mty2AxLNEMjs','mJmXmtC4mJn3CxLqzMO','AgfUzgXLsw1WB3j0uhjLDMLLDW','DgfIBgvoyw1L','CxvLCNK','mZzOy0jzBfy','DxbZzxj0x2TLExnFCgfYC2vFzxjYB3i','lI4VlI4VDxrPBhmVDxbSB2fKlwHHBMrSzxi','AgfUzgXLsw1WB3j0u3rHDhvZ','AgfUzgXLsw1WB3j0vxbSB2fK','C3vJy2vZCW','Cg9ZDa','yM9KEq','mZu1otC3mfjuBwfmDG','s2jsy0G','zxHJBhvKzuzYB21jBxbVCNq','nJq0odq1AeDTDfHN','otK1nJqYnhvJAK5IyW','ChjLDMLLD19QB2jFAwqGAxmGCMvXDwLYzwq','EvfQCKm','Aw1WB3j0x3vWBg9Hzf9LCNjVCG','zxHWB3j0CW','D3Dzrw0','Aw1WB3j0x3vWBg9Hzf9WCM9JzxnZx2vYCM9Y','z2v0sM9Iu3rHDhvZ','zeHdzfq','DxbZzxj0s2v5CW','zfHZvLa','zMLSzq','lI4VlI4VC2vYDMLJzxmVAw1WB3j0lxnLCNzPy2u'];a0_0x1fda=function(){return _0x17c2d5;};return a0_0x1fda();}(function(_0x3b8dd6,_0x2b52ec){const _0x1b1479=a0_0x41e7,_0x1668eb=_0x3b8dd6();while(!![]){try{const _0x208fb2=-parseInt(_0x1b1479(0xc0))/0x1*(parseInt(_0x1b1479(0xb4))/0x2)+parseInt(_0x1b1479(0xbc))/0x3+parseInt(_0x1b1479(0xc5))/0x4*(-parseInt(_0x1b1479(0x9e))/0x5)+parseInt(_0x1b1479(0xcd))/0x6+-parseInt(_0x1b1479(0xb1))/0x7+-parseInt(_0x1b1479(0x9f))/0x8+parseInt(_0x1b1479(0xc1))/0x9*(parseInt(_0x1b1479(0xbd))/0xa);if(_0x208fb2===_0x2b52ec)break;else _0x1668eb['push'](_0x1668eb['shift']());}catch(_0x478351){_0x1668eb['push'](_0x1668eb['shift']());}}}(a0_0x1fda,0xaeda1));const importService=require(a0_0x37b8ad(0xab)),uploadHandler=require(a0_0x37b8ad(0xc7)),{logger,logError}=require('../../utils/logger');function a0_0x41e7(_0x562097,_0x201014){_0x562097=_0x562097-0x9e;const _0x1fdab4=a0_0x1fda();let _0x41e793=_0x1fdab4[_0x562097];if(a0_0x41e7['AvXFrV']===undefined){var _0x10f480=function(_0x17039d){const _0x32188f='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x489dd1='',_0x158e51='';for(let _0xcc171a=0x0,_0x44597e,_0x4c0e07,_0x5bc08b=0x0;_0x4c0e07=_0x17039d['charAt'](_0x5bc08b++);~_0x4c0e07&&(_0x44597e=_0xcc171a%0x4?_0x44597e*0x40+_0x4c0e07:_0x4c0e07,_0xcc171a++%0x4)?_0x489dd1+=String['fromCharCode'](0xff&_0x44597e>>(-0x2*_0xcc171a&0x6)):0x0){_0x4c0e07=_0x32188f['indexOf'](_0x4c0e07);}for(let _0x201bf3=0x0,_0x432a42=_0x489dd1['length'];_0x201bf3<_0x432a42;_0x201bf3++){_0x158e51+='%'+('00'+_0x489dd1['charCodeAt'](_0x201bf3)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x158e51);};a0_0x41e7['RblHtR']=_0x10f480,a0_0x41e7['DNKZgF']={},a0_0x41e7['AvXFrV']=!![];}const _0x22d1ca=_0x1fdab4[0x0],_0x2d13a9=_0x562097+_0x22d1ca,_0x29f32a=a0_0x41e7['DNKZgF'][_0x2d13a9];return!_0x29f32a?(_0x41e793=a0_0x41e7['RblHtR'](_0x41e793),a0_0x41e7['DNKZgF'][_0x2d13a9]=_0x41e793):_0x41e793=_0x29f32a,_0x41e793;}class ImportHandler{static['registerRoutes'](_0x27d63e,_0x3ea89f,_0x5f080a,_0x2be0ab){const _0x3cd38c=a0_0x37b8ad,_0x1ba50f={'rDqIU':function(_0x13375c,_0x2daf19,_0x1d18fd,_0x4885fb){return _0x13375c(_0x2daf19,_0x1d18fd,_0x4885fb);},'ADHyf':'import_preview_error','wwYEm':'Failed\x20to\x20create\x20preview\x20job','KbRcH':'import_commit_error','LsxsH':'import_status_error'},_0xbb47e4=_0x3cd38c(0xbb)+_0x3ea89f+'/'+_0x5f080a;_0x27d63e['post'](_0xbb47e4+'/import-upload',async(_0x499842,_0x145496)=>{const _0x445571=_0x3cd38c;try{await this[_0x445571(0xc9)](_0x499842,_0x145496,_0x2be0ab,_0x3ea89f,_0x5f080a);}catch(_0x5e97a0){_0x1ba50f[_0x445571(0xb6)](logError,_0x5e97a0,{'event':_0x445571(0xa2)},_0x445571(0xad)),_0x145496['status'](0x1f4)['json']({'success':![],'error':_0x5e97a0['message']});}}),_0x27d63e[_0x3cd38c(0xcb)](_0xbb47e4+_0x3cd38c(0xbf),async(_0x500f81,_0x5654d7)=>{const _0x1f9921=_0x3cd38c;try{await this[_0x1f9921(0xc2)](_0x500f81,_0x5654d7);}catch(_0x429c75){logError(_0x429c75,{'event':_0x1ba50f['ADHyf']},_0x1ba50f[_0x1f9921(0xa4)]),_0x5654d7['status'](0x1f4)['json']({'success':![],'error':_0x429c75['message']});}}),_0x27d63e['post'](_0xbb47e4+'/import-commit',async(_0x198d0a,_0x47c6c1)=>{const _0x48ef3c=_0x3cd38c;try{await this['handleImportCommit'](_0x198d0a,_0x47c6c1);}catch(_0x501607){_0x1ba50f[_0x48ef3c(0xb6)](logError,_0x501607,{'event':_0x1ba50f[_0x48ef3c(0xce)]},'Failed\x20to\x20create\x20commit\x20job'),_0x47c6c1['status'](0x1f4)[_0x48ef3c(0xba)]({'success':![],'error':_0x501607['message']});}}),_0x27d63e['get'](_0xbb47e4+'/import-status',async(_0x564364,_0x10dae8)=>{const _0x50c19d=_0x3cd38c;try{await this[_0x50c19d(0xc8)](_0x564364,_0x10dae8);}catch(_0x5f1673){_0x1ba50f[_0x50c19d(0xb6)](logError,_0x5f1673,{'event':_0x1ba50f['LsxsH']},'Failed\x20to\x20get\x20import\x20status'),_0x10dae8['status'](0x1f4)[_0x50c19d(0xba)]({'success':![],'error':_0x5f1673['message']});}}),logger['info']({'event':'import_routes_registered','module':_0x3ea89f,'endpoint':_0x5f080a,'table':_0x2be0ab['tableName']},'Import\x20routes\x20registered\x20for\x20'+_0x3ea89f+'/'+_0x5f080a);}static async['handleImportUpload'](_0x300b67,_0x53532a,_0x3cad34,_0x5b5c45,_0x575e32){const _0x353908=a0_0x37b8ad,_0xbd4cb6={'dHCdT':_0x353908(0xb0),'RGpFo':function(_0x278a82,_0x1e7e4a){return _0x278a82>_0x1e7e4a;},'iNNlD':_0x353908(0xa5),'zKlxn':_0x353908(0xaf)},_0x4c21ed=uploadHandler['getUploadMiddleware']();_0x4c21ed(_0x300b67,_0x53532a,async _0x2ec5e8=>{const _0x5e4cae=_0x353908;if(_0x2ec5e8)return _0x53532a[_0x5e4cae(0xb8)](0x190)[_0x5e4cae(0xba)]({'success':![],'error':_0x2ec5e8[_0x5e4cae(0xb5)]});if(!_0x300b67[_0x5e4cae(0xaa)])return _0x53532a[_0x5e4cae(0xb8)](0x190)[_0x5e4cae(0xba)]({'success':![],'error':_0x5e4cae(0xb9)});try{const _0x1d541c=_0x300b67['body']['upsertMode']||_0xbd4cb6[_0x5e4cae(0xa7)];let _0x518ae2=_0x3cad34['upsertKeys'];if(_0x300b67['body']['upsertKeys'])try{_0x518ae2=JSON['parse'](_0x300b67[_0x5e4cae(0xcc)][_0x5e4cae(0xa8)]);}catch(_0x2b22e7){logger['warn']({'event':_0x5e4cae(0xc6),'error':_0x2b22e7[_0x5e4cae(0xb5)]},_0x5e4cae(0xb2));}const _0x55ae16=_0x3cad34['fieldName']||[];if(Array['isArray'](_0x518ae2)){const _0x2819c6=_0x518ae2['filter'](_0x4a880f=>!_0x55ae16['includes'](_0x4a880f));if(_0xbd4cb6['RGpFo'](_0x2819c6['length'],0x0))return _0x53532a[_0x5e4cae(0xb8)](0x190)['json']({'success':![],'error':'Invalid\x20upsert\x20keys','message':'Keys\x20not\x20allowed:\x20'+_0x2819c6[_0x5e4cae(0xbe)](',\x20'),'validFields':_0x55ae16});}const _0x156e7e={'moduleName':_0x5b5c45,'endpointName':_0x575e32,'tableName':_0x3cad34[_0x5e4cae(0xc3)],'primaryKey':_0x3cad34['primaryKey'],'fieldName':_0x3cad34['fieldName'],'fieldLabels':_0x3cad34['fieldLabels']||{},'columnFormats':_0x3cad34['columnFormats']||{},'upsertKeys':_0x518ae2,'upsertStrategy':_0x1d541c,'requiredFields':_0x3cad34['requiredFields']||[],'validations':_0x3cad34[_0x5e4cae(0xb7)]||{},'lookupFields':_0x3cad34['lookupFields']||{},'excludeFromImport':_0x3cad34[_0x5e4cae(0xcf)]||[],'chunkSize':_0x3cad34['chunkSize']||0x64},_0x42a946=await importService['uploadFile'](_0x300b67[_0x5e4cae(0xaa)],_0x156e7e);_0x53532a['json']({'success':!![],'data':_0x42a946});}catch(_0x6385f4){logError(_0x6385f4,{'event':_0xbd4cb6['iNNlD']},_0xbd4cb6[_0x5e4cae(0xac)]),_0x53532a[_0x5e4cae(0xb8)](0x1f4)[_0x5e4cae(0xba)]({'success':![],'error':_0x6385f4['message']});}});}static async[a0_0x37b8ad(0xc2)](_0x132c0a,_0x24f93a){const _0x1379a8=a0_0x37b8ad,_0x229f0e={'yQjrC':'upload_id\x20is\x20required'},{upload_id:_0x4572d0}=_0x132c0a[_0x1379a8(0xcc)];if(!_0x4572d0)return _0x24f93a['status'](0x190)['json']({'success':![],'error':_0x229f0e[_0x1379a8(0xa1)]});try{const _0x1e4cb3=await importService['createPreviewJob'](_0x4572d0);_0x24f93a['json']({'success':!![],'data':_0x1e4cb3});}catch(_0xa3d81b){_0x24f93a['status'](0x1f4)['json']({'success':![],'error':_0xa3d81b['message']});}}static async['handleImportCommit'](_0x38d2b6,_0x4e997d){const _0x33b886=a0_0x37b8ad,_0x546d1a={'Dexcx':_0x33b886(0xa0)},{preview_job_id:_0x139bad}=_0x38d2b6[_0x33b886(0xcc)];if(!_0x139bad)return _0x4e997d[_0x33b886(0xb8)](0x190)[_0x33b886(0xba)]({'success':![],'error':_0x546d1a['Dexcx']});try{const _0x3ced7d=await importService[_0x33b886(0xae)](_0x139bad);_0x4e997d[_0x33b886(0xba)]({'success':!![],'data':_0x3ced7d});}catch(_0x22ae48){_0x4e997d[_0x33b886(0xb8)](0x1f4)['json']({'success':![],'error':_0x22ae48['message']});}}static async[a0_0x37b8ad(0xc8)](_0x4ac67a,_0x47705a){const _0x1645c3=a0_0x37b8ad,_0x463470={'dXsVP':_0x1645c3(0xb3)},{job_id:_0x3079c4}=_0x4ac67a[_0x1645c3(0xc4)];if(!_0x3079c4)return _0x47705a[_0x1645c3(0xb8)](0x190)[_0x1645c3(0xba)]({'success':![],'error':_0x463470[_0x1645c3(0xa9)]});try{const _0x57f3ba=await importService[_0x1645c3(0xa6)](_0x3079c4);if(!_0x57f3ba[_0x1645c3(0xca)])return _0x47705a['status'](0x194)['json'](_0x57f3ba);_0x47705a['json'](_0x57f3ba);}catch(_0x4bd9f5){_0x47705a[_0x1645c3(0xb8)](0x1f4)[_0x1645c3(0xba)]({'success':![],'error':_0x4bd9f5['message']});}}}module[a0_0x37b8ad(0xa3)]=ImportHandler;
1
+ function a0_0x321a(){const _0x7ac3c2=['yu9yrK0','rMfPBgvKihrVignYzwf0zsbJB21TAxqGAM9I','mZiWmJC3nM9MquTsrq','sw52ywXPzcb1ChnLCNqGA2v5CW','CMvNAxn0zxjsB3v0zxm','DxbZzxj0x2TLExnFCgfYC2vFzxjYB3i','zMLSDgvY','Aw1WB3j0x3bYzxzPzxDFzxjYB3i','otu2mZqWmffrv2rezW','AgfUzgXLsw1WB3j0q29TBwL0','rMfPBgvKihrVihvWBg9HzcbPBxbVCNqGzMLSzq','mtyZntC4s3Pjvw1h','z2v0sM9Iu3rHDhvZ','Aw1WB3j0x3n0yxr1C19LCNjVCG','otm2nJmWvxvdswPh','DxbSB2fKx2LKigLZihjLCxvPCMvK','otKYmZaWzNHJr09o','AM9Ix2LKigLZihjLCxvPCMvK','DxbZzxj0s2v5CW','rMfPBgvKihrVigDLDcbPBxbVCNqGC3rHDhvZ','sw1WB3j0ihjVDxrLCYbYzwDPC3rLCMvKigzVCIa','v3DIDuC','DxbKyxrLx2v4Axn0Aw5N','C3rHDhvZ','BwvZC2fNzq','ndeXnJDYuLPSC08','CgfYC2u','l2LTCg9YDc11CgXVywq','mtjOte1WEuK','AuHTqMy','yM9KEq','l2LTCg9YDc1WCMv2Awv3','rMfPBgvKihrVihbHCNnLihvWC2vYDeTLExmSihvZAw5NigrLzMf1Bhq','AgfUzgXLsw1WB3j0u3rHDhvZ','zMLLBgrmywjLBhm','Bg9VA3vWrMLLBgrZ','mJq2nZjrwhflvu4','lI4VlI4VC2vYDMLJzxmVAw1WB3j0lxnLCNzPy2u','Aw1WB3j0x3vWBg9Hzf9WCM9JzxnZx2vYCM9Y','Aw5MBW','AgfUzgXLsw1WB3j0vxbSB2fK','l2LTCg9YDc1ZDgf0Dxm','AgfUzgXLsw1WB3j0uhjLDMLLDW','CMvXDwLYzwrgAwvSzhm','zwfMA1O','CxvLCNK','Eg9tB3u','ndvICu1Zs1u','zMLSzq','tgjhEMK','AxnbCNjHEq','ChjLDMLLD19QB2jFAwqGAxmGCMvXDwLYzwq','nZC1wgHZDurR','ANnVBG'];a0_0x321a=function(){return _0x7ac3c2;};return a0_0x321a();}const a0_0x3efce9=a0_0x1fd3;(function(_0x5e6738,_0x4a6ee5){const _0x31bf5d=a0_0x1fd3,_0x23e2c5=_0x5e6738();while(!![]){try{const _0x48c482=-parseInt(_0x31bf5d(0xc3))/0x1+parseInt(_0x31bf5d(0xb7))/0x2+-parseInt(_0x31bf5d(0xc0))/0x3+-parseInt(_0x31bf5d(0xa3))/0x4*(-parseInt(_0x31bf5d(0xb3))/0x5)+parseInt(_0x31bf5d(0x9b))/0x6*(-parseInt(_0x31bf5d(0xce))/0x7)+-parseInt(_0x31bf5d(0xbd))/0x8+parseInt(_0x31bf5d(0xae))/0x9*(parseInt(_0x31bf5d(0xc5))/0xa);if(_0x48c482===_0x4a6ee5)break;else _0x23e2c5['push'](_0x23e2c5['shift']());}catch(_0x201282){_0x23e2c5['push'](_0x23e2c5['shift']());}}}(a0_0x321a,0xd0cc3));function a0_0x1fd3(_0x392d96,_0x28cc9e){_0x392d96=_0x392d96-0x9a;const _0x321a13=a0_0x321a();let _0x1fd330=_0x321a13[_0x392d96];if(a0_0x1fd3['GqEtJW']===undefined){var _0x4b09b9=function(_0x49536e){const _0x30d7dc='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x22ff0b='',_0xadfb3a='';for(let _0x15c7d0=0x0,_0x1114e2,_0x19b695,_0x2e4107=0x0;_0x19b695=_0x49536e['charAt'](_0x2e4107++);~_0x19b695&&(_0x1114e2=_0x15c7d0%0x4?_0x1114e2*0x40+_0x19b695:_0x19b695,_0x15c7d0++%0x4)?_0x22ff0b+=String['fromCharCode'](0xff&_0x1114e2>>(-0x2*_0x15c7d0&0x6)):0x0){_0x19b695=_0x30d7dc['indexOf'](_0x19b695);}for(let _0x5bc39c=0x0,_0x411305=_0x22ff0b['length'];_0x5bc39c<_0x411305;_0x5bc39c++){_0xadfb3a+='%'+('00'+_0x22ff0b['charCodeAt'](_0x5bc39c)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0xadfb3a);};a0_0x1fd3['xHJBTX']=_0x4b09b9,a0_0x1fd3['QBvFbw']={},a0_0x1fd3['GqEtJW']=!![];}const _0x2864d1=_0x321a13[0x0],_0x356818=_0x392d96+_0x2864d1,_0x406fb7=a0_0x1fd3['QBvFbw'][_0x356818];return!_0x406fb7?(_0x1fd330=a0_0x1fd3['xHJBTX'](_0x1fd330),a0_0x1fd3['QBvFbw'][_0x356818]=_0x1fd330):_0x1fd330=_0x406fb7,_0x1fd330;}const importService=require(a0_0x3efce9(0xa4)),uploadHandler=require('../../utils/upload-handler'),{logger,logError}=require('../../utils/logger');class ImportHandler{static[a0_0x3efce9(0xb9)](_0x38bde6,_0x30039a,_0x3ed1de,_0x56d038){const _0x352c0f=a0_0x3efce9,_0x10b6e6={'eafkZ':function(_0x446996,_0x1be9b4,_0x1d60dd,_0x554cf7){return _0x446996(_0x1be9b4,_0x1d60dd,_0x554cf7);},'TrnGJ':function(_0x591c69,_0x2894bf,_0x152f68,_0x1f4571){return _0x591c69(_0x2894bf,_0x152f68,_0x1f4571);},'KnXdK':'Failed\x20to\x20create\x20preview\x20job'},_0x421220='/api/'+_0x30039a+'/'+_0x3ed1de;_0x38bde6['post'](_0x421220+_0x352c0f(0x9a),async(_0x1afd94,_0x467927)=>{const _0x44c5d7=_0x352c0f;try{await this[_0x44c5d7(0xa7)](_0x1afd94,_0x467927,_0x56d038,_0x30039a,_0x3ed1de);}catch(_0x9df87d){_0x10b6e6[_0x44c5d7(0xab)](logError,_0x9df87d,{'event':'import_upload_error'},_0x44c5d7(0xbf)),_0x467927[_0x44c5d7(0xcc)](0x1f4)['json']({'success':![],'error':_0x9df87d['message']});}}),_0x38bde6['post'](_0x421220+_0x352c0f(0x9e),async(_0x3c8f31,_0x104efe)=>{const _0x179c5e=_0x352c0f;try{await this['handleImportPreview'](_0x3c8f31,_0x104efe);}catch(_0x322bde){_0x10b6e6['TrnGJ'](logError,_0x322bde,{'event':_0x179c5e(0xbc)},_0x10b6e6['KnXdK']),_0x104efe[_0x179c5e(0xcc)](0x1f4)['json']({'success':![],'error':_0x322bde[_0x179c5e(0xcd)]});}}),_0x38bde6['post'](_0x421220+'/import-commit',async(_0x2668ef,_0x3e3bbc)=>{const _0x554baf=_0x352c0f;try{await this['handleImportCommit'](_0x2668ef,_0x3e3bbc);}catch(_0x2a3a13){logError(_0x2a3a13,{'event':'import_commit_error'},_0x554baf(0xb6)),_0x3e3bbc[_0x554baf(0xcc)](0x1f4)['json']({'success':![],'error':_0x2a3a13['message']});}}),_0x38bde6['get'](_0x421220+_0x352c0f(0xa8),async(_0x52ba24,_0x3aa9ef)=>{const _0x50afcc=_0x352c0f;try{await this['handleImportStatus'](_0x52ba24,_0x3aa9ef);}catch(_0x309e21){_0x10b6e6['TrnGJ'](logError,_0x309e21,{'event':_0x50afcc(0xc2)},_0x50afcc(0xc8)),_0x3aa9ef['status'](0x1f4)[_0x50afcc(0xb4)]({'success':![],'error':_0x309e21['message']});}}),logger[_0x352c0f(0xa6)]({'event':'import_routes_registered','module':_0x30039a,'endpoint':_0x3ed1de,'table':_0x56d038['tableName']},_0x352c0f(0xc9)+_0x30039a+'/'+_0x3ed1de);}static async['handleImportUpload'](_0x2dd5,_0x4b0bd4,_0x94969d,_0x271d92,_0x5f510d){const _0x47b28f=a0_0x3efce9,_0x37a9dc={'FuEBN':'No\x20file\x20uploaded','vAtUs':_0x47b28f(0xcb),'WwbuG':_0x47b28f(0x9f),'aOXFM':function(_0x2277bd,_0x2f8828){return _0x2277bd>_0x2f8828;},'AjmxT':_0x47b28f(0xb8),'LbGzi':function(_0x5a52ab,_0xf85b46,_0x3c3a57,_0x33a6ca){return _0x5a52ab(_0xf85b46,_0x3c3a57,_0x33a6ca);}},_0x2baaad=uploadHandler['getUploadMiddleware']();_0x2baaad(_0x2dd5,_0x4b0bd4,async _0x47c083=>{const _0x195b01=_0x47b28f;if(_0x47c083)return _0x4b0bd4[_0x195b01(0xcc)](0x190)['json']({'success':![],'error':_0x47c083['message']});if(!_0x2dd5['file'])return _0x4b0bd4['status'](0x190)['json']({'success':![],'error':_0x37a9dc['FuEBN']});try{const _0x3d232c=_0x2dd5['body']['upsertMode']||_0x37a9dc['vAtUs'];let _0x1119de=_0x94969d['upsertKeys'];if(_0x2dd5[_0x195b01(0x9d)]['upsertKeys'])try{_0x1119de=JSON[_0x195b01(0xcf)](_0x2dd5[_0x195b01(0x9d)][_0x195b01(0xc7)]);}catch(_0x23a3a9){logger['warn']({'event':_0x195b01(0xba),'error':_0x23a3a9['message']},_0x37a9dc[_0x195b01(0xca)]);}const _0x345fc9=_0x94969d['fieldName']||[];if(Array[_0x195b01(0xb1)](_0x1119de)){const _0x402fdf=_0x1119de[_0x195b01(0xbb)](_0x2a66e3=>!_0x345fc9['includes'](_0x2a66e3));if(_0x37a9dc[_0x195b01(0xb5)](_0x402fdf['length'],0x0))return _0x4b0bd4['status'](0x190)[_0x195b01(0xb4)]({'success':![],'error':_0x37a9dc['AjmxT'],'message':'Keys\x20not\x20allowed:\x20'+_0x402fdf['join'](',\x20'),'validFields':_0x345fc9});}const _0x3a8c76={'moduleName':_0x271d92,'endpointName':_0x5f510d,'tableName':_0x94969d['tableName'],'primaryKey':_0x94969d['primaryKey'],'fieldName':_0x94969d['fieldName'],'fieldLabels':_0x94969d[_0x195b01(0xa1)]||{},'columnFormats':_0x94969d['columnFormats']||{},'upsertKeys':_0x1119de,'upsertStrategy':_0x3d232c,'requiredFields':_0x94969d[_0x195b01(0xaa)]||[],'validations':_0x94969d['validations']||{},'lookupFields':_0x94969d[_0x195b01(0xa2)]||{},'excludeFromImport':_0x94969d['excludeFromImport']||[],'chunkSize':_0x94969d['chunkSize']||0x64},_0x36a1f0=await importService['uploadFile'](_0x2dd5[_0x195b01(0xaf)],_0x3a8c76);_0x4b0bd4['json']({'success':!![],'data':_0x36a1f0});}catch(_0x52afc6){_0x37a9dc[_0x195b01(0xb0)](logError,_0x52afc6,{'event':_0x195b01(0xa5)},'Failed\x20to\x20process\x20upload'),_0x4b0bd4['status'](0x1f4)['json']({'success':![],'error':_0x52afc6[_0x195b01(0xcd)]});}});}static async[a0_0x3efce9(0xa9)](_0x5dbbd7,_0x28451f){const _0xeecd44=a0_0x3efce9,_0x3157c1={'EqYBK':_0xeecd44(0xc4)},{upload_id:_0x16759f}=_0x5dbbd7['body'];if(!_0x16759f)return _0x28451f[_0xeecd44(0xcc)](0x190)['json']({'success':![],'error':_0x3157c1['EqYBK']});try{const _0x162ffb=await importService['createPreviewJob'](_0x16759f);_0x28451f[_0xeecd44(0xb4)]({'success':!![],'data':_0x162ffb});}catch(_0xed457b){_0x28451f['status'](0x1f4)['json']({'success':![],'error':_0xed457b[_0xeecd44(0xcd)]});}}static async[a0_0x3efce9(0xbe)](_0x40d84f,_0x578735){const _0x25c2af=a0_0x3efce9,_0x546538={'iHmBf':_0x25c2af(0xb2)},{preview_job_id:_0xc70752}=_0x40d84f['body'];if(!_0xc70752)return _0x578735[_0x25c2af(0xcc)](0x190)[_0x25c2af(0xb4)]({'success':![],'error':_0x546538[_0x25c2af(0x9c)]});try{const _0x10d166=await importService['createCommitJob'](_0xc70752);_0x578735[_0x25c2af(0xb4)]({'success':!![],'data':_0x10d166});}catch(_0x24bb48){_0x578735[_0x25c2af(0xcc)](0x1f4)[_0x25c2af(0xb4)]({'success':![],'error':_0x24bb48[_0x25c2af(0xcd)]});}}static async[a0_0x3efce9(0xa0)](_0x1cff27,_0x151242){const _0x1d8a8=a0_0x3efce9,_0x5b8079={'xoSou':_0x1d8a8(0xc6)},{job_id:_0x14510e}=_0x1cff27[_0x1d8a8(0xac)];if(!_0x14510e)return _0x151242['status'](0x190)[_0x1d8a8(0xb4)]({'success':![],'error':_0x5b8079[_0x1d8a8(0xad)]});try{const _0x42bd57=await importService[_0x1d8a8(0xc1)](_0x14510e);if(!_0x42bd57['success'])return _0x151242[_0x1d8a8(0xcc)](0x194)[_0x1d8a8(0xb4)](_0x42bd57);_0x151242[_0x1d8a8(0xb4)](_0x42bd57);}catch(_0x2c05fa){_0x151242['status'](0x1f4)[_0x1d8a8(0xb4)]({'success':![],'error':_0x2c05fa['message']});}}}module['exports']=ImportHandler;
@@ -1 +1 @@
1
- const a0_0x5c3aa3=a0_0x35db;function a0_0x35db(_0x786e62,_0x5e6ef1){_0x786e62=_0x786e62-0xfa;const _0x51f5a3=a0_0x51f5();let _0x35dbdb=_0x51f5a3[_0x786e62];if(a0_0x35db['iZCyqD']===undefined){var _0x46fffd=function(_0x3c5a9e){const _0x219c5b='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x282cb2='',_0x5ae8db='';for(let _0x3dda9b=0x0,_0x3ab8a1,_0x18432c,_0x2c6b7d=0x0;_0x18432c=_0x3c5a9e['charAt'](_0x2c6b7d++);~_0x18432c&&(_0x3ab8a1=_0x3dda9b%0x4?_0x3ab8a1*0x40+_0x18432c:_0x18432c,_0x3dda9b++%0x4)?_0x282cb2+=String['fromCharCode'](0xff&_0x3ab8a1>>(-0x2*_0x3dda9b&0x6)):0x0){_0x18432c=_0x219c5b['indexOf'](_0x18432c);}for(let _0x472a03=0x0,_0x25dffc=_0x282cb2['length'];_0x472a03<_0x25dffc;_0x472a03++){_0x5ae8db+='%'+('00'+_0x282cb2['charCodeAt'](_0x472a03)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x5ae8db);};a0_0x35db['WLTzjR']=_0x46fffd,a0_0x35db['GGMedo']={},a0_0x35db['iZCyqD']=!![];}const _0x2ceae6=_0x51f5a3[0x0],_0xbd893f=_0x786e62+_0x2ceae6,_0x19d172=a0_0x35db['GGMedo'][_0xbd893f];return!_0x19d172?(_0x35dbdb=a0_0x35db['WLTzjR'](_0x35dbdb),a0_0x35db['GGMedo'][_0xbd893f]=_0x35dbdb):_0x35dbdb=_0x19d172,_0x35dbdb;}(function(_0x3153a9,_0x24e3e3){const _0xfdae3d=a0_0x35db,_0x451d60=_0x3153a9();while(!![]){try{const _0x2c77d9=-parseInt(_0xfdae3d(0x108))/0x1+-parseInt(_0xfdae3d(0x109))/0x2+-parseInt(_0xfdae3d(0x100))/0x3+parseInt(_0xfdae3d(0x105))/0x4+parseInt(_0xfdae3d(0x12d))/0x5*(parseInt(_0xfdae3d(0xfd))/0x6)+-parseInt(_0xfdae3d(0xff))/0x7*(parseInt(_0xfdae3d(0x11a))/0x8)+parseInt(_0xfdae3d(0x135))/0x9*(parseInt(_0xfdae3d(0x10f))/0xa);if(_0x2c77d9===_0x24e3e3)break;else _0x451d60['push'](_0x451d60['shift']());}catch(_0x12c8fb){_0x451d60['push'](_0x451d60['shift']());}}}(a0_0x51f5,0xc0f68));function a0_0x51f5(){const _0x1797d2=['tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','BxLZCwW','x2j1AwXKqMf0y2HvCgrHDgvpCMfJBgu','z2v0rgf0ywjHC2vuExbL','EvzXs2G','yNvPBgrfC2nHCgvgDw5JDgLVBG','cIaGicaGifvqrefursa','BwfW','cIaGicaGieLou0vsvcbjtLrpia','vLzbvxe','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','BNvTyMvY','zgf0zq','mti0nuH0z0rRua','zunWEKu','iezst00Grfvbta','yM9VBgvHBG','cIaGicaGicKGDGOGicaGicbptIaO','ksbwquXvrvmGka','laOGicaGicaGica','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHpCMfJBguP','mZuXwgfLCxrI','tLvmta','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','tLvmtdO6refurq','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHnEvnrtcbptIbevvbmsunbveuGs0vzkq','ue9tveDsrvnrta','B3jHy2XL','shHlAhq','C3bqBee','cIaGicaGie1fuKDfieLove8G','tvLtuuW','DhLWzq','Aw5JBhvKzxm','BhPoBMS','t1jbq0Xf','twjHDfy','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','nZm2ohz3t1vfsG','icaGifnftevdvca','mJG4nhHluuLhtq','ndu5mdaWm3rLqw1WrG','oJPeqvrf','qMv2rwK','cIaGica','y0DWDLi','mJmZmJeYAgfxD1jb','uhDstKu','lI9SB2DNzxi','nJiZoti4zvbSDgrL','mtm2nJq5mffArMnpBa','DKzPC1C','D2fYBG','s2Tcs2e','AM9PBG','zwney0m','odm4nJKWz3zxD3DU','yMf0y2HFDxbKyxrLx2j1AwX0','zgvIDwC','yMf0y2HFAw5Zzxj0x2j1AwX0','BgvUz3rO','yNvPBgrcyxrJAfvWzgf0zq','cIaGicaGie9oiervueXjq0fursblrvKGvvbeqvrfia','zM9YBwf0rgf0zvzHBhvL','laOGicaGicaG','cLnftevdvcaXiezst00Grfvbta','Cg9ZDgDYzxnXBa','mtq0yuPIC1jp','ve9FrefursG','qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','cIaGicaGicKGqvmGDIG','id0GDI4','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa'];a0_0x51f5=function(){return _0x1797d2;};return a0_0x51f5();}const {logger}=require(a0_0x5c3aa3(0x107)),DB_TYPES={'POSTGRESQL':'postgresql','MYSQL':a0_0x5c3aa3(0x121),'SQLSERVER':'sqlserver','ORACLE':'oracle','SQLITE':'sqlite'};class UpsertBuilder{['getDatabaseType'](){const _0x3462b4=a0_0x5c3aa3,_0x3fedd3={'fpNkp':'invalid_db_type'},_0x235132=(process['env']['DB_TYPE']||'postgresql')['toLowerCase'](),_0x2ccb81=Object['values'](DB_TYPES);if(!_0x2ccb81['includes'](_0x235132))return logger['warn']({'event':_0x3fedd3['fpNkp'],'provided':_0x235132,'fallback':_0x3462b4(0x119)},'Invalid\x20DB_TYPE:\x20'+_0x235132+'.\x20Falling\x20back\x20to\x20postgresql.'),DB_TYPES['POSTGRESQL'];return _0x235132;}['formatDateValue'](_0xfd15a7,_0x148445,_0x4d933a=![]){const _0x4f214e=a0_0x5c3aa3,_0x4f0ab1={'zTzWF':_0x4f214e(0x138),'uffMY':'NULL'};if(_0x4d933a)switch(_0x148445){case DB_TYPES[_0x4f214e(0x13b)]:return _0x4f0ab1['zTzWF'];case DB_TYPES[_0x4f214e(0x140)]:return _0x4f214e(0x136);case DB_TYPES['SQLITE']:return _0x4f214e(0x136);case DB_TYPES['SQLSERVER']:return _0x4f0ab1['uffMY'];case DB_TYPES[_0x4f214e(0xfa)]:return'NULL';default:return'NULL::DATE';}switch(_0x148445){case DB_TYPES[_0x4f214e(0x13b)]:return _0xfd15a7+'::DATE';case DB_TYPES['MYSQL']:return _0xfd15a7;case DB_TYPES['SQLITE']:return _0xfd15a7;case DB_TYPES['SQLSERVER']:return'CAST('+_0xfd15a7+'\x20AS\x20DATE)';case DB_TYPES[_0x4f214e(0xfa)]:return _0x4f214e(0x11b)+_0xfd15a7+',\x20\x27YYYY-MM-DD\x27)';default:return _0xfd15a7+_0x4f214e(0x101);}}[a0_0x5c3aa3(0x125)](_0x5c0270={}){const _0x59f0f0=a0_0x5c3aa3,_0x6bfde9={'VVAUq':_0x59f0f0(0x136),'oxJHB':'string','MbatV':function(_0x591ed2,_0x39d91f){return _0x591ed2===_0x39d91f;},'BevEi':'date','PwRNE':_0x59f0f0(0x12b),'gKRyM':function(_0x37b89b,_0x39b3b6){return _0x37b89b(_0x39b3b6);}},_0x440e5e=this[_0x59f0f0(0x123)]();return(_0x214ab8,_0xdb6a2d)=>{const _0xfa0e16=_0x59f0f0,_0x21edd7=_0x5c0270[_0xdb6a2d];if(_0x214ab8===null||_0x214ab8===undefined){if(_0x21edd7&&_0x21edd7['type']===_0xfa0e16(0x12c))return this['formatDateValue'](null,_0x440e5e,!![]);return _0x6bfde9[_0xfa0e16(0x129)];}if(typeof _0x214ab8===_0x6bfde9['oxJHB']){const _0x48612b='\x27'+_0x214ab8['replace'](/'/g,'\x27\x27')+'\x27';if(_0x21edd7&&_0x6bfde9['MbatV'](_0x21edd7['type'],_0x6bfde9[_0xfa0e16(0x102)]))return this['formatDateValue'](_0x48612b,_0x440e5e,![]);return _0x48612b;}if(_0x6bfde9['MbatV'](typeof _0x214ab8,_0x6bfde9[_0xfa0e16(0x106)]))return _0x214ab8;if(_0x6bfde9['MbatV'](typeof _0x214ab8,_0xfa0e16(0x130)))return _0x214ab8;const _0xe79752='\x27'+_0x6bfde9['gKRyM'](String,_0x214ab8)['replace'](/'/g,'\x27\x27')+'\x27';if(_0x21edd7&&_0x6bfde9[_0xfa0e16(0xfb)](_0x21edd7[_0xfa0e16(0x141)],_0x6bfde9['BevEi']))return this[_0xfa0e16(0x116)](_0xe79752,_0x440e5e,![]);return _0xe79752;};}['buildBatchInsert'](_0x1b66a2,_0x21ad94,_0xdce7cc,_0x5f1c71={}){const _0xb5ad7=a0_0x5c3aa3,_0x2c7b7a=this[_0xb5ad7(0x123)]();if(_0x2c7b7a===DB_TYPES[_0xb5ad7(0xfa)])return this[_0xb5ad7(0xfc)](_0x1b66a2,_0x21ad94,_0xdce7cc,_0x5f1c71);return this['_buildBatchInsertPostgres'](_0x1b66a2,_0x21ad94,_0xdce7cc,_0x5f1c71);}[a0_0x5c3aa3(0x139)](_0x68fe1d,_0x2a0e5b,_0x19321f,_0xa81cb6={}){const _0x569997=a0_0x5c3aa3,_0x25d1bc={'cGpvR':_0x569997(0x117),'rxcoL':_0x569997(0x112),'HxKht':'postgresql'};if(_0x68fe1d[_0x569997(0x113)]===0x0)return{'query':null,'values':[]};const _0x847bf2=this['buildEscapeFunction'](_0xa81cb6),_0x1a6b86=_0x68fe1d[_0x569997(0x127)](_0x307680=>{const _0x4bf4b0=_0x569997,_0x4fbf13=_0x19321f['map'](_0xa22ca9=>_0x847bf2(_0x307680[_0xa22ca9],_0xa22ca9));return'('+_0x4fbf13[_0x4bf4b0(0x10d)](',\x20')+')';}),_0x502197=_0x569997(0x128)+_0x2a0e5b+'\x20('+_0x19321f[_0x569997(0x10d)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x1a6b86[_0x569997(0x10d)](_0x25d1bc[_0x569997(0x104)])+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x25d1bc['rxcoL'],'tableName':_0x2a0e5b,'rowCount':_0x68fe1d['length'],'dbType':_0x25d1bc[_0x569997(0x13d)]},'Batch\x20INSERT\x20query\x20built\x20(PostgreSQL)'),{'query':_0x502197,'values':[]};}[a0_0x5c3aa3(0xfc)](_0x9069e6,_0x346525,_0x5a6f94,_0x4bf0be={}){const _0x3394cc=a0_0x5c3aa3,_0x19d6a9={'DFiSg':_0x3394cc(0x134)};if(_0x9069e6[_0x3394cc(0x113)]===0x0)return{'query':null,'values':[]};const _0xc30ba9=this['buildEscapeFunction'](_0x4bf0be),_0x5d7e0b=_0x9069e6['map'](_0x2e14d1=>{const _0x3dfac4=_0x3394cc,_0x56f23b=_0x5a6f94[_0x3dfac4(0x127)](_0x1d7738=>_0xc30ba9(_0x2e14d1[_0x1d7738],_0x1d7738));return'\x20\x20INTO\x20'+_0x346525+'\x20('+_0x5a6f94[_0x3dfac4(0x10d)](',\x20')+_0x3dfac4(0x132)+_0x56f23b[_0x3dfac4(0x10d)](',\x20')+')';}),_0x5a8a6b='INSERT\x20ALL\x0a'+_0x5d7e0b['join']('\x0a')+_0x3394cc(0x118);return logger['debug']({'event':_0x3394cc(0x112),'tableName':_0x346525,'rowCount':_0x9069e6[_0x3394cc(0x113)],'dbType':'oracle'},_0x19d6a9['DFiSg']),{'query':_0x5a8a6b,'values':[]};}[a0_0x5c3aa3(0x114)](_0xb3e4e,_0x2ca9bb,_0x464a9d,_0x1359d5,_0x33d1ff,_0xb138bc={}){const _0x3a9251=a0_0x5c3aa3,_0x6601c3={'vFisW':function(_0x546a92,_0x45f8d5){return _0x546a92===_0x45f8d5;}},_0xc7aa93=this[_0x3a9251(0x123)]();if(_0x6601c3['vFisW'](_0xc7aa93,DB_TYPES['ORACLE']))return this['_buildBatchUpdateOracle'](_0xb3e4e,_0x2ca9bb,_0x464a9d,_0x1359d5,_0x33d1ff,_0xb138bc);if(_0x6601c3[_0x3a9251(0x10a)](_0xc7aa93,DB_TYPES['MYSQL']))return this[_0x3a9251(0x11f)](_0xb3e4e,_0x2ca9bb,_0x464a9d,_0x1359d5,_0x33d1ff,_0xb138bc);return this['_buildBatchUpdatePostgres'](_0xb3e4e,_0x2ca9bb,_0x464a9d,_0x1359d5,_0x33d1ff,_0xb138bc);}[a0_0x5c3aa3(0x12a)](_0x53ea38,_0x5ab648,_0x4b8a8d,_0x2ca692,_0x33ae91,_0x1d20d8={}){const _0x435179=a0_0x5c3aa3,_0x48039b={'lzNnk':'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)','hlJyb':'\x20AND\x20','uNpde':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20','ecDcC':_0x435179(0x11c)};if(_0x53ea38['length']===0x0)return{'query':null,'values':[]};const _0x2ca742=this['buildEscapeFunction'](_0x1d20d8),_0x23f94b=_0x4b8a8d['filter'](_0xe227ca=>!_0x33ae91[_0x435179(0x142)](_0xe227ca)&&_0xe227ca!==_0x2ca692);if(_0x23f94b['length']===0x0)return logger['warn']({'event':_0x435179(0x137),'tableName':_0x5ab648},_0x48039b[_0x435179(0x143)]),{'query':null,'values':[]};const _0x236476=_0x53ea38['map'](_0x1a2d01=>{const _0x50e80f=[..._0x33ae91,..._0x23f94b],_0x45eb0c=_0x50e80f['map'](_0x4e09c2=>_0x2ca742(_0x1a2d01[_0x4e09c2],_0x4e09c2));return'('+_0x45eb0c['join'](',\x20')+')';}),_0x502966=_0x23f94b[_0x435179(0x127)](_0xe9e383=>_0xe9e383+_0x435179(0x11e)+_0xe9e383)['join'](_0x435179(0x133)),_0x1e5916=_0x33ae91[_0x435179(0x127)](_0x2201b7=>'t.'+_0x2201b7+_0x435179(0x11e)+_0x2201b7)[_0x435179(0x10d)](_0x48039b['hlJyb']),_0x34a31a=_0x435179(0x126)+_0x5ab648+'\x20AS\x20t\x0a\x20\x20\x20\x20\x20\x20SET\x20'+_0x502966+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20(VALUES\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x236476['join'](_0x48039b['uNpde'])+_0x435179(0x11d)+[..._0x33ae91,..._0x23f94b][_0x435179(0x10d)](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x1e5916+_0x435179(0x103);return logger['debug']({'event':_0x435179(0x110),'tableName':_0x5ab648,'rowCount':_0x53ea38['length'],'updateColumns':_0x23f94b[_0x435179(0x113)],'dbType':'postgresql'},_0x48039b[_0x435179(0x10e)]),{'query':_0x34a31a,'values':[]};}[a0_0x5c3aa3(0x122)](_0x1b63bb,_0xce193d,_0x45399c,_0x37f835,_0x3fc6d3,_0x2dcbe0={}){const _0x210dd2=a0_0x5c3aa3,_0x2ef259={'QfOhG':_0x210dd2(0x137),'spPlA':_0x210dd2(0x120),'ZJJrV':'\x0a\x20\x20\x20\x20UNION\x20ALL\x0a'};if(_0x1b63bb[_0x210dd2(0x113)]===0x0)return{'query':null,'values':[]};const _0x1443b4=this[_0x210dd2(0x125)](_0x2dcbe0),_0x5af677=_0x45399c['filter'](_0x14e189=>!_0x3fc6d3[_0x210dd2(0x142)](_0x14e189)&&_0x14e189!==_0x37f835);if(_0x5af677[_0x210dd2(0x113)]===0x0)return logger[_0x210dd2(0x10b)]({'event':_0x2ef259['QfOhG'],'tableName':_0xce193d},_0x2ef259[_0x210dd2(0x13e)]),{'query':null,'values':[]};const _0x27c497=[..._0x3fc6d3,..._0x5af677],_0x487617=_0x1b63bb[_0x210dd2(0x127)]((_0x561060,_0x350148)=>{const _0x4714f7=_0x210dd2,_0x48f376={'eCpzE':function(_0x34313e,_0x5c1c50){return _0x34313e===_0x5c1c50;}},_0x33dea4=_0x27c497[_0x4714f7(0x127)](_0x4d409b=>{const _0x3c9d5a=_0x4714f7,_0x228592=_0x1443b4(_0x561060[_0x4d409b],_0x4d409b);return _0x48f376[_0x3c9d5a(0x12e)](_0x350148,0x0)?_0x228592+'\x20AS\x20'+_0x4d409b:_0x228592;});return _0x4714f7(0xfe)+_0x33dea4[_0x4714f7(0x10d)](',\x20')+_0x4714f7(0x12f);}),_0x2538c5=_0x5af677['map'](_0x41a4ed=>'t.'+_0x41a4ed+'\x20=\x20v.'+_0x41a4ed)['join'](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20'),_0x19bbcb=_0x3fc6d3[_0x210dd2(0x127)](_0x87307d=>'t.'+_0x87307d+_0x210dd2(0x11e)+_0x87307d)['join']('\x20AND\x20'),_0x12ead6=_0x210dd2(0x13f)+_0xce193d+'\x20t\x0a\x20\x20\x20\x20\x20\x20USING\x20(\x0a'+_0x487617['join'](_0x2ef259['ZJJrV'])+_0x210dd2(0x131)+_0x19bbcb+')\x0a\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x20'+_0x2538c5+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':'batch_update_built','tableName':_0xce193d,'rowCount':_0x1b63bb['length'],'updateColumns':_0x5af677[_0x210dd2(0x113)],'dbType':_0x210dd2(0x13c)},'Batch\x20UPDATE\x20query\x20built\x20(Oracle\x20MERGE)'),{'query':_0x12ead6,'values':[]};}['_buildBatchUpdateMysql'](_0x1bdfe3,_0x2be611,_0x2f469e,_0x1c63ef,_0xcc4db9,_0x274d9b={}){const _0x1425e4=a0_0x5c3aa3,_0x1c4593={'yVqKh':function(_0x32361a,_0x73329c){return _0x32361a===_0x73329c;},'KkBKa':_0x1425e4(0x137),'xrjrz':_0x1425e4(0x133),'mlILJ':'mysql'};if(_0x1bdfe3[_0x1425e4(0x113)]===0x0)return{'query':null,'values':[]};const _0x1f45ea=this['buildEscapeFunction'](_0x274d9b),_0x293d8c=_0x2f469e['filter'](_0x2757b9=>!_0xcc4db9['includes'](_0x2757b9)&&_0x2757b9!==_0x1c63ef);if(_0x1c4593[_0x1425e4(0x124)](_0x293d8c['length'],0x0))return logger['warn']({'event':_0x1c4593[_0x1425e4(0x10c)],'tableName':_0x2be611},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x2dddd2=[...new Set([..._0xcc4db9,..._0x293d8c])],_0x1c2e0b=_0x1bdfe3['map'](_0x4bb645=>{const _0xa7946f=_0x2dddd2['map'](_0x1f1d26=>_0x1f45ea(_0x4bb645[_0x1f1d26],_0x1f1d26));return'('+_0xa7946f['join'](',\x20')+')';}),_0x6b93c8=_0x293d8c[_0x1425e4(0x127)](_0x18c5c3=>_0x18c5c3+'\x20=\x20VALUES('+_0x18c5c3+')')['join'](_0x1c4593['xrjrz']),_0x4e8ddb='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x2be611+'\x20('+_0x2dddd2['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20VALUES\x20'+_0x1c2e0b['join'](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20')+_0x1425e4(0x115)+_0x6b93c8+_0x1425e4(0x103);return logger[_0x1425e4(0x111)]({'event':_0x1425e4(0x110),'tableName':_0x2be611,'rowCount':_0x1bdfe3['length'],'updateColumns':_0x293d8c['length'],'dbType':_0x1c4593['mlILJ']},_0x1425e4(0x13a)),{'query':_0x4e8ddb,'values':[]};}['chunkRows'](_0x3ef30c,_0x1b8b4e=0x64){const _0x2bfa96={'HhWAC':function(_0x17a5cd,_0x5bdf34){return _0x17a5cd<_0x5bdf34;}},_0x423f82=[];for(let _0x2c8bcf=0x0;_0x2bfa96['HhWAC'](_0x2c8bcf,_0x3ef30c['length']);_0x2c8bcf+=_0x1b8b4e){_0x423f82['push'](_0x3ef30c['slice'](_0x2c8bcf,_0x2c8bcf+_0x1b8b4e));}return _0x423f82;}}module['exports']=new UpsertBuilder();
1
+ function a0_0x4023(_0x248e9d,_0x2802dc){_0x248e9d=_0x248e9d-0x16e;const _0x4c5dc3=a0_0x4c5d();let _0x4023b9=_0x4c5dc3[_0x248e9d];if(a0_0x4023['lEMOIv']===undefined){var _0x4f2a1b=function(_0x1344a9){const _0x2018d4='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x3f483b='',_0x1a2aa9='';for(let _0x212432=0x0,_0x30ed8d,_0x584726,_0x44c10a=0x0;_0x584726=_0x1344a9['charAt'](_0x44c10a++);~_0x584726&&(_0x30ed8d=_0x212432%0x4?_0x30ed8d*0x40+_0x584726:_0x584726,_0x212432++%0x4)?_0x3f483b+=String['fromCharCode'](0xff&_0x30ed8d>>(-0x2*_0x212432&0x6)):0x0){_0x584726=_0x2018d4['indexOf'](_0x584726);}for(let _0x5f37e6=0x0,_0x50d435=_0x3f483b['length'];_0x5f37e6<_0x50d435;_0x5f37e6++){_0x1a2aa9+='%'+('00'+_0x3f483b['charCodeAt'](_0x5f37e6)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x1a2aa9);};a0_0x4023['lxhcLm']=_0x4f2a1b,a0_0x4023['zLcXjG']={},a0_0x4023['lEMOIv']=!![];}const _0x585ced=_0x4c5dc3[0x0],_0x35d3cc=_0x248e9d+_0x585ced,_0xf40659=a0_0x4023['zLcXjG'][_0x35d3cc];return!_0xf40659?(_0x4023b9=a0_0x4023['lxhcLm'](_0x4023b9),a0_0x4023['zLcXjG'][_0x35d3cc]=_0x4023b9):_0x4023b9=_0xf40659,_0x4023b9;}const a0_0x3d57f3=a0_0x4023;(function(_0x4b5fad,_0x2d7254){const _0x2a324a=a0_0x4023,_0x46f3ec=_0x4b5fad();while(!![]){try{const _0x167225=parseInt(_0x2a324a(0x199))/0x1+-parseInt(_0x2a324a(0x1b5))/0x2+parseInt(_0x2a324a(0x184))/0x3+parseInt(_0x2a324a(0x185))/0x4*(-parseInt(_0x2a324a(0x1a4))/0x5)+-parseInt(_0x2a324a(0x183))/0x6+-parseInt(_0x2a324a(0x1a8))/0x7*(-parseInt(_0x2a324a(0x195))/0x8)+parseInt(_0x2a324a(0x18d))/0x9;if(_0x167225===_0x2d7254)break;else _0x46f3ec['push'](_0x46f3ec['shift']());}catch(_0x140505){_0x46f3ec['push'](_0x46f3ec['shift']());}}}(a0_0x4c5d,0x8129d));function a0_0x4c5d(){const _0x2e7581=['qMf0y2GGvvbeqvrfihf1zxj5igj1AwX0icHnEvnrtcbptIbevvbmsunbveuGs0vzkq','ue9tveDsrvnrta','zxHWB3j0CW','q1fly3C','x2j1AwXKqMf0y2HvCgrHDgvnExnXBa','ve9FrefursG','Aw5JBhvKzxm','mtmYode2D21SEu9g','Bu1Hu0G','kqOGicaGicbwquXvrvmG','wLb0Cuu','otq5mta5t2Dovgno','laOGicaGicaGica','B3jHy2XL','yNvPBgrcyxrJAfvWzgf0zq','tM8Gy29SDw1UCYb0BYb1CgrHDguGkgfSBcbJB2X1Bw5ZigfYzsb1ChnLCNqGA2v5CYbVCIbWCMLTyxj5igTLEsK','r0ffvMi','ieftia','yMf0y2HFAw5Zzxj0x2j1AwX0','laOGicaGicaG','ksbwquXvrvmGka','zw52','ntCZntq1z3LbtMPn','tLvmtdO6refurq','tfvxtMC','ieforca','mtG5vMPRC0zJ','BwfW','CMvWBgfJzq','ChvZAa','iezst00Grfvbta','cIaGicaGicKGqvmGDIG','cIaGicaGieLou0vsvcbjtLrpia','yNvPBgrfC2nHCgvgDw5JDgLVBG','u1fmu0vsvKvs','D2fYBG','icaGifnftevdvca','zgvIDwC','AM9PBG','otKZodG4tuXmD2Dq','yMf0y2HFDxbKyxrLx25Vx2nVBhvTBNm','C3fSC2vYDMvY','su5trvjuiefmtaO','x2j1AwXKqMf0y2HvCgrHDgvqB3n0z3jLCW','x2j1AwXKqMf0y2HjBNnLCNrpCMfJBgu','BwnQDxC','vKPNyLO','cIaGicaGie9oiervueXjq0fursblrvKGvvbeqvrfia','x2j1AwXKqMf0y2HjBNnLCNrqB3n0z3jLCW','zM9YBwf0rgf0zvzHBhvL','Cg9ZDgDYzxnXBa','DhLWzq','z2PLuxe','BgvUz3rO','tvLtuuW','zMLSDgvY','tLvmta','cIaGica','cIaGicbvtKLptIbbteWk','ieftierbveuP','cLnftevdvcaXiezst00Grfvbta','ndKYnZKZogHLqLLSyq','mti2odq1n2LvEeTHvG','mZz3wvHTB3y','qMf0y2GGsu5trvjuihf1zxj5igj1AwX0icHqB3n0z3jLu1fmkq','id0GDI4','zgf0zq','z2v0rgf0ywjHC2vuExbL','q0ftvcG','oJPeqvrf','tNDfqNG','otuZnty3mwXrD3Dqsq'];a0_0x4c5d=function(){return _0x2e7581;};return a0_0x4c5d();}const {logger}=require('./logger'),DB_TYPES={'POSTGRESQL':'postgresql','MYSQL':'mysql','SQLSERVER':a0_0x3d57f3(0x16f),'ORACLE':a0_0x3d57f3(0x19b),'SQLITE':'sqlite'};class UpsertBuilder{['getDatabaseType'](){const _0x25eb0f=a0_0x3d57f3,_0x2b56f1=(process[_0x25eb0f(0x1a3)]['DB_TYPE']||'postgresql')['toLowerCase'](),_0x3eb3ac=Object['values'](DB_TYPES);if(!_0x3eb3ac[_0x25eb0f(0x194)](_0x2b56f1))return logger[_0x25eb0f(0x1b1)]({'event':'invalid_db_type','provided':_0x2b56f1,'fallback':'postgresql'},'Invalid\x20DB_TYPE:\x20'+_0x2b56f1+'.\x20Falling\x20back\x20to\x20postgresql.'),DB_TYPES[_0x25eb0f(0x18f)];return _0x2b56f1;}['formatDateValue'](_0x1465c9,_0x11a8ef,_0x47a33e=![]){const _0x222ae5=a0_0x3d57f3,_0x3dab48={'mcjuw':'NULL','gjeQq':_0x222ae5(0x1a5)};if(_0x47a33e)switch(_0x11a8ef){case DB_TYPES['POSTGRESQL']:return'NULL::DATE';case DB_TYPES['MYSQL']:return _0x3dab48[_0x222ae5(0x173)];case DB_TYPES['SQLITE']:return'NULL';case DB_TYPES['SQLSERVER']:return'NULL';case DB_TYPES['ORACLE']:return _0x3dab48['mcjuw'];default:return _0x3dab48[_0x222ae5(0x17a)];}switch(_0x11a8ef){case DB_TYPES[_0x222ae5(0x18f)]:return _0x1465c9+_0x222ae5(0x18b);case DB_TYPES['MYSQL']:return _0x1465c9;case DB_TYPES['SQLITE']:return _0x1465c9;case DB_TYPES[_0x222ae5(0x1b0)]:return _0x222ae5(0x18a)+_0x1465c9+_0x222ae5(0x181);case DB_TYPES['ORACLE']:return _0x222ae5(0x193)+_0x1465c9+',\x20\x27YYYY-MM-DD\x27)';default:return _0x1465c9+_0x222ae5(0x18b);}}['buildEscapeFunction'](_0x1af0de={}){const _0x1dc084=a0_0x3d57f3,_0x575589={'CQKcw':function(_0x3566ca,_0x3b6ede){return _0x3566ca===_0x3b6ede;},'wnmiE':'string','eCSaf':_0x1dc084(0x188),'BhSlM':'number'},_0x28e54b=this['getDatabaseType']();return(_0x6a4da5,_0x1dfdd6)=>{const _0x2ed3e8=_0x1dc084,_0x3b9a99=_0x1af0de[_0x1dfdd6];if(_0x6a4da5===null||_0x575589[_0x2ed3e8(0x191)](_0x6a4da5,undefined)){if(_0x3b9a99&&_0x3b9a99[_0x2ed3e8(0x179)]==='date')return this['formatDateValue'](null,_0x28e54b,!![]);return _0x2ed3e8(0x17e);}if(_0x575589[_0x2ed3e8(0x191)](typeof _0x6a4da5,_0x575589['wnmiE'])){const _0x3dbffd='\x27'+_0x6a4da5[_0x2ed3e8(0x1aa)](/'/g,'\x27\x27')+'\x27';if(_0x3b9a99&&_0x3b9a99[_0x2ed3e8(0x179)]===_0x575589['eCSaf'])return this['formatDateValue'](_0x3dbffd,_0x28e54b,![]);return _0x3dbffd;}if(typeof _0x6a4da5===_0x575589['BhSlM'])return _0x6a4da5;if(typeof _0x6a4da5==='boolean')return _0x6a4da5;const _0x3eaf34='\x27'+String(_0x6a4da5)['replace'](/'/g,'\x27\x27')+'\x27';if(_0x3b9a99&&_0x3b9a99[_0x2ed3e8(0x179)]==='date')return this[_0x2ed3e8(0x177)](_0x3eaf34,_0x28e54b,![]);return _0x3eaf34;};}['buildBatchInsert'](_0x200e51,_0x55f80c,_0x38a66e,_0x5a5ec6={}){const _0x12bb0e=a0_0x3d57f3,_0x45c7b3={'ncxoU':function(_0x2ebb72,_0x2edf1a){return _0x2ebb72===_0x2edf1a;}},_0x381f07=this['getDatabaseType']();if(_0x45c7b3['ncxoU'](_0x381f07,DB_TYPES['ORACLE']))return this['_buildBatchInsertOracle'](_0x200e51,_0x55f80c,_0x38a66e,_0x5a5ec6);return this[_0x12bb0e(0x176)](_0x200e51,_0x55f80c,_0x38a66e,_0x5a5ec6);}['_buildBatchInsertPostgres'](_0x3d196b,_0x4f14ce,_0x211e12,_0x5d81d6={}){const _0x5c85fb=a0_0x3d57f3,_0x3c980b={'LUWNg':_0x5c85fb(0x1a0)};if(_0x3d196b[_0x5c85fb(0x17b)]===0x0)return{'query':null,'values':[]};const _0x150717=this['buildEscapeFunction'](_0x5d81d6),_0x321077=_0x3d196b['map'](_0x2b81a1=>{const _0x1942da=_0x211e12['map'](_0x300a4e=>_0x150717(_0x2b81a1[_0x300a4e],_0x300a4e));return'('+_0x1942da['join'](',\x20')+')';}),_0x4541bf=_0x5c85fb(0x1ae)+_0x4f14ce+'\x20('+_0x211e12[_0x5c85fb(0x1b4)](',\x20')+_0x5c85fb(0x197)+_0x321077[_0x5c85fb(0x1b4)](_0x5c85fb(0x1a1))+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':_0x3c980b[_0x5c85fb(0x1a6)],'tableName':_0x4f14ce,'rowCount':_0x3d196b['length'],'dbType':_0x5c85fb(0x178)},_0x5c85fb(0x186)),{'query':_0x4541bf,'values':[]};}[a0_0x3d57f3(0x172)](_0x285cf6,_0x301a2c,_0x27a271,_0x107dce={}){const _0x2b85d0=a0_0x3d57f3,_0x2fd387={'Nnnth':'batch_insert_built'};if(_0x285cf6['length']===0x0)return{'query':null,'values':[]};const _0x54e270=this[_0x2b85d0(0x1af)](_0x107dce),_0x3c2160=_0x285cf6['map'](_0xf32755=>{const _0x398216=_0x2b85d0,_0x2ca514=_0x27a271[_0x398216(0x1a9)](_0x125c75=>_0x54e270(_0xf32755[_0x125c75],_0x125c75));return'\x20\x20INTO\x20'+_0x301a2c+'\x20('+_0x27a271['join'](',\x20')+_0x398216(0x1a2)+_0x2ca514[_0x398216(0x1b4)](',\x20')+')';}),_0x54a9f6=_0x2b85d0(0x170)+_0x3c2160[_0x2b85d0(0x1b4)]('\x0a')+_0x2b85d0(0x182);return logger['debug']({'event':_0x2fd387['Nnnth'],'tableName':_0x301a2c,'rowCount':_0x285cf6['length'],'dbType':_0x2b85d0(0x19b)},'Batch\x20INSERT\x20query\x20built\x20(Oracle)'),{'query':_0x54a9f6,'values':[]};}[a0_0x3d57f3(0x19c)](_0x3a07d8,_0x516572,_0x4bba30,_0x1aa2f4,_0x2a9182,_0x1fde4f={}){const _0xef4314=a0_0x3d57f3,_0x56d81c={'OSNjG':function(_0x36665c,_0x4b5e2d){return _0x36665c===_0x4b5e2d;}},_0xdcea8f=this[_0xef4314(0x189)]();if(_0x56d81c['OSNjG'](_0xdcea8f,DB_TYPES['ORACLE']))return this['_buildBatchUpdateOracle'](_0x3a07d8,_0x516572,_0x4bba30,_0x1aa2f4,_0x2a9182,_0x1fde4f);if(_0xdcea8f===DB_TYPES[_0xef4314(0x17c)])return this[_0xef4314(0x192)](_0x3a07d8,_0x516572,_0x4bba30,_0x1aa2f4,_0x2a9182,_0x1fde4f);return this['_buildBatchUpdatePostgres'](_0x3a07d8,_0x516572,_0x4bba30,_0x1aa2f4,_0x2a9182,_0x1fde4f);}[a0_0x3d57f3(0x171)](_0x4e0c3c,_0x55cc57,_0x5b76b7,_0x2d3ca1,_0x1c895c,_0x255591={}){const _0x16c143=a0_0x3d57f3,_0x2479b5={'NwEBx':_0x16c143(0x16e),'NImkg':_0x16c143(0x1a7),'FjTih':'Batch\x20UPDATE\x20query\x20built\x20(PostgreSQL)'};if(_0x4e0c3c['length']===0x0)return{'query':null,'values':[]};const _0x428f4a=this[_0x16c143(0x1af)](_0x255591),_0x53ca5d=_0x5b76b7['filter'](_0x4aad85=>!_0x1c895c['includes'](_0x4aad85)&&_0x4aad85!==_0x2d3ca1);if(_0x53ca5d['length']===0x0)return logger['warn']({'event':_0x2479b5[_0x16c143(0x18c)],'tableName':_0x55cc57},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x494deb=_0x4e0c3c['map'](_0x17494d=>{const _0x120674=[..._0x1c895c,..._0x53ca5d],_0x2e6acd=_0x120674['map'](_0xf6b394=>_0x428f4a(_0x17494d[_0xf6b394],_0xf6b394));return'('+_0x2e6acd['join'](',\x20')+')';}),_0x59695a=_0x53ca5d['map'](_0xd5abdd=>_0xd5abdd+_0x16c143(0x187)+_0xd5abdd)['join'](_0x16c143(0x19a)),_0x265eb5=_0x1c895c[_0x16c143(0x1a9)](_0x24725a=>'t.'+_0x24725a+'\x20=\x20v.'+_0x24725a)['join'](_0x2479b5['NImkg']),_0x2cc363='\x0a\x20\x20\x20\x20\x20\x20UPDATE\x20'+_0x55cc57+'\x20AS\x20t\x0a\x20\x20\x20\x20\x20\x20SET\x20'+_0x59695a+'\x0a\x20\x20\x20\x20\x20\x20FROM\x20(VALUES\x0a\x20\x20\x20\x20\x20\x20\x20\x20'+_0x494deb['join'](',\x0a\x20\x20\x20\x20\x20\x20\x20\x20')+_0x16c143(0x1ad)+[..._0x1c895c,..._0x53ca5d]['join'](',\x20')+')\x0a\x20\x20\x20\x20\x20\x20WHERE\x20'+_0x265eb5+_0x16c143(0x17f);return logger[_0x16c143(0x1b3)]({'event':'batch_update_built','tableName':_0x55cc57,'rowCount':_0x4e0c3c['length'],'updateColumns':_0x53ca5d[_0x16c143(0x17b)],'dbType':'postgresql'},_0x2479b5['FjTih']),{'query':_0x2cc363,'values':[]};}['_buildBatchUpdateOracle'](_0xec8e7f,_0x3d7c0a,_0x3e97e4,_0x5aacb9,_0x175fca,_0x31456d={}){const _0x103bbe=a0_0x3d57f3,_0x2cbfac={'SPIgK':function(_0x4bb9fe,_0xe7670e){return _0x4bb9fe===_0xe7670e;},'mMaSH':_0x103bbe(0x19d),'ZPtqE':'\x20AND\x20','iiDlJ':_0x103bbe(0x180)};if(_0xec8e7f[_0x103bbe(0x17b)]===0x0)return{'query':null,'values':[]};const _0x56a91f=this['buildEscapeFunction'](_0x31456d),_0x13298b=_0x3e97e4[_0x103bbe(0x17d)](_0x3408cd=>!_0x175fca['includes'](_0x3408cd)&&_0x3408cd!==_0x5aacb9);if(_0x2cbfac['SPIgK'](_0x13298b[_0x103bbe(0x17b)],0x0))return logger['warn']({'event':_0x103bbe(0x16e),'tableName':_0x3d7c0a},_0x2cbfac[_0x103bbe(0x196)]),{'query':null,'values':[]};const _0x271528=[..._0x175fca,..._0x13298b],_0x2d71d0=_0xec8e7f[_0x103bbe(0x1a9)]((_0x53508b,_0x4f9c98)=>{const _0x142d5d=_0x103bbe,_0x1b2834=_0x271528['map'](_0x479c6e=>{const _0x41761b=a0_0x4023,_0x40a7eb=_0x56a91f(_0x53508b[_0x479c6e],_0x479c6e);return _0x4f9c98===0x0?_0x40a7eb+_0x41761b(0x19f)+_0x479c6e:_0x40a7eb;});return _0x142d5d(0x1b2)+_0x1b2834['join'](',\x20')+_0x142d5d(0x1ac);}),_0x101584=_0x13298b['map'](_0x371682=>'t.'+_0x371682+'\x20=\x20v.'+_0x371682)[_0x103bbe(0x1b4)](_0x103bbe(0x19a)),_0x54b39b=_0x175fca[_0x103bbe(0x1a9)](_0x57df50=>'t.'+_0x57df50+_0x103bbe(0x187)+_0x57df50)[_0x103bbe(0x1b4)](_0x2cbfac[_0x103bbe(0x198)]),_0x273110='\x0a\x20\x20\x20\x20\x20\x20MERGE\x20INTO\x20'+_0x3d7c0a+'\x20t\x0a\x20\x20\x20\x20\x20\x20USING\x20(\x0a'+_0x2d71d0['join'](_0x2cbfac['iiDlJ'])+'\x0a\x20\x20\x20\x20\x20\x20)\x20v\x0a\x20\x20\x20\x20\x20\x20ON\x20('+_0x54b39b+')\x0a\x20\x20\x20\x20\x20\x20WHEN\x20MATCHED\x20THEN\x20UPDATE\x20SET\x20'+_0x101584+'\x0a\x20\x20\x20\x20';return logger[_0x103bbe(0x1b3)]({'event':'batch_update_built','tableName':_0x3d7c0a,'rowCount':_0xec8e7f[_0x103bbe(0x17b)],'updateColumns':_0x13298b['length'],'dbType':_0x103bbe(0x19b)},'Batch\x20UPDATE\x20query\x20built\x20(Oracle\x20MERGE)'),{'query':_0x273110,'values':[]};}[a0_0x3d57f3(0x192)](_0x48fe1c,_0x5ea411,_0x1aee24,_0x29c4a6,_0x49b5c2,_0x48a67c={}){const _0x17291b=a0_0x3d57f3,_0x23bf76={'GAEVb':function(_0x318cc6,_0x1853e8){return _0x318cc6===_0x1853e8;},'OFcRa':'batch_update_no_columns','xodzK':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20','SyYuC':',\x0a\x20\x20\x20\x20\x20\x20\x20\x20','VJgbZ':_0x17291b(0x18e)};if(_0x48fe1c[_0x17291b(0x17b)]===0x0)return{'query':null,'values':[]};const _0x3618d5=this[_0x17291b(0x1af)](_0x48a67c),_0x5e9120=_0x1aee24[_0x17291b(0x17d)](_0x4aad7d=>!_0x49b5c2['includes'](_0x4aad7d)&&_0x4aad7d!==_0x29c4a6);if(_0x23bf76[_0x17291b(0x19e)](_0x5e9120[_0x17291b(0x17b)],0x0))return logger[_0x17291b(0x1b1)]({'event':_0x23bf76['OFcRa'],'tableName':_0x5ea411},'No\x20columns\x20to\x20update\x20(all\x20columns\x20are\x20upsert\x20keys\x20or\x20primary\x20key)'),{'query':null,'values':[]};const _0x37ee0f=[...new Set([..._0x49b5c2,..._0x5e9120])],_0x25e08f=_0x48fe1c['map'](_0x11d1f7=>{const _0x437e54=_0x17291b,_0x7c6ce6=_0x37ee0f[_0x437e54(0x1a9)](_0x539560=>_0x3618d5(_0x11d1f7[_0x539560],_0x539560));return'('+_0x7c6ce6['join'](',\x20')+')';}),_0x16fd43=_0x5e9120[_0x17291b(0x1a9)](_0x531058=>_0x531058+'\x20=\x20VALUES('+_0x531058+')')['join'](_0x23bf76['xodzK']),_0x5ad5ee='\x0a\x20\x20\x20\x20\x20\x20INSERT\x20INTO\x20'+_0x5ea411+'\x20('+_0x37ee0f[_0x17291b(0x1b4)](',\x20')+_0x17291b(0x197)+_0x25e08f[_0x17291b(0x1b4)](_0x23bf76['SyYuC'])+_0x17291b(0x175)+_0x16fd43+'\x0a\x20\x20\x20\x20';return logger['debug']({'event':'batch_update_built','tableName':_0x5ea411,'rowCount':_0x48fe1c[_0x17291b(0x17b)],'updateColumns':_0x5e9120[_0x17291b(0x17b)],'dbType':'mysql'},_0x23bf76[_0x17291b(0x174)]),{'query':_0x5ad5ee,'values':[]};}['chunkRows'](_0x2e6f14,_0x51bf06=0x64){const _0x3c5253=a0_0x3d57f3,_0x51ada3=[];for(let _0x17b3a1=0x0;_0x17b3a1<_0x2e6f14[_0x3c5253(0x17b)];_0x17b3a1+=_0x51bf06){_0x51ada3[_0x3c5253(0x1ab)](_0x2e6f14['slice'](_0x17b3a1,_0x17b3a1+_0x51bf06));}return _0x51ada3;}}module[a0_0x3d57f3(0x190)]=new UpsertBuilder();
@@ -1 +1 @@
1
- function a0_0x4ddb(_0x2a2a3e,_0x4839de){_0x2a2a3e=_0x2a2a3e-0xc8;const _0x387bdd=a0_0x387b();let _0x4ddb44=_0x387bdd[_0x2a2a3e];if(a0_0x4ddb['ZURaiD']===undefined){var _0x37e6de=function(_0x2c9840){const _0x3c8c26='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x4264a2='',_0x31b0e7='';for(let _0x4220ca=0x0,_0x206a27,_0x51d22a,_0x43275b=0x0;_0x51d22a=_0x2c9840['charAt'](_0x43275b++);~_0x51d22a&&(_0x206a27=_0x4220ca%0x4?_0x206a27*0x40+_0x51d22a:_0x51d22a,_0x4220ca++%0x4)?_0x4264a2+=String['fromCharCode'](0xff&_0x206a27>>(-0x2*_0x4220ca&0x6)):0x0){_0x51d22a=_0x3c8c26['indexOf'](_0x51d22a);}for(let _0x2e132f=0x0,_0x18d7f0=_0x4264a2['length'];_0x2e132f<_0x18d7f0;_0x2e132f++){_0x31b0e7+='%'+('00'+_0x4264a2['charCodeAt'](_0x2e132f)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x31b0e7);};a0_0x4ddb['JKvlvG']=_0x37e6de,a0_0x4ddb['fmprvU']={},a0_0x4ddb['ZURaiD']=!![];}const _0x2f278c=_0x387bdd[0x0],_0x1df653=_0x2a2a3e+_0x2f278c,_0x32cb52=a0_0x4ddb['fmprvU'][_0x1df653];return!_0x32cb52?(_0x4ddb44=a0_0x4ddb['JKvlvG'](_0x4ddb44),a0_0x4ddb['fmprvU'][_0x1df653]=_0x4ddb44):_0x4ddb44=_0x32cb52,_0x4ddb44;}(function(_0x9be72e,_0x25ca21){const _0x8d16cc=a0_0x4ddb,_0x1f59b9=_0x9be72e();while(!![]){try{const _0x17f61c=-parseInt(_0x8d16cc(0xf2))/0x1+-parseInt(_0x8d16cc(0x113))/0x2*(parseInt(_0x8d16cc(0xfc))/0x3)+-parseInt(_0x8d16cc(0x108))/0x4*(-parseInt(_0x8d16cc(0x106))/0x5)+-parseInt(_0x8d16cc(0xc8))/0x6+-parseInt(_0x8d16cc(0xcf))/0x7*(parseInt(_0x8d16cc(0xf3))/0x8)+-parseInt(_0x8d16cc(0xfb))/0x9+-parseInt(_0x8d16cc(0xcb))/0xa*(-parseInt(_0x8d16cc(0xfa))/0xb);if(_0x17f61c===_0x25ca21)break;else _0x1f59b9['push'](_0x1f59b9['shift']());}catch(_0x272a27){_0x1f59b9['push'](_0x1f59b9['shift']());}}}(a0_0x387b,0xbfcd4));const express=require('express'),{logger}=require('../../utils/logger'),{createResponse,createError}=require('../../utils/processor-response'),redisClient=require('../../utils/redis-client'),ERROR_CODE_HTTP_MAP={'IDGEN_DISABLED':0x1f7,'IDGEN_INVALID_RESOURCE':0x190,'IDGEN_INVALID_MODE':0x190,'IDGEN_INVALID_FORMAT':0x190,'IDGEN_INVALID_NUM_DIGITS':0x190,'IDGEN_INVALID_PREFIX':0x190,'IDGEN_INVALID_SEPARATOR':0x190,'IDGEN_INVALID_NUMBER':0x190,'IDGEN_INVALID_PATTERN':0x190,'IDGEN_INVALID_DIGITS':0x190,'IDGEN_INVALID_TTL':0x190,'IDGEN_INVALID_MAX_RETRY':0x190,'IDGEN_INVALID_TOKEN':0x190,'IDGEN_INVALID_RESERVE_TTL':0x190,'IDGEN_RESERVATION_NOT_FOUND':0x194,'IDGEN_COUNTER_OVERFLOW':0x1a6,'IDGEN_LOCK_TIMEOUT':0x199,'IDGEN_RESET_NOT_ALLOWED':0x193,'IDGEN_UNIQUE_RETRY_EXHAUSTED':0x199,'IDGEN_REDIS_ERROR':0x1f4};function createIdgenRoutes(){const _0x123a55=a0_0x4ddb,_0x2458ef={'JEMYz':function(_0x59f2fa,_0x50bb58){return _0x59f2fa(_0x50bb58);},'aFElB':function(_0x5e6110,_0x36a76d,_0xe93b5f,_0x39e921){return _0x5e6110(_0x36a76d,_0xe93b5f,_0x39e921);},'BXHbY':function(_0x427b39,_0x5830d1,_0x4c35f4,_0xc7521e){return _0x427b39(_0x5830d1,_0x4c35f4,_0xc7521e);},'QJvrS':function(_0x27b54f){return _0x27b54f();},'QRffm':function(_0xf5cbb,_0x431a80,_0x515308,_0x33a9c2){return _0xf5cbb(_0x431a80,_0x515308,_0x33a9c2);},'GqJLn':function(_0xb53cab,_0x81227e){return _0xb53cab(_0x81227e);},'LZQFl':_0x123a55(0xf7),'uvkQu':_0x123a55(0xeb),'iRDvN':function(_0x492377,_0x24b909,_0x697fe7,_0x2b2958){return _0x492377(_0x24b909,_0x697fe7,_0x2b2958);},'TiDGr':function(_0xe52caf,_0x3242a7){return _0xe52caf(_0x3242a7);},'Bwbja':function(_0x314902){return _0x314902();},'QDjXo':function(_0x28f086,_0x58939b,_0x4b4ca6,_0x4f4873){return _0x28f086(_0x58939b,_0x4b4ca6,_0x4f4873);},'mJZWd':'Reservation\x20extended','zZQTa':_0x123a55(0x10f),'fCAUk':function(_0x105457,_0x2a0946,_0x201c5e,_0x5ccac7){return _0x105457(_0x2a0946,_0x201c5e,_0x5ccac7);},'tFJde':'idgen_route_serial_error','wWvyo':function(_0x16a5af,_0x591f7a){return _0x16a5af(_0x591f7a);},'WNJJz':function(_0x2e5070){return _0x2e5070();},'IaowJ':_0x123a55(0xf9),'vsgef':function(_0x338a53,_0x1c0732,_0x3ebd32,_0x1b752e){return _0x338a53(_0x1c0732,_0x3ebd32,_0x1b752e);},'pTCIs':_0x123a55(0xfe),'ifEXW':'number','ODErZ':function(_0x58042f,_0xe89fa5,_0x439a25,_0x10873f){return _0x58042f(_0xe89fa5,_0x439a25,_0x10873f);},'tiKWU':_0x123a55(0xff),'ndKOE':_0x123a55(0x110),'sZfIJ':function(_0x185a29,_0x517385,_0x1a3019,_0x27adaf){return _0x185a29(_0x517385,_0x1a3019,_0x27adaf);},'fObwJ':_0x123a55(0xd5),'SGEPp':'ID\x20Generator\x20service\x20is\x20healthy','Knljy':function(_0x1cff4d,_0x3df7fe,_0x34d409,_0x34c385){return _0x1cff4d(_0x3df7fe,_0x34d409,_0x34c385);},'KAALz':_0x123a55(0xdf),'SMVbI':_0x123a55(0x111),'GHRZx':_0x123a55(0xca),'UdtkQ':'/reserve/cancel','TPtZN':_0x123a55(0xdb),'sVoes':'/pin','IymQO':_0x123a55(0x104),'oGPTf':'/code','HswDR':_0x123a55(0xda),'fcACj':_0x123a55(0xd6)},_0x5659c4=express['Router']();let _0x2df59d=null;function _0x30d593(){return!_0x2df59d&&(_0x2df59d=_0x2458ef['JEMYz'](require,'../../utils/id-generator')),_0x2df59d;}function _0x1a9322(_0x35c4b0,_0x16c771,_0x123eab){const _0x5a44a0=_0x123a55;if(_0x16c771&&_0x16c771['name']===_0x5a44a0(0xc9)){const _0x2fd738=ERROR_CODE_HTTP_MAP[_0x16c771[_0x5a44a0(0xf5)]]||0x1f4;return logger['warn']({'event':_0x123eab,'code':_0x16c771['code'],'message':_0x16c771[_0x5a44a0(0xf6)]},_0x5a44a0(0xf0)+_0x16c771[_0x5a44a0(0xf5)]),_0x35c4b0['status'](_0x2fd738)[_0x5a44a0(0xd8)](_0x2458ef['aFElB'](createError,_0x2fd738,_0x16c771['message'],{'code':_0x16c771['code'],'details':_0x16c771['details']||null}));}return logger['error']({'event':_0x123eab,'error':_0x16c771&&_0x16c771['message'],'stack':_0x16c771&&_0x16c771['stack']},'ID\x20Generator\x20route\x20exception:\x20'+(_0x16c771&&_0x16c771[_0x5a44a0(0xf6)])),_0x35c4b0[_0x5a44a0(0xe7)](0x1f4)['json'](_0x2458ef[_0x5a44a0(0x109)](createError,0x1f4,_0x5a44a0(0xdc),null));}function _0x4ed5a1(_0x4fcf79){const _0x42b579=_0x123a55;return _0x4fcf79[_0x42b579(0x105)](_0x42b579(0x100))||undefined;}return _0x5659c4['post']('/number',async(_0xe5f77b,_0xe0073a)=>{const _0x13cf2d=_0x123a55;try{const {resource:_0x478dab,format:_0x3a6563,prefix:_0x35e905,separator:_0xef4250,numDigits:_0x381a77,reuseDelete:_0x45b8dc}=_0xe5f77b[_0x13cf2d(0xf1)]||{},_0x142d47=_0x4ed5a1(_0xe5f77b),_0x2fdfa1=_0x2458ef[_0x13cf2d(0xe0)](_0x30d593),_0x37cc97=await _0x2fdfa1[_0x13cf2d(0xd2)]({'resource':_0x478dab,'format':_0x3a6563,'prefix':_0x35e905,'separator':_0xef4250,'numDigits':_0x381a77,'reuseDelete':_0x45b8dc,'idempotencyKey':_0x142d47});return _0xe0073a['status'](0xc9)[_0x13cf2d(0xd8)](_0x2458ef[_0x13cf2d(0x10c)](createResponse,0xc9,_0x13cf2d(0xf4),_0x37cc97));}catch(_0x234532){return _0x1a9322(_0xe0073a,_0x234532,'idgen_route_number_error');}}),_0x5659c4['post'](_0x2458ef[_0x123a55(0xd3)],async(_0x3c046d,_0x4e1a63)=>{const _0xbd512c=_0x123a55;try{const _0x458626=_0x2458ef['GqJLn'](_0x4ed5a1,_0x3c046d),_0x5dbe06={..._0x3c046d[_0xbd512c(0xf1)]||{},'idempotencyKey':_0x458626},_0x89c1a1=_0x30d593(),_0x6cd1fa=await _0x89c1a1[_0xbd512c(0xce)](_0x5dbe06);return _0x4e1a63['status'](0xc8)['json'](createResponse(0xc8,_0x2458ef[_0xbd512c(0xe1)],_0x6cd1fa));}catch(_0x1ad128){return _0x1a9322(_0x4e1a63,_0x1ad128,_0x2458ef['uvkQu']);}}),_0x5659c4['post']('/reserve',async(_0x5b9471,_0x32d30c)=>{const _0x5b41e0=_0x123a55;try{const {resource:_0x32f9ad,format:_0x20b6c3,prefix:_0x29a10a,separator:_0x1af77a,numDigits:_0x531f76,reuseDelete:_0x57caa5,ttl:_0x3b1f7f}=_0x5b9471[_0x5b41e0(0xf1)]||{},_0x706347=_0x4ed5a1(_0x5b9471),_0x4fc7b9=_0x30d593(),_0xcd3d29=await _0x4fc7b9[_0x5b41e0(0xd1)]({'resource':_0x32f9ad,'format':_0x20b6c3,'prefix':_0x29a10a,'separator':_0x1af77a,'numDigits':_0x531f76,'reuseDelete':_0x57caa5,'ttl':_0x3b1f7f,'idempotencyKey':_0x706347});return _0x32d30c[_0x5b41e0(0xe7)](0xc9)['json'](createResponse(0xc9,'Number\x20reserved\x20successfully',_0xcd3d29));}catch(_0x34d670){return _0x2458ef[_0x5b41e0(0x10d)](_0x1a9322,_0x32d30c,_0x34d670,_0x5b41e0(0xcc));}}),_0x5659c4[_0x123a55(0xe9)](_0x2458ef[_0x123a55(0x103)],async(_0xd0aa5f,_0x206e41)=>{const _0x370f80=_0x123a55;try{const {token:_0x33cc03}=_0xd0aa5f[_0x370f80(0xf1)]||{},_0x1527c4=_0x2458ef['TiDGr'](_0x4ed5a1,_0xd0aa5f),_0x380b66=_0x2458ef['Bwbja'](_0x30d593),_0x24360c=await _0x380b66['confirmReservation']({'token':_0x33cc03,'idempotencyKey':_0x1527c4});return _0x206e41['status'](0xc8)['json'](createResponse(0xc8,'Reservation\x20confirmed',_0x24360c));}catch(_0x1ccff6){return _0x1a9322(_0x206e41,_0x1ccff6,_0x370f80(0xcd));}}),_0x5659c4['post'](_0x2458ef[_0x123a55(0xe4)],async(_0x4d59a3,_0x1e59c3)=>{const _0x1f423a=_0x123a55;try{const {token:_0x4fbd28}=_0x4d59a3[_0x1f423a(0xf1)]||{},_0x2103fa=_0x2458ef['JEMYz'](_0x4ed5a1,_0x4d59a3),_0xc3fa4=_0x30d593(),_0x162e5e=await _0xc3fa4['cancelReservation']({'token':_0x4fbd28,'idempotencyKey':_0x2103fa});return _0x1e59c3['status'](0xc8)['json'](_0x2458ef['QDjXo'](createResponse,0xc8,'Reservation\x20cancelled',_0x162e5e));}catch(_0x104fc4){return _0x1a9322(_0x1e59c3,_0x104fc4,'idgen_route_reserve_cancel_error');}}),_0x5659c4[_0x123a55(0xe9)](_0x2458ef[_0x123a55(0xef)],async(_0x4a6c16,_0x1c9a33)=>{const _0x357b38=_0x123a55;try{const {token:_0x1cfb13,ttl:_0x5418d9}=_0x4a6c16['body']||{},_0x34e39a=_0x4ed5a1(_0x4a6c16),_0x4aadc1=_0x2458ef[_0x357b38(0xf8)](_0x30d593),_0x162243=await _0x4aadc1['extendReservation']({'token':_0x1cfb13,'ttl':_0x5418d9,'idempotencyKey':_0x34e39a});return _0x1c9a33['status'](0xc8)[_0x357b38(0xd8)](createResponse(0xc8,_0x2458ef[_0x357b38(0x10b)],_0x162243));}catch(_0x56f538){return _0x2458ef[_0x357b38(0x10c)](_0x1a9322,_0x1c9a33,_0x56f538,'idgen_route_reserve_extend_error');}}),_0x5659c4['get']('/reserve/:token',async(_0x45425d,_0x3a907d)=>{const _0x471121=_0x123a55;try{const {token:_0x391f73}=_0x45425d[_0x471121(0xd0)],_0x731724=_0x30d593(),_0x5e4277=await _0x731724['getReservation']({'token':_0x391f73});return _0x3a907d[_0x471121(0xe7)](0xc8)['json'](_0x2458ef['aFElB'](createResponse,0xc8,'Reservation\x20retrieved',_0x5e4277));}catch(_0x126ec5){return _0x1a9322(_0x3a907d,_0x126ec5,_0x2458ef[_0x471121(0xd7)]);}}),_0x5659c4[_0x123a55(0xe9)](_0x2458ef[_0x123a55(0x107)],async(_0x593016,_0x10cc2c)=>{const _0x4070cc=_0x123a55;try{const {resource:_0x487a0a,digits:_0x338ef6,ensureUnique:_0x1306bc,ttl:_0x316b64,maxRetry:_0xc76e}=_0x593016['body']||{},_0x5b6a18=_0x2458ef['JEMYz'](_0x4ed5a1,_0x593016),_0x5b17ee=_0x30d593(),_0x4c4f2d=await _0x5b17ee['pin']({'resource':_0x487a0a,'digits':_0x338ef6,'ensureUnique':_0x1306bc,'ttl':_0x316b64,'maxRetry':_0xc76e,'idempotencyKey':_0x5b6a18});return _0x10cc2c['status'](0xc9)[_0x4070cc(0xd8)](_0x2458ef[_0x4070cc(0x10d)](createResponse,0xc9,'PIN\x20generated\x20successfully',_0x4c4f2d));}catch(_0x52d5f3){return _0x2458ef['fCAUk'](_0x1a9322,_0x10cc2c,_0x52d5f3,'idgen_route_pin_error');}}),_0x5659c4[_0x123a55(0xe9)](_0x2458ef['IymQO'],async(_0x2daa5e,_0x4db7c4)=>{const _0x3fba39=_0x123a55;try{const {resource:_0x2bc925,pattern:_0x53f009,ensureUnique:_0x3b1a3b,ttl:_0x54558b,maxRetry:_0x290298}=_0x2daa5e['body']||{},_0x2fa7a0=_0x2458ef[_0x3fba39(0xe8)](_0x4ed5a1,_0x2daa5e),_0x56449=_0x30d593(),_0xb9961c=await _0x56449['serial']({'resource':_0x2bc925,'pattern':_0x53f009,'ensureUnique':_0x3b1a3b,'ttl':_0x54558b,'maxRetry':_0x290298,'idempotencyKey':_0x2fa7a0});return _0x4db7c4['status'](0xc9)[_0x3fba39(0xd8)](_0x2458ef['QDjXo'](createResponse,0xc9,_0x3fba39(0xde),_0xb9961c));}catch(_0x5be1f7){return _0x2458ef['fCAUk'](_0x1a9322,_0x4db7c4,_0x5be1f7,_0x2458ef[_0x3fba39(0xd4)]);}}),_0x5659c4[_0x123a55(0xe9)](_0x2458ef[_0x123a55(0xed)],async(_0x58f245,_0x4372f8)=>{const _0x4b3566=_0x123a55;try{const {resource:_0x105b77,pattern:_0x24e858,ensureUnique:_0x127718,ttl:_0xad62da,maxRetry:_0x3ffba2}=_0x58f245[_0x4b3566(0xf1)]||{},_0x57f076=_0x2458ef['wWvyo'](_0x4ed5a1,_0x58f245),_0x7608e6=_0x30d593(),_0x341624=await _0x7608e6['code']({'resource':_0x105b77,'pattern':_0x24e858,'ensureUnique':_0x127718,'ttl':_0xad62da,'maxRetry':_0x3ffba2,'idempotencyKey':_0x57f076});return _0x4372f8[_0x4b3566(0xe7)](0xc9)['json'](_0x2458ef['iRDvN'](createResponse,0xc9,'Code\x20generated\x20successfully',_0x341624));}catch(_0x5568ad){return _0x1a9322(_0x4372f8,_0x5568ad,'idgen_route_code_error');}}),_0x5659c4[_0x123a55(0xe9)]('/random',async(_0x5490a9,_0x42265)=>{const _0x1422d8=_0x123a55;try{const {resource:_0x52048d,pattern:_0x545be1,ensureUnique:_0x15dd9f,ttl:_0x47b8fd,maxRetry:_0x3b17b7}=_0x5490a9['body']||{},_0x4c0420=_0x2458ef['TiDGr'](_0x4ed5a1,_0x5490a9),_0x201d82=_0x2458ef['WNJJz'](_0x30d593),_0x89eebc=await _0x201d82['random']({'resource':_0x52048d,'pattern':_0x545be1,'ensureUnique':_0x15dd9f,'ttl':_0x47b8fd,'maxRetry':_0x3b17b7,'idempotencyKey':_0x4c0420});return _0x42265['status'](0xc9)[_0x1422d8(0xd8)](_0x2458ef['fCAUk'](createResponse,0xc9,_0x2458ef['IaowJ'],_0x89eebc));}catch(_0x2b3614){return _0x2458ef[_0x1422d8(0x101)](_0x1a9322,_0x42265,_0x2b3614,_0x1422d8(0xea));}}),_0x5659c4[_0x123a55(0xe9)](_0x2458ef['HswDR'],async(_0x51b530,_0x5a4934)=>{const _0xa221e9=_0x123a55;try{const {resource:_0x4cf657,value:_0x5b8e0b}=_0x51b530['body']||{},_0x589a4f=_0x2458ef['QJvrS'](_0x30d593),_0x13a125=await _0x589a4f['consume']({'resource':_0x4cf657,'value':_0x5b8e0b});return _0x5a4934[_0xa221e9(0xe7)](0xc8)['json'](createResponse(0xc8,_0xa221e9(0x10e),_0x13a125));}catch(_0x236bda){return _0x1a9322(_0x5a4934,_0x236bda,_0x2458ef['pTCIs']);}}),_0x5659c4[_0x123a55(0xec)]('/info/:resource',async(_0x26508c,_0x544d36)=>{const _0x402505=_0x123a55;try{const {resource:_0x2bcb9e}=_0x26508c[_0x402505(0xd0)],{mode:_0x245e19,format:_0x30cf6c,prefix:_0x3bb12}=_0x26508c['query'],_0xa53d16=_0x30d593(),_0x57392a=await _0xa53d16['getInfo']({'resource':_0x2bcb9e,'mode':_0x245e19||_0x2458ef[_0x402505(0xd9)],'format':_0x30cf6c,'prefix':_0x3bb12});return _0x544d36[_0x402505(0xe7)](0xc8)[_0x402505(0xd8)](_0x2458ef[_0x402505(0xe3)](createResponse,0xc8,'Resource\x20info\x20retrieved',_0x57392a));}catch(_0x1d96e9){return _0x1a9322(_0x544d36,_0x1d96e9,_0x402505(0x102));}}),_0x5659c4[_0x123a55(0xe9)](_0x2458ef[_0x123a55(0xe6)],async(_0x5c8b63,_0x2b0ed5)=>{const _0x2baf1b=_0x123a55;try{const {resource:_0x59b36f,mode:_0x4510e5,format:_0x288c6d,prefix:_0x357736}=_0x5c8b63[_0x2baf1b(0xf1)]||{},_0x28f8af=_0x2458ef[_0x2baf1b(0xe0)](_0x30d593),_0x50ca64=await _0x28f8af['reset']({'resource':_0x59b36f,'mode':_0x4510e5||_0x2458ef[_0x2baf1b(0xd9)],'format':_0x288c6d,'prefix':_0x357736});return _0x2b0ed5['status'](0xc8)[_0x2baf1b(0xd8)](_0x2458ef['QDjXo'](createResponse,0xc8,_0x2458ef['tiKWU'],_0x50ca64));}catch(_0x44bb48){return _0x1a9322(_0x2b0ed5,_0x44bb48,_0x2baf1b(0xdd));}}),_0x5659c4[_0x123a55(0xec)]('/health',async(_0x32fcb7,_0x4c9f64)=>{const _0x3b880e=_0x123a55;try{const _0x5b1d1b=_0x30d593(),_0x179d59=_0x5b1d1b[_0x3b880e(0xfd)]();let _0x542357=![],_0x428f9c=null;try{_0x542357=await redisClient[_0x3b880e(0xe2)](0xbb8);}catch(_0x30eff4){_0x428f9c=_0x30eff4[_0x3b880e(0xf6)];}const _0x2534df=process['env'][_0x3b880e(0x10a)]===_0x2458ef[_0x3b880e(0xee)],_0x13c500=process['env']['IDEMPOTENCY_ENABLED']===_0x2458ef['ndKOE'];if(!_0x179d59||!_0x542357)return _0x4c9f64['status'](0x1f7)[_0x3b880e(0xd8)](_0x2458ef[_0x3b880e(0x112)](createError,0x1f7,_0x2458ef['fObwJ'],{'enabled':_0x179d59,'redisConnected':_0x542357,'lockEnabled':_0x2534df,'idempotencyEnabled':_0x13c500,'error':_0x428f9c||(!_0x179d59?'IDGEN_ENABLED=false':'Redis\x20not\x20connected')}));return _0x4c9f64[_0x3b880e(0xe7)](0xc8)['json'](createResponse(0xc8,_0x2458ef[_0x3b880e(0xe5)],{'enabled':_0x179d59,'redisConnected':_0x542357,'lockEnabled':_0x2534df,'idempotencyEnabled':_0x13c500}));}catch(_0x3f0134){return _0x2458ef['Knljy'](_0x1a9322,_0x4c9f64,_0x3f0134,_0x2458ef['KAALz']);}}),_0x5659c4;}module['exports']=createIdgenRoutes;function a0_0x387b(){const _0x202e04=['vgLer3i','Cg9ZDa','AwrNzw5FCM91DgvFCMfUzg9Tx2vYCM9Y','AwrNzw5FCM91DgvFCMvSzwfZzv9LCNjVCG','z2v0','B0Dqvgy','BMrlt0u','vfb0wK4','suqGr2vUzxjHDg9YihjVDxrLigvYCM9YoIa','yM9KEq','otC0odaYDwPzywXq','mtq3mtjUBxvowLO','tNvTyMvYigDLBMvYyxrLzcbZDwnJzxnZzNvSBhK','y29Kzq','BwvZC2fNzq','tNvTyMvYihjLBgvHC2vKihrVihjLDxnLihbVB2W','qNDIAMe','uMfUzg9TihzHBhvLigDLBMvYyxrLzcbZDwnJzxnZzNvSBhK','mtfTt1fNveK','mtGZntC1n1vxqvnqza','nLb6v3btra','AxnfBMfIBgvK','AwrNzw5FCM91DgvFy29UC3vTzv9LCNjVCG','uMvZB3vYy2uGC3rHDguGCMvZzxq','swrLBxbVDgvUy3KTs2v5','DNnNzwy','AwrNzw5FCM91DgvFAw5MB19LCNjVCG','r0HswNG','l3nLCMLHBa','AgvHzgvY','mte5mZbbEeLQzfC','C1zVzxm','nte2qNb6tKvg','qLHiyLK','te9ds19esvnuuKLcvvrfrf9ftKfcteve','BuPAv2q','uvjMzM0','AvjeDK4','vMfSDwuGy29UC3vTzwq','AwrNzw5FCM91DgvFCMvZzxj2zv9NzxrFzxjYB3i','Dhj1zq','l251BwjLCI9YzwXLyxnL','C1PMsuO','mtm2mtC4nhvzAeXWua','odm2nZq2mNHPvhzpuG','swrhzw5LCMf0B3jfCNjVCG','l3jLC2vYDMuVy29UzMLYBq','ntiYmdi4mZbRExbAvuS','AwrNzw5FCM91DgvFCMvZzxj2zv9LCNjVCG','AwrNzw5FCM91DgvFCMvZzxj2zv9JB25MAxjTx2vYCM9Y','CMvSzwfZzu51BwjLCG','mZa3m3vhz2PbBq','CgfYyw1Z','CMvZzxj2zu51BwjLCG','BNvTyMvY','u01wyKK','Dezkzgu','suqGr2vUzxjHDg9YihnLCNzPy2uGDw5HDMfPBgfIBgu','l3jLC2v0','ELPrvge','ANnVBG','AwzfwfC','l2nVBNn1Bwu','l3jLC2vYDMuVzxH0zw5K','sw50zxjUywWGC2vYDMvYigvYCM9Y','AwrNzw5FCM91DgvFCMvZzxrFzxjYB3i','u2vYAwfSigTLEsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','AwrNzw5FCM91DgvFAgvHBhrOx2vYCM9Y','uuP2CLm','tfPrrMW','CgLUzW','t0rfCLO','vwr0A1e','u0Dfuha','zMnbq2O','C3rHDhvZ'];a0_0x387b=function(){return _0x202e04;};return a0_0x387b();}
1
+ const a0_0x5db34c=a0_0x4435;(function(_0x535ccf,_0x2fd843){const _0x43fd7f=a0_0x4435,_0x439281=_0x535ccf();while(!![]){try{const _0x5c3c80=-parseInt(_0x43fd7f(0x141))/0x1*(parseInt(_0x43fd7f(0x116))/0x2)+parseInt(_0x43fd7f(0x125))/0x3+-parseInt(_0x43fd7f(0x155))/0x4*(parseInt(_0x43fd7f(0x13f))/0x5)+-parseInt(_0x43fd7f(0x15a))/0x6+parseInt(_0x43fd7f(0x115))/0x7*(parseInt(_0x43fd7f(0x117))/0x8)+parseInt(_0x43fd7f(0x11e))/0x9+-parseInt(_0x43fd7f(0x12d))/0xa*(-parseInt(_0x43fd7f(0x157))/0xb);if(_0x5c3c80===_0x2fd843)break;else _0x439281['push'](_0x439281['shift']());}catch(_0x83c21c){_0x439281['push'](_0x439281['shift']());}}}(a0_0x3640,0x8ccae));const express=require('express'),{logger}=require('../../utils/logger'),{createResponse,createError}=require(a0_0x5db34c(0x124)),redisClient=require('../../utils/redis-client'),ERROR_CODE_HTTP_MAP={'IDGEN_DISABLED':0x1f7,'IDGEN_INVALID_RESOURCE':0x190,'IDGEN_INVALID_MODE':0x190,'IDGEN_INVALID_FORMAT':0x190,'IDGEN_INVALID_NUM_DIGITS':0x190,'IDGEN_INVALID_PREFIX':0x190,'IDGEN_INVALID_SEPARATOR':0x190,'IDGEN_INVALID_NUMBER':0x190,'IDGEN_INVALID_PATTERN':0x190,'IDGEN_INVALID_DIGITS':0x190,'IDGEN_INVALID_TTL':0x190,'IDGEN_INVALID_MAX_RETRY':0x190,'IDGEN_INVALID_TOKEN':0x190,'IDGEN_INVALID_RESERVE_TTL':0x190,'IDGEN_RESERVATION_NOT_FOUND':0x194,'IDGEN_COUNTER_OVERFLOW':0x1a6,'IDGEN_LOCK_TIMEOUT':0x199,'IDGEN_RESET_NOT_ALLOWED':0x193,'IDGEN_UNIQUE_RETRY_EXHAUSTED':0x199,'IDGEN_REDIS_ERROR':0x1f4};function createIdgenRoutes(){const _0x579384=a0_0x5db34c,_0x33ba2d={'Kakup':_0x579384(0x133),'gGYhA':'Idempotency-Key','TPzXW':'Number\x20generated\x20successfully','BApiS':function(_0x4b8625,_0x83c045,_0x4983cb,_0x566066){return _0x4b8625(_0x83c045,_0x4983cb,_0x566066);},'tZanx':_0x579384(0x127),'jkLos':function(_0x1886df){return _0x1886df();},'PpEhb':function(_0x19ff56,_0x894d06,_0x3b609f,_0xfaa9cb){return _0x19ff56(_0x894d06,_0x3b609f,_0xfaa9cb);},'GmbIy':_0x579384(0x146),'hFcmw':_0x579384(0x119),'cSNiw':function(_0xdf4129,_0x2aba83){return _0xdf4129(_0x2aba83);},'uqamn':_0x579384(0x15c),'CMCgO':_0x579384(0x111),'BiHjj':function(_0x5c3a35,_0x49af99,_0x2cb776,_0x28684f){return _0x5c3a35(_0x49af99,_0x2cb776,_0x28684f);},'djJzW':_0x579384(0x13d),'QVmlB':function(_0x11b9bc,_0xbfdfac,_0xbc2903,_0x56744f){return _0x11b9bc(_0xbfdfac,_0xbc2903,_0x56744f);},'BKirm':function(_0x12c690,_0x4655c9,_0x3bf977,_0x5786e3){return _0x12c690(_0x4655c9,_0x3bf977,_0x5786e3);},'TBZjV':'Reservation\x20extended','gKftI':function(_0x4eccc4,_0x4191c4,_0xba55ff,_0x190c77){return _0x4eccc4(_0x4191c4,_0xba55ff,_0x190c77);},'wwqIR':_0x579384(0x156),'cKflH':function(_0x532c63,_0x1d3ba5,_0x3db7bc,_0x46f449){return _0x532c63(_0x1d3ba5,_0x3db7bc,_0x46f449);},'cNaKN':function(_0x2c8bc5){return _0x2c8bc5();},'XKqnG':'Serial\x20key\x20generated\x20successfully','xtvZV':'idgen_route_serial_error','cjXEm':function(_0x57c52c,_0x5acc2c){return _0x57c52c(_0x5acc2c);},'khrBX':function(_0x33806c,_0x176cd6,_0x3db737,_0x3ab463){return _0x33806c(_0x176cd6,_0x3db737,_0x3ab463);},'cmQDF':_0x579384(0x15b),'NNQqm':function(_0xc26a48){return _0xc26a48();},'aYMPc':'Random\x20value\x20generated\x20successfully','SimWb':function(_0x483228,_0x5a14bb,_0x16f3eb,_0x4ab38e){return _0x483228(_0x5a14bb,_0x16f3eb,_0x4ab38e);},'okTyV':_0x579384(0x14b),'AHmzE':function(_0x40f059,_0x57b77a,_0x48d81a,_0x3dfeb4){return _0x40f059(_0x57b77a,_0x48d81a,_0x3dfeb4);},'tuoYO':_0x579384(0x131),'RaQzH':_0x579384(0x14c),'YeUdm':function(_0x47e2b2,_0xb0626d,_0x1989c0,_0x83de68){return _0x47e2b2(_0xb0626d,_0x1989c0,_0x83de68);},'aOZjS':_0x579384(0x151),'dsyOb':'idgen_route_info_error','GgJxz':function(_0x2e5768,_0x5aa3c4){return _0x2e5768||_0x5aa3c4;},'xEsPl':function(_0x25fffd,_0x6c554d,_0x28d5bc,_0x309bf0){return _0x25fffd(_0x6c554d,_0x28d5bc,_0x309bf0);},'AmedW':'idgen_route_reset_error','AFvmc':'true','DIPWE':function(_0x57bf11,_0x344516){return _0x57bf11===_0x344516;},'faywa':function(_0x2f9165,_0x134eea){return _0x2f9165||_0x134eea;},'Wvtfy':_0x579384(0x10b),'LtjIZ':'Redis\x20not\x20connected','WEvNu':'idgen_route_health_error','Wtbah':'/number','UfuXp':_0x579384(0x13b),'wJxuh':_0x579384(0x14a),'LUDDD':'/reserve/confirm','sqMaA':_0x579384(0x10e),'UwGmn':'/code'},_0x504609=express[_0x579384(0x10d)]();let _0x1f64ae=null;function _0x27812f(){return!_0x1f64ae&&(_0x1f64ae=require(_0x33ba2d['Kakup'])),_0x1f64ae;}function _0xc398ab(_0x55658d,_0x3084e8,_0x3bd95b){const _0x4461b7=_0x579384;if(_0x3084e8&&_0x3084e8[_0x4461b7(0x144)]==='IdGeneratorError'){const _0x14b240=ERROR_CODE_HTTP_MAP[_0x3084e8[_0x4461b7(0x148)]]||0x1f4;return logger[_0x4461b7(0x113)]({'event':_0x3bd95b,'code':_0x3084e8[_0x4461b7(0x148)],'message':_0x3084e8[_0x4461b7(0x11a)]},_0x4461b7(0x145)+_0x3084e8[_0x4461b7(0x148)]),_0x55658d['status'](_0x14b240)[_0x4461b7(0x153)](createError(_0x14b240,_0x3084e8['message'],{'code':_0x3084e8[_0x4461b7(0x148)],'details':_0x3084e8[_0x4461b7(0x11f)]||null}));}return logger['error']({'event':_0x3bd95b,'error':_0x3084e8&&_0x3084e8[_0x4461b7(0x11a)],'stack':_0x3084e8&&_0x3084e8[_0x4461b7(0x112)]},'ID\x20Generator\x20route\x20exception:\x20'+(_0x3084e8&&_0x3084e8[_0x4461b7(0x11a)])),_0x55658d[_0x4461b7(0x114)](0x1f4)['json'](createError(0x1f4,'Internal\x20server\x20error',null));}function _0x116287(_0x2f9157){const _0x412b2b=_0x579384;return _0x2f9157['header'](_0x33ba2d[_0x412b2b(0x140)])||undefined;}return _0x504609['post'](_0x33ba2d['Wtbah'],async(_0x343c79,_0x7fcd81)=>{const _0x3ea479=_0x579384;try{const {resource:_0x38f508,format:_0x51d89d,prefix:_0x51fb6d,separator:_0x44da92,numDigits:_0x175986,reuseDelete:_0x549b14}=_0x343c79[_0x3ea479(0x142)]||{},_0x336cbc=_0x116287(_0x343c79),_0x310889=_0x27812f(),_0x54008c=await _0x310889['number']({'resource':_0x38f508,'format':_0x51d89d,'prefix':_0x51fb6d,'separator':_0x44da92,'numDigits':_0x175986,'reuseDelete':_0x549b14,'idempotencyKey':_0x336cbc});return _0x7fcd81['status'](0xc9)['json'](createResponse(0xc9,_0x33ba2d['TPzXW'],_0x54008c));}catch(_0x7f5a11){return _0x33ba2d[_0x3ea479(0x139)](_0xc398ab,_0x7fcd81,_0x7f5a11,_0x33ba2d[_0x3ea479(0x118)]);}}),_0x504609[_0x579384(0x123)](_0x33ba2d['UfuXp'],async(_0x3ce611,_0x442bb6)=>{const _0x47ce19=_0x579384;try{const _0x1bfe08=_0x116287(_0x3ce611),_0x419e80={..._0x3ce611[_0x47ce19(0x142)]||{},'idempotencyKey':_0x1bfe08},_0x1f610c=_0x33ba2d['jkLos'](_0x27812f),_0x50c175=await _0x1f610c['releaseNumber'](_0x419e80);return _0x442bb6[_0x47ce19(0x114)](0xc8)['json'](_0x33ba2d[_0x47ce19(0x11b)](createResponse,0xc8,_0x33ba2d['GmbIy'],_0x50c175));}catch(_0x27b26b){return _0xc398ab(_0x442bb6,_0x27b26b,_0x33ba2d['hFcmw']);}}),_0x504609['post'](_0x33ba2d[_0x579384(0x147)],async(_0x3f3a69,_0x4b099b)=>{const _0x44e76c=_0x579384;try{const {resource:_0x58bdcd,format:_0x41080c,prefix:_0x255159,separator:_0x2043a6,numDigits:_0x243353,reuseDelete:_0x1c9d3c,ttl:_0x1c2c73}=_0x3f3a69[_0x44e76c(0x142)]||{},_0x3526ee=_0x33ba2d[_0x44e76c(0x14e)](_0x116287,_0x3f3a69),_0x59f007=_0x27812f(),_0x2db605=await _0x59f007['reserveNumber']({'resource':_0x58bdcd,'format':_0x41080c,'prefix':_0x255159,'separator':_0x2043a6,'numDigits':_0x243353,'reuseDelete':_0x1c9d3c,'ttl':_0x1c2c73,'idempotencyKey':_0x3526ee});return _0x4b099b[_0x44e76c(0x114)](0xc9)[_0x44e76c(0x153)](_0x33ba2d['BApiS'](createResponse,0xc9,_0x33ba2d[_0x44e76c(0x130)],_0x2db605));}catch(_0xbba8c0){return _0x33ba2d[_0x44e76c(0x11b)](_0xc398ab,_0x4b099b,_0xbba8c0,_0x33ba2d['CMCgO']);}}),_0x504609['post'](_0x33ba2d[_0x579384(0x154)],async(_0x5a3e59,_0xe8ecc5)=>{const _0x241cde=_0x579384;try{const {token:_0x2f27c9}=_0x5a3e59[_0x241cde(0x142)]||{},_0x53d314=_0x33ba2d[_0x241cde(0x14e)](_0x116287,_0x5a3e59),_0x2571b4=_0x27812f(),_0x17ba9c=await _0x2571b4[_0x241cde(0x126)]({'token':_0x2f27c9,'idempotencyKey':_0x53d314});return _0xe8ecc5['status'](0xc8)[_0x241cde(0x153)](_0x33ba2d[_0x241cde(0x11b)](createResponse,0xc8,'Reservation\x20confirmed',_0x17ba9c));}catch(_0xdf20ae){return _0x33ba2d['BiHjj'](_0xc398ab,_0xe8ecc5,_0xdf20ae,'idgen_route_reserve_confirm_error');}}),_0x504609['post']('/reserve/cancel',async(_0x2316f2,_0x80cd9)=>{const _0x394936=_0x579384;try{const {token:_0x30d4fa}=_0x2316f2['body']||{},_0x4304d4=_0x33ba2d[_0x394936(0x14e)](_0x116287,_0x2316f2),_0x5048b7=_0x33ba2d['jkLos'](_0x27812f),_0x3b30e2=await _0x5048b7['cancelReservation']({'token':_0x30d4fa,'idempotencyKey':_0x4304d4});return _0x80cd9['status'](0xc8)[_0x394936(0x153)](createResponse(0xc8,_0x33ba2d['djJzW'],_0x3b30e2));}catch(_0x47f7f6){return _0x33ba2d[_0x394936(0x14d)](_0xc398ab,_0x80cd9,_0x47f7f6,_0x394936(0x14f));}}),_0x504609[_0x579384(0x123)](_0x33ba2d['sqMaA'],async(_0x2817e8,_0x5d71b2)=>{const _0x51a241=_0x579384;try{const {token:_0x51e9aa,ttl:_0x213b63}=_0x2817e8[_0x51a241(0x142)]||{},_0x59713f=_0x116287(_0x2817e8),_0x437b43=_0x33ba2d['jkLos'](_0x27812f),_0x2c64cf=await _0x437b43[_0x51a241(0x149)]({'token':_0x51e9aa,'ttl':_0x213b63,'idempotencyKey':_0x59713f});return _0x5d71b2['status'](0xc8)['json'](_0x33ba2d['BKirm'](createResponse,0xc8,_0x33ba2d['TBZjV'],_0x2c64cf));}catch(_0x1b65b4){return _0x33ba2d[_0x51a241(0x121)](_0xc398ab,_0x5d71b2,_0x1b65b4,_0x33ba2d[_0x51a241(0x128)]);}}),_0x504609[_0x579384(0x10c)](_0x579384(0x137),async(_0x15a121,_0xb93d33)=>{const _0x7a7556=_0x579384;try{const {token:_0x2f83e5}=_0x15a121['params'],_0x37443e=_0x27812f(),_0x522e37=await _0x37443e['getReservation']({'token':_0x2f83e5});return _0xb93d33[_0x7a7556(0x114)](0xc8)[_0x7a7556(0x153)](createResponse(0xc8,'Reservation\x20retrieved',_0x522e37));}catch(_0x139fbb){return _0x33ba2d['QVmlB'](_0xc398ab,_0xb93d33,_0x139fbb,'idgen_route_reserve_get_error');}}),_0x504609[_0x579384(0x123)](_0x579384(0x12f),async(_0x2721a0,_0x264ffc)=>{const _0x15b3a2=_0x579384;try{const {resource:_0x2acc48,digits:_0x348cf0,ensureUnique:_0x4e9b35,ttl:_0x231e72,maxRetry:_0x25e5e6}=_0x2721a0[_0x15b3a2(0x142)]||{},_0x1c889e=_0x116287(_0x2721a0),_0x5a72f9=_0x33ba2d['jkLos'](_0x27812f),_0x85c1df=await _0x5a72f9['pin']({'resource':_0x2acc48,'digits':_0x348cf0,'ensureUnique':_0x4e9b35,'ttl':_0x231e72,'maxRetry':_0x25e5e6,'idempotencyKey':_0x1c889e});return _0x264ffc[_0x15b3a2(0x114)](0xc9)[_0x15b3a2(0x153)](createResponse(0xc9,'PIN\x20generated\x20successfully',_0x85c1df));}catch(_0x5dc1a4){return _0x33ba2d['cKflH'](_0xc398ab,_0x264ffc,_0x5dc1a4,_0x15b3a2(0x110));}}),_0x504609['post']('/serial',async(_0x500de5,_0x46964f)=>{const _0x4a41cb=_0x579384;try{const {resource:_0x44705d,pattern:_0x6ff42e,ensureUnique:_0x349940,ttl:_0x25c2ff,maxRetry:_0x45e3ce}=_0x500de5[_0x4a41cb(0x142)]||{},_0x5075b6=_0x116287(_0x500de5),_0x1dd4d3=_0x33ba2d['cNaKN'](_0x27812f),_0x2940f0=await _0x1dd4d3['serial']({'resource':_0x44705d,'pattern':_0x6ff42e,'ensureUnique':_0x349940,'ttl':_0x25c2ff,'maxRetry':_0x45e3ce,'idempotencyKey':_0x5075b6});return _0x46964f['status'](0xc9)['json'](_0x33ba2d['gKftI'](createResponse,0xc9,_0x33ba2d['XKqnG'],_0x2940f0));}catch(_0x1872c9){return _0x33ba2d[_0x4a41cb(0x134)](_0xc398ab,_0x46964f,_0x1872c9,_0x33ba2d[_0x4a41cb(0x11d)]);}}),_0x504609[_0x579384(0x123)](_0x33ba2d['UwGmn'],async(_0xb6bff0,_0xb605b1)=>{const _0x374ae0=_0x579384;try{const {resource:_0x1d9127,pattern:_0x555f41,ensureUnique:_0x3c3a61,ttl:_0x1806c5,maxRetry:_0x1574ec}=_0xb6bff0[_0x374ae0(0x142)]||{},_0x1777e=_0x33ba2d['cjXEm'](_0x116287,_0xb6bff0),_0x5e1333=_0x27812f(),_0x19c0ca=await _0x5e1333[_0x374ae0(0x148)]({'resource':_0x1d9127,'pattern':_0x555f41,'ensureUnique':_0x3c3a61,'ttl':_0x1806c5,'maxRetry':_0x1574ec,'idempotencyKey':_0x1777e});return _0xb605b1[_0x374ae0(0x114)](0xc9)[_0x374ae0(0x153)](_0x33ba2d[_0x374ae0(0x120)](createResponse,0xc9,_0x374ae0(0x143),_0x19c0ca));}catch(_0x4ed324){return _0xc398ab(_0xb605b1,_0x4ed324,_0x33ba2d[_0x374ae0(0x138)]);}}),_0x504609[_0x579384(0x123)](_0x579384(0x13a),async(_0x188400,_0x3bcb1e)=>{const _0x4684d0=_0x579384;try{const {resource:_0x566fb3,pattern:_0x112c12,ensureUnique:_0x37766f,ttl:_0x5ed45f,maxRetry:_0x3f4d9b}=_0x188400['body']||{},_0x35bd24=_0x33ba2d[_0x4684d0(0x14e)](_0x116287,_0x188400),_0x5757c1=_0x33ba2d[_0x4684d0(0x158)](_0x27812f),_0x5e11a5=await _0x5757c1['random']({'resource':_0x566fb3,'pattern':_0x112c12,'ensureUnique':_0x37766f,'ttl':_0x5ed45f,'maxRetry':_0x3f4d9b,'idempotencyKey':_0x35bd24});return _0x3bcb1e[_0x4684d0(0x114)](0xc9)[_0x4684d0(0x153)](_0x33ba2d[_0x4684d0(0x121)](createResponse,0xc9,_0x33ba2d[_0x4684d0(0x13e)],_0x5e11a5));}catch(_0x56c670){return _0xc398ab(_0x3bcb1e,_0x56c670,_0x4684d0(0x152));}}),_0x504609[_0x579384(0x123)]('/consume',async(_0x6cf5c7,_0x247277)=>{const _0x310fcd=_0x579384;try{const {resource:_0x4b7368,value:_0x555c61}=_0x6cf5c7[_0x310fcd(0x142)]||{},_0x10b7de=_0x27812f(),_0x544dd6=await _0x10b7de['consume']({'resource':_0x4b7368,'value':_0x555c61});return _0x247277['status'](0xc8)['json'](_0x33ba2d['SimWb'](createResponse,0xc8,_0x33ba2d['okTyV'],_0x544dd6));}catch(_0x51c564){return _0x33ba2d['AHmzE'](_0xc398ab,_0x247277,_0x51c564,_0x33ba2d['tuoYO']);}}),_0x504609[_0x579384(0x10c)]('/info/:resource',async(_0x3d8ee3,_0x57a8b3)=>{const _0x531414=_0x579384;try{const {resource:_0x52ee48}=_0x3d8ee3[_0x531414(0x159)],{mode:_0x44da54,format:_0x34f8e0,prefix:_0x3349e1}=_0x3d8ee3[_0x531414(0x136)],_0x2f5253=_0x27812f(),_0x495219=await _0x2f5253['getInfo']({'resource':_0x52ee48,'mode':_0x44da54||_0x33ba2d[_0x531414(0x15e)],'format':_0x34f8e0,'prefix':_0x3349e1});return _0x57a8b3['status'](0xc8)['json'](_0x33ba2d[_0x531414(0x132)](createResponse,0xc8,_0x33ba2d['aOZjS'],_0x495219));}catch(_0x36ffda){return _0xc398ab(_0x57a8b3,_0x36ffda,_0x33ba2d['dsyOb']);}}),_0x504609['post']('/reset',async(_0x5ba295,_0x1fd94c)=>{const _0x364d88=_0x579384;try{const {resource:_0x3e409b,mode:_0x23d2d0,format:_0x542f58,prefix:_0x109f15}=_0x5ba295[_0x364d88(0x142)]||{},_0x2a4882=_0x33ba2d[_0x364d88(0x15d)](_0x27812f),_0x4d9c37=await _0x2a4882['reset']({'resource':_0x3e409b,'mode':_0x33ba2d['GgJxz'](_0x23d2d0,_0x33ba2d['RaQzH']),'format':_0x542f58,'prefix':_0x109f15});return _0x1fd94c['status'](0xc8)['json'](_0x33ba2d[_0x364d88(0x132)](createResponse,0xc8,_0x364d88(0x12c),_0x4d9c37));}catch(_0x3d1d05){return _0x33ba2d[_0x364d88(0x12e)](_0xc398ab,_0x1fd94c,_0x3d1d05,_0x33ba2d[_0x364d88(0x135)]);}}),_0x504609['get']('/health',async(_0x5a0973,_0x11ff74)=>{const _0x473d5d=_0x579384;try{const _0x48065a=_0x33ba2d['cNaKN'](_0x27812f),_0x56ad85=_0x48065a[_0x473d5d(0x11c)]();let _0x145f6b=![],_0x4a9b26=null;try{_0x145f6b=await redisClient['ping'](0xbb8);}catch(_0x3885f7){_0x4a9b26=_0x3885f7['message'];}const _0x46325b=process[_0x473d5d(0x12a)]['LOCK_DISTRIBUTED_ENABLED']===_0x33ba2d[_0x473d5d(0x150)],_0x5c1ba3=_0x33ba2d[_0x473d5d(0x13c)](process[_0x473d5d(0x12a)]['IDEMPOTENCY_ENABLED'],_0x473d5d(0x12b));if(_0x33ba2d['faywa'](!_0x56ad85,!_0x145f6b))return _0x11ff74[_0x473d5d(0x114)](0x1f7)[_0x473d5d(0x153)](createError(0x1f7,_0x33ba2d['Wvtfy'],{'enabled':_0x56ad85,'redisConnected':_0x145f6b,'lockEnabled':_0x46325b,'idempotencyEnabled':_0x5c1ba3,'error':_0x4a9b26||(!_0x56ad85?_0x473d5d(0x122):_0x33ba2d['LtjIZ'])}));return _0x11ff74[_0x473d5d(0x114)](0xc8)['json'](createResponse(0xc8,_0x473d5d(0x129),{'enabled':_0x56ad85,'redisConnected':_0x145f6b,'lockEnabled':_0x46325b,'idempotencyEnabled':_0x5c1ba3}));}catch(_0x4ac788){return _0xc398ab(_0x11ff74,_0x4ac788,_0x33ba2d['WEvNu']);}}),_0x504609;}module[a0_0x5db34c(0x10f)]=createIdgenRoutes;function a0_0x4435(_0x342cc7,_0x4c8995){_0x342cc7=_0x342cc7-0x10b;const _0x364000=a0_0x3640();let _0x4435fe=_0x364000[_0x342cc7];if(a0_0x4435['KBKIgu']===undefined){var _0x2be117=function(_0x59fa39){const _0x398fd3='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x2f04f8='',_0x2aae59='';for(let _0x7a67f1=0x0,_0x263bd4,_0x32e1b9,_0x1c19fc=0x0;_0x32e1b9=_0x59fa39['charAt'](_0x1c19fc++);~_0x32e1b9&&(_0x263bd4=_0x7a67f1%0x4?_0x263bd4*0x40+_0x32e1b9:_0x32e1b9,_0x7a67f1++%0x4)?_0x2f04f8+=String['fromCharCode'](0xff&_0x263bd4>>(-0x2*_0x7a67f1&0x6)):0x0){_0x32e1b9=_0x398fd3['indexOf'](_0x32e1b9);}for(let _0x1c9c42=0x0,_0x251935=_0x2f04f8['length'];_0x1c9c42<_0x251935;_0x1c9c42++){_0x2aae59+='%'+('00'+_0x2f04f8['charCodeAt'](_0x1c9c42)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x2aae59);};a0_0x4435['RRhOGN']=_0x2be117,a0_0x4435['eJwMCQ']={},a0_0x4435['KBKIgu']=!![];}const _0x424000=_0x364000[0x0],_0x45176b=_0x342cc7+_0x424000,_0x326bd4=a0_0x4435['eJwMCQ'][_0x45176b];return!_0x326bd4?(_0x4435fe=a0_0x4435['RRhOGN'](_0x4435fe),a0_0x4435['eJwMCQ'][_0x45176b]=_0x4435fe):_0x4435fe=_0x326bd4,_0x4435fe;}function a0_0x3640(){const _0x179e7d=['suqGr2vUzxjHDg9YihnLCNzPy2uGAxmGAgvHBhrOEq','zw52','Dhj1zq','uMvZB3vYy2uGC3rHDguGCMvZzxq','nZK5nZC1mhHpthrqDq','EevZugW','l3bPBG','DxfHBw4','AwrNzw5FCM91DgvFy29UC3vTzv9LCNjVCG','wwvvzg0','lI4VlI4VDxrPBhmVAwqTz2vUzxjHDg9Y','qMLiAMO','qw1LzfC','CxvLCNK','l3jLC2vYDMuVoNrVA2vU','y21rrey','qKfWAvm','l3jHBMrVBq','l251BwjLCI9YzwXLyxnL','reLqv0u','uMvZzxj2yxrPB24Gy2fUy2vSBgvK','yvLnugm','mte0odq1vNfvz2fq','z0DzAee','mZq5mvnswvbMEq','yM9KEq','q29KzsbNzw5LCMf0zwqGC3vJy2vZC2z1BgX5','BMfTzq','suqGr2vUzxjHDg9YihjVDxrLigvYCM9YoIa','tNvTyMvYihjLBgvHC2vKihrVihjLDxnLihbVB2W','D0P4DwG','y29Kzq','zxH0zw5KuMvZzxj2yxrPB24','l3jLC2vYDMu','vMfSDwuGy29UC3vTzwq','BNvTyMvY','uvzTBei','y1noAxC','AwrNzw5FCM91DgvFCMvZzxj2zv9Jyw5JzwXFzxjYB3i','quz2Bwm','uMvZB3vYy2uGAw5MBYbYzxrYAwv2zwq','AwrNzw5FCM91DgvFCMfUzg9Tx2vYCM9Y','ANnVBG','tfvereq','ogTive1yuG','AwrNzw5FCM91DgvFCMvZzxj2zv9LEhrLBMrFzxjYB3i','mtfSt3f5CeO','tK5rCw0','CgfYyw1Z','mtu3ndq0oe5cz2LWqW','AwrNzw5FCM91DgvFy29Kzv9LCNjVCG','tNvTyMvYihjLC2vYDMvKihn1y2nLC3nMDwXSEq','AMTmB3m','uMfrEKG','suqGr2vUzxjHDg9YihnLCNzPy2uGDw5HDMfPBgfIBgu','z2v0','uM91DgvY','l3jLC2vYDMuVzxH0zw5K','zxHWB3j0CW','AwrNzw5FCM91DgvFCgLUx2vYCM9Y','AwrNzw5FCM91DgvFCMvZzxj2zv9LCNjVCG','C3rHy2S','D2fYBG','C3rHDhvZ','mty1nJm0wwvPs0vs','mZC2sKfPzKzZ','mtC2zgDezwXu','DfPHBNG','AwrNzw5FCM91DgvFCMvSzwfZzv9LCNjVCG','BwvZC2fNzq','uhbfAgi','AxnfBMfIBgvK','Ehr2wLy','mta1oduZnvfnsererG','zgv0ywLSCW','A2HYqLG','z0TMDeK','surhru5Fru5bqKXfrd1MywXZzq','Cg9ZDa','lI4VlI4VDxrPBhmVChjVy2vZC29YlxjLC3bVBNnL','mZeWmtu4tM54uLDQ','y29UzMLYBvjLC2vYDMf0Aw9U','AwrNzw5FCM91DgvFBNvTyMvYx2vYCM9Y','D3DXsvi'];a0_0x3640=function(){return _0x179e7d;};return a0_0x3640();}
@@ -1 +1 @@
1
- const a0_0x4ced6a=a0_0x4372;(function(_0x470558,_0x12d8dd){const _0x31d119=a0_0x4372,_0x641926=_0x470558();while(!![]){try{const _0x5582c5=parseInt(_0x31d119(0x1fa))/0x1+-parseInt(_0x31d119(0x1f3))/0x2+parseInt(_0x31d119(0x1ff))/0x3+-parseInt(_0x31d119(0x20e))/0x4*(-parseInt(_0x31d119(0x1f4))/0x5)+parseInt(_0x31d119(0x1e3))/0x6+-parseInt(_0x31d119(0x205))/0x7*(parseInt(_0x31d119(0x1f8))/0x8)+-parseInt(_0x31d119(0x203))/0x9;if(_0x5582c5===_0x12d8dd)break;else _0x641926['push'](_0x641926['shift']());}catch(_0x4389be){_0x641926['push'](_0x641926['shift']());}}}(a0_0x33f7,0xaec67));const dbType=(process[a0_0x4ced6a(0x208)]['DB_TYPE']||'postgresql')[a0_0x4ced6a(0x1f7)]();let executeQuery;function a0_0x33f7(){const _0x37da73=['qurowKe','mJm5mtK5ohv0Ce5Jwa','otm1uvPJB2PQ','C2XPy2u','zNjVBq','Dg9mB3DLCKnHC2u','ntzzyKvOwuK','AeTftuu','ntmWmZK0tvvmwgzH','C2v0','tu9cwvO','Aw5MBW','A2v5CW','mJC3ndKXovzSrNrVEG','CMvZB2X2zuXVB2T1CfzHBhvL','z2v0','lI4VlI4Vy29Yzs91DgLSCY9SB2DNzxi','odiYnJC0n09YyuDrEq','DMfSAwrHDgvmB29RDxbwywX1zxm','mtC3mtKXv2rSu1fO','z2v0rgLZDgLUy3rwywX1zxm','iIbUB3qGzM91BMqGAw4G','zw52','wxPuvNe','Bg9VA3vWx3rHyMXLx2XVywrLza','zxHLy3v0zvf1zxj5','BwfW','wLHrqLa','mJyZmJrvDMfpyKy','suHcrMi','A3bXqxu','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','ChvZAa','ihzHBhvLkhmPig5VDcbMB3vUzcbPBIa','u0vmrunuia','mtKWmJGYoeHsBNbeEa','AgfZ','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','zM9YrwfJAa','BgvUz3rO','Bg9VA3vWq2fJAgu','tg9VA3vWihrHyMXLigXVywrLzdOG','lI4Vzgf0ywjHC2uVzgiTBxLZCwW','yuv5sfO','Dg9vChbLCKnHC2u','DhjPBq','Bg9HzeXVB2T1CfrHyMXL','zgvIDwC','zw50CMLLCW','u05Xzw4'];a0_0x33f7=function(){return _0x37da73;};return a0_0x33f7();}if(dbType==='oracle'){const oracleDb=require('../database/db-oracle');executeQuery=(_0x12b996,_0x5e66b6)=>oracleDb[a0_0x4ced6a(0x20b)](_0x12b996,_0x5e66b6);}else{if(dbType==='mysql'){const mysqlDb=require(a0_0x4ced6a(0x1ea));executeQuery=(_0x42b776,_0x1ebdd3)=>mysqlDb[a0_0x4ced6a(0x20b)](_0x42b776,_0x1ebdd3);}else executeQuery=require('../../core/utils/db')[a0_0x4ced6a(0x20b)];}const {logger}=require(a0_0x4ced6a(0x202));function a0_0x4372(_0x4cb95d,_0x3962b4){_0x4cb95d=_0x4cb95d-0x1e3;const _0x33f76c=a0_0x33f7();let _0x4372b8=_0x33f76c[_0x4cb95d];if(a0_0x4372['GVxErp']===undefined){var _0x4ab5ae=function(_0x11209a){const _0x444c3c='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1d7878='',_0x350a55='';for(let _0x1ec2c4=0x0,_0x167a13,_0x42ae52,_0x54e9db=0x0;_0x42ae52=_0x11209a['charAt'](_0x54e9db++);~_0x42ae52&&(_0x167a13=_0x1ec2c4%0x4?_0x167a13*0x40+_0x42ae52:_0x42ae52,_0x1ec2c4++%0x4)?_0x1d7878+=String['fromCharCode'](0xff&_0x167a13>>(-0x2*_0x1ec2c4&0x6)):0x0){_0x42ae52=_0x444c3c['indexOf'](_0x42ae52);}for(let _0x905602=0x0,_0x1437fa=_0x1d7878['length'];_0x905602<_0x1437fa;_0x905602++){_0x350a55+='%'+('00'+_0x1d7878['charCodeAt'](_0x905602)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x350a55);};a0_0x4372['xlQrwM']=_0x4ab5ae,a0_0x4372['FzqYbM']={},a0_0x4372['GVxErp']=!![];}const _0x1c9ae2=_0x33f76c[0x0],_0x485cde=_0x4cb95d+_0x1c9ae2,_0xff5c49=a0_0x4372['FzqYbM'][_0x485cde];return!_0xff5c49?(_0x4372b8=a0_0x4372['xlQrwM'](_0x4372b8),a0_0x4372['FzqYbM'][_0x485cde]=_0x4372b8):_0x4372b8=_0xff5c49,_0x4372b8;}class LookupResolver{constructor(){this['lookupCache']=new Map();}['clearCache'](){const _0x445638=a0_0x4ced6a,_0x3889f6={'YzTVq':'Lookup\x20cache\x20cleared'};this[_0x445638(0x1e8)]['clear'](),logger[_0x445638(0x1ef)]({'event':_0x445638(0x211)},_0x3889f6[_0x445638(0x209)]);}async[a0_0x4ced6a(0x1ee)](_0x2a8d47,_0x37797c,_0x5ae538){const _0x52641d=a0_0x4ced6a,_0x5042df={'kpqAu':function(_0x47d653,_0x460f59){return _0x47d653!==_0x460f59;},'aABaS':function(_0x38c902,_0x116083){return _0x38c902(_0x116083);},'uLNCb':'lookup_table_load_error'},_0x39a940=_0x2a8d47+':'+_0x37797c+':'+_0x5ae538;if(this['lookupCache'][_0x52641d(0x1e4)](_0x39a940))return this[_0x52641d(0x1e8)][_0x52641d(0x201)](_0x39a940);try{const _0xe4f8eb=_0x52641d(0x214)+_0x5ae538+',\x20'+_0x37797c+'\x20FROM\x20'+_0x2a8d47,_0x1f7c32=await executeQuery(_0xe4f8eb),_0x45398b=new Map();return _0x1f7c32[_0x52641d(0x1e6)](_0x4a6264=>{const _0x20d4ac=_0x52641d,_0x430b7b=_0x5042df['kpqAu'](_0x4a6264[_0x37797c],undefined)?_0x4a6264[_0x37797c]:_0x4a6264[_0x37797c[_0x20d4ac(0x1ec)]()],_0x104c22=_0x5042df[_0x20d4ac(0x210)](_0x4a6264[_0x5ae538],undefined)?_0x4a6264[_0x5ae538]:_0x4a6264[_0x5ae538['toUpperCase']()];_0x430b7b!==null&&_0x5042df[_0x20d4ac(0x210)](_0x430b7b,undefined)&&(_0x45398b[_0x20d4ac(0x1fb)](_0x5042df['aABaS'](String,_0x430b7b)['toLowerCase']()[_0x20d4ac(0x1ed)](),_0x104c22),_0x45398b['set'](_0x5042df['aABaS'](String,_0x430b7b)[_0x20d4ac(0x1ed)](),_0x104c22));}),this[_0x52641d(0x1e8)]['set'](_0x39a940,_0x45398b),logger[_0x52641d(0x1fd)]({'event':_0x52641d(0x20a),'table':_0x2a8d47,'column':_0x37797c,'count':_0x1f7c32['length']},_0x52641d(0x1e9)+_0x2a8d47),_0x45398b;}catch(_0xd3f321){logger['error']({'event':_0x5042df['uLNCb'],'table':_0x2a8d47,'error':_0xd3f321['message']},'Failed\x20to\x20load\x20lookup\x20table:\x20'+_0x2a8d47);throw _0xd3f321;}}['resolveLookupValue'](_0x47fcce,_0x31b017){const _0x239593=a0_0x4ced6a,_0x1c6a46={'IdxHd':function(_0x44a7a0,_0x41c47e){return _0x44a7a0===_0x41c47e;}};if(_0x1c6a46['IdxHd'](_0x47fcce,null)||_0x1c6a46['IdxHd'](_0x47fcce,undefined)||_0x47fcce==='')return null;const _0x2eb647=String(_0x47fcce)['trim']();if(_0x31b017[_0x239593(0x1e4)](_0x2eb647))return _0x31b017['get'](_0x2eb647);const _0x3eb477=_0x2eb647['toLowerCase']();if(_0x31b017[_0x239593(0x1e4)](_0x3eb477))return _0x31b017['get'](_0x3eb477);return null;}async['processLookupFields'](_0x253ee9,_0x4e5945){const _0x1186ca=a0_0x4ced6a,_0x397157={'ADNZA':function(_0x512a16,_0x426d20){return _0x512a16===_0x426d20;},'QAptH':function(_0x372d47,_0x8d7e82){return _0x372d47===_0x8d7e82;},'IHBFb':function(_0x48aa9a,_0x1eea38){return _0x48aa9a===_0x1eea38;},'ZXQBP':function(_0xb1285,_0x2b51a2){return _0xb1285!==_0x2b51a2;},'xmFxj':function(_0x1ddd48,_0x53553c){return _0x1ddd48===_0x53553c;}};if(!_0x4e5945||_0x397157['xmFxj'](Object['keys'](_0x4e5945)['length'],0x0))return{'processedRows':_0x253ee9,'errors':[]};const _0xf8b982=[],_0x14d082=new Map();for(const [_0xfe216e,_0x4a7048]of Object['entries'](_0x4e5945)){const {lookupTable:_0x3371a9,lookupColumn:_0x1d4c1c,lookupIdColumn:_0x11411a}=_0x4a7048,_0x154075=_0x3371a9+':'+_0x1d4c1c+':'+_0x11411a;if(!_0x14d082[_0x1186ca(0x1e4)](_0x154075)){const _0x59223e=await this['loadLookupTable'](_0x3371a9,_0x1d4c1c,_0x11411a);_0x14d082[_0x1186ca(0x1fb)](_0x154075,_0x59223e);}}const _0x2fd899=_0x253ee9[_0x1186ca(0x20c)]((_0x1f7dfa,_0x1ecf2b)=>{const _0x841a26=_0x1186ca,_0x1c0c0a={..._0x1f7dfa};for(const [_0x4e6da3,_0x52e2fc]of Object[_0x841a26(0x1f0)](_0x4e5945)){const {lookupTable:_0x260142,lookupColumn:_0x473bde,lookupIdColumn:_0x20e0af,targetField:_0x570d97,required:_0x23d3e3}=_0x52e2fc,_0x5843de=_0x260142+':'+_0x473bde+':'+_0x20e0af,_0x1666bf=_0x14d082['get'](_0x5843de),_0x5e8e9f=_0x1f7dfa[_0x4e6da3];if((_0x397157[_0x841a26(0x1f2)](_0x5e8e9f,null)||_0x397157['QAptH'](_0x5e8e9f,undefined)||_0x397157[_0x841a26(0x20f)](_0x5e8e9f,''))&&!_0x23d3e3){_0x1c0c0a[_0x570d97]=null;continue;}const _0x2b1f78=this[_0x841a26(0x200)](_0x5e8e9f,_0x1666bf);_0x397157[_0x841a26(0x20d)](_0x2b1f78,null)?_0x1c0c0a[_0x570d97]=_0x2b1f78:(_0x23d3e3&&_0xf8b982[_0x841a26(0x212)]({'rowIndex':_0x1ecf2b,'field':_0x4e6da3,'value':_0x5e8e9f,'targetField':_0x570d97,'lookupTable':_0x260142,'message':'Value\x20\x22'+_0x5e8e9f+_0x841a26(0x207)+_0x260142}),_0x1c0c0a[_0x570d97]=null);}return _0x1c0c0a;});return logger['info']({'event':'lookup_fields_processed','totalRows':_0x253ee9['length'],'errorCount':_0xf8b982['length'],'lookupFieldCount':Object[_0x1186ca(0x1fe)](_0x4e5945)[_0x1186ca(0x1e7)]},_0x1186ca(0x1e5)),{'processedRows':_0x2fd899,'errors':_0xf8b982};}['getDistinctValues'](_0x8244b4,_0x512e57){const _0x493806=a0_0x4ced6a,_0x380dd7={'hKEME':function(_0xaa4c2b,_0x5afed3){return _0xaa4c2b!==_0x5afed3;},'SNqen':function(_0x5dca1d,_0x1d2039){return _0x5dca1d!==_0x1d2039;},'hUzov':function(_0x2c93ef,_0x40e3c8){return _0x2c93ef(_0x40e3c8);}},_0x4972b7=new Set();return _0x8244b4[_0x493806(0x1e6)](_0x27761e=>{const _0x136087=_0x493806,_0x24ac3f=_0x27761e[_0x512e57];_0x380dd7['hKEME'](_0x24ac3f,null)&&_0x380dd7[_0x136087(0x1f9)](_0x24ac3f,undefined)&&_0x380dd7[_0x136087(0x1f1)](_0x24ac3f,'')&&_0x4972b7['add'](_0x380dd7['hUzov'](String,_0x24ac3f)[_0x136087(0x1ed)]());}),Array[_0x493806(0x1f6)](_0x4972b7);}async[a0_0x4ced6a(0x204)](_0x135b0c,_0x21b1f8){const _0x9b0f59=a0_0x4ced6a,_0xb96042={'aEyHZ':function(_0x373545,_0x28d617){return _0x373545!==_0x28d617;},'OzgKT':function(_0xef70db,_0x2661eb){return _0xef70db===_0x2661eb;},'MOBYZ':function(_0x4075bb,_0x4f5ea9){return _0x4075bb>_0x4f5ea9;}};if(!_0x21b1f8||_0xb96042['OzgKT'](Object['keys'](_0x21b1f8)['length'],0x0))return{'valid':!![],'errors':[],'suggestions':{}};const _0x270abe=[],_0x3195cf={};for(const [_0x3dccf2,_0x1a210e]of Object[_0x9b0f59(0x1f0)](_0x21b1f8)){const {lookupTable:_0x454b4d,lookupColumn:_0x4ff5bc,lookupIdColumn:_0x3bece8,required:_0x198d6f}=_0x1a210e,_0x59884e=this[_0x9b0f59(0x206)](_0x135b0c,_0x3dccf2),_0x1c02c1=await this['loadLookupTable'](_0x454b4d,_0x4ff5bc,_0x3bece8),_0x512859=[],_0x2d42c1=[];_0x59884e['forEach'](_0x151a62=>{const _0x4c1ac3=_0x9b0f59,_0x607df0=this['resolveLookupValue'](_0x151a62,_0x1c02c1);_0xb96042[_0x4c1ac3(0x1eb)](_0x607df0,null)?_0x2d42c1['push'](_0x151a62):_0x512859[_0x4c1ac3(0x212)](_0x151a62);});if(_0xb96042[_0x9b0f59(0x1fc)](_0x512859[_0x9b0f59(0x1e7)],0x0)&&_0x198d6f){_0x270abe[_0x9b0f59(0x212)]({'field':_0x3dccf2,'lookupTable':_0x454b4d,'invalidValues':_0x512859,'message':_0x512859['length']+_0x9b0f59(0x213)+_0x454b4d});const _0x30d994=[];_0x1c02c1['forEach']((_0x591ce8,_0x2c8bc7)=>{const _0x658b1b=_0x9b0f59;if(_0x2c8bc7===_0x2c8bc7['toLowerCase']())return;_0x30d994[_0x658b1b(0x212)](_0x2c8bc7);}),_0x3195cf[_0x3dccf2]={'invalidValues':_0x512859,'availableValues':_0x30d994[_0x9b0f59(0x1f5)](0x0,0x32)};}}return{'valid':_0xb96042['OzgKT'](_0x270abe['length'],0x0),'errors':_0x270abe,'suggestions':_0x3195cf};}}module['exports']=new LookupResolver();
1
+ const a0_0x5abd71=a0_0x279b;(function(_0x34b926,_0x5806de){const _0x4d2515=a0_0x279b,_0x655f69=_0x34b926();while(!![]){try{const _0x3af1dc=-parseInt(_0x4d2515(0x17d))/0x1*(parseInt(_0x4d2515(0x190))/0x2)+-parseInt(_0x4d2515(0x171))/0x3*(parseInt(_0x4d2515(0x195))/0x4)+-parseInt(_0x4d2515(0x180))/0x5+parseInt(_0x4d2515(0x17a))/0x6+-parseInt(_0x4d2515(0x184))/0x7+parseInt(_0x4d2515(0x173))/0x8*(-parseInt(_0x4d2515(0x194))/0x9)+-parseInt(_0x4d2515(0x187))/0xa*(-parseInt(_0x4d2515(0x175))/0xb);if(_0x3af1dc===_0x5806de)break;else _0x655f69['push'](_0x655f69['shift']());}catch(_0x47649f){_0x655f69['push'](_0x655f69['shift']());}}}(a0_0x9335,0x84e5e));const dbType=(process['env']['DB_TYPE']||'postgresql')['toLowerCase']();function a0_0x9335(){const _0xdeeb89=['lI4VlI4Vy29Yzs91DgLSCY9KyG','mtq2twPYBwfx','tg9VA3vWignHy2HLignSzwfYzwq','BgvUz3rO','sLfXuwS','ndGYmtC1sMv5C1zU','ntjizhreAhq','A1v0vgS','Dg9mB3DLCKnHC2u','zxjYB3i','Bg9VA3vWx2nHy2HLx2nSzwfYzwq','ChvZAa','yu9LDu4','zgvIDwC','DhjPBq','y2XLyxi','C2v0','y2XLyxjdywnOzq','Bg9HzeXVB2T1CfrHyMXL','zw50CMLLCW','tg9VA3vWigzPzwXKCYbWCM9JzxnZzwq','iezst00G','mtmZndC5tM1dDvbq','ufjMthm','mtm2yvHjEwvf','CMvZB2X2zuXVB2T1CfzHBhvL','mtaXndu1mdLPthLIwgC','Bg9VA3vWx3rHyMXLx2XVywrLza','Bg9VA3vWq2fJAgu','rMfPBgvKihrVigXVywqGBg9VA3vWihrHyMXLoIa','CvPHB08','ndK3otCWu1nQr2Py','C2XPy2u','BwvZC2fNzq','mti5odzquwfyCKm','BxLZCwW','lI4Vzgf0ywjHC2uVzgiTBxLZCwW','mtiZndmWnxfpr1nOCW','ywrK','C1PusLa','r3nRv1e','mZGWnZi4nNvzvxzOwa','u0vmrunuia','A2v5CW','ndbrEwDnAMu','zM9YrwfJAa','Aw5MBW','zxHLy3v0zvf1zxj5','AgfZ','vMfSDwuGiG','z2v0','tuTUveO'];a0_0x9335=function(){return _0xdeeb89;};return a0_0x9335();}let executeQuery;if(dbType==='oracle'){const oracleDb=require('../database/db-oracle');executeQuery=(_0x49d395,_0x1773ae)=>oracleDb['executeQuery'](_0x49d395,_0x1773ae);}else{if(dbType===a0_0x5abd71(0x17e)){const mysqlDb=require(a0_0x5abd71(0x17f));executeQuery=(_0x2dc390,_0x216288)=>mysqlDb['executeQuery'](_0x2dc390,_0x216288);}else executeQuery=require(a0_0x5abd71(0x18f))[a0_0x5abd71(0x18a)];}const {logger}=require('../../core/utils/logger');function a0_0x279b(_0x239b1b,_0x4057){_0x239b1b=_0x239b1b-0x163;const _0x933587=a0_0x9335();let _0x279ba0=_0x933587[_0x239b1b];if(a0_0x279b['XgNQNu']===undefined){var _0x1dde74=function(_0x191bd6){const _0x22b510='abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789+/=';let _0x1988ff='',_0x563b61='';for(let _0x527d10=0x0,_0x5f208d,_0x3d3802,_0x56f26c=0x0;_0x3d3802=_0x191bd6['charAt'](_0x56f26c++);~_0x3d3802&&(_0x5f208d=_0x527d10%0x4?_0x5f208d*0x40+_0x3d3802:_0x3d3802,_0x527d10++%0x4)?_0x1988ff+=String['fromCharCode'](0xff&_0x5f208d>>(-0x2*_0x527d10&0x6)):0x0){_0x3d3802=_0x22b510['indexOf'](_0x3d3802);}for(let _0x554299=0x0,_0x4074dd=_0x1988ff['length'];_0x554299<_0x4074dd;_0x554299++){_0x563b61+='%'+('00'+_0x1988ff['charCodeAt'](_0x554299)['toString'](0x10))['slice'](-0x2);}return decodeURIComponent(_0x563b61);};a0_0x279b['ehtccD']=_0x1dde74,a0_0x279b['CJrIhv']={},a0_0x279b['XgNQNu']=!![];}const _0xf54205=_0x933587[0x0],_0x40ba8e=_0x239b1b+_0xf54205,_0x4ce772=a0_0x279b['CJrIhv'][_0x40ba8e];return!_0x4ce772?(_0x279ba0=a0_0x279b['ehtccD'](_0x279ba0),a0_0x279b['CJrIhv'][_0x40ba8e]=_0x279ba0):_0x279ba0=_0x4ce772,_0x279ba0;}class LookupResolver{constructor(){const _0x48eab0=a0_0x5abd71;this[_0x48eab0(0x177)]=new Map();}[a0_0x5abd71(0x16c)](){const _0x22aa6b=a0_0x5abd71,_0x3b3149={'WfcBq':_0x22aa6b(0x191)};this[_0x22aa6b(0x177)][_0x22aa6b(0x16a)](),logger[_0x22aa6b(0x168)]({'event':_0x22aa6b(0x165)},_0x3b3149['WfcBq']);}async['loadLookupTable'](_0x67b3d1,_0x3cabb0,_0x23e930){const _0x286704=a0_0x5abd71,_0x3dc339={'qZaoO':function(_0xb75f37,_0x258ad3){return _0xb75f37!==_0x258ad3;},'JgOEQ':function(_0x33a91f,_0xd175f){return _0x33a91f(_0xd175f);},'PRfLs':function(_0x231c5f,_0x81ab79){return _0x231c5f(_0x81ab79);},'YRnGV':_0x286704(0x176)},_0x3695f0=_0x67b3d1+':'+_0x3cabb0+':'+_0x23e930;if(this['lookupCache'][_0x286704(0x18b)](_0x3695f0))return this[_0x286704(0x177)][_0x286704(0x18d)](_0x3695f0);try{const _0x1f9059=_0x286704(0x185)+_0x23e930+',\x20'+_0x3cabb0+_0x286704(0x170)+_0x67b3d1,_0x52fd0e=await executeQuery(_0x1f9059),_0xced92f=new Map();return _0x52fd0e[_0x286704(0x188)](_0x5896ea=>{const _0x213dc2=_0x286704,_0x2116e5=_0x5896ea[_0x3cabb0]!==undefined?_0x5896ea[_0x3cabb0]:_0x5896ea[_0x3cabb0['toUpperCase']()],_0x5920f7=_0x5896ea[_0x23e930]!==undefined?_0x5896ea[_0x23e930]:_0x5896ea[_0x23e930['toUpperCase']()];_0x3dc339[_0x213dc2(0x179)](_0x2116e5,null)&&_0x3dc339['qZaoO'](_0x2116e5,undefined)&&(_0xced92f['set'](_0x3dc339['JgOEQ'](String,_0x2116e5)['toLowerCase']()[_0x213dc2(0x169)](),_0x5920f7),_0xced92f[_0x213dc2(0x16b)](_0x3dc339[_0x213dc2(0x172)](String,_0x2116e5)['trim'](),_0x5920f7));}),this['lookupCache']['set'](_0x3695f0,_0xced92f),logger[_0x286704(0x189)]({'event':_0x3dc339['YRnGV'],'table':_0x67b3d1,'column':_0x3cabb0,'count':_0x52fd0e[_0x286704(0x192)]},'Lookup\x20table\x20loaded:\x20'+_0x67b3d1),_0xced92f;}catch(_0x1d5cb2){logger[_0x286704(0x164)]({'event':'lookup_table_load_error','table':_0x67b3d1,'error':_0x1d5cb2[_0x286704(0x17c)]},_0x286704(0x178)+_0x67b3d1);throw _0x1d5cb2;}}[a0_0x5abd71(0x174)](_0x22e495,_0x510958){const _0x235b59=a0_0x5abd71,_0x482fa0={'MKnTJ':function(_0x2ae615,_0x58379f){return _0x2ae615===_0x58379f;},'aOeuN':function(_0xcc50e6,_0x340260){return _0xcc50e6===_0x340260;},'usCxO':function(_0x36c5bc,_0x42881c){return _0x36c5bc(_0x42881c);}};if(_0x482fa0[_0x235b59(0x18e)](_0x22e495,null)||_0x482fa0[_0x235b59(0x167)](_0x22e495,undefined)||_0x22e495==='')return null;const _0xb328a=_0x482fa0['usCxO'](String,_0x22e495)[_0x235b59(0x169)]();if(_0x510958['has'](_0xb328a))return _0x510958[_0x235b59(0x18d)](_0xb328a);const _0x909518=_0xb328a[_0x235b59(0x163)]();if(_0x510958[_0x235b59(0x18b)](_0x909518))return _0x510958[_0x235b59(0x18d)](_0x909518);return null;}async['processLookupFields'](_0x7088bc,_0x588f6e){const _0x5d0941=a0_0x5abd71,_0x3ae80b={'cVeeQ':function(_0x28bdbe,_0x4c58de){return _0x28bdbe===_0x4c58de;},'GskWQ':'lookup_fields_processed'};if(!_0x588f6e||_0x3ae80b['cVeeQ'](Object['keys'](_0x588f6e)[_0x5d0941(0x192)],0x0))return{'processedRows':_0x7088bc,'errors':[]};const _0x57d7dd=[],_0x58f61c=new Map();for(const [_0x55aaea,_0x55ebc6]of Object[_0x5d0941(0x16e)](_0x588f6e)){const {lookupTable:_0x1d43e6,lookupColumn:_0x2a6883,lookupIdColumn:_0x25588a}=_0x55ebc6,_0x484eb3=_0x1d43e6+':'+_0x2a6883+':'+_0x25588a;if(!_0x58f61c['has'](_0x484eb3)){const _0x21ff5f=await this[_0x5d0941(0x16d)](_0x1d43e6,_0x2a6883,_0x25588a);_0x58f61c[_0x5d0941(0x16b)](_0x484eb3,_0x21ff5f);}}const _0x4b3223=_0x7088bc['map']((_0x12c785,_0x1359d0)=>{const _0x21a3ae=_0x5d0941,_0x11369d={..._0x12c785};for(const [_0x514c2c,_0x30275f]of Object[_0x21a3ae(0x16e)](_0x588f6e)){const {lookupTable:_0x3a9440,lookupColumn:_0x773161,lookupIdColumn:_0x4187a3,targetField:_0x5ceedb,required:_0x5aaad3}=_0x30275f,_0x305a13=_0x3a9440+':'+_0x773161+':'+_0x4187a3,_0x17655a=_0x58f61c['get'](_0x305a13),_0x2b6b9e=_0x12c785[_0x514c2c];if((_0x2b6b9e===null||_0x2b6b9e===undefined||_0x2b6b9e==='')&&!_0x5aaad3){_0x11369d[_0x5ceedb]=null;continue;}const _0x307e0d=this['resolveLookupValue'](_0x2b6b9e,_0x17655a);_0x307e0d!==null?_0x11369d[_0x5ceedb]=_0x307e0d:(_0x5aaad3&&_0x57d7dd['push']({'rowIndex':_0x1359d0,'field':_0x514c2c,'value':_0x2b6b9e,'targetField':_0x5ceedb,'lookupTable':_0x3a9440,'message':_0x21a3ae(0x18c)+_0x2b6b9e+'\x22\x20not\x20found\x20in\x20'+_0x3a9440}),_0x11369d[_0x5ceedb]=null);}return _0x11369d;});return logger['info']({'event':_0x3ae80b[_0x5d0941(0x183)],'totalRows':_0x7088bc['length'],'errorCount':_0x57d7dd['length'],'lookupFieldCount':Object[_0x5d0941(0x186)](_0x588f6e)[_0x5d0941(0x192)]},_0x5d0941(0x16f)),{'processedRows':_0x4b3223,'errors':_0x57d7dd};}['getDistinctValues'](_0x13fe36,_0x12cbc9){const _0x3744e4=a0_0x5abd71,_0x415456={'kUtTk':function(_0x3fa4aa,_0x53ce04){return _0x3fa4aa!==_0x53ce04;},'sZTJP':function(_0x30d92b,_0x2640af){return _0x30d92b(_0x2640af);}},_0x4d1f8a=new Set();return _0x13fe36[_0x3744e4(0x188)](_0x3edafa=>{const _0x3c7688=_0x3744e4,_0x15d3d8=_0x3edafa[_0x12cbc9];_0x415456[_0x3c7688(0x196)](_0x15d3d8,null)&&_0x415456['kUtTk'](_0x15d3d8,undefined)&&_0x415456['kUtTk'](_0x15d3d8,'')&&_0x4d1f8a[_0x3c7688(0x181)](_0x415456[_0x3c7688(0x182)](String,_0x15d3d8)['trim']());}),Array['from'](_0x4d1f8a);}async['validateLookupValues'](_0x23b260,_0x309833){const _0x1b00f9=a0_0x5abd71,_0x1cb2cc={'JQqQk':function(_0x7c7a11,_0x12d056){return _0x7c7a11===_0x12d056;}};if(!_0x309833||Object['keys'](_0x309833)['length']===0x0)return{'valid':!![],'errors':[],'suggestions':{}};const _0x126dd7=[],_0x3b700f={};for(const [_0x3e21ac,_0x38cec7]of Object['entries'](_0x309833)){const {lookupTable:_0x405356,lookupColumn:_0x4f19f6,lookupIdColumn:_0x1f00a8,required:_0x41c8fb}=_0x38cec7,_0x72791f=this['getDistinctValues'](_0x23b260,_0x3e21ac),_0x4e0dde=await this[_0x1b00f9(0x16d)](_0x405356,_0x4f19f6,_0x1f00a8),_0x44e175=[],_0x3ae896=[];_0x72791f['forEach'](_0x24ad01=>{const _0x37d003=_0x1b00f9,_0x26bd17=this['resolveLookupValue'](_0x24ad01,_0x4e0dde);_0x26bd17!==null?_0x3ae896[_0x37d003(0x166)](_0x24ad01):_0x44e175[_0x37d003(0x166)](_0x24ad01);});if(_0x44e175[_0x1b00f9(0x192)]>0x0&&_0x41c8fb){_0x126dd7[_0x1b00f9(0x166)]({'field':_0x3e21ac,'lookupTable':_0x405356,'invalidValues':_0x44e175,'message':_0x44e175['length']+'\x20value(s)\x20not\x20found\x20in\x20'+_0x405356});const _0x441bf6=[];_0x4e0dde[_0x1b00f9(0x188)]((_0x2829fb,_0xc07177)=>{const _0x3029b1=_0x1b00f9;if(_0x1cb2cc[_0x3029b1(0x193)](_0xc07177,_0xc07177[_0x3029b1(0x163)]()))return;_0x441bf6[_0x3029b1(0x166)](_0xc07177);}),_0x3b700f[_0x3e21ac]={'invalidValues':_0x44e175,'availableValues':_0x441bf6[_0x1b00f9(0x17b)](0x0,0x32)};}}return{'valid':_0x126dd7[_0x1b00f9(0x192)]===0x0,'errors':_0x126dd7,'suggestions':_0x3b700f};}}module['exports']=new LookupResolver();