@mohasinac/appkit 3.8.1 → 3.9.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 (485) hide show
  1. package/dist/_internal/client/features/live/LiveItemDetailView.js +2 -2
  2. package/dist/_internal/client/features/lottery/LotteryAdminEditView.d.ts +4 -4
  3. package/dist/_internal/client/features/lottery/LotteryAdminEditView.js +8 -8
  4. package/dist/_internal/client/features/lottery/LotteryAdminSlotView.d.ts +1 -1
  5. package/dist/_internal/client/features/lottery/LotteryAdminSlotView.js +2 -2
  6. package/dist/_internal/server/features/bundles/actions.js +2 -2
  7. package/dist/_internal/server/features/bundles/og.d.ts +1 -1
  8. package/dist/_internal/server/features/bundles/og.js +4 -5
  9. package/dist/_internal/server/features/checkout/actions.js +57 -21
  10. package/dist/_internal/server/features/checkout/stock-restore.d.ts +19 -0
  11. package/dist/_internal/server/features/checkout/stock-restore.js +80 -0
  12. package/dist/_internal/server/features/checkout/upi-resolution.d.ts +11 -0
  13. package/dist/_internal/server/features/checkout/upi-resolution.js +28 -0
  14. package/dist/_internal/server/features/classified/og.js +1 -1
  15. package/dist/_internal/server/features/digital-code/og.js +1 -1
  16. package/dist/_internal/server/features/item-requests/og.d.ts +2 -2
  17. package/dist/_internal/server/features/item-requests/og.js +4 -5
  18. package/dist/_internal/server/features/live/og.js +1 -1
  19. package/dist/_internal/server/features/lottery/adapters.d.ts +2 -2
  20. package/dist/_internal/server/features/lottery/adapters.js +1 -1
  21. package/dist/_internal/server/features/orders/actions.d.ts +28 -0
  22. package/dist/_internal/server/features/orders/actions.js +239 -4
  23. package/dist/_internal/server/features/orders/adapters.js +3 -0
  24. package/dist/_internal/server/features/payments/data.js +3 -2
  25. package/dist/_internal/server/features/payouts/actions.d.ts +2 -2
  26. package/dist/_internal/server/features/payouts/actions.js +4 -3
  27. package/dist/_internal/server/features/pre-orders/service.d.ts +1 -1
  28. package/dist/_internal/server/features/pre-orders/service.js +3 -2
  29. package/dist/_internal/server/features/prize-draws/og.js +5 -5
  30. package/dist/_internal/server/features/products/og.js +1 -1
  31. package/dist/_internal/server/features/promotions/service.js +3 -1
  32. package/dist/_internal/server/features/refunds/actions.d.ts +2 -2
  33. package/dist/_internal/server/features/refunds/actions.js +7 -6
  34. package/dist/_internal/server/functions/firestore.js +1 -1
  35. package/dist/_internal/server/functions/scheduled.d.ts +4 -1
  36. package/dist/_internal/server/functions/scheduled.js +26 -2
  37. package/dist/_internal/server/jobs/core/emiInstallmentReminder.js +1 -1
  38. package/dist/_internal/server/jobs/core/hardBanCascade.d.ts +4 -0
  39. package/dist/_internal/server/jobs/core/hardBanCascade.js +15 -4
  40. package/dist/_internal/server/jobs/core/hardBanReinstatement.d.ts +16 -0
  41. package/dist/_internal/server/jobs/core/hardBanReinstatement.js +63 -0
  42. package/dist/_internal/server/jobs/core/jobRunners.js +3 -1
  43. package/dist/_internal/server/jobs/core/onScamReportCreate.js +1 -1
  44. package/dist/_internal/server/jobs/core/paymentReviewAutoApprove.d.ts +10 -0
  45. package/dist/_internal/server/jobs/core/paymentReviewAutoApprove.js +60 -0
  46. package/dist/_internal/server/jobs/core/paymentWindowTimeout.d.ts +15 -0
  47. package/dist/_internal/server/jobs/core/paymentWindowTimeout.js +59 -0
  48. package/dist/_internal/server/jobs/core/pendingOrderTimeout.d.ts +7 -0
  49. package/dist/_internal/server/jobs/core/pendingOrderTimeout.js +32 -6
  50. package/dist/_internal/server/jobs/handlers/hardBanReinstatement.d.ts +2 -0
  51. package/dist/_internal/server/jobs/handlers/hardBanReinstatement.js +2 -0
  52. package/dist/_internal/server/jobs/handlers/index.d.ts +3 -0
  53. package/dist/_internal/server/jobs/handlers/index.js +3 -0
  54. package/dist/_internal/server/jobs/handlers/messages.d.ts +4 -0
  55. package/dist/_internal/server/jobs/handlers/messages.js +4 -0
  56. package/dist/_internal/server/jobs/handlers/onShipmentAllocationSync.d.ts +3 -3
  57. package/dist/_internal/server/jobs/handlers/onShipmentAllocationSync.js +12 -12
  58. package/dist/_internal/server/jobs/handlers/onShipmentItemWrite.d.ts +1 -1
  59. package/dist/_internal/server/jobs/handlers/onShipmentItemWrite.js +5 -5
  60. package/dist/_internal/server/jobs/handlers/paymentReviewAutoApprove.d.ts +2 -0
  61. package/dist/_internal/server/jobs/handlers/paymentReviewAutoApprove.js +2 -0
  62. package/dist/_internal/server/jobs/handlers/paymentWindowTimeout.d.ts +2 -0
  63. package/dist/_internal/server/jobs/handlers/paymentWindowTimeout.js +2 -0
  64. package/dist/_internal/shared/actions/action-registry.js +27 -0
  65. package/dist/_internal/shared/checkout/order-math.js +3 -2
  66. package/dist/_internal/shared/checkout/rules/_defaults.js +1 -0
  67. package/dist/_internal/shared/checkout/rules/preorder.rule.js +7 -0
  68. package/dist/_internal/shared/checkout/rules/prize-draw.rule.js +7 -0
  69. package/dist/_internal/shared/checkout/rules/types.d.ts +11 -0
  70. package/dist/_internal/shared/features/auctions/errors.js +1 -1
  71. package/dist/_internal/shared/features/categories/bundle-copy.d.ts +0 -1
  72. package/dist/_internal/shared/features/categories/bundle-copy.js +0 -1
  73. package/dist/_internal/shared/features/categories/bundle-schemas.d.ts +6 -6
  74. package/dist/_internal/shared/features/categories/bundle-schemas.js +2 -2
  75. package/dist/_internal/shared/features/checkout/config.d.ts +3 -3
  76. package/dist/_internal/shared/features/checkout/config.js +3 -3
  77. package/dist/_internal/shared/features/emi/schedule.d.ts +6 -6
  78. package/dist/_internal/shared/features/emi/schedule.js +10 -9
  79. package/dist/_internal/shared/features/promotions/errors.js +1 -1
  80. package/dist/_internal/shared/fees/calculator.d.ts +5 -5
  81. package/dist/_internal/shared/fees/calculator.js +19 -19
  82. package/dist/client.d.ts +1 -1
  83. package/dist/client.js +1 -1
  84. package/dist/constants/api-endpoints.d.ts +9 -0
  85. package/dist/constants/api-endpoints.js +3 -0
  86. package/dist/constants/field-names.d.ts +4 -0
  87. package/dist/constants/field-names.js +4 -0
  88. package/dist/features/admin/components/AdminArtView.js +2 -2
  89. package/dist/features/admin/components/AdminBidsView.js +2 -2
  90. package/dist/features/admin/components/AdminBundleEditorView.d.ts +1 -1
  91. package/dist/features/admin/components/AdminBundleEditorView.js +8 -8
  92. package/dist/features/admin/components/AdminBundlesView.js +6 -6
  93. package/dist/features/admin/components/AdminClassifiedView.js +2 -2
  94. package/dist/features/admin/components/AdminDigitalCodesView.js +2 -2
  95. package/dist/features/admin/components/AdminLiveView.js +2 -2
  96. package/dist/features/admin/components/AdminOrderEditorView.d.ts +6 -1
  97. package/dist/features/admin/components/AdminOrderEditorView.js +45 -5
  98. package/dist/features/admin/components/AdminOrdersView.js +8 -3
  99. package/dist/features/admin/components/AdminPayoutsView.js +2 -2
  100. package/dist/features/admin/components/AdminPrizeDrawsView.js +2 -2
  101. package/dist/features/admin/components/AdminReturnRequestsView.js +2 -2
  102. package/dist/features/admin/components/AdminSiteSettingsView.js +11 -11
  103. package/dist/features/admin/components/AdminStickersView.js +2 -2
  104. package/dist/features/admin/components/AdminSupportTicketDetailView.js +1 -1
  105. package/dist/features/admin/hooks/useAdminListingData.d.ts +1 -1
  106. package/dist/features/admin/hooks/useAdminListingData.js +3 -2
  107. package/dist/features/admin/schemas/firestore.d.ts +9 -7
  108. package/dist/features/admin/schemas/firestore.js +4 -3
  109. package/dist/features/auctions/components/AuctionBidsTable.js +3 -3
  110. package/dist/features/auth/checkout-value-otp.d.ts +46 -0
  111. package/dist/features/auth/checkout-value-otp.js +73 -0
  112. package/dist/features/auth/repository/user.repository.d.ts +6 -0
  113. package/dist/features/auth/repository/user.repository.js +19 -0
  114. package/dist/features/auth/schemas/firestore.d.ts +10 -0
  115. package/dist/features/auth/schemas/firestore.js +2 -0
  116. package/dist/features/cart/actions/cart-actions.d.ts +1 -1
  117. package/dist/features/cart/actions/cart-actions.js +4 -4
  118. package/dist/features/cart/components/CartView.d.ts +2 -2
  119. package/dist/features/cart/components/ShippingPicker.d.ts +4 -4
  120. package/dist/features/cart/components/ShippingPicker.js +11 -11
  121. package/dist/features/cart/repository/cart.repository.d.ts +1 -1
  122. package/dist/features/cart/repository/cart.repository.js +2 -2
  123. package/dist/features/cart/schemas/firestore.d.ts +2 -2
  124. package/dist/features/catalogue/components/CatalogueItemEditorView.js +3 -3
  125. package/dist/features/catalogue/components/PublicCatalogueView.js +2 -2
  126. package/dist/features/catalogue/schemas/validation.js +1 -1
  127. package/dist/features/categories/components/BundleCollage.js +2 -2
  128. package/dist/features/categories/components/BundleDetailView.js +2 -2
  129. package/dist/features/categories/components/BundleItemsPicker.d.ts +1 -1
  130. package/dist/features/categories/components/BundleItemsPicker.js +2 -2
  131. package/dist/features/categories/components/CategoryBundlesListing.js +2 -2
  132. package/dist/features/categories/schemas/firestore.d.ts +1 -1
  133. package/dist/features/categories/schemas/index.d.ts +3 -3
  134. package/dist/features/categories/schemas/index.js +2 -2
  135. package/dist/features/checkout/actions/checkout-value-otp-actions.d.ts +16 -0
  136. package/dist/features/checkout/actions/checkout-value-otp-actions.js +83 -0
  137. package/dist/features/checkout/actions/index.d.ts +1 -0
  138. package/dist/features/checkout/actions/index.js +1 -0
  139. package/dist/features/checkout/schemas/firestore.d.ts +1 -1
  140. package/dist/features/classified/components/index.d.ts +0 -4
  141. package/dist/features/classified/components/index.js +0 -2
  142. package/dist/features/digital-codes/components/index.d.ts +0 -4
  143. package/dist/features/digital-codes/components/index.js +0 -2
  144. package/dist/features/events/schemas/index.d.ts +1 -1
  145. package/dist/features/events/schemas/index.js +1 -1
  146. package/dist/features/homepage/components/FeaturedBundlesSection.js +2 -2
  147. package/dist/features/live/components/index.d.ts +0 -4
  148. package/dist/features/live/components/index.js +0 -2
  149. package/dist/features/lottery/types/index.d.ts +3 -3
  150. package/dist/features/lottery/types/index.js +5 -5
  151. package/dist/features/orders/components/OrderPaymentSummary.js +2 -2
  152. package/dist/features/orders/components/OrderSiblingPayments.js +1 -1
  153. package/dist/features/orders/components/RefundHistoryTable.js +1 -1
  154. package/dist/features/orders/components/RefundRequestView.js +1 -1
  155. package/dist/features/orders/constants/payment-window.d.ts +10 -0
  156. package/dist/features/orders/constants/payment-window.js +10 -0
  157. package/dist/features/orders/repository/orders.repository.d.ts +25 -0
  158. package/dist/features/orders/repository/orders.repository.js +50 -1
  159. package/dist/features/orders/schemas/firestore.d.ts +50 -2
  160. package/dist/features/orders/schemas/index.d.ts +24 -24
  161. package/dist/features/orders/schemas/index.js +20 -20
  162. package/dist/features/orders/types/index.d.ts +4 -0
  163. package/dist/features/orders/utils/bundle-grouping.d.ts +1 -1
  164. package/dist/features/orders/utils/bundle-grouping.js +1 -1
  165. package/dist/features/payments/schemas/index.d.ts +10 -10
  166. package/dist/features/payments/schemas/index.js +9 -9
  167. package/dist/features/pre-orders/components/PreOrderDetailPageView.js +2 -2
  168. package/dist/features/products/components/ArtStickersListView.d.ts +7 -0
  169. package/dist/features/products/components/ArtStickersListView.js +57 -0
  170. package/dist/features/products/components/GroupSettingsPanel.js +1 -1
  171. package/dist/features/products/components/MakeOfferButton.js +3 -3
  172. package/dist/features/products/components/MarketplaceBundleCard.d.ts +1 -1
  173. package/dist/features/products/components/MarketplaceBundleCard.js +2 -2
  174. package/dist/features/products/components/PrizeDrawCollage.js +2 -2
  175. package/dist/features/products/components/PrizeDrawItemsEditor.js +2 -2
  176. package/dist/features/products/components/PrizeRevealModal.js +1 -1
  177. package/dist/features/products/components/ProductDetailPageView.js +2 -9
  178. package/dist/features/products/components/ProductForm.js +2 -2
  179. package/dist/features/products/components/ProductGrid.js +2 -2
  180. package/dist/features/products/components/ProductsIndexListing.d.ts +13 -1
  181. package/dist/features/products/components/ProductsIndexListing.js +7 -5
  182. package/dist/features/products/components/ProductsIndexPageView.js +6 -1
  183. package/dist/features/products/constants/listing-tabs.d.ts +42 -17
  184. package/dist/features/products/constants/listing-tabs.js +25 -6
  185. package/dist/features/products/schemas/catalog-product.d.ts +5 -5
  186. package/dist/features/products/schemas/catalog-product.js +1 -1
  187. package/dist/features/products/schemas/firestore.d.ts +5 -5
  188. package/dist/features/products/schemas/firestore.js +2 -2
  189. package/dist/features/products/types/index.d.ts +5 -2
  190. package/dist/features/promotions/components/CouponCard.js +2 -2
  191. package/dist/features/promotions/schemas/firestore.d.ts +2 -0
  192. package/dist/features/promotions/schemas/firestore.js +1 -0
  193. package/dist/features/promotions/schemas/index.d.ts +14 -14
  194. package/dist/features/promotions/schemas/index.js +6 -6
  195. package/dist/features/scams/components/ScamProfileView.js +3 -7
  196. package/dist/features/scams/components/ScamRegistryView.js +2 -6
  197. package/dist/features/scams/schemas/firestore.d.ts +1 -1
  198. package/dist/features/search/components/Search.d.ts +1 -1
  199. package/dist/features/seller/actions/offer-actions.js +1 -1
  200. package/dist/features/seller/components/PrintCenterView.js +2 -2
  201. package/dist/features/seller/components/QuickProductForm.js +5 -5
  202. package/dist/features/seller/components/SellerArtView.js +2 -2
  203. package/dist/features/seller/components/SellerAuctionsView.js +2 -2
  204. package/dist/features/seller/components/SellerBidsView.js +2 -2
  205. package/dist/features/seller/components/SellerBundlesView.js +6 -6
  206. package/dist/features/seller/components/SellerClassifiedView.js +2 -2
  207. package/dist/features/seller/components/SellerDigitalCodesView.js +2 -2
  208. package/dist/features/seller/components/SellerLiveView.js +2 -2
  209. package/dist/features/seller/components/SellerOffersView.js +2 -2
  210. package/dist/features/seller/components/SellerOrdersView.js +3 -3
  211. package/dist/features/seller/components/SellerPayoutRequestView.js +2 -2
  212. package/dist/features/seller/components/SellerPayoutSettingsView.js +2 -2
  213. package/dist/features/seller/components/SellerPayoutsView.js +2 -2
  214. package/dist/features/seller/components/SellerPreOrdersView.js +2 -2
  215. package/dist/features/seller/components/SellerPrizeDrawsView.js +2 -2
  216. package/dist/features/seller/components/SellerProductShell.js +8 -8
  217. package/dist/features/seller/components/SellerProductsView.js +1 -1
  218. package/dist/features/seller/components/SellerShippingView.js +6 -6
  219. package/dist/features/seller/components/SellerStickersView.js +2 -2
  220. package/dist/features/seller/hooks/useSellerListingData.d.ts +1 -1
  221. package/dist/features/seller/hooks/useSellerListingData.js +3 -2
  222. package/dist/features/shipments/components/AdminShipmentEditorView.js +10 -10
  223. package/dist/features/shipments/components/AdminShipmentLotItemsView.js +4 -4
  224. package/dist/features/shipments/components/AdminShipmentProjectionsView.js +5 -5
  225. package/dist/features/shipments/components/AdminShipmentsView.js +4 -4
  226. package/dist/features/shipments/repository/shipment-lots.repository.d.ts +2 -2
  227. package/dist/features/shipments/repository/shipment-lots.repository.js +8 -8
  228. package/dist/features/shipments/schemas/firestore.d.ts +21 -21
  229. package/dist/features/shipments/schemas/firestore.js +9 -9
  230. package/dist/features/shipments/schemas/validation.d.ts +30 -30
  231. package/dist/features/shipments/schemas/validation.js +6 -6
  232. package/dist/features/shipments/utils/cost-allocation.d.ts +5 -5
  233. package/dist/features/shipments/utils/cost-allocation.js +39 -38
  234. package/dist/features/store-extensions/schemas/firestore.d.ts +5 -5
  235. package/dist/features/stores/components/StoreDetailLayoutView.js +9 -13
  236. package/dist/features/stores/schemas/firestore.d.ts +7 -7
  237. package/dist/features/stores/schemas/index.d.ts +84 -84
  238. package/dist/features/stores/schemas/index.js +5 -5
  239. package/dist/features/tester/seed-data/categories-tester-seed-data.js +1 -1
  240. package/dist/features/tester/seed-data/products-tester-seed-data.js +6 -6
  241. package/dist/features/tester/seed-data/tester-checklist-seed-data.js +9 -2
  242. package/dist/features/whatsapp-bot/helpers/whatsapp.d.ts +8 -1
  243. package/dist/features/whatsapp-bot/helpers/whatsapp.js +13 -2
  244. package/dist/features/whatsapp-bot/types/index.d.ts +9 -1
  245. package/dist/index.d.ts +4 -7
  246. package/dist/index.js +9 -5
  247. package/dist/next/routing/route-map.d.ts +2 -0
  248. package/dist/next/routing/route-map.js +6 -0
  249. package/dist/schemas/firestore-helpers.d.ts +2 -2
  250. package/dist/schemas/firestore-helpers.js +2 -2
  251. package/dist/schemas/registry.d.ts +73 -73
  252. package/dist/security/index.d.ts +2 -1
  253. package/dist/security/index.js +5 -1
  254. package/dist/security/pii-encrypt.d.ts +2 -53
  255. package/dist/security/pii-encrypt.js +19 -100
  256. package/dist/security/pii-mask.d.ts +67 -0
  257. package/dist/security/pii-mask.js +100 -0
  258. package/dist/seed/bids-seed-data.js +6 -6
  259. package/dist/seed/blog-posts-seed-data.js +1 -0
  260. package/dist/seed/cart-seed-data.js +13 -13
  261. package/dist/seed/catalogue-seed-data.js +6 -6
  262. package/dist/seed/categories-seed-data.js +5 -5
  263. package/dist/seed/claimed-coupons-seed-data.js +3 -3
  264. package/dist/seed/coupons-seed-data.js +20 -20
  265. package/dist/seed/events-seed-data.js +27 -27
  266. package/dist/seed/factories/bid.factory.js +1 -1
  267. package/dist/seed/faq-seed-data.js +20 -1
  268. package/dist/seed/grouped-listings-seed-data.d.ts +2 -2
  269. package/dist/seed/grouped-listings-seed-data.js +3 -3
  270. package/dist/seed/offers-seed-data.js +19 -19
  271. package/dist/seed/orders-seed-data.js +29 -29
  272. package/dist/seed/payouts-seed-data.js +7 -7
  273. package/dist/seed/products-auctions-seed-data.js +6 -6
  274. package/dist/seed/products-preorders-seed-data.d.ts +2 -2
  275. package/dist/seed/products-preorders-seed-data.js +1 -1
  276. package/dist/seed/products-standard-seed-data.js +8 -8
  277. package/dist/seed/scammers-seed-data.js +2 -2
  278. package/dist/seed/shipments-seed-data.js +29 -29
  279. package/dist/seed/site-settings-seed-data.js +3 -2
  280. package/dist/seed/store-extensions-seed-data.js +8 -8
  281. package/dist/seed/stores-seed-data.js +37 -8
  282. package/dist/seed/users-seed-data.js +38 -1
  283. package/dist/server-entry.d.ts +1 -3
  284. package/dist/server-entry.js +1 -3
  285. package/dist/server.d.ts +2 -1
  286. package/dist/server.js +3 -1
  287. package/dist/ui/components/PriceDisplay.js +3 -12
  288. package/dist/utils/number.formatter.d.ts +2 -7
  289. package/dist/utils/number.formatter.js +3 -8
  290. package/package.json +1 -1
  291. package/scripts/seed-cli.mjs +17 -3
  292. package/dist/_internal/client/scaffolds/DashboardScaffold.d.ts +0 -34
  293. package/dist/_internal/client/scaffolds/DashboardScaffold.js +0 -26
  294. package/dist/_internal/client/theme/__tests__/ThemeProvider.test.d.ts +0 -1
  295. package/dist/_internal/client/theme/__tests__/ThemeProvider.test.js +0 -109
  296. package/dist/_internal/server/features/auctions/__tests__/service.test.d.ts +0 -1
  297. package/dist/_internal/server/features/auctions/__tests__/service.test.js +0 -140
  298. package/dist/_internal/server/features/checkout/__tests__/actions.test.d.ts +0 -1
  299. package/dist/_internal/server/features/checkout/__tests__/actions.test.js +0 -600
  300. package/dist/_internal/server/features/refunds/__tests__/actions.test.d.ts +0 -1
  301. package/dist/_internal/server/features/refunds/__tests__/actions.test.js +0 -263
  302. package/dist/_internal/server/jobs/core/__tests__/auctionSettlement.test.d.ts +0 -1
  303. package/dist/_internal/server/jobs/core/__tests__/auctionSettlement.test.js +0 -249
  304. package/dist/_internal/server/jobs/core/__tests__/couponExpiry.test.d.ts +0 -1
  305. package/dist/_internal/server/jobs/core/__tests__/couponExpiry.test.js +0 -65
  306. package/dist/_internal/server/jobs/core/__tests__/listingProcessor.test.d.ts +0 -1
  307. package/dist/_internal/server/jobs/core/__tests__/listingProcessor.test.js +0 -163
  308. package/dist/_internal/server/jobs/core/__tests__/mediaTmpCleanup.test.d.ts +0 -1
  309. package/dist/_internal/server/jobs/core/__tests__/mediaTmpCleanup.test.js +0 -115
  310. package/dist/_internal/server/jobs/core/__tests__/onBidPlaced.test.d.ts +0 -1
  311. package/dist/_internal/server/jobs/core/__tests__/onBidPlaced.test.js +0 -201
  312. package/dist/_internal/server/jobs/core/__tests__/onOrderCreate.test.d.ts +0 -1
  313. package/dist/_internal/server/jobs/core/__tests__/onOrderCreate.test.js +0 -169
  314. package/dist/_internal/server/jobs/core/__tests__/onOrderStatusChange.test.d.ts +0 -1
  315. package/dist/_internal/server/jobs/core/__tests__/onOrderStatusChange.test.js +0 -148
  316. package/dist/_internal/server/jobs/core/__tests__/onProductStockChange.test.d.ts +0 -1
  317. package/dist/_internal/server/jobs/core/__tests__/onProductStockChange.test.js +0 -210
  318. package/dist/_internal/server/jobs/core/__tests__/onReviewWrite.test.d.ts +0 -1
  319. package/dist/_internal/server/jobs/core/__tests__/onReviewWrite.test.js +0 -190
  320. package/dist/_internal/server/jobs/core/__tests__/onUserBanChange.test.d.ts +0 -1
  321. package/dist/_internal/server/jobs/core/__tests__/onUserBanChange.test.js +0 -161
  322. package/dist/_internal/server/jobs/core/__tests__/payoutBatch.test.d.ts +0 -1
  323. package/dist/_internal/server/jobs/core/__tests__/payoutBatch.test.js +0 -302
  324. package/dist/_internal/server/jobs/core/__tests__/pendingOrderTimeout.test.d.ts +0 -1
  325. package/dist/_internal/server/jobs/core/__tests__/pendingOrderTimeout.test.js +0 -96
  326. package/dist/_internal/server/jobs/core/__tests__/triggerEventRaffle.test.d.ts +0 -1
  327. package/dist/_internal/server/jobs/core/__tests__/triggerEventRaffle.test.js +0 -252
  328. package/dist/_internal/server/jobs/core/__tests__/wrapJobHandler.test.d.ts +0 -1
  329. package/dist/_internal/server/jobs/core/__tests__/wrapJobHandler.test.js +0 -129
  330. package/dist/_internal/server/jobs/core/onCatalogueSubmittedForApproval.d.ts +0 -15
  331. package/dist/_internal/server/jobs/core/onCatalogueSubmittedForApproval.js +0 -38
  332. package/dist/_internal/server/providers/index.d.ts +0 -11
  333. package/dist/_internal/server/providers/index.js +0 -11
  334. package/dist/_internal/server/providers/payment/razorpay-mock.d.ts +0 -52
  335. package/dist/_internal/server/providers/payment/razorpay-mock.js +0 -118
  336. package/dist/_internal/server/providers/resolve.d.ts +0 -36
  337. package/dist/_internal/server/providers/resolve.js +0 -31
  338. package/dist/_internal/server/providers/shipping/shiprocket-mock.d.ts +0 -29
  339. package/dist/_internal/server/providers/shipping/shiprocket-mock.js +0 -152
  340. package/dist/_internal/shared/types/__tests__/action-result.test.d.ts +0 -1
  341. package/dist/_internal/shared/types/__tests__/action-result.test.js +0 -65
  342. package/dist/errors/__tests__/error-mapping.test.d.ts +0 -1
  343. package/dist/errors/__tests__/error-mapping.test.js +0 -122
  344. package/dist/errors/__tests__/safe-read.test.d.ts +0 -1
  345. package/dist/errors/__tests__/safe-read.test.js +0 -39
  346. package/dist/features/addresses/repository/__tests__/addresses.repository.test.d.ts +0 -1
  347. package/dist/features/addresses/repository/__tests__/addresses.repository.test.js +0 -386
  348. package/dist/features/admin/components/AdminListingScaffold.d.ts +0 -41
  349. package/dist/features/admin/components/AdminListingScaffold.js +0 -68
  350. package/dist/features/admin/components/QuickActionsPanel.d.ts +0 -15
  351. package/dist/features/admin/components/QuickActionsPanel.js +0 -5
  352. package/dist/features/admin/repository/__tests__/notification.repository.test.d.ts +0 -1
  353. package/dist/features/admin/repository/__tests__/notification.repository.test.js +0 -356
  354. package/dist/features/admin/repository/__tests__/site-settings.repository.test.d.ts +0 -1
  355. package/dist/features/admin/repository/__tests__/site-settings.repository.test.js +0 -298
  356. package/dist/features/auctions/repository/__tests__/bid.repository.test.d.ts +0 -1
  357. package/dist/features/auctions/repository/__tests__/bid.repository.test.js +0 -290
  358. package/dist/features/auctions/repository/auctions.repository.d.ts +0 -12
  359. package/dist/features/auctions/repository/auctions.repository.js +0 -42
  360. package/dist/features/auth/repository/__tests__/session.repository.test.d.ts +0 -1
  361. package/dist/features/auth/repository/__tests__/session.repository.test.js +0 -310
  362. package/dist/features/auth/repository/__tests__/session.test.d.ts +0 -1
  363. package/dist/features/auth/repository/__tests__/session.test.js +0 -146
  364. package/dist/features/auth/repository/__tests__/sms-counter.repository.test.d.ts +0 -1
  365. package/dist/features/auth/repository/__tests__/sms-counter.repository.test.js +0 -171
  366. package/dist/features/auth/repository/__tests__/sms-counter.test.d.ts +0 -1
  367. package/dist/features/auth/repository/__tests__/sms-counter.test.js +0 -88
  368. package/dist/features/auth/repository/__tests__/token.repository.test.d.ts +0 -1
  369. package/dist/features/auth/repository/__tests__/token.repository.test.js +0 -260
  370. package/dist/features/auth/repository/__tests__/token.test.d.ts +0 -1
  371. package/dist/features/auth/repository/__tests__/token.test.js +0 -140
  372. package/dist/features/auth/repository/__tests__/user.repository.test.d.ts +0 -1
  373. package/dist/features/auth/repository/__tests__/user.repository.test.js +0 -352
  374. package/dist/features/auth/repository/__tests__/user.test.d.ts +0 -1
  375. package/dist/features/auth/repository/__tests__/user.test.js +0 -226
  376. package/dist/features/before-after/repository/before-after.repository.d.ts +0 -13
  377. package/dist/features/before-after/repository/before-after.repository.js +0 -36
  378. package/dist/features/before-after/server.d.ts +0 -6
  379. package/dist/features/before-after/server.js +0 -6
  380. package/dist/features/cart/repository/__tests__/cart.repository.test.d.ts +0 -1
  381. package/dist/features/cart/repository/__tests__/cart.repository.test.js +0 -371
  382. package/dist/features/categories/repository/__tests__/categories.repository.test.d.ts +0 -1
  383. package/dist/features/categories/repository/__tests__/categories.repository.test.js +0 -813
  384. package/dist/features/collections/repository/collections.repository.d.ts +0 -8
  385. package/dist/features/collections/repository/collections.repository.js +0 -16
  386. package/dist/features/collections/server.d.ts +0 -6
  387. package/dist/features/collections/server.js +0 -6
  388. package/dist/features/events/repository/__tests__/event.repository.test.d.ts +0 -1
  389. package/dist/features/events/repository/__tests__/event.repository.test.js +0 -299
  390. package/dist/features/faq/repository/__tests__/faqs.repository.test.d.ts +0 -1
  391. package/dist/features/faq/repository/__tests__/faqs.repository.test.js +0 -311
  392. package/dist/features/forms/Form.d.ts +0 -25
  393. package/dist/features/forms/Form.js +0 -37
  394. package/dist/features/history/repository/__tests__/user-history.repository.test.d.ts +0 -1
  395. package/dist/features/history/repository/__tests__/user-history.repository.test.js +0 -180
  396. package/dist/features/homepage/repository/__tests__/carousel.repository.test.d.ts +0 -1
  397. package/dist/features/homepage/repository/__tests__/carousel.repository.test.js +0 -182
  398. package/dist/features/homepage/repository/__tests__/homepage-sections.repository.test.d.ts +0 -1
  399. package/dist/features/homepage/repository/__tests__/homepage-sections.repository.test.js +0 -185
  400. package/dist/features/layout/ListingLayout.d.ts +0 -34
  401. package/dist/features/layout/ListingLayout.js +0 -103
  402. package/dist/features/messages/repository/__tests__/conversations.repository.test.d.ts +0 -1
  403. package/dist/features/messages/repository/__tests__/conversations.repository.test.js +0 -257
  404. package/dist/features/orders/repository/__tests__/orders.repository.test.d.ts +0 -1
  405. package/dist/features/orders/repository/__tests__/orders.repository.test.js +0 -211
  406. package/dist/features/payments/repository/__tests__/payout.repository.test.d.ts +0 -1
  407. package/dist/features/payments/repository/__tests__/payout.repository.test.js +0 -292
  408. package/dist/features/pre-orders/repository/preorders.repository.d.ts +0 -8
  409. package/dist/features/pre-orders/repository/preorders.repository.js +0 -25
  410. package/dist/features/products/repository/__tests__/product-features.repository.test.d.ts +0 -1
  411. package/dist/features/products/repository/__tests__/product-features.repository.test.js +0 -329
  412. package/dist/features/products/repository/__tests__/products.repository.test.d.ts +0 -1
  413. package/dist/features/products/repository/__tests__/products.repository.test.js +0 -607
  414. package/dist/features/promotions/repository/__tests__/claimed-coupons.repository.test.d.ts +0 -1
  415. package/dist/features/promotions/repository/__tests__/claimed-coupons.repository.test.js +0 -219
  416. package/dist/features/promotions/repository/__tests__/coupons.repository.test.d.ts +0 -1
  417. package/dist/features/promotions/repository/__tests__/coupons.repository.test.js +0 -480
  418. package/dist/features/promotions/repository/promotions.repository.d.ts +0 -14
  419. package/dist/features/promotions/repository/promotions.repository.js +0 -43
  420. package/dist/features/reviews/repository/__tests__/reviews.repository.test.d.ts +0 -1
  421. package/dist/features/reviews/repository/__tests__/reviews.repository.test.js +0 -327
  422. package/dist/features/scams/repository/__tests__/scammer.repository.test.d.ts +0 -1
  423. package/dist/features/scams/repository/__tests__/scammer.repository.test.js +0 -385
  424. package/dist/features/search/repository/__tests__/search.repository.test.d.ts +0 -1
  425. package/dist/features/search/repository/__tests__/search.repository.test.js +0 -369
  426. package/dist/features/seller/components/SellerStatCard.d.ts +0 -14
  427. package/dist/features/seller/components/SellerStatCard.js +0 -6
  428. package/dist/features/seller/components/seller-products-styles.d.ts +0 -7
  429. package/dist/features/seller/components/seller-products-styles.js +0 -14
  430. package/dist/features/seller/repository/__tests__/offer.repository.test.d.ts +0 -1
  431. package/dist/features/seller/repository/__tests__/offer.repository.test.js +0 -458
  432. package/dist/features/seller/repository/seller.repository.d.ts +0 -22
  433. package/dist/features/seller/repository/seller.repository.js +0 -72
  434. package/dist/features/site-settings/components/__tests__/ThemeManagerView.test.d.ts +0 -1
  435. package/dist/features/site-settings/components/__tests__/ThemeManagerView.test.js +0 -37
  436. package/dist/features/stores/repository/__tests__/store.repository.test.d.ts +0 -1
  437. package/dist/features/stores/repository/__tests__/store.repository.test.js +0 -261
  438. package/dist/features/stores/repository/stores.repository.d.ts +0 -11
  439. package/dist/features/stores/repository/stores.repository.js +0 -37
  440. package/dist/features/support/repository/__tests__/support.repository.test.d.ts +0 -1
  441. package/dist/features/support/repository/__tests__/support.repository.test.js +0 -312
  442. package/dist/features/wishlist/repository/__tests__/user-wishlist.repository.test.d.ts +0 -1
  443. package/dist/features/wishlist/repository/__tests__/user-wishlist.repository.test.js +0 -139
  444. package/dist/features/wishlist/repository/wishlist.repository.d.ts +0 -13
  445. package/dist/features/wishlist/repository/wishlist.repository.js +0 -31
  446. package/dist/providers/db-firebase/__tests__/filter-aliases.test.d.ts +0 -1
  447. package/dist/providers/db-firebase/__tests__/filter-aliases.test.js +0 -93
  448. package/dist/providers/shipping-shiprocket/index.d.ts +0 -297
  449. package/dist/providers/shipping-shiprocket/index.js +0 -194
  450. package/dist/providers/shipping-shiprocket/shiprocket-provider.d.ts +0 -45
  451. package/dist/providers/shipping-shiprocket/shiprocket-provider.js +0 -168
  452. package/dist/react/contexts/ThemeContext.d.ts +0 -13
  453. package/dist/react/contexts/ThemeContext.js +0 -64
  454. package/dist/schemas/webhooks/shiprocket.d.ts +0 -30
  455. package/dist/schemas/webhooks/shiprocket.js +0 -22
  456. package/dist/seed/actions/demo-seed-actions.d.ts +0 -42
  457. package/dist/seed/actions/demo-seed-actions.js +0 -36
  458. package/dist/seed/actions/index.d.ts +0 -1
  459. package/dist/seed/actions/index.js +0 -1
  460. package/dist/seed/sub-listings-seed-data.d.ts +0 -123
  461. package/dist/seed/sub-listings-seed-data.js +0 -447
  462. package/dist/seed/tester-checklist-seed-data.d.ts +0 -2
  463. package/dist/seed/tester-checklist-seed-data.js +0 -248
  464. package/dist/ui/components/DashboardStatsCard.d.ts +0 -15
  465. package/dist/ui/components/DashboardStatsCard.js +0 -27
  466. package/dist/ui/components/DashboardStatsCard.style.css +0 -68
  467. package/dist/ui/components/DynamicSelect.d.ts +0 -23
  468. package/dist/ui/components/DynamicSelect.js +0 -77
  469. package/dist/ui/components/DynamicSelect.style.css +0 -101
  470. package/dist/ui/components/InlineCreateSelect.d.ts +0 -48
  471. package/dist/ui/components/InlineCreateSelect.js +0 -75
  472. package/dist/ui/components/ListingViewShell.d.ts +0 -37
  473. package/dist/ui/components/ListingViewShell.js +0 -9
  474. package/dist/ui/components/PaginatedMultiSelect.d.ts +0 -28
  475. package/dist/ui/components/PaginatedMultiSelect.js +0 -141
  476. package/dist/ui/components/PaginatedMultiSelect.style.css +0 -272
  477. package/dist/ui/components/SectionTabs.d.ts +0 -19
  478. package/dist/ui/components/SectionTabs.js +0 -66
  479. package/dist/ui/components/SectionTabs.style.css +0 -164
  480. package/dist/ui/components/__tests__/BulkActionBar.test.d.ts +0 -1
  481. package/dist/ui/components/__tests__/BulkActionBar.test.js +0 -96
  482. package/dist/ui/components/__tests__/ListingToolbar.test.d.ts +0 -1
  483. package/dist/ui/components/__tests__/ListingToolbar.test.js +0 -125
  484. package/dist/ui/components/__tests__/new-primitives.test.d.ts +0 -1
  485. package/dist/ui/components/__tests__/new-primitives.test.js +0 -187
@@ -45,27 +45,27 @@ export const createShipmentSchema = z.object({
45
45
  etaDate: z.union([z.string(), z.date()]).optional(),
46
46
  receivedDate: z.union([z.string(), z.date()]).optional(),
47
47
  notes: z.string().optional(),
48
- customsTotalPaise: z.number().int().min(0),
49
- shippingTotalPaise: z.number().int().min(0),
48
+ customsTotal: z.number().min(0),
49
+ shippingTotal: z.number().min(0),
50
50
  laborHoursSpent: z.number().min(0).optional(),
51
- laborRatePaisePerHour: z.number().int().min(0).optional(),
51
+ laborRatePerHour: z.number().min(0).optional(),
52
52
  });
53
53
  export const updateShipmentSchema = createShipmentSchema.partial();
54
54
  export const createShipmentLotSchema = z.object({
55
55
  lotName: z.string().min(1, "Lot name is required"),
56
56
  supplierOrderRef: z.string().optional(),
57
57
  weightGrams: z.number().min(0),
58
- purchaseCostPaise: z.number().int().min(0),
58
+ purchaseCost: z.number().min(0),
59
59
  images: z.array(mediaFieldSchema).optional().default([]),
60
60
  remainderItemCount: z.number().int().min(0).optional(),
61
- remainderEstimatedValuePaise: z.number().int().min(0).optional(),
61
+ remainderEstimatedValue: z.number().min(0).optional(),
62
62
  });
63
63
  export const updateShipmentLotSchema = createShipmentLotSchema.partial();
64
64
  const shipmentItemBaseSchema = z.object({
65
65
  title: z.string().min(1, "Item title is required"),
66
66
  quantity: z.number().int().min(1),
67
67
  isForSelfUse: z.boolean(),
68
- price: z.number().int().min(0).optional(),
68
+ price: z.number().min(0).optional(),
69
69
  condition: productConditionSchema.optional(),
70
70
  categorySlugs: z.array(z.string()).optional(),
71
71
  brandSlug: z.string().optional(),
@@ -8,14 +8,14 @@
8
8
  * preview, but only the Function's write is ever persisted.
9
9
  */
10
10
  import type { ShipmentLot, ShipmentTotals } from "../schemas/firestore";
11
- export type LotAllocationInput = Pick<ShipmentLot, "id" | "purchaseCostPaise" | "weightGrams" | "mainItemsProjectedRevenuePaise" | "remainderEstimatedValuePaise" | "itemCount">;
12
- export type LotAllocationResult = Pick<ShipmentLot, "customsAllocatedPaise" | "shippingAllocatedPaise" | "totalLandedCostPaise" | "projectedRevenuePaise" | "projectedProfitPaise">;
11
+ export type LotAllocationInput = Pick<ShipmentLot, "id" | "purchaseCost" | "weightGrams" | "mainItemsProjectedRevenue" | "remainderEstimatedValue" | "itemCount">;
12
+ export type LotAllocationResult = Pick<ShipmentLot, "customsAllocated" | "shippingAllocated" | "totalLandedCost" | "projectedRevenue" | "projectedProfit">;
13
13
  export interface AllocateShipmentCostsInput {
14
14
  lots: LotAllocationInput[];
15
- customsTotalPaise: number;
16
- shippingTotalPaise: number;
15
+ customsTotal: number;
16
+ shippingTotal: number;
17
17
  laborHoursSpent: number;
18
- laborRatePaisePerHour: number;
18
+ laborRatePerHour: number;
19
19
  maxHoursPerDay: number;
20
20
  }
21
21
  export interface AllocateShipmentCostsResult {
@@ -7,18 +7,19 @@
7
7
  * The admin editor may still call this client-side for a cosmetic live
8
8
  * preview, but only the Function's write is ever persisted.
9
9
  */
10
+ import { roundRupees } from "../../../utils/number.formatter";
10
11
  /**
11
- * Splits `totalPaise` across `weights` proportionally, with the remainder
12
+ * Splits `total` across `weights` proportionally, with the remainder
12
13
  * corrected onto the last non-zero-weight entry so the sum always
13
- * reconciles exactly to `totalPaise` (integer-paise-safe).
14
+ * reconciles exactly to `total` (rupee-2dp-safe).
14
15
  */
15
- function allocateProportionally(totalPaise, weights) {
16
+ function allocateProportionally(total, weights) {
16
17
  const totalWeight = weights.reduce((s, w) => s + w, 0);
17
- if (totalWeight <= 0 || totalPaise === 0)
18
+ if (totalWeight <= 0 || total === 0)
18
19
  return weights.map(() => 0);
19
- const shares = weights.map((w) => Math.round((totalPaise * w) / totalWeight));
20
+ const shares = weights.map((w) => roundRupees((total * w) / totalWeight));
20
21
  const allocated = shares.reduce((s, v) => s + v, 0);
21
- const remainder = totalPaise - allocated;
22
+ const remainder = roundRupees(total - allocated);
22
23
  if (remainder !== 0) {
23
24
  let lastPositiveIndex = -1;
24
25
  for (let i = weights.length - 1; i >= 0; i--) {
@@ -28,52 +29,52 @@ function allocateProportionally(totalPaise, weights) {
28
29
  }
29
30
  }
30
31
  if (lastPositiveIndex >= 0)
31
- shares[lastPositiveIndex] += remainder;
32
+ shares[lastPositiveIndex] = roundRupees(shares[lastPositiveIndex] + remainder);
32
33
  }
33
34
  return shares;
34
35
  }
35
36
  export function allocateShipmentCosts(input) {
36
- const { lots, customsTotalPaise, shippingTotalPaise, laborHoursSpent, laborRatePaisePerHour, maxHoursPerDay } = input;
37
- const costWeights = lots.map((lot) => lot.purchaseCostPaise);
37
+ const { lots, customsTotal, shippingTotal, laborHoursSpent, laborRatePerHour, maxHoursPerDay } = input;
38
+ const costWeights = lots.map((lot) => lot.purchaseCost);
38
39
  const weightWeights = lots.map((lot) => lot.weightGrams);
39
- const customsShares = allocateProportionally(customsTotalPaise, costWeights);
40
- const shippingShares = allocateProportionally(shippingTotalPaise, weightWeights);
40
+ const customsShares = allocateProportionally(customsTotal, costWeights);
41
+ const shippingShares = allocateProportionally(shippingTotal, weightWeights);
41
42
  const perLot = {};
42
- let totalProjectedRevenuePaise = 0;
43
+ let totalProjectedRevenue = 0;
43
44
  let totalItemCount = 0;
44
45
  lots.forEach((lot, i) => {
45
- const customsAllocatedPaise = customsShares[i];
46
- const shippingAllocatedPaise = shippingShares[i];
47
- const totalLandedCostPaise = lot.purchaseCostPaise + customsAllocatedPaise + shippingAllocatedPaise;
48
- const projectedRevenuePaise = lot.mainItemsProjectedRevenuePaise + (lot.remainderEstimatedValuePaise ?? 0);
49
- const projectedProfitPaise = projectedRevenuePaise - totalLandedCostPaise;
46
+ const customsAllocated = customsShares[i];
47
+ const shippingAllocated = shippingShares[i];
48
+ const totalLandedCost = roundRupees(lot.purchaseCost + customsAllocated + shippingAllocated);
49
+ const projectedRevenue = lot.mainItemsProjectedRevenue + (lot.remainderEstimatedValue ?? 0);
50
+ const projectedProfit = roundRupees(projectedRevenue - totalLandedCost);
50
51
  perLot[lot.id] = {
51
- customsAllocatedPaise,
52
- shippingAllocatedPaise,
53
- totalLandedCostPaise,
54
- projectedRevenuePaise,
55
- projectedProfitPaise,
52
+ customsAllocated,
53
+ shippingAllocated,
54
+ totalLandedCost,
55
+ projectedRevenue,
56
+ projectedProfit,
56
57
  };
57
- totalProjectedRevenuePaise += projectedRevenuePaise;
58
+ totalProjectedRevenue += projectedRevenue;
58
59
  totalItemCount += lot.itemCount;
59
60
  });
60
- const lotsCostPaise = costWeights.reduce((s, v) => s + v, 0);
61
- const laborCostPaise = Math.round(laborHoursSpent * laborRatePaisePerHour);
62
- const totalShipmentCostPaise = lotsCostPaise + customsTotalPaise + shippingTotalPaise;
63
- const projectedProfitPaise = totalProjectedRevenuePaise - totalShipmentCostPaise;
64
- const projectedProfitAfterLaborPaise = projectedProfitPaise - laborCostPaise;
61
+ const lotsCost = costWeights.reduce((s, v) => s + v, 0);
62
+ const laborCost = roundRupees(laborHoursSpent * laborRatePerHour);
63
+ const totalShipmentCost = roundRupees(lotsCost + customsTotal + shippingTotal);
64
+ const projectedProfit = roundRupees(totalProjectedRevenue - totalShipmentCost);
65
+ const projectedProfitAfterLabor = roundRupees(projectedProfit - laborCost);
65
66
  const totalWeightGrams = weightWeights.reduce((s, v) => s + v, 0);
66
67
  const totals = {
67
- lotsCostPaise,
68
- customsTotalPaise,
69
- shippingTotalPaise,
70
- laborCostPaise,
71
- totalShipmentCostPaise,
72
- totalProjectedRevenuePaise,
73
- projectedProfitPaise,
74
- projectedProfitAfterLaborPaise,
75
- projectedMarginPercent: totalProjectedRevenuePaise > 0 ? (projectedProfitPaise / totalProjectedRevenuePaise) * 100 : 0,
76
- projectedRoiPercent: totalShipmentCostPaise > 0 ? (projectedProfitPaise / totalShipmentCostPaise) * 100 : 0,
68
+ lotsCost,
69
+ customsTotal,
70
+ shippingTotal,
71
+ laborCost,
72
+ totalShipmentCost,
73
+ totalProjectedRevenue,
74
+ projectedProfit,
75
+ projectedProfitAfterLabor,
76
+ projectedMarginPercent: totalProjectedRevenue > 0 ? (projectedProfit / totalProjectedRevenue) * 100 : 0,
77
+ projectedRoiPercent: totalShipmentCost > 0 ? (projectedProfit / totalShipmentCost) * 100 : 0,
77
78
  totalWeightGrams,
78
79
  totalItemCount,
79
80
  lotCount: lots.length,
@@ -45,10 +45,10 @@ export interface ShippingConfigDocument extends BaseDocument {
45
45
  method: ShippingMethod;
46
46
  isDefault: boolean;
47
47
  isActive: boolean;
48
- flatRateInPaise?: number;
49
- pricePerKgInPaise?: number;
50
- freeAbovePaise?: number;
51
- expressSurchargeInPaise?: number;
48
+ flatRate?: number;
49
+ pricePerKg?: number;
50
+ freeAbove?: number;
51
+ expressSurcharge?: number;
52
52
  estimatedDays?: number;
53
53
  zones?: string[];
54
54
  }
@@ -170,7 +170,7 @@ export interface ItemRequestDocument extends BaseDocument {
170
170
  description: string;
171
171
  category?: string;
172
172
  brand?: string;
173
- maxBudgetInPaise?: number;
173
+ maxBudget?: number;
174
174
  imageUrls: string[];
175
175
  status: ItemRequestStatus;
176
176
  replyCount: number;
@@ -18,10 +18,9 @@ const STORE_LISTING_HREF = {
18
18
  classifieds: (slug) => String(ROUTES.PUBLIC.STORE_CLASSIFIEDS(slug)),
19
19
  "digital-codes": (slug) => String(ROUTES.PUBLIC.STORE_DIGITAL_CODES(slug)),
20
20
  live: (slug) => String(ROUTES.PUBLIC.STORE_LIVE(slug)),
21
- // Art / stickers have no dedicated storefront tab page — they're browsable
21
+ // Art & Stickers has no dedicated storefront tab page — browsable
22
22
  // (alongside everything else the store sells) on the "Products" tab.
23
23
  art: (slug) => String(ROUTES.PUBLIC.STORE_PRODUCTS(slug)),
24
- stickers: (slug) => String(ROUTES.PUBLIC.STORE_PRODUCTS(slug)),
25
24
  };
26
25
  export const getStoreBySlug = cache((slug) => storeRepository.findBySlug(slug).catch(() => undefined));
27
26
  function tabLabel(base, count) {
@@ -41,7 +40,7 @@ export async function StoreDetailLayoutView({ storeSlug, activeTab, children, sc
41
40
  ? getSellerTrustStatus(storeId).catch(() => undefined)
42
41
  : Promise.resolve(undefined),
43
42
  ]);
44
- const [productsCount, auctionsCount, preOrdersCount, prizeDrawsCount, bundlesCount, classifiedsCount, digitalCodesCount, liveCount, artCount, stickersCount, couponsCount, reviewsCount] = storeId
43
+ const [productsCount, auctionsCount, preOrdersCount, prizeDrawsCount, bundlesCount, classifiedsCount, digitalCodesCount, liveCount, artStickersCount, couponsCount, reviewsCount] = storeId
45
44
  ? await Promise.all([
46
45
  productRepository
47
46
  .list({ filters: sieveAnd(sieveFilter("storeId", SIEVE_OP.EQ, storeId), sieveFilter("status", SIEVE_OP.EQ, "published"), sieveFilter("listingType", SIEVE_OP.EQ, "standard")), page: 1, pageSize: 1 })
@@ -78,11 +77,7 @@ export async function StoreDetailLayoutView({ storeSlug, activeTab, children, sc
78
77
  .then((r) => r.total)
79
78
  .catch(() => 0),
80
79
  productRepository
81
- .list({ filters: sieveAnd(sieveFilter("storeId", SIEVE_OP.EQ, storeId), sieveFilter("status", SIEVE_OP.EQ, "published"), sieveFilter("listingType", SIEVE_OP.EQ, "art")), page: 1, pageSize: 1 })
82
- .then((r) => r.total)
83
- .catch(() => 0),
84
- productRepository
85
- .list({ filters: sieveAnd(sieveFilter("storeId", SIEVE_OP.EQ, storeId), sieveFilter("status", SIEVE_OP.EQ, "published"), sieveFilter("listingType", SIEVE_OP.EQ, "stickers")), page: 1, pageSize: 1 })
80
+ .list({ filters: sieveAnd(sieveFilter("storeId", SIEVE_OP.EQ, storeId), sieveFilter("status", SIEVE_OP.EQ, "published"), sieveFilter("listingType", SIEVE_OP.EQ, "art|stickers")), page: 1, pageSize: 1 })
86
81
  .then((r) => r.total)
87
82
  .catch(() => 0),
88
83
  couponsRepository
@@ -94,7 +89,7 @@ export async function StoreDetailLayoutView({ storeSlug, activeTab, children, sc
94
89
  .then((r) => r.total)
95
90
  .catch(() => 0),
96
91
  ])
97
- : [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
92
+ : [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0];
98
93
  const listingCounts = {
99
94
  products: productsCount,
100
95
  auctions: auctionsCount,
@@ -104,8 +99,7 @@ export async function StoreDetailLayoutView({ storeSlug, activeTab, children, sc
104
99
  classifieds: classifiedsCount,
105
100
  "digital-codes": digitalCodesCount,
106
101
  live: liveCount,
107
- art: artCount,
108
- stickers: stickersCount,
102
+ art: artStickersCount,
109
103
  };
110
104
  const TAB_LISTING_TYPE = {
111
105
  products: "standard",
@@ -115,12 +109,14 @@ export async function StoreDetailLayoutView({ storeSlug, activeTab, children, sc
115
109
  classifieds: "classified",
116
110
  "digital-codes": "digital-code",
117
111
  live: "live",
118
- art: "art",
119
- stickers: "stickers",
120
112
  };
121
113
  const visibleStoreTabs = STORE_PAGE_TABS.filter((tab) => {
122
114
  if (tab.id === "bundles")
123
115
  return isCategoryTypeEnabled("bundle", settings);
116
+ // Combined tab — visible if either underlying listing type is enabled.
117
+ if (tab.id === "art") {
118
+ return isListingTypeEnabled("art", settings) || isListingTypeEnabled("stickers", settings);
119
+ }
124
120
  const lt = TAB_LISTING_TYPE[tab.id];
125
121
  return lt ? isListingTypeEnabled(lt, settings) : true;
126
122
  });
@@ -14,16 +14,16 @@ export interface ShippingProviderConfig {
14
14
  label: string;
15
15
  type: ShippingProviderType;
16
16
  fee: {
17
- /** Flat fee in paise. */
18
- flatInPaise?: number;
19
- /** Per-kg surcharge in paise. */
20
- perKgInPaise?: number;
17
+ /** Flat fee, decimal rupees. */
18
+ flat?: number;
19
+ /** Per-kg surcharge, decimal rupees. */
20
+ perKg?: number;
21
21
  /** Percentage of order subtotal (0–100). */
22
22
  percentOfOrder?: number;
23
23
  /** If order subtotal exceeds this threshold, shipping is free. */
24
- freeAboveInPaise?: number;
25
- /** Minimum charge in paise (floor after all other rules). */
26
- minInPaise?: number;
24
+ freeAbove?: number;
25
+ /** Minimum charge, decimal rupees (floor after all other rules). */
26
+ min?: number;
27
27
  };
28
28
  etaDaysMin: number;
29
29
  etaDaysMax: number;
@@ -6,23 +6,23 @@ export declare const shippingProviderConfigSchema: z.ZodObject<{
6
6
  label: z.ZodString;
7
7
  type: z.ZodEnum<["self-courier", "store-pickup", "custom"]>;
8
8
  fee: z.ZodObject<{
9
- flatInPaise: z.ZodOptional<z.ZodNumber>;
10
- perKgInPaise: z.ZodOptional<z.ZodNumber>;
9
+ flat: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
10
+ perKg: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
11
11
  percentOfOrder: z.ZodOptional<z.ZodNumber>;
12
- freeAboveInPaise: z.ZodOptional<z.ZodNumber>;
13
- minInPaise: z.ZodOptional<z.ZodNumber>;
12
+ freeAbove: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
13
+ min: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
14
14
  }, "strip", z.ZodTypeAny, {
15
- flatInPaise?: number | undefined;
16
- perKgInPaise?: number | undefined;
15
+ flat?: number | undefined;
16
+ min?: number | undefined;
17
+ perKg?: number | undefined;
17
18
  percentOfOrder?: number | undefined;
18
- freeAboveInPaise?: number | undefined;
19
- minInPaise?: number | undefined;
19
+ freeAbove?: number | undefined;
20
20
  }, {
21
- flatInPaise?: number | undefined;
22
- perKgInPaise?: number | undefined;
21
+ flat?: number | undefined;
22
+ min?: number | undefined;
23
+ perKg?: number | undefined;
23
24
  percentOfOrder?: number | undefined;
24
- freeAboveInPaise?: number | undefined;
25
- minInPaise?: number | undefined;
25
+ freeAbove?: number | undefined;
26
26
  }>;
27
27
  etaDaysMin: z.ZodNumber;
28
28
  etaDaysMax: z.ZodNumber;
@@ -33,11 +33,11 @@ export declare const shippingProviderConfigSchema: z.ZodObject<{
33
33
  label: string;
34
34
  providerId: string;
35
35
  fee: {
36
- flatInPaise?: number | undefined;
37
- perKgInPaise?: number | undefined;
36
+ flat?: number | undefined;
37
+ min?: number | undefined;
38
+ perKg?: number | undefined;
38
39
  percentOfOrder?: number | undefined;
39
- freeAboveInPaise?: number | undefined;
40
- minInPaise?: number | undefined;
40
+ freeAbove?: number | undefined;
41
41
  };
42
42
  etaDaysMin: number;
43
43
  etaDaysMax: number;
@@ -48,11 +48,11 @@ export declare const shippingProviderConfigSchema: z.ZodObject<{
48
48
  label: string;
49
49
  providerId: string;
50
50
  fee: {
51
- flatInPaise?: number | undefined;
52
- perKgInPaise?: number | undefined;
51
+ flat?: number | undefined;
52
+ min?: number | undefined;
53
+ perKg?: number | undefined;
53
54
  percentOfOrder?: number | undefined;
54
- freeAboveInPaise?: number | undefined;
55
- minInPaise?: number | undefined;
55
+ freeAbove?: number | undefined;
56
56
  };
57
57
  etaDaysMin: number;
58
58
  etaDaysMax: number;
@@ -65,23 +65,23 @@ export declare const storeShippingConfigSchema: z.ZodObject<{
65
65
  label: z.ZodString;
66
66
  type: z.ZodEnum<["self-courier", "store-pickup", "custom"]>;
67
67
  fee: z.ZodObject<{
68
- flatInPaise: z.ZodOptional<z.ZodNumber>;
69
- perKgInPaise: z.ZodOptional<z.ZodNumber>;
68
+ flat: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
69
+ perKg: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
70
70
  percentOfOrder: z.ZodOptional<z.ZodNumber>;
71
- freeAboveInPaise: z.ZodOptional<z.ZodNumber>;
72
- minInPaise: z.ZodOptional<z.ZodNumber>;
71
+ freeAbove: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
72
+ min: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
73
73
  }, "strip", z.ZodTypeAny, {
74
- flatInPaise?: number | undefined;
75
- perKgInPaise?: number | undefined;
74
+ flat?: number | undefined;
75
+ min?: number | undefined;
76
+ perKg?: number | undefined;
76
77
  percentOfOrder?: number | undefined;
77
- freeAboveInPaise?: number | undefined;
78
- minInPaise?: number | undefined;
78
+ freeAbove?: number | undefined;
79
79
  }, {
80
- flatInPaise?: number | undefined;
81
- perKgInPaise?: number | undefined;
80
+ flat?: number | undefined;
81
+ min?: number | undefined;
82
+ perKg?: number | undefined;
82
83
  percentOfOrder?: number | undefined;
83
- freeAboveInPaise?: number | undefined;
84
- minInPaise?: number | undefined;
84
+ freeAbove?: number | undefined;
85
85
  }>;
86
86
  etaDaysMin: z.ZodNumber;
87
87
  etaDaysMax: z.ZodNumber;
@@ -92,11 +92,11 @@ export declare const storeShippingConfigSchema: z.ZodObject<{
92
92
  label: string;
93
93
  providerId: string;
94
94
  fee: {
95
- flatInPaise?: number | undefined;
96
- perKgInPaise?: number | undefined;
95
+ flat?: number | undefined;
96
+ min?: number | undefined;
97
+ perKg?: number | undefined;
97
98
  percentOfOrder?: number | undefined;
98
- freeAboveInPaise?: number | undefined;
99
- minInPaise?: number | undefined;
99
+ freeAbove?: number | undefined;
100
100
  };
101
101
  etaDaysMin: number;
102
102
  etaDaysMax: number;
@@ -107,11 +107,11 @@ export declare const storeShippingConfigSchema: z.ZodObject<{
107
107
  label: string;
108
108
  providerId: string;
109
109
  fee: {
110
- flatInPaise?: number | undefined;
111
- perKgInPaise?: number | undefined;
110
+ flat?: number | undefined;
111
+ min?: number | undefined;
112
+ perKg?: number | undefined;
112
113
  percentOfOrder?: number | undefined;
113
- freeAboveInPaise?: number | undefined;
114
- minInPaise?: number | undefined;
114
+ freeAbove?: number | undefined;
115
115
  };
116
116
  etaDaysMin: number;
117
117
  etaDaysMax: number;
@@ -125,11 +125,11 @@ export declare const storeShippingConfigSchema: z.ZodObject<{
125
125
  label: string;
126
126
  providerId: string;
127
127
  fee: {
128
- flatInPaise?: number | undefined;
129
- perKgInPaise?: number | undefined;
128
+ flat?: number | undefined;
129
+ min?: number | undefined;
130
+ perKg?: number | undefined;
130
131
  percentOfOrder?: number | undefined;
131
- freeAboveInPaise?: number | undefined;
132
- minInPaise?: number | undefined;
132
+ freeAbove?: number | undefined;
133
133
  };
134
134
  etaDaysMin: number;
135
135
  etaDaysMax: number;
@@ -143,11 +143,11 @@ export declare const storeShippingConfigSchema: z.ZodObject<{
143
143
  label: string;
144
144
  providerId: string;
145
145
  fee: {
146
- flatInPaise?: number | undefined;
147
- perKgInPaise?: number | undefined;
146
+ flat?: number | undefined;
147
+ min?: number | undefined;
148
+ perKg?: number | undefined;
148
149
  percentOfOrder?: number | undefined;
149
- freeAboveInPaise?: number | undefined;
150
- minInPaise?: number | undefined;
150
+ freeAbove?: number | undefined;
151
151
  };
152
152
  etaDaysMin: number;
153
153
  etaDaysMax: number;
@@ -255,23 +255,23 @@ export declare const storeFirestoreSchema: z.ZodObject<{
255
255
  label: z.ZodString;
256
256
  type: z.ZodEnum<["self-courier", "store-pickup", "custom"]>;
257
257
  fee: z.ZodObject<{
258
- flatInPaise: z.ZodOptional<z.ZodNumber>;
259
- perKgInPaise: z.ZodOptional<z.ZodNumber>;
258
+ flat: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
259
+ perKg: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
260
260
  percentOfOrder: z.ZodOptional<z.ZodNumber>;
261
- freeAboveInPaise: z.ZodOptional<z.ZodNumber>;
262
- minInPaise: z.ZodOptional<z.ZodNumber>;
261
+ freeAbove: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
262
+ min: z.ZodOptional<z.ZodEffects<z.ZodNumber, number, number>>;
263
263
  }, "strip", z.ZodTypeAny, {
264
- flatInPaise?: number | undefined;
265
- perKgInPaise?: number | undefined;
264
+ flat?: number | undefined;
265
+ min?: number | undefined;
266
+ perKg?: number | undefined;
266
267
  percentOfOrder?: number | undefined;
267
- freeAboveInPaise?: number | undefined;
268
- minInPaise?: number | undefined;
268
+ freeAbove?: number | undefined;
269
269
  }, {
270
- flatInPaise?: number | undefined;
271
- perKgInPaise?: number | undefined;
270
+ flat?: number | undefined;
271
+ min?: number | undefined;
272
+ perKg?: number | undefined;
272
273
  percentOfOrder?: number | undefined;
273
- freeAboveInPaise?: number | undefined;
274
- minInPaise?: number | undefined;
274
+ freeAbove?: number | undefined;
275
275
  }>;
276
276
  etaDaysMin: z.ZodNumber;
277
277
  etaDaysMax: z.ZodNumber;
@@ -282,11 +282,11 @@ export declare const storeFirestoreSchema: z.ZodObject<{
282
282
  label: string;
283
283
  providerId: string;
284
284
  fee: {
285
- flatInPaise?: number | undefined;
286
- perKgInPaise?: number | undefined;
285
+ flat?: number | undefined;
286
+ min?: number | undefined;
287
+ perKg?: number | undefined;
287
288
  percentOfOrder?: number | undefined;
288
- freeAboveInPaise?: number | undefined;
289
- minInPaise?: number | undefined;
289
+ freeAbove?: number | undefined;
290
290
  };
291
291
  etaDaysMin: number;
292
292
  etaDaysMax: number;
@@ -297,11 +297,11 @@ export declare const storeFirestoreSchema: z.ZodObject<{
297
297
  label: string;
298
298
  providerId: string;
299
299
  fee: {
300
- flatInPaise?: number | undefined;
301
- perKgInPaise?: number | undefined;
300
+ flat?: number | undefined;
301
+ min?: number | undefined;
302
+ perKg?: number | undefined;
302
303
  percentOfOrder?: number | undefined;
303
- freeAboveInPaise?: number | undefined;
304
- minInPaise?: number | undefined;
304
+ freeAbove?: number | undefined;
305
305
  };
306
306
  etaDaysMin: number;
307
307
  etaDaysMax: number;
@@ -315,11 +315,11 @@ export declare const storeFirestoreSchema: z.ZodObject<{
315
315
  label: string;
316
316
  providerId: string;
317
317
  fee: {
318
- flatInPaise?: number | undefined;
319
- perKgInPaise?: number | undefined;
318
+ flat?: number | undefined;
319
+ min?: number | undefined;
320
+ perKg?: number | undefined;
320
321
  percentOfOrder?: number | undefined;
321
- freeAboveInPaise?: number | undefined;
322
- minInPaise?: number | undefined;
322
+ freeAbove?: number | undefined;
323
323
  };
324
324
  etaDaysMin: number;
325
325
  etaDaysMax: number;
@@ -333,11 +333,11 @@ export declare const storeFirestoreSchema: z.ZodObject<{
333
333
  label: string;
334
334
  providerId: string;
335
335
  fee: {
336
- flatInPaise?: number | undefined;
337
- perKgInPaise?: number | undefined;
336
+ flat?: number | undefined;
337
+ min?: number | undefined;
338
+ perKg?: number | undefined;
338
339
  percentOfOrder?: number | undefined;
339
- freeAboveInPaise?: number | undefined;
340
- minInPaise?: number | undefined;
340
+ freeAbove?: number | undefined;
341
341
  };
342
342
  etaDaysMin: number;
343
343
  etaDaysMax: number;
@@ -431,11 +431,11 @@ export declare const storeFirestoreSchema: z.ZodObject<{
431
431
  label: string;
432
432
  providerId: string;
433
433
  fee: {
434
- flatInPaise?: number | undefined;
435
- perKgInPaise?: number | undefined;
434
+ flat?: number | undefined;
435
+ min?: number | undefined;
436
+ perKg?: number | undefined;
436
437
  percentOfOrder?: number | undefined;
437
- freeAboveInPaise?: number | undefined;
438
- minInPaise?: number | undefined;
438
+ freeAbove?: number | undefined;
439
439
  };
440
440
  etaDaysMin: number;
441
441
  etaDaysMax: number;
@@ -516,11 +516,11 @@ export declare const storeFirestoreSchema: z.ZodObject<{
516
516
  label: string;
517
517
  providerId: string;
518
518
  fee: {
519
- flatInPaise?: number | undefined;
520
- perKgInPaise?: number | undefined;
519
+ flat?: number | undefined;
520
+ min?: number | undefined;
521
+ perKg?: number | undefined;
521
522
  percentOfOrder?: number | undefined;
522
- freeAboveInPaise?: number | undefined;
523
- minInPaise?: number | undefined;
523
+ freeAbove?: number | undefined;
524
524
  };
525
525
  etaDaysMin: number;
526
526
  etaDaysMax: number;
@@ -1,7 +1,7 @@
1
1
  export * from "./firestore";
2
2
  import { z } from "zod";
3
3
  import { StoreStatusValues } from "./firestore";
4
- import { auditTimestampsShape, firestoreDateSchema, paiseSchema } from "../../../schemas/firestore-helpers";
4
+ import { auditTimestampsShape, firestoreDateSchema, rupeesSchema } from "../../../schemas/firestore-helpers";
5
5
  // ─── Firestore document schema (W2) ───────────────────────────────────────────
6
6
  // Mirrors StoreDocument in ./firestore.ts. Registered into SCHEMAS.firestore.stores.
7
7
  export const shippingProviderTypeSchema = z.enum([
@@ -14,11 +14,11 @@ export const shippingProviderConfigSchema = z.object({
14
14
  label: z.string(),
15
15
  type: shippingProviderTypeSchema,
16
16
  fee: z.object({
17
- flatInPaise: paiseSchema.optional(),
18
- perKgInPaise: paiseSchema.optional(),
17
+ flat: rupeesSchema.optional(),
18
+ perKg: rupeesSchema.optional(),
19
19
  percentOfOrder: z.number().min(0).max(100).optional(),
20
- freeAboveInPaise: paiseSchema.optional(),
21
- minInPaise: paiseSchema.optional(),
20
+ freeAbove: rupeesSchema.optional(),
21
+ min: rupeesSchema.optional(),
22
22
  }),
23
23
  etaDaysMin: z.number().int().nonnegative(),
24
24
  etaDaysMax: z.number().int().nonnegative(),
@@ -148,7 +148,7 @@ export const categoriesTesterSeedData = [
148
148
  description: "Two disposable test products bundled at a discount — for testing the bundle flow.",
149
149
  categoryType: "bundle",
150
150
  bundleKind: "special",
151
- bundlePriceInPaise: 19900,
151
+ bundlePrice: 199,
152
152
  bundleQueryRule: {
153
153
  type: "static",
154
154
  productIds: ["product-tester-standard-1", "product-tester-standard-2"],