@instockng/api-client 1.0.7 → 1.0.8
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/apps/backend/src/http-app.js +28 -0
- package/dist/apps/backend/src/lib/brand-response.d.ts +1 -1
- package/dist/apps/backend/src/lib/cart-helpers.d.ts +13 -11
- package/dist/apps/backend/src/lib/cart-helpers.js +28 -0
- package/dist/apps/backend/src/lib/cart-response.d.ts +5 -5
- package/dist/apps/backend/src/lib/clerk.js +23 -0
- package/dist/apps/backend/src/lib/delivery-zone-response.d.ts +6 -4
- package/dist/apps/backend/src/lib/discount-code-response.d.ts +2 -2
- package/dist/apps/backend/src/lib/meta-capi.d.ts +5 -0
- package/dist/apps/backend/src/lib/meta-capi.js +33 -2
- package/dist/apps/backend/src/lib/order-recovery.d.ts +30 -24
- package/dist/apps/backend/src/lib/order-response.d.ts +9 -7
- package/dist/apps/backend/src/lib/product-response.d.ts +4 -4
- package/dist/apps/backend/src/lib/sentry.d.ts +48 -0
- package/dist/apps/backend/src/lib/sentry.js +180 -0
- package/dist/apps/backend/src/notifications/producers/meta-capi-producer.js +18 -4
- package/dist/apps/backend/src/routes/admin/abandoned-carts.d.ts +10 -10
- package/dist/apps/backend/src/routes/admin/brands.d.ts +4 -4
- package/dist/apps/backend/src/routes/admin/customers.d.ts +9 -7
- package/dist/apps/backend/src/routes/admin/delivery-zones.d.ts +23 -15
- package/dist/apps/backend/src/routes/admin/discount-codes.d.ts +10 -10
- package/dist/apps/backend/src/routes/admin/inventory.js +10 -0
- package/dist/apps/backend/src/routes/admin/orders.d.ts +54 -42
- package/dist/apps/backend/src/routes/admin/orders.js +25 -0
- package/dist/apps/backend/src/routes/admin/products.d.ts +12 -12
- package/dist/apps/backend/src/routes/admin/products.js +34 -15
- package/dist/apps/backend/src/routes/admin/stats.d.ts +9 -7
- package/dist/apps/backend/src/routes/admin/variants.d.ts +5 -5
- package/dist/apps/backend/src/routes/admin/variants.js +42 -18
- package/dist/apps/backend/src/routes/admin/warehouses.d.ts +7 -7
- package/dist/apps/backend/src/routes/public/brands.d.ts +1 -1
- package/dist/apps/backend/src/routes/public/carts.d.ts +49 -47
- package/dist/apps/backend/src/routes/public/carts.js +148 -1
- package/dist/apps/backend/src/routes/public/delivery-zones.d.ts +2 -0
- package/dist/apps/backend/src/routes/public/delivery-zones.js +2 -0
- package/dist/apps/backend/src/routes/public/orders.d.ts +18 -14
- package/dist/apps/backend/src/routes/public/orders.js +24 -0
- package/dist/apps/backend/src/routes/public/products.d.ts +6 -6
- package/dist/apps/backend/src/types/index.d.ts +1 -0
- package/dist/apps/backend/src/validators/delivery-zone.d.ts +4 -0
- package/dist/apps/backend/src/validators/delivery-zone.js +4 -0
- package/dist/apps/backend/src/validators/discount-code.d.ts +3 -3
- package/dist/apps/backend/src/validators/order.d.ts +3 -1
- package/dist/apps/backend/src/validators/order.js +3 -1
- package/dist/packages/api-client/src/fetchers/brands.d.ts +1 -1
- package/dist/packages/api-client/src/fetchers/carts.d.ts +49 -47
- package/dist/packages/api-client/src/fetchers/delivery-zones.d.ts +2 -0
- package/dist/packages/api-client/src/fetchers/orders.d.ts +18 -14
- package/dist/packages/api-client/src/fetchers/products.d.ts +6 -6
- package/dist/packages/api-client/src/hooks/admin/abandoned-carts.d.ts +10 -10
- package/dist/packages/api-client/src/hooks/admin/brands.d.ts +4 -4
- package/dist/packages/api-client/src/hooks/admin/customers.d.ts +9 -7
- package/dist/packages/api-client/src/hooks/admin/delivery-zones.d.ts +23 -15
- package/dist/packages/api-client/src/hooks/admin/discount-codes.d.ts +10 -10
- package/dist/packages/api-client/src/hooks/admin/orders.d.ts +54 -42
- package/dist/packages/api-client/src/hooks/admin/products.d.ts +6 -6
- package/dist/packages/api-client/src/hooks/admin/stats.d.ts +9 -7
- package/dist/packages/api-client/src/hooks/admin/variants.d.ts +5 -5
- package/dist/packages/api-client/src/hooks/admin/warehouses.d.ts +7 -7
- package/dist/packages/api-client/src/hooks/public/brands.d.ts +1 -1
- package/dist/packages/api-client/src/hooks/public/carts.d.ts +49 -47
- package/dist/packages/api-client/src/hooks/public/delivery-zones.d.ts +2 -0
- package/dist/packages/api-client/src/hooks/public/orders.d.ts +18 -14
- package/dist/packages/api-client/src/hooks/public/products.d.ts +6 -6
- package/dist/packages/api-client/src/rpc-client.d.ts +219 -187
- package/package.json +1 -1
|
@@ -17,8 +17,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
17
17
|
createdAt: string;
|
|
18
18
|
updatedAt: string;
|
|
19
19
|
deletedAt: string;
|
|
20
|
-
name: string;
|
|
21
20
|
id: string;
|
|
21
|
+
name: string;
|
|
22
22
|
slug: string;
|
|
23
23
|
logoUrl: string | null;
|
|
24
24
|
siteUrl: string;
|
|
@@ -35,18 +35,20 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
35
35
|
createdAt: string;
|
|
36
36
|
updatedAt: string;
|
|
37
37
|
deletedAt: string;
|
|
38
|
-
name: string;
|
|
39
38
|
id: string;
|
|
39
|
+
name: string;
|
|
40
40
|
isActive: boolean;
|
|
41
41
|
};
|
|
42
|
-
name: string;
|
|
43
42
|
id: string;
|
|
43
|
+
name: string;
|
|
44
44
|
brandId: string | null;
|
|
45
45
|
stateId: string;
|
|
46
46
|
allowCOD: boolean;
|
|
47
47
|
allowOnline: boolean;
|
|
48
48
|
waybillOnly: boolean;
|
|
49
49
|
estimatedDays: number | null;
|
|
50
|
+
noteTitle: string | null;
|
|
51
|
+
noteContent: string | null;
|
|
50
52
|
isActive: boolean;
|
|
51
53
|
};
|
|
52
54
|
items: {
|
|
@@ -60,8 +62,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
60
62
|
createdAt: string;
|
|
61
63
|
updatedAt: string;
|
|
62
64
|
deletedAt: string;
|
|
63
|
-
name: string;
|
|
64
65
|
id: string;
|
|
66
|
+
name: string;
|
|
65
67
|
slug: string;
|
|
66
68
|
brandId: string;
|
|
67
69
|
isActive: boolean;
|
|
@@ -213,8 +215,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
213
215
|
};
|
|
214
216
|
};
|
|
215
217
|
};
|
|
216
|
-
name: string | null;
|
|
217
218
|
id: string;
|
|
219
|
+
name: string | null;
|
|
218
220
|
isActive: boolean;
|
|
219
221
|
thumbnailUrl: string | null;
|
|
220
222
|
productId: string;
|
|
@@ -226,8 +228,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
226
228
|
createdAt: string;
|
|
227
229
|
updatedAt: string;
|
|
228
230
|
deletedAt: string;
|
|
229
|
-
name: string;
|
|
230
231
|
id: string;
|
|
232
|
+
name: string;
|
|
231
233
|
isActive: boolean;
|
|
232
234
|
address: string | null;
|
|
233
235
|
city: string | null;
|
|
@@ -239,8 +241,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
239
241
|
warehouseId: string | null;
|
|
240
242
|
quantity: number;
|
|
241
243
|
}[];
|
|
242
|
-
id: string;
|
|
243
244
|
email: string | null;
|
|
245
|
+
id: string;
|
|
244
246
|
brandId: string;
|
|
245
247
|
deliveryZoneId: string;
|
|
246
248
|
recoveryAttempts: number;
|
|
@@ -304,8 +306,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
304
306
|
createdAt: string;
|
|
305
307
|
updatedAt: string;
|
|
306
308
|
deletedAt: string;
|
|
307
|
-
name: string;
|
|
308
309
|
id: string;
|
|
310
|
+
name: string;
|
|
309
311
|
slug: string;
|
|
310
312
|
logoUrl: string | null;
|
|
311
313
|
siteUrl: string;
|
|
@@ -322,18 +324,20 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
322
324
|
createdAt: string;
|
|
323
325
|
updatedAt: string;
|
|
324
326
|
deletedAt: string;
|
|
325
|
-
name: string;
|
|
326
327
|
id: string;
|
|
328
|
+
name: string;
|
|
327
329
|
isActive: boolean;
|
|
328
330
|
};
|
|
329
|
-
name: string;
|
|
330
331
|
id: string;
|
|
332
|
+
name: string;
|
|
331
333
|
brandId: string | null;
|
|
332
334
|
stateId: string;
|
|
333
335
|
allowCOD: boolean;
|
|
334
336
|
allowOnline: boolean;
|
|
335
337
|
waybillOnly: boolean;
|
|
336
338
|
estimatedDays: number | null;
|
|
339
|
+
noteTitle: string | null;
|
|
340
|
+
noteContent: string | null;
|
|
337
341
|
isActive: boolean;
|
|
338
342
|
};
|
|
339
343
|
items: {
|
|
@@ -347,8 +351,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
347
351
|
createdAt: string;
|
|
348
352
|
updatedAt: string;
|
|
349
353
|
deletedAt: string;
|
|
350
|
-
name: string;
|
|
351
354
|
id: string;
|
|
355
|
+
name: string;
|
|
352
356
|
slug: string;
|
|
353
357
|
brandId: string;
|
|
354
358
|
isActive: boolean;
|
|
@@ -500,8 +504,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
500
504
|
};
|
|
501
505
|
};
|
|
502
506
|
};
|
|
503
|
-
name: string | null;
|
|
504
507
|
id: string;
|
|
508
|
+
name: string | null;
|
|
505
509
|
isActive: boolean;
|
|
506
510
|
thumbnailUrl: string | null;
|
|
507
511
|
productId: string;
|
|
@@ -513,8 +517,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
513
517
|
createdAt: string;
|
|
514
518
|
updatedAt: string;
|
|
515
519
|
deletedAt: string;
|
|
516
|
-
name: string;
|
|
517
520
|
id: string;
|
|
521
|
+
name: string;
|
|
518
522
|
isActive: boolean;
|
|
519
523
|
address: string | null;
|
|
520
524
|
city: string | null;
|
|
@@ -526,8 +530,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
526
530
|
warehouseId: string | null;
|
|
527
531
|
quantity: number;
|
|
528
532
|
}[];
|
|
529
|
-
id: string;
|
|
530
533
|
email: string | null;
|
|
534
|
+
id: string;
|
|
531
535
|
brandId: string;
|
|
532
536
|
deliveryZoneId: string;
|
|
533
537
|
recoveryAttempts: number;
|
|
@@ -591,8 +595,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
591
595
|
createdAt: string;
|
|
592
596
|
updatedAt: string;
|
|
593
597
|
deletedAt: string;
|
|
594
|
-
name: string;
|
|
595
598
|
id: string;
|
|
599
|
+
name: string;
|
|
596
600
|
slug: string;
|
|
597
601
|
logoUrl: string | null;
|
|
598
602
|
siteUrl: string;
|
|
@@ -609,18 +613,20 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
609
613
|
createdAt: string;
|
|
610
614
|
updatedAt: string;
|
|
611
615
|
deletedAt: string;
|
|
612
|
-
name: string;
|
|
613
616
|
id: string;
|
|
617
|
+
name: string;
|
|
614
618
|
isActive: boolean;
|
|
615
619
|
};
|
|
616
|
-
name: string;
|
|
617
620
|
id: string;
|
|
621
|
+
name: string;
|
|
618
622
|
brandId: string | null;
|
|
619
623
|
stateId: string;
|
|
620
624
|
allowCOD: boolean;
|
|
621
625
|
allowOnline: boolean;
|
|
622
626
|
waybillOnly: boolean;
|
|
623
627
|
estimatedDays: number | null;
|
|
628
|
+
noteTitle: string | null;
|
|
629
|
+
noteContent: string | null;
|
|
624
630
|
isActive: boolean;
|
|
625
631
|
};
|
|
626
632
|
items: {
|
|
@@ -634,8 +640,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
634
640
|
createdAt: string;
|
|
635
641
|
updatedAt: string;
|
|
636
642
|
deletedAt: string;
|
|
637
|
-
name: string;
|
|
638
643
|
id: string;
|
|
644
|
+
name: string;
|
|
639
645
|
slug: string;
|
|
640
646
|
brandId: string;
|
|
641
647
|
isActive: boolean;
|
|
@@ -787,8 +793,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
787
793
|
};
|
|
788
794
|
};
|
|
789
795
|
};
|
|
790
|
-
name: string | null;
|
|
791
796
|
id: string;
|
|
797
|
+
name: string | null;
|
|
792
798
|
isActive: boolean;
|
|
793
799
|
thumbnailUrl: string | null;
|
|
794
800
|
productId: string;
|
|
@@ -800,8 +806,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
800
806
|
createdAt: string;
|
|
801
807
|
updatedAt: string;
|
|
802
808
|
deletedAt: string;
|
|
803
|
-
name: string;
|
|
804
809
|
id: string;
|
|
810
|
+
name: string;
|
|
805
811
|
isActive: boolean;
|
|
806
812
|
address: string | null;
|
|
807
813
|
city: string | null;
|
|
@@ -813,8 +819,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
813
819
|
warehouseId: string | null;
|
|
814
820
|
quantity: number;
|
|
815
821
|
}[];
|
|
816
|
-
id: string;
|
|
817
822
|
email: string | null;
|
|
823
|
+
id: string;
|
|
818
824
|
brandId: string;
|
|
819
825
|
deliveryZoneId: string;
|
|
820
826
|
recoveryAttempts: number;
|
|
@@ -889,8 +895,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
889
895
|
createdAt: string;
|
|
890
896
|
updatedAt: string;
|
|
891
897
|
deletedAt: string;
|
|
892
|
-
name: string;
|
|
893
898
|
id: string;
|
|
899
|
+
name: string;
|
|
894
900
|
slug: string;
|
|
895
901
|
logoUrl: string | null;
|
|
896
902
|
siteUrl: string;
|
|
@@ -907,18 +913,20 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
907
913
|
createdAt: string;
|
|
908
914
|
updatedAt: string;
|
|
909
915
|
deletedAt: string;
|
|
910
|
-
name: string;
|
|
911
916
|
id: string;
|
|
917
|
+
name: string;
|
|
912
918
|
isActive: boolean;
|
|
913
919
|
};
|
|
914
|
-
name: string;
|
|
915
920
|
id: string;
|
|
921
|
+
name: string;
|
|
916
922
|
brandId: string | null;
|
|
917
923
|
stateId: string;
|
|
918
924
|
allowCOD: boolean;
|
|
919
925
|
allowOnline: boolean;
|
|
920
926
|
waybillOnly: boolean;
|
|
921
927
|
estimatedDays: number | null;
|
|
928
|
+
noteTitle: string | null;
|
|
929
|
+
noteContent: string | null;
|
|
922
930
|
isActive: boolean;
|
|
923
931
|
};
|
|
924
932
|
items: {
|
|
@@ -932,8 +940,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
932
940
|
createdAt: string;
|
|
933
941
|
updatedAt: string;
|
|
934
942
|
deletedAt: string;
|
|
935
|
-
name: string;
|
|
936
943
|
id: string;
|
|
944
|
+
name: string;
|
|
937
945
|
slug: string;
|
|
938
946
|
brandId: string;
|
|
939
947
|
isActive: boolean;
|
|
@@ -1085,8 +1093,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
1085
1093
|
};
|
|
1086
1094
|
};
|
|
1087
1095
|
};
|
|
1088
|
-
name: string | null;
|
|
1089
1096
|
id: string;
|
|
1097
|
+
name: string | null;
|
|
1090
1098
|
isActive: boolean;
|
|
1091
1099
|
thumbnailUrl: string | null;
|
|
1092
1100
|
productId: string;
|
|
@@ -1098,8 +1106,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
1098
1106
|
createdAt: string;
|
|
1099
1107
|
updatedAt: string;
|
|
1100
1108
|
deletedAt: string;
|
|
1101
|
-
name: string;
|
|
1102
1109
|
id: string;
|
|
1110
|
+
name: string;
|
|
1103
1111
|
isActive: boolean;
|
|
1104
1112
|
address: string | null;
|
|
1105
1113
|
city: string | null;
|
|
@@ -1111,8 +1119,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
1111
1119
|
warehouseId: string | null;
|
|
1112
1120
|
quantity: number;
|
|
1113
1121
|
}[];
|
|
1114
|
-
id: string;
|
|
1115
1122
|
email: string | null;
|
|
1123
|
+
id: string;
|
|
1116
1124
|
brandId: string;
|
|
1117
1125
|
deliveryZoneId: string;
|
|
1118
1126
|
recoveryAttempts: number;
|
|
@@ -1157,8 +1165,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
1157
1165
|
};
|
|
1158
1166
|
output: {
|
|
1159
1167
|
brand: {
|
|
1160
|
-
name: string;
|
|
1161
1168
|
id: string;
|
|
1169
|
+
name: string;
|
|
1162
1170
|
slug: string;
|
|
1163
1171
|
logoUrl: string | null;
|
|
1164
1172
|
siteUrl: string;
|
|
@@ -1170,15 +1178,15 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
1170
1178
|
};
|
|
1171
1179
|
deliveryZone: {
|
|
1172
1180
|
state: {
|
|
1173
|
-
name: string;
|
|
1174
1181
|
id: string;
|
|
1182
|
+
name: string;
|
|
1175
1183
|
createdAt: string;
|
|
1176
1184
|
updatedAt: string;
|
|
1177
1185
|
deletedAt: string;
|
|
1178
1186
|
isActive: boolean;
|
|
1179
1187
|
};
|
|
1180
|
-
name: string;
|
|
1181
1188
|
id: string;
|
|
1189
|
+
name: string;
|
|
1182
1190
|
createdAt: string;
|
|
1183
1191
|
updatedAt: string;
|
|
1184
1192
|
deletedAt: string;
|
|
@@ -1190,12 +1198,14 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
1190
1198
|
allowOnline: boolean;
|
|
1191
1199
|
waybillOnly: boolean;
|
|
1192
1200
|
estimatedDays: number | null;
|
|
1201
|
+
noteTitle: string | null;
|
|
1202
|
+
noteContent: string | null;
|
|
1193
1203
|
isActive: boolean;
|
|
1194
1204
|
};
|
|
1195
1205
|
items: {
|
|
1196
1206
|
warehouse: {
|
|
1197
|
-
name: string;
|
|
1198
1207
|
id: string;
|
|
1208
|
+
name: string;
|
|
1199
1209
|
createdAt: string;
|
|
1200
1210
|
updatedAt: string;
|
|
1201
1211
|
deletedAt: string;
|
|
@@ -1206,8 +1216,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
1206
1216
|
};
|
|
1207
1217
|
variant: {
|
|
1208
1218
|
product: {
|
|
1209
|
-
name: string;
|
|
1210
1219
|
id: string;
|
|
1220
|
+
name: string;
|
|
1211
1221
|
slug: string;
|
|
1212
1222
|
createdAt: string;
|
|
1213
1223
|
updatedAt: string;
|
|
@@ -1362,8 +1372,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
1362
1372
|
};
|
|
1363
1373
|
};
|
|
1364
1374
|
};
|
|
1365
|
-
name: string | null;
|
|
1366
1375
|
id: string;
|
|
1376
|
+
name: string | null;
|
|
1367
1377
|
createdAt: string;
|
|
1368
1378
|
updatedAt: string;
|
|
1369
1379
|
deletedAt: string;
|
|
@@ -1382,8 +1392,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
1382
1392
|
quantity: number;
|
|
1383
1393
|
priceAtPurchase: string;
|
|
1384
1394
|
}[];
|
|
1385
|
-
id: string;
|
|
1386
1395
|
email: string | null;
|
|
1396
|
+
id: string;
|
|
1387
1397
|
createdAt: string;
|
|
1388
1398
|
updatedAt: string;
|
|
1389
1399
|
deletedAt: string;
|
|
@@ -1452,8 +1462,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
1452
1462
|
createdAt: string;
|
|
1453
1463
|
updatedAt: string;
|
|
1454
1464
|
deletedAt: string;
|
|
1455
|
-
name: string;
|
|
1456
1465
|
id: string;
|
|
1466
|
+
name: string;
|
|
1457
1467
|
slug: string;
|
|
1458
1468
|
logoUrl: string | null;
|
|
1459
1469
|
siteUrl: string;
|
|
@@ -1470,18 +1480,20 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
1470
1480
|
createdAt: string;
|
|
1471
1481
|
updatedAt: string;
|
|
1472
1482
|
deletedAt: string;
|
|
1473
|
-
name: string;
|
|
1474
1483
|
id: string;
|
|
1484
|
+
name: string;
|
|
1475
1485
|
isActive: boolean;
|
|
1476
1486
|
};
|
|
1477
|
-
name: string;
|
|
1478
1487
|
id: string;
|
|
1488
|
+
name: string;
|
|
1479
1489
|
brandId: string | null;
|
|
1480
1490
|
stateId: string;
|
|
1481
1491
|
allowCOD: boolean;
|
|
1482
1492
|
allowOnline: boolean;
|
|
1483
1493
|
waybillOnly: boolean;
|
|
1484
1494
|
estimatedDays: number | null;
|
|
1495
|
+
noteTitle: string | null;
|
|
1496
|
+
noteContent: string | null;
|
|
1485
1497
|
isActive: boolean;
|
|
1486
1498
|
};
|
|
1487
1499
|
items: {
|
|
@@ -1495,8 +1507,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
1495
1507
|
createdAt: string;
|
|
1496
1508
|
updatedAt: string;
|
|
1497
1509
|
deletedAt: string;
|
|
1498
|
-
name: string;
|
|
1499
1510
|
id: string;
|
|
1511
|
+
name: string;
|
|
1500
1512
|
slug: string;
|
|
1501
1513
|
brandId: string;
|
|
1502
1514
|
isActive: boolean;
|
|
@@ -1648,8 +1660,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
1648
1660
|
};
|
|
1649
1661
|
};
|
|
1650
1662
|
};
|
|
1651
|
-
name: string | null;
|
|
1652
1663
|
id: string;
|
|
1664
|
+
name: string | null;
|
|
1653
1665
|
isActive: boolean;
|
|
1654
1666
|
thumbnailUrl: string | null;
|
|
1655
1667
|
productId: string;
|
|
@@ -1661,8 +1673,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
1661
1673
|
createdAt: string;
|
|
1662
1674
|
updatedAt: string;
|
|
1663
1675
|
deletedAt: string;
|
|
1664
|
-
name: string;
|
|
1665
1676
|
id: string;
|
|
1677
|
+
name: string;
|
|
1666
1678
|
isActive: boolean;
|
|
1667
1679
|
address: string | null;
|
|
1668
1680
|
city: string | null;
|
|
@@ -1674,8 +1686,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
1674
1686
|
warehouseId: string | null;
|
|
1675
1687
|
quantity: number;
|
|
1676
1688
|
}[];
|
|
1677
|
-
id: string;
|
|
1678
1689
|
email: string | null;
|
|
1690
|
+
id: string;
|
|
1679
1691
|
brandId: string;
|
|
1680
1692
|
deliveryZoneId: string;
|
|
1681
1693
|
recoveryAttempts: number;
|
|
@@ -9,6 +9,7 @@ import { OrderStatus } from '@prisma/client';
|
|
|
9
9
|
import { formatOrderResponse } from '../../lib/order-response';
|
|
10
10
|
import { markOrderAsProspect } from '../../lib/order-recovery';
|
|
11
11
|
import { ORDER_INCLUDE_FULL } from '../../lib/cart-helpers';
|
|
12
|
+
import { captureException } from '../../lib/sentry';
|
|
12
13
|
const app = new Hono()
|
|
13
14
|
.post('/', zValidator('json', createOrderSchema), async (c) => {
|
|
14
15
|
try {
|
|
@@ -88,6 +89,7 @@ const app = new Hono()
|
|
|
88
89
|
brandId: brand.id,
|
|
89
90
|
firstName: input.firstName,
|
|
90
91
|
lastName: input.lastName,
|
|
92
|
+
email: input.email,
|
|
91
93
|
phone: input.phone,
|
|
92
94
|
address: input.address,
|
|
93
95
|
city: input.city,
|
|
@@ -116,6 +118,15 @@ const app = new Hono()
|
|
|
116
118
|
}
|
|
117
119
|
catch (error) {
|
|
118
120
|
console.error('Error creating order:', error);
|
|
121
|
+
// CRITICAL: Admin order creation failures
|
|
122
|
+
captureException(error instanceof Error ? error : new Error(String(error)), {
|
|
123
|
+
level: 'fatal',
|
|
124
|
+
tags: {
|
|
125
|
+
error_code: 'ADMIN_ORDER_CREATE_ERROR',
|
|
126
|
+
endpoint: 'POST /admin/orders',
|
|
127
|
+
},
|
|
128
|
+
honoContext: c,
|
|
129
|
+
});
|
|
119
130
|
return c.json({ error: { code: 'INTERNAL_ERROR', message: error.message } }, 500);
|
|
120
131
|
}
|
|
121
132
|
}).get('/', async (c) => {
|
|
@@ -264,6 +275,7 @@ const app = new Hono()
|
|
|
264
275
|
data: {
|
|
265
276
|
firstName: input.firstName ?? order.firstName,
|
|
266
277
|
lastName: input.lastName ?? order.lastName,
|
|
278
|
+
email: input.email ?? order.email,
|
|
267
279
|
phone: input.phone ?? order.phone,
|
|
268
280
|
address: input.address ?? order.address,
|
|
269
281
|
city: input.city ?? order.city,
|
|
@@ -296,6 +308,7 @@ const app = new Hono()
|
|
|
296
308
|
data: {
|
|
297
309
|
firstName: input.firstName,
|
|
298
310
|
lastName: input.lastName,
|
|
311
|
+
email: input.email,
|
|
299
312
|
phone: input.phone,
|
|
300
313
|
address: input.address,
|
|
301
314
|
city: input.city,
|
|
@@ -505,6 +518,18 @@ const app = new Hono()
|
|
|
505
518
|
return c.json(formatOrderResponse(updatedOrder));
|
|
506
519
|
}
|
|
507
520
|
catch (error) {
|
|
521
|
+
// CRITICAL: Order status updates include inventory adjustments
|
|
522
|
+
captureException(error instanceof Error ? error : new Error(String(error)), {
|
|
523
|
+
level: 'fatal',
|
|
524
|
+
tags: {
|
|
525
|
+
error_code: 'ORDER_STATUS_UPDATE_ERROR',
|
|
526
|
+
endpoint: 'PATCH /admin/orders/:id/status',
|
|
527
|
+
},
|
|
528
|
+
extra: {
|
|
529
|
+
orderId: c.req.param('id'),
|
|
530
|
+
},
|
|
531
|
+
honoContext: c,
|
|
532
|
+
});
|
|
508
533
|
return c.json({
|
|
509
534
|
error: { code: 'INTERNAL_ERROR', message: 'Failed to update order status' },
|
|
510
535
|
}, 500);
|
|
@@ -8,8 +8,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
8
8
|
createdAt: string;
|
|
9
9
|
updatedAt: string;
|
|
10
10
|
deletedAt: string;
|
|
11
|
-
name: string;
|
|
12
11
|
id: string;
|
|
12
|
+
name: string;
|
|
13
13
|
slug: string;
|
|
14
14
|
logoUrl: string | null;
|
|
15
15
|
siteUrl: string;
|
|
@@ -21,8 +21,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
21
21
|
updatedAt: string;
|
|
22
22
|
price: number;
|
|
23
23
|
deletedAt: string;
|
|
24
|
-
name: string | null;
|
|
25
24
|
id: string;
|
|
25
|
+
name: string | null;
|
|
26
26
|
isActive: boolean;
|
|
27
27
|
thumbnailUrl: string | null;
|
|
28
28
|
productId: string;
|
|
@@ -30,8 +30,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
30
30
|
trackInventory: boolean;
|
|
31
31
|
lowStockThreshold: number | null;
|
|
32
32
|
}[];
|
|
33
|
-
name: string;
|
|
34
33
|
id: string;
|
|
34
|
+
name: string;
|
|
35
35
|
slug: string;
|
|
36
36
|
createdAt: string;
|
|
37
37
|
updatedAt: string;
|
|
@@ -228,8 +228,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
228
228
|
createdAt: string;
|
|
229
229
|
updatedAt: string;
|
|
230
230
|
deletedAt: string;
|
|
231
|
-
name: string;
|
|
232
231
|
id: string;
|
|
232
|
+
name: string;
|
|
233
233
|
slug: string;
|
|
234
234
|
logoUrl: string | null;
|
|
235
235
|
siteUrl: string;
|
|
@@ -241,8 +241,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
241
241
|
updatedAt: string;
|
|
242
242
|
price: number;
|
|
243
243
|
deletedAt: string;
|
|
244
|
-
name: string | null;
|
|
245
244
|
id: string;
|
|
245
|
+
name: string | null;
|
|
246
246
|
isActive: boolean;
|
|
247
247
|
thumbnailUrl: string | null;
|
|
248
248
|
productId: string;
|
|
@@ -250,8 +250,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
250
250
|
trackInventory: boolean;
|
|
251
251
|
lowStockThreshold: number | null;
|
|
252
252
|
}[];
|
|
253
|
-
name: string;
|
|
254
253
|
id: string;
|
|
254
|
+
name: string;
|
|
255
255
|
slug: string;
|
|
256
256
|
createdAt: string;
|
|
257
257
|
updatedAt: string;
|
|
@@ -433,8 +433,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
433
433
|
createdAt: string;
|
|
434
434
|
updatedAt: string;
|
|
435
435
|
deletedAt: string;
|
|
436
|
-
name: string;
|
|
437
436
|
id: string;
|
|
437
|
+
name: string;
|
|
438
438
|
slug: string;
|
|
439
439
|
logoUrl: string | null;
|
|
440
440
|
siteUrl: string;
|
|
@@ -446,8 +446,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
446
446
|
updatedAt: string;
|
|
447
447
|
price: number;
|
|
448
448
|
deletedAt: string;
|
|
449
|
-
name: string | null;
|
|
450
449
|
id: string;
|
|
450
|
+
name: string | null;
|
|
451
451
|
isActive: boolean;
|
|
452
452
|
thumbnailUrl: string | null;
|
|
453
453
|
productId: string;
|
|
@@ -455,8 +455,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
455
455
|
trackInventory: boolean;
|
|
456
456
|
lowStockThreshold: number | null;
|
|
457
457
|
}[];
|
|
458
|
-
name: string;
|
|
459
458
|
id: string;
|
|
459
|
+
name: string;
|
|
460
460
|
slug: string;
|
|
461
461
|
createdAt: string;
|
|
462
462
|
updatedAt: string;
|
|
@@ -638,8 +638,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
638
638
|
createdAt: string;
|
|
639
639
|
updatedAt: string;
|
|
640
640
|
deletedAt: string;
|
|
641
|
-
name: string;
|
|
642
641
|
id: string;
|
|
642
|
+
name: string;
|
|
643
643
|
slug: string;
|
|
644
644
|
logoUrl: string | null;
|
|
645
645
|
siteUrl: string;
|
|
@@ -651,8 +651,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
651
651
|
updatedAt: string;
|
|
652
652
|
price: number;
|
|
653
653
|
deletedAt: string;
|
|
654
|
-
name: string | null;
|
|
655
654
|
id: string;
|
|
655
|
+
name: string | null;
|
|
656
656
|
isActive: boolean;
|
|
657
657
|
thumbnailUrl: string | null;
|
|
658
658
|
productId: string;
|
|
@@ -660,8 +660,8 @@ declare const app: import("hono/hono-base").HonoBase<AppContext, {
|
|
|
660
660
|
trackInventory: boolean;
|
|
661
661
|
lowStockThreshold: number | null;
|
|
662
662
|
}[];
|
|
663
|
-
name: string;
|
|
664
663
|
id: string;
|
|
664
|
+
name: string;
|
|
665
665
|
slug: string;
|
|
666
666
|
createdAt: string;
|
|
667
667
|
updatedAt: string;
|