@commercejs/platform 0.1.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.
Files changed (402) hide show
  1. package/README.md +156 -0
  2. package/dist/__tests__/platform.drizzle.test.d.ts +2 -0
  3. package/dist/__tests__/platform.drizzle.test.d.ts.map +1 -0
  4. package/dist/__tests__/platform.drizzle.test.js +27 -0
  5. package/dist/__tests__/platform.drizzle.test.js.map +1 -0
  6. package/dist/__tests__/platform.prisma.test.d.ts +2 -0
  7. package/dist/__tests__/platform.prisma.test.d.ts.map +1 -0
  8. package/dist/__tests__/platform.prisma.test.js +27 -0
  9. package/dist/__tests__/platform.prisma.test.js.map +1 -0
  10. package/dist/__tests__/platform.suite.d.ts +8 -0
  11. package/dist/__tests__/platform.suite.d.ts.map +1 -0
  12. package/dist/__tests__/platform.suite.js +406 -0
  13. package/dist/__tests__/platform.suite.js.map +1 -0
  14. package/dist/adapter.d.ts +20 -0
  15. package/dist/adapter.d.ts.map +1 -0
  16. package/dist/adapter.js +122 -0
  17. package/dist/adapter.js.map +1 -0
  18. package/dist/database/drizzle/client.d.ts +13 -0
  19. package/dist/database/drizzle/client.d.ts.map +1 -0
  20. package/dist/database/drizzle/client.js +29 -0
  21. package/dist/database/drizzle/client.js.map +1 -0
  22. package/dist/database/drizzle/index.d.ts +5 -0
  23. package/dist/database/drizzle/index.d.ts.map +1 -0
  24. package/dist/database/drizzle/index.js +7 -0
  25. package/dist/database/drizzle/index.js.map +1 -0
  26. package/dist/database/drizzle/migrate.d.ts +9 -0
  27. package/dist/database/drizzle/migrate.d.ts.map +1 -0
  28. package/dist/database/drizzle/migrate.js +317 -0
  29. package/dist/database/drizzle/migrate.js.map +1 -0
  30. package/dist/database/drizzle/queries/brands.d.ts +26 -0
  31. package/dist/database/drizzle/queries/brands.d.ts.map +1 -0
  32. package/dist/database/drizzle/queries/brands.js +19 -0
  33. package/dist/database/drizzle/queries/brands.js.map +1 -0
  34. package/dist/database/drizzle/queries/cart.d.ts +61 -0
  35. package/dist/database/drizzle/queries/cart.d.ts.map +1 -0
  36. package/dist/database/drizzle/queries/cart.js +57 -0
  37. package/dist/database/drizzle/queries/cart.js.map +1 -0
  38. package/dist/database/drizzle/queries/catalog.d.ts +149 -0
  39. package/dist/database/drizzle/queries/catalog.d.ts.map +1 -0
  40. package/dist/database/drizzle/queries/catalog.js +88 -0
  41. package/dist/database/drizzle/queries/catalog.js.map +1 -0
  42. package/dist/database/drizzle/queries/countries.d.ts +22 -0
  43. package/dist/database/drizzle/queries/countries.d.ts.map +1 -0
  44. package/dist/database/drizzle/queries/countries.js +19 -0
  45. package/dist/database/drizzle/queries/countries.js.map +1 -0
  46. package/dist/database/drizzle/queries/customers.d.ts +87 -0
  47. package/dist/database/drizzle/queries/customers.d.ts.map +1 -0
  48. package/dist/database/drizzle/queries/customers.js +41 -0
  49. package/dist/database/drizzle/queries/customers.js.map +1 -0
  50. package/dist/database/drizzle/queries/index.d.ts +12 -0
  51. package/dist/database/drizzle/queries/index.d.ts.map +1 -0
  52. package/dist/database/drizzle/queries/index.js +28 -0
  53. package/dist/database/drizzle/queries/index.js.map +1 -0
  54. package/dist/database/drizzle/queries/orders.d.ts +74 -0
  55. package/dist/database/drizzle/queries/orders.d.ts.map +1 -0
  56. package/dist/database/drizzle/queries/orders.js +39 -0
  57. package/dist/database/drizzle/queries/orders.js.map +1 -0
  58. package/dist/database/drizzle/queries/promotions.d.ts +61 -0
  59. package/dist/database/drizzle/queries/promotions.d.ts.map +1 -0
  60. package/dist/database/drizzle/queries/promotions.js +39 -0
  61. package/dist/database/drizzle/queries/promotions.js.map +1 -0
  62. package/dist/database/drizzle/queries/returns.d.ts +62 -0
  63. package/dist/database/drizzle/queries/returns.d.ts.map +1 -0
  64. package/dist/database/drizzle/queries/returns.js +58 -0
  65. package/dist/database/drizzle/queries/returns.js.map +1 -0
  66. package/dist/database/drizzle/queries/reviews.d.ts +25 -0
  67. package/dist/database/drizzle/queries/reviews.d.ts.map +1 -0
  68. package/dist/database/drizzle/queries/reviews.js +57 -0
  69. package/dist/database/drizzle/queries/reviews.js.map +1 -0
  70. package/dist/database/drizzle/queries/store.d.ts +22 -0
  71. package/dist/database/drizzle/queries/store.d.ts.map +1 -0
  72. package/dist/database/drizzle/queries/store.js +14 -0
  73. package/dist/database/drizzle/queries/store.js.map +1 -0
  74. package/dist/database/drizzle/queries/wishlists.d.ts +31 -0
  75. package/dist/database/drizzle/queries/wishlists.d.ts.map +1 -0
  76. package/dist/database/drizzle/queries/wishlists.js +44 -0
  77. package/dist/database/drizzle/queries/wishlists.js.map +1 -0
  78. package/dist/database/drizzle/schema/brands.d.ts +196 -0
  79. package/dist/database/drizzle/schema/brands.d.ts.map +1 -0
  80. package/dist/database/drizzle/schema/brands.js +17 -0
  81. package/dist/database/drizzle/schema/brands.js.map +1 -0
  82. package/dist/database/drizzle/schema/carts.d.ts +294 -0
  83. package/dist/database/drizzle/schema/carts.d.ts.map +1 -0
  84. package/dist/database/drizzle/schema/carts.js +28 -0
  85. package/dist/database/drizzle/schema/carts.js.map +1 -0
  86. package/dist/database/drizzle/schema/categories.d.ts +215 -0
  87. package/dist/database/drizzle/schema/categories.d.ts.map +1 -0
  88. package/dist/database/drizzle/schema/categories.js +18 -0
  89. package/dist/database/drizzle/schema/categories.js.map +1 -0
  90. package/dist/database/drizzle/schema/countries.d.ts +158 -0
  91. package/dist/database/drizzle/schema/countries.d.ts.map +1 -0
  92. package/dist/database/drizzle/schema/countries.js +15 -0
  93. package/dist/database/drizzle/schema/countries.js.map +1 -0
  94. package/dist/database/drizzle/schema/customers.d.ts +469 -0
  95. package/dist/database/drizzle/schema/customers.d.ts.map +1 -0
  96. package/dist/database/drizzle/schema/customers.js +33 -0
  97. package/dist/database/drizzle/schema/customers.js.map +1 -0
  98. package/dist/database/drizzle/schema/index.d.ts +13 -0
  99. package/dist/database/drizzle/schema/index.d.ts.map +1 -0
  100. package/dist/database/drizzle/schema/index.js +16 -0
  101. package/dist/database/drizzle/schema/index.js.map +1 -0
  102. package/dist/database/drizzle/schema/orders.d.ts +722 -0
  103. package/dist/database/drizzle/schema/orders.d.ts.map +1 -0
  104. package/dist/database/drizzle/schema/orders.js +63 -0
  105. package/dist/database/drizzle/schema/orders.js.map +1 -0
  106. package/dist/database/drizzle/schema/products.d.ts +1180 -0
  107. package/dist/database/drizzle/schema/products.d.ts.map +1 -0
  108. package/dist/database/drizzle/schema/products.js +99 -0
  109. package/dist/database/drizzle/schema/products.js.map +1 -0
  110. package/dist/database/drizzle/schema/promotions.d.ts +474 -0
  111. package/dist/database/drizzle/schema/promotions.d.ts.map +1 -0
  112. package/dist/database/drizzle/schema/promotions.js +34 -0
  113. package/dist/database/drizzle/schema/promotions.js.map +1 -0
  114. package/dist/database/drizzle/schema/returns.d.ts +467 -0
  115. package/dist/database/drizzle/schema/returns.d.ts.map +1 -0
  116. package/dist/database/drizzle/schema/returns.js +34 -0
  117. package/dist/database/drizzle/schema/returns.js.map +1 -0
  118. package/dist/database/drizzle/schema/reviews.d.ts +175 -0
  119. package/dist/database/drizzle/schema/reviews.d.ts.map +1 -0
  120. package/dist/database/drizzle/schema/reviews.js +17 -0
  121. package/dist/database/drizzle/schema/reviews.js.map +1 -0
  122. package/dist/database/drizzle/schema/store.d.ts +350 -0
  123. package/dist/database/drizzle/schema/store.d.ts.map +1 -0
  124. package/dist/database/drizzle/schema/store.js +25 -0
  125. package/dist/database/drizzle/schema/store.js.map +1 -0
  126. package/dist/database/drizzle/schema/wishlists.d.ts +167 -0
  127. package/dist/database/drizzle/schema/wishlists.d.ts.map +1 -0
  128. package/dist/database/drizzle/schema/wishlists.js +19 -0
  129. package/dist/database/drizzle/schema/wishlists.js.map +1 -0
  130. package/dist/database/drizzle/seed.d.ts +6 -0
  131. package/dist/database/drizzle/seed.d.ts.map +1 -0
  132. package/dist/database/drizzle/seed.js +166 -0
  133. package/dist/database/drizzle/seed.js.map +1 -0
  134. package/dist/database/index.d.ts +8 -0
  135. package/dist/database/index.d.ts.map +1 -0
  136. package/dist/database/index.js +12 -0
  137. package/dist/database/index.js.map +1 -0
  138. package/dist/database/prisma/client.d.ts +13 -0
  139. package/dist/database/prisma/client.d.ts.map +1 -0
  140. package/dist/database/prisma/client.js +25 -0
  141. package/dist/database/prisma/client.js.map +1 -0
  142. package/dist/database/prisma/generated/browser.d.ts +135 -0
  143. package/dist/database/prisma/generated/browser.d.ts.map +1 -0
  144. package/dist/database/prisma/generated/browser.js +18 -0
  145. package/dist/database/prisma/generated/browser.js.map +1 -0
  146. package/dist/database/prisma/generated/client.d.ts +152 -0
  147. package/dist/database/prisma/generated/client.d.ts.map +1 -0
  148. package/dist/database/prisma/generated/client.js +33 -0
  149. package/dist/database/prisma/generated/client.js.map +1 -0
  150. package/dist/database/prisma/generated/commonInputTypes.d.ts +344 -0
  151. package/dist/database/prisma/generated/commonInputTypes.d.ts.map +1 -0
  152. package/dist/database/prisma/generated/commonInputTypes.js +11 -0
  153. package/dist/database/prisma/generated/commonInputTypes.js.map +1 -0
  154. package/dist/database/prisma/generated/enums.d.ts +2 -0
  155. package/dist/database/prisma/generated/enums.d.ts.map +1 -0
  156. package/dist/database/prisma/generated/enums.js +11 -0
  157. package/dist/database/prisma/generated/enums.js.map +1 -0
  158. package/dist/database/prisma/generated/internal/class.d.ts +402 -0
  159. package/dist/database/prisma/generated/internal/class.d.ts.map +1 -0
  160. package/dist/database/prisma/generated/internal/class.js +42 -0
  161. package/dist/database/prisma/generated/internal/class.js.map +1 -0
  162. package/dist/database/prisma/generated/internal/prismaNamespace.d.ts +2735 -0
  163. package/dist/database/prisma/generated/internal/prismaNamespace.d.ts.map +1 -0
  164. package/dist/database/prisma/generated/internal/prismaNamespace.js +415 -0
  165. package/dist/database/prisma/generated/internal/prismaNamespace.js.map +1 -0
  166. package/dist/database/prisma/generated/internal/prismaNamespaceBrowser.d.ts +400 -0
  167. package/dist/database/prisma/generated/internal/prismaNamespaceBrowser.d.ts.map +1 -0
  168. package/dist/database/prisma/generated/internal/prismaNamespaceBrowser.js +386 -0
  169. package/dist/database/prisma/generated/internal/prismaNamespaceBrowser.js.map +1 -0
  170. package/dist/database/prisma/generated/models/Brand.d.ts +1141 -0
  171. package/dist/database/prisma/generated/models/Brand.d.ts.map +1 -0
  172. package/dist/database/prisma/generated/models/Brand.js +2 -0
  173. package/dist/database/prisma/generated/models/Brand.js.map +1 -0
  174. package/dist/database/prisma/generated/models/Cart.d.ts +1464 -0
  175. package/dist/database/prisma/generated/models/Cart.d.ts.map +1 -0
  176. package/dist/database/prisma/generated/models/Cart.js +2 -0
  177. package/dist/database/prisma/generated/models/Cart.js.map +1 -0
  178. package/dist/database/prisma/generated/models/CartItem.d.ts +1487 -0
  179. package/dist/database/prisma/generated/models/CartItem.d.ts.map +1 -0
  180. package/dist/database/prisma/generated/models/CartItem.js +2 -0
  181. package/dist/database/prisma/generated/models/CartItem.js.map +1 -0
  182. package/dist/database/prisma/generated/models/Category.d.ts +1717 -0
  183. package/dist/database/prisma/generated/models/Category.d.ts.map +1 -0
  184. package/dist/database/prisma/generated/models/Category.js +2 -0
  185. package/dist/database/prisma/generated/models/Category.js.map +1 -0
  186. package/dist/database/prisma/generated/models/Country.d.ts +1076 -0
  187. package/dist/database/prisma/generated/models/Country.d.ts.map +1 -0
  188. package/dist/database/prisma/generated/models/Country.js +2 -0
  189. package/dist/database/prisma/generated/models/Country.js.map +1 -0
  190. package/dist/database/prisma/generated/models/Coupon.d.ts +1242 -0
  191. package/dist/database/prisma/generated/models/Coupon.d.ts.map +1 -0
  192. package/dist/database/prisma/generated/models/Coupon.js +2 -0
  193. package/dist/database/prisma/generated/models/Coupon.js.map +1 -0
  194. package/dist/database/prisma/generated/models/Customer.d.ts +1536 -0
  195. package/dist/database/prisma/generated/models/Customer.d.ts.map +1 -0
  196. package/dist/database/prisma/generated/models/Customer.js +2 -0
  197. package/dist/database/prisma/generated/models/Customer.js.map +1 -0
  198. package/dist/database/prisma/generated/models/CustomerAddress.d.ts +1519 -0
  199. package/dist/database/prisma/generated/models/CustomerAddress.d.ts.map +1 -0
  200. package/dist/database/prisma/generated/models/CustomerAddress.js +2 -0
  201. package/dist/database/prisma/generated/models/CustomerAddress.js.map +1 -0
  202. package/dist/database/prisma/generated/models/Order.d.ts +2136 -0
  203. package/dist/database/prisma/generated/models/Order.d.ts.map +1 -0
  204. package/dist/database/prisma/generated/models/Order.js +2 -0
  205. package/dist/database/prisma/generated/models/Order.js.map +1 -0
  206. package/dist/database/prisma/generated/models/OrderHistory.d.ts +1204 -0
  207. package/dist/database/prisma/generated/models/OrderHistory.d.ts.map +1 -0
  208. package/dist/database/prisma/generated/models/OrderHistory.js +2 -0
  209. package/dist/database/prisma/generated/models/OrderHistory.js.map +1 -0
  210. package/dist/database/prisma/generated/models/OrderItem.d.ts +1464 -0
  211. package/dist/database/prisma/generated/models/OrderItem.d.ts.map +1 -0
  212. package/dist/database/prisma/generated/models/OrderItem.js +2 -0
  213. package/dist/database/prisma/generated/models/OrderItem.js.map +1 -0
  214. package/dist/database/prisma/generated/models/Product.d.ts +2969 -0
  215. package/dist/database/prisma/generated/models/Product.d.ts.map +1 -0
  216. package/dist/database/prisma/generated/models/Product.js +2 -0
  217. package/dist/database/prisma/generated/models/Product.js.map +1 -0
  218. package/dist/database/prisma/generated/models/ProductAttribute.d.ts +1239 -0
  219. package/dist/database/prisma/generated/models/ProductAttribute.d.ts.map +1 -0
  220. package/dist/database/prisma/generated/models/ProductAttribute.js +2 -0
  221. package/dist/database/prisma/generated/models/ProductAttribute.js.map +1 -0
  222. package/dist/database/prisma/generated/models/ProductCategory.d.ts +1154 -0
  223. package/dist/database/prisma/generated/models/ProductCategory.d.ts.map +1 -0
  224. package/dist/database/prisma/generated/models/ProductCategory.js +2 -0
  225. package/dist/database/prisma/generated/models/ProductCategory.js.map +1 -0
  226. package/dist/database/prisma/generated/models/ProductImage.d.ts +1242 -0
  227. package/dist/database/prisma/generated/models/ProductImage.d.ts.map +1 -0
  228. package/dist/database/prisma/generated/models/ProductImage.js +2 -0
  229. package/dist/database/prisma/generated/models/ProductImage.js.map +1 -0
  230. package/dist/database/prisma/generated/models/ProductOption.d.ts +1328 -0
  231. package/dist/database/prisma/generated/models/ProductOption.d.ts.map +1 -0
  232. package/dist/database/prisma/generated/models/ProductOption.js +2 -0
  233. package/dist/database/prisma/generated/models/ProductOption.js.map +1 -0
  234. package/dist/database/prisma/generated/models/ProductOptionValue.d.ts +1207 -0
  235. package/dist/database/prisma/generated/models/ProductOptionValue.d.ts.map +1 -0
  236. package/dist/database/prisma/generated/models/ProductOptionValue.js +2 -0
  237. package/dist/database/prisma/generated/models/ProductOptionValue.js.map +1 -0
  238. package/dist/database/prisma/generated/models/ProductTag.d.ts +1099 -0
  239. package/dist/database/prisma/generated/models/ProductTag.d.ts.map +1 -0
  240. package/dist/database/prisma/generated/models/ProductTag.js +2 -0
  241. package/dist/database/prisma/generated/models/ProductTag.js.map +1 -0
  242. package/dist/database/prisma/generated/models/ProductVariant.d.ts +1543 -0
  243. package/dist/database/prisma/generated/models/ProductVariant.d.ts.map +1 -0
  244. package/dist/database/prisma/generated/models/ProductVariant.js +2 -0
  245. package/dist/database/prisma/generated/models/ProductVariant.js.map +1 -0
  246. package/dist/database/prisma/generated/models/Promotion.d.ts +1658 -0
  247. package/dist/database/prisma/generated/models/Promotion.d.ts.map +1 -0
  248. package/dist/database/prisma/generated/models/Promotion.js +2 -0
  249. package/dist/database/prisma/generated/models/Promotion.js.map +1 -0
  250. package/dist/database/prisma/generated/models/Return.d.ts +1448 -0
  251. package/dist/database/prisma/generated/models/Return.d.ts.map +1 -0
  252. package/dist/database/prisma/generated/models/Return.js +2 -0
  253. package/dist/database/prisma/generated/models/Return.js.map +1 -0
  254. package/dist/database/prisma/generated/models/ReturnItem.d.ts +1417 -0
  255. package/dist/database/prisma/generated/models/ReturnItem.d.ts.map +1 -0
  256. package/dist/database/prisma/generated/models/ReturnItem.js +2 -0
  257. package/dist/database/prisma/generated/models/ReturnItem.js.map +1 -0
  258. package/dist/database/prisma/generated/models/Review.d.ts +1142 -0
  259. package/dist/database/prisma/generated/models/Review.d.ts.map +1 -0
  260. package/dist/database/prisma/generated/models/Review.js +2 -0
  261. package/dist/database/prisma/generated/models/Review.js.map +1 -0
  262. package/dist/database/prisma/generated/models/StoreInfo.d.ts +1356 -0
  263. package/dist/database/prisma/generated/models/StoreInfo.d.ts.map +1 -0
  264. package/dist/database/prisma/generated/models/StoreInfo.js +2 -0
  265. package/dist/database/prisma/generated/models/StoreInfo.js.map +1 -0
  266. package/dist/database/prisma/generated/models/Wishlist.d.ts +1090 -0
  267. package/dist/database/prisma/generated/models/Wishlist.d.ts.map +1 -0
  268. package/dist/database/prisma/generated/models/Wishlist.js +2 -0
  269. package/dist/database/prisma/generated/models/Wishlist.js.map +1 -0
  270. package/dist/database/prisma/generated/models/WishlistItem.d.ts +1169 -0
  271. package/dist/database/prisma/generated/models/WishlistItem.d.ts.map +1 -0
  272. package/dist/database/prisma/generated/models/WishlistItem.js +2 -0
  273. package/dist/database/prisma/generated/models/WishlistItem.js.map +1 -0
  274. package/dist/database/prisma/generated/models.d.ts +28 -0
  275. package/dist/database/prisma/generated/models.d.ts.map +1 -0
  276. package/dist/database/prisma/generated/models.js +2 -0
  277. package/dist/database/prisma/generated/models.js.map +1 -0
  278. package/dist/database/prisma/index.d.ts +5 -0
  279. package/dist/database/prisma/index.d.ts.map +1 -0
  280. package/dist/database/prisma/index.js +7 -0
  281. package/dist/database/prisma/index.js.map +1 -0
  282. package/dist/database/prisma/migrate.d.ts +8 -0
  283. package/dist/database/prisma/migrate.d.ts.map +1 -0
  284. package/dist/database/prisma/migrate.js +323 -0
  285. package/dist/database/prisma/migrate.js.map +1 -0
  286. package/dist/database/prisma/queries/brands.d.ts +26 -0
  287. package/dist/database/prisma/queries/brands.d.ts.map +1 -0
  288. package/dist/database/prisma/queries/brands.js +17 -0
  289. package/dist/database/prisma/queries/brands.js.map +1 -0
  290. package/dist/database/prisma/queries/cart.d.ts +61 -0
  291. package/dist/database/prisma/queries/cart.d.ts.map +1 -0
  292. package/dist/database/prisma/queries/cart.js +68 -0
  293. package/dist/database/prisma/queries/cart.js.map +1 -0
  294. package/dist/database/prisma/queries/catalog.d.ts +149 -0
  295. package/dist/database/prisma/queries/catalog.d.ts.map +1 -0
  296. package/dist/database/prisma/queries/catalog.js +94 -0
  297. package/dist/database/prisma/queries/catalog.js.map +1 -0
  298. package/dist/database/prisma/queries/countries.d.ts +22 -0
  299. package/dist/database/prisma/queries/countries.d.ts.map +1 -0
  300. package/dist/database/prisma/queries/countries.js +17 -0
  301. package/dist/database/prisma/queries/countries.js.map +1 -0
  302. package/dist/database/prisma/queries/customers.d.ts +87 -0
  303. package/dist/database/prisma/queries/customers.d.ts.map +1 -0
  304. package/dist/database/prisma/queries/customers.js +32 -0
  305. package/dist/database/prisma/queries/customers.js.map +1 -0
  306. package/dist/database/prisma/queries/index.d.ts +12 -0
  307. package/dist/database/prisma/queries/index.d.ts.map +1 -0
  308. package/dist/database/prisma/queries/index.js +28 -0
  309. package/dist/database/prisma/queries/index.js.map +1 -0
  310. package/dist/database/prisma/queries/orders.d.ts +74 -0
  311. package/dist/database/prisma/queries/orders.d.ts.map +1 -0
  312. package/dist/database/prisma/queries/orders.js +49 -0
  313. package/dist/database/prisma/queries/orders.js.map +1 -0
  314. package/dist/database/prisma/queries/promotions.d.ts +81 -0
  315. package/dist/database/prisma/queries/promotions.d.ts.map +1 -0
  316. package/dist/database/prisma/queries/promotions.js +31 -0
  317. package/dist/database/prisma/queries/promotions.js.map +1 -0
  318. package/dist/database/prisma/queries/returns.d.ts +102 -0
  319. package/dist/database/prisma/queries/returns.d.ts.map +1 -0
  320. package/dist/database/prisma/queries/returns.js +50 -0
  321. package/dist/database/prisma/queries/returns.js.map +1 -0
  322. package/dist/database/prisma/queries/reviews.d.ts +25 -0
  323. package/dist/database/prisma/queries/reviews.d.ts.map +1 -0
  324. package/dist/database/prisma/queries/reviews.js +50 -0
  325. package/dist/database/prisma/queries/reviews.js.map +1 -0
  326. package/dist/database/prisma/queries/store.d.ts +22 -0
  327. package/dist/database/prisma/queries/store.d.ts.map +1 -0
  328. package/dist/database/prisma/queries/store.js +31 -0
  329. package/dist/database/prisma/queries/store.js.map +1 -0
  330. package/dist/database/prisma/queries/wishlists.d.ts +37 -0
  331. package/dist/database/prisma/queries/wishlists.d.ts.map +1 -0
  332. package/dist/database/prisma/queries/wishlists.js +37 -0
  333. package/dist/database/prisma/queries/wishlists.js.map +1 -0
  334. package/dist/database/prisma/seed.d.ts +5 -0
  335. package/dist/database/prisma/seed.d.ts.map +1 -0
  336. package/dist/database/prisma/seed.js +127 -0
  337. package/dist/database/prisma/seed.js.map +1 -0
  338. package/dist/domains/brands.d.ts +5 -0
  339. package/dist/domains/brands.d.ts.map +1 -0
  340. package/dist/domains/brands.js +21 -0
  341. package/dist/domains/brands.js.map +1 -0
  342. package/dist/domains/cart.d.ts +11 -0
  343. package/dist/domains/cart.d.ts.map +1 -0
  344. package/dist/domains/cart.js +110 -0
  345. package/dist/domains/cart.js.map +1 -0
  346. package/dist/domains/catalog.d.ts +7 -0
  347. package/dist/domains/catalog.d.ts.map +1 -0
  348. package/dist/domains/catalog.js +157 -0
  349. package/dist/domains/catalog.js.map +1 -0
  350. package/dist/domains/checkout.d.ts +11 -0
  351. package/dist/domains/checkout.d.ts.map +1 -0
  352. package/dist/domains/checkout.js +174 -0
  353. package/dist/domains/checkout.js.map +1 -0
  354. package/dist/domains/countries.d.ts +5 -0
  355. package/dist/domains/countries.d.ts.map +1 -0
  356. package/dist/domains/countries.js +21 -0
  357. package/dist/domains/countries.js.map +1 -0
  358. package/dist/domains/customers.d.ts +17 -0
  359. package/dist/domains/customers.d.ts.map +1 -0
  360. package/dist/domains/customers.js +179 -0
  361. package/dist/domains/customers.js.map +1 -0
  362. package/dist/domains/helpers.d.ts +14 -0
  363. package/dist/domains/helpers.d.ts.map +1 -0
  364. package/dist/domains/helpers.js +46 -0
  365. package/dist/domains/helpers.js.map +1 -0
  366. package/dist/domains/not-supported.d.ts +31 -0
  367. package/dist/domains/not-supported.d.ts.map +1 -0
  368. package/dist/domains/not-supported.js +43 -0
  369. package/dist/domains/not-supported.js.map +1 -0
  370. package/dist/domains/orders.d.ts +12 -0
  371. package/dist/domains/orders.d.ts.map +1 -0
  372. package/dist/domains/orders.js +184 -0
  373. package/dist/domains/orders.js.map +1 -0
  374. package/dist/domains/promotions.d.ts +6 -0
  375. package/dist/domains/promotions.d.ts.map +1 -0
  376. package/dist/domains/promotions.js +56 -0
  377. package/dist/domains/promotions.js.map +1 -0
  378. package/dist/domains/returns.d.ts +15 -0
  379. package/dist/domains/returns.d.ts.map +1 -0
  380. package/dist/domains/returns.js +83 -0
  381. package/dist/domains/returns.js.map +1 -0
  382. package/dist/domains/reviews.d.ts +16 -0
  383. package/dist/domains/reviews.d.ts.map +1 -0
  384. package/dist/domains/reviews.js +60 -0
  385. package/dist/domains/reviews.js.map +1 -0
  386. package/dist/domains/store.d.ts +5 -0
  387. package/dist/domains/store.d.ts.map +1 -0
  388. package/dist/domains/store.js +45 -0
  389. package/dist/domains/store.js.map +1 -0
  390. package/dist/domains/wishlist.d.ts +9 -0
  391. package/dist/domains/wishlist.d.ts.map +1 -0
  392. package/dist/domains/wishlist.js +76 -0
  393. package/dist/domains/wishlist.js.map +1 -0
  394. package/dist/index.d.ts +9 -0
  395. package/dist/index.d.ts.map +1 -0
  396. package/dist/index.js +15 -0
  397. package/dist/index.js.map +1 -0
  398. package/dist/types.d.ts +8 -0
  399. package/dist/types.d.ts.map +1 -0
  400. package/dist/types.js +5 -0
  401. package/dist/types.js.map +1 -0
  402. package/package.json +49 -0
@@ -0,0 +1,2969 @@
1
+ import type * as runtime from "@prisma/client/runtime/client";
2
+ import type * as Prisma from "../internal/prismaNamespace.js";
3
+ /**
4
+ * Model Product
5
+ *
6
+ */
7
+ export type ProductModel = runtime.Types.Result.DefaultSelection<Prisma.$ProductPayload>;
8
+ export type AggregateProduct = {
9
+ _count: ProductCountAggregateOutputType | null;
10
+ _avg: ProductAvgAggregateOutputType | null;
11
+ _sum: ProductSumAggregateOutputType | null;
12
+ _min: ProductMinAggregateOutputType | null;
13
+ _max: ProductMaxAggregateOutputType | null;
14
+ };
15
+ export type ProductAvgAggregateOutputType = {
16
+ price: number | null;
17
+ compareAtPrice: number | null;
18
+ inventoryQuantity: number | null;
19
+ quantityLimit: number | null;
20
+ vatRate: number | null;
21
+ };
22
+ export type ProductSumAggregateOutputType = {
23
+ price: number | null;
24
+ compareAtPrice: number | null;
25
+ inventoryQuantity: number | null;
26
+ quantityLimit: number | null;
27
+ vatRate: number | null;
28
+ };
29
+ export type ProductMinAggregateOutputType = {
30
+ id: string | null;
31
+ sku: string | null;
32
+ name: string | null;
33
+ nameAr: string | null;
34
+ slug: string | null;
35
+ description: string | null;
36
+ descriptionAr: string | null;
37
+ shortDescription: string | null;
38
+ shortDescriptionAr: string | null;
39
+ price: number | null;
40
+ compareAtPrice: number | null;
41
+ currency: string | null;
42
+ productType: string | null;
43
+ inStock: boolean | null;
44
+ inventoryQuantity: number | null;
45
+ quantityLimit: number | null;
46
+ vatIncluded: boolean | null;
47
+ vatRate: number | null;
48
+ requiresShipping: boolean | null;
49
+ isDropshipped: boolean | null;
50
+ status: string | null;
51
+ createdAt: string | null;
52
+ updatedAt: string | null;
53
+ };
54
+ export type ProductMaxAggregateOutputType = {
55
+ id: string | null;
56
+ sku: string | null;
57
+ name: string | null;
58
+ nameAr: string | null;
59
+ slug: string | null;
60
+ description: string | null;
61
+ descriptionAr: string | null;
62
+ shortDescription: string | null;
63
+ shortDescriptionAr: string | null;
64
+ price: number | null;
65
+ compareAtPrice: number | null;
66
+ currency: string | null;
67
+ productType: string | null;
68
+ inStock: boolean | null;
69
+ inventoryQuantity: number | null;
70
+ quantityLimit: number | null;
71
+ vatIncluded: boolean | null;
72
+ vatRate: number | null;
73
+ requiresShipping: boolean | null;
74
+ isDropshipped: boolean | null;
75
+ status: string | null;
76
+ createdAt: string | null;
77
+ updatedAt: string | null;
78
+ };
79
+ export type ProductCountAggregateOutputType = {
80
+ id: number;
81
+ sku: number;
82
+ name: number;
83
+ nameAr: number;
84
+ slug: number;
85
+ description: number;
86
+ descriptionAr: number;
87
+ shortDescription: number;
88
+ shortDescriptionAr: number;
89
+ price: number;
90
+ compareAtPrice: number;
91
+ currency: number;
92
+ productType: number;
93
+ inStock: number;
94
+ inventoryQuantity: number;
95
+ quantityLimit: number;
96
+ vatIncluded: number;
97
+ vatRate: number;
98
+ requiresShipping: number;
99
+ isDropshipped: number;
100
+ status: number;
101
+ createdAt: number;
102
+ updatedAt: number;
103
+ _all: number;
104
+ };
105
+ export type ProductAvgAggregateInputType = {
106
+ price?: true;
107
+ compareAtPrice?: true;
108
+ inventoryQuantity?: true;
109
+ quantityLimit?: true;
110
+ vatRate?: true;
111
+ };
112
+ export type ProductSumAggregateInputType = {
113
+ price?: true;
114
+ compareAtPrice?: true;
115
+ inventoryQuantity?: true;
116
+ quantityLimit?: true;
117
+ vatRate?: true;
118
+ };
119
+ export type ProductMinAggregateInputType = {
120
+ id?: true;
121
+ sku?: true;
122
+ name?: true;
123
+ nameAr?: true;
124
+ slug?: true;
125
+ description?: true;
126
+ descriptionAr?: true;
127
+ shortDescription?: true;
128
+ shortDescriptionAr?: true;
129
+ price?: true;
130
+ compareAtPrice?: true;
131
+ currency?: true;
132
+ productType?: true;
133
+ inStock?: true;
134
+ inventoryQuantity?: true;
135
+ quantityLimit?: true;
136
+ vatIncluded?: true;
137
+ vatRate?: true;
138
+ requiresShipping?: true;
139
+ isDropshipped?: true;
140
+ status?: true;
141
+ createdAt?: true;
142
+ updatedAt?: true;
143
+ };
144
+ export type ProductMaxAggregateInputType = {
145
+ id?: true;
146
+ sku?: true;
147
+ name?: true;
148
+ nameAr?: true;
149
+ slug?: true;
150
+ description?: true;
151
+ descriptionAr?: true;
152
+ shortDescription?: true;
153
+ shortDescriptionAr?: true;
154
+ price?: true;
155
+ compareAtPrice?: true;
156
+ currency?: true;
157
+ productType?: true;
158
+ inStock?: true;
159
+ inventoryQuantity?: true;
160
+ quantityLimit?: true;
161
+ vatIncluded?: true;
162
+ vatRate?: true;
163
+ requiresShipping?: true;
164
+ isDropshipped?: true;
165
+ status?: true;
166
+ createdAt?: true;
167
+ updatedAt?: true;
168
+ };
169
+ export type ProductCountAggregateInputType = {
170
+ id?: true;
171
+ sku?: true;
172
+ name?: true;
173
+ nameAr?: true;
174
+ slug?: true;
175
+ description?: true;
176
+ descriptionAr?: true;
177
+ shortDescription?: true;
178
+ shortDescriptionAr?: true;
179
+ price?: true;
180
+ compareAtPrice?: true;
181
+ currency?: true;
182
+ productType?: true;
183
+ inStock?: true;
184
+ inventoryQuantity?: true;
185
+ quantityLimit?: true;
186
+ vatIncluded?: true;
187
+ vatRate?: true;
188
+ requiresShipping?: true;
189
+ isDropshipped?: true;
190
+ status?: true;
191
+ createdAt?: true;
192
+ updatedAt?: true;
193
+ _all?: true;
194
+ };
195
+ export type ProductAggregateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
196
+ /**
197
+ * Filter which Product to aggregate.
198
+ */
199
+ where?: Prisma.ProductWhereInput;
200
+ /**
201
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
202
+ *
203
+ * Determine the order of Products to fetch.
204
+ */
205
+ orderBy?: Prisma.ProductOrderByWithRelationInput | Prisma.ProductOrderByWithRelationInput[];
206
+ /**
207
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
208
+ *
209
+ * Sets the start position
210
+ */
211
+ cursor?: Prisma.ProductWhereUniqueInput;
212
+ /**
213
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
214
+ *
215
+ * Take `±n` Products from the position of the cursor.
216
+ */
217
+ take?: number;
218
+ /**
219
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
220
+ *
221
+ * Skip the first `n` Products.
222
+ */
223
+ skip?: number;
224
+ /**
225
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
226
+ *
227
+ * Count returned Products
228
+ **/
229
+ _count?: true | ProductCountAggregateInputType;
230
+ /**
231
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
232
+ *
233
+ * Select which fields to average
234
+ **/
235
+ _avg?: ProductAvgAggregateInputType;
236
+ /**
237
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
238
+ *
239
+ * Select which fields to sum
240
+ **/
241
+ _sum?: ProductSumAggregateInputType;
242
+ /**
243
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
244
+ *
245
+ * Select which fields to find the minimum value
246
+ **/
247
+ _min?: ProductMinAggregateInputType;
248
+ /**
249
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
250
+ *
251
+ * Select which fields to find the maximum value
252
+ **/
253
+ _max?: ProductMaxAggregateInputType;
254
+ };
255
+ export type GetProductAggregateType<T extends ProductAggregateArgs> = {
256
+ [P in keyof T & keyof AggregateProduct]: P extends '_count' | 'count' ? T[P] extends true ? number : Prisma.GetScalarType<T[P], AggregateProduct[P]> : Prisma.GetScalarType<T[P], AggregateProduct[P]>;
257
+ };
258
+ export type ProductGroupByArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
259
+ where?: Prisma.ProductWhereInput;
260
+ orderBy?: Prisma.ProductOrderByWithAggregationInput | Prisma.ProductOrderByWithAggregationInput[];
261
+ by: Prisma.ProductScalarFieldEnum[] | Prisma.ProductScalarFieldEnum;
262
+ having?: Prisma.ProductScalarWhereWithAggregatesInput;
263
+ take?: number;
264
+ skip?: number;
265
+ _count?: ProductCountAggregateInputType | true;
266
+ _avg?: ProductAvgAggregateInputType;
267
+ _sum?: ProductSumAggregateInputType;
268
+ _min?: ProductMinAggregateInputType;
269
+ _max?: ProductMaxAggregateInputType;
270
+ };
271
+ export type ProductGroupByOutputType = {
272
+ id: string;
273
+ sku: string | null;
274
+ name: string;
275
+ nameAr: string | null;
276
+ slug: string;
277
+ description: string | null;
278
+ descriptionAr: string | null;
279
+ shortDescription: string | null;
280
+ shortDescriptionAr: string | null;
281
+ price: number | null;
282
+ compareAtPrice: number | null;
283
+ currency: string;
284
+ productType: string;
285
+ inStock: boolean;
286
+ inventoryQuantity: number | null;
287
+ quantityLimit: number | null;
288
+ vatIncluded: boolean;
289
+ vatRate: number | null;
290
+ requiresShipping: boolean;
291
+ isDropshipped: boolean;
292
+ status: string;
293
+ createdAt: string;
294
+ updatedAt: string;
295
+ _count: ProductCountAggregateOutputType | null;
296
+ _avg: ProductAvgAggregateOutputType | null;
297
+ _sum: ProductSumAggregateOutputType | null;
298
+ _min: ProductMinAggregateOutputType | null;
299
+ _max: ProductMaxAggregateOutputType | null;
300
+ };
301
+ type GetProductGroupByPayload<T extends ProductGroupByArgs> = Prisma.PrismaPromise<Array<Prisma.PickEnumerable<ProductGroupByOutputType, T['by']> & {
302
+ [P in ((keyof T) & (keyof ProductGroupByOutputType))]: P extends '_count' ? T[P] extends boolean ? number : Prisma.GetScalarType<T[P], ProductGroupByOutputType[P]> : Prisma.GetScalarType<T[P], ProductGroupByOutputType[P]>;
303
+ }>>;
304
+ export type ProductWhereInput = {
305
+ AND?: Prisma.ProductWhereInput | Prisma.ProductWhereInput[];
306
+ OR?: Prisma.ProductWhereInput[];
307
+ NOT?: Prisma.ProductWhereInput | Prisma.ProductWhereInput[];
308
+ id?: Prisma.StringFilter<"Product"> | string;
309
+ sku?: Prisma.StringNullableFilter<"Product"> | string | null;
310
+ name?: Prisma.StringFilter<"Product"> | string;
311
+ nameAr?: Prisma.StringNullableFilter<"Product"> | string | null;
312
+ slug?: Prisma.StringFilter<"Product"> | string;
313
+ description?: Prisma.StringNullableFilter<"Product"> | string | null;
314
+ descriptionAr?: Prisma.StringNullableFilter<"Product"> | string | null;
315
+ shortDescription?: Prisma.StringNullableFilter<"Product"> | string | null;
316
+ shortDescriptionAr?: Prisma.StringNullableFilter<"Product"> | string | null;
317
+ price?: Prisma.FloatNullableFilter<"Product"> | number | null;
318
+ compareAtPrice?: Prisma.FloatNullableFilter<"Product"> | number | null;
319
+ currency?: Prisma.StringFilter<"Product"> | string;
320
+ productType?: Prisma.StringFilter<"Product"> | string;
321
+ inStock?: Prisma.BoolFilter<"Product"> | boolean;
322
+ inventoryQuantity?: Prisma.IntNullableFilter<"Product"> | number | null;
323
+ quantityLimit?: Prisma.IntNullableFilter<"Product"> | number | null;
324
+ vatIncluded?: Prisma.BoolFilter<"Product"> | boolean;
325
+ vatRate?: Prisma.FloatNullableFilter<"Product"> | number | null;
326
+ requiresShipping?: Prisma.BoolFilter<"Product"> | boolean;
327
+ isDropshipped?: Prisma.BoolFilter<"Product"> | boolean;
328
+ status?: Prisma.StringFilter<"Product"> | string;
329
+ createdAt?: Prisma.StringFilter<"Product"> | string;
330
+ updatedAt?: Prisma.StringFilter<"Product"> | string;
331
+ images?: Prisma.ProductImageListRelationFilter;
332
+ variants?: Prisma.ProductVariantListRelationFilter;
333
+ options?: Prisma.ProductOptionListRelationFilter;
334
+ attributes?: Prisma.ProductAttributeListRelationFilter;
335
+ categories?: Prisma.ProductCategoryListRelationFilter;
336
+ tags?: Prisma.ProductTagListRelationFilter;
337
+ cartItems?: Prisma.CartItemListRelationFilter;
338
+ };
339
+ export type ProductOrderByWithRelationInput = {
340
+ id?: Prisma.SortOrder;
341
+ sku?: Prisma.SortOrderInput | Prisma.SortOrder;
342
+ name?: Prisma.SortOrder;
343
+ nameAr?: Prisma.SortOrderInput | Prisma.SortOrder;
344
+ slug?: Prisma.SortOrder;
345
+ description?: Prisma.SortOrderInput | Prisma.SortOrder;
346
+ descriptionAr?: Prisma.SortOrderInput | Prisma.SortOrder;
347
+ shortDescription?: Prisma.SortOrderInput | Prisma.SortOrder;
348
+ shortDescriptionAr?: Prisma.SortOrderInput | Prisma.SortOrder;
349
+ price?: Prisma.SortOrderInput | Prisma.SortOrder;
350
+ compareAtPrice?: Prisma.SortOrderInput | Prisma.SortOrder;
351
+ currency?: Prisma.SortOrder;
352
+ productType?: Prisma.SortOrder;
353
+ inStock?: Prisma.SortOrder;
354
+ inventoryQuantity?: Prisma.SortOrderInput | Prisma.SortOrder;
355
+ quantityLimit?: Prisma.SortOrderInput | Prisma.SortOrder;
356
+ vatIncluded?: Prisma.SortOrder;
357
+ vatRate?: Prisma.SortOrderInput | Prisma.SortOrder;
358
+ requiresShipping?: Prisma.SortOrder;
359
+ isDropshipped?: Prisma.SortOrder;
360
+ status?: Prisma.SortOrder;
361
+ createdAt?: Prisma.SortOrder;
362
+ updatedAt?: Prisma.SortOrder;
363
+ images?: Prisma.ProductImageOrderByRelationAggregateInput;
364
+ variants?: Prisma.ProductVariantOrderByRelationAggregateInput;
365
+ options?: Prisma.ProductOptionOrderByRelationAggregateInput;
366
+ attributes?: Prisma.ProductAttributeOrderByRelationAggregateInput;
367
+ categories?: Prisma.ProductCategoryOrderByRelationAggregateInput;
368
+ tags?: Prisma.ProductTagOrderByRelationAggregateInput;
369
+ cartItems?: Prisma.CartItemOrderByRelationAggregateInput;
370
+ };
371
+ export type ProductWhereUniqueInput = Prisma.AtLeast<{
372
+ id?: string;
373
+ slug?: string;
374
+ AND?: Prisma.ProductWhereInput | Prisma.ProductWhereInput[];
375
+ OR?: Prisma.ProductWhereInput[];
376
+ NOT?: Prisma.ProductWhereInput | Prisma.ProductWhereInput[];
377
+ sku?: Prisma.StringNullableFilter<"Product"> | string | null;
378
+ name?: Prisma.StringFilter<"Product"> | string;
379
+ nameAr?: Prisma.StringNullableFilter<"Product"> | string | null;
380
+ description?: Prisma.StringNullableFilter<"Product"> | string | null;
381
+ descriptionAr?: Prisma.StringNullableFilter<"Product"> | string | null;
382
+ shortDescription?: Prisma.StringNullableFilter<"Product"> | string | null;
383
+ shortDescriptionAr?: Prisma.StringNullableFilter<"Product"> | string | null;
384
+ price?: Prisma.FloatNullableFilter<"Product"> | number | null;
385
+ compareAtPrice?: Prisma.FloatNullableFilter<"Product"> | number | null;
386
+ currency?: Prisma.StringFilter<"Product"> | string;
387
+ productType?: Prisma.StringFilter<"Product"> | string;
388
+ inStock?: Prisma.BoolFilter<"Product"> | boolean;
389
+ inventoryQuantity?: Prisma.IntNullableFilter<"Product"> | number | null;
390
+ quantityLimit?: Prisma.IntNullableFilter<"Product"> | number | null;
391
+ vatIncluded?: Prisma.BoolFilter<"Product"> | boolean;
392
+ vatRate?: Prisma.FloatNullableFilter<"Product"> | number | null;
393
+ requiresShipping?: Prisma.BoolFilter<"Product"> | boolean;
394
+ isDropshipped?: Prisma.BoolFilter<"Product"> | boolean;
395
+ status?: Prisma.StringFilter<"Product"> | string;
396
+ createdAt?: Prisma.StringFilter<"Product"> | string;
397
+ updatedAt?: Prisma.StringFilter<"Product"> | string;
398
+ images?: Prisma.ProductImageListRelationFilter;
399
+ variants?: Prisma.ProductVariantListRelationFilter;
400
+ options?: Prisma.ProductOptionListRelationFilter;
401
+ attributes?: Prisma.ProductAttributeListRelationFilter;
402
+ categories?: Prisma.ProductCategoryListRelationFilter;
403
+ tags?: Prisma.ProductTagListRelationFilter;
404
+ cartItems?: Prisma.CartItemListRelationFilter;
405
+ }, "id" | "slug">;
406
+ export type ProductOrderByWithAggregationInput = {
407
+ id?: Prisma.SortOrder;
408
+ sku?: Prisma.SortOrderInput | Prisma.SortOrder;
409
+ name?: Prisma.SortOrder;
410
+ nameAr?: Prisma.SortOrderInput | Prisma.SortOrder;
411
+ slug?: Prisma.SortOrder;
412
+ description?: Prisma.SortOrderInput | Prisma.SortOrder;
413
+ descriptionAr?: Prisma.SortOrderInput | Prisma.SortOrder;
414
+ shortDescription?: Prisma.SortOrderInput | Prisma.SortOrder;
415
+ shortDescriptionAr?: Prisma.SortOrderInput | Prisma.SortOrder;
416
+ price?: Prisma.SortOrderInput | Prisma.SortOrder;
417
+ compareAtPrice?: Prisma.SortOrderInput | Prisma.SortOrder;
418
+ currency?: Prisma.SortOrder;
419
+ productType?: Prisma.SortOrder;
420
+ inStock?: Prisma.SortOrder;
421
+ inventoryQuantity?: Prisma.SortOrderInput | Prisma.SortOrder;
422
+ quantityLimit?: Prisma.SortOrderInput | Prisma.SortOrder;
423
+ vatIncluded?: Prisma.SortOrder;
424
+ vatRate?: Prisma.SortOrderInput | Prisma.SortOrder;
425
+ requiresShipping?: Prisma.SortOrder;
426
+ isDropshipped?: Prisma.SortOrder;
427
+ status?: Prisma.SortOrder;
428
+ createdAt?: Prisma.SortOrder;
429
+ updatedAt?: Prisma.SortOrder;
430
+ _count?: Prisma.ProductCountOrderByAggregateInput;
431
+ _avg?: Prisma.ProductAvgOrderByAggregateInput;
432
+ _max?: Prisma.ProductMaxOrderByAggregateInput;
433
+ _min?: Prisma.ProductMinOrderByAggregateInput;
434
+ _sum?: Prisma.ProductSumOrderByAggregateInput;
435
+ };
436
+ export type ProductScalarWhereWithAggregatesInput = {
437
+ AND?: Prisma.ProductScalarWhereWithAggregatesInput | Prisma.ProductScalarWhereWithAggregatesInput[];
438
+ OR?: Prisma.ProductScalarWhereWithAggregatesInput[];
439
+ NOT?: Prisma.ProductScalarWhereWithAggregatesInput | Prisma.ProductScalarWhereWithAggregatesInput[];
440
+ id?: Prisma.StringWithAggregatesFilter<"Product"> | string;
441
+ sku?: Prisma.StringNullableWithAggregatesFilter<"Product"> | string | null;
442
+ name?: Prisma.StringWithAggregatesFilter<"Product"> | string;
443
+ nameAr?: Prisma.StringNullableWithAggregatesFilter<"Product"> | string | null;
444
+ slug?: Prisma.StringWithAggregatesFilter<"Product"> | string;
445
+ description?: Prisma.StringNullableWithAggregatesFilter<"Product"> | string | null;
446
+ descriptionAr?: Prisma.StringNullableWithAggregatesFilter<"Product"> | string | null;
447
+ shortDescription?: Prisma.StringNullableWithAggregatesFilter<"Product"> | string | null;
448
+ shortDescriptionAr?: Prisma.StringNullableWithAggregatesFilter<"Product"> | string | null;
449
+ price?: Prisma.FloatNullableWithAggregatesFilter<"Product"> | number | null;
450
+ compareAtPrice?: Prisma.FloatNullableWithAggregatesFilter<"Product"> | number | null;
451
+ currency?: Prisma.StringWithAggregatesFilter<"Product"> | string;
452
+ productType?: Prisma.StringWithAggregatesFilter<"Product"> | string;
453
+ inStock?: Prisma.BoolWithAggregatesFilter<"Product"> | boolean;
454
+ inventoryQuantity?: Prisma.IntNullableWithAggregatesFilter<"Product"> | number | null;
455
+ quantityLimit?: Prisma.IntNullableWithAggregatesFilter<"Product"> | number | null;
456
+ vatIncluded?: Prisma.BoolWithAggregatesFilter<"Product"> | boolean;
457
+ vatRate?: Prisma.FloatNullableWithAggregatesFilter<"Product"> | number | null;
458
+ requiresShipping?: Prisma.BoolWithAggregatesFilter<"Product"> | boolean;
459
+ isDropshipped?: Prisma.BoolWithAggregatesFilter<"Product"> | boolean;
460
+ status?: Prisma.StringWithAggregatesFilter<"Product"> | string;
461
+ createdAt?: Prisma.StringWithAggregatesFilter<"Product"> | string;
462
+ updatedAt?: Prisma.StringWithAggregatesFilter<"Product"> | string;
463
+ };
464
+ export type ProductCreateInput = {
465
+ id?: string;
466
+ sku?: string | null;
467
+ name: string;
468
+ nameAr?: string | null;
469
+ slug: string;
470
+ description?: string | null;
471
+ descriptionAr?: string | null;
472
+ shortDescription?: string | null;
473
+ shortDescriptionAr?: string | null;
474
+ price?: number | null;
475
+ compareAtPrice?: number | null;
476
+ currency?: string;
477
+ productType?: string;
478
+ inStock?: boolean;
479
+ inventoryQuantity?: number | null;
480
+ quantityLimit?: number | null;
481
+ vatIncluded?: boolean;
482
+ vatRate?: number | null;
483
+ requiresShipping?: boolean;
484
+ isDropshipped?: boolean;
485
+ status?: string;
486
+ createdAt: string;
487
+ updatedAt: string;
488
+ images?: Prisma.ProductImageCreateNestedManyWithoutProductInput;
489
+ variants?: Prisma.ProductVariantCreateNestedManyWithoutProductInput;
490
+ options?: Prisma.ProductOptionCreateNestedManyWithoutProductInput;
491
+ attributes?: Prisma.ProductAttributeCreateNestedManyWithoutProductInput;
492
+ categories?: Prisma.ProductCategoryCreateNestedManyWithoutProductInput;
493
+ tags?: Prisma.ProductTagCreateNestedManyWithoutProductInput;
494
+ cartItems?: Prisma.CartItemCreateNestedManyWithoutProductInput;
495
+ };
496
+ export type ProductUncheckedCreateInput = {
497
+ id?: string;
498
+ sku?: string | null;
499
+ name: string;
500
+ nameAr?: string | null;
501
+ slug: string;
502
+ description?: string | null;
503
+ descriptionAr?: string | null;
504
+ shortDescription?: string | null;
505
+ shortDescriptionAr?: string | null;
506
+ price?: number | null;
507
+ compareAtPrice?: number | null;
508
+ currency?: string;
509
+ productType?: string;
510
+ inStock?: boolean;
511
+ inventoryQuantity?: number | null;
512
+ quantityLimit?: number | null;
513
+ vatIncluded?: boolean;
514
+ vatRate?: number | null;
515
+ requiresShipping?: boolean;
516
+ isDropshipped?: boolean;
517
+ status?: string;
518
+ createdAt: string;
519
+ updatedAt: string;
520
+ images?: Prisma.ProductImageUncheckedCreateNestedManyWithoutProductInput;
521
+ variants?: Prisma.ProductVariantUncheckedCreateNestedManyWithoutProductInput;
522
+ options?: Prisma.ProductOptionUncheckedCreateNestedManyWithoutProductInput;
523
+ attributes?: Prisma.ProductAttributeUncheckedCreateNestedManyWithoutProductInput;
524
+ categories?: Prisma.ProductCategoryUncheckedCreateNestedManyWithoutProductInput;
525
+ tags?: Prisma.ProductTagUncheckedCreateNestedManyWithoutProductInput;
526
+ cartItems?: Prisma.CartItemUncheckedCreateNestedManyWithoutProductInput;
527
+ };
528
+ export type ProductUpdateInput = {
529
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
530
+ sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
531
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
532
+ nameAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
533
+ slug?: Prisma.StringFieldUpdateOperationsInput | string;
534
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
535
+ descriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
536
+ shortDescription?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
537
+ shortDescriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
538
+ price?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
539
+ compareAtPrice?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
540
+ currency?: Prisma.StringFieldUpdateOperationsInput | string;
541
+ productType?: Prisma.StringFieldUpdateOperationsInput | string;
542
+ inStock?: Prisma.BoolFieldUpdateOperationsInput | boolean;
543
+ inventoryQuantity?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
544
+ quantityLimit?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
545
+ vatIncluded?: Prisma.BoolFieldUpdateOperationsInput | boolean;
546
+ vatRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
547
+ requiresShipping?: Prisma.BoolFieldUpdateOperationsInput | boolean;
548
+ isDropshipped?: Prisma.BoolFieldUpdateOperationsInput | boolean;
549
+ status?: Prisma.StringFieldUpdateOperationsInput | string;
550
+ createdAt?: Prisma.StringFieldUpdateOperationsInput | string;
551
+ updatedAt?: Prisma.StringFieldUpdateOperationsInput | string;
552
+ images?: Prisma.ProductImageUpdateManyWithoutProductNestedInput;
553
+ variants?: Prisma.ProductVariantUpdateManyWithoutProductNestedInput;
554
+ options?: Prisma.ProductOptionUpdateManyWithoutProductNestedInput;
555
+ attributes?: Prisma.ProductAttributeUpdateManyWithoutProductNestedInput;
556
+ categories?: Prisma.ProductCategoryUpdateManyWithoutProductNestedInput;
557
+ tags?: Prisma.ProductTagUpdateManyWithoutProductNestedInput;
558
+ cartItems?: Prisma.CartItemUpdateManyWithoutProductNestedInput;
559
+ };
560
+ export type ProductUncheckedUpdateInput = {
561
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
562
+ sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
563
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
564
+ nameAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
565
+ slug?: Prisma.StringFieldUpdateOperationsInput | string;
566
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
567
+ descriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
568
+ shortDescription?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
569
+ shortDescriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
570
+ price?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
571
+ compareAtPrice?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
572
+ currency?: Prisma.StringFieldUpdateOperationsInput | string;
573
+ productType?: Prisma.StringFieldUpdateOperationsInput | string;
574
+ inStock?: Prisma.BoolFieldUpdateOperationsInput | boolean;
575
+ inventoryQuantity?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
576
+ quantityLimit?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
577
+ vatIncluded?: Prisma.BoolFieldUpdateOperationsInput | boolean;
578
+ vatRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
579
+ requiresShipping?: Prisma.BoolFieldUpdateOperationsInput | boolean;
580
+ isDropshipped?: Prisma.BoolFieldUpdateOperationsInput | boolean;
581
+ status?: Prisma.StringFieldUpdateOperationsInput | string;
582
+ createdAt?: Prisma.StringFieldUpdateOperationsInput | string;
583
+ updatedAt?: Prisma.StringFieldUpdateOperationsInput | string;
584
+ images?: Prisma.ProductImageUncheckedUpdateManyWithoutProductNestedInput;
585
+ variants?: Prisma.ProductVariantUncheckedUpdateManyWithoutProductNestedInput;
586
+ options?: Prisma.ProductOptionUncheckedUpdateManyWithoutProductNestedInput;
587
+ attributes?: Prisma.ProductAttributeUncheckedUpdateManyWithoutProductNestedInput;
588
+ categories?: Prisma.ProductCategoryUncheckedUpdateManyWithoutProductNestedInput;
589
+ tags?: Prisma.ProductTagUncheckedUpdateManyWithoutProductNestedInput;
590
+ cartItems?: Prisma.CartItemUncheckedUpdateManyWithoutProductNestedInput;
591
+ };
592
+ export type ProductCreateManyInput = {
593
+ id?: string;
594
+ sku?: string | null;
595
+ name: string;
596
+ nameAr?: string | null;
597
+ slug: string;
598
+ description?: string | null;
599
+ descriptionAr?: string | null;
600
+ shortDescription?: string | null;
601
+ shortDescriptionAr?: string | null;
602
+ price?: number | null;
603
+ compareAtPrice?: number | null;
604
+ currency?: string;
605
+ productType?: string;
606
+ inStock?: boolean;
607
+ inventoryQuantity?: number | null;
608
+ quantityLimit?: number | null;
609
+ vatIncluded?: boolean;
610
+ vatRate?: number | null;
611
+ requiresShipping?: boolean;
612
+ isDropshipped?: boolean;
613
+ status?: string;
614
+ createdAt: string;
615
+ updatedAt: string;
616
+ };
617
+ export type ProductUpdateManyMutationInput = {
618
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
619
+ sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
620
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
621
+ nameAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
622
+ slug?: Prisma.StringFieldUpdateOperationsInput | string;
623
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
624
+ descriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
625
+ shortDescription?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
626
+ shortDescriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
627
+ price?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
628
+ compareAtPrice?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
629
+ currency?: Prisma.StringFieldUpdateOperationsInput | string;
630
+ productType?: Prisma.StringFieldUpdateOperationsInput | string;
631
+ inStock?: Prisma.BoolFieldUpdateOperationsInput | boolean;
632
+ inventoryQuantity?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
633
+ quantityLimit?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
634
+ vatIncluded?: Prisma.BoolFieldUpdateOperationsInput | boolean;
635
+ vatRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
636
+ requiresShipping?: Prisma.BoolFieldUpdateOperationsInput | boolean;
637
+ isDropshipped?: Prisma.BoolFieldUpdateOperationsInput | boolean;
638
+ status?: Prisma.StringFieldUpdateOperationsInput | string;
639
+ createdAt?: Prisma.StringFieldUpdateOperationsInput | string;
640
+ updatedAt?: Prisma.StringFieldUpdateOperationsInput | string;
641
+ };
642
+ export type ProductUncheckedUpdateManyInput = {
643
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
644
+ sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
645
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
646
+ nameAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
647
+ slug?: Prisma.StringFieldUpdateOperationsInput | string;
648
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
649
+ descriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
650
+ shortDescription?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
651
+ shortDescriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
652
+ price?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
653
+ compareAtPrice?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
654
+ currency?: Prisma.StringFieldUpdateOperationsInput | string;
655
+ productType?: Prisma.StringFieldUpdateOperationsInput | string;
656
+ inStock?: Prisma.BoolFieldUpdateOperationsInput | boolean;
657
+ inventoryQuantity?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
658
+ quantityLimit?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
659
+ vatIncluded?: Prisma.BoolFieldUpdateOperationsInput | boolean;
660
+ vatRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
661
+ requiresShipping?: Prisma.BoolFieldUpdateOperationsInput | boolean;
662
+ isDropshipped?: Prisma.BoolFieldUpdateOperationsInput | boolean;
663
+ status?: Prisma.StringFieldUpdateOperationsInput | string;
664
+ createdAt?: Prisma.StringFieldUpdateOperationsInput | string;
665
+ updatedAt?: Prisma.StringFieldUpdateOperationsInput | string;
666
+ };
667
+ export type ProductScalarRelationFilter = {
668
+ is?: Prisma.ProductWhereInput;
669
+ isNot?: Prisma.ProductWhereInput;
670
+ };
671
+ export type ProductCountOrderByAggregateInput = {
672
+ id?: Prisma.SortOrder;
673
+ sku?: Prisma.SortOrder;
674
+ name?: Prisma.SortOrder;
675
+ nameAr?: Prisma.SortOrder;
676
+ slug?: Prisma.SortOrder;
677
+ description?: Prisma.SortOrder;
678
+ descriptionAr?: Prisma.SortOrder;
679
+ shortDescription?: Prisma.SortOrder;
680
+ shortDescriptionAr?: Prisma.SortOrder;
681
+ price?: Prisma.SortOrder;
682
+ compareAtPrice?: Prisma.SortOrder;
683
+ currency?: Prisma.SortOrder;
684
+ productType?: Prisma.SortOrder;
685
+ inStock?: Prisma.SortOrder;
686
+ inventoryQuantity?: Prisma.SortOrder;
687
+ quantityLimit?: Prisma.SortOrder;
688
+ vatIncluded?: Prisma.SortOrder;
689
+ vatRate?: Prisma.SortOrder;
690
+ requiresShipping?: Prisma.SortOrder;
691
+ isDropshipped?: Prisma.SortOrder;
692
+ status?: Prisma.SortOrder;
693
+ createdAt?: Prisma.SortOrder;
694
+ updatedAt?: Prisma.SortOrder;
695
+ };
696
+ export type ProductAvgOrderByAggregateInput = {
697
+ price?: Prisma.SortOrder;
698
+ compareAtPrice?: Prisma.SortOrder;
699
+ inventoryQuantity?: Prisma.SortOrder;
700
+ quantityLimit?: Prisma.SortOrder;
701
+ vatRate?: Prisma.SortOrder;
702
+ };
703
+ export type ProductMaxOrderByAggregateInput = {
704
+ id?: Prisma.SortOrder;
705
+ sku?: Prisma.SortOrder;
706
+ name?: Prisma.SortOrder;
707
+ nameAr?: Prisma.SortOrder;
708
+ slug?: Prisma.SortOrder;
709
+ description?: Prisma.SortOrder;
710
+ descriptionAr?: Prisma.SortOrder;
711
+ shortDescription?: Prisma.SortOrder;
712
+ shortDescriptionAr?: Prisma.SortOrder;
713
+ price?: Prisma.SortOrder;
714
+ compareAtPrice?: Prisma.SortOrder;
715
+ currency?: Prisma.SortOrder;
716
+ productType?: Prisma.SortOrder;
717
+ inStock?: Prisma.SortOrder;
718
+ inventoryQuantity?: Prisma.SortOrder;
719
+ quantityLimit?: Prisma.SortOrder;
720
+ vatIncluded?: Prisma.SortOrder;
721
+ vatRate?: Prisma.SortOrder;
722
+ requiresShipping?: Prisma.SortOrder;
723
+ isDropshipped?: Prisma.SortOrder;
724
+ status?: Prisma.SortOrder;
725
+ createdAt?: Prisma.SortOrder;
726
+ updatedAt?: Prisma.SortOrder;
727
+ };
728
+ export type ProductMinOrderByAggregateInput = {
729
+ id?: Prisma.SortOrder;
730
+ sku?: Prisma.SortOrder;
731
+ name?: Prisma.SortOrder;
732
+ nameAr?: Prisma.SortOrder;
733
+ slug?: Prisma.SortOrder;
734
+ description?: Prisma.SortOrder;
735
+ descriptionAr?: Prisma.SortOrder;
736
+ shortDescription?: Prisma.SortOrder;
737
+ shortDescriptionAr?: Prisma.SortOrder;
738
+ price?: Prisma.SortOrder;
739
+ compareAtPrice?: Prisma.SortOrder;
740
+ currency?: Prisma.SortOrder;
741
+ productType?: Prisma.SortOrder;
742
+ inStock?: Prisma.SortOrder;
743
+ inventoryQuantity?: Prisma.SortOrder;
744
+ quantityLimit?: Prisma.SortOrder;
745
+ vatIncluded?: Prisma.SortOrder;
746
+ vatRate?: Prisma.SortOrder;
747
+ requiresShipping?: Prisma.SortOrder;
748
+ isDropshipped?: Prisma.SortOrder;
749
+ status?: Prisma.SortOrder;
750
+ createdAt?: Prisma.SortOrder;
751
+ updatedAt?: Prisma.SortOrder;
752
+ };
753
+ export type ProductSumOrderByAggregateInput = {
754
+ price?: Prisma.SortOrder;
755
+ compareAtPrice?: Prisma.SortOrder;
756
+ inventoryQuantity?: Prisma.SortOrder;
757
+ quantityLimit?: Prisma.SortOrder;
758
+ vatRate?: Prisma.SortOrder;
759
+ };
760
+ export type ProductCreateNestedOneWithoutCartItemsInput = {
761
+ create?: Prisma.XOR<Prisma.ProductCreateWithoutCartItemsInput, Prisma.ProductUncheckedCreateWithoutCartItemsInput>;
762
+ connectOrCreate?: Prisma.ProductCreateOrConnectWithoutCartItemsInput;
763
+ connect?: Prisma.ProductWhereUniqueInput;
764
+ };
765
+ export type ProductUpdateOneRequiredWithoutCartItemsNestedInput = {
766
+ create?: Prisma.XOR<Prisma.ProductCreateWithoutCartItemsInput, Prisma.ProductUncheckedCreateWithoutCartItemsInput>;
767
+ connectOrCreate?: Prisma.ProductCreateOrConnectWithoutCartItemsInput;
768
+ upsert?: Prisma.ProductUpsertWithoutCartItemsInput;
769
+ connect?: Prisma.ProductWhereUniqueInput;
770
+ update?: Prisma.XOR<Prisma.XOR<Prisma.ProductUpdateToOneWithWhereWithoutCartItemsInput, Prisma.ProductUpdateWithoutCartItemsInput>, Prisma.ProductUncheckedUpdateWithoutCartItemsInput>;
771
+ };
772
+ export type NullableIntFieldUpdateOperationsInput = {
773
+ set?: number | null;
774
+ increment?: number;
775
+ decrement?: number;
776
+ multiply?: number;
777
+ divide?: number;
778
+ };
779
+ export type ProductCreateNestedOneWithoutImagesInput = {
780
+ create?: Prisma.XOR<Prisma.ProductCreateWithoutImagesInput, Prisma.ProductUncheckedCreateWithoutImagesInput>;
781
+ connectOrCreate?: Prisma.ProductCreateOrConnectWithoutImagesInput;
782
+ connect?: Prisma.ProductWhereUniqueInput;
783
+ };
784
+ export type ProductUpdateOneRequiredWithoutImagesNestedInput = {
785
+ create?: Prisma.XOR<Prisma.ProductCreateWithoutImagesInput, Prisma.ProductUncheckedCreateWithoutImagesInput>;
786
+ connectOrCreate?: Prisma.ProductCreateOrConnectWithoutImagesInput;
787
+ upsert?: Prisma.ProductUpsertWithoutImagesInput;
788
+ connect?: Prisma.ProductWhereUniqueInput;
789
+ update?: Prisma.XOR<Prisma.XOR<Prisma.ProductUpdateToOneWithWhereWithoutImagesInput, Prisma.ProductUpdateWithoutImagesInput>, Prisma.ProductUncheckedUpdateWithoutImagesInput>;
790
+ };
791
+ export type ProductCreateNestedOneWithoutVariantsInput = {
792
+ create?: Prisma.XOR<Prisma.ProductCreateWithoutVariantsInput, Prisma.ProductUncheckedCreateWithoutVariantsInput>;
793
+ connectOrCreate?: Prisma.ProductCreateOrConnectWithoutVariantsInput;
794
+ connect?: Prisma.ProductWhereUniqueInput;
795
+ };
796
+ export type ProductUpdateOneRequiredWithoutVariantsNestedInput = {
797
+ create?: Prisma.XOR<Prisma.ProductCreateWithoutVariantsInput, Prisma.ProductUncheckedCreateWithoutVariantsInput>;
798
+ connectOrCreate?: Prisma.ProductCreateOrConnectWithoutVariantsInput;
799
+ upsert?: Prisma.ProductUpsertWithoutVariantsInput;
800
+ connect?: Prisma.ProductWhereUniqueInput;
801
+ update?: Prisma.XOR<Prisma.XOR<Prisma.ProductUpdateToOneWithWhereWithoutVariantsInput, Prisma.ProductUpdateWithoutVariantsInput>, Prisma.ProductUncheckedUpdateWithoutVariantsInput>;
802
+ };
803
+ export type ProductCreateNestedOneWithoutOptionsInput = {
804
+ create?: Prisma.XOR<Prisma.ProductCreateWithoutOptionsInput, Prisma.ProductUncheckedCreateWithoutOptionsInput>;
805
+ connectOrCreate?: Prisma.ProductCreateOrConnectWithoutOptionsInput;
806
+ connect?: Prisma.ProductWhereUniqueInput;
807
+ };
808
+ export type ProductUpdateOneRequiredWithoutOptionsNestedInput = {
809
+ create?: Prisma.XOR<Prisma.ProductCreateWithoutOptionsInput, Prisma.ProductUncheckedCreateWithoutOptionsInput>;
810
+ connectOrCreate?: Prisma.ProductCreateOrConnectWithoutOptionsInput;
811
+ upsert?: Prisma.ProductUpsertWithoutOptionsInput;
812
+ connect?: Prisma.ProductWhereUniqueInput;
813
+ update?: Prisma.XOR<Prisma.XOR<Prisma.ProductUpdateToOneWithWhereWithoutOptionsInput, Prisma.ProductUpdateWithoutOptionsInput>, Prisma.ProductUncheckedUpdateWithoutOptionsInput>;
814
+ };
815
+ export type ProductCreateNestedOneWithoutAttributesInput = {
816
+ create?: Prisma.XOR<Prisma.ProductCreateWithoutAttributesInput, Prisma.ProductUncheckedCreateWithoutAttributesInput>;
817
+ connectOrCreate?: Prisma.ProductCreateOrConnectWithoutAttributesInput;
818
+ connect?: Prisma.ProductWhereUniqueInput;
819
+ };
820
+ export type ProductUpdateOneRequiredWithoutAttributesNestedInput = {
821
+ create?: Prisma.XOR<Prisma.ProductCreateWithoutAttributesInput, Prisma.ProductUncheckedCreateWithoutAttributesInput>;
822
+ connectOrCreate?: Prisma.ProductCreateOrConnectWithoutAttributesInput;
823
+ upsert?: Prisma.ProductUpsertWithoutAttributesInput;
824
+ connect?: Prisma.ProductWhereUniqueInput;
825
+ update?: Prisma.XOR<Prisma.XOR<Prisma.ProductUpdateToOneWithWhereWithoutAttributesInput, Prisma.ProductUpdateWithoutAttributesInput>, Prisma.ProductUncheckedUpdateWithoutAttributesInput>;
826
+ };
827
+ export type ProductCreateNestedOneWithoutCategoriesInput = {
828
+ create?: Prisma.XOR<Prisma.ProductCreateWithoutCategoriesInput, Prisma.ProductUncheckedCreateWithoutCategoriesInput>;
829
+ connectOrCreate?: Prisma.ProductCreateOrConnectWithoutCategoriesInput;
830
+ connect?: Prisma.ProductWhereUniqueInput;
831
+ };
832
+ export type ProductUpdateOneRequiredWithoutCategoriesNestedInput = {
833
+ create?: Prisma.XOR<Prisma.ProductCreateWithoutCategoriesInput, Prisma.ProductUncheckedCreateWithoutCategoriesInput>;
834
+ connectOrCreate?: Prisma.ProductCreateOrConnectWithoutCategoriesInput;
835
+ upsert?: Prisma.ProductUpsertWithoutCategoriesInput;
836
+ connect?: Prisma.ProductWhereUniqueInput;
837
+ update?: Prisma.XOR<Prisma.XOR<Prisma.ProductUpdateToOneWithWhereWithoutCategoriesInput, Prisma.ProductUpdateWithoutCategoriesInput>, Prisma.ProductUncheckedUpdateWithoutCategoriesInput>;
838
+ };
839
+ export type ProductCreateNestedOneWithoutTagsInput = {
840
+ create?: Prisma.XOR<Prisma.ProductCreateWithoutTagsInput, Prisma.ProductUncheckedCreateWithoutTagsInput>;
841
+ connectOrCreate?: Prisma.ProductCreateOrConnectWithoutTagsInput;
842
+ connect?: Prisma.ProductWhereUniqueInput;
843
+ };
844
+ export type ProductUpdateOneRequiredWithoutTagsNestedInput = {
845
+ create?: Prisma.XOR<Prisma.ProductCreateWithoutTagsInput, Prisma.ProductUncheckedCreateWithoutTagsInput>;
846
+ connectOrCreate?: Prisma.ProductCreateOrConnectWithoutTagsInput;
847
+ upsert?: Prisma.ProductUpsertWithoutTagsInput;
848
+ connect?: Prisma.ProductWhereUniqueInput;
849
+ update?: Prisma.XOR<Prisma.XOR<Prisma.ProductUpdateToOneWithWhereWithoutTagsInput, Prisma.ProductUpdateWithoutTagsInput>, Prisma.ProductUncheckedUpdateWithoutTagsInput>;
850
+ };
851
+ export type ProductCreateWithoutCartItemsInput = {
852
+ id?: string;
853
+ sku?: string | null;
854
+ name: string;
855
+ nameAr?: string | null;
856
+ slug: string;
857
+ description?: string | null;
858
+ descriptionAr?: string | null;
859
+ shortDescription?: string | null;
860
+ shortDescriptionAr?: string | null;
861
+ price?: number | null;
862
+ compareAtPrice?: number | null;
863
+ currency?: string;
864
+ productType?: string;
865
+ inStock?: boolean;
866
+ inventoryQuantity?: number | null;
867
+ quantityLimit?: number | null;
868
+ vatIncluded?: boolean;
869
+ vatRate?: number | null;
870
+ requiresShipping?: boolean;
871
+ isDropshipped?: boolean;
872
+ status?: string;
873
+ createdAt: string;
874
+ updatedAt: string;
875
+ images?: Prisma.ProductImageCreateNestedManyWithoutProductInput;
876
+ variants?: Prisma.ProductVariantCreateNestedManyWithoutProductInput;
877
+ options?: Prisma.ProductOptionCreateNestedManyWithoutProductInput;
878
+ attributes?: Prisma.ProductAttributeCreateNestedManyWithoutProductInput;
879
+ categories?: Prisma.ProductCategoryCreateNestedManyWithoutProductInput;
880
+ tags?: Prisma.ProductTagCreateNestedManyWithoutProductInput;
881
+ };
882
+ export type ProductUncheckedCreateWithoutCartItemsInput = {
883
+ id?: string;
884
+ sku?: string | null;
885
+ name: string;
886
+ nameAr?: string | null;
887
+ slug: string;
888
+ description?: string | null;
889
+ descriptionAr?: string | null;
890
+ shortDescription?: string | null;
891
+ shortDescriptionAr?: string | null;
892
+ price?: number | null;
893
+ compareAtPrice?: number | null;
894
+ currency?: string;
895
+ productType?: string;
896
+ inStock?: boolean;
897
+ inventoryQuantity?: number | null;
898
+ quantityLimit?: number | null;
899
+ vatIncluded?: boolean;
900
+ vatRate?: number | null;
901
+ requiresShipping?: boolean;
902
+ isDropshipped?: boolean;
903
+ status?: string;
904
+ createdAt: string;
905
+ updatedAt: string;
906
+ images?: Prisma.ProductImageUncheckedCreateNestedManyWithoutProductInput;
907
+ variants?: Prisma.ProductVariantUncheckedCreateNestedManyWithoutProductInput;
908
+ options?: Prisma.ProductOptionUncheckedCreateNestedManyWithoutProductInput;
909
+ attributes?: Prisma.ProductAttributeUncheckedCreateNestedManyWithoutProductInput;
910
+ categories?: Prisma.ProductCategoryUncheckedCreateNestedManyWithoutProductInput;
911
+ tags?: Prisma.ProductTagUncheckedCreateNestedManyWithoutProductInput;
912
+ };
913
+ export type ProductCreateOrConnectWithoutCartItemsInput = {
914
+ where: Prisma.ProductWhereUniqueInput;
915
+ create: Prisma.XOR<Prisma.ProductCreateWithoutCartItemsInput, Prisma.ProductUncheckedCreateWithoutCartItemsInput>;
916
+ };
917
+ export type ProductUpsertWithoutCartItemsInput = {
918
+ update: Prisma.XOR<Prisma.ProductUpdateWithoutCartItemsInput, Prisma.ProductUncheckedUpdateWithoutCartItemsInput>;
919
+ create: Prisma.XOR<Prisma.ProductCreateWithoutCartItemsInput, Prisma.ProductUncheckedCreateWithoutCartItemsInput>;
920
+ where?: Prisma.ProductWhereInput;
921
+ };
922
+ export type ProductUpdateToOneWithWhereWithoutCartItemsInput = {
923
+ where?: Prisma.ProductWhereInput;
924
+ data: Prisma.XOR<Prisma.ProductUpdateWithoutCartItemsInput, Prisma.ProductUncheckedUpdateWithoutCartItemsInput>;
925
+ };
926
+ export type ProductUpdateWithoutCartItemsInput = {
927
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
928
+ sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
929
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
930
+ nameAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
931
+ slug?: Prisma.StringFieldUpdateOperationsInput | string;
932
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
933
+ descriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
934
+ shortDescription?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
935
+ shortDescriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
936
+ price?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
937
+ compareAtPrice?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
938
+ currency?: Prisma.StringFieldUpdateOperationsInput | string;
939
+ productType?: Prisma.StringFieldUpdateOperationsInput | string;
940
+ inStock?: Prisma.BoolFieldUpdateOperationsInput | boolean;
941
+ inventoryQuantity?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
942
+ quantityLimit?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
943
+ vatIncluded?: Prisma.BoolFieldUpdateOperationsInput | boolean;
944
+ vatRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
945
+ requiresShipping?: Prisma.BoolFieldUpdateOperationsInput | boolean;
946
+ isDropshipped?: Prisma.BoolFieldUpdateOperationsInput | boolean;
947
+ status?: Prisma.StringFieldUpdateOperationsInput | string;
948
+ createdAt?: Prisma.StringFieldUpdateOperationsInput | string;
949
+ updatedAt?: Prisma.StringFieldUpdateOperationsInput | string;
950
+ images?: Prisma.ProductImageUpdateManyWithoutProductNestedInput;
951
+ variants?: Prisma.ProductVariantUpdateManyWithoutProductNestedInput;
952
+ options?: Prisma.ProductOptionUpdateManyWithoutProductNestedInput;
953
+ attributes?: Prisma.ProductAttributeUpdateManyWithoutProductNestedInput;
954
+ categories?: Prisma.ProductCategoryUpdateManyWithoutProductNestedInput;
955
+ tags?: Prisma.ProductTagUpdateManyWithoutProductNestedInput;
956
+ };
957
+ export type ProductUncheckedUpdateWithoutCartItemsInput = {
958
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
959
+ sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
960
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
961
+ nameAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
962
+ slug?: Prisma.StringFieldUpdateOperationsInput | string;
963
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
964
+ descriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
965
+ shortDescription?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
966
+ shortDescriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
967
+ price?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
968
+ compareAtPrice?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
969
+ currency?: Prisma.StringFieldUpdateOperationsInput | string;
970
+ productType?: Prisma.StringFieldUpdateOperationsInput | string;
971
+ inStock?: Prisma.BoolFieldUpdateOperationsInput | boolean;
972
+ inventoryQuantity?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
973
+ quantityLimit?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
974
+ vatIncluded?: Prisma.BoolFieldUpdateOperationsInput | boolean;
975
+ vatRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
976
+ requiresShipping?: Prisma.BoolFieldUpdateOperationsInput | boolean;
977
+ isDropshipped?: Prisma.BoolFieldUpdateOperationsInput | boolean;
978
+ status?: Prisma.StringFieldUpdateOperationsInput | string;
979
+ createdAt?: Prisma.StringFieldUpdateOperationsInput | string;
980
+ updatedAt?: Prisma.StringFieldUpdateOperationsInput | string;
981
+ images?: Prisma.ProductImageUncheckedUpdateManyWithoutProductNestedInput;
982
+ variants?: Prisma.ProductVariantUncheckedUpdateManyWithoutProductNestedInput;
983
+ options?: Prisma.ProductOptionUncheckedUpdateManyWithoutProductNestedInput;
984
+ attributes?: Prisma.ProductAttributeUncheckedUpdateManyWithoutProductNestedInput;
985
+ categories?: Prisma.ProductCategoryUncheckedUpdateManyWithoutProductNestedInput;
986
+ tags?: Prisma.ProductTagUncheckedUpdateManyWithoutProductNestedInput;
987
+ };
988
+ export type ProductCreateWithoutImagesInput = {
989
+ id?: string;
990
+ sku?: string | null;
991
+ name: string;
992
+ nameAr?: string | null;
993
+ slug: string;
994
+ description?: string | null;
995
+ descriptionAr?: string | null;
996
+ shortDescription?: string | null;
997
+ shortDescriptionAr?: string | null;
998
+ price?: number | null;
999
+ compareAtPrice?: number | null;
1000
+ currency?: string;
1001
+ productType?: string;
1002
+ inStock?: boolean;
1003
+ inventoryQuantity?: number | null;
1004
+ quantityLimit?: number | null;
1005
+ vatIncluded?: boolean;
1006
+ vatRate?: number | null;
1007
+ requiresShipping?: boolean;
1008
+ isDropshipped?: boolean;
1009
+ status?: string;
1010
+ createdAt: string;
1011
+ updatedAt: string;
1012
+ variants?: Prisma.ProductVariantCreateNestedManyWithoutProductInput;
1013
+ options?: Prisma.ProductOptionCreateNestedManyWithoutProductInput;
1014
+ attributes?: Prisma.ProductAttributeCreateNestedManyWithoutProductInput;
1015
+ categories?: Prisma.ProductCategoryCreateNestedManyWithoutProductInput;
1016
+ tags?: Prisma.ProductTagCreateNestedManyWithoutProductInput;
1017
+ cartItems?: Prisma.CartItemCreateNestedManyWithoutProductInput;
1018
+ };
1019
+ export type ProductUncheckedCreateWithoutImagesInput = {
1020
+ id?: string;
1021
+ sku?: string | null;
1022
+ name: string;
1023
+ nameAr?: string | null;
1024
+ slug: string;
1025
+ description?: string | null;
1026
+ descriptionAr?: string | null;
1027
+ shortDescription?: string | null;
1028
+ shortDescriptionAr?: string | null;
1029
+ price?: number | null;
1030
+ compareAtPrice?: number | null;
1031
+ currency?: string;
1032
+ productType?: string;
1033
+ inStock?: boolean;
1034
+ inventoryQuantity?: number | null;
1035
+ quantityLimit?: number | null;
1036
+ vatIncluded?: boolean;
1037
+ vatRate?: number | null;
1038
+ requiresShipping?: boolean;
1039
+ isDropshipped?: boolean;
1040
+ status?: string;
1041
+ createdAt: string;
1042
+ updatedAt: string;
1043
+ variants?: Prisma.ProductVariantUncheckedCreateNestedManyWithoutProductInput;
1044
+ options?: Prisma.ProductOptionUncheckedCreateNestedManyWithoutProductInput;
1045
+ attributes?: Prisma.ProductAttributeUncheckedCreateNestedManyWithoutProductInput;
1046
+ categories?: Prisma.ProductCategoryUncheckedCreateNestedManyWithoutProductInput;
1047
+ tags?: Prisma.ProductTagUncheckedCreateNestedManyWithoutProductInput;
1048
+ cartItems?: Prisma.CartItemUncheckedCreateNestedManyWithoutProductInput;
1049
+ };
1050
+ export type ProductCreateOrConnectWithoutImagesInput = {
1051
+ where: Prisma.ProductWhereUniqueInput;
1052
+ create: Prisma.XOR<Prisma.ProductCreateWithoutImagesInput, Prisma.ProductUncheckedCreateWithoutImagesInput>;
1053
+ };
1054
+ export type ProductUpsertWithoutImagesInput = {
1055
+ update: Prisma.XOR<Prisma.ProductUpdateWithoutImagesInput, Prisma.ProductUncheckedUpdateWithoutImagesInput>;
1056
+ create: Prisma.XOR<Prisma.ProductCreateWithoutImagesInput, Prisma.ProductUncheckedCreateWithoutImagesInput>;
1057
+ where?: Prisma.ProductWhereInput;
1058
+ };
1059
+ export type ProductUpdateToOneWithWhereWithoutImagesInput = {
1060
+ where?: Prisma.ProductWhereInput;
1061
+ data: Prisma.XOR<Prisma.ProductUpdateWithoutImagesInput, Prisma.ProductUncheckedUpdateWithoutImagesInput>;
1062
+ };
1063
+ export type ProductUpdateWithoutImagesInput = {
1064
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
1065
+ sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1066
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
1067
+ nameAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1068
+ slug?: Prisma.StringFieldUpdateOperationsInput | string;
1069
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1070
+ descriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1071
+ shortDescription?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1072
+ shortDescriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1073
+ price?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1074
+ compareAtPrice?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1075
+ currency?: Prisma.StringFieldUpdateOperationsInput | string;
1076
+ productType?: Prisma.StringFieldUpdateOperationsInput | string;
1077
+ inStock?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1078
+ inventoryQuantity?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1079
+ quantityLimit?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1080
+ vatIncluded?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1081
+ vatRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1082
+ requiresShipping?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1083
+ isDropshipped?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1084
+ status?: Prisma.StringFieldUpdateOperationsInput | string;
1085
+ createdAt?: Prisma.StringFieldUpdateOperationsInput | string;
1086
+ updatedAt?: Prisma.StringFieldUpdateOperationsInput | string;
1087
+ variants?: Prisma.ProductVariantUpdateManyWithoutProductNestedInput;
1088
+ options?: Prisma.ProductOptionUpdateManyWithoutProductNestedInput;
1089
+ attributes?: Prisma.ProductAttributeUpdateManyWithoutProductNestedInput;
1090
+ categories?: Prisma.ProductCategoryUpdateManyWithoutProductNestedInput;
1091
+ tags?: Prisma.ProductTagUpdateManyWithoutProductNestedInput;
1092
+ cartItems?: Prisma.CartItemUpdateManyWithoutProductNestedInput;
1093
+ };
1094
+ export type ProductUncheckedUpdateWithoutImagesInput = {
1095
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
1096
+ sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1097
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
1098
+ nameAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1099
+ slug?: Prisma.StringFieldUpdateOperationsInput | string;
1100
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1101
+ descriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1102
+ shortDescription?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1103
+ shortDescriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1104
+ price?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1105
+ compareAtPrice?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1106
+ currency?: Prisma.StringFieldUpdateOperationsInput | string;
1107
+ productType?: Prisma.StringFieldUpdateOperationsInput | string;
1108
+ inStock?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1109
+ inventoryQuantity?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1110
+ quantityLimit?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1111
+ vatIncluded?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1112
+ vatRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1113
+ requiresShipping?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1114
+ isDropshipped?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1115
+ status?: Prisma.StringFieldUpdateOperationsInput | string;
1116
+ createdAt?: Prisma.StringFieldUpdateOperationsInput | string;
1117
+ updatedAt?: Prisma.StringFieldUpdateOperationsInput | string;
1118
+ variants?: Prisma.ProductVariantUncheckedUpdateManyWithoutProductNestedInput;
1119
+ options?: Prisma.ProductOptionUncheckedUpdateManyWithoutProductNestedInput;
1120
+ attributes?: Prisma.ProductAttributeUncheckedUpdateManyWithoutProductNestedInput;
1121
+ categories?: Prisma.ProductCategoryUncheckedUpdateManyWithoutProductNestedInput;
1122
+ tags?: Prisma.ProductTagUncheckedUpdateManyWithoutProductNestedInput;
1123
+ cartItems?: Prisma.CartItemUncheckedUpdateManyWithoutProductNestedInput;
1124
+ };
1125
+ export type ProductCreateWithoutVariantsInput = {
1126
+ id?: string;
1127
+ sku?: string | null;
1128
+ name: string;
1129
+ nameAr?: string | null;
1130
+ slug: string;
1131
+ description?: string | null;
1132
+ descriptionAr?: string | null;
1133
+ shortDescription?: string | null;
1134
+ shortDescriptionAr?: string | null;
1135
+ price?: number | null;
1136
+ compareAtPrice?: number | null;
1137
+ currency?: string;
1138
+ productType?: string;
1139
+ inStock?: boolean;
1140
+ inventoryQuantity?: number | null;
1141
+ quantityLimit?: number | null;
1142
+ vatIncluded?: boolean;
1143
+ vatRate?: number | null;
1144
+ requiresShipping?: boolean;
1145
+ isDropshipped?: boolean;
1146
+ status?: string;
1147
+ createdAt: string;
1148
+ updatedAt: string;
1149
+ images?: Prisma.ProductImageCreateNestedManyWithoutProductInput;
1150
+ options?: Prisma.ProductOptionCreateNestedManyWithoutProductInput;
1151
+ attributes?: Prisma.ProductAttributeCreateNestedManyWithoutProductInput;
1152
+ categories?: Prisma.ProductCategoryCreateNestedManyWithoutProductInput;
1153
+ tags?: Prisma.ProductTagCreateNestedManyWithoutProductInput;
1154
+ cartItems?: Prisma.CartItemCreateNestedManyWithoutProductInput;
1155
+ };
1156
+ export type ProductUncheckedCreateWithoutVariantsInput = {
1157
+ id?: string;
1158
+ sku?: string | null;
1159
+ name: string;
1160
+ nameAr?: string | null;
1161
+ slug: string;
1162
+ description?: string | null;
1163
+ descriptionAr?: string | null;
1164
+ shortDescription?: string | null;
1165
+ shortDescriptionAr?: string | null;
1166
+ price?: number | null;
1167
+ compareAtPrice?: number | null;
1168
+ currency?: string;
1169
+ productType?: string;
1170
+ inStock?: boolean;
1171
+ inventoryQuantity?: number | null;
1172
+ quantityLimit?: number | null;
1173
+ vatIncluded?: boolean;
1174
+ vatRate?: number | null;
1175
+ requiresShipping?: boolean;
1176
+ isDropshipped?: boolean;
1177
+ status?: string;
1178
+ createdAt: string;
1179
+ updatedAt: string;
1180
+ images?: Prisma.ProductImageUncheckedCreateNestedManyWithoutProductInput;
1181
+ options?: Prisma.ProductOptionUncheckedCreateNestedManyWithoutProductInput;
1182
+ attributes?: Prisma.ProductAttributeUncheckedCreateNestedManyWithoutProductInput;
1183
+ categories?: Prisma.ProductCategoryUncheckedCreateNestedManyWithoutProductInput;
1184
+ tags?: Prisma.ProductTagUncheckedCreateNestedManyWithoutProductInput;
1185
+ cartItems?: Prisma.CartItemUncheckedCreateNestedManyWithoutProductInput;
1186
+ };
1187
+ export type ProductCreateOrConnectWithoutVariantsInput = {
1188
+ where: Prisma.ProductWhereUniqueInput;
1189
+ create: Prisma.XOR<Prisma.ProductCreateWithoutVariantsInput, Prisma.ProductUncheckedCreateWithoutVariantsInput>;
1190
+ };
1191
+ export type ProductUpsertWithoutVariantsInput = {
1192
+ update: Prisma.XOR<Prisma.ProductUpdateWithoutVariantsInput, Prisma.ProductUncheckedUpdateWithoutVariantsInput>;
1193
+ create: Prisma.XOR<Prisma.ProductCreateWithoutVariantsInput, Prisma.ProductUncheckedCreateWithoutVariantsInput>;
1194
+ where?: Prisma.ProductWhereInput;
1195
+ };
1196
+ export type ProductUpdateToOneWithWhereWithoutVariantsInput = {
1197
+ where?: Prisma.ProductWhereInput;
1198
+ data: Prisma.XOR<Prisma.ProductUpdateWithoutVariantsInput, Prisma.ProductUncheckedUpdateWithoutVariantsInput>;
1199
+ };
1200
+ export type ProductUpdateWithoutVariantsInput = {
1201
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
1202
+ sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1203
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
1204
+ nameAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1205
+ slug?: Prisma.StringFieldUpdateOperationsInput | string;
1206
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1207
+ descriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1208
+ shortDescription?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1209
+ shortDescriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1210
+ price?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1211
+ compareAtPrice?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1212
+ currency?: Prisma.StringFieldUpdateOperationsInput | string;
1213
+ productType?: Prisma.StringFieldUpdateOperationsInput | string;
1214
+ inStock?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1215
+ inventoryQuantity?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1216
+ quantityLimit?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1217
+ vatIncluded?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1218
+ vatRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1219
+ requiresShipping?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1220
+ isDropshipped?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1221
+ status?: Prisma.StringFieldUpdateOperationsInput | string;
1222
+ createdAt?: Prisma.StringFieldUpdateOperationsInput | string;
1223
+ updatedAt?: Prisma.StringFieldUpdateOperationsInput | string;
1224
+ images?: Prisma.ProductImageUpdateManyWithoutProductNestedInput;
1225
+ options?: Prisma.ProductOptionUpdateManyWithoutProductNestedInput;
1226
+ attributes?: Prisma.ProductAttributeUpdateManyWithoutProductNestedInput;
1227
+ categories?: Prisma.ProductCategoryUpdateManyWithoutProductNestedInput;
1228
+ tags?: Prisma.ProductTagUpdateManyWithoutProductNestedInput;
1229
+ cartItems?: Prisma.CartItemUpdateManyWithoutProductNestedInput;
1230
+ };
1231
+ export type ProductUncheckedUpdateWithoutVariantsInput = {
1232
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
1233
+ sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1234
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
1235
+ nameAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1236
+ slug?: Prisma.StringFieldUpdateOperationsInput | string;
1237
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1238
+ descriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1239
+ shortDescription?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1240
+ shortDescriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1241
+ price?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1242
+ compareAtPrice?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1243
+ currency?: Prisma.StringFieldUpdateOperationsInput | string;
1244
+ productType?: Prisma.StringFieldUpdateOperationsInput | string;
1245
+ inStock?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1246
+ inventoryQuantity?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1247
+ quantityLimit?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1248
+ vatIncluded?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1249
+ vatRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1250
+ requiresShipping?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1251
+ isDropshipped?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1252
+ status?: Prisma.StringFieldUpdateOperationsInput | string;
1253
+ createdAt?: Prisma.StringFieldUpdateOperationsInput | string;
1254
+ updatedAt?: Prisma.StringFieldUpdateOperationsInput | string;
1255
+ images?: Prisma.ProductImageUncheckedUpdateManyWithoutProductNestedInput;
1256
+ options?: Prisma.ProductOptionUncheckedUpdateManyWithoutProductNestedInput;
1257
+ attributes?: Prisma.ProductAttributeUncheckedUpdateManyWithoutProductNestedInput;
1258
+ categories?: Prisma.ProductCategoryUncheckedUpdateManyWithoutProductNestedInput;
1259
+ tags?: Prisma.ProductTagUncheckedUpdateManyWithoutProductNestedInput;
1260
+ cartItems?: Prisma.CartItemUncheckedUpdateManyWithoutProductNestedInput;
1261
+ };
1262
+ export type ProductCreateWithoutOptionsInput = {
1263
+ id?: string;
1264
+ sku?: string | null;
1265
+ name: string;
1266
+ nameAr?: string | null;
1267
+ slug: string;
1268
+ description?: string | null;
1269
+ descriptionAr?: string | null;
1270
+ shortDescription?: string | null;
1271
+ shortDescriptionAr?: string | null;
1272
+ price?: number | null;
1273
+ compareAtPrice?: number | null;
1274
+ currency?: string;
1275
+ productType?: string;
1276
+ inStock?: boolean;
1277
+ inventoryQuantity?: number | null;
1278
+ quantityLimit?: number | null;
1279
+ vatIncluded?: boolean;
1280
+ vatRate?: number | null;
1281
+ requiresShipping?: boolean;
1282
+ isDropshipped?: boolean;
1283
+ status?: string;
1284
+ createdAt: string;
1285
+ updatedAt: string;
1286
+ images?: Prisma.ProductImageCreateNestedManyWithoutProductInput;
1287
+ variants?: Prisma.ProductVariantCreateNestedManyWithoutProductInput;
1288
+ attributes?: Prisma.ProductAttributeCreateNestedManyWithoutProductInput;
1289
+ categories?: Prisma.ProductCategoryCreateNestedManyWithoutProductInput;
1290
+ tags?: Prisma.ProductTagCreateNestedManyWithoutProductInput;
1291
+ cartItems?: Prisma.CartItemCreateNestedManyWithoutProductInput;
1292
+ };
1293
+ export type ProductUncheckedCreateWithoutOptionsInput = {
1294
+ id?: string;
1295
+ sku?: string | null;
1296
+ name: string;
1297
+ nameAr?: string | null;
1298
+ slug: string;
1299
+ description?: string | null;
1300
+ descriptionAr?: string | null;
1301
+ shortDescription?: string | null;
1302
+ shortDescriptionAr?: string | null;
1303
+ price?: number | null;
1304
+ compareAtPrice?: number | null;
1305
+ currency?: string;
1306
+ productType?: string;
1307
+ inStock?: boolean;
1308
+ inventoryQuantity?: number | null;
1309
+ quantityLimit?: number | null;
1310
+ vatIncluded?: boolean;
1311
+ vatRate?: number | null;
1312
+ requiresShipping?: boolean;
1313
+ isDropshipped?: boolean;
1314
+ status?: string;
1315
+ createdAt: string;
1316
+ updatedAt: string;
1317
+ images?: Prisma.ProductImageUncheckedCreateNestedManyWithoutProductInput;
1318
+ variants?: Prisma.ProductVariantUncheckedCreateNestedManyWithoutProductInput;
1319
+ attributes?: Prisma.ProductAttributeUncheckedCreateNestedManyWithoutProductInput;
1320
+ categories?: Prisma.ProductCategoryUncheckedCreateNestedManyWithoutProductInput;
1321
+ tags?: Prisma.ProductTagUncheckedCreateNestedManyWithoutProductInput;
1322
+ cartItems?: Prisma.CartItemUncheckedCreateNestedManyWithoutProductInput;
1323
+ };
1324
+ export type ProductCreateOrConnectWithoutOptionsInput = {
1325
+ where: Prisma.ProductWhereUniqueInput;
1326
+ create: Prisma.XOR<Prisma.ProductCreateWithoutOptionsInput, Prisma.ProductUncheckedCreateWithoutOptionsInput>;
1327
+ };
1328
+ export type ProductUpsertWithoutOptionsInput = {
1329
+ update: Prisma.XOR<Prisma.ProductUpdateWithoutOptionsInput, Prisma.ProductUncheckedUpdateWithoutOptionsInput>;
1330
+ create: Prisma.XOR<Prisma.ProductCreateWithoutOptionsInput, Prisma.ProductUncheckedCreateWithoutOptionsInput>;
1331
+ where?: Prisma.ProductWhereInput;
1332
+ };
1333
+ export type ProductUpdateToOneWithWhereWithoutOptionsInput = {
1334
+ where?: Prisma.ProductWhereInput;
1335
+ data: Prisma.XOR<Prisma.ProductUpdateWithoutOptionsInput, Prisma.ProductUncheckedUpdateWithoutOptionsInput>;
1336
+ };
1337
+ export type ProductUpdateWithoutOptionsInput = {
1338
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
1339
+ sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1340
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
1341
+ nameAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1342
+ slug?: Prisma.StringFieldUpdateOperationsInput | string;
1343
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1344
+ descriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1345
+ shortDescription?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1346
+ shortDescriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1347
+ price?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1348
+ compareAtPrice?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1349
+ currency?: Prisma.StringFieldUpdateOperationsInput | string;
1350
+ productType?: Prisma.StringFieldUpdateOperationsInput | string;
1351
+ inStock?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1352
+ inventoryQuantity?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1353
+ quantityLimit?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1354
+ vatIncluded?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1355
+ vatRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1356
+ requiresShipping?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1357
+ isDropshipped?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1358
+ status?: Prisma.StringFieldUpdateOperationsInput | string;
1359
+ createdAt?: Prisma.StringFieldUpdateOperationsInput | string;
1360
+ updatedAt?: Prisma.StringFieldUpdateOperationsInput | string;
1361
+ images?: Prisma.ProductImageUpdateManyWithoutProductNestedInput;
1362
+ variants?: Prisma.ProductVariantUpdateManyWithoutProductNestedInput;
1363
+ attributes?: Prisma.ProductAttributeUpdateManyWithoutProductNestedInput;
1364
+ categories?: Prisma.ProductCategoryUpdateManyWithoutProductNestedInput;
1365
+ tags?: Prisma.ProductTagUpdateManyWithoutProductNestedInput;
1366
+ cartItems?: Prisma.CartItemUpdateManyWithoutProductNestedInput;
1367
+ };
1368
+ export type ProductUncheckedUpdateWithoutOptionsInput = {
1369
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
1370
+ sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1371
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
1372
+ nameAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1373
+ slug?: Prisma.StringFieldUpdateOperationsInput | string;
1374
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1375
+ descriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1376
+ shortDescription?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1377
+ shortDescriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1378
+ price?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1379
+ compareAtPrice?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1380
+ currency?: Prisma.StringFieldUpdateOperationsInput | string;
1381
+ productType?: Prisma.StringFieldUpdateOperationsInput | string;
1382
+ inStock?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1383
+ inventoryQuantity?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1384
+ quantityLimit?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1385
+ vatIncluded?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1386
+ vatRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1387
+ requiresShipping?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1388
+ isDropshipped?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1389
+ status?: Prisma.StringFieldUpdateOperationsInput | string;
1390
+ createdAt?: Prisma.StringFieldUpdateOperationsInput | string;
1391
+ updatedAt?: Prisma.StringFieldUpdateOperationsInput | string;
1392
+ images?: Prisma.ProductImageUncheckedUpdateManyWithoutProductNestedInput;
1393
+ variants?: Prisma.ProductVariantUncheckedUpdateManyWithoutProductNestedInput;
1394
+ attributes?: Prisma.ProductAttributeUncheckedUpdateManyWithoutProductNestedInput;
1395
+ categories?: Prisma.ProductCategoryUncheckedUpdateManyWithoutProductNestedInput;
1396
+ tags?: Prisma.ProductTagUncheckedUpdateManyWithoutProductNestedInput;
1397
+ cartItems?: Prisma.CartItemUncheckedUpdateManyWithoutProductNestedInput;
1398
+ };
1399
+ export type ProductCreateWithoutAttributesInput = {
1400
+ id?: string;
1401
+ sku?: string | null;
1402
+ name: string;
1403
+ nameAr?: string | null;
1404
+ slug: string;
1405
+ description?: string | null;
1406
+ descriptionAr?: string | null;
1407
+ shortDescription?: string | null;
1408
+ shortDescriptionAr?: string | null;
1409
+ price?: number | null;
1410
+ compareAtPrice?: number | null;
1411
+ currency?: string;
1412
+ productType?: string;
1413
+ inStock?: boolean;
1414
+ inventoryQuantity?: number | null;
1415
+ quantityLimit?: number | null;
1416
+ vatIncluded?: boolean;
1417
+ vatRate?: number | null;
1418
+ requiresShipping?: boolean;
1419
+ isDropshipped?: boolean;
1420
+ status?: string;
1421
+ createdAt: string;
1422
+ updatedAt: string;
1423
+ images?: Prisma.ProductImageCreateNestedManyWithoutProductInput;
1424
+ variants?: Prisma.ProductVariantCreateNestedManyWithoutProductInput;
1425
+ options?: Prisma.ProductOptionCreateNestedManyWithoutProductInput;
1426
+ categories?: Prisma.ProductCategoryCreateNestedManyWithoutProductInput;
1427
+ tags?: Prisma.ProductTagCreateNestedManyWithoutProductInput;
1428
+ cartItems?: Prisma.CartItemCreateNestedManyWithoutProductInput;
1429
+ };
1430
+ export type ProductUncheckedCreateWithoutAttributesInput = {
1431
+ id?: string;
1432
+ sku?: string | null;
1433
+ name: string;
1434
+ nameAr?: string | null;
1435
+ slug: string;
1436
+ description?: string | null;
1437
+ descriptionAr?: string | null;
1438
+ shortDescription?: string | null;
1439
+ shortDescriptionAr?: string | null;
1440
+ price?: number | null;
1441
+ compareAtPrice?: number | null;
1442
+ currency?: string;
1443
+ productType?: string;
1444
+ inStock?: boolean;
1445
+ inventoryQuantity?: number | null;
1446
+ quantityLimit?: number | null;
1447
+ vatIncluded?: boolean;
1448
+ vatRate?: number | null;
1449
+ requiresShipping?: boolean;
1450
+ isDropshipped?: boolean;
1451
+ status?: string;
1452
+ createdAt: string;
1453
+ updatedAt: string;
1454
+ images?: Prisma.ProductImageUncheckedCreateNestedManyWithoutProductInput;
1455
+ variants?: Prisma.ProductVariantUncheckedCreateNestedManyWithoutProductInput;
1456
+ options?: Prisma.ProductOptionUncheckedCreateNestedManyWithoutProductInput;
1457
+ categories?: Prisma.ProductCategoryUncheckedCreateNestedManyWithoutProductInput;
1458
+ tags?: Prisma.ProductTagUncheckedCreateNestedManyWithoutProductInput;
1459
+ cartItems?: Prisma.CartItemUncheckedCreateNestedManyWithoutProductInput;
1460
+ };
1461
+ export type ProductCreateOrConnectWithoutAttributesInput = {
1462
+ where: Prisma.ProductWhereUniqueInput;
1463
+ create: Prisma.XOR<Prisma.ProductCreateWithoutAttributesInput, Prisma.ProductUncheckedCreateWithoutAttributesInput>;
1464
+ };
1465
+ export type ProductUpsertWithoutAttributesInput = {
1466
+ update: Prisma.XOR<Prisma.ProductUpdateWithoutAttributesInput, Prisma.ProductUncheckedUpdateWithoutAttributesInput>;
1467
+ create: Prisma.XOR<Prisma.ProductCreateWithoutAttributesInput, Prisma.ProductUncheckedCreateWithoutAttributesInput>;
1468
+ where?: Prisma.ProductWhereInput;
1469
+ };
1470
+ export type ProductUpdateToOneWithWhereWithoutAttributesInput = {
1471
+ where?: Prisma.ProductWhereInput;
1472
+ data: Prisma.XOR<Prisma.ProductUpdateWithoutAttributesInput, Prisma.ProductUncheckedUpdateWithoutAttributesInput>;
1473
+ };
1474
+ export type ProductUpdateWithoutAttributesInput = {
1475
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
1476
+ sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1477
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
1478
+ nameAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1479
+ slug?: Prisma.StringFieldUpdateOperationsInput | string;
1480
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1481
+ descriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1482
+ shortDescription?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1483
+ shortDescriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1484
+ price?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1485
+ compareAtPrice?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1486
+ currency?: Prisma.StringFieldUpdateOperationsInput | string;
1487
+ productType?: Prisma.StringFieldUpdateOperationsInput | string;
1488
+ inStock?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1489
+ inventoryQuantity?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1490
+ quantityLimit?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1491
+ vatIncluded?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1492
+ vatRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1493
+ requiresShipping?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1494
+ isDropshipped?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1495
+ status?: Prisma.StringFieldUpdateOperationsInput | string;
1496
+ createdAt?: Prisma.StringFieldUpdateOperationsInput | string;
1497
+ updatedAt?: Prisma.StringFieldUpdateOperationsInput | string;
1498
+ images?: Prisma.ProductImageUpdateManyWithoutProductNestedInput;
1499
+ variants?: Prisma.ProductVariantUpdateManyWithoutProductNestedInput;
1500
+ options?: Prisma.ProductOptionUpdateManyWithoutProductNestedInput;
1501
+ categories?: Prisma.ProductCategoryUpdateManyWithoutProductNestedInput;
1502
+ tags?: Prisma.ProductTagUpdateManyWithoutProductNestedInput;
1503
+ cartItems?: Prisma.CartItemUpdateManyWithoutProductNestedInput;
1504
+ };
1505
+ export type ProductUncheckedUpdateWithoutAttributesInput = {
1506
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
1507
+ sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1508
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
1509
+ nameAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1510
+ slug?: Prisma.StringFieldUpdateOperationsInput | string;
1511
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1512
+ descriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1513
+ shortDescription?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1514
+ shortDescriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1515
+ price?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1516
+ compareAtPrice?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1517
+ currency?: Prisma.StringFieldUpdateOperationsInput | string;
1518
+ productType?: Prisma.StringFieldUpdateOperationsInput | string;
1519
+ inStock?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1520
+ inventoryQuantity?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1521
+ quantityLimit?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1522
+ vatIncluded?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1523
+ vatRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1524
+ requiresShipping?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1525
+ isDropshipped?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1526
+ status?: Prisma.StringFieldUpdateOperationsInput | string;
1527
+ createdAt?: Prisma.StringFieldUpdateOperationsInput | string;
1528
+ updatedAt?: Prisma.StringFieldUpdateOperationsInput | string;
1529
+ images?: Prisma.ProductImageUncheckedUpdateManyWithoutProductNestedInput;
1530
+ variants?: Prisma.ProductVariantUncheckedUpdateManyWithoutProductNestedInput;
1531
+ options?: Prisma.ProductOptionUncheckedUpdateManyWithoutProductNestedInput;
1532
+ categories?: Prisma.ProductCategoryUncheckedUpdateManyWithoutProductNestedInput;
1533
+ tags?: Prisma.ProductTagUncheckedUpdateManyWithoutProductNestedInput;
1534
+ cartItems?: Prisma.CartItemUncheckedUpdateManyWithoutProductNestedInput;
1535
+ };
1536
+ export type ProductCreateWithoutCategoriesInput = {
1537
+ id?: string;
1538
+ sku?: string | null;
1539
+ name: string;
1540
+ nameAr?: string | null;
1541
+ slug: string;
1542
+ description?: string | null;
1543
+ descriptionAr?: string | null;
1544
+ shortDescription?: string | null;
1545
+ shortDescriptionAr?: string | null;
1546
+ price?: number | null;
1547
+ compareAtPrice?: number | null;
1548
+ currency?: string;
1549
+ productType?: string;
1550
+ inStock?: boolean;
1551
+ inventoryQuantity?: number | null;
1552
+ quantityLimit?: number | null;
1553
+ vatIncluded?: boolean;
1554
+ vatRate?: number | null;
1555
+ requiresShipping?: boolean;
1556
+ isDropshipped?: boolean;
1557
+ status?: string;
1558
+ createdAt: string;
1559
+ updatedAt: string;
1560
+ images?: Prisma.ProductImageCreateNestedManyWithoutProductInput;
1561
+ variants?: Prisma.ProductVariantCreateNestedManyWithoutProductInput;
1562
+ options?: Prisma.ProductOptionCreateNestedManyWithoutProductInput;
1563
+ attributes?: Prisma.ProductAttributeCreateNestedManyWithoutProductInput;
1564
+ tags?: Prisma.ProductTagCreateNestedManyWithoutProductInput;
1565
+ cartItems?: Prisma.CartItemCreateNestedManyWithoutProductInput;
1566
+ };
1567
+ export type ProductUncheckedCreateWithoutCategoriesInput = {
1568
+ id?: string;
1569
+ sku?: string | null;
1570
+ name: string;
1571
+ nameAr?: string | null;
1572
+ slug: string;
1573
+ description?: string | null;
1574
+ descriptionAr?: string | null;
1575
+ shortDescription?: string | null;
1576
+ shortDescriptionAr?: string | null;
1577
+ price?: number | null;
1578
+ compareAtPrice?: number | null;
1579
+ currency?: string;
1580
+ productType?: string;
1581
+ inStock?: boolean;
1582
+ inventoryQuantity?: number | null;
1583
+ quantityLimit?: number | null;
1584
+ vatIncluded?: boolean;
1585
+ vatRate?: number | null;
1586
+ requiresShipping?: boolean;
1587
+ isDropshipped?: boolean;
1588
+ status?: string;
1589
+ createdAt: string;
1590
+ updatedAt: string;
1591
+ images?: Prisma.ProductImageUncheckedCreateNestedManyWithoutProductInput;
1592
+ variants?: Prisma.ProductVariantUncheckedCreateNestedManyWithoutProductInput;
1593
+ options?: Prisma.ProductOptionUncheckedCreateNestedManyWithoutProductInput;
1594
+ attributes?: Prisma.ProductAttributeUncheckedCreateNestedManyWithoutProductInput;
1595
+ tags?: Prisma.ProductTagUncheckedCreateNestedManyWithoutProductInput;
1596
+ cartItems?: Prisma.CartItemUncheckedCreateNestedManyWithoutProductInput;
1597
+ };
1598
+ export type ProductCreateOrConnectWithoutCategoriesInput = {
1599
+ where: Prisma.ProductWhereUniqueInput;
1600
+ create: Prisma.XOR<Prisma.ProductCreateWithoutCategoriesInput, Prisma.ProductUncheckedCreateWithoutCategoriesInput>;
1601
+ };
1602
+ export type ProductUpsertWithoutCategoriesInput = {
1603
+ update: Prisma.XOR<Prisma.ProductUpdateWithoutCategoriesInput, Prisma.ProductUncheckedUpdateWithoutCategoriesInput>;
1604
+ create: Prisma.XOR<Prisma.ProductCreateWithoutCategoriesInput, Prisma.ProductUncheckedCreateWithoutCategoriesInput>;
1605
+ where?: Prisma.ProductWhereInput;
1606
+ };
1607
+ export type ProductUpdateToOneWithWhereWithoutCategoriesInput = {
1608
+ where?: Prisma.ProductWhereInput;
1609
+ data: Prisma.XOR<Prisma.ProductUpdateWithoutCategoriesInput, Prisma.ProductUncheckedUpdateWithoutCategoriesInput>;
1610
+ };
1611
+ export type ProductUpdateWithoutCategoriesInput = {
1612
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
1613
+ sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1614
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
1615
+ nameAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1616
+ slug?: Prisma.StringFieldUpdateOperationsInput | string;
1617
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1618
+ descriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1619
+ shortDescription?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1620
+ shortDescriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1621
+ price?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1622
+ compareAtPrice?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1623
+ currency?: Prisma.StringFieldUpdateOperationsInput | string;
1624
+ productType?: Prisma.StringFieldUpdateOperationsInput | string;
1625
+ inStock?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1626
+ inventoryQuantity?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1627
+ quantityLimit?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1628
+ vatIncluded?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1629
+ vatRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1630
+ requiresShipping?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1631
+ isDropshipped?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1632
+ status?: Prisma.StringFieldUpdateOperationsInput | string;
1633
+ createdAt?: Prisma.StringFieldUpdateOperationsInput | string;
1634
+ updatedAt?: Prisma.StringFieldUpdateOperationsInput | string;
1635
+ images?: Prisma.ProductImageUpdateManyWithoutProductNestedInput;
1636
+ variants?: Prisma.ProductVariantUpdateManyWithoutProductNestedInput;
1637
+ options?: Prisma.ProductOptionUpdateManyWithoutProductNestedInput;
1638
+ attributes?: Prisma.ProductAttributeUpdateManyWithoutProductNestedInput;
1639
+ tags?: Prisma.ProductTagUpdateManyWithoutProductNestedInput;
1640
+ cartItems?: Prisma.CartItemUpdateManyWithoutProductNestedInput;
1641
+ };
1642
+ export type ProductUncheckedUpdateWithoutCategoriesInput = {
1643
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
1644
+ sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1645
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
1646
+ nameAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1647
+ slug?: Prisma.StringFieldUpdateOperationsInput | string;
1648
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1649
+ descriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1650
+ shortDescription?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1651
+ shortDescriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1652
+ price?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1653
+ compareAtPrice?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1654
+ currency?: Prisma.StringFieldUpdateOperationsInput | string;
1655
+ productType?: Prisma.StringFieldUpdateOperationsInput | string;
1656
+ inStock?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1657
+ inventoryQuantity?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1658
+ quantityLimit?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1659
+ vatIncluded?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1660
+ vatRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1661
+ requiresShipping?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1662
+ isDropshipped?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1663
+ status?: Prisma.StringFieldUpdateOperationsInput | string;
1664
+ createdAt?: Prisma.StringFieldUpdateOperationsInput | string;
1665
+ updatedAt?: Prisma.StringFieldUpdateOperationsInput | string;
1666
+ images?: Prisma.ProductImageUncheckedUpdateManyWithoutProductNestedInput;
1667
+ variants?: Prisma.ProductVariantUncheckedUpdateManyWithoutProductNestedInput;
1668
+ options?: Prisma.ProductOptionUncheckedUpdateManyWithoutProductNestedInput;
1669
+ attributes?: Prisma.ProductAttributeUncheckedUpdateManyWithoutProductNestedInput;
1670
+ tags?: Prisma.ProductTagUncheckedUpdateManyWithoutProductNestedInput;
1671
+ cartItems?: Prisma.CartItemUncheckedUpdateManyWithoutProductNestedInput;
1672
+ };
1673
+ export type ProductCreateWithoutTagsInput = {
1674
+ id?: string;
1675
+ sku?: string | null;
1676
+ name: string;
1677
+ nameAr?: string | null;
1678
+ slug: string;
1679
+ description?: string | null;
1680
+ descriptionAr?: string | null;
1681
+ shortDescription?: string | null;
1682
+ shortDescriptionAr?: string | null;
1683
+ price?: number | null;
1684
+ compareAtPrice?: number | null;
1685
+ currency?: string;
1686
+ productType?: string;
1687
+ inStock?: boolean;
1688
+ inventoryQuantity?: number | null;
1689
+ quantityLimit?: number | null;
1690
+ vatIncluded?: boolean;
1691
+ vatRate?: number | null;
1692
+ requiresShipping?: boolean;
1693
+ isDropshipped?: boolean;
1694
+ status?: string;
1695
+ createdAt: string;
1696
+ updatedAt: string;
1697
+ images?: Prisma.ProductImageCreateNestedManyWithoutProductInput;
1698
+ variants?: Prisma.ProductVariantCreateNestedManyWithoutProductInput;
1699
+ options?: Prisma.ProductOptionCreateNestedManyWithoutProductInput;
1700
+ attributes?: Prisma.ProductAttributeCreateNestedManyWithoutProductInput;
1701
+ categories?: Prisma.ProductCategoryCreateNestedManyWithoutProductInput;
1702
+ cartItems?: Prisma.CartItemCreateNestedManyWithoutProductInput;
1703
+ };
1704
+ export type ProductUncheckedCreateWithoutTagsInput = {
1705
+ id?: string;
1706
+ sku?: string | null;
1707
+ name: string;
1708
+ nameAr?: string | null;
1709
+ slug: string;
1710
+ description?: string | null;
1711
+ descriptionAr?: string | null;
1712
+ shortDescription?: string | null;
1713
+ shortDescriptionAr?: string | null;
1714
+ price?: number | null;
1715
+ compareAtPrice?: number | null;
1716
+ currency?: string;
1717
+ productType?: string;
1718
+ inStock?: boolean;
1719
+ inventoryQuantity?: number | null;
1720
+ quantityLimit?: number | null;
1721
+ vatIncluded?: boolean;
1722
+ vatRate?: number | null;
1723
+ requiresShipping?: boolean;
1724
+ isDropshipped?: boolean;
1725
+ status?: string;
1726
+ createdAt: string;
1727
+ updatedAt: string;
1728
+ images?: Prisma.ProductImageUncheckedCreateNestedManyWithoutProductInput;
1729
+ variants?: Prisma.ProductVariantUncheckedCreateNestedManyWithoutProductInput;
1730
+ options?: Prisma.ProductOptionUncheckedCreateNestedManyWithoutProductInput;
1731
+ attributes?: Prisma.ProductAttributeUncheckedCreateNestedManyWithoutProductInput;
1732
+ categories?: Prisma.ProductCategoryUncheckedCreateNestedManyWithoutProductInput;
1733
+ cartItems?: Prisma.CartItemUncheckedCreateNestedManyWithoutProductInput;
1734
+ };
1735
+ export type ProductCreateOrConnectWithoutTagsInput = {
1736
+ where: Prisma.ProductWhereUniqueInput;
1737
+ create: Prisma.XOR<Prisma.ProductCreateWithoutTagsInput, Prisma.ProductUncheckedCreateWithoutTagsInput>;
1738
+ };
1739
+ export type ProductUpsertWithoutTagsInput = {
1740
+ update: Prisma.XOR<Prisma.ProductUpdateWithoutTagsInput, Prisma.ProductUncheckedUpdateWithoutTagsInput>;
1741
+ create: Prisma.XOR<Prisma.ProductCreateWithoutTagsInput, Prisma.ProductUncheckedCreateWithoutTagsInput>;
1742
+ where?: Prisma.ProductWhereInput;
1743
+ };
1744
+ export type ProductUpdateToOneWithWhereWithoutTagsInput = {
1745
+ where?: Prisma.ProductWhereInput;
1746
+ data: Prisma.XOR<Prisma.ProductUpdateWithoutTagsInput, Prisma.ProductUncheckedUpdateWithoutTagsInput>;
1747
+ };
1748
+ export type ProductUpdateWithoutTagsInput = {
1749
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
1750
+ sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1751
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
1752
+ nameAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1753
+ slug?: Prisma.StringFieldUpdateOperationsInput | string;
1754
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1755
+ descriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1756
+ shortDescription?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1757
+ shortDescriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1758
+ price?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1759
+ compareAtPrice?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1760
+ currency?: Prisma.StringFieldUpdateOperationsInput | string;
1761
+ productType?: Prisma.StringFieldUpdateOperationsInput | string;
1762
+ inStock?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1763
+ inventoryQuantity?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1764
+ quantityLimit?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1765
+ vatIncluded?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1766
+ vatRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1767
+ requiresShipping?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1768
+ isDropshipped?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1769
+ status?: Prisma.StringFieldUpdateOperationsInput | string;
1770
+ createdAt?: Prisma.StringFieldUpdateOperationsInput | string;
1771
+ updatedAt?: Prisma.StringFieldUpdateOperationsInput | string;
1772
+ images?: Prisma.ProductImageUpdateManyWithoutProductNestedInput;
1773
+ variants?: Prisma.ProductVariantUpdateManyWithoutProductNestedInput;
1774
+ options?: Prisma.ProductOptionUpdateManyWithoutProductNestedInput;
1775
+ attributes?: Prisma.ProductAttributeUpdateManyWithoutProductNestedInput;
1776
+ categories?: Prisma.ProductCategoryUpdateManyWithoutProductNestedInput;
1777
+ cartItems?: Prisma.CartItemUpdateManyWithoutProductNestedInput;
1778
+ };
1779
+ export type ProductUncheckedUpdateWithoutTagsInput = {
1780
+ id?: Prisma.StringFieldUpdateOperationsInput | string;
1781
+ sku?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1782
+ name?: Prisma.StringFieldUpdateOperationsInput | string;
1783
+ nameAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1784
+ slug?: Prisma.StringFieldUpdateOperationsInput | string;
1785
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1786
+ descriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1787
+ shortDescription?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1788
+ shortDescriptionAr?: Prisma.NullableStringFieldUpdateOperationsInput | string | null;
1789
+ price?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1790
+ compareAtPrice?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1791
+ currency?: Prisma.StringFieldUpdateOperationsInput | string;
1792
+ productType?: Prisma.StringFieldUpdateOperationsInput | string;
1793
+ inStock?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1794
+ inventoryQuantity?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1795
+ quantityLimit?: Prisma.NullableIntFieldUpdateOperationsInput | number | null;
1796
+ vatIncluded?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1797
+ vatRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null;
1798
+ requiresShipping?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1799
+ isDropshipped?: Prisma.BoolFieldUpdateOperationsInput | boolean;
1800
+ status?: Prisma.StringFieldUpdateOperationsInput | string;
1801
+ createdAt?: Prisma.StringFieldUpdateOperationsInput | string;
1802
+ updatedAt?: Prisma.StringFieldUpdateOperationsInput | string;
1803
+ images?: Prisma.ProductImageUncheckedUpdateManyWithoutProductNestedInput;
1804
+ variants?: Prisma.ProductVariantUncheckedUpdateManyWithoutProductNestedInput;
1805
+ options?: Prisma.ProductOptionUncheckedUpdateManyWithoutProductNestedInput;
1806
+ attributes?: Prisma.ProductAttributeUncheckedUpdateManyWithoutProductNestedInput;
1807
+ categories?: Prisma.ProductCategoryUncheckedUpdateManyWithoutProductNestedInput;
1808
+ cartItems?: Prisma.CartItemUncheckedUpdateManyWithoutProductNestedInput;
1809
+ };
1810
+ /**
1811
+ * Count Type ProductCountOutputType
1812
+ */
1813
+ export type ProductCountOutputType = {
1814
+ images: number;
1815
+ variants: number;
1816
+ options: number;
1817
+ attributes: number;
1818
+ categories: number;
1819
+ tags: number;
1820
+ cartItems: number;
1821
+ };
1822
+ export type ProductCountOutputTypeSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1823
+ images?: boolean | ProductCountOutputTypeCountImagesArgs;
1824
+ variants?: boolean | ProductCountOutputTypeCountVariantsArgs;
1825
+ options?: boolean | ProductCountOutputTypeCountOptionsArgs;
1826
+ attributes?: boolean | ProductCountOutputTypeCountAttributesArgs;
1827
+ categories?: boolean | ProductCountOutputTypeCountCategoriesArgs;
1828
+ tags?: boolean | ProductCountOutputTypeCountTagsArgs;
1829
+ cartItems?: boolean | ProductCountOutputTypeCountCartItemsArgs;
1830
+ };
1831
+ /**
1832
+ * ProductCountOutputType without action
1833
+ */
1834
+ export type ProductCountOutputTypeDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1835
+ /**
1836
+ * Select specific fields to fetch from the ProductCountOutputType
1837
+ */
1838
+ select?: Prisma.ProductCountOutputTypeSelect<ExtArgs> | null;
1839
+ };
1840
+ /**
1841
+ * ProductCountOutputType without action
1842
+ */
1843
+ export type ProductCountOutputTypeCountImagesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1844
+ where?: Prisma.ProductImageWhereInput;
1845
+ };
1846
+ /**
1847
+ * ProductCountOutputType without action
1848
+ */
1849
+ export type ProductCountOutputTypeCountVariantsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1850
+ where?: Prisma.ProductVariantWhereInput;
1851
+ };
1852
+ /**
1853
+ * ProductCountOutputType without action
1854
+ */
1855
+ export type ProductCountOutputTypeCountOptionsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1856
+ where?: Prisma.ProductOptionWhereInput;
1857
+ };
1858
+ /**
1859
+ * ProductCountOutputType without action
1860
+ */
1861
+ export type ProductCountOutputTypeCountAttributesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1862
+ where?: Prisma.ProductAttributeWhereInput;
1863
+ };
1864
+ /**
1865
+ * ProductCountOutputType without action
1866
+ */
1867
+ export type ProductCountOutputTypeCountCategoriesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1868
+ where?: Prisma.ProductCategoryWhereInput;
1869
+ };
1870
+ /**
1871
+ * ProductCountOutputType without action
1872
+ */
1873
+ export type ProductCountOutputTypeCountTagsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1874
+ where?: Prisma.ProductTagWhereInput;
1875
+ };
1876
+ /**
1877
+ * ProductCountOutputType without action
1878
+ */
1879
+ export type ProductCountOutputTypeCountCartItemsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1880
+ where?: Prisma.CartItemWhereInput;
1881
+ };
1882
+ export type ProductSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
1883
+ id?: boolean;
1884
+ sku?: boolean;
1885
+ name?: boolean;
1886
+ nameAr?: boolean;
1887
+ slug?: boolean;
1888
+ description?: boolean;
1889
+ descriptionAr?: boolean;
1890
+ shortDescription?: boolean;
1891
+ shortDescriptionAr?: boolean;
1892
+ price?: boolean;
1893
+ compareAtPrice?: boolean;
1894
+ currency?: boolean;
1895
+ productType?: boolean;
1896
+ inStock?: boolean;
1897
+ inventoryQuantity?: boolean;
1898
+ quantityLimit?: boolean;
1899
+ vatIncluded?: boolean;
1900
+ vatRate?: boolean;
1901
+ requiresShipping?: boolean;
1902
+ isDropshipped?: boolean;
1903
+ status?: boolean;
1904
+ createdAt?: boolean;
1905
+ updatedAt?: boolean;
1906
+ images?: boolean | Prisma.Product$imagesArgs<ExtArgs>;
1907
+ variants?: boolean | Prisma.Product$variantsArgs<ExtArgs>;
1908
+ options?: boolean | Prisma.Product$optionsArgs<ExtArgs>;
1909
+ attributes?: boolean | Prisma.Product$attributesArgs<ExtArgs>;
1910
+ categories?: boolean | Prisma.Product$categoriesArgs<ExtArgs>;
1911
+ tags?: boolean | Prisma.Product$tagsArgs<ExtArgs>;
1912
+ cartItems?: boolean | Prisma.Product$cartItemsArgs<ExtArgs>;
1913
+ _count?: boolean | Prisma.ProductCountOutputTypeDefaultArgs<ExtArgs>;
1914
+ }, ExtArgs["result"]["product"]>;
1915
+ export type ProductSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
1916
+ id?: boolean;
1917
+ sku?: boolean;
1918
+ name?: boolean;
1919
+ nameAr?: boolean;
1920
+ slug?: boolean;
1921
+ description?: boolean;
1922
+ descriptionAr?: boolean;
1923
+ shortDescription?: boolean;
1924
+ shortDescriptionAr?: boolean;
1925
+ price?: boolean;
1926
+ compareAtPrice?: boolean;
1927
+ currency?: boolean;
1928
+ productType?: boolean;
1929
+ inStock?: boolean;
1930
+ inventoryQuantity?: boolean;
1931
+ quantityLimit?: boolean;
1932
+ vatIncluded?: boolean;
1933
+ vatRate?: boolean;
1934
+ requiresShipping?: boolean;
1935
+ isDropshipped?: boolean;
1936
+ status?: boolean;
1937
+ createdAt?: boolean;
1938
+ updatedAt?: boolean;
1939
+ }, ExtArgs["result"]["product"]>;
1940
+ export type ProductSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
1941
+ id?: boolean;
1942
+ sku?: boolean;
1943
+ name?: boolean;
1944
+ nameAr?: boolean;
1945
+ slug?: boolean;
1946
+ description?: boolean;
1947
+ descriptionAr?: boolean;
1948
+ shortDescription?: boolean;
1949
+ shortDescriptionAr?: boolean;
1950
+ price?: boolean;
1951
+ compareAtPrice?: boolean;
1952
+ currency?: boolean;
1953
+ productType?: boolean;
1954
+ inStock?: boolean;
1955
+ inventoryQuantity?: boolean;
1956
+ quantityLimit?: boolean;
1957
+ vatIncluded?: boolean;
1958
+ vatRate?: boolean;
1959
+ requiresShipping?: boolean;
1960
+ isDropshipped?: boolean;
1961
+ status?: boolean;
1962
+ createdAt?: boolean;
1963
+ updatedAt?: boolean;
1964
+ }, ExtArgs["result"]["product"]>;
1965
+ export type ProductSelectScalar = {
1966
+ id?: boolean;
1967
+ sku?: boolean;
1968
+ name?: boolean;
1969
+ nameAr?: boolean;
1970
+ slug?: boolean;
1971
+ description?: boolean;
1972
+ descriptionAr?: boolean;
1973
+ shortDescription?: boolean;
1974
+ shortDescriptionAr?: boolean;
1975
+ price?: boolean;
1976
+ compareAtPrice?: boolean;
1977
+ currency?: boolean;
1978
+ productType?: boolean;
1979
+ inStock?: boolean;
1980
+ inventoryQuantity?: boolean;
1981
+ quantityLimit?: boolean;
1982
+ vatIncluded?: boolean;
1983
+ vatRate?: boolean;
1984
+ requiresShipping?: boolean;
1985
+ isDropshipped?: boolean;
1986
+ status?: boolean;
1987
+ createdAt?: boolean;
1988
+ updatedAt?: boolean;
1989
+ };
1990
+ export type ProductOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "sku" | "name" | "nameAr" | "slug" | "description" | "descriptionAr" | "shortDescription" | "shortDescriptionAr" | "price" | "compareAtPrice" | "currency" | "productType" | "inStock" | "inventoryQuantity" | "quantityLimit" | "vatIncluded" | "vatRate" | "requiresShipping" | "isDropshipped" | "status" | "createdAt" | "updatedAt", ExtArgs["result"]["product"]>;
1991
+ export type ProductInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1992
+ images?: boolean | Prisma.Product$imagesArgs<ExtArgs>;
1993
+ variants?: boolean | Prisma.Product$variantsArgs<ExtArgs>;
1994
+ options?: boolean | Prisma.Product$optionsArgs<ExtArgs>;
1995
+ attributes?: boolean | Prisma.Product$attributesArgs<ExtArgs>;
1996
+ categories?: boolean | Prisma.Product$categoriesArgs<ExtArgs>;
1997
+ tags?: boolean | Prisma.Product$tagsArgs<ExtArgs>;
1998
+ cartItems?: boolean | Prisma.Product$cartItemsArgs<ExtArgs>;
1999
+ _count?: boolean | Prisma.ProductCountOutputTypeDefaultArgs<ExtArgs>;
2000
+ };
2001
+ export type ProductIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {};
2002
+ export type ProductIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {};
2003
+ export type $ProductPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2004
+ name: "Product";
2005
+ objects: {
2006
+ images: Prisma.$ProductImagePayload<ExtArgs>[];
2007
+ variants: Prisma.$ProductVariantPayload<ExtArgs>[];
2008
+ options: Prisma.$ProductOptionPayload<ExtArgs>[];
2009
+ attributes: Prisma.$ProductAttributePayload<ExtArgs>[];
2010
+ categories: Prisma.$ProductCategoryPayload<ExtArgs>[];
2011
+ tags: Prisma.$ProductTagPayload<ExtArgs>[];
2012
+ cartItems: Prisma.$CartItemPayload<ExtArgs>[];
2013
+ };
2014
+ scalars: runtime.Types.Extensions.GetPayloadResult<{
2015
+ id: string;
2016
+ sku: string | null;
2017
+ name: string;
2018
+ nameAr: string | null;
2019
+ slug: string;
2020
+ description: string | null;
2021
+ descriptionAr: string | null;
2022
+ shortDescription: string | null;
2023
+ shortDescriptionAr: string | null;
2024
+ price: number | null;
2025
+ compareAtPrice: number | null;
2026
+ currency: string;
2027
+ productType: string;
2028
+ inStock: boolean;
2029
+ inventoryQuantity: number | null;
2030
+ quantityLimit: number | null;
2031
+ vatIncluded: boolean;
2032
+ vatRate: number | null;
2033
+ requiresShipping: boolean;
2034
+ isDropshipped: boolean;
2035
+ status: string;
2036
+ createdAt: string;
2037
+ updatedAt: string;
2038
+ }, ExtArgs["result"]["product"]>;
2039
+ composites: {};
2040
+ };
2041
+ export type ProductGetPayload<S extends boolean | null | undefined | ProductDefaultArgs> = runtime.Types.Result.GetResult<Prisma.$ProductPayload, S>;
2042
+ export type ProductCountArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = Omit<ProductFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
2043
+ select?: ProductCountAggregateInputType | true;
2044
+ };
2045
+ export interface ProductDelegate<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> {
2046
+ [K: symbol]: {
2047
+ types: Prisma.TypeMap<ExtArgs>['model']['Product'];
2048
+ meta: {
2049
+ name: 'Product';
2050
+ };
2051
+ };
2052
+ /**
2053
+ * Find zero or one Product that matches the filter.
2054
+ * @param {ProductFindUniqueArgs} args - Arguments to find a Product
2055
+ * @example
2056
+ * // Get one Product
2057
+ * const product = await prisma.product.findUnique({
2058
+ * where: {
2059
+ * // ... provide filter here
2060
+ * }
2061
+ * })
2062
+ */
2063
+ findUnique<T extends ProductFindUniqueArgs>(args: Prisma.SelectSubset<T, ProductFindUniqueArgs<ExtArgs>>): Prisma.Prisma__ProductClient<runtime.Types.Result.GetResult<Prisma.$ProductPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
2064
+ /**
2065
+ * Find one Product that matches the filter or throw an error with `error.code='P2025'`
2066
+ * if no matches were found.
2067
+ * @param {ProductFindUniqueOrThrowArgs} args - Arguments to find a Product
2068
+ * @example
2069
+ * // Get one Product
2070
+ * const product = await prisma.product.findUniqueOrThrow({
2071
+ * where: {
2072
+ * // ... provide filter here
2073
+ * }
2074
+ * })
2075
+ */
2076
+ findUniqueOrThrow<T extends ProductFindUniqueOrThrowArgs>(args: Prisma.SelectSubset<T, ProductFindUniqueOrThrowArgs<ExtArgs>>): Prisma.Prisma__ProductClient<runtime.Types.Result.GetResult<Prisma.$ProductPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
2077
+ /**
2078
+ * Find the first Product that matches the filter.
2079
+ * Note, that providing `undefined` is treated as the value not being there.
2080
+ * Read more here: https://pris.ly/d/null-undefined
2081
+ * @param {ProductFindFirstArgs} args - Arguments to find a Product
2082
+ * @example
2083
+ * // Get one Product
2084
+ * const product = await prisma.product.findFirst({
2085
+ * where: {
2086
+ * // ... provide filter here
2087
+ * }
2088
+ * })
2089
+ */
2090
+ findFirst<T extends ProductFindFirstArgs>(args?: Prisma.SelectSubset<T, ProductFindFirstArgs<ExtArgs>>): Prisma.Prisma__ProductClient<runtime.Types.Result.GetResult<Prisma.$ProductPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>;
2091
+ /**
2092
+ * Find the first Product that matches the filter or
2093
+ * throw `PrismaKnownClientError` with `P2025` code if no matches were found.
2094
+ * Note, that providing `undefined` is treated as the value not being there.
2095
+ * Read more here: https://pris.ly/d/null-undefined
2096
+ * @param {ProductFindFirstOrThrowArgs} args - Arguments to find a Product
2097
+ * @example
2098
+ * // Get one Product
2099
+ * const product = await prisma.product.findFirstOrThrow({
2100
+ * where: {
2101
+ * // ... provide filter here
2102
+ * }
2103
+ * })
2104
+ */
2105
+ findFirstOrThrow<T extends ProductFindFirstOrThrowArgs>(args?: Prisma.SelectSubset<T, ProductFindFirstOrThrowArgs<ExtArgs>>): Prisma.Prisma__ProductClient<runtime.Types.Result.GetResult<Prisma.$ProductPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
2106
+ /**
2107
+ * Find zero or more Products that matches the filter.
2108
+ * Note, that providing `undefined` is treated as the value not being there.
2109
+ * Read more here: https://pris.ly/d/null-undefined
2110
+ * @param {ProductFindManyArgs} args - Arguments to filter and select certain fields only.
2111
+ * @example
2112
+ * // Get all Products
2113
+ * const products = await prisma.product.findMany()
2114
+ *
2115
+ * // Get first 10 Products
2116
+ * const products = await prisma.product.findMany({ take: 10 })
2117
+ *
2118
+ * // Only select the `id`
2119
+ * const productWithIdOnly = await prisma.product.findMany({ select: { id: true } })
2120
+ *
2121
+ */
2122
+ findMany<T extends ProductFindManyArgs>(args?: Prisma.SelectSubset<T, ProductFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ProductPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>;
2123
+ /**
2124
+ * Create a Product.
2125
+ * @param {ProductCreateArgs} args - Arguments to create a Product.
2126
+ * @example
2127
+ * // Create one Product
2128
+ * const Product = await prisma.product.create({
2129
+ * data: {
2130
+ * // ... data to create a Product
2131
+ * }
2132
+ * })
2133
+ *
2134
+ */
2135
+ create<T extends ProductCreateArgs>(args: Prisma.SelectSubset<T, ProductCreateArgs<ExtArgs>>): Prisma.Prisma__ProductClient<runtime.Types.Result.GetResult<Prisma.$ProductPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
2136
+ /**
2137
+ * Create many Products.
2138
+ * @param {ProductCreateManyArgs} args - Arguments to create many Products.
2139
+ * @example
2140
+ * // Create many Products
2141
+ * const product = await prisma.product.createMany({
2142
+ * data: [
2143
+ * // ... provide data here
2144
+ * ]
2145
+ * })
2146
+ *
2147
+ */
2148
+ createMany<T extends ProductCreateManyArgs>(args?: Prisma.SelectSubset<T, ProductCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
2149
+ /**
2150
+ * Create many Products and returns the data saved in the database.
2151
+ * @param {ProductCreateManyAndReturnArgs} args - Arguments to create many Products.
2152
+ * @example
2153
+ * // Create many Products
2154
+ * const product = await prisma.product.createManyAndReturn({
2155
+ * data: [
2156
+ * // ... provide data here
2157
+ * ]
2158
+ * })
2159
+ *
2160
+ * // Create many Products and only return the `id`
2161
+ * const productWithIdOnly = await prisma.product.createManyAndReturn({
2162
+ * select: { id: true },
2163
+ * data: [
2164
+ * // ... provide data here
2165
+ * ]
2166
+ * })
2167
+ * Note, that providing `undefined` is treated as the value not being there.
2168
+ * Read more here: https://pris.ly/d/null-undefined
2169
+ *
2170
+ */
2171
+ createManyAndReturn<T extends ProductCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, ProductCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ProductPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>;
2172
+ /**
2173
+ * Delete a Product.
2174
+ * @param {ProductDeleteArgs} args - Arguments to delete one Product.
2175
+ * @example
2176
+ * // Delete one Product
2177
+ * const Product = await prisma.product.delete({
2178
+ * where: {
2179
+ * // ... filter to delete one Product
2180
+ * }
2181
+ * })
2182
+ *
2183
+ */
2184
+ delete<T extends ProductDeleteArgs>(args: Prisma.SelectSubset<T, ProductDeleteArgs<ExtArgs>>): Prisma.Prisma__ProductClient<runtime.Types.Result.GetResult<Prisma.$ProductPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
2185
+ /**
2186
+ * Update one Product.
2187
+ * @param {ProductUpdateArgs} args - Arguments to update one Product.
2188
+ * @example
2189
+ * // Update one Product
2190
+ * const product = await prisma.product.update({
2191
+ * where: {
2192
+ * // ... provide filter here
2193
+ * },
2194
+ * data: {
2195
+ * // ... provide data here
2196
+ * }
2197
+ * })
2198
+ *
2199
+ */
2200
+ update<T extends ProductUpdateArgs>(args: Prisma.SelectSubset<T, ProductUpdateArgs<ExtArgs>>): Prisma.Prisma__ProductClient<runtime.Types.Result.GetResult<Prisma.$ProductPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
2201
+ /**
2202
+ * Delete zero or more Products.
2203
+ * @param {ProductDeleteManyArgs} args - Arguments to filter Products to delete.
2204
+ * @example
2205
+ * // Delete a few Products
2206
+ * const { count } = await prisma.product.deleteMany({
2207
+ * where: {
2208
+ * // ... provide filter here
2209
+ * }
2210
+ * })
2211
+ *
2212
+ */
2213
+ deleteMany<T extends ProductDeleteManyArgs>(args?: Prisma.SelectSubset<T, ProductDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
2214
+ /**
2215
+ * Update zero or more Products.
2216
+ * Note, that providing `undefined` is treated as the value not being there.
2217
+ * Read more here: https://pris.ly/d/null-undefined
2218
+ * @param {ProductUpdateManyArgs} args - Arguments to update one or more rows.
2219
+ * @example
2220
+ * // Update many Products
2221
+ * const product = await prisma.product.updateMany({
2222
+ * where: {
2223
+ * // ... provide filter here
2224
+ * },
2225
+ * data: {
2226
+ * // ... provide data here
2227
+ * }
2228
+ * })
2229
+ *
2230
+ */
2231
+ updateMany<T extends ProductUpdateManyArgs>(args: Prisma.SelectSubset<T, ProductUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>;
2232
+ /**
2233
+ * Update zero or more Products and returns the data updated in the database.
2234
+ * @param {ProductUpdateManyAndReturnArgs} args - Arguments to update many Products.
2235
+ * @example
2236
+ * // Update many Products
2237
+ * const product = await prisma.product.updateManyAndReturn({
2238
+ * where: {
2239
+ * // ... provide filter here
2240
+ * },
2241
+ * data: [
2242
+ * // ... provide data here
2243
+ * ]
2244
+ * })
2245
+ *
2246
+ * // Update zero or more Products and only return the `id`
2247
+ * const productWithIdOnly = await prisma.product.updateManyAndReturn({
2248
+ * select: { id: true },
2249
+ * where: {
2250
+ * // ... provide filter here
2251
+ * },
2252
+ * data: [
2253
+ * // ... provide data here
2254
+ * ]
2255
+ * })
2256
+ * Note, that providing `undefined` is treated as the value not being there.
2257
+ * Read more here: https://pris.ly/d/null-undefined
2258
+ *
2259
+ */
2260
+ updateManyAndReturn<T extends ProductUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, ProductUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ProductPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>;
2261
+ /**
2262
+ * Create or update one Product.
2263
+ * @param {ProductUpsertArgs} args - Arguments to update or create a Product.
2264
+ * @example
2265
+ * // Update or create a Product
2266
+ * const product = await prisma.product.upsert({
2267
+ * create: {
2268
+ * // ... data to create a Product
2269
+ * },
2270
+ * update: {
2271
+ * // ... in case it already exists, update
2272
+ * },
2273
+ * where: {
2274
+ * // ... the filter for the Product we want to update
2275
+ * }
2276
+ * })
2277
+ */
2278
+ upsert<T extends ProductUpsertArgs>(args: Prisma.SelectSubset<T, ProductUpsertArgs<ExtArgs>>): Prisma.Prisma__ProductClient<runtime.Types.Result.GetResult<Prisma.$ProductPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>;
2279
+ /**
2280
+ * Count the number of Products.
2281
+ * Note, that providing `undefined` is treated as the value not being there.
2282
+ * Read more here: https://pris.ly/d/null-undefined
2283
+ * @param {ProductCountArgs} args - Arguments to filter Products to count.
2284
+ * @example
2285
+ * // Count the number of Products
2286
+ * const count = await prisma.product.count({
2287
+ * where: {
2288
+ * // ... the filter for the Products we want to count
2289
+ * }
2290
+ * })
2291
+ **/
2292
+ count<T extends ProductCountArgs>(args?: Prisma.Subset<T, ProductCountArgs>): Prisma.PrismaPromise<T extends runtime.Types.Utils.Record<'select', any> ? T['select'] extends true ? number : Prisma.GetScalarType<T['select'], ProductCountAggregateOutputType> : number>;
2293
+ /**
2294
+ * Allows you to perform aggregations operations on a Product.
2295
+ * Note, that providing `undefined` is treated as the value not being there.
2296
+ * Read more here: https://pris.ly/d/null-undefined
2297
+ * @param {ProductAggregateArgs} args - Select which aggregations you would like to apply and on what fields.
2298
+ * @example
2299
+ * // Ordered by age ascending
2300
+ * // Where email contains prisma.io
2301
+ * // Limited to the 10 users
2302
+ * const aggregations = await prisma.user.aggregate({
2303
+ * _avg: {
2304
+ * age: true,
2305
+ * },
2306
+ * where: {
2307
+ * email: {
2308
+ * contains: "prisma.io",
2309
+ * },
2310
+ * },
2311
+ * orderBy: {
2312
+ * age: "asc",
2313
+ * },
2314
+ * take: 10,
2315
+ * })
2316
+ **/
2317
+ aggregate<T extends ProductAggregateArgs>(args: Prisma.Subset<T, ProductAggregateArgs>): Prisma.PrismaPromise<GetProductAggregateType<T>>;
2318
+ /**
2319
+ * Group by Product.
2320
+ * Note, that providing `undefined` is treated as the value not being there.
2321
+ * Read more here: https://pris.ly/d/null-undefined
2322
+ * @param {ProductGroupByArgs} args - Group by arguments.
2323
+ * @example
2324
+ * // Group by city, order by createdAt, get count
2325
+ * const result = await prisma.user.groupBy({
2326
+ * by: ['city', 'createdAt'],
2327
+ * orderBy: {
2328
+ * createdAt: true
2329
+ * },
2330
+ * _count: {
2331
+ * _all: true
2332
+ * },
2333
+ * })
2334
+ *
2335
+ **/
2336
+ groupBy<T extends ProductGroupByArgs, HasSelectOrTake extends Prisma.Or<Prisma.Extends<'skip', Prisma.Keys<T>>, Prisma.Extends<'take', Prisma.Keys<T>>>, OrderByArg extends Prisma.True extends HasSelectOrTake ? {
2337
+ orderBy: ProductGroupByArgs['orderBy'];
2338
+ } : {
2339
+ orderBy?: ProductGroupByArgs['orderBy'];
2340
+ }, OrderFields extends Prisma.ExcludeUnderscoreKeys<Prisma.Keys<Prisma.MaybeTupleToUnion<T['orderBy']>>>, ByFields extends Prisma.MaybeTupleToUnion<T['by']>, ByValid extends Prisma.Has<ByFields, OrderFields>, HavingFields extends Prisma.GetHavingFields<T['having']>, HavingValid extends Prisma.Has<ByFields, HavingFields>, ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False, InputErrors extends ByEmpty extends Prisma.True ? `Error: "by" must not be empty.` : HavingValid extends Prisma.False ? {
2341
+ [P in HavingFields]: P extends ByFields ? never : P extends string ? `Error: Field "${P}" used in "having" needs to be provided in "by".` : [
2342
+ Error,
2343
+ 'Field ',
2344
+ P,
2345
+ ` in "having" needs to be provided in "by"`
2346
+ ];
2347
+ }[HavingFields] : 'take' extends Prisma.Keys<T> ? 'orderBy' extends Prisma.Keys<T> ? ByValid extends Prisma.True ? {} : {
2348
+ [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`;
2349
+ }[OrderFields] : 'Error: If you provide "take", you also need to provide "orderBy"' : 'skip' extends Prisma.Keys<T> ? 'orderBy' extends Prisma.Keys<T> ? ByValid extends Prisma.True ? {} : {
2350
+ [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`;
2351
+ }[OrderFields] : 'Error: If you provide "skip", you also need to provide "orderBy"' : ByValid extends Prisma.True ? {} : {
2352
+ [P in OrderFields]: P extends ByFields ? never : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`;
2353
+ }[OrderFields]>(args: Prisma.SubsetIntersection<T, ProductGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetProductGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>;
2354
+ /**
2355
+ * Fields of the Product model
2356
+ */
2357
+ readonly fields: ProductFieldRefs;
2358
+ }
2359
+ /**
2360
+ * The delegate class that acts as a "Promise-like" for Product.
2361
+ * Why is this prefixed with `Prisma__`?
2362
+ * Because we want to prevent naming conflicts as mentioned in
2363
+ * https://github.com/prisma/prisma-client-js/issues/707
2364
+ */
2365
+ export interface Prisma__ProductClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
2366
+ readonly [Symbol.toStringTag]: "PrismaPromise";
2367
+ images<T extends Prisma.Product$imagesArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Product$imagesArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ProductImagePayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
2368
+ variants<T extends Prisma.Product$variantsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Product$variantsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ProductVariantPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
2369
+ options<T extends Prisma.Product$optionsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Product$optionsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ProductOptionPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
2370
+ attributes<T extends Prisma.Product$attributesArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Product$attributesArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ProductAttributePayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
2371
+ categories<T extends Prisma.Product$categoriesArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Product$categoriesArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ProductCategoryPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
2372
+ tags<T extends Prisma.Product$tagsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Product$tagsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ProductTagPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
2373
+ cartItems<T extends Prisma.Product$cartItemsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Product$cartItemsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$CartItemPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>;
2374
+ /**
2375
+ * Attaches callbacks for the resolution and/or rejection of the Promise.
2376
+ * @param onfulfilled The callback to execute when the Promise is resolved.
2377
+ * @param onrejected The callback to execute when the Promise is rejected.
2378
+ * @returns A Promise for the completion of which ever callback is executed.
2379
+ */
2380
+ then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): runtime.Types.Utils.JsPromise<TResult1 | TResult2>;
2381
+ /**
2382
+ * Attaches a callback for only the rejection of the Promise.
2383
+ * @param onrejected The callback to execute when the Promise is rejected.
2384
+ * @returns A Promise for the completion of the callback.
2385
+ */
2386
+ catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): runtime.Types.Utils.JsPromise<T | TResult>;
2387
+ /**
2388
+ * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The
2389
+ * resolved value cannot be modified from the callback.
2390
+ * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).
2391
+ * @returns A Promise for the completion of the callback.
2392
+ */
2393
+ finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise<T>;
2394
+ }
2395
+ /**
2396
+ * Fields of the Product model
2397
+ */
2398
+ export interface ProductFieldRefs {
2399
+ readonly id: Prisma.FieldRef<"Product", 'String'>;
2400
+ readonly sku: Prisma.FieldRef<"Product", 'String'>;
2401
+ readonly name: Prisma.FieldRef<"Product", 'String'>;
2402
+ readonly nameAr: Prisma.FieldRef<"Product", 'String'>;
2403
+ readonly slug: Prisma.FieldRef<"Product", 'String'>;
2404
+ readonly description: Prisma.FieldRef<"Product", 'String'>;
2405
+ readonly descriptionAr: Prisma.FieldRef<"Product", 'String'>;
2406
+ readonly shortDescription: Prisma.FieldRef<"Product", 'String'>;
2407
+ readonly shortDescriptionAr: Prisma.FieldRef<"Product", 'String'>;
2408
+ readonly price: Prisma.FieldRef<"Product", 'Float'>;
2409
+ readonly compareAtPrice: Prisma.FieldRef<"Product", 'Float'>;
2410
+ readonly currency: Prisma.FieldRef<"Product", 'String'>;
2411
+ readonly productType: Prisma.FieldRef<"Product", 'String'>;
2412
+ readonly inStock: Prisma.FieldRef<"Product", 'Boolean'>;
2413
+ readonly inventoryQuantity: Prisma.FieldRef<"Product", 'Int'>;
2414
+ readonly quantityLimit: Prisma.FieldRef<"Product", 'Int'>;
2415
+ readonly vatIncluded: Prisma.FieldRef<"Product", 'Boolean'>;
2416
+ readonly vatRate: Prisma.FieldRef<"Product", 'Float'>;
2417
+ readonly requiresShipping: Prisma.FieldRef<"Product", 'Boolean'>;
2418
+ readonly isDropshipped: Prisma.FieldRef<"Product", 'Boolean'>;
2419
+ readonly status: Prisma.FieldRef<"Product", 'String'>;
2420
+ readonly createdAt: Prisma.FieldRef<"Product", 'String'>;
2421
+ readonly updatedAt: Prisma.FieldRef<"Product", 'String'>;
2422
+ }
2423
+ /**
2424
+ * Product findUnique
2425
+ */
2426
+ export type ProductFindUniqueArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2427
+ /**
2428
+ * Select specific fields to fetch from the Product
2429
+ */
2430
+ select?: Prisma.ProductSelect<ExtArgs> | null;
2431
+ /**
2432
+ * Omit specific fields from the Product
2433
+ */
2434
+ omit?: Prisma.ProductOmit<ExtArgs> | null;
2435
+ /**
2436
+ * Choose, which related nodes to fetch as well
2437
+ */
2438
+ include?: Prisma.ProductInclude<ExtArgs> | null;
2439
+ /**
2440
+ * Filter, which Product to fetch.
2441
+ */
2442
+ where: Prisma.ProductWhereUniqueInput;
2443
+ };
2444
+ /**
2445
+ * Product findUniqueOrThrow
2446
+ */
2447
+ export type ProductFindUniqueOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2448
+ /**
2449
+ * Select specific fields to fetch from the Product
2450
+ */
2451
+ select?: Prisma.ProductSelect<ExtArgs> | null;
2452
+ /**
2453
+ * Omit specific fields from the Product
2454
+ */
2455
+ omit?: Prisma.ProductOmit<ExtArgs> | null;
2456
+ /**
2457
+ * Choose, which related nodes to fetch as well
2458
+ */
2459
+ include?: Prisma.ProductInclude<ExtArgs> | null;
2460
+ /**
2461
+ * Filter, which Product to fetch.
2462
+ */
2463
+ where: Prisma.ProductWhereUniqueInput;
2464
+ };
2465
+ /**
2466
+ * Product findFirst
2467
+ */
2468
+ export type ProductFindFirstArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2469
+ /**
2470
+ * Select specific fields to fetch from the Product
2471
+ */
2472
+ select?: Prisma.ProductSelect<ExtArgs> | null;
2473
+ /**
2474
+ * Omit specific fields from the Product
2475
+ */
2476
+ omit?: Prisma.ProductOmit<ExtArgs> | null;
2477
+ /**
2478
+ * Choose, which related nodes to fetch as well
2479
+ */
2480
+ include?: Prisma.ProductInclude<ExtArgs> | null;
2481
+ /**
2482
+ * Filter, which Product to fetch.
2483
+ */
2484
+ where?: Prisma.ProductWhereInput;
2485
+ /**
2486
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
2487
+ *
2488
+ * Determine the order of Products to fetch.
2489
+ */
2490
+ orderBy?: Prisma.ProductOrderByWithRelationInput | Prisma.ProductOrderByWithRelationInput[];
2491
+ /**
2492
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
2493
+ *
2494
+ * Sets the position for searching for Products.
2495
+ */
2496
+ cursor?: Prisma.ProductWhereUniqueInput;
2497
+ /**
2498
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
2499
+ *
2500
+ * Take `±n` Products from the position of the cursor.
2501
+ */
2502
+ take?: number;
2503
+ /**
2504
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
2505
+ *
2506
+ * Skip the first `n` Products.
2507
+ */
2508
+ skip?: number;
2509
+ /**
2510
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
2511
+ *
2512
+ * Filter by unique combinations of Products.
2513
+ */
2514
+ distinct?: Prisma.ProductScalarFieldEnum | Prisma.ProductScalarFieldEnum[];
2515
+ };
2516
+ /**
2517
+ * Product findFirstOrThrow
2518
+ */
2519
+ export type ProductFindFirstOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2520
+ /**
2521
+ * Select specific fields to fetch from the Product
2522
+ */
2523
+ select?: Prisma.ProductSelect<ExtArgs> | null;
2524
+ /**
2525
+ * Omit specific fields from the Product
2526
+ */
2527
+ omit?: Prisma.ProductOmit<ExtArgs> | null;
2528
+ /**
2529
+ * Choose, which related nodes to fetch as well
2530
+ */
2531
+ include?: Prisma.ProductInclude<ExtArgs> | null;
2532
+ /**
2533
+ * Filter, which Product to fetch.
2534
+ */
2535
+ where?: Prisma.ProductWhereInput;
2536
+ /**
2537
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
2538
+ *
2539
+ * Determine the order of Products to fetch.
2540
+ */
2541
+ orderBy?: Prisma.ProductOrderByWithRelationInput | Prisma.ProductOrderByWithRelationInput[];
2542
+ /**
2543
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
2544
+ *
2545
+ * Sets the position for searching for Products.
2546
+ */
2547
+ cursor?: Prisma.ProductWhereUniqueInput;
2548
+ /**
2549
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
2550
+ *
2551
+ * Take `±n` Products from the position of the cursor.
2552
+ */
2553
+ take?: number;
2554
+ /**
2555
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
2556
+ *
2557
+ * Skip the first `n` Products.
2558
+ */
2559
+ skip?: number;
2560
+ /**
2561
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
2562
+ *
2563
+ * Filter by unique combinations of Products.
2564
+ */
2565
+ distinct?: Prisma.ProductScalarFieldEnum | Prisma.ProductScalarFieldEnum[];
2566
+ };
2567
+ /**
2568
+ * Product findMany
2569
+ */
2570
+ export type ProductFindManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2571
+ /**
2572
+ * Select specific fields to fetch from the Product
2573
+ */
2574
+ select?: Prisma.ProductSelect<ExtArgs> | null;
2575
+ /**
2576
+ * Omit specific fields from the Product
2577
+ */
2578
+ omit?: Prisma.ProductOmit<ExtArgs> | null;
2579
+ /**
2580
+ * Choose, which related nodes to fetch as well
2581
+ */
2582
+ include?: Prisma.ProductInclude<ExtArgs> | null;
2583
+ /**
2584
+ * Filter, which Products to fetch.
2585
+ */
2586
+ where?: Prisma.ProductWhereInput;
2587
+ /**
2588
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
2589
+ *
2590
+ * Determine the order of Products to fetch.
2591
+ */
2592
+ orderBy?: Prisma.ProductOrderByWithRelationInput | Prisma.ProductOrderByWithRelationInput[];
2593
+ /**
2594
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
2595
+ *
2596
+ * Sets the position for listing Products.
2597
+ */
2598
+ cursor?: Prisma.ProductWhereUniqueInput;
2599
+ /**
2600
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
2601
+ *
2602
+ * Take `±n` Products from the position of the cursor.
2603
+ */
2604
+ take?: number;
2605
+ /**
2606
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
2607
+ *
2608
+ * Skip the first `n` Products.
2609
+ */
2610
+ skip?: number;
2611
+ distinct?: Prisma.ProductScalarFieldEnum | Prisma.ProductScalarFieldEnum[];
2612
+ };
2613
+ /**
2614
+ * Product create
2615
+ */
2616
+ export type ProductCreateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2617
+ /**
2618
+ * Select specific fields to fetch from the Product
2619
+ */
2620
+ select?: Prisma.ProductSelect<ExtArgs> | null;
2621
+ /**
2622
+ * Omit specific fields from the Product
2623
+ */
2624
+ omit?: Prisma.ProductOmit<ExtArgs> | null;
2625
+ /**
2626
+ * Choose, which related nodes to fetch as well
2627
+ */
2628
+ include?: Prisma.ProductInclude<ExtArgs> | null;
2629
+ /**
2630
+ * The data needed to create a Product.
2631
+ */
2632
+ data: Prisma.XOR<Prisma.ProductCreateInput, Prisma.ProductUncheckedCreateInput>;
2633
+ };
2634
+ /**
2635
+ * Product createMany
2636
+ */
2637
+ export type ProductCreateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2638
+ /**
2639
+ * The data used to create many Products.
2640
+ */
2641
+ data: Prisma.ProductCreateManyInput | Prisma.ProductCreateManyInput[];
2642
+ };
2643
+ /**
2644
+ * Product createManyAndReturn
2645
+ */
2646
+ export type ProductCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2647
+ /**
2648
+ * Select specific fields to fetch from the Product
2649
+ */
2650
+ select?: Prisma.ProductSelectCreateManyAndReturn<ExtArgs> | null;
2651
+ /**
2652
+ * Omit specific fields from the Product
2653
+ */
2654
+ omit?: Prisma.ProductOmit<ExtArgs> | null;
2655
+ /**
2656
+ * The data used to create many Products.
2657
+ */
2658
+ data: Prisma.ProductCreateManyInput | Prisma.ProductCreateManyInput[];
2659
+ };
2660
+ /**
2661
+ * Product update
2662
+ */
2663
+ export type ProductUpdateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2664
+ /**
2665
+ * Select specific fields to fetch from the Product
2666
+ */
2667
+ select?: Prisma.ProductSelect<ExtArgs> | null;
2668
+ /**
2669
+ * Omit specific fields from the Product
2670
+ */
2671
+ omit?: Prisma.ProductOmit<ExtArgs> | null;
2672
+ /**
2673
+ * Choose, which related nodes to fetch as well
2674
+ */
2675
+ include?: Prisma.ProductInclude<ExtArgs> | null;
2676
+ /**
2677
+ * The data needed to update a Product.
2678
+ */
2679
+ data: Prisma.XOR<Prisma.ProductUpdateInput, Prisma.ProductUncheckedUpdateInput>;
2680
+ /**
2681
+ * Choose, which Product to update.
2682
+ */
2683
+ where: Prisma.ProductWhereUniqueInput;
2684
+ };
2685
+ /**
2686
+ * Product updateMany
2687
+ */
2688
+ export type ProductUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2689
+ /**
2690
+ * The data used to update Products.
2691
+ */
2692
+ data: Prisma.XOR<Prisma.ProductUpdateManyMutationInput, Prisma.ProductUncheckedUpdateManyInput>;
2693
+ /**
2694
+ * Filter which Products to update
2695
+ */
2696
+ where?: Prisma.ProductWhereInput;
2697
+ /**
2698
+ * Limit how many Products to update.
2699
+ */
2700
+ limit?: number;
2701
+ };
2702
+ /**
2703
+ * Product updateManyAndReturn
2704
+ */
2705
+ export type ProductUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2706
+ /**
2707
+ * Select specific fields to fetch from the Product
2708
+ */
2709
+ select?: Prisma.ProductSelectUpdateManyAndReturn<ExtArgs> | null;
2710
+ /**
2711
+ * Omit specific fields from the Product
2712
+ */
2713
+ omit?: Prisma.ProductOmit<ExtArgs> | null;
2714
+ /**
2715
+ * The data used to update Products.
2716
+ */
2717
+ data: Prisma.XOR<Prisma.ProductUpdateManyMutationInput, Prisma.ProductUncheckedUpdateManyInput>;
2718
+ /**
2719
+ * Filter which Products to update
2720
+ */
2721
+ where?: Prisma.ProductWhereInput;
2722
+ /**
2723
+ * Limit how many Products to update.
2724
+ */
2725
+ limit?: number;
2726
+ };
2727
+ /**
2728
+ * Product upsert
2729
+ */
2730
+ export type ProductUpsertArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2731
+ /**
2732
+ * Select specific fields to fetch from the Product
2733
+ */
2734
+ select?: Prisma.ProductSelect<ExtArgs> | null;
2735
+ /**
2736
+ * Omit specific fields from the Product
2737
+ */
2738
+ omit?: Prisma.ProductOmit<ExtArgs> | null;
2739
+ /**
2740
+ * Choose, which related nodes to fetch as well
2741
+ */
2742
+ include?: Prisma.ProductInclude<ExtArgs> | null;
2743
+ /**
2744
+ * The filter to search for the Product to update in case it exists.
2745
+ */
2746
+ where: Prisma.ProductWhereUniqueInput;
2747
+ /**
2748
+ * In case the Product found by the `where` argument doesn't exist, create a new Product with this data.
2749
+ */
2750
+ create: Prisma.XOR<Prisma.ProductCreateInput, Prisma.ProductUncheckedCreateInput>;
2751
+ /**
2752
+ * In case the Product was found with the provided `where` argument, update it with this data.
2753
+ */
2754
+ update: Prisma.XOR<Prisma.ProductUpdateInput, Prisma.ProductUncheckedUpdateInput>;
2755
+ };
2756
+ /**
2757
+ * Product delete
2758
+ */
2759
+ export type ProductDeleteArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2760
+ /**
2761
+ * Select specific fields to fetch from the Product
2762
+ */
2763
+ select?: Prisma.ProductSelect<ExtArgs> | null;
2764
+ /**
2765
+ * Omit specific fields from the Product
2766
+ */
2767
+ omit?: Prisma.ProductOmit<ExtArgs> | null;
2768
+ /**
2769
+ * Choose, which related nodes to fetch as well
2770
+ */
2771
+ include?: Prisma.ProductInclude<ExtArgs> | null;
2772
+ /**
2773
+ * Filter which Product to delete.
2774
+ */
2775
+ where: Prisma.ProductWhereUniqueInput;
2776
+ };
2777
+ /**
2778
+ * Product deleteMany
2779
+ */
2780
+ export type ProductDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2781
+ /**
2782
+ * Filter which Products to delete
2783
+ */
2784
+ where?: Prisma.ProductWhereInput;
2785
+ /**
2786
+ * Limit how many Products to delete.
2787
+ */
2788
+ limit?: number;
2789
+ };
2790
+ /**
2791
+ * Product.images
2792
+ */
2793
+ export type Product$imagesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2794
+ /**
2795
+ * Select specific fields to fetch from the ProductImage
2796
+ */
2797
+ select?: Prisma.ProductImageSelect<ExtArgs> | null;
2798
+ /**
2799
+ * Omit specific fields from the ProductImage
2800
+ */
2801
+ omit?: Prisma.ProductImageOmit<ExtArgs> | null;
2802
+ /**
2803
+ * Choose, which related nodes to fetch as well
2804
+ */
2805
+ include?: Prisma.ProductImageInclude<ExtArgs> | null;
2806
+ where?: Prisma.ProductImageWhereInput;
2807
+ orderBy?: Prisma.ProductImageOrderByWithRelationInput | Prisma.ProductImageOrderByWithRelationInput[];
2808
+ cursor?: Prisma.ProductImageWhereUniqueInput;
2809
+ take?: number;
2810
+ skip?: number;
2811
+ distinct?: Prisma.ProductImageScalarFieldEnum | Prisma.ProductImageScalarFieldEnum[];
2812
+ };
2813
+ /**
2814
+ * Product.variants
2815
+ */
2816
+ export type Product$variantsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2817
+ /**
2818
+ * Select specific fields to fetch from the ProductVariant
2819
+ */
2820
+ select?: Prisma.ProductVariantSelect<ExtArgs> | null;
2821
+ /**
2822
+ * Omit specific fields from the ProductVariant
2823
+ */
2824
+ omit?: Prisma.ProductVariantOmit<ExtArgs> | null;
2825
+ /**
2826
+ * Choose, which related nodes to fetch as well
2827
+ */
2828
+ include?: Prisma.ProductVariantInclude<ExtArgs> | null;
2829
+ where?: Prisma.ProductVariantWhereInput;
2830
+ orderBy?: Prisma.ProductVariantOrderByWithRelationInput | Prisma.ProductVariantOrderByWithRelationInput[];
2831
+ cursor?: Prisma.ProductVariantWhereUniqueInput;
2832
+ take?: number;
2833
+ skip?: number;
2834
+ distinct?: Prisma.ProductVariantScalarFieldEnum | Prisma.ProductVariantScalarFieldEnum[];
2835
+ };
2836
+ /**
2837
+ * Product.options
2838
+ */
2839
+ export type Product$optionsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2840
+ /**
2841
+ * Select specific fields to fetch from the ProductOption
2842
+ */
2843
+ select?: Prisma.ProductOptionSelect<ExtArgs> | null;
2844
+ /**
2845
+ * Omit specific fields from the ProductOption
2846
+ */
2847
+ omit?: Prisma.ProductOptionOmit<ExtArgs> | null;
2848
+ /**
2849
+ * Choose, which related nodes to fetch as well
2850
+ */
2851
+ include?: Prisma.ProductOptionInclude<ExtArgs> | null;
2852
+ where?: Prisma.ProductOptionWhereInput;
2853
+ orderBy?: Prisma.ProductOptionOrderByWithRelationInput | Prisma.ProductOptionOrderByWithRelationInput[];
2854
+ cursor?: Prisma.ProductOptionWhereUniqueInput;
2855
+ take?: number;
2856
+ skip?: number;
2857
+ distinct?: Prisma.ProductOptionScalarFieldEnum | Prisma.ProductOptionScalarFieldEnum[];
2858
+ };
2859
+ /**
2860
+ * Product.attributes
2861
+ */
2862
+ export type Product$attributesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2863
+ /**
2864
+ * Select specific fields to fetch from the ProductAttribute
2865
+ */
2866
+ select?: Prisma.ProductAttributeSelect<ExtArgs> | null;
2867
+ /**
2868
+ * Omit specific fields from the ProductAttribute
2869
+ */
2870
+ omit?: Prisma.ProductAttributeOmit<ExtArgs> | null;
2871
+ /**
2872
+ * Choose, which related nodes to fetch as well
2873
+ */
2874
+ include?: Prisma.ProductAttributeInclude<ExtArgs> | null;
2875
+ where?: Prisma.ProductAttributeWhereInput;
2876
+ orderBy?: Prisma.ProductAttributeOrderByWithRelationInput | Prisma.ProductAttributeOrderByWithRelationInput[];
2877
+ cursor?: Prisma.ProductAttributeWhereUniqueInput;
2878
+ take?: number;
2879
+ skip?: number;
2880
+ distinct?: Prisma.ProductAttributeScalarFieldEnum | Prisma.ProductAttributeScalarFieldEnum[];
2881
+ };
2882
+ /**
2883
+ * Product.categories
2884
+ */
2885
+ export type Product$categoriesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2886
+ /**
2887
+ * Select specific fields to fetch from the ProductCategory
2888
+ */
2889
+ select?: Prisma.ProductCategorySelect<ExtArgs> | null;
2890
+ /**
2891
+ * Omit specific fields from the ProductCategory
2892
+ */
2893
+ omit?: Prisma.ProductCategoryOmit<ExtArgs> | null;
2894
+ /**
2895
+ * Choose, which related nodes to fetch as well
2896
+ */
2897
+ include?: Prisma.ProductCategoryInclude<ExtArgs> | null;
2898
+ where?: Prisma.ProductCategoryWhereInput;
2899
+ orderBy?: Prisma.ProductCategoryOrderByWithRelationInput | Prisma.ProductCategoryOrderByWithRelationInput[];
2900
+ cursor?: Prisma.ProductCategoryWhereUniqueInput;
2901
+ take?: number;
2902
+ skip?: number;
2903
+ distinct?: Prisma.ProductCategoryScalarFieldEnum | Prisma.ProductCategoryScalarFieldEnum[];
2904
+ };
2905
+ /**
2906
+ * Product.tags
2907
+ */
2908
+ export type Product$tagsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2909
+ /**
2910
+ * Select specific fields to fetch from the ProductTag
2911
+ */
2912
+ select?: Prisma.ProductTagSelect<ExtArgs> | null;
2913
+ /**
2914
+ * Omit specific fields from the ProductTag
2915
+ */
2916
+ omit?: Prisma.ProductTagOmit<ExtArgs> | null;
2917
+ /**
2918
+ * Choose, which related nodes to fetch as well
2919
+ */
2920
+ include?: Prisma.ProductTagInclude<ExtArgs> | null;
2921
+ where?: Prisma.ProductTagWhereInput;
2922
+ orderBy?: Prisma.ProductTagOrderByWithRelationInput | Prisma.ProductTagOrderByWithRelationInput[];
2923
+ cursor?: Prisma.ProductTagWhereUniqueInput;
2924
+ take?: number;
2925
+ skip?: number;
2926
+ distinct?: Prisma.ProductTagScalarFieldEnum | Prisma.ProductTagScalarFieldEnum[];
2927
+ };
2928
+ /**
2929
+ * Product.cartItems
2930
+ */
2931
+ export type Product$cartItemsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2932
+ /**
2933
+ * Select specific fields to fetch from the CartItem
2934
+ */
2935
+ select?: Prisma.CartItemSelect<ExtArgs> | null;
2936
+ /**
2937
+ * Omit specific fields from the CartItem
2938
+ */
2939
+ omit?: Prisma.CartItemOmit<ExtArgs> | null;
2940
+ /**
2941
+ * Choose, which related nodes to fetch as well
2942
+ */
2943
+ include?: Prisma.CartItemInclude<ExtArgs> | null;
2944
+ where?: Prisma.CartItemWhereInput;
2945
+ orderBy?: Prisma.CartItemOrderByWithRelationInput | Prisma.CartItemOrderByWithRelationInput[];
2946
+ cursor?: Prisma.CartItemWhereUniqueInput;
2947
+ take?: number;
2948
+ skip?: number;
2949
+ distinct?: Prisma.CartItemScalarFieldEnum | Prisma.CartItemScalarFieldEnum[];
2950
+ };
2951
+ /**
2952
+ * Product without action
2953
+ */
2954
+ export type ProductDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
2955
+ /**
2956
+ * Select specific fields to fetch from the Product
2957
+ */
2958
+ select?: Prisma.ProductSelect<ExtArgs> | null;
2959
+ /**
2960
+ * Omit specific fields from the Product
2961
+ */
2962
+ omit?: Prisma.ProductOmit<ExtArgs> | null;
2963
+ /**
2964
+ * Choose, which related nodes to fetch as well
2965
+ */
2966
+ include?: Prisma.ProductInclude<ExtArgs> | null;
2967
+ };
2968
+ export {};
2969
+ //# sourceMappingURL=Product.d.ts.map