{ "version": 3, "sources": ["../ui/app/mn_admin/mn_settings_cluster_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 angular from \"angular\";\nimport mnPools from \"../components/mn_pools.js\";\nimport mnPoolDefault from \"../components/mn_pool_default.js\";\n\nexport default \"mnSettingsClusterService\";\n\nangular\n .module('mnSettingsClusterService', [mnPools, mnPoolDefault])\n .factory('mnSettingsClusterService', [\"$http\", \"$q\", \"IEC\", \"mnPools\", \"mnPoolDefault\", mnSettingsClusterServiceFactory]);\n\nfunction mnSettingsClusterServiceFactory($http, $q, IEC, mnPools, mnPoolDefault) {\n var mnSettingsClusterService = {\n postPoolsDefault: postPoolsDefault,\n getIndexSettings: getIndexSettings,\n postIndexSettings: postIndexSettings,\n\n registerInitChecker: registerInitChecker,\n clearInitChecker: clearInitChecker,\n getInitChecker: getInitChecker,\n\n registerSubmitCallback: registerSubmitCallback,\n clearSubmitCallbacks: clearSubmitCallbacks,\n getSubmitCallbacks: getSubmitCallbacks,\n\n getSettingsRetryRebalance: getSettingsRetryRebalance,\n postSettingsRetryRebalance: postSettingsRetryRebalance,\n getSettingsRebalance: getSettingsRebalance,\n postSettingsRebalance: postSettingsRebalance,\n getPendingRetryRebalance: getPendingRetryRebalance,\n postCancelRebalanceRetry: postCancelRebalanceRetry,\n getMemcachedSettings: getMemcachedSettings,\n postMemcachedSettings: postMemcachedSettings,\n getSettingsAnalytics: getSettingsAnalytics,\n postSettingsAnalytics: postSettingsAnalytics\n };\n\n var childSubmitCallbacks = [];\n var childInitChecker = [];\n\n return mnSettingsClusterService;\n\n function postSettingsRetryRebalance(data, params) {\n return $http.post(\"/settings/retryRebalance\", data, {params: params});\n }\n\n function getSettingsRebalance() {\n return $http.get(\"/settings/rebalance\");\n }\n\n function postSettingsRebalance(data) {\n return $http.post(\"/settings/rebalance\", data);\n }\n\n function getMemcachedSettings() {\n return $http.get(\"/pools/default/settings/memcached/global\");\n }\n\n function postMemcachedSettings(data) {\n return $http.post(\"/pools/default/settings/memcached/global\", data);\n }\n\n function getPendingRetryRebalance(mnHttpParams) {\n return $http({\n url: \"/pools/default/pendingRetryRebalance\",\n method: 'GET',\n mnHttp: mnHttpParams\n });\n }\n\n function getSettingsRetryRebalance() {\n return $http.get(\"/settings/retryRebalance\")\n .then(function (resp) {\n return resp.data;\n });\n }\n\n function postCancelRebalanceRetry(replicationId) {\n return $http({\n url: \"/controller/cancelRebalanceRetry/\" + encodeURIComponent(replicationId),\n method: \"POST\",\n mnHttp: {group: \"global\"}\n });\n }\n\n function getSettingsAnalytics() {\n return $http.get(\"/settings/analytics\")\n .then(function (resp) {\n return resp.data;\n });\n }\n\n function postSettingsAnalytics(data) {\n return $http.post(\"/settings/analytics\", data);\n }\n\n function getInitChecker() {\n return childInitChecker;\n }\n\n function clearInitChecker() {\n childInitChecker = [];\n }\n\n function registerInitChecker(cb) {\n childInitChecker.push(cb);\n }\n\n function getSubmitCallbacks() {\n return childSubmitCallbacks;\n }\n\n function clearSubmitCallbacks() {\n childSubmitCallbacks = [];\n }\n\n function registerSubmitCallback(cb) {\n childSubmitCallbacks.push(cb);\n }\n\n function maybeSetQuota(data, memory, service, key) {\n if (!memory.services || memory.services.model[service]) {\n if (memory[key] === null) {\n data[key] = \"\";\n } else {\n data[key] = memory[key];\n }\n }\n }\n\n function postPoolsDefault(memoryQuotaConfig, justValidate, clusterName) {\n var data = {};\n\n if (clusterName !== undefined) {\n data.clusterName = clusterName;\n }\n\n if (memoryQuotaConfig) {\n maybeSetQuota(data, memoryQuotaConfig, \"kv\", \"memoryQuota\");\n maybeSetQuota(data, memoryQuotaConfig, \"index\", \"indexMemoryQuota\");\n maybeSetQuota(data, memoryQuotaConfig, \"fts\", \"ftsMemoryQuota\");\n if (mnPools.export.isEnterprise) {\n maybeSetQuota(data, memoryQuotaConfig, \"cbas\", \"cbasMemoryQuota\");\n maybeSetQuota(data, memoryQuotaConfig, \"eventing\", \"eventingMemoryQuota\");\n }\n }\n\n var config = {\n method: 'POST',\n url: '/pools/default',\n data: data\n };\n if (justValidate) {\n config.params = {\n just_validate: 1\n };\n }\n return $http(config);\n }\n function getIndexSettings() {\n return $http.get(\"/settings/indexes\").then(function (resp) {\n return resp.data;\n });\n }\n function postIndexSettings(data, justValidate) {\n var configData = {};\n\n let fields = [\"indexerThreads\", \"logLevel\", \"maxRollbackPoints\", \"storageMode\"];\n\n if (mnPoolDefault.export.compat.atLeast70) {\n fields.push(\"redistributeIndexes\");\n fields.push(\"numReplica\");\n }\n\n if (mnPoolDefault.export.compat.atLeast71) {\n fields.push(\"enablePageBloomFilter\");\n }\n\n fields\n .forEach(function (name) {\n if (data[name] !== undefined) {\n configData[name] = data[name];\n }\n });\n var config = {\n method: 'POST',\n url: '/settings/indexes',\n data: configData\n };\n if (justValidate) {\n config.params = {\n just_validate: 1\n };\n }\n return $http(config);\n }\n}\n"], "mappings": "6JAcA,GAAO,qCAAQ,2BAEf,UACG,OAAO,2BAA4B,CAAC,iBAAS,0BAC7C,QAAQ,2BAA4B,CAAC,QAAS,KAAM,MAAO,UAAW,gBAAiB,kCAE1F,yCAAyC,MAAO,GAAI,IAAK,QAAS,cAAe,CAC/E,GAAI,0BAA2B,CAC7B,iBACA,iBACA,kBAEA,oBACA,iBACA,eAEA,uBACA,qBACA,mBAEA,0BACA,2BACA,qBACA,sBACA,yBACA,yBACA,qBACA,sBACA,qBACA,uBAGE,qBAAuB,GACvB,iBAAmB,GAEvB,MAAO,0BAEP,oCAAoC,KAAM,OAAQ,CAChD,MAAO,OAAM,KAAK,2BAA4B,KAAM,CAAC,SAGvD,+BAAgC,CAC9B,MAAO,OAAM,IAAI,uBAGnB,+BAA+B,KAAM,CACnC,MAAO,OAAM,KAAK,sBAAuB,MAG3C,+BAAgC,CAC9B,MAAO,OAAM,IAAI,4CAGnB,+BAA+B,KAAM,CACnC,MAAO,OAAM,KAAK,2CAA4C,MAGhE,kCAAkC,aAAc,CAC9C,MAAO,OAAM,CACX,IAAK,uCACL,OAAQ,MACR,OAAQ,eAIZ,oCAAqC,CACnC,MAAO,OAAM,IAAI,4BACd,KAAK,SAAU,KAAM,CACpB,MAAO,MAAK,OAIlB,kCAAkC,cAAe,CAC/C,MAAO,OAAM,CACX,IAAK,oCAAsC,mBAAmB,eAC9D,OAAQ,OACR,OAAQ,CAAC,MAAO,YAIpB,+BAAgC,CAC9B,MAAO,OAAM,IAAI,uBACd,KAAK,SAAU,KAAM,CACpB,MAAO,MAAK,OAIlB,+BAA+B,KAAM,CACnC,MAAO,OAAM,KAAK,sBAAuB,MAG3C,yBAA0B,CACxB,MAAO,kBAGT,2BAA4B,CAC1B,iBAAmB,GAGrB,6BAA6B,GAAI,CAC/B,iBAAiB,KAAK,IAGxB,6BAA8B,CAC5B,MAAO,sBAGT,+BAAgC,CAC9B,qBAAuB,GAGzB,gCAAgC,GAAI,CAClC,qBAAqB,KAAK,IAG5B,uBAAuB,KAAM,OAAQ,QAAS,IAAK,CACjD,AAAI,EAAC,OAAO,UAAY,OAAO,SAAS,MAAM,WAC5C,CAAI,OAAO,OAAS,KAClB,KAAK,KAAO,GAEZ,KAAK,KAAO,OAAO,MAKzB,0BAA0B,kBAAmB,aAAc,YAAa,CACtE,GAAI,MAAO,GAEX,AAAI,cAAgB,QAClB,MAAK,YAAc,aAGjB,mBACF,eAAc,KAAM,kBAAmB,KAAM,eAC7C,cAAc,KAAM,kBAAmB,QAAS,oBAChD,cAAc,KAAM,kBAAmB,MAAO,kBAC1C,QAAQ,OAAO,cACjB,eAAc,KAAM,kBAAmB,OAAQ,mBAC/C,cAAc,KAAM,kBAAmB,WAAY,yBAIvD,GAAI,QAAS,CACX,OAAQ,OACR,IAAK,iBACL,MAEF,MAAI,eACF,QAAO,OAAS,CACd,cAAe,IAGZ,MAAM,QAEf,2BAA4B,CAC1B,MAAO,OAAM,IAAI,qBAAqB,KAAK,SAAU,KAAM,CACzD,MAAO,MAAK,OAGhB,2BAA2B,KAAM,aAAc,CAC7C,GAAI,YAAa,GAEjB,GAAI,QAAS,CAAC,iBAAkB,WAAY,oBAAqB,eAEjE,AAAI,cAAc,OAAO,OAAO,WAC9B,QAAO,KAAK,uBACZ,OAAO,KAAK,eAGV,cAAc,OAAO,OAAO,WAC9B,OAAO,KAAK,yBAGd,OACG,QAAQ,SAAU,KAAM,CACvB,AAAI,KAAK,QAAU,QACjB,YAAW,MAAQ,KAAK,SAG9B,GAAI,QAAS,CACX,OAAQ,OACR,IAAK,oBACL,KAAM,YAER,MAAI,eACF,QAAO,OAAS,CACd,cAAe,IAGZ,MAAM,SAvLR", "names": [] }