@bringg/dashboard-sdk 9.50.31108-pre → 9.51.0-pre.1
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/User/Service/UsersService.d.ts +4 -4
- package/dist/User/Store/UsersStore.d.ts +3 -3
- package/dist/User/User.consts.d.ts +22 -4
- package/dist/User/User.consts.js +9 -3
- 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 +24 -5
- package/dist/User/v2/users-api.js +213 -29
- package/dist/User/v2/users-api.js.map +1 -1
- package/dist/User/v2/users-service.d.ts +24 -4
- package/dist/User/v2/users-service.js +145 -11
- package/dist/User/v2/users-service.js.map +1 -1
- package/dist/Vehicle/Entity/VehicleEntity.js +0 -3
- package/dist/Vehicle/Entity/VehicleEntity.js.map +1 -1
- package/dist/Vehicle/v2/vehicles-api.js +1 -1
- package/dist/Vehicle/v2/vehicles-api.js.map +1 -1
- package/dist/bringg-dashboard-sdk-cjs2.js +376 -51
- package/dist/bringg-dashboard-sdk-cjs2.js.map +1 -1
- package/dist/bringg-dashboard-sdk.js +8 -8
- package/dist/bringg-dashboard-sdk.min.js +1 -1
- package/dist/bringg-dashboard-sdk.min.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +4 -1
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -9,6 +9,7 @@ export default class RouteOptimizationApi {
|
|
|
9
9
|
private get_optimization_result;
|
|
10
10
|
private cancel_requests;
|
|
11
11
|
private assign_users_by_ids;
|
|
12
|
+
private assign_users_by_ids_in_background_process;
|
|
12
13
|
private update_user_modified_data;
|
|
13
14
|
private assign_user_manual_optimization;
|
|
14
15
|
constructor(session: Session);
|
|
@@ -17,7 +18,7 @@ export default class RouteOptimizationApi {
|
|
|
17
18
|
}>;
|
|
18
19
|
optimize(optimizationProps: RouteOptimizationRequest): Promise<OptimizationResponseSuccess | OptimizationResponseFailed>;
|
|
19
20
|
optimizationResult(request_uuid: uuid): Promise<OptimizationResult>;
|
|
20
|
-
assignUsersByIds(teams: TeamsToOptimize): Promise<RouteOptimizationResponse>;
|
|
21
|
+
assignUsersByIds(teams: TeamsToOptimize, isBackgroundProcess?: boolean): Promise<RouteOptimizationResponse>;
|
|
21
22
|
updateOptimizationModifiedData(updateData: UpdateOptimizationModifiedData): Promise<RouteOptimizationResponse>;
|
|
22
23
|
assignUserManualOptimization(updateData: AssignUserManualData): Promise<RouteOptimizationResponse>;
|
|
23
24
|
calculatePlannedEta(data: OptimizeRequest, { timeout, ...options }?: ExecuteActionOptions & CommonOptions): Promise<OptimizationData[]>;
|
|
@@ -71,6 +71,7 @@ var RouteOptimizationApi = /** @class */ (function () {
|
|
|
71
71
|
this.get_optimization_result = new Route_1.Route('/own-fleet-optimization-service/route_optimization/get_optimization_result/{:request_uuid}', 0 /* HttpMethod.GET */);
|
|
72
72
|
this.cancel_requests = new Route_1.Route('/own-fleet-optimization-service/route_optimization/optimization', 4 /* HttpMethod.DELETE */);
|
|
73
73
|
this.assign_users_by_ids = new Route_1.Route('/route_optimizations/assign_users_by_ids', 1 /* HttpMethod.POST */);
|
|
74
|
+
this.assign_users_by_ids_in_background_process = new Route_1.Route('/own-fleet-optimization-service/route_optimization/assign_users_by_ids', 1 /* HttpMethod.POST */);
|
|
74
75
|
this.update_user_modified_data = new Route_1.Route('/own-fleet-optimization-service/route_optimization/update_user_modified_data', 1 /* HttpMethod.POST */);
|
|
75
76
|
this.assign_user_manual_optimization = new Route_1.Route('/route_optimizations/assign_user_manual_optimization', 1 /* HttpMethod.POST */);
|
|
76
77
|
this.service = new CrudService_1.default(session, '');
|
|
@@ -99,10 +100,10 @@ var RouteOptimizationApi = /** @class */ (function () {
|
|
|
99
100
|
routeParams: { request_uuid: request_uuid }
|
|
100
101
|
});
|
|
101
102
|
};
|
|
102
|
-
RouteOptimizationApi.prototype.assignUsersByIds = function (teams) {
|
|
103
|
+
RouteOptimizationApi.prototype.assignUsersByIds = function (teams, isBackgroundProcess) {
|
|
103
104
|
var fiveMinutesInMs = 1000 * 60 * 5;
|
|
104
105
|
return this.service.handleAuthorizedRequest({
|
|
105
|
-
route: this.assign_users_by_ids,
|
|
106
|
+
route: isBackgroundProcess ? this.assign_users_by_ids_in_background_process : this.assign_users_by_ids,
|
|
106
107
|
extractor: RouteGenerator_1.defaultExtractor,
|
|
107
108
|
exceptionProducer: BringgException_1.BringgException.serviceException('Failed to assign users by id'),
|
|
108
109
|
payload: { origin: 'route_optimization', teams: teams },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteOptimizationApi.js","sourceRoot":"","sources":["../../src/RouteOptimization/RouteOptimizationApi.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,2DAA0D;AAC1D,oEAA8C;AAE9C,yDAAyE;AAEzE,2CAA0C;AAc1C;
|
|
1
|
+
{"version":3,"file":"RouteOptimizationApi.js","sourceRoot":"","sources":["../../src/RouteOptimization/RouteOptimizationApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -56,7 +56,7 @@ var lodash_1 = require("lodash");
|
|
|
56
56
|
var BringgException_1 = require("../Core/BringgException");
|
|
57
57
|
var Logger_1 = __importDefault(require("../Core/Logger"));
|
|
58
58
|
var abort_1 = require("../utils/abort");
|
|
59
|
-
var version = '9.
|
|
59
|
+
var version = '9.51.0-pre.1';
|
|
60
60
|
function logErrorResponse(response) {
|
|
61
61
|
var data = response.data, status = response.status;
|
|
62
62
|
try {
|
|
@@ -4,7 +4,7 @@ import Session from '../../Services/Identity/Session';
|
|
|
4
4
|
import { PubSubService } from '../../Services/PubSubService';
|
|
5
5
|
import { KeysetPaginationRequest } from '../../utils/consts/keyset-pagination.consts';
|
|
6
6
|
import UsersStore from '../Store/UsersStore';
|
|
7
|
-
import {
|
|
7
|
+
import { AllDriversResponse, AllUsersKeysetPaginationResponse, AllUsersResponse } from '../User.consts';
|
|
8
8
|
import { GetAllDriversOptions } from '../Users';
|
|
9
9
|
export default class UsersService extends PubSubService {
|
|
10
10
|
store: UsersStore;
|
|
@@ -16,8 +16,8 @@ export default class UsersService extends PubSubService {
|
|
|
16
16
|
usersIds: number[];
|
|
17
17
|
page?: number;
|
|
18
18
|
limit?: number;
|
|
19
|
-
}, commonOptions?: CommonOptions): Promise<
|
|
20
|
-
getAll(page?: number, limit?: number): Promise<
|
|
19
|
+
}, commonOptions?: CommonOptions): Promise<AllUsersResponse>;
|
|
20
|
+
getAll(page?: number, limit?: number): Promise<AllUsersResponse>;
|
|
21
21
|
getAllKeysetPagination(request: KeysetPaginationRequest<null>): Promise<AllUsersKeysetPaginationResponse>;
|
|
22
22
|
invite(userId: number): Promise<User>;
|
|
23
23
|
unlock(userId: number): Promise<boolean>;
|
|
@@ -29,7 +29,7 @@ export default class UsersService extends PubSubService {
|
|
|
29
29
|
closedTasks(userId: number, page?: number): Promise<Task[]>;
|
|
30
30
|
update(id: number, userDelta: Partial<User>): Promise<User>;
|
|
31
31
|
getAllAdminsAndDispatchers(request: KeysetPaginationRequest<null>): Promise<AllUsersKeysetPaginationResponse>;
|
|
32
|
-
getAllDrivers(request: KeysetPaginationRequest<GetAllDriversOptions>): Promise<
|
|
32
|
+
getAllDrivers(request: KeysetPaginationRequest<GetAllDriversOptions>): Promise<AllDriversResponse>;
|
|
33
33
|
delete(id: number): Promise<boolean>;
|
|
34
34
|
getProfileImage(userId: number): Promise<string>;
|
|
35
35
|
messageDriver(userId: number, message: string): Promise<number>;
|
|
@@ -4,7 +4,7 @@ import { CommonOptions } from '../../Core/RouteGenerator';
|
|
|
4
4
|
import Session from '../../Services/Identity/Session';
|
|
5
5
|
import { KeysetPaginationRequest } from '../../utils/consts/keyset-pagination.consts';
|
|
6
6
|
import UsersService from '../Service/UsersService';
|
|
7
|
-
import {
|
|
7
|
+
import { AllDriversResponse, AllUsersKeysetPaginationResponse, AllUsersResponse, GROUP_VALUES } from '../User.consts';
|
|
8
8
|
import { GetAllDriversOptions } from '../Users';
|
|
9
9
|
export type UserGroupValue = Map<GROUP_VALUES, Set<User>>;
|
|
10
10
|
export default class UsersStore extends BaseStore<User> {
|
|
@@ -23,12 +23,12 @@ export default class UsersStore extends BaseStore<User> {
|
|
|
23
23
|
private initGroups;
|
|
24
24
|
create(user: Partial<User>): Promise<User>;
|
|
25
25
|
getDriversByTeam(teamId: number): Promise<Driver[]>;
|
|
26
|
-
getAll(page?: number, limit?: number): Promise<
|
|
26
|
+
getAll(page?: number, limit?: number): Promise<AllUsersResponse>;
|
|
27
27
|
getAllKeysetPagination(request: KeysetPaginationRequest<null>): Promise<AllUsersKeysetPaginationResponse>;
|
|
28
28
|
invite(userId: number): Promise<User>;
|
|
29
29
|
inviteByEmail(userId: number): Promise<User>;
|
|
30
30
|
getAllAdminsAndDispatchers(request: KeysetPaginationRequest<null>): Promise<AllUsersKeysetPaginationResponse>;
|
|
31
|
-
getAllDrivers(request: KeysetPaginationRequest<GetAllDriversOptions>): Promise<
|
|
31
|
+
getAllDrivers(request: KeysetPaginationRequest<GetAllDriversOptions>): Promise<AllDriversResponse>;
|
|
32
32
|
private getOrFetchUsers;
|
|
33
33
|
byUserType(userTypeId: number): Promise<Driver[]>;
|
|
34
34
|
makeAdmin(userId: number): Promise<Admin>;
|
|
@@ -42,7 +42,7 @@ export type MakeAdminResponceFormat = {
|
|
|
42
42
|
success: boolean;
|
|
43
43
|
user: User;
|
|
44
44
|
};
|
|
45
|
-
export type
|
|
45
|
+
export type AllUsersResponse = {
|
|
46
46
|
has_next_page: boolean;
|
|
47
47
|
users: User[];
|
|
48
48
|
};
|
|
@@ -54,16 +54,20 @@ export declare enum UsersScopes {
|
|
|
54
54
|
MARKED_AS_ONLINE = "marked_as_online"
|
|
55
55
|
}
|
|
56
56
|
export type AllUsersKeysetPaginationResponse = KeysetPaginationResponse<'users', User[]>;
|
|
57
|
-
export type
|
|
57
|
+
export type AllDriversResponse = KeysetPaginationResponse<'users', Driver[]>;
|
|
58
58
|
export declare const defaultExtractor: (response: any) => any;
|
|
59
59
|
export declare const userExtractor: (response: any) => any;
|
|
60
60
|
export declare const usersExtractor: (response: any) => any;
|
|
61
61
|
export declare const countExtractor: (response: any) => any;
|
|
62
62
|
export declare const successExtractor: (response: any) => any;
|
|
63
63
|
export declare const baseRoute = "/users";
|
|
64
|
-
export declare const
|
|
64
|
+
export declare const ROUTES: {
|
|
65
65
|
GET_ALL: string;
|
|
66
66
|
GET_DRIVERS_BY_TEAM: string;
|
|
67
|
+
UNLOCK: string;
|
|
68
|
+
MESSAGE_DRIVER: string;
|
|
69
|
+
VALIDATE_PHONE: string;
|
|
70
|
+
DELETE_MANY: string;
|
|
67
71
|
};
|
|
68
72
|
export declare enum UserEvents {
|
|
69
73
|
CURRENT_USER_UPDATED = "currentUserUpdated"
|
|
@@ -83,5 +87,19 @@ export declare enum GROUP_VALUES {
|
|
|
83
87
|
export declare const groupFilter: Map<GROUP_VALUES, (user: User) => boolean>;
|
|
84
88
|
export declare const userToGroupsMapper: (user: User) => any[];
|
|
85
89
|
export declare enum RealtimeEvents {
|
|
86
|
-
Update = "employee update"
|
|
90
|
+
Update = "employee update",
|
|
91
|
+
Create = "new employee",
|
|
92
|
+
Delete = "delete employee"
|
|
87
93
|
}
|
|
94
|
+
export type DeleteManyResponse = {
|
|
95
|
+
success: boolean;
|
|
96
|
+
rc: number;
|
|
97
|
+
deleted_count: number;
|
|
98
|
+
deleted_users: number[];
|
|
99
|
+
failed_count: number;
|
|
100
|
+
errors?: {
|
|
101
|
+
rc: number;
|
|
102
|
+
message: string;
|
|
103
|
+
user_ids: number[];
|
|
104
|
+
}[];
|
|
105
|
+
};
|
package/dist/User/User.consts.js
CHANGED
|
@@ -11,7 +11,7 @@ var __values = (this && this.__values) || function(o) {
|
|
|
11
11
|
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
12
12
|
};
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
-
exports.RealtimeEvents = exports.userToGroupsMapper = exports.groupFilter = exports.GROUP_VALUES = exports.UserGroupTypes = exports.UserEvents = exports.
|
|
14
|
+
exports.RealtimeEvents = exports.userToGroupsMapper = exports.groupFilter = exports.GROUP_VALUES = exports.UserGroupTypes = exports.UserEvents = exports.ROUTES = exports.baseRoute = exports.successExtractor = exports.countExtractor = exports.usersExtractor = exports.userExtractor = exports.defaultExtractor = exports.UsersScopes = void 0;
|
|
15
15
|
var UserHelpers_1 = require("./UserHelpers");
|
|
16
16
|
var UsersScopes;
|
|
17
17
|
(function (UsersScopes) {
|
|
@@ -32,9 +32,13 @@ exports.countExtractor = countExtractor;
|
|
|
32
32
|
var successExtractor = function (response) { return response.success; };
|
|
33
33
|
exports.successExtractor = successExtractor;
|
|
34
34
|
exports.baseRoute = '/users';
|
|
35
|
-
exports.
|
|
35
|
+
exports.ROUTES = {
|
|
36
36
|
GET_ALL: exports.baseRoute,
|
|
37
|
-
GET_DRIVERS_BY_TEAM: '/teams/{:teamId}/users'
|
|
37
|
+
GET_DRIVERS_BY_TEAM: '/teams/{:teamId}/users',
|
|
38
|
+
UNLOCK: "".concat(exports.baseRoute, "/{:userId}/unlock"),
|
|
39
|
+
MESSAGE_DRIVER: '/announcement/user/{:userId}',
|
|
40
|
+
VALIDATE_PHONE: '/api/user/validate_phone',
|
|
41
|
+
DELETE_MANY: '/users/batch_delete'
|
|
38
42
|
};
|
|
39
43
|
var UserEvents;
|
|
40
44
|
(function (UserEvents) {
|
|
@@ -88,5 +92,7 @@ exports.userToGroupsMapper = userToGroupsMapper;
|
|
|
88
92
|
var RealtimeEvents;
|
|
89
93
|
(function (RealtimeEvents) {
|
|
90
94
|
RealtimeEvents["Update"] = "employee update";
|
|
95
|
+
RealtimeEvents["Create"] = "new employee";
|
|
96
|
+
RealtimeEvents["Delete"] = "delete employee";
|
|
91
97
|
})(RealtimeEvents = exports.RealtimeEvents || (exports.RealtimeEvents = {}));
|
|
92
98
|
//# sourceMappingURL=User.consts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"User.consts.js","sourceRoot":"","sources":["../../src/User/User.consts.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAGA,6CAA4C;AA4D5C,IAAY,WAMX;AAND,WAAY,WAAW;IACtB,kCAAmB,CAAA;IACnB,0CAA2B,CAAA;IAC3B,gCAAiB,CAAA;IACjB,sCAAuB,CAAA;IACvB,oDAAqC,CAAA;AACtC,CAAC,EANW,WAAW,GAAX,mBAAW,KAAX,mBAAW,QAMtB;AAKM,IAAM,gBAAgB,GAAG,UAAC,QAAa,IAAK,OAAA,QAAQ,EAAR,CAAQ,CAAC;AAA/C,QAAA,gBAAgB,oBAA+B;AACrD,IAAM,aAAa,GAAG,UAAC,QAAa,IAAK,OAAA,QAAQ,CAAC,IAAI,EAAb,CAAa,CAAC;AAAjD,QAAA,aAAa,iBAAoC;AACvD,IAAM,cAAc,GAAG,UAAC,QAAa,IAAK,OAAA,QAAQ,CAAC,KAAK,EAAd,CAAc,CAAC;AAAnD,QAAA,cAAc,kBAAqC;AACzD,IAAM,cAAc,GAAG,UAAC,QAAa,IAAK,OAAA,QAAQ,CAAC,KAAK,EAAd,CAAc,CAAC;AAAnD,QAAA,cAAc,kBAAqC;AACzD,IAAM,gBAAgB,GAAG,UAAC,QAAa,IAAK,OAAA,QAAQ,CAAC,OAAO,EAAhB,CAAgB,CAAC;AAAvD,QAAA,gBAAgB,oBAAuC;AAEvD,QAAA,SAAS,GAAG,QAAQ,CAAC;AAErB,QAAA,MAAM,GAAG;IACrB,OAAO,EAAE,iBAAS;IAClB,mBAAmB,EAAE,wBAAwB;
|
|
1
|
+
{"version":3,"file":"User.consts.js","sourceRoot":"","sources":["../../src/User/User.consts.ts"],"names":[],"mappings":"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"}
|
package/dist/User/Users.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { CommonOptions } from '../Core/RouteGenerator';
|
|
|
3
3
|
import Session from '../Services/Identity/Session';
|
|
4
4
|
import { KeysetPaginationRequest } from '../utils/consts/keyset-pagination.consts';
|
|
5
5
|
import { UserGroupValue } from './Store/UsersStore';
|
|
6
|
-
import {
|
|
6
|
+
import { AllDriversResponse, AllUsersKeysetPaginationResponse, AllUsersResponse } from './User.consts';
|
|
7
7
|
export interface GetAllDriversOptions {
|
|
8
8
|
onlyOnlineDriver?: boolean;
|
|
9
9
|
onlyCustomers?: boolean;
|
|
@@ -18,7 +18,7 @@ export default class Users {
|
|
|
18
18
|
constructor(session: Session);
|
|
19
19
|
create(user: Partial<Bringg.User>): Promise<Bringg.User>;
|
|
20
20
|
getAllAdminsAndDispatchers({ limit, page_action, cursor }: KeysetPaginationRequest<AllUsersKeysetPaginationResponse>): Promise<AllUsersKeysetPaginationResponse>;
|
|
21
|
-
getAllDrivers({ limit, page_action, cursor, options }: KeysetPaginationRequest<GetAllDriversOptions>): Promise<
|
|
21
|
+
getAllDrivers({ limit, page_action, cursor, options }: KeysetPaginationRequest<GetAllDriversOptions>): Promise<AllDriversResponse>;
|
|
22
22
|
byUserType(userTypeId: number): Promise<Bringg.User[]>;
|
|
23
23
|
makeAdmin(userId: number): Promise<Bringg.Admin>;
|
|
24
24
|
totalEmployeesCount(): Promise<number>;
|
|
@@ -27,7 +27,7 @@ export default class Users {
|
|
|
27
27
|
getDriver(driverId: number): Promise<Bringg.Driver>;
|
|
28
28
|
getDispatcher(dispatcherId: number): Promise<Bringg.Dispatcher>;
|
|
29
29
|
getDriversByTeam(teamId: number): Promise<Bringg.Driver[]>;
|
|
30
|
-
getAll(page?: number, limit?: number): Promise<
|
|
30
|
+
getAll(page?: number, limit?: number): Promise<AllUsersResponse>;
|
|
31
31
|
getAllKeysetPagination({ limit, page_action, cursor }: KeysetPaginationRequest<null>): Promise<AllUsersKeysetPaginationResponse>;
|
|
32
32
|
get(userId: number): Promise<Bringg.User>;
|
|
33
33
|
getMany(usersIds: number[], commonOptions?: CommonOptions): Promise<Bringg.User[]>;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import { User } from '@bringg/types';
|
|
1
|
+
import { Driver, User } from '@bringg/types';
|
|
2
2
|
import { DELETE_RESPONSE } from '../../Core/CrudService';
|
|
3
|
+
import { StorableEventUnsubscribe } from '../../Data/storable-types';
|
|
3
4
|
import { DataOptions, MappedStorableItem } from '../../data-entity';
|
|
4
5
|
import Session from '../../Services/Identity/Session';
|
|
5
|
-
import {
|
|
6
|
+
import { KeysetPaginationRequest } from '../../utils/consts/keyset-pagination.consts';
|
|
7
|
+
import { AllDriversResponse, DeleteManyResponse, GROUP_VALUES } from '../User.consts';
|
|
8
|
+
import { GetAllDriversOptions } from '../Users';
|
|
6
9
|
export default class UsersApi {
|
|
7
10
|
private readonly userStore;
|
|
8
11
|
private readonly usersService;
|
|
@@ -10,11 +13,27 @@ export default class UsersApi {
|
|
|
10
13
|
private readonly storableRealtimeSubscriptions;
|
|
11
14
|
constructor(session: Session);
|
|
12
15
|
delete(userId: number): Promise<DELETE_RESPONSE>;
|
|
16
|
+
deleteMany(userIds: number[]): Promise<DeleteManyResponse>;
|
|
17
|
+
create(user: Partial<User>): Promise<User>;
|
|
18
|
+
update(userId: number, userDelta: Partial<User>): Promise<User>;
|
|
19
|
+
load(userId: number, options?: DataOptions): Promise<User>;
|
|
20
|
+
loadMany(ids: number[], options?: DataOptions): Promise<User[]>;
|
|
21
|
+
loadAllByTeam(teamId: number, options?: DataOptions): Promise<Driver[]>;
|
|
13
22
|
loadAll(options?: DataOptions): Promise<User[]>;
|
|
23
|
+
getAllDrivers({ limit, page_action, cursor, options }: KeysetPaginationRequest<GetAllDriversOptions>): Promise<AllDriversResponse>;
|
|
24
|
+
messageDriver(userId: number, message: string): Promise<number>;
|
|
25
|
+
unlock(userId: number): Promise<boolean>;
|
|
26
|
+
validatePhone(phone: string): Promise<boolean>;
|
|
14
27
|
getGroup(group: GROUP_VALUES): User[];
|
|
28
|
+
getTeamGroup(teamId: number): User[] | undefined;
|
|
15
29
|
get(id: number): User;
|
|
16
30
|
getMany(ids: number[]): Record<number, User>;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
31
|
+
getAll(): User[];
|
|
32
|
+
getOfflineDrivers(): User[];
|
|
33
|
+
getOnlineDrivers(): User[];
|
|
34
|
+
getAllLocalDrivers(): User[];
|
|
35
|
+
getOnShiftDrivers(): User[];
|
|
36
|
+
onCreate(callback: (user: MappedStorableItem<User>) => void): StorableEventUnsubscribe;
|
|
37
|
+
onUpdate(callback: (user: MappedStorableItem<User>) => void): StorableEventUnsubscribe;
|
|
38
|
+
onDelete(callback: (user: MappedStorableItem<User>) => void): StorableEventUnsubscribe;
|
|
20
39
|
}
|
|
@@ -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
|
-
|
|
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([
|
|
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.
|
|
94
|
-
|
|
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.
|
|
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
|
-
|
|
102
|
-
return [2 /*return*/, response
|
|
137
|
+
_a.sent();
|
|
138
|
+
return [2 /*return*/, response];
|
|
103
139
|
}
|
|
104
140
|
});
|
|
105
|
-
});
|
|
141
|
+
});
|
|
106
142
|
};
|
|
107
|
-
UsersApi.prototype.
|
|
108
|
-
return this
|
|
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.
|
|
111
|
-
return this
|
|
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.
|
|
114
|
-
|
|
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({
|
|
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
|
-
}); },
|
|
234
|
+
}); }, options)];
|
|
136
235
|
});
|
|
137
236
|
});
|
|
138
237
|
};
|
|
139
|
-
UsersApi.prototype.
|
|
140
|
-
|
|
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
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
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
|
-
|
|
150
|
-
|
|
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"users-api.js","sourceRoot":"","sources":["../../../src/User/v2/users-api.ts"],"names":[],"mappings":"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"}
|