@pick2me/shared 1.0.3

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 (106) hide show
  1. package/dist/auth/auth.d.ts +9 -0
  2. package/dist/auth/auth.d.ts.map +1 -0
  3. package/dist/auth/auth.js +82 -0
  4. package/dist/auth/index.d.ts +4 -0
  5. package/dist/auth/index.d.ts.map +1 -0
  6. package/dist/auth/index.js +2 -0
  7. package/dist/auth/verifyGatewayJwt.d.ts +14 -0
  8. package/dist/auth/verifyGatewayJwt.d.ts.map +1 -0
  9. package/dist/auth/verifyGatewayJwt.js +47 -0
  10. package/dist/constants/index.d.ts +2 -0
  11. package/dist/constants/index.d.ts.map +1 -0
  12. package/dist/constants/index.js +1 -0
  13. package/dist/constants/redis-keys.d.ts +10 -0
  14. package/dist/constants/redis-keys.d.ts.map +1 -0
  15. package/dist/constants/redis-keys.js +14 -0
  16. package/dist/errors/HttpError.d.ts +17 -0
  17. package/dist/errors/HttpError.d.ts.map +1 -0
  18. package/dist/errors/HttpError.js +17 -0
  19. package/dist/errors/errorHandler.d.ts +3 -0
  20. package/dist/errors/errorHandler.d.ts.map +1 -0
  21. package/dist/errors/errorHandler.js +37 -0
  22. package/dist/errors/index.d.ts +10 -0
  23. package/dist/errors/index.d.ts.map +1 -0
  24. package/dist/errors/index.js +9 -0
  25. package/dist/interfaces/common-response.d.ts +14 -0
  26. package/dist/interfaces/common-response.d.ts.map +1 -0
  27. package/dist/interfaces/common-response.js +1 -0
  28. package/dist/interfaces/common-types.d.ts +39 -0
  29. package/dist/interfaces/common-types.d.ts.map +1 -0
  30. package/dist/interfaces/common-types.js +1 -0
  31. package/dist/interfaces/index.d.ts +5 -0
  32. package/dist/interfaces/index.d.ts.map +1 -0
  33. package/dist/interfaces/index.js +4 -0
  34. package/dist/interfaces/rabbit-event-types.d.ts +6 -0
  35. package/dist/interfaces/rabbit-event-types.d.ts.map +1 -0
  36. package/dist/interfaces/rabbit-event-types.js +1 -0
  37. package/dist/interfaces/status-code.d.ts +66 -0
  38. package/dist/interfaces/status-code.d.ts.map +1 -0
  39. package/dist/interfaces/status-code.js +66 -0
  40. package/dist/messaging/index.d.ts +4 -0
  41. package/dist/messaging/index.d.ts.map +1 -0
  42. package/dist/messaging/index.js +3 -0
  43. package/dist/messaging/rabbitmq.config.d.ts +35 -0
  44. package/dist/messaging/rabbitmq.config.d.ts.map +1 -0
  45. package/dist/messaging/rabbitmq.config.js +43 -0
  46. package/dist/messaging/rabbitmq.d.ts +20 -0
  47. package/dist/messaging/rabbitmq.d.ts.map +1 -0
  48. package/dist/messaging/rabbitmq.js +65 -0
  49. package/dist/messaging/rabbitmq.utils.d.ts +3 -0
  50. package/dist/messaging/rabbitmq.utils.d.ts.map +1 -0
  51. package/dist/messaging/rabbitmq.utils.js +30 -0
  52. package/dist/mongo/connection.d.ts +2 -0
  53. package/dist/mongo/connection.d.ts.map +1 -0
  54. package/dist/mongo/connection.js +13 -0
  55. package/dist/mongo/i-mongo-base-repository.d.ts +16 -0
  56. package/dist/mongo/i-mongo-base-repository.d.ts.map +1 -0
  57. package/dist/mongo/i-mongo-base-repository.js +1 -0
  58. package/dist/mongo/index.d.ts +4 -0
  59. package/dist/mongo/index.d.ts.map +1 -0
  60. package/dist/mongo/index.js +3 -0
  61. package/dist/mongo/mongo-base-repository.d.ts +19 -0
  62. package/dist/mongo/mongo-base-repository.d.ts.map +1 -0
  63. package/dist/mongo/mongo-base-repository.js +114 -0
  64. package/dist/protos/booking.proto +22 -0
  65. package/dist/protos/driver.proto +450 -0
  66. package/dist/protos/index.d.ts +12 -0
  67. package/dist/protos/index.d.ts.map +1 -0
  68. package/dist/protos/index.js +30 -0
  69. package/dist/protos/index.ts +36 -0
  70. package/dist/protos/payment.proto +37 -0
  71. package/dist/protos/realtime.proto +19 -0
  72. package/dist/protos/user.proto +18 -0
  73. package/dist/redis/RedisService.d.ts +37 -0
  74. package/dist/redis/RedisService.d.ts.map +1 -0
  75. package/dist/redis/RedisService.js +203 -0
  76. package/dist/redis/client.d.ts +4 -0
  77. package/dist/redis/client.d.ts.map +1 -0
  78. package/dist/redis/client.js +7 -0
  79. package/dist/redis/index.d.ts +3 -0
  80. package/dist/redis/index.d.ts.map +1 -0
  81. package/dist/redis/index.js +2 -0
  82. package/dist/sql/i-sql-base-repository.d.ts +10 -0
  83. package/dist/sql/i-sql-base-repository.d.ts.map +1 -0
  84. package/dist/sql/i-sql-base-repository.js +1 -0
  85. package/dist/sql/index.d.ts +3 -0
  86. package/dist/sql/index.d.ts.map +1 -0
  87. package/dist/sql/index.js +2 -0
  88. package/dist/sql/sql-base-repository.d.ts +15 -0
  89. package/dist/sql/sql-base-repository.d.ts.map +1 -0
  90. package/dist/sql/sql-base-repository.js +74 -0
  91. package/dist/utils/asyncHandler.d.ts +3 -0
  92. package/dist/utils/asyncHandler.d.ts.map +1 -0
  93. package/dist/utils/asyncHandler.js +5 -0
  94. package/dist/utils/bcrypt.d.ts +5 -0
  95. package/dist/utils/bcrypt.d.ts.map +1 -0
  96. package/dist/utils/bcrypt.js +9 -0
  97. package/dist/utils/catchAsync.d.ts +3 -0
  98. package/dist/utils/catchAsync.d.ts.map +1 -0
  99. package/dist/utils/catchAsync.js +3 -0
  100. package/dist/utils/envChecker.d.ts +10 -0
  101. package/dist/utils/envChecker.d.ts.map +1 -0
  102. package/dist/utils/envChecker.js +26 -0
  103. package/dist/utils/index.d.ts +4 -0
  104. package/dist/utils/index.d.ts.map +1 -0
  105. package/dist/utils/index.js +3 -0
  106. package/package.json +119 -0
@@ -0,0 +1,450 @@
1
+ syntax = "proto3";
2
+ package driver_package;
3
+
4
+ service DriverService {
5
+ //------------- driver Register rpc ---------
6
+ rpc Register (RegisterReq) returns (CommonRes) {}
7
+ rpc checkRegisterDriver (mobileReq) returns (checkRegisterDriverRes){}
8
+ rpc identificationUpdate (identificationUpdateReq) returns (CommonRes){}
9
+ rpc updateDriverImage (updateDriverImageReq) returns (CommonRes){}
10
+ rpc vehicleUpdate (vehicleUpdateReq) returns (CommonRes){}
11
+ rpc vehicleInsurancePollutionUpdate (vehicleInsurancePollutionUpdateReq) returns (CommonRes){}
12
+ rpc locationUpdate (locationUpdateReq) returns (CommonRes){}
13
+ // -----------driver login rpc -------------
14
+ rpc CheckLoginDriver (mobileReq) returns (CheckLoginDriverRes) {}
15
+ rpc CheckGoogleLoginDriver (CheckGoogleLoginDriverReq) returns (CheckLoginDriverRes) {}
16
+ rpc GetResubmissionDocuments (idReq) returns (GetResubmissionDocumentsRes) {}
17
+ rpc postResubmissionDocuments (postResubmissionDocumentsReq) returns (CommonRes) {}
18
+ //-------------driver rpc -----------
19
+ rpc fetchDriverProfile(idReq) returns (IResponse_DriverProfileDTO){}
20
+ rpc updateDriverProfile(updateDriverProfileReq) returns (IResponse_UpdateNull){}
21
+ rpc fetchDriverDocuments(idReq) returns (IResponse_DocumentsDTO){}
22
+ rpc updateDriverDocuments (UpdateDriverDocumentsReq) returns (IResponse_UpdateNull){}
23
+ rpc handleOnlineChange(handleOnlineChangeReq) returns (CommonRes) {}
24
+ // ---------- admin's driver rpc ----------
25
+ rpc GetDriversListByAccountStatus(PaginationQuery) returns (IResponse_PaginatedUserListDTO) {}
26
+ rpc AdminUpdateDriverAccountStatus(AdminUpdateDriverStatusReq) returns (IResponse_Boolean){}
27
+ rpc AdminGetDriverDetailsById(IdReq) returns (IResponse_AdminDriverDetailsDTO){}
28
+ // ----------- ride driver rpc -------------
29
+ rpc getOnlineDriverDetails (IdReq) returns (IResponse_OnlineDriverDTO){}
30
+ rpc updateDriverCancelCount (IdReq) returns (IResponse_UpdateNull){}
31
+ rpc AddEarnings (AddEarningsRequest) returns (DriverResponse);
32
+ rpc RollbackEarnings (RollbackEarningsRequest) returns (DriverResponse);
33
+ }
34
+
35
+ message AddEarningsRequest {
36
+ string driverId = 1;
37
+ double adminShare = 2;
38
+ double driverShare = 3;
39
+ string transactionId = 4;
40
+ }
41
+
42
+ message RollbackEarningsRequest {
43
+ string driverId = 1;
44
+ double amount = 2;
45
+ }
46
+
47
+ message DriverResponse {
48
+ string status = 1;
49
+ string message = 2;
50
+ }
51
+
52
+
53
+ message handleOnlineChangeReq {
54
+ bool online = 1;
55
+ string driverId = 2;
56
+ Coordinates location = 3;
57
+ string onlineTimestamp = 4;
58
+ }
59
+
60
+ message Coordinates {
61
+ double lat = 1;
62
+ double lng = 2;
63
+ }
64
+
65
+ message PaginationQuery {
66
+ string page = 1;
67
+ string limit = 2;
68
+ string search = 3;
69
+ string status = 4;
70
+ }
71
+
72
+ message PaginatedUserListDTO {
73
+ repeated AdminDriverListDTO drivers = 1;
74
+ Pagination pagination = 2;
75
+ }
76
+
77
+ message Pagination {
78
+ int32 currentPage = 1;
79
+ int32 totalPages = 2;
80
+ int32 totalItems = 3;
81
+ int32 itemsPerPage = 4;
82
+ bool hasNextPage = 5;
83
+ bool hasPreviousPage = 6;
84
+ }
85
+
86
+ message IResponse_PaginatedUserListDTO {
87
+ int32 status = 1;
88
+ string message = 2;
89
+ string navigate = 3;
90
+ PaginatedUserListDTO data = 4;
91
+ }
92
+
93
+ message OnlineDriverDTO {
94
+ string driverName = 1;
95
+ string driverId = 2;
96
+ int32 cancelledRides = 3;
97
+ string vehicleModel = 4;
98
+ string color = 5;
99
+ float rating = 6;
100
+ string vehicleNumber = 7;
101
+ string driverImage = 8;
102
+ int64 mobile = 9;
103
+ }
104
+
105
+ message IResponse_OnlineDriverDTO {
106
+ int32 status = 1;
107
+ string message = 2;
108
+ string navigate = 3;
109
+ OnlineDriverDTO data = 4;
110
+ }
111
+
112
+ message CreateRideDTO {
113
+ string rideId = 1;
114
+ string driverId = 2;
115
+ string estimatedArrival = 3;
116
+ string status = 4;
117
+ }
118
+
119
+ // ================ REQUEST MESSAGES ====================
120
+ message AccountStatusReq {
121
+ string accountStatus = 1;
122
+ }
123
+
124
+ message AdminUpdateDriverStatusReq {
125
+ string id = 1;
126
+ string status = 2;
127
+ string reason = 3;
128
+ repeated string fields = 4; // Optional updated fields
129
+ }
130
+
131
+ message IdReq {
132
+ string id = 1;
133
+ }
134
+
135
+ // ================ RESPONSE WRAPPERS ====================
136
+ message IResponse_AdminDriverListDTO {
137
+ int32 status = 1;
138
+ string message = 2;
139
+ string navigate = 3;
140
+ repeated AdminDriverListDTO data = 4;
141
+ }
142
+
143
+ message IResponse_AdminDriverDetailsDTO {
144
+ int32 status = 1;
145
+ string message = 2;
146
+ string navigate = 3;
147
+ AdminDriverDetailsDTO data = 4;
148
+ }
149
+
150
+ message IResponse_Boolean {
151
+ int32 status = 1;
152
+ string message = 2;
153
+ string navigate = 3;
154
+ bool data = 4;
155
+ }
156
+
157
+ // ================ DATA TRANSFER OBJECTS ====================
158
+ message AdminDriverListDTO {
159
+ string id = 1;
160
+ string name = 2;
161
+ string email = 3;
162
+ string mobile = 4;
163
+ string joiningDate = 5;
164
+ string accountStatus = 6;
165
+ string vehicle = 7;
166
+ string driverImage = 8;
167
+ }
168
+
169
+ message AdminDriverDetailsDTO {
170
+ string _id = 1;
171
+ string name = 2;
172
+ string email = 3;
173
+ int64 mobile = 4;
174
+ string driverImage = 5;
175
+ string joiningDate = 6;
176
+ string address = 7;
177
+ int32 totalCompletedRides = 8;
178
+ int32 totalCancelledRides = 9;
179
+ int32 walletBalance = 10;
180
+ int32 adminCommission = 11;
181
+ string accountStatus = 12;
182
+ bool isAvailable = 13;
183
+ int32 totalRatings = 14;
184
+
185
+ Aadhar aadhar = 15;
186
+ License license = 16;
187
+ VehicleDetailsExtended vehicleDetails = 17;
188
+ Location location = 18;
189
+ }
190
+
191
+ // ================ NESTED/REUSED STRUCTURES ====================
192
+ message VehicleDetailsExtended {
193
+ string registrationId = 1;
194
+ string vehicleNumber = 2;
195
+ string vehicleColor = 3;
196
+ string model = 4;
197
+ string rcFrontImageUrl = 5;
198
+ string rcBackImageUrl = 6;
199
+ string carFrontImageUrl = 7;
200
+ string carBackImageUrl = 8;
201
+ string rcStartDate = 9;
202
+ string rcExpiryDate = 10;
203
+ string insuranceImageUrl = 11;
204
+ string insuranceStartDate = 12;
205
+ string insuranceExpiryDate = 13;
206
+ string pollutionImageUrl = 14;
207
+ string pollutionStartDate = 15;
208
+ string pollutionExpiryDate = 16;
209
+ }
210
+
211
+ message Location {
212
+ string latitude = 1;
213
+ string longitude = 2;
214
+ string address = 3;
215
+ }
216
+
217
+ message UpdateDriverDocumentsReq {
218
+ string driverId = 1;
219
+ string section = 2;
220
+ string updates = 3;
221
+ }
222
+
223
+ message IResponse_DocumentsDTO {
224
+ int32 status = 1;
225
+ string message = 2;
226
+ string navigate = 3;
227
+ DriverDocumentDTO data = 4;
228
+ }
229
+
230
+ // === DriverDocumentDTO ===
231
+ message DriverDocumentDTO {
232
+ string _id = 1;
233
+ Aadhar aadhar = 2;
234
+ License license = 3;
235
+ VehicleRC vehicleRC = 4;
236
+ VehicleDetails vehicleDetails = 5;
237
+ Insurance insurance = 6;
238
+ Pollution pollution = 7;
239
+ }
240
+
241
+ // === Aadhar ===
242
+ message Aadhar {
243
+ string id = 1;
244
+ string frontImageUrl = 2;
245
+ string backImageUrl = 3;
246
+ }
247
+
248
+ // === License ===
249
+ message License {
250
+ string id = 1;
251
+ string frontImageUrl = 2;
252
+ string backImageUrl = 3;
253
+ string validity = 4; // Use string for date (ISO format)
254
+ }
255
+
256
+ // === VehicleRC ===
257
+ message VehicleRC {
258
+ string registrationId = 1;
259
+ string rcFrontImageUrl = 2;
260
+ string rcBackImageUrl = 3;
261
+ string rcStartDate = 4; // Use string for date
262
+ string rcExpiryDate = 5; // Use string for date
263
+ }
264
+
265
+ // === VehicleDetails ===
266
+ message VehicleDetails {
267
+ string vehicleNumber = 1;
268
+ string vehicleColor = 2;
269
+ string model = 3;
270
+ string carFrontImageUrl = 4;
271
+ string carBackImageUrl = 5;
272
+ }
273
+
274
+ // === Insurance ===
275
+ message Insurance {
276
+ string insuranceImageUrl = 1;
277
+ string insuranceStartDate = 2;
278
+ string insuranceExpiryDate = 3;
279
+ }
280
+
281
+ // === Pollution ===
282
+ message Pollution {
283
+ string pollutionImageUrl = 1;
284
+ string pollutionStartDate = 2;
285
+ string pollutionExpiryDate = 3;
286
+ }
287
+
288
+ message updateDriverProfileReq{
289
+ string driverId = 1;
290
+ string name = 2;
291
+ string imageUrl = 3;
292
+ }
293
+
294
+ message IResponse_UpdateNull {
295
+ int32 status = 1;
296
+ string message = 2;
297
+ string navigate = 3;
298
+ bool data = 4;
299
+ }
300
+
301
+ message IResponse_DriverProfileDTO {
302
+ int32 status = 1;
303
+ string message = 2;
304
+ string navigate = 3;
305
+ DriverProfileDTO data = 4;
306
+ }
307
+
308
+ message DriverProfileDTO{
309
+ string name = 1;
310
+ string email = 2;
311
+ string mobile = 3;
312
+ string driverImage = 4;
313
+ string address = 5;
314
+ int32 totalRatings = 6;
315
+ string joiningDate = 7;
316
+ int32 completedRides = 8;
317
+ int32 cancelledRides = 9;
318
+ int32 walletBalance = 10;
319
+ int32 adminCommission = 11;
320
+ }
321
+
322
+ message locationUpdateReq{
323
+ string driverId =1;
324
+ string latitude = 2;
325
+ string longitude = 3;
326
+ string address = 4;
327
+ }
328
+
329
+ message vehicleInsurancePollutionUpdateReq{
330
+ string driverId =1;
331
+ string insuranceStartDate =2;
332
+ string insuranceExpiryDate =3;
333
+ string pollutionStartDate =4;
334
+ string pollutionExpiryDate =5;
335
+ string pollutionImageUrl =6;
336
+ string insuranceImageUrl =7;
337
+ }
338
+
339
+ message vehicleUpdateReq{
340
+ string driverId =1;
341
+ string registrationId =2;
342
+ string model = 3;
343
+ string vehicleColor =4;
344
+ string vehicleNumber=5;
345
+ string rcStartDate =6;
346
+ string rcExpiryDate =7;
347
+ string rcFrondImageUrl =8;
348
+ string rcBackImageUrl =9;
349
+ string carFrondImageUrl =10;
350
+ string carBackImageUrl = 11;
351
+ }
352
+
353
+ message updateDriverImageReq{
354
+ string driverId = 1;
355
+ string driverImageUrl = 2;
356
+ }
357
+
358
+ message identificationUpdateReq{
359
+ string driverId = 1;
360
+ string aadharID = 2;
361
+ string licenseID =3;
362
+ string aadharFrontImage = 4;
363
+ string aadharBackImage = 5;
364
+ string licenseValidity =6;
365
+ string licenseFrontImage = 7;
366
+ string licenseBackImage = 8;
367
+ }
368
+
369
+ message mobileReq{
370
+ string mobile = 1;
371
+ }
372
+
373
+ message checkRegisterDriverRes{
374
+ int32 status = 1;
375
+ string message = 2;
376
+ bool isFullyRegistered = 3;
377
+ string driverId = 4;
378
+ string nextStep = 5;
379
+ }
380
+
381
+ message RegisterReq{
382
+ string name = 1;
383
+ string email = 2;
384
+ string mobile = 3;
385
+ string password = 4;
386
+ string referralCode = 5;
387
+ }
388
+
389
+ message postResubmissionDocumentsReq{
390
+ string driverId = 1;
391
+ string model = 2;
392
+ string insuranceStartDate = 3;
393
+ string insuranceExpiryDate = 4;
394
+ string pollutionStartDate = 5;
395
+ string pollutionExpiryDate = 6;
396
+ string aadharID = 7;
397
+ string licenseID = 8;
398
+ string licenseValidity = 9;
399
+ string carFrontImage = 10;
400
+ string insuranceImage = 11;
401
+ string carBackImage = 12;
402
+ string rcBackImage = 13;
403
+ string pollutionImage = 14;
404
+ string rcFrontImage = 15;
405
+ string driverImage = 16;
406
+ string aadharBackImage = 17;
407
+ string licenseFrontImage = 18;
408
+ string aadharFrontImage = 19;
409
+ string licenseBackImage = 20;
410
+ string registrationId = 21;
411
+ string latitude = 22;
412
+ string longitude = 23;
413
+ }
414
+
415
+ message CheckLoginDriverRes{
416
+ string status = 1;
417
+ string message = 2;
418
+ string navigate = 3;
419
+ string name = 4;
420
+ string refreshToken =5;
421
+ string token = 6;
422
+ string driverId = 7;
423
+ }
424
+
425
+ message CheckGoogleLoginDriverReq{
426
+ string email = 1;
427
+ }
428
+
429
+ message idReq{
430
+ string id =1;
431
+ }
432
+
433
+ message GetResubmissionDocumentsRes {
434
+ int32 status = 1;
435
+ string message = 2;
436
+ string navigate = 3;
437
+ Resubmission data = 4;
438
+ }
439
+
440
+ message CommonRes{
441
+ int32 status = 1;
442
+ string message = 2;
443
+ string id = 3;
444
+ string navigate = 4;
445
+ }
446
+ /////////////////model///////////////////
447
+ message Resubmission {
448
+ string driverId = 1;
449
+ repeated string fields = 2;
450
+ }
@@ -0,0 +1,12 @@
1
+ export declare function loadPackage(protoFilename: string): any;
2
+ export declare const userProto: any;
3
+ export declare const driverProto: any;
4
+ export declare const bookingProto: any;
5
+ export declare const realtimeProto: any;
6
+ export declare const paymentProto: any;
7
+ export declare const userServiceDescriptor: any;
8
+ export declare const driverServiceDescriptor: any;
9
+ export declare const bookingDescriptor: any;
10
+ export declare const realtimeServiceDescriptor: any;
11
+ export declare const paymentServiceDescriptor: any;
12
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/protos/index.ts"],"names":[],"mappings":"AAgBA,wBAAgB,WAAW,CAAC,aAAa,EAAE,MAAM,GAKE,GAAG,CACrD;AAED,eAAO,MAAM,SAAS,KAAyC,CAAC;AAChE,eAAO,MAAM,WAAW,KAA6C,CAAC;AACtE,eAAO,MAAM,YAAY,KAA+C,CAAC;AACzE,eAAO,MAAM,aAAa,KAAiD,CAAC;AAC5E,eAAO,MAAM,YAAY,KAA+C,CAAC;AAGzE,eAAO,MAAM,qBAAqB,KAA0C,CAAC;AAC7E,eAAO,MAAM,uBAAuB,KAA8C,CAAC;AACnF,eAAO,MAAM,iBAAiB,KAAgD,CAAC;AAC/E,eAAO,MAAM,yBAAyB,KAAkD,CAAC;AACzF,eAAO,MAAM,wBAAwB,KAA+C,CAAC"}
@@ -0,0 +1,30 @@
1
+ import path from "path";
2
+ import { loadSync } from "@grpc/proto-loader";
3
+ import * as grpc from "@grpc/grpc-js";
4
+ import { fileURLToPath } from "url";
5
+ const PROTO_OPTIONS = {
6
+ keepCase: false,
7
+ longs: String,
8
+ enums: String,
9
+ defaults: true,
10
+ oneofs: true
11
+ };
12
+ const __filename = fileURLToPath(import.meta.url);
13
+ const __dirname = path.dirname(__filename);
14
+ export function loadPackage(protoFilename) {
15
+ const protoPath = path.join(__dirname, protoFilename);
16
+ // function loadPackage(protoFilename: string) {
17
+ // const protoPath = path.join(__dirname, protoFilename);
18
+ const packageDef = loadSync(protoPath, PROTO_OPTIONS);
19
+ return grpc.loadPackageDefinition(packageDef);
20
+ }
21
+ export const userProto = loadPackage("user.proto").user_package;
22
+ export const driverProto = loadPackage("driver.proto").driver_package;
23
+ export const bookingProto = loadPackage("booking.proto").booking_package;
24
+ export const realtimeProto = loadPackage("realtime.proto").realtime_package;
25
+ export const paymentProto = loadPackage("payment.proto").payment_package;
26
+ export const userServiceDescriptor = userProto?.UserService?.service ?? null;
27
+ export const driverServiceDescriptor = driverProto?.DriverService?.service ?? null;
28
+ export const bookingDescriptor = bookingProto?.BookingService?.service ?? null;
29
+ export const realtimeServiceDescriptor = realtimeProto?.RealtimeService?.service ?? null;
30
+ export const paymentServiceDescriptor = paymentProto?.PaymentService.service ?? null;
@@ -0,0 +1,36 @@
1
+ import path from "path";
2
+ import { loadSync } from "@grpc/proto-loader";
3
+ import * as grpc from "@grpc/grpc-js";
4
+ import { fileURLToPath } from "url";
5
+
6
+ const PROTO_OPTIONS = {
7
+ keepCase: false,
8
+ longs: String,
9
+ enums: String,
10
+ defaults: true,
11
+ oneofs: true
12
+ };
13
+
14
+ const __filename = fileURLToPath(import.meta.url);
15
+ const __dirname = path.dirname(__filename);
16
+
17
+ export function loadPackage(protoFilename: string) {
18
+ const protoPath = path.join(__dirname, protoFilename);
19
+ // function loadPackage(protoFilename: string) {
20
+ // const protoPath = path.join(__dirname, protoFilename);
21
+ const packageDef = loadSync(protoPath, PROTO_OPTIONS);
22
+ return grpc.loadPackageDefinition(packageDef) as any;
23
+ }
24
+
25
+ export const userProto = loadPackage("user.proto").user_package;
26
+ export const driverProto = loadPackage("driver.proto").driver_package;
27
+ export const bookingProto = loadPackage("booking.proto").booking_package;
28
+ export const realtimeProto = loadPackage("realtime.proto").realtime_package;
29
+ export const paymentProto = loadPackage("payment.proto").payment_package;
30
+
31
+
32
+ export const userServiceDescriptor = userProto?.UserService?.service ?? null;
33
+ export const driverServiceDescriptor = driverProto?.DriverService?.service ?? null;
34
+ export const bookingDescriptor = bookingProto?.BookingService?.service ?? null;
35
+ export const realtimeServiceDescriptor = realtimeProto?.RealtimeService?.service ?? null;
36
+ export const paymentServiceDescriptor = paymentProto?.PaymentService.service ?? null;
@@ -0,0 +1,37 @@
1
+ syntax = "proto3";
2
+ package payment_package;
3
+
4
+ service PaymentService {
5
+ rpc CreateDriverConnectAccount(CreateDriverConnectAccountRequest) returns (CreateDriverConnectAccountResponse);
6
+ rpc GetUserWalletBalanceAndTransactions(GetUserWalletBalanceAndTransactionsReq) returns (GetUserWalletBalanceAndTransactionsRes);
7
+ rpc CheckDriverOnboardingStatus(CheckDriverOnboardingStatusReq) returns (CheckDriverOnboardingStatusRes);
8
+
9
+ }
10
+
11
+ message GetUserWalletBalanceAndTransactionsReq {
12
+ string userId = 1;
13
+ }
14
+
15
+ message GetUserWalletBalanceAndTransactionsRes {
16
+ string balance = 1;
17
+ int32 transactions = 2;
18
+ }
19
+
20
+ message CreateDriverConnectAccountRequest {
21
+ string driverId = 1;
22
+ string email = 2;
23
+ string idempotencyKey = 3;
24
+ }
25
+
26
+ message CreateDriverConnectAccountResponse {
27
+ string accountId = 1;
28
+ string accountLinkUrl = 2;
29
+ }
30
+
31
+ message CheckDriverOnboardingStatusReq {
32
+ string driverId = 1;
33
+ }
34
+
35
+ message CheckDriverOnboardingStatusRes{
36
+ bool onboardingStatus = 1;
37
+ }
@@ -0,0 +1,19 @@
1
+ syntax = "proto3";
2
+ package realtime_package;
3
+
4
+ service RealtimeService {
5
+ rpc CreateCheckoutSession(CheckoutSessionRequest) returns (CheckoutSessionResponse) {}
6
+ }
7
+
8
+ message CheckoutSessionRequest {
9
+ string bookingId = 1;
10
+ string userId = 2;
11
+ string driverId = 3;
12
+ double amount = 4;
13
+ string idempotencyKey = 5;
14
+ }
15
+
16
+ message CheckoutSessionResponse {
17
+ string sessionId = 1;
18
+ string message = 2;
19
+ }
@@ -0,0 +1,18 @@
1
+ syntax = "proto3";
2
+
3
+ package user_package;
4
+
5
+ service UserService {
6
+ rpc FetchUserInfoForBookingRide(FetchUserInfoForBookingRideReq) returns (FetchUserInfoForBookingRideRes) {}
7
+ }
8
+
9
+ message FetchUserInfoForBookingRideReq{
10
+ string userId = 1;
11
+ }
12
+
13
+ message FetchUserInfoForBookingRideRes {
14
+ string userId = 1;
15
+ string userName = 2;
16
+ string userNumber = 4;
17
+ string userProfile = 5;
18
+ }
@@ -0,0 +1,37 @@
1
+ import Redis from "ioredis";
2
+ import { Coordinates, NearbyDriver, OnlineDriverDetails } from "../interfaces/common-types";
3
+ export declare class RedisService {
4
+ private static instance;
5
+ private redis;
6
+ private constructor();
7
+ static init(url?: string): RedisService;
8
+ static getInstance(): RedisService;
9
+ raw(): Redis;
10
+ ping(): Promise<"PONG">;
11
+ addBlacklistedToken(token: string, expSeconds: number): Promise<void>;
12
+ checkBlacklistedToken(token: string): Promise<boolean>;
13
+ removeBlacklistedToken(token: string): Promise<boolean>;
14
+ set(key: string, value: any, ttlSeconds?: number): Promise<void>;
15
+ get(key: string): Promise<string | null>;
16
+ remove(key: string): Promise<boolean>;
17
+ private getHeartbeatKey;
18
+ setHeartbeat(driverId: string, ttl?: number, inRide?: boolean, payload?: Record<string, any>): Promise<void>;
19
+ getRideData(driverId: string): Promise<Record<string, string> | null>;
20
+ checkHeartbeat(driverId: string, inRide?: boolean): Promise<boolean>;
21
+ setOnlineDriver(driverDetails: OnlineDriverDetails, location: Coordinates): Promise<void>;
22
+ getOnlineDriverDetails(driverId: string): Promise<OnlineDriverDetails | null>;
23
+ removeOnlineDriver(driverId: string): Promise<void>;
24
+ updateDriverGeo(driverId: string, location: Coordinates, inride?: boolean): Promise<void>;
25
+ removeOnlineDriverGeo(driverId: string): Promise<void>;
26
+ findNearbyDrivers(latitude: number, longitude: number, radiusKm: number, limit?: number): Promise<NearbyDriver[]>;
27
+ getDriverGeoPosition(driverId: string, fromInRide?: boolean): Promise<{
28
+ latitude: number;
29
+ longitude: number;
30
+ } | null>;
31
+ moveDriverToInRideGeo(driverId: string, location?: {
32
+ latitude: number;
33
+ longitude: number;
34
+ } | null): Promise<void>;
35
+ moveDriverOutOfInRideGeo(driverId: string, location?: Coordinates): Promise<void>;
36
+ }
37
+ //# sourceMappingURL=RedisService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RedisService.d.ts","sourceRoot":"","sources":["../../src/redis/RedisService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,SAAS,CAAC;AAS5B,OAAO,EACL,WAAW,EACX,YAAY,EACZ,mBAAmB,EACpB,MAAM,4BAA4B,CAAC;AAEpC,qBAAa,YAAY;IACvB,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA6B;IACpD,OAAO,CAAC,KAAK,CAAQ;IAErB,OAAO;WAOO,IAAI,CAAC,GAAG,CAAC,EAAE,MAAM;WAYjB,WAAW,IAMC,YAAY;IAG/B,GAAG;IAKG,IAAI;IAKX,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAI9D,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAKtD,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAMvD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,SAAK,GAAG,OAAO,CAAC,IAAI,CAAC;IAI5D,GAAG,CAAC,GAAG,EAAE,MAAM;IAIf,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAiBlD,OAAO,CAAC,eAAe;IAIV,YAAY,CACvB,QAAQ,EAAE,MAAM,EAChB,GAAG,SAAM,EACT,MAAM,UAAQ,EACd,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAyBlB,WAAW,CAAC,QAAQ,EAAE,MAAM;IAW5B,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,UAAQ;IAQ/C,eAAe,CAC1B,aAAa,EAAE,mBAAmB,EAClC,QAAQ,EAAE,WAAW,GACpB,OAAO,CAAC,IAAI,CAAC;IAoBH,sBAAsB,CACjC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,mBAAmB,GAAG,IAAI,CAAC;IAuBzB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQnD,eAAe,CAC1B,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,WAAW,EACrB,MAAM,UAAQ,GACb,OAAO,CAAC,IAAI,CAAC;IAUH,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAItD,iBAAiB,CAC5B,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,KAAK,SAAK,GACT,OAAO,CAAC,YAAY,EAAE,CAAC;IA+Cb,oBAAoB,CAC/B,QAAQ,EAAE,MAAM,EAChB,UAAU,UAAQ,GACjB,OAAO,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAa7C,qBAAqB,CAChC,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,SAAS,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,GACxD,OAAO,CAAC,IAAI,CAAC;IAqBH,wBAAwB,CACnC,QAAQ,EAAE,MAAM,EAChB,QAAQ,CAAC,EAAE,WAAW,GACrB,OAAO,CAAC,IAAI,CAAC;CAYjB"}