@mohasinac/appkit 3.5.6 → 3.5.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/_internal/client/features/tour/TourProvider.d.ts +11 -3
- package/dist/_internal/client/features/tour/TourProvider.js +93 -4
- package/dist/_internal/server/features/checkout/actions.js +65 -11
- package/dist/_internal/server/features/orders/adapters.js +3 -0
- package/dist/_internal/shared/actions/action-registry.js +20 -0
- package/dist/_internal/shared/checkout/order-math.d.ts +21 -0
- package/dist/_internal/shared/checkout/order-math.js +24 -0
- package/dist/_internal/shared/features/orders/config.d.ts +1 -1
- package/dist/_internal/shared/features/orders/config.js +1 -1
- package/dist/_internal/shared/fees/calculator.d.ts +13 -0
- package/dist/_internal/shared/fees/calculator.js +8 -0
- package/dist/client.d.ts +8 -0
- package/dist/client.js +8 -0
- package/dist/constants/api-endpoints.d.ts +9 -0
- package/dist/constants/api-endpoints.js +3 -0
- package/dist/features/admin/components/AdminBundleEditorView.d.ts +8 -1
- package/dist/features/admin/components/AdminBundleEditorView.js +15 -11
- package/dist/features/admin/components/AdminPayoutsView.js +41 -4
- package/dist/features/admin/components/AdminSiteSettingsView.js +49 -1
- package/dist/features/admin/schemas/firestore.d.ts +8 -0
- package/dist/features/admin/schemas/firestore.js +6 -0
- package/dist/features/layout/TitleBarLayout.js +4 -4
- package/dist/features/messages/hooks/useConversations.d.ts +7 -1
- package/dist/features/messages/hooks/useConversations.js +7 -6
- package/dist/features/orders/actions/order-actions.d.ts +10 -0
- package/dist/features/orders/actions/order-actions.js +57 -4
- package/dist/features/orders/schemas/firestore.d.ts +16 -0
- package/dist/features/orders/types/index.d.ts +2 -0
- package/dist/features/products/schemas/firestore.d.ts +4 -0
- package/dist/features/scams/actions/scam-actions.d.ts +12 -0
- package/dist/features/scams/actions/scam-actions.js +31 -0
- package/dist/features/scams/components/SellerTrustBadge.d.ts +16 -0
- package/dist/features/scams/components/SellerTrustBadge.js +21 -0
- package/dist/features/scams/components/index.d.ts +2 -0
- package/dist/features/scams/components/index.js +1 -0
- package/dist/features/seller/components/SellerBundlesView.d.ts +5 -5
- package/dist/features/seller/components/SellerBundlesView.js +81 -84
- package/dist/features/seller/components/SellerProductShell.d.ts +2 -0
- package/dist/features/seller/components/SellerProductShell.js +7 -1
- package/dist/features/stores/components/StoreDetailLayoutView.d.ts +8 -1
- package/dist/features/stores/components/StoreDetailLayoutView.js +9 -3
- package/dist/features/stores/components/StoreHeader.d.ts +4 -1
- package/dist/features/stores/components/StoreHeader.js +3 -2
- package/dist/index.d.ts +7 -3
- package/dist/index.js +6 -2
- package/dist/jobs.d.ts +2 -0
- package/dist/jobs.js +6 -0
- package/dist/next/routing/route-map.d.ts +3 -0
- package/dist/next/routing/route-map.js +1 -0
- package/dist/security/rate-limit.d.ts +5 -0
- package/dist/security/rate-limit.js +2 -0
- package/dist/seed/categories-seed-data.js +180 -1
- package/dist/seed/grouped-listings-seed-data.d.ts +2 -0
- package/dist/seed/products-preorders-seed-data.d.ts +2 -0
- package/dist/server.d.ts +4 -0
- package/dist/server.js +5 -0
- package/package.json +2 -1
package/dist/index.js
CHANGED
|
@@ -4222,6 +4222,9 @@ export { useTrackOrder } from "./features/orders/index";
|
|
|
4222
4222
|
// cancelOrderForUser - Shared export for cancel order for user.
|
|
4223
4223
|
export { cancelOrderForUser } from "./features/orders/server";
|
|
4224
4224
|
// [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
4225
|
+
// cancelOrderItemsForUser - Cancels a subset of line items on an order and continues with the rest.
|
|
4226
|
+
export { cancelOrderItemsForUser } from "./features/orders/server";
|
|
4227
|
+
// [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
4225
4228
|
// getOrderByIdForUser - Helper for get order by id for user.
|
|
4226
4229
|
export { getOrderByIdForUser } from "./features/orders/server";
|
|
4227
4230
|
// [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
@@ -4517,7 +4520,7 @@ export { cartRequiresShipping, cartIsDigitalOnly, cartIsChatOnly, } from "./_int
|
|
|
4517
4520
|
export { ACTIONS, action, act, canPerformAction, actionsForListingType, actionLabel, } from "./_internal/shared/actions/action-registry";
|
|
4518
4521
|
export { buildBulkAction } from "./_internal/shared/actions/bulk-helpers";
|
|
4519
4522
|
// Shared fee calculator — platform/gateway/GST/COD handling fee math (pure, client-safe).
|
|
4520
|
-
export { computeCheckoutFees, computePayoutDeduction, computeCodHandlingFee, } from "./_internal/shared/fees/calculator";
|
|
4523
|
+
export { computeCheckoutFees, computePayoutDeduction, computeCodHandlingFee, calculateGst, } from "./_internal/shared/fees/calculator";
|
|
4521
4524
|
// EMI eligibility + schedule computation (pure, client-safe — used for checkout quotes).
|
|
4522
4525
|
export { checkEmiEligibility, computeEmiSchedule } from "./_internal/shared/features/emi/schedule";
|
|
4523
4526
|
// User-role predicates â€" SB-UNI-E 2026-05-13.
|
|
@@ -5595,8 +5598,9 @@ export { SCAM_TYPES, SCAM_CATEGORIES, SCAM_TYPE_LABELS, SCAM_CATEGORY_LABELS, ge
|
|
|
5595
5598
|
export { ScamRegistryView } from "./features/scams/components/ScamRegistryView";
|
|
5596
5599
|
export { ScamProfileView } from "./features/scams/components/ScamProfileView";
|
|
5597
5600
|
export { ScamAwarenessModal } from "./features/scams/components/ScamAwarenessModal";
|
|
5601
|
+
export { SellerTrustBadge } from "./features/scams/components/SellerTrustBadge";
|
|
5598
5602
|
// Scam server actions
|
|
5599
|
-
export { listVerifiedScammers, getPublicScammerById, getScammerProfilePageData, } from "./features/scams/actions/scam-actions";
|
|
5603
|
+
export { listVerifiedScammers, getPublicScammerById, getScammerProfilePageData, getSellerTrustStatus, } from "./features/scams/actions/scam-actions";
|
|
5600
5604
|
// --- Shell primitives (UX1/UX2/UX3/UX6) ----------------------------------------
|
|
5601
5605
|
// [CLIENT] SellerProductShell â€" full-flow create/edit shell for standard, auction, and pre-order listings.
|
|
5602
5606
|
export { SellerProductShell } from "./features/seller/components/SellerProductShell";
|
package/dist/jobs.d.ts
CHANGED
|
@@ -22,5 +22,7 @@
|
|
|
22
22
|
*/
|
|
23
23
|
export { couponExpiryHandler, offerExpiryHandler, cartPruneHandler, notificationPruneHandler, dailyDataCleanupHandler, cleanupRtdbEventsHandler, auctionSettlementHandler, autoPayoutEligibilityHandler, countersReconcileHandler, onOrderCreateHandler, onOrderStatusChangeHandler, onBidPlacedHandler, onReviewWriteHandler, promotionsHandler, mediaTmpCleanupHandler, pendingOrderTimeoutHandler, productStatsSyncHandler, positionsReconcileHandler, payoutBatchHandler, weeklyPayoutEligibilityHandler, onCategoryWriteHandler, onProductWriteHandler, onStoreWriteHandler, adminAnalyticsHandler, storeAnalyticsHandler, listingProcessorHandler, supportedListingCollections, prizeRevealOpenHandler, prizeRevealCloseHandler, prizeRevealExpiryHandler, prizeRevealReminderHandler, bundleStockSyncHandler, onProductStockChangeHandler, triggerEventRaffleHandler, assignSpinPrizeHandler, draftPruneHandler, onSupportTicketCreateHandler, onSupportTicketUpdateHandler, onUserBanChangeHandler, onScamReportCreateHandler, onScamReportUpdateHandler, bindSchedule, bindDocumentWritten, bindDocumentCreated, bindDocumentUpdated, bindCallable, bindHttps, bindToFirebase, } from "./_internal/server/jobs/index.js";
|
|
24
24
|
export { defineFunction, mergeFunctionRegistries, bindAllFromRegistry, APPKIT_FUNCTIONS, APPKIT_FUNCTIONS_BY_NAME, } from "./_internal/server/functions/index.js";
|
|
25
|
+
export { orderRepository, siteSettingsRepository } from "./repositories/index.js";
|
|
26
|
+
export type { OrderDocument, OrderDocumentItem } from "./features/orders/index.js";
|
|
25
27
|
export type { PromotionsCallableResult, AdminAnalyticsResult, StoreAnalyticsInput, StoreAnalyticsResult, ListingRequestBody, ListingResponseBody, JobContext, JobLogger, JobHandlers, ScheduleHandler, FirestoreTriggerHandler, FirestoreTriggerEvent, CallableHandler, BindHttpsOptions, } from "./_internal/server/jobs/index.js";
|
|
26
28
|
export type { DocumentCreatedTrigger, DocumentTriggerFunctionDefinition, DocumentUpdatedTrigger, DocumentWrittenTrigger, FunctionDefinition, FunctionMemory, FunctionOptions, FunctionTrigger, HttpsFunctionDefinition, HttpsTrigger, ScheduledFunctionDefinition, ScheduleTrigger, } from "./_internal/server/functions/index.js";
|
package/dist/jobs.js
CHANGED
|
@@ -40,3 +40,9 @@ bindSchedule, bindDocumentWritten, bindDocumentCreated, bindDocumentUpdated, bin
|
|
|
40
40
|
// mergeFunctionRegistries(...) and binding the result with
|
|
41
41
|
// bindAllFromRegistry(...).
|
|
42
42
|
export { defineFunction, mergeFunctionRegistries, bindAllFromRegistry, APPKIT_FUNCTIONS, APPKIT_FUNCTIONS_BY_NAME, } from "./_internal/server/functions/index.js";
|
|
43
|
+
// Narrow repository re-export for consumer Firebase Functions (e.g. invoice
|
|
44
|
+
// PDF generation) — imports directly from the repositories barrel rather
|
|
45
|
+
// than `index.ts`/`server.ts`, whose much broader module graphs pull in
|
|
46
|
+
// Next.js OG-rendering code that fails to bundle under tsup/esbuild's CJS
|
|
47
|
+
// output for the Functions runtime.
|
|
48
|
+
export { orderRepository, siteSettingsRepository } from "./repositories/index.js";
|
|
@@ -154,6 +154,7 @@ export declare const DEFAULT_ROUTE_MAP: {
|
|
|
154
154
|
};
|
|
155
155
|
readonly STORE: {
|
|
156
156
|
readonly DASHBOARD: "/store";
|
|
157
|
+
readonly MESSAGES: "/store/messages";
|
|
157
158
|
readonly PRODUCTS: "/store/products";
|
|
158
159
|
readonly PRODUCTS_NEW: "/store/products/new";
|
|
159
160
|
readonly PRODUCTS_EDIT: (id: string) => string;
|
|
@@ -513,6 +514,7 @@ export declare const ROUTES: {
|
|
|
513
514
|
};
|
|
514
515
|
readonly STORE: {
|
|
515
516
|
readonly DASHBOARD: "/store";
|
|
517
|
+
readonly MESSAGES: "/store/messages";
|
|
516
518
|
readonly PRODUCTS: "/store/products";
|
|
517
519
|
readonly PRODUCTS_NEW: "/store/products/new";
|
|
518
520
|
readonly PRODUCTS_EDIT: (id: string) => string;
|
|
@@ -731,6 +733,7 @@ export declare const ROUTES: {
|
|
|
731
733
|
/** @deprecated Use ROUTES.STORE instead */
|
|
732
734
|
export declare const SELLER_ROUTES: {
|
|
733
735
|
readonly DASHBOARD: "/store";
|
|
736
|
+
readonly MESSAGES: "/store/messages";
|
|
734
737
|
readonly PRODUCTS: "/store/products";
|
|
735
738
|
readonly PRODUCTS_NEW: "/store/products/new";
|
|
736
739
|
readonly PRODUCTS_EDIT: (id: string) => string;
|
|
@@ -68,6 +68,11 @@ export declare const RateLimitPresets: {
|
|
|
68
68
|
readonly limit: 10;
|
|
69
69
|
readonly window: 60;
|
|
70
70
|
};
|
|
71
|
+
/** P-11 — chat message send: 100 per hour per user. */
|
|
72
|
+
readonly CHAT: {
|
|
73
|
+
readonly limit: 100;
|
|
74
|
+
readonly window: 3600;
|
|
75
|
+
};
|
|
71
76
|
};
|
|
72
77
|
/** For testing only: clear the in-memory store. */
|
|
73
78
|
export declare function clearRateLimitStore(): void;
|
|
@@ -113,6 +113,8 @@ export const RateLimitPresets = {
|
|
|
113
113
|
PASSWORD_RESET: { limit: 3, window: 3600 },
|
|
114
114
|
EMAIL_VERIFICATION: { limit: 5, window: 3600 },
|
|
115
115
|
OAUTH: { limit: 10, window: 60 },
|
|
116
|
+
/** P-11 — chat message send: 100 per hour per user. */
|
|
117
|
+
CHAT: { limit: 100, window: 3600 },
|
|
116
118
|
};
|
|
117
119
|
/** For testing only: clear the in-memory store. */
|
|
118
120
|
export function clearRateLimitStore() {
|
|
@@ -227,14 +227,193 @@ const brandRows = [
|
|
|
227
227
|
seo: { title: "Beyblade | LetItRip", description: "Shop Beyblade — Original, X, Burst, Metal Fight tops and stadiums.", keywords: ["beyblade", "beyblade x", "beyblade burst", "spinning top battle"] },
|
|
228
228
|
},
|
|
229
229
|
];
|
|
230
|
+
// P-17 — 5 bundle rows (categoryType:"bundle") grouping the Beyblade-minimal
|
|
231
|
+
// standard products by generation, plus one cross-generation starter pack.
|
|
232
|
+
// Every bundle references real seeded product ids (products-standard-seed-data.ts),
|
|
233
|
+
// all currently under store-beyblade-arena.
|
|
234
|
+
const bundleRows = [
|
|
235
|
+
{
|
|
236
|
+
id: "bundle-original-collectors-set",
|
|
237
|
+
name: "Original Collector's Set",
|
|
238
|
+
slug: "bundle-original-collectors-set",
|
|
239
|
+
description: "Both original-generation Beyblades — Dranzer S and Driger V — bundled at a discount.",
|
|
240
|
+
categoryType: "bundle",
|
|
241
|
+
bundleKind: "special",
|
|
242
|
+
bundlePriceInPaise: 299900,
|
|
243
|
+
bundleQueryRule: {
|
|
244
|
+
type: "static",
|
|
245
|
+
productIds: ["product-beyblade-original-dranzer-s", "product-beyblade-original-driger-v", "product-beyblade-metal-storm-pegasus"],
|
|
246
|
+
},
|
|
247
|
+
bundleProductIds: ["product-beyblade-original-dranzer-s", "product-beyblade-original-driger-v", "product-beyblade-metal-storm-pegasus"],
|
|
248
|
+
bundleStockStatus: "in_stock",
|
|
249
|
+
display: { coverImage: seedExtMedia("https://picsum.photos/seed/bundle-original-collectors-set-20260101/1200/900"), showInFooter: false },
|
|
250
|
+
isActive: true,
|
|
251
|
+
isSearchable: true,
|
|
252
|
+
isFeatured: true,
|
|
253
|
+
order: 0,
|
|
254
|
+
rootId: "bundle-original-collectors-set",
|
|
255
|
+
parentIds: [],
|
|
256
|
+
childrenIds: [],
|
|
257
|
+
tier: 0,
|
|
258
|
+
path: "bundle-original-collectors-set",
|
|
259
|
+
position: 0,
|
|
260
|
+
subtreeSize: 1,
|
|
261
|
+
metrics: { productCount: 0, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 0, totalAuctionCount: 0, totalItemCount: 0, lastUpdated: NOW },
|
|
262
|
+
createdBy: "user-admin-letitrip",
|
|
263
|
+
createdByType: "admin",
|
|
264
|
+
createdAt: daysAgo(20),
|
|
265
|
+
updatedAt: daysAgo(5),
|
|
266
|
+
},
|
|
267
|
+
{
|
|
268
|
+
id: "bundle-metal-fusion-duo",
|
|
269
|
+
name: "Metal Fusion Duo",
|
|
270
|
+
slug: "bundle-metal-fusion-duo",
|
|
271
|
+
description: "Storm Pegasus and Flame Sagittario — the classic Metal Fight rivalry, together.",
|
|
272
|
+
categoryType: "bundle",
|
|
273
|
+
bundleKind: "special",
|
|
274
|
+
bundlePriceInPaise: 349900,
|
|
275
|
+
bundleQueryRule: {
|
|
276
|
+
type: "static",
|
|
277
|
+
productIds: ["product-beyblade-metal-storm-pegasus", "product-beyblade-metal-flame-sagittario", "product-beyblade-original-dranzer-s"],
|
|
278
|
+
},
|
|
279
|
+
bundleProductIds: ["product-beyblade-metal-storm-pegasus", "product-beyblade-metal-flame-sagittario", "product-beyblade-original-dranzer-s"],
|
|
280
|
+
bundleStockStatus: "in_stock",
|
|
281
|
+
display: { coverImage: seedExtMedia("https://picsum.photos/seed/bundle-metal-fusion-duo-20260101/1200/900"), showInFooter: false },
|
|
282
|
+
isActive: true,
|
|
283
|
+
isSearchable: true,
|
|
284
|
+
isFeatured: false,
|
|
285
|
+
order: 1,
|
|
286
|
+
rootId: "bundle-metal-fusion-duo",
|
|
287
|
+
parentIds: [],
|
|
288
|
+
childrenIds: [],
|
|
289
|
+
tier: 0,
|
|
290
|
+
path: "bundle-metal-fusion-duo",
|
|
291
|
+
position: 0,
|
|
292
|
+
subtreeSize: 1,
|
|
293
|
+
metrics: { productCount: 0, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 0, totalAuctionCount: 0, totalItemCount: 0, lastUpdated: NOW },
|
|
294
|
+
createdBy: "user-admin-letitrip",
|
|
295
|
+
createdByType: "admin",
|
|
296
|
+
createdAt: daysAgo(18),
|
|
297
|
+
updatedAt: daysAgo(4),
|
|
298
|
+
},
|
|
299
|
+
{
|
|
300
|
+
id: "bundle-burst-battlers-pack",
|
|
301
|
+
name: "Burst Battlers Pack",
|
|
302
|
+
slug: "bundle-burst-battlers-pack",
|
|
303
|
+
description: "Valkyrie and Regalia Genesis — top-tier Burst-era attackers in one set.",
|
|
304
|
+
categoryType: "bundle",
|
|
305
|
+
bundleKind: "special",
|
|
306
|
+
bundlePriceInPaise: 379900,
|
|
307
|
+
bundleQueryRule: {
|
|
308
|
+
type: "static",
|
|
309
|
+
productIds: ["product-beyblade-burst-valkyrie", "product-beyblade-burst-regalia-genesis", "product-beyblade-metal-flame-sagittario"],
|
|
310
|
+
},
|
|
311
|
+
bundleProductIds: ["product-beyblade-burst-valkyrie", "product-beyblade-burst-regalia-genesis", "product-beyblade-metal-flame-sagittario"],
|
|
312
|
+
bundleStockStatus: "in_stock",
|
|
313
|
+
display: { coverImage: seedExtMedia("https://picsum.photos/seed/bundle-burst-battlers-pack-20260101/1200/900"), showInFooter: false },
|
|
314
|
+
isActive: true,
|
|
315
|
+
isSearchable: true,
|
|
316
|
+
isFeatured: true,
|
|
317
|
+
order: 2,
|
|
318
|
+
rootId: "bundle-burst-battlers-pack",
|
|
319
|
+
parentIds: [],
|
|
320
|
+
childrenIds: [],
|
|
321
|
+
tier: 0,
|
|
322
|
+
path: "bundle-burst-battlers-pack",
|
|
323
|
+
position: 0,
|
|
324
|
+
subtreeSize: 1,
|
|
325
|
+
metrics: { productCount: 0, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 0, totalAuctionCount: 0, totalItemCount: 0, lastUpdated: NOW },
|
|
326
|
+
createdBy: "user-admin-letitrip",
|
|
327
|
+
createdByType: "admin",
|
|
328
|
+
createdAt: daysAgo(15),
|
|
329
|
+
updatedAt: daysAgo(3),
|
|
330
|
+
},
|
|
331
|
+
{
|
|
332
|
+
id: "bundle-x-series-starter",
|
|
333
|
+
name: "X-Series Starter Set",
|
|
334
|
+
slug: "bundle-x-series-starter",
|
|
335
|
+
description: "Wizard Arrow and Knife Shinobi — the newest X-series tops for new battlers.",
|
|
336
|
+
categoryType: "bundle",
|
|
337
|
+
bundleKind: "special",
|
|
338
|
+
bundlePriceInPaise: 249900,
|
|
339
|
+
bundleQueryRule: {
|
|
340
|
+
type: "static",
|
|
341
|
+
productIds: ["product-beyblade-x-wizard-arrow", "product-beyblade-x-knife-shinobi", "product-beyblade-burst-valkyrie"],
|
|
342
|
+
},
|
|
343
|
+
bundleProductIds: ["product-beyblade-x-wizard-arrow", "product-beyblade-x-knife-shinobi", "product-beyblade-burst-valkyrie"],
|
|
344
|
+
bundleStockStatus: "in_stock",
|
|
345
|
+
display: { coverImage: seedExtMedia("https://picsum.photos/seed/bundle-x-series-starter-20260101/1200/900"), showInFooter: false },
|
|
346
|
+
isActive: true,
|
|
347
|
+
isSearchable: true,
|
|
348
|
+
isFeatured: false,
|
|
349
|
+
order: 3,
|
|
350
|
+
rootId: "bundle-x-series-starter",
|
|
351
|
+
parentIds: [],
|
|
352
|
+
childrenIds: [],
|
|
353
|
+
tier: 0,
|
|
354
|
+
path: "bundle-x-series-starter",
|
|
355
|
+
position: 0,
|
|
356
|
+
subtreeSize: 1,
|
|
357
|
+
metrics: { productCount: 0, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 0, totalAuctionCount: 0, totalItemCount: 0, lastUpdated: NOW },
|
|
358
|
+
createdBy: "user-admin-letitrip",
|
|
359
|
+
createdByType: "admin",
|
|
360
|
+
createdAt: daysAgo(12),
|
|
361
|
+
updatedAt: daysAgo(2),
|
|
362
|
+
},
|
|
363
|
+
{
|
|
364
|
+
id: "bundle-every-generation-starter-pack",
|
|
365
|
+
name: "Every Generation Starter Pack",
|
|
366
|
+
slug: "bundle-every-generation-starter-pack",
|
|
367
|
+
description: "One top from every Beyblade generation — Original, Metal Fight, Burst, and X — the ultimate collector's starter pack.",
|
|
368
|
+
categoryType: "bundle",
|
|
369
|
+
bundleKind: "special",
|
|
370
|
+
bundlePriceInPaise: 599900,
|
|
371
|
+
bundleQueryRule: {
|
|
372
|
+
type: "static",
|
|
373
|
+
productIds: [
|
|
374
|
+
"product-beyblade-original-driger-v",
|
|
375
|
+
"product-beyblade-metal-storm-pegasus",
|
|
376
|
+
"product-beyblade-burst-valkyrie",
|
|
377
|
+
"product-beyblade-x-wizard-arrow",
|
|
378
|
+
],
|
|
379
|
+
},
|
|
380
|
+
bundleProductIds: [
|
|
381
|
+
"product-beyblade-original-driger-v",
|
|
382
|
+
"product-beyblade-metal-storm-pegasus",
|
|
383
|
+
"product-beyblade-burst-valkyrie",
|
|
384
|
+
"product-beyblade-x-wizard-arrow",
|
|
385
|
+
],
|
|
386
|
+
bundleStockStatus: "in_stock",
|
|
387
|
+
display: { coverImage: seedExtMedia("https://picsum.photos/seed/bundle-every-generation-starter-pack-20260101/1200/900"), showInFooter: false },
|
|
388
|
+
isActive: true,
|
|
389
|
+
isSearchable: true,
|
|
390
|
+
isFeatured: true,
|
|
391
|
+
order: 4,
|
|
392
|
+
rootId: "bundle-every-generation-starter-pack",
|
|
393
|
+
parentIds: [],
|
|
394
|
+
childrenIds: [],
|
|
395
|
+
tier: 0,
|
|
396
|
+
path: "bundle-every-generation-starter-pack",
|
|
397
|
+
position: 0,
|
|
398
|
+
subtreeSize: 1,
|
|
399
|
+
metrics: { productCount: 0, productIds: [], auctionCount: 0, auctionIds: [], totalProductCount: 0, totalAuctionCount: 0, totalItemCount: 0, lastUpdated: NOW },
|
|
400
|
+
createdBy: "user-admin-letitrip",
|
|
401
|
+
createdByType: "admin",
|
|
402
|
+
createdAt: daysAgo(10),
|
|
403
|
+
updatedAt: daysAgo(1),
|
|
404
|
+
},
|
|
405
|
+
];
|
|
230
406
|
export const categoriesSeedData = [
|
|
231
407
|
...rawCategories.map((c) => ({ ancestors: [], ...c, createdByType: "admin" })),
|
|
232
408
|
...sublistingRows.map((s) => ({ ancestors: [], ...s, createdByType: "admin" })),
|
|
233
409
|
...brandRows.map((b) => ({ ancestors: [], ...b, createdByType: "admin" })),
|
|
410
|
+
...bundleRows.map((b) => ({ ancestors: [], ...b })),
|
|
234
411
|
];
|
|
235
|
-
// P-1 default seed: identical to categoriesSeedData
|
|
412
|
+
// P-1 default seed: identical to categoriesSeedData (bundle rows included — P-17
|
|
413
|
+
// re-added them 2026-08-15 after the earlier removal referenced below).
|
|
236
414
|
export const categoriesP1SeedData = [
|
|
237
415
|
...rawCategories.map((c) => ({ ancestors: [], ...c, createdByType: "admin" })),
|
|
238
416
|
...sublistingRows.map((s) => ({ ancestors: [], ...s, createdByType: "admin" })),
|
|
239
417
|
...brandRows.map((b) => ({ ancestors: [], ...b, createdByType: "admin" })),
|
|
418
|
+
...bundleRows.map((b) => ({ ancestors: [], ...b })),
|
|
240
419
|
];
|
|
@@ -67,6 +67,8 @@ export declare const groupedListingsSeedData: {
|
|
|
67
67
|
isOnSale?: boolean | undefined;
|
|
68
68
|
isSold?: boolean | undefined;
|
|
69
69
|
allowShipBeforeEmiComplete?: boolean | undefined;
|
|
70
|
+
gstRate?: 0 | 5 | 12 | 18 | 28 | undefined;
|
|
71
|
+
hsnCode?: string | undefined;
|
|
70
72
|
printMeta?: import("../features/products").ProductPrintMeta | undefined;
|
|
71
73
|
promotionEndDate?: Date | undefined;
|
|
72
74
|
pickupAddressId?: string | undefined;
|
|
@@ -68,6 +68,8 @@ export declare const productsPreordersSeedData: {
|
|
|
68
68
|
isOnSale?: boolean | undefined;
|
|
69
69
|
isSold?: boolean | undefined;
|
|
70
70
|
allowShipBeforeEmiComplete?: boolean | undefined;
|
|
71
|
+
gstRate?: 0 | 5 | 12 | 18 | 28 | undefined;
|
|
72
|
+
hsnCode?: string | undefined;
|
|
71
73
|
printMeta?: import("../features/products").ProductPrintMeta | undefined;
|
|
72
74
|
promotionEndDate?: Date | undefined;
|
|
73
75
|
pickupAddressId?: string | undefined;
|
package/dist/server.d.ts
CHANGED
|
@@ -333,6 +333,7 @@ export { finalizeStagedMediaObject } from "./features/media/server";
|
|
|
333
333
|
export { finalizeStagedMediaObjectArray } from "./features/media/server";
|
|
334
334
|
export { finalizeStagedMediaUrl } from "./features/media/server";
|
|
335
335
|
export { cancelOrderForUser } from "./features/orders/server";
|
|
336
|
+
export { cancelOrderItemsForUser } from "./features/orders/server";
|
|
336
337
|
export { getOrderByIdForUser } from "./features/orders/server";
|
|
337
338
|
export { getOrderTrackingHandler } from "./features/orders/server";
|
|
338
339
|
export { getTrackingInfo } from "./features/orders/server";
|
|
@@ -437,6 +438,9 @@ export { getWishlistForUser } from "./features/wishlist/server";
|
|
|
437
438
|
export { removeFromWishlist } from "./features/wishlist/server";
|
|
438
439
|
export { siteSettingsRepository } from "./repositories/index";
|
|
439
440
|
export { storeRepository } from "./repositories/index";
|
|
441
|
+
export { orderRepository } from "./repositories/index";
|
|
442
|
+
export type { OrderDocument } from "./features/orders/index";
|
|
443
|
+
export type { OrderDocumentItem } from "./features/orders/index";
|
|
440
444
|
export { serverLogger } from "./monitoring/index";
|
|
441
445
|
export { withRetry } from "./http/retry";
|
|
442
446
|
export { safeFireAndForget } from "./utils/safe-fire-forget";
|
package/dist/server.js
CHANGED
|
@@ -968,6 +968,9 @@ export { finalizeStagedMediaUrl } from "./features/media/server";
|
|
|
968
968
|
// cancelOrderForUser - Shared export for cancel order for user.
|
|
969
969
|
export { cancelOrderForUser } from "./features/orders/server";
|
|
970
970
|
// [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
971
|
+
// cancelOrderItemsForUser - Cancels a subset of line items on an order and continues with the rest.
|
|
972
|
+
export { cancelOrderItemsForUser } from "./features/orders/server";
|
|
973
|
+
// [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
971
974
|
// getOrderByIdForUser - Helper for get order by id for user.
|
|
972
975
|
export { getOrderByIdForUser } from "./features/orders/server";
|
|
973
976
|
// [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
@@ -1274,6 +1277,8 @@ export { removeFromWishlist } from "./features/wishlist/server";
|
|
|
1274
1277
|
export { siteSettingsRepository } from "./repositories/index";
|
|
1275
1278
|
// storeRepository - Shared export for store repository.
|
|
1276
1279
|
export { storeRepository } from "./repositories/index";
|
|
1280
|
+
// orderRepository - Shared export for order repository (needed by consumer Firebase Functions, e.g. invoice PDF generation).
|
|
1281
|
+
export { orderRepository } from "./repositories/index";
|
|
1277
1282
|
// SB-UNI-V — bundlesRepository deleted; use categoriesRepository with categoryType:"bundle".
|
|
1278
1283
|
// -- Monitoring --------------------------------------------------------------
|
|
1279
1284
|
// serverLogger - Structured server-side logger.
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mohasinac/appkit",
|
|
3
|
-
"version": "3.5.
|
|
3
|
+
"version": "3.5.7",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -172,6 +172,7 @@
|
|
|
172
172
|
},
|
|
173
173
|
"dependencies": {
|
|
174
174
|
"@mohasinac/sievejs": "^1.0.0",
|
|
175
|
+
"driver.js": "^1.8.0",
|
|
175
176
|
"jsbarcode": "^3.12.3",
|
|
176
177
|
"motion": "^12.40.0",
|
|
177
178
|
"react-advanced-cropper": "^0.20.1",
|