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