@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,184 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Orders domain — order CRUD and status management
3
+ // ---------------------------------------------------------------------------
4
+ import { createOrder as dbCreateOrder, createOrderItem, createOrderHistory, findOrderById, findOrders, findOrderItems, findOrderHistory, updateOrder, } from '../database/index.js';
5
+ import { generateOrderNumber, localized, price, priceRequired, img } from './helpers.js';
6
+ export function createOrdersDomain(currency) {
7
+ /** Map DB order row + items to unified Order type */
8
+ async function mapOrder(row) {
9
+ const items = await findOrderItems(row.id);
10
+ return {
11
+ id: row.id,
12
+ orderNumber: row.orderNumber,
13
+ status: row.status,
14
+ items: items.map((i) => ({
15
+ id: i.id,
16
+ productId: i.productId,
17
+ variantId: i.variantId ?? null,
18
+ name: localized(i.name, i.nameAr),
19
+ image: i.image ? img(i.image, null) : null,
20
+ quantity: i.quantity,
21
+ price: priceRequired(i.price, currency),
22
+ totalPrice: priceRequired(i.totalPrice, currency),
23
+ fulfillmentStatus: i.fulfillmentStatus,
24
+ productType: i.productType,
25
+ digital: null,
26
+ event: null,
27
+ })),
28
+ totals: {
29
+ subtotal: priceRequired(row.subtotal, currency),
30
+ shipping: price(row.shippingCost, currency),
31
+ tax: price(row.tax, currency),
32
+ discount: price(row.discount, currency),
33
+ total: priceRequired(row.total, currency),
34
+ },
35
+ shippingAddress: row.shippingAddress ?? null,
36
+ billingAddress: row.billingAddress ?? null,
37
+ shippingMethod: row.shippingMethod
38
+ ? { id: 'default', name: localized(row.shippingMethod, null), provider: 'custom', price: priceRequired(0, currency), estimatedDays: { min: 1, max: 7 }, cashOnDelivery: false }
39
+ : null,
40
+ paymentMethod: row.paymentMethod
41
+ ? { id: 'default', type: 'card', name: localized(row.paymentMethod, null), provider: 'platform', installments: null, icon: null }
42
+ : null,
43
+ trackingNumber: row.trackingNumber ?? null,
44
+ trackingUrl: row.trackingUrl ?? null,
45
+ note: row.note ?? null,
46
+ customerId: row.customerId ?? null,
47
+ requiresShipping: Boolean(row.requiresShipping),
48
+ createdAt: row.createdAt,
49
+ updatedAt: row.updatedAt,
50
+ paymentTerms: null,
51
+ purchaseOrderNumber: null,
52
+ companyName: null,
53
+ giftCardCodesApplied: [],
54
+ giftCardAmountApplied: null,
55
+ };
56
+ }
57
+ return {
58
+ async createOrder(input) {
59
+ const id = crypto.randomUUID();
60
+ const now = new Date().toISOString();
61
+ const orderNumber = generateOrderNumber();
62
+ const subtotal = input.items.reduce((sum, item) => sum + (item.unitPrice.amount * item.quantity), 0);
63
+ await dbCreateOrder({
64
+ id,
65
+ orderNumber,
66
+ customerId: input.customerId ?? null,
67
+ status: 'pending',
68
+ subtotal,
69
+ total: subtotal,
70
+ currency,
71
+ shippingAddress: input.shippingAddress ?? null,
72
+ billingAddress: input.billingAddress ?? null,
73
+ note: input.note ?? null,
74
+ requiresShipping: true,
75
+ createdAt: now,
76
+ updatedAt: now,
77
+ });
78
+ for (const item of input.items) {
79
+ await createOrderItem({
80
+ orderId: id,
81
+ productId: item.productId,
82
+ variantId: item.variantId ?? null,
83
+ name: 'Product',
84
+ quantity: item.quantity,
85
+ price: item.unitPrice.amount,
86
+ totalPrice: item.unitPrice.amount * item.quantity,
87
+ });
88
+ }
89
+ await createOrderHistory({
90
+ orderId: id,
91
+ toStatus: 'pending',
92
+ note: 'Order created',
93
+ createdAt: now,
94
+ });
95
+ const row = await findOrderById(id);
96
+ return mapOrder(row);
97
+ },
98
+ async getOrder(orderId) {
99
+ const row = await findOrderById(orderId);
100
+ if (!row)
101
+ throw new Error(`Order not found: ${orderId}`);
102
+ return mapOrder(row);
103
+ },
104
+ async getCustomerOrders(params) {
105
+ const page = params?.page ?? 1;
106
+ const perPage = params?.perPage ?? 20;
107
+ const offset = (page - 1) * perPage;
108
+ const rows = await findOrders({ limit: perPage, offset });
109
+ const orders = await Promise.all(rows.map(mapOrder));
110
+ return {
111
+ items: orders,
112
+ total: orders.length,
113
+ page,
114
+ perPage,
115
+ hasMore: orders.length === perPage,
116
+ };
117
+ },
118
+ async getOrderStatuses() {
119
+ const statuses = ['pending', 'processing', 'shipped', 'delivered', 'cancelled', 'refunded', 'returned'];
120
+ const colors = {
121
+ pending: '#F59E0B', processing: '#3B82F6', shipped: '#8B5CF6',
122
+ delivered: '#10B981', cancelled: '#EF4444', refunded: '#6B7280', returned: '#F97316',
123
+ };
124
+ const icons = {
125
+ pending: 'clock', processing: 'refresh', shipped: 'truck',
126
+ delivered: 'check', cancelled: 'x', refunded: 'arrow-left', returned: 'rotate-ccw',
127
+ };
128
+ return statuses.map(s => ({
129
+ id: s,
130
+ name: s.charAt(0).toUpperCase() + s.slice(1),
131
+ slug: s,
132
+ type: 'original',
133
+ color: colors[s] ?? null,
134
+ icon: icons[s] ?? null,
135
+ isActive: true,
136
+ parent: null,
137
+ children: [],
138
+ }));
139
+ },
140
+ async updateOrderStatus(orderId, input) {
141
+ const order = await findOrderById(orderId);
142
+ if (!order)
143
+ throw new Error(`Order not found: ${orderId}`);
144
+ const now = new Date().toISOString();
145
+ await updateOrder(orderId, { status: input.status, updatedAt: now });
146
+ await createOrderHistory({
147
+ orderId,
148
+ fromStatus: order.status,
149
+ toStatus: input.status,
150
+ note: input.note ?? null,
151
+ createdAt: now,
152
+ });
153
+ },
154
+ async cancelOrder(orderId, note) {
155
+ return this.updateOrderStatus(orderId, { status: 'cancelled', note: note ?? 'Order cancelled' });
156
+ },
157
+ async duplicateOrder(orderId) {
158
+ const original = await this.getOrder(orderId);
159
+ return this.createOrder({
160
+ customerId: original.customerId ?? undefined,
161
+ shippingAddress: original.shippingAddress ?? {
162
+ firstName: '', lastName: '', street: '', city: '', country: '',
163
+ },
164
+ items: original.items.map(i => ({
165
+ productId: i.productId,
166
+ variantId: i.variantId ?? undefined,
167
+ quantity: i.quantity,
168
+ unitPrice: i.price,
169
+ })),
170
+ });
171
+ },
172
+ async getOrderHistory(orderId) {
173
+ const rows = await findOrderHistory(orderId);
174
+ return rows.map((row) => ({
175
+ id: row.id,
176
+ orderId: row.orderId,
177
+ action: row.toStatus,
178
+ note: row.note ?? null,
179
+ createdAt: row.createdAt,
180
+ }));
181
+ },
182
+ };
183
+ }
184
+ //# sourceMappingURL=orders.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"orders.js","sourceRoot":"","sources":["../../src/domains/orders.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { Promotion, Coupon } from '@commercejs/types';
2
+ export declare function createPromotionsDomain(): {
3
+ getActivePromotions(): Promise<Promotion[]>;
4
+ validateCoupon(code: string): Promise<Coupon | null>;
5
+ };
6
+ //# sourceMappingURL=promotions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promotions.d.ts","sourceRoot":"","sources":["../../src/domains/promotions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAoC1D,wBAAgB,sBAAsB;2BAEL,OAAO,CAAC,SAAS,EAAE,CAAC;yBAKtB,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;EAiB7D"}
@@ -0,0 +1,56 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Promotions domain — discounts and coupons
3
+ // ---------------------------------------------------------------------------
4
+ import { findActivePromotions, findCouponByCode, findPromotionById, } from '../database/index.js';
5
+ import { localized } from './helpers.js';
6
+ function mapPromotion(row) {
7
+ const conditions = row.conditionsJson ? JSON.parse(row.conditionsJson) : {
8
+ minPurchaseAmount: null,
9
+ minItemCount: null,
10
+ productIds: null,
11
+ categoryIds: null,
12
+ firstOrderOnly: false,
13
+ };
14
+ return {
15
+ id: row.id,
16
+ name: localized(row.name, row.nameAr),
17
+ description: row.description ? localized(row.description, row.descriptionAr) : null,
18
+ discountType: row.discountType,
19
+ discountValue: row.discountValue,
20
+ currency: row.currency ?? null,
21
+ maxDiscount: row.maxDiscount ? { amount: row.maxDiscount, currency: row.currency ?? 'SAR', formatted: `${row.maxDiscount} ${row.currency ?? 'SAR'}` } : null,
22
+ target: row.target,
23
+ conditions,
24
+ startsAt: row.startsAt,
25
+ endsAt: row.endsAt ?? null,
26
+ isActive: Boolean(row.isActive),
27
+ requiresCoupon: Boolean(row.requiresCoupon),
28
+ usageLimitPerCustomer: row.usageLimitPerCustomer ?? null,
29
+ usageLimitTotal: row.usageLimitTotal ?? null,
30
+ };
31
+ }
32
+ export function createPromotionsDomain() {
33
+ return {
34
+ async getActivePromotions() {
35
+ const rows = await findActivePromotions();
36
+ return rows.map(mapPromotion);
37
+ },
38
+ async validateCoupon(code) {
39
+ const couponRow = await findCouponByCode(code);
40
+ if (!couponRow)
41
+ return null;
42
+ const promoRow = await findPromotionById(couponRow.promotionId);
43
+ if (!promoRow)
44
+ return null;
45
+ return {
46
+ id: couponRow.id,
47
+ code: couponRow.code,
48
+ promotion: mapPromotion(promoRow),
49
+ isValid: Boolean(couponRow.isValid),
50
+ invalidReason: couponRow.invalidReason ?? null,
51
+ timesUsed: couponRow.timesUsed,
52
+ };
53
+ },
54
+ };
55
+ }
56
+ //# sourceMappingURL=promotions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promotions.js","sourceRoot":"","sources":["../../src/domains/promotions.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,4CAA4C;AAC5C,8EAA8E;AAG9E,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,sBAAsB,CAAA;AAC7B,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AAExC,SAAS,YAAY,CAAC,GAAQ;IAC5B,MAAM,UAAU,GAAG,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;QACvE,iBAAiB,EAAE,IAAI;QACvB,YAAY,EAAE,IAAI;QAClB,UAAU,EAAE,IAAI;QAChB,WAAW,EAAE,IAAI;QACjB,cAAc,EAAE,KAAK;KACtB,CAAA;IAED,OAAO;QACL,EAAE,EAAE,GAAG,CAAC,EAAE;QACV,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;QACrC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;QACnF,YAAY,EAAE,GAAG,CAAC,YAAmB;QACrC,aAAa,EAAE,GAAG,CAAC,aAAa;QAChC,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI;QAC9B,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,WAAW,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,KAAK,EAAE,SAAS,EAAE,GAAG,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,QAAQ,IAAI,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI;QAC5J,MAAM,EAAE,GAAG,CAAC,MAAa;QACzB,UAAU;QACV,QAAQ,EAAE,GAAG,CAAC,QAAQ;QACtB,MAAM,EAAE,GAAG,CAAC,MAAM,IAAI,IAAI;QAC1B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;QAC/B,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAC3C,qBAAqB,EAAE,GAAG,CAAC,qBAAqB,IAAI,IAAI;QACxD,eAAe,EAAE,GAAG,CAAC,eAAe,IAAI,IAAI;KAC7C,CAAA;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB;IACpC,OAAO;QACL,KAAK,CAAC,mBAAmB;YACvB,MAAM,IAAI,GAAG,MAAM,oBAAoB,EAAE,CAAA;YACzC,OAAO,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,CAAA;QAC/B,CAAC;QAED,KAAK,CAAC,cAAc,CAAC,IAAY;YAC/B,MAAM,SAAS,GAAG,MAAM,gBAAgB,CAAC,IAAI,CAAC,CAAA;YAC9C,IAAI,CAAC,SAAS;gBAAE,OAAO,IAAI,CAAA;YAE3B,MAAM,QAAQ,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;YAC/D,IAAI,CAAC,QAAQ;gBAAE,OAAO,IAAI,CAAA;YAE1B,OAAO;gBACL,EAAE,EAAE,SAAS,CAAC,EAAE;gBAChB,IAAI,EAAE,SAAS,CAAC,IAAI;gBACpB,SAAS,EAAE,YAAY,CAAC,QAAQ,CAAC;gBACjC,OAAO,EAAE,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC;gBACnC,aAAa,EAAE,SAAS,CAAC,aAAa,IAAI,IAAI;gBAC9C,SAAS,EAAE,SAAS,CAAC,SAAS;aAC/B,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,15 @@
1
+ import type { ReturnRequest, CreateReturnInput } from '@commercejs/types';
2
+ export declare function createReturnsDomain(): {
3
+ createReturn(input: CreateReturnInput): Promise<ReturnRequest>;
4
+ getReturn(returnId: string): Promise<ReturnRequest | null>;
5
+ getOrderReturns(orderId: string): Promise<ReturnRequest[]>;
6
+ getReturns(): Promise<{
7
+ items: ReturnRequest[];
8
+ total: number;
9
+ page: number;
10
+ perPage: number;
11
+ hasMore: boolean;
12
+ }>;
13
+ cancelReturn(returnId: string): Promise<ReturnRequest>;
14
+ };
15
+ //# sourceMappingURL=returns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"returns.d.ts","sourceRoot":"","sources":["../../src/domains/returns.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAyCzE,wBAAgB,mBAAmB;wBAEL,iBAAiB,GAAG,OAAO,CAAC,aAAa,CAAC;wBA4B1C,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;6BAMjC,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;kBAK5C,OAAO,CAAC;QAAE,KAAK,EAAE,aAAa,EAAE,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;2BAK1F,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;EAM/D"}
@@ -0,0 +1,83 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Returns domain — return requests and refunds
3
+ // ---------------------------------------------------------------------------
4
+ import { findReturnsByOrder, findReturnById, findReturnItemsByReturn, insertReturn, insertReturnItem, updateReturnStatus, } from '../database/index.js';
5
+ import { localized } from './helpers.js';
6
+ async function buildReturn(row) {
7
+ const items = await findReturnItemsByReturn(row.id);
8
+ return {
9
+ id: row.id,
10
+ orderId: row.orderId,
11
+ orderNumber: row.orderNumber,
12
+ status: row.status,
13
+ items: items.map((item) => ({
14
+ id: item.id,
15
+ orderItemId: item.orderItemId,
16
+ productId: item.productId,
17
+ variantId: item.variantId ?? null,
18
+ name: localized(item.name, item.nameAr),
19
+ image: item.image ? { url: item.image, alt: '' } : null,
20
+ quantity: item.quantity,
21
+ reason: item.reason,
22
+ reasonNote: item.reasonNote ?? null,
23
+ evidenceImages: [],
24
+ })),
25
+ refundAmount: row.refundAmount ? { amount: row.refundAmount, currency: row.refundCurrency ?? 'SAR', formatted: `${row.refundAmount} ${row.refundCurrency ?? 'SAR'}` } : null,
26
+ refundMethod: row.refundMethod ?? null,
27
+ returnShippingLabel: row.returnShippingLabel ?? null,
28
+ returnTrackingNumber: row.returnTrackingNumber ?? null,
29
+ merchantNote: row.merchantNote ?? null,
30
+ customerNote: row.customerNote ?? null,
31
+ createdAt: row.createdAt,
32
+ updatedAt: row.updatedAt,
33
+ };
34
+ }
35
+ export function createReturnsDomain() {
36
+ return {
37
+ async createReturn(input) {
38
+ // Look up the order to get the order number
39
+ // Simplified — use orderId as order number placeholder
40
+ const result = await insertReturn({
41
+ orderId: input.orderId,
42
+ orderNumber: input.orderId,
43
+ customerNote: null,
44
+ });
45
+ // Drizzle returns string id, Prisma returns full row
46
+ const returnId = typeof result === 'string' ? result : result.id;
47
+ // Insert return items
48
+ for (const item of input.items) {
49
+ await insertReturnItem({
50
+ returnId,
51
+ orderItemId: item.orderItemId,
52
+ productId: item.orderItemId, // simplified mapping
53
+ name: 'Return Item',
54
+ quantity: item.quantity,
55
+ reason: item.reason,
56
+ reasonNote: item.reasonNote ?? null,
57
+ });
58
+ }
59
+ const row = await findReturnById(returnId);
60
+ return buildReturn(row);
61
+ },
62
+ async getReturn(returnId) {
63
+ const row = await findReturnById(returnId);
64
+ if (!row)
65
+ return null;
66
+ return buildReturn(row);
67
+ },
68
+ async getOrderReturns(orderId) {
69
+ const rows = await findReturnsByOrder(orderId);
70
+ return Promise.all(rows.map(buildReturn));
71
+ },
72
+ async getReturns() {
73
+ // Simplified — returns empty paginated result since full listing needs all-orders scan
74
+ return { items: [], total: 0, page: 1, perPage: 25, hasMore: false };
75
+ },
76
+ async cancelReturn(returnId) {
77
+ await updateReturnStatus(returnId, 'cancelled');
78
+ const row = await findReturnById(returnId);
79
+ return buildReturn(row);
80
+ },
81
+ };
82
+ }
83
+ //# sourceMappingURL=returns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"returns.js","sourceRoot":"","sources":["../../src/domains/returns.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { Review, ReviewSummary, PaginatedResult } from '@commercejs/types';
2
+ export declare function createReviewsDomain(): {
3
+ getProductReviews(productId: string, params?: {
4
+ page?: number;
5
+ perPage?: number;
6
+ }): Promise<PaginatedResult<Review>>;
7
+ getReviewSummary(productId: string): Promise<ReviewSummary>;
8
+ submitReview(data: {
9
+ productId: string;
10
+ authorName: string;
11
+ rating: number;
12
+ title?: string;
13
+ body?: string;
14
+ }): Promise<Review>;
15
+ };
16
+ //# sourceMappingURL=reviews.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviews.d.ts","sourceRoot":"","sources":["../../src/domains/reviews.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAA;AAQ/E,wBAAgB,mBAAmB;iCAEI,MAAM,WAAW;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gCA2BxF,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;uBAaxC;QACvB,SAAS,EAAE,MAAM,CAAA;QACjB,UAAU,EAAE,MAAM,CAAA;QAClB,MAAM,EAAE,MAAM,CAAA;QACd,KAAK,CAAC,EAAE,MAAM,CAAA;QACd,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,GAAG,OAAO,CAAC,MAAM,CAAC;EAgBtB"}
@@ -0,0 +1,60 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Reviews domain — product reviews and ratings
3
+ // ---------------------------------------------------------------------------
4
+ import { findReviewsByProduct, getReviewSummaryByProduct, getReviewDistribution, insertReview, } from '../database/index.js';
5
+ export function createReviewsDomain() {
6
+ return {
7
+ async getProductReviews(productId, params) {
8
+ const rows = await findReviewsByProduct(productId);
9
+ const items = rows.map((r) => ({
10
+ id: r.id,
11
+ productId: r.productId,
12
+ authorName: r.authorName,
13
+ rating: r.rating,
14
+ title: r.title ?? null,
15
+ body: r.body ?? null,
16
+ verified: Boolean(r.verified),
17
+ createdAt: r.createdAt,
18
+ }));
19
+ const page = params?.page ?? 1;
20
+ const perPage = params?.perPage ?? 25;
21
+ const start = (page - 1) * perPage;
22
+ const paged = items.slice(start, start + perPage);
23
+ return {
24
+ items: paged,
25
+ total: items.length,
26
+ page,
27
+ perPage,
28
+ hasMore: start + perPage < items.length,
29
+ };
30
+ },
31
+ async getReviewSummary(productId) {
32
+ const [summary, distribution] = await Promise.all([
33
+ getReviewSummaryByProduct(productId),
34
+ getReviewDistribution(productId),
35
+ ]);
36
+ return {
37
+ productId,
38
+ averageRating: Math.round(summary.averageRating * 10) / 10,
39
+ totalCount: summary.totalReviews,
40
+ distribution,
41
+ };
42
+ },
43
+ async submitReview(data) {
44
+ await insertReview(data);
45
+ const reviews = await findReviewsByProduct(data.productId);
46
+ const latest = reviews[0];
47
+ return {
48
+ id: latest.id,
49
+ productId: latest.productId,
50
+ authorName: latest.authorName,
51
+ rating: latest.rating,
52
+ title: latest.title ?? null,
53
+ body: latest.body ?? null,
54
+ verified: Boolean(latest.verified),
55
+ createdAt: latest.createdAt,
56
+ };
57
+ },
58
+ };
59
+ }
60
+ //# sourceMappingURL=reviews.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reviews.js","sourceRoot":"","sources":["../../src/domains/reviews.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,+CAA+C;AAC/C,8EAA8E;AAG9E,OAAO,EACL,oBAAoB,EACpB,yBAAyB,EACzB,qBAAqB,EACrB,YAAY,GACb,MAAM,sBAAsB,CAAA;AAE7B,MAAM,UAAU,mBAAmB;IACjC,OAAO;QACL,KAAK,CAAC,iBAAiB,CAAC,SAAiB,EAAE,MAA4C;YACrF,MAAM,IAAI,GAAG,MAAM,oBAAoB,CAAC,SAAS,CAAC,CAAA;YAClD,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC;gBAClC,EAAE,EAAE,CAAC,CAAC,EAAE;gBACR,SAAS,EAAE,CAAC,CAAC,SAAS;gBACtB,UAAU,EAAE,CAAC,CAAC,UAAU;gBACxB,MAAM,EAAE,CAAC,CAAC,MAAM;gBAChB,KAAK,EAAE,CAAC,CAAC,KAAK,IAAI,IAAI;gBACtB,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;gBACpB,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC;gBAC7B,SAAS,EAAE,CAAC,CAAC,SAAS;aACvB,CAAC,CAAC,CAAA;YAEH,MAAM,IAAI,GAAG,MAAM,EAAE,IAAI,IAAI,CAAC,CAAA;YAC9B,MAAM,OAAO,GAAG,MAAM,EAAE,OAAO,IAAI,EAAE,CAAA;YACrC,MAAM,KAAK,GAAG,CAAC,IAAI,GAAG,CAAC,CAAC,GAAG,OAAO,CAAA;YAClC,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,CAAA;YAEjD,OAAO;gBACL,KAAK,EAAE,KAAK;gBACZ,KAAK,EAAE,KAAK,CAAC,MAAM;gBACnB,IAAI;gBACJ,OAAO;gBACP,OAAO,EAAE,KAAK,GAAG,OAAO,GAAG,KAAK,CAAC,MAAM;aACxC,CAAA;QACH,CAAC;QAED,KAAK,CAAC,gBAAgB,CAAC,SAAiB;YACtC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;gBAChD,yBAAyB,CAAC,SAAS,CAAC;gBACpC,qBAAqB,CAAC,SAAS,CAAC;aACjC,CAAC,CAAA;YACF,OAAO;gBACL,SAAS;gBACT,aAAa,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,GAAG,EAAE,CAAC,GAAG,EAAE;gBAC1D,UAAU,EAAE,OAAO,CAAC,YAAY;gBAChC,YAAY;aACb,CAAA;QACH,CAAC;QAED,KAAK,CAAC,YAAY,CAAC,IAMlB;YACC,MAAM,YAAY,CAAC,IAAI,CAAC,CAAA;YACxB,MAAM,OAAO,GAAG,MAAM,oBAAoB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;YAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAA;YACzB,OAAO;gBACL,EAAE,EAAE,MAAM,CAAC,EAAE;gBACb,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,UAAU,EAAE,MAAM,CAAC,UAAU;gBAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI;gBAC3B,IAAI,EAAE,MAAM,CAAC,IAAI,IAAI,IAAI;gBACzB,QAAQ,EAAE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC;gBAClC,SAAS,EAAE,MAAM,CAAC,SAAS;aAC5B,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { StoreInfo } from '@commercejs/types';
2
+ export declare function createStoreDomain(): {
3
+ getStoreInfo(): Promise<StoreInfo>;
4
+ };
5
+ //# sourceMappingURL=store.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/domains/store.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAIlD,wBAAgB,iBAAiB;oBAEP,OAAO,CAAC,SAAS,CAAC;EAsC3C"}
@@ -0,0 +1,45 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Store domain — store metadata
3
+ // ---------------------------------------------------------------------------
4
+ import { findStoreInfo, createStoreInfo as dbCreateStoreInfo } from '../database/index.js';
5
+ import { localized, img } from './helpers.js';
6
+ export function createStoreDomain() {
7
+ return {
8
+ async getStoreInfo() {
9
+ let row = await findStoreInfo('default');
10
+ if (!row) {
11
+ const now = new Date().toISOString();
12
+ await dbCreateStoreInfo({
13
+ id: 'default',
14
+ name: 'My Store',
15
+ currency: 'SAR',
16
+ locale: 'en',
17
+ timezone: 'Asia/Riyadh',
18
+ createdAt: now,
19
+ updatedAt: now,
20
+ });
21
+ row = await findStoreInfo('default');
22
+ }
23
+ if (!row)
24
+ throw new Error('Failed to initialize store info');
25
+ return {
26
+ name: localized(row.name, row.nameAr),
27
+ description: row.description ? localized(row.description, row.descriptionAr) : null,
28
+ logo: row.logo ? img(row.logo, 'Store logo') : null,
29
+ currencies: (row.supportedCurrencies ?? [row.currency]).map((c) => ({
30
+ code: c,
31
+ symbol: c === 'SAR' ? 'ر.س' : c === 'AED' ? 'د.إ' : c,
32
+ isDefault: c === row.currency,
33
+ })),
34
+ locales: (row.supportedLocales ?? [row.locale]).map((l) => ({
35
+ code: l,
36
+ name: l === 'ar' ? 'العربية' : l === 'en' ? 'English' : l,
37
+ direction: l === 'ar' ? 'rtl' : 'ltr',
38
+ isDefault: l === row.locale,
39
+ })),
40
+ country: 'SA',
41
+ };
42
+ },
43
+ };
44
+ }
45
+ //# sourceMappingURL=store.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/domains/store.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,gCAAgC;AAChC,8EAA8E;AAG9E,OAAO,EAAE,aAAa,EAAE,eAAe,IAAI,iBAAiB,EAAE,MAAM,sBAAsB,CAAA;AAC1F,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,cAAc,CAAA;AAE7C,MAAM,UAAU,iBAAiB;IAC/B,OAAO;QACL,KAAK,CAAC,YAAY;YAChB,IAAI,GAAG,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,CAAA;YAExC,IAAI,CAAC,GAAG,EAAE,CAAC;gBACT,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAA;gBACpC,MAAM,iBAAiB,CAAC;oBACtB,EAAE,EAAE,SAAS;oBACb,IAAI,EAAE,UAAU;oBAChB,QAAQ,EAAE,KAAK;oBACf,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,aAAa;oBACvB,SAAS,EAAE,GAAG;oBACd,SAAS,EAAE,GAAG;iBACf,CAAC,CAAA;gBACF,GAAG,GAAG,MAAM,aAAa,CAAC,SAAS,CAAC,CAAA;YACtC,CAAC;YAED,IAAI,CAAC,GAAG;gBAAE,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;YAE5D,OAAO;gBACL,IAAI,EAAE,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC;gBACrC,WAAW,EAAE,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;gBACnF,IAAI,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI;gBACnD,UAAU,EAAE,CAAC,GAAG,CAAC,mBAAmB,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC;oBAC1E,IAAI,EAAE,CAAC;oBACP,MAAM,EAAE,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;oBACrD,SAAS,EAAE,CAAC,KAAK,GAAG,CAAC,QAAQ;iBAC9B,CAAC,CAAC;gBACH,OAAO,EAAE,CAAC,GAAG,CAAC,gBAAgB,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAS,EAAE,EAAE,CAAC,CAAC;oBAClE,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;oBACzD,SAAS,EAAE,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC,KAAc,CAAC,CAAC,CAAC,KAAc;oBACvD,SAAS,EAAE,CAAC,KAAK,GAAG,CAAC,MAAM;iBAC5B,CAAC,CAAC;gBACH,OAAO,EAAE,IAAI;aACd,CAAA;QACH,CAAC;KACF,CAAA;AACH,CAAC"}
@@ -0,0 +1,9 @@
1
+ import type { Wishlist } from '@commercejs/types';
2
+ export declare function createWishlistDomain(): {
3
+ /** Set customer context (called after login) */
4
+ setCustomerId(id: string): void;
5
+ getWishlist(customerId?: string): Promise<Wishlist>;
6
+ addToWishlist(productId: string, variantId?: string, customerId?: string): Promise<Wishlist>;
7
+ removeFromWishlist(productId: string, customerId?: string): Promise<Wishlist>;
8
+ };
9
+ //# sourceMappingURL=wishlist.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wishlist.d.ts","sourceRoot":"","sources":["../../src/domains/wishlist.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAmDjD,wBAAgB,oBAAoB;IAKhC,gDAAgD;sBAC9B,MAAM;6BAIO,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;6BAO1B,MAAM,cAAc,MAAM,eAAe,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;kCAc9D,MAAM,eAAe,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;EAQtF"}
@@ -0,0 +1,76 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Wishlist domain — customer wishlists
3
+ // ---------------------------------------------------------------------------
4
+ import { findWishlistByCustomer, createWishlist as dbCreateWishlist, findWishlistItems, insertWishlistItem, deleteWishlistItem, findWishlistItemByProduct, findProductById, } from '../database/index.js';
5
+ import { localized, discountablePrice } from './helpers.js';
6
+ async function getOrCreateWishlist(customerId) {
7
+ let wl = await findWishlistByCustomer(customerId);
8
+ if (!wl) {
9
+ wl = await dbCreateWishlist(customerId);
10
+ }
11
+ return wl;
12
+ }
13
+ async function buildWishlist(wishlistId) {
14
+ const items = await findWishlistItems(wishlistId);
15
+ const mapped = await Promise.all(items.map(async (item) => {
16
+ const product = await findProductById(item.productId);
17
+ return {
18
+ id: item.id,
19
+ product: product
20
+ ? {
21
+ id: product.id,
22
+ name: localized(product.name, product.nameAr),
23
+ slug: product.slug,
24
+ price: discountablePrice(product.price, product.compareAtPrice, product.currency),
25
+ gallery: [],
26
+ inStock: product.inStock,
27
+ }
28
+ : { id: item.productId, name: localized('Unknown', 'غير معروف'), slug: '', price: null, gallery: [], inStock: false },
29
+ variantId: item.variantId ?? null,
30
+ addedAt: item.addedAt,
31
+ };
32
+ }));
33
+ return {
34
+ id: wishlistId,
35
+ items: mapped,
36
+ itemCount: mapped.length,
37
+ };
38
+ }
39
+ export function createWishlistDomain() {
40
+ // Track customer in-session (same pattern as customers domain)
41
+ let currentCustomerId = null;
42
+ return {
43
+ /** Set customer context (called after login) */
44
+ setCustomerId(id) {
45
+ currentCustomerId = id;
46
+ },
47
+ async getWishlist(customerId) {
48
+ const cid = customerId ?? currentCustomerId;
49
+ if (!cid)
50
+ throw new Error('Customer ID required for wishlist');
51
+ const wl = await getOrCreateWishlist(cid);
52
+ return buildWishlist(wl.id);
53
+ },
54
+ async addToWishlist(productId, variantId, customerId) {
55
+ const cid = customerId ?? currentCustomerId;
56
+ if (!cid)
57
+ throw new Error('Customer ID required for wishlist');
58
+ const wl = await getOrCreateWishlist(cid);
59
+ // Avoid duplicates
60
+ const existing = await findWishlistItemByProduct(wl.id, productId);
61
+ if (!existing) {
62
+ await insertWishlistItem({ wishlistId: wl.id, productId, variantId });
63
+ }
64
+ return buildWishlist(wl.id);
65
+ },
66
+ async removeFromWishlist(productId, customerId) {
67
+ const cid = customerId ?? currentCustomerId;
68
+ if (!cid)
69
+ throw new Error('Customer ID required for wishlist');
70
+ const wl = await getOrCreateWishlist(cid);
71
+ await deleteWishlistItem(wl.id, productId);
72
+ return buildWishlist(wl.id);
73
+ },
74
+ };
75
+ }
76
+ //# sourceMappingURL=wishlist.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"wishlist.js","sourceRoot":"","sources":["../../src/domains/wishlist.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ export { createPlatformAdapter } from './adapter.js';
2
+ export type { PlatformConfig } from './types.js';
3
+ export { initDrizzle, getDrizzleDb, migrateDrizzle, initPrisma, getPrismaDb, migratePrisma } from './database/index.js';
4
+ export type { DrizzleDatabase } from './database/drizzle/client.js';
5
+ export type { PrismaDatabase } from './database/prisma/client.js';
6
+ export { seedDrizzle } from './database/drizzle/seed.js';
7
+ export { seedPrisma } from './database/prisma/seed.js';
8
+ export * as schema from './database/drizzle/schema/index.js';
9
+ //# sourceMappingURL=index.d.ts.map