@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,329 @@
1
+ import type { CreateExpressContextOptions } from "@trpc/server/adapters/express";
2
+ export declare const createTRPCContextAPI: (opts: CreateExpressContextOptions) => Promise<{
3
+ db: import("@prisma/client").PrismaClient<{
4
+ log: ("error" | "query" | "warn")[];
5
+ }, never, import("@prisma/client/runtime/library").DefaultArgs>;
6
+ session: {
7
+ id: string;
8
+ createdAt: Date;
9
+ updatedAt: Date;
10
+ userId: string;
11
+ expiresAt: Date;
12
+ token: string;
13
+ ipAddress?: string | null | undefined;
14
+ userAgent?: string | null | undefined;
15
+ } | null;
16
+ user: {
17
+ id: string;
18
+ createdAt: Date;
19
+ updatedAt: Date;
20
+ email: string;
21
+ emailVerified: boolean;
22
+ name: string;
23
+ image?: string | null | undefined;
24
+ role?: import("@prisma/client").$Enums.Role;
25
+ banned?: boolean | null;
26
+ } | null;
27
+ headers: Headers;
28
+ }>;
29
+ export declare const createCallerFactory: import("@trpc/server").TRPCRouterCallerFactory<{
30
+ ctx: {
31
+ db: import("@prisma/client").PrismaClient<{
32
+ log: ("error" | "query" | "warn")[];
33
+ }, never, import("@prisma/client/runtime/library").DefaultArgs>;
34
+ session: {
35
+ id: string;
36
+ createdAt: Date;
37
+ updatedAt: Date;
38
+ userId: string;
39
+ expiresAt: Date;
40
+ token: string;
41
+ ipAddress?: string | null | undefined;
42
+ userAgent?: string | null | undefined;
43
+ } | null;
44
+ user: {
45
+ id: string;
46
+ createdAt: Date;
47
+ updatedAt: Date;
48
+ email: string;
49
+ emailVerified: boolean;
50
+ name: string;
51
+ image?: string | null | undefined;
52
+ role?: import("@prisma/client").$Enums.Role;
53
+ banned?: boolean | null;
54
+ } | null;
55
+ headers: Headers;
56
+ };
57
+ meta: object;
58
+ errorShape: {
59
+ data: {
60
+ zodError: {
61
+ errors: string[];
62
+ } | null;
63
+ code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
64
+ httpStatus: number;
65
+ path?: string;
66
+ stack?: string;
67
+ };
68
+ message: string;
69
+ code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
70
+ };
71
+ transformer: true;
72
+ }>;
73
+ export declare const createTRPCRouter: import("@trpc/server").TRPCRouterBuilder<{
74
+ ctx: {
75
+ db: import("@prisma/client").PrismaClient<{
76
+ log: ("error" | "query" | "warn")[];
77
+ }, never, import("@prisma/client/runtime/library").DefaultArgs>;
78
+ session: {
79
+ id: string;
80
+ createdAt: Date;
81
+ updatedAt: Date;
82
+ userId: string;
83
+ expiresAt: Date;
84
+ token: string;
85
+ ipAddress?: string | null | undefined;
86
+ userAgent?: string | null | undefined;
87
+ } | null;
88
+ user: {
89
+ id: string;
90
+ createdAt: Date;
91
+ updatedAt: Date;
92
+ email: string;
93
+ emailVerified: boolean;
94
+ name: string;
95
+ image?: string | null | undefined;
96
+ role?: import("@prisma/client").$Enums.Role;
97
+ banned?: boolean | null;
98
+ } | null;
99
+ headers: Headers;
100
+ };
101
+ meta: object;
102
+ errorShape: {
103
+ data: {
104
+ zodError: {
105
+ errors: string[];
106
+ } | null;
107
+ code: import("@trpc/server").TRPC_ERROR_CODE_KEY;
108
+ httpStatus: number;
109
+ path?: string;
110
+ stack?: string;
111
+ };
112
+ message: string;
113
+ code: import("@trpc/server").TRPC_ERROR_CODE_NUMBER;
114
+ };
115
+ transformer: true;
116
+ }>;
117
+ export declare const publicProcedure: import("@trpc/server").TRPCProcedureBuilder<{
118
+ db: import("@prisma/client").PrismaClient<{
119
+ log: ("error" | "query" | "warn")[];
120
+ }, never, import("@prisma/client/runtime/library").DefaultArgs>;
121
+ session: {
122
+ id: string;
123
+ createdAt: Date;
124
+ updatedAt: Date;
125
+ userId: string;
126
+ expiresAt: Date;
127
+ token: string;
128
+ ipAddress?: string | null | undefined;
129
+ userAgent?: string | null | undefined;
130
+ } | null;
131
+ user: {
132
+ id: string;
133
+ createdAt: Date;
134
+ updatedAt: Date;
135
+ email: string;
136
+ emailVerified: boolean;
137
+ name: string;
138
+ image?: string | null | undefined;
139
+ role?: import("@prisma/client").$Enums.Role;
140
+ banned?: boolean | null;
141
+ } | null;
142
+ headers: Headers;
143
+ }, object, {
144
+ user: {
145
+ id: string;
146
+ createdAt: Date;
147
+ updatedAt: Date;
148
+ email: string;
149
+ emailVerified: boolean;
150
+ name: string;
151
+ image?: string | null | undefined;
152
+ role?: import("@prisma/client").$Enums.Role;
153
+ banned?: boolean | null;
154
+ } | null;
155
+ session: {
156
+ id: string;
157
+ createdAt: Date;
158
+ updatedAt: Date;
159
+ userId: string;
160
+ expiresAt: Date;
161
+ token: string;
162
+ ipAddress?: string | null | undefined;
163
+ userAgent?: string | null | undefined;
164
+ } | null;
165
+ headers: Headers;
166
+ db: import("@prisma/client").PrismaClient<{
167
+ log: ("error" | "query" | "warn")[];
168
+ }, never, import("@prisma/client/runtime/library").DefaultArgs>;
169
+ }, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, false>;
170
+ export declare const protectedProcedure: import("@trpc/server").TRPCProcedureBuilder<{
171
+ db: import("@prisma/client").PrismaClient<{
172
+ log: ("error" | "query" | "warn")[];
173
+ }, never, import("@prisma/client/runtime/library").DefaultArgs>;
174
+ session: {
175
+ id: string;
176
+ createdAt: Date;
177
+ updatedAt: Date;
178
+ userId: string;
179
+ expiresAt: Date;
180
+ token: string;
181
+ ipAddress?: string | null | undefined;
182
+ userAgent?: string | null | undefined;
183
+ } | null;
184
+ user: {
185
+ id: string;
186
+ createdAt: Date;
187
+ updatedAt: Date;
188
+ email: string;
189
+ emailVerified: boolean;
190
+ name: string;
191
+ image?: string | null | undefined;
192
+ role?: import("@prisma/client").$Enums.Role;
193
+ banned?: boolean | null;
194
+ } | null;
195
+ headers: Headers;
196
+ }, object, {
197
+ user: {
198
+ id: string;
199
+ createdAt: Date;
200
+ updatedAt: Date;
201
+ email: string;
202
+ emailVerified: boolean;
203
+ name: string;
204
+ image?: string | null | undefined;
205
+ role?: import("@prisma/client").$Enums.Role;
206
+ banned?: boolean | null;
207
+ };
208
+ session: {
209
+ id: string;
210
+ createdAt: Date;
211
+ updatedAt: Date;
212
+ userId: string;
213
+ expiresAt: Date;
214
+ token: string;
215
+ ipAddress?: string | null | undefined;
216
+ userAgent?: string | null | undefined;
217
+ } | null;
218
+ headers: Headers;
219
+ db: import("@prisma/client").PrismaClient<{
220
+ log: ("error" | "query" | "warn")[];
221
+ }, never, import("@prisma/client/runtime/library").DefaultArgs>;
222
+ }, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, false>;
223
+ export declare const adminProcedure: import("@trpc/server").TRPCProcedureBuilder<{
224
+ db: import("@prisma/client").PrismaClient<{
225
+ log: ("error" | "query" | "warn")[];
226
+ }, never, import("@prisma/client/runtime/library").DefaultArgs>;
227
+ session: {
228
+ id: string;
229
+ createdAt: Date;
230
+ updatedAt: Date;
231
+ userId: string;
232
+ expiresAt: Date;
233
+ token: string;
234
+ ipAddress?: string | null | undefined;
235
+ userAgent?: string | null | undefined;
236
+ } | null;
237
+ user: {
238
+ id: string;
239
+ createdAt: Date;
240
+ updatedAt: Date;
241
+ email: string;
242
+ emailVerified: boolean;
243
+ name: string;
244
+ image?: string | null | undefined;
245
+ role?: import("@prisma/client").$Enums.Role;
246
+ banned?: boolean | null;
247
+ } | null;
248
+ headers: Headers;
249
+ }, object, {
250
+ user: {
251
+ id: string;
252
+ createdAt: Date;
253
+ updatedAt: Date;
254
+ email: string;
255
+ emailVerified: boolean;
256
+ name: string;
257
+ image?: string | null | undefined;
258
+ role?: import("@prisma/client").$Enums.Role;
259
+ banned?: boolean | null;
260
+ };
261
+ session: {
262
+ id: string;
263
+ createdAt: Date;
264
+ updatedAt: Date;
265
+ userId: string;
266
+ expiresAt: Date;
267
+ token: string;
268
+ ipAddress?: string | null | undefined;
269
+ userAgent?: string | null | undefined;
270
+ } | null;
271
+ headers: Headers;
272
+ db: import("@prisma/client").PrismaClient<{
273
+ log: ("error" | "query" | "warn")[];
274
+ }, never, import("@prisma/client/runtime/library").DefaultArgs>;
275
+ }, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, false>;
276
+ export declare const clientProcedure: import("@trpc/server").TRPCProcedureBuilder<{
277
+ db: import("@prisma/client").PrismaClient<{
278
+ log: ("error" | "query" | "warn")[];
279
+ }, never, import("@prisma/client/runtime/library").DefaultArgs>;
280
+ session: {
281
+ id: string;
282
+ createdAt: Date;
283
+ updatedAt: Date;
284
+ userId: string;
285
+ expiresAt: Date;
286
+ token: string;
287
+ ipAddress?: string | null | undefined;
288
+ userAgent?: string | null | undefined;
289
+ } | null;
290
+ user: {
291
+ id: string;
292
+ createdAt: Date;
293
+ updatedAt: Date;
294
+ email: string;
295
+ emailVerified: boolean;
296
+ name: string;
297
+ image?: string | null | undefined;
298
+ role?: import("@prisma/client").$Enums.Role;
299
+ banned?: boolean | null;
300
+ } | null;
301
+ headers: Headers;
302
+ }, object, {
303
+ user: {
304
+ id: string;
305
+ createdAt: Date;
306
+ updatedAt: Date;
307
+ email: string;
308
+ emailVerified: boolean;
309
+ name: string;
310
+ image?: string | null | undefined;
311
+ role?: import("@prisma/client").$Enums.Role;
312
+ banned?: boolean | null;
313
+ };
314
+ session: {
315
+ id: string;
316
+ createdAt: Date;
317
+ updatedAt: Date;
318
+ userId: string;
319
+ expiresAt: Date;
320
+ token: string;
321
+ ipAddress?: string | null | undefined;
322
+ userAgent?: string | null | undefined;
323
+ } | null;
324
+ headers: Headers;
325
+ db: import("@prisma/client").PrismaClient<{
326
+ log: ("error" | "query" | "warn")[];
327
+ }, never, import("@prisma/client/runtime/library").DefaultArgs>;
328
+ }, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, import("@trpc/server").TRPCUnsetMarker, false>;
329
+ //# sourceMappingURL=trpc.d.ts.map
@@ -0,0 +1,12 @@
1
+ import type { UpdatePasswordParams } from "../shared-types/admin.shared-types.js";
2
+ import { Prisma, PrismaClient } from "@prisma/client";
3
+ type UpdatePasswordReturn = Promise<{
4
+ success: boolean;
5
+ }>;
6
+ export declare class AdminDAL {
7
+ private db;
8
+ constructor(db: PrismaClient | Prisma.TransactionClient);
9
+ updatePassword(params: UpdatePasswordParams): UpdatePasswordReturn;
10
+ }
11
+ export {};
12
+ //# sourceMappingURL=admin.dal.d.ts.map
@@ -0,0 +1,29 @@
1
+ import { Prisma, PrismaClient } from "@prisma/client";
2
+ import type { CartItemWithItsVariation, PublicCartItemDTO } from "../data-transfer-objects/cart.dto.js";
3
+ import type { AddItemToCartParams, RemoveItemFromCartParams, UpdateCartItemParams } from "../shared-types/cart.shared-types.js";
4
+ type GetItemsOfClientReturn = Promise<{
5
+ items: CartItemWithItsVariation[];
6
+ }>;
7
+ type UpdateItemQtyReturn = Promise<{
8
+ cartItem: PublicCartItemDTO;
9
+ }>;
10
+ type RemoveItemReturn = Promise<{
11
+ cartItem: PublicCartItemDTO;
12
+ }>;
13
+ type ClearReturn = Promise<{
14
+ count: number;
15
+ }>;
16
+ type AddItemReturn = Promise<{
17
+ cartItem: PublicCartItemDTO;
18
+ }>;
19
+ export declare class CartDAL {
20
+ private db;
21
+ constructor(db: PrismaClient | Prisma.TransactionClient);
22
+ getItemsOfClient(clientId: string): GetItemsOfClientReturn;
23
+ updateItemQty(params: UpdateCartItemParams): UpdateItemQtyReturn;
24
+ removeItem(params: RemoveItemFromCartParams): RemoveItemReturn;
25
+ clear(clientId: string): ClearReturn;
26
+ addItem(params: AddItemToCartParams): AddItemReturn;
27
+ }
28
+ export {};
29
+ //# sourceMappingURL=cart.dal.d.ts.map
@@ -0,0 +1,11 @@
1
+ import type { PublicCategoryDTO } from "../data-transfer-objects/category.dto.js";
2
+ import { Prisma, PrismaClient } from "@prisma/client";
3
+ export declare class CategoryDAL {
4
+ private db;
5
+ constructor(db: PrismaClient | Prisma.TransactionClient);
6
+ getAll(): Promise<PublicCategoryDTO[]>;
7
+ create(name: string): Promise<PublicCategoryDTO>;
8
+ update(categoryId: string, newName: string): Promise<PublicCategoryDTO>;
9
+ delete(categoryId: string): Promise<PublicCategoryDTO>;
10
+ }
11
+ //# sourceMappingURL=category.dal.d.ts.map
@@ -0,0 +1,30 @@
1
+ import { Prisma, PrismaClient } from "@prisma/client";
2
+ import type { GetInfiniteClientsFilters, UpdateBanStatusParams, UpdateClientProfileParams } from "../shared-types/client.shared-types.js";
3
+ import type { PublicClientDTO } from "../data-transfer-objects/client.dto.js";
4
+ type GetByIdReturn = Promise<{
5
+ client: PublicClientDTO;
6
+ }>;
7
+ type GetManyWithCursorAndFiltersReturn = Promise<{
8
+ clients: PublicClientDTO[];
9
+ nextCursor: string | undefined;
10
+ }>;
11
+ type IsBannedReturn = Promise<{
12
+ banned: boolean;
13
+ }>;
14
+ type UpdateProfileReturn = Promise<{
15
+ success: boolean;
16
+ }>;
17
+ type UpdateBanStatusReturn = Promise<{
18
+ success: boolean;
19
+ }>;
20
+ export declare class ClientDAL {
21
+ private db;
22
+ constructor(db: PrismaClient | Prisma.TransactionClient);
23
+ getById(clientId: string): GetByIdReturn;
24
+ getManyWithCursorAndFilters(filters: GetInfiniteClientsFilters): GetManyWithCursorAndFiltersReturn;
25
+ isBanned(clientId: string): IsBannedReturn;
26
+ updateProfile(params: UpdateClientProfileParams): UpdateProfileReturn;
27
+ updateBanStatus(params: UpdateBanStatusParams): UpdateBanStatusReturn;
28
+ }
29
+ export {};
30
+ //# sourceMappingURL=client.dal.d.ts.map
@@ -0,0 +1,42 @@
1
+ import { UTApi } from "uploadthing/server";
2
+ import { Prisma, PrismaClient } from "@prisma/client";
3
+ import type { ExtendedImageDTO } from "../data-transfer-objects/file.dto.js";
4
+ type getImageKeysOfProductReturn = Promise<{
5
+ keys: string[];
6
+ }>;
7
+ type DeleteManyImagesFromStoreReturn = Promise<{
8
+ success: boolean;
9
+ }>;
10
+ type DeleteImageFromDBReturn = Promise<{
11
+ image: ExtendedImageDTO;
12
+ }>;
13
+ type GetAllImagesOfPorductReturn = Promise<{
14
+ images: ExtendedImageDTO[];
15
+ }>;
16
+ type DeleteImageFromStoreReturn = Promise<{
17
+ success: boolean;
18
+ }>;
19
+ type DeleteManyImagesFromDBReturn = Promise<{
20
+ success: boolean;
21
+ }>;
22
+ type AddSingleImagetoProductReturn = Promise<{
23
+ image: ExtendedImageDTO;
24
+ }>;
25
+ type GetMainImageOfProductReturn = Promise<{
26
+ image: ExtendedImageDTO;
27
+ }>;
28
+ export declare class FileDAL {
29
+ private db;
30
+ private utaAPI;
31
+ constructor(db: PrismaClient | Prisma.TransactionClient, utaAPI: UTApi);
32
+ getImageKeysOfProduct(productId: string): getImageKeysOfProductReturn;
33
+ deleteManyImagesFromStore(keys: string[]): DeleteManyImagesFromStoreReturn;
34
+ deleteImageFromStore(key: string): DeleteImageFromStoreReturn;
35
+ deleteImageFromDB(key: string): DeleteImageFromDBReturn;
36
+ deleteManyImagesFromDB(keys: string[]): DeleteManyImagesFromDBReturn;
37
+ addSingleImagetoProduct(newImage: ExtendedImageDTO): AddSingleImagetoProductReturn;
38
+ getMainImageOfProduct(productId: string): GetMainImageOfProductReturn;
39
+ getAllImagesOfPorduct(prodcutId: string): GetAllImagesOfPorductReturn;
40
+ }
41
+ export {};
42
+ //# sourceMappingURL=file.dal.d.ts.map
@@ -0,0 +1,133 @@
1
+ import type { GetOrdersFilters, GetOrdersOfClientFilters, UpdateOrderDetailsParams } from "../shared-types/order.shared-types.js";
2
+ import type { ExtendedOrderDTO, PublicOrderDTO, PublicOrderItemDTO, PublicShippingDetailsDTO } from "../data-transfer-objects/order.dto.js";
3
+ import { DeliveryType, OrderStatus, Prisma, PrismaClient, Role, ShippingProvider } from "@prisma/client";
4
+ type GetFirstOrderItemOfProductReturn = Promise<{
5
+ orderItem: PublicOrderItemDTO | null;
6
+ }>;
7
+ type GetFirstOrderItemOfVariationReturn = Promise<{
8
+ orderItem: PublicOrderItemDTO | null;
9
+ }>;
10
+ type GetByIdReturn = Promise<{
11
+ order: PublicOrderDTO;
12
+ }>;
13
+ type UpdateOrderStatusReturn = Promise<{
14
+ order: PublicOrderDTO;
15
+ }>;
16
+ type CreateShippingDetailsReturn = Promise<{
17
+ shippingDetails: PublicShippingDetailsDTO;
18
+ }>;
19
+ type CreateOrderReturn = Promise<{
20
+ order: PublicOrderDTO;
21
+ }>;
22
+ type OrderWithShippingDetails = PublicOrderDTO & {
23
+ shipping_details: PublicShippingDetailsDTO;
24
+ };
25
+ type FindManyByIdsReturn = Promise<{
26
+ orders: OrderWithShippingDetails[];
27
+ }>;
28
+ type UpdateManyOrdersToConfirmedReturn = Promise<{
29
+ success: boolean;
30
+ }>;
31
+ type GetExtendedOrderDetailsReturn = Promise<{
32
+ order: ExtendedOrderDTO & {
33
+ user: {
34
+ role: Role;
35
+ };
36
+ };
37
+ }>;
38
+ type GetByTrackingNumberReturn = Promise<{
39
+ order: PublicOrderDTO;
40
+ }>;
41
+ type OrderWithUserRole = PublicOrderDTO & {
42
+ user: {
43
+ role: Role;
44
+ };
45
+ };
46
+ type GetManyReturn = Promise<{
47
+ orders: OrderWithUserRole[];
48
+ nextCursor: string | undefined;
49
+ }>;
50
+ type UpdateDetailsReturn = Promise<{
51
+ success: boolean;
52
+ }>;
53
+ type UpdateTrackingNumberReturn = Promise<{
54
+ order: PublicOrderDTO;
55
+ }>;
56
+ export declare class OrderDAL {
57
+ private db;
58
+ constructor(db: PrismaClient | Prisma.TransactionClient);
59
+ getManyOfClient(filters: GetOrdersOfClientFilters): Promise<{
60
+ orders: {
61
+ id: string;
62
+ createdAt: Date;
63
+ userId: string;
64
+ tracking_number: string | null;
65
+ status: import("@prisma/client").$Enums.OrderStatus;
66
+ shipping_status: string | null;
67
+ total_order_price: number;
68
+ shipping_price_at_order_time: number;
69
+ selected_shipping_provider: "WORLD_EXPRESS";
70
+ total_weight: number;
71
+ shipping_details_id: string;
72
+ total_product_price: never;
73
+ delivery_type: never;
74
+ fragile: never;
75
+ }[];
76
+ nextCursor: string | undefined;
77
+ }>;
78
+ getMany(filters: GetOrdersFilters): GetManyReturn;
79
+ getFirstOrderItemOfProduct(productId: string): GetFirstOrderItemOfProductReturn;
80
+ getFirstOrderItemOfVariation(variationId: string): GetFirstOrderItemOfVariationReturn;
81
+ getById(orderId: string): GetByIdReturn;
82
+ getByTrackingNumber(trackingNumber: string): GetByTrackingNumberReturn;
83
+ updateOrderStatus(orderId: string, newStatus: OrderStatus, removeTrackingNumber?: boolean): UpdateOrderStatusReturn;
84
+ createShippingDetails(params: CreateShippingDetailsParams): CreateShippingDetailsReturn;
85
+ createOrder(params: CreateOrderDALParams): CreateOrderReturn;
86
+ findManyByIds(orderIds: string[]): FindManyByIdsReturn;
87
+ updateManyOrdersToConfirmed(params: UpdateManyOrdersToConfirmedParams): UpdateManyOrdersToConfirmedReturn;
88
+ getExtendedOrderDetails(orderId: string, clientId: string | undefined): GetExtendedOrderDetailsReturn;
89
+ updateManyOrdersStatuses(params: UpdateManyOrdersStatusesParams): Promise<void>;
90
+ updateDetails(params: UpdateOrderDetailsParams): UpdateDetailsReturn;
91
+ updateTrackingNumber(params: UpdateTrackingNumberParams): UpdateTrackingNumberReturn;
92
+ }
93
+ interface CreateOrderDALParams {
94
+ selected_shipping_provider: ShippingProvider;
95
+ shipping_price_at_order_time: number;
96
+ total_order_price: number;
97
+ total_weight: number;
98
+ total_products_price: number;
99
+ order_items: {
100
+ qty: number;
101
+ unit_price_at_order_time: number;
102
+ variation_id: string;
103
+ }[];
104
+ clientId: string;
105
+ shipping_details_id: string;
106
+ }
107
+ interface CreateShippingDetailsParams {
108
+ full_name: string;
109
+ first_phone: string;
110
+ second_phone?: string | undefined;
111
+ code_wilaya: number;
112
+ commune: string;
113
+ code_postal: string;
114
+ address: string;
115
+ gps_link?: string | undefined;
116
+ client_note?: string | undefined;
117
+ delivery_type: DeliveryType;
118
+ fragile: boolean;
119
+ }
120
+ type UpdateManyOrdersToConfirmedParams = {
121
+ orderId: string;
122
+ trackingNumber: string;
123
+ }[];
124
+ type UpdateManyOrdersStatusesParams = {
125
+ order: PublicOrderDTO;
126
+ newStatus: OrderStatus;
127
+ }[];
128
+ type UpdateTrackingNumberParams = {
129
+ orderId: string;
130
+ trackingNumber: string;
131
+ };
132
+ export {};
133
+ //# sourceMappingURL=order.dal.d.ts.map
@@ -0,0 +1,69 @@
1
+ import type { CreateProductParams, CreateVariationParams, GetLowStockProductsFilters, GetProductsFilters, UpdateProductParams, UpdateVariationQtyAndWeightParams } from "../shared-types/product.shared-types.js";
2
+ import type { ExtendedVariationDTO, PublicProductDTO, PublicVariationDTO } from "../data-transfer-objects/product.dto.js";
3
+ import { Prisma, PrismaClient } from "@prisma/client";
4
+ type GetManyProductsReturn = Promise<{
5
+ products: PublicProductDTO[];
6
+ nextCursor: string | undefined;
7
+ }>;
8
+ type GetStaticDataReturn = Promise<{
9
+ product: PublicProductDTO;
10
+ }>;
11
+ type GetInfiniteLowStockReturn = Promise<{
12
+ products: PublicProductDTO[];
13
+ nextCursor: string | undefined;
14
+ }>;
15
+ type GetAllVariationsOfProductReturn = Promise<{
16
+ variations: PublicVariationDTO[];
17
+ }>;
18
+ type CreateReturn = Promise<{
19
+ product: PublicProductDTO;
20
+ }>;
21
+ type UpdateStaticDetailsReturn = Promise<{
22
+ product: PublicProductDTO;
23
+ }>;
24
+ type CreateVariationReturn = Promise<{
25
+ variation: PublicVariationDTO;
26
+ }>;
27
+ type GetExtendedVariationByIdReturn = Promise<{
28
+ variation: ExtendedVariationDTO;
29
+ }>;
30
+ type UpdateVariationQtyAndWeightReturn = Promise<{
31
+ variation: ExtendedVariationDTO;
32
+ }>;
33
+ type DeleteReturn = Promise<{
34
+ product: PublicProductDTO;
35
+ }>;
36
+ type DeleteVariationReturn = Promise<{
37
+ variation: PublicVariationDTO;
38
+ }>;
39
+ type GetAllExtendedVariationsOfProductReturn = Promise<{
40
+ variations: ExtendedVariationDTO[];
41
+ }>;
42
+ type UpdateManyVariationsQtyReturn = Promise<{
43
+ success: boolean;
44
+ }>;
45
+ export declare class ProductDAL {
46
+ private db;
47
+ constructor(db: PrismaClient | Prisma.TransactionClient);
48
+ getManyProducts(filters: GetProductsFilters): GetManyProductsReturn;
49
+ getStaticData(productId: string): GetStaticDataReturn;
50
+ getInfiniteLowStock(filters: GetLowStockProductsFilters): GetInfiniteLowStockReturn;
51
+ getAllVariationsOfProduct(productId: string): GetAllVariationsOfProductReturn;
52
+ getAllExtendedVariationsOfProduct(productId: string): GetAllExtendedVariationsOfProductReturn;
53
+ getExtendedVariationById(variationId: string): GetExtendedVariationByIdReturn;
54
+ create(params: CreateProductParams): CreateReturn;
55
+ updateStaticDetails(productId: string, params: UpdateProductParams): UpdateStaticDetailsReturn;
56
+ createVariation(productId: string, params: CreateVariationParams): CreateVariationReturn;
57
+ updateVariationQtyAndWeight(variationId: string, params: UpdateVariationQtyAndWeightParams): UpdateVariationQtyAndWeightReturn;
58
+ delete(productId: string): DeleteReturn;
59
+ deleteVariation(variationId: string): DeleteVariationReturn;
60
+ updateManyVariationsQty(params: UpdateManyVariationsQtyParams): UpdateManyVariationsQtyReturn;
61
+ }
62
+ type UpdateManyVariationsQtyParams = {
63
+ variationId: string;
64
+ incrementTotalQtyBy: number;
65
+ incrementReservedQtyBy: number;
66
+ incrementAvailableQtyBy: number;
67
+ }[];
68
+ export {};
69
+ //# sourceMappingURL=product.dal.d.ts.map