@mohasinac/appkit 3.2.20 → 3.3.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/_internal/server/features/checkout/actions.d.ts +2 -0
- package/dist/_internal/server/features/checkout/actions.js +239 -190
- package/dist/_internal/server/functions/scheduled.d.ts +2 -1
- package/dist/_internal/server/functions/scheduled.js +9 -1
- package/dist/_internal/server/jobs/core/autoPayoutEligibility.js +8 -11
- package/dist/_internal/server/jobs/core/emiInstallmentReminder.d.ts +8 -0
- package/dist/_internal/server/jobs/core/emiInstallmentReminder.js +78 -0
- package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.d.ts +2 -2
- package/dist/_internal/server/jobs/core/weeklyPayoutEligibility.js +15 -10
- package/dist/_internal/server/jobs/handlers/emiInstallmentReminder.d.ts +2 -0
- package/dist/_internal/server/jobs/handlers/emiInstallmentReminder.js +2 -0
- package/dist/_internal/server/jobs/handlers/index.d.ts +1 -0
- package/dist/_internal/server/jobs/handlers/index.js +2 -0
- package/dist/_internal/server/providers/index.d.ts +4 -4
- package/dist/_internal/server/providers/index.js +4 -4
- package/dist/_internal/server/providers/payment/razorpay-mock.d.ts +3 -2
- package/dist/_internal/server/providers/payment/razorpay-mock.js +3 -1
- package/dist/_internal/server/providers/resolve.d.ts +10 -13
- package/dist/_internal/server/providers/resolve.js +9 -15
- package/dist/_internal/shared/actions/action-registry.js +28 -0
- package/dist/_internal/shared/checkout/rules/_defaults.js +1 -0
- package/dist/_internal/shared/checkout/rules/_registry.js +4 -0
- package/dist/_internal/shared/checkout/rules/art.rule.d.ts +9 -0
- package/dist/_internal/shared/checkout/rules/art.rule.js +5 -0
- package/dist/_internal/shared/checkout/rules/auction.rule.js +1 -0
- package/dist/_internal/shared/checkout/rules/classified.rule.js +1 -0
- package/dist/_internal/shared/checkout/rules/index.d.ts +2 -0
- package/dist/_internal/shared/checkout/rules/index.js +2 -0
- package/dist/_internal/shared/checkout/rules/stickers.rule.d.ts +9 -0
- package/dist/_internal/shared/checkout/rules/stickers.rule.js +5 -0
- package/dist/_internal/shared/checkout/rules/types.d.ts +6 -0
- package/dist/_internal/shared/features/checkout/config.d.ts +16 -1
- package/dist/_internal/shared/features/checkout/config.js +16 -1
- package/dist/_internal/shared/features/emi/schedule.d.ts +63 -0
- package/dist/_internal/shared/features/emi/schedule.js +62 -0
- package/dist/_internal/shared/fees/calculator.d.ts +53 -0
- package/dist/_internal/shared/fees/calculator.js +40 -0
- package/dist/_internal/shared/listing-types/_registry.d.ts +22 -66
- package/dist/_internal/shared/listing-types/_registry.js +19 -2
- package/dist/_internal/shared/listing-types/art/config.d.ts +15 -0
- package/dist/_internal/shared/listing-types/art/config.js +14 -0
- package/dist/_internal/shared/listing-types/art/ctas.d.ts +1 -0
- package/dist/_internal/shared/listing-types/art/ctas.js +3 -0
- package/dist/_internal/shared/listing-types/art/og.d.ts +1 -0
- package/dist/_internal/shared/listing-types/art/og.js +1 -0
- package/dist/_internal/shared/listing-types/art/schema.d.ts +2 -0
- package/dist/_internal/shared/listing-types/art/schema.js +3 -0
- package/dist/_internal/shared/listing-types/art/seed-factory.d.ts +1 -0
- package/dist/_internal/shared/listing-types/art/seed-factory.js +1 -0
- package/dist/_internal/shared/listing-types/auction/config.d.ts +8 -0
- package/dist/_internal/shared/listing-types/auction/config.js +6 -0
- package/dist/_internal/shared/listing-types/capabilities.js +17 -0
- package/dist/_internal/shared/listing-types/classified/config.d.ts +8 -0
- package/dist/_internal/shared/listing-types/classified/config.js +6 -0
- package/dist/_internal/shared/listing-types/digital-code/config.d.ts +8 -0
- package/dist/_internal/shared/listing-types/digital-code/config.js +6 -0
- package/dist/_internal/shared/listing-types/live/config.d.ts +8 -0
- package/dist/_internal/shared/listing-types/live/config.js +6 -0
- package/dist/_internal/shared/listing-types/pre-order/config.d.ts +8 -0
- package/dist/_internal/shared/listing-types/pre-order/config.js +6 -0
- package/dist/_internal/shared/listing-types/prize-draw/config.d.ts +8 -0
- package/dist/_internal/shared/listing-types/prize-draw/config.js +6 -0
- package/dist/_internal/shared/listing-types/standard/config.d.ts +8 -0
- package/dist/_internal/shared/listing-types/standard/config.js +6 -0
- package/dist/_internal/shared/listing-types/stickers/config.d.ts +15 -0
- package/dist/_internal/shared/listing-types/stickers/config.js +14 -0
- package/dist/_internal/shared/listing-types/stickers/ctas.d.ts +1 -0
- package/dist/_internal/shared/listing-types/stickers/ctas.js +3 -0
- package/dist/_internal/shared/listing-types/stickers/og.d.ts +1 -0
- package/dist/_internal/shared/listing-types/stickers/og.js +1 -0
- package/dist/_internal/shared/listing-types/stickers/schema.d.ts +2 -0
- package/dist/_internal/shared/listing-types/stickers/schema.js +3 -0
- package/dist/_internal/shared/listing-types/stickers/seed-factory.d.ts +1 -0
- package/dist/_internal/shared/listing-types/stickers/seed-factory.js +1 -0
- package/dist/client.d.ts +7 -2
- package/dist/client.js +4 -2
- package/dist/constants/field-names.d.ts +2 -6
- package/dist/constants/field-names.js +2 -6
- package/dist/contracts/index.d.ts +4 -2
- package/dist/contracts/index.js +6 -0
- package/dist/contracts/payment.d.ts +14 -9
- package/dist/contracts/payment.js +11 -1
- package/dist/contracts/shipping.d.ts +14 -9
- package/dist/contracts/shipping.js +11 -1
- package/dist/features/about/components/PublicProfileView.js +3 -6
- package/dist/features/admin/components/AdminAddressBookView.d.ts +11 -0
- package/dist/features/admin/components/AdminAddressBookView.js +30 -0
- package/dist/features/admin/components/AdminArtView.d.ts +3 -0
- package/dist/features/admin/components/AdminArtView.js +45 -0
- package/dist/features/admin/components/AdminSiteConfigGuideView.js +1 -1
- package/dist/features/admin/components/AdminSiteSettingsView.js +14 -9
- package/dist/features/admin/components/AdminStickersView.d.ts +3 -0
- package/dist/features/admin/components/AdminStickersView.js +45 -0
- package/dist/features/admin/components/index.d.ts +6 -0
- package/dist/features/admin/components/index.js +4 -0
- package/dist/features/admin/schemas/firestore.d.ts +19 -11
- package/dist/features/admin/schemas/firestore.js +12 -2
- package/dist/features/auctions/components/MarketplaceAuctionCard.d.ts +3 -2
- package/dist/features/auth/hooks/useAuth.js +35 -9
- package/dist/features/auth/schemas/firestore.d.ts +2 -6
- package/dist/features/cart/schemas/firestore.d.ts +3 -2
- package/dist/features/consultation/schemas/index.d.ts +2 -2
- package/dist/features/loyalty/schemas/index.d.ts +6 -6
- package/dist/features/orders/repository/orders.repository.d.ts +20 -2
- package/dist/features/orders/repository/orders.repository.js +34 -5
- package/dist/features/orders/schemas/firestore.d.ts +33 -7
- package/dist/features/orders/schemas/firestore.js +1 -1
- package/dist/features/orders/schemas/index.d.ts +176 -31
- package/dist/features/orders/schemas/index.js +20 -6
- package/dist/features/orders/types/index.d.ts +3 -3
- package/dist/features/payments/repository/payout.repository.js +2 -2
- package/dist/features/payments/schemas/firestore.d.ts +3 -3
- package/dist/features/payments/schemas/firestore.js +2 -2
- package/dist/features/payments/schemas/index.d.ts +5 -5
- package/dist/features/payments/schemas/index.js +2 -2
- package/dist/features/products/api/[id]/route.js +4 -1
- package/dist/features/products/api/route.js +4 -1
- package/dist/features/products/components/CompareOverlay.js +7 -9
- package/dist/features/products/components/ProductDetailPageView.d.ts +3 -1
- package/dist/features/products/components/ProductDetailPageView.js +2 -2
- package/dist/features/products/components/ProductForm.js +18 -7
- package/dist/features/products/components/ProductGrid.js +7 -12
- package/dist/features/products/components/ShowGroupSection.js +3 -5
- package/dist/features/products/components/SublistingCarouselSection.js +3 -6
- package/dist/features/products/constants/listing-tabs.d.ts +32 -0
- package/dist/features/products/constants/listing-tabs.js +8 -0
- package/dist/features/products/index.d.ts +1 -1
- package/dist/features/products/index.js +3 -1
- package/dist/features/products/schemas/firestore.d.ts +20 -1
- package/dist/features/products/schemas/firestore.js +2 -0
- package/dist/features/products/schemas/index.d.ts +48 -0
- package/dist/features/products/schemas/index.js +9 -0
- package/dist/features/products/schemas/product-features.d.ts +1 -1
- package/dist/features/products/types/index.d.ts +5 -3
- package/dist/features/products/utils/listing-type.d.ts +6 -0
- package/dist/features/products/utils/listing-type.js +3 -0
- package/dist/features/reviews/api/[id]/route.js +5 -4
- package/dist/features/seller/actions/seller-actions.d.ts +29 -14
- package/dist/features/seller/actions/seller-actions.js +101 -27
- package/dist/features/seller/components/SellerArtView.d.ts +7 -0
- package/dist/features/seller/components/SellerArtView.js +114 -0
- package/dist/features/seller/components/SellerOrdersView.js +38 -1
- package/dist/features/seller/components/SellerProductShell.d.ts +5 -1
- package/dist/features/seller/components/SellerProductShell.js +69 -59
- package/dist/features/seller/components/SellerShippingView.js +6 -25
- package/dist/features/seller/components/SellerStickersView.d.ts +7 -0
- package/dist/features/seller/components/SellerStickersView.js +114 -0
- package/dist/features/seller/components/index.d.ts +4 -0
- package/dist/features/seller/components/index.js +2 -0
- package/dist/features/seller/messages/en.json +1 -1
- package/dist/features/seller/schemas/index.d.ts +7 -7
- package/dist/features/seller/schemas/index.js +1 -1
- package/dist/features/seller/types/index.d.ts +1 -1
- package/dist/features/stores/components/StoreDetailLayoutView.js +18 -2
- package/dist/features/stores/schemas/firestore.d.ts +7 -1
- package/dist/features/stores/schemas/index.d.ts +19 -16
- package/dist/features/stores/schemas/index.js +1 -1
- package/dist/index.d.ts +21 -36
- package/dist/index.js +27 -39
- package/dist/next/routing/route-map.d.ts +22 -0
- package/dist/next/routing/route-map.js +10 -0
- package/dist/providers/payment-manual/index.d.ts +40 -0
- package/dist/providers/payment-manual/index.js +91 -0
- package/dist/providers/payment-razorpay/index.d.ts +4 -2
- package/dist/providers/payment-razorpay/index.js +4 -1
- package/dist/providers/shipping-manual/index.d.ts +22 -0
- package/dist/providers/shipping-manual/index.js +47 -0
- package/dist/providers.d.ts +2 -2
- package/dist/providers.js +5 -3
- package/dist/schemas/registry.d.ts +129 -70
- package/dist/schemas/registry.js +0 -4
- package/dist/security/pii-encrypt.js +0 -7
- package/dist/security/pii-redact.js +0 -1
- package/dist/seed/conversations-seed-data.js +2 -2
- package/dist/seed/faq-seed-data.js +7 -7
- package/dist/seed/grouped-listings-seed-data.d.ts +2 -0
- package/dist/seed/index.d.ts +2 -0
- package/dist/seed/index.js +2 -0
- package/dist/seed/manifest.js +20 -16
- package/dist/seed/payouts-seed-data.js +5 -5
- package/dist/seed/products-art-seed-data.d.ts +11 -0
- package/dist/seed/products-art-seed-data.js +125 -0
- package/dist/seed/products-preorders-seed-data.d.ts +2 -0
- package/dist/seed/products-stickers-seed-data.d.ts +11 -0
- package/dist/seed/products-stickers-seed-data.js +125 -0
- package/dist/seed/site-settings-seed-data.js +13 -4
- package/dist/seed/stores-seed-data.js +11 -11
- package/dist/server.d.ts +7 -15
- package/dist/server.js +17 -42
- package/package.json +1 -1
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Art Products Seed Data (EMI/art-stickers session)
|
|
3
|
+
*
|
|
4
|
+
* Stored as ProductDocument with listingType: "art". Printed-only fan art —
|
|
5
|
+
* standard cart/checkout flow, distinguished by `printMeta` (size, material,
|
|
6
|
+
* finish, edition size).
|
|
7
|
+
*
|
|
8
|
+
* Prices in INR paise (₹1 = 100 paise).
|
|
9
|
+
*/
|
|
10
|
+
import { PRODUCT_FIELDS } from "../constants/field-names";
|
|
11
|
+
import { buildSearchTokens } from "../utils/search-tokens";
|
|
12
|
+
import { seedExtMedia } from "./_helpers/media";
|
|
13
|
+
function withTokens(p) {
|
|
14
|
+
return {
|
|
15
|
+
tags: [],
|
|
16
|
+
featured: false,
|
|
17
|
+
...p,
|
|
18
|
+
searchTokens: buildSearchTokens(p.title, p.description, p.brand, p.brandSlug, p.categoryNames, p.tags, p.features, p.condition),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
const NOW = new Date();
|
|
22
|
+
const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
|
|
23
|
+
const _rawArtSeedData = [
|
|
24
|
+
{
|
|
25
|
+
id: "art-charizard-fan-print-a3",
|
|
26
|
+
slug: "art-charizard-fan-print-a3",
|
|
27
|
+
title: "Charizard Fan Art Print — A3 Matte",
|
|
28
|
+
description: "Hand-drawn fan art print of Charizard, digitally reproduced on matte photo paper. Unofficial fan work — not affiliated with or endorsed by the Pokémon Company. Ships flat in a rigid mailer.",
|
|
29
|
+
categorySlugs: ["category-trading-cards"],
|
|
30
|
+
categoryNames: ["Trading Cards"],
|
|
31
|
+
brand: "Independent Artist",
|
|
32
|
+
price: 89900,
|
|
33
|
+
currency: "INR",
|
|
34
|
+
stockQuantity: 25,
|
|
35
|
+
availableQuantity: 25,
|
|
36
|
+
mainImage: seedExtMedia("https://picsum.photos/seed/art-charizard-print/800/1000"),
|
|
37
|
+
images: [seedExtMedia("https://picsum.photos/seed/art-charizard-print/800/1000")],
|
|
38
|
+
status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
39
|
+
storeId: "store-tokyo-toys-india",
|
|
40
|
+
storeName: "Tokyo Toys India",
|
|
41
|
+
tags: ["art", "fan-art", "charizard", "print", "a3"],
|
|
42
|
+
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
43
|
+
printMeta: { size: "A3 (297x420mm)", material: "Matte photo paper", finish: "Matte", editionSize: 100 },
|
|
44
|
+
allowOffers: false,
|
|
45
|
+
createdAt: daysAgo(6),
|
|
46
|
+
updatedAt: daysAgo(2),
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
id: "art-gundam-rx78-poster-12x18",
|
|
50
|
+
slug: "art-gundam-rx78-poster-12x18",
|
|
51
|
+
title: "RX-78-2 Gundam Illustration Poster — 12x18 Glossy",
|
|
52
|
+
description: "Original illustration of the RX-78-2 Gundam in dynamic pose, printed glossy on 200gsm poster stock. Great for a model-kit display shelf backdrop.",
|
|
53
|
+
categorySlugs: ["category-model-kits"],
|
|
54
|
+
categoryNames: ["Model Kits"],
|
|
55
|
+
brand: "Independent Artist",
|
|
56
|
+
price: 129900,
|
|
57
|
+
currency: "INR",
|
|
58
|
+
stockQuantity: 15,
|
|
59
|
+
availableQuantity: 15,
|
|
60
|
+
mainImage: seedExtMedia("https://picsum.photos/seed/art-gundam-poster/800/1200"),
|
|
61
|
+
images: [seedExtMedia("https://picsum.photos/seed/art-gundam-poster/800/1200")],
|
|
62
|
+
status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
63
|
+
storeId: "store-gundam-galaxy",
|
|
64
|
+
storeName: "Gundam Galaxy",
|
|
65
|
+
tags: ["art", "gundam", "poster", "illustration"],
|
|
66
|
+
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
67
|
+
printMeta: { size: "12x18 in", material: "200gsm poster paper", finish: "Glossy" },
|
|
68
|
+
allowOffers: false,
|
|
69
|
+
createdAt: daysAgo(4),
|
|
70
|
+
updatedAt: daysAgo(1),
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
id: "art-beyblade-burst-canvas-square",
|
|
74
|
+
slug: "art-beyblade-burst-canvas-square",
|
|
75
|
+
title: "Beyblade Burst Arena Canvas Print — 12x12 Square",
|
|
76
|
+
description: "Stretched canvas print of a Beyblade Burst arena battle scene. Ready to hang, no framing needed. Limited run of 50 numbered canvases.",
|
|
77
|
+
categorySlugs: ["category-spinning-tops"],
|
|
78
|
+
categoryNames: ["Spinning Tops"],
|
|
79
|
+
brand: "Independent Artist",
|
|
80
|
+
price: 249900,
|
|
81
|
+
currency: "INR",
|
|
82
|
+
stockQuantity: 8,
|
|
83
|
+
availableQuantity: 8,
|
|
84
|
+
mainImage: seedExtMedia("https://picsum.photos/seed/art-beyblade-canvas/900/900"),
|
|
85
|
+
images: [seedExtMedia("https://picsum.photos/seed/art-beyblade-canvas/900/900")],
|
|
86
|
+
status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
87
|
+
storeId: "store-beyblade-arena",
|
|
88
|
+
storeName: "Beyblade Arena",
|
|
89
|
+
tags: ["art", "beyblade", "canvas", "limited-edition"],
|
|
90
|
+
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
91
|
+
printMeta: { size: "12x12 in", material: "Stretched canvas", finish: "Matte", editionSize: 50 },
|
|
92
|
+
isPromoted: true,
|
|
93
|
+
allowOffers: false,
|
|
94
|
+
createdAt: daysAgo(9),
|
|
95
|
+
updatedAt: daysAgo(3),
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
id: "art-hotwheels-redline-mini-print",
|
|
99
|
+
slug: "art-hotwheels-redline-mini-print",
|
|
100
|
+
title: "Hot Wheels Redline Vintage Ad Art — Mini Print Set (3)",
|
|
101
|
+
description: "Set of 3 mini prints (5x7 in each) recreating vintage Hot Wheels Redline-era print ads in a retro poster style. Perfect for a collector's display case.",
|
|
102
|
+
categorySlugs: ["category-diecast-vehicles"],
|
|
103
|
+
categoryNames: ["Diecast Vehicles"],
|
|
104
|
+
brand: "Independent Artist",
|
|
105
|
+
price: 69900,
|
|
106
|
+
currency: "INR",
|
|
107
|
+
stockQuantity: 30,
|
|
108
|
+
availableQuantity: 30,
|
|
109
|
+
mainImage: seedExtMedia("https://picsum.photos/seed/art-hotwheels-print/700/900"),
|
|
110
|
+
images: [seedExtMedia("https://picsum.photos/seed/art-hotwheels-print/700/900")],
|
|
111
|
+
status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
112
|
+
storeId: "store-diecast-depot",
|
|
113
|
+
storeName: "Diecast Depot",
|
|
114
|
+
tags: ["art", "hot-wheels", "retro", "print-set"],
|
|
115
|
+
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
116
|
+
printMeta: { size: "5x7 in (x3)", material: "Matte cardstock", finish: "Matte" },
|
|
117
|
+
allowOffers: false,
|
|
118
|
+
createdAt: daysAgo(2),
|
|
119
|
+
updatedAt: daysAgo(1),
|
|
120
|
+
},
|
|
121
|
+
];
|
|
122
|
+
export const productsArtSeedData = _rawArtSeedData.map((p) => withTokens({
|
|
123
|
+
...p,
|
|
124
|
+
listingType: "art",
|
|
125
|
+
}));
|
|
@@ -67,6 +67,8 @@ export declare const productsPreordersSeedData: {
|
|
|
67
67
|
isPromoted?: boolean | undefined;
|
|
68
68
|
isOnSale?: boolean | undefined;
|
|
69
69
|
isSold?: boolean | undefined;
|
|
70
|
+
allowShipBeforeEmiComplete?: boolean | undefined;
|
|
71
|
+
printMeta?: import("../features/products").ProductPrintMeta | undefined;
|
|
70
72
|
promotionEndDate?: Date | undefined;
|
|
71
73
|
pickupAddressId?: string | undefined;
|
|
72
74
|
viewCount?: number | undefined;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stickers Products Seed Data (EMI/art-stickers session)
|
|
3
|
+
*
|
|
4
|
+
* Stored as ProductDocument with listingType: "stickers". Printed-only
|
|
5
|
+
* sticker sheets/packs — standard cart/checkout flow, distinguished by
|
|
6
|
+
* `printMeta` (size, material, finish, edition size).
|
|
7
|
+
*
|
|
8
|
+
* Prices in INR paise (₹1 = 100 paise).
|
|
9
|
+
*/
|
|
10
|
+
import type { ProductDocument } from "../features/products/schemas/firestore";
|
|
11
|
+
export declare const productsStickersSeedData: Partial<ProductDocument>[];
|
|
@@ -0,0 +1,125 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Stickers Products Seed Data (EMI/art-stickers session)
|
|
3
|
+
*
|
|
4
|
+
* Stored as ProductDocument with listingType: "stickers". Printed-only
|
|
5
|
+
* sticker sheets/packs — standard cart/checkout flow, distinguished by
|
|
6
|
+
* `printMeta` (size, material, finish, edition size).
|
|
7
|
+
*
|
|
8
|
+
* Prices in INR paise (₹1 = 100 paise).
|
|
9
|
+
*/
|
|
10
|
+
import { PRODUCT_FIELDS } from "../constants/field-names";
|
|
11
|
+
import { buildSearchTokens } from "../utils/search-tokens";
|
|
12
|
+
import { seedExtMedia } from "./_helpers/media";
|
|
13
|
+
function withTokens(p) {
|
|
14
|
+
return {
|
|
15
|
+
tags: [],
|
|
16
|
+
featured: false,
|
|
17
|
+
...p,
|
|
18
|
+
searchTokens: buildSearchTokens(p.title, p.description, p.brand, p.brandSlug, p.categoryNames, p.tags, p.features, p.condition),
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
const NOW = new Date();
|
|
22
|
+
const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
|
|
23
|
+
const _rawStickersSeedData = [
|
|
24
|
+
{
|
|
25
|
+
id: "sticker-pokemon-starter-vinyl-sheet",
|
|
26
|
+
slug: "sticker-pokemon-starter-vinyl-sheet",
|
|
27
|
+
title: "Pokémon Starters Vinyl Sticker Sheet — Waterproof",
|
|
28
|
+
description: "Die-cut waterproof vinyl sticker sheet featuring the classic starter trio. Fan art, unofficial. Great for water bottles, laptops, and binders.",
|
|
29
|
+
categorySlugs: ["category-trading-cards"],
|
|
30
|
+
categoryNames: ["Trading Cards"],
|
|
31
|
+
brand: "Independent Artist",
|
|
32
|
+
price: 19900,
|
|
33
|
+
currency: "INR",
|
|
34
|
+
stockQuantity: 80,
|
|
35
|
+
availableQuantity: 80,
|
|
36
|
+
mainImage: seedExtMedia("https://picsum.photos/seed/sticker-pokemon-sheet/800/800"),
|
|
37
|
+
images: [seedExtMedia("https://picsum.photos/seed/sticker-pokemon-sheet/800/800")],
|
|
38
|
+
status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
39
|
+
storeId: "store-pokemon-palace",
|
|
40
|
+
storeName: "Pokemon Palace",
|
|
41
|
+
tags: ["stickers", "pokemon", "vinyl", "waterproof"],
|
|
42
|
+
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
43
|
+
printMeta: { size: "10x15 cm sheet", material: "Vinyl", finish: "Glossy" },
|
|
44
|
+
allowOffers: false,
|
|
45
|
+
createdAt: daysAgo(5),
|
|
46
|
+
updatedAt: daysAgo(1),
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
id: "sticker-gundam-mech-holographic-pack",
|
|
50
|
+
slug: "sticker-gundam-mech-holographic-pack",
|
|
51
|
+
title: "Gundam Mech Squad Holographic Sticker Pack (10 pcs)",
|
|
52
|
+
description: "Pack of 10 individual holographic stickers featuring iconic Gundam mech silhouettes. Weatherproof, laptop and helmet safe.",
|
|
53
|
+
categorySlugs: ["category-model-kits"],
|
|
54
|
+
categoryNames: ["Model Kits"],
|
|
55
|
+
brand: "Independent Artist",
|
|
56
|
+
price: 29900,
|
|
57
|
+
currency: "INR",
|
|
58
|
+
stockQuantity: 60,
|
|
59
|
+
availableQuantity: 60,
|
|
60
|
+
mainImage: seedExtMedia("https://picsum.photos/seed/sticker-gundam-pack/800/800"),
|
|
61
|
+
images: [seedExtMedia("https://picsum.photos/seed/sticker-gundam-pack/800/800")],
|
|
62
|
+
status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
63
|
+
storeId: "store-gundam-galaxy",
|
|
64
|
+
storeName: "Gundam Galaxy",
|
|
65
|
+
tags: ["stickers", "gundam", "holographic", "pack"],
|
|
66
|
+
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
67
|
+
printMeta: { size: "5x5 cm each (x10)", material: "Vinyl", finish: "Holographic" },
|
|
68
|
+
isPromoted: true,
|
|
69
|
+
allowOffers: false,
|
|
70
|
+
createdAt: daysAgo(3),
|
|
71
|
+
updatedAt: daysAgo(1),
|
|
72
|
+
},
|
|
73
|
+
{
|
|
74
|
+
id: "sticker-beyblade-burst-die-cut-set",
|
|
75
|
+
slug: "sticker-beyblade-burst-die-cut-set",
|
|
76
|
+
title: "Beyblade Burst Die-Cut Sticker Set (6 pcs)",
|
|
77
|
+
description: "Set of 6 die-cut matte stickers of fan-favorite Beyblade Burst tops. Perfect for notebooks and arena cases.",
|
|
78
|
+
categorySlugs: ["category-spinning-tops"],
|
|
79
|
+
categoryNames: ["Spinning Tops"],
|
|
80
|
+
brand: "Independent Artist",
|
|
81
|
+
price: 14900,
|
|
82
|
+
currency: "INR",
|
|
83
|
+
stockQuantity: 100,
|
|
84
|
+
availableQuantity: 100,
|
|
85
|
+
mainImage: seedExtMedia("https://picsum.photos/seed/sticker-beyblade-set/800/800"),
|
|
86
|
+
images: [seedExtMedia("https://picsum.photos/seed/sticker-beyblade-set/800/800")],
|
|
87
|
+
status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
88
|
+
storeId: "store-beyblade-arena",
|
|
89
|
+
storeName: "Beyblade Arena",
|
|
90
|
+
tags: ["stickers", "beyblade", "die-cut", "set"],
|
|
91
|
+
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
92
|
+
printMeta: { size: "4x4 cm each (x6)", material: "Matte vinyl", finish: "Matte" },
|
|
93
|
+
allowOffers: false,
|
|
94
|
+
createdAt: daysAgo(7),
|
|
95
|
+
updatedAt: daysAgo(2),
|
|
96
|
+
},
|
|
97
|
+
{
|
|
98
|
+
id: "sticker-hotwheels-retro-logo-pack",
|
|
99
|
+
slug: "sticker-hotwheels-retro-logo-pack",
|
|
100
|
+
title: "Hot Wheels Retro Logo Sticker Pack (5 pcs)",
|
|
101
|
+
description: "Retro-style Hot Wheels-inspired logo stickers, glossy finish, weatherproof for toolboxes and diecast display cases.",
|
|
102
|
+
categorySlugs: ["category-diecast-vehicles"],
|
|
103
|
+
categoryNames: ["Diecast Vehicles"],
|
|
104
|
+
brand: "Independent Artist",
|
|
105
|
+
price: 12900,
|
|
106
|
+
currency: "INR",
|
|
107
|
+
stockQuantity: 120,
|
|
108
|
+
availableQuantity: 120,
|
|
109
|
+
mainImage: seedExtMedia("https://picsum.photos/seed/sticker-hotwheels-pack/800/800"),
|
|
110
|
+
images: [seedExtMedia("https://picsum.photos/seed/sticker-hotwheels-pack/800/800")],
|
|
111
|
+
status: PRODUCT_FIELDS.STATUS_VALUES.PUBLISHED,
|
|
112
|
+
storeId: "store-diecast-depot",
|
|
113
|
+
storeName: "Diecast Depot",
|
|
114
|
+
tags: ["stickers", "hot-wheels", "retro", "pack"],
|
|
115
|
+
condition: PRODUCT_FIELDS.CONDITION_VALUES.NEW,
|
|
116
|
+
printMeta: { size: "6x4 cm each (x5)", material: "Vinyl", finish: "Glossy" },
|
|
117
|
+
allowOffers: false,
|
|
118
|
+
createdAt: daysAgo(1),
|
|
119
|
+
updatedAt: daysAgo(1),
|
|
120
|
+
},
|
|
121
|
+
];
|
|
122
|
+
export const productsStickersSeedData = _rawStickersSeedData.map((p) => withTokens({
|
|
123
|
+
...p,
|
|
124
|
+
listingType: "stickers",
|
|
125
|
+
}));
|
|
@@ -92,9 +92,18 @@ export const siteSettingsSeedData = {
|
|
|
92
92
|
whatsappNumber: `${_phonePrefix.replace(/[^+\d]/g, "")}9876543210`,
|
|
93
93
|
},
|
|
94
94
|
payment: {
|
|
95
|
-
razorpayEnabled:
|
|
95
|
+
razorpayEnabled: false,
|
|
96
96
|
upiManualEnabled: true,
|
|
97
|
-
codEnabled:
|
|
97
|
+
codEnabled: true,
|
|
98
|
+
},
|
|
99
|
+
emi: {
|
|
100
|
+
enabled: true,
|
|
101
|
+
minOrderValueInPaise: 1000000,
|
|
102
|
+
tenureOptions: [2, 3, 4, 5, 6],
|
|
103
|
+
tokenPercent: 10,
|
|
104
|
+
billingDay: 5,
|
|
105
|
+
surchargePercentPerMonth: 1,
|
|
106
|
+
surchargeSellerSharePercent: 50,
|
|
98
107
|
},
|
|
99
108
|
socialLinks: {
|
|
100
109
|
facebook: "https://facebook.com/letitrip",
|
|
@@ -358,6 +367,8 @@ export const siteSettingsSeedData = {
|
|
|
358
367
|
minimumTransactionFee: 0,
|
|
359
368
|
gatewayFeePercent: 2,
|
|
360
369
|
codDepositPercent: 10,
|
|
370
|
+
codHandlingFeeMinInPaise: 20000,
|
|
371
|
+
codHandlingFeePercent: 10,
|
|
361
372
|
sellerShippingFixed: 0,
|
|
362
373
|
platformShippingPercent: 0,
|
|
363
374
|
platformShippingFixedMin: 0,
|
|
@@ -405,8 +416,6 @@ export const siteSettingsSeedData = {
|
|
|
405
416
|
whatsappPhoneNumberId: "",
|
|
406
417
|
whatsappCloudApiToken: "",
|
|
407
418
|
whatsappAdminNotifyNumbers: "",
|
|
408
|
-
shiprocketEmail: "shiprocket@letitrip.in",
|
|
409
|
-
shiprocketPassword: "shiprocket_PLACEHOLDER",
|
|
410
419
|
metaAppId: "meta_app_PLACEHOLDER",
|
|
411
420
|
metaAppSecret: "meta_secret_PLACEHOLDER",
|
|
412
421
|
metaPageAccessToken: "meta_page_token_PLACEHOLDER",
|
|
@@ -46,7 +46,7 @@ export const storesSeedData = [
|
|
|
46
46
|
{
|
|
47
47
|
providerId: "provider-letitrip-standard",
|
|
48
48
|
label: "Standard Shipping",
|
|
49
|
-
type: "
|
|
49
|
+
type: "custom",
|
|
50
50
|
fee: { flatInPaise: 4900, freeAboveInPaise: 99900 },
|
|
51
51
|
etaDaysMin: 3,
|
|
52
52
|
etaDaysMax: 5,
|
|
@@ -55,7 +55,7 @@ export const storesSeedData = [
|
|
|
55
55
|
{
|
|
56
56
|
providerId: "provider-letitrip-express",
|
|
57
57
|
label: "Express Shipping",
|
|
58
|
-
type: "
|
|
58
|
+
type: "custom",
|
|
59
59
|
fee: { flatInPaise: 9900 },
|
|
60
60
|
etaDaysMin: 1,
|
|
61
61
|
etaDaysMax: 2,
|
|
@@ -131,7 +131,7 @@ export const storesSeedData = [
|
|
|
131
131
|
{
|
|
132
132
|
providerId: "provider-kaiba-box",
|
|
133
133
|
label: "Box Shipping (Sealed Product)",
|
|
134
|
-
type: "
|
|
134
|
+
type: "custom",
|
|
135
135
|
fee: { flatInPaise: 14900 },
|
|
136
136
|
etaDaysMin: 4,
|
|
137
137
|
etaDaysMax: 7,
|
|
@@ -140,7 +140,7 @@ export const storesSeedData = [
|
|
|
140
140
|
{
|
|
141
141
|
providerId: "provider-kaiba-express",
|
|
142
142
|
label: "Express Courier",
|
|
143
|
-
type: "
|
|
143
|
+
type: "custom",
|
|
144
144
|
fee: { flatInPaise: 19900 },
|
|
145
145
|
etaDaysMin: 1,
|
|
146
146
|
etaDaysMax: 2,
|
|
@@ -190,7 +190,7 @@ export const storesSeedData = [
|
|
|
190
190
|
shippingConfig: {
|
|
191
191
|
defaultProviderId: "provider-pokemon-standard",
|
|
192
192
|
providers: [
|
|
193
|
-
{ providerId: "provider-pokemon-standard", label: "Standard Shipping", type: "
|
|
193
|
+
{ providerId: "provider-pokemon-standard", label: "Standard Shipping", type: "custom", fee: { flatInPaise: 4900, freeAboveInPaise: 79900 }, etaDaysMin: 4, etaDaysMax: 6, requiresAwbUpload: true },
|
|
194
194
|
],
|
|
195
195
|
},
|
|
196
196
|
isPublic: true,
|
|
@@ -215,11 +215,11 @@ export const storesSeedData = [
|
|
|
215
215
|
location: "Hyderabad, Telangana, India",
|
|
216
216
|
socialLinks: { instagram: "https://instagram.com/cardgamehub.in", twitter: "https://twitter.com/cardgamehub" },
|
|
217
217
|
returnPolicy: "5-day returns. Items must be in original packaging.",
|
|
218
|
-
shippingPolicy: "Free shipping above ₹1,499. Ships within 48 hours
|
|
218
|
+
shippingPolicy: "Free shipping above ₹1,499. Ships within 48 hours.",
|
|
219
219
|
shippingConfig: {
|
|
220
220
|
defaultProviderId: "provider-cardgame-standard",
|
|
221
221
|
providers: [
|
|
222
|
-
{ providerId: "provider-cardgame-standard", label: "Standard", type: "
|
|
222
|
+
{ providerId: "provider-cardgame-standard", label: "Standard", type: "custom", fee: { flatInPaise: 5900, freeAboveInPaise: 149900 }, etaDaysMin: 4, etaDaysMax: 7, requiresAwbUpload: true },
|
|
223
223
|
],
|
|
224
224
|
},
|
|
225
225
|
isPublic: true,
|
|
@@ -248,7 +248,7 @@ export const storesSeedData = [
|
|
|
248
248
|
shippingConfig: {
|
|
249
249
|
defaultProviderId: "provider-beyblade-standard",
|
|
250
250
|
providers: [
|
|
251
|
-
{ providerId: "provider-beyblade-standard", label: "Standard", type: "
|
|
251
|
+
{ providerId: "provider-beyblade-standard", label: "Standard", type: "custom", fee: { flatInPaise: 4500, freeAboveInPaise: 59900 }, etaDaysMin: 3, etaDaysMax: 6, requiresAwbUpload: true },
|
|
252
252
|
],
|
|
253
253
|
},
|
|
254
254
|
isPublic: true,
|
|
@@ -278,8 +278,8 @@ export const storesSeedData = [
|
|
|
278
278
|
shippingConfig: {
|
|
279
279
|
defaultProviderId: "provider-tokyo-standard",
|
|
280
280
|
providers: [
|
|
281
|
-
{ providerId: "provider-tokyo-standard", label: "Standard (Double-Box)", type: "
|
|
282
|
-
{ providerId: "provider-tokyo-express", label: "Express", type: "
|
|
281
|
+
{ providerId: "provider-tokyo-standard", label: "Standard (Double-Box)", type: "custom", fee: { flatInPaise: 9900, freeAboveInPaise: 199900 }, etaDaysMin: 5, etaDaysMax: 8, requiresAwbUpload: true },
|
|
282
|
+
{ providerId: "provider-tokyo-express", label: "Express", type: "custom", fee: { flatInPaise: 19900 }, etaDaysMin: 2, etaDaysMax: 3, requiresAwbUpload: true },
|
|
283
283
|
],
|
|
284
284
|
},
|
|
285
285
|
isPublic: true,
|
|
@@ -308,7 +308,7 @@ export const storesSeedData = [
|
|
|
308
308
|
shippingConfig: {
|
|
309
309
|
defaultProviderId: "provider-gundam-standard",
|
|
310
310
|
providers: [
|
|
311
|
-
{ providerId: "provider-gundam-standard", label: "Standard", type: "
|
|
311
|
+
{ providerId: "provider-gundam-standard", label: "Standard", type: "custom", fee: { flatInPaise: 7900, freeAboveInPaise: 149900 }, etaDaysMin: 4, etaDaysMax: 7, requiresAwbUpload: true },
|
|
312
312
|
],
|
|
313
313
|
},
|
|
314
314
|
isPublic: true,
|
package/dist/server.d.ts
CHANGED
|
@@ -139,19 +139,9 @@ export { rupeesToPaise } from "./providers/payment-razorpay/index";
|
|
|
139
139
|
export { verifyPaymentSignature } from "./providers/payment-razorpay/index";
|
|
140
140
|
export { verifyPaymentSignatureWithKeys } from "./providers/payment-razorpay/index";
|
|
141
141
|
export { verifyWebhookSignature } from "./providers/payment-razorpay/index";
|
|
142
|
-
export {
|
|
143
|
-
export {
|
|
144
|
-
export {
|
|
145
|
-
export { isShiprocketTokenExpired } from "./providers/shipping-shiprocket/index";
|
|
146
|
-
export { shiprocketAddPickupLocation } from "./providers/shipping-shiprocket/index";
|
|
147
|
-
export { shiprocketAuthenticate } from "./providers/shipping-shiprocket/index";
|
|
148
|
-
export { shiprocketCheckServiceability } from "./providers/shipping-shiprocket/index";
|
|
149
|
-
export { shiprocketCreateOrder } from "./providers/shipping-shiprocket/index";
|
|
150
|
-
export { shiprocketGenerateAWB } from "./providers/shipping-shiprocket/index";
|
|
151
|
-
export { shiprocketGeneratePickup } from "./providers/shipping-shiprocket/index";
|
|
152
|
-
export { shiprocketGetPickupLocations } from "./providers/shipping-shiprocket/index";
|
|
153
|
-
export { shiprocketTrackByAWB } from "./providers/shipping-shiprocket/index";
|
|
154
|
-
export { shiprocketVerifyPickupOTP } from "./providers/shipping-shiprocket/index";
|
|
142
|
+
export { resolveKeys } from "./core/integration-keys";
|
|
143
|
+
export { ManualPaymentProvider } from "./providers/payment-manual/index";
|
|
144
|
+
export { ManualShippingProvider } from "./providers/shipping-manual/index";
|
|
155
145
|
export { createAddressForUser } from "./features/account/server";
|
|
156
146
|
export { deleteAddressForUser } from "./features/account/server";
|
|
157
147
|
export { getAddressByIdForUser } from "./features/account/server";
|
|
@@ -294,6 +284,8 @@ export { listPublicEvents } from "./features/events/server";
|
|
|
294
284
|
export { updateEvent } from "./features/events/server";
|
|
295
285
|
export { triggerEventRaffleAction, assignSpinPrizeAction, } from "./_internal/server/features/raffle/actions";
|
|
296
286
|
export { processRefundAction, type ProcessRefundInput, } from "./_internal/server/features/refunds/actions";
|
|
287
|
+
export { computeCheckoutFees, computePayoutDeduction, computeCodHandlingFee, } from "./_internal/shared/fees/calculator";
|
|
288
|
+
export type { FeeCommissionRates, CheckoutFees, PayoutDeduction, CodHandlingFeeRates, } from "./_internal/shared/fees/calculator";
|
|
297
289
|
export { applyRefundDeductionAction, type ApplyRefundDeductionInput, type ApplyRefundDeductionResult, } from "./_internal/server/features/payouts/actions";
|
|
298
290
|
export { createFaq } from "./features/faq/server";
|
|
299
291
|
export { deleteFaq } from "./features/faq/server";
|
|
@@ -495,7 +487,7 @@ export { getScammerForDetail, getScammerProfilePageData as getScammerProfilePage
|
|
|
495
487
|
export { orderDocumentToOrder } from "./_internal/server/features/orders/adapters";
|
|
496
488
|
export { LISTING_TYPE_CAPABILITIES, capabilityFor, canAddToCart, canBid, supportsShipping, requiresVendorVerified, requiresJurisdictionCheck, hasInstantFulfillment, assertNever, } from "./_internal/shared/listing-types/capabilities";
|
|
497
489
|
export type { ListingTypeCapability } from "./_internal/shared/listing-types/capabilities";
|
|
498
|
-
export { LISTING_TYPE_REGISTRY, pluginFor } from "./_internal/shared/listing-types/_registry";
|
|
490
|
+
export { LISTING_TYPE_REGISTRY, pluginFor, detectListingTypeFromSlug } from "./_internal/shared/listing-types/_registry";
|
|
499
491
|
export type { ListingTypePlugin } from "./_internal/shared/listing-types/_registry";
|
|
500
492
|
export { applyMediaContextGuards, CONTEXT_LIMITS, } from "./_internal/server/features/media/contextGuards";
|
|
501
493
|
export type { GuardResult, GuardError, GuardSuccess } from "./_internal/server/features/media/contextGuards";
|
|
@@ -529,7 +521,7 @@ export { getLiveItemForDetail } from "./_internal/server/features/live/data";
|
|
|
529
521
|
export { toClientLiveItem, type LiveItemClientShape } from "./_internal/server/features/live/adapters";
|
|
530
522
|
export { buildLiveItemMetadata, type LiveItemMetadataOptions } from "./_internal/server/features/live/metadata";
|
|
531
523
|
export { renderLiveItemOg, renderLiveItemOgImage, renderLiveItemOgFromDoc, type LiveItemOgData } from "./_internal/server/features/live/og";
|
|
532
|
-
export { MockRazorpayProvider,
|
|
524
|
+
export { MockRazorpayProvider, resolvePaymentProvider, type MockWebhookEvent, type MockWebhookPayload, type WebhookSink, type PaymentResolutionFactories, type ProviderResolutionContext, } from "./_internal/server/providers";
|
|
533
525
|
export { getLotteryEventCached, listLotteryEvents, getLotteryEntriesForAdmin, getLotteryEntriesForUser } from "./_internal/server/features/lottery/data";
|
|
534
526
|
export type { LotteryEventClient } from "./_internal/server/features/lottery/data";
|
|
535
527
|
export { toClientLotterySlot, toClientLotteryConfig } from "./_internal/server/features/lottery/adapters";
|
package/dist/server.js
CHANGED
|
@@ -402,43 +402,14 @@ export { verifyPaymentSignatureWithKeys } from "./providers/payment-razorpay/ind
|
|
|
402
402
|
// verifyWebhookSignature - Shared export for verify webhook signature.
|
|
403
403
|
export { verifyWebhookSignature } from "./providers/payment-razorpay/index";
|
|
404
404
|
// [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
405
|
-
//
|
|
406
|
-
export {
|
|
407
|
-
// SHIPROCKET_TRACKING_URL_BASE / buildShiprocketTrackingUrl / SHIPROCKET_STATUS_PICKUP_SCHEDULED — see I5/O5
|
|
408
|
-
export { SHIPROCKET_TRACKING_URL_BASE, buildShiprocketTrackingUrl, SHIPROCKET_STATUS_PICKUP_SCHEDULED, } from "./providers/shipping-shiprocket/index";
|
|
405
|
+
// resolveKeys - resolves integration credentials (Razorpay etc.) from Firestore site settings, falling back to env vars. Used by providers.config.ts to construct RazorpayProvider when siteSettings.payment.razorpayEnabled is true.
|
|
406
|
+
export { resolveKeys } from "./core/integration-keys";
|
|
409
407
|
// [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
410
|
-
//
|
|
411
|
-
export {
|
|
408
|
+
// ManualPaymentProvider - the default IPaymentProvider implementation (no gateway).
|
|
409
|
+
export { ManualPaymentProvider } from "./providers/payment-manual/index";
|
|
412
410
|
// [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
413
|
-
//
|
|
414
|
-
export {
|
|
415
|
-
// [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
416
|
-
// shiprocketAddPickupLocation - Shared export for shiprocket add pickup location.
|
|
417
|
-
export { shiprocketAddPickupLocation } from "./providers/shipping-shiprocket/index";
|
|
418
|
-
// [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
419
|
-
// shiprocketAuthenticate - Shared export for shiprocket authenticate.
|
|
420
|
-
export { shiprocketAuthenticate } from "./providers/shipping-shiprocket/index";
|
|
421
|
-
// [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
422
|
-
// shiprocketCheckServiceability - Shared export for shiprocket check serviceability.
|
|
423
|
-
export { shiprocketCheckServiceability } from "./providers/shipping-shiprocket/index";
|
|
424
|
-
// [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
425
|
-
// shiprocketCreateOrder - Shared export for shiprocket create order.
|
|
426
|
-
export { shiprocketCreateOrder } from "./providers/shipping-shiprocket/index";
|
|
427
|
-
// [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
428
|
-
// shiprocketGenerateAWB - Shared export for shiprocket generate awb.
|
|
429
|
-
export { shiprocketGenerateAWB } from "./providers/shipping-shiprocket/index";
|
|
430
|
-
// [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
431
|
-
// shiprocketGeneratePickup - Shared export for shiprocket generate pickup.
|
|
432
|
-
export { shiprocketGeneratePickup } from "./providers/shipping-shiprocket/index";
|
|
433
|
-
// [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
434
|
-
// shiprocketGetPickupLocations - Shared export for shiprocket get pickup locations.
|
|
435
|
-
export { shiprocketGetPickupLocations } from "./providers/shipping-shiprocket/index";
|
|
436
|
-
// [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
437
|
-
// shiprocketTrackByAWB - Shared export for shiprocket track by awb.
|
|
438
|
-
export { shiprocketTrackByAWB } from "./providers/shipping-shiprocket/index";
|
|
439
|
-
// [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
440
|
-
// shiprocketVerifyPickupOTP - Shared export for shiprocket verify pickup otp.
|
|
441
|
-
export { shiprocketVerifyPickupOTP } from "./providers/shipping-shiprocket/index";
|
|
411
|
+
// ManualShippingProvider - the default (and only) IShippingProvider implementation.
|
|
412
|
+
export { ManualShippingProvider } from "./providers/shipping-manual/index";
|
|
442
413
|
// [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
443
414
|
// createAddressForUser - Helper for create address for user.
|
|
444
415
|
export { createAddressForUser } from "./features/account/server";
|
|
@@ -861,6 +832,8 @@ export { updateEvent } from "./features/events/server";
|
|
|
861
832
|
export { triggerEventRaffleAction, assignSpinPrizeAction, } from "./_internal/server/features/raffle/actions";
|
|
862
833
|
// [SERVER-ONLY] S-SBUNI-RULES — refund action (Razorpay + manual paths)
|
|
863
834
|
export { processRefundAction, } from "./_internal/server/features/refunds/actions";
|
|
835
|
+
// [SERVER-ONLY] Shared fee calculator — platform/gateway/GST/COD handling fee math.
|
|
836
|
+
export { computeCheckoutFees, computePayoutDeduction, computeCodHandlingFee, } from "./_internal/shared/fees/calculator";
|
|
864
837
|
// [SERVER-ONLY] Payout refund deduction action
|
|
865
838
|
export { applyRefundDeductionAction, } from "./_internal/server/features/payouts/actions";
|
|
866
839
|
// [SERVER-ONLY]-Server-only — uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
@@ -1384,7 +1357,7 @@ export { getScammerForDetail, getScammerProfilePageData as getScammerProfilePage
|
|
|
1384
1357
|
export { orderDocumentToOrder } from "./_internal/server/features/orders/adapters";
|
|
1385
1358
|
// Listing-type capability registry — SB-UNI X1.
|
|
1386
1359
|
export { LISTING_TYPE_CAPABILITIES, capabilityFor, canAddToCart, canBid, supportsShipping, requiresVendorVerified, requiresJurisdictionCheck, hasInstantFulfillment, assertNever, } from "./_internal/shared/listing-types/capabilities";
|
|
1387
|
-
export { LISTING_TYPE_REGISTRY, pluginFor } from "./_internal/shared/listing-types/_registry";
|
|
1360
|
+
export { LISTING_TYPE_REGISTRY, pluginFor, detectListingTypeFromSlug } from "./_internal/shared/listing-types/_registry";
|
|
1388
1361
|
// Media context guards — shared by /api/media/sign + legacy /api/media/upload.
|
|
1389
1362
|
export { applyMediaContextGuards, CONTEXT_LIMITS, } from "./_internal/server/features/media/contextGuards";
|
|
1390
1363
|
// Media upload limits — shared by /api/media/sign + /api/media/finalize + /api/media/upload.
|
|
@@ -1426,12 +1399,14 @@ export { getLiveItemForDetail } from "./_internal/server/features/live/data";
|
|
|
1426
1399
|
export { toClientLiveItem } from "./_internal/server/features/live/adapters";
|
|
1427
1400
|
export { buildLiveItemMetadata } from "./_internal/server/features/live/metadata";
|
|
1428
1401
|
export { renderLiveItemOg, renderLiveItemOgImage, renderLiveItemOgFromDoc } from "./_internal/server/features/live/og";
|
|
1429
|
-
// ── Track H — Payment
|
|
1430
|
-
// In-process mock
|
|
1431
|
-
// appkit/src/providers/payment-razorpay
|
|
1432
|
-
//
|
|
1433
|
-
//
|
|
1434
|
-
|
|
1402
|
+
// ── Track H — Payment provider abstraction ────────────────────────────────
|
|
1403
|
+
// In-process mock implementation. The real provider continues to live in
|
|
1404
|
+
// appkit/src/providers/payment-razorpay and is registered separately. The
|
|
1405
|
+
// resolver helper sits next to it so consumers can drive selection from
|
|
1406
|
+
// siteSettings.featureFlags.useMockPayment. Shipping has no mock/resolver —
|
|
1407
|
+
// ManualShippingProvider makes no external API calls, so there's nothing to
|
|
1408
|
+
// mock or choose between.
|
|
1409
|
+
export { MockRazorpayProvider, resolvePaymentProvider, } from "./_internal/server/providers";
|
|
1435
1410
|
// ── Lottery feature — server data + adapters + actions ──────────────────────────
|
|
1436
1411
|
export { getLotteryEventCached, listLotteryEvents, getLotteryEntriesForAdmin, getLotteryEntriesForUser } from "./_internal/server/features/lottery/data";
|
|
1437
1412
|
export { toClientLotterySlot, toClientLotteryConfig } from "./_internal/server/features/lottery/adapters";
|