@bringg/dashboard-sdk 9.51.0-pre.1 → 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/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 -24
- package/dist/User/v2/users-api.js +29 -213
- 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 -145
- package/dist/User/v2/users-service.js.map +1 -1
- package/dist/bringg-dashboard-sdk-cjs2.js +62 -373
- package/dist/bringg-dashboard-sdk-cjs2.js.map +1 -1
- package/dist/bringg-dashboard-sdk.js +9 -9
- 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,50 +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
|
-
// 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
|
-
// }
|
|
97
70
|
UsersApi.prototype.delete = function (userId) {
|
|
98
71
|
return __awaiter(this, void 0, void 0, function () {
|
|
99
72
|
var response;
|
|
@@ -117,226 +90,69 @@ var UsersApi = /** @class */ (function () {
|
|
|
117
90
|
});
|
|
118
91
|
});
|
|
119
92
|
};
|
|
120
|
-
UsersApi.prototype.
|
|
121
|
-
|
|
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 () {
|
|
122
96
|
var response;
|
|
123
|
-
var _this = this;
|
|
124
97
|
return __generator(this, function (_a) {
|
|
125
98
|
switch (_a.label) {
|
|
126
|
-
case 0: return [4 /*yield*/, this.
|
|
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)];
|
|
99
|
+
case 0: return [4 /*yield*/, this.usersService.loadAll({}, options)];
|
|
136
100
|
case 1:
|
|
137
|
-
_a.sent();
|
|
138
|
-
return [2 /*return*/, response];
|
|
101
|
+
response = _a.sent();
|
|
102
|
+
return [2 /*return*/, response.users];
|
|
139
103
|
}
|
|
140
104
|
});
|
|
141
|
-
});
|
|
105
|
+
}); }, options);
|
|
142
106
|
};
|
|
143
|
-
UsersApi.prototype.
|
|
144
|
-
return
|
|
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
|
-
});
|
|
107
|
+
UsersApi.prototype.getGroup = function (group) {
|
|
108
|
+
return this.userStore.getGroup(User_consts_1.UserGroupTypes.Main, group);
|
|
153
109
|
};
|
|
154
|
-
UsersApi.prototype.
|
|
155
|
-
return
|
|
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
|
-
});
|
|
110
|
+
UsersApi.prototype.get = function (id) {
|
|
111
|
+
return this.userStore.get(id);
|
|
167
112
|
};
|
|
168
|
-
UsersApi.prototype.
|
|
169
|
-
|
|
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
|
-
});
|
|
113
|
+
UsersApi.prototype.getMany = function (ids) {
|
|
114
|
+
return this.userStore.getMany(ids);
|
|
176
115
|
};
|
|
177
116
|
UsersApi.prototype.loadMany = function (ids, options) {
|
|
178
117
|
if (options === void 0) { options = { useCache: true }; }
|
|
179
118
|
return __awaiter(this, void 0, void 0, function () {
|
|
180
|
-
var chunkSize;
|
|
181
119
|
var _this = this;
|
|
182
120
|
return __generator(this, function (_a) {
|
|
121
|
+
// If no IDs provided, return empty array without making API call
|
|
183
122
|
if (ids.length === 0) {
|
|
184
123
|
return [2 /*return*/, []];
|
|
185
124
|
}
|
|
186
|
-
chunkSize = options.chunkSize || 500;
|
|
187
125
|
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 () {
|
|
225
126
|
var response;
|
|
226
127
|
return __generator(this, function (_a) {
|
|
227
128
|
switch (_a.label) {
|
|
228
|
-
case 0: return [4 /*yield*/, this.usersService.loadAll({
|
|
129
|
+
case 0: return [4 /*yield*/, this.usersService.loadAll({ ids: idsToLoad })];
|
|
229
130
|
case 1:
|
|
230
131
|
response = _a.sent();
|
|
231
132
|
return [2 /*return*/, response.users];
|
|
232
133
|
}
|
|
233
134
|
});
|
|
234
|
-
}); }, options)];
|
|
135
|
+
}); }, ids, __assign(__assign({}, options), { chunkSize: options.chunkSize || 500 }))];
|
|
235
136
|
});
|
|
236
137
|
});
|
|
237
138
|
};
|
|
238
|
-
UsersApi.prototype.
|
|
239
|
-
|
|
240
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
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
|
-
})];
|
|
269
|
-
case 1:
|
|
270
|
-
_d.sent();
|
|
271
|
-
return [2 /*return*/, __assign(__assign({}, loadResult), { users: loadResult.users.map(function (user) { return _this.userStore.get(user.id); }) })];
|
|
272
|
-
}
|
|
273
|
-
});
|
|
274
|
-
});
|
|
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
|
-
});
|
|
139
|
+
UsersApi.prototype.onUpdate = function (callback) {
|
|
140
|
+
return this.storableRealtimeSubscriptions.onEvent(User_consts_1.RealtimeEvents.Update, callback);
|
|
290
141
|
};
|
|
291
|
-
UsersApi.prototype.
|
|
142
|
+
UsersApi.prototype.loadDriversByTeam = function (teamId) {
|
|
292
143
|
return __awaiter(this, void 0, void 0, function () {
|
|
144
|
+
var users;
|
|
293
145
|
return __generator(this, function (_a) {
|
|
294
|
-
|
|
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
|
+
}
|
|
295
153
|
});
|
|
296
154
|
});
|
|
297
155
|
};
|
|
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
|
-
};
|
|
340
156
|
return UsersApi;
|
|
341
157
|
}());
|
|
342
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,90 +81,6 @@ var UsersService = /** @class */ (function () {
|
|
|
131
81
|
});
|
|
132
82
|
});
|
|
133
83
|
};
|
|
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
|
-
};
|
|
218
84
|
return UsersService;
|
|
219
85
|
}());
|
|
220
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"}
|