@bringg/dashboard-sdk 9.51.0-pre.11 → 9.51.0-pre.2

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.
Files changed (38) hide show
  1. package/dist/MerchantConfiguration/MerchantConfiguration.consts.js +2 -1
  2. package/dist/MerchantConfiguration/MerchantConfiguration.consts.js.map +1 -1
  3. package/dist/OptimizationResult/optimization-result-service.js +2 -0
  4. package/dist/OptimizationResult/optimization-result-service.js.map +1 -1
  5. package/dist/RouteOptimization/RouteOptimization.consts.d.ts +1 -0
  6. package/dist/RouteOptimization/RouteOptimization.consts.js.map +1 -1
  7. package/dist/ServiceArea/v2/service-area-api.d.ts +2 -1
  8. package/dist/ServiceArea/v2/service-area-api.js +13 -0
  9. package/dist/ServiceArea/v2/service-area-api.js.map +1 -1
  10. package/dist/ServiceArea/v2/service-area-service.d.ts +4 -1
  11. package/dist/ServiceArea/v2/service-area-service.js +7 -0
  12. package/dist/ServiceArea/v2/service-area-service.js.map +1 -1
  13. package/dist/ServiceArea/v2/service-area.consts.d.ts +5 -0
  14. package/dist/ServiceArea/v2/service-area.consts.js.map +1 -1
  15. package/dist/Services/ServiceRequest.js +1 -1
  16. package/dist/Services/SessionBasedService.js +1 -6
  17. package/dist/Services/SessionBasedService.js.map +1 -1
  18. package/dist/User/Service/UsersService.d.ts +4 -4
  19. package/dist/User/Store/UsersStore.d.ts +3 -3
  20. package/dist/User/User.consts.d.ts +22 -4
  21. package/dist/User/User.consts.js +9 -3
  22. package/dist/User/User.consts.js.map +1 -1
  23. package/dist/User/Users.d.ts +3 -3
  24. package/dist/User/v2/users-api.d.ts +24 -5
  25. package/dist/User/v2/users-api.js +213 -29
  26. package/dist/User/v2/users-api.js.map +1 -1
  27. package/dist/User/v2/users-service.d.ts +24 -4
  28. package/dist/User/v2/users-service.js +145 -11
  29. package/dist/User/v2/users-service.js.map +1 -1
  30. package/dist/bringg-dashboard-sdk-cjs2.js +439 -56
  31. package/dist/bringg-dashboard-sdk-cjs2.js.map +1 -1
  32. package/dist/bringg-dashboard-sdk.js +33 -22
  33. package/dist/bringg-dashboard-sdk.min.js +1 -1
  34. package/dist/bringg-dashboard-sdk.min.js.map +1 -1
  35. package/dist/index.d.ts +1 -0
  36. package/dist/index.js +4 -1
  37. package/dist/index.js.map +1 -1
  38. package/package.json +2 -2
@@ -50,23 +50,50 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
50
50
  return (mod && mod.__esModule) ? mod : { "default": mod };
51
51
  };
52
52
  Object.defineProperty(exports, "__esModule", { value: true });
53
+ var lodash_1 = require("lodash");
54
+ var BringgException_1 = require("../../Core/BringgException");
55
+ var ExceptionReason_1 = require("../../Core/ExceptionReason");
53
56
  var merge_mapper_1 = require("../../Data/merge-mapper");
54
57
  var storable_realtime_subscriptions_1 = __importDefault(require("../../Data/storable-realtime-subscriptions"));
58
+ var data_entity_1 = require("../../data-entity");
55
59
  var data_store_1 = __importDefault(require("../../data-store"));
56
60
  var storable_data_service_1 = __importDefault(require("../../storable-data-service"));
61
+ var keyset_pagination_consts_1 = require("../../utils/consts/keyset-pagination.consts");
57
62
  var User_consts_1 = require("../User.consts");
58
63
  var users_service_1 = __importDefault(require("./users-service"));
59
64
  var UsersApi = /** @class */ (function () {
60
65
  function UsersApi(session) {
61
66
  var _this = this;
62
- this.userStore = new data_store_1.default(undefined, { shallow: true });
67
+ var groupFilters = [
68
+ {
69
+ groupType: User_consts_1.UserGroupTypes.Main,
70
+ keyFunc: function (user) { return (0, User_consts_1.userToGroupsMapper)(user); }
71
+ },
72
+ {
73
+ groupType: 'team',
74
+ keyFunc: function (user) { return user.team_ids || []; }
75
+ }
76
+ ];
77
+ this.userStore = new data_store_1.default(groupFilters, { shallow: true });
63
78
  this.usersService = new users_service_1.default(session);
64
79
  this.storableDataService = new storable_data_service_1.default(this.userStore, function (user) {
65
80
  return merge_mapper_1.mergeMapper.mergeIntoExisting(_this.userStore, user);
66
81
  });
67
82
  this.storableRealtimeSubscriptions = new storable_realtime_subscriptions_1.default(session, this.userStore, this.storableDataService);
68
- this.storableRealtimeSubscriptions.updateStoreOnEvents([{ name: User_consts_1.RealtimeEvents.Update, isDelete: false }]);
83
+ this.storableRealtimeSubscriptions.updateStoreOnEvents([
84
+ { name: User_consts_1.RealtimeEvents.Update, isDelete: false },
85
+ { name: User_consts_1.RealtimeEvents.Create, isDelete: false },
86
+ { name: User_consts_1.RealtimeEvents.Delete, isDelete: true }
87
+ ]);
69
88
  }
89
+ // public updateStoreOnEvents() {
90
+ // // This mirrors the pattern from TasksApi and other v2 APIs
91
+ // this.storableRealtimeSubscriptions.updateStoreOnEvents([
92
+ // { name: RealtimeEvents.Update, isDelete: false },
93
+ // { name: RealtimeEvents.Create, isDelete: false },
94
+ // { name: RealtimeEvents.Delete, isDelete: true }
95
+ // ]);
96
+ // }
70
97
  UsersApi.prototype.delete = function (userId) {
71
98
  return __awaiter(this, void 0, void 0, function () {
72
99
  var response;
@@ -90,69 +117,226 @@ var UsersApi = /** @class */ (function () {
90
117
  });
91
118
  });
92
119
  };
93
- UsersApi.prototype.loadAll = function (options) {
94
- var _this = this;
95
- return this.storableDataService.loadAll('loadAll', function () { return __awaiter(_this, void 0, void 0, function () {
120
+ UsersApi.prototype.deleteMany = function (userIds) {
121
+ return __awaiter(this, void 0, void 0, function () {
96
122
  var response;
123
+ var _this = this;
97
124
  return __generator(this, function (_a) {
98
125
  switch (_a.label) {
99
- case 0: return [4 /*yield*/, this.usersService.loadAll({}, options)];
126
+ case 0: return [4 /*yield*/, this.storableDataService.deleteMany('deleteMany', function () { return __awaiter(_this, void 0, void 0, function () {
127
+ return __generator(this, function (_a) {
128
+ switch (_a.label) {
129
+ case 0: return [4 /*yield*/, this.usersService.deleteMany(userIds)];
130
+ case 1:
131
+ response = _a.sent();
132
+ return [2 /*return*/, response];
133
+ }
134
+ });
135
+ }); }, userIds)];
100
136
  case 1:
101
- response = _a.sent();
102
- return [2 /*return*/, response.users];
137
+ _a.sent();
138
+ return [2 /*return*/, response];
103
139
  }
104
140
  });
105
- }); }, options);
141
+ });
106
142
  };
107
- UsersApi.prototype.getGroup = function (group) {
108
- return this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, group);
143
+ UsersApi.prototype.create = function (user) {
144
+ return __awaiter(this, void 0, void 0, function () {
145
+ var _this = this;
146
+ return __generator(this, function (_a) {
147
+ if ((0, lodash_1.isNil)(user.email) && (0, lodash_1.isNil)(user.phone)) {
148
+ throw new BringgException_1.BringgException(ExceptionReason_1.ExceptionReason.INVALID_ARGUMENTS, 'Phone or Email is required');
149
+ }
150
+ return [2 /*return*/, this.storableDataService.modify('create', function () { return _this.usersService.create(user); })];
151
+ });
152
+ });
109
153
  };
110
- UsersApi.prototype.get = function (id) {
111
- return this.userStore.get(id);
154
+ UsersApi.prototype.update = function (userId, userDelta) {
155
+ return __awaiter(this, void 0, void 0, function () {
156
+ var _this = this;
157
+ return __generator(this, function (_a) {
158
+ return [2 /*return*/, this.storableDataService.modify('update', function () { return _this.usersService.update(userId, userDelta); }, function (modifiedUser) {
159
+ var currentUser = _this.usersService.session.user;
160
+ if (currentUser.id === modifiedUser.current.id) {
161
+ _this.usersService.session.user = (0, lodash_1.merge)(currentUser, modifiedUser.current);
162
+ _this.usersService.session.sendDataEvent(User_consts_1.UserEvents.CURRENT_USER_UPDATED, _this.usersService.session.user);
163
+ }
164
+ })];
165
+ });
166
+ });
112
167
  };
113
- UsersApi.prototype.getMany = function (ids) {
114
- return this.userStore.getMany(ids);
168
+ UsersApi.prototype.load = function (userId, options) {
169
+ if (options === void 0) { options = data_entity_1.DEFAULT_OPTIONS; }
170
+ return __awaiter(this, void 0, void 0, function () {
171
+ var _this = this;
172
+ return __generator(this, function (_a) {
173
+ return [2 /*return*/, this.storableDataService.load('load', function () { return _this.usersService.get(userId); }, userId, options)];
174
+ });
175
+ });
115
176
  };
116
177
  UsersApi.prototype.loadMany = function (ids, options) {
117
178
  if (options === void 0) { options = { useCache: true }; }
118
179
  return __awaiter(this, void 0, void 0, function () {
180
+ var chunkSize;
119
181
  var _this = this;
120
182
  return __generator(this, function (_a) {
121
- // If no IDs provided, return empty array without making API call
122
183
  if (ids.length === 0) {
123
184
  return [2 /*return*/, []];
124
185
  }
186
+ chunkSize = options.chunkSize || 500;
125
187
  return [2 /*return*/, this.storableDataService.loadMany('loadMany', function (idsToLoad) { return __awaiter(_this, void 0, void 0, function () {
188
+ var users;
189
+ return __generator(this, function (_a) {
190
+ switch (_a.label) {
191
+ case 0: return [4 /*yield*/, this.usersService.loadMany({ ids: idsToLoad, limit: chunkSize })];
192
+ case 1:
193
+ users = _a.sent();
194
+ return [2 /*return*/, users];
195
+ }
196
+ });
197
+ }); }, ids, __assign(__assign({}, options), { chunkSize: chunkSize }))];
198
+ });
199
+ });
200
+ };
201
+ UsersApi.prototype.loadAllByTeam = function (teamId, options) {
202
+ return __awaiter(this, void 0, void 0, function () {
203
+ var _this = this;
204
+ return __generator(this, function (_a) {
205
+ return [2 /*return*/, this.storableDataService.loadAll('loadDriversByTeam', function () { return __awaiter(_this, void 0, void 0, function () {
206
+ var users;
207
+ return __generator(this, function (_a) {
208
+ switch (_a.label) {
209
+ case 0: return [4 /*yield*/, this.usersService.loadAllByTeams(teamId)];
210
+ case 1:
211
+ users = _a.sent();
212
+ return [2 /*return*/, users];
213
+ }
214
+ });
215
+ }); }, __assign(__assign({}, options), { groupType: 'team', groupValue: teamId }))];
216
+ });
217
+ });
218
+ };
219
+ // Pagination methods
220
+ UsersApi.prototype.loadAll = function (options) {
221
+ return __awaiter(this, void 0, void 0, function () {
222
+ var _this = this;
223
+ return __generator(this, function (_a) {
224
+ return [2 /*return*/, this.storableDataService.loadAll('loadAll', function () { return __awaiter(_this, void 0, void 0, function () {
126
225
  var response;
127
226
  return __generator(this, function (_a) {
128
227
  switch (_a.label) {
129
- case 0: return [4 /*yield*/, this.usersService.loadAll({ ids: idsToLoad })];
228
+ case 0: return [4 /*yield*/, this.usersService.loadAll({}, { signal: options === null || options === void 0 ? void 0 : options.signal })];
130
229
  case 1:
131
230
  response = _a.sent();
132
231
  return [2 /*return*/, response.users];
133
232
  }
134
233
  });
135
- }); }, ids, __assign(__assign({}, options), { chunkSize: options.chunkSize || 500 }))];
234
+ }); }, options)];
136
235
  });
137
236
  });
138
237
  };
139
- UsersApi.prototype.onUpdate = function (callback) {
140
- return this.storableRealtimeSubscriptions.onEvent(User_consts_1.RealtimeEvents.Update, callback);
141
- };
142
- UsersApi.prototype.loadDriversByTeam = function (teamId) {
238
+ UsersApi.prototype.getAllDrivers = function (_a) {
239
+ 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;
143
240
  return __awaiter(this, void 0, void 0, function () {
144
- var users;
145
- return __generator(this, function (_a) {
146
- switch (_a.label) {
147
- case 0: return [4 /*yield*/, this.usersService.loadAllByTeams(teamId)];
241
+ var optionsWithDefaults, loadResult;
242
+ var _this = this;
243
+ return __generator(this, function (_d) {
244
+ switch (_d.label) {
245
+ case 0:
246
+ optionsWithDefaults = (0, lodash_1.defaults)(options, { onlyOnlineDriver: false, onlyCustomers: false });
247
+ return [4 /*yield*/, this.storableDataService.loadAll('getAllDrivers', function () { return __awaiter(_this, void 0, void 0, function () {
248
+ var result;
249
+ return __generator(this, function (_a) {
250
+ switch (_a.label) {
251
+ case 0: return [4 /*yield*/, this.usersService.getAllDrivers({
252
+ limit: limit,
253
+ page_action: page_action,
254
+ cursor: cursor,
255
+ options: optionsWithDefaults
256
+ })];
257
+ case 1:
258
+ result = _a.sent();
259
+ loadResult = result;
260
+ return [2 /*return*/, result.users];
261
+ }
262
+ });
263
+ }); }, {
264
+ useCache: true,
265
+ // Group drivers appropriately based on options
266
+ groupType: User_consts_1.UserGroupTypes.Main,
267
+ groupValue: optionsWithDefaults.onlyCustomers ? User_consts_1.GROUP_VALUES.Customers : User_consts_1.GROUP_VALUES.Drivers
268
+ })];
148
269
  case 1:
149
- users = _a.sent();
150
- this.storableDataService.updateManyInStores(users);
151
- return [2 /*return*/, users];
270
+ _d.sent();
271
+ return [2 /*return*/, __assign(__assign({}, loadResult), { users: loadResult.users.map(function (user) { return _this.userStore.get(user.id); }) })];
152
272
  }
153
273
  });
154
274
  });
155
275
  };
276
+ // Business logic methods
277
+ UsersApi.prototype.messageDriver = function (userId, message) {
278
+ return __awaiter(this, void 0, void 0, function () {
279
+ return __generator(this, function (_a) {
280
+ return [2 /*return*/, this.usersService.messageDriver(userId, message)];
281
+ });
282
+ });
283
+ };
284
+ UsersApi.prototype.unlock = function (userId) {
285
+ return __awaiter(this, void 0, void 0, function () {
286
+ return __generator(this, function (_a) {
287
+ return [2 /*return*/, this.usersService.unlock(userId)];
288
+ });
289
+ });
290
+ };
291
+ UsersApi.prototype.validatePhone = function (phone) {
292
+ return __awaiter(this, void 0, void 0, function () {
293
+ return __generator(this, function (_a) {
294
+ return [2 /*return*/, this.usersService.validatePhone(phone)];
295
+ });
296
+ });
297
+ };
298
+ // Store query methods - direct access to local store without API calls
299
+ UsersApi.prototype.getGroup = function (group) {
300
+ return this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, group);
301
+ };
302
+ UsersApi.prototype.getTeamGroup = function (teamId) {
303
+ return this.userStore.getGroup('team', teamId);
304
+ };
305
+ UsersApi.prototype.get = function (id) {
306
+ return this.userStore.get(id);
307
+ };
308
+ UsersApi.prototype.getMany = function (ids) {
309
+ return this.userStore.getMany(ids);
310
+ };
311
+ UsersApi.prototype.getAll = function () {
312
+ return this.userStore.getAll();
313
+ };
314
+ UsersApi.prototype.getOfflineDrivers = function () {
315
+ var group = this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, User_consts_1.GROUP_VALUES.OfflineDrivers);
316
+ return group ? Array.from(group) : [];
317
+ };
318
+ UsersApi.prototype.getOnlineDrivers = function () {
319
+ var group = this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, User_consts_1.GROUP_VALUES.OnlineDrivers);
320
+ return group ? Array.from(group) : [];
321
+ };
322
+ UsersApi.prototype.getAllLocalDrivers = function () {
323
+ var group = this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, User_consts_1.GROUP_VALUES.Drivers);
324
+ return group ? Array.from(group) : [];
325
+ };
326
+ UsersApi.prototype.getOnShiftDrivers = function () {
327
+ var group = this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, User_consts_1.GROUP_VALUES.OnShiftDrivers);
328
+ return group ? Array.from(group) : [];
329
+ };
330
+ // Additional callback methods
331
+ UsersApi.prototype.onCreate = function (callback) {
332
+ return this.storableRealtimeSubscriptions.onEvent(User_consts_1.RealtimeEvents.Create, callback);
333
+ };
334
+ UsersApi.prototype.onUpdate = function (callback) {
335
+ return this.storableRealtimeSubscriptions.onEvent(User_consts_1.RealtimeEvents.Update, callback);
336
+ };
337
+ UsersApi.prototype.onDelete = function (callback) {
338
+ return this.storableRealtimeSubscriptions.onEvent(User_consts_1.RealtimeEvents.Delete, callback);
339
+ };
156
340
  return UsersApi;
157
341
  }());
158
342
  exports.default = UsersApi;
@@ -1 +1 @@
1
- {"version":3,"file":"users-api.js","sourceRoot":"","sources":["../../../src/User/v2/users-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"users-api.js","sourceRoot":"","sources":["../../../src/User/v2/users-api.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,35 @@
1
- import { User } from '@bringg/types';
1
+ import { Driver, User } from '@bringg/types';
2
2
  import { CommonOptions } from '../../Core/RouteGenerator';
3
3
  import Session from '../../Services/Identity/Session';
4
- import { AllUsersRepsonse } from '../User.consts';
4
+ import { KeysetPaginationRequest } from '../../utils/consts/keyset-pagination.consts';
5
+ import { AllDriversResponse, AllUsersResponse, DeleteManyResponse } from '../User.consts';
6
+ import { GetAllDriversOptions } from '../Users';
5
7
  export default class UsersService {
6
8
  private readonly service;
7
9
  constructor(session: Session);
10
+ get session(): Session;
8
11
  delete(userId: number): Promise<import("../../Core/CrudService").DELETE_RESPONSE>;
12
+ deleteMany(userIds: number[]): Promise<DeleteManyResponse>;
13
+ create(user: Partial<User>): Promise<User>;
14
+ update(userId: number, userDelta: Partial<User>): Promise<User>;
15
+ get(userId: number): Promise<User>;
9
16
  loadAll(query?: {
10
17
  ids?: number[];
11
18
  page?: number;
12
19
  limit?: number;
13
- }, commonOptions?: CommonOptions): Promise<AllUsersRepsonse>;
14
- loadAllByTeams(teamId: number, commonOptions?: CommonOptions): Promise<User[]>;
20
+ }, commonOptions?: CommonOptions): Promise<AllUsersResponse>;
21
+ loadMany(query?: {
22
+ ids?: number[];
23
+ page?: number;
24
+ limit?: number;
25
+ }, commonOptions?: CommonOptions): Promise<User[]>;
26
+ loadAllByTeams(teamId: number, commonOptions?: CommonOptions): Promise<Driver[]>;
27
+ /**
28
+ * Generic method for keyset pagination with optional scoping
29
+ */
30
+ private getAllUsersWithKeysetPagination;
31
+ getAllDrivers(request: KeysetPaginationRequest<GetAllDriversOptions>): Promise<AllDriversResponse>;
32
+ unlock(userId: number): Promise<boolean>;
33
+ validatePhone(phone: string): Promise<boolean>;
34
+ messageDriver(userId: number, message: string): Promise<number>;
15
35
  }
@@ -45,6 +45,13 @@ var UsersService = /** @class */ (function () {
45
45
  function UsersService(session) {
46
46
  this.service = new CrudService_1.default(session, 'users');
47
47
  }
48
+ Object.defineProperty(UsersService.prototype, "session", {
49
+ get: function () {
50
+ return this.service.session;
51
+ },
52
+ enumerable: false,
53
+ configurable: true
54
+ });
48
55
  UsersService.prototype.delete = function (userId) {
49
56
  return __awaiter(this, void 0, void 0, function () {
50
57
  return __generator(this, function (_a) {
@@ -52,20 +59,63 @@ var UsersService = /** @class */ (function () {
52
59
  });
53
60
  });
54
61
  };
62
+ UsersService.prototype.deleteMany = function (userIds) {
63
+ return __awaiter(this, void 0, void 0, function () {
64
+ return __generator(this, function (_a) {
65
+ return [2 /*return*/, this.service.routeGenerator
66
+ .delete(User_consts_1.ROUTES.DELETE_MANY)
67
+ .withPayload({ ids: userIds })
68
+ .withExtractor(function (response) { return response; })
69
+ .setException('Could not delete users')
70
+ .invoke()];
71
+ });
72
+ });
73
+ };
74
+ UsersService.prototype.create = function (user) {
75
+ return __awaiter(this, void 0, void 0, function () {
76
+ return __generator(this, function (_a) {
77
+ return [2 /*return*/, this.service.create(user).then(function (response) { return response.user; })];
78
+ });
79
+ });
80
+ };
81
+ UsersService.prototype.update = function (userId, userDelta) {
82
+ return __awaiter(this, void 0, void 0, function () {
83
+ return __generator(this, function (_a) {
84
+ return [2 /*return*/, this.service.update(userId, userDelta).then(function (response) { return response.user; })];
85
+ });
86
+ });
87
+ };
88
+ UsersService.prototype.get = function (userId) {
89
+ return __awaiter(this, void 0, void 0, function () {
90
+ return __generator(this, function (_a) {
91
+ return [2 /*return*/, this.service.get(userId).then(function (user) { return user; })];
92
+ });
93
+ });
94
+ };
55
95
  UsersService.prototype.loadAll = function (query, commonOptions) {
56
96
  if (query === void 0) { query = {}; }
57
97
  return __awaiter(this, void 0, void 0, function () {
58
98
  return __generator(this, function (_a) {
59
- switch (_a.label) {
60
- case 0: return [4 /*yield*/, this.service.routeGenerator
61
- .get(User_consts_1.Routes.GET_ALL)
62
- .withQueryString(query)
63
- .withExtractor(function (response) { return ({ has_next_page: response.has_next_page, users: response.users }); })
64
- .setException('Could not get users')
65
- .withCommonOptions(commonOptions)
66
- .invoke()];
67
- case 1: return [2 /*return*/, _a.sent()];
68
- }
99
+ return [2 /*return*/, this.service.routeGenerator
100
+ .get(User_consts_1.ROUTES.GET_ALL)
101
+ .withQueryString(query)
102
+ .withExtractor(function (response) { return ({ has_next_page: response.has_next_page, users: response.users }); })
103
+ .setException('Could not get users')
104
+ .withCommonOptions(commonOptions)
105
+ .invoke()];
106
+ });
107
+ });
108
+ };
109
+ UsersService.prototype.loadMany = function (query, commonOptions) {
110
+ if (query === void 0) { query = {}; }
111
+ return __awaiter(this, void 0, void 0, function () {
112
+ return __generator(this, function (_a) {
113
+ return [2 /*return*/, this.service.routeGenerator
114
+ .get(User_consts_1.ROUTES.GET_ALL)
115
+ .withQueryString(query)
116
+ .setException('Could not get users by ids')
117
+ .withCommonOptions(commonOptions)
118
+ .invoke()];
69
119
  });
70
120
  });
71
121
  };
@@ -73,7 +123,7 @@ var UsersService = /** @class */ (function () {
73
123
  return __awaiter(this, void 0, void 0, function () {
74
124
  return __generator(this, function (_a) {
75
125
  return [2 /*return*/, this.service.routeGenerator
76
- .get(User_consts_1.Routes.GET_DRIVERS_BY_TEAM)
126
+ .get(User_consts_1.ROUTES.GET_DRIVERS_BY_TEAM)
77
127
  .withRouteParams({ teamId: teamId })
78
128
  .setException("failed to get teams drivers for team ".concat(teamId))
79
129
  .withCommonOptions(commonOptions)
@@ -81,6 +131,90 @@ var UsersService = /** @class */ (function () {
81
131
  });
82
132
  });
83
133
  };
134
+ /**
135
+ * Generic method for keyset pagination with optional scoping
136
+ */
137
+ UsersService.prototype.getAllUsersWithKeysetPagination = function (request, scopes, exceptionMessage) {
138
+ if (scopes === void 0) { scopes = []; }
139
+ if (exceptionMessage === void 0) { exceptionMessage = 'Could not get users'; }
140
+ return __awaiter(this, void 0, void 0, function () {
141
+ var limit, page_action, cursor, options, queryParams;
142
+ return __generator(this, function (_a) {
143
+ limit = request.limit, page_action = request.page_action, cursor = request.cursor, options = request.options;
144
+ // Add driver-specific scopes if options are provided
145
+ if (options) {
146
+ if (options.onlyCustomers) {
147
+ scopes.push(User_consts_1.UsersScopes.CUSTOMERS);
148
+ }
149
+ else if (!scopes.includes(User_consts_1.UsersScopes.ADMINS) && !scopes.includes(User_consts_1.UsersScopes.DISPATCHERS)) {
150
+ // Only add DRIVERS scope if we're not already dealing with admins/dispatchers
151
+ scopes.push(User_consts_1.UsersScopes.DRIVERS);
152
+ }
153
+ if (options.onlyOnlineDriver) {
154
+ scopes.push(User_consts_1.UsersScopes.MARKED_AS_ONLINE);
155
+ }
156
+ }
157
+ queryParams = { pgver: '2', limit: limit, page_action: page_action, cursor: cursor };
158
+ if (scopes.length > 0) {
159
+ queryParams.scopes = scopes;
160
+ }
161
+ return [2 /*return*/, this.service.routeGenerator
162
+ .get(User_consts_1.ROUTES.GET_ALL)
163
+ .withQueryString(queryParams)
164
+ .withExtractor(function (response) { return ({
165
+ next_page_cursor: response.next_page_cursor,
166
+ previous_page_cursor: response.previous_page_cursor,
167
+ users: response.users
168
+ }); })
169
+ .setException(exceptionMessage)
170
+ .invoke()];
171
+ });
172
+ });
173
+ };
174
+ UsersService.prototype.getAllDrivers = function (request) {
175
+ return __awaiter(this, void 0, void 0, function () {
176
+ return __generator(this, function (_a) {
177
+ return [2 /*return*/, this.getAllUsersWithKeysetPagination(request, [], 'Could not get all drivers')];
178
+ });
179
+ });
180
+ };
181
+ UsersService.prototype.unlock = function (userId) {
182
+ return __awaiter(this, void 0, void 0, function () {
183
+ return __generator(this, function (_a) {
184
+ return [2 /*return*/, this.service.routeGenerator
185
+ .post(User_consts_1.ROUTES.UNLOCK)
186
+ .withRouteParams({ userId: userId })
187
+ .withExtractor(User_consts_1.successExtractor)
188
+ .setException("Could not unlock user with id: ".concat(userId))
189
+ .invoke()];
190
+ });
191
+ });
192
+ };
193
+ UsersService.prototype.validatePhone = function (phone) {
194
+ return __awaiter(this, void 0, void 0, function () {
195
+ return __generator(this, function (_a) {
196
+ return [2 /*return*/, this.service.routeGenerator
197
+ .get(User_consts_1.ROUTES.VALIDATE_PHONE)
198
+ .withQueryString({ phone: phone })
199
+ .withExtractor(function (response) { return response.phone_valid; })
200
+ .setException("Phone is not valid: ".concat(phone))
201
+ .invoke()];
202
+ });
203
+ });
204
+ };
205
+ UsersService.prototype.messageDriver = function (userId, message) {
206
+ return __awaiter(this, void 0, void 0, function () {
207
+ return __generator(this, function (_a) {
208
+ return [2 /*return*/, this.service.routeGenerator
209
+ .put(User_consts_1.ROUTES.MESSAGE_DRIVER)
210
+ .withRouteParams({ userId: userId })
211
+ .withPayload({ user_id: userId, message: message })
212
+ .withExtractor(function (response) { return response.announcement_id; })
213
+ .setException("Could not message to user ".concat(userId))
214
+ .invoke()];
215
+ });
216
+ });
217
+ };
84
218
  return UsersService;
85
219
  }());
86
220
  exports.default = UsersService;
@@ -1 +1 @@
1
- {"version":3,"file":"users-service.js","sourceRoot":"","sources":["../../../src/User/v2/users-service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uEAAiD;AAGjD,8CAA0D;AAE1D;IAGC,sBAAY,OAAgB;QAC3B,IAAI,CAAC,OAAO,GAAG,IAAI,qBAAW,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAEY,6BAAM,GAAnB,UAAoB,MAAc;;;gBACjC,sBAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,EAAC;;;KACnC;IAEY,8BAAO,GAApB,UACC,KAA6D,EAC7D,aAA6B;QAD7B,sBAAA,EAAA,UAA6D;;;;4BAGtD,qBAAM,IAAI,CAAC,OAAO,CAAC,cAAc;6BACtC,GAAG,CAAC,oBAAM,CAAC,OAAO,CAAC;6BACnB,eAAe,CAAC,KAAK,CAAC;6BACtB,aAAa,CAAC,UAAA,QAAQ,IAAI,OAAA,CAAC,EAAE,aAAa,EAAE,QAAQ,CAAC,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,EAAE,CAAC,EAAlE,CAAkE,CAAC;6BAC7F,YAAY,CAAC,qBAAqB,CAAC;6BACnC,iBAAiB,CAAC,aAAa,CAAC;6BAChC,MAAM,EAAsC,EAAA;4BAN9C,sBAAO,SAMuC,EAAC;;;;KAC/C;IAEY,qCAAc,GAA3B,UAA4B,MAAc,EAAE,aAA6B;;;gBACxE,sBAAO,IAAI,CAAC,OAAO,CAAC,cAAc;yBAChC,GAAG,CAAC,oBAAM,CAAC,mBAAmB,CAAC;yBAC/B,eAAe,CAAC,EAAE,MAAM,QAAA,EAAE,CAAC;yBAC3B,YAAY,CAAC,+CAAwC,MAAM,CAAE,CAAC;yBAC9D,iBAAiB,CAAC,aAAa,CAAC;yBAChC,MAAM,EAAE,EAAC;;;KACX;IACF,mBAAC;AAAD,CAAC,AAhCD,IAgCC"}
1
+ {"version":3,"file":"users-service.js","sourceRoot":"","sources":["../../../src/User/v2/users-service.ts"],"names":[],"mappings":"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"}