@mohasinac/appkit 2.6.3 → 2.6.5
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.
- package/dist/_internal/server/features/account/data.js +2 -2
- package/dist/_internal/server/features/bundles/data.d.ts +26 -6
- package/dist/_internal/server/features/bundles/data.js +41 -6
- package/dist/_internal/server/features/bundles/index.d.ts +3 -2
- package/dist/_internal/server/features/bundles/index.js +4 -2
- package/dist/_internal/server/features/bundles/metadata.d.ts +20 -0
- package/dist/_internal/server/features/bundles/metadata.js +46 -0
- package/dist/_internal/server/features/bundles/og.d.ts +38 -0
- package/dist/_internal/server/features/bundles/og.js +122 -0
- package/dist/_internal/server/features/checkout/actions.js +192 -133
- package/dist/_internal/server/features/checkout/bundle-expansion.d.ts +57 -0
- package/dist/_internal/server/features/checkout/bundle-expansion.js +70 -0
- package/dist/_internal/server/features/checkout/prize-bundle-gates.d.ts +5 -15
- package/dist/_internal/server/features/checkout/prize-bundle-gates.js +5 -21
- package/dist/_internal/server/features/media/contextGuards.js +15 -1
- package/dist/_internal/server/features/payouts/actions.d.ts +19 -0
- package/dist/_internal/server/features/payouts/actions.js +38 -0
- package/dist/_internal/server/features/products/data.js +1 -2
- package/dist/_internal/server/features/raffle/actions.d.ts +11 -0
- package/dist/_internal/server/features/raffle/actions.js +31 -0
- package/dist/_internal/server/features/refunds/actions.d.ts +31 -0
- package/dist/_internal/server/features/refunds/actions.js +77 -0
- package/dist/_internal/server/jobs/core/adminAnalytics.d.ts +28 -0
- package/dist/_internal/server/jobs/core/adminAnalytics.js +98 -0
- package/dist/_internal/server/jobs/core/assignSpinPrize.d.ts +19 -0
- package/dist/_internal/server/jobs/core/assignSpinPrize.js +81 -0
- package/dist/_internal/server/jobs/core/auctionSettlement.d.ts +2 -0
- package/dist/_internal/server/jobs/core/auctionSettlement.js +70 -0
- package/dist/_internal/server/jobs/core/autoPayoutEligibility.d.ts +2 -0
- package/dist/_internal/server/jobs/core/autoPayoutEligibility.js +109 -0
- package/dist/_internal/server/jobs/core/bundleStockSync.d.ts +10 -0
- package/dist/_internal/server/jobs/core/bundleStockSync.js +71 -0
- package/dist/_internal/server/jobs/core/cartPrune.d.ts +2 -0
- package/dist/_internal/server/jobs/core/cartPrune.js +13 -0
- package/dist/_internal/server/jobs/core/cleanupRtdbEvents.d.ts +2 -0
- package/dist/_internal/server/jobs/core/cleanupRtdbEvents.js +45 -0
- package/dist/_internal/server/jobs/core/countersReconcile.d.ts +2 -0
- package/dist/_internal/server/jobs/core/countersReconcile.js +107 -0
- package/dist/_internal/server/jobs/core/couponExpiry.d.ts +2 -0
- package/dist/_internal/server/jobs/core/couponExpiry.js +13 -0
- package/dist/_internal/server/jobs/core/dailyDataCleanup.d.ts +2 -0
- package/dist/_internal/server/jobs/core/dailyDataCleanup.js +20 -0
- package/dist/_internal/server/jobs/core/index.d.ts +44 -0
- package/dist/_internal/server/jobs/core/index.js +47 -0
- package/dist/_internal/server/jobs/core/listingProcessor.d.ts +30 -0
- package/dist/_internal/server/jobs/core/listingProcessor.js +138 -0
- package/dist/_internal/server/jobs/core/mediaTmpCleanup.d.ts +14 -0
- package/dist/_internal/server/jobs/core/mediaTmpCleanup.js +68 -0
- package/dist/_internal/server/jobs/core/notificationPrune.d.ts +2 -0
- package/dist/_internal/server/jobs/core/notificationPrune.js +13 -0
- package/dist/_internal/server/jobs/core/offerExpiry.d.ts +2 -0
- package/dist/_internal/server/jobs/core/offerExpiry.js +50 -0
- package/dist/_internal/server/jobs/core/onBidPlaced.d.ts +15 -0
- package/dist/_internal/server/jobs/core/onBidPlaced.js +59 -0
- package/dist/_internal/server/jobs/core/onCategoryWrite.d.ts +14 -0
- package/dist/_internal/server/jobs/core/onCategoryWrite.js +134 -0
- package/dist/_internal/server/jobs/core/onOrderCreate.d.ts +18 -0
- package/dist/_internal/server/jobs/core/onOrderCreate.js +78 -0
- package/dist/_internal/server/jobs/core/onOrderStatusChange.d.ts +19 -0
- package/dist/_internal/server/jobs/core/onOrderStatusChange.js +139 -0
- package/dist/_internal/server/jobs/core/onProductStockChange.d.ts +23 -0
- package/dist/_internal/server/jobs/core/onProductStockChange.js +130 -0
- package/dist/_internal/server/jobs/core/onProductWrite.d.ts +12 -0
- package/dist/_internal/server/jobs/core/onProductWrite.js +94 -0
- package/dist/_internal/server/jobs/core/onReviewWrite.d.ts +7 -0
- package/dist/_internal/server/jobs/core/onReviewWrite.js +49 -0
- package/dist/_internal/server/jobs/core/onStoreWrite.d.ts +12 -0
- package/dist/_internal/server/jobs/core/onStoreWrite.js +7 -0
- package/dist/_internal/server/jobs/core/payoutBatch.d.ts +8 -0
- package/dist/_internal/server/jobs/core/payoutBatch.js +102 -0
- package/dist/_internal/server/jobs/core/pendingOrderTimeout.d.ts +2 -0
- package/dist/_internal/server/jobs/core/pendingOrderTimeout.js +27 -0
- package/dist/_internal/server/jobs/core/positionsReconcile.d.ts +7 -0
- package/dist/_internal/server/jobs/core/positionsReconcile.js +87 -0
- package/dist/_internal/server/jobs/core/prizeRevealClose.d.ts +2 -0
- package/dist/_internal/server/jobs/core/prizeRevealClose.js +22 -0
- package/dist/_internal/server/jobs/core/prizeRevealExpiry.d.ts +2 -0
- package/dist/_internal/server/jobs/core/prizeRevealExpiry.js +50 -0
- package/dist/_internal/server/jobs/core/prizeRevealOpen.d.ts +2 -0
- package/dist/_internal/server/jobs/core/prizeRevealOpen.js +56 -0
- package/dist/_internal/server/jobs/core/prizeRevealReminder.d.ts +2 -0
- package/dist/_internal/server/jobs/core/prizeRevealReminder.js +38 -0
- package/dist/_internal/server/jobs/core/productStatsSync.d.ts +8 -0
- package/dist/_internal/server/jobs/core/productStatsSync.js +36 -0
- package/dist/_internal/server/jobs/core/promotions.d.ts +12 -0
- package/dist/_internal/server/jobs/core/promotions.js +43 -0
- package/dist/_internal/server/jobs/core/storeAnalytics.d.ts +30 -0
- package/dist/_internal/server/jobs/core/storeAnalytics.js +109 -0
- package/dist/_internal/server/jobs/core/triggerEventRaffle.d.ts +19 -0
- package/dist/_internal/server/jobs/core/triggerEventRaffle.js +86 -0
- package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.d.ts +6 -0
- package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.js +85 -0
- package/dist/_internal/server/jobs/handlers/adminAnalytics.d.ts +2 -26
- package/dist/_internal/server/jobs/handlers/adminAnalytics.js +2 -98
- package/dist/_internal/server/jobs/handlers/assignSpinPrize.d.ts +1 -22
- package/dist/_internal/server/jobs/handlers/assignSpinPrize.js +2 -86
- package/dist/_internal/server/jobs/handlers/auctionSettlement.js +2 -70
- package/dist/_internal/server/jobs/handlers/autoPayoutEligibility.js +2 -110
- package/dist/_internal/server/jobs/handlers/bundleStockSync.d.ts +0 -16
- package/dist/_internal/server/jobs/handlers/bundleStockSync.js +2 -80
- package/dist/_internal/server/jobs/handlers/cartPrune.js +2 -13
- package/dist/_internal/server/jobs/handlers/cleanupRtdbEvents.js +2 -45
- package/dist/_internal/server/jobs/handlers/countersReconcile.js +2 -109
- package/dist/_internal/server/jobs/handlers/couponExpiry.js +2 -13
- package/dist/_internal/server/jobs/handlers/dailyDataCleanup.js +2 -20
- package/dist/_internal/server/jobs/handlers/listingProcessor.d.ts +3 -28
- package/dist/_internal/server/jobs/handlers/listingProcessor.js +3 -138
- package/dist/_internal/server/jobs/handlers/mediaTmpCleanup.d.ts +0 -12
- package/dist/_internal/server/jobs/handlers/mediaTmpCleanup.js +2 -69
- package/dist/_internal/server/jobs/handlers/notificationPrune.js +2 -13
- package/dist/_internal/server/jobs/handlers/offerExpiry.js +2 -50
- package/dist/_internal/server/jobs/handlers/onBidPlaced.d.ts +1 -10
- package/dist/_internal/server/jobs/handlers/onBidPlaced.js +2 -56
- package/dist/_internal/server/jobs/handlers/onCategoryWrite.d.ts +1 -8
- package/dist/_internal/server/jobs/handlers/onCategoryWrite.js +6 -134
- package/dist/_internal/server/jobs/handlers/onOrderCreate.d.ts +1 -12
- package/dist/_internal/server/jobs/handlers/onOrderCreate.js +2 -76
- package/dist/_internal/server/jobs/handlers/onOrderStatusChange.d.ts +1 -12
- package/dist/_internal/server/jobs/handlers/onOrderStatusChange.js +2 -139
- package/dist/_internal/server/jobs/handlers/onProductStockChange.d.ts +0 -13
- package/dist/_internal/server/jobs/handlers/onProductStockChange.js +7 -134
- package/dist/_internal/server/jobs/handlers/onProductWrite.d.ts +1 -6
- package/dist/_internal/server/jobs/handlers/onProductWrite.js +6 -106
- package/dist/_internal/server/jobs/handlers/onReviewWrite.js +2 -49
- package/dist/_internal/server/jobs/handlers/onStoreWrite.d.ts +1 -8
- package/dist/_internal/server/jobs/handlers/onStoreWrite.js +7 -8
- package/dist/_internal/server/jobs/handlers/payoutBatch.d.ts +0 -9
- package/dist/_internal/server/jobs/handlers/payoutBatch.js +2 -104
- package/dist/_internal/server/jobs/handlers/pendingOrderTimeout.d.ts +0 -6
- package/dist/_internal/server/jobs/handlers/pendingOrderTimeout.js +2 -33
- package/dist/_internal/server/jobs/handlers/positionsReconcile.d.ts +0 -5
- package/dist/_internal/server/jobs/handlers/positionsReconcile.js +2 -87
- package/dist/_internal/server/jobs/handlers/prizeRevealClose.d.ts +0 -7
- package/dist/_internal/server/jobs/handlers/prizeRevealClose.js +2 -29
- package/dist/_internal/server/jobs/handlers/prizeRevealExpiry.d.ts +0 -8
- package/dist/_internal/server/jobs/handlers/prizeRevealExpiry.js +2 -58
- package/dist/_internal/server/jobs/handlers/prizeRevealOpen.d.ts +0 -8
- package/dist/_internal/server/jobs/handlers/prizeRevealOpen.js +2 -65
- package/dist/_internal/server/jobs/handlers/prizeRevealReminder.d.ts +0 -7
- package/dist/_internal/server/jobs/handlers/prizeRevealReminder.js +2 -45
- package/dist/_internal/server/jobs/handlers/productStatsSync.d.ts +0 -6
- package/dist/_internal/server/jobs/handlers/productStatsSync.js +2 -36
- package/dist/_internal/server/jobs/handlers/promotions.d.ts +2 -10
- package/dist/_internal/server/jobs/handlers/promotions.js +2 -43
- package/dist/_internal/server/jobs/handlers/storeAnalytics.d.ts +2 -28
- package/dist/_internal/server/jobs/handlers/storeAnalytics.js +2 -109
- package/dist/_internal/server/jobs/handlers/triggerEventRaffle.d.ts +1 -28
- package/dist/_internal/server/jobs/handlers/triggerEventRaffle.js +2 -94
- package/dist/_internal/server/jobs/handlers/weeklyPayoutEligibility.d.ts +0 -6
- package/dist/_internal/server/jobs/handlers/weeklyPayoutEligibility.js +2 -87
- package/dist/_internal/server/jobs/index.d.ts +1 -0
- package/dist/_internal/server/jobs/index.js +1 -0
- package/dist/_internal/server/jobs/runtime/adapters/firebase.js +21 -0
- package/dist/_internal/shared/actions/action-registry.d.ts +84 -0
- package/dist/_internal/shared/actions/action-registry.js +160 -0
- package/dist/_internal/shared/checkout/rules/_defaults.d.ts +3 -0
- package/dist/_internal/shared/checkout/rules/_defaults.js +22 -0
- package/dist/_internal/shared/checkout/rules/_limits.d.ts +19 -0
- package/dist/_internal/shared/checkout/rules/_limits.js +19 -0
- package/dist/_internal/shared/checkout/rules/_registry.d.ts +44 -0
- package/dist/_internal/shared/checkout/rules/_registry.js +87 -0
- package/dist/_internal/shared/checkout/rules/auction.rule.d.ts +2 -0
- package/dist/_internal/shared/checkout/rules/auction.rule.js +10 -0
- package/dist/_internal/shared/checkout/rules/bundle.rule.d.ts +11 -0
- package/dist/_internal/shared/checkout/rules/bundle.rule.js +6 -0
- package/dist/_internal/shared/checkout/rules/classified.rule.d.ts +9 -0
- package/dist/_internal/shared/checkout/rules/classified.rule.js +9 -0
- package/dist/_internal/shared/checkout/rules/digital-code.rule.d.ts +8 -0
- package/dist/_internal/shared/checkout/rules/digital-code.rule.js +6 -0
- package/dist/_internal/shared/checkout/rules/index.d.ts +12 -0
- package/dist/_internal/shared/checkout/rules/index.js +12 -0
- package/dist/_internal/shared/checkout/rules/live.rule.d.ts +10 -0
- package/dist/_internal/shared/checkout/rules/live.rule.js +6 -0
- package/dist/_internal/shared/checkout/rules/offer.rule.d.ts +2 -0
- package/dist/_internal/shared/checkout/rules/offer.rule.js +9 -0
- package/dist/_internal/shared/checkout/rules/preorder.rule.d.ts +2 -0
- package/dist/_internal/shared/checkout/rules/preorder.rule.js +28 -0
- package/dist/_internal/shared/checkout/rules/prize-draw.rule.d.ts +2 -0
- package/dist/_internal/shared/checkout/rules/prize-draw.rule.js +65 -0
- package/dist/_internal/shared/checkout/rules/standard.rule.d.ts +2 -0
- package/dist/_internal/shared/checkout/rules/standard.rule.js +5 -0
- package/dist/_internal/shared/checkout/rules/types.d.ts +125 -0
- package/dist/_internal/shared/checkout/rules/types.js +13 -0
- package/dist/_internal/shared/features/cart/schema.d.ts +6 -6
- package/dist/_internal/shared/features/categories/bundle-copy.d.ts +123 -0
- package/dist/_internal/shared/features/categories/bundle-copy.js +134 -0
- package/dist/_internal/shared/features/categories/bundle-schemas.d.ts +318 -0
- package/dist/_internal/shared/features/categories/bundle-schemas.js +55 -0
- package/dist/_internal/shared/features/events/schema.d.ts +4 -4
- package/dist/_internal/shared/features/orders/refund-copy.d.ts +36 -0
- package/dist/_internal/shared/features/orders/refund-copy.js +40 -0
- package/dist/_internal/shared/features/orders/schema.d.ts +4 -4
- package/dist/_internal/shared/features/products/schema.d.ts +8 -8
- package/dist/_internal/shared/listing-types/_registry.d.ts +27 -0
- package/dist/_internal/shared/listing-types/_registry.js +8 -0
- package/dist/_internal/shared/listing-types/action-tracker.d.ts +41 -0
- package/dist/_internal/shared/listing-types/action-tracker.js +70 -0
- package/dist/_internal/shared/listing-types/capabilities.js +25 -0
- package/dist/_internal/shared/listing-types/cart-shipping.d.ts +37 -0
- package/dist/_internal/shared/listing-types/cart-shipping.js +46 -0
- package/dist/_internal/shared/listing-types/classified/config.d.ts +7 -0
- package/dist/_internal/shared/listing-types/classified/config.js +8 -0
- package/dist/_internal/shared/listing-types/classified/ctas.d.ts +1 -0
- package/dist/_internal/shared/listing-types/classified/ctas.js +3 -0
- package/dist/_internal/shared/listing-types/classified/og.d.ts +1 -0
- package/dist/_internal/shared/listing-types/classified/og.js +1 -0
- package/dist/_internal/shared/listing-types/classified/schema.d.ts +1 -0
- package/dist/_internal/shared/listing-types/classified/schema.js +1 -0
- package/dist/_internal/shared/listing-types/classified/seed-factory.d.ts +1 -0
- package/dist/_internal/shared/listing-types/classified/seed-factory.js +1 -0
- package/dist/_internal/shared/listing-types/digital-code/config.d.ts +7 -0
- package/dist/_internal/shared/listing-types/digital-code/config.js +8 -0
- package/dist/_internal/shared/listing-types/digital-code/ctas.d.ts +1 -0
- package/dist/_internal/shared/listing-types/digital-code/ctas.js +3 -0
- package/dist/_internal/shared/listing-types/digital-code/og.d.ts +1 -0
- package/dist/_internal/shared/listing-types/digital-code/og.js +1 -0
- package/dist/_internal/shared/listing-types/digital-code/schema.d.ts +1 -0
- package/dist/_internal/shared/listing-types/digital-code/schema.js +1 -0
- package/dist/_internal/shared/listing-types/digital-code/seed-factory.d.ts +1 -0
- package/dist/_internal/shared/listing-types/digital-code/seed-factory.js +1 -0
- package/dist/_internal/shared/listing-types/feature-flags.d.ts +34 -0
- package/dist/_internal/shared/listing-types/feature-flags.js +45 -0
- package/dist/_internal/shared/listing-types/live/config.d.ts +7 -0
- package/dist/_internal/shared/listing-types/live/config.js +8 -0
- package/dist/_internal/shared/listing-types/live/ctas.d.ts +1 -0
- package/dist/_internal/shared/listing-types/live/ctas.js +3 -0
- package/dist/_internal/shared/listing-types/live/og.d.ts +1 -0
- package/dist/_internal/shared/listing-types/live/og.js +1 -0
- package/dist/_internal/shared/listing-types/live/schema.d.ts +1 -0
- package/dist/_internal/shared/listing-types/live/schema.js +1 -0
- package/dist/_internal/shared/listing-types/live/seed-factory.d.ts +1 -0
- package/dist/_internal/shared/listing-types/live/seed-factory.js +1 -0
- package/dist/_internal/shared/media/limits.js +8 -0
- package/dist/client.d.ts +10 -5
- package/dist/client.js +16 -3
- package/dist/configs/next.js +7 -0
- package/dist/constants/api-endpoints.d.ts +6 -0
- package/dist/constants/api-endpoints.js +4 -0
- package/dist/core/hooks/useSyncManager.js +13 -1
- package/dist/core/unit-of-work.d.ts +1 -1
- package/dist/core/unit-of-work.js +2 -2
- package/dist/features/account/actions/address-actions.d.ts +1 -1
- package/dist/features/account/actions/address-actions.js +15 -7
- package/dist/features/account/schemas/firestore.d.ts +8 -43
- package/dist/features/account/schemas/firestore.js +8 -54
- package/dist/features/account/schemas/index.d.ts +6 -6
- package/dist/features/account/server.d.ts +1 -1
- package/dist/features/account/server.js +3 -1
- package/dist/features/addresses/index.d.ts +2 -0
- package/dist/features/addresses/index.js +2 -0
- package/dist/features/addresses/repository/addresses.repository.d.ts +29 -0
- package/dist/features/addresses/repository/addresses.repository.js +157 -0
- package/dist/features/addresses/schemas/firestore.d.ts +53 -0
- package/dist/features/addresses/schemas/firestore.js +68 -0
- package/dist/features/{bundles → addresses}/schemas/index.d.ts +0 -1
- package/dist/features/{bundles → addresses}/schemas/index.js +0 -1
- package/dist/features/addresses/server.d.ts +2 -0
- package/dist/features/addresses/server.js +2 -0
- package/dist/features/admin/components/AdminAllEventEntriesView.js +4 -3
- package/dist/features/admin/components/AdminBidsView.js +4 -3
- package/dist/features/admin/components/AdminBlogView.js +8 -3
- package/dist/features/admin/components/AdminBundleEditorView.d.ts +9 -0
- package/dist/features/admin/components/AdminBundleEditorView.js +209 -0
- package/dist/features/admin/components/AdminBundlesView.d.ts +9 -0
- package/dist/features/admin/components/AdminBundlesView.js +59 -0
- package/dist/features/admin/components/AdminCartsView.js +13 -3
- package/dist/features/admin/components/AdminContactView.js +4 -3
- package/dist/features/admin/components/AdminCouponsView.js +32 -13
- package/dist/features/admin/components/AdminNewsletterView.js +4 -3
- package/dist/features/admin/components/AdminOrdersView.js +15 -7
- package/dist/features/admin/components/AdminPayoutsView.js +4 -3
- package/dist/features/admin/components/AdminPrizeDrawsView.d.ts +4 -0
- package/dist/features/admin/components/AdminPrizeDrawsView.js +135 -0
- package/dist/features/admin/components/AdminProductsView.js +6 -5
- package/dist/features/admin/components/AdminReviewsView.js +5 -4
- package/dist/features/admin/components/AdminStoresView.js +4 -3
- package/dist/features/admin/components/AdminUsersView.js +15 -5
- package/dist/features/admin/components/AdminWishlistsView.js +10 -1
- package/dist/features/admin/components/DataTable.d.ts +5 -1
- package/dist/features/admin/components/DataTable.js +24 -20
- package/dist/features/admin/components/index.d.ts +6 -0
- package/dist/features/admin/components/index.js +5 -0
- package/dist/features/admin/constants/filter-tabs.d.ts +435 -0
- package/dist/features/admin/constants/filter-tabs.js +216 -0
- package/dist/features/admin/hooks/useAdminListingData.d.ts +1 -0
- package/dist/features/admin/hooks/useAdminListingData.js +1 -0
- package/dist/features/admin/schemas/firestore.d.ts +15 -0
- package/dist/features/admin/schemas/firestore.js +18 -0
- package/dist/features/admin/types/product.types.d.ts +2 -2
- package/dist/features/auctions/components/AuctionCard.d.ts +4 -1
- package/dist/features/auctions/components/AuctionCard.js +5 -3
- package/dist/features/auctions/components/AuctionDetailPageView.js +1 -1
- package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +2 -2
- package/dist/features/auctions/components/PlaceBidFormClient.js +12 -2
- package/dist/features/auctions/schemas/index.d.ts +2 -2
- package/dist/features/auth/index.d.ts +1 -0
- package/dist/features/auth/index.js +1 -0
- package/dist/features/auth/role-predicates.d.ts +16 -0
- package/dist/features/auth/role-predicates.js +15 -0
- package/dist/features/blog/components/BlogFeaturedCard.d.ts +4 -1
- package/dist/features/blog/components/BlogFeaturedCard.js +5 -3
- package/dist/features/cart/actions/cart-actions.d.ts +1 -0
- package/dist/features/cart/actions/cart-actions.js +16 -0
- package/dist/features/cart/components/CartView.d.ts +19 -1
- package/dist/features/cart/components/CartView.js +2 -2
- package/dist/features/cart/components/ShippingPicker.d.ts +13 -0
- package/dist/features/cart/components/ShippingPicker.js +48 -0
- package/dist/features/cart/components/index.d.ts +3 -1
- package/dist/features/cart/components/index.js +1 -0
- package/dist/features/cart/hooks/useCartCount.js +7 -1
- package/dist/features/cart/repository/cart.repository.d.ts +1 -0
- package/dist/features/cart/repository/cart.repository.js +35 -0
- package/dist/features/cart/schemas/firestore.d.ts +27 -2
- package/dist/features/categories/components/BundleAddToCartCta.d.ts +16 -0
- package/dist/features/categories/components/BundleAddToCartCta.js +54 -0
- package/dist/features/categories/components/BundleBuyNowCta.d.ts +8 -0
- package/dist/features/categories/components/BundleBuyNowCta.js +37 -0
- package/dist/features/categories/components/BundleDetailView.d.ts +22 -0
- package/dist/features/categories/components/BundleDetailView.js +31 -0
- package/dist/features/categories/components/BundleDynamicRuleEditor.d.ts +18 -0
- package/dist/features/categories/components/BundleDynamicRuleEditor.js +60 -0
- package/dist/features/categories/components/BundleItemsPicker.d.ts +26 -0
- package/dist/features/categories/components/BundleItemsPicker.js +135 -0
- package/dist/features/categories/components/BundlesListView.d.ts +13 -0
- package/dist/features/categories/components/BundlesListView.js +27 -0
- package/dist/features/categories/components/index.d.ts +12 -0
- package/dist/features/categories/components/index.js +9 -0
- package/dist/features/checkout/actions/checkout-actions.js +10 -3
- package/dist/features/events/components/AdminEventEditorView.js +108 -2
- package/dist/features/events/components/AdminEventsView.js +16 -4
- package/dist/features/events/components/EventCard.d.ts +4 -1
- package/dist/features/events/components/EventCard.js +7 -3
- package/dist/features/events/components/EventRaffleWinnerView.d.ts +21 -0
- package/dist/features/events/components/EventRaffleWinnerView.js +18 -0
- package/dist/features/events/components/SpinWheelView.d.ts +27 -0
- package/dist/features/events/components/SpinWheelView.js +64 -0
- package/dist/features/events/components/index.d.ts +4 -0
- package/dist/features/events/components/index.js +2 -0
- package/dist/features/events/schemas/firestore.d.ts +27 -1
- package/dist/features/events/schemas/firestore.js +7 -0
- package/dist/features/events/types/index.d.ts +27 -1
- package/dist/features/homepage/components/FeaturedBundlesSection.d.ts +16 -0
- package/dist/features/homepage/components/FeaturedBundlesSection.js +24 -0
- package/dist/features/homepage/components/MarketplaceHomepageView.js +4 -1
- package/dist/features/homepage/components/WhatsAppCommunitySection.js +2 -2
- package/dist/features/homepage/lib/section-renderer.d.ts +2 -0
- package/dist/features/homepage/lib/section-renderer.js +5 -5
- package/dist/features/layout/NavbarLayout.d.ts +3 -1
- package/dist/features/layout/NavbarLayout.js +32 -3
- package/dist/features/layout/TitleBarLayout.d.ts +6 -3
- package/dist/features/layout/TitleBarLayout.js +22 -7
- package/dist/features/media/upload/MediaUploadField.d.ts +15 -1
- package/dist/features/media/upload/MediaUploadField.js +22 -1
- package/dist/features/orders/components/MarketplaceOrderCard.js +4 -2
- package/dist/features/orders/components/OrderSiblingPayments.d.ts +8 -0
- package/dist/features/orders/components/OrderSiblingPayments.js +16 -0
- package/dist/features/orders/components/RefundHistoryTable.d.ts +6 -0
- package/dist/features/orders/components/RefundHistoryTable.js +23 -0
- package/dist/features/orders/components/RefundRequestView.d.ts +8 -0
- package/dist/features/orders/components/RefundRequestView.js +42 -0
- package/dist/features/orders/components/index.d.ts +6 -0
- package/dist/features/orders/components/index.js +3 -0
- package/dist/features/orders/index.d.ts +1 -0
- package/dist/features/orders/index.js +2 -0
- package/dist/features/orders/repository/orders.repository.d.ts +20 -1
- package/dist/features/orders/repository/orders.repository.js +30 -1
- package/dist/features/orders/schemas/firestore.d.ts +63 -13
- package/dist/features/orders/schemas/firestore.js +5 -5
- package/dist/features/orders/schemas/index.d.ts +4 -4
- package/dist/features/orders/types/index.d.ts +12 -2
- package/dist/features/orders/utils/bundle-grouping.d.ts +48 -0
- package/dist/features/orders/utils/bundle-grouping.js +54 -0
- package/dist/features/orders/utils/order-splitter.d.ts +9 -10
- package/dist/features/orders/utils/order-splitter.js +24 -30
- package/dist/features/payments/repository/payout.repository.d.ts +17 -1
- package/dist/features/payments/repository/payout.repository.js +47 -0
- package/dist/features/payments/schemas/firestore.d.ts +26 -0
- package/dist/features/pre-orders/components/PreorderCard.d.ts +4 -1
- package/dist/features/pre-orders/components/PreorderCard.js +8 -6
- package/dist/features/products/actions/product-actions.d.ts +1 -1
- package/dist/features/products/actions/product-actions.js +1 -1
- package/dist/features/products/components/CompareOverlay.d.ts +2 -2
- package/dist/features/products/components/CompareOverlay.js +4 -4
- package/dist/features/products/components/InteractiveProductCard.js +7 -12
- package/dist/features/products/components/NonRefundableConsentModal.d.ts +1 -1
- package/dist/features/products/components/NonRefundableConsentModal.js +0 -10
- package/dist/features/products/components/ProductGrid.js +28 -12
- package/dist/features/products/components/ShowGroupSection.js +3 -3
- package/dist/features/products/components/SublistingCarouselSection.js +2 -2
- package/dist/features/products/components/index.d.ts +0 -4
- package/dist/features/products/components/index.js +5 -2
- package/dist/features/products/index.d.ts +1 -1
- package/dist/features/products/index.js +3 -1
- package/dist/features/products/repository/products.repository.js +4 -0
- package/dist/features/products/schemas/catalog-product.d.ts +70 -0
- package/dist/features/products/schemas/catalog-product.js +50 -0
- package/dist/features/products/schemas/firestore.d.ts +110 -2
- package/dist/features/products/schemas/firestore.js +30 -0
- package/dist/features/products/schemas/index.d.ts +8 -8
- package/dist/features/products/types/index.d.ts +1 -1
- package/dist/features/products/utils/listing-type.d.ts +9 -0
- package/dist/features/products/utils/listing-type.js +4 -0
- package/dist/features/promotions/actions/coupon-actions.d.ts +2 -2
- package/dist/features/promotions/actions/coupon-actions.js +1 -1
- package/dist/features/promotions/components/CouponCard.d.ts +28 -10
- package/dist/features/promotions/components/CouponCard.js +116 -14
- package/dist/features/promotions/hooks/useCouponValidate.d.ts +1 -1
- package/dist/features/promotions/repository/coupons.repository.d.ts +1 -1
- package/dist/features/reviews/schemas/index.d.ts +2 -2
- package/dist/features/search/schemas/index.d.ts +2 -2
- package/dist/features/search/types/index.d.ts +2 -2
- package/dist/features/seller/components/SellerAuctionsView.js +4 -5
- package/dist/features/seller/components/SellerBidsView.js +5 -13
- package/dist/features/seller/components/SellerCouponsView.js +31 -67
- package/dist/features/seller/components/SellerOffersView.js +4 -5
- package/dist/features/seller/components/SellerOrdersView.js +4 -5
- package/dist/features/seller/components/SellerPayoutsView.js +4 -5
- package/dist/features/seller/components/SellerPreOrdersView.d.ts +4 -0
- package/dist/features/seller/components/SellerPreOrdersView.js +141 -0
- package/dist/features/seller/components/SellerPrizeDrawsView.d.ts +4 -0
- package/dist/features/seller/components/SellerPrizeDrawsView.js +138 -0
- package/dist/features/seller/components/SellerProductsView.js +4 -8
- package/dist/features/seller/components/index.d.ts +4 -0
- package/dist/features/seller/components/index.js +2 -0
- package/dist/features/seller/schemas/index.d.ts +2 -2
- package/dist/features/stores/actions/store-address-actions.d.ts +10 -6
- package/dist/features/stores/actions/store-address-actions.js +8 -7
- package/dist/features/stores/components/InteractiveStoreCard.js +3 -10
- package/dist/features/stores/components/StoreDetailLayoutView.js +20 -5
- package/dist/features/stores/schemas/firestore.d.ts +45 -38
- package/dist/features/stores/schemas/firestore.js +2 -49
- package/dist/features/stores/server.d.ts +0 -1
- package/dist/features/stores/server.js +2 -1
- package/dist/features/wishlist/hooks/useWishlistCount.d.ts +7 -9
- package/dist/features/wishlist/hooks/useWishlistCount.js +67 -86
- package/dist/features/wishlist/types/index.d.ts +1 -1
- package/dist/index.d.ts +56 -9
- package/dist/index.js +66 -11
- package/dist/next/routing/route-map.d.ts +6 -0
- package/dist/next/routing/route-map.js +4 -0
- package/dist/providers/db-firebase/admin.d.ts +6 -2
- package/dist/providers/db-firebase/admin.js +23 -0
- package/dist/repositories/index.d.ts +1 -2
- package/dist/repositories/index.js +5 -2
- package/dist/security/authorization.d.ts +2 -1
- package/dist/security/authorization.js +3 -2
- package/dist/seed/actions/demo-seed-actions.d.ts +1 -1
- package/dist/seed/bids-seed-data.d.ts +2 -2
- package/dist/seed/bids-seed-data.js +77 -2
- package/dist/seed/cart-seed-data.d.ts +10 -10
- package/dist/seed/cart-seed-data.js +15 -15
- package/dist/seed/events-seed-data.js +77 -0
- package/dist/seed/manifest.js +16 -8
- package/dist/seed/orders-seed-data.js +41 -2
- package/dist/seed/payouts-seed-data.js +18 -2
- package/dist/seed/stores-seed-data.js +55 -0
- package/dist/server-entry.d.ts +1 -0
- package/dist/server-entry.js +2 -0
- package/dist/server.d.ts +4 -0
- package/dist/server.js +8 -0
- package/dist/tailwind-utilities.css +1 -1
- package/dist/ui/components/FilterChipGroup.d.ts +39 -0
- package/dist/ui/components/FilterChipGroup.js +15 -0
- package/dist/ui/components/HorizontalScroller.js +32 -7
- package/dist/ui/components/HorizontalScroller.style.css +6 -0
- package/dist/ui/components/SiteLogo.js +1 -1
- package/dist/ui/index.d.ts +2 -0
- package/dist/ui/index.js +2 -0
- package/dist/utils/id-generators.d.ts +11 -0
- package/dist/utils/id-generators.js +16 -0
- package/package.json +1 -1
- package/dist/_internal/shared/features/bundles/config.d.ts +0 -6
- package/dist/_internal/shared/features/bundles/config.js +0 -6
- package/dist/_internal/shared/schema-versions.d.ts +0 -76
- package/dist/_internal/shared/schema-versions.js +0 -82
- package/dist/features/account/migrations.d.ts +0 -2
- package/dist/features/account/migrations.js +0 -10
- package/dist/features/admin/migrations.d.ts +0 -2
- package/dist/features/admin/migrations.js +0 -10
- package/dist/features/auctions/migrations.d.ts +0 -2
- package/dist/features/auctions/migrations.js +0 -10
- package/dist/features/auth/migrations.d.ts +0 -2
- package/dist/features/auth/migrations.js +0 -10
- package/dist/features/blog/migrations.d.ts +0 -2
- package/dist/features/blog/migrations.js +0 -10
- package/dist/features/brands/actions/brand-actions.d.ts +0 -2
- package/dist/features/brands/actions/brand-actions.js +0 -5
- package/dist/features/brands/index.d.ts +0 -3
- package/dist/features/brands/index.js +0 -3
- package/dist/features/brands/migrations.d.ts +0 -2
- package/dist/features/brands/migrations.js +0 -10
- package/dist/features/brands/repository/brands.repository.d.ts +0 -13
- package/dist/features/brands/repository/brands.repository.js +0 -60
- package/dist/features/brands/schemas/index.d.ts +0 -33
- package/dist/features/brands/schemas/index.js +0 -15
- package/dist/features/brands/server.d.ts +0 -7
- package/dist/features/brands/server.js +0 -7
- package/dist/features/bundles/components/AdminBundleEditorView.d.ts +0 -8
- package/dist/features/bundles/components/AdminBundleEditorView.js +0 -7
- package/dist/features/bundles/components/BundleDetailPageView.d.ts +0 -9
- package/dist/features/bundles/components/BundleDetailPageView.js +0 -45
- package/dist/features/bundles/components/BundleForm.d.ts +0 -12
- package/dist/features/bundles/components/BundleForm.js +0 -126
- package/dist/features/bundles/components/BundleItemsPicker.d.ts +0 -9
- package/dist/features/bundles/components/BundleItemsPicker.js +0 -77
- package/dist/features/bundles/components/BundlesByCategoryListing.d.ts +0 -6
- package/dist/features/bundles/components/BundlesByCategoryListing.js +0 -50
- package/dist/features/bundles/components/BundlesListingView.d.ts +0 -17
- package/dist/features/bundles/components/BundlesListingView.js +0 -50
- package/dist/features/bundles/components/FeaturedBundlesSection.d.ts +0 -5
- package/dist/features/bundles/components/FeaturedBundlesSection.js +0 -55
- package/dist/features/bundles/components/SellerBundleCreateView.d.ts +0 -8
- package/dist/features/bundles/components/SellerBundleCreateView.js +0 -7
- package/dist/features/bundles/components/SellerBundleEditView.d.ts +0 -9
- package/dist/features/bundles/components/SellerBundleEditView.js +0 -7
- package/dist/features/bundles/components/index.d.ts +0 -18
- package/dist/features/bundles/components/index.js +0 -9
- package/dist/features/bundles/constants/index.d.ts +0 -32
- package/dist/features/bundles/constants/index.js +0 -35
- package/dist/features/bundles/index.d.ts +0 -2
- package/dist/features/bundles/index.js +0 -2
- package/dist/features/bundles/migrations.d.ts +0 -2
- package/dist/features/bundles/migrations.js +0 -10
- package/dist/features/bundles/repository/bundles.repository.d.ts +0 -36
- package/dist/features/bundles/repository/bundles.repository.js +0 -148
- package/dist/features/bundles/repository/index.d.ts +0 -1
- package/dist/features/bundles/repository/index.js +0 -1
- package/dist/features/bundles/schemas/firestore.d.ts +0 -88
- package/dist/features/bundles/schemas/firestore.js +0 -29
- package/dist/features/bundles/schemas/zod.d.ts +0 -377
- package/dist/features/bundles/schemas/zod.js +0 -71
- package/dist/features/cart/migrations.d.ts +0 -2
- package/dist/features/cart/migrations.js +0 -10
- package/dist/features/categories/migrations.d.ts +0 -2
- package/dist/features/categories/migrations.js +0 -10
- package/dist/features/events/migrations.d.ts +0 -2
- package/dist/features/events/migrations.js +0 -10
- package/dist/features/faq/migrations.d.ts +0 -2
- package/dist/features/faq/migrations.js +0 -10
- package/dist/features/grouped/migrations.d.ts +0 -2
- package/dist/features/grouped/migrations.js +0 -10
- package/dist/features/history/migrations.d.ts +0 -2
- package/dist/features/history/migrations.js +0 -10
- package/dist/features/messages/migrations.d.ts +0 -2
- package/dist/features/messages/migrations.js +0 -10
- package/dist/features/orders/migrations.d.ts +0 -2
- package/dist/features/orders/migrations.js +0 -10
- package/dist/features/payments/migrations.d.ts +0 -2
- package/dist/features/payments/migrations.js +0 -10
- package/dist/features/products/migrations.d.ts +0 -2
- package/dist/features/products/migrations.js +0 -10
- package/dist/features/products/repository/sublisting-categories.repository.d.ts +0 -16
- package/dist/features/products/repository/sublisting-categories.repository.js +0 -126
- package/dist/features/products/schemas/sublisting-categories.d.ts +0 -45
- package/dist/features/products/schemas/sublisting-categories.js +0 -16
- package/dist/features/promotions/migrations.d.ts +0 -2
- package/dist/features/promotions/migrations.js +0 -10
- package/dist/features/reviews/migrations.d.ts +0 -2
- package/dist/features/reviews/migrations.js +0 -10
- package/dist/features/scams/migrations.d.ts +0 -2
- package/dist/features/scams/migrations.js +0 -10
- package/dist/features/seller/migrations.d.ts +0 -2
- package/dist/features/seller/migrations.js +0 -10
- package/dist/features/stores/migrations.d.ts +0 -2
- package/dist/features/stores/migrations.js +0 -10
- package/dist/features/sublisting/migrations.d.ts +0 -2
- package/dist/features/sublisting/migrations.js +0 -10
- package/dist/features/sublisting/schemas/firestore.d.ts +0 -32
- package/dist/features/sublisting/schemas/firestore.js +0 -19
- package/dist/features/support/migrations.d.ts +0 -2
- package/dist/features/support/migrations.js +0 -10
- package/dist/features/wishlist/migrations.d.ts +0 -2
- package/dist/features/wishlist/migrations.js +0 -10
- package/dist/seed/_bundle-constants.d.ts +0 -14
- package/dist/seed/_bundle-constants.js +0 -14
- package/dist/seed/anime-figures-seed-data.d.ts +0 -8
- package/dist/seed/anime-figures-seed-data.js +0 -1033
- package/dist/seed/beyblade-seed-data.d.ts +0 -7
- package/dist/seed/beyblade-seed-data.js +0 -1129
- package/dist/seed/brands-seed-data.d.ts +0 -7
- package/dist/seed/brands-seed-data.js +0 -410
- package/dist/seed/bundles-seed-data.d.ts +0 -13
- package/dist/seed/bundles-seed-data.js +0 -229
- package/dist/seed/cosplay-accessories-seed-data.d.ts +0 -8
- package/dist/seed/cosplay-accessories-seed-data.js +0 -647
- package/dist/seed/hot-wheels-seed-data.d.ts +0 -7
- package/dist/seed/hot-wheels-seed-data.js +0 -1612
- package/dist/seed/letitrip-official-seed-data.d.ts +0 -8
- package/dist/seed/letitrip-official-seed-data.js +0 -399
- package/dist/seed/pokemon-carousel-slides-seed-data.d.ts +0 -8
- package/dist/seed/pokemon-carousel-slides-seed-data.js +0 -322
- package/dist/seed/pokemon-categories-seed-data.d.ts +0 -24
- package/dist/seed/pokemon-categories-seed-data.js +0 -547
- package/dist/seed/pokemon-coupons-seed-data.d.ts +0 -6
- package/dist/seed/pokemon-coupons-seed-data.js +0 -465
- package/dist/seed/pokemon-homepage-sections-seed-data.d.ts +0 -7
- package/dist/seed/pokemon-homepage-sections-seed-data.js +0 -241
- package/dist/seed/pokemon-products-seed-data.d.ts +0 -9
- package/dist/seed/pokemon-products-seed-data.js +0 -1791
- package/dist/seed/pokemon-seed-bundle.d.ts +0 -47
- package/dist/seed/pokemon-seed-bundle.js +0 -71
- package/dist/seed/pokemon-stores-seed-data.d.ts +0 -6
- package/dist/seed/pokemon-stores-seed-data.js +0 -179
- package/dist/seed/pokemon-users-seed-data.d.ts +0 -6
- package/dist/seed/pokemon-users-seed-data.js +0 -521
- package/dist/seed/products-seed-data.d.ts +0 -6
- package/dist/seed/products-seed-data.js +0 -2530
- package/dist/seed/retro-gaming-seed-data.d.ts +0 -8
- package/dist/seed/retro-gaming-seed-data.js +0 -801
- package/dist/seed/server.d.ts +0 -2
- package/dist/seed/server.js +0 -7
- package/dist/seed/sublisting-categories-seed-data.d.ts +0 -7
- package/dist/seed/sublisting-categories-seed-data.js +0 -159
- package/dist/seed/transformers-seed-data.d.ts +0 -7
- package/dist/seed/transformers-seed-data.js +0 -530
|
@@ -1,126 +0,0 @@
|
|
|
1
|
-
import { DatabaseError } from "../../../errors";
|
|
2
|
-
import { BaseRepository, prepareForFirestore, } from "../../../providers/db-firebase";
|
|
3
|
-
import { SUBLISTING_CATEGORIES_COLLECTION, SUBLISTING_CATEGORY_PREFIX, } from "../schemas/sublisting-categories";
|
|
4
|
-
import { PRODUCT_COLLECTION } from "../schemas/firestore";
|
|
5
|
-
function slugify(name) {
|
|
6
|
-
return name
|
|
7
|
-
.toLowerCase()
|
|
8
|
-
.trim()
|
|
9
|
-
.replace(/[^a-z0-9]+/g, "-")
|
|
10
|
-
.replace(/^-+|-+$/g, "");
|
|
11
|
-
}
|
|
12
|
-
export class SublistingCategoriesRepository extends BaseRepository {
|
|
13
|
-
constructor() {
|
|
14
|
-
super(SUBLISTING_CATEGORIES_COLLECTION);
|
|
15
|
-
}
|
|
16
|
-
generateId(name) {
|
|
17
|
-
const base = slugify(name);
|
|
18
|
-
return base.startsWith(SUBLISTING_CATEGORY_PREFIX)
|
|
19
|
-
? base
|
|
20
|
-
: `${SUBLISTING_CATEGORY_PREFIX}${base}`;
|
|
21
|
-
}
|
|
22
|
-
async list(model) {
|
|
23
|
-
return this.sieveQuery(model, SublistingCategoriesRepository.SIEVE_FIELDS);
|
|
24
|
-
}
|
|
25
|
-
async findBySlug(slug) {
|
|
26
|
-
try {
|
|
27
|
-
const snapshot = await this.db
|
|
28
|
-
.collection(this.collection)
|
|
29
|
-
.where("slug", "==", slug)
|
|
30
|
-
.limit(1)
|
|
31
|
-
.get();
|
|
32
|
-
if (snapshot.empty)
|
|
33
|
-
return null;
|
|
34
|
-
return this.mapDoc(snapshot.docs[0]);
|
|
35
|
-
}
|
|
36
|
-
catch (error) {
|
|
37
|
-
throw new DatabaseError(`Failed to find sublisting category by slug: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
async create(input) {
|
|
41
|
-
try {
|
|
42
|
-
const id = this.generateId(input.name);
|
|
43
|
-
const now = new Date();
|
|
44
|
-
const doc = {
|
|
45
|
-
...input,
|
|
46
|
-
slug: id,
|
|
47
|
-
productCount: 0,
|
|
48
|
-
createdAt: now,
|
|
49
|
-
updatedAt: now,
|
|
50
|
-
};
|
|
51
|
-
await this.db
|
|
52
|
-
.collection(this.collection)
|
|
53
|
-
.doc(id)
|
|
54
|
-
.set(prepareForFirestore(doc));
|
|
55
|
-
return this.findByIdOrFail(id);
|
|
56
|
-
}
|
|
57
|
-
catch (error) {
|
|
58
|
-
throw new DatabaseError(`Failed to create sublisting category: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
59
|
-
}
|
|
60
|
-
}
|
|
61
|
-
async update(id, input) {
|
|
62
|
-
try {
|
|
63
|
-
await this.db
|
|
64
|
-
.collection(this.collection)
|
|
65
|
-
.doc(id)
|
|
66
|
-
.update({ ...input, updatedAt: new Date() });
|
|
67
|
-
return this.findByIdOrFail(id);
|
|
68
|
-
}
|
|
69
|
-
catch (error) {
|
|
70
|
-
throw new DatabaseError(`Failed to update sublisting category: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
async delete(id) {
|
|
74
|
-
try {
|
|
75
|
-
const batch = this.db.batch();
|
|
76
|
-
// Unlink all member products before deleting the category
|
|
77
|
-
const membersSnap = await this.db
|
|
78
|
-
.collection(PRODUCT_COLLECTION)
|
|
79
|
-
.where("sublistingCategoryId", "==", id)
|
|
80
|
-
.get();
|
|
81
|
-
for (const doc of membersSnap.docs) {
|
|
82
|
-
batch.update(doc.ref, { sublistingCategoryId: null, updatedAt: new Date() });
|
|
83
|
-
}
|
|
84
|
-
batch.delete(this.db.collection(this.collection).doc(id));
|
|
85
|
-
await batch.commit();
|
|
86
|
-
}
|
|
87
|
-
catch (error) {
|
|
88
|
-
throw new DatabaseError(`Failed to delete sublisting category: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
/** Returns products/auctions/pre-orders with matching sublistingCategoryId, ordered by price asc. */
|
|
92
|
-
async getListingsByCategoryId(categoryId, limit = 20) {
|
|
93
|
-
try {
|
|
94
|
-
const snap = await this.db
|
|
95
|
-
.collection(PRODUCT_COLLECTION)
|
|
96
|
-
.where("sublistingCategoryId", "==", categoryId)
|
|
97
|
-
.where("status", "==", "published")
|
|
98
|
-
.orderBy("price", "asc")
|
|
99
|
-
.limit(limit)
|
|
100
|
-
.get();
|
|
101
|
-
return snap.docs.map((d) => ({ id: d.id, ...d.data() }));
|
|
102
|
-
}
|
|
103
|
-
catch (error) {
|
|
104
|
-
throw new DatabaseError(`Failed to get listings for category ${categoryId}: ${error instanceof Error ? error.message : "Unknown error"}`);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
async incrementProductCount(id, delta) {
|
|
108
|
-
try {
|
|
109
|
-
const { increment } = await import("../../../contracts/field-ops");
|
|
110
|
-
await this.db
|
|
111
|
-
.collection(this.collection)
|
|
112
|
-
.doc(id)
|
|
113
|
-
.update({ productCount: increment(delta), updatedAt: new Date() });
|
|
114
|
-
}
|
|
115
|
-
catch {
|
|
116
|
-
// Fire-and-forget — count drift is acceptable; a nightly job can reconcile
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
SublistingCategoriesRepository.SIEVE_FIELDS = {
|
|
121
|
-
name: { canFilter: true, canSort: true },
|
|
122
|
-
slug: { canFilter: true, canSort: false },
|
|
123
|
-
productCount: { canFilter: false, canSort: true },
|
|
124
|
-
createdAt: { canFilter: false, canSort: true },
|
|
125
|
-
};
|
|
126
|
-
export const sublistingCategoriesRepository = new SublistingCategoriesRepository();
|
|
@@ -1,45 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sub-listing Categories — Firestore schema
|
|
3
|
-
*
|
|
4
|
-
* A sub-listing category is a named bucket that groups independent listings of the
|
|
5
|
-
* same real-world collectible across conditions, grades, prices, and sellers.
|
|
6
|
-
* Each listing stays a full product/auction/pre-order — the category is just the
|
|
7
|
-
* thread linking them (e.g. "Base Set Charizard 108/120").
|
|
8
|
-
*/
|
|
9
|
-
export declare const SUBLISTING_CATEGORIES_COLLECTION: "sublistingCategories";
|
|
10
|
-
export declare const SUBLISTING_CATEGORY_PREFIX: "sublisting-";
|
|
11
|
-
export interface SublistingCategoryDocument {
|
|
12
|
-
id: string;
|
|
13
|
-
slug: string;
|
|
14
|
-
name: string;
|
|
15
|
-
/** Card set code or grade label, e.g. "108/120", "PSA 10" */
|
|
16
|
-
itemCode?: string;
|
|
17
|
-
description?: string;
|
|
18
|
-
/** /media/<slug> proxy URL */
|
|
19
|
-
coverImage?: string;
|
|
20
|
-
/** Denormalised count — updated on member add/remove */
|
|
21
|
-
productCount: number;
|
|
22
|
-
createdAt: Date;
|
|
23
|
-
updatedAt: Date;
|
|
24
|
-
createdBy: string;
|
|
25
|
-
}
|
|
26
|
-
export type SublistingCategoryCreateInput = Omit<SublistingCategoryDocument, "id" | "productCount" | "createdAt" | "updatedAt">;
|
|
27
|
-
export type SublistingCategoryUpdateInput = Partial<Pick<SublistingCategoryDocument, "name" | "itemCode" | "description" | "coverImage">>;
|
|
28
|
-
export declare const SUBLISTING_CATEGORY_SIEVE_FIELDS: {
|
|
29
|
-
readonly name: {
|
|
30
|
-
readonly canFilter: true;
|
|
31
|
-
readonly canSort: true;
|
|
32
|
-
};
|
|
33
|
-
readonly slug: {
|
|
34
|
-
readonly canFilter: true;
|
|
35
|
-
readonly canSort: false;
|
|
36
|
-
};
|
|
37
|
-
readonly productCount: {
|
|
38
|
-
readonly canFilter: false;
|
|
39
|
-
readonly canSort: true;
|
|
40
|
-
};
|
|
41
|
-
readonly createdAt: {
|
|
42
|
-
readonly canFilter: false;
|
|
43
|
-
readonly canSort: true;
|
|
44
|
-
};
|
|
45
|
-
};
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sub-listing Categories — Firestore schema
|
|
3
|
-
*
|
|
4
|
-
* A sub-listing category is a named bucket that groups independent listings of the
|
|
5
|
-
* same real-world collectible across conditions, grades, prices, and sellers.
|
|
6
|
-
* Each listing stays a full product/auction/pre-order — the category is just the
|
|
7
|
-
* thread linking them (e.g. "Base Set Charizard 108/120").
|
|
8
|
-
*/
|
|
9
|
-
export const SUBLISTING_CATEGORIES_COLLECTION = "sublistingCategories";
|
|
10
|
-
export const SUBLISTING_CATEGORY_PREFIX = "sublisting-";
|
|
11
|
-
export const SUBLISTING_CATEGORY_SIEVE_FIELDS = {
|
|
12
|
-
name: { canFilter: true, canSort: true },
|
|
13
|
-
slug: { canFilter: true, canSort: false },
|
|
14
|
-
productCount: { canFilter: false, canSort: true },
|
|
15
|
-
createdAt: { canFilter: false, canSort: true },
|
|
16
|
-
};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
// SB-UNI X3 — migrations shell for coupon/couponUsage.
|
|
2
|
-
// v1 schema is current; no migrations needed yet.
|
|
3
|
-
//
|
|
4
|
-
// To add a migration:
|
|
5
|
-
// 1. Bump the relevant SCHEMA_VERSIONS entry in
|
|
6
|
-
// `_internal/shared/schema-versions.ts` (e.g. `promotions: 2`)
|
|
7
|
-
// 2. Add a row below keyed by the FROM-version, returning the upgraded doc
|
|
8
|
-
// 3. Repository wraps reads with `migrateDocument(doc, current, migrations)`
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
-
export const migrations = {};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
// SB-UNI X3 — migrations shell for review.
|
|
2
|
-
// v1 schema is current; no migrations needed yet.
|
|
3
|
-
//
|
|
4
|
-
// To add a migration:
|
|
5
|
-
// 1. Bump the relevant SCHEMA_VERSIONS entry in
|
|
6
|
-
// `_internal/shared/schema-versions.ts` (e.g. `reviews: 2`)
|
|
7
|
-
// 2. Add a row below keyed by the FROM-version, returning the upgraded doc
|
|
8
|
-
// 3. Repository wraps reads with `migrateDocument(doc, current, migrations)`
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
-
export const migrations = {};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
// SB-UNI X3 — migrations shell for scammer/incident/comment/contest.
|
|
2
|
-
// v1 schema is current; no migrations needed yet.
|
|
3
|
-
//
|
|
4
|
-
// To add a migration:
|
|
5
|
-
// 1. Bump the relevant SCHEMA_VERSIONS entry in
|
|
6
|
-
// `_internal/shared/schema-versions.ts` (e.g. `scams: 2`)
|
|
7
|
-
// 2. Add a row below keyed by the FROM-version, returning the upgraded doc
|
|
8
|
-
// 3. Repository wraps reads with `migrateDocument(doc, current, migrations)`
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
-
export const migrations = {};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
// SB-UNI X3 — migrations shell for offer.
|
|
2
|
-
// v1 schema is current; no migrations needed yet.
|
|
3
|
-
//
|
|
4
|
-
// To add a migration:
|
|
5
|
-
// 1. Bump the relevant SCHEMA_VERSIONS entry in
|
|
6
|
-
// `_internal/shared/schema-versions.ts` (e.g. `seller: 2`)
|
|
7
|
-
// 2. Add a row below keyed by the FROM-version, returning the upgraded doc
|
|
8
|
-
// 3. Repository wraps reads with `migrateDocument(doc, current, migrations)`
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
-
export const migrations = {};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
// SB-UNI X3 — migrations shell for store/storeAddress.
|
|
2
|
-
// v1 schema is current; no migrations needed yet.
|
|
3
|
-
//
|
|
4
|
-
// To add a migration:
|
|
5
|
-
// 1. Bump the relevant SCHEMA_VERSIONS entry in
|
|
6
|
-
// `_internal/shared/schema-versions.ts` (e.g. `stores: 2`)
|
|
7
|
-
// 2. Add a row below keyed by the FROM-version, returning the upgraded doc
|
|
8
|
-
// 3. Repository wraps reads with `migrateDocument(doc, current, migrations)`
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
-
export const migrations = {};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
// SB-UNI X3 — migrations shell for sublistingCategory.
|
|
2
|
-
// v1 schema is current; no migrations needed yet.
|
|
3
|
-
//
|
|
4
|
-
// To add a migration:
|
|
5
|
-
// 1. Bump the relevant SCHEMA_VERSIONS entry in
|
|
6
|
-
// `_internal/shared/schema-versions.ts` (e.g. `sublisting: 2`)
|
|
7
|
-
// 2. Add a row below keyed by the FROM-version, returning the upgraded doc
|
|
8
|
-
// 3. Repository wraps reads with `migrateDocument(doc, current, migrations)`
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
-
export const migrations = {};
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sublisting Categories Firestore Document Types & Constants
|
|
3
|
-
*
|
|
4
|
-
* Sublisting categories are curated sub-collections within a root/leaf category.
|
|
5
|
-
* Examples: "Base Set (102/102)" within Trading Cards, "Vintage Redlines 1968–1977"
|
|
6
|
-
* within Diecast Vehicles. Products are associated via SublistingCategoryDocument.productIds
|
|
7
|
-
* OR via `sublistingCategoryId` on the product document.
|
|
8
|
-
*
|
|
9
|
-
* Used in Session 85 (SC1–SC4).
|
|
10
|
-
*/
|
|
11
|
-
export interface SublistingCategoryDocument {
|
|
12
|
-
/** SB-UNI X3 schema-version handle; absent reads as v1. */
|
|
13
|
-
schemaVersion?: number;
|
|
14
|
-
id: string;
|
|
15
|
-
slug: string;
|
|
16
|
-
title: string;
|
|
17
|
-
parentCategorySlug: string;
|
|
18
|
-
rootCategorySlug: string;
|
|
19
|
-
description?: string;
|
|
20
|
-
coverImage?: string;
|
|
21
|
-
sortOrder: number;
|
|
22
|
-
isActive: boolean;
|
|
23
|
-
isFeatured: boolean;
|
|
24
|
-
productCount: number;
|
|
25
|
-
productIds?: string[];
|
|
26
|
-
seoTitle?: string;
|
|
27
|
-
seoDescription?: string;
|
|
28
|
-
createdAt: Date;
|
|
29
|
-
updatedAt: Date;
|
|
30
|
-
}
|
|
31
|
-
export declare const SUBLISTING_CATEGORIES_COLLECTION: "sublistingCategories";
|
|
32
|
-
export declare const SUBLISTING_CATEGORIES_INDEXED_FIELDS: readonly ["parentCategorySlug", "rootCategorySlug", "isActive", "isFeatured", "sortOrder", "createdAt"];
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Sublisting Categories Firestore Document Types & Constants
|
|
3
|
-
*
|
|
4
|
-
* Sublisting categories are curated sub-collections within a root/leaf category.
|
|
5
|
-
* Examples: "Base Set (102/102)" within Trading Cards, "Vintage Redlines 1968–1977"
|
|
6
|
-
* within Diecast Vehicles. Products are associated via SublistingCategoryDocument.productIds
|
|
7
|
-
* OR via `sublistingCategoryId` on the product document.
|
|
8
|
-
*
|
|
9
|
-
* Used in Session 85 (SC1–SC4).
|
|
10
|
-
*/
|
|
11
|
-
export const SUBLISTING_CATEGORIES_COLLECTION = "sublistingCategories";
|
|
12
|
-
export const SUBLISTING_CATEGORIES_INDEXED_FIELDS = [
|
|
13
|
-
"parentCategorySlug",
|
|
14
|
-
"rootCategorySlug",
|
|
15
|
-
"isActive",
|
|
16
|
-
"isFeatured",
|
|
17
|
-
"sortOrder",
|
|
18
|
-
"createdAt",
|
|
19
|
-
];
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
// SB-UNI X3 — migrations shell for supportTicket.
|
|
2
|
-
// v1 schema is current; no migrations needed yet.
|
|
3
|
-
//
|
|
4
|
-
// To add a migration:
|
|
5
|
-
// 1. Bump the relevant SCHEMA_VERSIONS entry in
|
|
6
|
-
// `_internal/shared/schema-versions.ts` (e.g. `support: 2`)
|
|
7
|
-
// 2. Add a row below keyed by the FROM-version, returning the upgraded doc
|
|
8
|
-
// 3. Repository wraps reads with `migrateDocument(doc, current, migrations)`
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
-
export const migrations = {};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
// SB-UNI X3 — migrations shell for wishlist.
|
|
2
|
-
// v1 schema is current; no migrations needed yet.
|
|
3
|
-
//
|
|
4
|
-
// To add a migration:
|
|
5
|
-
// 1. Bump the relevant SCHEMA_VERSIONS entry in
|
|
6
|
-
// `_internal/shared/schema-versions.ts` (e.g. `wishlist: 2`)
|
|
7
|
-
// 2. Add a row below keyed by the FROM-version, returning the upgraded doc
|
|
8
|
-
// 3. Repository wraps reads with `migrateDocument(doc, current, migrations)`
|
|
9
|
-
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
10
|
-
export const migrations = {};
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared seed-side constants for bundle fixtures. Kept out of feature code so
|
|
3
|
-
* the seed package doesn't leak fixture-only IDs into runtime imports.
|
|
4
|
-
*/
|
|
5
|
-
/** Slug-prefix enforced on every bundle document. */
|
|
6
|
-
export declare const BUNDLE_PREFIX: "bundle-";
|
|
7
|
-
/**
|
|
8
|
-
* Minimum + maximum items per bundle — mirrored from the Zod schema in
|
|
9
|
-
* `appkit/src/features/products/schemas/index.ts`. Re-declared here to keep the
|
|
10
|
-
* seed authoring assertions self-contained (a test util can `expect(items.length)
|
|
11
|
-
* .toBeGreaterThanOrEqual(BUNDLE_MIN_ITEMS)`).
|
|
12
|
-
*/
|
|
13
|
-
export declare const BUNDLE_MIN_ITEMS: 3;
|
|
14
|
-
export declare const BUNDLE_MAX_ITEMS: 16;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Shared seed-side constants for bundle fixtures. Kept out of feature code so
|
|
3
|
-
* the seed package doesn't leak fixture-only IDs into runtime imports.
|
|
4
|
-
*/
|
|
5
|
-
/** Slug-prefix enforced on every bundle document. */
|
|
6
|
-
export const BUNDLE_PREFIX = "bundle-";
|
|
7
|
-
/**
|
|
8
|
-
* Minimum + maximum items per bundle — mirrored from the Zod schema in
|
|
9
|
-
* `appkit/src/features/products/schemas/index.ts`. Re-declared here to keep the
|
|
10
|
-
* seed authoring assertions self-contained (a test util can `expect(items.length)
|
|
11
|
-
* .toBeGreaterThanOrEqual(BUNDLE_MIN_ITEMS)`).
|
|
12
|
-
*/
|
|
13
|
-
export const BUNDLE_MIN_ITEMS = 3;
|
|
14
|
-
export const BUNDLE_MAX_ITEMS = 16;
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Anime Figures — Products Seed Data
|
|
3
|
-
* Dragon Ball Z · Naruto · One Piece · My Hero Academia
|
|
4
|
-
* 22 general · 2 auctions · 2 pre-orders = 26 total
|
|
5
|
-
* Seller: Anime Vault India (store-anime-vault-india)
|
|
6
|
-
*/
|
|
7
|
-
import type { ProductDocument } from "../features/products/schemas";
|
|
8
|
-
export declare const animeFiguresSeedData: Partial<ProductDocument>[];
|