{ "version": 3, "sources": ["../ui/app/mn.pools.service.js"], "sourcesContent": ["/*\nCopyright 2020-Present Couchbase, Inc.\n\nUse of this software is governed by the Business Source License included in\nthe file licenses/BSL-Couchbase.txt. As of the Change Date specified in that\nfile, in accordance with the Business Source License, use of this software will\nbe governed by the Apache License, Version 2.0, included in the file\nlicenses/APL2.txt.\n*/\n\nimport {Injectable} from '@angular/core';\nimport {HttpClient} from '@angular/common/http';\nimport {BehaviorSubject} from 'rxjs';\nimport {switchMap, shareReplay, pluck,\n distinctUntilChanged, map} from 'rxjs/operators';\n\nimport {singletonGuard} from './mn.core.js';\nimport {servicesEnterprise} from './constants/constants.js';\nimport {servicesCE} from './constants/constants.js';\n\nexport {MnPoolsService};\n\nlet launchID = (new Date()).valueOf() + '-' + ((Math.random() * 65536) >> 0);\n\nclass MnPoolsService {\n static get annotations() { return [\n new Injectable()\n ]}\n\n static get parameters() { return [\n HttpClient\n ]}\n\n constructor(http) {\n singletonGuard(MnPoolsService);\n\n this.http = http;\n this.stream = {};\n\n this.stream.getSuccess =\n (new BehaviorSubject()).pipe(switchMap(this.get.bind(this)),\n shareReplay({refCount: true, bufferSize: 1}));\n\n this.stream.isEnterprise =\n this.stream.getSuccess.pipe(pluck(\"isEnterprise\"), distinctUntilChanged());\n\n this.stream.isStrippingPort =\n this.stream.getSuccess.pipe(pluck(\"isStrippingPort\"), distinctUntilChanged());\n\n this.stream.isDeveloperPreview =\n this.stream.getSuccess.pipe(pluck(\"isDeveloperPreview\"), distinctUntilChanged());\n\n this.stream.mnServices =\n this.stream.isEnterprise\n .pipe(map(function (isEnterprise) {\n return isEnterprise ? servicesEnterprise : servicesCE;\n }), shareReplay({refCount: true, bufferSize: 1}));\n\n this.stream.quotaServices =\n this.stream.isEnterprise\n .pipe(map(function (isEnterprise) {\n return isEnterprise ?\n [\"kv\", \"index\", \"fts\", \"cbas\", \"eventing\"] :\n [\"kv\", \"index\", \"fts\"];\n }), shareReplay({refCount: true, bufferSize: 1}));\n }\n\n getServiceVisibleName(service) {\n switch (service) {\n case \"kv\": return \"Data\";\n case \"index\": return \"Index\";\n case \"fts\": return \"Search\";\n case \"n1ql\": return \"Query\";\n case \"eventing\": return \"Eventing\";\n case \"cbas\": return \"Analytics\";\n case \"backup\": return \"Backup\";\n }\n }\n\n getServiceQuotaName(service) {\n switch (service) {\n case \"kv\": return \"memoryQuota\";\n default: return service + \"MemoryQuota\";\n }\n }\n\n pluckMemoryQuotas(source) {\n return source[1].reduce((acc, service) => {\n acc[service] = source[0][this.getServiceQuotaName(service)];\n return acc;\n }, {});\n }\n\n get() {\n return this.http.get('/pools').pipe(\n map(function (pools) {\n pools.isInitialized = !!pools.pools.length;\n pools.launchID = pools.uuid + '-' + launchID;\n return pools;\n })\n );\n }\n}\n"], "mappings": "oTAsBA,GAAI,UAAa,GAAI,QAAQ,UAAY,IAAQ,MAAK,SAAW,OAAU,GAE3E,oBAAqB,WACR,cAAc,CAAE,MAAO,CAChC,GAAI,uBAGK,aAAa,CAAE,MAAO,CAC/B,YAGF,YAAY,KAAM,CAChB,eAAe,gBAEf,KAAK,KAAO,KACZ,KAAK,OAAS,GAEd,KAAK,OAAO,WACT,GAAI,mBAAmB,KAAK,UAAU,KAAK,IAAI,KAAK,OACxB,YAAY,CAAC,SAAU,GAAM,WAAY,KAExE,KAAK,OAAO,aACV,KAAK,OAAO,WAAW,KAAK,MAAM,gBAAiB,wBAErD,KAAK,OAAO,gBACV,KAAK,OAAO,WAAW,KAAK,MAAM,mBAAoB,wBAExD,KAAK,OAAO,mBACV,KAAK,OAAO,WAAW,KAAK,MAAM,sBAAuB,wBAE3D,KAAK,OAAO,WACV,KAAK,OAAO,aACX,KAAK,IAAI,SAAU,aAAc,CAChC,MAAO,cAAe,mBAAqB,aACzC,YAAY,CAAC,SAAU,GAAM,WAAY,KAE/C,KAAK,OAAO,cACV,KAAK,OAAO,aACX,KAAK,IAAI,SAAU,aAAc,CAChC,MAAO,cACL,CAAC,KAAM,QAAS,MAAO,OAAQ,YAC/B,CAAC,KAAM,QAAS,SAChB,YAAY,CAAC,SAAU,GAAM,WAAY,KAGjD,sBAAsB,QAAS,CAC7B,OAAQ,aACH,KAAM,MAAO,WACb,QAAS,MAAO,YAChB,MAAO,MAAO,aACd,OAAQ,MAAO,YACf,WAAY,MAAO,eACnB,OAAQ,MAAO,gBACf,SAAU,MAAO,UAIxB,oBAAoB,QAAS,CAC3B,OAAQ,aACH,KAAM,MAAO,sBACT,MAAO,SAAU,eAI5B,kBAAkB,OAAQ,CACxB,MAAO,QAAO,GAAG,OAAO,CAAC,IAAK,UAC5B,KAAI,SAAW,OAAO,GAAG,KAAK,oBAAoB,UAC3C,KACN,IAGL,KAAM,CACJ,MAAO,MAAK,KAAK,IAAI,UAAU,KAC7B,IAAI,SAAU,MAAO,CACnB,aAAM,cAAgB,CAAC,CAAC,MAAM,MAAM,OACpC,MAAM,SAAW,MAAM,KAAO,IAAM,SAC7B,WA1Ef", "names": [] }