@bringg/dashboard-sdk 9.80.0 → 9.81.0

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.
@@ -2547,7 +2547,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexpo
2547
2547
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2548
2548
 
2549
2549
  "use strict";
2550
- eval("\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AnonymousServiceRequest = exports.AuthorizedServiceRequest = exports.ResponseHandler = exports.RequestOptions = exports.logErrorResponse = void 0;\nvar axios_1 = __importDefault(__webpack_require__(/*! axios */ \"./node_modules/axios/index.js\"));\nvar lodash_1 = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\nvar BringgException_1 = __webpack_require__(/*! ../Core/BringgException */ \"./dist/Core/BringgException.js\");\nvar Logger_1 = __importDefault(__webpack_require__(/*! ../Core/Logger */ \"./dist/Core/Logger.js\"));\nvar abort_1 = __webpack_require__(/*! ../utils/abort */ \"./dist/utils/abort.js\");\nvar version = '9.80.0';\nfunction logErrorResponse(response) {\n var data = response.data, status = response.status;\n try {\n Logger_1.default.error(response.config.method.toUpperCase(), response.config.url, status);\n }\n catch (e) {\n //\n }\n try {\n Logger_1.default.info(response.config.method.toUpperCase(), response.config.url, status, data);\n }\n catch (e) {\n //\n }\n try {\n Logger_1.default.debug(response);\n }\n catch (e) {\n //\n }\n}\nexports.logErrorResponse = logErrorResponse;\nvar DEFAULT_TIMEOUT = 120000;\nvar RequestOptions = /** @class */ (function () {\n function RequestOptions(clientId, timeout, queryString, authenticationToken, headers, responseType, signal) {\n // NiceToHave: move headers to HttpHeaders class\n this.headers = __assign(__assign({ 'Content-Type': 'application/json' }, headers), { 'sdk-version': version, Client: clientId });\n this.timeout = timeout;\n this.validateStatus = lodash_1.stubTrue;\n if (queryString) {\n this.params = queryString;\n }\n if (authenticationToken) {\n this.headers['Authorization'] = \"Token token=\".concat(authenticationToken);\n }\n if (responseType) {\n this.responseType = responseType;\n }\n if (signal) {\n this.signal = signal;\n }\n }\n RequestOptions.new = function (_a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.clientId, clientId = _c === void 0 ? 'Bringg Dashboard' : _c, _d = _b.timeout, timeout = _d === void 0 ? DEFAULT_TIMEOUT : _d, queryString = _b.queryString, authenticationToken = _b.authenticationToken, headers = _b.headers, responseType = _b.responseType, signal = _b.signal;\n return new RequestOptions(clientId, timeout || DEFAULT_TIMEOUT, queryString, authenticationToken, headers, responseType, signal);\n };\n return RequestOptions;\n}());\nexports.RequestOptions = RequestOptions;\nvar ResponseHandler = /** @class */ (function () {\n function ResponseHandler(response, signal) {\n this.axiosPromise = response;\n this.signal = signal;\n }\n ResponseHandler.prototype.handle = function (consumer) {\n return __awaiter(this, void 0, void 0, function () {\n var axiosResponse, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if ((0, lodash_1.isUndefined)(consumer)) {\n throw new Error('consumer must be defined');\n }\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.axiosPromise];\n case 2:\n axiosResponse = _a.sent();\n return [2 /*return*/, consumer(axiosResponse)];\n case 3:\n e_1 = _a.sent();\n if (axios_1.default.isCancel(e_1)) {\n (0, abort_1.throwAbortError)(this.signal, 'Request Aborted');\n }\n if (e_1 instanceof BringgException_1.BringgException) {\n throw e_1;\n }\n return [2 /*return*/, consumer(e_1)];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n return ResponseHandler;\n}());\nexports.ResponseHandler = ResponseHandler;\nfunction get(axiosInstance, host, uri, queryString, signal) {\n return new ResponseHandler(axiosInstance.get(\"\".concat(host).concat(uri), { params: queryString, signal: signal }), signal);\n}\nfunction post(axiosInstance, host, uri, queryString, payload, signal) {\n return new ResponseHandler(axiosInstance.post(\"\".concat(host).concat(uri), payload, { params: queryString, signal: signal }), signal);\n}\nfunction put(axiosInstance, host, uri, queryString, payload, signal) {\n return new ResponseHandler(axiosInstance.put(\"\".concat(host).concat(uri), payload, { params: queryString, signal: signal }), signal);\n}\nfunction patch(axiosInstance, host, uri, queryString, payload, signal) {\n return new ResponseHandler(axiosInstance.patch(\"\".concat(host).concat(uri), payload, { params: queryString, signal: signal }), signal);\n}\nfunction remove(axiosInstance, host, uri, queryString, payload, signal) {\n return new ResponseHandler(axiosInstance.delete(\"\".concat(host).concat(uri), { params: queryString, data: payload, signal: signal }), signal);\n}\nfunction routify(axiosInstance, endpoint, route, routeParams, queryString, payload, signal) {\n switch (route.httpMethod) {\n case 0 /* HttpMethod.GET */:\n return get(axiosInstance, endpoint.encode(), route.applyParams(routeParams), queryString, signal);\n case 1 /* HttpMethod.POST */:\n return post(axiosInstance, endpoint.encode(), route.applyParams(routeParams), queryString, payload, signal);\n case 2 /* HttpMethod.PUT */:\n return put(axiosInstance, endpoint.encode(), route.applyParams(routeParams), queryString, payload, signal);\n case 3 /* HttpMethod.PATCH */:\n return patch(axiosInstance, endpoint.encode(), route.applyParams(routeParams), queryString, payload, signal);\n case 4 /* HttpMethod.DELETE */:\n return remove(axiosInstance, endpoint.encode(), route.applyParams(routeParams), queryString, payload, signal);\n }\n}\nfunction wrapWithInterceptors(axios) {\n axios.interceptors.request.use(function (req) {\n var method = req.method, url = req.url, params = req.params, headers = req.headers, data = req.data;\n try {\n Logger_1.default.debug('REQUEST:', method.toUpperCase(), url);\n }\n catch (e) {\n //\n }\n try {\n Logger_1.default.trace('REQUEST-query-string:', params);\n Logger_1.default.trace('REQUEST-headers:', headers);\n Logger_1.default.trace('REQUEST-data:', data);\n }\n catch (e) {\n //\n }\n return req;\n });\n axios.interceptors.response.use(function (res) {\n var statusText = res.statusText, status = res.status, headers = res.headers, data = res.data;\n try {\n Logger_1.default.debug('RESPONSE:', res.config.url, status, statusText);\n }\n catch (e) {\n //\n }\n try {\n Logger_1.default.trace('RESPONSE-headers:', headers);\n Logger_1.default.trace('RESPONSE-data:', data);\n }\n catch (e) {\n //\n }\n return res;\n });\n return axios;\n}\nfunction axiosInstance(clientId, authenticationToken, headers, responseType, timeout, signal) {\n return wrapWithInterceptors(axios_1.default.create(RequestOptions.new({ clientId: clientId, authenticationToken: authenticationToken, headers: headers, responseType: responseType, timeout: timeout, signal: signal })));\n}\nfunction anonymousAxiosInstance(clientId, headers, signal) {\n return wrapWithInterceptors(axios_1.default.create(RequestOptions.new({ clientId: clientId, headers: headers, signal: signal })));\n}\nvar AuthorizedServiceRequest = /** @class */ (function () {\n function AuthorizedServiceRequest(clientId, authToken) {\n this.authToken = authToken;\n this.clientId = clientId;\n }\n AuthorizedServiceRequest.prototype.invoke = function (endpoint, route, routeParams, queryString, payload, headers, responseType, timeout, signal) {\n if (signal === null || signal === void 0 ? void 0 : signal.aborted) {\n (0, abort_1.throwAbortError)(signal, 'Request aborted (before even started the request)');\n }\n return routify(axiosInstance(this.clientId, this.authToken, headers, responseType, timeout), endpoint, route, routeParams, queryString, payload, signal);\n };\n return AuthorizedServiceRequest;\n}());\nexports.AuthorizedServiceRequest = AuthorizedServiceRequest;\nvar AnonymousServiceRequest = /** @class */ (function () {\n function AnonymousServiceRequest(clientId, headers) {\n this.clientId = clientId;\n this.headers = headers;\n }\n AnonymousServiceRequest.prototype.invoke = function (endpoint, route, routeParams, queryString, payload, signal) {\n if (signal === null || signal === void 0 ? void 0 : signal.aborted) {\n (0, abort_1.throwAbortError)(signal, 'Request aborted (before even started the request)');\n }\n return routify(anonymousAxiosInstance(this.clientId, this.headers, signal), endpoint, route, routeParams, queryString, payload);\n };\n return AnonymousServiceRequest;\n}());\nexports.AnonymousServiceRequest = AnonymousServiceRequest;\n//# sourceMappingURL=ServiceRequest.js.map\n\n//# sourceURL=webpack://BringgDashboardSDK/./dist/Services/ServiceRequest.js?");
2550
+ eval("\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.AnonymousServiceRequest = exports.AuthorizedServiceRequest = exports.ResponseHandler = exports.RequestOptions = exports.logErrorResponse = void 0;\nvar axios_1 = __importDefault(__webpack_require__(/*! axios */ \"./node_modules/axios/index.js\"));\nvar lodash_1 = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\nvar BringgException_1 = __webpack_require__(/*! ../Core/BringgException */ \"./dist/Core/BringgException.js\");\nvar Logger_1 = __importDefault(__webpack_require__(/*! ../Core/Logger */ \"./dist/Core/Logger.js\"));\nvar abort_1 = __webpack_require__(/*! ../utils/abort */ \"./dist/utils/abort.js\");\nvar version = '9.81.0';\nfunction logErrorResponse(response) {\n var data = response.data, status = response.status;\n try {\n Logger_1.default.error(response.config.method.toUpperCase(), response.config.url, status);\n }\n catch (e) {\n //\n }\n try {\n Logger_1.default.info(response.config.method.toUpperCase(), response.config.url, status, data);\n }\n catch (e) {\n //\n }\n try {\n Logger_1.default.debug(response);\n }\n catch (e) {\n //\n }\n}\nexports.logErrorResponse = logErrorResponse;\nvar DEFAULT_TIMEOUT = 120000;\nvar RequestOptions = /** @class */ (function () {\n function RequestOptions(clientId, timeout, queryString, authenticationToken, headers, responseType, signal) {\n // NiceToHave: move headers to HttpHeaders class\n this.headers = __assign(__assign({ 'Content-Type': 'application/json' }, headers), { 'sdk-version': version, Client: clientId });\n this.timeout = timeout;\n this.validateStatus = lodash_1.stubTrue;\n if (queryString) {\n this.params = queryString;\n }\n if (authenticationToken) {\n this.headers['Authorization'] = \"Token token=\".concat(authenticationToken);\n }\n if (responseType) {\n this.responseType = responseType;\n }\n if (signal) {\n this.signal = signal;\n }\n }\n RequestOptions.new = function (_a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.clientId, clientId = _c === void 0 ? 'Bringg Dashboard' : _c, _d = _b.timeout, timeout = _d === void 0 ? DEFAULT_TIMEOUT : _d, queryString = _b.queryString, authenticationToken = _b.authenticationToken, headers = _b.headers, responseType = _b.responseType, signal = _b.signal;\n return new RequestOptions(clientId, timeout || DEFAULT_TIMEOUT, queryString, authenticationToken, headers, responseType, signal);\n };\n return RequestOptions;\n}());\nexports.RequestOptions = RequestOptions;\nvar ResponseHandler = /** @class */ (function () {\n function ResponseHandler(response, signal) {\n this.axiosPromise = response;\n this.signal = signal;\n }\n ResponseHandler.prototype.handle = function (consumer) {\n return __awaiter(this, void 0, void 0, function () {\n var axiosResponse, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if ((0, lodash_1.isUndefined)(consumer)) {\n throw new Error('consumer must be defined');\n }\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.axiosPromise];\n case 2:\n axiosResponse = _a.sent();\n return [2 /*return*/, consumer(axiosResponse)];\n case 3:\n e_1 = _a.sent();\n if (axios_1.default.isCancel(e_1)) {\n (0, abort_1.throwAbortError)(this.signal, 'Request Aborted');\n }\n if (e_1 instanceof BringgException_1.BringgException) {\n throw e_1;\n }\n return [2 /*return*/, consumer(e_1)];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n return ResponseHandler;\n}());\nexports.ResponseHandler = ResponseHandler;\nfunction get(axiosInstance, host, uri, queryString, signal) {\n return new ResponseHandler(axiosInstance.get(\"\".concat(host).concat(uri), { params: queryString, signal: signal }), signal);\n}\nfunction post(axiosInstance, host, uri, queryString, payload, signal) {\n return new ResponseHandler(axiosInstance.post(\"\".concat(host).concat(uri), payload, { params: queryString, signal: signal }), signal);\n}\nfunction put(axiosInstance, host, uri, queryString, payload, signal) {\n return new ResponseHandler(axiosInstance.put(\"\".concat(host).concat(uri), payload, { params: queryString, signal: signal }), signal);\n}\nfunction patch(axiosInstance, host, uri, queryString, payload, signal) {\n return new ResponseHandler(axiosInstance.patch(\"\".concat(host).concat(uri), payload, { params: queryString, signal: signal }), signal);\n}\nfunction remove(axiosInstance, host, uri, queryString, payload, signal) {\n return new ResponseHandler(axiosInstance.delete(\"\".concat(host).concat(uri), { params: queryString, data: payload, signal: signal }), signal);\n}\nfunction routify(axiosInstance, endpoint, route, routeParams, queryString, payload, signal) {\n switch (route.httpMethod) {\n case 0 /* HttpMethod.GET */:\n return get(axiosInstance, endpoint.encode(), route.applyParams(routeParams), queryString, signal);\n case 1 /* HttpMethod.POST */:\n return post(axiosInstance, endpoint.encode(), route.applyParams(routeParams), queryString, payload, signal);\n case 2 /* HttpMethod.PUT */:\n return put(axiosInstance, endpoint.encode(), route.applyParams(routeParams), queryString, payload, signal);\n case 3 /* HttpMethod.PATCH */:\n return patch(axiosInstance, endpoint.encode(), route.applyParams(routeParams), queryString, payload, signal);\n case 4 /* HttpMethod.DELETE */:\n return remove(axiosInstance, endpoint.encode(), route.applyParams(routeParams), queryString, payload, signal);\n }\n}\nfunction wrapWithInterceptors(axios) {\n axios.interceptors.request.use(function (req) {\n var method = req.method, url = req.url, params = req.params, headers = req.headers, data = req.data;\n try {\n Logger_1.default.debug('REQUEST:', method.toUpperCase(), url);\n }\n catch (e) {\n //\n }\n try {\n Logger_1.default.trace('REQUEST-query-string:', params);\n Logger_1.default.trace('REQUEST-headers:', headers);\n Logger_1.default.trace('REQUEST-data:', data);\n }\n catch (e) {\n //\n }\n return req;\n });\n axios.interceptors.response.use(function (res) {\n var statusText = res.statusText, status = res.status, headers = res.headers, data = res.data;\n try {\n Logger_1.default.debug('RESPONSE:', res.config.url, status, statusText);\n }\n catch (e) {\n //\n }\n try {\n Logger_1.default.trace('RESPONSE-headers:', headers);\n Logger_1.default.trace('RESPONSE-data:', data);\n }\n catch (e) {\n //\n }\n return res;\n });\n return axios;\n}\nfunction axiosInstance(clientId, authenticationToken, headers, responseType, timeout, signal) {\n return wrapWithInterceptors(axios_1.default.create(RequestOptions.new({ clientId: clientId, authenticationToken: authenticationToken, headers: headers, responseType: responseType, timeout: timeout, signal: signal })));\n}\nfunction anonymousAxiosInstance(clientId, headers, signal) {\n return wrapWithInterceptors(axios_1.default.create(RequestOptions.new({ clientId: clientId, headers: headers, signal: signal })));\n}\nvar AuthorizedServiceRequest = /** @class */ (function () {\n function AuthorizedServiceRequest(clientId, authToken) {\n this.authToken = authToken;\n this.clientId = clientId;\n }\n AuthorizedServiceRequest.prototype.invoke = function (endpoint, route, routeParams, queryString, payload, headers, responseType, timeout, signal) {\n if (signal === null || signal === void 0 ? void 0 : signal.aborted) {\n (0, abort_1.throwAbortError)(signal, 'Request aborted (before even started the request)');\n }\n return routify(axiosInstance(this.clientId, this.authToken, headers, responseType, timeout), endpoint, route, routeParams, queryString, payload, signal);\n };\n return AuthorizedServiceRequest;\n}());\nexports.AuthorizedServiceRequest = AuthorizedServiceRequest;\nvar AnonymousServiceRequest = /** @class */ (function () {\n function AnonymousServiceRequest(clientId, headers) {\n this.clientId = clientId;\n this.headers = headers;\n }\n AnonymousServiceRequest.prototype.invoke = function (endpoint, route, routeParams, queryString, payload, signal) {\n if (signal === null || signal === void 0 ? void 0 : signal.aborted) {\n (0, abort_1.throwAbortError)(signal, 'Request aborted (before even started the request)');\n }\n return routify(anonymousAxiosInstance(this.clientId, this.headers, signal), endpoint, route, routeParams, queryString, payload);\n };\n return AnonymousServiceRequest;\n}());\nexports.AnonymousServiceRequest = AnonymousServiceRequest;\n//# sourceMappingURL=ServiceRequest.js.map\n\n//# sourceURL=webpack://BringgDashboardSDK/./dist/Services/ServiceRequest.js?");
2551
2551
 
2552
2552
  /***/ }),
2553
2553
 
@@ -2569,7 +2569,7 @@ eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _argument
2569
2569
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2570
2570
 
2571
2571
  "use strict";
2572
- eval("\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar Entity_1 = __importDefault(__webpack_require__(/*! ../../Core/Entity */ \"./dist/Core/Entity.js\"));\nvar ShiftsEntity = /** @class */ (function (_super) {\n __extends(ShiftsEntity, _super);\n function ShiftsEntity(session) {\n return _super.call(this, { session: session, entityName: 'shifts' }) || this;\n }\n ShiftsEntity.prototype.getShifts = function (teamId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .get(\"/teams/\".concat(teamId, \"/shifts_schedule/\"))\n .setException('Failed to get shifts schedule')\n .invoke()];\n });\n });\n };\n ShiftsEntity.prototype.updateShifts = function (teamId, configuration) {\n return __awaiter(this, void 0, void 0, function () {\n var request;\n return __generator(this, function (_a) {\n request = { id: teamId, configuration: configuration };\n return [2 /*return*/, this.service.routeGenerator\n .put(\"/teams/\".concat(teamId, \"/shifts_schedule\"))\n .withPayload(request)\n .setException('Failed update shifts schedule')\n .invoke()];\n });\n });\n };\n ShiftsEntity.prototype.getBreaks = function (teamId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .get(\"/teams/\".concat(teamId, \"/scheduled_breaks/\"))\n .setException('Failed to get shifts breaks')\n .invoke()];\n });\n });\n };\n ShiftsEntity.prototype.updateBreaks = function (teamId, configuration) {\n return __awaiter(this, void 0, void 0, function () {\n var request;\n return __generator(this, function (_a) {\n request = { id: teamId, configuration: configuration };\n return [2 /*return*/, this.service.routeGenerator\n .put(\"/teams/\".concat(teamId, \"/scheduled_breaks\"))\n .withPayload(request)\n .setException('Failed update shift breaks')\n .invoke()];\n });\n });\n };\n ShiftsEntity.prototype.startShift = function (userId, teamId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .post(\"/users/\".concat(userId, \"/shift\"))\n .withPayload({ active_team_id: teamId })\n .setException('Failed start user shift')\n .invoke()];\n });\n });\n };\n return ShiftsEntity;\n}(Entity_1.default));\nexports[\"default\"] = ShiftsEntity;\n//# sourceMappingURL=Shifts.js.map\n\n//# sourceURL=webpack://BringgDashboardSDK/./dist/Shifts/Entity/Shifts.js?");
2572
+ eval("\nvar __extends = (this && this.__extends) || (function () {\n var extendStatics = function (d, b) {\n extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\n return extendStatics(d, b);\n };\n return function (d, b) {\n if (typeof b !== \"function\" && b !== null)\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar Entity_1 = __importDefault(__webpack_require__(/*! ../../Core/Entity */ \"./dist/Core/Entity.js\"));\nvar ShiftsEntity = /** @class */ (function (_super) {\n __extends(ShiftsEntity, _super);\n function ShiftsEntity(session) {\n return _super.call(this, { session: session, entityName: 'shifts' }) || this;\n }\n ShiftsEntity.prototype.getShifts = function (teamId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .get(\"/teams/\".concat(teamId, \"/shifts_schedule/\"))\n .setException('Failed to get shifts schedule')\n .invoke()];\n });\n });\n };\n ShiftsEntity.prototype.updateShifts = function (teamId, configuration) {\n return __awaiter(this, void 0, void 0, function () {\n var request;\n return __generator(this, function (_a) {\n request = { id: teamId, configuration: configuration };\n return [2 /*return*/, this.service.routeGenerator\n .put(\"/teams/\".concat(teamId, \"/shifts_schedule\"))\n .withPayload(request)\n .setException('Failed update shifts schedule')\n .invoke()];\n });\n });\n };\n ShiftsEntity.prototype.getBreaks = function (teamId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .get(\"/teams/\".concat(teamId, \"/scheduled_breaks/\"))\n .setException('Failed to get shifts breaks')\n .invoke()];\n });\n });\n };\n ShiftsEntity.prototype.updateBreaks = function (teamId, configuration) {\n return __awaiter(this, void 0, void 0, function () {\n var request;\n return __generator(this, function (_a) {\n request = { id: teamId, configuration: configuration };\n return [2 /*return*/, this.service.routeGenerator\n .put(\"/teams/\".concat(teamId, \"/scheduled_breaks\"))\n .withPayload(request)\n .setException('Failed update shift breaks')\n .invoke()];\n });\n });\n };\n ShiftsEntity.prototype.startShift = function (userId, teamId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .post(\"/users/\".concat(userId, \"/shift\"))\n .withPayload({ active_team_id: teamId })\n .setException('Failed start user shift')\n .invoke()];\n });\n });\n };\n // A business rejection, for instance no shift is open, arrives as 200 with success false, which the\n // request layer turns into a BringgException carrying the server message. So this resolves only on\n // a real success and callers handle the failure wording by catching.\n ShiftsEntity.prototype.endShift = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .delete(\"/users/\".concat(userId, \"/shift\"))\n .withExtractor(function (response) { return response.success; })\n .setException('Failed end user shift')\n .invoke()];\n });\n });\n };\n return ShiftsEntity;\n}(Entity_1.default));\nexports[\"default\"] = ShiftsEntity;\n//# sourceMappingURL=Shifts.js.map\n\n//# sourceURL=webpack://BringgDashboardSDK/./dist/Shifts/Entity/Shifts.js?");
2573
2573
 
2574
2574
  /***/ }),
2575
2575
 
@@ -2580,7 +2580,7 @@ eval("\nvar __extends = (this && this.__extends) || (function () {\n var exte
2580
2580
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2581
2581
 
2582
2582
  "use strict";
2583
- eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar Shifts_1 = __importDefault(__webpack_require__(/*! ./Entity/Shifts */ \"./dist/Shifts/Entity/Shifts.js\"));\nvar ShiftsApi = /** @class */ (function () {\n function ShiftsApi(session) {\n this.shiftsEntity = new Shifts_1.default(session);\n }\n ShiftsApi.prototype.getShifts = function (teamId) {\n return this.shiftsEntity.getShifts(teamId);\n };\n ShiftsApi.prototype.updateShifts = function (teamId, configuration) {\n return this.shiftsEntity.updateShifts(teamId, configuration);\n };\n ShiftsApi.prototype.getBreaks = function (teamId) {\n return this.shiftsEntity.getBreaks(teamId);\n };\n ShiftsApi.prototype.updateBreaks = function (teamId, configuration) {\n return this.shiftsEntity.updateBreaks(teamId, configuration);\n };\n ShiftsApi.prototype.startShift = function (userId, teamId) {\n return this.shiftsEntity.startShift(userId, teamId);\n };\n return ShiftsApi;\n}());\nexports[\"default\"] = ShiftsApi;\n//# sourceMappingURL=ShiftsApi.js.map\n\n//# sourceURL=webpack://BringgDashboardSDK/./dist/Shifts/ShiftsApi.js?");
2583
+ eval("\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar Shifts_1 = __importDefault(__webpack_require__(/*! ./Entity/Shifts */ \"./dist/Shifts/Entity/Shifts.js\"));\nvar ShiftsApi = /** @class */ (function () {\n function ShiftsApi(session) {\n this.shiftsEntity = new Shifts_1.default(session);\n }\n ShiftsApi.prototype.getShifts = function (teamId) {\n return this.shiftsEntity.getShifts(teamId);\n };\n ShiftsApi.prototype.updateShifts = function (teamId, configuration) {\n return this.shiftsEntity.updateShifts(teamId, configuration);\n };\n ShiftsApi.prototype.getBreaks = function (teamId) {\n return this.shiftsEntity.getBreaks(teamId);\n };\n ShiftsApi.prototype.updateBreaks = function (teamId, configuration) {\n return this.shiftsEntity.updateBreaks(teamId, configuration);\n };\n ShiftsApi.prototype.startShift = function (userId, teamId) {\n return this.shiftsEntity.startShift(userId, teamId);\n };\n ShiftsApi.prototype.endShift = function (userId) {\n return this.shiftsEntity.endShift(userId);\n };\n return ShiftsApi;\n}());\nexports[\"default\"] = ShiftsApi;\n//# sourceMappingURL=ShiftsApi.js.map\n\n//# sourceURL=webpack://BringgDashboardSDK/./dist/Shifts/ShiftsApi.js?");
2584
2584
 
2585
2585
  /***/ }),
2586
2586
 
@@ -2822,7 +2822,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexpo
2822
2822
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2823
2823
 
2824
2824
  "use strict";
2825
- eval("\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.taskDefaultFields = exports.Routes = exports.baseRoute = exports.TaskRealTimeEvents = exports.answersExtractor = exports.quotesExtractor = exports.formExtractor = exports.taskIdsExtractor = exports.scanCodeExtractor = exports.locationExtractor = exports.childTasksExtractor = exports.tasksExtractor = exports.successExtractor = exports.taskExtractor = exports.defaultExtractor = exports.noteTypes = exports.taskToGroupMapper = exports.groupFilter = exports.TaskGroupTypes = exports.GROUP_VALUES = void 0;\nvar TaskHelpers_1 = __webpack_require__(/*! ./TaskHelpers */ \"./dist/Task/TaskHelpers.js\");\nvar GROUP_VALUES;\n(function (GROUP_VALUES) {\n GROUP_VALUES[GROUP_VALUES[\"General\"] = 0] = \"General\";\n GROUP_VALUES[GROUP_VALUES[\"Open\"] = 1] = \"Open\";\n GROUP_VALUES[GROUP_VALUES[\"Planning\"] = 2] = \"Planning\";\n GROUP_VALUES[GROUP_VALUES[\"Closed\"] = 3] = \"Closed\";\n GROUP_VALUES[GROUP_VALUES[\"Invalid\"] = 4] = \"Invalid\";\n GROUP_VALUES[GROUP_VALUES[\"Unacknowledged\"] = 5] = \"Unacknowledged\";\n GROUP_VALUES[GROUP_VALUES[\"Followers\"] = 6] = \"Followers\";\n})(GROUP_VALUES = exports.GROUP_VALUES || (exports.GROUP_VALUES = {}));\nvar TaskGroupTypes;\n(function (TaskGroupTypes) {\n TaskGroupTypes[\"Main\"] = \"main\";\n TaskGroupTypes[\"Followers\"] = \"followers\";\n})(TaskGroupTypes = exports.TaskGroupTypes || (exports.TaskGroupTypes = {}));\nexports.groupFilter = new Map([\n [GROUP_VALUES.Open, TaskHelpers_1.TaskHelpers.isInOpenState],\n [GROUP_VALUES.Planning, TaskHelpers_1.TaskHelpers.isInPlanningState],\n [GROUP_VALUES.Closed, TaskHelpers_1.TaskHelpers.isInClosedState],\n [GROUP_VALUES.Invalid, TaskHelpers_1.TaskHelpers.isInvalid]\n]);\nvar groupKeys = Array.from(exports.groupFilter.keys());\nvar taskToGroupMapper = function (task) {\n var e_1, _a;\n var currentGrouping = GROUP_VALUES.General;\n try {\n for (var groupKeys_1 = __values(groupKeys), groupKeys_1_1 = groupKeys_1.next(); !groupKeys_1_1.done; groupKeys_1_1 = groupKeys_1.next()) {\n var groupKey = groupKeys_1_1.value;\n var filterFn = exports.groupFilter.get(groupKey);\n if (filterFn(task) === true) {\n currentGrouping = groupKey;\n break;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (groupKeys_1_1 && !groupKeys_1_1.done && (_a = groupKeys_1.return)) _a.call(groupKeys_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return currentGrouping;\n};\nexports.taskToGroupMapper = taskToGroupMapper;\nvar noteTypes;\n(function (noteTypes) {\n noteTypes[\"TASK_NOTE\"] = \"TaskNote\";\n})(noteTypes = exports.noteTypes || (exports.noteTypes = {}));\nvar defaultExtractor = function (a) { return a; };\nexports.defaultExtractor = defaultExtractor;\nvar taskExtractor = function (response) { return response.task; };\nexports.taskExtractor = taskExtractor;\nvar successExtractor = function (response) { return response.success; };\nexports.successExtractor = successExtractor;\nvar tasksExtractor = function (response) { return response.tasks; };\nexports.tasksExtractor = tasksExtractor;\nvar childTasksExtractor = function (response) { return response.child_tasks; };\nexports.childTasksExtractor = childTasksExtractor;\nvar locationExtractor = function (response) { return response.data; };\nexports.locationExtractor = locationExtractor;\nvar scanCodeExtractor = function (response) { return response.scan_string; };\nexports.scanCodeExtractor = scanCodeExtractor;\nvar taskIdsExtractor = function (response) { return response.task_ids; };\nexports.taskIdsExtractor = taskIdsExtractor;\nvar formExtractor = function (response) { return response.form; };\nexports.formExtractor = formExtractor;\nvar quotesExtractor = function (response) { return response.quotes; };\nexports.quotesExtractor = quotesExtractor;\nvar answersExtractor = function (response) { return response.answers; };\nexports.answersExtractor = answersExtractor;\nvar TaskRealTimeEvents;\n(function (TaskRealTimeEvents) {\n TaskRealTimeEvents[\"TASK_UPDATE\"] = \"task update\";\n TaskRealTimeEvents[\"WAYPOINT_ADDED\"] = \"waypoint added\";\n TaskRealTimeEvents[\"WAYPOINT_DELETED\"] = \"waypoint deleted\";\n TaskRealTimeEvents[\"WAYPOINT_UPDATED\"] = \"waypoint updated\";\n TaskRealTimeEvents[\"NEW_SCAN\"] = \"new scan\";\n TaskRealTimeEvents[\"NEW_NOTE\"] = \"new note\";\n TaskRealTimeEvents[\"TASK_DELETED\"] = \"task deleted\";\n TaskRealTimeEvents[\"NEW_TASK\"] = \"new task\";\n})(TaskRealTimeEvents = exports.TaskRealTimeEvents || (exports.TaskRealTimeEvents = {}));\nexports.baseRoute = '/tasks';\nexports.Routes = {\n GET_OPEN_TASKS: \"\".concat(exports.baseRoute, \"/open\"),\n GET_PLANNING_TASKS: \"\".concat(exports.baseRoute, \"/planning\"),\n GET_INVALID_TASKS: \"\".concat(exports.baseRoute, \"/invalids\"),\n GET_TASK: \"\".concat(exports.baseRoute, \"/{:id}\"),\n GET_CHILD_TASKS: \"\".concat(exports.baseRoute, \"/{:id}/child_tasks\"),\n BATCH_GET_TASK: \"\".concat(exports.baseRoute, \"/batch_get\"),\n GET_CLOSED_TASKS_WITH_QUERY: \"\".concat(exports.baseRoute, \"/closed_with_query\"),\n GET_HISTORY_TASKS: \"/web\".concat(exports.baseRoute, \"/history\"),\n GET_HISTORY_TASKS_METADATA: \"/web\".concat(exports.baseRoute, \"/history/metadata\"),\n UPDATE_TASK: \"\".concat(exports.baseRoute, \"/{:id}\"),\n CREATE_TASK: \"\".concat(exports.baseRoute),\n FINISH_TASK: \"\".concat(exports.baseRoute, \"/{:id}/finish\"),\n CANCEL_TASK: \"\".concat(exports.baseRoute, \"/{:id}/cancel\"),\n ACKNOWLEDGE_TASK: \"\".concat(exports.baseRoute, \"/acknowledge_task\"),\n MASS_TASK_ASSIGN: \"\".concat(exports.baseRoute, \"/mass_assign\"),\n MASS_TASK_UNASSIGN: \"\".concat(exports.baseRoute, \"/mass_unassign\"),\n MASS_TASK_CANCEL: \"\".concat(exports.baseRoute, \"/mass_cancel\"),\n MOVE_TASKS_TO_PLANNING: \"\".concat(exports.baseRoute, \"/mark_not_ready_to_execute\"),\n RELEASE_TASKS_TO_DRIVERS: \"\".concat(exports.baseRoute, \"/release\"),\n UPDATE_TASK_PREPARATION_STATUS: \"\".concat(exports.baseRoute, \"/update_preparation_status\"),\n GET_TASK_LOCATIONS: \"\".concat(exports.baseRoute, \"/{:id}/locations\"),\n CANCEL_ALL_OPEN_TASKS: \"\".concat(exports.baseRoute, \"/cancel_all\"),\n MASS_DELETE_GROUPS: \"\".concat(exports.baseRoute, \"/mass_delete_groups\"),\n HAS_DEFECTIVE_GEOCODE: \"\".concat(exports.baseRoute, \"/has_defective_geocode\"),\n GET_TASK_ACTIVITY_LOG: \"\".concat(exports.baseRoute, \"/{:id}/history\"),\n CHANGE_TASK_TEAM: \"\".concat(exports.baseRoute, \"/{:id}/change_team\"),\n UPDATE_TASKS_PRIORITIES: \"\".concat(exports.baseRoute, \"/update_priorities\"),\n LOCK_TASK: \"\".concat(exports.baseRoute, \"/lock\"),\n UNLOCK_TASK: \"\".concat(exports.baseRoute, \"/unlock\"),\n DUPLICATE_TASK: \"\".concat(exports.baseRoute, \"/{:id}/duplicate\"),\n RESCHEDULE_QUOTE: \"\".concat(exports.baseRoute, \"/reschedule_quote\"),\n RESCHEDULE_CANCELED: \"\".concat(exports.baseRoute, \"/reschedule_cancelled\"),\n GET_PICKUP_QR_CODE: \"\".concat(exports.baseRoute, \"/{:id}/generate_pickup_qr_code\"),\n RESCHEDULE_VIRTUAL_TASKS: \"\".concat(exports.baseRoute, \"/reschedule_virtual_tasks\"),\n FORM_SUBMIT: \"\".concat(exports.baseRoute, \"/{:id}/way_points/{:way_point_id}/forms\"),\n IMPORT_TASKS_CSV: \"\".concat(exports.baseRoute, \"/import_from_csv\"),\n BROADCAST_TO_DRIVERS: \"\".concat(exports.baseRoute, \"/broadcast_to_drivers\"),\n CREATE_TASK_NOTE: \"\".concat(exports.baseRoute, \"/{:id}/way_points/{:way_point_id}/task_notes\"),\n DELETE_WAYPOINT: \"\".concat(exports.baseRoute, \"/{:id}/way_points/{:way_point_id}\"),\n GET_WAYPOINT_ANSWERS: \"\".concat(exports.baseRoute, \"/{:id}/way_points/{:way_point_id}/answers\")\n};\n// keep this here in case we need, all this data is required by frontend currently\n//const PLANNING_DEFAULT_PARAMS_REQUEST = \"first_way_point_has_to_leave_by,active_way_point_id,status,id,way_points.all.position,group_leader_id,priority,late,customer_id,way_points.all.customer_id,way_points.all.id,payment_type_name,task_inventories.all.id,task_inventories.all.way_point_id,task_inventories.all.pending,task_inventories.all.inventory,task_inventories.all.original_quantity,ready_to_execute,virtual_task,done_planning,task_type_id,rogue_reasons,invalidated,automatically_assigned,external_id,title,tag_id,created_at,user_id,way_points.all.late,way_points.all.done,way_points.all.address,planning_done,scheduled_at,way_points.first.address,way_points.last.address,total_price,fleet_id,lat,lng,way_points.all.lat,way_points.all.lng,way_points.all.scheduled_at,team_ids,way_points.all.customer,way_points.all.eta,route_name,run,dispatcher_id,preparation_status,preparation_start_time_planned,preparation_end_time_planned,preparation_ready_for_pickup_time_planned,payment_method,preparation_external_id,fleet_delivery_external_id\";\n//const OPEN_DEFAULT_PARAMS_REQUEST = \"first_way_point_has_to_leave_by,active_way_point_id,status,id,way_points.all.position,group_leader_id,priority,late,customer_id,way_points.all.customer_id,way_points.all.id,payment_type_name,task_inventories.all.id,task_inventories.all.way_point_id,task_inventories.all.pending,task_inventories.all.inventory,task_inventories.all.original_quantity,ready_to_execute,virtual_task,done_planning,task_type_id,rogue_reasons,invalidated,automatically_assigned,external_id,title,tag_id,created_at,user_id,way_points.all.late,way_points.all.done,way_points.all.address,planning_done,scheduled_at,way_points.first.address,way_points.last.address,total_price,fleet_id,lat,lng,way_points.all.lat,way_points.all.lng,way_points.all.scheduled_at,team_ids,way_points.all.customer,way_points.all.eta,route_name,run,dispatcher_id,preparation_status,preparation_start_time_planned,preparation_end_time_planned,preparation_ready_for_pickup_time_planned,payment_method,preparation_external_id,fleet_delivery_external_id\";\nexports.taskDefaultFields = [\n 'id',\n 'status',\n 'invalidated',\n 'group_leader_id',\n 'ready_to_execute',\n { way_points: ['position'] }\n];\n//# sourceMappingURL=Tasks.consts.js.map\n\n//# sourceURL=webpack://BringgDashboardSDK/./dist/Task/Tasks.consts.js?");
2825
+ eval("\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.taskDefaultFields = exports.Routes = exports.baseRoute = exports.TaskRealTimeEvents = exports.DISABLE_WAYPOINT_CUSTOMER_ENRICHMENT_FEATURE_FLAG = exports.answersExtractor = exports.quotesExtractor = exports.formExtractor = exports.taskIdsExtractor = exports.scanCodeExtractor = exports.locationExtractor = exports.childTasksExtractor = exports.tasksExtractor = exports.successExtractor = exports.taskExtractor = exports.defaultExtractor = exports.noteTypes = exports.taskToGroupMapper = exports.groupFilter = exports.TaskGroupTypes = exports.GROUP_VALUES = void 0;\nvar TaskHelpers_1 = __webpack_require__(/*! ./TaskHelpers */ \"./dist/Task/TaskHelpers.js\");\nvar GROUP_VALUES;\n(function (GROUP_VALUES) {\n GROUP_VALUES[GROUP_VALUES[\"General\"] = 0] = \"General\";\n GROUP_VALUES[GROUP_VALUES[\"Open\"] = 1] = \"Open\";\n GROUP_VALUES[GROUP_VALUES[\"Planning\"] = 2] = \"Planning\";\n GROUP_VALUES[GROUP_VALUES[\"Closed\"] = 3] = \"Closed\";\n GROUP_VALUES[GROUP_VALUES[\"Invalid\"] = 4] = \"Invalid\";\n GROUP_VALUES[GROUP_VALUES[\"Unacknowledged\"] = 5] = \"Unacknowledged\";\n GROUP_VALUES[GROUP_VALUES[\"Followers\"] = 6] = \"Followers\";\n})(GROUP_VALUES = exports.GROUP_VALUES || (exports.GROUP_VALUES = {}));\nvar TaskGroupTypes;\n(function (TaskGroupTypes) {\n TaskGroupTypes[\"Main\"] = \"main\";\n TaskGroupTypes[\"Followers\"] = \"followers\";\n})(TaskGroupTypes = exports.TaskGroupTypes || (exports.TaskGroupTypes = {}));\nexports.groupFilter = new Map([\n [GROUP_VALUES.Open, TaskHelpers_1.TaskHelpers.isInOpenState],\n [GROUP_VALUES.Planning, TaskHelpers_1.TaskHelpers.isInPlanningState],\n [GROUP_VALUES.Closed, TaskHelpers_1.TaskHelpers.isInClosedState],\n [GROUP_VALUES.Invalid, TaskHelpers_1.TaskHelpers.isInvalid]\n]);\nvar groupKeys = Array.from(exports.groupFilter.keys());\nvar taskToGroupMapper = function (task) {\n var e_1, _a;\n var currentGrouping = GROUP_VALUES.General;\n try {\n for (var groupKeys_1 = __values(groupKeys), groupKeys_1_1 = groupKeys_1.next(); !groupKeys_1_1.done; groupKeys_1_1 = groupKeys_1.next()) {\n var groupKey = groupKeys_1_1.value;\n var filterFn = exports.groupFilter.get(groupKey);\n if (filterFn(task) === true) {\n currentGrouping = groupKey;\n break;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (groupKeys_1_1 && !groupKeys_1_1.done && (_a = groupKeys_1.return)) _a.call(groupKeys_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return currentGrouping;\n};\nexports.taskToGroupMapper = taskToGroupMapper;\nvar noteTypes;\n(function (noteTypes) {\n noteTypes[\"TASK_NOTE\"] = \"TaskNote\";\n})(noteTypes = exports.noteTypes || (exports.noteTypes = {}));\nvar defaultExtractor = function (a) { return a; };\nexports.defaultExtractor = defaultExtractor;\nvar taskExtractor = function (response) { return response.task; };\nexports.taskExtractor = taskExtractor;\nvar successExtractor = function (response) { return response.success; };\nexports.successExtractor = successExtractor;\nvar tasksExtractor = function (response) { return response.tasks; };\nexports.tasksExtractor = tasksExtractor;\nvar childTasksExtractor = function (response) { return response.child_tasks; };\nexports.childTasksExtractor = childTasksExtractor;\nvar locationExtractor = function (response) { return response.data; };\nexports.locationExtractor = locationExtractor;\nvar scanCodeExtractor = function (response) { return response.scan_string; };\nexports.scanCodeExtractor = scanCodeExtractor;\nvar taskIdsExtractor = function (response) { return response.task_ids; };\nexports.taskIdsExtractor = taskIdsExtractor;\nvar formExtractor = function (response) { return response.form; };\nexports.formExtractor = formExtractor;\nvar quotesExtractor = function (response) { return response.quotes; };\nexports.quotesExtractor = quotesExtractor;\nvar answersExtractor = function (response) { return response.answers; };\nexports.answersExtractor = answersExtractor;\n// Turning this on re-exposes the stale way_point.customer it was introduced to fix.\nexports.DISABLE_WAYPOINT_CUSTOMER_ENRICHMENT_FEATURE_FLAG = 'disable_waypoint_customer_enrichment';\nvar TaskRealTimeEvents;\n(function (TaskRealTimeEvents) {\n TaskRealTimeEvents[\"TASK_UPDATE\"] = \"task update\";\n TaskRealTimeEvents[\"WAYPOINT_ADDED\"] = \"waypoint added\";\n TaskRealTimeEvents[\"WAYPOINT_DELETED\"] = \"waypoint deleted\";\n TaskRealTimeEvents[\"WAYPOINT_UPDATED\"] = \"waypoint updated\";\n TaskRealTimeEvents[\"NEW_SCAN\"] = \"new scan\";\n TaskRealTimeEvents[\"NEW_NOTE\"] = \"new note\";\n TaskRealTimeEvents[\"TASK_DELETED\"] = \"task deleted\";\n TaskRealTimeEvents[\"NEW_TASK\"] = \"new task\";\n})(TaskRealTimeEvents = exports.TaskRealTimeEvents || (exports.TaskRealTimeEvents = {}));\nexports.baseRoute = '/tasks';\nexports.Routes = {\n GET_OPEN_TASKS: \"\".concat(exports.baseRoute, \"/open\"),\n GET_PLANNING_TASKS: \"\".concat(exports.baseRoute, \"/planning\"),\n GET_INVALID_TASKS: \"\".concat(exports.baseRoute, \"/invalids\"),\n GET_TASK: \"\".concat(exports.baseRoute, \"/{:id}\"),\n GET_CHILD_TASKS: \"\".concat(exports.baseRoute, \"/{:id}/child_tasks\"),\n BATCH_GET_TASK: \"\".concat(exports.baseRoute, \"/batch_get\"),\n GET_CLOSED_TASKS_WITH_QUERY: \"\".concat(exports.baseRoute, \"/closed_with_query\"),\n GET_HISTORY_TASKS: \"/web\".concat(exports.baseRoute, \"/history\"),\n GET_HISTORY_TASKS_METADATA: \"/web\".concat(exports.baseRoute, \"/history/metadata\"),\n UPDATE_TASK: \"\".concat(exports.baseRoute, \"/{:id}\"),\n CREATE_TASK: \"\".concat(exports.baseRoute),\n FINISH_TASK: \"\".concat(exports.baseRoute, \"/{:id}/finish\"),\n CANCEL_TASK: \"\".concat(exports.baseRoute, \"/{:id}/cancel\"),\n ACKNOWLEDGE_TASK: \"\".concat(exports.baseRoute, \"/acknowledge_task\"),\n MASS_TASK_ASSIGN: \"\".concat(exports.baseRoute, \"/mass_assign\"),\n MASS_TASK_UNASSIGN: \"\".concat(exports.baseRoute, \"/mass_unassign\"),\n MASS_TASK_CANCEL: \"\".concat(exports.baseRoute, \"/mass_cancel\"),\n MOVE_TASKS_TO_PLANNING: \"\".concat(exports.baseRoute, \"/mark_not_ready_to_execute\"),\n RELEASE_TASKS_TO_DRIVERS: \"\".concat(exports.baseRoute, \"/release\"),\n UPDATE_TASK_PREPARATION_STATUS: \"\".concat(exports.baseRoute, \"/update_preparation_status\"),\n GET_TASK_LOCATIONS: \"\".concat(exports.baseRoute, \"/{:id}/locations\"),\n CANCEL_ALL_OPEN_TASKS: \"\".concat(exports.baseRoute, \"/cancel_all\"),\n MASS_DELETE_GROUPS: \"\".concat(exports.baseRoute, \"/mass_delete_groups\"),\n HAS_DEFECTIVE_GEOCODE: \"\".concat(exports.baseRoute, \"/has_defective_geocode\"),\n GET_TASK_ACTIVITY_LOG: \"\".concat(exports.baseRoute, \"/{:id}/history\"),\n CHANGE_TASK_TEAM: \"\".concat(exports.baseRoute, \"/{:id}/change_team\"),\n UPDATE_TASKS_PRIORITIES: \"\".concat(exports.baseRoute, \"/update_priorities\"),\n LOCK_TASK: \"\".concat(exports.baseRoute, \"/lock\"),\n UNLOCK_TASK: \"\".concat(exports.baseRoute, \"/unlock\"),\n DUPLICATE_TASK: \"\".concat(exports.baseRoute, \"/{:id}/duplicate\"),\n RESCHEDULE_QUOTE: \"\".concat(exports.baseRoute, \"/reschedule_quote\"),\n RESCHEDULE_CANCELED: \"\".concat(exports.baseRoute, \"/reschedule_cancelled\"),\n GET_PICKUP_QR_CODE: \"\".concat(exports.baseRoute, \"/{:id}/generate_pickup_qr_code\"),\n RESCHEDULE_VIRTUAL_TASKS: \"\".concat(exports.baseRoute, \"/reschedule_virtual_tasks\"),\n FORM_SUBMIT: \"\".concat(exports.baseRoute, \"/{:id}/way_points/{:way_point_id}/forms\"),\n IMPORT_TASKS_CSV: \"\".concat(exports.baseRoute, \"/import_from_csv\"),\n BROADCAST_TO_DRIVERS: \"\".concat(exports.baseRoute, \"/broadcast_to_drivers\"),\n CREATE_TASK_NOTE: \"\".concat(exports.baseRoute, \"/{:id}/way_points/{:way_point_id}/task_notes\"),\n DELETE_WAYPOINT: \"\".concat(exports.baseRoute, \"/{:id}/way_points/{:way_point_id}\"),\n GET_WAYPOINT_ANSWERS: \"\".concat(exports.baseRoute, \"/{:id}/way_points/{:way_point_id}/answers\")\n};\n// keep this here in case we need, all this data is required by frontend currently\n//const PLANNING_DEFAULT_PARAMS_REQUEST = \"first_way_point_has_to_leave_by,active_way_point_id,status,id,way_points.all.position,group_leader_id,priority,late,customer_id,way_points.all.customer_id,way_points.all.id,payment_type_name,task_inventories.all.id,task_inventories.all.way_point_id,task_inventories.all.pending,task_inventories.all.inventory,task_inventories.all.original_quantity,ready_to_execute,virtual_task,done_planning,task_type_id,rogue_reasons,invalidated,automatically_assigned,external_id,title,tag_id,created_at,user_id,way_points.all.late,way_points.all.done,way_points.all.address,planning_done,scheduled_at,way_points.first.address,way_points.last.address,total_price,fleet_id,lat,lng,way_points.all.lat,way_points.all.lng,way_points.all.scheduled_at,team_ids,way_points.all.customer,way_points.all.eta,route_name,run,dispatcher_id,preparation_status,preparation_start_time_planned,preparation_end_time_planned,preparation_ready_for_pickup_time_planned,payment_method,preparation_external_id,fleet_delivery_external_id\";\n//const OPEN_DEFAULT_PARAMS_REQUEST = \"first_way_point_has_to_leave_by,active_way_point_id,status,id,way_points.all.position,group_leader_id,priority,late,customer_id,way_points.all.customer_id,way_points.all.id,payment_type_name,task_inventories.all.id,task_inventories.all.way_point_id,task_inventories.all.pending,task_inventories.all.inventory,task_inventories.all.original_quantity,ready_to_execute,virtual_task,done_planning,task_type_id,rogue_reasons,invalidated,automatically_assigned,external_id,title,tag_id,created_at,user_id,way_points.all.late,way_points.all.done,way_points.all.address,planning_done,scheduled_at,way_points.first.address,way_points.last.address,total_price,fleet_id,lat,lng,way_points.all.lat,way_points.all.lng,way_points.all.scheduled_at,team_ids,way_points.all.customer,way_points.all.eta,route_name,run,dispatcher_id,preparation_status,preparation_start_time_planned,preparation_end_time_planned,preparation_ready_for_pickup_time_planned,payment_method,preparation_external_id,fleet_delivery_external_id\";\nexports.taskDefaultFields = [\n 'id',\n 'status',\n 'invalidated',\n 'group_leader_id',\n 'ready_to_execute',\n { way_points: ['position'] }\n];\n//# sourceMappingURL=Tasks.consts.js.map\n\n//# sourceURL=webpack://BringgDashboardSDK/./dist/Task/Tasks.consts.js?");
2826
2826
 
2827
2827
  /***/ }),
2828
2828
 
@@ -2844,7 +2844,7 @@ eval("\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexpo
2844
2844
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
2845
2845
 
2846
2846
  "use strict";
2847
- eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar cloneDeep_1 = __importDefault(__webpack_require__(/*! lodash/cloneDeep */ \"./node_modules/lodash/cloneDeep.js\"));\nvar storable_realtime_subscriptions_1 = __importDefault(__webpack_require__(/*! ../../Data/storable-realtime-subscriptions */ \"./dist/Data/storable-realtime-subscriptions.js\"));\nvar vrp_auto_dispatch_status_entity_1 = __importDefault(__webpack_require__(/*! ../../VrpAutoDispatchStatus/Entity/vrp-auto-dispatch-status-entity */ \"./dist/VrpAutoDispatchStatus/Entity/vrp-auto-dispatch-status-entity.js\"));\nvar Tasks_consts_1 = __webpack_require__(/*! ../Tasks.consts */ \"./dist/Task/Tasks.consts.js\");\nvar TaskRealtimeSubscriptions = /** @class */ (function () {\n function TaskRealtimeSubscriptions(session, tasksStore, storableDataService, customersApi) {\n this.tasksStore = tasksStore;\n this.customersApi = customersApi;\n this.storableRealtimeSubscriptions = new storable_realtime_subscriptions_1.default(session, tasksStore, storableDataService);\n this.vrpAutoDispatchStatusEntity = new vrp_auto_dispatch_status_entity_1.default(tasksStore, this.storableRealtimeSubscriptions);\n }\n TaskRealtimeSubscriptions.prototype.updateStoreOnEvents = function () {\n var _this = this;\n var events = [\n {\n name: Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE,\n isDelete: false,\n extraDataFunc: function (task) {\n var isPartialUpdate = !Object.prototype.hasOwnProperty.call(task, 'status');\n return { ignore: isPartialUpdate && !_this.tasksStore.get(task.id) };\n }\n },\n {\n name: Tasks_consts_1.TaskRealTimeEvents.NEW_TASK,\n isDelete: false\n },\n { name: Tasks_consts_1.TaskRealTimeEvents.TASK_DELETED, isDelete: true }\n ];\n var subEntityEvents = [\n {\n name: Tasks_consts_1.TaskRealTimeEvents.NEW_SCAN,\n eventToRaise: Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE,\n parentField: 'task_id',\n field: 'scans',\n ignoreFields: ['way_points'],\n isDelete: false\n },\n {\n name: Tasks_consts_1.TaskRealTimeEvents.NEW_NOTE,\n eventToRaise: Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE,\n parentField: 'task_id',\n field: 'task_notes',\n ignoreFields: ['way_points'],\n isDelete: false\n },\n {\n name: Tasks_consts_1.TaskRealTimeEvents.WAYPOINT_ADDED,\n eventToRaise: Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE,\n parentField: 'task_id',\n field: 'way_points',\n ignoreFields: ['way_points'],\n isDelete: false\n },\n {\n name: Tasks_consts_1.TaskRealTimeEvents.WAYPOINT_UPDATED,\n eventToRaise: Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE,\n parentField: 'task_id',\n field: 'way_points',\n ignoreFields: ['way_points'],\n isDelete: false,\n enrich: {\n enrichers: [\n /**\n * Updating customer on a WayPoint is pretty much an edge case\n * Customer enrichment can be fully removed if way_point.customer is deprecated and marked as such\n * that must not be used within dSDK data consumers and all existing usages are removed.\n * This is what we have to do if we want to avoid unnecessary complications on dSDK side.\n */\n {\n shouldEnrich: function (payload, getTask) {\n var _a, _b, _c;\n if (!('customer_id' in payload) || 'customer' in payload) {\n return false;\n }\n var wp = (_b = (_a = getTask()) === null || _a === void 0 ? void 0 : _a.way_points) === null || _b === void 0 ? void 0 : _b.find(function (wp) { return Number(wp.id) === Number(payload.id); });\n return payload.customer_id !== ((_c = wp === null || wp === void 0 ? void 0 : wp.customer) === null || _c === void 0 ? void 0 : _c.id);\n },\n resolveSync: function (payload) {\n if (payload.customer_id === null) {\n return { customer: null };\n }\n var cached = _this.customersApi.get(payload.customer_id);\n return cached ? { customer: (0, cloneDeep_1.default)(cached) } : null;\n },\n resolveAsync: function (payload, getTask) { return __awaiter(_this, void 0, void 0, function () {\n var payloadCustomerId, wpId, shouldStop, findWp, customer;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (payload.customer_id === null) {\n return [2 /*return*/, null];\n }\n payloadCustomerId = Number(payload.customer_id);\n wpId = Number(payload.id);\n shouldStop = function (wp) {\n return !wp || Number(wp.customer_id) !== payloadCustomerId;\n };\n findWp = function () { var _a, _b; return (_b = (_a = getTask()) === null || _a === void 0 ? void 0 : _a.way_points) === null || _b === void 0 ? void 0 : _b.find(function (wp) { return wp.id === wpId; }); };\n if (shouldStop(findWp())) {\n return [2 /*return*/, null];\n }\n return [4 /*yield*/, this.customersApi.load(payload.customer_id)];\n case 1:\n customer = _a.sent();\n if (shouldStop(findWp())) {\n return [2 /*return*/, null];\n }\n return [2 /*return*/, { customer: (0, cloneDeep_1.default)(customer) }];\n }\n });\n }); }\n }\n ]\n }\n },\n {\n name: Tasks_consts_1.TaskRealTimeEvents.WAYPOINT_DELETED,\n eventToRaise: Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE,\n idField: 'way_point_id',\n parentField: 'task_id',\n field: 'way_points',\n ignoreFields: ['way_points'],\n isDelete: true\n }\n ];\n this.storableRealtimeSubscriptions.updateStoreOnEvents(events, subEntityEvents);\n };\n TaskRealtimeSubscriptions.prototype.onCreate = function (callback) {\n return this.storableRealtimeSubscriptions.onEvent(Tasks_consts_1.TaskRealTimeEvents.NEW_TASK, callback);\n };\n TaskRealtimeSubscriptions.prototype.onDelete = function (callback) {\n return this.storableRealtimeSubscriptions.onEvent(Tasks_consts_1.TaskRealTimeEvents.TASK_DELETED, callback);\n };\n TaskRealtimeSubscriptions.prototype.onWayPointUpdate = function (callback) {\n return this.storableRealtimeSubscriptions.onEvent(Tasks_consts_1.TaskRealTimeEvents.WAYPOINT_UPDATED, callback);\n };\n TaskRealtimeSubscriptions.prototype.onWayPointDelete = function (callback) {\n return this.storableRealtimeSubscriptions.onEvent(Tasks_consts_1.TaskRealTimeEvents.WAYPOINT_DELETED, callback);\n };\n TaskRealtimeSubscriptions.prototype.onUpdate = function (callback) {\n return this.storableRealtimeSubscriptions.onEvent(Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE, callback);\n };\n TaskRealtimeSubscriptions.prototype.subscribeToVrpAutoDispatchDone = function () {\n return this.vrpAutoDispatchStatusEntity.subscribeToVrpAutoDispatchDone();\n };\n TaskRealtimeSubscriptions.prototype.callRealTimeEvent = function (modifiedItem) {\n var realTimeEvent = modifiedItem.diff ? Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE : Tasks_consts_1.TaskRealTimeEvents.NEW_TASK;\n this.storableRealtimeSubscriptions.runEventCallbacks(realTimeEvent, modifiedItem);\n };\n TaskRealtimeSubscriptions.prototype.callUpdateTaskRealTimeEvents = function (modifiedItems) {\n var e_1, _a;\n try {\n for (var modifiedItems_1 = __values(modifiedItems), modifiedItems_1_1 = modifiedItems_1.next(); !modifiedItems_1_1.done; modifiedItems_1_1 = modifiedItems_1.next()) {\n var modifiedItem = modifiedItems_1_1.value;\n this.callRealTimeEvent(modifiedItem);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (modifiedItems_1_1 && !modifiedItems_1_1.done && (_a = modifiedItems_1.return)) _a.call(modifiedItems_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n return TaskRealtimeSubscriptions;\n}());\nexports[\"default\"] = TaskRealtimeSubscriptions;\n//# sourceMappingURL=task-realtime-subscriptions.js.map\n\n//# sourceURL=webpack://BringgDashboardSDK/./dist/Task/v2/task-realtime-subscriptions.js?");
2847
+ eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar cloneDeep_1 = __importDefault(__webpack_require__(/*! lodash/cloneDeep */ \"./node_modules/lodash/cloneDeep.js\"));\nvar storable_realtime_subscriptions_1 = __importDefault(__webpack_require__(/*! ../../Data/storable-realtime-subscriptions */ \"./dist/Data/storable-realtime-subscriptions.js\"));\nvar vrp_auto_dispatch_status_entity_1 = __importDefault(__webpack_require__(/*! ../../VrpAutoDispatchStatus/Entity/vrp-auto-dispatch-status-entity */ \"./dist/VrpAutoDispatchStatus/Entity/vrp-auto-dispatch-status-entity.js\"));\nvar Tasks_consts_1 = __webpack_require__(/*! ../Tasks.consts */ \"./dist/Task/Tasks.consts.js\");\nvar TaskRealtimeSubscriptions = /** @class */ (function () {\n function TaskRealtimeSubscriptions(session, tasksStore, storableDataService, customersApi) {\n this.session = session;\n this.tasksStore = tasksStore;\n this.customersApi = customersApi;\n this.storableRealtimeSubscriptions = new storable_realtime_subscriptions_1.default(session, tasksStore, storableDataService);\n this.vrpAutoDispatchStatusEntity = new vrp_auto_dispatch_status_entity_1.default(tasksStore, this.storableRealtimeSubscriptions);\n }\n TaskRealtimeSubscriptions.prototype.updateStoreOnEvents = function () {\n var _this = this;\n var events = [\n {\n name: Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE,\n isDelete: false,\n extraDataFunc: function (task) {\n var isPartialUpdate = !Object.prototype.hasOwnProperty.call(task, 'status');\n return { ignore: isPartialUpdate && !_this.tasksStore.get(task.id) };\n }\n },\n {\n name: Tasks_consts_1.TaskRealTimeEvents.NEW_TASK,\n isDelete: false\n },\n { name: Tasks_consts_1.TaskRealTimeEvents.TASK_DELETED, isDelete: true }\n ];\n var subEntityEvents = [\n {\n name: Tasks_consts_1.TaskRealTimeEvents.NEW_SCAN,\n eventToRaise: Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE,\n parentField: 'task_id',\n field: 'scans',\n ignoreFields: ['way_points'],\n isDelete: false\n },\n {\n name: Tasks_consts_1.TaskRealTimeEvents.NEW_NOTE,\n eventToRaise: Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE,\n parentField: 'task_id',\n field: 'task_notes',\n ignoreFields: ['way_points'],\n isDelete: false\n },\n {\n name: Tasks_consts_1.TaskRealTimeEvents.WAYPOINT_ADDED,\n eventToRaise: Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE,\n parentField: 'task_id',\n field: 'way_points',\n ignoreFields: ['way_points'],\n isDelete: false\n },\n {\n name: Tasks_consts_1.TaskRealTimeEvents.WAYPOINT_UPDATED,\n eventToRaise: Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE,\n parentField: 'task_id',\n field: 'way_points',\n ignoreFields: ['way_points'],\n isDelete: false,\n enrich: {\n enrichers: [\n /**\n * Updating customer on a WayPoint is pretty much an edge case\n * Customer enrichment can be fully removed if way_point.customer is deprecated and marked as such\n * that must not be used within dSDK data consumers and all existing usages are removed.\n * This is what we have to do if we want to avoid unnecessary complications on dSDK side.\n */\n {\n shouldEnrich: function (payload, getTask) {\n var _a, _b, _c;\n if (_this.isWaypointCustomerEnrichmentDisabled()) {\n return false;\n }\n if (!('customer_id' in payload) || 'customer' in payload) {\n return false;\n }\n var wp = (_b = (_a = getTask()) === null || _a === void 0 ? void 0 : _a.way_points) === null || _b === void 0 ? void 0 : _b.find(function (wp) { return Number(wp.id) === Number(payload.id); });\n return payload.customer_id !== ((_c = wp === null || wp === void 0 ? void 0 : wp.customer) === null || _c === void 0 ? void 0 : _c.id);\n },\n resolveSync: function (payload) {\n if (payload.customer_id === null) {\n return { customer: null };\n }\n var cached = _this.customersApi.get(payload.customer_id);\n return cached ? { customer: (0, cloneDeep_1.default)(cached) } : null;\n },\n resolveAsync: function (payload, getTask) { return __awaiter(_this, void 0, void 0, function () {\n var payloadCustomerId, wpId, shouldStop, findWp, customer;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (payload.customer_id === null) {\n return [2 /*return*/, null];\n }\n payloadCustomerId = Number(payload.customer_id);\n wpId = Number(payload.id);\n shouldStop = function (wp) {\n return !wp || Number(wp.customer_id) !== payloadCustomerId;\n };\n findWp = function () { var _a, _b; return (_b = (_a = getTask()) === null || _a === void 0 ? void 0 : _a.way_points) === null || _b === void 0 ? void 0 : _b.find(function (wp) { return wp.id === wpId; }); };\n if (shouldStop(findWp())) {\n return [2 /*return*/, null];\n }\n return [4 /*yield*/, this.customersApi.load(payload.customer_id)];\n case 1:\n customer = _a.sent();\n if (shouldStop(findWp())) {\n return [2 /*return*/, null];\n }\n return [2 /*return*/, { customer: (0, cloneDeep_1.default)(customer) }];\n }\n });\n }); }\n }\n ]\n }\n },\n {\n name: Tasks_consts_1.TaskRealTimeEvents.WAYPOINT_DELETED,\n eventToRaise: Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE,\n idField: 'way_point_id',\n parentField: 'task_id',\n field: 'way_points',\n ignoreFields: ['way_points'],\n isDelete: true\n }\n ];\n this.storableRealtimeSubscriptions.updateStoreOnEvents(events, subEntityEvents);\n };\n TaskRealtimeSubscriptions.prototype.onCreate = function (callback) {\n return this.storableRealtimeSubscriptions.onEvent(Tasks_consts_1.TaskRealTimeEvents.NEW_TASK, callback);\n };\n TaskRealtimeSubscriptions.prototype.onDelete = function (callback) {\n return this.storableRealtimeSubscriptions.onEvent(Tasks_consts_1.TaskRealTimeEvents.TASK_DELETED, callback);\n };\n TaskRealtimeSubscriptions.prototype.onWayPointUpdate = function (callback) {\n return this.storableRealtimeSubscriptions.onEvent(Tasks_consts_1.TaskRealTimeEvents.WAYPOINT_UPDATED, callback);\n };\n TaskRealtimeSubscriptions.prototype.onWayPointDelete = function (callback) {\n return this.storableRealtimeSubscriptions.onEvent(Tasks_consts_1.TaskRealTimeEvents.WAYPOINT_DELETED, callback);\n };\n TaskRealtimeSubscriptions.prototype.onUpdate = function (callback) {\n return this.storableRealtimeSubscriptions.onEvent(Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE, callback);\n };\n TaskRealtimeSubscriptions.prototype.subscribeToVrpAutoDispatchDone = function () {\n return this.vrpAutoDispatchStatusEntity.subscribeToVrpAutoDispatchDone();\n };\n TaskRealtimeSubscriptions.prototype.callRealTimeEvent = function (modifiedItem) {\n var realTimeEvent = modifiedItem.diff ? Tasks_consts_1.TaskRealTimeEvents.TASK_UPDATE : Tasks_consts_1.TaskRealTimeEvents.NEW_TASK;\n this.storableRealtimeSubscriptions.runEventCallbacks(realTimeEvent, modifiedItem);\n };\n TaskRealtimeSubscriptions.prototype.callUpdateTaskRealTimeEvents = function (modifiedItems) {\n var e_1, _a;\n try {\n for (var modifiedItems_1 = __values(modifiedItems), modifiedItems_1_1 = modifiedItems_1.next(); !modifiedItems_1_1.done; modifiedItems_1_1 = modifiedItems_1.next()) {\n var modifiedItem = modifiedItems_1_1.value;\n this.callRealTimeEvent(modifiedItem);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (modifiedItems_1_1 && !modifiedItems_1_1.done && (_a = modifiedItems_1.return)) _a.call(modifiedItems_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n TaskRealtimeSubscriptions.prototype.isWaypointCustomerEnrichmentDisabled = function () {\n var _a;\n var featureFlags = (((_a = this.session.merchant) === null || _a === void 0 ? void 0 : _a.feature_flags) || {});\n return Boolean(featureFlags[Tasks_consts_1.DISABLE_WAYPOINT_CUSTOMER_ENRICHMENT_FEATURE_FLAG]);\n };\n return TaskRealtimeSubscriptions;\n}());\nexports[\"default\"] = TaskRealtimeSubscriptions;\n//# sourceMappingURL=task-realtime-subscriptions.js.map\n\n//# sourceURL=webpack://BringgDashboardSDK/./dist/Task/v2/task-realtime-subscriptions.js?");
2848
2848
 
2849
2849
  /***/ }),
2850
2850
 
@@ -3196,7 +3196,7 @@ eval("\nvar __extends = (this && this.__extends) || (function () {\n var exte
3196
3196
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
3197
3197
 
3198
3198
  "use strict";
3199
- eval("\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RealtimeEvents = exports.userToGroupsMapper = exports.groupFilter = exports.GROUP_VALUES = exports.UserGroupTypes = exports.UserEvents = exports.ROUTES = exports.ENABLE_USER_GROUPS_CACHE_FEATURE_FLAG = exports.baseRoute = exports.successExtractor = exports.countExtractor = exports.usersExtractor = exports.userExtractor = exports.defaultExtractor = exports.UsersScopes = void 0;\nvar UserHelpers_1 = __webpack_require__(/*! ./UserHelpers */ \"./dist/User/UserHelpers.js\");\nvar UsersScopes;\n(function (UsersScopes) {\n UsersScopes[\"DRIVERS\"] = \"drivers\";\n UsersScopes[\"DISPATCHERS\"] = \"dispatchers\";\n UsersScopes[\"ADMINS\"] = \"admins\";\n UsersScopes[\"CUSTOMERS\"] = \"customers\";\n UsersScopes[\"MARKED_AS_ONLINE\"] = \"marked_as_online\";\n})(UsersScopes = exports.UsersScopes || (exports.UsersScopes = {}));\nvar defaultExtractor = function (response) { return response; };\nexports.defaultExtractor = defaultExtractor;\nvar userExtractor = function (response) { return response.user; };\nexports.userExtractor = userExtractor;\nvar usersExtractor = function (response) { return response.users; };\nexports.usersExtractor = usersExtractor;\nvar countExtractor = function (response) { return response.count; };\nexports.countExtractor = countExtractor;\nvar successExtractor = function (response) { return response.success; };\nexports.successExtractor = successExtractor;\nexports.baseRoute = '/users';\nexports.ENABLE_USER_GROUPS_CACHE_FEATURE_FLAG = 'enable_user_groups_cache';\nexports.ROUTES = {\n GET_ALL: exports.baseRoute,\n GET_DRIVERS_BY_TEAM: '/teams/{:teamId}/users',\n UNLOCK: \"\".concat(exports.baseRoute, \"/{:userId}/unlock\"),\n MESSAGE_DRIVER: '/announcement/user/{:userId}',\n VALIDATE_PHONE: '/api/user/validate_phone',\n DELETE_MANY: '/users/batch_delete',\n DRIVER_COST: '/users/{:userId}/driver_cost',\n GET_USERS_WITH_USER_TYPE: '/user_types/{:userTypeId}/users',\n INVITE: '/users/{:userId}/reinvite',\n CLOSED_TASKS: '/users/{:userId}/tasks/closed_tasks',\n TOTAL_TASKS: '/users/{:userId}/tasks/count'\n};\nvar UserEvents;\n(function (UserEvents) {\n UserEvents[\"CURRENT_USER_UPDATED\"] = \"currentUserUpdated\";\n})(UserEvents = exports.UserEvents || (exports.UserEvents = {}));\nvar UserGroupTypes;\n(function (UserGroupTypes) {\n UserGroupTypes[\"Main\"] = \"main\";\n})(UserGroupTypes = exports.UserGroupTypes || (exports.UserGroupTypes = {}));\nvar GROUP_VALUES;\n(function (GROUP_VALUES) {\n GROUP_VALUES[\"OfflineDrivers\"] = \"OfflineDrivers\";\n GROUP_VALUES[\"OnlineDrivers\"] = \"OnlineDrivers\";\n GROUP_VALUES[\"OnShiftDrivers\"] = \"OnShiftDrivers\";\n GROUP_VALUES[\"Customers\"] = \"Customers\";\n GROUP_VALUES[\"Admins\"] = \"Admins\";\n GROUP_VALUES[\"Dispatchers\"] = \"Dispatchers\";\n GROUP_VALUES[\"Drivers\"] = \"Drivers\";\n})(GROUP_VALUES = exports.GROUP_VALUES || (exports.GROUP_VALUES = {}));\nexports.groupFilter = new Map([\n [GROUP_VALUES.OfflineDrivers, UserHelpers_1.UserHelpers.isOfflineDriver],\n [GROUP_VALUES.OnlineDrivers, UserHelpers_1.UserHelpers.isOnlineDriver],\n [GROUP_VALUES.OnShiftDrivers, UserHelpers_1.UserHelpers.isOnShiftDriver],\n [GROUP_VALUES.Customers, UserHelpers_1.UserHelpers.isCustomer],\n [GROUP_VALUES.Admins, UserHelpers_1.UserHelpers.isAdmin],\n [GROUP_VALUES.Dispatchers, UserHelpers_1.UserHelpers.isDispatcher],\n [GROUP_VALUES.Drivers, UserHelpers_1.UserHelpers.isDriver]\n]);\nvar groupKeys = Array.from(exports.groupFilter.keys());\nvar userToGroupsMapper = function (user) {\n var e_1, _a;\n var groups = [];\n try {\n for (var groupKeys_1 = __values(groupKeys), groupKeys_1_1 = groupKeys_1.next(); !groupKeys_1_1.done; groupKeys_1_1 = groupKeys_1.next()) {\n var groupKey = groupKeys_1_1.value;\n var filterFn = exports.groupFilter.get(groupKey);\n if (filterFn(user) === true) {\n groups.push(groupKey);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (groupKeys_1_1 && !groupKeys_1_1.done && (_a = groupKeys_1.return)) _a.call(groupKeys_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return groups;\n};\nexports.userToGroupsMapper = userToGroupsMapper;\nvar RealtimeEvents;\n(function (RealtimeEvents) {\n RealtimeEvents[\"Update\"] = \"employee update\";\n RealtimeEvents[\"Create\"] = \"new employee\";\n RealtimeEvents[\"Delete\"] = \"delete employee\";\n})(RealtimeEvents = exports.RealtimeEvents || (exports.RealtimeEvents = {}));\n//# sourceMappingURL=User.consts.js.map\n\n//# sourceURL=webpack://BringgDashboardSDK/./dist/User/User.consts.js?");
3199
+ eval("\nvar __values = (this && this.__values) || function(o) {\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\n if (m) return m.call(o);\n if (o && typeof o.length === \"number\") return {\n next: function () {\n if (o && i >= o.length) o = void 0;\n return { value: o && o[i++], done: !o };\n }\n };\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nexports.RealtimeEvents = exports.userToGroupsMapper = exports.groupFilter = exports.GROUP_VALUES = exports.UserGroupTypes = exports.UserEvents = exports.ROUTES = exports.ENABLE_USER_GROUPS_CACHE_FEATURE_FLAG = exports.baseRoute = exports.successExtractor = exports.countExtractor = exports.usersExtractor = exports.userExtractor = exports.defaultExtractor = exports.UsersScopes = void 0;\nvar UserHelpers_1 = __webpack_require__(/*! ./UserHelpers */ \"./dist/User/UserHelpers.js\");\nvar UsersScopes;\n(function (UsersScopes) {\n UsersScopes[\"DRIVERS\"] = \"drivers\";\n UsersScopes[\"DISPATCHERS\"] = \"dispatchers\";\n UsersScopes[\"ADMINS\"] = \"admins\";\n UsersScopes[\"CUSTOMERS\"] = \"customers\";\n UsersScopes[\"MARKED_AS_ONLINE\"] = \"marked_as_online\";\n})(UsersScopes = exports.UsersScopes || (exports.UsersScopes = {}));\nvar defaultExtractor = function (response) { return response; };\nexports.defaultExtractor = defaultExtractor;\nvar userExtractor = function (response) { return response.user; };\nexports.userExtractor = userExtractor;\nvar usersExtractor = function (response) { return response.users; };\nexports.usersExtractor = usersExtractor;\nvar countExtractor = function (response) { return response.count; };\nexports.countExtractor = countExtractor;\nvar successExtractor = function (response) { return response.success; };\nexports.successExtractor = successExtractor;\nexports.baseRoute = '/users';\nexports.ENABLE_USER_GROUPS_CACHE_FEATURE_FLAG = 'enable_user_groups_cache';\nexports.ROUTES = {\n GET_ALL: exports.baseRoute,\n GET_DRIVERS_BY_TEAM: '/teams/{:teamId}/users',\n UNLOCK: \"\".concat(exports.baseRoute, \"/{:userId}/unlock\"),\n MESSAGE_DRIVER: '/announcement/user/{:userId}',\n VALIDATE_PHONE: '/api/user/validate_phone',\n DELETE_MANY: '/users/batch_delete',\n DRIVER_COST: '/users/{:userId}/driver_cost',\n GET_USERS_WITH_USER_TYPE: '/user_types/{:userTypeId}/users',\n INVITE: '/users/{:userId}/reinvite',\n CLOSED_TASKS: '/users/{:userId}/tasks/closed_tasks',\n TOTAL_TASKS: '/users/{:userId}/tasks/count',\n GOT_HOME: \"\".concat(exports.baseRoute, \"/{:userId}/got_home\"),\n LEFT_HOME: \"\".concat(exports.baseRoute, \"/{:userId}/left_home\"),\n DRIVER_QR_TOKEN: '/tokens/gen_driver_qr_code'\n};\nvar UserEvents;\n(function (UserEvents) {\n UserEvents[\"CURRENT_USER_UPDATED\"] = \"currentUserUpdated\";\n})(UserEvents = exports.UserEvents || (exports.UserEvents = {}));\nvar UserGroupTypes;\n(function (UserGroupTypes) {\n UserGroupTypes[\"Main\"] = \"main\";\n})(UserGroupTypes = exports.UserGroupTypes || (exports.UserGroupTypes = {}));\nvar GROUP_VALUES;\n(function (GROUP_VALUES) {\n GROUP_VALUES[\"OfflineDrivers\"] = \"OfflineDrivers\";\n GROUP_VALUES[\"OnlineDrivers\"] = \"OnlineDrivers\";\n GROUP_VALUES[\"OnShiftDrivers\"] = \"OnShiftDrivers\";\n GROUP_VALUES[\"Customers\"] = \"Customers\";\n GROUP_VALUES[\"Admins\"] = \"Admins\";\n GROUP_VALUES[\"Dispatchers\"] = \"Dispatchers\";\n GROUP_VALUES[\"Drivers\"] = \"Drivers\";\n})(GROUP_VALUES = exports.GROUP_VALUES || (exports.GROUP_VALUES = {}));\nexports.groupFilter = new Map([\n [GROUP_VALUES.OfflineDrivers, UserHelpers_1.UserHelpers.isOfflineDriver],\n [GROUP_VALUES.OnlineDrivers, UserHelpers_1.UserHelpers.isOnlineDriver],\n [GROUP_VALUES.OnShiftDrivers, UserHelpers_1.UserHelpers.isOnShiftDriver],\n [GROUP_VALUES.Customers, UserHelpers_1.UserHelpers.isCustomer],\n [GROUP_VALUES.Admins, UserHelpers_1.UserHelpers.isAdmin],\n [GROUP_VALUES.Dispatchers, UserHelpers_1.UserHelpers.isDispatcher],\n [GROUP_VALUES.Drivers, UserHelpers_1.UserHelpers.isDriver]\n]);\nvar groupKeys = Array.from(exports.groupFilter.keys());\nvar userToGroupsMapper = function (user) {\n var e_1, _a;\n var groups = [];\n try {\n for (var groupKeys_1 = __values(groupKeys), groupKeys_1_1 = groupKeys_1.next(); !groupKeys_1_1.done; groupKeys_1_1 = groupKeys_1.next()) {\n var groupKey = groupKeys_1_1.value;\n var filterFn = exports.groupFilter.get(groupKey);\n if (filterFn(user) === true) {\n groups.push(groupKey);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (groupKeys_1_1 && !groupKeys_1_1.done && (_a = groupKeys_1.return)) _a.call(groupKeys_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return groups;\n};\nexports.userToGroupsMapper = userToGroupsMapper;\nvar RealtimeEvents;\n(function (RealtimeEvents) {\n RealtimeEvents[\"Update\"] = \"employee update\";\n RealtimeEvents[\"Create\"] = \"new employee\";\n RealtimeEvents[\"Delete\"] = \"delete employee\";\n})(RealtimeEvents = exports.RealtimeEvents || (exports.RealtimeEvents = {}));\n//# sourceMappingURL=User.consts.js.map\n\n//# sourceURL=webpack://BringgDashboardSDK/./dist/User/User.consts.js?");
3200
3200
 
3201
3201
  /***/ }),
3202
3202
 
@@ -3229,7 +3229,7 @@ eval("\nvar __decorate = (this && this.__decorate) || function (decorators, targ
3229
3229
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
3230
3230
 
3231
3231
  "use strict";
3232
- eval("\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar lodash_1 = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\nvar BringgException_1 = __webpack_require__(/*! ../../Core/BringgException */ \"./dist/Core/BringgException.js\");\nvar ExceptionReason_1 = __webpack_require__(/*! ../../Core/ExceptionReason */ \"./dist/Core/ExceptionReason.js\");\nvar merge_mapper_1 = __webpack_require__(/*! ../../Data/merge-mapper */ \"./dist/Data/merge-mapper.js\");\nvar storable_realtime_subscriptions_1 = __importDefault(__webpack_require__(/*! ../../Data/storable-realtime-subscriptions */ \"./dist/Data/storable-realtime-subscriptions.js\"));\nvar data_entity_1 = __webpack_require__(/*! ../../data-entity */ \"./dist/data-entity.js\");\nvar data_store_1 = __importDefault(__webpack_require__(/*! ../../data-store */ \"./dist/data-store.js\"));\nvar storable_data_service_1 = __importDefault(__webpack_require__(/*! ../../storable-data-service */ \"./dist/storable-data-service.js\"));\nvar keyset_pagination_consts_1 = __webpack_require__(/*! ../../utils/consts/keyset-pagination.consts */ \"./dist/utils/consts/keyset-pagination.consts.js\");\nvar User_consts_1 = __webpack_require__(/*! ../User.consts */ \"./dist/User/User.consts.js\");\nvar users_service_1 = __importDefault(__webpack_require__(/*! ./users-service */ \"./dist/User/v2/users-service.js\"));\nvar UsersApi = /** @class */ (function () {\n function UsersApi(session) {\n var _this = this;\n this.session = session;\n // The next_page_cursors that continue an admins+dispatchers pagination which began at cursor=nil.\n // Server cursors are unique per run, so this stays correct across concurrent runs, and only a run\n // traceable back to a fresh start ever marks the collection cached (a mid-collection caller can't).\n this.adminsAndDispatchersFreshPagingCursors = new Set();\n var groupFilters = [\n {\n groupType: User_consts_1.UserGroupTypes.Main,\n keyFunc: function (user) { return (0, User_consts_1.userToGroupsMapper)(user); }\n },\n {\n groupType: 'teamAndDriver',\n keyFunc: function (user) { return (user.driver && user.team_ids) || []; }\n }\n ];\n this.userStore = new data_store_1.default(groupFilters, { shallow: true });\n this.usersService = new users_service_1.default(session);\n this.storableDataService = new storable_data_service_1.default(this.userStore, function (user) {\n return merge_mapper_1.mergeMapper.mergeIntoExisting(_this.userStore, user);\n });\n this.storableRealtimeSubscriptions = new storable_realtime_subscriptions_1.default(session, this.userStore, this.storableDataService);\n this.storableRealtimeSubscriptions.updateStoreOnEvents([\n {\n name: User_consts_1.RealtimeEvents.Update,\n isDelete: false,\n extraDataFunc: function (user) {\n return { skipStoreUpdate: !_this.userStore.get(user.id) };\n }\n },\n { name: User_consts_1.RealtimeEvents.Create, isDelete: false },\n { name: User_consts_1.RealtimeEvents.Delete, isDelete: true }\n ]);\n }\n UsersApi.prototype.delete = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n var response;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.storableDataService.delete('delete', function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.usersService.delete(userId)];\n case 1:\n response = _a.sent();\n return [2 /*return*/, response];\n }\n });\n }); }, userId)];\n case 1:\n _a.sent();\n return [2 /*return*/, response];\n }\n });\n });\n };\n UsersApi.prototype.deleteMany = function (userIds) {\n return __awaiter(this, void 0, void 0, function () {\n var response;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.storableDataService.deleteMany('deleteMany', function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.usersService.deleteMany(userIds)];\n case 1:\n response = _a.sent();\n return [2 /*return*/, response];\n }\n });\n }); }, userIds)];\n case 1:\n _a.sent();\n return [2 /*return*/, response];\n }\n });\n });\n };\n UsersApi.prototype.create = function (user) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n if ((0, lodash_1.isNil)(user.email) && (0, lodash_1.isNil)(user.phone)) {\n throw new BringgException_1.BringgException(ExceptionReason_1.ExceptionReason.INVALID_ARGUMENTS, 'Phone or Email is required');\n }\n return [2 /*return*/, this.storableDataService.modify('create', function () { return _this.usersService.create(user); })];\n });\n });\n };\n UsersApi.prototype.update = function (userId, userDelta) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storableDataService.modify('update', function () { return _this.usersService.update(userId, userDelta); }, function (modifiedUser) {\n var currentUser = _this.usersService.session.user;\n if (currentUser.id === modifiedUser.current.id) {\n _this.usersService.session.user = (0, lodash_1.merge)(currentUser, modifiedUser.current);\n _this.usersService.session.sendDataEvent(User_consts_1.UserEvents.CURRENT_USER_UPDATED, _this.usersService.session.user);\n }\n })];\n });\n });\n };\n UsersApi.prototype.load = function (userId, options) {\n if (options === void 0) { options = data_entity_1.DEFAULT_OPTIONS; }\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storableDataService.load('load', function () { return _this.usersService.get(userId); }, userId, options)];\n });\n });\n };\n UsersApi.prototype.loadMany = function (ids, options) {\n if (options === void 0) { options = { useCache: true }; }\n return __awaiter(this, void 0, void 0, function () {\n var chunkSize;\n var _this = this;\n return __generator(this, function (_a) {\n if (ids.length === 0) {\n return [2 /*return*/, []];\n }\n chunkSize = options.chunkSize || 500;\n return [2 /*return*/, this.storableDataService.loadMany('loadMany', function (idsToLoad) { return __awaiter(_this, void 0, void 0, function () {\n var users;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.usersService.loadMany({ ids: idsToLoad, limit: chunkSize, page: 1 })];\n case 1:\n users = _a.sent();\n return [2 /*return*/, users];\n }\n });\n }); }, ids, __assign(__assign({}, options), { chunkSize: chunkSize }))];\n });\n });\n };\n UsersApi.prototype.loadAllByTeam = function (teamId, options) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storableDataService.loadAll('loadDriversByTeam', function () { return __awaiter(_this, void 0, void 0, function () {\n var users;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.usersService.loadAllByTeams(teamId)];\n case 1:\n users = _a.sent();\n return [2 /*return*/, users];\n }\n });\n }); }, __assign(__assign({}, options), { groupType: 'teamAndDriver', groupValue: teamId }))];\n });\n });\n };\n // Pagination methods\n UsersApi.prototype.loadAll = function (_a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.limit, limit = _c === void 0 ? 2500 : _c, page = _b.page, _d = _b.page_action, page_action = _d === void 0 ? keyset_pagination_consts_1.KeysetPaginationPageAction.NEXT : _d, cursor = _b.cursor, options = _b.options;\n return __awaiter(this, void 0, void 0, function () {\n var loadResult, loadFunc, users;\n var _this = this;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n loadFunc = function () { return __awaiter(_this, void 0, void 0, function () {\n var response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.usersService.loadAll({ limit: limit, page: page, page_action: page_action, cursor: cursor }, { signal: options === null || options === void 0 ? void 0 : options.signal })];\n case 1:\n response = _a.sent();\n loadResult = response;\n return [2 /*return*/, response.users];\n }\n });\n }); };\n return [4 /*yield*/, this.storableDataService.loadMany('loadAll', loadFunc, [], options)];\n case 1:\n users = _e.sent();\n return [2 /*return*/, __assign(__assign({}, loadResult), { users: users })];\n }\n });\n });\n };\n UsersApi.prototype.getAllDrivers = function (_a) {\n var _b = _a.limit, limit = _b === void 0 ? 25 : _b, _c = _a.page_action, page_action = _c === void 0 ? keyset_pagination_consts_1.KeysetPaginationPageAction.NEXT : _c, cursor = _a.cursor, options = _a.options;\n return __awaiter(this, void 0, void 0, function () {\n var optionsWithDefaults, loadResult, loadFunc, users;\n var _this = this;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n optionsWithDefaults = (0, lodash_1.defaults)(options, { onlyOnlineDriver: false, onlyCustomers: false });\n loadFunc = function () { return __awaiter(_this, void 0, void 0, function () {\n var result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.usersService.getAllDrivers({\n limit: limit,\n page_action: page_action,\n cursor: cursor,\n options: optionsWithDefaults\n })];\n case 1:\n result = _a.sent();\n loadResult = result;\n return [2 /*return*/, result.users];\n }\n });\n }); };\n return [4 /*yield*/, this.storableDataService.loadMany('getAllDrivers', loadFunc, [])];\n case 1:\n users = _d.sent();\n return [2 /*return*/, __assign(__assign({}, loadResult), { users: users })];\n }\n });\n });\n };\n UsersApi.prototype.getAllAdminsAndDispatchers = function (_a) {\n var _b = _a.limit, limit = _b === void 0 ? 25 : _b, _c = _a.page_action, page_action = _c === void 0 ? keyset_pagination_consts_1.KeysetPaginationPageAction.NEXT : _c, cursor = _a.cursor, options = _a.options;\n return __awaiter(this, void 0, void 0, function () {\n var cacheEnabled, isFreshPagingRun, loadResult, loadFunc, users;\n var _this = this;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n cacheEnabled = this.isUserGroupsCacheEnabled();\n // A fresh load (no cursor) with the collection fully paged serves the store's Admins+Dispatchers\n // groups instead of refetching. Only members already in the store surface, so a user promoted into\n // the set from another session appears on the next uncached load. skipCache forces a server round\n // trip (e.g. a refetch after a mutation) while still re-warming the store below.\n if (cacheEnabled && !(options === null || options === void 0 ? void 0 : options.skipCache) && (0, lodash_1.isNil)(cursor) && this.isAdminsAndDispatchersCached()) {\n return [2 /*return*/, {\n users: this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, [User_consts_1.GROUP_VALUES.Admins, User_consts_1.GROUP_VALUES.Dispatchers])\n }];\n }\n isFreshPagingRun = cacheEnabled && ((0, lodash_1.isNil)(cursor) || this.adminsAndDispatchersFreshPagingCursors.has(cursor));\n if (!(0, lodash_1.isNil)(cursor)) {\n this.adminsAndDispatchersFreshPagingCursors.delete(cursor);\n }\n loadFunc = function () { return __awaiter(_this, void 0, void 0, function () {\n var result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.usersService.getAllAdminsAndDispatchers({\n limit: limit,\n page_action: page_action,\n cursor: cursor\n })];\n case 1:\n result = _a.sent();\n loadResult = result;\n return [2 /*return*/, result.users];\n }\n });\n }); };\n return [4 /*yield*/, this.storableDataService.loadMany('getAllAdminsAndDispatchers', loadFunc, [])];\n case 1:\n users = _d.sent();\n // Only a fresh run reaching its last page (no next cursor) has the whole collection in the store, so\n // only then mark it cached; otherwise track the next cursor as belonging to this fresh run.\n if (isFreshPagingRun) {\n if ((0, lodash_1.isNil)(loadResult.next_page_cursor)) {\n this.userStore.setGroupInitialized(User_consts_1.UserGroupTypes.Main, [\n User_consts_1.GROUP_VALUES.Admins,\n User_consts_1.GROUP_VALUES.Dispatchers\n ]);\n // The collection is cached now, so any in-flight run's tracked cursors are moot (a fresh call\n // short-circuits to the store). Clearing bounds the set against abandoned runs.\n this.adminsAndDispatchersFreshPagingCursors.clear();\n }\n else {\n this.adminsAndDispatchersFreshPagingCursors.add(loadResult.next_page_cursor);\n }\n }\n return [2 /*return*/, __assign(__assign({}, loadResult), { users: users })];\n }\n });\n });\n };\n UsersApi.prototype.isUserGroupsCacheEnabled = function () {\n var _a;\n var featureFlags = (((_a = this.session.merchant) === null || _a === void 0 ? void 0 : _a.feature_flags) || {});\n return Boolean(featureFlags[User_consts_1.ENABLE_USER_GROUPS_CACHE_FEATURE_FLAG]);\n };\n UsersApi.prototype.isAdminsAndDispatchersCached = function () {\n return (this.userStore.isGroupInitialized(User_consts_1.UserGroupTypes.Main, User_consts_1.GROUP_VALUES.Admins) &&\n this.userStore.isGroupInitialized(User_consts_1.UserGroupTypes.Main, User_consts_1.GROUP_VALUES.Dispatchers));\n };\n // Business logic methods\n UsersApi.prototype.messageDriver = function (userId, message) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.usersService.messageDriver(userId, message)];\n });\n });\n };\n UsersApi.prototype.unlock = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.usersService.unlock(userId)];\n });\n });\n };\n UsersApi.prototype.validatePhone = function (phone) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.usersService.validatePhone(phone)];\n });\n });\n };\n UsersApi.prototype.getDriverCost = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.usersService.getDriverCost(userId)];\n });\n });\n };\n UsersApi.prototype.invite = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n var user;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.usersService.invite(userId)];\n case 1:\n user = _a.sent();\n this.storableDataService.updateInStores(user);\n return [2 /*return*/, user];\n }\n });\n });\n };\n UsersApi.prototype.closedTasks = function (userId, page) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.usersService.closedTasks(userId, page)];\n });\n });\n };\n UsersApi.prototype.assignedTasksCount = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.usersService.assignedTasksCount(userId)];\n });\n });\n };\n UsersApi.prototype.byUserType = function (userTypeId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.usersService.byUserType(userTypeId)];\n });\n });\n };\n // Store query methods - direct access to local store without API calls\n UsersApi.prototype.getGroup = function (group) {\n return this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, group);\n };\n UsersApi.prototype.getTeamGroup = function (teamId) {\n return this.userStore.getGroup('teamAndDriver', teamId);\n };\n UsersApi.prototype.get = function (id) {\n return this.userStore.get(id);\n };\n UsersApi.prototype.getMany = function (ids) {\n return this.userStore.getMany(ids);\n };\n UsersApi.prototype.getAll = function () {\n return this.userStore.getAll();\n };\n UsersApi.prototype.getOfflineDrivers = function () {\n var group = this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, User_consts_1.GROUP_VALUES.OfflineDrivers);\n return group ? Array.from(group) : [];\n };\n UsersApi.prototype.getOnlineDrivers = function () {\n var group = this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, User_consts_1.GROUP_VALUES.OnlineDrivers);\n return group ? Array.from(group) : [];\n };\n UsersApi.prototype.getAllLocalDrivers = function () {\n var group = this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, User_consts_1.GROUP_VALUES.Drivers);\n return group ? Array.from(group) : [];\n };\n UsersApi.prototype.getOnShiftDrivers = function () {\n var group = this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, User_consts_1.GROUP_VALUES.OnShiftDrivers);\n return group ? Array.from(group) : [];\n };\n // Additional callback methods\n UsersApi.prototype.onCreate = function (callback) {\n return this.storableRealtimeSubscriptions.onEvent(User_consts_1.RealtimeEvents.Create, callback);\n };\n UsersApi.prototype.onUpdate = function (callback, options) {\n return this.storableRealtimeSubscriptions.onEvent(User_consts_1.RealtimeEvents.Update, callback, options);\n };\n UsersApi.prototype.onDelete = function (callback) {\n return this.storableRealtimeSubscriptions.onEvent(User_consts_1.RealtimeEvents.Delete, callback);\n };\n return UsersApi;\n}());\nexports[\"default\"] = UsersApi;\n//# sourceMappingURL=users-api.js.map\n\n//# sourceURL=webpack://BringgDashboardSDK/./dist/User/v2/users-api.js?");
3232
+ eval("\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar lodash_1 = __webpack_require__(/*! lodash */ \"./node_modules/lodash/lodash.js\");\nvar BringgException_1 = __webpack_require__(/*! ../../Core/BringgException */ \"./dist/Core/BringgException.js\");\nvar ExceptionReason_1 = __webpack_require__(/*! ../../Core/ExceptionReason */ \"./dist/Core/ExceptionReason.js\");\nvar merge_mapper_1 = __webpack_require__(/*! ../../Data/merge-mapper */ \"./dist/Data/merge-mapper.js\");\nvar storable_realtime_subscriptions_1 = __importDefault(__webpack_require__(/*! ../../Data/storable-realtime-subscriptions */ \"./dist/Data/storable-realtime-subscriptions.js\"));\nvar data_entity_1 = __webpack_require__(/*! ../../data-entity */ \"./dist/data-entity.js\");\nvar data_store_1 = __importDefault(__webpack_require__(/*! ../../data-store */ \"./dist/data-store.js\"));\nvar storable_data_service_1 = __importDefault(__webpack_require__(/*! ../../storable-data-service */ \"./dist/storable-data-service.js\"));\nvar keyset_pagination_consts_1 = __webpack_require__(/*! ../../utils/consts/keyset-pagination.consts */ \"./dist/utils/consts/keyset-pagination.consts.js\");\nvar User_consts_1 = __webpack_require__(/*! ../User.consts */ \"./dist/User/User.consts.js\");\nvar users_service_1 = __importDefault(__webpack_require__(/*! ./users-service */ \"./dist/User/v2/users-service.js\"));\nvar UsersApi = /** @class */ (function () {\n function UsersApi(session) {\n var _this = this;\n this.session = session;\n // The next_page_cursors that continue an admins+dispatchers pagination which began at cursor=nil.\n // Server cursors are unique per run, so this stays correct across concurrent runs, and only a run\n // traceable back to a fresh start ever marks the collection cached (a mid-collection caller can't).\n this.adminsAndDispatchersFreshPagingCursors = new Set();\n var groupFilters = [\n {\n groupType: User_consts_1.UserGroupTypes.Main,\n keyFunc: function (user) { return (0, User_consts_1.userToGroupsMapper)(user); }\n },\n {\n groupType: 'teamAndDriver',\n keyFunc: function (user) { return (user.driver && user.team_ids) || []; }\n }\n ];\n this.userStore = new data_store_1.default(groupFilters, { shallow: true });\n this.usersService = new users_service_1.default(session);\n this.storableDataService = new storable_data_service_1.default(this.userStore, function (user) {\n return merge_mapper_1.mergeMapper.mergeIntoExisting(_this.userStore, user);\n });\n this.storableRealtimeSubscriptions = new storable_realtime_subscriptions_1.default(session, this.userStore, this.storableDataService);\n this.storableRealtimeSubscriptions.updateStoreOnEvents([\n {\n name: User_consts_1.RealtimeEvents.Update,\n isDelete: false,\n extraDataFunc: function (user) {\n return { skipStoreUpdate: !_this.userStore.get(user.id) };\n }\n },\n { name: User_consts_1.RealtimeEvents.Create, isDelete: false },\n { name: User_consts_1.RealtimeEvents.Delete, isDelete: true }\n ]);\n }\n UsersApi.prototype.delete = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n var response;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.storableDataService.delete('delete', function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.usersService.delete(userId)];\n case 1:\n response = _a.sent();\n return [2 /*return*/, response];\n }\n });\n }); }, userId)];\n case 1:\n _a.sent();\n return [2 /*return*/, response];\n }\n });\n });\n };\n UsersApi.prototype.deleteMany = function (userIds) {\n return __awaiter(this, void 0, void 0, function () {\n var response;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.storableDataService.deleteMany('deleteMany', function () { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.usersService.deleteMany(userIds)];\n case 1:\n response = _a.sent();\n return [2 /*return*/, response];\n }\n });\n }); }, userIds)];\n case 1:\n _a.sent();\n return [2 /*return*/, response];\n }\n });\n });\n };\n UsersApi.prototype.create = function (user) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n if ((0, lodash_1.isNil)(user.email) && (0, lodash_1.isNil)(user.phone)) {\n throw new BringgException_1.BringgException(ExceptionReason_1.ExceptionReason.INVALID_ARGUMENTS, 'Phone or Email is required');\n }\n return [2 /*return*/, this.storableDataService.modify('create', function () { return _this.usersService.create(user); })];\n });\n });\n };\n UsersApi.prototype.update = function (userId, userDelta) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storableDataService.modify('update', function () { return _this.usersService.update(userId, userDelta); }, function (modifiedUser) {\n var currentUser = _this.usersService.session.user;\n if (currentUser.id === modifiedUser.current.id) {\n _this.usersService.session.user = (0, lodash_1.merge)(currentUser, modifiedUser.current);\n _this.usersService.session.sendDataEvent(User_consts_1.UserEvents.CURRENT_USER_UPDATED, _this.usersService.session.user);\n }\n })];\n });\n });\n };\n UsersApi.prototype.load = function (userId, options) {\n if (options === void 0) { options = data_entity_1.DEFAULT_OPTIONS; }\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storableDataService.load('load', function () { return _this.usersService.get(userId); }, userId, options)];\n });\n });\n };\n UsersApi.prototype.loadMany = function (ids, options) {\n if (options === void 0) { options = { useCache: true }; }\n return __awaiter(this, void 0, void 0, function () {\n var chunkSize;\n var _this = this;\n return __generator(this, function (_a) {\n if (ids.length === 0) {\n return [2 /*return*/, []];\n }\n chunkSize = options.chunkSize || 500;\n return [2 /*return*/, this.storableDataService.loadMany('loadMany', function (idsToLoad) { return __awaiter(_this, void 0, void 0, function () {\n var users;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.usersService.loadMany({ ids: idsToLoad, limit: chunkSize, page: 1 })];\n case 1:\n users = _a.sent();\n return [2 /*return*/, users];\n }\n });\n }); }, ids, __assign(__assign({}, options), { chunkSize: chunkSize }))];\n });\n });\n };\n UsersApi.prototype.loadAllByTeam = function (teamId, options) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n return [2 /*return*/, this.storableDataService.loadAll('loadDriversByTeam', function () { return __awaiter(_this, void 0, void 0, function () {\n var users;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.usersService.loadAllByTeams(teamId)];\n case 1:\n users = _a.sent();\n return [2 /*return*/, users];\n }\n });\n }); }, __assign(__assign({}, options), { groupType: 'teamAndDriver', groupValue: teamId }))];\n });\n });\n };\n // Pagination methods\n UsersApi.prototype.loadAll = function (_a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.limit, limit = _c === void 0 ? 2500 : _c, page = _b.page, _d = _b.page_action, page_action = _d === void 0 ? keyset_pagination_consts_1.KeysetPaginationPageAction.NEXT : _d, cursor = _b.cursor, options = _b.options;\n return __awaiter(this, void 0, void 0, function () {\n var loadResult, loadFunc, users;\n var _this = this;\n return __generator(this, function (_e) {\n switch (_e.label) {\n case 0:\n loadFunc = function () { return __awaiter(_this, void 0, void 0, function () {\n var response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.usersService.loadAll({ limit: limit, page: page, page_action: page_action, cursor: cursor }, { signal: options === null || options === void 0 ? void 0 : options.signal })];\n case 1:\n response = _a.sent();\n loadResult = response;\n return [2 /*return*/, response.users];\n }\n });\n }); };\n return [4 /*yield*/, this.storableDataService.loadMany('loadAll', loadFunc, [], options)];\n case 1:\n users = _e.sent();\n return [2 /*return*/, __assign(__assign({}, loadResult), { users: users })];\n }\n });\n });\n };\n UsersApi.prototype.getAllDrivers = function (_a) {\n var _b = _a.limit, limit = _b === void 0 ? 25 : _b, _c = _a.page_action, page_action = _c === void 0 ? keyset_pagination_consts_1.KeysetPaginationPageAction.NEXT : _c, cursor = _a.cursor, options = _a.options;\n return __awaiter(this, void 0, void 0, function () {\n var optionsWithDefaults, loadResult, loadFunc, users;\n var _this = this;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n optionsWithDefaults = (0, lodash_1.defaults)(options, { onlyOnlineDriver: false, onlyCustomers: false });\n loadFunc = function () { return __awaiter(_this, void 0, void 0, function () {\n var result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.usersService.getAllDrivers({\n limit: limit,\n page_action: page_action,\n cursor: cursor,\n options: optionsWithDefaults\n })];\n case 1:\n result = _a.sent();\n loadResult = result;\n return [2 /*return*/, result.users];\n }\n });\n }); };\n return [4 /*yield*/, this.storableDataService.loadMany('getAllDrivers', loadFunc, [])];\n case 1:\n users = _d.sent();\n return [2 /*return*/, __assign(__assign({}, loadResult), { users: users })];\n }\n });\n });\n };\n UsersApi.prototype.getAllAdminsAndDispatchers = function (_a) {\n var _b = _a.limit, limit = _b === void 0 ? 25 : _b, _c = _a.page_action, page_action = _c === void 0 ? keyset_pagination_consts_1.KeysetPaginationPageAction.NEXT : _c, cursor = _a.cursor, options = _a.options;\n return __awaiter(this, void 0, void 0, function () {\n var cacheEnabled, isFreshPagingRun, loadResult, loadFunc, users;\n var _this = this;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n cacheEnabled = this.isUserGroupsCacheEnabled();\n // A fresh load (no cursor) with the collection fully paged serves the store's Admins+Dispatchers\n // groups instead of refetching. Only members already in the store surface, so a user promoted into\n // the set from another session appears on the next uncached load. skipCache forces a server round\n // trip (e.g. a refetch after a mutation) while still re-warming the store below.\n if (cacheEnabled && !(options === null || options === void 0 ? void 0 : options.skipCache) && (0, lodash_1.isNil)(cursor) && this.isAdminsAndDispatchersCached()) {\n return [2 /*return*/, {\n users: this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, [User_consts_1.GROUP_VALUES.Admins, User_consts_1.GROUP_VALUES.Dispatchers])\n }];\n }\n isFreshPagingRun = cacheEnabled && ((0, lodash_1.isNil)(cursor) || this.adminsAndDispatchersFreshPagingCursors.has(cursor));\n if (!(0, lodash_1.isNil)(cursor)) {\n this.adminsAndDispatchersFreshPagingCursors.delete(cursor);\n }\n loadFunc = function () { return __awaiter(_this, void 0, void 0, function () {\n var result;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.usersService.getAllAdminsAndDispatchers({\n limit: limit,\n page_action: page_action,\n cursor: cursor\n })];\n case 1:\n result = _a.sent();\n loadResult = result;\n return [2 /*return*/, result.users];\n }\n });\n }); };\n return [4 /*yield*/, this.storableDataService.loadMany('getAllAdminsAndDispatchers', loadFunc, [])];\n case 1:\n users = _d.sent();\n // Only a fresh run reaching its last page (no next cursor) has the whole collection in the store, so\n // only then mark it cached; otherwise track the next cursor as belonging to this fresh run.\n if (isFreshPagingRun) {\n if ((0, lodash_1.isNil)(loadResult.next_page_cursor)) {\n this.userStore.setGroupInitialized(User_consts_1.UserGroupTypes.Main, [\n User_consts_1.GROUP_VALUES.Admins,\n User_consts_1.GROUP_VALUES.Dispatchers\n ]);\n // The collection is cached now, so any in-flight run's tracked cursors are moot (a fresh call\n // short-circuits to the store). Clearing bounds the set against abandoned runs.\n this.adminsAndDispatchersFreshPagingCursors.clear();\n }\n else {\n this.adminsAndDispatchersFreshPagingCursors.add(loadResult.next_page_cursor);\n }\n }\n return [2 /*return*/, __assign(__assign({}, loadResult), { users: users })];\n }\n });\n });\n };\n UsersApi.prototype.isUserGroupsCacheEnabled = function () {\n var _a;\n var featureFlags = (((_a = this.session.merchant) === null || _a === void 0 ? void 0 : _a.feature_flags) || {});\n return Boolean(featureFlags[User_consts_1.ENABLE_USER_GROUPS_CACHE_FEATURE_FLAG]);\n };\n UsersApi.prototype.isAdminsAndDispatchersCached = function () {\n return (this.userStore.isGroupInitialized(User_consts_1.UserGroupTypes.Main, User_consts_1.GROUP_VALUES.Admins) &&\n this.userStore.isGroupInitialized(User_consts_1.UserGroupTypes.Main, User_consts_1.GROUP_VALUES.Dispatchers));\n };\n // Business logic methods\n UsersApi.prototype.messageDriver = function (userId, message) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.usersService.messageDriver(userId, message)];\n });\n });\n };\n UsersApi.prototype.unlock = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.usersService.unlock(userId)];\n });\n });\n };\n UsersApi.prototype.validatePhone = function (phone) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.usersService.validatePhone(phone)];\n });\n });\n };\n UsersApi.prototype.getDriverCost = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.usersService.getDriverCost(userId)];\n });\n });\n };\n UsersApi.prototype.gotHome = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.usersService.gotHome(userId)];\n });\n });\n };\n UsersApi.prototype.leftHome = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.usersService.leftHome(userId)];\n });\n });\n };\n UsersApi.prototype.getDriverQrToken = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.usersService.getDriverQrToken(userId)];\n });\n });\n };\n UsersApi.prototype.invite = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n var user;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.usersService.invite(userId)];\n case 1:\n user = _a.sent();\n this.storableDataService.updateInStores(user);\n return [2 /*return*/, user];\n }\n });\n });\n };\n UsersApi.prototype.closedTasks = function (userId, page) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.usersService.closedTasks(userId, page)];\n });\n });\n };\n UsersApi.prototype.assignedTasksCount = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.usersService.assignedTasksCount(userId)];\n });\n });\n };\n UsersApi.prototype.byUserType = function (userTypeId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.usersService.byUserType(userTypeId)];\n });\n });\n };\n // Store query methods - direct access to local store without API calls\n UsersApi.prototype.getGroup = function (group) {\n return this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, group);\n };\n UsersApi.prototype.getTeamGroup = function (teamId) {\n return this.userStore.getGroup('teamAndDriver', teamId);\n };\n UsersApi.prototype.get = function (id) {\n return this.userStore.get(id);\n };\n UsersApi.prototype.getMany = function (ids) {\n return this.userStore.getMany(ids);\n };\n UsersApi.prototype.getAll = function () {\n return this.userStore.getAll();\n };\n UsersApi.prototype.getOfflineDrivers = function () {\n var group = this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, User_consts_1.GROUP_VALUES.OfflineDrivers);\n return group ? Array.from(group) : [];\n };\n UsersApi.prototype.getOnlineDrivers = function () {\n var group = this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, User_consts_1.GROUP_VALUES.OnlineDrivers);\n return group ? Array.from(group) : [];\n };\n UsersApi.prototype.getAllLocalDrivers = function () {\n var group = this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, User_consts_1.GROUP_VALUES.Drivers);\n return group ? Array.from(group) : [];\n };\n UsersApi.prototype.getOnShiftDrivers = function () {\n var group = this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, User_consts_1.GROUP_VALUES.OnShiftDrivers);\n return group ? Array.from(group) : [];\n };\n // Additional callback methods\n UsersApi.prototype.onCreate = function (callback) {\n return this.storableRealtimeSubscriptions.onEvent(User_consts_1.RealtimeEvents.Create, callback);\n };\n UsersApi.prototype.onUpdate = function (callback, options) {\n return this.storableRealtimeSubscriptions.onEvent(User_consts_1.RealtimeEvents.Update, callback, options);\n };\n UsersApi.prototype.onDelete = function (callback) {\n return this.storableRealtimeSubscriptions.onEvent(User_consts_1.RealtimeEvents.Delete, callback);\n };\n return UsersApi;\n}());\nexports[\"default\"] = UsersApi;\n//# sourceMappingURL=users-api.js.map\n\n//# sourceURL=webpack://BringgDashboardSDK/./dist/User/v2/users-api.js?");
3233
3233
 
3234
3234
  /***/ }),
3235
3235
 
@@ -3240,7 +3240,7 @@ eval("\nvar __assign = (this && this.__assign) || function () {\n __assign =
3240
3240
  /***/ (function(__unused_webpack_module, exports, __webpack_require__) {
3241
3241
 
3242
3242
  "use strict";
3243
- eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar types_1 = __webpack_require__(/*! @bringg/types */ \"./node_modules/@bringg/types/index.js\");\nvar CrudService_1 = __importDefault(__webpack_require__(/*! ../../Core/CrudService */ \"./dist/Core/CrudService.js\"));\nvar User_consts_1 = __webpack_require__(/*! ../User.consts */ \"./dist/User/User.consts.js\");\nvar UsersService = /** @class */ (function () {\n function UsersService(session) {\n this.service = new CrudService_1.default(session, 'users');\n }\n Object.defineProperty(UsersService.prototype, \"session\", {\n get: function () {\n return this.service.session;\n },\n enumerable: false,\n configurable: true\n });\n UsersService.prototype.delete = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.delete(userId)];\n });\n });\n };\n UsersService.prototype.deleteMany = function (userIds) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .delete(User_consts_1.ROUTES.DELETE_MANY)\n .withPayload({ ids: userIds })\n .withExtractor(function (response) { return response; })\n .setException('Could not delete users')\n .invoke()];\n });\n });\n };\n UsersService.prototype.closedTasks = function (userId, page) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .get(User_consts_1.ROUTES.CLOSED_TASKS)\n .withRouteParams({ userId: userId })\n .withQueryString({ page: page })\n .withExtractor(function (response) { return response; })\n .setException(\"Could not get closed tasks for user \".concat(userId))\n .invoke()];\n });\n });\n };\n UsersService.prototype.assignedTasksCount = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .get(User_consts_1.ROUTES.TOTAL_TASKS)\n .withRouteParams({ userId: userId })\n .withExtractor(function (response) { return response.count; })\n .setException(\"Could not get assigned tasks count for user \".concat(userId))\n .invoke()];\n });\n });\n };\n UsersService.prototype.create = function (user) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.create(user).then(function (response) { return response.user; })];\n });\n });\n };\n UsersService.prototype.update = function (userId, userDelta) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.update(userId, userDelta).then(function (response) { return response.user; })];\n });\n });\n };\n UsersService.prototype.get = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.get(userId).then(function (user) { return user; })];\n });\n });\n };\n UsersService.prototype.loadAll = function (request, commonOptions) {\n return __awaiter(this, void 0, void 0, function () {\n var limit, page_action, cursor;\n return __generator(this, function (_a) {\n limit = request.limit, page_action = request.page_action, cursor = request.cursor;\n return [2 /*return*/, this.service.routeGenerator\n .get(User_consts_1.ROUTES.GET_ALL)\n .withQueryString({ pgver: types_1.KEYSET_PAGINATION_VER, limit: limit, page_action: page_action, cursor: cursor })\n .withExtractor(function (response) { return ({\n next_page_cursor: response.next_page_cursor,\n previous_page_cursor: response.previous_page_cursor,\n users: response.users\n }); })\n .setException('Could not get users')\n .withCommonOptions(commonOptions)\n .invoke()];\n });\n });\n };\n UsersService.prototype.loadMany = function (query, commonOptions) {\n if (query === void 0) { query = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .get(User_consts_1.ROUTES.GET_ALL)\n .withQueryString(query)\n .withExtractor(function (response) { return response.users; })\n .setException('Could not get users by ids')\n .withCommonOptions(commonOptions)\n .invoke()];\n });\n });\n };\n UsersService.prototype.loadAllByTeams = function (teamId, commonOptions) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .get(User_consts_1.ROUTES.GET_DRIVERS_BY_TEAM)\n .withRouteParams({ teamId: teamId })\n .setException(\"failed to get teams drivers for team \".concat(teamId))\n .withCommonOptions(commonOptions)\n .invoke()];\n });\n });\n };\n /**\n * Generic method for keyset pagination with optional scoping\n */\n UsersService.prototype.getAllUsersWithKeysetPagination = function (request, scopes, exceptionMessage) {\n if (scopes === void 0) { scopes = []; }\n if (exceptionMessage === void 0) { exceptionMessage = 'Could not get users'; }\n return __awaiter(this, void 0, void 0, function () {\n var limit, page_action, cursor, options, queryParams;\n return __generator(this, function (_a) {\n limit = request.limit, page_action = request.page_action, cursor = request.cursor, options = request.options;\n // Add driver-specific scopes if options are provided\n if (options) {\n if (options.onlyCustomers) {\n scopes.push(User_consts_1.UsersScopes.CUSTOMERS);\n }\n else if (!scopes.includes(User_consts_1.UsersScopes.ADMINS) && !scopes.includes(User_consts_1.UsersScopes.DISPATCHERS)) {\n // Only add DRIVERS scope if we're not already dealing with admins/dispatchers\n scopes.push(User_consts_1.UsersScopes.DRIVERS);\n }\n if (options.onlyOnlineDriver) {\n scopes.push(User_consts_1.UsersScopes.MARKED_AS_ONLINE);\n }\n }\n queryParams = { pgver: '2', limit: limit, page_action: page_action, cursor: cursor };\n if (scopes.length > 0) {\n queryParams.scopes = scopes;\n }\n return [2 /*return*/, this.service.routeGenerator\n .get(User_consts_1.ROUTES.GET_ALL)\n .withQueryString(queryParams)\n .withExtractor(function (response) { return ({\n next_page_cursor: response.next_page_cursor,\n previous_page_cursor: response.previous_page_cursor,\n users: response.users\n }); })\n .setException(exceptionMessage)\n .invoke()];\n });\n });\n };\n UsersService.prototype.getAllDrivers = function (request) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.getAllUsersWithKeysetPagination(request, [], 'Could not get all drivers')];\n });\n });\n };\n UsersService.prototype.getAllAdminsAndDispatchers = function (request) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.getAllUsersWithKeysetPagination(request, [User_consts_1.UsersScopes.DISPATCHERS, User_consts_1.UsersScopes.ADMINS], 'Could not get all admins and dispatchers')];\n });\n });\n };\n UsersService.prototype.unlock = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .post(User_consts_1.ROUTES.UNLOCK)\n .withRouteParams({ userId: userId })\n .withExtractor(User_consts_1.successExtractor)\n .setException(\"Could not unlock user with id: \".concat(userId))\n .invoke()];\n });\n });\n };\n UsersService.prototype.validatePhone = function (phone) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .get(User_consts_1.ROUTES.VALIDATE_PHONE)\n .withQueryString({ phone: phone })\n .withExtractor(function (response) { return response.phone_valid; })\n .setException(\"Phone is not valid: \".concat(phone))\n .invoke()];\n });\n });\n };\n UsersService.prototype.messageDriver = function (userId, message) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .put(User_consts_1.ROUTES.MESSAGE_DRIVER)\n .withRouteParams({ userId: userId })\n .withPayload({ user_id: userId, message: message })\n .withExtractor(function (response) { return response.announcement_id; })\n .setException(\"Could not message to user \".concat(userId))\n .invoke()];\n });\n });\n };\n UsersService.prototype.getDriverCost = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .get(User_consts_1.ROUTES.DRIVER_COST)\n .withRouteParams({ userId: userId })\n .withExtractor(function (response) { return response; })\n .setException(\"Could not get driver cost for user \".concat(userId))\n .invoke()];\n });\n });\n };\n UsersService.prototype.byUserType = function (userTypeId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .get(User_consts_1.ROUTES.GET_USERS_WITH_USER_TYPE)\n .withRouteParams({ userTypeId: userTypeId })\n .withExtractor(function (response) { return response.users; })\n .setException(\"Could not get users with user type \".concat(userTypeId))\n .invoke()];\n });\n });\n };\n UsersService.prototype.invite = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .post(User_consts_1.ROUTES.INVITE)\n .withRouteParams({ userId: userId })\n .withExtractor(function (response) { return response.user; })\n .setException(\"Could not invite user with id: \".concat(userId))\n .invoke()];\n });\n });\n };\n return UsersService;\n}());\nexports[\"default\"] = UsersService;\n//# sourceMappingURL=users-service.js.map\n\n//# sourceURL=webpack://BringgDashboardSDK/./dist/User/v2/users-service.js?");
3243
+ eval("\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __importDefault = (this && this.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(exports, \"__esModule\", ({ value: true }));\nvar types_1 = __webpack_require__(/*! @bringg/types */ \"./node_modules/@bringg/types/index.js\");\nvar CrudService_1 = __importDefault(__webpack_require__(/*! ../../Core/CrudService */ \"./dist/Core/CrudService.js\"));\nvar User_consts_1 = __webpack_require__(/*! ../User.consts */ \"./dist/User/User.consts.js\");\nvar UsersService = /** @class */ (function () {\n function UsersService(session) {\n this.service = new CrudService_1.default(session, 'users');\n }\n Object.defineProperty(UsersService.prototype, \"session\", {\n get: function () {\n return this.service.session;\n },\n enumerable: false,\n configurable: true\n });\n UsersService.prototype.delete = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.delete(userId)];\n });\n });\n };\n UsersService.prototype.deleteMany = function (userIds) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .delete(User_consts_1.ROUTES.DELETE_MANY)\n .withPayload({ ids: userIds })\n .withExtractor(function (response) { return response; })\n .setException('Could not delete users')\n .invoke()];\n });\n });\n };\n UsersService.prototype.closedTasks = function (userId, page) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .get(User_consts_1.ROUTES.CLOSED_TASKS)\n .withRouteParams({ userId: userId })\n .withQueryString({ page: page })\n .withExtractor(function (response) { return response; })\n .setException(\"Could not get closed tasks for user \".concat(userId))\n .invoke()];\n });\n });\n };\n UsersService.prototype.assignedTasksCount = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .get(User_consts_1.ROUTES.TOTAL_TASKS)\n .withRouteParams({ userId: userId })\n .withExtractor(function (response) { return response.count; })\n .setException(\"Could not get assigned tasks count for user \".concat(userId))\n .invoke()];\n });\n });\n };\n UsersService.prototype.create = function (user) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.create(user).then(function (response) { return response.user; })];\n });\n });\n };\n UsersService.prototype.update = function (userId, userDelta) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.update(userId, userDelta).then(function (response) { return response.user; })];\n });\n });\n };\n UsersService.prototype.get = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.get(userId).then(function (user) { return user; })];\n });\n });\n };\n UsersService.prototype.loadAll = function (request, commonOptions) {\n return __awaiter(this, void 0, void 0, function () {\n var limit, page_action, cursor;\n return __generator(this, function (_a) {\n limit = request.limit, page_action = request.page_action, cursor = request.cursor;\n return [2 /*return*/, this.service.routeGenerator\n .get(User_consts_1.ROUTES.GET_ALL)\n .withQueryString({ pgver: types_1.KEYSET_PAGINATION_VER, limit: limit, page_action: page_action, cursor: cursor })\n .withExtractor(function (response) { return ({\n next_page_cursor: response.next_page_cursor,\n previous_page_cursor: response.previous_page_cursor,\n users: response.users\n }); })\n .setException('Could not get users')\n .withCommonOptions(commonOptions)\n .invoke()];\n });\n });\n };\n UsersService.prototype.loadMany = function (query, commonOptions) {\n if (query === void 0) { query = {}; }\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .get(User_consts_1.ROUTES.GET_ALL)\n .withQueryString(query)\n .withExtractor(function (response) { return response.users; })\n .setException('Could not get users by ids')\n .withCommonOptions(commonOptions)\n .invoke()];\n });\n });\n };\n UsersService.prototype.loadAllByTeams = function (teamId, commonOptions) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .get(User_consts_1.ROUTES.GET_DRIVERS_BY_TEAM)\n .withRouteParams({ teamId: teamId })\n .setException(\"failed to get teams drivers for team \".concat(teamId))\n .withCommonOptions(commonOptions)\n .invoke()];\n });\n });\n };\n /**\n * Generic method for keyset pagination with optional scoping\n */\n UsersService.prototype.getAllUsersWithKeysetPagination = function (request, scopes, exceptionMessage) {\n if (scopes === void 0) { scopes = []; }\n if (exceptionMessage === void 0) { exceptionMessage = 'Could not get users'; }\n return __awaiter(this, void 0, void 0, function () {\n var limit, page_action, cursor, options, queryParams;\n return __generator(this, function (_a) {\n limit = request.limit, page_action = request.page_action, cursor = request.cursor, options = request.options;\n // Add driver-specific scopes if options are provided\n if (options) {\n if (options.onlyCustomers) {\n scopes.push(User_consts_1.UsersScopes.CUSTOMERS);\n }\n else if (!scopes.includes(User_consts_1.UsersScopes.ADMINS) && !scopes.includes(User_consts_1.UsersScopes.DISPATCHERS)) {\n // Only add DRIVERS scope if we're not already dealing with admins/dispatchers\n scopes.push(User_consts_1.UsersScopes.DRIVERS);\n }\n if (options.onlyOnlineDriver) {\n scopes.push(User_consts_1.UsersScopes.MARKED_AS_ONLINE);\n }\n }\n queryParams = { pgver: '2', limit: limit, page_action: page_action, cursor: cursor };\n if (scopes.length > 0) {\n queryParams.scopes = scopes;\n }\n return [2 /*return*/, this.service.routeGenerator\n .get(User_consts_1.ROUTES.GET_ALL)\n .withQueryString(queryParams)\n .withExtractor(function (response) { return ({\n next_page_cursor: response.next_page_cursor,\n previous_page_cursor: response.previous_page_cursor,\n users: response.users\n }); })\n .setException(exceptionMessage)\n .invoke()];\n });\n });\n };\n UsersService.prototype.getAllDrivers = function (request) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.getAllUsersWithKeysetPagination(request, [], 'Could not get all drivers')];\n });\n });\n };\n UsersService.prototype.getAllAdminsAndDispatchers = function (request) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.getAllUsersWithKeysetPagination(request, [User_consts_1.UsersScopes.DISPATCHERS, User_consts_1.UsersScopes.ADMINS], 'Could not get all admins and dispatchers')];\n });\n });\n };\n UsersService.prototype.unlock = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .post(User_consts_1.ROUTES.UNLOCK)\n .withRouteParams({ userId: userId })\n .withExtractor(User_consts_1.successExtractor)\n .setException(\"Could not unlock user with id: \".concat(userId))\n .invoke()];\n });\n });\n };\n UsersService.prototype.validatePhone = function (phone) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .get(User_consts_1.ROUTES.VALIDATE_PHONE)\n .withQueryString({ phone: phone })\n .withExtractor(function (response) { return response.phone_valid; })\n .setException(\"Phone is not valid: \".concat(phone))\n .invoke()];\n });\n });\n };\n UsersService.prototype.messageDriver = function (userId, message) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .put(User_consts_1.ROUTES.MESSAGE_DRIVER)\n .withRouteParams({ userId: userId })\n .withPayload({ user_id: userId, message: message })\n .withExtractor(function (response) { return response.announcement_id; })\n .setException(\"Could not message to user \".concat(userId))\n .invoke()];\n });\n });\n };\n UsersService.prototype.getDriverCost = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .get(User_consts_1.ROUTES.DRIVER_COST)\n .withRouteParams({ userId: userId })\n .withExtractor(function (response) { return response; })\n .setException(\"Could not get driver cost for user \".concat(userId))\n .invoke()];\n });\n });\n };\n UsersService.prototype.byUserType = function (userTypeId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .get(User_consts_1.ROUTES.GET_USERS_WITH_USER_TYPE)\n .withRouteParams({ userTypeId: userTypeId })\n .withExtractor(function (response) { return response.users; })\n .setException(\"Could not get users with user type \".concat(userTypeId))\n .invoke()];\n });\n });\n };\n UsersService.prototype.invite = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .post(User_consts_1.ROUTES.INVITE)\n .withRouteParams({ userId: userId })\n .withExtractor(function (response) { return response.user; })\n .setException(\"Could not invite user with id: \".concat(userId))\n .invoke()];\n });\n });\n };\n UsersService.prototype.gotHome = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .post(User_consts_1.ROUTES.GOT_HOME)\n .withRouteParams({ userId: userId })\n .withExtractor(User_consts_1.successExtractor)\n .setException(\"Could not mark user \".concat(userId, \" as at home\"))\n .invoke()];\n });\n });\n };\n UsersService.prototype.leftHome = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .post(User_consts_1.ROUTES.LEFT_HOME)\n .withRouteParams({ userId: userId })\n .withExtractor(User_consts_1.successExtractor)\n .setException(\"Could not mark user \".concat(userId, \" as away from home\"))\n .invoke()];\n });\n });\n };\n UsersService.prototype.getDriverQrToken = function (userId) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this.service.routeGenerator\n .get(User_consts_1.ROUTES.DRIVER_QR_TOKEN)\n .withQueryString({ user_id: userId })\n .setException(\"Could not generate a QR login token for user \".concat(userId))\n .invoke()];\n });\n });\n };\n return UsersService;\n}());\nexports[\"default\"] = UsersService;\n//# sourceMappingURL=users-service.js.map\n\n//# sourceURL=webpack://BringgDashboardSDK/./dist/User/v2/users-service.js?");
3244
3244
 
3245
3245
  /***/ }),
3246
3246