@foodtolls/common 2.5.1 → 2.6.0
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/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/kafka-topics/all-topics.d.ts +243 -0
- package/dist/kafka-topics/all-topics.js +3 -0
- package/dist/kafka-topics/all-topics.js.map +1 -0
- package/dist/kafka-topics/index.d.ts +1 -0
- package/dist/kafka-topics/index.js +18 -0
- package/dist/kafka-topics/index.js.map +1 -0
- package/dist/kafka-topics/order.topics.d.ts +1 -0
- package/dist/kafka-topics/order.topics.js +18 -0
- package/dist/kafka-topics/order.topics.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/index.ts +1 -0
- package/src/kafka-topics/all-topics.ts +485 -0
|
@@ -0,0 +1,485 @@
|
|
|
1
|
+
import { CancelledType, OrderStatus, OrderType } from "src/enums/order.enum";
|
|
2
|
+
import { PAYMENTSTATUS, REFUNDSTATUS } from "src/enums/payment.enum";
|
|
3
|
+
import { DistanceTimeToReach } from "src/interfaces/gmap.interface";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Kafka Topic: Create.Order.Payment
|
|
7
|
+
* Producer: order-management-service
|
|
8
|
+
* Consumers: payment-service, user-service, notification-service
|
|
9
|
+
*
|
|
10
|
+
* Triggered when a new order is created and payment needs to be initiated
|
|
11
|
+
*/
|
|
12
|
+
export interface CreateOrderPaymentEvent {
|
|
13
|
+
orderId: string;
|
|
14
|
+
orderDetails: {
|
|
15
|
+
foodItem: Array<{
|
|
16
|
+
count: number;
|
|
17
|
+
name: string;
|
|
18
|
+
}>;
|
|
19
|
+
orderType: string;
|
|
20
|
+
serviceType: string;
|
|
21
|
+
gstCharges: number;
|
|
22
|
+
packagingCharges: number;
|
|
23
|
+
platformFee: number;
|
|
24
|
+
orderFinalPrice: number;
|
|
25
|
+
};
|
|
26
|
+
restaurantId: string;
|
|
27
|
+
userId: string;
|
|
28
|
+
amount: number;
|
|
29
|
+
currency: string;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* Kafka Topic: New.Order.Topic
|
|
34
|
+
* Producer: order-management-service
|
|
35
|
+
* Consumers: vendor-service, admin-service
|
|
36
|
+
*
|
|
37
|
+
* Triggered when order payment is successful and vendor needs to be notified
|
|
38
|
+
*/
|
|
39
|
+
export interface NewOrderEvent {
|
|
40
|
+
orderId: string;
|
|
41
|
+
userId: string;
|
|
42
|
+
restaurantId: string;
|
|
43
|
+
totalAmount: number;
|
|
44
|
+
gst: number;
|
|
45
|
+
paymentStatus: PAYMENTSTATUS;
|
|
46
|
+
orderStatus: OrderStatus;
|
|
47
|
+
orderType: OrderType;
|
|
48
|
+
orderDateTime: Date;
|
|
49
|
+
orderReachTime: Date;
|
|
50
|
+
serviceType: string;
|
|
51
|
+
orderItems: Array<{
|
|
52
|
+
foodId: string;
|
|
53
|
+
quantity: number;
|
|
54
|
+
categoryId: string;
|
|
55
|
+
subCategoryId?: string;
|
|
56
|
+
price: number;
|
|
57
|
+
gstAmount: number;
|
|
58
|
+
packagingCharges: number;
|
|
59
|
+
}>;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Kafka Topic: Order.PaymentStatus.Topic
|
|
64
|
+
* Producer: payment-service
|
|
65
|
+
* Consumers: order-management-service, user-service
|
|
66
|
+
*
|
|
67
|
+
* Triggered when payment status changes (success/failure)
|
|
68
|
+
*/
|
|
69
|
+
export interface OrderPaymentStatusEvent {
|
|
70
|
+
orderId: string;
|
|
71
|
+
razorOrderId?: string;
|
|
72
|
+
orderStatus: OrderStatus;
|
|
73
|
+
paymentStatus: PAYMENTSTATUS;
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/**
|
|
77
|
+
* Kafka Topic: Vendor.Create.Topic
|
|
78
|
+
* Producer: user-authentication-service
|
|
79
|
+
* Consumers: vendor-service
|
|
80
|
+
*
|
|
81
|
+
* Triggered when a new vendor is created in the system
|
|
82
|
+
*/
|
|
83
|
+
export interface VendorCreateEvent {
|
|
84
|
+
mobileNumber: number;
|
|
85
|
+
vendorId: string;
|
|
86
|
+
// Generic payload - needs more analysis
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Kafka Topic: Check.Food.Availability
|
|
91
|
+
* Producer: order-management-service
|
|
92
|
+
* Consumers: vendor-service
|
|
93
|
+
*
|
|
94
|
+
* Check if food items are available at a restaurant before order creation
|
|
95
|
+
*/
|
|
96
|
+
export interface CheckFoodAvailabilityEvent {
|
|
97
|
+
redisId: string;
|
|
98
|
+
restaurantId: string;
|
|
99
|
+
src: {
|
|
100
|
+
latitude: number;
|
|
101
|
+
longitude: number;
|
|
102
|
+
};
|
|
103
|
+
foodItems: Array<{
|
|
104
|
+
foodId: string;
|
|
105
|
+
categoryId: string;
|
|
106
|
+
subCategoryId?: string;
|
|
107
|
+
status: string;
|
|
108
|
+
}>;
|
|
109
|
+
orderCreateDate: Date;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
/**
|
|
113
|
+
* Kafka Topic: Order.Inventory.Load
|
|
114
|
+
* Producer: order-management-service
|
|
115
|
+
* Consumers: vendor-service
|
|
116
|
+
*
|
|
117
|
+
* Load order into vendor's inventory system
|
|
118
|
+
*/
|
|
119
|
+
export interface OrderInventoryLoadEvent {
|
|
120
|
+
Restaurant: string;
|
|
121
|
+
Order: string;
|
|
122
|
+
orderStatus: OrderStatus;
|
|
123
|
+
userId: string;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
/**
|
|
127
|
+
* Kafka Topic: Order.Status.Ack.Update
|
|
128
|
+
* Producer: order-management-service
|
|
129
|
+
* Consumers: vendor-service
|
|
130
|
+
*
|
|
131
|
+
* Acknowledge order status update
|
|
132
|
+
*/
|
|
133
|
+
export interface OrderStatusAckUpdateEvent {
|
|
134
|
+
orderId: string;
|
|
135
|
+
orderStatus: OrderStatus;
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/**
|
|
139
|
+
* Kafka Topic: Update.Order.CancelledStatus
|
|
140
|
+
* Producer: order-management-service, order-handler-service
|
|
141
|
+
* Consumers: vendor-service, user-service, order-management-service
|
|
142
|
+
*
|
|
143
|
+
* Triggered when an order is cancelled
|
|
144
|
+
*/
|
|
145
|
+
export interface UpdateOrderCancelledStatusEvent {
|
|
146
|
+
orderId: string;
|
|
147
|
+
cancelledType: CancelledType;
|
|
148
|
+
cancelledReason: string;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
/**
|
|
152
|
+
* Kafka Topic: Order.Item.Partial.Update
|
|
153
|
+
* Producer: order-management-service
|
|
154
|
+
* Consumers: vendor-service, user-service
|
|
155
|
+
*
|
|
156
|
+
* Triggered when some items in an order are not available
|
|
157
|
+
*/
|
|
158
|
+
export interface OrderItemPartialUpdateEvent {
|
|
159
|
+
orderId: string;
|
|
160
|
+
refundId: string;
|
|
161
|
+
paymentId: string;
|
|
162
|
+
orderDetails: {
|
|
163
|
+
orderId: string;
|
|
164
|
+
orderStatus: OrderStatus;
|
|
165
|
+
foodItems: Array<{
|
|
166
|
+
foodId: string;
|
|
167
|
+
categoryId: string;
|
|
168
|
+
subCategoryId?: string;
|
|
169
|
+
status: string;
|
|
170
|
+
}>;
|
|
171
|
+
};
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
/**
|
|
175
|
+
* Kafka Topic: Initiate.Order.Refund
|
|
176
|
+
* Producer: order-management-service, order-handler-service
|
|
177
|
+
* Consumers: payment-service
|
|
178
|
+
*
|
|
179
|
+
* Initiate a full refund for an order
|
|
180
|
+
*/
|
|
181
|
+
export interface InitiateOrderRefundEvent {
|
|
182
|
+
orderId: string;
|
|
183
|
+
refundedBy?: string;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
/**
|
|
187
|
+
* Kafka Topic: Initiate.Partial.Order.Refund
|
|
188
|
+
* Producer: order-management-service, order-handler-service
|
|
189
|
+
* Consumers: payment-service
|
|
190
|
+
*
|
|
191
|
+
* Initiate a partial refund for an order
|
|
192
|
+
*/
|
|
193
|
+
export interface InitiatePartialOrderRefundEvent {
|
|
194
|
+
orderId: string;
|
|
195
|
+
orderDetails: {
|
|
196
|
+
orderId: string;
|
|
197
|
+
orderStatus: OrderStatus;
|
|
198
|
+
foodItems: Array<{
|
|
199
|
+
foodId: string;
|
|
200
|
+
categoryId: string;
|
|
201
|
+
subCategoryId?: string;
|
|
202
|
+
status: string;
|
|
203
|
+
}>;
|
|
204
|
+
};
|
|
205
|
+
reason: string;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* Kafka Topic: Check.Refund.Status
|
|
210
|
+
* Producer: order-handler-service
|
|
211
|
+
* Consumers: payment-service
|
|
212
|
+
*
|
|
213
|
+
* Check status of a refund
|
|
214
|
+
*/
|
|
215
|
+
export interface CheckRefundStatusEvent {
|
|
216
|
+
orderId: string;
|
|
217
|
+
paymentId: string;
|
|
218
|
+
refundId: string;
|
|
219
|
+
}
|
|
220
|
+
|
|
221
|
+
/**
|
|
222
|
+
* Kafka Topic: Order.RefundStatus.Topic
|
|
223
|
+
* Producer: payment-service
|
|
224
|
+
* Consumers: order-management-service, user-service
|
|
225
|
+
*
|
|
226
|
+
* Update on refund status
|
|
227
|
+
*/
|
|
228
|
+
export interface OrderRefundStatusEvent {
|
|
229
|
+
orderId: string;
|
|
230
|
+
refundId: string;
|
|
231
|
+
paymentId: string;
|
|
232
|
+
orderStatus: OrderStatus;
|
|
233
|
+
paymentStatus: PAYMENTSTATUS;
|
|
234
|
+
refundStatus: REFUNDSTATUS;
|
|
235
|
+
}
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* Kafka Topic: Order.PartialRefundStatus.Topic
|
|
239
|
+
* Producer: payment-service
|
|
240
|
+
* Consumers: order-management-service
|
|
241
|
+
*
|
|
242
|
+
* Update on partial refund status
|
|
243
|
+
*/
|
|
244
|
+
export interface OrderPartialRefundStatusEvent {
|
|
245
|
+
orderId: string;
|
|
246
|
+
refundId: string;
|
|
247
|
+
paymentId: string;
|
|
248
|
+
orderStatus: OrderStatus;
|
|
249
|
+
paymentStatus: PAYMENTSTATUS;
|
|
250
|
+
refundStatus: REFUNDSTATUS;
|
|
251
|
+
refundAmount: number;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* Kafka Topic: Order.Status.Topic
|
|
256
|
+
* Producer: vendor-service
|
|
257
|
+
* Consumers: order-management-service, user-service
|
|
258
|
+
*
|
|
259
|
+
* Vendor updates order status (preparing, ready, etc.)
|
|
260
|
+
*/
|
|
261
|
+
export interface OrderStatusEvent {
|
|
262
|
+
orderId: string;
|
|
263
|
+
status: string;
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* Kafka Topic: Order.RejectStatus.Topic
|
|
268
|
+
* Producer: vendor-service
|
|
269
|
+
* Consumers: order-management-service, user-service
|
|
270
|
+
*
|
|
271
|
+
* Vendor rejects an order
|
|
272
|
+
*/
|
|
273
|
+
export interface OrderRejectStatusEvent {
|
|
274
|
+
orderId: string;
|
|
275
|
+
cancelledType: string;
|
|
276
|
+
cancelledReason: string;
|
|
277
|
+
}
|
|
278
|
+
|
|
279
|
+
/**
|
|
280
|
+
* Kafka Topic: Request.Order.Track.Order
|
|
281
|
+
* Producer: vendor-service
|
|
282
|
+
* Consumers: order-management-service
|
|
283
|
+
*
|
|
284
|
+
* Request order tracking information
|
|
285
|
+
*/
|
|
286
|
+
export interface RequestOrderTrackOrderEvent {
|
|
287
|
+
userId: string;
|
|
288
|
+
orderId: string;
|
|
289
|
+
trackPayload: {
|
|
290
|
+
src: {
|
|
291
|
+
lat: number | undefined;
|
|
292
|
+
lng: number | undefined;
|
|
293
|
+
};
|
|
294
|
+
dest: {
|
|
295
|
+
lat: number | undefined;
|
|
296
|
+
lng: number | undefined;
|
|
297
|
+
};
|
|
298
|
+
firstUpdate: Date;
|
|
299
|
+
currentUpdates: Date | undefined;
|
|
300
|
+
distanceTimeToReach: DistanceTimeToReach | undefined;
|
|
301
|
+
orderStatus: OrderStatus;
|
|
302
|
+
orderCreateDate: Date;
|
|
303
|
+
};
|
|
304
|
+
}
|
|
305
|
+
|
|
306
|
+
/**
|
|
307
|
+
* Kafka Topic: Order.Payment.Failed
|
|
308
|
+
* Producer: payment-service
|
|
309
|
+
* Consumers: order-management-service, user-service
|
|
310
|
+
*
|
|
311
|
+
* Payment for an order failed
|
|
312
|
+
*/
|
|
313
|
+
export interface OrderPaymentFailedEvent {
|
|
314
|
+
orderId: string;
|
|
315
|
+
userId: string;
|
|
316
|
+
restaurantId: string;
|
|
317
|
+
amount: number;
|
|
318
|
+
status: string;
|
|
319
|
+
reason?: string;
|
|
320
|
+
timestamp: number;
|
|
321
|
+
}
|
|
322
|
+
|
|
323
|
+
/**
|
|
324
|
+
* Kafka Topic: Notification.Event
|
|
325
|
+
* Producer: multiple services
|
|
326
|
+
* Consumers: notification-service
|
|
327
|
+
*
|
|
328
|
+
* Generic notification event
|
|
329
|
+
*/
|
|
330
|
+
export interface NotificationEvent {
|
|
331
|
+
userId: string;
|
|
332
|
+
orderId: string;
|
|
333
|
+
type: "payment_timeout" | "payment_late_success" | "payment_failed" | string;
|
|
334
|
+
message: string;
|
|
335
|
+
amount?: number;
|
|
336
|
+
timestamp: number;
|
|
337
|
+
}
|
|
338
|
+
|
|
339
|
+
/**
|
|
340
|
+
* Kafka Topic: Refund.Update.Status
|
|
341
|
+
* Producer: payment-service
|
|
342
|
+
* Consumers: order-handler-service
|
|
343
|
+
*
|
|
344
|
+
* Update on refund processing status
|
|
345
|
+
*/
|
|
346
|
+
export interface RefundUpdateStatusEvent {
|
|
347
|
+
orderId: string;
|
|
348
|
+
refundStatus: REFUNDSTATUS.REFUNDCOMPLETED;
|
|
349
|
+
}
|
|
350
|
+
|
|
351
|
+
/**
|
|
352
|
+
* Kafka Topic: User.Create.Topic
|
|
353
|
+
* Producer: user-authentication-service
|
|
354
|
+
* Consumers: user-service
|
|
355
|
+
*
|
|
356
|
+
* New user created in the system
|
|
357
|
+
*/
|
|
358
|
+
export interface UserCreateEvent {
|
|
359
|
+
mobileNumber: number;
|
|
360
|
+
userId: string;
|
|
361
|
+
}
|
|
362
|
+
|
|
363
|
+
/**
|
|
364
|
+
* Kafka Topic: Vendor.RegStatus.Topic
|
|
365
|
+
* Producer: unknown
|
|
366
|
+
* Consumers: user-authentication-service
|
|
367
|
+
*
|
|
368
|
+
* Vendor registration status update
|
|
369
|
+
*/
|
|
370
|
+
export interface VendorRegStatusEvent {
|
|
371
|
+
vendorId: string;
|
|
372
|
+
status: string;
|
|
373
|
+
// Additional fields need analysis from producer
|
|
374
|
+
}
|
|
375
|
+
|
|
376
|
+
/**
|
|
377
|
+
* Kafka Topic: Order.LongTrack.Cancel
|
|
378
|
+
* Producer: unknown
|
|
379
|
+
* Consumers: user-service
|
|
380
|
+
*
|
|
381
|
+
* Cancel long tracking for an order
|
|
382
|
+
*/
|
|
383
|
+
export interface OrderLongTrackCancelEvent {
|
|
384
|
+
orderId: string;
|
|
385
|
+
orderStatus: OrderStatus;
|
|
386
|
+
reason: string;
|
|
387
|
+
}
|
|
388
|
+
|
|
389
|
+
/**
|
|
390
|
+
* Kafka Topic: Track.Update.Order.ONLAZYTRACK
|
|
391
|
+
* Producer: unknown
|
|
392
|
+
* Consumers: vendor-service, user-service
|
|
393
|
+
*
|
|
394
|
+
* Update order tracking status (lazy tracking mode)
|
|
395
|
+
*/
|
|
396
|
+
export interface TrackUpdateOrderOnLazyTrackEvent {
|
|
397
|
+
orderId: string;
|
|
398
|
+
trackingData: {
|
|
399
|
+
currentLocation: {
|
|
400
|
+
lat: number;
|
|
401
|
+
lng: number;
|
|
402
|
+
};
|
|
403
|
+
expectedReachTime: number;
|
|
404
|
+
distance: string;
|
|
405
|
+
};
|
|
406
|
+
}
|
|
407
|
+
|
|
408
|
+
/**
|
|
409
|
+
* Kafka Topic: Track.Update.Order.Preparing
|
|
410
|
+
* Producer: unknown
|
|
411
|
+
* Consumers: vendor-service
|
|
412
|
+
*
|
|
413
|
+
* Update order tracking when status is preparing
|
|
414
|
+
*/
|
|
415
|
+
export interface TrackUpdateOrderPreparingEvent {
|
|
416
|
+
orderId: string;
|
|
417
|
+
orderStatus: OrderStatus;
|
|
418
|
+
preparingStartTime: Date;
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
/**
|
|
422
|
+
* Kafka Topic: Check.Cart.Food.Availability
|
|
423
|
+
* Producer: unknown
|
|
424
|
+
* Consumers: vendor-service
|
|
425
|
+
*
|
|
426
|
+
* Check food availability for cart items
|
|
427
|
+
*/
|
|
428
|
+
export interface CheckCartFoodAvailabilityEvent {
|
|
429
|
+
restaurantId: string;
|
|
430
|
+
foodItems: Array<{
|
|
431
|
+
foodId: string;
|
|
432
|
+
categoryId: string;
|
|
433
|
+
subCategoryId?: string;
|
|
434
|
+
}>;
|
|
435
|
+
userId: string;
|
|
436
|
+
}
|
|
437
|
+
|
|
438
|
+
/**
|
|
439
|
+
* Kafka Topic: Hotel.Inventory.Load
|
|
440
|
+
* Producer: unknown
|
|
441
|
+
* Consumers: vendor-service
|
|
442
|
+
*
|
|
443
|
+
* Load hotel/restaurant inventory
|
|
444
|
+
*/
|
|
445
|
+
export interface HotelInventoryLoadEvent {
|
|
446
|
+
restaurantIds: string[];
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
/**
|
|
450
|
+
* Kafka Topic: Request.Order.Track.Vendor
|
|
451
|
+
* Producer: unknown
|
|
452
|
+
* Consumers: vendor-service
|
|
453
|
+
*
|
|
454
|
+
* Vendor-specific order tracking request
|
|
455
|
+
*/
|
|
456
|
+
export interface RequestOrderTrackVendorEvent {
|
|
457
|
+
orderId: string;
|
|
458
|
+
restaurantId: string;
|
|
459
|
+
trackType: string;
|
|
460
|
+
}
|
|
461
|
+
|
|
462
|
+
/**
|
|
463
|
+
* Kafka Topic: Order.Queue.Add.Monitor
|
|
464
|
+
* Producer: unknown
|
|
465
|
+
* Consumers: order-management-service
|
|
466
|
+
*
|
|
467
|
+
* Add order to monitoring queue
|
|
468
|
+
*/
|
|
469
|
+
export interface OrderQueueAddMonitorEvent {
|
|
470
|
+
orderId: string;
|
|
471
|
+
queueType: "ready" | "serving";
|
|
472
|
+
statusChangeDate: Date;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
/**
|
|
476
|
+
* Kafka Topic: Vendor.Create.Rollback.Topic
|
|
477
|
+
* Producer: unknown
|
|
478
|
+
* Consumers: vendor-service
|
|
479
|
+
*
|
|
480
|
+
* Rollback vendor creation (saga pattern)
|
|
481
|
+
*/
|
|
482
|
+
export interface VendorCreateRollbackEvent {
|
|
483
|
+
vendorId: string;
|
|
484
|
+
reason: string;
|
|
485
|
+
}
|