@mohasinac/appkit 2.7.53 → 2.7.54

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/dist/_internal/client/features/layout/DashboardLayoutClient.js +1 -1
  2. package/dist/_internal/server/jobs/core/auctionSettlement.js +6 -3
  3. package/dist/_internal/server/jobs/core/bundleStockSync.js +9 -7
  4. package/dist/_internal/server/jobs/core/onProductStockChange.d.ts +12 -3
  5. package/dist/_internal/server/jobs/core/onProductStockChange.js +12 -13
  6. package/dist/_internal/server/jobs/core/onProductWrite.js +1 -3
  7. package/dist/_internal/server/jobs/handlers/onProductStockChange.js +11 -2
  8. package/dist/client.d.ts +2 -0
  9. package/dist/client.js +1 -0
  10. package/dist/constants/field-names.d.ts +4 -3
  11. package/dist/constants/field-names.js +8 -8
  12. package/dist/errors/error-codes.d.ts +3 -0
  13. package/dist/errors/error-codes.js +3 -0
  14. package/dist/errors/messages.d.ts +3 -0
  15. package/dist/errors/messages.js +3 -0
  16. package/dist/features/admin/types/product.types.d.ts +1 -1
  17. package/dist/features/admin/types/product.types.js +2 -3
  18. package/dist/features/auctions/actions/bid-actions.d.ts +9 -0
  19. package/dist/features/auctions/actions/bid-actions.js +61 -0
  20. package/dist/features/auctions/components/AuctionDetailPageView.d.ts +2 -1
  21. package/dist/features/auctions/components/AuctionDetailPageView.js +5 -4
  22. package/dist/features/auctions/components/PlaceBidFormClient.d.ts +3 -1
  23. package/dist/features/auctions/components/PlaceBidFormClient.js +32 -2
  24. package/dist/features/auctions/types/index.d.ts +1 -1
  25. package/dist/features/layout/AppLayoutShell.js +1 -1
  26. package/dist/features/pre-orders/components/PreOrdersIndexListing.js +2 -11
  27. package/dist/features/products/api/[id]/route.js +4 -8
  28. package/dist/features/products/api/route.js +1 -3
  29. package/dist/features/products/components/AuctionsIndexListing.js +3 -11
  30. package/dist/features/products/components/PrizeDrawsIndexListing.js +2 -10
  31. package/dist/features/products/components/ProductFilters.d.ts +33 -9
  32. package/dist/features/products/components/ProductFilters.js +6 -29
  33. package/dist/features/products/components/ProductForm.js +2 -3
  34. package/dist/features/products/constants/sieve.d.ts +162 -0
  35. package/dist/features/products/constants/sieve.js +95 -0
  36. package/dist/features/products/repository/products.repository.d.ts +5 -0
  37. package/dist/features/products/repository/products.repository.js +23 -3
  38. package/dist/features/products/schemas/firestore.d.ts +4 -4
  39. package/dist/features/products/schemas/firestore.js +2 -3
  40. package/dist/features/products/schemas/index.d.ts +6 -6
  41. package/dist/features/products/schemas/index.js +2 -6
  42. package/dist/features/products/types/index.d.ts +1 -1
  43. package/dist/features/seller/actions/offer-actions.js +2 -2
  44. package/dist/features/wishlist/types/index.d.ts +1 -1
  45. package/dist/index.d.ts +6 -3
  46. package/dist/index.js +6 -4
  47. package/dist/seed/addresses-seed-data.d.ts +2 -18
  48. package/dist/seed/addresses-seed-data.js +137 -203
  49. package/dist/seed/bids-seed-data.d.ts +2 -8
  50. package/dist/seed/bids-seed-data.js +172 -648
  51. package/dist/seed/blog-posts-seed-data.d.ts +0 -5
  52. package/dist/seed/blog-posts-seed-data.js +341 -596
  53. package/dist/seed/carousel-slides-seed-data.d.ts +0 -5
  54. package/dist/seed/carousel-slides-seed-data.js +61 -192
  55. package/dist/seed/carousels-seed-data.js +18 -1
  56. package/dist/seed/cart-seed-data.d.ts +1 -18
  57. package/dist/seed/cart-seed-data.js +116 -293
  58. package/dist/seed/categories-seed-data.d.ts +0 -6
  59. package/dist/seed/categories-seed-data.js +1409 -1537
  60. package/dist/seed/claimed-coupons-seed-data.d.ts +0 -11
  61. package/dist/seed/claimed-coupons-seed-data.js +32 -29
  62. package/dist/seed/conversations-seed-data.d.ts +0 -6
  63. package/dist/seed/conversations-seed-data.js +132 -280
  64. package/dist/seed/coupon-usage-seed-data.d.ts +0 -16
  65. package/dist/seed/coupon-usage-seed-data.js +30 -44
  66. package/dist/seed/coupons-seed-data.d.ts +0 -6
  67. package/dist/seed/coupons-seed-data.js +141 -489
  68. package/dist/seed/events-seed-data.d.ts +0 -6
  69. package/dist/seed/events-seed-data.js +201 -379
  70. package/dist/seed/faq-seed-data.d.ts +0 -14
  71. package/dist/seed/faq-seed-data.js +609 -1184
  72. package/dist/seed/grouped-listings-seed-data.d.ts +119 -8
  73. package/dist/seed/grouped-listings-seed-data.js +148 -233
  74. package/dist/seed/history-seed-data.d.ts +0 -7
  75. package/dist/seed/history-seed-data.js +50 -54
  76. package/dist/seed/homepage-sections-seed-data.d.ts +0 -5
  77. package/dist/seed/homepage-sections-seed-data.js +83 -175
  78. package/dist/seed/index.d.ts +1 -1
  79. package/dist/seed/index.js +1 -1
  80. package/dist/seed/manifest.js +2 -2
  81. package/dist/seed/notifications-seed-data.d.ts +0 -6
  82. package/dist/seed/notifications-seed-data.js +309 -196
  83. package/dist/seed/offers-seed-data.d.ts +0 -8
  84. package/dist/seed/offers-seed-data.js +118 -197
  85. package/dist/seed/orders-seed-data.d.ts +2 -8
  86. package/dist/seed/orders-seed-data.js +248 -1510
  87. package/dist/seed/payouts-seed-data.d.ts +0 -6
  88. package/dist/seed/payouts-seed-data.js +102 -441
  89. package/dist/seed/products-auctions-seed-data.d.ts +1 -14
  90. package/dist/seed/products-auctions-seed-data.js +612 -1084
  91. package/dist/seed/products-preorders-seed-data.d.ts +119 -14
  92. package/dist/seed/products-preorders-seed-data.js +154 -455
  93. package/dist/seed/products-standard-seed-data.d.ts +1 -15
  94. package/dist/seed/products-standard-seed-data.js +1355 -4128
  95. package/dist/seed/reviews-seed-data.d.ts +2 -8
  96. package/dist/seed/reviews-seed-data.js +99 -1182
  97. package/dist/seed/scammers-seed-data.d.ts +0 -15
  98. package/dist/seed/scammers-seed-data.js +36 -37
  99. package/dist/seed/sessions-seed-data.d.ts +0 -13
  100. package/dist/seed/sessions-seed-data.js +58 -335
  101. package/dist/seed/site-settings-seed-data.d.ts +0 -4
  102. package/dist/seed/site-settings-seed-data.js +61 -52
  103. package/dist/seed/store-addresses-seed-data.js +27 -151
  104. package/dist/seed/store-extensions-seed-data.d.ts +0 -7
  105. package/dist/seed/store-extensions-seed-data.js +147 -261
  106. package/dist/seed/stores-seed-data.d.ts +0 -5
  107. package/dist/seed/stores-seed-data.js +222 -184
  108. package/dist/seed/sub-listings-seed-data.d.ts +119 -0
  109. package/dist/seed/sub-listings-seed-data.js +447 -0
  110. package/dist/seed/support-tickets-seed-data.d.ts +0 -7
  111. package/dist/seed/support-tickets-seed-data.js +82 -75
  112. package/dist/seed/users-seed-data.d.ts +0 -5
  113. package/dist/seed/users-seed-data.js +279 -634
  114. package/dist/seed/wishlists-seed-data.d.ts +0 -9
  115. package/dist/seed/wishlists-seed-data.js +36 -52
  116. package/dist/seo/json-ld.js +6 -4
  117. package/dist/styles.css +8052 -3
  118. package/dist/utils/index.d.ts +1 -0
  119. package/dist/utils/index.js +1 -0
  120. package/dist/utils/search-tokens.d.ts +2 -0
  121. package/dist/utils/search-tokens.js +21 -0
  122. package/package.json +2 -2
  123. package/scripts/seed-cli.mjs +2 -2
@@ -0,0 +1,119 @@
1
+ export declare const productsSublistingsSeedData: {
2
+ listingType: "standard";
3
+ id?: string | undefined;
4
+ title?: string | undefined;
5
+ description?: string | undefined;
6
+ slug?: string | undefined;
7
+ seoTitle?: string | undefined;
8
+ seoDescription?: string | undefined;
9
+ seoKeywords?: string[] | undefined;
10
+ categorySlugs?: string[] | undefined;
11
+ categoryNames?: string[] | undefined;
12
+ category?: string | undefined;
13
+ categoryName?: string | undefined;
14
+ subcategory?: string | undefined;
15
+ brand?: string | undefined;
16
+ brandSlug?: string | undefined;
17
+ price?: number | undefined;
18
+ currency?: string | undefined;
19
+ stockQuantity?: number | undefined;
20
+ availableQuantity?: number | undefined;
21
+ mainImage?: string | undefined;
22
+ images?: string[] | undefined;
23
+ video?: import("..").ProductVideoField | undefined;
24
+ status?: import("..").ProductStatus | undefined;
25
+ storeId?: string | undefined;
26
+ storeName?: string | undefined;
27
+ featured?: boolean | undefined;
28
+ tags?: string[] | undefined;
29
+ specifications?: import("..").ProductSpecification[] | undefined;
30
+ features?: string[] | undefined;
31
+ shippingInfo?: string | undefined;
32
+ returnPolicy?: string | undefined;
33
+ condition?: "new" | "used" | "refurbished" | "broken" | "graded" | undefined;
34
+ insurance?: boolean | undefined;
35
+ insuranceCost?: number | undefined;
36
+ shippingPaidBy?: "seller" | "buyer" | undefined;
37
+ auctionEndDate?: Date | undefined;
38
+ startingBid?: number | undefined;
39
+ currentBid?: number | undefined;
40
+ bidCount?: number | undefined;
41
+ leadingBidderId?: string | undefined;
42
+ reservePrice?: number | undefined;
43
+ buyNowPrice?: number | undefined;
44
+ minBidIncrement?: number | undefined;
45
+ autoExtendable?: boolean | undefined;
46
+ auctionExtensionMinutes?: number | undefined;
47
+ auctionOriginalEndDate?: Date | undefined;
48
+ auctionShippingPaidBy?: "seller" | "winner" | undefined;
49
+ buyItNowPriceInPaise?: number | undefined;
50
+ bidsHaveStarted?: boolean | undefined;
51
+ grading?: import("../features/products").ProductGrading | undefined;
52
+ card?: import("../features/products").ProductCardMetadata | undefined;
53
+ classified?: import("../features/products").ProductClassifiedMeta | undefined;
54
+ digitalCode?: import("../features/products").ProductDigitalCodeMeta | undefined;
55
+ liveItem?: import("../features/products").ProductLiveItemMeta | undefined;
56
+ catalogProductId?: string | undefined;
57
+ preOrderDeliveryDate?: Date | undefined;
58
+ preOrderDepositPercent?: number | undefined;
59
+ preOrderDepositAmount?: number | undefined;
60
+ preOrderMaxQuantity?: number | undefined;
61
+ preOrderCurrentCount?: number | undefined;
62
+ preOrderProductionStatus?: "upcoming" | "in_production" | "ready_to_ship" | undefined;
63
+ preOrderCancellable?: boolean | undefined;
64
+ preOrderClosed?: boolean | undefined;
65
+ isPromoted?: boolean | undefined;
66
+ isOnSale?: boolean | undefined;
67
+ isSold?: boolean | undefined;
68
+ promotionEndDate?: Date | undefined;
69
+ pickupAddressId?: string | undefined;
70
+ viewCount?: number | undefined;
71
+ avgRating?: number | undefined;
72
+ reviewCount?: number | undefined;
73
+ bulkDiscounts?: {
74
+ quantity: number;
75
+ discountPercent: number;
76
+ }[] | undefined;
77
+ ingredients?: string[] | undefined;
78
+ howToUse?: string[] | undefined;
79
+ allowOffers?: boolean | undefined;
80
+ minOfferPercent?: number | undefined;
81
+ customFields?: import("../features/products").CustomField[] | undefined;
82
+ customSections?: import("../features/products").CustomSection[] | undefined;
83
+ sublistingCategoryId?: string | undefined;
84
+ groupId?: string | undefined;
85
+ isGroupParent?: boolean | undefined;
86
+ groupParentSlug?: string | undefined;
87
+ groupChildSlugs?: string[] | undefined;
88
+ groupTitle?: string | undefined;
89
+ maxPerUser?: number | undefined;
90
+ partOfBundleIds?: string[] | undefined;
91
+ partOfBundleTitles?: string[] | undefined;
92
+ isPartOfBundle?: boolean | undefined;
93
+ prizeDrawItems?: import("../features/products").PrizeDrawItem[] | undefined;
94
+ pricePerEntry?: number | undefined;
95
+ prizeMaxEntries?: number | undefined;
96
+ prizeCurrentEntries?: number | undefined;
97
+ prizeRevealWindowStart?: Date | undefined;
98
+ prizeRevealWindowEnd?: Date | undefined;
99
+ prizeRevealStatus?: "pending" | "open" | "closed" | undefined;
100
+ prizeRevealDeadlineDays?: number | undefined;
101
+ prizeGithubFileUrl?: string | undefined;
102
+ shipping?: {
103
+ allowedProviderIds?: string[];
104
+ overrides?: Array<{
105
+ providerId: string;
106
+ feeInPaise?: number;
107
+ etaDaysMin?: number;
108
+ etaDaysMax?: number;
109
+ }>;
110
+ } | undefined;
111
+ physicalLocation?: {
112
+ zone: string;
113
+ shelf: string;
114
+ bin: string;
115
+ } | undefined;
116
+ searchTokens?: string[] | undefined;
117
+ createdAt?: Date | undefined;
118
+ updatedAt?: Date | undefined;
119
+ }[];
@@ -0,0 +1,447 @@
1
+ /*
2
+ * WHY: Seeds product variant listings (sub-listings) — alternate printings, conditions, and editions of the same card at different prices.
3
+ * WHAT: Exports 12 sub-listings (variants) grouped under 3 parent products: Dark Magician (4 variants), Blue-Eyes White Dragon (4 variants), Pot of Greed (3 variants). Each variant uses identical card metadata to the parent but different price/condition/printEdition. Variants are queryable together via `product.card.cardNumber` matching on product detail pages. All in Kaiba Corp Card Vault. Status: all published or draft matching their parent.
4
+ *
5
+ * EXPORTS:
6
+ * productsSublistingsSeedData — Array of 12 sub-listing products with listingType:"standard"
7
+ *
8
+ * @tag domain:products
9
+ * @tag layer:seed
10
+ * @tag pattern:none
11
+ * @tag access:server-only
12
+ * @tag consumers:seed/index.ts,seed/runner.ts,SeedPanel
13
+ * @tag sideEffects:none
14
+ */
15
+ import { PRODUCT_FIELDS } from "../constants/field-names";
16
+ // Card ID mappings for YGOPRODECK image API
17
+ const CARD_IDS = {
18
+ darkMagician: 46986414,
19
+ blueEyesWhiteDragon: 89631139,
20
+ potOfGreed: 55144522,
21
+ };
22
+ const _rawSublistingsSeedData = [
23
+ // ────────────────────────────────────────────────────────────────────────────
24
+ // Dark Magician LOB 1st Edition (parent: product-dark-magician-lob-1st) — 4 variants
25
+ // ────────────────────────────────────────────────────────────────────────────
26
+ {
27
+ id: "sublisting-dark-magician-lob-1st-nm",
28
+ storeId: "store-kaiba-corp-cards",
29
+ brandSlug: "brand-konami",
30
+ title: "Dark Magician — LOB 1st Edition (NM)",
31
+ slug: "sublisting-dark-magician-lob-1st-nm",
32
+ description: "Dark Magician from Legend of Blue Eyes White Dragon (LOB) first edition printing in near mint condition.",
33
+ price: 499900, // ₹4,999
34
+ currency: "INR",
35
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
36
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
37
+ listingType: "standard",
38
+ categorySlugs: ["category-monster-cards", "category-singles"],
39
+ images: [
40
+ `https://images.ygoprodeck.com/images/cards/${CARD_IDS.darkMagician}.jpg`,
41
+ ],
42
+ stockQuantity: 1,
43
+ isSold: false,
44
+ availableQuantity: 1,
45
+ customFields: [
46
+ { key: "printEdition", type: "text", value: "LOB 1st Edition" },
47
+ { key: "parentProductSlug", type: "text", value: "product-dark-magician-lob-1st" },
48
+ ],
49
+ customSections: [],
50
+ featured: false,
51
+ isPromoted: false,
52
+ isOnSale: false,
53
+ card: {
54
+ setName: "Legend of Blue Eyes White Dragon",
55
+ setYear: 1999,
56
+ cardNumber: "1/40",
57
+ rarity: "Super Rare",
58
+ language: "en",
59
+ },
60
+ grading: { service: "PSA", grade: 8, certNumber: "PSA-YGO-001001" },
61
+ createdAt: new Date(Date.now() - 60 * 24 * 60 * 60 * 1000),
62
+ updatedAt: new Date(),
63
+ },
64
+ {
65
+ id: "sublisting-dark-magician-lob-unlimited",
66
+ storeId: "store-kaiba-corp-cards",
67
+ brandSlug: "brand-konami",
68
+ title: "Dark Magician — LOB Unlimited (NM)",
69
+ slug: "sublisting-dark-magician-lob-unlimited",
70
+ description: "Dark Magician from Legend of Blue Eyes White Dragon unlimited printing in near mint condition.",
71
+ price: 299900, // ₹2,999
72
+ currency: "INR",
73
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
74
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
75
+ listingType: "standard",
76
+ categorySlugs: ["category-monster-cards", "category-singles"],
77
+ images: [
78
+ `https://images.ygoprodeck.com/images/cards/${CARD_IDS.darkMagician}.jpg`,
79
+ ],
80
+ stockQuantity: 2,
81
+ isSold: false,
82
+ availableQuantity: 2,
83
+ customFields: [
84
+ { key: "printEdition", type: "text", value: "LOB Unlimited" },
85
+ { key: "parentProductSlug", type: "text", value: "product-dark-magician-lob-1st" },
86
+ ],
87
+ customSections: [],
88
+ featured: false,
89
+ isPromoted: false,
90
+ isOnSale: false,
91
+ card: {
92
+ setName: "Legend of Blue Eyes White Dragon",
93
+ setYear: 1999,
94
+ cardNumber: "1/40",
95
+ rarity: "Super Rare",
96
+ language: "en",
97
+ },
98
+ createdAt: new Date(Date.now() - 60 * 24 * 60 * 60 * 1000),
99
+ updatedAt: new Date(),
100
+ },
101
+ {
102
+ id: "sublisting-dark-magician-sdk",
103
+ storeId: "store-kaiba-corp-cards",
104
+ brandSlug: "brand-konami",
105
+ title: "Dark Magician — SDK Reprint (NM)",
106
+ slug: "sublisting-dark-magician-sdk",
107
+ description: "Dark Magician from Starter Deck Kaiba reprint in near mint condition.",
108
+ price: 149900, // ₹1,499
109
+ currency: "INR",
110
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
111
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
112
+ listingType: "standard",
113
+ categorySlugs: ["category-monster-cards", "category-singles"],
114
+ images: [
115
+ `https://images.ygoprodeck.com/images/cards/${CARD_IDS.darkMagician}.jpg`,
116
+ ],
117
+ stockQuantity: 3,
118
+ isSold: false,
119
+ availableQuantity: 3,
120
+ customFields: [
121
+ { key: "printEdition", type: "text", value: "SDK Reprint" },
122
+ { key: "parentProductSlug", type: "text", value: "product-dark-magician-lob-1st" },
123
+ ],
124
+ customSections: [],
125
+ featured: false,
126
+ isPromoted: false,
127
+ isOnSale: false,
128
+ card: {
129
+ setName: "Starter Deck Kaiba",
130
+ setYear: 2002,
131
+ cardNumber: "SDY-006",
132
+ rarity: "Super Rare",
133
+ language: "en",
134
+ },
135
+ createdAt: new Date(Date.now() - 60 * 24 * 60 * 60 * 1000),
136
+ updatedAt: new Date(),
137
+ },
138
+ {
139
+ id: "sublisting-dark-magician-sdp",
140
+ storeId: "store-kaiba-corp-cards",
141
+ brandSlug: "brand-konami",
142
+ title: "Dark Magician — SDP Reprint (LP)",
143
+ slug: "sublisting-dark-magician-sdp",
144
+ description: "Dark Magician from Starter Deck Pegasus reprint in lightly played condition.",
145
+ price: 79900, // ₹799
146
+ currency: "INR",
147
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
148
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
149
+ listingType: "standard",
150
+ categorySlugs: ["category-monster-cards", "category-singles"],
151
+ images: [
152
+ `https://images.ygoprodeck.com/images/cards/${CARD_IDS.darkMagician}.jpg`,
153
+ ],
154
+ stockQuantity: 1,
155
+ isSold: false,
156
+ availableQuantity: 1,
157
+ customFields: [
158
+ { key: "printEdition", type: "text", value: "SDP Reprint" },
159
+ { key: "condition_detail", type: "text", value: "Lightly Played" },
160
+ { key: "parentProductSlug", type: "text", value: "product-dark-magician-lob-1st" },
161
+ ],
162
+ customSections: [],
163
+ featured: false,
164
+ isPromoted: false,
165
+ isOnSale: false,
166
+ card: {
167
+ setName: "Starter Deck Pegasus",
168
+ setYear: 2002,
169
+ cardNumber: "SDP-006",
170
+ rarity: "Super Rare",
171
+ language: "en",
172
+ },
173
+ createdAt: new Date(Date.now() - 60 * 24 * 60 * 60 * 1000),
174
+ updatedAt: new Date(),
175
+ },
176
+ // ────────────────────────────────────────────────────────────────────────────
177
+ // Blue-Eyes White Dragon SDK (parent: product-blue-eyes-white-dragon-sdk) — 4 variants
178
+ // ────────────────────────────────────────────────────────────────────────────
179
+ {
180
+ id: "sublisting-blue-eyes-lob-1st-nm",
181
+ storeId: "store-kaiba-corp-cards",
182
+ brandSlug: "brand-konami",
183
+ title: "Blue-Eyes White Dragon — LOB 1st Edition (NM)",
184
+ slug: "sublisting-blue-eyes-lob-1st-nm",
185
+ description: "Blue-Eyes White Dragon from Legend of Blue Eyes White Dragon first edition printing in near mint condition.",
186
+ price: 799900, // ₹7,999
187
+ currency: "INR",
188
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
189
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
190
+ listingType: "standard",
191
+ categorySlugs: ["category-monster-cards", "category-singles"],
192
+ images: [
193
+ `https://images.ygoprodeck.com/images/cards/${CARD_IDS.blueEyesWhiteDragon}.jpg`,
194
+ ],
195
+ stockQuantity: 1,
196
+ isSold: false,
197
+ availableQuantity: 1,
198
+ customFields: [
199
+ { key: "printEdition", type: "text", value: "LOB 1st Edition" },
200
+ { key: "parentProductSlug", type: "text", value: "product-blue-eyes-white-dragon-sdk" },
201
+ ],
202
+ customSections: [],
203
+ featured: false,
204
+ isPromoted: false,
205
+ isOnSale: false,
206
+ card: {
207
+ setName: "Legend of Blue Eyes White Dragon",
208
+ setYear: 1999,
209
+ cardNumber: "1/40",
210
+ rarity: "Ultra Rare",
211
+ language: "en",
212
+ },
213
+ grading: { service: "PSA", grade: 9, certNumber: "PSA-YGO-001002" },
214
+ createdAt: new Date(Date.now() - 60 * 24 * 60 * 60 * 1000),
215
+ updatedAt: new Date(),
216
+ },
217
+ {
218
+ id: "sublisting-blue-eyes-lob-unlimited",
219
+ storeId: "store-kaiba-corp-cards",
220
+ brandSlug: "brand-konami",
221
+ title: "Blue-Eyes White Dragon — LOB Unlimited (NM)",
222
+ slug: "sublisting-blue-eyes-lob-unlimited",
223
+ description: "Blue-Eyes White Dragon from Legend of Blue Eyes White Dragon unlimited printing in near mint condition.",
224
+ price: 499900, // ₹4,999
225
+ currency: "INR",
226
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
227
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
228
+ listingType: "standard",
229
+ categorySlugs: ["category-monster-cards", "category-singles"],
230
+ images: [
231
+ `https://images.ygoprodeck.com/images/cards/${CARD_IDS.blueEyesWhiteDragon}.jpg`,
232
+ ],
233
+ stockQuantity: 2,
234
+ isSold: false,
235
+ availableQuantity: 2,
236
+ customFields: [
237
+ { key: "printEdition", type: "text", value: "LOB Unlimited" },
238
+ { key: "parentProductSlug", type: "text", value: "product-blue-eyes-white-dragon-sdk" },
239
+ ],
240
+ customSections: [],
241
+ featured: false,
242
+ isPromoted: false,
243
+ isOnSale: false,
244
+ card: {
245
+ setName: "Legend of Blue Eyes White Dragon",
246
+ setYear: 1999,
247
+ cardNumber: "1/40",
248
+ rarity: "Ultra Rare",
249
+ language: "en",
250
+ },
251
+ createdAt: new Date(Date.now() - 60 * 24 * 60 * 60 * 1000),
252
+ updatedAt: new Date(),
253
+ },
254
+ {
255
+ id: "sublisting-blue-eyes-sdk",
256
+ storeId: "store-kaiba-corp-cards",
257
+ brandSlug: "brand-konami",
258
+ title: "Blue-Eyes White Dragon — SDK Reprint (NM)",
259
+ slug: "sublisting-blue-eyes-sdk",
260
+ description: "Blue-Eyes White Dragon from Starter Deck Kaiba reprint in near mint condition.",
261
+ price: 249900, // ₹2,499
262
+ currency: "INR",
263
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
264
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
265
+ listingType: "standard",
266
+ categorySlugs: ["category-monster-cards", "category-singles"],
267
+ images: [
268
+ `https://images.ygoprodeck.com/images/cards/${CARD_IDS.blueEyesWhiteDragon}.jpg`,
269
+ ],
270
+ stockQuantity: 3,
271
+ isSold: false,
272
+ availableQuantity: 3,
273
+ customFields: [
274
+ { key: "printEdition", type: "text", value: "SDK Reprint" },
275
+ { key: "parentProductSlug", type: "text", value: "product-blue-eyes-white-dragon-sdk" },
276
+ ],
277
+ customSections: [],
278
+ featured: false,
279
+ isPromoted: false,
280
+ isOnSale: false,
281
+ card: {
282
+ setName: "Starter Deck Kaiba",
283
+ setYear: 2002,
284
+ cardNumber: "SDY-006",
285
+ rarity: "Ultra Rare",
286
+ language: "en",
287
+ },
288
+ createdAt: new Date(Date.now() - 60 * 24 * 60 * 60 * 1000),
289
+ updatedAt: new Date(),
290
+ },
291
+ {
292
+ id: "sublisting-blue-eyes-kaiba-tin",
293
+ storeId: "store-kaiba-corp-cards",
294
+ brandSlug: "brand-konami",
295
+ title: "Blue-Eyes White Dragon — 2002 Tin Promo (NM)",
296
+ slug: "sublisting-blue-eyes-kaiba-tin",
297
+ description: "Blue-Eyes White Dragon from 2002 Kaiba tin promo in near mint condition.",
298
+ price: 399900, // ₹3,999
299
+ currency: "INR",
300
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
301
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
302
+ listingType: "standard",
303
+ categorySlugs: ["category-monster-cards", "category-singles"],
304
+ images: [
305
+ `https://images.ygoprodeck.com/images/cards/${CARD_IDS.blueEyesWhiteDragon}.jpg`,
306
+ ],
307
+ stockQuantity: 1,
308
+ isSold: false,
309
+ availableQuantity: 1,
310
+ customFields: [
311
+ { key: "printEdition", type: "text", value: "2002 Tin Promo" },
312
+ { key: "parentProductSlug", type: "text", value: "product-blue-eyes-white-dragon-sdk" },
313
+ ],
314
+ customSections: [],
315
+ featured: false,
316
+ isPromoted: false,
317
+ isOnSale: false,
318
+ card: {
319
+ setName: "2002 Tin Promotional",
320
+ setYear: 2002,
321
+ cardNumber: "TIN-006",
322
+ rarity: "Secret Rare",
323
+ language: "en",
324
+ },
325
+ createdAt: new Date(Date.now() - 60 * 24 * 60 * 60 * 1000),
326
+ updatedAt: new Date(),
327
+ },
328
+ // ────────────────────────────────────────────────────────────────────────────
329
+ // Pot of Greed LOB (parent: product-pot-of-greed-lob) — 3 variants
330
+ // ────────────────────────────────────────────────────────────────────────────
331
+ {
332
+ id: "sublisting-pot-of-greed-lob-1st",
333
+ storeId: "store-kaiba-corp-cards",
334
+ brandSlug: "brand-konami",
335
+ title: "Pot of Greed — LOB 1st Edition (NM)",
336
+ slug: "sublisting-pot-of-greed-lob-1st",
337
+ description: "Pot of Greed from Legend of Blue Eyes White Dragon first edition printing in near mint condition.",
338
+ price: 1499900, // ₹14,999
339
+ currency: "INR",
340
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
341
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
342
+ listingType: "standard",
343
+ categorySlugs: ["category-spell-cards", "category-singles"],
344
+ images: [
345
+ `https://images.ygoprodeck.com/images/cards/${CARD_IDS.potOfGreed}.jpg`,
346
+ ],
347
+ stockQuantity: 1,
348
+ isSold: false,
349
+ availableQuantity: 1,
350
+ customFields: [
351
+ { key: "printEdition", type: "text", value: "LOB 1st Edition" },
352
+ { key: "parentProductSlug", type: "text", value: "product-pot-of-greed-lob" },
353
+ ],
354
+ customSections: [],
355
+ featured: false,
356
+ isPromoted: false,
357
+ isOnSale: false,
358
+ card: {
359
+ setName: "Legend of Blue Eyes White Dragon",
360
+ setYear: 1999,
361
+ cardNumber: "21/40",
362
+ rarity: "Ultra Rare",
363
+ language: "en",
364
+ },
365
+ grading: { service: "PSA", grade: 9, certNumber: "PSA-YGO-001003" },
366
+ createdAt: new Date(Date.now() - 60 * 24 * 60 * 60 * 1000),
367
+ updatedAt: new Date(),
368
+ },
369
+ {
370
+ id: "sublisting-pot-of-greed-lob-unlimited",
371
+ storeId: "store-kaiba-corp-cards",
372
+ brandSlug: "brand-konami",
373
+ title: "Pot of Greed — LOB Unlimited (NM)",
374
+ slug: "sublisting-pot-of-greed-lob-unlimited",
375
+ description: "Pot of Greed from Legend of Blue Eyes White Dragon unlimited printing in near mint condition.",
376
+ price: 999900, // ₹9,999
377
+ currency: "INR",
378
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
379
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
380
+ listingType: "standard",
381
+ categorySlugs: ["category-spell-cards", "category-singles"],
382
+ images: [
383
+ `https://images.ygoprodeck.com/images/cards/${CARD_IDS.potOfGreed}.jpg`,
384
+ ],
385
+ stockQuantity: 2,
386
+ isSold: false,
387
+ availableQuantity: 2,
388
+ customFields: [
389
+ { key: "printEdition", type: "text", value: "LOB Unlimited" },
390
+ { key: "parentProductSlug", type: "text", value: "product-pot-of-greed-lob" },
391
+ ],
392
+ customSections: [],
393
+ featured: false,
394
+ isPromoted: false,
395
+ isOnSale: false,
396
+ card: {
397
+ setName: "Legend of Blue Eyes White Dragon",
398
+ setYear: 1999,
399
+ cardNumber: "21/40",
400
+ rarity: "Ultra Rare",
401
+ language: "en",
402
+ },
403
+ createdAt: new Date(Date.now() - 60 * 24 * 60 * 60 * 1000),
404
+ updatedAt: new Date(),
405
+ },
406
+ {
407
+ id: "sublisting-pot-of-greed-mrl",
408
+ storeId: "store-kaiba-corp-cards",
409
+ brandSlug: "brand-konami",
410
+ title: "Pot of Greed — MRL Reprint (NM)",
411
+ slug: "sublisting-pot-of-greed-mrl",
412
+ description: "Pot of Greed from Metal Raiders reprint in near mint condition.",
413
+ price: 599900, // ₹5,999
414
+ currency: "INR",
415
+ condition: PRODUCT_FIELDS.CONDITION_VALUES.USED,
416
+ status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
417
+ listingType: "standard",
418
+ categorySlugs: ["category-spell-cards", "category-singles"],
419
+ images: [
420
+ `https://images.ygoprodeck.com/images/cards/${CARD_IDS.potOfGreed}.jpg`,
421
+ ],
422
+ stockQuantity: 2,
423
+ isSold: false,
424
+ availableQuantity: 2,
425
+ customFields: [
426
+ { key: "printEdition", type: "text", value: "MRL Reprint" },
427
+ { key: "parentProductSlug", type: "text", value: "product-pot-of-greed-lob" },
428
+ ],
429
+ customSections: [],
430
+ featured: false,
431
+ isPromoted: false,
432
+ isOnSale: false,
433
+ card: {
434
+ setName: "Metal Raiders",
435
+ setYear: 2000,
436
+ cardNumber: "94/165",
437
+ rarity: "Ultra Rare",
438
+ language: "en",
439
+ },
440
+ createdAt: new Date(Date.now() - 60 * 24 * 60 * 60 * 1000),
441
+ updatedAt: new Date(),
442
+ },
443
+ ];
444
+ export const productsSublistingsSeedData = _rawSublistingsSeedData.map((p) => ({
445
+ ...p,
446
+ listingType: "standard",
447
+ }));
@@ -1,9 +1,2 @@
1
- /**
2
- * Support Tickets Seed Data — 6 tickets across all statuses and categories.
3
- *
4
- * Covers: open, in_progress, waiting_on_user, resolved, closed (2).
5
- * Users: mix of buyers (rahul-sharma, priya-patel, arjun-singh, meera-nair).
6
- * Employee assignee: user-simran-kaur (employee role).
7
- */
8
1
  import type { SupportTicketDocument } from "../features/support/schemas/firestore";
9
2
  export declare const supportTicketsSeedData: Partial<SupportTicketDocument>[];