@djaouad10/shared-types 1.0.0 → 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 (88) hide show
  1. package/dist/api/root.d.ts +2442 -0
  2. package/dist/api/routers/admin/handler-input-schema.d.ts +6 -0
  3. package/dist/api/routers/admin/index.d.ts +56 -0
  4. package/dist/api/routers/cart/handler-input-schema.d.ts +17 -0
  5. package/dist/api/routers/cart/index.d.ts +93 -0
  6. package/dist/api/routers/category/handler-input-schema.d.ts +12 -0
  7. package/dist/api/routers/category/index.d.ts +73 -0
  8. package/dist/api/routers/client/handler-input-schema.d.ts +30 -0
  9. package/dist/api/routers/client/index.d.ts +102 -0
  10. package/dist/api/routers/file/handler-input-schema.d.ts +77 -0
  11. package/dist/api/routers/file/index.d.ts +85 -0
  12. package/dist/api/routers/order/handler-input-schema.d.ts +96 -0
  13. package/dist/api/routers/order/index.d.ts +187 -0
  14. package/dist/api/routers/product/handler-input-schema.d.ts +65 -0
  15. package/dist/api/routers/product/index.d.ts +228 -0
  16. package/dist/api/routers/product/variation/handler-input-schema.d.ts +56 -0
  17. package/dist/api/routers/product/variation/index.d.ts +90 -0
  18. package/dist/api/routers/rating/handler-input-schema.d.ts +41 -0
  19. package/dist/api/routers/rating/index.d.ts +128 -0
  20. package/dist/api/routers/shipping/address/handler-input-schema.d.ts +5 -0
  21. package/dist/api/routers/shipping/address/index.d.ts +66 -0
  22. package/dist/api/routers/shipping/handler-input-schema.d.ts +2 -0
  23. package/dist/api/routers/shipping/index.d.ts +182 -0
  24. package/dist/api/routers/shipping/shipments/handler-input-schema.d.ts +8 -0
  25. package/dist/api/routers/shipping/shipments/index.d.ts +72 -0
  26. package/dist/api/routers/statistics/handler-input-schema.d.ts +2 -0
  27. package/dist/api/routers/statistics/index.d.ts +51 -0
  28. package/dist/api/trpc.d.ts +329 -0
  29. package/dist/data-access-layer/admin.dal.d.ts +12 -0
  30. package/dist/data-access-layer/cart.dal.d.ts +29 -0
  31. package/dist/data-access-layer/category.dal.d.ts +11 -0
  32. package/dist/data-access-layer/client.dal.d.ts +30 -0
  33. package/dist/data-access-layer/file.dal.d.ts +42 -0
  34. package/dist/data-access-layer/order.dal.d.ts +133 -0
  35. package/dist/data-access-layer/product.dal.d.ts +69 -0
  36. package/dist/data-access-layer/rating.dal.d.ts +40 -0
  37. package/dist/data-access-layer/shipping/world-express.dal.d.ts +205 -0
  38. package/dist/data-access-layer/statistic.dal.d.ts +6 -0
  39. package/dist/data-transfer-objects/cart.dto.d.ts +17 -0
  40. package/dist/data-transfer-objects/category.dto.d.ts +5 -0
  41. package/dist/data-transfer-objects/client.dto.d.ts +9 -0
  42. package/dist/data-transfer-objects/file.dto.d.ts +13 -0
  43. package/dist/data-transfer-objects/order.dto.d.ts +52 -0
  44. package/dist/data-transfer-objects/product.dto.d.ts +33 -0
  45. package/dist/data-transfer-objects/rating.dto.d.ts +9 -0
  46. package/dist/errors/index.d.ts +32 -0
  47. package/dist/index.d.ts +2 -0
  48. package/dist/lib/auth.d.ts +1051 -0
  49. package/dist/lib/core.d.ts +15 -0
  50. package/dist/lib/db.d.ts +5 -0
  51. package/dist/lib/env.d.ts +15 -0
  52. package/dist/lib/static.d.ts +8 -0
  53. package/dist/lib/validation/shared-schemas.d.ts +173 -0
  54. package/dist/services/admin.service.d.ts +12 -0
  55. package/dist/services/cart.service.d.ts +24 -0
  56. package/dist/services/category.service.d.ts +12 -0
  57. package/dist/services/client.service.d.ts +25 -0
  58. package/dist/services/email.service.d.ts +11 -0
  59. package/dist/services/file.service.d.ts +37 -0
  60. package/dist/services/index.d.ts +23 -0
  61. package/dist/services/order.service.d.ts +90 -0
  62. package/dist/services/product.service.d.ts +47 -0
  63. package/dist/services/rating.service.d.ts +31 -0
  64. package/dist/services/shipping/service-definitons.d.ts +122 -0
  65. package/dist/services/shipping/world-epress.service.d.ts +86 -0
  66. package/dist/services/statistic.service.d.ts +8 -0
  67. package/dist/shared-types/admin.shared-types.d.ts +6 -0
  68. package/dist/shared-types/cart.shared-types.d.ts +19 -0
  69. package/dist/shared-types/client.shared-types.d.ts +29 -0
  70. package/dist/shared-types/file.shared-types.d.ts +11 -0
  71. package/dist/shared-types/order.shared-types.d.ts +30 -0
  72. package/dist/shared-types/product.shared-types.d.ts +52 -0
  73. package/dist/shared-types/rating.shared-types.d.ts +40 -0
  74. package/dist/test/factories/cart-item.factory.d.ts +2 -0
  75. package/dist/test/factories/category.factory.d.ts +9 -0
  76. package/dist/test/factories/file.factory.d.ts +21 -0
  77. package/dist/test/factories/index.d.ts +11 -0
  78. package/dist/test/factories/order.factory.d.ts +2 -0
  79. package/dist/test/factories/product.factory.d.ts +48 -0
  80. package/dist/test/factories/rating.factory.d.ts +2 -0
  81. package/dist/test/factories/shipping-details.factory.d.ts +2 -0
  82. package/dist/test/factories/types.d.ts +27 -0
  83. package/dist/test/factories/user.factory.d.ts +13 -0
  84. package/dist/test/factories/variation.factory.d.ts +2 -0
  85. package/dist/test/setup.d.ts +2 -0
  86. package/dist/test/verify-test-env.d.ts +2 -0
  87. package/package.json +18 -68
  88. package/README.md +0 -0
@@ -0,0 +1,40 @@
1
+ import { Prisma, PrismaClient } from "@prisma/client";
2
+ import type { CreateRatingParams, DeleteRatingParams, FindSingleRatingFilters, GetManyApprovedRatingsOfProductFilters, GetManyOfClientFilters, GetManyPendingFilters, RatingCursor, UpdateRatingParams } from "../shared-types/rating.shared-types.js";
3
+ import type { PublicRatingDTO } from "../data-transfer-objects/rating.dto.js";
4
+ type GetManyApprovedOfProductReturn = Promise<{
5
+ ratings: PublicRatingDTO[];
6
+ nextCursor: RatingCursor | undefined;
7
+ }>;
8
+ type GetManyOfClientReturn = Promise<{
9
+ ratings: PublicRatingDTO[];
10
+ nextCursor: RatingCursor | undefined;
11
+ }>;
12
+ type FindRatingReturn = Promise<{
13
+ rating: PublicRatingDTO;
14
+ }>;
15
+ type GetManyPendingReturn = Promise<{
16
+ ratings: PublicRatingDTO[];
17
+ nextCursor: RatingCursor | undefined;
18
+ }>;
19
+ type CreateReturn = Promise<{
20
+ rating: PublicRatingDTO;
21
+ }>;
22
+ type DeleteReturn = Promise<{
23
+ rating: PublicRatingDTO;
24
+ }>;
25
+ type UpdateReturn = Promise<{
26
+ rating: PublicRatingDTO;
27
+ }>;
28
+ export declare class RatingDAL {
29
+ private db;
30
+ constructor(db: PrismaClient | Prisma.TransactionClient);
31
+ getManyApprovedOfProduct(filters: GetManyApprovedRatingsOfProductFilters): GetManyApprovedOfProductReturn;
32
+ getManyOfClient(filters: GetManyOfClientFilters): GetManyOfClientReturn;
33
+ findRating(filters: FindSingleRatingFilters): FindRatingReturn;
34
+ getManyPending(filters: GetManyPendingFilters): GetManyPendingReturn;
35
+ create(params: CreateRatingParams): CreateReturn;
36
+ delete(params: DeleteRatingParams): DeleteReturn;
37
+ update(params: UpdateRatingParams): UpdateReturn;
38
+ }
39
+ export {};
40
+ //# sourceMappingURL=rating.dal.d.ts.map
@@ -0,0 +1,205 @@
1
+ import { PrismaClient, Prisma } from "@prisma/client";
2
+ interface EcotrackConfig {
3
+ baseUrl?: string;
4
+ apiKey?: string;
5
+ timeout?: number;
6
+ }
7
+ export declare class WorldExpressShippingDAL {
8
+ private db;
9
+ private baseUrl;
10
+ private apiKey;
11
+ private timeout;
12
+ constructor(db: PrismaClient | Prisma.TransactionClient, config?: EcotrackConfig);
13
+ private request;
14
+ getActiveWilayasOfProvider(): Promise<EcotrackWilayaOfProvider[]>;
15
+ getAllWilayasFees(): Promise<EcotrackAllWilayasFees>;
16
+ getActiveCommunesOfWilaya(wilayaId: string): Promise<EcotrackCommune[]>;
17
+ createOrder(params: EcotrackCreateOrderParams): Promise<EcotrackCreateOrderResponse>;
18
+ createManyOrders(params: EcotrackCreateOrderParams[]): Promise<EcotrackCreateManyOrdersResponse>;
19
+ markOrderAsReadyToShip(trackingNumber: string, askCollection?: boolean): Promise<EcotrackMarkOrderAsReadyToShipResponse>;
20
+ getUpdatesAppliedToParcel(trackingNumber: string): Promise<EcotrackGetUpdatesAppliedToParcelResponse>;
21
+ getTrackingHistoryOfSingleOrder(trackingNumber: string): Promise<EcotrackTrackingHistoryOfOrderResponse>;
22
+ getTrackingHistoryOfManyOrders(trackingNumbers: string[]): Promise<EcotrackTrackingHistoryOfManyOrders>;
23
+ getOneOrManyOrdersDetailsAndStatus(trackingNumbers: string[]): Promise<EcotrackGetOrdersStatusResponse>;
24
+ deleteOrder(trackingNumber: string): Promise<{
25
+ delete: "success" | "fail";
26
+ }>;
27
+ updateOrder(params: EcotrackUpdateOrderParams): Promise<{
28
+ success: boolean;
29
+ }>;
30
+ getShippingLabel(trackingNumber: string): Promise<any>;
31
+ }
32
+ interface EcotrackWilayaOfProvider {
33
+ wilaya_id: number;
34
+ wilaya_name: string;
35
+ }
36
+ interface EcotrackWilayaFees {
37
+ wilaya_id: number;
38
+ tarif: string;
39
+ tarif_stopdesk: string;
40
+ }
41
+ interface EcotrackWeightFees {
42
+ surfacturation_a_domicile_DA: string;
43
+ surfacturation_stopdesk_DA: string;
44
+ pour_chaque_KG: string;
45
+ a_partir_de_KG: string;
46
+ }
47
+ interface EcotrackAllWilayasFees {
48
+ livraison: EcotrackWilayaFees[];
49
+ pickup: EcotrackWilayaFees[];
50
+ echange: EcotrackWilayaFees[];
51
+ recouvrement: EcotrackWilayaFees[];
52
+ retours: EcotrackWilayaFees[];
53
+ poids: {
54
+ livraison: EcotrackWeightFees;
55
+ pickup: EcotrackWeightFees;
56
+ echange: EcotrackWeightFees;
57
+ recouvrement: EcotrackWeightFees;
58
+ };
59
+ }
60
+ interface EcotrackCommune {
61
+ nom: string;
62
+ wilaya_id: number;
63
+ code_postal: string;
64
+ has_stop_desk: 1 | 0;
65
+ }
66
+ interface EcotrackUpdateOrderParams {
67
+ trackingNumber: string;
68
+ data: {
69
+ reference: string;
70
+ clientName: string;
71
+ phone: string;
72
+ phone2?: string | undefined;
73
+ address: string;
74
+ postalCode: string;
75
+ commune: string;
76
+ wilayaCode: string;
77
+ note?: string | undefined;
78
+ isFragile: boolean;
79
+ gpsLink?: string | undefined;
80
+ };
81
+ }
82
+ interface EcotrackCreateOrderParams {
83
+ reference: string;
84
+ clientName: string;
85
+ phone: string;
86
+ phone2: string | null;
87
+ address: string;
88
+ postalCode: string;
89
+ commune: string;
90
+ wilayaCode: string;
91
+ totalMoneyToBeCollected: number;
92
+ note: string | null;
93
+ useStopDesk: boolean;
94
+ isFragile: boolean;
95
+ gpsLink: string | null;
96
+ stock: boolean;
97
+ type: "delivery" | "exchange";
98
+ weightInKg: number;
99
+ }
100
+ type EcotrackCreateOrderResponse = {
101
+ trackingNumber: string;
102
+ };
103
+ type EcotrackCreateManyOrdersResponse = {
104
+ results: Record<string, {
105
+ success: boolean;
106
+ tracking: string;
107
+ reference: string;
108
+ }>;
109
+ };
110
+ interface EcotrackMarkOrderAsReadyToShipResponse {
111
+ success: boolean;
112
+ message: string;
113
+ }
114
+ type EcotrackGetUpdatesAppliedToParcelResponse = {
115
+ remarque: string;
116
+ station: string;
117
+ livreur: string;
118
+ created_at: string;
119
+ tracking: string;
120
+ }[];
121
+ type EcotrackActivity = {
122
+ date: string;
123
+ time: string;
124
+ status: EcoTrackTrackingStatus;
125
+ scanLocation?: string;
126
+ station?: string;
127
+ };
128
+ type EcotrackShipmentBase = {
129
+ recipientName: string;
130
+ shippedBy: string;
131
+ originCity: number;
132
+ destLocationCity: number;
133
+ activity: EcotrackActivity[];
134
+ };
135
+ type EcotrackShipmentWithStation = EcotrackShipmentBase & {
136
+ currentStation: string;
137
+ reasons: string[];
138
+ };
139
+ type EcotrackShipmentWithoutStation = EcotrackShipmentBase & {
140
+ currentStation?: never;
141
+ reasons?: never;
142
+ };
143
+ type EcotrackTrackingHistoryOfOrderResponse = EcotrackShipmentWithStation | EcotrackShipmentWithoutStation;
144
+ type EcotrackOrderInfo = {
145
+ tracking: string;
146
+ reference: string;
147
+ client: string;
148
+ phone: string;
149
+ phone_2: string;
150
+ adresse: string;
151
+ wilaya_id: number;
152
+ commune: string;
153
+ montant: string;
154
+ remarque: string;
155
+ produit: string;
156
+ produit_echange: string;
157
+ driver_name: string;
158
+ driver_phone: string;
159
+ type_id: number;
160
+ created_at: string;
161
+ tarif_prestation: string;
162
+ tarif_retour: string | null;
163
+ stop_desk: number;
164
+ };
165
+ type EcotrackShipmentTracking = {
166
+ EcotrackOrderInfo: EcotrackOrderInfo;
167
+ recipientName: string;
168
+ shippedBy: string;
169
+ originCity: number;
170
+ destLocationCity: number;
171
+ status: EcoTrackTrackingStatus;
172
+ activity: EcotrackActivity[];
173
+ deliveryAttempts: unknown[];
174
+ };
175
+ type EcotrackTrackingHistoryOfManyOrders = Record<string, EcotrackShipmentTracking>;
176
+ type EcotrackStatusActivity = {
177
+ reason: string;
178
+ details: string;
179
+ station: string;
180
+ driver: string;
181
+ date: string;
182
+ time: string;
183
+ postponed_to: string | null;
184
+ };
185
+ type EcotrackOrderStatusCore = {
186
+ status: EcotrackOrderStatus;
187
+ order_id: string;
188
+ activity: EcotrackStatusActivity[];
189
+ };
190
+ type EcotrackOrderStatusExtras = {
191
+ desk_phone?: string;
192
+ desk_commune?: string;
193
+ desk_map_link?: string;
194
+ desk_address?: string;
195
+ driver_phone?: string;
196
+ estimated_fee?: number;
197
+ };
198
+ type EcotrackOrderStatusPayload = EcotrackOrderStatusCore & EcotrackOrderStatusExtras;
199
+ type EcotrackGetOrdersStatusResponse = {
200
+ data: Record<string, EcotrackOrderStatusPayload>;
201
+ };
202
+ type EcoTrackTrackingStatus = "order_information_received_by_carrier" | "picked" | "accepted_by_carrier" | "dispatched_to_driver" | "attempt_delivery" | "return_asked" | "return_in_transit" | "Return_received" | "livred" | "encaissed" | "payed";
203
+ export type EcotrackOrderStatus = "prete_a_expedier" | "en_ramassage" | "en_preparation_stock" | "vers_hub" | "en_hub" | "vers_wilaya" | "en_preparation" | "en_livraison" | "suspendu" | "livre_non_encaisse" | "encaisse_non_paye" | "paiements_prets" | "paye_et_archive" | "retour_chez_livreur" | "retour_transit_entrepot" | "retour_en_traitement" | "retour_recu" | "retour_archive" | "annule" | "all";
204
+ export {};
205
+ //# sourceMappingURL=world-express.dal.d.ts.map
@@ -0,0 +1,6 @@
1
+ import { Prisma, PrismaClient } from "@prisma/client";
2
+ export declare class StatisticDAL {
3
+ private db;
4
+ constructor(db: PrismaClient | Prisma.TransactionClient);
5
+ }
6
+ //# sourceMappingURL=statistic.dal.d.ts.map
@@ -0,0 +1,17 @@
1
+ import type { PublicVariationDTO } from "./product.dto.js";
2
+ export interface PublicCartItemDTO {
3
+ id: string;
4
+ userId: string;
5
+ variation_id: string;
6
+ selected_qty: number;
7
+ createdAt: Date;
8
+ }
9
+ export type CartItemWithItsVariation = PublicCartItemDTO & {
10
+ variation: PublicVariationDTO & {
11
+ product: {
12
+ price: number;
13
+ discount_price: number | null;
14
+ };
15
+ };
16
+ };
17
+ //# sourceMappingURL=cart.dto.d.ts.map
@@ -0,0 +1,5 @@
1
+ export interface PublicCategoryDTO {
2
+ id: string;
3
+ name: string;
4
+ }
5
+ //# sourceMappingURL=category.dto.d.ts.map
@@ -0,0 +1,9 @@
1
+ export interface PublicClientDTO {
2
+ id: string;
3
+ email: string;
4
+ name: string;
5
+ createdAt: Date;
6
+ banned: boolean | null;
7
+ banReason: string | null;
8
+ }
9
+ //# sourceMappingURL=client.dto.d.ts.map
@@ -0,0 +1,13 @@
1
+ export interface ExtendedImageDTO {
2
+ key: string;
3
+ name: string;
4
+ public_url: string;
5
+ color: string | null;
6
+ product_id: string;
7
+ is_main: boolean;
8
+ }
9
+ export interface PublicImageDTO {
10
+ public_url: string;
11
+ name: string;
12
+ }
13
+ //# sourceMappingURL=file.dto.d.ts.map
@@ -0,0 +1,52 @@
1
+ import { Color, DeliveryType, OrderStatus, ShippingProvider, Size } from "@prisma/client";
2
+ export interface PublicOrderItemDTO {
3
+ id: string;
4
+ variation_id: string;
5
+ orderId: string;
6
+ qty: number;
7
+ unit_price_at_order_time: number;
8
+ }
9
+ export interface PublicOrderDTO {
10
+ id: string;
11
+ createdAt: Date;
12
+ userId: string;
13
+ tracking_number: string | null;
14
+ status: OrderStatus;
15
+ shipping_status: string | null;
16
+ total_order_price: number;
17
+ total_product_price: number;
18
+ shipping_price_at_order_time: number;
19
+ selected_shipping_provider: ShippingProvider;
20
+ shipping_details_id: string | null;
21
+ delivery_type: DeliveryType;
22
+ fragile: boolean;
23
+ total_weight: number;
24
+ }
25
+ export interface PublicShippingDetailsDTO {
26
+ id: string;
27
+ delivery_type: DeliveryType;
28
+ fragile: boolean;
29
+ full_name: string;
30
+ first_phone: string;
31
+ second_phone: string | null;
32
+ code_wilaya: number;
33
+ commune: string;
34
+ code_postal: string;
35
+ address: string;
36
+ gps_link: string | null;
37
+ client_note: string | null;
38
+ }
39
+ export type ExtendedOrderItemDTO = PublicOrderItemDTO & {
40
+ variation: {
41
+ product_id: string;
42
+ size: Size;
43
+ color: Color;
44
+ weight_in_grams: number;
45
+ };
46
+ };
47
+ export type OrderItemsWithVariationDTO = {};
48
+ export type ExtendedOrderDTO = PublicOrderDTO & {
49
+ shipping_details: PublicShippingDetailsDTO;
50
+ order_items: ExtendedOrderItemDTO[];
51
+ };
52
+ //# sourceMappingURL=order.dto.d.ts.map
@@ -0,0 +1,33 @@
1
+ import { Color, Size } from "@prisma/client";
2
+ import type { PublicCategoryDTO } from "./category.dto.js";
3
+ import type { PublicImageDTO } from "./file.dto.js";
4
+ export interface PublicProductDTO {
5
+ id: string;
6
+ category: PublicCategoryDTO | null;
7
+ brand: string;
8
+ name: string;
9
+ price: number;
10
+ discount_price: number | null;
11
+ material: string;
12
+ average_rating: number;
13
+ description: string | null;
14
+ images: PublicImageDTO[];
15
+ }
16
+ export interface PublicVariationDTO {
17
+ id: string;
18
+ size: Size;
19
+ color: Color;
20
+ available_qty: number;
21
+ weight_in_grams: number;
22
+ }
23
+ export interface ExtendedVariationDTO {
24
+ id: string;
25
+ product_id: string;
26
+ size: Size;
27
+ color: Color;
28
+ total_qty: number;
29
+ reserved_qty: number;
30
+ available_qty: number;
31
+ weight_in_grams: number;
32
+ }
33
+ //# sourceMappingURL=product.dto.d.ts.map
@@ -0,0 +1,9 @@
1
+ export interface PublicRatingDTO {
2
+ rating: number;
3
+ userId: string;
4
+ product_id: string;
5
+ comment: string | null;
6
+ isApproved: boolean;
7
+ createdAt: Date;
8
+ }
9
+ //# sourceMappingURL=rating.dto.d.ts.map
@@ -0,0 +1,32 @@
1
+ export declare class EcotrackError extends Error {
2
+ statusCode: number;
3
+ rawBody?: string | undefined;
4
+ constructor(message: string, statusCode: number, rawBody?: string | undefined);
5
+ }
6
+ export declare class BrevoError extends Error {
7
+ statusCode: number;
8
+ rawBody?: string | undefined;
9
+ constructor(message: string, statusCode: number, rawBody?: string | undefined);
10
+ }
11
+ export declare class UnAuthorizedError extends Error {
12
+ statusCode: number;
13
+ constructor(message: string);
14
+ }
15
+ export declare class ForbiddenError extends Error {
16
+ statusCode: number;
17
+ constructor(message: string);
18
+ }
19
+ export declare class NotFoundError extends Error {
20
+ statusCode: number;
21
+ constructor(message: string);
22
+ }
23
+ export declare class InternalServerError extends Error {
24
+ statusCode: number;
25
+ constructor(message: string);
26
+ }
27
+ export declare class BadRequestError extends Error {
28
+ statusCode: number;
29
+ errors: Record<string, string[]>;
30
+ constructor(message: string, errors?: Record<string, string[]>);
31
+ }
32
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map