@hotmeshio/hotmesh 0.3.19 → 0.3.21
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.
- package/README.md +72 -36
- package/build/index.d.ts +7 -1
- package/build/index.js +13 -1
- package/build/modules/key.js +1 -1
- package/build/modules/utils.d.ts +1 -3
- package/build/modules/utils.js +1 -1
- package/build/package.json +5 -4
- package/build/services/activities/activity.js +1 -1
- package/build/services/activities/await.js +1 -1
- package/build/services/activities/cycle.js +1 -1
- package/build/services/activities/hook.js +1 -1
- package/build/services/activities/index.js +1 -1
- package/build/services/activities/interrupt.js +1 -1
- package/build/services/activities/signal.js +1 -1
- package/build/services/activities/trigger.js +1 -1
- package/build/services/activities/worker.js +1 -1
- package/build/services/collator/index.js +1 -1
- package/build/services/compiler/deployer.js +1 -1
- package/build/services/compiler/index.js +1 -1
- package/build/services/compiler/validator.js +1 -1
- package/build/services/connector/factory.d.ts +1 -0
- package/build/services/connector/factory.js +35 -32
- package/build/services/connector/index.d.ts +4 -2
- package/build/services/connector/index.js +10 -5
- package/build/services/connector/providers/postgres.d.ts +13 -2
- package/build/services/connector/providers/postgres.js +54 -9
- package/build/services/engine/index.js +1 -1
- package/build/services/exporter/index.js +1 -1
- package/build/services/hotmesh/index.js +1 -6
- package/build/services/mapper/index.js +1 -1
- package/build/services/meshcall/index.js +3 -5
- package/build/services/meshdata/index.d.ts +3 -4
- package/build/services/meshdata/index.js +4 -9
- package/build/services/meshflow/client.js +1 -2
- package/build/services/meshflow/connection.js +1 -0
- package/build/services/meshflow/exporter.js +1 -1
- package/build/services/meshflow/worker.js +5 -8
- package/build/services/meshos/index.d.ts +2 -2
- package/build/services/meshos/index.js +6 -9
- package/build/services/pipe/functions/array.js +1 -1
- package/build/services/pipe/functions/bitwise.js +1 -1
- package/build/services/pipe/functions/conditional.js +1 -1
- package/build/services/pipe/functions/cron.js +1 -1
- package/build/services/pipe/functions/date.js +1 -1
- package/build/services/pipe/functions/index.js +1 -1
- package/build/services/pipe/functions/json.js +1 -1
- package/build/services/pipe/functions/logical.js +1 -1
- package/build/services/pipe/functions/math.js +1 -1
- package/build/services/pipe/functions/number.js +1 -1
- package/build/services/pipe/functions/object.js +1 -1
- package/build/services/pipe/functions/string.js +1 -1
- package/build/services/pipe/functions/symbol.js +1 -1
- package/build/services/pipe/functions/unary.js +1 -1
- package/build/services/pipe/index.js +1 -1
- package/build/services/quorum/index.js +1 -1
- package/build/services/reporter/index.js +1 -1
- package/build/services/router/index.js +1 -1
- package/build/services/search/providers/postgres/postgres.js +1 -1
- package/build/services/search/providers/redis/ioredis.js +1 -1
- package/build/services/search/providers/redis/redis.js +1 -1
- package/build/services/serializer/index.js +1 -1
- package/build/services/store/providers/postgres/kvsql.js +1 -1
- package/build/services/store/providers/postgres/kvtables.d.ts +2 -2
- package/build/services/store/providers/postgres/kvtables.js +1 -1
- package/build/services/store/providers/postgres/kvtransaction.js +1 -1
- package/build/services/store/providers/postgres/kvtypes/hash.js +1 -1
- package/build/services/store/providers/postgres/kvtypes/list.js +1 -1
- package/build/services/store/providers/postgres/kvtypes/string.js +1 -1
- package/build/services/store/providers/postgres/kvtypes/zset.js +1 -1
- package/build/services/store/providers/postgres/postgres.js +1 -1
- package/build/services/store/providers/redis/_base.js +1 -1
- package/build/services/store/providers/redis/ioredis.js +1 -1
- package/build/services/store/providers/redis/redis.js +1 -1
- package/build/services/store/providers/store-initializable.js +1 -1
- package/build/services/stream/providers/nats/nats.js +1 -1
- package/build/services/stream/providers/postgres/postgres.js +1 -1
- package/build/services/stream/providers/redis/ioredis.js +1 -1
- package/build/services/stream/providers/redis/redis.js +1 -1
- package/build/services/stream/providers/stream-initializable.js +1 -1
- package/build/services/sub/factory.d.ts +2 -2
- package/build/services/sub/factory.js +13 -8
- package/build/services/sub/providers/nats/nats.d.ts +19 -0
- package/build/services/sub/providers/nats/nats.js +1 -0
- package/build/services/sub/providers/postgres/postgres.d.ts +1 -0
- package/build/services/sub/providers/postgres/postgres.js +1 -1
- package/build/services/sub/providers/redis/ioredis.js +1 -1
- package/build/services/sub/providers/redis/redis.js +1 -1
- package/build/services/task/index.js +1 -1
- package/build/services/telemetry/index.js +1 -1
- package/build/services/worker/index.js +1 -1
- package/build/types/hotmesh.d.ts +3 -17
- package/build/types/manifest.d.ts +2 -10
- package/build/types/nats.d.ts +8 -0
- package/build/types/postgres.d.ts +10 -1
- package/build/types/provider.d.ts +1 -0
- package/index.ts +24 -5
- package/package.json +5 -4
- package/types/hotmesh.ts +17 -17
- package/types/manifest.ts +2 -10
- package/types/nats.ts +34 -0
- package/types/postgres.ts +13 -2
- package/types/provider.ts +4 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x4099a6,_0x2cd838){const _0x434f55=_0x4b6d,_0x41f675=_0x4099a6();while(!![]){try{const _0xca85dc=parseInt(_0x434f55(0x13a))/0x1+parseInt(_0x434f55(0x139))/0x2*(-parseInt(_0x434f55(0x141))/0x3)+parseInt(_0x434f55(0x140))/0x4*(-parseInt(_0x434f55(0x137))/0x5)+-parseInt(_0x434f55(0x13e))/0x6*(parseInt(_0x434f55(0x142))/0x7)+-parseInt(_0x434f55(0x13d))/0x8+-parseInt(_0x434f55(0x13f))/0x9*(parseInt(_0x434f55(0x13b))/0xa)+-parseInt(_0x434f55(0x138))/0xb*(-parseInt(_0x434f55(0x13c))/0xc);if(_0xca85dc===_0x2cd838)break;else _0x41f675['push'](_0x41f675['shift']());}catch(_0x254288){_0x41f675['push'](_0x41f675['shift']());}}}(_0x22e3,0xa75fd));function _0x22e3(){const _0x18ea58=['1335152vdqTye','10qIsEAZ','1540536JuXpzf','10094120sfUREF','60TwFgxi','2437551EwowuF','7264HNelOE','14883gUUpLw','349818YulTNA','2895OWJWsG','209tQqQth','2fIyroS'];_0x22e3=function(){return _0x18ea58;};return _0x22e3();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['QuorumService']=void 0x0;const enums_1=require('../../modules/enums'),utils_1=require('../../modules/utils'),compiler_1=require('../compiler'),hotmesh_1=require('../../types/hotmesh'),factory_1=require('../sub/factory'),factory_2=require('../store/factory');class QuorumService{constructor(){this['profiles']=[],this['cacheMode']='cache',this['untilVersion']=null,this['quorum']=null,this['callbacks']=[];}static async['init'](_0x48788c,_0x2371d9,_0x279111,_0x203473,_0x1b448f,_0x175083){if(_0x203473['engine']){const _0x1e920b=new QuorumService();return _0x1e920b['verifyQuorumFields'](_0x203473),_0x1e920b['namespace']=_0x48788c,_0x1e920b['appId']=_0x2371d9,_0x1e920b['guid']=_0x279111,_0x1e920b['logger']=_0x175083,_0x1e920b['engine']=_0x1b448f,await _0x1e920b['initStoreChannel'](_0x203473['engine']['store']),await _0x1e920b['initSubChannel'](_0x203473['engine']['sub'],_0x203473['engine']['pub']??_0x203473['engine']['store']),await _0x1e920b['subscribe']['subscribe'](hotmesh_1['KeyType']['QUORUM'],_0x1e920b['subscriptionHandler'](),_0x2371d9),await _0x1e920b['subscribe']['subscribe'](hotmesh_1['KeyType']['QUORUM'],_0x1e920b['subscriptionHandler'](),_0x2371d9,_0x1e920b['guid']),_0x1e920b['engine']['processWebHooks'](),_0x1e920b['engine']['processTimeHooks'](),_0x1e920b;}}['verifyQuorumFields'](_0xf0e0f8){if(!(0x0,utils_1['identifyProvider'])(_0xf0e0f8['engine']['store'])||!(0x0,utils_1['identifyProvider'])(_0xf0e0f8['engine']['sub']))throw new Error('quorum\x20config\x20must\x20include\x20`store`\x20and\x20`sub`\x20fields.');}async['initStoreChannel'](_0x198753){this['store']=await factory_2['StoreServiceFactory']['init'](_0x198753,this['namespace'],this['appId'],this['logger']);}async['initSubChannel'](_0x22f4ad,_0x5a875e){this['subscribe']=await factory_1['SubServiceFactory']['init'](_0x22f4ad,_0x5a875e,this['namespace'],this['appId'],this['guid'],this['logger']);}['subscriptionHandler'](){const _0x37d655=this;return async(_0x27fcc1,_0x1d7e8b)=>{_0x37d655['logger']['debug']('quorum-event-received',{'topic':_0x27fcc1,'type':_0x1d7e8b['type']});if(_0x1d7e8b['type']==='activate')_0x37d655['engine']['setCacheMode'](_0x1d7e8b['cache_mode'],_0x1d7e8b['until_version']);else{if(_0x1d7e8b['type']==='ping')_0x37d655['sayPong'](_0x37d655['appId'],_0x37d655['guid'],_0x1d7e8b['originator'],_0x1d7e8b['details']);else{if(_0x1d7e8b['type']==='pong'&&_0x37d655['guid']===_0x1d7e8b['originator'])_0x37d655['quorum']=_0x37d655['quorum']+0x1,_0x1d7e8b['profile']&&_0x37d655['profiles']['push'](_0x1d7e8b['profile']);else{if(_0x1d7e8b['type']==='throttle')_0x37d655['engine']['throttle'](_0x1d7e8b['throttle']);else{if(_0x1d7e8b['type']==='work')_0x37d655['engine']['processWebHooks']();else{if(_0x1d7e8b['type']==='job')_0x37d655['engine']['routeToSubscribers'](_0x1d7e8b['topic'],_0x1d7e8b['job']);else{if(_0x1d7e8b['type']==='cron')_0x37d655['engine']['processTimeHooks']();else _0x1d7e8b['type']==='rollcall'&&_0x37d655['doRollCall'](_0x1d7e8b);}}}}}}_0x37d655['callbacks']['length']>0x0&&_0x37d655['callbacks']['forEach'](_0x4106e8=>_0x4106e8(_0x27fcc1,_0x1d7e8b));};}async['sayPong'](_0x424d4f,_0x3baa91,_0x5ea0a6,_0x18cc0d=![]){let _0xaf75d0;if(_0x18cc0d){const _0x4ef391=this['engine']['store']['mintKey'](hotmesh_1['KeyType']['STREAMS'],{'appId':this['appId']});_0xaf75d0={'engine_id':this['guid'],'namespace':this['namespace'],'app_id':this['appId'],'stream':_0x4ef391,'counts':this['engine']['router']['counts'],'timestamp':(0x0,utils_1['formatISODate'])(new Date()),'inited':this['engine']['inited'],'throttle':this['engine']['router']['throttle'],'reclaimDelay':this['engine']['router']['reclaimDelay'],'reclaimCount':this['engine']['router']['reclaimCount'],'system':await(0x0,utils_1['getSystemHealth'])()};}this['subscribe']['publish'](hotmesh_1['KeyType']['QUORUM'],{'type':'pong','guid':_0x3baa91,'originator':_0x5ea0a6,'profile':_0xaf75d0},_0x424d4f);}async['requestQuorum'](_0x13ad52=enums_1['HMSH_QUORUM_DELAY_MS'],_0x125321=![]){const _0x4a8bbe=this['quorum'];return this['quorum']=0x0,this['profiles']['length']=0x0,await this['subscribe']['publish'](hotmesh_1['KeyType']['QUORUM'],{'type':'ping','originator':this['guid'],'details':_0x125321},this['appId']),await(0x0,utils_1['sleepFor'])(_0x13ad52),_0x4a8bbe;}async['doRollCall'](_0x56b3b1){let _0x3af80b=0x0;const _0x37df84=!isNaN(_0x56b3b1['max'])?_0x56b3b1['max']:enums_1['HMSH_QUORUM_ROLLCALL_CYCLES'];if(this['rollCallInterval'])clearTimeout(this['rollCallInterval']);const _0x6267d6=_0x56b3b1['interval']/0x2,_0x6b5eda=_0x6267d6+Math['ceil'](Math['random']()*_0x6267d6);do{await(0x0,utils_1['sleepFor'])(Math['ceil'](Math['random']()*0x3e8)),await this['sayPong'](this['appId'],this['guid'],null,!![]);if(!_0x56b3b1['interval'])return;const {promise:_0x4fb673,timerId:_0x3a4e45}=(0x0,utils_1['XSleepFor'])(_0x6b5eda*0x3e8);this['rollCallInterval']=_0x3a4e45,await _0x4fb673;}while(this['rollCallInterval']&&_0x3af80b++<_0x37df84-0x1);}['cancelRollCall'](){this['rollCallInterval']&&(clearTimeout(this['rollCallInterval']),delete this['rollCallInterval']);}['stop'](){this['cancelRollCall']();}async['pub'](_0x749c3b){return await this['subscribe']['publish'](hotmesh_1['KeyType']['QUORUM'],_0x749c3b,this['appId'],_0x749c3b['topic']||_0x749c3b['guid']);}async['sub'](_0x434479){this['callbacks']['push'](_0x434479);}async['unsub'](_0x13041b){this['callbacks']=this['callbacks']['filter'](_0x457483=>_0x457483!==_0x13041b);}async['rollCall'](_0x20729a=enums_1['HMSH_QUORUM_DELAY_MS']){await this['requestQuorum'](_0x20729a,!![]);const _0x951a19=await this['engine']['stream']['getStreamDepths'](this['profiles']);return this['profiles']['forEach'](async(_0x59219f,_0x5bd644)=>{_0x59219f['stream_depth']=_0x951a19?.[_0x5bd644]?.['depth']??0x0;}),this['profiles'];}async['activate'](_0xd02718,_0x4c36c3=enums_1['HMSH_QUORUM_DELAY_MS'],_0x20555d=0x0){_0xd02718=_0xd02718['toString']();const _0x5f4d24=await this['store']['reserveScoutRole']('activate',Math['ceil'](_0x4c36c3*0x6/0x3e8)+0x1);if(!_0x5f4d24){this['logger']['debug']('quorum-activation-awaiting',{'version':_0xd02718}),await(0x0,utils_1['sleepFor'])(_0x4c36c3*0x6);const _0x10cc75=await this['store']['getApp'](this['appId'],!![]);return _0x10cc75?.['active']==!![]&&_0x10cc75?.['version']===_0xd02718;}const _0x4b8be3=await this['engine']['getVID']();await this['requestQuorum'](_0x4c36c3);const _0x3ee9bb=await this['requestQuorum'](_0x4c36c3),_0x20a893=await this['requestQuorum'](_0x4c36c3),_0x492335=await this['requestQuorum'](_0x4c36c3);if(_0x3ee9bb&&_0x3ee9bb===_0x20a893&&_0x20a893===_0x492335){this['logger']['info']('quorum-rollcall-succeeded',{'q1':_0x3ee9bb,'q2':_0x20a893,'q3':_0x492335}),this['subscribe']['publish'](hotmesh_1['KeyType']['QUORUM'],{'type':'activate','cache_mode':'nocache','until_version':_0xd02718},this['appId']),await new Promise(_0x3e5ce6=>setTimeout(_0x3e5ce6,_0x4c36c3)),await this['store']['releaseScoutRole']('activate');if(this['engine']['untilVersion']===_0xd02718){this['logger']['info']('quorum-activation-succeeded',{'version':_0xd02718});const {id:_0x17813a}=_0x4b8be3,_0x53a05a=new compiler_1['CompilerService'](this['store'],this['engine']['stream'],this['logger']);return await _0x53a05a['activate'](_0x17813a,_0xd02718);}else{this['logger']['error']('quorum-activation-error',{'version':_0xd02718});throw new Error('UntilVersion\x20Not\x20Received.\x20Version\x20'+_0xd02718+'\x20not\x20activated');}}else{this['logger']['warn']('quorum-rollcall-error',{'q1':_0x3ee9bb,'q2':_0x20a893,'q3':_0x492335,'count':_0x20555d}),this['store']['releaseScoutRole']('activate');if(_0x20555d<enums_1['HMSH_ACTIVATION_MAX_RETRY'])return await this['activate'](_0xd02718,_0x4c36c3*0x2,_0x20555d+0x1);throw new Error('Quorum\x20not\x20reached.\x20Version\x20'+_0xd02718+'\x20not\x20activated.');}}}function _0x4b6d(_0x4b0383,_0xf64d58){const _0x22e3df=_0x22e3();return _0x4b6d=function(_0x4b6d49,_0xd8bd31){_0x4b6d49=_0x4b6d49-0x137;let _0x2fcbd3=_0x22e3df[_0x4b6d49];return _0x2fcbd3;},_0x4b6d(_0x4b0383,_0xf64d58);}exports['QuorumService']=QuorumService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(_0x1c5db7,_0x3620d1){const _0x22b3e0=_0x306d,_0x170a24=_0x1c5db7();while(!![]){try{const _0x37f09e=parseInt(_0x22b3e0(0xa4))/0x1*(-parseInt(_0x22b3e0(0xa5))/0x2)+-parseInt(_0x22b3e0(0xa9))/0x3*(-parseInt(_0x22b3e0(0xa8))/0x4)+-parseInt(_0x22b3e0(0xa2))/0x5+-parseInt(_0x22b3e0(0xa7))/0x6+parseInt(_0x22b3e0(0xaa))/0x7*(-parseInt(_0x22b3e0(0xa3))/0x8)+-parseInt(_0x22b3e0(0xa1))/0x9*(parseInt(_0x22b3e0(0xa6))/0xa)+parseInt(_0x22b3e0(0xa0))/0xb;if(_0x37f09e===_0x3620d1)break;else _0x170a24['push'](_0x170a24['shift']());}catch(_0x31c3aa){_0x170a24['push'](_0x170a24['shift']());}}}(_0xac0a,0xa1ffa));function _0x306d(_0x1299fe,_0x17b6d8){const _0xac0a72=_0xac0a();return _0x306d=function(_0x306d16,_0x20f8a2){_0x306d16=_0x306d16-0xa0;let _0x166e83=_0xac0a72[_0x306d16];return _0x166e83;},_0x306d(_0x1299fe,_0x17b6d8);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['ReporterService']=void 0x0;const pipe_1=require('../pipe');class ReporterService{constructor(_0x4273dc,_0x314f5f,_0x2d52f1){this['appVersion']=_0x4273dc,this['logger']=_0x2d52f1,this['store']=_0x314f5f;}async['getStats'](_0xb6faf){this['logger']['debug']('reporter-getstats-started',_0xb6faf);const {key:_0x5d42e7,granularity:_0x302b55,range:_0x3dfd2e,end:_0x2f1e55,start:_0x4e71b5}=_0xb6faf;this['validateOptions'](_0xb6faf);const _0x1db53c=this['generateDateTimeSets'](_0x302b55,_0x3dfd2e,_0x2f1e55,_0x4e71b5),_0xeffa66=_0x1db53c['map'](_0x237be6=>this['buildRedisKey'](_0x5d42e7,_0x237be6)),_0x445f51=await this['store']['getJobStats'](_0xeffa66),[_0x5cd6d6,_0x3f6dc5]=this['aggregateData'](_0x445f51),_0x34749c=this['buildStatsResponse'](_0x445f51,_0xeffa66,_0x3f6dc5,_0x5cd6d6,_0xb6faf);return _0x34749c;}['validateOptions'](_0x209ebf){const {start:_0x2b8bf1,end:_0x24b791,range:_0x52dff5,granularity:_0x193a67}=_0x209ebf;if(_0x193a67!=='infinity'&&(_0x2b8bf1&&_0x24b791&&_0x52dff5||!_0x2b8bf1&&!_0x24b791&&!_0x52dff5))throw new Error('Invalid\x20combination\x20of\x20start,\x20end,\x20and\x20range\x20values.\x20Provide\x20either\x20start+end,\x20end+range,\x20or\x20start+range.');}['generateDateTimeSets'](_0x2a0e04,_0x54063e,_0x4bb8ea,_0x31f87d){if(_0x2a0e04==='infinity')return['0'];!_0x54063e&&(_0x54063e='0m');const _0x595f9f={'5m':0x5,'10m':0xa,'15m':0xf,'30m':0x1e,'1h':0x3c},_0x1669c9=_0x595f9f[_0x2a0e04];if(!_0x1669c9)throw new Error('Invalid\x20granularity\x20value.');const _0x79d0b6=this['convertRangeToMinutes'](_0x54063e);if(_0x79d0b6===null)throw new Error('Invalid\x20range\x20value.');let _0x101891,_0x1dcfa5;_0x31f87d?(_0x101891=new Date(_0x31f87d),_0x1dcfa5=new Date(_0x101891['getTime']()+_0x79d0b6*0x3c*0x3e8)):(_0x1dcfa5=_0x4bb8ea==='NOW'?new Date():new Date(_0x4bb8ea),_0x101891=new Date(_0x1dcfa5['getTime']()-_0x79d0b6*0x3c*0x3e8));_0x101891['setUTCMinutes'](Math['floor'](_0x101891['getUTCMinutes']()/_0x1669c9)*_0x1669c9);const _0x129296=[];for(let _0x8909ee=_0x101891;_0x8909ee<=_0x1dcfa5;_0x8909ee['setUTCMinutes'](_0x8909ee['getUTCMinutes']()+_0x1669c9)){const _0x3440b2=[_0x8909ee['getUTCFullYear'](),String(_0x8909ee['getUTCMonth']()+0x1)['padStart'](0x2,'0'),String(_0x8909ee['getUTCDate']())['padStart'](0x2,'0'),String(_0x8909ee['getUTCHours']())['padStart'](0x2,'0'),String(_0x8909ee['getUTCMinutes']())['padStart'](0x2,'0')]['join']('');_0x129296['push'](_0x3440b2);}return _0x129296;}['convertRangeToMinutes'](_0x65c34e){const _0x951d43=_0x65c34e['slice'](-0x1),_0x90323e=parseInt(_0x65c34e['slice'](0x0,-0x1),0xa);if(isNaN(_0x90323e))return null;switch(_0x951d43){case'm':return _0x90323e;case'h':return _0x90323e*0x3c;case'd':return _0x90323e*0x3c*0x18;default:return null;}}['buildRedisKey'](_0x1bae76,_0x134cb3,_0x2915d1=''){return'hmsh:'+this['appVersion']['id']+':s:'+_0x1bae76+':'+_0x134cb3+(_0x2915d1?':'+_0x2915d1:'');}['aggregateData'](_0x35a6a6){const _0x152003={};let _0x561f32=0x0;return Object['entries'](_0x35a6a6)['forEach'](([_0x3749d5,_0x179c08])=>{for(const _0x581ab7 in _0x179c08){if(_0x581ab7['startsWith']('count:')){const _0x2462d3=_0x581ab7['slice']('count:'['length']);!_0x152003[_0x2462d3]&&(_0x152003[_0x2462d3]=0x0),_0x152003[_0x2462d3]+=_0x179c08[_0x581ab7];}else _0x581ab7==='count'&&(_0x561f32+=_0x179c08[_0x581ab7]);}}),[_0x561f32,_0x152003];}['buildStatsResponse'](_0x338441,_0x46e3e8,_0x12e3da,_0x105521,_0x2558fd){const _0x31a300=[],_0x3f7e25=Object['keys'](_0x12e3da)['filter'](_0x305713=>_0x305713!=='count');let _0x4e06e4=undefined;_0x2558fd['sparse']!==!![]&&(_0x4e06e4=this['handleSegments'](_0x338441,_0x46e3e8));_0x3f7e25['forEach'](_0x463e59=>{const _0x518a0f={'target':_0x463e59,'type':'count','value':_0x12e3da[_0x463e59]};_0x31a300['push'](_0x518a0f);});const _0x54c976={'key':_0x2558fd['key'],'granularity':_0x2558fd['granularity'],'range':_0x2558fd['range'],'end':_0x2558fd['end'],'count':_0x105521,'measures':_0x31a300};return _0x4e06e4&&(_0x54c976['segments']=_0x4e06e4),_0x54c976;}['handleSegments'](_0x28d5b9,_0x3c1314){const _0x55cb27=[];return _0x3c1314['forEach']((_0x1fe170,_0x2a7a53)=>{const _0xdfd7b7=[];_0x28d5b9[_0x1fe170]&&Object['entries'](_0x28d5b9[_0x1fe170])['forEach'](([_0xc7d0e4,_0x1a63b3])=>{if(_0xc7d0e4['startsWith']('count:')){const _0x4f9702=_0xc7d0e4['slice']('count:'['length']);_0xdfd7b7['push']({'target':_0x4f9702,'type':'count','value':_0x1a63b3});}});const _0x44f19b=this['isoTimestampFromKeyTimestamp'](_0x1fe170),_0x14a100=_0x28d5b9[_0x1fe170]?_0x28d5b9[_0x1fe170]['count']:0x0;_0x55cb27['push']({'count':_0x14a100,'time':_0x44f19b,'measures':_0xdfd7b7});}),_0x55cb27;}['isoTimestampFromKeyTimestamp'](_0x26d913){if(_0x26d913['endsWith'](':'))return'0';const _0x567c36=_0x26d913['slice'](-0xc),_0x18fbc6=_0x567c36['slice'](0x0,0x4),_0x1e6154=_0x567c36['slice'](0x4,0x6),_0x43b286=_0x567c36['slice'](0x6,0x8),_0x12ec9e=_0x567c36['slice'](0x8,0xa),_0x3ee0c0=_0x567c36['slice'](0xa,0xc);return _0x18fbc6+'-'+_0x1e6154+'-'+_0x43b286+'T'+_0x12ec9e+':'+_0x3ee0c0+'Z';}async['getIds'](_0x267c42,_0x142444,_0x160156=[0x0,-0x1]){if(!_0x142444['length']){const _0x15d72c=await this['getStats'](_0x267c42);_0x142444=this['getUniqueFacets'](_0x15d72c);}const {key:_0x462fd5,granularity:_0x3c42bc,range:_0x33b45a,end:_0x1e399d,start:_0x285cbf}=_0x267c42;this['validateOptions'](_0x267c42);let _0x4cfa32=[];_0x142444['forEach'](_0x1b03e8=>{const _0x1fb051=this['generateDateTimeSets'](_0x3c42bc,_0x33b45a,_0x1e399d,_0x285cbf);_0x4cfa32=_0x4cfa32['concat'](_0x1fb051['map'](_0x40d916=>this['buildRedisKey'](_0x462fd5,_0x40d916,'index:'+_0x1b03e8)));});const _0x4106db=await this['store']['getJobIds'](_0x4cfa32,_0x160156),_0x1c8f20=this['buildIdsResponse'](_0x4106db,_0x267c42,_0x142444);return _0x1c8f20;}['buildIdsResponse'](_0x1d4fb6,_0x192beb,_0x41e1c0){const _0x824328={},_0xdc3986=Object['keys'](_0x1d4fb6);_0xdc3986['forEach'](_0x567fe8=>{const _0x4b57f1=this['getTargetForKey'](_0x567fe8),_0x43f367=_0x1d4fb6[_0x567fe8]['length'];_0x824328[_0x4b57f1]?_0x824328[_0x4b57f1]+=_0x43f367:_0x824328[_0x4b57f1]=_0x43f367;});const _0x344344=Object['entries'](_0x824328)['map'](([_0x3a3a4b,_0x4f69aa])=>({'facet':_0x3a3a4b,'count':_0x4f69aa})),_0x2f4014={'key':_0x192beb['key'],'facets':_0x41e1c0,'granularity':_0x192beb['granularity'],'range':_0x192beb['range'],'start':_0x192beb['start'],'counts':_0x344344,'segments':this['buildTimeSegments'](_0x1d4fb6)};return _0x2f4014;}['buildTimeSegments'](_0x464d7c){const _0x266a37=Object['keys'](_0x464d7c),_0x47bbc8={};_0x266a37['forEach'](_0x5303ab=>{const _0x4c429a={'type':'ids','target':this['getTargetForKey'](_0x5303ab),'time':this['isoTimestampFromKeyTimestamp'](this['getTargetForTime'](_0x5303ab)),'count':_0x464d7c[_0x5303ab]['length'],'ids':_0x464d7c[_0x5303ab]};_0x47bbc8[_0x4c429a['time']]?_0x47bbc8[_0x4c429a['time']]['push'](_0x4c429a):_0x47bbc8[_0x4c429a['time']]=[_0x4c429a];});const _0x537601=Object['entries'](_0x47bbc8)['map'](([_0x924e9a,_0x33289b])=>({'time':_0x924e9a,'measures':_0x33289b}));return _0x537601;}['getUniqueFacets'](_0x2456b2){const _0x23ff92=_0x2456b2['measures']['map'](_0x4de743=>_0x4de743['target']);return Array['from'](new Set(_0x23ff92));}['getTargetForKey'](_0x3f4565){return _0x3f4565['split'](':index:')[0x1];}['getTargetForTime'](_0x2595bc){return _0x2595bc['split'](':index:')[0x0];}async['getWorkItems'](_0x5444c5,_0x1ea397){if(!_0x1ea397['length']){const _0x2838d6=await this['getStats'](_0x5444c5);_0x1ea397=this['getUniqueFacets'](_0x2838d6);}const {key:_0x194d4a,granularity:_0x583f47,range:_0x468395,end:_0xe00e41,start:_0x17dd0b}=_0x5444c5;this['validateOptions'](_0x5444c5);let _0x1b118c=[];_0x1ea397['forEach'](_0x4441af=>{const _0x58dca9=this['generateDateTimeSets'](_0x583f47,_0x468395,_0xe00e41,_0x17dd0b);_0x1b118c=_0x1b118c['concat'](_0x58dca9['map'](_0x282735=>this['buildRedisKey'](_0x194d4a,_0x282735,'index:'+_0x4441af)));});const _0x4843d8=await this['store']['getJobIds'](_0x1b118c,[0x0,0x1]),_0x355099=this['buildWorkerLists'](_0x4843d8);return _0x355099;}['buildWorkerLists'](_0x3ede15){const _0x1b2586=[];for(const _0x36d8d0 in _0x3ede15){_0x3ede15[_0x36d8d0]['length']&&_0x1b2586['push'](_0x36d8d0);}return _0x1b2586;}['resolveTriggerStatistics']({stats:_0x160ff4},_0x4013f9){const _0x136183={'general':[],'index':[],'median':[]};_0x136183['general']['push']({'metric':'count','target':'count','value':0x1});for(const _0x571094 of _0x160ff4['measures']){const _0x24d2a2=this['resolveMetric']({'metric':_0x571094['measure'],'target':_0x571094['target']},_0x4013f9);if(this['isGeneralMetric'](_0x571094['measure']))_0x136183['general']['push'](_0x24d2a2);else{if(this['isMedianMetric'](_0x571094['measure']))_0x136183['median']['push'](_0x24d2a2);else this['isIndexMetric'](_0x571094['measure'])&&_0x136183['index']['push'](_0x24d2a2);}}return _0x136183;}['isGeneralMetric'](_0x52a8a1){return ReporterService['isGeneralMetric'](_0x52a8a1);}['isMedianMetric'](_0xd3b3c5){return ReporterService['isMedianMetric'](_0xd3b3c5);}['isIndexMetric'](_0x2f75f9){return ReporterService['isIndexMetric'](_0x2f75f9);}static['isGeneralMetric'](_0xc15858){return _0xc15858==='sum'||_0xc15858==='avg'||_0xc15858==='count';}static['isMedianMetric'](_0x34fdcb){return _0x34fdcb==='mdn';}static['isIndexMetric'](_0x451fd4){return _0x451fd4==='index';}['resolveMetric']({metric:_0x57a81b,target:_0x15876c},_0x1f7f00){const _0x476c53=new pipe_1['Pipe']([[_0x15876c]],_0x1f7f00),_0x2f80e5=_0x476c53['process']()['toString'](),_0x255e60=this['resolveTarget'](_0x57a81b,_0x15876c,_0x2f80e5);if(_0x57a81b==='index')return{'metric':_0x57a81b,'target':_0x255e60,'value':_0x1f7f00['metadata']['jid']};else{if(_0x57a81b==='count')return{'metric':_0x57a81b,'target':_0x255e60,'value':0x1};}return{'metric':_0x57a81b,'target':_0x255e60,'value':_0x2f80e5};}['isCardinalMetric'](_0x4457b0){return _0x4457b0==='index'||_0x4457b0==='count';}['resolveTarget'](_0x21a3d7,_0x1671af,_0x1570e9){const _0x132f0f=_0x1671af['substring'](0x1,_0x1671af['length']-0x1),_0x1dcd33=_0x132f0f['split']('.')['slice'](0x3)['join']('/');let _0x5a041b;return this['isCardinalMetric'](_0x21a3d7)?_0x5a041b=_0x21a3d7+':'+_0x1dcd33+':'+_0x1570e9:_0x5a041b=_0x21a3d7+':'+_0x1dcd33,_0x5a041b;}}exports['ReporterService']=ReporterService,ReporterService['DEFAULT_GRANULARITY']='5m';function _0xac0a(){const _0x567dd7=['48181408fwPaor','1935OrrCXV','5801075QcnpYX','112YUxLkM','715129TTynvz','2MASynW','61510xJFcMH','3922344qKDjQX','3048996FpTPdq','3JCmABM','313649xbROOb'];_0xac0a=function(){return _0x567dd7;};return _0xac0a();}
|
|
1
|
+
'use strict';function _0x43d3(_0x873cac,_0x433623){const _0x57cc74=_0x57cc();return _0x43d3=function(_0x43d35c,_0x5c05b7){_0x43d35c=_0x43d35c-0x1dd;let _0x2ceb18=_0x57cc74[_0x43d35c];return _0x2ceb18;},_0x43d3(_0x873cac,_0x433623);}(function(_0x32d105,_0x1e8ea7){const _0x5f1b29=_0x43d3,_0x4aa2f8=_0x32d105();while(!![]){try{const _0x1a6028=-parseInt(_0x5f1b29(0x1e0))/0x1*(-parseInt(_0x5f1b29(0x1e6))/0x2)+parseInt(_0x5f1b29(0x1dd))/0x3*(parseInt(_0x5f1b29(0x1e7))/0x4)+-parseInt(_0x5f1b29(0x1e2))/0x5*(-parseInt(_0x5f1b29(0x1e1))/0x6)+parseInt(_0x5f1b29(0x1e3))/0x7*(parseInt(_0x5f1b29(0x1df))/0x8)+parseInt(_0x5f1b29(0x1de))/0x9+parseInt(_0x5f1b29(0x1e5))/0xa*(-parseInt(_0x5f1b29(0x1e8))/0xb)+-parseInt(_0x5f1b29(0x1e4))/0xc;if(_0x1a6028===_0x1e8ea7)break;else _0x4aa2f8['push'](_0x4aa2f8['shift']());}catch(_0x2cd9f6){_0x4aa2f8['push'](_0x4aa2f8['shift']());}}}(_0x57cc,0x4dd47));function _0x57cc(){const _0x196667=['6fEZkHF','14912hQzQhK','22xnvvua','75XmdLql','4730742WnnxED','15520zHbKBF','54013POICuo','21342Ylfcgq','345NvTjRZ','2177BLMCxI','14284140qfIohL','602570XLKlsf'];_0x57cc=function(){return _0x196667;};return _0x57cc();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['ReporterService']=void 0x0;const pipe_1=require('../pipe');class ReporterService{constructor(_0x2dffc9,_0x5a1c25,_0x8d62a6){this['appVersion']=_0x2dffc9,this['logger']=_0x8d62a6,this['store']=_0x5a1c25;}async['getStats'](_0x6c8a3d){this['logger']['debug']('reporter-getstats-started',_0x6c8a3d);const {key:_0x290986,granularity:_0x2b5caa,range:_0x3f7df7,end:_0x1ef87b,start:_0x887abc}=_0x6c8a3d;this['validateOptions'](_0x6c8a3d);const _0x99547c=this['generateDateTimeSets'](_0x2b5caa,_0x3f7df7,_0x1ef87b,_0x887abc),_0x457e2b=_0x99547c['map'](_0x493069=>this['buildRedisKey'](_0x290986,_0x493069)),_0x7f4b87=await this['store']['getJobStats'](_0x457e2b),[_0x523fb3,_0x1fe44d]=this['aggregateData'](_0x7f4b87),_0xd2f660=this['buildStatsResponse'](_0x7f4b87,_0x457e2b,_0x1fe44d,_0x523fb3,_0x6c8a3d);return _0xd2f660;}['validateOptions'](_0x20094e){const {start:_0x4c7d51,end:_0x52652c,range:_0x8ac7e8,granularity:_0x574bf7}=_0x20094e;if(_0x574bf7!=='infinity'&&(_0x4c7d51&&_0x52652c&&_0x8ac7e8||!_0x4c7d51&&!_0x52652c&&!_0x8ac7e8))throw new Error('Invalid\x20combination\x20of\x20start,\x20end,\x20and\x20range\x20values.\x20Provide\x20either\x20start+end,\x20end+range,\x20or\x20start+range.');}['generateDateTimeSets'](_0x4f598b,_0x2fdb63,_0x4241e8,_0x293c1f){if(_0x4f598b==='infinity')return['0'];!_0x2fdb63&&(_0x2fdb63='0m');const _0x1bfb55={'5m':0x5,'10m':0xa,'15m':0xf,'30m':0x1e,'1h':0x3c},_0x2b6be6=_0x1bfb55[_0x4f598b];if(!_0x2b6be6)throw new Error('Invalid\x20granularity\x20value.');const _0x6f4aa2=this['convertRangeToMinutes'](_0x2fdb63);if(_0x6f4aa2===null)throw new Error('Invalid\x20range\x20value.');let _0xa52b68,_0x467758;_0x293c1f?(_0xa52b68=new Date(_0x293c1f),_0x467758=new Date(_0xa52b68['getTime']()+_0x6f4aa2*0x3c*0x3e8)):(_0x467758=_0x4241e8==='NOW'?new Date():new Date(_0x4241e8),_0xa52b68=new Date(_0x467758['getTime']()-_0x6f4aa2*0x3c*0x3e8));_0xa52b68['setUTCMinutes'](Math['floor'](_0xa52b68['getUTCMinutes']()/_0x2b6be6)*_0x2b6be6);const _0x35c66c=[];for(let _0x4830f5=_0xa52b68;_0x4830f5<=_0x467758;_0x4830f5['setUTCMinutes'](_0x4830f5['getUTCMinutes']()+_0x2b6be6)){const _0x215455=[_0x4830f5['getUTCFullYear'](),String(_0x4830f5['getUTCMonth']()+0x1)['padStart'](0x2,'0'),String(_0x4830f5['getUTCDate']())['padStart'](0x2,'0'),String(_0x4830f5['getUTCHours']())['padStart'](0x2,'0'),String(_0x4830f5['getUTCMinutes']())['padStart'](0x2,'0')]['join']('');_0x35c66c['push'](_0x215455);}return _0x35c66c;}['convertRangeToMinutes'](_0x478d38){const _0x2c5775=_0x478d38['slice'](-0x1),_0x3b89ee=parseInt(_0x478d38['slice'](0x0,-0x1),0xa);if(isNaN(_0x3b89ee))return null;switch(_0x2c5775){case'm':return _0x3b89ee;case'h':return _0x3b89ee*0x3c;case'd':return _0x3b89ee*0x3c*0x18;default:return null;}}['buildRedisKey'](_0x386ead,_0x367a9d,_0x1071a4=''){return'hmsh:'+this['appVersion']['id']+':s:'+_0x386ead+':'+_0x367a9d+(_0x1071a4?':'+_0x1071a4:'');}['aggregateData'](_0x167148){const _0x1e3307={};let _0x4bafc2=0x0;return Object['entries'](_0x167148)['forEach'](([_0x34884,_0x3b9396])=>{for(const _0x5c3fb4 in _0x3b9396){if(_0x5c3fb4['startsWith']('count:')){const _0xc868f2=_0x5c3fb4['slice']('count:'['length']);!_0x1e3307[_0xc868f2]&&(_0x1e3307[_0xc868f2]=0x0),_0x1e3307[_0xc868f2]+=_0x3b9396[_0x5c3fb4];}else _0x5c3fb4==='count'&&(_0x4bafc2+=_0x3b9396[_0x5c3fb4]);}}),[_0x4bafc2,_0x1e3307];}['buildStatsResponse'](_0x3b06a5,_0x4aa293,_0x48776a,_0x58238c,_0x37e481){const _0x1aa219=[],_0x58c4fc=Object['keys'](_0x48776a)['filter'](_0x1c74b2=>_0x1c74b2!=='count');let _0x56bdbc=undefined;_0x37e481['sparse']!==!![]&&(_0x56bdbc=this['handleSegments'](_0x3b06a5,_0x4aa293));_0x58c4fc['forEach'](_0x4f4f69=>{const _0x3a4aa6={'target':_0x4f4f69,'type':'count','value':_0x48776a[_0x4f4f69]};_0x1aa219['push'](_0x3a4aa6);});const _0x179eb8={'key':_0x37e481['key'],'granularity':_0x37e481['granularity'],'range':_0x37e481['range'],'end':_0x37e481['end'],'count':_0x58238c,'measures':_0x1aa219};return _0x56bdbc&&(_0x179eb8['segments']=_0x56bdbc),_0x179eb8;}['handleSegments'](_0x7eaa35,_0x338c6a){const _0x51eea8=[];return _0x338c6a['forEach']((_0x2162a1,_0x447527)=>{const _0x2d355c=[];_0x7eaa35[_0x2162a1]&&Object['entries'](_0x7eaa35[_0x2162a1])['forEach'](([_0x570257,_0x1e4836])=>{if(_0x570257['startsWith']('count:')){const _0x1bb027=_0x570257['slice']('count:'['length']);_0x2d355c['push']({'target':_0x1bb027,'type':'count','value':_0x1e4836});}});const _0xe0f139=this['isoTimestampFromKeyTimestamp'](_0x2162a1),_0x5755ca=_0x7eaa35[_0x2162a1]?_0x7eaa35[_0x2162a1]['count']:0x0;_0x51eea8['push']({'count':_0x5755ca,'time':_0xe0f139,'measures':_0x2d355c});}),_0x51eea8;}['isoTimestampFromKeyTimestamp'](_0x1f4f04){if(_0x1f4f04['endsWith'](':'))return'0';const _0x22794d=_0x1f4f04['slice'](-0xc),_0x400abd=_0x22794d['slice'](0x0,0x4),_0x4b81bc=_0x22794d['slice'](0x4,0x6),_0x3f99a4=_0x22794d['slice'](0x6,0x8),_0x520be4=_0x22794d['slice'](0x8,0xa),_0x4d1712=_0x22794d['slice'](0xa,0xc);return _0x400abd+'-'+_0x4b81bc+'-'+_0x3f99a4+'T'+_0x520be4+':'+_0x4d1712+'Z';}async['getIds'](_0x493945,_0x46c055,_0x2956a7=[0x0,-0x1]){if(!_0x46c055['length']){const _0x3e7958=await this['getStats'](_0x493945);_0x46c055=this['getUniqueFacets'](_0x3e7958);}const {key:_0x59da85,granularity:_0x39edfb,range:_0x106f52,end:_0x3cdc6c,start:_0x2ed002}=_0x493945;this['validateOptions'](_0x493945);let _0x359294=[];_0x46c055['forEach'](_0x1b4672=>{const _0x17e11e=this['generateDateTimeSets'](_0x39edfb,_0x106f52,_0x3cdc6c,_0x2ed002);_0x359294=_0x359294['concat'](_0x17e11e['map'](_0x5e419c=>this['buildRedisKey'](_0x59da85,_0x5e419c,'index:'+_0x1b4672)));});const _0x24090b=await this['store']['getJobIds'](_0x359294,_0x2956a7),_0x3a47a8=this['buildIdsResponse'](_0x24090b,_0x493945,_0x46c055);return _0x3a47a8;}['buildIdsResponse'](_0x2bad95,_0x5125b2,_0x331388){const _0xeb0361={},_0x1508c2=Object['keys'](_0x2bad95);_0x1508c2['forEach'](_0x4b23f7=>{const _0x167eb3=this['getTargetForKey'](_0x4b23f7),_0x39d81c=_0x2bad95[_0x4b23f7]['length'];_0xeb0361[_0x167eb3]?_0xeb0361[_0x167eb3]+=_0x39d81c:_0xeb0361[_0x167eb3]=_0x39d81c;});const _0x2e1046=Object['entries'](_0xeb0361)['map'](([_0x39ba3f,_0x439aa0])=>({'facet':_0x39ba3f,'count':_0x439aa0})),_0x349239={'key':_0x5125b2['key'],'facets':_0x331388,'granularity':_0x5125b2['granularity'],'range':_0x5125b2['range'],'start':_0x5125b2['start'],'counts':_0x2e1046,'segments':this['buildTimeSegments'](_0x2bad95)};return _0x349239;}['buildTimeSegments'](_0x497018){const _0x43bac3=Object['keys'](_0x497018),_0x2674a5={};_0x43bac3['forEach'](_0x5930da=>{const _0x1c5ed3={'type':'ids','target':this['getTargetForKey'](_0x5930da),'time':this['isoTimestampFromKeyTimestamp'](this['getTargetForTime'](_0x5930da)),'count':_0x497018[_0x5930da]['length'],'ids':_0x497018[_0x5930da]};_0x2674a5[_0x1c5ed3['time']]?_0x2674a5[_0x1c5ed3['time']]['push'](_0x1c5ed3):_0x2674a5[_0x1c5ed3['time']]=[_0x1c5ed3];});const _0x2bc755=Object['entries'](_0x2674a5)['map'](([_0x489b97,_0x315615])=>({'time':_0x489b97,'measures':_0x315615}));return _0x2bc755;}['getUniqueFacets'](_0x5ca836){const _0x1eef40=_0x5ca836['measures']['map'](_0x59a4ad=>_0x59a4ad['target']);return Array['from'](new Set(_0x1eef40));}['getTargetForKey'](_0x5e1ffc){return _0x5e1ffc['split'](':index:')[0x1];}['getTargetForTime'](_0x444d40){return _0x444d40['split'](':index:')[0x0];}async['getWorkItems'](_0x25dd21,_0x2febf7){if(!_0x2febf7['length']){const _0xd0f02=await this['getStats'](_0x25dd21);_0x2febf7=this['getUniqueFacets'](_0xd0f02);}const {key:_0x14178f,granularity:_0x37715c,range:_0x478701,end:_0x353745,start:_0x23516f}=_0x25dd21;this['validateOptions'](_0x25dd21);let _0x34c71d=[];_0x2febf7['forEach'](_0x48bda9=>{const _0xc5a08d=this['generateDateTimeSets'](_0x37715c,_0x478701,_0x353745,_0x23516f);_0x34c71d=_0x34c71d['concat'](_0xc5a08d['map'](_0x356a46=>this['buildRedisKey'](_0x14178f,_0x356a46,'index:'+_0x48bda9)));});const _0x4e2ed1=await this['store']['getJobIds'](_0x34c71d,[0x0,0x1]),_0xfffd4a=this['buildWorkerLists'](_0x4e2ed1);return _0xfffd4a;}['buildWorkerLists'](_0x4f95d3){const _0x192667=[];for(const _0x1661a6 in _0x4f95d3){_0x4f95d3[_0x1661a6]['length']&&_0x192667['push'](_0x1661a6);}return _0x192667;}['resolveTriggerStatistics']({stats:_0x4c3837},_0x13d119){const _0x4a46aa={'general':[],'index':[],'median':[]};_0x4a46aa['general']['push']({'metric':'count','target':'count','value':0x1});for(const _0xa8d91b of _0x4c3837['measures']){const _0x588431=this['resolveMetric']({'metric':_0xa8d91b['measure'],'target':_0xa8d91b['target']},_0x13d119);if(this['isGeneralMetric'](_0xa8d91b['measure']))_0x4a46aa['general']['push'](_0x588431);else{if(this['isMedianMetric'](_0xa8d91b['measure']))_0x4a46aa['median']['push'](_0x588431);else this['isIndexMetric'](_0xa8d91b['measure'])&&_0x4a46aa['index']['push'](_0x588431);}}return _0x4a46aa;}['isGeneralMetric'](_0x17638c){return ReporterService['isGeneralMetric'](_0x17638c);}['isMedianMetric'](_0x5dece0){return ReporterService['isMedianMetric'](_0x5dece0);}['isIndexMetric'](_0x1ebe54){return ReporterService['isIndexMetric'](_0x1ebe54);}static['isGeneralMetric'](_0x5d9b36){return _0x5d9b36==='sum'||_0x5d9b36==='avg'||_0x5d9b36==='count';}static['isMedianMetric'](_0x194ece){return _0x194ece==='mdn';}static['isIndexMetric'](_0x46f62e){return _0x46f62e==='index';}['resolveMetric']({metric:_0x44b212,target:_0x29abf7},_0x262e8d){const _0x1ea829=new pipe_1['Pipe']([[_0x29abf7]],_0x262e8d),_0x462520=_0x1ea829['process']()['toString'](),_0x7f4a54=this['resolveTarget'](_0x44b212,_0x29abf7,_0x462520);if(_0x44b212==='index')return{'metric':_0x44b212,'target':_0x7f4a54,'value':_0x262e8d['metadata']['jid']};else{if(_0x44b212==='count')return{'metric':_0x44b212,'target':_0x7f4a54,'value':0x1};}return{'metric':_0x44b212,'target':_0x7f4a54,'value':_0x462520};}['isCardinalMetric'](_0x191aca){return _0x191aca==='index'||_0x191aca==='count';}['resolveTarget'](_0x5d56e6,_0x2f2759,_0x2b67d3){const _0x226862=_0x2f2759['substring'](0x1,_0x2f2759['length']-0x1),_0x3b295f=_0x226862['split']('.')['slice'](0x3)['join']('/');let _0x28323e;return this['isCardinalMetric'](_0x5d56e6)?_0x28323e=_0x5d56e6+':'+_0x3b295f+':'+_0x2b67d3:_0x28323e=_0x5d56e6+':'+_0x3b295f,_0x28323e;}}exports['ReporterService']=ReporterService,ReporterService['DEFAULT_GRANULARITY']='5m';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(_0x58037e,_0x66d11b){const _0x2add12=_0x517e,_0x3fbc79=_0x58037e();while(!![]){try{const _0x50372a=parseInt(_0x2add12(0x15d))/0x1+parseInt(_0x2add12(0x15f))/0x2*(-parseInt(_0x2add12(0x15b))/0x3)+parseInt(_0x2add12(0x161))/0x4*(parseInt(_0x2add12(0x15a))/0x5)+parseInt(_0x2add12(0x160))/0x6*(parseInt(_0x2add12(0x15c))/0x7)+-parseInt(_0x2add12(0x163))/0x8*(parseInt(_0x2add12(0x164))/0x9)+-parseInt(_0x2add12(0x15e))/0xa+parseInt(_0x2add12(0x162))/0xb;if(_0x50372a===_0x66d11b)break;else _0x3fbc79['push'](_0x3fbc79['shift']());}catch(_0x4890b2){_0x3fbc79['push'](_0x3fbc79['shift']());}}}(_0x14d1,0xadac6));function _0x517e(_0x38cc30,_0x5ed1ea){const _0x14d1cc=_0x14d1();return _0x517e=function(_0x517e10,_0x1ec087){_0x517e10=_0x517e10-0x15a;let _0x2e7102=_0x14d1cc[_0x517e10];return _0x2e7102;},_0x517e(_0x38cc30,_0x5ed1ea);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['Router']=void 0x0;const enums_1=require('../../modules/enums'),key_1=require('../../modules/key'),utils_1=require('../../modules/utils'),telemetry_1=require('../telemetry'),stream_1=require('../../types/stream');function _0x14d1(){const _0x27e69d=['131218sDapii','1472802OtKAGw','9868vFTMhQ','14684703ceJZPV','8iBZjDU','4871187aDpXSn','1030JeUKak','39yfSphh','7qRkNnE','1216135HlgEvr','11992510hnyuhf'];_0x14d1=function(){return _0x27e69d;};return _0x14d1();}class Router{constructor(_0x14d2f8,_0x378c24,_0x3c275d){this['throttle']=0x0,this['errorCount']=0x0,this['counts']={},this['currentTimerId']=null,this['sleepPromiseResolve']=null,this['innerPromiseResolve']=null,this['isSleeping']=![],this['sleepTimout']=null,this['appId']=_0x14d2f8['appId'],this['guid']=_0x14d2f8['guid'],this['role']=_0x14d2f8['role'],this['topic']=_0x14d2f8['topic'],this['stream']=_0x378c24,this['throttle']=_0x14d2f8['throttle'],this['reclaimDelay']=_0x14d2f8['reclaimDelay']||enums_1['HMSH_XCLAIM_DELAY_MS'],this['reclaimCount']=_0x14d2f8['reclaimCount']||enums_1['HMSH_XCLAIM_COUNT'],this['logger']=_0x3c275d,this['readonly']=_0x14d2f8['readonly']||![],this['resetThrottleState']();}['resetThrottleState'](){this['sleepPromiseResolve']=null,this['innerPromiseResolve']=null,this['isSleeping']=![],this['sleepTimout']=null;}async['createGroup'](_0x33059b,_0x25e22){try{await this['stream']['createConsumerGroup'](_0x33059b,_0x25e22);}catch(_0x1d21b4){this['logger']['debug']('router-stream-group-exists',{'stream':_0x33059b,'group':_0x25e22});}}async['publishMessage'](_0x5f0578,_0x33f4b6,_0x161f9a){const _0x53fed1=_0x33f4b6?.['code']||'200';this['counts'][_0x53fed1]=(this['counts'][_0x53fed1]||0x0)+0x1;const _0x17df8c=this['stream']['mintKey'](key_1['KeyType']['STREAMS'],{'topic':_0x5f0578}),_0x26698b=await this['stream']['publishMessages'](_0x17df8c,[JSON['stringify'](_0x33f4b6)],{'transaction':_0x161f9a});return _0x26698b[0x0];}async['customSleep'](){if(this['throttle']===0x0)return;if(this['isSleeping'])return;this['isSleeping']=!![];const _0x31bc30=Date['now']();await new Promise(async _0x15e919=>{this['sleepPromiseResolve']=_0x15e919;let _0x163948=Date['now']()-_0x31bc30;while(_0x163948<this['throttle']){await new Promise(_0x4b169c=>{this['innerPromiseResolve']=_0x4b169c,this['sleepTimout']=setTimeout(_0x4b169c,this['throttle']-_0x163948);}),_0x163948=Date['now']()-_0x31bc30;}this['resetThrottleState'](),_0x15e919();});}async['consumeMessages'](_0x25f74a,_0x10b84f,_0x230b63,_0x297f28){if(this['readonly']){this['logger']['info']('router-stream-readonly',{'group':_0x10b84f,'consumer':_0x230b63,'stream':_0x25f74a});return;}this['logger']['info']('router-stream-starting',{'group':_0x10b84f,'consumer':_0x230b63,'stream':_0x25f74a}),Router['instances']['add'](this),this['shouldConsume']=!![],await this['createGroup'](_0x25f74a,_0x10b84f);let _0x24748e=Date['now']();async function _0x1b270a(){await this['customSleep']();if(this['isStopped'](_0x10b84f,_0x230b63,_0x25f74a))return;else{if(this['isPaused']()){setImmediate(_0x1b270a['bind'](this));return;}}const _0x415a0e=enums_1['HMSH_BLOCK_TIME_MS']+Math['round'](enums_1['HMSH_BLOCK_TIME_MS']*Math['random']());try{const _0x4c3ae1=await this['stream']['consumeMessages'](_0x25f74a,_0x10b84f,_0x230b63,{'blockTimeout':_0x415a0e});if(this['isStopped'](_0x10b84f,_0x230b63,_0x25f74a))return;else{if(this['isPaused']()){setImmediate(_0x1b270a['bind'](this));return;}}for(let _0x50bf40=0x0;_0x50bf40<_0x4c3ae1['length'];_0x50bf40++){const _0x343505=_0x4c3ae1[_0x50bf40];await this['consumeOne'](_0x25f74a,_0x10b84f,_0x343505['id'],_0x343505['data'],_0x297f28);}const _0x177825=Date['now']();if(this['stream']['getProviderSpecificFeatures']()['supportsRetry']&&_0x177825-_0x24748e>this['reclaimDelay']){_0x24748e=_0x177825;const _0x56497c=await this['stream']['retryMessages'](_0x25f74a,_0x10b84f,{'consumerName':_0x230b63,'minIdleTime':this['reclaimDelay'],'limit':enums_1['HMSH_XPENDING_COUNT']});for(let _0x2d784d=0x0;_0x2d784d<_0x56497c['length'];_0x2d784d++){const _0x36e75a=_0x56497c[_0x2d784d];await this['consumeOne'](_0x25f74a,_0x10b84f,_0x36e75a['id'],_0x36e75a['data'],_0x297f28);}}setImmediate(_0x1b270a['bind'](this));}catch(_0x19c5dd){if(this['shouldConsume']&&process['env']['NODE_ENV']!=='test'){this['logger']['error']('router-stream-error',{'err':_0x19c5dd,'stream':_0x25f74a,'group':_0x10b84f,'consumer':_0x230b63}),this['errorCount']++;const _0x41f6c7=Math['min'](enums_1['HMSH_GRADUATED_INTERVAL_MS']*0x2**this['errorCount'],enums_1['HMSH_MAX_TIMEOUT_MS']);setTimeout(_0x1b270a['bind'](this),_0x41f6c7);}}}_0x1b270a['call'](this);}['isStreamMessage'](_0x82e190){return Array['isArray'](_0x82e190)&&Array['isArray'](_0x82e190[0x0]);}['isPaused'](){return this['throttle']===enums_1['MAX_DELAY'];}['isStopped'](_0x305872,_0x1a37e2,_0x18a2a9){return!this['shouldConsume']&&this['logger']['info']('router-stream-stopped',{'group':_0x305872,'consumer':_0x1a37e2,'stream':_0x18a2a9}),!this['shouldConsume'];}async['consumeOne'](_0x1cf898,_0x92fc6c,_0x43b662,_0x3d57b9,_0x294bac){this['logger']['debug']('stream-read-one',{'group':_0x92fc6c,'stream':_0x1cf898,'id':_0x43b662});let _0x3b1ff9,_0x243160;try{_0x243160=new telemetry_1['TelemetryService'](this['appId']),_0x243160['startStreamSpan'](_0x3d57b9,this['role']),_0x3b1ff9=await this['execStreamLeg'](_0x3d57b9,_0x1cf898,_0x43b662,_0x294bac['bind'](this)),_0x3b1ff9?.['status']===stream_1['StreamStatus']['ERROR']&&_0x243160['setStreamError']('Function\x20Status\x20Code\x20'+(_0x3b1ff9['code']||enums_1['HMSH_CODE_UNKNOWN'])),this['errorCount']=0x0;}catch(_0x360080){this['logger']['error']('stream-read-one-error',{'group':_0x92fc6c,'stream':_0x1cf898,'id':_0x43b662,'err':_0x360080}),_0x243160['setStreamError'](_0x360080['message']);}const _0xdf73d9=await this['publishResponse'](_0x3d57b9,_0x3b1ff9);_0x243160['setStreamAttributes']({'app.worker.mid':_0xdf73d9}),await this['ackAndDelete'](_0x1cf898,_0x92fc6c,_0x43b662),_0x243160['endStreamSpan'](),this['logger']['debug']('stream-read-one-end',{'group':_0x92fc6c,'stream':_0x1cf898,'id':_0x43b662});}async['execStreamLeg'](_0xd78e57,_0xb1b656,_0x1c4960,_0x18a371){let _0x534bcd;try{_0x534bcd=await _0x18a371(_0xd78e57);}catch(_0x2f495c){this['logger']['error']('stream-call-function-error',{..._0x2f495c,'input':_0xd78e57,'stack':_0x2f495c['stack'],'message':_0x2f495c['message'],'name':_0x2f495c['name'],'stream':_0xb1b656,'id':_0x1c4960}),_0x534bcd=this['structureUnhandledError'](_0xd78e57,_0x2f495c);}return _0x534bcd;}async['ackAndDelete'](_0x50ef92,_0x2cea1e,_0x709d14){await this['stream']['ackAndDelete'](_0x50ef92,_0x2cea1e,[_0x709d14]);}async['publishResponse'](_0x4a32c5,_0x10163c){if(_0x10163c&&typeof _0x10163c==='object'){if(_0x10163c['status']==='error'){const [_0x152642,_0x52f739]=this['shouldRetry'](_0x4a32c5,_0x10163c);if(_0x152642)return await(0x0,utils_1['sleepFor'])(_0x52f739),await this['publishMessage'](_0x4a32c5['metadata']['topic'],{'data':_0x4a32c5['data'],'metadata':{..._0x4a32c5['metadata'],'try':(_0x4a32c5['metadata']['try']||0x0)+0x1},'policies':_0x4a32c5['policies']});else _0x10163c=this['structureError'](_0x4a32c5,_0x10163c);}else typeof _0x10163c['metadata']!=='object'?_0x10163c['metadata']={..._0x4a32c5['metadata'],'guid':(0x0,utils_1['guid'])()}:_0x10163c['metadata']['guid']=(0x0,utils_1['guid'])();return _0x10163c['type']=stream_1['StreamDataType']['RESPONSE'],await this['publishMessage'](null,_0x10163c);}}['shouldRetry'](_0xede35,_0x3d1dae){const _0x1dd6a0=_0xede35['policies']?.['retry'],_0x10dafa=_0x3d1dae['code']['toString'](),_0x27e87c=_0x1dd6a0?.[_0x10dafa],_0x57b6a3=_0x27e87c?.[0x0],_0x5a0e41=Math['min'](_0xede35['metadata']['try']||0x0,enums_1['HMSH_MAX_RETRIES']);if(_0x57b6a3>_0x5a0e41)return[!![],Math['pow'](0xa,_0x5a0e41+0x1)];return[![],0x0];}['structureUnhandledError'](_0x3f813f,_0x33a00c){const _0x12a200={};return typeof _0x33a00c['message']==='string'?_0x12a200['message']=_0x33a00c['message']:_0x12a200['message']=enums_1['HMSH_STATUS_UNKNOWN'],typeof _0x33a00c['stack']==='string'&&(_0x12a200['stack']=_0x33a00c['stack']),typeof _0x33a00c['name']==='string'&&(_0x12a200['name']=_0x33a00c['name']),{'status':'error','code':enums_1['HMSH_CODE_UNKNOWN'],'metadata':{..._0x3f813f['metadata'],'guid':(0x0,utils_1['guid'])()},'data':_0x12a200};}['structureUnacknowledgedError'](_0x1da482){const _0x304c81='stream\x20message\x20max\x20delivery\x20count\x20exceeded',_0x262b32=enums_1['HMSH_CODE_UNACKED'],_0x2a9590={'message':_0x304c81,'code':_0x262b32},_0x329761={'metadata':{..._0x1da482['metadata'],'guid':(0x0,utils_1['guid'])()},'status':stream_1['StreamStatus']['ERROR'],'code':_0x262b32,'data':_0x2a9590};return delete _0x329761['metadata']['topic'],_0x329761;}['structureError'](_0x5eb25c,_0x5a9480){const _0xe5ff9d=_0x5a9480['data']?.['message']?_0x5a9480['data']?.['message']['toString']():enums_1['HMSH_STATUS_UNKNOWN'],_0x6e45a2=_0x5a9480['code']||_0x5a9480['data']?.['code'],_0x262a87=isNaN(_0x6e45a2)?enums_1['HMSH_CODE_UNKNOWN']:parseInt(_0x6e45a2['toString']()),_0x473dff=_0x5a9480['data']?.['stack']?_0x5a9480['data']?.['stack']['toString']():undefined,_0xc42208={'message':_0xe5ff9d,'code':_0x262a87,'stack':_0x473dff};return typeof _0x5a9480['data']?.['error']==='object'&&(_0xc42208['error']={..._0x5a9480['data']['error']}),{'status':stream_1['StreamStatus']['ERROR'],'code':_0x262a87,'stack':_0x473dff,'metadata':{..._0x5eb25c['metadata'],'guid':(0x0,utils_1['guid'])()},'data':_0xc42208};}static async['stopConsuming'](){for(const _0x3a2b4f of[...Router['instances']]){_0x3a2b4f['stopConsuming']();}await(0x0,utils_1['sleepFor'])(enums_1['HMSH_BLOCK_TIME_MS']*0x2);}async['stopConsuming'](){this['shouldConsume']=![],this['logger']['info']('router-stream-stopping',this['topic']?{'topic':this['topic']}:undefined),this['cancelThrottle']();}['cancelThrottle'](){this['sleepTimout']&&clearTimeout(this['sleepTimout']),this['resetThrottleState']();}['setThrottle'](_0x336a05){if(!Number['isInteger'](_0x336a05)||_0x336a05<0x0||_0x336a05>enums_1['MAX_DELAY'])throw new Error('Throttle\x20must\x20be\x20a\x20non-negative\x20integer\x20and\x20not\x20exceed\x20'+enums_1['MAX_DELAY']+'\x20ms;\x20send\x20-1\x20to\x20throttle\x20indefinitely');const _0x4d1968=_0x336a05<this['throttle'];this['throttle']=_0x336a05,_0x4d1968&&(this['sleepTimout']&&clearTimeout(this['sleepTimout']),this['innerPromiseResolve']&&this['innerPromiseResolve']());}}exports['Router']=Router,Router['instances']=new Set();
|
|
1
|
+
'use strict';function _0x5749(){const _0xf919fb=['116010ENNDzQ','5796rbaJHF','3670TMJyep','1873830rHxEjf','3319864xpjjcv','6zcZeoo','4458663RESnyM','607190SWnIzJ','3388psrFOm','55VppRwH','3012HaOSoG'];_0x5749=function(){return _0xf919fb;};return _0x5749();}(function(_0x2245e9,_0x2b0590){const _0x31a175=_0x5e24,_0x17db2c=_0x2245e9();while(!![]){try{const _0x56e157=parseInt(_0x31a175(0x1c0))/0x1+parseInt(_0x31a175(0x1c4))/0x2*(-parseInt(_0x31a175(0x1be))/0x3)+-parseInt(_0x31a175(0x1c3))/0x4*(parseInt(_0x31a175(0x1c6))/0x5)+parseInt(_0x31a175(0x1c5))/0x6*(-parseInt(_0x31a175(0x1c1))/0x7)+parseInt(_0x31a175(0x1c8))/0x8+-parseInt(_0x31a175(0x1bf))/0x9+parseInt(_0x31a175(0x1c7))/0xa*(parseInt(_0x31a175(0x1c2))/0xb);if(_0x56e157===_0x2b0590)break;else _0x17db2c['push'](_0x17db2c['shift']());}catch(_0x24fc20){_0x17db2c['push'](_0x17db2c['shift']());}}}(_0x5749,0x4ff01));function _0x5e24(_0x378ca1,_0x2183de){const _0x5749d0=_0x5749();return _0x5e24=function(_0x5e2489,_0x13d468){_0x5e2489=_0x5e2489-0x1be;let _0x48674e=_0x5749d0[_0x5e2489];return _0x48674e;},_0x5e24(_0x378ca1,_0x2183de);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['Router']=void 0x0;const enums_1=require('../../modules/enums'),key_1=require('../../modules/key'),utils_1=require('../../modules/utils'),telemetry_1=require('../telemetry'),stream_1=require('../../types/stream');class Router{constructor(_0x34dc22,_0x130494,_0x1b371c){this['throttle']=0x0,this['errorCount']=0x0,this['counts']={},this['currentTimerId']=null,this['sleepPromiseResolve']=null,this['innerPromiseResolve']=null,this['isSleeping']=![],this['sleepTimout']=null,this['appId']=_0x34dc22['appId'],this['guid']=_0x34dc22['guid'],this['role']=_0x34dc22['role'],this['topic']=_0x34dc22['topic'],this['stream']=_0x130494,this['throttle']=_0x34dc22['throttle'],this['reclaimDelay']=_0x34dc22['reclaimDelay']||enums_1['HMSH_XCLAIM_DELAY_MS'],this['reclaimCount']=_0x34dc22['reclaimCount']||enums_1['HMSH_XCLAIM_COUNT'],this['logger']=_0x1b371c,this['readonly']=_0x34dc22['readonly']||![],this['resetThrottleState']();}['resetThrottleState'](){this['sleepPromiseResolve']=null,this['innerPromiseResolve']=null,this['isSleeping']=![],this['sleepTimout']=null;}async['createGroup'](_0x190369,_0x347b3d){try{await this['stream']['createConsumerGroup'](_0x190369,_0x347b3d);}catch(_0x36dfae){this['logger']['debug']('router-stream-group-exists',{'stream':_0x190369,'group':_0x347b3d});}}async['publishMessage'](_0x1d4d24,_0x6c379b,_0x543eab){const _0x3d63d3=_0x6c379b?.['code']||'200';this['counts'][_0x3d63d3]=(this['counts'][_0x3d63d3]||0x0)+0x1;const _0x5e6762=this['stream']['mintKey'](key_1['KeyType']['STREAMS'],{'topic':_0x1d4d24}),_0x4f7a44=await this['stream']['publishMessages'](_0x5e6762,[JSON['stringify'](_0x6c379b)],{'transaction':_0x543eab});return _0x4f7a44[0x0];}async['customSleep'](){if(this['throttle']===0x0)return;if(this['isSleeping'])return;this['isSleeping']=!![];const _0xa7bd29=Date['now']();await new Promise(async _0x42bffb=>{this['sleepPromiseResolve']=_0x42bffb;let _0x44477e=Date['now']()-_0xa7bd29;while(_0x44477e<this['throttle']){await new Promise(_0x1f4459=>{this['innerPromiseResolve']=_0x1f4459,this['sleepTimout']=setTimeout(_0x1f4459,this['throttle']-_0x44477e);}),_0x44477e=Date['now']()-_0xa7bd29;}this['resetThrottleState'](),_0x42bffb();});}async['consumeMessages'](_0x435355,_0x1cd1cb,_0x322763,_0xda5760){if(this['readonly']){this['logger']['info']('router-stream-readonly',{'group':_0x1cd1cb,'consumer':_0x322763,'stream':_0x435355});return;}this['logger']['info']('router-stream-starting',{'group':_0x1cd1cb,'consumer':_0x322763,'stream':_0x435355}),Router['instances']['add'](this),this['shouldConsume']=!![],await this['createGroup'](_0x435355,_0x1cd1cb);let _0x207950=Date['now']();async function _0x417b25(){await this['customSleep']();if(this['isStopped'](_0x1cd1cb,_0x322763,_0x435355))return;else{if(this['isPaused']()){setImmediate(_0x417b25['bind'](this));return;}}const _0xbcee12=enums_1['HMSH_BLOCK_TIME_MS']+Math['round'](enums_1['HMSH_BLOCK_TIME_MS']*Math['random']());try{const _0x1e3e24=await this['stream']['consumeMessages'](_0x435355,_0x1cd1cb,_0x322763,{'blockTimeout':_0xbcee12});if(this['isStopped'](_0x1cd1cb,_0x322763,_0x435355))return;else{if(this['isPaused']()){setImmediate(_0x417b25['bind'](this));return;}}for(let _0x4200e9=0x0;_0x4200e9<_0x1e3e24['length'];_0x4200e9++){const _0x2433b4=_0x1e3e24[_0x4200e9];await this['consumeOne'](_0x435355,_0x1cd1cb,_0x2433b4['id'],_0x2433b4['data'],_0xda5760);}const _0x5bd5f2=Date['now']();if(this['stream']['getProviderSpecificFeatures']()['supportsRetry']&&_0x5bd5f2-_0x207950>this['reclaimDelay']){_0x207950=_0x5bd5f2;const _0x365893=await this['stream']['retryMessages'](_0x435355,_0x1cd1cb,{'consumerName':_0x322763,'minIdleTime':this['reclaimDelay'],'limit':enums_1['HMSH_XPENDING_COUNT']});for(let _0x48db7f=0x0;_0x48db7f<_0x365893['length'];_0x48db7f++){const _0xdf075b=_0x365893[_0x48db7f];await this['consumeOne'](_0x435355,_0x1cd1cb,_0xdf075b['id'],_0xdf075b['data'],_0xda5760);}}setImmediate(_0x417b25['bind'](this));}catch(_0x97b2a2){if(this['shouldConsume']&&process['env']['NODE_ENV']!=='test'){this['logger']['error']('router-stream-error',{'err':_0x97b2a2,'stream':_0x435355,'group':_0x1cd1cb,'consumer':_0x322763}),this['errorCount']++;const _0x5d7084=Math['min'](enums_1['HMSH_GRADUATED_INTERVAL_MS']*0x2**this['errorCount'],enums_1['HMSH_MAX_TIMEOUT_MS']);setTimeout(_0x417b25['bind'](this),_0x5d7084);}}}_0x417b25['call'](this);}['isStreamMessage'](_0x55a2a4){return Array['isArray'](_0x55a2a4)&&Array['isArray'](_0x55a2a4[0x0]);}['isPaused'](){return this['throttle']===enums_1['MAX_DELAY'];}['isStopped'](_0x3a6a18,_0x17484e,_0x4fc20d){return!this['shouldConsume']&&this['logger']['info']('router-stream-stopped',{'group':_0x3a6a18,'consumer':_0x17484e,'stream':_0x4fc20d}),!this['shouldConsume'];}async['consumeOne'](_0xac9f21,_0x2bf419,_0x509946,_0x311448,_0x10fec9){this['logger']['debug']('stream-read-one',{'group':_0x2bf419,'stream':_0xac9f21,'id':_0x509946});let _0x259d62,_0x4d65eb;try{_0x4d65eb=new telemetry_1['TelemetryService'](this['appId']),_0x4d65eb['startStreamSpan'](_0x311448,this['role']),_0x259d62=await this['execStreamLeg'](_0x311448,_0xac9f21,_0x509946,_0x10fec9['bind'](this)),_0x259d62?.['status']===stream_1['StreamStatus']['ERROR']&&_0x4d65eb['setStreamError']('Function\x20Status\x20Code\x20'+(_0x259d62['code']||enums_1['HMSH_CODE_UNKNOWN'])),this['errorCount']=0x0;}catch(_0x3d44d7){this['logger']['error']('stream-read-one-error',{'group':_0x2bf419,'stream':_0xac9f21,'id':_0x509946,'err':_0x3d44d7}),_0x4d65eb['setStreamError'](_0x3d44d7['message']);}const _0x5bd3f0=await this['publishResponse'](_0x311448,_0x259d62);_0x4d65eb['setStreamAttributes']({'app.worker.mid':_0x5bd3f0}),await this['ackAndDelete'](_0xac9f21,_0x2bf419,_0x509946),_0x4d65eb['endStreamSpan'](),this['logger']['debug']('stream-read-one-end',{'group':_0x2bf419,'stream':_0xac9f21,'id':_0x509946});}async['execStreamLeg'](_0x2100dc,_0xeead37,_0x32a94d,_0x1887b5){let _0x228d23;try{_0x228d23=await _0x1887b5(_0x2100dc);}catch(_0x4ec814){this['logger']['error']('stream-call-function-error',{..._0x4ec814,'input':_0x2100dc,'stack':_0x4ec814['stack'],'message':_0x4ec814['message'],'name':_0x4ec814['name'],'stream':_0xeead37,'id':_0x32a94d}),_0x228d23=this['structureUnhandledError'](_0x2100dc,_0x4ec814);}return _0x228d23;}async['ackAndDelete'](_0x3d5185,_0x4fc48a,_0x19aec8){await this['stream']['ackAndDelete'](_0x3d5185,_0x4fc48a,[_0x19aec8]);}async['publishResponse'](_0x3e5caa,_0xf4e219){if(_0xf4e219&&typeof _0xf4e219==='object'){if(_0xf4e219['status']==='error'){const [_0x208493,_0xa16a62]=this['shouldRetry'](_0x3e5caa,_0xf4e219);if(_0x208493)return await(0x0,utils_1['sleepFor'])(_0xa16a62),await this['publishMessage'](_0x3e5caa['metadata']['topic'],{'data':_0x3e5caa['data'],'metadata':{..._0x3e5caa['metadata'],'try':(_0x3e5caa['metadata']['try']||0x0)+0x1},'policies':_0x3e5caa['policies']});else _0xf4e219=this['structureError'](_0x3e5caa,_0xf4e219);}else typeof _0xf4e219['metadata']!=='object'?_0xf4e219['metadata']={..._0x3e5caa['metadata'],'guid':(0x0,utils_1['guid'])()}:_0xf4e219['metadata']['guid']=(0x0,utils_1['guid'])();return _0xf4e219['type']=stream_1['StreamDataType']['RESPONSE'],await this['publishMessage'](null,_0xf4e219);}}['shouldRetry'](_0x319a91,_0x2dc206){const _0x15cc2a=_0x319a91['policies']?.['retry'],_0x38e51e=_0x2dc206['code']['toString'](),_0xb29686=_0x15cc2a?.[_0x38e51e],_0x395944=_0xb29686?.[0x0],_0x3b2d10=Math['min'](_0x319a91['metadata']['try']||0x0,enums_1['HMSH_MAX_RETRIES']);if(_0x395944>_0x3b2d10)return[!![],Math['pow'](0xa,_0x3b2d10+0x1)];return[![],0x0];}['structureUnhandledError'](_0x421a7d,_0x1cff75){const _0x3193b9={};return typeof _0x1cff75['message']==='string'?_0x3193b9['message']=_0x1cff75['message']:_0x3193b9['message']=enums_1['HMSH_STATUS_UNKNOWN'],typeof _0x1cff75['stack']==='string'&&(_0x3193b9['stack']=_0x1cff75['stack']),typeof _0x1cff75['name']==='string'&&(_0x3193b9['name']=_0x1cff75['name']),{'status':'error','code':enums_1['HMSH_CODE_UNKNOWN'],'metadata':{..._0x421a7d['metadata'],'guid':(0x0,utils_1['guid'])()},'data':_0x3193b9};}['structureUnacknowledgedError'](_0x178347){const _0x445cfa='stream\x20message\x20max\x20delivery\x20count\x20exceeded',_0x1fe94d=enums_1['HMSH_CODE_UNACKED'],_0x4beb4b={'message':_0x445cfa,'code':_0x1fe94d},_0xd683fa={'metadata':{..._0x178347['metadata'],'guid':(0x0,utils_1['guid'])()},'status':stream_1['StreamStatus']['ERROR'],'code':_0x1fe94d,'data':_0x4beb4b};return delete _0xd683fa['metadata']['topic'],_0xd683fa;}['structureError'](_0xef3310,_0x32b7c9){const _0xda06f5=_0x32b7c9['data']?.['message']?_0x32b7c9['data']?.['message']['toString']():enums_1['HMSH_STATUS_UNKNOWN'],_0x284744=_0x32b7c9['code']||_0x32b7c9['data']?.['code'],_0x35d048=isNaN(_0x284744)?enums_1['HMSH_CODE_UNKNOWN']:parseInt(_0x284744['toString']()),_0x494181=_0x32b7c9['data']?.['stack']?_0x32b7c9['data']?.['stack']['toString']():undefined,_0x34a71e={'message':_0xda06f5,'code':_0x35d048,'stack':_0x494181};return typeof _0x32b7c9['data']?.['error']==='object'&&(_0x34a71e['error']={..._0x32b7c9['data']['error']}),{'status':stream_1['StreamStatus']['ERROR'],'code':_0x35d048,'stack':_0x494181,'metadata':{..._0xef3310['metadata'],'guid':(0x0,utils_1['guid'])()},'data':_0x34a71e};}static async['stopConsuming'](){for(const _0x40025b of[...Router['instances']]){_0x40025b['stopConsuming']();}await(0x0,utils_1['sleepFor'])(enums_1['HMSH_BLOCK_TIME_MS']*0x2);}async['stopConsuming'](){this['shouldConsume']=![],this['logger']['info']('router-stream-stopping',this['topic']?{'topic':this['topic']}:undefined),this['cancelThrottle']();}['cancelThrottle'](){this['sleepTimout']&&clearTimeout(this['sleepTimout']),this['resetThrottleState']();}['setThrottle'](_0x42dd4f){if(!Number['isInteger'](_0x42dd4f)||_0x42dd4f<0x0||_0x42dd4f>enums_1['MAX_DELAY'])throw new Error('Throttle\x20must\x20be\x20a\x20non-negative\x20integer\x20and\x20not\x20exceed\x20'+enums_1['MAX_DELAY']+'\x20ms;\x20send\x20-1\x20to\x20throttle\x20indefinitely');const _0x6a1965=_0x42dd4f<this['throttle'];this['throttle']=_0x42dd4f,_0x6a1965&&(this['sleepTimout']&&clearTimeout(this['sleepTimout']),this['innerPromiseResolve']&&this['innerPromiseResolve']());}}exports['Router']=Router,Router['instances']=new Set();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x289630,_0x23c9f6){const _0x29d1f6=_0x51e1,_0x265de2=_0x289630();while(!![]){try{const _0x51122b=-parseInt(_0x29d1f6(0x1b2))/0x1*(parseInt(_0x29d1f6(0x1b0))/0x2)+parseInt(_0x29d1f6(0x1b3))/0x3*(-parseInt(_0x29d1f6(0x1b7))/0x4)+parseInt(_0x29d1f6(0x1b5))/0x5+-parseInt(_0x29d1f6(0x1b4))/0x6*(-parseInt(_0x29d1f6(0x1af))/0x7)+parseInt(_0x29d1f6(0x1b6))/0x8*(parseInt(_0x29d1f6(0x1ad))/0x9)+-parseInt(_0x29d1f6(0x1ae))/0xa+parseInt(_0x29d1f6(0x1b1))/0xb;if(_0x51122b===_0x23c9f6)break;else _0x265de2['push'](_0x265de2['shift']());}catch(_0x1d92f2){_0x265de2['push'](_0x265de2['shift']());}}}(_0x4b77,0xaebae));function _0x4b77(){const _0x45e41b=['1824942IofXCE','60KHBcmu','3499960QKZVBP','8ErXYBB','4somuUt','2006919thZpBt','7690190KGqlOK','278929ViJmOL','34rHZanw','15994055XfyFXh','40143aKMjlB'];_0x4b77=function(){return _0x45e41b;};return _0x4b77();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['PostgresSearchService']=void 0x0;const index_1=require('../../index'),kvsql_1=require('../../../store/providers/postgres/kvsql');class PostgresSearchService extends index_1['SearchService']{['transact'](){return this['storeClient']['transact']();}constructor(_0x4b2d20,_0x3326ef){super(_0x4b2d20,_0x3326ef),this['pgClient']=_0x4b2d20,this['searchClient']=new kvsql_1['KVSQL'](_0x4b2d20,this['namespace'],this['appId']);}async['init'](_0xcaf5bd,_0x2d7cd3,_0x238360){this['searchClient']['namespace']=this['namespace']=_0xcaf5bd,this['searchClient']['appId']=this['appId']=_0x2d7cd3,this['namespace']=_0xcaf5bd,this['appId']=_0x2d7cd3,this['logger']=_0x238360;}async['createSearchIndex'](_0x255fa5,_0x30a011,_0x10b1ed){}async['listSearchIndexes'](){return[];}async['setFields'](_0x26aaba,_0x3d3e80){try{const _0x29aa46=await this['searchClient']['hset'](_0x26aaba,_0x3d3e80);return Number(_0x29aa46);}catch(_0x415e05){this['logger']['error']('postgres-search-set-fields-error',{'key':_0x26aaba,..._0x415e05});throw _0x415e05;}}async['getField'](_0x2d3d3e,_0x52c9be){try{return await this['searchClient']['hget'](_0x2d3d3e,_0x52c9be);}catch(_0x5c5835){this['logger']['error']('postgres-search-get-field-error',{'key':_0x2d3d3e,'field':_0x52c9be,..._0x5c5835});throw _0x5c5835;}}async['getFields'](_0x1b0d11,_0x8d01d9){try{return await this['searchClient']['hmget'](_0x1b0d11,[..._0x8d01d9]);}catch(_0x50dd8c){this['logger']['error']('postgres-search-get-fields-error',{'key':_0x1b0d11,'fields':_0x8d01d9,..._0x50dd8c});throw _0x50dd8c;}}async['getAllFields'](_0x275582){try{return await this['searchClient']['hgetall'](_0x275582);}catch(_0x4fd2df){this['logger']['error']('postgres-search-get-all-fields-error',{'key':_0x275582,..._0x4fd2df});throw _0x4fd2df;}}async['deleteFields'](_0x5c04a4,_0x359ba3){try{const _0xea03ea=await this['searchClient']['hdel'](_0x5c04a4,_0x359ba3);return Number(_0xea03ea);}catch(_0x1ef658){this['logger']['error']('postgres-search-delete-fields-error',{'key':_0x5c04a4,'fields':_0x359ba3,..._0x1ef658});throw _0x1ef658;}}async['incrementFieldByFloat'](_0x531aef,_0x1432a7,_0x1d65ca){try{const _0x206220=await this['searchClient']['hincrbyfloat'](_0x531aef,_0x1432a7,_0x1d65ca);return Number(_0x206220);}catch(_0x54d693){this['logger']['error']('postgres-increment-field-error',{'key':_0x531aef,'field':_0x1432a7,..._0x54d693});throw _0x54d693;}}async['sendQuery'](_0x1b9f23){try{return await this['pgClient']['query'](_0x1b9f23);}catch(_0x1eb0b0){this['logger']['error']('postgres-send-query-error',{'query':_0x1b9f23,..._0x1eb0b0});throw _0x1eb0b0;}}async['sendIndexedQuery'](_0x4e3bc1,_0x204800=[]){const [_0x25f744,..._0x8a5d66]=_0x204800;try{const _0x50612f=await this['pgClient']['query'](_0x25f744,_0x8a5d66['length']?_0x8a5d66:undefined);return _0x50612f['rows'];}catch(_0x4c0fd5){this['logger']['error']('postgres-send-indexed-query-error',{'query':_0x25f744,..._0x4c0fd5});throw _0x4c0fd5;}}}function _0x51e1(_0x2627a9,_0x5b684b){const _0x4b77d5=_0x4b77();return _0x51e1=function(_0x51e1f2,_0x3cb8da){_0x51e1f2=_0x51e1f2-0x1ad;let _0x57be02=_0x4b77d5[_0x51e1f2];return _0x57be02;},_0x51e1(_0x2627a9,_0x5b684b);}exports['PostgresSearchService']=PostgresSearchService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(
|
|
1
|
+
'use strict';(function(_0x498185,_0x51ced7){const _0x5ee888=_0x5f58,_0x2f190e=_0x498185();while(!![]){try{const _0x1e95f7=parseInt(_0x5ee888(0x1a3))/0x1*(parseInt(_0x5ee888(0x199))/0x2)+parseInt(_0x5ee888(0x1a0))/0x3*(parseInt(_0x5ee888(0x19a))/0x4)+parseInt(_0x5ee888(0x19f))/0x5*(-parseInt(_0x5ee888(0x19c))/0x6)+parseInt(_0x5ee888(0x1a2))/0x7+parseInt(_0x5ee888(0x1a1))/0x8+-parseInt(_0x5ee888(0x19e))/0x9+parseInt(_0x5ee888(0x19d))/0xa*(parseInt(_0x5ee888(0x19b))/0xb);if(_0x1e95f7===_0x51ced7)break;else _0x2f190e['push'](_0x2f190e['shift']());}catch(_0x3e3c31){_0x2f190e['push'](_0x2f190e['shift']());}}}(_0x5299,0x6ca8d));function _0x5f58(_0x24671a,_0x35e178){const _0x529905=_0x5299();return _0x5f58=function(_0x5f581e,_0x45a74f){_0x5f581e=_0x5f581e-0x199;let _0xb590cb=_0x529905[_0x5f581e];return _0xb590cb;},_0x5f58(_0x24671a,_0x35e178);}function _0x5299(){const _0x198966=['194XxkvHD','499644JmsfqW','904189mYXplz','889242HXiDoi','30ZHilSS','4302702EKPcdM','15TAXyOO','3ojphAi','3842552xOdbMe','1423849wuahkI','3222nxWvfc'];_0x5299=function(){return _0x198966;};return _0x5299();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['IORedisSearchService']=void 0x0;const index_1=require('../../index');class IORedisSearchService extends index_1['SearchService']{constructor(_0x550ccc,_0x223574){super(_0x550ccc,_0x223574);}async['init'](_0x9677cd,_0x4d8c95,_0x3c8c63){this['namespace']=_0x9677cd,this['appId']=_0x4d8c95,this['logger']=_0x3c8c63;}async['createSearchIndex'](_0x2c715f,_0x4df8d6,_0x7c578d){try{await this['searchClient']['call']('FT.CREATE',_0x2c715f,'ON','HASH','PREFIX',_0x4df8d6['length']['toString'](),..._0x4df8d6,'SCHEMA',..._0x7c578d);}catch(_0x127e4f){this['logger']['info']('Error\x20creating\x20search\x20index',{'error':_0x127e4f});throw _0x127e4f;}}async['listSearchIndexes'](){try{const _0x54656a=await this['searchClient']['call']('FT._LIST');return _0x54656a;}catch(_0x501a0f){this['logger']['info']('Error\x20listing\x20search\x20indexes',{'error':_0x501a0f});throw _0x501a0f;}}async['setFields'](_0x5d8e7d,_0x5a9c98){try{const _0x28edec=await this['searchClient']['hset'](_0x5d8e7d,_0x5a9c98);return Number(_0x28edec);}catch(_0xfd3884){this['logger']['error']('Error\x20setting\x20fields\x20for\x20key:\x20'+_0x5d8e7d,{'error':_0xfd3884});throw _0xfd3884;}}async['getField'](_0x115e41,_0x205c87){try{return await this['searchClient']['hget'](_0x115e41,_0x205c87);}catch(_0x385095){this['logger']['error']('Error\x20getting\x20field\x20'+_0x205c87+'\x20for\x20key:\x20'+_0x115e41,{'error':_0x385095});throw _0x385095;}}async['getFields'](_0x2842be,_0x1c0a23){try{return await this['searchClient']['hmget'](_0x2842be,[..._0x1c0a23]);}catch(_0x54b4ed){this['logger']['error']('Error\x20getting\x20fields\x20for\x20key:\x20'+_0x2842be,{'error':_0x54b4ed});throw _0x54b4ed;}}async['getAllFields'](_0x8c24aa){try{return await this['searchClient']['hgetall'](_0x8c24aa);}catch(_0x3e3434){this['logger']['error']('Error\x20getting\x20fields\x20for\x20key:\x20'+_0x8c24aa,{'error':_0x3e3434});throw _0x3e3434;}}async['deleteFields'](_0x1bee70,_0x2b9960){try{const _0x2077d3=await this['searchClient']['hdel'](_0x1bee70,..._0x2b9960);return Number(_0x2077d3);}catch(_0xbb2eaf){this['logger']['error']('Error\x20deleting\x20fields\x20for\x20key:\x20'+_0x1bee70,{'error':_0xbb2eaf});throw _0xbb2eaf;}}async['incrementFieldByFloat'](_0xe2d7b0,_0x242fe7,_0x534c23){try{const _0x32b50e=await this['searchClient']['hincrbyfloat'](_0xe2d7b0,_0x242fe7,_0x534c23);return Number(_0x32b50e);}catch(_0x3de263){this['logger']['error']('Error\x20incrementing\x20field\x20'+_0x242fe7+'\x20for\x20key:\x20'+_0xe2d7b0,{'error':_0x3de263});throw _0x3de263;}}async['sendQuery'](..._0xc5d2da){try{return await this['searchClient']['call'](..._0xc5d2da);}catch(_0x325eb7){this['logger']['error']('Error\x20executing\x20query',{'error':_0x325eb7});throw _0x325eb7;}}async['sendIndexedQuery'](_0x14335f,_0x1a7ff0){try{if(_0x1a7ff0[0x0]?.['startsWith']('FT.')){const [_0x12b6d0,..._0x4838f4]=_0x1a7ff0;return await this['searchClient']['call'](_0x12b6d0,..._0x4838f4);}return await this['searchClient']['call']('FT.SEARCH',_0x14335f,..._0x1a7ff0);}catch(_0x420f7c){this['logger']['error']('Error\x20executing\x20query',{'error':_0x420f7c});throw _0x420f7c;}}}exports['IORedisSearchService']=IORedisSearchService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';(function(_0x476384,_0x3a601f){const _0x465f40=_0x18d5,_0x312d9d=_0x476384();while(!![]){try{const _0x1e6cd4=-parseInt(_0x465f40(0x151))/0x1*(parseInt(_0x465f40(0x14f))/0x2)+parseInt(_0x465f40(0x14d))/0x3+-parseInt(_0x465f40(0x14c))/0x4+-parseInt(_0x465f40(0x150))/0x5+parseInt(_0x465f40(0x14a))/0x6+-parseInt(_0x465f40(0x14b))/0x7+parseInt(_0x465f40(0x14e))/0x8;if(_0x1e6cd4===_0x3a601f)break;else _0x312d9d['push'](_0x312d9d['shift']());}catch(_0x4de4ff){_0x312d9d['push'](_0x312d9d['shift']());}}}(_0x5cd3,0x341fd));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['RedisSearchService']=void 0x0;const index_1=require('../../index');function _0x18d5(_0x13d540,_0xbefb7e){const _0x5cd3d0=_0x5cd3();return _0x18d5=function(_0x18d593,_0x13a6b4){_0x18d593=_0x18d593-0x14a;let _0x4ca4dc=_0x5cd3d0[_0x18d593];return _0x4ca4dc;},_0x18d5(_0x13d540,_0xbefb7e);}class RedisSearchService extends index_1['SearchService']{constructor(_0x3afe4f,_0x4a4302){super(_0x3afe4f,_0x4a4302);}async['init'](_0x61eafd,_0x439de8,_0x169e93){this['namespace']=_0x61eafd,this['appId']=_0x439de8,this['logger']=_0x169e93;}async['createSearchIndex'](_0x5dbfe9,_0x4909d5,_0x325537){try{await this['searchClient']['sendCommand'](['FT.CREATE',_0x5dbfe9,'ON','HASH','PREFIX',_0x4909d5['length']['toString'](),..._0x4909d5,'SCHEMA',..._0x325537]);}catch(_0xb75517){this['logger']['info']('Error\x20creating\x20search\x20index',{'error':_0xb75517});throw _0xb75517;}}async['listSearchIndexes'](){try{const _0x541665=await this['searchClient']['sendCommand'](['FT._LIST']);return _0x541665;}catch(_0x5fa798){this['logger']['info']('Error\x20listing\x20search\x20indexes',{'error':_0x5fa798});throw _0x5fa798;}}async['setFields'](_0x3d1893,_0x266d94){try{const _0x34a25c=await this['searchClient']['HSET'](_0x3d1893,_0x266d94);return Number(_0x34a25c);}catch(_0xfdd15e){this['logger']['error']('Error\x20setting\x20fields\x20for\x20key:\x20'+_0x3d1893,{'error':_0xfdd15e});throw _0xfdd15e;}}async['getField'](_0x499b3b,_0xb03488){try{return await this['searchClient']['HGET'](_0x499b3b,_0xb03488);}catch(_0x2e6028){this['logger']['error']('Error\x20getting\x20field\x20'+_0xb03488+'\x20for\x20key:\x20'+_0x499b3b,{'error':_0x2e6028});throw _0x2e6028;}}async['getFields'](_0x2692d4,_0x1db107){try{return await this['searchClient']['HMGET'](_0x2692d4,[..._0x1db107]);}catch(_0x268e7f){this['logger']['error']('Error\x20getting\x20fields\x20for\x20key:\x20'+_0x2692d4,{'error':_0x268e7f});throw _0x268e7f;}}async['getAllFields'](_0x66d847){try{return await this['searchClient']['HGETALL'](_0x66d847);}catch(_0x4d23ef){this['logger']['error']('Error\x20getting\x20fields\x20for\x20key:\x20'+_0x66d847,{'error':_0x4d23ef});throw _0x4d23ef;}}async['deleteFields'](_0x1ff747,_0x3c27e2){try{const _0x3567af=await this['searchClient']['HDEL'](_0x1ff747,_0x3c27e2);return Number(_0x3567af);}catch(_0x1c6ed6){this['logger']['error']('Error\x20deleting\x20fields\x20for\x20key:\x20'+_0x1ff747,{'error':_0x1c6ed6});throw _0x1c6ed6;}}async['incrementFieldByFloat'](_0x505b6a,_0xdc8b1,_0x4bb93d){try{const _0x2eff5e=await this['searchClient']['HINCRBYFLOAT'](_0x505b6a,_0xdc8b1,_0x4bb93d);return Number(_0x2eff5e);}catch(_0x474ba5){this['logger']['error']('Error\x20incrementing\x20field\x20'+_0xdc8b1+'\x20for\x20key:\x20'+_0x505b6a,{'error':_0x474ba5});throw _0x474ba5;}}async['sendQuery'](..._0x46b2f1){try{return await this['searchClient']['sendCommand'](_0x46b2f1);}catch(_0x2b7729){this['logger']['error']('Error\x20executing\x20query',{'error':_0x2b7729});throw _0x2b7729;}}async['sendIndexedQuery'](_0x36c511,_0xa312a3){try{if(_0xa312a3[0x0]?.['startsWith']('FT.'))return await this['searchClient']['sendCommand'](_0xa312a3);return await this['searchClient']['sendCommand'](['FT.SEARCH',_0x36c511,..._0xa312a3]);}catch(_0x545afd){this['logger']['error']('Error\x20executing\x20query',{'error':_0x545afd});throw _0x545afd;}}}function _0x5cd3(){const _0x1eb28f=['4TazyAd','1935245nyDCtW','130427vHMlQw','2128248Uvscvb','453040TYKKPq','135392BDggBO','176367unkFqF','4371800lqwdsw'];_0x5cd3=function(){return _0x1eb28f;};return _0x5cd3();}exports['RedisSearchService']=RedisSearchService;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';(function(_0x27fc51,_0xa0867c){const _0x31a713=_0xf9bf,_0x4b2bb4=_0x27fc51();while(!![]){try{const _0x2b20f5=-parseInt(_0x31a713(0xca))/0x1*(-parseInt(_0x31a713(0xc4))/0x2)+parseInt(_0x31a713(0xc9))/0x3+parseInt(_0x31a713(0xc6))/0x4*(parseInt(_0x31a713(0xc0))/0x5)+parseInt(_0x31a713(0xc5))/0x6+parseInt(_0x31a713(0xc3))/0x7*(parseInt(_0x31a713(0xc7))/0x8)+-parseInt(_0x31a713(0xc1))/0x9*(-parseInt(_0x31a713(0xc8))/0xa)+-parseInt(_0x31a713(0xc2))/0xb;if(_0x2b20f5===_0xa0867c)break;else _0x4b2bb4['push'](_0x4b2bb4['shift']());}catch(_0x17d4d0){_0x4b2bb4['push'](_0x4b2bb4['shift']());}}}(_0x255b,0x8fdb6));function _0xf9bf(_0x191b2e,_0x5c2079){const _0x255b73=_0x255b();return _0xf9bf=function(_0xf9bf4a,_0x407bf2){_0xf9bf4a=_0xf9bf4a-0xc0;let _0x382ad9=_0x255b73[_0xf9bf4a];return _0x382ad9;},_0xf9bf(_0x191b2e,_0x5c2079);}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['SerializerService']=exports['MDATA_SYMBOLS']=void 0x0;const utils_1=require('../../modules/utils'),dateReg=/^"\d{4}-\d{2}-\d{2}(?:T\d{2}:\d{2}:\d{2}(?:\.\d{3})?Z)?"$/;exports['MDATA_SYMBOLS']={'SLOTS':0x1a,'ACTIVITY':{'KEYS':['aid','dad','as','atp','stp','ac','au','err','l1s','l2s']},'ACTIVITY_UPDATE':{'KEYS':['au','err','l2s']},'JOB':{'KEYS':['ngn','tpc','pj','pg','pd','px','pa','key','app','vrs','jid','gid','aid','ts','jc','ju','js','err','trc']},'JOB_UPDATE':{'KEYS':['ju','err']}};class SerializerService{constructor(){this['resetSymbols']({},{},{});}['abbreviate'](_0x991ab8,_0x4663c7,_0xe00717=[]){for(const _0x3f82a5 of _0x4663c7){const _0x1665f3=this['symKeys']['get'](_0x3f82a5),_0x326439=_0x991ab8[_0x3f82a5];for(const _0x251ac1 of _0x326439){const _0x2eee6c=_0x1665f3['get'](_0x251ac1);if(_0x2eee6c){const _0x73d2c6=this['resolveDimensionalIndex'](_0x251ac1);_0xe00717['push'](''+_0x2eee6c+_0x73d2c6);}else _0xe00717['push'](_0x251ac1);}}return _0xe00717;}['resolveDimensionalIndex'](_0x33bd86){if(this['isJobPath'](_0x33bd86))return'';else{const [_0x4b19dc]=_0x33bd86['split']('/');if(_0x4b19dc in this['dIds'])return this['dIds'][_0x4b19dc];else{if('$ADJACENT'in this['dIds'])return this['dIds']['$ADJACENT'];}return',0';}}['isJobPath'](_0x29ece9){return _0x29ece9['startsWith']('data/')||_0x29ece9['startsWith']('metadata/');}['resetSymbols'](_0x25899c,_0x19f83d,_0x473b84){this['symKeys']=new Map(),this['symReverseKeys']=new Map();for(const _0x2ff309 in _0x25899c){this['symKeys']['set'](_0x2ff309,new Map(Object['entries'](_0x25899c[_0x2ff309])));}this['symValMaps']=new Map(Object['entries'](_0x19f83d)),this['symValReverseMaps']=this['getReverseValueMap'](this['symValMaps']),this['dIds']=_0x473b84;}['getReverseKeyMap'](_0x367153,_0x41b358){let _0x6cfbba=this['symReverseKeys']['get'](_0x41b358);if(!_0x6cfbba){_0x6cfbba=new Map();for(const [_0x5ce9cd,_0x26294b]of _0x367153['entries']()){_0x6cfbba['set'](_0x26294b,_0x5ce9cd);}this['symReverseKeys']['set'](_0x41b358,_0x6cfbba);}return _0x6cfbba;}['getReverseValueMap'](_0x46aa6c){const _0x553e1b=new Map();for(const [_0xd09442,_0x13041e]of _0x46aa6c['entries']()){_0x553e1b['set'](_0x13041e,_0xd09442);}return _0x553e1b;}static['filterSymVals'](_0x6c2b66,_0x1b7130,_0x3b4070,_0x36f887){const _0x15812b={},_0x1ae2b7={..._0x3b4070},_0x39ffaf=new Set(Object['values'](_0x1ae2b7));for(const _0x1b8f4e of _0x36f887){if(!_0x39ffaf['has'](_0x1b8f4e)){if(_0x6c2b66>_0x1b7130)return _0x15812b;const _0x411b96=(0x0,utils_1['getSymVal'])(_0x6c2b66);_0x6c2b66++,_0x15812b[_0x411b96]=_0x1b8f4e,_0x39ffaf['add'](_0x1b8f4e);}}return _0x15812b;}['compress'](_0x2bf01e,_0x3cdfae){if(this['symKeys']['size']===0x0)return _0x2bf01e;const _0x50e82f={..._0x2bf01e},_0x691594={},_0x2a5b3d=(_0x3d2783,_0x4ee03e)=>{for(const _0xe3a26c in _0x50e82f){if(_0xe3a26c['startsWith'](_0x4ee03e+'/')||_0x4ee03e['startsWith']('$')&&['data','metadata']['includes'](_0xe3a26c['split']('/')[0x0])){const _0x598af9=this['resolveDimensionalIndex'](_0xe3a26c),_0xb032d5=_0x3d2783['get'](_0xe3a26c)||_0xe3a26c,_0x3ea979=''+_0xb032d5+_0x598af9;_0x691594[_0x3ea979]=_0x50e82f[_0xe3a26c];}else!(_0xe3a26c in _0x691594)&&this['isLiteralKeyType'](_0xe3a26c)&&(_0x691594[_0xe3a26c]=_0x50e82f[_0xe3a26c]);}};for(const _0x476677 of _0x3cdfae){const _0x2949e7=this['symKeys']['get'](_0x476677);_0x2949e7&&_0x2a5b3d(_0x2949e7,_0x476677);}return _0x691594;}['isLiteralKeyType'](_0x5a36f6){return _0x5a36f6['startsWith']('-')||_0x5a36f6['startsWith']('_');}['decompress'](_0x35d724,_0x3bff63){if(this['symKeys']['size']===0x0)return _0x35d724;const _0x3c585e={..._0x35d724},_0x47af27=(_0x5a42e6,_0x5d5a6d)=>{const _0x6e3d09=this['getReverseKeyMap'](_0x5a42e6,_0x5d5a6d);for(const _0xd58789 in _0x3c585e){const _0x29cf20=_0xd58789['split'](',')[0x0],_0x1052d1=_0x6e3d09['get'](_0x29cf20);_0x1052d1&&(_0x3c585e[_0x1052d1]=_0x3c585e[_0xd58789],delete _0x3c585e[_0xd58789]);}};for(const _0x385b7b of _0x3bff63){const _0x5ac4de=this['symKeys']['get'](_0x385b7b);_0x5ac4de&&_0x47af27(_0x5ac4de,_0x385b7b);}return _0x3c585e;}['stringify'](_0x3f9b97){const _0x56b2e4={};for(const _0x1cc4b5 in _0x3f9b97){const _0x52db40=SerializerService['toString'](_0x3f9b97[_0x1cc4b5]);_0x52db40&&(_0x56b2e4[_0x1cc4b5]=_0x52db40);}return _0x56b2e4;}['parse'](_0x3b39b6){const _0x50ba05={};for(const [_0x2d61dc,_0x33d5e5]of Object['entries'](_0x3b39b6)){if(_0x33d5e5===undefined||_0x33d5e5===null)continue;_0x50ba05[_0x2d61dc]=SerializerService['fromString'](_0x33d5e5);}return _0x50ba05;}static['toString'](_0x343e6d){switch(typeof _0x343e6d){case'string':break;case'boolean':_0x343e6d=_0x343e6d?'/t':'/f';break;case'number':_0x343e6d='/d'+_0x343e6d['toString']();break;case'undefined':return undefined;case'object':_0x343e6d===null?_0x343e6d='/n':_0x343e6d='/s'+JSON['stringify'](_0x343e6d);break;}return _0x343e6d;}static['fromString'](_0x35b8f6){if(typeof _0x35b8f6!=='string')return undefined;const _0x157e0c=_0x35b8f6['slice'](0x0,0x2),_0x1f1f8a=_0x35b8f6['slice'](0x2);switch(_0x157e0c){case'/t':return!![];case'/f':return![];case'/d':return Number(_0x1f1f8a);case'/n':return null;case'/s':if(dateReg['exec'](_0x1f1f8a))return new Date(JSON['parse'](_0x1f1f8a));return JSON['parse'](_0x1f1f8a);default:return _0x35b8f6;}}['package'](_0x6bbf40,_0x1212c9){const _0x343424=this['stringify'](_0x6bbf40);return this['compress'](_0x343424,_0x1212c9);}['unpackage'](_0x9de00,_0x3bf226){const _0x396989=this['decompress'](_0x9de00,_0x3bf226);return this['parse'](_0x396989);}['export'](){const _0x548cf9={};for(const [_0x2b69d4,_0x5b98ec]of this['symKeys']['entries']()){_0x548cf9[_0x2b69d4]={};for(const [_0x5832c0,_0x12f474]of _0x5b98ec['entries']()){_0x548cf9[_0x2b69d4][_0x5832c0]=_0x12f474;}}return _0x548cf9;}}exports['SerializerService']=SerializerService;function _0x255b(){const _0x8676b9=['1526ZqtYak','86QTNHOJ','2199000LvqbUN','241624BkMcNe','21504cWpnhD','2710IlqPgc','1145244swPKYy','25034KLcmRd','45DsHBEX','29709BEVnqv','35856491NBHmax'];_0x255b=function(){return _0x8676b9;};return _0x255b();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';(function(_0x5a2b44,_0x29573c){const _0x52c745=_0xfcdd,_0x3589fb=_0x5a2b44();while(!![]){try{const _0x5b2fe8=-parseInt(_0x52c745(0x134))/0x1+parseInt(_0x52c745(0x133))/0x2+parseInt(_0x52c745(0x132))/0x3+parseInt(_0x52c745(0x12b))/0x4*(parseInt(_0x52c745(0x12e))/0x5)+parseInt(_0x52c745(0x130))/0x6*(parseInt(_0x52c745(0x12d))/0x7)+-parseInt(_0x52c745(0x12f))/0x8*(-parseInt(_0x52c745(0x131))/0x9)+-parseInt(_0x52c745(0x12c))/0xa;if(_0x5b2fe8===_0x29573c)break;else _0x3589fb['push'](_0x3589fb['shift']());}catch(_0x1cbb27){_0x3589fb['push'](_0x3589fb['shift']());}}}(_0x1921,0x52280));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['KVSQL']=void 0x0;const key_1=require('../../../../modules/key'),kvtransaction_1=require('./kvtransaction'),string_1=require('./kvtypes/string'),hash_1=require('./kvtypes/hash'),list_1=require('./kvtypes/list'),zset_1=require('./kvtypes/zset');function _0xfcdd(_0xb6005,_0x2e4068){const _0x1921a6=_0x1921();return _0xfcdd=function(_0xfcdd8a,_0x46bc84){_0xfcdd8a=_0xfcdd8a-0x12b;let _0x43fb6d=_0x1921a6[_0xfcdd8a];return _0x43fb6d;},_0xfcdd(_0xb6005,_0x2e4068);}function _0x1921(){const _0x389f74=['845997YiWNtK','1323734Prkqeq','377929ueLBLM','516gUHxBV','12473490dVgBIZ','3647091BnNWhc','7145GACJeo','16Aqppzx','6BvzteR','1406565qmYoXn'];_0x1921=function(){return _0x389f74;};return _0x1921();}class KVSQL{constructor(_0x436ca6,_0x49a20a,_0x5cfbc9){this['set']=(..._0x5bafa2)=>this['string']['set'](..._0x5bafa2),this['_set']=(..._0x159438)=>this['string']['_set'](..._0x159438),this['get']=(..._0x1e9e20)=>this['string']['get'](..._0x1e9e20),this['_get']=(..._0x4d69d6)=>this['string']['_get'](..._0x4d69d6),this['del']=(..._0x364bf3)=>this['string']['del'](..._0x364bf3),this['_del']=(..._0x1b21b5)=>this['string']['_del'](..._0x1b21b5),this['setnx']=(..._0x5f7397)=>this['string']['setnx'](..._0x5f7397),this['setnxex']=(..._0x16436a)=>this['string']['setnxex'](..._0x16436a),this['hset']=(..._0x3d92c3)=>this['hash']['hset'](..._0x3d92c3),this['_hset']=(..._0x2e19aa)=>this['hash']['_hset'](..._0x2e19aa),this['hsetnx']=(..._0x2ffc48)=>this['hash']['hsetnx'](..._0x2ffc48),this['hget']=(..._0x5b8f90)=>this['hash']['hget'](..._0x5b8f90),this['_hget']=(..._0x1aef9d)=>this['hash']['_hget'](..._0x1aef9d),this['hdel']=(..._0x34402a)=>this['hash']['hdel'](..._0x34402a),this['_hdel']=(..._0x98a9e)=>this['hash']['_hdel'](..._0x98a9e),this['hmget']=(..._0x40e4e4)=>this['hash']['hmget'](..._0x40e4e4),this['_hmget']=(..._0x4407f0)=>this['hash']['_hmget'](..._0x4407f0),this['hgetall']=(..._0x291f36)=>this['hash']['hgetall'](..._0x291f36),this['hincrbyfloat']=(..._0x45f16b)=>this['hash']['hincrbyfloat'](..._0x45f16b),this['_hincrbyfloat']=(..._0x16f59f)=>this['hash']['_hincrbyfloat'](..._0x16f59f),this['hscan']=(..._0xf761fa)=>this['hash']['hscan'](..._0xf761fa),this['_hscan']=(..._0x6eb618)=>this['hash']['_hscan'](..._0x6eb618),this['expire']=(..._0x351b6d)=>this['hash']['expire'](..._0x351b6d),this['_expire']=(..._0x4c1903)=>this['hash']['_expire'](..._0x4c1903),this['scan']=(..._0x298039)=>this['hash']['scan'](..._0x298039),this['_scan']=(..._0x380a81)=>this['hash']['_scan'](..._0x380a81),this['lrange']=(..._0x22d56a)=>this['list']['lrange'](..._0x22d56a),this['_lrange']=(..._0x2d6441)=>this['list']['_lrange'](..._0x2d6441),this['rpush']=(..._0x24453e)=>this['list']['rpush'](..._0x24453e),this['_rpush']=(..._0x2a94d4)=>this['list']['_rpush'](..._0x2a94d4),this['lpush']=(..._0x4ecddc)=>this['list']['lpush'](..._0x4ecddc),this['_lpush']=(..._0x2f517f)=>this['list']['_lpush'](..._0x2f517f),this['lpop']=(..._0xd2c1ca)=>this['list']['lpop'](..._0xd2c1ca),this['_lpop']=(..._0x2fc957)=>this['list']['_lpop'](..._0x2fc957),this['lmove']=(..._0x4bfacf)=>this['list']['lmove'](..._0x4bfacf),this['_lmove']=(..._0x930423)=>this['list']['_lmove'](..._0x930423),this['rename']=(..._0x1e8077)=>this['list']['rename'](..._0x1e8077),this['_rename']=(..._0x11fee0)=>this['list']['_rename'](..._0x11fee0),this['zadd']=(..._0x412913)=>this['zset']['zadd'](..._0x412913),this['_zadd']=(..._0x5cb5c4)=>this['zset']['_zadd'](..._0x5cb5c4),this['zrange']=(..._0x95c250)=>this['zset']['zrange'](..._0x95c250),this['_zrange']=(..._0x59ba1c)=>this['zset']['_zrange'](..._0x59ba1c),this['zrangebyscore']=(..._0x270ba1)=>this['zset']['zrangebyscore'](..._0x270ba1),this['_zrangebyscore']=(..._0x499250)=>this['zset']['_zrangebyscore'](..._0x499250),this['zrangebyscore_withscores']=(..._0x7e91fe)=>this['zset']['zrangebyscore_withscores'](..._0x7e91fe),this['_zrangebyscore_withscores']=(..._0x2a4afd)=>this['zset']['_zrangebyscore_withscores'](..._0x2a4afd),this['zrem']=(..._0x28995a)=>this['zset']['zrem'](..._0x28995a),this['_zrem']=(..._0x4fefde)=>this['zset']['_zrem'](..._0x4fefde),this['zrank']=(..._0x560598)=>this['zset']['zrank'](..._0x560598),this['_zrank']=(..._0x1937b4)=>this['zset']['_zrank'](..._0x1937b4),this['zscore']=(..._0x5ea9f8)=>this['zset']['zscore'](..._0x5ea9f8),this['_zscore']=(..._0x4776a6)=>this['zset']['_zscore'](..._0x4776a6),this['pgClient']=_0x436ca6,this['namespace']=_0x49a20a,this['appId']=_0x5cfbc9,this['hash']=(0x0,hash_1['hashModule'])(this),this['list']=(0x0,list_1['listModule'])(this),this['zset']=(0x0,zset_1['zsetModule'])(this),this['string']=(0x0,string_1['stringModule'])(this);}['isStatusOnly'](_0x4c2ee2){return _0x4c2ee2['length']===0x1&&_0x4c2ee2[0x0]===':';}['appendExpiryClause'](_0x46f209,_0x461089){return'\x0a\x20\x20\x20\x20\x20\x20'+_0x46f209+'\x0a\x20\x20\x20\x20\x20\x20AND\x20('+_0x461089+'.expiry\x20IS\x20NULL\x20OR\x20'+_0x461089+'.expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20';}['appendJobExpiryClause'](_0x2aeb24,_0x70965b){return'\x0a\x20\x20\x20\x20\x20\x20'+_0x2aeb24+'\x0a\x20\x20\x20\x20\x20\x20AND\x20('+_0x70965b+'.expired_at\x20IS\x20NULL\x20OR\x20'+_0x70965b+'.expired_at\x20>\x20NOW())\x0a\x20\x20\x20\x20';}['getMulti'](){return new kvtransaction_1['KVTransaction'](this);}['transact'](){return new kvtransaction_1['KVTransaction'](this);}['exec'](..._0x3bf05e){return Promise['resolve']([]);}['mintKey'](_0x47ea83,_0x1bb74a){return'';}['tableForKey'](_0x5d498f,_0x47f895){if(_0x5d498f===key_1['HMNS'])return'public.hotmesh_connections';const [_0x12af54,_0x228229,_0x45a12d,..._0x4a458b]=_0x5d498f['split'](':');if(_0x228229==='a')return'public.hotmesh_applications';const _0x4ac780=_0x4a458b?.['length']?_0x4a458b['join'](':'):'',_0x85b16f=key_1['KeyService']['resolveEntityType'](_0x45a12d,_0x4ac780);if(this['safeName'](this['appId'])!==this['safeName'](_0x228229))throw new Error('App\x20ID\x20mismatch:\x20'+this['appId']+'\x20!==\x20'+_0x228229);const _0x59e242=this['safeName'](_0x228229);if(_0x85b16f==='stats'){let _0x95487e;if(_0x47f895==='sorted_set')_0x95487e='stats_ordered';else{if(_0x47f895==='list'||_0x5d498f['endsWith'](':processed'))_0x95487e='stats_indexed';else{if(_0x47f895==='hash'||/:\d$/['test'](_0x5d498f))_0x95487e='stats_counted';else throw new Error('Unknown\x20stats\x20type\x20['+_0x47f895+']\x20for\x20key\x20['+_0x5d498f+']');}}return _0x59e242+'.'+_0x95487e;}if(_0x85b16f==='unknown_entity')throw new Error('Unknown\x20entity\x20type\x20abbreviation:\x20'+_0x45a12d);else return _0x85b16f==='applications'?'public.hotmesh_applications':_0x59e242+'.'+_0x85b16f;}['safeName'](_0x39d5d4,_0x296bdc=''){if(!_0x39d5d4)return'connections';let _0xe42adb=_0x39d5d4['trim']()['toLowerCase']();return _0xe42adb=_0xe42adb['replace'](/[^a-z0-9]+/g,'_'),_0x296bdc&&(_0xe42adb=_0x296bdc+'_'+_0xe42adb),_0xe42adb['length']>0x3f&&(_0xe42adb=_0xe42adb['slice'](0x0,0x3f)),_0xe42adb=_0xe42adb['replace'](/_+$/g,''),!_0xe42adb&&(_0xe42adb='connections'),_0xe42adb;}async['exists'](_0x5334da){const {sql:_0x502aec,params:_0x574931}=this['_exists'](_0x5334da),_0x31ce65=await this['pgClient']['query'](_0x502aec,_0x574931);return _0x31ce65['rows']['length']?_0x31ce65['rows'][0x0]['table_name']:0x0;}['_exists'](_0x5765ad){const _0xa2e853=this['tableForKey'](_0x5765ad),_0x248e11=_0xa2e853['endsWith']('jobs');let _0x3bc363;_0x248e11?_0x3bc363='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20FROM\x20'+_0xa2e853+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20id\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20(expired_at\x20IS\x20NULL\x20OR\x20expired_at\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20LIMIT\x201;\x0a\x20\x20\x20\x20\x20\x20':_0x3bc363='\x0a\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x20FROM\x20'+_0xa2e853+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20$1\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20(expiry\x20IS\x20NULL\x20OR\x20expiry\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20LIMIT\x201;\x0a\x20\x20\x20\x20\x20\x20';const _0x19e23e=[_0x5765ad];return{'sql':_0x3bc363,'params':_0x19e23e};}}exports['KVSQL']=KVSQL;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { PostgresClientType } from '../../../../types/postgres';
|
|
1
|
+
import { PostgresClientType, PostgresPoolClientType } from '../../../../types/postgres';
|
|
2
2
|
import type { PostgresStoreService } from './postgres';
|
|
3
3
|
export declare const KVTables: (context: PostgresStoreService) => {
|
|
4
4
|
deploy(appName: string): Promise<void>;
|
|
@@ -6,7 +6,7 @@ export declare const KVTables: (context: PostgresStoreService) => {
|
|
|
6
6
|
hashStringToInt(str: string): number;
|
|
7
7
|
waitForTablesCreation(client: PostgresClientType, lockId: number, appName: string): Promise<void>;
|
|
8
8
|
checkIfTablesExist(client: PostgresClientType, appName: string): Promise<boolean>;
|
|
9
|
-
createTables(client: PostgresClientType, appName: string): Promise<void>;
|
|
9
|
+
createTables(client: PostgresClientType | PostgresPoolClientType, appName: string): Promise<void>;
|
|
10
10
|
getTableNames(appName: string): string[];
|
|
11
11
|
getTableDefinitions(appName: string): Array<{
|
|
12
12
|
schema: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
'use strict';(function(_0x2006fe,_0x5b4f0d){const _0x703343=_0x310e,_0x10b27c=_0x2006fe();while(!![]){try{const _0x154312=parseInt(_0x703343(0x1d3))/0x1+parseInt(_0x703343(0x1dc))/0x2*(parseInt(_0x703343(0x1d5))/0x3)+-parseInt(_0x703343(0x1d2))/0x4*(-parseInt(_0x703343(0x1db))/0x5)+-parseInt(_0x703343(0x1da))/0x6+parseInt(_0x703343(0x1d7))/0x7*(-parseInt(_0x703343(0x1d9))/0x8)+parseInt(_0x703343(0x1d8))/0x9+parseInt(_0x703343(0x1d4))/0xa*(parseInt(_0x703343(0x1d6))/0xb);if(_0x154312===_0x5b4f0d)break;else _0x10b27c['push'](_0x10b27c['shift']());}catch(_0x2be2f4){_0x10b27c['push'](_0x10b27c['shift']());}}}(_0x1744,0xe1777));function _0x310e(_0x2f94f9,_0x586809){const _0x174419=_0x1744();return _0x310e=function(_0x310e9f,_0x3980fc){_0x310e9f=_0x310e9f-0x1d2;let _0x4f6bd3=_0x174419[_0x310e9f];return _0x4f6bd3;},_0x310e(_0x2f94f9,_0x586809);}function _0x1744(){const _0x1ef847=['190695bksstN','14841960hpsRhB','12yEABUI','11jJGIBN','12422669OekRMP','5585571hrVaLV','8QXemmY','2016546YwxoSQ','1712315bJNeQJ','198148fEqsSu','4BypLhb'];_0x1744=function(){return _0x1ef847;};return _0x1744();}Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['KVTables']=void 0x0;const utils_1=require('../../../../modules/utils'),KVTables=_0x310b6d=>({async 'deploy'(_0x522d61){const _0x407612=_0x310b6d['pgClient'];try{const _0x122dac=this['getAdvisoryLockId'](_0x522d61),_0x1307b1=await _0x407612['query']('SELECT\x20pg_try_advisory_lock($1)\x20AS\x20locked',[_0x122dac]);if(_0x1307b1['rows'][0x0]['locked']){await _0x407612['query']('BEGIN');const _0x56b685=await this['checkIfTablesExist'](_0x407612,_0x522d61);!_0x56b685&&await this['createTables'](_0x407612,_0x522d61),await _0x407612['query']('COMMIT'),await _0x407612['query']('SELECT\x20pg_advisory_unlock($1)',[_0x122dac]);}else await this['waitForTablesCreation'](_0x407612,_0x122dac,_0x522d61);}catch(_0x58b836){_0x310b6d['logger']['error']('Error\x20deploying\x20tables',{'error':_0x58b836});throw _0x58b836;}},'getAdvisoryLockId'(_0x53d72c){return this['hashStringToInt'](_0x53d72c);},'hashStringToInt'(_0xc3d1b5){let _0x426150=0x0;for(let _0x39d89e=0x0;_0x39d89e<_0xc3d1b5['length'];_0x39d89e++){_0x426150=(_0x426150<<0x5)-_0x426150+_0xc3d1b5['charCodeAt'](_0x39d89e),_0x426150|=0x0;}return Math['abs'](_0x426150);},async 'waitForTablesCreation'(_0x5a0747,_0x181a1d,_0x3ada20){let _0x20ad5e=0x0;const _0x8abb05=0x14;while(_0x20ad5e<_0x8abb05){await(0x0,utils_1['sleepFor'])(0x96);const _0x5d22cd=await _0x5a0747['query']('SELECT\x20NOT\x20EXISTS\x20(SELECT\x201\x20FROM\x20pg_locks\x20WHERE\x20locktype\x20=\x20\x27advisory\x27\x20AND\x20objid\x20=\x20$1::bigint)\x20AS\x20unlocked',[_0x181a1d]);if(_0x5d22cd['rows'][0x0]['unlocked']){const _0x252c3f=await this['checkIfTablesExist'](_0x5a0747,_0x3ada20);if(_0x252c3f)return;}_0x20ad5e++;}throw new Error('Timeout\x20waiting\x20for\x20table\x20creation');},async 'checkIfTablesExist'(_0x1fd44c,_0x495601){const _0x376313=this['getTableNames'](_0x495601),_0x5a94b6=_0x376313['map'](_0x1a5a2c=>_0x1fd44c['query']('SELECT\x20to_regclass(\x27'+_0x1a5a2c+'\x27)\x20AS\x20table')),_0x451718=await Promise['all'](_0x5a94b6);return _0x451718['every'](_0x379386=>_0x379386['rows'][0x0]['table']!==null);},async 'createTables'(_0x40bb4a,_0x1b445c){await _0x40bb4a['query']('BEGIN');const _0xa722f4=_0x310b6d['storeClient']['safeName'](_0x1b445c);await _0x40bb4a['query']('CREATE\x20SCHEMA\x20IF\x20NOT\x20EXISTS\x20'+_0xa722f4+';');const _0x505b69=this['getTableDefinitions'](_0x1b445c);for(const _0x44d398 of _0x505b69){const _0x28ccda=_0x44d398['schema']+'.'+_0x44d398['name'];switch(_0x44d398['type']){case'string':await _0x40bb4a['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x28ccda+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;case'hash':await _0x40bb4a['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x28ccda+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20field\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(key,\x20field)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;case'jobhash':await _0x40bb4a['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20DO\x20$$\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20BEGIN\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20IF\x20NOT\x20EXISTS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x201\x20FROM\x20pg_type\x20t\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20JOIN\x20pg_namespace\x20n\x20ON\x20n.oid\x20=\x20t.typnamespace\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20t.typname\x20=\x20\x27type_enum\x27\x20AND\x20n.nspname\x20=\x20\x27'+_0xa722f4+'\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)\x20THEN\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TYPE\x20'+_0xa722f4+'.type_enum\x20AS\x20ENUM\x20(\x27jmark\x27,\x20\x27hmark\x27,\x20\x27status\x27,\x20\x27jdata\x27,\x20\x27adata\x27,\x20\x27udata\x27,\x20\x27other\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END\x20IF;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END$$;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x40bb4a['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x28ccda+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id\x20UUID\x20DEFAULT\x20gen_random_uuid(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20entity\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE\x20DEFAULT\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE\x20DEFAULT\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expired_at\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20is_live\x20BOOLEAN\x20DEFAULT\x20TRUE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(id)\x20\x20--\x20Primary\x20key\x20on\x20id\x20which\x20is\x20also\x20our\x20partitioning\x20key\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)\x20PARTITION\x20BY\x20HASH\x20(id);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x40bb4a['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20DO\x20$$\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20BEGIN\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20i\x20IN\x200..7\x20LOOP\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20EXECUTE\x20format(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x28ccda+'_part_%s\x20PARTITION\x20OF\x20'+_0x28ccda+'\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20VALUES\x20WITH\x20(modulus\x208,\x20remainder\x20%s)\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20i,\x20i\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END\x20LOOP;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END$$;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x40bb4a['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x44d398['name']+'_key_expired_at\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x28ccda+'\x20(key,\x20expired_at)\x20INCLUDE\x20(is_live);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x40bb4a['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x44d398['name']+'_entity_status\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x28ccda+'\x20(entity,\x20status);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x40bb4a['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x44d398['name']+'_expired_at\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x28ccda+'\x20(expired_at);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x40bb4a['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20OR\x20REPLACE\x20FUNCTION\x20'+_0xa722f4+'.update_is_live()\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RETURNS\x20TRIGGER\x20AS\x20$$\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20BEGIN\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20NEW.is_live\x20:=\x20NEW.expired_at\x20IS\x20NULL\x20OR\x20NEW.expired_at\x20>\x20NOW();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RETURN\x20NEW;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20$$\x20LANGUAGE\x20plpgsql;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x40bb4a['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TRIGGER\x20trg_update_is_live\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20BEFORE\x20INSERT\x20OR\x20UPDATE\x20ON\x20'+_0x28ccda+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20EACH\x20ROW\x20EXECUTE\x20PROCEDURE\x20'+_0xa722f4+'.update_is_live();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x40bb4a['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20OR\x20REPLACE\x20FUNCTION\x20'+_0xa722f4+'.enforce_live_job_uniqueness()\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RETURNS\x20TRIGGER\x20AS\x20$$\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20BEGIN\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20IF\x20(NEW.expired_at\x20IS\x20NULL\x20OR\x20NEW.expired_at\x20>\x20NOW())\x20THEN\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PERFORM\x20pg_advisory_xact_lock(hashtextextended(NEW.key,\x200));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20IF\x20EXISTS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x201\x20FROM\x20'+_0x28ccda+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20NEW.key\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20(expired_at\x20IS\x20NULL\x20OR\x20expired_at\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20id\x20<>\x20NEW.id\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)\x20THEN\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RAISE\x20EXCEPTION\x20\x27A\x20live\x20job\x20with\x20key\x20%\x20already\x20exists.\x27,\x20NEW.key;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END\x20IF;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END\x20IF;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RETURN\x20NEW;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20$$\x20LANGUAGE\x20plpgsql;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x40bb4a['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TRIGGER\x20trg_enforce_live_job_uniqueness\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20BEFORE\x20INSERT\x20OR\x20UPDATE\x20ON\x20'+_0x28ccda+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20EACH\x20ROW\x20EXECUTE\x20PROCEDURE\x20'+_0xa722f4+'.enforce_live_job_uniqueness();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');const _0x58fc04=_0x28ccda+'_attributes';await _0x40bb4a['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x58fc04+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20job_id\x20UUID\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20field\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type\x20'+_0xa722f4+'.type_enum\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(job_id,\x20field),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(job_id)\x20REFERENCES\x20'+_0x28ccda+'\x20(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)\x20PARTITION\x20BY\x20HASH\x20(job_id);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x40bb4a['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20DO\x20$$\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20BEGIN\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20i\x20IN\x200..7\x20LOOP\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20EXECUTE\x20format(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x58fc04+'_part_%s\x20PARTITION\x20OF\x20'+_0x58fc04+'\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20VALUES\x20WITH\x20(modulus\x208,\x20remainder\x20%s)\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20i,\x20i\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END\x20LOOP;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END$$;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x40bb4a['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x44d398['name']+'_attributes_type_field\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x58fc04+'\x20(type,\x20field);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x40bb4a['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x44d398['name']+'_attributes_field\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x58fc04+'\x20(field);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;case'list':await _0x40bb4a['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x28ccda+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20index\x20BIGINT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(key,\x20index)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x40bb4a['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x44d398['name']+'_key_expiry\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x28ccda+'\x20(key,\x20expiry);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;case'sorted_set':await _0x40bb4a['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x28ccda+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20member\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20score\x20DOUBLE\x20PRECISION\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(key,\x20member)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x40bb4a['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x44d398['name']+'_key_score_member\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x28ccda+'\x20(key,\x20score,\x20member);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;default:_0x310b6d['logger']['warn']('Unknown\x20table\x20type\x20for\x20'+_0x44d398['name']);break;}}await _0x40bb4a['query']('COMMIT');},'getTableNames'(_0x4672){const _0x4059a8=[];_0x4059a8['push']('hotmesh_applications','hotmesh_connections');const _0x57d201=['throttles','roles','task_priorities','task_schedules','task_lists','events','jobs','stats_counted','stats_indexed','stats_ordered','versions','signal_patterns','signal_registry','symbols'];return _0x57d201['forEach'](_0x2f89e3=>{_0x4059a8['push'](_0x310b6d['storeClient']['safeName'](_0x4672)+'.'+_0x2f89e3);}),_0x4059a8;},'getTableDefinitions'(_0x393101){const _0x896ed7=_0x310b6d['storeClient']['safeName'](_0x393101),_0x11cf24=[{'schema':'public','name':'hotmesh_applications','type':'hash'},{'schema':'public','name':'hotmesh_connections','type':'hash'},{'schema':_0x896ed7,'name':'throttles','type':'hash'},{'schema':_0x896ed7,'name':'roles','type':'string'},{'schema':_0x896ed7,'name':'task_schedules','type':'sorted_set'},{'schema':_0x896ed7,'name':'task_priorities','type':'sorted_set'},{'schema':_0x896ed7,'name':'task_lists','type':'list'},{'schema':_0x896ed7,'name':'events','type':'hash'},{'schema':_0x896ed7,'name':'jobs','type':'jobhash'},{'schema':_0x896ed7,'name':'stats_counted','type':'hash'},{'schema':_0x896ed7,'name':'stats_ordered','type':'sorted_set'},{'schema':_0x896ed7,'name':'stats_indexed','type':'list'},{'schema':_0x896ed7,'name':'versions','type':'hash'},{'schema':_0x896ed7,'name':'signal_patterns','type':'hash'},{'schema':_0x896ed7,'name':'symbols','type':'hash'},{'schema':_0x896ed7,'name':'signal_registry','type':'string'}];return _0x11cf24;}});exports['KVTables']=KVTables;
|
|
1
|
+
'use strict';function _0x2783(){const _0x3774d3=['27672NpNgvm','377144SogaUD','1098560cosaay','1ZuEZeO','97915wVVlRs','488085TJccIR','240xAErki','952ViKche','5620257pHzWDN','11671700KvyXry'];_0x2783=function(){return _0x3774d3;};return _0x2783();}(function(_0x31eaf8,_0x1458b6){const _0x2c758d=_0x3514,_0xbf137f=_0x31eaf8();while(!![]){try{const _0x1a90f7=parseInt(_0x2c758d(0xc4))/0x1*(-parseInt(_0x2c758d(0xc3))/0x2)+parseInt(_0x2c758d(0xc6))/0x3+parseInt(_0x2c758d(0xcc))/0x4+parseInt(_0x2c758d(0xc5))/0x5*(parseInt(_0x2c758d(0xc7))/0x6)+parseInt(_0x2c758d(0xc8))/0x7*(parseInt(_0x2c758d(0xcb))/0x8)+parseInt(_0x2c758d(0xc9))/0x9+-parseInt(_0x2c758d(0xca))/0xa;if(_0x1a90f7===_0x1458b6)break;else _0xbf137f['push'](_0xbf137f['shift']());}catch(_0x1fe83e){_0xbf137f['push'](_0xbf137f['shift']());}}}(_0x2783,0x663bc));Object['defineProperty'](exports,'__esModule',{'value':!![]}),exports['KVTables']=void 0x0;function _0x3514(_0x195b5e,_0x31dac2){const _0x278331=_0x2783();return _0x3514=function(_0x351473,_0x1dd5ed){_0x351473=_0x351473-0xc3;let _0x4b0a85=_0x278331[_0x351473];return _0x4b0a85;},_0x3514(_0x195b5e,_0x31dac2);}const utils_1=require('../../../../modules/utils'),KVTables=_0x426106=>({async 'deploy'(_0x5a62c3){const _0x2d5823=_0x426106['pgClient'];let _0x2a1adc,_0x3ef336=![];!(isNaN(_0x2d5823?.['totalCount'])&&isNaN(_0x2d5823?.['idleCount']))?(_0x2a1adc=await _0x2d5823['connect'](),_0x3ef336=!![]):_0x2a1adc=_0x2d5823;try{const _0x3480d9=this['getAdvisoryLockId'](_0x5a62c3),_0x267381=await _0x2a1adc['query']('SELECT\x20pg_try_advisory_lock($1)\x20AS\x20locked',[_0x3480d9]);if(_0x267381['rows'][0x0]['locked']){await _0x2a1adc['query']('BEGIN');const _0x30b0c6=await this['checkIfTablesExist'](_0x2a1adc,_0x5a62c3);!_0x30b0c6&&await this['createTables'](_0x2a1adc,_0x5a62c3),await _0x2a1adc['query']('COMMIT'),await _0x2a1adc['query']('SELECT\x20pg_advisory_unlock($1)',[_0x3480d9]);}else await this['waitForTablesCreation'](_0x2a1adc,_0x3480d9,_0x5a62c3);}catch(_0x22d57e){console['error'](_0x22d57e),_0x426106['logger']['error']('Error\x20deploying\x20tables',{'error':_0x22d57e});throw _0x22d57e;}finally{_0x3ef336&&await _0x2a1adc['release']();}},'getAdvisoryLockId'(_0x485180){return this['hashStringToInt'](_0x485180);},'hashStringToInt'(_0x33b796){let _0x11490e=0x0;for(let _0x98f774=0x0;_0x98f774<_0x33b796['length'];_0x98f774++){_0x11490e=(_0x11490e<<0x5)-_0x11490e+_0x33b796['charCodeAt'](_0x98f774),_0x11490e|=0x0;}return Math['abs'](_0x11490e);},async 'waitForTablesCreation'(_0x483b0,_0x4b5fe5,_0x948559){let _0x5a30ee=0x0;const _0x3dfb71=0x14;while(_0x5a30ee<_0x3dfb71){await(0x0,utils_1['sleepFor'])(0x96);const _0x17e96b=await _0x483b0['query']('SELECT\x20NOT\x20EXISTS\x20(SELECT\x201\x20FROM\x20pg_locks\x20WHERE\x20locktype\x20=\x20\x27advisory\x27\x20AND\x20objid\x20=\x20$1::bigint)\x20AS\x20unlocked',[_0x4b5fe5]);if(_0x17e96b['rows'][0x0]['unlocked']){const _0x598647=await this['checkIfTablesExist'](_0x483b0,_0x948559);if(_0x598647)return;}_0x5a30ee++;}throw new Error('Timeout\x20waiting\x20for\x20table\x20creation');},async 'checkIfTablesExist'(_0x2afe11,_0x424fff){const _0x423275=this['getTableNames'](_0x424fff),_0x3af728=_0x423275['map'](_0x211227=>_0x2afe11['query']('SELECT\x20to_regclass(\x27'+_0x211227+'\x27)\x20AS\x20table')),_0x548557=await Promise['all'](_0x3af728);return _0x548557['every'](_0x9af809=>_0x9af809['rows'][0x0]['table']!==null);},async 'createTables'(_0x138154,_0x5c155b){try{await _0x138154['query']('BEGIN');const _0x335ea5=_0x426106['storeClient']['safeName'](_0x5c155b);await _0x138154['query']('CREATE\x20SCHEMA\x20IF\x20NOT\x20EXISTS\x20'+_0x335ea5+';');const _0x3a68f6=this['getTableDefinitions'](_0x5c155b);for(const _0x56c258 of _0x3a68f6){const _0x1266b8=_0x56c258['schema']+'.'+_0x56c258['name'];switch(_0x56c258['type']){case'string':await _0x138154['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x1266b8+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20PRIMARY\x20KEY,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;case'hash':await _0x138154['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x1266b8+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20field\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(key,\x20field)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;case'jobhash':await _0x138154['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20DO\x20$$\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20BEGIN\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20IF\x20NOT\x20EXISTS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x201\x20FROM\x20pg_type\x20t\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20JOIN\x20pg_namespace\x20n\x20ON\x20n.oid\x20=\x20t.typnamespace\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20t.typname\x20=\x20\x27type_enum\x27\x20AND\x20n.nspname\x20=\x20\x27'+_0x335ea5+'\x27\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)\x20THEN\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TYPE\x20'+_0x335ea5+'.type_enum\x20AS\x20ENUM\x20(\x27jmark\x27,\x20\x27hmark\x27,\x20\x27status\x27,\x20\x27jdata\x27,\x20\x27adata\x27,\x20\x27udata\x27,\x20\x27other\x27);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END\x20IF;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END$$;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x138154['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x1266b8+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20id\x20UUID\x20DEFAULT\x20gen_random_uuid(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20entity\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20status\x20INTEGER\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20created_at\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE\x20DEFAULT\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20updated_at\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE\x20DEFAULT\x20NOW(),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expired_at\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20is_live\x20BOOLEAN\x20DEFAULT\x20TRUE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(id)\x20\x20--\x20Primary\x20key\x20on\x20id\x20which\x20is\x20also\x20our\x20partitioning\x20key\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)\x20PARTITION\x20BY\x20HASH\x20(id);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x138154['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20DO\x20$$\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20BEGIN\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20i\x20IN\x200..7\x20LOOP\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20EXECUTE\x20format(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x1266b8+'_part_%s\x20PARTITION\x20OF\x20'+_0x1266b8+'\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20VALUES\x20WITH\x20(modulus\x208,\x20remainder\x20%s)\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20i,\x20i\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END\x20LOOP;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END$$;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x138154['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x56c258['name']+'_key_expired_at\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x1266b8+'\x20(key,\x20expired_at)\x20INCLUDE\x20(is_live);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x138154['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x56c258['name']+'_entity_status\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x1266b8+'\x20(entity,\x20status);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x138154['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x56c258['name']+'_expired_at\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x1266b8+'\x20(expired_at);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x138154['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20OR\x20REPLACE\x20FUNCTION\x20'+_0x335ea5+'.update_is_live()\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RETURNS\x20TRIGGER\x20AS\x20$$\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20BEGIN\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20NEW.is_live\x20:=\x20NEW.expired_at\x20IS\x20NULL\x20OR\x20NEW.expired_at\x20>\x20NOW();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RETURN\x20NEW;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20$$\x20LANGUAGE\x20plpgsql;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x138154['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TRIGGER\x20trg_update_is_live\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20BEFORE\x20INSERT\x20OR\x20UPDATE\x20ON\x20'+_0x1266b8+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20EACH\x20ROW\x20EXECUTE\x20PROCEDURE\x20'+_0x335ea5+'.update_is_live();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x138154['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20OR\x20REPLACE\x20FUNCTION\x20'+_0x335ea5+'.enforce_live_job_uniqueness()\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RETURNS\x20TRIGGER\x20AS\x20$$\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20BEGIN\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20IF\x20(NEW.expired_at\x20IS\x20NULL\x20OR\x20NEW.expired_at\x20>\x20NOW())\x20THEN\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PERFORM\x20pg_advisory_xact_lock(hashtextextended(NEW.key,\x200));\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20IF\x20EXISTS\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20SELECT\x201\x20FROM\x20'+_0x1266b8+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20WHERE\x20key\x20=\x20NEW.key\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20(expired_at\x20IS\x20NULL\x20OR\x20expired_at\x20>\x20NOW())\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20AND\x20id\x20<>\x20NEW.id\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)\x20THEN\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RAISE\x20EXCEPTION\x20\x27A\x20live\x20job\x20with\x20key\x20%\x20already\x20exists.\x27,\x20NEW.key;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END\x20IF;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END\x20IF;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20RETURN\x20NEW;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20$$\x20LANGUAGE\x20plpgsql;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x138154['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TRIGGER\x20trg_enforce_live_job_uniqueness\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20BEFORE\x20INSERT\x20OR\x20UPDATE\x20ON\x20'+_0x1266b8+'\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20EACH\x20ROW\x20EXECUTE\x20PROCEDURE\x20'+_0x335ea5+'.enforce_live_job_uniqueness();\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');const _0xbf87ad=_0x1266b8+'_attributes';await _0x138154['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0xbf87ad+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20job_id\x20UUID\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20field\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20type\x20'+_0x335ea5+'.type_enum\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(job_id,\x20field),\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOREIGN\x20KEY\x20(job_id)\x20REFERENCES\x20'+_0x1266b8+'\x20(id)\x20ON\x20DELETE\x20CASCADE\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20)\x20PARTITION\x20BY\x20HASH\x20(job_id);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x138154['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20DO\x20$$\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20BEGIN\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20i\x20IN\x200..7\x20LOOP\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20EXECUTE\x20format(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x27CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0xbf87ad+'_part_%s\x20PARTITION\x20OF\x20'+_0xbf87ad+'\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20FOR\x20VALUES\x20WITH\x20(modulus\x208,\x20remainder\x20%s)\x27,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20i,\x20i\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END\x20LOOP;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20END$$;\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x138154['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x56c258['name']+'_attributes_type_field\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0xbf87ad+'\x20(type,\x20field);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x138154['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x56c258['name']+'_attributes_field\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0xbf87ad+'\x20(field);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;case'list':await _0x138154['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x1266b8+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20index\x20BIGINT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20value\x20TEXT,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(key,\x20index)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x138154['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x56c258['name']+'_key_expiry\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x1266b8+'\x20(key,\x20expiry);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;case'sorted_set':await _0x138154['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20TABLE\x20IF\x20NOT\x20EXISTS\x20'+_0x1266b8+'\x20(\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20key\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20member\x20TEXT\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20score\x20DOUBLE\x20PRECISION\x20NOT\x20NULL,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20expiry\x20TIMESTAMP\x20WITH\x20TIME\x20ZONE,\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20PRIMARY\x20KEY\x20(key,\x20member)\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20'),await _0x138154['query']('\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20CREATE\x20INDEX\x20IF\x20NOT\x20EXISTS\x20idx_'+_0x56c258['name']+'_key_score_member\x20\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20ON\x20'+_0x1266b8+'\x20(key,\x20score,\x20member);\x0a\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20');break;default:_0x426106['logger']['warn']('Unknown\x20table\x20type\x20for\x20'+_0x56c258['name']);break;}}await _0x138154['query']('COMMIT');}catch(_0x3a693b){_0x426106['logger']['error']('postgres-create-tables-error',{..._0x3a693b}),await _0x138154['query']('ROLLBACK');throw _0x3a693b;}},'getTableNames'(_0x36b0ef){const _0x48ad62=[];_0x48ad62['push']('hotmesh_applications','hotmesh_connections');const _0x57d037=['throttles','roles','task_priorities','task_schedules','task_lists','events','jobs','stats_counted','stats_indexed','stats_ordered','versions','signal_patterns','signal_registry','symbols'];return _0x57d037['forEach'](_0x4a7399=>{_0x48ad62['push'](_0x426106['storeClient']['safeName'](_0x36b0ef)+'.'+_0x4a7399);}),_0x48ad62;},'getTableDefinitions'(_0x4ee257){const _0x510ca2=_0x426106['storeClient']['safeName'](_0x4ee257),_0x5380c2=[{'schema':'public','name':'hotmesh_applications','type':'hash'},{'schema':'public','name':'hotmesh_connections','type':'hash'},{'schema':_0x510ca2,'name':'throttles','type':'hash'},{'schema':_0x510ca2,'name':'roles','type':'string'},{'schema':_0x510ca2,'name':'task_schedules','type':'sorted_set'},{'schema':_0x510ca2,'name':'task_priorities','type':'sorted_set'},{'schema':_0x510ca2,'name':'task_lists','type':'list'},{'schema':_0x510ca2,'name':'events','type':'hash'},{'schema':_0x510ca2,'name':'jobs','type':'jobhash'},{'schema':_0x510ca2,'name':'stats_counted','type':'hash'},{'schema':_0x510ca2,'name':'stats_ordered','type':'sorted_set'},{'schema':_0x510ca2,'name':'stats_indexed','type':'list'},{'schema':_0x510ca2,'name':'versions','type':'hash'},{'schema':_0x510ca2,'name':'signal_patterns','type':'hash'},{'schema':_0x510ca2,'name':'symbols','type':'hash'},{'schema':_0x510ca2,'name':'signal_registry','type':'string'}];return _0x5380c2;}});exports['KVTables']=KVTables;
|