@dapex-tech/elite-online-services 0.0.11 → 0.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (67) hide show
  1. package/core/request.d.ts +9 -5
  2. package/core/request.js +48 -47
  3. package/createClient.d.ts +1 -0
  4. package/models/AdminCreateDto.d.ts +26 -0
  5. package/models/AdminCreateDto.js +2 -0
  6. package/models/AdminDto.d.ts +0 -8
  7. package/models/AdminLoginResponseDto.d.ts +38 -0
  8. package/models/AdminLoginResponseDto.js +2 -0
  9. package/models/AdminUpdateDto.d.ts +2 -2
  10. package/models/CustomerDto.d.ts +2 -42
  11. package/models/CustomerLoginDto.d.ts +1 -1
  12. package/models/CustomerLoginResponseDto.d.ts +34 -0
  13. package/models/CustomerLoginResponseDto.js +2 -0
  14. package/models/CustomerRegisterDto.d.ts +26 -0
  15. package/models/CustomerRegisterDto.js +2 -0
  16. package/models/DriverCreateDto.d.ts +42 -0
  17. package/models/DriverCreateDto.js +2 -0
  18. package/models/DriverDto.d.ts +0 -4
  19. package/models/DriverLoginResponseDto.d.ts +58 -0
  20. package/models/DriverLoginResponseDto.js +2 -0
  21. package/models/DriverTripActions.d.ts +2 -1
  22. package/models/DriverTripActions.js +1 -0
  23. package/models/DriverUpdateDto.d.ts +0 -8
  24. package/models/MessageResponseDto.d.ts +6 -0
  25. package/models/MessageResponseDto.js +2 -0
  26. package/models/TokensDto.d.ts +10 -0
  27. package/models/TokensDto.js +2 -0
  28. package/models/TripDto.d.ts +6 -6
  29. package/models/UpdateFcmTokenDto.d.ts +6 -0
  30. package/models/UpdateFcmTokenDto.js +2 -0
  31. package/models/index.d.ts +9 -0
  32. package/models/index.js +9 -0
  33. package/package.json +3 -2
  34. package/services/AdminAuthService.d.ts +20 -16
  35. package/services/AdminAuthService.js +9 -31
  36. package/services/AdminCustomerService.d.ts +12 -10
  37. package/services/AdminCustomerService.js +5 -23
  38. package/services/AdminDriversService.d.ts +2 -2
  39. package/services/AdminDriversService.js +0 -18
  40. package/services/AdminService.d.ts +12 -10
  41. package/services/AdminService.js +5 -23
  42. package/services/AdminTripsService.d.ts +14 -14
  43. package/services/AdminTripsService.js +7 -36
  44. package/services/CustomerLocationsService.d.ts +3 -2
  45. package/services/CustomerLocationsService.js +1 -13
  46. package/services/CustomerTripsService.d.ts +16 -16
  47. package/services/CustomerTripsService.js +8 -41
  48. package/services/CustomersAuthService.d.ts +25 -23
  49. package/services/CustomersAuthService.js +10 -47
  50. package/services/CustomersService.d.ts +14 -4
  51. package/services/CustomersService.js +17 -7
  52. package/services/DriverAuthService.d.ts +18 -14
  53. package/services/DriverAuthService.js +7 -29
  54. package/services/DriverTripsService.d.ts +12 -12
  55. package/services/DriverTripsService.js +6 -29
  56. package/services/DriversService.d.ts +18 -8
  57. package/services/DriversService.js +19 -17
  58. package/services/HealthService.d.ts +23 -0
  59. package/services/HealthService.js +34 -0
  60. package/services/MainService.d.ts +6 -1
  61. package/services/MainService.js +12 -2
  62. package/services/index.d.ts +1 -0
  63. package/services/index.js +1 -0
  64. package/socketService.bak.d.ts +54 -0
  65. package/socketService.bak.js +99 -0
  66. package/socketService.d.ts +18 -45
  67. package/socketService.js +84 -57
@@ -7,7 +7,7 @@ class DriversService {
7
7
  /**
8
8
  * Update the current driver
9
9
  * @param requestBody
10
- * @returns any Driver updated successfully.
10
+ * @returns DriverDto Driver updated successfully.
11
11
  * @throws ApiError
12
12
  */
13
13
  static update(requestBody) {
@@ -27,54 +27,56 @@ class DriversService {
27
27
  return (0, request_1.request)(OpenAPI_1.OpenAPI, {
28
28
  method: 'DELETE',
29
29
  url: '/drivers/me',
30
- errors: {
31
- 401: `Unauthorized`,
32
- 404: `Driver not found`,
33
- },
34
30
  });
35
31
  }
36
32
  /**
37
33
  * Update the current driver online status
38
- * @returns any Driver online status updated successfully.
34
+ * @returns DriverDto Driver online status updated successfully.
39
35
  * @throws ApiError
40
36
  */
41
37
  static updateOnlineStatus() {
42
38
  return (0, request_1.request)(OpenAPI_1.OpenAPI, {
43
39
  method: 'PATCH',
44
40
  url: '/drivers/online-status',
45
- errors: {
46
- 401: `Unauthorized`,
47
- 404: `Driver not found`,
48
- },
49
41
  });
50
42
  }
51
43
  /**
52
44
  * Deactivate the current driver account
53
- * @returns any Driver account deactivated successfully.
45
+ * @returns DriverDto Driver account deactivated successfully.
54
46
  * @throws ApiError
55
47
  */
56
48
  static deactivateAccount() {
57
49
  return (0, request_1.request)(OpenAPI_1.OpenAPI, {
58
50
  method: 'PATCH',
59
51
  url: '/drivers/deactivate-account',
60
- errors: {
61
- 401: `Unauthorized`,
62
- 404: `Driver not found`,
63
- },
64
52
  });
65
53
  }
66
54
  /**
67
55
  * Update a driver account status by ID
68
- * @returns any Driver account status updated successfully.
56
+ * @returns DriverDto Driver account status updated successfully.
69
57
  * @throws ApiError
70
58
  */
71
59
  static updateAccountStatus() {
72
60
  return (0, request_1.request)(OpenAPI_1.OpenAPI, {
73
61
  method: 'PATCH',
74
62
  url: '/drivers/account-status',
63
+ });
64
+ }
65
+ /**
66
+ * Update a driver FCM token
67
+ * @param requestBody
68
+ * @returns MessageResponseDto FCM token updated successfully.
69
+ * @throws ApiError
70
+ */
71
+ static updateDriverFcmToken(requestBody) {
72
+ return (0, request_1.request)(OpenAPI_1.OpenAPI, {
73
+ method: 'PATCH',
74
+ url: '/drivers/fcm-token',
75
+ body: requestBody,
76
+ mediaType: 'application/json',
75
77
  errors: {
76
78
  401: `Unauthorized`,
77
- 404: `Driver not found`,
79
+ 404: `Driver not found.`,
78
80
  },
79
81
  });
80
82
  }
@@ -0,0 +1,23 @@
1
+ import type { CancelablePromise } from '../core/CancelablePromise';
2
+ export declare class HealthService {
3
+ /**
4
+ * @returns any The Health Check is successful
5
+ * @throws ApiError
6
+ */
7
+ static liveness(): CancelablePromise<{
8
+ status?: string;
9
+ info?: Record<string, Record<string, any>> | null;
10
+ error?: Record<string, Record<string, any>> | null;
11
+ details?: Record<string, Record<string, any>>;
12
+ }>;
13
+ /**
14
+ * @returns any The Health Check is successful
15
+ * @throws ApiError
16
+ */
17
+ static readiness(): CancelablePromise<{
18
+ status?: string;
19
+ info?: Record<string, Record<string, any>> | null;
20
+ error?: Record<string, Record<string, any>> | null;
21
+ details?: Record<string, Record<string, any>>;
22
+ }>;
23
+ }
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.HealthService = void 0;
4
+ const OpenAPI_1 = require("../core/OpenAPI");
5
+ const request_1 = require("../core/request");
6
+ class HealthService {
7
+ /**
8
+ * @returns any The Health Check is successful
9
+ * @throws ApiError
10
+ */
11
+ static liveness() {
12
+ return (0, request_1.request)(OpenAPI_1.OpenAPI, {
13
+ method: 'GET',
14
+ url: '/health/live',
15
+ errors: {
16
+ 503: `The Health Check is not successful`,
17
+ },
18
+ });
19
+ }
20
+ /**
21
+ * @returns any The Health Check is successful
22
+ * @throws ApiError
23
+ */
24
+ static readiness() {
25
+ return (0, request_1.request)(OpenAPI_1.OpenAPI, {
26
+ method: 'GET',
27
+ url: '/health/ready',
28
+ errors: {
29
+ 503: `The Health Check is not successful`,
30
+ },
31
+ });
32
+ }
33
+ }
34
+ exports.HealthService = HealthService;
@@ -9,5 +9,10 @@ export declare class MainService {
9
9
  * @returns any
10
10
  * @throws ApiError
11
11
  */
12
- static healthCheck(): CancelablePromise<any>;
12
+ static emitTripUpdate(): CancelablePromise<any>;
13
+ /**
14
+ * @returns any
15
+ * @throws ApiError
16
+ */
17
+ static emitDriverUpdate(): CancelablePromise<any>;
13
18
  }
@@ -18,10 +18,20 @@ class MainService {
18
18
  * @returns any
19
19
  * @throws ApiError
20
20
  */
21
- static healthCheck() {
21
+ static emitTripUpdate() {
22
22
  return (0, request_1.request)(OpenAPI_1.OpenAPI, {
23
23
  method: 'GET',
24
- url: '/health',
24
+ url: '/emit-trip-update',
25
+ });
26
+ }
27
+ /**
28
+ * @returns any
29
+ * @throws ApiError
30
+ */
31
+ static emitDriverUpdate() {
32
+ return (0, request_1.request)(OpenAPI_1.OpenAPI, {
33
+ method: 'GET',
34
+ url: '/emit-driver-update',
25
35
  });
26
36
  }
27
37
  }
@@ -10,4 +10,5 @@ export * from './CustomersService';
10
10
  export * from './DriverAuthService';
11
11
  export * from './DriverTripsService';
12
12
  export * from './DriversService';
13
+ export * from './HealthService';
13
14
  export * from './MainService';
package/services/index.js CHANGED
@@ -26,4 +26,5 @@ __exportStar(require("./CustomersService"), exports);
26
26
  __exportStar(require("./DriverAuthService"), exports);
27
27
  __exportStar(require("./DriverTripsService"), exports);
28
28
  __exportStar(require("./DriversService"), exports);
29
+ __exportStar(require("./HealthService"), exports);
29
30
  __exportStar(require("./MainService"), exports);
@@ -0,0 +1,54 @@
1
+ import { DriverLocationMap, DriverLocationWithClientID } from './types';
2
+ export declare class SocketServiceBak {
3
+ private socket;
4
+ constructor(baseUrl: string, token?: string);
5
+ connect(): void;
6
+ disconnect(): void;
7
+ isConnected(): boolean;
8
+ isActive(): boolean;
9
+ on<T = any>(event: string, cb: (data: T) => void): void;
10
+ off(event: string, cb?: (...args: any[]) => void): void;
11
+ emit<T = any>(event: string, data: T): void;
12
+ sendMessage(message: string): void;
13
+ onMessageReceived(cb: (data: {
14
+ text: string;
15
+ }) => void): void;
16
+ offMessageReceived(cb: (data: {
17
+ text: string;
18
+ }) => void): void;
19
+ updateLocation(data: DriverLocationWithClientID): void;
20
+ onLocationUpdated(cb: (data: DriverLocationMap) => void): void;
21
+ offLocationUpdated(cb: (data: DriverLocationMap) => void): void;
22
+ onAllLocations(cb: (data: DriverLocationMap) => void): void;
23
+ offAllLocations(cb: (data: DriverLocationMap) => void): void;
24
+ sendHeartbeat(clientID: string): void;
25
+ onHeartbeatReceived(cb: (data: {
26
+ clientID: string;
27
+ timestamp: number;
28
+ }) => void): void;
29
+ offHeartbeatReceived(cb: (data: {
30
+ clientID: string;
31
+ timestamp: number;
32
+ }) => void): void;
33
+ onAllHeartbeats(cb: (data: {
34
+ [clientID: string]: number;
35
+ }) => void): void;
36
+ offAllHeartbeats(cb: (data: {
37
+ [clientID: string]: number;
38
+ }) => void): void;
39
+ updateServiceOrderStatus(orderID: string, status: number): void;
40
+ onServiceOrderStatusUpdated(callback: (data: {
41
+ orderID: string;
42
+ status: number;
43
+ }) => void): void;
44
+ offServiceOrderStatusUpdated(callback: (data: {
45
+ orderID: string;
46
+ status: number;
47
+ }) => void): void;
48
+ onAllServiceOrderStatuses(callback: (statuses: {
49
+ [orderID: string]: number;
50
+ }) => void): void;
51
+ offAllServiceOrderStatuses(callback: (statuses: {
52
+ [orderID: string]: number;
53
+ }) => void): void;
54
+ }
@@ -0,0 +1,99 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SocketServiceBak = void 0;
4
+ const socket_io_client_1 = require("socket.io-client");
5
+ class SocketServiceBak {
6
+ /*
7
+ constructor(baseUrl: string) {
8
+ this.socket = io(baseUrl, { transports: ['websocket'] });
9
+ }
10
+ */
11
+ constructor(baseUrl, token) {
12
+ this.socket = (0, socket_io_client_1.io)(baseUrl, {
13
+ transports: ['websocket'],
14
+ auth: token ? { token } : undefined, // ✅ send token if available
15
+ });
16
+ }
17
+ connect() {
18
+ this.socket.connect();
19
+ }
20
+ disconnect() {
21
+ this.socket.disconnect();
22
+ }
23
+ isConnected() {
24
+ return this.socket.connected;
25
+ }
26
+ isActive() {
27
+ return this.socket.active;
28
+ }
29
+ on(event, cb) {
30
+ this.socket.on(event, cb);
31
+ }
32
+ off(event, cb) {
33
+ if (cb) {
34
+ this.socket.off(event, cb);
35
+ }
36
+ else {
37
+ this.socket.removeAllListeners(event);
38
+ }
39
+ }
40
+ emit(event, data) {
41
+ this.socket.emit(event, data);
42
+ }
43
+ // Custom methods
44
+ sendMessage(message) {
45
+ this.emit('message', { text: message });
46
+ }
47
+ onMessageReceived(cb) {
48
+ this.on('messageReceived', cb);
49
+ }
50
+ offMessageReceived(cb) {
51
+ this.off('messageReceived', cb);
52
+ }
53
+ updateLocation(data) {
54
+ this.emit('updateLocation', { ...data });
55
+ }
56
+ onLocationUpdated(cb) {
57
+ this.on('locationUpdated', cb);
58
+ }
59
+ offLocationUpdated(cb) {
60
+ this.off('locationUpdated', cb);
61
+ }
62
+ onAllLocations(cb) {
63
+ this.on('allLocations', cb);
64
+ }
65
+ offAllLocations(cb) {
66
+ this.off('allLocations', cb);
67
+ }
68
+ sendHeartbeat(clientID) {
69
+ this.emit('heartbeat', { clientID });
70
+ }
71
+ onHeartbeatReceived(cb) {
72
+ this.on('heartbeatReceived', cb);
73
+ }
74
+ offHeartbeatReceived(cb) {
75
+ this.off('heartbeatReceived', cb);
76
+ }
77
+ onAllHeartbeats(cb) {
78
+ this.on('allHeartbeats', cb);
79
+ }
80
+ offAllHeartbeats(cb) {
81
+ this.off('allHeartbeats', cb);
82
+ }
83
+ updateServiceOrderStatus(orderID, status) {
84
+ this.emit('serviceOrderStatusUpdate', { orderID, status });
85
+ }
86
+ onServiceOrderStatusUpdated(callback) {
87
+ this.on('serviceOrderStatusUpdated', callback);
88
+ }
89
+ offServiceOrderStatusUpdated(callback) {
90
+ this.off('serviceOrderStatusUpdated', callback);
91
+ }
92
+ onAllServiceOrderStatuses(callback) {
93
+ this.on('allServiceOrderStatuses', callback);
94
+ }
95
+ offAllServiceOrderStatuses(callback) {
96
+ this.off('allServiceOrderStatuses', callback);
97
+ }
98
+ }
99
+ exports.SocketServiceBak = SocketServiceBak;
@@ -1,54 +1,27 @@
1
- import { DriverLocationMap, DriverLocationWithClientID } from './types';
2
1
  export declare class SocketService {
3
2
  private socket;
4
- constructor(baseUrl: string, token?: string);
3
+ private token;
4
+ private constructor();
5
+ splitSocketUrl(baseUrl: string): {
6
+ url: string;
7
+ path: string;
8
+ };
9
+ static getInstance(): Promise<SocketService>;
10
+ setToken(token: string): void;
11
+ clearToken(): void;
5
12
  connect(): void;
6
13
  disconnect(): void;
7
14
  isConnected(): boolean;
8
- isActive(): boolean;
9
15
  on<T = any>(event: string, cb: (data: T) => void): void;
10
16
  off(event: string, cb?: (...args: any[]) => void): void;
11
17
  emit<T = any>(event: string, data: T): void;
12
- sendMessage(message: string): void;
13
- onMessageReceived(cb: (data: {
14
- text: string;
15
- }) => void): void;
16
- offMessageReceived(cb: (data: {
17
- text: string;
18
- }) => void): void;
19
- updateLocation(data: DriverLocationWithClientID): void;
20
- onLocationUpdated(cb: (data: DriverLocationMap) => void): void;
21
- offLocationUpdated(cb: (data: DriverLocationMap) => void): void;
22
- onAllLocations(cb: (data: DriverLocationMap) => void): void;
23
- offAllLocations(cb: (data: DriverLocationMap) => void): void;
24
- sendHeartbeat(clientID: string): void;
25
- onHeartbeatReceived(cb: (data: {
26
- clientID: string;
27
- timestamp: number;
28
- }) => void): void;
29
- offHeartbeatReceived(cb: (data: {
30
- clientID: string;
31
- timestamp: number;
32
- }) => void): void;
33
- onAllHeartbeats(cb: (data: {
34
- [clientID: string]: number;
35
- }) => void): void;
36
- offAllHeartbeats(cb: (data: {
37
- [clientID: string]: number;
38
- }) => void): void;
39
- updateServiceOrderStatus(orderID: string, status: number): void;
40
- onServiceOrderStatusUpdated(callback: (data: {
41
- orderID: string;
42
- status: number;
43
- }) => void): void;
44
- offServiceOrderStatusUpdated(callback: (data: {
45
- orderID: string;
46
- status: number;
47
- }) => void): void;
48
- onAllServiceOrderStatuses(callback: (statuses: {
49
- [orderID: string]: number;
50
- }) => void): void;
51
- offAllServiceOrderStatuses(callback: (statuses: {
52
- [orderID: string]: number;
53
- }) => void): void;
18
+ onConnected(cb: (data: any) => void): void;
19
+ offConnected(cb?: (data: any) => void): void;
20
+ onDisconnected(cb: (data: any) => void): void;
21
+ offDisconnected(cb?: (data: any) => void): void;
22
+ onDriverStatusUpdate(cb: (data: any) => void): void;
23
+ offDriverStatusUpdate(cb?: (data: any) => void): void;
24
+ onTripUpdate(cb: (data: any) => void): void;
25
+ offTripUpdate(cb?: (data: any) => void): void;
26
+ updateDriverStatus(data: Object): void;
54
27
  }
package/socketService.js CHANGED
@@ -2,18 +2,55 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.SocketService = void 0;
4
4
  const socket_io_client_1 = require("socket.io-client");
5
+ const OpenAPI_1 = require("./core/OpenAPI");
6
+ let instance = null;
5
7
  class SocketService {
6
- /*
7
- constructor(baseUrl: string) {
8
- this.socket = io(baseUrl, { transports: ['websocket'] });
9
- }
10
- */
11
- constructor(baseUrl, token) {
12
- this.socket = (0, socket_io_client_1.io)(baseUrl, {
8
+ constructor(baseUrl) {
9
+ const { url, path } = this.splitSocketUrl(baseUrl);
10
+ this.socket = (0, socket_io_client_1.io)(url, {
11
+ path,
13
12
  transports: ['websocket'],
14
- auth: token ? { token } : undefined, // ✅ send token if available
13
+ autoConnect: false,
15
14
  });
16
15
  }
16
+ splitSocketUrl(baseUrl) {
17
+ // Absolute URL (prod)
18
+ if (/^https?:\/\//i.test(baseUrl)) {
19
+ const u = new URL(baseUrl);
20
+ return {
21
+ url: u.origin,
22
+ path: u.pathname,
23
+ };
24
+ }
25
+ // Relative URL (dev)
26
+ return {
27
+ url: '/',
28
+ path: baseUrl,
29
+ };
30
+ }
31
+ static async getInstance() {
32
+ if (!instance) {
33
+ const url = `${OpenAPI_1.OpenAPI.BASE}/realtime`;
34
+ instance = new SocketService(url);
35
+ }
36
+ return instance;
37
+ }
38
+ setToken(token) {
39
+ this.token = token;
40
+ this.socket.auth = { token };
41
+ // always force re-auth
42
+ if (this.socket.connected) {
43
+ this.socket.disconnect();
44
+ }
45
+ this.socket.connect();
46
+ }
47
+ clearToken() {
48
+ this.token = undefined;
49
+ if (!this.socket || !this.socket.auth)
50
+ return;
51
+ this.socket.auth = {};
52
+ this.disconnect();
53
+ }
17
54
  connect() {
18
55
  this.socket.connect();
19
56
  }
@@ -23,9 +60,6 @@ class SocketService {
23
60
  isConnected() {
24
61
  return this.socket.connected;
25
62
  }
26
- isActive() {
27
- return this.socket.active;
28
- }
29
63
  on(event, cb) {
30
64
  this.socket.on(event, cb);
31
65
  }
@@ -40,60 +74,53 @@ class SocketService {
40
74
  emit(event, data) {
41
75
  this.socket.emit(event, data);
42
76
  }
43
- // Custom methods
44
- sendMessage(message) {
45
- this.emit('message', { text: message });
46
- }
47
- onMessageReceived(cb) {
48
- this.on('messageReceived', cb);
49
- }
50
- offMessageReceived(cb) {
51
- this.off('messageReceived', cb);
52
- }
53
- updateLocation(data) {
54
- this.emit('updateLocation', { ...data });
55
- }
56
- onLocationUpdated(cb) {
57
- this.on('locationUpdated', cb);
58
- }
59
- offLocationUpdated(cb) {
60
- this.off('locationUpdated', cb);
61
- }
62
- onAllLocations(cb) {
63
- this.on('allLocations', cb);
64
- }
65
- offAllLocations(cb) {
66
- this.off('allLocations', cb);
67
- }
68
- sendHeartbeat(clientID) {
69
- this.emit('heartbeat', { clientID });
70
- }
71
- onHeartbeatReceived(cb) {
72
- this.on('heartbeatReceived', cb);
77
+ // Additional methods for specific events can be added here
78
+ onConnected(cb) {
79
+ this.socket.on('connected', cb);
73
80
  }
74
- offHeartbeatReceived(cb) {
75
- this.off('heartbeatReceived', cb);
81
+ offConnected(cb) {
82
+ if (cb) {
83
+ this.socket.off('connected', cb);
84
+ }
85
+ else {
86
+ this.socket.removeAllListeners('connected');
87
+ }
76
88
  }
77
- onAllHeartbeats(cb) {
78
- this.on('allHeartbeats', cb);
89
+ onDisconnected(cb) {
90
+ this.socket.on('disconnected', cb);
79
91
  }
80
- offAllHeartbeats(cb) {
81
- this.off('allHeartbeats', cb);
92
+ offDisconnected(cb) {
93
+ if (cb) {
94
+ this.socket.off('disconnected', cb);
95
+ }
96
+ else {
97
+ this.socket.removeAllListeners('disconnected');
98
+ }
82
99
  }
83
- updateServiceOrderStatus(orderID, status) {
84
- this.emit('serviceOrderStatusUpdate', { orderID, status });
100
+ onDriverStatusUpdate(cb) {
101
+ this.socket.on('driverStatusUpdate', cb);
85
102
  }
86
- onServiceOrderStatusUpdated(callback) {
87
- this.on('serviceOrderStatusUpdated', callback);
103
+ offDriverStatusUpdate(cb) {
104
+ if (cb) {
105
+ this.socket.off('driverStatusUpdate', cb);
106
+ }
107
+ else {
108
+ this.socket.removeAllListeners('driverStatusUpdate');
109
+ }
88
110
  }
89
- offServiceOrderStatusUpdated(callback) {
90
- this.off('serviceOrderStatusUpdated', callback);
111
+ onTripUpdate(cb) {
112
+ this.socket.on('tripUpdate', cb);
91
113
  }
92
- onAllServiceOrderStatuses(callback) {
93
- this.on('allServiceOrderStatuses', callback);
114
+ offTripUpdate(cb) {
115
+ if (cb) {
116
+ this.socket.off('tripUpdate', cb);
117
+ }
118
+ else {
119
+ this.socket.removeAllListeners('tripUpdate');
120
+ }
94
121
  }
95
- offAllServiceOrderStatuses(callback) {
96
- this.off('allServiceOrderStatuses', callback);
122
+ updateDriverStatus(data) {
123
+ this.emit('updateDriverStatus', { ...data });
97
124
  }
98
125
  }
99
126
  exports.SocketService = SocketService;