@ovh-ux/manager-log-to-customer
Version:
Module to handle logs to customer
1,292 lines • 60.1 kB
JavaScript
function ___$insertStyle(css) {
if (!css || typeof window === 'undefined') {
return;
}
const style = document.createElement('style');
style.setAttribute('type', 'text/css');
style.innerHTML = css;
document.head.appendChild(style);
return css;
}
import angular$1 from 'angular';
import 'angular-translate';
import '@ovh-ux/ng-log-live-tail';
import '@uirouter/angularjs';
import { ListLayoutHelper } from '@ovh-ux/manager-ng-layout-helpers';
import ngOvhSwimmingPoll from '@ovh-ux/ng-ovh-swimming-poll';
import moment from 'moment';
var template$3 = "<log-live-tail data-log-keys=\"$ctrl.logKeys\" data-log-api-url=\"$ctrl.logApiUrl\" data-log-kind=\"$ctrl.kind\" data-api-version=\"$ctrl.apiVersion\">\n <description>\n <main-descriptsion data-ng-transclude=\"mainDescription\"></main-descriptsion>\n <a data-ng-href=\"{{:: $ctrl.logServiceGuideLink }}\" target=\"_blank\" rel=\"noopener\">\n <span data-translate=\"logs_info_link\"></span>\n <i class=\"oui-icon oui-icon-external-link\" aria-hidden=\"true\"></i>\n </a>\n </description>\n <kinds data-ng-if=\"$ctrl.logKindsList.length > 1\">\n <log-select-kinds class=\"row\" data-kinds=\"$ctrl.logKindsList\" data-ng-model=\"$ctrl.kind\">\n </log-select-kinds>\n </kinds>\n <tile>\n <log-tile data-log-subscription-url=\"$ctrl.logSubscriptionUrl\" data-kind=\"$ctrl.kind\" data-go-to-listing-page=\"$ctrl.goToListingPage\" data-go-to-stream-listing-page=\"$ctrl.goToStreamListingPage\" data-track-click=\"$ctrl.trackClick\" data-tracking-hits=\"$ctrl.trackingHits\" data-api-version=\"$ctrl.apiVersion\">\n </log-tile>\n </tile>\n</log-live-tail>\n";
function _arrayLikeToArray(r, a) {
(null == a || a > r.length) && (a = r.length);
for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];
return n;
}
function _arrayWithHoles(r) {
if (Array.isArray(r)) return r;
}
function asyncGeneratorStep(n, t, e, r, o, a, c) {
try {
var i = n[a](c),
u = i.value;
} catch (n) {
return void e(n);
}
i.done ? t(u) : Promise.resolve(u).then(r, o);
}
function _asyncToGenerator(n) {
return function () {
var t = this,
e = arguments;
return new Promise(function (r, o) {
var a = n.apply(t, e);
function _next(n) {
asyncGeneratorStep(a, r, o, _next, _throw, "next", n);
}
function _throw(n) {
asyncGeneratorStep(a, r, o, _next, _throw, "throw", n);
}
_next(void 0);
});
};
}
function _classCallCheck(a, n) {
if (!(a instanceof n)) throw new TypeError("Cannot call a class as a function");
}
function _defineProperties(e, r) {
for (var t = 0; t < r.length; t++) {
var o = r[t];
o.enumerable = o.enumerable || !1, o.configurable = !0, "value" in o && (o.writable = !0), Object.defineProperty(e, _toPropertyKey(o.key), o);
}
}
function _createClass(e, r, t) {
return r && _defineProperties(e.prototype, r), t && _defineProperties(e, t), Object.defineProperty(e, "prototype", {
writable: !1
}), e;
}
function _defineProperty(e, r, t) {
return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {
value: t,
enumerable: !0,
configurable: !0,
writable: !0
}) : e[r] = t, e;
}
function _iterableToArrayLimit(r, l) {
var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"];
if (null != t) {
var e,
n,
i,
u,
a = [],
f = !0,
o = !1;
try {
if (i = (t = t.call(r)).next, 0 === l) {
if (Object(t) !== t) return;
f = !1;
} else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);
} catch (r) {
o = !0, n = r;
} finally {
try {
if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;
} finally {
if (o) throw n;
}
}
return a;
}
}
function _nonIterableRest() {
throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.");
}
function ownKeys(e, r) {
var t = Object.keys(e);
if (Object.getOwnPropertySymbols) {
var o = Object.getOwnPropertySymbols(e);
r && (o = o.filter(function (r) {
return Object.getOwnPropertyDescriptor(e, r).enumerable;
})), t.push.apply(t, o);
}
return t;
}
function _objectSpread2(e) {
for (var r = 1; r < arguments.length; r++) {
var t = null != arguments[r] ? arguments[r] : {};
r % 2 ? ownKeys(Object(t), !0).forEach(function (r) {
_defineProperty(e, r, t[r]);
}) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {
Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));
});
}
return e;
}
function _regeneratorRuntime() {
_regeneratorRuntime = function () {
return e;
};
var t,
e = {},
r = Object.prototype,
n = r.hasOwnProperty,
o = Object.defineProperty || function (t, e, r) {
t[e] = r.value;
},
i = "function" == typeof Symbol ? Symbol : {},
a = i.iterator || "@@iterator",
c = i.asyncIterator || "@@asyncIterator",
u = i.toStringTag || "@@toStringTag";
function define(t, e, r) {
return Object.defineProperty(t, e, {
value: r,
enumerable: !0,
configurable: !0,
writable: !0
}), t[e];
}
try {
define({}, "");
} catch (t) {
define = function (t, e, r) {
return t[e] = r;
};
}
function wrap(t, e, r, n) {
var i = e && e.prototype instanceof Generator ? e : Generator,
a = Object.create(i.prototype),
c = new Context(n || []);
return o(a, "_invoke", {
value: makeInvokeMethod(t, r, c)
}), a;
}
function tryCatch(t, e, r) {
try {
return {
type: "normal",
arg: t.call(e, r)
};
} catch (t) {
return {
type: "throw",
arg: t
};
}
}
e.wrap = wrap;
var h = "suspendedStart",
l = "suspendedYield",
f = "executing",
s = "completed",
y = {};
function Generator() {}
function GeneratorFunction() {}
function GeneratorFunctionPrototype() {}
var p = {};
define(p, a, function () {
return this;
});
var d = Object.getPrototypeOf,
v = d && d(d(values([])));
v && v !== r && n.call(v, a) && (p = v);
var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p);
function defineIteratorMethods(t) {
["next", "throw", "return"].forEach(function (e) {
define(t, e, function (t) {
return this._invoke(e, t);
});
});
}
function AsyncIterator(t, e) {
function invoke(r, o, i, a) {
var c = tryCatch(t[r], t, o);
if ("throw" !== c.type) {
var u = c.arg,
h = u.value;
return h && "object" == typeof h && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) {
invoke("next", t, i, a);
}, function (t) {
invoke("throw", t, i, a);
}) : e.resolve(h).then(function (t) {
u.value = t, i(u);
}, function (t) {
return invoke("throw", t, i, a);
});
}
a(c.arg);
}
var r;
o(this, "_invoke", {
value: function (t, n) {
function callInvokeWithMethodAndArg() {
return new e(function (e, r) {
invoke(t, n, e, r);
});
}
return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();
}
});
}
function makeInvokeMethod(e, r, n) {
var o = h;
return function (i, a) {
if (o === f) throw Error("Generator is already running");
if (o === s) {
if ("throw" === i) throw a;
return {
value: t,
done: !0
};
}
for (n.method = i, n.arg = a;;) {
var c = n.delegate;
if (c) {
var u = maybeInvokeDelegate(c, n);
if (u) {
if (u === y) continue;
return u;
}
}
if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) {
if (o === h) throw o = s, n.arg;
n.dispatchException(n.arg);
} else "return" === n.method && n.abrupt("return", n.arg);
o = f;
var p = tryCatch(e, r, n);
if ("normal" === p.type) {
if (o = n.done ? s : l, p.arg === y) continue;
return {
value: p.arg,
done: n.done
};
}
"throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg);
}
};
}
function maybeInvokeDelegate(e, r) {
var n = r.method,
o = e.iterator[n];
if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y;
var i = tryCatch(o, e.iterator, r.arg);
if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y;
var a = i.arg;
return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y);
}
function pushTryEntry(t) {
var e = {
tryLoc: t[0]
};
1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e);
}
function resetTryEntry(t) {
var e = t.completion || {};
e.type = "normal", delete e.arg, t.completion = e;
}
function Context(t) {
this.tryEntries = [{
tryLoc: "root"
}], t.forEach(pushTryEntry, this), this.reset(!0);
}
function values(e) {
if (e || "" === e) {
var r = e[a];
if (r) return r.call(e);
if ("function" == typeof e.next) return e;
if (!isNaN(e.length)) {
var o = -1,
i = function next() {
for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next;
return next.value = t, next.done = !0, next;
};
return i.next = i;
}
}
throw new TypeError(typeof e + " is not iterable");
}
return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", {
value: GeneratorFunctionPrototype,
configurable: !0
}), o(GeneratorFunctionPrototype, "constructor", {
value: GeneratorFunction,
configurable: !0
}), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) {
var e = "function" == typeof t && t.constructor;
return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name));
}, e.mark = function (t) {
return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t;
}, e.awrap = function (t) {
return {
__await: t
};
}, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () {
return this;
}), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) {
void 0 === i && (i = Promise);
var a = new AsyncIterator(wrap(t, r, n, o), i);
return e.isGeneratorFunction(r) ? a : a.next().then(function (t) {
return t.done ? t.value : a.next();
});
}, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () {
return this;
}), define(g, "toString", function () {
return "[object Generator]";
}), e.keys = function (t) {
var e = Object(t),
r = [];
for (var n in e) r.push(n);
return r.reverse(), function next() {
for (; r.length;) {
var t = r.pop();
if (t in e) return next.value = t, next.done = !1, next;
}
return next.done = !0, next;
};
}, e.values = values, Context.prototype = {
constructor: Context,
reset: function (e) {
if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t);
},
stop: function () {
this.done = !0;
var t = this.tryEntries[0].completion;
if ("throw" === t.type) throw t.arg;
return this.rval;
},
dispatchException: function (e) {
if (this.done) throw e;
var r = this;
function handle(n, o) {
return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o;
}
for (var o = this.tryEntries.length - 1; o >= 0; --o) {
var i = this.tryEntries[o],
a = i.completion;
if ("root" === i.tryLoc) return handle("end");
if (i.tryLoc <= this.prev) {
var c = n.call(i, "catchLoc"),
u = n.call(i, "finallyLoc");
if (c && u) {
if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
} else if (c) {
if (this.prev < i.catchLoc) return handle(i.catchLoc, !0);
} else {
if (!u) throw Error("try statement without catch or finally");
if (this.prev < i.finallyLoc) return handle(i.finallyLoc);
}
}
}
},
abrupt: function (t, e) {
for (var r = this.tryEntries.length - 1; r >= 0; --r) {
var o = this.tryEntries[r];
if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) {
var i = o;
break;
}
}
i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null);
var a = i ? i.completion : {};
return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a);
},
complete: function (t, e) {
if ("throw" === t.type) throw t.arg;
return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y;
},
finish: function (t) {
for (var e = this.tryEntries.length - 1; e >= 0; --e) {
var r = this.tryEntries[e];
if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y;
}
},
catch: function (t) {
for (var e = this.tryEntries.length - 1; e >= 0; --e) {
var r = this.tryEntries[e];
if (r.tryLoc === t) {
var n = r.completion;
if ("throw" === n.type) {
var o = n.arg;
resetTryEntry(r);
}
return o;
}
}
throw Error("illegal catch attempt");
},
delegateYield: function (e, r, n) {
return this.delegate = {
iterator: values(e),
resultName: r,
nextLoc: n
}, "next" === this.method && (this.arg = t), y;
}
}, e;
}
function _slicedToArray(r, e) {
return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();
}
function _toPrimitive(t, r) {
if ("object" != typeof t || !t) return t;
var e = t[Symbol.toPrimitive];
if (void 0 !== e) {
var i = e.call(t, r || "default");
if ("object" != typeof i) return i;
throw new TypeError("@@toPrimitive must return a primitive value.");
}
return ("string" === r ? String : Number)(t);
}
function _toPropertyKey(t) {
var i = _toPrimitive(t, "string");
return "symbol" == typeof i ? i : i + "";
}
function _unsupportedIterableToArray(r, a) {
if (r) {
if ("string" == typeof r) return _arrayLikeToArray(r, a);
var t = {}.toString.call(r).slice(8, -1);
return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;
}
}
var LogToCustomerCtrl = /*#__PURE__*/function () {
function LogToCustomerCtrl() {
_classCallCheck(this, LogToCustomerCtrl);
}
return _createClass(LogToCustomerCtrl, [{
key: "$onInit",
value: function $onInit() {
this.kind = this.kindInitValue;
this.logKeys = this.logKindsKeys[this.kind];
}
}]);
}();
var component$2 = {
controller: LogToCustomerCtrl,
template: template$3,
transclude: {
mainDescription: '?mainDescription'
},
bindings: {
logApiUrl: '<',
logServiceGuideLink: '<',
logSubscriptionUrl: '<',
apiVersion: '<?',
goToListingPage: '<',
logKindsList: '<',
logKindsKeys: '<',
kindInitValue: '<',
trackClick: '<',
trackingHits: '<'
}
};
var LogToCustomerService = /*#__PURE__*/function () {
LogToCustomerService.$inject = ["$http", "$q", "iceberg", "Poller", "Apiv2Service", "API_VERSION"];
function LogToCustomerService($http, $q, iceberg, Poller, Apiv2Service, API_VERSION) {
_classCallCheck(this, LogToCustomerService);
this.$http = $http;
this.$q = $q;
this.iceberg = iceberg;
this.Poller = Poller;
this.Apiv2Service = Apiv2Service;
this.API_VERSION = API_VERSION;
}
return _createClass(LogToCustomerService, [{
key: "getHttpConfig",
value: function getHttpConfig(apiVersion) {
return {
serviceType: apiVersion !== null && apiVersion !== void 0 ? apiVersion : this.API_VERSION.v1
};
}
}, {
key: "getRetention",
value: function getRetention(serviceName, clusterId, retentionId) {
return this.$http.get("/dbaas/logs/".concat(serviceName, "/cluster/").concat(clusterId, "/retention/").concat(retentionId)).then(function (_ref) {
var data = _ref.data;
return data;
});
}
}, {
key: "icebergQuery",
value: function icebergQuery(url) {
var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
var apiVersion = arguments.length > 2 ? arguments[2] : undefined;
var promise = apiVersion === this.API_VERSION.v2 ? this.Apiv2Service.httpApiv2List({
url: url,
params: params,
headers: {
'X-Pagination-Mode': 'CachedObjectList-Cursor',
Pragma: 'no-cache'
}
}, {
cursor: null
}) : this.iceberg(url, params).query().expand('CachedObjectList-Pages').execute(null, true).$promise;
return promise.then(function (_ref2) {
var data = _ref2.data;
return data;
});
}
}, {
key: "get",
value: function get(url, apiVersion) {
return this.$http.get(url, this.getHttpConfig(apiVersion));
}
}, {
key: "post",
value: function post(url, payload, apiVersion) {
return this.$http.post(url, payload, this.getHttpConfig(apiVersion));
}
}, {
key: "delete",
value: function _delete(url, apiVersion) {
return this.$http["delete"](url, this.getHttpConfig(apiVersion));
}
}, {
key: "pollOperation",
value: function pollOperation(serviceName, operation) {
var url = "/dbaas/logs/".concat(serviceName, "/operation/").concat(operation.operationId);
return this.Poller.poll(url, null, {
successRule: function successRule(task) {
return task.state === 'SUCCESS';
},
errorRule: function errorRule(task) {
return task.state === 'FAILURE' || task.state === 'REVOKE';
},
namespace: 'logToCustomer'
});
}
}, {
key: "stopOperationPolling",
value: function stopOperationPolling() {
return this.Poller.kill({
namespace: 'logToCustomer'
});
}
}, {
key: "getIcebergStreamData",
value: function getIcebergStreamData(id) {
return this.icebergQuery("/dbaas/logs/".concat(id, "/output/graylog/stream"));
}
}, {
key: "getLogAccount",
value: function getLogAccount(id) {
return this.$http.get("/dbaas/logs/".concat(id)).then(function (_ref3) {
var data = _ref3.data;
return data;
});
}
}, {
key: "getSream",
value: function getSream(serviceName, id) {
return this.$http.get("/dbaas/logs/".concat(serviceName, "/output/graylog/stream/").concat(id)).then(function (_ref4) {
var data = _ref4.data;
return data;
});
}
}, {
key: "getStreamUrl",
value: function getStreamUrl(serviceName, id) {
return this.$http.get("/dbaas/logs/".concat(serviceName, "/output/graylog/stream/").concat(id, "/url")).then(function (_ref5) {
var _data$find;
var data = _ref5.data;
return (_data$find = data.find(function (_ref6) {
var type = _ref6.type;
return type === 'GRAYLOG_WEBUI';
})) === null || _data$find === void 0 ? void 0 : _data$find.address;
});
}
}, {
key: "getDataStreams",
value: function getDataStreams() {
var _this = this;
return this.$http.get('/dbaas/logs').then(function (_ref7) {
var data = _ref7.data;
var streamPromises = data.map(function (id) {
return _this.$http.get("/dbaas/logs/".concat(id, "/output/graylog/stream")).then(function (response) {
return {
service: id,
streams: response.data
};
})["catch"](function () {
return {
service: id,
streams: []
};
});
});
return _this.$q.all(streamPromises).then(function (results) {
return results.reduce(function (acc, current) {
return _objectSpread2(_objectSpread2({}, acc), {}, {
streams: acc.streams.concat(current),
streamCount: acc.streamCount + current.streams.length
});
}, {
streams: [],
streamCount: 0
});
});
});
}
}]);
}();
function __variableDynamicImportRuntime1__$2(path) {
switch (path) {
case './../translations/Messages_de_DE.json':
return import('./Messages_de_DE-26666f7a.js');
case './../translations/Messages_en_GB.json':
return import('./Messages_en_GB-2b2794e9.js');
case './../translations/Messages_es_ES.json':
return import('./Messages_es_ES-344c3161.js');
case './../translations/Messages_fr_CA.json':
return import('./Messages_fr_CA-8c04ab9b.js');
case './../translations/Messages_fr_FR.json':
return import('./Messages_fr_FR-d3a9a0e3.js');
case './../translations/Messages_it_IT.json':
return import('./Messages_it_IT-1f288a07.js');
case './../translations/Messages_pl_PL.json':
return import('./Messages_pl_PL-9e5463d8.js');
case './../translations/Messages_pt_PT.json':
return import('./Messages_pt_PT-cf2966ed.js');
default:
return new Promise(function (resolve, reject) {
(typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(reject.bind(null, new Error("Unknown variable dynamic import: " + path)));
});
}
}
function __variableDynamicImportRuntime0__$2(path) {
switch (path) {
case './../translations/Messages_de_DE.json':
return import('./Messages_de_DE-26666f7a.js');
case './../translations/Messages_en_GB.json':
return import('./Messages_en_GB-2b2794e9.js');
case './../translations/Messages_es_ES.json':
return import('./Messages_es_ES-344c3161.js');
case './../translations/Messages_fr_CA.json':
return import('./Messages_fr_CA-8c04ab9b.js');
case './../translations/Messages_fr_FR.json':
return import('./Messages_fr_FR-d3a9a0e3.js');
case './../translations/Messages_it_IT.json':
return import('./Messages_it_IT-1f288a07.js');
case './../translations/Messages_pl_PL.json':
return import('./Messages_pl_PL-9e5463d8.js');
case './../translations/Messages_pt_PT.json':
return import('./Messages_pt_PT-cf2966ed.js');
default:
return new Promise(function (resolve, reject) {
(typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(reject.bind(null, new Error("Unknown variable dynamic import: " + path)));
});
}
}
var moduleName$3 = 'ovhLogToCustomerLiveTail';
angular$1.module(moduleName$3, ['pascalprecht.translate', 'ui.router', 'ngLogLiveTail']).service('LogToCustomerService', LogToCustomerService).component('logToCustomerLiveTail', component$2).run(["$translate", "$q", "asyncLoader", function ($translate, $q, asyncLoader) {
var promises = [];
promises.push($q.all({
use: __variableDynamicImportRuntime0__$2('./../translations/Messages_' + $translate.use() + '.json').then(function (module) {
return module["default"] || module;
})["catch"](function () {
return {};
}),
fallback: __variableDynamicImportRuntime1__$2('./../translations/Messages_' + $translate.fallbackLanguage() + '.json').then(function (module) {
return module["default"] || module;
})["catch"](function () {
return {};
})
}).then(function (result) {
return Object.assign(result.fallback, result.use);
}));
promises.forEach(function (p) {
return asyncLoader.addTranslations(p);
});
return $q.all(promises).then(function () {
return $translate.refresh();
});
}]);
var template$2 = "<oui-header data-heading=\"{{ :: 'logs_list_title' | translate }}\" data-description=\"{{ :: $ctrl.description }}\">\n <oui-back-button data-on-click=\"$ctrl.goBack($ctrl.logSubscriptionApiData.params.kind)\">\n </oui-back-button>\n</oui-header>\n\n<log-select-kinds data-ng-if=\"$ctrl.logKindsList.length > 1\" class=\"row\" data-kinds=\"$ctrl.logKindsList\" data-on-change=\"$ctrl.reloadSubscribedStreams()\" data-ng-model=\"$ctrl.logSubscriptionApiData.params.kind\">\n</log-select-kinds>\n\n<oui-button class=\"my-3\" data-icon-left=\"oui-icon-plus\" data-variant=\"secondary\" data-ng-click=\"$ctrl.goToAddDataStream()\">\n <span data-translate=\"logs_list_add_data_stream_button\"></span>\n</oui-button>\n\n<oui-datagrid id=\"datagridLogAccounts\" data-empty-placeholder=\"{{:: 'list_empty' | translate }}\" data-rows=\"$ctrl.streams\" data-row-loader=\"$ctrl.getRetentionDetails($row)\">\n <oui-datagrid-topbar>\n <oui-select class=\"w-50\" data-id=\"ldp_select\" data-name=\"ldp_account\" data-items=\"$ctrl.accountList\" data-match=\"formattedName\" data-model=\"$ctrl.selectedAccount\" data-on-change=\"$ctrl.onSelectedLogAccountChange()\">\n </oui-select>\n </oui-datagrid-topbar>\n <oui-datagrid-column data-title=\":: 'list_column_account' | translate\" data-type=\"string\">\n <div data-ng-if=\"$ctrl.selectedAccount.displayName\">\n <a data-ng-href=\"{{ $ctrl.LDPHomePageLink }}\" data-ng-bind=\"$ctrl.selectedAccount.displayName\" data-track-on=\"click\" data-track-type=\"action\" data-track-name=\"{{:: $ctrl.trackingHits.LDP_DETAIL}}\" target=\"_blank\" rel=\"noopener\">\n </a>\n <p class=\"small mb-0\" data-ng-bind=\"$ctrl.selectedAccount.serviceName\"></p>\n </div>\n\n <a data-ng-if=\"!$ctrl.selectedAccount.displayName\" data-ng-href=\"{{ $ctrl.LDPHomePageLink}}\" data-ng-bind=\"$ctrl.selectedAccount.serviceName\" data-track-on=\"click\" data-track-type=\"action\" data-track-name=\"{{:: $ctrl.trackingHits.LDP_DETAIL}}\" target=\"_blank\" rel=\"noopener\">\n </a>\n </oui-datagrid-column>\n\n <oui-datagrid-column class=\"stream-name-column\" data-title=\":: 'list_column_stream_name' | translate\" data-property=\"title\" data-type=\"string\" data-filterable>\n <span class=\"d-inline-block word-break\" data-ng-bind=\"$value\"></span>\n </oui-datagrid-column>\n <oui-datagrid-column data-title=\":: 'list_column_stream_description' | translate\" data-property=\"description\" data-type=\"string\">\n <span class=\"d-inline-block word-break\" data-ng-bind=\"$value\"></span>\n </oui-datagrid-column>\n <oui-datagrid-column data-title=\":: 'list_column_stream_indexation' | translate\" data-property=\"indexingEnabled\">\n <span class=\"oui-badge\" data-ng-class=\"$value ? 'oui-badge_success': 'oui-badge_warning'\" data-translate=\"{{'list_indexation_status_' + $value}}\"></span>\n </oui-datagrid-column>\n\n <oui-datagrid-column data-title=\":: 'list_column_stream_retention' | translate\" data-property=\"duration\">\n <span data-ng-bind=\"$ctrl.retentionInfo($value)\"></span>\n </oui-datagrid-column>\n\n <oui-datagrid-column data-title=\":: 'list_column_stream_subscription' | translate\" data-property=\"nbSubscription\">\n <div class=\"d-flex justify-content-between align-items-center\">\n <div>\n <span data-ng-if=\"$value === 0\">-</span>\n <span data-ng-if=\"$value > 0\">\n <span data-ng-bind=\"$value\"></span>\n <a data-ng-href=\"{{ $ctrl.getSubscriptionLink($row.streamId)}}\" target=\"_blank\" rel=\"noopener\">\n <span class=\"oui-icon oui-icon-external-link\" aria-hidden=\"true\"></span>\n </a>\n </span>\n </div>\n <div>\n <oui-button data-variant=\"secondary\" data-ng-if=\"!$ctrl.streamSubscriptions.hasOwnProperty($row.streamId)\" data-ng-click=\"$ctrl.createLogSubscription($row.streamId)\" data-disabled=\"$ctrl.streamLoading[$row.streamId] || $ctrl.streamLoading.all\">\n <span data-translate=\"list_button_subscribe\"></span>\n <oui-spinner size=\"s\" data-ng-if=\"$ctrl.streamLoading[$row.streamId] || $ctrl.streamLoading.all\"></oui-spinner>\n </oui-button>\n <oui-button data-variant=\"secondary\" data-ng-if=\"$ctrl.streamSubscriptions.hasOwnProperty($row.streamId)\" data-ng-click=\"$ctrl.deleteLogSubscription($row.streamId)\" data-disabled=\"$ctrl.streamLoading[$row.streamId] || $ctrl.streamLoading.all\">\n <span data-translate=\"list_button_unsubscribe\"></span>\n <oui-spinner size=\"s\" data-ng-if=\"$ctrl.streamLoading[$row.streamId] || $ctrl.streamLoading.all\"></oui-spinner>\n </oui-button>\n </div>\n </div>\n </oui-datagrid-column>\n</oui-datagrid>\n";
var DATA_PLATFORM_GUIDE = {
DEFAULT: 'https://www.ovhcloud.com/en-ie/identity-security-operations/logs-data-platform/',
DE: 'https://www.ovhcloud.com/de/identity-security-operations/logs-data-platform/',
ES: 'https://www.ovhcloud.com/es-es/identity-security-operations/logs-data-platform/',
FR: 'https://www.ovhcloud.com/fr/identity-security-operations/logs-data-platform/',
IE: 'https://www.ovhcloud.com/en-ie/identity-security-operations/logs-data-platform/',
IT: 'https://www.ovhcloud.com/it/identity-security-operations/logs-data-platform/',
NL: 'https://www.ovhcloud.com/nl/identity-security-operations/logs-data-platform/',
PL: 'https://www.ovhcloud.com/pl/identity-security-operations/logs-data-platform/',
PT: 'https://www.ovhcloud.com/pt/identity-security-operations/logs-data-platform/',
GB: 'https://www.ovhcloud.com/en-gb/identity-security-operations/logs-data-platform/',
CA: 'https://www.ovhcloud.com/en-ca/identity-security-operations/logs-data-platform/',
QC: 'https://www.ovhcloud.com/fr-ca/identity-security-operations/logs-data-platform/',
WS: 'https://www.ovhcloud.com/es/identity-security-operations/logs-data-platform/',
MA: 'https://www.ovhcloud.com/fr-ma/identity-security-operations/logs-data-platform/',
SN: 'https://www.ovhcloud.com/fr-sn/identity-security-operations/logs-data-platform/',
TN: 'https://www.ovhcloud.com/fr-tn/identity-security-operations/logs-data-platform/',
AU: 'https://www.ovhcloud.com/en-au/identity-security-operations/logs-data-platform/',
SG: 'https://www.ovhcloud.com/en-sg/identity-security-operations/logs-data-platform/',
ASIA: 'https://www.ovhcloud.com/asia/identity-security-operations/logs-data-platform/',
IN: 'https://www.ovhcloud.com/en-in/identity-security-operations/logs-data-platform/',
WE: 'https://www.ovhcloud.com/en-ie/identity-security-operations/logs-data-platform/',
US: 'https://us.ovhcloud.com/identity-security-operations/logs-data-platform/',
WW: 'https://www.ovhcloud.com/en/identity-security-operations/logs-data-platform/'
};
var RETENTION = {
FORTY_FIVE_DAYS: 'P45D'
};
var LogToCustomerListCtrl = /*#__PURE__*/function () {
LogToCustomerListCtrl.$inject = ["$state", "coreURLBuilder", "LogToCustomerService", "$translate", "$q", "Alerter"];
function LogToCustomerListCtrl($state, coreURLBuilder, LogToCustomerService, $translate, $q, Alerter) {
_classCallCheck(this, LogToCustomerListCtrl);
this.$state = $state;
this.coreURLBuilder = coreURLBuilder;
this.LogToCustomerService = LogToCustomerService;
this.$translate = $translate;
this.$q = $q;
this.Alerter = Alerter;
}
return _createClass(LogToCustomerListCtrl, [{
key: "$onInit",
value: function $onInit() {
var _this = this;
this.streamLoading = {
all: false
};
this.accountList = [];
this.streams = [];
this.streamSubscriptions = {};
this.LDPHomePageLink = null;
this.selectedAccount = null;
this.LogToCustomerService.icebergQuery('/dbaas/logs').then(function (data) {
_this.accountList = data.map(function (item) {
return _objectSpread2(_objectSpread2({}, item), {}, {
formattedName: item.displayName || item.serviceName
});
});
_this.selectedAccount = _this.accountList.length > 0 ? _this.accountList[0] : null;
_this.buildLDPHomePageLink();
_this.getStreamData();
})["catch"](function (error) {
var _error$data;
_this.alertError(error === null || error === void 0 || (_error$data = error.data) === null || _error$data === void 0 ? void 0 : _error$data.message);
});
}
}, {
key: "reloadSubscribedStreams",
value: function reloadSubscribedStreams() {
var _this2 = this;
this.streamLoading.all = true;
this.getSubscribedStreams()["finally"](function () {
_this2.streamLoading.all = false;
});
}
}, {
key: "alertError",
value: function alertError() {
var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
this.Alerter.error(this.$translate.instant('error_message', {
message: message
}));
}
}, {
key: "buildLDPHomePageLink",
value: function buildLDPHomePageLink() {
this.LDPHomePageLink = this.coreURLBuilder.buildURL('dedicated', "#/dbaas/logs/".concat(this.selectedAccount.serviceName, "/home"));
}
}, {
key: "getStreamData",
value: function getStreamData() {
var _this3 = this;
return this.$q.all([this.getSubscribedStreams(), this.getLogAccountStreams()])["catch"](function (error) {
var _error$data2;
_this3.alertError(error === null || error === void 0 || (_error$data2 = error.data) === null || _error$data2 === void 0 ? void 0 : _error$data2.message);
});
}
}, {
key: "getSubscribedStreams",
value: function getSubscribedStreams() {
var _this4 = this;
this.streamSubscriptions = {};
return this.LogToCustomerService.icebergQuery(this.logSubscriptionApiData.url, this.logSubscriptionApiData.params, this.apiVersion).then(function (data) {
data.forEach(function (item) {
_this4.streamSubscriptions[item.streamId] = _objectSpread2({}, item);
});
});
}
}, {
key: "createLogSubscription",
value: function createLogSubscription(id) {
var _this5 = this;
this.trackClick(this.trackingHits.SUBSCRIBE);
this.streamLoading[id] = true;
this.LogToCustomerService.post(this.logSubscriptionApiData.url, _objectSpread2(_objectSpread2({}, this.logSubscriptionApiData.params), {}, {
streamId: id
}), this.apiVersion).then(function (_ref) {
var data = _ref.data;
return _this5.LogToCustomerService.pollOperation(_this5.selectedAccount.serviceName, data).then(function () {
_this5.Alerter.success(_this5.$translate.instant('logs_list_subscription_success'));
return _this5.getStreamData();
});
})["catch"](function (_ref2) {
var data = _ref2.data;
_this5.alertError(data.message);
})["finally"](function () {
_this5.streamLoading[id] = false;
});
}
}, {
key: "deleteLogSubscription",
value: function deleteLogSubscription(streamId) {
var _this6 = this;
this.trackClick(this.trackingHits.UNSUBSCRIBE);
this.streamLoading[streamId] = true;
var subscriptionId = this.streamSubscriptions[streamId].subscriptionId;
this.LogToCustomerService["delete"]("".concat(this.logSubscriptionApiData.url, "/").concat(subscriptionId), this.apiVersion).then(function (_ref3) {
var data = _ref3.data;
return _this6.LogToCustomerService.pollOperation(_this6.selectedAccount.serviceName, data).then(function () {
_this6.Alerter.success(_this6.$translate.instant('logs_list_unsubscription_success'));
return _this6.getStreamData();
});
})["catch"](function (_ref4) {
var data = _ref4.data;
_this6.alertError(data.message);
})["finally"](function () {
_this6.streamLoading[streamId] = false;
});
}
}, {
key: "getSubscriptionLink",
value: function getSubscriptionLink(streamId) {
return this.coreURLBuilder.buildURL('dedicated', "#/dbaas/logs/".concat(this.selectedAccount.serviceName, "/streams/").concat(streamId, "/subscriptions"));
}
}, {
key: "$onDestroy",
value: function $onDestroy() {
this.LogToCustomerService.stopOperationPolling();
}
}, {
key: "onSelectedLogAccountChange",
value: function onSelectedLogAccountChange() {
this.LogToCustomerService.stopOperationPolling();
this.buildLDPHomePageLink();
this.getLogAccountStreams();
}
}, {
key: "retentionInfo",
value: function retentionInfo(duration) {
if (duration) {
if (duration === RETENTION.FORTY_FIVE_DAYS) {
// moment convert 45 days to a month and we need to be accurate here
return this.$translate.instant('streams_45_days');
}
return moment.duration(duration).humanize();
}
return this.$translate.instant('streams_disk_full');
}
}, {
key: "getLogAccountStreams",
value: function getLogAccountStreams() {
var _this7 = this;
return this.LogToCustomerService.getIcebergStreamData(this.selectedAccount.serviceName).then(function (data) {
_this7.streams = data;
});
}
}, {
key: "getRetentionDetails",
value: function getRetentionDetails(stream) {
return this.LogToCustomerService.getRetention(this.selectedAccount.serviceName, stream.clusterId, stream.retentionId);
}
}, {
key: "goToAddDataStream",
value: function goToAddDataStream() {
this.trackClick(this.trackingHits.ADD_DATA_STREAM);
window.open(this.coreURLBuilder.buildURL('dedicated', "#/dbaas/logs/".concat(this.selectedAccount.serviceName, "/streams/add")), '_blank');
}
}]);
}();
var component$1 = {
controller: LogToCustomerListCtrl,
template: template$2,
bindings: {
logSubscriptionApiData: '<',
goBack: '<',
description: '@',
trackingHits: '<',
trackClick: '<',
apiVersion: '<?',
logKindsList: '<?'
}
};
function __variableDynamicImportRuntime1__$1(path) {
switch (path) {
case './../translations/Messages_de_DE.json':
return import('./Messages_de_DE-26666f7a.js');
case './../translations/Messages_en_GB.json':
return import('./Messages_en_GB-2b2794e9.js');
case './../translations/Messages_es_ES.json':
return import('./Messages_es_ES-344c3161.js');
case './../translations/Messages_fr_CA.json':
return import('./Messages_fr_CA-8c04ab9b.js');
case './../translations/Messages_fr_FR.json':
return import('./Messages_fr_FR-d3a9a0e3.js');
case './../translations/Messages_it_IT.json':
return import('./Messages_it_IT-1f288a07.js');
case './../translations/Messages_pl_PL.json':
return import('./Messages_pl_PL-9e5463d8.js');
case './../translations/Messages_pt_PT.json':
return import('./Messages_pt_PT-cf2966ed.js');
default:
return new Promise(function (resolve, reject) {
(typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(reject.bind(null, new Error("Unknown variable dynamic import: " + path)));
});
}
}
function __variableDynamicImportRuntime0__$1(path) {
switch (path) {
case './../translations/Messages_de_DE.json':
return import('./Messages_de_DE-26666f7a.js');
case './../translations/Messages_en_GB.json':
return import('./Messages_en_GB-2b2794e9.js');
case './../translations/Messages_es_ES.json':
return import('./Messages_es_ES-344c3161.js');
case './../translations/Messages_fr_CA.json':
return import('./Messages_fr_CA-8c04ab9b.js');
case './../translations/Messages_fr_FR.json':
return import('./Messages_fr_FR-d3a9a0e3.js');
case './../translations/Messages_it_IT.json':
return import('./Messages_it_IT-1f288a07.js');
case './../translations/Messages_pl_PL.json':
return import('./Messages_pl_PL-9e5463d8.js');
case './../translations/Messages_pt_PT.json':
return import('./Messages_pt_PT-cf2966ed.js');
default:
return new Promise(function (resolve, reject) {
(typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(reject.bind(null, new Error("Unknown variable dynamic import: " + path)));
});
}
}
var moduleName$2 = 'ovhLogToCustomerList';
angular$1.module(moduleName$2, [ListLayoutHelper.moduleName, ngOvhSwimmingPoll]).component('logToCustomerList', component$1).service('LogToCustomerService', LogToCustomerService).run(["$translate", "$q", "asyncLoader", function ($translate, $q, asyncLoader) {
var promises = [];
promises.push($q.all({
use: __variableDynamicImportRuntime0__$1('./../translations/Messages_' + $translate.use() + '.json').then(function (module) {
return module["default"] || module;
})["catch"](function () {
return {};
}),
fallback: __variableDynamicImportRuntime1__$1('./../translations/Messages_' + $translate.fallbackLanguage() + '.json').then(function (module) {
return module["default"] || module;
})["catch"](function () {
return {};
})
}).then(function (result) {
return Object.assign(result.fallback, result.use);
}));
promises.forEach(function (p) {
return asyncLoader.addTranslations(p);
});
return $q.all(promises).then(function () {
return $translate.refresh();
});
}]);
var template$1 = "<div class=\"form-group col-md-2 col-xs-6\">\n <label for=\"select-logs-kind\" class=\"control-label\" data-translate=\"logs_select_kind\">\n </label>\n <oui-select name=\"select-logs-kind\" data-model=\"$ctrl.ngModel\" data-items=\":: $ctrl.kinds\" data-on-change=\"$ctrl.onChange()\" data-placeholder=\"{{:: 'logs_select_kind' | translate }}\"></oui-select>\n</div>\n";
var component = {
template: template$1,
bindings: {
kinds: '<',
ngModel: '=',
onChange: '&'
},
require: '^ngModel',
name: 'logSelectKinds'
};
var moduleName$1 = 'ovhLogToCustomerSelectKinds';
angular.module(moduleName$1, []).component(component.name, component);
var template = "<div class=\"text-center\">\n <oui-spinner data-ng-if=\"$ctrl.loading\"></oui-spinner>\n</div>\n\n<div data-ng-if=\"!$ctrl.loading\">\n <div data-ng-if=\"$ctrl.streamSubscriptions.length > 0\" class=\"mx-1\">\n <h5 class=\"oui-color-p-800 mb-1\" data-translate=\"log_tile_subscriptions_title\"></h5>\n <button data-ng-click=\"$ctrl.goToStreamListingPage(true)\" type=\"button\" class=\"oui-button oui-button_secondary w-100\" data-track-on=\"click\" data-track-type=\"action\" data-track-name=\"{{:: $ctrl.trackingHits.SUBSCRIBE_OTHER_ACCOUNT}}\">\n <i class=\"oui-icon oui-icon-plus\" aria-hidden=\"true\"></i>\n <span data-translate=\"log_tile_subscriptions_subscribe\"></span>\n </button>\n <oui-tile data-ng-repeat=\"subscription in $ctrl.streamSubscriptions track by $index\" class=\"my-3\" data-heading=\"{{ 'log_title_subscriptions_title' | translate}}\">\n <div class=\"d-flex justify-content-between mb-1\">\n <span class=\"font-weight-bold\" data-ng-bind=\"subscription.displayName\"></span>\n <span class=\"w-50 text-right text-break\" data-ng-bind=\"subscription.serviceName\"></span>\n </div>\n\n <div class=\"d-flex justify-content-between mb-1\">\n <span class=\"font-weight-bold\" data-translate=\"log_title_subscriptions_user\"></span>\n <span class=\"w-50 text-right text-break\" data-ng-bind=\"subscription.userName\"></span>\n </div>\n <div class=\"d-flex justify-content-between\">\n <span class=\"font-weight-bold\" data-translate=\"log_title_subscriptions_stream\"></span>\n <span class=\"w-50 text-right text-break\" data-ng-bind=\"subscription.streamName\"></span>\n </div>\n\n <hr>\n\n <div class=\"text-center\">\n <a data-ng-href=\"{{::subscription.streamUrl}}\" data-track-on=\"click\" data-track-type=\"action\" data-track-name=\"{{:: $ctrl.trackingHits.GRAYLOG_WATCH}}\" target=\"_blank\" rel=\"noopener\" class=\"oui-button oui-button_secondary\">\n <i class=\"oui-icon oui-icon-external-link\" aria-hidden=\"true\"></i>\n <span data-translate=\"log_title_subscriptions_button_watch\"></span>\n </a>\n\n <oui-button variant=\"link\" class=\"d-block mt-1\" data-ng-click=\"$ctrl.deleteLogSubscription(subscription)\" data-disabled=\"subscription.isLoading\">\n <span data-translate=\"log_title_subscriptions_unsubscribe\"></span>\n <oui-spinner size=\"s\" data-ng-if=\"subscription.isLoading\"></oui-spinner>\n </oui-button>\n </div>\n </oui-tile>\n </div>\n <div data-ng-if=\"$ctrl.streamSubscriptions.length === 0\">\n <h5 class=\"text-primary\" data-translate=\"log_tile_section_title\"></h5>\n <oui-tile data-heading=\"{{:: 'log_tile_title' | translate }}\">\n <div data-translate=\"log_tile_empty_state_description\"></div>\n\n <span data-ng-if=\"$ctrl.logAccountStreams.length === 0\" data-translate=\"log_tile_desc_create_account\"></span>\n <span data-ng-if=\"$ctrl.logAccountStreams.length > 0 && !$ctrl.hasAtLeastOneDataStream\" data-translate=\"log_tile_desc_create_stream\"></span>\n <a data-ng-href=\"{{ :: $ctrl.links.logPlatformGuide}}\" target=\"_blank\" rel=\"noopener\">\n <span data-translate=\"log_data_platform_guide_link\"></span>\n <i class=\"oui-icon oui-icon-external-link\" aria-hidden=\"true\"></i>\n </a>\n\n <div class=\"my-2\">\n <a data-ng-if=\"$ctrl.logAccountStreams.length === 0\" class=\"oui-button oui-button_secondary\" data-ng-href=\"{{:: $ctrl.links.createAccount }}\" data-track-on=\"click\" data-track-type=\"action\" data-track-name=\"{{:: $ctrl.trackingHits.CREATE_ACCOUNT}}\" target=\"_blank\" rel=\"noopener\">\n <span data-translate=\"log_button_create_account\"></span>\n </a>\n\n <a data-ng-if=\"$ctrl.logAccountStreams.length > 0 && !$ctrl.hasAtLeastOneDataStream\" class=\"oui-button oui-button_secondary\" data-ng-href=\"{{:: $ctrl.links.createStream }}\" data-track-on=\"click\" data-track-type=\"action\" data-track-name=\"{{:: $ctrl.trackingHits.CREATE_DATA_STREAM}}\" target=\"_blank\" rel=\"noopener\">\n <span data-translate=\"log_button_create_stream\"></span>\n </a>\n\n <oui-button data-ng-if=\"$ctrl.logAccountStreams.length > 0 && $ctrl.hasAtLeastOneDataStream\" data-variant=\"secondary\" data-ng-click=\"$ctrl.goToStreamListingPage()\">\n <span data-translate=\"log_button_transfer_stream\"></span>\n </oui-button>\n </div>\n </oui-tile>\n </div>\n</div>\n";
var LogToCustomerTileCtrl = /*#__PURE__*/function () {
LogToCustomerTileCtrl.$inject = ["LogToCustomerService", "coreConfig", "coreURLBuilder", "$q", "$translate", "Alerter"];
function LogToCustomerTileCtrl(LogToCustomerService, coreConfig, coreURLBuilder, $q, $translate, Alerter) {
_classCallCheck(this, LogToCustomerTileCtrl);
this.LogToCustomerService = LogToCustomerService;
this.user = coreConfig.getUser();
this.coreURLBuilder = coreURLBuilder;
this.$q = $q;
this.$translate = $translate;
this.Alerter = Alerter;
}
return _createClass(LogToCustomerTileCtrl, [{
key: "$onInit",
value: function $onInit() {
this.dbaasLogsURL = this.coreURLBuilder.buildURL('dedicated', '#/dbaas/logs');
this.links = {
logPlatformGuide: DATA_PLATFORM_GUIDE[this.user.ovhSubsidiary] || DATA_PLATFORM_GUIDE.DEFAULT,
createStream: this.dbaasLogsURL,
createAccount: "".concat(this.dbaasLogsURL, "/order")
};
this.hasAtLeastOneDataStream = false;
this.loadStreams();
}
}, {
key: "$onChanges",
value: function () {
var _$onChanges = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(_ref) {
var kind;
return _regeneratorRuntime().wrap(function _callee$(_context) {
while (1) switch (_context.prev = _context.next) {
case 0:
kind = _ref.kind;
if (!kind) {
_context.next = 6;
break;
}
this.loading = true;
_context.next = 5;
return this.getSubscribedStreams();
case 5:
this.loading = false;
case 6:
case "end":
return _context.stop();
}
}, _callee, this);
}));
function $onChanges(_x) {
return _$onChanges.apply(this, arguments);
}
return $onChanges;
}()
}, {
key: "loadStreams",
value: function loadStreams() {
var _this = this;
this.loading = true;
this.streamSubscriptions = [];
return this.$q.all([this.getDataStreams(), this.getSubscribedStreams()])["catch"](function (_ref2) {
var data = _ref2.data;
_this.alertError(data.message);
})["finally"](function () {
_this.loading = false;
});
}
}, {
key: "alertError",
value: function alertError() {
var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';
this.Alerter.error(this.$translate.instant('error_message', {
message: message
}));
}
}, {
key: "getSubscribedStreams",
value: function () {
var _getSubscribedStreams = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
var _this2 = this;
var data, streamPromises;
return _regeneratorRuntime().wrap(function _callee3$(_context3) {
while (1) switch (_context3.prev = _context3.next) {
case 0:
_context3.prev = 0;
_context3.next = 3;
return this.LogToCustomerService.icebergQuery(this.logSubscriptionUrl, {
kind: this.kind
}, this.apiVersion);
case 3:
data = _context3.sent;
streamPromises = data.map( /*#__PURE__*/function () {
var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(subscription) {
var _yield$_this2$$q$all, _yield$_this2$$q$all2, account, stream, url;
return _regeneratorRuntime().wrap(function _callee2$(_context2) {
while (1) switch (_context2.prev = _context2.next) {
case 0:
_context2.next = 2;
return _this2.$q.all([_this2.LogToCustomerService.getLogAccount(subscription.serviceName), _this2.LogToCustomerService.getSream(subscription.serviceName, subscription.streamId), _this2.LogToCustomerService.getStreamUrl(subscription.serviceName, subscription.streamId)]);
case 2:
_yield$_this2$$q$all = _context2.sent;
_yield$_this2$$q$all2 = _slicedToArray(_yield$_this2$$q$all, 3);
account = _yield$_this2$$q$all2[0];
stream = _yield$_this2$$q$all2[1];
url = _yield$_this2$$q$all2[2];
return _context2.abrupt("return", _objectSpread2(_objectSpread2({}, subscription), {}, {
isLoading: false,
userName: account.username,
displayName: account.displayName || account.serviceName,
streamName: stream.title,
streamUrl: url
}));
case 8:
case "end":
return _context2.stop();
}
}, _callee2);
}));
return function (_x2) {
return _ref3.apply(this, arguments);
};
}());
_context3.next = 7;
return this.$q.all(streamPromises);
case 7:
this.streamSubscriptions = _context3.sent;
_context3.next = 13;
break;
case 10:
_context3.prev = 10;
_context3.t0 = _context3["catch"](0);
this.alertError(_context3.t0.message);
case 13:
case "end":
return _context3.stop();
}
}, _callee3, this, [[0, 10]]);
}));
function getSubscribedStreams() {
return _getSubscribedStreams.apply(this, arguments);
}
return getSubscribedStreams;
}()
}, {
key: "getDataStreams",
value: function getDataStreams() {
var _this3 = this;
return this.LogToCustomerService.getDataStreams().then(function (_ref4) {
var streams = _ref4.streams,
streamCount = _ref4.streamCount;
_this3.logAccountStreams = streams;
_this3.hasAtLeastOneDataStream = streamCount > 0;
});
}
}, {
key: "deleteLogSubscription",
value: function deleteLogSubscription(subscription) {
var _this4 = this;
this.trackClick(this.trackingHits.STOP_TRANSFER);
// eslint-disable-next-line no-param-reassign
subscription.isLoading = true;
this.LogToCustomerService["delete"]("".concat(this.logSubscriptionUrl, "/").concat(subscription.subscriptionId), this.apiVersion).then(function (_ref5) {
var data = _ref5.data;
return _this4.LogToCustomerService.pollOperation(subscription.serviceName, data).then(function () {
_this4.Alerter.success(_this4.$translate.instant('logs_list_unsubscription_success'));
return _this4.loadStreams();
});
})["catch"](function (_ref6) {
var data = _ref6.data;
_this4.alertError(data.message);
})["finally"](function () {
// eslint-disable-next-line no-param-reassign
subscription.isLoading = false;
});
}
}, {
key: "goToStreamListingPage",
value: function goToStreamListingPage() {
var preventTracking = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
if (!preventTracking) {
this.trackClick(this.trackingHits.TRANSFER);
}
this.goToListingPage({
kind: this.kind
});
}
}]);
}();
var tiles = {
controller: LogToCustomerTileCtrl,
template: template,
bindings: {
kind: '<',
logSubscriptionUrl: '<',
goToListingPage: '<',
trackClick: '<',
trackingHits: '<',
apiVersion: '<?'
}
};
function __variableDynamicImportRuntime1__(path) {
switch (path) {
case './translations/Messages_de_DE.json':
return import('./Messages_de_DE-26666f7a.js');
case './translations/Messages_en_GB.json':
return import('./Messages_en_GB-2b2794e9.js');
case './translations/Messages_es_ES.json':
return import('./Messages_es_ES-344c3161.js');
case './translations/Messages_fr_CA.json':
return import('./Messages_fr_CA-8c04ab9b.js');
case './translations/Messages_fr_FR.json':
return import('./Messages_fr_FR-d3a9a0e3.js');
case './translations/Messages_it_IT.json':
return import('./Messages_it_IT-1f288a07.js');
case './translations/Messages_pl_PL.json':
return import('./Messages_pl_PL-9e5463d8.js');
case './translations/Messages_pt_PT.json':
return import('./Messages_pt_PT-cf2966ed.js');
default:
return new Promise(function (resolve, reject) {
(typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(reject.bind(null, new Error("Unknown variable dynamic import: " + path)));
});
}
}
function __variableDynamicImportRuntime0__(path) {
switch (path) {
case './translations/Messages_de_DE.json':
return import('./Messages_de_DE-26666f7a.js');
case './translations/Messages_en_GB.json':
return import('./Messages_en_GB-2b2794e9.js');
case './translations/Messages_es_ES.json':
return import('./Messages_es_ES-344c3161.js');
case './translations/Messages_fr_CA.json':
return import('./Messages_fr_CA-8c04ab9b.js');
case './translations/Messages_fr_FR.json':
return import('./Messages_fr_FR-d3a9a0e3.js');
case './translations/Messages_it_IT.json':
return import('./Messages_it_IT-1f288a07.js');
case './translations/Messages_pl_PL.json':
return import('./Messages_pl_PL-9e5463d8.js');
case './translations/Messages_pt_PT.json':
return import('./Messages_pt_PT-cf2966ed.js');
default:
return new Promise(function (resolve, reject) {
(typeof queueMicrotask === 'function' ? queueMicrotask : setTimeout)(reject.bind(null, new Error("Unknown variable dynamic import: " + path)));
});
}
}
var moduleName = 'ovhManagerLogToCustomer';
angular$1.module(moduleName, ['pascalprecht.translate', 'ui.router', moduleName$3, moduleName$2, moduleName$1]).component('logTile', tiles).constant('DATA_PLATFORM_GUIDE', DATA_PLATFORM_GUIDE).run(["$translate", "$q", "asyncLoader", function ($translate, $q, asyncLoader) {
var promises = [];
promises.push($q.all({
use: __variableDynamicImportRuntime0__('./translations/Messages_' + $translate.use() + '.json').then(function (module) {
return module["default"] || module;
})["catch"](function () {
return {};
}),
fallback: __variableDynamicImportRuntime1__('./translations/Messages_' + $translate.fallbackLanguage() + '.json').then(function (module) {
return module["default"] || module;
})["catch"](function () {
return {};
})
}).then(function (result) {
return Object.assign(result.fallback, result.use);
}));
promises.forEach(function (p) {
return asyncLoader.addTranslations(p);
});
return $q.all(promises).then(function () {
return $translate.refresh();
});
}]);
export { moduleName as default };