@mohasinac/appkit 4.57.0 → 4.59.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.
- package/dist/.build-stamp.json +4 -4
- package/dist/_internal/server/features/beys/data.d.ts +44 -0
- package/dist/_internal/server/features/beys/data.js +107 -0
- package/dist/_internal/server/features/beys/og.d.ts +42 -0
- package/dist/_internal/server/features/beys/og.js +89 -0
- package/dist/_internal/server/features/parts/data.js +3 -2
- package/dist/_internal/server/jobs/handlers/messages.d.ts +1 -1
- package/dist/_internal/server/jobs/handlers/messages.js +1 -1
- package/dist/_internal/shared/actions/action-registry.d.ts +1 -1
- package/dist/_internal/shared/actions/action-registry.js +86 -0
- package/dist/_internal/shared/types/base-document.d.ts +1 -1
- package/dist/client.d.ts +2 -0
- package/dist/client.js +1 -0
- package/dist/constants/api-endpoints.d.ts +12 -0
- package/dist/constants/api-endpoints.js +10 -0
- package/dist/constants/field-names.d.ts +46 -0
- package/dist/constants/field-names.js +46 -0
- package/dist/constants/seed-meta.d.ts +113 -0
- package/dist/constants/seed-meta.js +91 -0
- package/dist/features/admin/components/AdminBeysView.d.ts +27 -0
- package/dist/features/admin/components/AdminBeysView.js +178 -0
- package/dist/features/admin/components/AdminPartsView.d.ts +27 -0
- package/dist/features/admin/components/AdminPartsView.js +160 -0
- package/dist/features/admin/components/OwnerQuickActions.d.ts +19 -2
- package/dist/features/admin/components/OwnerQuickActions.js +31 -3
- package/dist/features/admin/components/RecordOwnerQuickActions.d.ts +31 -0
- package/dist/features/admin/components/RecordOwnerQuickActions.js +128 -0
- package/dist/features/admin/components/ReferenceRecordEditor.d.ts +45 -0
- package/dist/features/admin/components/ReferenceRecordEditor.js +153 -0
- package/dist/features/admin/schemas/firestore.d.ts +1 -1
- package/dist/features/auctions/components/MarketplaceAuctionCard.js +15 -2
- package/dist/features/auth/permissions/constants.d.ts +1 -1
- package/dist/features/auth/permissions/constants.js +12 -1
- package/dist/features/beys/components/BeyDetailPageView.d.ts +50 -0
- package/dist/features/beys/components/BeyDetailPageView.js +98 -0
- package/dist/features/beys/schemas/firestore.d.ts +417 -0
- package/dist/features/beys/schemas/firestore.js +65 -0
- package/dist/features/blog/components/BlogFeaturedCard.js +15 -2
- package/dist/features/blog/components/BlogPostView.js +2 -2
- package/dist/features/categories/components/BrandDetailPageView.js +4 -2
- package/dist/features/categories/components/BundleDetailView.js +2 -2
- package/dist/features/categories/components/CategoryDetailPageView.js +36 -3
- package/dist/features/categories/components/CategoryGrid.js +24 -2
- package/dist/features/categories/components/FranchiseDetailPageView.js +2 -3
- package/dist/features/events/components/EventCard.js +15 -2
- package/dist/features/grouped/components/GroupedListingDetailView.js +2 -3
- package/dist/features/homepage/components/CustomCardsSection.js +67 -50
- package/dist/features/homepage/components/ShopByCategorySection.js +23 -10
- package/dist/features/homepage/schemas/index.d.ts +10 -10
- package/dist/features/parts/components/PartDetailPageView.js +5 -3
- package/dist/features/parts/components/PartsSearchBox.js +79 -4
- package/dist/features/parts/schemas/admin-edit.d.ts +81 -0
- package/dist/features/parts/schemas/admin-edit.js +89 -0
- package/dist/features/parts/schemas/firestore.d.ts +2 -1
- package/dist/features/pre-orders/components/MarketplacePreorderCard.js +15 -2
- package/dist/features/products/components/MarketplaceBundleCard.js +15 -2
- package/dist/features/products/components/MarketplacePrizeDrawCard.js +15 -2
- package/dist/features/products/components/ProductGrid.js +18 -2
- package/dist/features/products/schemas/firestore.d.ts +18 -0
- package/dist/features/seller/components/CategoryInlineSelect.d.ts +10 -1
- package/dist/features/seller/components/CategoryInlineSelect.js +53 -5
- package/dist/features/seller/components/SellerProductShell.d.ts +39 -0
- package/dist/features/seller/components/SellerProductShell.js +31 -3
- package/dist/index.d.ts +6 -129
- package/dist/index.js +61 -292
- package/dist/next/routing/route-map.d.ts +13 -1
- package/dist/next/routing/route-map.js +37 -0
- package/dist/schemas/registry.d.ts +6 -6
- package/dist/server.d.ts +2 -69
- package/dist/server.js +8 -69
- package/dist/styles.css +468 -1
- package/dist/tailwind-utilities.css +1 -1
- package/dist/ui/components/PosterCard.d.ts +99 -0
- package/dist/ui/components/PosterCard.js +109 -0
- package/dist/ui/components/PosterCard.style.css +466 -0
- package/dist/ui/components/index.style.css +1 -0
- package/dist/ui/index.d.ts +2 -0
- package/dist/ui/index.js +2 -0
- package/package.json +4 -2
- package/scripts/seed-cli.mjs +177 -2
- package/dist/features/tester/seed-data/_happy-path.d.ts +0 -23
- package/dist/features/tester/seed-data/_happy-path.js +0 -710
- package/dist/features/tester/seed-data/_money-flows.d.ts +0 -23
- package/dist/features/tester/seed-data/_money-flows.js +0 -610
- package/dist/features/tester/seed-data/authored/_types.d.ts +0 -57
- package/dist/features/tester/seed-data/authored/_types.js +0 -35
- package/dist/features/tester/seed-data/authored/account-auth__profile-settings.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/account-auth__profile-settings.js +0 -226
- package/dist/features/tester/seed-data/authored/account-auth__signup-login.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/account-auth__signup-login.js +0 -329
- package/dist/features/tester/seed-data/authored/addresses__address-filters.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__address-filters.js +0 -41
- package/dist/features/tester/seed-data/authored/addresses__postal-lookup.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__postal-lookup.js +0 -76
- package/dist/features/tester/seed-data/authored/addresses__postal-validation.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__postal-validation.js +0 -78
- package/dist/features/tester/seed-data/authored/addresses__state-picker.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__state-picker.js +0 -59
- package/dist/features/tester/seed-data/authored/addresses__unban-request.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/addresses__unban-request.js +0 -77
- package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__admin-detail-round-trips.js +0 -151
- package/dist/features/tester/seed-data/authored/admin__bans-and-trust.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__bans-and-trust.js +0 -265
- package/dist/features/tester/seed-data/authored/admin__blog-faqs.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__blog-faqs.js +0 -131
- package/dist/features/tester/seed-data/authored/admin__bug-hunter-rewards.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__bug-hunter-rewards.js +0 -143
- package/dist/features/tester/seed-data/authored/admin__bulk-actions.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__bulk-actions.js +0 -207
- package/dist/features/tester/seed-data/authored/admin__bundles.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__bundles.js +0 -144
- package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__buyer-data-admin.js +0 -265
- package/dist/features/tester/seed-data/authored/admin__catalog-listings.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__catalog-listings.js +0 -318
- package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__category-brand-authoring.js +0 -177
- package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__classifieds-digitalcodes-live.js +0 -165
- package/dist/features/tester/seed-data/authored/admin__content-deletes.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__content-deletes.js +0 -267
- package/dist/features/tester/seed-data/authored/admin__content-marketing.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__content-marketing.js +0 -188
- package/dist/features/tester/seed-data/authored/admin__coupons.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__coupons.js +0 -215
- package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__events-raffles-spin.js +0 -202
- package/dist/features/tester/seed-data/authored/admin__firebase-function-effects.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__firebase-function-effects.js +0 -249
- package/dist/features/tester/seed-data/authored/admin__media-watermark.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__media-watermark.js +0 -148
- package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__orders-fulfillment.js +0 -350
- package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__prize-draws-lotteries.js +0 -129
- package/dist/features/tester/seed-data/authored/admin__site-system.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__site-system.js +0 -586
- package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__uncovered-admin-pages.js +0 -260
- package/dist/features/tester/seed-data/authored/admin__users-trust.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/admin__users-trust.js +0 -569
- package/dist/features/tester/seed-data/authored/buying__bidding.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__bidding.js +0 -449
- package/dist/features/tester/seed-data/authored/buying__browsing-search.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__browsing-search.js +0 -684
- package/dist/features/tester/seed-data/authored/buying__buying-checkout.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__buying-checkout.js +0 -546
- package/dist/features/tester/seed-data/authored/buying__buying-coupons.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__buying-coupons.js +0 -379
- package/dist/features/tester/seed-data/authored/buying__cart.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__cart.js +0 -1264
- package/dist/features/tester/seed-data/authored/buying__image-tile-layout.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__image-tile-layout.js +0 -122
- package/dist/features/tester/seed-data/authored/buying__my-orders.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__my-orders.js +0 -279
- package/dist/features/tester/seed-data/authored/buying__offers.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__offers.js +0 -1127
- package/dist/features/tester/seed-data/authored/buying__order-detail-actions.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__order-detail-actions.js +0 -153
- package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__order-status-lifecycle.js +0 -252
- package/dist/features/tester/seed-data/authored/buying__product-detail.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__product-detail.js +0 -474
- package/dist/features/tester/seed-data/authored/buying__return-request.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__return-request.js +0 -165
- package/dist/features/tester/seed-data/authored/buying__reviews-pagination.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__reviews-pagination.js +0 -260
- package/dist/features/tester/seed-data/authored/buying__reviews.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__reviews.js +0 -128
- package/dist/features/tester/seed-data/authored/buying__spares-and-groups.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__spares-and-groups.js +0 -96
- package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__user-dashboard-extras.js +0 -283
- package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.js +0 -169
- package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__user-uncovered-pages.js +0 -105
- package/dist/features/tester/seed-data/authored/buying__wishlist-history.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/buying__wishlist-history.js +0 -374
- package/dist/features/tester/seed-data/authored/community-support__messages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/community-support__messages.js +0 -200
- package/dist/features/tester/seed-data/authored/community-support__public-profile.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/community-support__public-profile.js +0 -54
- package/dist/features/tester/seed-data/authored/community-support__support-tickets.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/community-support__support-tickets.js +0 -76
- package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.d.ts +0 -4
- package/dist/features/tester/seed-data/authored/content-discovery__authenticity-checker.js +0 -590
- package/dist/features/tester/seed-data/authored/content-discovery__blog.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__blog.js +0 -110
- package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__category-brand-relations.js +0 -149
- package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__category-counts-and-rollup.js +0 -145
- package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__category-tabs-franchise-bundles.js +0 -174
- package/dist/features/tester/seed-data/authored/content-discovery__coupons.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__coupons.js +0 -169
- package/dist/features/tester/seed-data/authored/content-discovery__event-detail-subroutes.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__event-detail-subroutes.js +0 -209
- package/dist/features/tester/seed-data/authored/content-discovery__event-participation.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__event-participation.js +0 -207
- package/dist/features/tester/seed-data/authored/content-discovery__events.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__events.js +0 -377
- package/dist/features/tester/seed-data/authored/content-discovery__faq-help.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__faq-help.js +0 -87
- package/dist/features/tester/seed-data/authored/content-discovery__notifications.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__notifications.js +0 -147
- package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__overflowing-pill-rows.js +0 -209
- package/dist/features/tester/seed-data/authored/content-discovery__parts-database.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__parts-database.js +0 -167
- package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__price-index-and-compare.js +0 -73
- package/dist/features/tester/seed-data/authored/content-discovery__search.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__search.js +0 -363
- package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__site-wide-index.js +0 -340
- package/dist/features/tester/seed-data/authored/content-discovery__store-reviews-aggregate.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/content-discovery__store-reviews-aggregate.js +0 -88
- package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.js +0 -78
- package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__dialog-footers.js +0 -76
- package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__editor-action-bar.js +0 -62
- package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__navbar-ctas.js +0 -163
- package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/cta-layout__product-bottom-bar.js +0 -61
- package/dist/features/tester/seed-data/authored/design-ux__action-bar-placement.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__action-bar-placement.js +0 -89
- package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__back-to-top-button.js +0 -95
- package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__carousel-arrow-bounds.js +0 -191
- package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__dashboard-layout.js +0 -158
- package/dist/features/tester/seed-data/authored/design-ux__feature-badge-picker.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__feature-badge-picker.js +0 -82
- package/dist/features/tester/seed-data/authored/design-ux__footer-theme.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__footer-theme.js +0 -106
- package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__form-validation-errors.js +0 -88
- package/dist/features/tester/seed-data/authored/design-ux__general-design.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__general-design.js +0 -204
- package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.js +0 -301
- package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__header-brand-mark-centring.js +0 -90
- package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__header-controls-and-messages.js +0 -85
- package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__homepage-carousels.js +0 -407
- package/dist/features/tester/seed-data/authored/design-ux__nav-reachability.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__nav-reachability.js +0 -88
- package/dist/features/tester/seed-data/authored/design-ux__rich-text-readability.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__rich-text-readability.js +0 -84
- package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__status-badge-legibility.js +0 -214
- package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/design-ux__sticky-cta-bar.js +0 -275
- package/dist/features/tester/seed-data/authored/index.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/index.js +0 -301
- package/dist/features/tester/seed-data/authored/page-wiring__data-loss.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/page-wiring__data-loss.js +0 -125
- package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/page-wiring__detail-pages.js +0 -85
- package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/page-wiring__drawer-pages.js +0 -92
- package/dist/features/tester/seed-data/authored/page-wiring__reachability.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/page-wiring__reachability.js +0 -115
- package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__auth-error-pages.js +0 -137
- package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__core-listing-pages.js +0 -263
- package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__help-how-it-works.js +0 -229
- package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__help-scams-guides-subpages.js +0 -325
- package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__legal-policy-pages.js +0 -126
- package/dist/features/tester/seed-data/authored/public-pages__newly-wired-browse-indexes.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__newly-wired-browse-indexes.js +0 -141
- package/dist/features/tester/seed-data/authored/public-pages__store-tabs.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__store-tabs.js +0 -115
- package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/public-pages__stores-sellers-directories.js +0 -253
- package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/search-and-nav__employee-permissions.js +0 -93
- package/dist/features/tester/seed-data/authored/search-and-nav__header-search.d.ts +0 -3
- package/dist/features/tester/seed-data/authored/search-and-nav__header-search.js +0 -185
- package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/search-and-nav__settings-deep-links.js +0 -82
- package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/search-and-nav__sidebar-search.js +0 -60
- package/dist/features/tester/seed-data/authored/selling__become-seller.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__become-seller.js +0 -117
- package/dist/features/tester/seed-data/authored/selling__digital-content-delivery.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__digital-content-delivery.js +0 -148
- package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__final-sale-authoring.js +0 -108
- package/dist/features/tester/seed-data/authored/selling__listing-a-product.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__listing-a-product.js +0 -274
- package/dist/features/tester/seed-data/authored/selling__listing-edit-roundtrip.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__listing-edit-roundtrip.js +0 -145
- package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__listing-lifecycle.js +0 -336
- package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__listing-type-fields-roundtrip.js +0 -136
- package/dist/features/tester/seed-data/authored/selling__media-limits.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__media-limits.js +0 -135
- package/dist/features/tester/seed-data/authored/selling__product-upload-details.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__product-upload-details.js +0 -155
- package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__quick-add-minimum-details.js +0 -138
- package/dist/features/tester/seed-data/authored/selling__sectionised-forms.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__sectionised-forms.js +0 -191
- package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-analytics-payouts.js +0 -138
- package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-bids-bundles-filters.js +0 -106
- package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-catalog-org.js +0 -192
- package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-custom-brands.js +0 -109
- package/dist/features/tester/seed-data/authored/selling__seller-guide.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-guide.js +0 -34
- package/dist/features/tester/seed-data/authored/selling__seller-listing-types.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-listing-types.js +0 -348
- package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-marketing-extras.js +0 -87
- package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-ops-comms.js +0 -90
- package/dist/features/tester/seed-data/authored/selling__seller-orders-at-scale.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-orders-at-scale.js +0 -85
- package/dist/features/tester/seed-data/authored/selling__seller-orders.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-orders.js +0 -213
- package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__seller-shipping-payouts-setup.js +0 -192
- package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__spares-and-group-editing.js +0 -77
- package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.js +0 -165
- package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/selling__store-uncovered-pages.js +0 -116
- package/dist/features/tester/seed-data/authored/seo__canonical-and-host.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/seo__canonical-and-host.js +0 -127
- package/dist/features/tester/seed-data/authored/seo__og-images.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/seo__og-images.js +0 -107
- package/dist/features/tester/seed-data/authored/seo__page-metadata.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/seo__page-metadata.js +0 -120
- package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/seo__sitemap-and-robots.js +0 -105
- package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/tools__sticker-promote-to-listings.js +0 -58
- package/dist/features/tester/seed-data/authored/tools__sticker-tracer.d.ts +0 -2
- package/dist/features/tester/seed-data/authored/tools__sticker-tracer.js +0 -284
- package/dist/features/tester/seed-data/index.d.ts +0 -2
- package/dist/features/tester/seed-data/index.js +0 -2
- package/dist/features/tester/seed-data/tester-checklist-seed-data.d.ts +0 -2
- package/dist/features/tester/seed-data/tester-checklist-seed-data.js +0 -7601
- package/dist/features/tester/seed-data/tester-responses-seed-data.d.ts +0 -2
- package/dist/features/tester/seed-data/tester-responses-seed-data.js +0 -95
- package/dist/features/tester/seed-data/tester-window.d.ts +0 -25
- package/dist/features/tester/seed-data/tester-window.js +0 -66
- package/dist/seed/_helpers/brand-rows.d.ts +0 -35
- package/dist/seed/_helpers/brand-rows.js +0 -600
- package/dist/seed/_helpers/category-content-generated.d.ts +0 -24
- package/dist/seed/_helpers/category-content-generated.js +0 -1853
- package/dist/seed/_helpers/category-content.d.ts +0 -68
- package/dist/seed/_helpers/category-content.js +0 -731
- package/dist/seed/_helpers/category-forest.d.ts +0 -4
- package/dist/seed/_helpers/category-forest.js +0 -824
- package/dist/seed/_helpers/category-images-generated.d.ts +0 -57
- package/dist/seed/_helpers/category-images-generated.js +0 -618
- package/dist/seed/_helpers/category-models/chunk0.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk0.js +0 -2648
- package/dist/seed/_helpers/category-models/chunk1.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk1.js +0 -2318
- package/dist/seed/_helpers/category-models/chunk2.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk2.js +0 -2560
- package/dist/seed/_helpers/category-models/chunk3.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk3.js +0 -2196
- package/dist/seed/_helpers/category-models/chunk4.d.ts +0 -2
- package/dist/seed/_helpers/category-models/chunk4.js +0 -1732
- package/dist/seed/_helpers/category-models.d.ts +0 -12
- package/dist/seed/_helpers/category-models.js +0 -45
- package/dist/seed/_helpers/category-names.d.ts +0 -54
- package/dist/seed/_helpers/category-names.js +0 -118
- package/dist/seed/_helpers/category-parts-glossary-map.d.ts +0 -1
- package/dist/seed/_helpers/category-parts-glossary-map.js +0 -2499
- package/dist/seed/_helpers/category-parts.d.ts +0 -9
- package/dist/seed/_helpers/category-parts.js +0 -15022
- package/dist/seed/_helpers/category-tree.d.ts +0 -27
- package/dist/seed/_helpers/category-tree.js +0 -119
- package/dist/seed/_helpers/character-features.d.ts +0 -10
- package/dist/seed/_helpers/character-features.js +0 -120
- package/dist/seed/_helpers/final-sale-fixtures.d.ts +0 -35
- package/dist/seed/_helpers/final-sale-fixtures.js +0 -61
- package/dist/seed/_helpers/franchise-rows.d.ts +0 -43
- package/dist/seed/_helpers/franchise-rows.js +0 -189
- package/dist/seed/_helpers/media.d.ts +0 -67
- package/dist/seed/_helpers/media.js +0 -172
- package/dist/seed/_helpers/part-colours-generated.d.ts +0 -18
- package/dist/seed/_helpers/part-colours-generated.js +0 -273
- package/dist/seed/_helpers/product-search-txt.d.ts +0 -18
- package/dist/seed/_helpers/product-search-txt.js +0 -23
- package/dist/seed/_helpers/search-txt-wrappers.d.ts +0 -26
- package/dist/seed/_helpers/search-txt-wrappers.js +0 -58
- package/dist/seed/addresses-seed-data.d.ts +0 -2
- package/dist/seed/addresses-seed-data.js +0 -78
- package/dist/seed/authenticity-knowledge-seed-data.d.ts +0 -78
- package/dist/seed/authenticity-knowledge-seed-data.js +0 -10729
- package/dist/seed/bids-seed-data.d.ts +0 -2
- package/dist/seed/bids-seed-data.js +0 -206
- package/dist/seed/blog-posts-seed-data.d.ts +0 -6
- package/dist/seed/blog-posts-seed-data.js +0 -442
- package/dist/seed/carousel-slides-seed-data.d.ts +0 -2
- package/dist/seed/carousel-slides-seed-data.js +0 -411
- package/dist/seed/carousels-seed-data.d.ts +0 -2
- package/dist/seed/carousels-seed-data.js +0 -36
- package/dist/seed/cart-seed-data.d.ts +0 -2
- package/dist/seed/cart-seed-data.js +0 -241
- package/dist/seed/catalogue-seed-data.d.ts +0 -2
- package/dist/seed/catalogue-seed-data.js +0 -112
- package/dist/seed/categories-seed-data.d.ts +0 -3
- package/dist/seed/categories-seed-data.js +0 -816
- package/dist/seed/claimed-coupons-seed-data.d.ts +0 -2
- package/dist/seed/claimed-coupons-seed-data.js +0 -85
- package/dist/seed/coupon-usage-seed-data.d.ts +0 -9
- package/dist/seed/coupon-usage-seed-data.js +0 -55
- package/dist/seed/coupons-seed-data.d.ts +0 -2
- package/dist/seed/coupons-seed-data.js +0 -226
- package/dist/seed/defaults/categories.d.ts +0 -2
- package/dist/seed/defaults/categories.js +0 -12
- package/dist/seed/defaults/faqs.d.ts +0 -2
- package/dist/seed/defaults/faqs.js +0 -40
- package/dist/seed/events-seed-data.d.ts +0 -7
- package/dist/seed/events-seed-data.js +0 -482
- package/dist/seed/factories/address.factory.d.ts +0 -21
- package/dist/seed/factories/address.factory.js +0 -44
- package/dist/seed/factories/bid.factory.d.ts +0 -15
- package/dist/seed/factories/bid.factory.js +0 -33
- package/dist/seed/factories/blog-post.factory.d.ts +0 -15
- package/dist/seed/factories/blog-post.factory.js +0 -22
- package/dist/seed/factories/carousel.factory.d.ts +0 -11
- package/dist/seed/factories/carousel.factory.js +0 -17
- package/dist/seed/factories/cart.factory.d.ts +0 -25
- package/dist/seed/factories/cart.factory.js +0 -35
- package/dist/seed/factories/category.factory.d.ts +0 -11
- package/dist/seed/factories/category.factory.js +0 -16
- package/dist/seed/factories/coupon.factory.d.ts +0 -21
- package/dist/seed/factories/coupon.factory.js +0 -43
- package/dist/seed/factories/faq.factory.d.ts +0 -10
- package/dist/seed/factories/faq.factory.js +0 -15
- package/dist/seed/factories/notification.factory.d.ts +0 -18
- package/dist/seed/factories/notification.factory.js +0 -39
- package/dist/seed/factories/order.factory.d.ts +0 -20
- package/dist/seed/factories/order.factory.js +0 -20
- package/dist/seed/factories/payout.factory.d.ts +0 -21
- package/dist/seed/factories/payout.factory.js +0 -38
- package/dist/seed/factories/product.factory.d.ts +0 -27
- package/dist/seed/factories/product.factory.js +0 -80
- package/dist/seed/factories/review.factory.d.ts +0 -14
- package/dist/seed/factories/review.factory.js +0 -52
- package/dist/seed/factories/session.factory.d.ts +0 -15
- package/dist/seed/factories/session.factory.js +0 -31
- package/dist/seed/factories/store.factory.d.ts +0 -23
- package/dist/seed/factories/store.factory.js +0 -47
- package/dist/seed/factories/user.factory.d.ts +0 -19
- package/dist/seed/factories/user.factory.js +0 -56
- package/dist/seed/faq-seed-data.d.ts +0 -18
- package/dist/seed/faq-seed-data.js +0 -1956
- package/dist/seed/firestore-indexes.d.ts +0 -12
- package/dist/seed/firestore-indexes.js +0 -31
- package/dist/seed/grouped-listings-seed-data.d.ts +0 -2
- package/dist/seed/grouped-listings-seed-data.js +0 -283
- package/dist/seed/history-seed-data.d.ts +0 -12
- package/dist/seed/history-seed-data.js +0 -70
- package/dist/seed/homepage-sections-seed-data.d.ts +0 -2
- package/dist/seed/homepage-sections-seed-data.js +0 -1018
- package/dist/seed/index.d.ts +0 -98
- package/dist/seed/index.js +0 -112
- package/dist/seed/lottery-entries-seed-data.d.ts +0 -2
- package/dist/seed/lottery-entries-seed-data.js +0 -108
- package/dist/seed/manifest.d.ts +0 -16
- package/dist/seed/manifest.js +0 -235
- package/dist/seed/media-assets-seed-data.d.ts +0 -22
- package/dist/seed/media-assets-seed-data.js +0 -5593
- package/dist/seed/model-composition-seed-data.d.ts +0 -15
- package/dist/seed/model-composition-seed-data.js +0 -9032
- package/dist/seed/notifications-seed-data.d.ts +0 -2
- package/dist/seed/notifications-seed-data.js +0 -606
- package/dist/seed/offers-seed-data.d.ts +0 -2
- package/dist/seed/offers-seed-data.js +0 -398
- package/dist/seed/orders-seed-data.d.ts +0 -2
- package/dist/seed/orders-seed-data.js +0 -845
- package/dist/seed/part-glossary/chunk0.d.ts +0 -9
- package/dist/seed/part-glossary/chunk0.js +0 -35448
- package/dist/seed/part-glossary/chunk1.d.ts +0 -9
- package/dist/seed/part-glossary/chunk1.js +0 -40494
- package/dist/seed/part-glossary/chunk2.d.ts +0 -9
- package/dist/seed/part-glossary/chunk2.js +0 -51242
- package/dist/seed/part-glossary/chunk3.d.ts +0 -9
- package/dist/seed/part-glossary/chunk3.js +0 -53337
- package/dist/seed/part-glossary/chunk4.d.ts +0 -9
- package/dist/seed/part-glossary/chunk4.js +0 -51454
- package/dist/seed/part-glossary-seed-data.d.ts +0 -15
- package/dist/seed/part-glossary-seed-data.js +0 -25
- package/dist/seed/payouts-seed-data.d.ts +0 -2
- package/dist/seed/payouts-seed-data.js +0 -302
- package/dist/seed/product-features-seed-data.d.ts +0 -3
- package/dist/seed/product-features-seed-data.js +0 -366
- package/dist/seed/products-art-seed-data.d.ts +0 -2
- package/dist/seed/products-art-seed-data.js +0 -289
- package/dist/seed/products-auctions-seed-data.d.ts +0 -2
- package/dist/seed/products-auctions-seed-data.js +0 -475
- package/dist/seed/products-beyblade-x-seed-data.d.ts +0 -2
- package/dist/seed/products-beyblade-x-seed-data.js +0 -476
- package/dist/seed/products-catalogue-seed-data.d.ts +0 -22
- package/dist/seed/products-catalogue-seed-data.js +0 -86384
- package/dist/seed/products-classifieds-seed-data.d.ts +0 -7
- package/dist/seed/products-classifieds-seed-data.js +0 -435
- package/dist/seed/products-digital-codes-seed-data.d.ts +0 -7
- package/dist/seed/products-digital-codes-seed-data.js +0 -395
- package/dist/seed/products-live-items-seed-data.d.ts +0 -7
- package/dist/seed/products-live-items-seed-data.js +0 -269
- package/dist/seed/products-preorders-seed-data.d.ts +0 -2
- package/dist/seed/products-preorders-seed-data.js +0 -360
- package/dist/seed/products-prize-draws-seed-data.d.ts +0 -7
- package/dist/seed/products-prize-draws-seed-data.js +0 -427
- package/dist/seed/products-spares-seed-data.d.ts +0 -2
- package/dist/seed/products-spares-seed-data.js +0 -368
- package/dist/seed/products-standard-seed-data.d.ts +0 -2
- package/dist/seed/products-standard-seed-data.js +0 -632
- package/dist/seed/products-stickers-seed-data.d.ts +0 -2
- package/dist/seed/products-stickers-seed-data.js +0 -319
- package/dist/seed/reviews-seed-data.d.ts +0 -1
- package/dist/seed/reviews-seed-data.js +0 -185
- package/dist/seed/runner.d.ts +0 -2
- package/dist/seed/runner.js +0 -125
- package/dist/seed/scammers-seed-data.d.ts +0 -2
- package/dist/seed/scammers-seed-data.js +0 -235
- package/dist/seed/seed-market-config.d.ts +0 -48
- package/dist/seed/seed-market-config.js +0 -199
- package/dist/seed/seed-purpose.d.ts +0 -299
- package/dist/seed/seed-purpose.js +0 -431
- package/dist/seed/sessions-seed-data.d.ts +0 -3
- package/dist/seed/sessions-seed-data.js +0 -116
- package/dist/seed/shipments-seed-data.d.ts +0 -5
- package/dist/seed/shipments-seed-data.js +0 -185
- package/dist/seed/site-settings-seed-data.d.ts +0 -2
- package/dist/seed/site-settings-seed-data.js +0 -1069
- package/dist/seed/store-addresses-seed-data.d.ts +0 -18
- package/dist/seed/store-addresses-seed-data.js +0 -71
- package/dist/seed/store-extensions-seed-data.d.ts +0 -11
- package/dist/seed/store-extensions-seed-data.js +0 -292
- package/dist/seed/stores-seed-data.d.ts +0 -6
- package/dist/seed/stores-seed-data.js +0 -242
- package/dist/seed/support-tickets-seed-data.d.ts +0 -16
- package/dist/seed/support-tickets-seed-data.js +0 -239
- package/dist/seed/tax-codes-seed-data.d.ts +0 -34
- package/dist/seed/tax-codes-seed-data.js +0 -100
- package/dist/seed/test-data-ttl.d.ts +0 -29
- package/dist/seed/test-data-ttl.js +0 -31
- package/dist/seed/test-utils.d.ts +0 -49
- package/dist/seed/test-utils.js +0 -110
- package/dist/seed/types.d.ts +0 -89
- package/dist/seed/types.js +0 -15
- package/dist/seed/users-seed-data.d.ts +0 -2
- package/dist/seed/users-seed-data.js +0 -597
- package/dist/seed/wishlists-seed-data.d.ts +0 -12
- package/dist/seed/wishlists-seed-data.js +0 -54
|
@@ -1,482 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* WHY: Seeds 10 Beyblade-themed events covering all event types (poll, survey, sale, raffle, spin_wheel, feedback, offer, lottery).
|
|
3
|
-
* WHAT: 2 upcoming + 4 active + 2 ended + 2 lottery (1 active, 1 draft). Includes raffle (open + drawn), spin wheel, poll, survey, feedback, sale, offer.
|
|
4
|
-
*
|
|
5
|
-
* EXPORTS:
|
|
6
|
-
* eventsSeedData — Array of EventDocument for seed runner
|
|
7
|
-
* eventEntriesSeedData — Array of EventEntryDocument for seed runner
|
|
8
|
-
*
|
|
9
|
-
* @tag domain:events
|
|
10
|
-
* @tag layer:seed
|
|
11
|
-
* @tag pattern:none
|
|
12
|
-
* @tag access:server-only
|
|
13
|
-
* @tag consumers:seed/index.ts,seed/runner.ts
|
|
14
|
-
* @tag sideEffects:none
|
|
15
|
-
*/
|
|
16
|
-
import { withEventSearchTxt } from "./_helpers/search-txt-wrappers.js";
|
|
17
|
-
import { EVENT_FIELDS, EVENT_ENTRY_FIELDS } from "../features/events/schemas/index.js";
|
|
18
|
-
import { seedExtMedia, seedPhoto } from "./_helpers/media.js";
|
|
19
|
-
const NOW = new Date();
|
|
20
|
-
const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
|
|
21
|
-
const daysAhead = (n) => new Date(NOW.getTime() + n * 86400000);
|
|
22
|
-
const _raweventsSeedData = [
|
|
23
|
-
// ── 1. ACTIVE — Poll: Favourite Blader Original Series ────────────────────
|
|
24
|
-
{
|
|
25
|
-
id: "event-favourite-blader-poll",
|
|
26
|
-
slug: "favourite-blader-poll",
|
|
27
|
-
type: EVENT_FIELDS.TYPE_VALUES.POLL,
|
|
28
|
-
title: "Vote: Best Blader of the Original Beyblade Series",
|
|
29
|
-
description: `<p>Who is the greatest blader of the original 1999 series? Cast your vote and see real-time results!</p><img src="${seedPhoto("event-content-favourite-blader-lineup-20260101", 900, 500)}" alt="Original series blader lineup" />`,
|
|
30
|
-
status: EVENT_FIELDS.STATUS_VALUES.ACTIVE,
|
|
31
|
-
startsAt: daysAgo(5),
|
|
32
|
-
endsAt: daysAhead(10),
|
|
33
|
-
coverImage: { type: "image", url: seedPhoto("event-cover-favourite-blader-poll-20260101", 1200, 600), alt: "Original series Beyblade lineup" },
|
|
34
|
-
tags: ["poll", "original-series", "season-1"],
|
|
35
|
-
// Demo fixture for the guest-participation toggle (2026-08-20) — polls
|
|
36
|
-
// are otherwise login-gated, so this event demonstrates the override.
|
|
37
|
-
allowGuestParticipation: true,
|
|
38
|
-
pollConfig: {
|
|
39
|
-
options: [
|
|
40
|
-
{ id: "tyson", label: "Mock User 6" },
|
|
41
|
-
{ id: "kai", label: "Kai Hiwatari" },
|
|
42
|
-
{ id: "max", label: "Max Tate" },
|
|
43
|
-
{ id: "rei", label: "Rei Kon" },
|
|
44
|
-
{ id: "kenny", label: "Kenny (Chief)" },
|
|
45
|
-
],
|
|
46
|
-
allowMultiSelect: false,
|
|
47
|
-
allowComment: false,
|
|
48
|
-
resultsVisibility: "after_vote",
|
|
49
|
-
},
|
|
50
|
-
stats: { totalEntries: 362, approvedEntries: 362, flaggedEntries: 0 },
|
|
51
|
-
createdBy: "user-admin-letitrip",
|
|
52
|
-
createdAt: daysAgo(7),
|
|
53
|
-
updatedAt: daysAgo(1),
|
|
54
|
-
},
|
|
55
|
-
// ── 2. ACTIVE — Survey: Beyblade Storage ─────────────────────────────────
|
|
56
|
-
{
|
|
57
|
-
id: "event-beyblade-storage-survey",
|
|
58
|
-
slug: "beyblade-storage-survey",
|
|
59
|
-
type: EVENT_FIELDS.TYPE_VALUES.SURVEY,
|
|
60
|
-
title: "How Do You Store Your Beyblades?",
|
|
61
|
-
description: "Help us understand how Indian bladers protect their collections. Your responses help us recommend better storage solutions.",
|
|
62
|
-
status: EVENT_FIELDS.STATUS_VALUES.ACTIVE,
|
|
63
|
-
startsAt: daysAgo(3),
|
|
64
|
-
endsAt: daysAhead(14),
|
|
65
|
-
coverImage: { type: "image", url: seedPhoto("event-cover-storage-survey-20260101", 1200, 600), alt: "Beyblade storage case" },
|
|
66
|
-
tags: ["survey", "beyblade-storage", "community"],
|
|
67
|
-
surveyConfig: {
|
|
68
|
-
requireLogin: true,
|
|
69
|
-
maxEntriesPerUser: 1,
|
|
70
|
-
hasLeaderboard: false,
|
|
71
|
-
hasPointSystem: false,
|
|
72
|
-
entryReviewRequired: false,
|
|
73
|
-
formFields: [
|
|
74
|
-
{ id: "q1", label: "What storage case do you use?", type: "radio", options: ["Hard case", "Soft pouch", "Original box", "No case"], required: true },
|
|
75
|
-
{ id: "q2", label: "How do you store your launchers?", type: "radio", options: ["Wall rack", "Drawer organizer", "Original box", "Loose"], required: true },
|
|
76
|
-
{ id: "q3", label: "Do you keep tips separately?", type: "radio", options: ["Yes — labeled bags", "Yes — compartment box", "No"], required: true },
|
|
77
|
-
],
|
|
78
|
-
},
|
|
79
|
-
stats: { totalEntries: 89, approvedEntries: 89, flaggedEntries: 0 },
|
|
80
|
-
createdBy: "user-admin-letitrip",
|
|
81
|
-
createdAt: daysAgo(5),
|
|
82
|
-
updatedAt: daysAgo(1),
|
|
83
|
-
},
|
|
84
|
-
// ── 3. ACTIVE — Sale: Original Series Clearance ──────────────────────────
|
|
85
|
-
{
|
|
86
|
-
id: "event-original-series-clearance",
|
|
87
|
-
slug: "original-series-clearance",
|
|
88
|
-
type: EVENT_FIELDS.TYPE_VALUES.SALE,
|
|
89
|
-
title: "Original Series Clearance Sale — 20% Off",
|
|
90
|
-
description: "20% off all beyblades from the original 1999-2003 series! Use code TOURNAMENT2026 at checkout. Limited time only.",
|
|
91
|
-
status: EVENT_FIELDS.STATUS_VALUES.ACTIVE,
|
|
92
|
-
startsAt: daysAgo(2),
|
|
93
|
-
endsAt: daysAhead(7),
|
|
94
|
-
coverImage: { type: "image", url: seedPhoto("event-cover-original-clearance-20260101", 1200, 600), alt: "Original series Beyblade clearance sale" },
|
|
95
|
-
tags: ["sale", "clearance", "original-series", "singles"],
|
|
96
|
-
saleConfig: {
|
|
97
|
-
discountPercent: 20,
|
|
98
|
-
applicableCategories: ["category-beyblade-original"],
|
|
99
|
-
couponCode: "TOURNAMENT2026",
|
|
100
|
-
},
|
|
101
|
-
stats: { totalEntries: 0, approvedEntries: 0, flaggedEntries: 0 },
|
|
102
|
-
createdBy: "user-admin-letitrip",
|
|
103
|
-
createdAt: daysAgo(4),
|
|
104
|
-
updatedAt: daysAgo(2),
|
|
105
|
-
},
|
|
106
|
-
// ── 4. ACTIVE — Raffle: Win Beyblade Burst Regalia Genesis ───────────────
|
|
107
|
-
{
|
|
108
|
-
id: "event-win-burst-regalia-genesis",
|
|
109
|
-
slug: "win-burst-regalia-genesis",
|
|
110
|
-
type: EVENT_FIELDS.TYPE_VALUES.RAFFLE,
|
|
111
|
-
title: "Win a Sealed Beyblade Burst Regalia Genesis",
|
|
112
|
-
description: `<p>Enter for a chance to win a sealed Beyblade Burst Regalia Genesis! One lucky blader takes home the ultimate spinner.</p><img src="${seedPhoto("event-content-regalia-genesis-prize-20260101", 900, 500)}" alt="Sealed Beyblade Burst Regalia Genesis prize box" />`,
|
|
113
|
-
status: EVENT_FIELDS.STATUS_VALUES.ACTIVE,
|
|
114
|
-
startsAt: daysAgo(3),
|
|
115
|
-
endsAt: daysAhead(14),
|
|
116
|
-
coverImage: { type: "image", url: seedPhoto("event-cover-regalia-genesis-raffle-20260101", 1200, 600), alt: "Beyblade Burst Regalia Genesis" },
|
|
117
|
-
tags: ["raffle", "burst", "regalia-genesis", "giveaway", "prizes"],
|
|
118
|
-
hasRaffle: true,
|
|
119
|
-
raffleType: "open_raffle",
|
|
120
|
-
rafflePrize: "Sealed Beyblade Burst Regalia Genesis (authenticity cert: LIR-BEY-998877)",
|
|
121
|
-
raffleEntryCount: 247,
|
|
122
|
-
stats: { totalEntries: 247, approvedEntries: 247, flaggedEntries: 0 },
|
|
123
|
-
createdBy: "user-admin-letitrip",
|
|
124
|
-
createdAt: daysAgo(5),
|
|
125
|
-
updatedAt: daysAgo(1),
|
|
126
|
-
},
|
|
127
|
-
// ── 5. ACTIVE — Spin Wheel: Daily Beyblade Pull ──────────────────────────
|
|
128
|
-
{
|
|
129
|
-
id: "event-daily-beyblade-pull-wheel",
|
|
130
|
-
slug: "daily-beyblade-pull-wheel",
|
|
131
|
-
type: EVENT_FIELDS.TYPE_VALUES.SPIN_WHEEL,
|
|
132
|
-
title: "Daily Beyblade Pull! Spin for a Prize",
|
|
133
|
-
description: "Spin the wheel once per day for a chance to win discount coupons and free launcher grips!",
|
|
134
|
-
status: EVENT_FIELDS.STATUS_VALUES.ACTIVE,
|
|
135
|
-
startsAt: daysAgo(7),
|
|
136
|
-
endsAt: daysAhead(23),
|
|
137
|
-
coverImage: { type: "image", url: seedPhoto("event-cover-daily-pull-wheel-20260101", 1200, 600), alt: "Spin wheel prize wheel" },
|
|
138
|
-
tags: ["spin-wheel", "daily", "prizes", "coupons"],
|
|
139
|
-
spinPrizes: [
|
|
140
|
-
{ id: "spin-10pct", label: "10% Off Coupon", couponId: "coupon-rehan10", weight: 15, isActive: true },
|
|
141
|
-
{ id: "spin-5pct", label: "5% Off Coupon", weight: 25, isActive: true },
|
|
142
|
-
{ id: "spin-grip", label: "Free Launcher Grip Tape", weight: 10, isActive: true },
|
|
143
|
-
{ id: "spin-try-again", label: "Try Again Tomorrow!", weight: 50, isActive: true },
|
|
144
|
-
],
|
|
145
|
-
// spinMaxPerUser: 2 (not the default 1) so the per-identity spin-count
|
|
146
|
-
// enforcement added 2026-08-20 has a real demo case, and
|
|
147
|
-
// allowGuestParticipation lets a signed-out visitor spin too.
|
|
148
|
-
spinMaxPerUser: 2,
|
|
149
|
-
allowGuestParticipation: true,
|
|
150
|
-
spinWindowStart: daysAgo(7),
|
|
151
|
-
spinWindowEnd: daysAhead(23),
|
|
152
|
-
stats: { totalEntries: 534, approvedEntries: 534, flaggedEntries: 0 },
|
|
153
|
-
createdBy: "user-admin-letitrip",
|
|
154
|
-
createdAt: daysAgo(8),
|
|
155
|
-
updatedAt: daysAgo(1),
|
|
156
|
-
},
|
|
157
|
-
// ── 6. ACTIVE — Feedback: Metal Fight Era ────────────────────────────────
|
|
158
|
-
{
|
|
159
|
-
id: "event-metal-fight-era-feedback",
|
|
160
|
-
slug: "metal-fight-era-feedback",
|
|
161
|
-
type: EVENT_FIELDS.TYPE_VALUES.FEEDBACK,
|
|
162
|
-
title: "Tell Us About Metal Fight Era Beyblades on LetItRip",
|
|
163
|
-
description: "Rate your experience buying Metal Fight era beyblades on LetItRip. Your feedback helps us improve the marketplace.",
|
|
164
|
-
status: EVENT_FIELDS.STATUS_VALUES.ACTIVE,
|
|
165
|
-
startsAt: daysAgo(10),
|
|
166
|
-
endsAt: daysAhead(20),
|
|
167
|
-
coverImage: { type: "image", url: seedPhoto("event-cover-metal-fight-feedback-20260101", 1200, 600), alt: "Metal Fight era Beyblade lineup" },
|
|
168
|
-
tags: ["feedback", "metal-fight", "community"],
|
|
169
|
-
feedbackConfig: {
|
|
170
|
-
formFields: [
|
|
171
|
-
{ id: "rating", label: "How would you rate the Metal Fight era selection?", type: "rating", required: true },
|
|
172
|
-
{ id: "comment", label: "Any additional feedback?", type: "textarea", required: false },
|
|
173
|
-
],
|
|
174
|
-
anonymous: false,
|
|
175
|
-
},
|
|
176
|
-
stats: { totalEntries: 45, approvedEntries: 45, flaggedEntries: 0 },
|
|
177
|
-
createdBy: "user-admin-letitrip",
|
|
178
|
-
createdAt: daysAgo(12),
|
|
179
|
-
updatedAt: daysAgo(2),
|
|
180
|
-
},
|
|
181
|
-
// ── 7. ACTIVE — Offer: Buy 3 Beyblades, Get 10% Off ──────────────────────
|
|
182
|
-
{
|
|
183
|
-
id: "event-buy-3-get-1-beyblades",
|
|
184
|
-
slug: "buy-3-get-1-beyblades",
|
|
185
|
-
type: EVENT_FIELDS.TYPE_VALUES.OFFER,
|
|
186
|
-
title: "Buy 3 Beyblades, Get 10% Off",
|
|
187
|
-
description: "Buy any 3 beyblades from Beyblade Arena and get 10% off the total. Applies to original, metal, burst, and X series.",
|
|
188
|
-
status: EVENT_FIELDS.STATUS_VALUES.ACTIVE,
|
|
189
|
-
startsAt: daysAgo(1),
|
|
190
|
-
endsAt: daysAhead(20),
|
|
191
|
-
coverImage: { type: "image", url: seedPhoto("event-cover-buy3get1-20260101", 1200, 600), alt: "Buy 3 beyblades, get 10% off offer" },
|
|
192
|
-
tags: ["offer", "buy-3-get-10-percent", "singles"],
|
|
193
|
-
offerConfig: {
|
|
194
|
-
couponId: "coupon-buynow10",
|
|
195
|
-
displayCode: "BUYNOW10",
|
|
196
|
-
bannerText: "Buy any 3 beyblades from Beyblade Arena and get 10% off the total!",
|
|
197
|
-
},
|
|
198
|
-
stats: { totalEntries: 0, approvedEntries: 0, flaggedEntries: 0 },
|
|
199
|
-
createdBy: "user-admin-letitrip",
|
|
200
|
-
createdAt: daysAgo(2),
|
|
201
|
-
updatedAt: daysAgo(1),
|
|
202
|
-
},
|
|
203
|
-
// ── 8. ENDED — Raffle: Won Complete Original Series Set (drawn) ─────────
|
|
204
|
-
{
|
|
205
|
-
id: "event-won-original-set-raffle",
|
|
206
|
-
slug: "won-original-set-raffle",
|
|
207
|
-
type: EVENT_FIELDS.TYPE_VALUES.RAFFLE,
|
|
208
|
-
title: "Win Complete Original Series Collectors Set",
|
|
209
|
-
description: `<p>The grand raffle has concluded! One lucky blader won a complete original-series collectors set.</p><img src="${seedPhoto("event-content-original-set-winner-20260101", 900, 500)}" alt="Winner unboxing the complete original-series collectors set" />`,
|
|
210
|
-
status: EVENT_FIELDS.STATUS_VALUES.ENDED,
|
|
211
|
-
startsAt: daysAgo(30),
|
|
212
|
-
endsAt: daysAgo(5),
|
|
213
|
-
coverImage: { type: "image", url: seedPhoto("event-cover-original-set-raffle-20260101", 1200, 600), alt: "Complete original-series collectors set" },
|
|
214
|
-
tags: ["raffle", "original-series", "ended", "winner"],
|
|
215
|
-
hasRaffle: true,
|
|
216
|
-
raffleType: "open_raffle",
|
|
217
|
-
rafflePrize: "Complete Original Series Collectors Set — 5 beyblades + stadium, all sealed or NM",
|
|
218
|
-
raffleWinnerUserId: "user-yugi-muto",
|
|
219
|
-
raffleWinnerDisplayName: "Mock User 3",
|
|
220
|
-
raffleWinnerEntryId: "entry-original-raffle-yugi-001",
|
|
221
|
-
raffleTriggeredAt: daysAgo(5),
|
|
222
|
-
raffleEntryCount: 1892,
|
|
223
|
-
stats: { totalEntries: 1892, approvedEntries: 1892, flaggedEntries: 0 },
|
|
224
|
-
createdBy: "user-admin-letitrip",
|
|
225
|
-
createdAt: daysAgo(35),
|
|
226
|
-
updatedAt: daysAgo(5),
|
|
227
|
-
},
|
|
228
|
-
// ── 9. ACTIVE — Lottery: Pokémon Number Draw (July 2026) ─────────────────
|
|
229
|
-
{
|
|
230
|
-
id: "event-pokemon-number-draw-july-2026",
|
|
231
|
-
slug: "pokemon-number-draw-july-2026",
|
|
232
|
-
type: EVENT_FIELDS.TYPE_VALUES.LOTTERY,
|
|
233
|
-
title: "Pokémon Number Draw — July 2026",
|
|
234
|
-
description: "<p>Choose your lucky slot and win rare Pokémon collectibles! 25 slots available. Each slot is assigned a prize from our collection. First-come, first-served.</p>",
|
|
235
|
-
status: EVENT_FIELDS.STATUS_VALUES.ACTIVE,
|
|
236
|
-
startsAt: daysAgo(2),
|
|
237
|
-
endsAt: daysAhead(5),
|
|
238
|
-
coverImage: { type: "image", url: seedExtMedia("https://upload.wikimedia.org/wikipedia/commons/9/98/International_Pok%C3%A9mon_logo.svg"), alt: "Pokémon Number Draw" },
|
|
239
|
-
tags: ["lottery", "pokemon", "prizes"],
|
|
240
|
-
lotteryConfig: {
|
|
241
|
-
totalSlots: 25,
|
|
242
|
-
pricingMode: "variable",
|
|
243
|
-
drawWindowDurationMinutes: 5,
|
|
244
|
-
maxPullsPerTransaction: 1,
|
|
245
|
-
maxPullsPerUser: 1,
|
|
246
|
-
slots: [
|
|
247
|
-
// The first 8 slots carry a prize photo; the rest deliberately do not,
|
|
248
|
-
// so the detail page exercises both sides of the "only photographed
|
|
249
|
-
// slots get a collage tile" rule. `image` is a plain image URL and so
|
|
250
|
-
// is seedExtMedia()-wrapped like every other image in this file.
|
|
251
|
-
{ slotNumber: 1, name: "Charizard Base Set Holo", image: seedPhoto("lottery-pokemon-number-draw-slot-1", 600, 600), price: 5000, weight: 1, isBooked: true, bookedByUserId: "user-ravi-k", bookedByDisplayName: "Ravi K", bookedByUserLotteryNumber: 1 },
|
|
252
|
-
{ slotNumber: 2, name: "Blastoise Base Set Holo", image: seedPhoto("lottery-pokemon-number-draw-slot-2", 600, 600), price: 3000, weight: 33, isBooked: true, bookedByUserId: "user-priya-s", bookedByDisplayName: "Priya S", bookedByUserLotteryNumber: 2 },
|
|
253
|
-
{ slotNumber: 3, name: "Venusaur Base Set Holo", image: seedPhoto("lottery-pokemon-number-draw-slot-3", 600, 600), price: 2500, weight: 40, isBooked: true, bookedByUserId: "user-arjun-m", bookedByDisplayName: "Arjun M", bookedByUserLotteryNumber: 3 },
|
|
254
|
-
{ slotNumber: 4, name: "Pikachu Surfing Promo", image: seedPhoto("lottery-pokemon-number-draw-slot-4", 600, 600), price: 1500, weight: 66, isBooked: true, bookedByUserId: "user-sneha-p", bookedByDisplayName: "Sneha P", bookedByUserLotteryNumber: 4 },
|
|
255
|
-
{ slotNumber: 5, name: "Mewtwo Base Set Holo", image: seedPhoto("lottery-pokemon-number-draw-slot-5", 600, 600), price: 2000, weight: 50, isBooked: true, bookedByUserId: "user-vikram-r", bookedByDisplayName: "Vikram R", bookedByUserLotteryNumber: 5 },
|
|
256
|
-
{ slotNumber: 6, name: "Gengar First Ed. Fossil", image: seedPhoto("lottery-pokemon-number-draw-slot-6", 600, 600), price: 3500, weight: 28, isBooked: false },
|
|
257
|
-
{ slotNumber: 7, name: "Alakazam Base Set Holo", image: seedPhoto("lottery-pokemon-number-draw-slot-7", 600, 600), price: 800, weight: 93, isBooked: false },
|
|
258
|
-
{ slotNumber: 8, name: "Machamp 1st Ed. Base Set", image: seedPhoto("lottery-pokemon-number-draw-slot-8", 600, 600), price: 400, weight: 99, isBooked: false },
|
|
259
|
-
{ slotNumber: 9, name: "Clefairy Base Set Holo", price: 600, weight: 95, isBooked: false },
|
|
260
|
-
{ slotNumber: 10, name: "Chansey Base Set Holo", price: 700, weight: 94, isBooked: false },
|
|
261
|
-
{ slotNumber: 11, name: "Ninetales Base Set Holo", price: 1000, weight: 80, isBooked: false },
|
|
262
|
-
{ slotNumber: 12, name: "Scyther Jungle Holo", price: 500, weight: 97, isBooked: false },
|
|
263
|
-
{ slotNumber: 13, name: "Gyarados Base Set Holo", price: 1200, weight: 76, isBooked: false },
|
|
264
|
-
{ slotNumber: 14, name: "Lapras Fossil Holo", price: 900, weight: 88, isBooked: false },
|
|
265
|
-
{ slotNumber: 15, name: "Zapdos Fossil Holo", price: 2200, weight: 45, isBooked: false },
|
|
266
|
-
{ slotNumber: 16, name: "Articuno Fossil Holo", price: 2000, weight: 50, isBooked: false },
|
|
267
|
-
{ slotNumber: 17, name: "Moltres Fossil Holo", price: 1800, weight: 55, isBooked: false },
|
|
268
|
-
{ slotNumber: 18, name: "Dragonite Base Set Holo", price: 4000, weight: 20, isBooked: false },
|
|
269
|
-
{ slotNumber: 19, name: "Snorlax Jungle Holo", price: 600, weight: 95, isBooked: false },
|
|
270
|
-
{ slotNumber: 20, name: "Jolteon Jungle Holo", price: 700, weight: 94, isBooked: false },
|
|
271
|
-
{ slotNumber: 21, name: "Flareon Jungle Holo", price: 700, weight: 94, isBooked: false },
|
|
272
|
-
{ slotNumber: 22, name: "Vaporeon Jungle Holo", price: 700, weight: 94, isBooked: false },
|
|
273
|
-
{ slotNumber: 23, name: "Espeon Neo Discovery Holo", price: 800, weight: 93, isBooked: false },
|
|
274
|
-
{ slotNumber: 24, name: "Umbreon Neo Discovery Holo", price: 1000, weight: 80, isBooked: false },
|
|
275
|
-
{ slotNumber: 25, name: "Lugia Neo Genesis Holo", price: 4500, weight: 10, isBooked: false },
|
|
276
|
-
],
|
|
277
|
-
},
|
|
278
|
-
stats: { totalEntries: 5, approvedEntries: 5, flaggedEntries: 0 },
|
|
279
|
-
createdBy: "user-admin-letitrip",
|
|
280
|
-
createdAt: daysAgo(3),
|
|
281
|
-
updatedAt: daysAgo(0),
|
|
282
|
-
},
|
|
283
|
-
// ── 10. DRAFT — Lottery: Beyblade Slot Raffle ────────────────────────────
|
|
284
|
-
{
|
|
285
|
-
id: "event-beyblade-slot-raffle-draft",
|
|
286
|
-
slug: "beyblade-slot-raffle-draft",
|
|
287
|
-
type: EVENT_FIELDS.TYPE_VALUES.LOTTERY,
|
|
288
|
-
title: "Beyblade Slot Raffle — Coming Soon",
|
|
289
|
-
description: "<p>10 rare beyblade slots up for grabs. Details coming soon!</p>",
|
|
290
|
-
status: EVENT_FIELDS.STATUS_VALUES.DRAFT,
|
|
291
|
-
startsAt: daysAhead(7),
|
|
292
|
-
endsAt: daysAhead(14),
|
|
293
|
-
coverImage: { type: "image", url: seedPhoto("event-cover-beyblade-slot-raffle-20260101", 1200, 600), alt: "Beyblade Slot Raffle" },
|
|
294
|
-
tags: ["lottery", "beyblade", "prizes"],
|
|
295
|
-
lotteryConfig: {
|
|
296
|
-
totalSlots: 10,
|
|
297
|
-
pricingMode: "uniform",
|
|
298
|
-
uniformPrice: 500,
|
|
299
|
-
drawWindowDurationMinutes: 10,
|
|
300
|
-
maxPullsPerTransaction: 1,
|
|
301
|
-
maxPullsPerUser: 1,
|
|
302
|
-
slots: Array.from({ length: 10 }, (_, i) => ({
|
|
303
|
-
slotNumber: i + 1,
|
|
304
|
-
name: `Prize Slot ${i + 1}`,
|
|
305
|
-
// Seed index, not Math.random() — a seed file is re-executed on every
|
|
306
|
-
// CLI invocation, so any non-deterministic value breaks upsert
|
|
307
|
-
// idempotency (Root Cause #25).
|
|
308
|
-
image: seedPhoto(`lottery-beyblade-slot-raffle-slot-${i + 1}`, 600, 600),
|
|
309
|
-
price: 500,
|
|
310
|
-
weight: 50,
|
|
311
|
-
isBooked: false,
|
|
312
|
-
})),
|
|
313
|
-
},
|
|
314
|
-
stats: { totalEntries: 0, approvedEntries: 0, flaggedEntries: 0 },
|
|
315
|
-
createdBy: "user-admin-letitrip",
|
|
316
|
-
createdAt: daysAgo(1),
|
|
317
|
-
updatedAt: daysAgo(0),
|
|
318
|
-
},
|
|
319
|
-
// ── 11. PAUSED — Sale ────────────────────────────────────────────────────
|
|
320
|
-
// `paused` and `cancelled` are real `EventStatus` values that had no fixture
|
|
321
|
-
// at all: the seed only ever produced active/draft/ended. Their admin filter
|
|
322
|
-
// chips were added 2026-08-24, and a chip that can only ever return an empty
|
|
323
|
-
// list is exactly what the hide-empty rule is meant to remove — so the states
|
|
324
|
-
// need real rows to be worth showing.
|
|
325
|
-
{
|
|
326
|
-
id: "event-monsoon-sale-paused",
|
|
327
|
-
slug: "monsoon-sale-paused",
|
|
328
|
-
type: EVENT_FIELDS.TYPE_VALUES.SALE,
|
|
329
|
-
title: "Monsoon Sale — Paused",
|
|
330
|
-
description: "<p>Temporarily paused while we restock. Discounts resume once stock lands.</p>",
|
|
331
|
-
status: EVENT_FIELDS.STATUS_VALUES.PAUSED,
|
|
332
|
-
startsAt: daysAgo(3),
|
|
333
|
-
endsAt: daysAhead(10),
|
|
334
|
-
coverImage: { type: "image", url: seedPhoto("event-cover-monsoon-sale-paused-20260101", 1200, 600), alt: "Monsoon Sale" },
|
|
335
|
-
tags: ["sale", "monsoon", "paused"],
|
|
336
|
-
stats: { totalEntries: 0, approvedEntries: 0, flaggedEntries: 0 },
|
|
337
|
-
createdBy: "user-admin-letitrip",
|
|
338
|
-
createdAt: daysAgo(6),
|
|
339
|
-
updatedAt: daysAgo(3),
|
|
340
|
-
},
|
|
341
|
-
// ── 12. CANCELLED — Raffle ───────────────────────────────────────────────
|
|
342
|
-
{
|
|
343
|
-
id: "event-x-launch-raffle-cancelled",
|
|
344
|
-
slug: "x-launch-raffle-cancelled",
|
|
345
|
-
type: EVENT_FIELDS.TYPE_VALUES.RAFFLE,
|
|
346
|
-
title: "Beyblade X Launch Raffle — Cancelled",
|
|
347
|
-
description: "<p>Cancelled after the prize stock could not be sourced in time. Entrants were refunded in full.</p>",
|
|
348
|
-
status: EVENT_FIELDS.STATUS_VALUES.CANCELLED,
|
|
349
|
-
startsAt: daysAgo(20),
|
|
350
|
-
endsAt: daysAgo(6),
|
|
351
|
-
coverImage: { type: "image", url: seedPhoto("event-cover-x-launch-raffle-cancelled-20260101", 1200, 600), alt: "Beyblade X Launch Raffle" },
|
|
352
|
-
tags: ["raffle", "beyblade-x", "cancelled"],
|
|
353
|
-
hasRaffle: true,
|
|
354
|
-
raffleType: "open_raffle",
|
|
355
|
-
rafflePrize: "Beyblade X Dran Sword starter set",
|
|
356
|
-
raffleEntryCount: 0,
|
|
357
|
-
stats: { totalEntries: 0, approvedEntries: 0, flaggedEntries: 0 },
|
|
358
|
-
createdBy: "user-admin-letitrip",
|
|
359
|
-
createdAt: daysAgo(25),
|
|
360
|
-
updatedAt: daysAgo(6),
|
|
361
|
-
},
|
|
362
|
-
];
|
|
363
|
-
// ── Event Entries ────────────────────────────────────────────────────────────
|
|
364
|
-
/*
|
|
365
|
-
* 🛑 `EventEntryPlain`: these fixtures hold REAL plaintext and `seed-cli`
|
|
366
|
-
* encrypts the PII fields on write. The document type now declares them
|
|
367
|
-
* `Encrypted<string>`, so the document type would be a false claim.
|
|
368
|
-
*/
|
|
369
|
-
export const eventEntriesSeedData = [
|
|
370
|
-
// Rehan entered the poll
|
|
371
|
-
{
|
|
372
|
-
id: "entry-poll-yugi-001",
|
|
373
|
-
eventId: "event-favourite-blader-poll",
|
|
374
|
-
userId: "user-yugi-muto",
|
|
375
|
-
userDisplayName: "Mock User 3",
|
|
376
|
-
userEmail: "rehan.sheikh@gmail.com",
|
|
377
|
-
pollVotes: ["tyson"],
|
|
378
|
-
reviewStatus: EVENT_ENTRY_FIELDS.REVIEW_STATUS_VALUES.APPROVED,
|
|
379
|
-
submittedAt: daysAgo(4),
|
|
380
|
-
createdAt: daysAgo(4),
|
|
381
|
-
},
|
|
382
|
-
// Vivaan entered the poll
|
|
383
|
-
{
|
|
384
|
-
id: "entry-poll-kaiba-001",
|
|
385
|
-
eventId: "event-favourite-blader-poll",
|
|
386
|
-
userId: "user-seto-kaiba",
|
|
387
|
-
userDisplayName: "Mock User 2",
|
|
388
|
-
userEmail: "vivaan.kapoor@gmail.com",
|
|
389
|
-
pollVotes: ["kai"],
|
|
390
|
-
reviewStatus: EVENT_ENTRY_FIELDS.REVIEW_STATUS_VALUES.APPROVED,
|
|
391
|
-
submittedAt: daysAgo(3),
|
|
392
|
-
createdAt: daysAgo(3),
|
|
393
|
-
},
|
|
394
|
-
// Rehan entered the raffle (and won the original-series raffle)
|
|
395
|
-
{
|
|
396
|
-
id: "entry-original-raffle-yugi-001",
|
|
397
|
-
eventId: "event-won-original-set-raffle",
|
|
398
|
-
userId: "user-yugi-muto",
|
|
399
|
-
userDisplayName: "Mock User 3",
|
|
400
|
-
userEmail: "rehan.sheikh@gmail.com",
|
|
401
|
-
raffleEligible: true,
|
|
402
|
-
reviewStatus: EVENT_ENTRY_FIELDS.REVIEW_STATUS_VALUES.APPROVED,
|
|
403
|
-
submittedAt: daysAgo(25),
|
|
404
|
-
createdAt: daysAgo(25),
|
|
405
|
-
},
|
|
406
|
-
// Rehan entered the active raffle
|
|
407
|
-
{
|
|
408
|
-
id: "entry-regalia-raffle-yugi-001",
|
|
409
|
-
eventId: "event-win-burst-regalia-genesis",
|
|
410
|
-
userId: "user-yugi-muto",
|
|
411
|
-
userDisplayName: "Mock User 3",
|
|
412
|
-
userEmail: "rehan.sheikh@gmail.com",
|
|
413
|
-
raffleEligible: true,
|
|
414
|
-
reviewStatus: EVENT_ENTRY_FIELDS.REVIEW_STATUS_VALUES.APPROVED,
|
|
415
|
-
submittedAt: daysAgo(2),
|
|
416
|
-
createdAt: daysAgo(2),
|
|
417
|
-
},
|
|
418
|
-
// Vivaan spun the wheel
|
|
419
|
-
{
|
|
420
|
-
id: "entry-spin-kaiba-001",
|
|
421
|
-
eventId: "event-daily-beyblade-pull-wheel",
|
|
422
|
-
userId: "user-seto-kaiba",
|
|
423
|
-
userDisplayName: "Mock User 2",
|
|
424
|
-
userEmail: "vivaan.kapoor@gmail.com",
|
|
425
|
-
spinUsed: true,
|
|
426
|
-
spinCount: 1,
|
|
427
|
-
spinPrizeId: "spin-10pct",
|
|
428
|
-
spinPrizeCouponCode: "REHAN10",
|
|
429
|
-
spinWonAt: daysAgo(1),
|
|
430
|
-
reviewStatus: EVENT_ENTRY_FIELDS.REVIEW_STATUS_VALUES.APPROVED,
|
|
431
|
-
submittedAt: daysAgo(1),
|
|
432
|
-
createdAt: daysAgo(1),
|
|
433
|
-
},
|
|
434
|
-
// Rehan spun the wheel twice (spinMaxPerUser: 2 on this event) — demo
|
|
435
|
-
// fixture for the per-identity spin-count enforcement added 2026-08-20.
|
|
436
|
-
{
|
|
437
|
-
id: "entry-spin-yugi-001",
|
|
438
|
-
eventId: "event-daily-beyblade-pull-wheel",
|
|
439
|
-
userId: "user-yugi-muto",
|
|
440
|
-
userDisplayName: "Mock User 3",
|
|
441
|
-
userEmail: "rehan.sheikh@gmail.com",
|
|
442
|
-
spinUsed: true,
|
|
443
|
-
spinCount: 2,
|
|
444
|
-
spinPrizeId: "spin-grip",
|
|
445
|
-
spinWonAt: daysAgo(1),
|
|
446
|
-
reviewStatus: EVENT_ENTRY_FIELDS.REVIEW_STATUS_VALUES.APPROVED,
|
|
447
|
-
submittedAt: daysAgo(2),
|
|
448
|
-
createdAt: daysAgo(2),
|
|
449
|
-
},
|
|
450
|
-
// A guest (not logged in) spun the wheel — demo fixture for the
|
|
451
|
-
// guest-participation toggle added 2026-08-20. This event's
|
|
452
|
-
// allowGuestParticipation is true, so no userId is set; guestIpHash is a
|
|
453
|
-
// deterministic-looking placeholder (real values are HMAC-SHA256 hex).
|
|
454
|
-
{
|
|
455
|
-
id: "entry-spin-guest-001",
|
|
456
|
-
eventId: "event-daily-beyblade-pull-wheel",
|
|
457
|
-
guestIpHash: "hmac-sha256:seed-placeholder-guest-spin-001",
|
|
458
|
-
spinUsed: true,
|
|
459
|
-
spinCount: 1,
|
|
460
|
-
spinPrizeId: "spin-5pct",
|
|
461
|
-
spinWonAt: daysAgo(3),
|
|
462
|
-
reviewStatus: EVENT_ENTRY_FIELDS.REVIEW_STATUS_VALUES.APPROVED,
|
|
463
|
-
submittedAt: daysAgo(3),
|
|
464
|
-
createdAt: daysAgo(3),
|
|
465
|
-
},
|
|
466
|
-
// A guest voted in the poll — demo fixture for allowGuestParticipation on
|
|
467
|
-
// a non-spin event type (poll).
|
|
468
|
-
{
|
|
469
|
-
id: "entry-poll-guest-001",
|
|
470
|
-
eventId: "event-favourite-blader-poll",
|
|
471
|
-
guestIpHash: "hmac-sha256:seed-placeholder-guest-poll-001",
|
|
472
|
-
pollVotes: ["max"],
|
|
473
|
-
reviewStatus: EVENT_ENTRY_FIELDS.REVIEW_STATUS_VALUES.APPROVED,
|
|
474
|
-
submittedAt: daysAgo(2),
|
|
475
|
-
createdAt: daysAgo(2),
|
|
476
|
-
},
|
|
477
|
-
];
|
|
478
|
-
/**
|
|
479
|
-
* Tokens derived here, not per record — see _helpers/search-txt-wrappers.ts for
|
|
480
|
-
* why the wrapper form is what makes omission impossible.
|
|
481
|
-
*/
|
|
482
|
-
export const eventsSeedData = _raweventsSeedData.map(withEventSearchTxt);
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
export interface SeedAddressDocument {
|
|
2
|
-
id: string;
|
|
3
|
-
userId: string;
|
|
4
|
-
line1: string;
|
|
5
|
-
line2?: string;
|
|
6
|
-
city: string;
|
|
7
|
-
state: string;
|
|
8
|
-
country: string;
|
|
9
|
-
postal: string;
|
|
10
|
-
/** PII — encrypted before Firestore write by seed runner */
|
|
11
|
-
phone?: string;
|
|
12
|
-
isDefault?: boolean;
|
|
13
|
-
createdAt: Date;
|
|
14
|
-
updatedAt: Date;
|
|
15
|
-
}
|
|
16
|
-
export declare function makeAddress(overrides?: Partial<SeedAddressDocument>): SeedAddressDocument;
|
|
17
|
-
export declare function makeFullAddress(overrides?: Partial<SeedAddressDocument>): SeedAddressDocument;
|
|
18
|
-
export declare const ADDRESS_FIXTURES: {
|
|
19
|
-
default: SeedAddressDocument;
|
|
20
|
-
secondary: SeedAddressDocument;
|
|
21
|
-
};
|
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
// appkit/src/seed/factories/address.factory.ts
|
|
2
|
-
import { getSeedLocale, getDefaultCountry, makeSeedPhone, pick, } from "../seed-market-config.js";
|
|
3
|
-
let _seq = 1;
|
|
4
|
-
export function makeAddress(overrides = {}) {
|
|
5
|
-
const n = _seq++;
|
|
6
|
-
const now = new Date();
|
|
7
|
-
const locale = getSeedLocale();
|
|
8
|
-
const [city, state, postal] = pick(locale.cities, n);
|
|
9
|
-
return {
|
|
10
|
-
id: overrides.id ?? `address-${n}`,
|
|
11
|
-
userId: overrides.userId ?? `user-${n}`,
|
|
12
|
-
line1: overrides.line1 ?? `${n * 7 + 1}, ${pick(locale.streetNames, n)}`,
|
|
13
|
-
city: overrides.city ?? city,
|
|
14
|
-
state: overrides.state ?? state,
|
|
15
|
-
country: overrides.country ?? getDefaultCountry(),
|
|
16
|
-
postal: overrides.postal ?? postal,
|
|
17
|
-
createdAt: overrides.createdAt ?? now,
|
|
18
|
-
updatedAt: overrides.updatedAt ?? now,
|
|
19
|
-
...overrides,
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
export function makeFullAddress(overrides = {}) {
|
|
23
|
-
const n = _seq;
|
|
24
|
-
const locale = getSeedLocale();
|
|
25
|
-
return makeAddress({
|
|
26
|
-
line2: `${pick(locale.buildingNames, n)}, Flat ${(n % 12) + 1}${["A", "B", "C", "D"][n % 4]}`,
|
|
27
|
-
phone: makeSeedPhone(n),
|
|
28
|
-
isDefault: true,
|
|
29
|
-
...overrides,
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
export const ADDRESS_FIXTURES = {
|
|
33
|
-
default: makeFullAddress({
|
|
34
|
-
id: "address-default-1",
|
|
35
|
-
userId: "buyer-user-1",
|
|
36
|
-
isDefault: true,
|
|
37
|
-
}),
|
|
38
|
-
secondary: makeAddress({
|
|
39
|
-
id: "address-secondary-1",
|
|
40
|
-
userId: "buyer-user-1",
|
|
41
|
-
city: "Pune",
|
|
42
|
-
postal: "411001",
|
|
43
|
-
}),
|
|
44
|
-
};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export interface SeedBidDocument {
|
|
2
|
-
id: string;
|
|
3
|
-
auctionId: string;
|
|
4
|
-
userId: string;
|
|
5
|
-
amount: number;
|
|
6
|
-
timestamp: Date;
|
|
7
|
-
isWinning?: boolean;
|
|
8
|
-
retracted?: boolean;
|
|
9
|
-
}
|
|
10
|
-
export declare function makeBid(overrides?: Partial<SeedBidDocument>): SeedBidDocument;
|
|
11
|
-
export declare function makeWinningBid(overrides?: Partial<SeedBidDocument>): SeedBidDocument;
|
|
12
|
-
export declare const BID_FIXTURES: {
|
|
13
|
-
winning: SeedBidDocument;
|
|
14
|
-
outbid: SeedBidDocument;
|
|
15
|
-
};
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
// appkit/src/seed/factories/bid.factory.ts
|
|
2
|
-
let _seq = 1;
|
|
3
|
-
export function makeBid(overrides = {}) {
|
|
4
|
-
const n = _seq++;
|
|
5
|
-
return {
|
|
6
|
-
id: overrides.id ?? `bid-${n}`,
|
|
7
|
-
auctionId: overrides.auctionId ?? "auction-1",
|
|
8
|
-
userId: overrides.userId ?? `user-${n}`,
|
|
9
|
-
amount: overrides.amount ?? n,
|
|
10
|
-
timestamp: overrides.timestamp ?? new Date(),
|
|
11
|
-
isWinning: overrides.isWinning ?? false,
|
|
12
|
-
retracted: overrides.retracted ?? false,
|
|
13
|
-
...overrides,
|
|
14
|
-
};
|
|
15
|
-
}
|
|
16
|
-
export function makeWinningBid(overrides = {}) {
|
|
17
|
-
return makeBid({ isWinning: true, ...overrides });
|
|
18
|
-
}
|
|
19
|
-
export const BID_FIXTURES = {
|
|
20
|
-
winning: makeWinningBid({
|
|
21
|
-
id: "bid-winner-1",
|
|
22
|
-
auctionId: "auction-1",
|
|
23
|
-
userId: "buyer-user-1",
|
|
24
|
-
amount: 5000,
|
|
25
|
-
}),
|
|
26
|
-
outbid: makeBid({
|
|
27
|
-
id: "bid-outbid-1",
|
|
28
|
-
auctionId: "auction-1",
|
|
29
|
-
userId: "buyer-user-1",
|
|
30
|
-
amount: 4500,
|
|
31
|
-
isWinning: false,
|
|
32
|
-
}),
|
|
33
|
-
};
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
export interface SeedBlogPostDocument {
|
|
2
|
-
id: string;
|
|
3
|
-
title: string;
|
|
4
|
-
slug: string;
|
|
5
|
-
content: string;
|
|
6
|
-
excerpt: string;
|
|
7
|
-
coverImage: string;
|
|
8
|
-
authorId: string;
|
|
9
|
-
status: "published" | "draft" | "archived";
|
|
10
|
-
tags: string[];
|
|
11
|
-
publishedAt: Date | null;
|
|
12
|
-
createdAt: Date;
|
|
13
|
-
updatedAt: Date;
|
|
14
|
-
}
|
|
15
|
-
export declare function makeBlogPost(overrides?: Partial<SeedBlogPostDocument>): SeedBlogPostDocument;
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
// appkit/src/seed/factories/blog-post.factory.ts
|
|
2
|
-
let _seq = 1;
|
|
3
|
-
export function makeBlogPost(overrides = {}) {
|
|
4
|
-
const n = _seq++;
|
|
5
|
-
const now = new Date();
|
|
6
|
-
const slug = overrides.slug ?? `blog-post-${n}`;
|
|
7
|
-
return {
|
|
8
|
-
id: overrides.id ?? `blog-${n}`,
|
|
9
|
-
title: overrides.title ?? `Blog Post ${n}`,
|
|
10
|
-
slug,
|
|
11
|
-
content: overrides.content ?? "<p>Blog post content goes here.</p>",
|
|
12
|
-
excerpt: overrides.excerpt ?? "A brief excerpt of the blog post.",
|
|
13
|
-
coverImage: overrides.coverImage ?? "",
|
|
14
|
-
authorId: overrides.authorId ?? "user-1",
|
|
15
|
-
status: overrides.status ?? "published",
|
|
16
|
-
tags: overrides.tags ?? [],
|
|
17
|
-
publishedAt: overrides.publishedAt !== undefined ? overrides.publishedAt : now,
|
|
18
|
-
createdAt: overrides.createdAt ?? now,
|
|
19
|
-
updatedAt: overrides.updatedAt ?? now,
|
|
20
|
-
...overrides,
|
|
21
|
-
};
|
|
22
|
-
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export interface SeedCarouselSlideDocument {
|
|
2
|
-
id: string;
|
|
3
|
-
imageUrl: string;
|
|
4
|
-
title: string;
|
|
5
|
-
subtitle: string;
|
|
6
|
-
ctaLabel: string;
|
|
7
|
-
ctaUrl: string;
|
|
8
|
-
sortOrder: number;
|
|
9
|
-
isActive: boolean;
|
|
10
|
-
}
|
|
11
|
-
export declare function makeCarouselSlide(overrides?: Partial<SeedCarouselSlideDocument>): SeedCarouselSlideDocument;
|