diff --git a/app/ecolyo.c23d2ee98b58588060f0.js b/app/ecolyo.c9cabda9732f9c9d5e7b.js similarity index 99% rename from app/ecolyo.c23d2ee98b58588060f0.js rename to app/ecolyo.c9cabda9732f9c9d5e7b.js index 7348e339b8d6e5c5e5f7b38efa02b04b5bf18a10..60a2103cb1412e5b846a41585bef045e77ae95ea 100644 --- a/app/ecolyo.c23d2ee98b58588060f0.js +++ b/app/ecolyo.c9cabda9732f9c9d5e7b.js @@ -1741,7 +1741,7 @@ var SplashRoot = function SplashRoot(_ref) { switch (_context.prev = _context.next) { case 0: initializationService = new _initialization.default(client, setinitStep, setinitStepErrors); - partnersInfoService = new _partnersInfo.default(client, setinitStepErrors); + partnersInfoService = new _partnersInfo.default(client); ms = new _migration.MigrationService(client, setinitStepErrors); _context.prev = 3; _context.next = 6; @@ -4442,6 +4442,14 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = void 0; +var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + +var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + +var _classCallCheck2 = _interopRequireDefault(__webpack_require__("lwsE")); + +var _createClass2 = _interopRequireDefault(__webpack_require__("W8MJ")); + var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA")); var _environment = _interopRequireDefault(__webpack_require__("X6DI")); @@ -4455,8 +4463,9 @@ var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoader return a; }; -class PartnersInfoService { - constructor(_client) { +var PartnersInfoService = /*#__PURE__*/function () { + function PartnersInfoService(_client) { + (0, _classCallCheck2.default)(this, PartnersInfoService); (0, _defineProperty2.default)(this, "_client", void 0); this._client = _client; } @@ -4467,25 +4476,54 @@ class PartnersInfoService { */ - async getPartnersInfo() { - const env = new _environment.default(); - const remoteUrl = env.isProduction() ? `/remote/org.ecolyo.backoffice.partners.info` : `/remote/org.ecolyo.backoffice.partners.info.rec`; + (0, _createClass2.default)(PartnersInfoService, [{ + key: "getPartnersInfo", + value: function () { + var _getPartnersInfo = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() { + var env, remoteUrl, result; + return _regenerator.default.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + env = new _environment.default(); + remoteUrl = env.isProduction() ? "/remote/org.ecolyo.backoffice.partners.info" : "/remote/org.ecolyo.backoffice.partners.info.rec"; + _context.prev = 2; + _context.next = 5; + return this._client.getStackClient().fetchJSON('GET', remoteUrl); - try { - const result = await this._client.getStackClient().fetchJSON('GET', remoteUrl); - return result; - } catch (error) { - console.error(`getPartnersInfo: Failed to get partners info:${error}`); - } - } + case 5: + result = _context.sent; + return _context.abrupt("return", result); - // @ts-ignore - __reactstandin__regenerateByEval(key, code) { - // @ts-ignore - this[key] = eval(code); - } + case 9: + _context.prev = 9; + _context.t0 = _context["catch"](2); + console.error("getPartnersInfo: Failed to get partners info:".concat(_context.t0)); -} + case 12: + case "end": + return _context.stop(); + } + } + }, _callee, this, [[2, 9]]); + })); + + function getPartnersInfo() { + return _getPartnersInfo.apply(this, arguments); + } + + return getPartnersInfo; + }() + }, { + key: "__reactstandin__regenerateByEval", + value: // @ts-ignore + function __reactstandin__regenerateByEval(key, code) { + // @ts-ignore + this[key] = eval(code); + } + }]); + return PartnersInfoService; +}(); exports.default = PartnersInfoService; ; @@ -29335,6 +29373,14 @@ Object.defineProperty(exports, "__esModule", { }); exports.default = void 0; +var _regenerator = _interopRequireDefault(__webpack_require__("o0o1")); + +var _asyncToGenerator2 = _interopRequireDefault(__webpack_require__("yXPU")); + +var _classCallCheck2 = _interopRequireDefault(__webpack_require__("lwsE")); + +var _createClass2 = _interopRequireDefault(__webpack_require__("W8MJ")); + var _defineProperty2 = _interopRequireDefault(__webpack_require__("lSNA")); var _cozyClient = __webpack_require__("SH7X"); @@ -29354,124 +29400,329 @@ var _luxon = __webpack_require__("ExVU"); enterModule && enterModule(module); })(); +function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; } + +function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); } + +function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; } + var __signature__ = typeof reactHotLoaderGlobal !== 'undefined' ? reactHotLoaderGlobal.default.signature : function (a) { return a; }; -class AccountService { - constructor(_client) { +var AccountService = /*#__PURE__*/function () { + function AccountService(_client) { + (0, _classCallCheck2.default)(this, AccountService); (0, _defineProperty2.default)(this, "_client", void 0); this._client = _client; } - buildAccountAttributes(konnector, authData) { - return (0, _accounts.build)(konnector, authData); - } + (0, _createClass2.default)(AccountService, [{ + key: "buildAccountAttributes", + value: function buildAccountAttributes(konnector, authData) { + return (0, _accounts.build)(konnector, authData); + } + }, { + key: "createAccount", + value: function () { + var _createAccount2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(konnector, accountAuthData) { + var accountAttributes; + return _regenerator.default.wrap(function _callee$(_context) { + while (1) { + switch (_context.prev = _context.next) { + case 0: + accountAttributes = this.buildAccountAttributes(konnector, accountAuthData); + return _context.abrupt("return", (0, _accounts2.createAccount)(this._client, konnector, accountAttributes)); - async createAccount(konnector, accountAuthData) { - const accountAttributes = this.buildAccountAttributes(konnector, accountAuthData); - return (0, _accounts2.createAccount)(this._client, konnector, accountAttributes); - } + case 2: + case "end": + return _context.stop(); + } + } + }, _callee, this); + })); - async getAccount(id) { - try { - const account = await (0, _accounts2.fetchAccount)(this._client, id); - return account; - } catch (error) { - console.log(error); - throw new Error('Get account failed'); - } - } + function createAccount(_x, _x2) { + return _createAccount2.apply(this, arguments); + } - async getAccountByType(type) { - const query = (0, _cozyClient.Q)(_doctypes.ACCOUNTS_DOCTYPE) // eslint-disable-next-line @typescript-eslint/camelcase - .where({ - account_type: type - }); // .indexFields(['account_type']) + return createAccount; + }() + }, { + key: "getAccount", + value: function () { + var _getAccount = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee2(id) { + var account; + return _regenerator.default.wrap(function _callee2$(_context2) { + while (1) { + switch (_context2.prev = _context2.next) { + case 0: + _context2.prev = 0; + _context2.next = 3; + return (0, _accounts2.fetchAccount)(this._client, id); - const { - data: accounts - } = await this._client.query(query); + case 3: + account = _context2.sent; + return _context2.abrupt("return", account); - if (accounts.length > 1) { - // If several account are found we will used trigger date to select the older - const triggerService = new _triggers.default(this._client); - const triggers = await Promise.all(accounts.map(_account => triggerService.getTriggerForAccount(_account))); // Keep the accountid which have the older trigger + case 7: + _context2.prev = 7; + _context2.t0 = _context2["catch"](0); + console.log(_context2.t0); + throw new Error('Get account failed'); - let olderDate = _luxon.DateTime.now(); + case 11: + case "end": + return _context2.stop(); + } + } + }, _callee2, this, [[0, 7]]); + })); - let olderAccountId = null; + function getAccount(_x3) { + return _getAccount.apply(this, arguments); + } - for (const _trigger of triggers) { - if (_trigger && _trigger.cozyMetadata && _trigger.cozyMetadata.createdAt && _luxon.DateTime.fromISO(_trigger.cozyMetadata.createdAt, { - zone: 'utc' - }) < olderDate) { - olderDate = _luxon.DateTime.fromISO(_trigger.cozyMetadata.createdAt, { - zone: 'utc' - }); - olderAccountId = _trigger.message.account; - } - } // Retrieve the accountId and return it + return getAccount; + }() + }, { + key: "getAccountByType", + value: function () { + var _getAccountByType = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee3(type) { + var query, _yield$this$_client$q, accounts, triggerService, triggers, olderDate, olderAccountId, _iterator, _step, _trigger, filteredAccounts; + return _regenerator.default.wrap(function _callee3$(_context3) { + while (1) { + switch (_context3.prev = _context3.next) { + case 0: + query = (0, _cozyClient.Q)(_doctypes.ACCOUNTS_DOCTYPE) // eslint-disable-next-line @typescript-eslint/camelcase + .where({ + account_type: type + }); // .indexFields(['account_type']) - const filteredAccounts = accounts.filter(_account => _account._id === olderAccountId); - return filteredAccounts[0] ? filteredAccounts[0] : null; - } else { - return accounts[0] ? accounts[0] : null; - } - } + _context3.next = 3; + return this._client.query(query); - async getAccountsByType(type) { - const query = (0, _cozyClient.Q)(_doctypes.ACCOUNTS_DOCTYPE) // eslint-disable-next-line @typescript-eslint/camelcase - .where({ - account_type: type - }); // .indexFields(['account_type']) + case 3: + _yield$this$_client$q = _context3.sent; + accounts = _yield$this$_client$q.data; - const { - data: accounts - } = await this._client.query(query); - return accounts; - } + if (!(accounts.length > 1)) { + _context3.next = 18; + break; + } - async updateAccount(account) { - try { - const updatedAccount = await (0, _accounts2.updateAccount)(this._client, account); - return updatedAccount; - } catch (error) { - console.log(error); - throw new Error('Update account failed'); - } - } + // If several account are found we will used trigger date to select the older + triggerService = new _triggers.default(this._client); + _context3.next = 9; + return Promise.all(accounts.map(function (_account) { + return triggerService.getTriggerForAccount(_account); + })); - async deleteAccount(account) { - try { - await (0, _accounts2.deleteAccount)(this._client, account); - return true; - } catch (error) { - console.log(error); - throw new Error('Delete account failed'); - } - } + case 9: + triggers = _context3.sent; + // Keep the accountid which have the older trigger + olderDate = _luxon.DateTime.now(); + olderAccountId = null; + _iterator = _createForOfIteratorHelper(triggers); - async createIndexAccount() { - const query = (0, _cozyClient.Q)(_doctypes.ACCOUNTS_DOCTYPE) // eslint-disable-next-line @typescript-eslint/camelcase - .where({ - account_type: 'index' - }) // .indexFields(['account_type']) - .limitBy(1); - const { - data: result - } = await this._client.query(query); - return result; - } + try { + for (_iterator.s(); !(_step = _iterator.n()).done;) { + _trigger = _step.value; + + if (_trigger && _trigger.cozyMetadata && _trigger.cozyMetadata.createdAt && _luxon.DateTime.fromISO(_trigger.cozyMetadata.createdAt, { + zone: 'utc' + }) < olderDate) { + olderDate = _luxon.DateTime.fromISO(_trigger.cozyMetadata.createdAt, { + zone: 'utc' + }); + olderAccountId = _trigger.message.account; + } + } // Retrieve the accountId and return it - // @ts-ignore - __reactstandin__regenerateByEval(key, code) { - // @ts-ignore - this[key] = eval(code); - } + } catch (err) { + _iterator.e(err); + } finally { + _iterator.f(); + } -} + filteredAccounts = accounts.filter(function (_account) { + return _account._id === olderAccountId; + }); + return _context3.abrupt("return", filteredAccounts[0] ? filteredAccounts[0] : null); + + case 18: + return _context3.abrupt("return", accounts[0] ? accounts[0] : null); + + case 19: + case "end": + return _context3.stop(); + } + } + }, _callee3, this); + })); + + function getAccountByType(_x4) { + return _getAccountByType.apply(this, arguments); + } + + return getAccountByType; + }() + }, { + key: "getAccountsByType", + value: function () { + var _getAccountsByType = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee4(type) { + var query, _yield$this$_client$q2, accounts; + + return _regenerator.default.wrap(function _callee4$(_context4) { + while (1) { + switch (_context4.prev = _context4.next) { + case 0: + query = (0, _cozyClient.Q)(_doctypes.ACCOUNTS_DOCTYPE) // eslint-disable-next-line @typescript-eslint/camelcase + .where({ + account_type: type + }); // .indexFields(['account_type']) + + _context4.next = 3; + return this._client.query(query); + + case 3: + _yield$this$_client$q2 = _context4.sent; + accounts = _yield$this$_client$q2.data; + return _context4.abrupt("return", accounts); + + case 6: + case "end": + return _context4.stop(); + } + } + }, _callee4, this); + })); + + function getAccountsByType(_x5) { + return _getAccountsByType.apply(this, arguments); + } + + return getAccountsByType; + }() + }, { + key: "updateAccount", + value: function () { + var _updateAccount2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee5(account) { + var updatedAccount; + return _regenerator.default.wrap(function _callee5$(_context5) { + while (1) { + switch (_context5.prev = _context5.next) { + case 0: + _context5.prev = 0; + _context5.next = 3; + return (0, _accounts2.updateAccount)(this._client, account); + + case 3: + updatedAccount = _context5.sent; + return _context5.abrupt("return", updatedAccount); + + case 7: + _context5.prev = 7; + _context5.t0 = _context5["catch"](0); + console.log(_context5.t0); + throw new Error('Update account failed'); + + case 11: + case "end": + return _context5.stop(); + } + } + }, _callee5, this, [[0, 7]]); + })); + + function updateAccount(_x6) { + return _updateAccount2.apply(this, arguments); + } + + return updateAccount; + }() + }, { + key: "deleteAccount", + value: function () { + var _deleteAccount2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee6(account) { + return _regenerator.default.wrap(function _callee6$(_context6) { + while (1) { + switch (_context6.prev = _context6.next) { + case 0: + _context6.prev = 0; + _context6.next = 3; + return (0, _accounts2.deleteAccount)(this._client, account); + + case 3: + return _context6.abrupt("return", true); + + case 6: + _context6.prev = 6; + _context6.t0 = _context6["catch"](0); + console.log(_context6.t0); + throw new Error('Delete account failed'); + + case 10: + case "end": + return _context6.stop(); + } + } + }, _callee6, this, [[0, 6]]); + })); + + function deleteAccount(_x7) { + return _deleteAccount2.apply(this, arguments); + } + + return deleteAccount; + }() + }, { + key: "createIndexAccount", + value: function () { + var _createIndexAccount = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee7() { + var query, _yield$this$_client$q3, result; + + return _regenerator.default.wrap(function _callee7$(_context7) { + while (1) { + switch (_context7.prev = _context7.next) { + case 0: + query = (0, _cozyClient.Q)(_doctypes.ACCOUNTS_DOCTYPE) // eslint-disable-next-line @typescript-eslint/camelcase + .where({ + account_type: 'index' + }).indexFields(['account_type']).limitBy(1); + _context7.next = 3; + return this._client.query(query); + + case 3: + _yield$this$_client$q3 = _context7.sent; + result = _yield$this$_client$q3.data; + return _context7.abrupt("return", result); + + case 6: + case "end": + return _context7.stop(); + } + } + }, _callee7, this); + })); + + function createIndexAccount() { + return _createIndexAccount.apply(this, arguments); + } + + return createIndexAccount; + }() + }, { + key: "__reactstandin__regenerateByEval", + value: // @ts-ignore + function __reactstandin__regenerateByEval(key, code) { + // @ts-ignore + this[key] = eval(code); + } + }]); + return AccountService; +}(); exports.default = AccountService; ; diff --git a/index.html b/index.html index 4c236d5a1e81ac4febc51a8b83f441892a366a22..1635eb51273a1ea460145bb53d4bd12f4a6cc7ed 100644 --- a/index.html +++ b/index.html @@ -1 +1 @@ -<!DOCTYPE html><html lang="{{.Locale}}"><head><meta charset="utf-8"><title>Ecolyo</title><link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16"><!-- PWA Manifest --><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#297EF2"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,user-scalable=0,viewport-fit=cover"><!-- PWA Chrome --><link rel="icon" sizes="192x192" href="/android-chrome-192x192.png"><link rel="icon" sizes="512x512" href="/android-chrome-512x512.png"><!-- PWA iOS --><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="apple-touch-startup-image" href="/apple-touch-icon.png"><meta name="apple-mobile-web-app-title" content="Ecolyo"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- PWA Colors --><meta name="theme-color" content="#343641"><meta name="background-color" content="#121212">{{.ThemeCSS}} {{.CozyBar}}</head><body><div role="application" class="application" data-cozy-token="{{.Token}}" data-cozy-domain="{{.Domain}}" data-cozy-locale="{{.Locale}}" data-cozy-app-name="{{.AppName}}" data-cozy-app-slug="{{.AppSlug}}" data-cozy-app-name-prefix="{{.AppNamePrefix}}" data-cozy-app-editor="{{.AppEditor}}" data-cozy-icon-path="{{.IconPath}}"><script src="vendors/ecolyo.bce3a3ca54818ecca6eb.js"></script><script src="app/ecolyo.c23d2ee98b58588060f0.js"></script></div></body></html> \ No newline at end of file +<!DOCTYPE html><html lang="{{.Locale}}"><head><meta charset="utf-8"><title>Ecolyo</title><link rel="icon" type="image/png" href="/favicon-32x32.png" sizes="32x32"><link rel="icon" type="image/png" href="/favicon-16x16.png" sizes="16x16"><!-- PWA Manifest --><link rel="manifest" href="/manifest.json" crossorigin="use-credentials"><link rel="mask-icon" href="/safari-pinned-tab.svg" color="#297EF2"><meta name="viewport" content="width=device-width,height=device-height,initial-scale=1,user-scalable=0,viewport-fit=cover"><!-- PWA Chrome --><link rel="icon" sizes="192x192" href="/android-chrome-192x192.png"><link rel="icon" sizes="512x512" href="/android-chrome-512x512.png"><!-- PWA iOS --><link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png"><link rel="apple-touch-startup-image" href="/apple-touch-icon.png"><meta name="apple-mobile-web-app-title" content="Ecolyo"><meta name="apple-mobile-web-app-capable" content="yes"><meta name="apple-mobile-web-app-status-bar-style" content="black"><!-- PWA Colors --><meta name="theme-color" content="#343641"><meta name="background-color" content="#121212">{{.ThemeCSS}} {{.CozyBar}}</head><body><div role="application" class="application" data-cozy-token="{{.Token}}" data-cozy-domain="{{.Domain}}" data-cozy-locale="{{.Locale}}" data-cozy-app-name="{{.AppName}}" data-cozy-app-slug="{{.AppSlug}}" data-cozy-app-name-prefix="{{.AppNamePrefix}}" data-cozy-app-editor="{{.AppEditor}}" data-cozy-icon-path="{{.IconPath}}"><script src="vendors/ecolyo.bce3a3ca54818ecca6eb.js"></script><script src="app/ecolyo.c9cabda9732f9c9d5e7b.js"></script></div></body></html> \ No newline at end of file diff --git a/services/aggregatorUsageEvents/ecolyo.js b/services/aggregatorUsageEvents/ecolyo.js index d5b606079248760880f0282e0aa5ca191e64a32a..2fea724e21c966076709b95ea422ca727576412f 100644 --- a/services/aggregatorUsageEvents/ecolyo.js +++ b/services/aggregatorUsageEvents/ecolyo.js @@ -93045,8 +93045,7 @@ class AccountService { const query = (0, _cozyClient.Q)(_doctypes.ACCOUNTS_DOCTYPE) // eslint-disable-next-line @typescript-eslint/camelcase .where({ account_type: 'index' - }) // .indexFields(['account_type']) - .limitBy(1); + }).indexFields(['account_type']).limitBy(1); const { data: result } = await this._client.query(query);