@mohasinac/appkit 4.41.17 → 4.42.1
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/layout/DashboardLayoutClient.js +2 -30
- package/dist/_internal/client/features/maintenance/views/MaintenanceDashboardView.js +1 -1
- package/dist/_internal/server/features/checkout/actions.d.ts +16 -14
- package/dist/_internal/server/features/checkout/actions.js +145 -97
- package/dist/_internal/server/features/checkout/bundle-expansion.d.ts +1 -1
- package/dist/_internal/server/features/checkout/index.d.ts +1 -1
- package/dist/_internal/server/features/checkout/index.js +1 -1
- package/dist/_internal/server/features/checkout/locked-lines.js +1 -1
- package/dist/_internal/server/features/checkout/source-context.js +2 -2
- package/dist/_internal/server/features/maintenance/analyze.js +1 -1
- package/dist/_internal/server/features/refunds/actions.d.ts +4 -4
- package/dist/_internal/server/features/refunds/actions.js +9 -8
- package/dist/_internal/server/functions/scheduled.d.ts +1 -2
- package/dist/_internal/server/functions/scheduled.js +1 -9
- package/dist/_internal/server/jobs/core/index.d.ts +0 -1
- package/dist/_internal/server/jobs/core/index.js +0 -1
- package/dist/_internal/server/jobs/handlers/index.d.ts +0 -1
- package/dist/_internal/server/jobs/handlers/index.js +0 -1
- package/dist/_internal/shared/actions/action-registry.js +2 -2
- package/dist/_internal/shared/checkout/order-math.d.ts +1 -1
- package/dist/_internal/shared/checkout/order-math.js +1 -1
- package/dist/_internal/shared/checkout/rules/prize-draw.rule.js +2 -2
- package/dist/_internal/shared/features/blog/schema.d.ts +4 -4
- package/dist/_internal/shared/features/cart/schema.d.ts +6 -6
- package/dist/_internal/shared/features/orders/refund-copy.d.ts +1 -1
- package/dist/_internal/shared/features/orders/refund-copy.js +1 -1
- package/dist/_internal/shared/features/orders/schema.d.ts +5 -5
- package/dist/_internal/shared/features/orders/schema.js +1 -1
- package/dist/_internal/shared/features/products/schema.d.ts +2 -2
- package/dist/_internal/shared/features/promotions/schema.d.ts +4 -4
- package/dist/_internal/shared/features/reviews/schema.d.ts +1 -1
- package/dist/client.d.ts +1 -1
- package/dist/client.js +1 -1
- package/dist/configs/next.js +2 -2
- package/dist/constants/field-names.d.ts +1 -1
- package/dist/constants/field-names.js +1 -1
- package/dist/contracts/index.d.ts +0 -2
- package/dist/contracts/index.js +0 -1
- package/dist/contracts/payment.d.ts +13 -2
- package/dist/contracts/payment.js +2 -2
- package/dist/core/integration-keys.d.ts +7 -3
- package/dist/core/integration-keys.js +13 -7
- package/dist/core/money.d.ts +11 -0
- package/dist/core/money.js +15 -0
- package/dist/errors/index.d.ts +1 -1
- package/dist/errors/index.js +1 -1
- package/dist/errors/messages.d.ts +1 -0
- package/dist/errors/messages.js +1 -0
- package/dist/errors/{razorpay-unreachable.d.ts → payment-provider-unreachable.d.ts} +1 -1
- package/dist/errors/{razorpay-unreachable.js → payment-provider-unreachable.js} +1 -1
- package/dist/features/addresses/schemas/address-form.d.ts +20 -20
- package/dist/features/addresses/schemas/index.d.ts +2 -2
- package/dist/features/admin/components/AdminSiteSettingsView.js +32 -16
- package/dist/features/admin/constants/site-settings-tabs.d.ts +1 -1
- package/dist/features/admin/schemas/admin-ops-forms.d.ts +10 -10
- package/dist/features/admin/schemas/admin-user-form.d.ts +2 -2
- package/dist/features/admin/schemas/firestore.d.ts +17 -8
- package/dist/features/admin/schemas/firestore.js +1 -1
- package/dist/features/admin/schemas/nav-item-form.d.ts +2 -2
- package/dist/features/auctions/schemas/index.d.ts +2 -2
- package/dist/features/auth/schemas/index.d.ts +2 -2
- package/dist/features/before-after/schemas/index.d.ts +2 -2
- package/dist/features/blog/actions/blog-actions.d.ts +4 -4
- package/dist/features/blog/schemas/blog-form.d.ts +2 -2
- package/dist/features/blog/schemas/index.d.ts +4 -4
- package/dist/features/cart/schemas/index.d.ts +3 -3
- package/dist/features/catalogue/schemas/validation.d.ts +4 -4
- package/dist/features/categories/schemas/index.d.ts +2 -2
- package/dist/features/checkout/index.d.ts +0 -4
- package/dist/features/checkout/index.js +0 -3
- package/dist/features/checkout/types/index.d.ts +0 -25
- package/dist/features/checkout/types/index.js +1 -2
- package/dist/features/collections/schemas/index.d.ts +2 -2
- package/dist/features/consultation/schemas/index.d.ts +4 -4
- package/dist/features/corporate/schemas/index.d.ts +2 -2
- package/dist/features/events/schemas/index.d.ts +4 -4
- package/dist/features/grouped/schemas/index.d.ts +2 -2
- package/dist/features/homepage/schemas/index.d.ts +2 -2
- package/dist/features/layout/AppLayoutShell.js +2 -2
- package/dist/features/layout/BottomNavLayout.d.ts +9 -3
- package/dist/features/layout/BottomNavLayout.js +9 -3
- package/dist/features/lottery/schemas/zod.d.ts +4 -4
- package/dist/features/loyalty/schemas/index.d.ts +6 -6
- package/dist/features/orders/components/OrderPaymentSummary.d.ts +1 -1
- package/dist/features/orders/components/OrderPaymentSummary.js +5 -5
- package/dist/features/orders/components/RefundHistoryTable.js +1 -1
- package/dist/features/orders/repository/orders.repository.d.ts +10 -1
- package/dist/features/orders/repository/orders.repository.js +17 -1
- package/dist/features/orders/schemas/firestore.d.ts +11 -12
- package/dist/features/orders/schemas/firestore.js +0 -1
- package/dist/features/orders/schemas/index.d.ts +48 -48
- package/dist/features/orders/schemas/index.js +1 -1
- package/dist/features/orders/types/index.d.ts +1 -3
- package/dist/features/orders/types/index.js +1 -2
- package/dist/features/payments/manifest.js +1 -1
- package/dist/features/payments/repository/payout.repository.d.ts +1 -4
- package/dist/features/payments/repository/payout.repository.js +0 -29
- package/dist/features/payments/schemas/firestore.d.ts +8 -15
- package/dist/features/payments/schemas/firestore.js +7 -5
- package/dist/features/payments/schemas/index.d.ts +52 -125
- package/dist/features/payments/schemas/index.js +0 -58
- package/dist/features/payments/types/index.d.ts +2 -4
- package/dist/features/payments/types/index.js +1 -2
- package/dist/features/products/schemas/index.d.ts +14 -14
- package/dist/features/products/schemas/product-features.validators.d.ts +10 -10
- package/dist/features/promotions/schemas/index.d.ts +20 -20
- package/dist/features/reviews/schemas/index.d.ts +8 -8
- package/dist/features/scams/schemas/index.d.ts +10 -10
- package/dist/features/search/action-index/settings-entries.js +4 -4
- package/dist/features/seller/schemas/index.d.ts +12 -12
- package/dist/features/seller/schemas/order-forms.d.ts +4 -4
- package/dist/features/shipments/schemas/validation.d.ts +28 -28
- package/dist/features/store-extensions/schemas/payout-method-form.d.ts +50 -50
- package/dist/features/store-extensions/schemas/report-create-form.d.ts +2 -2
- package/dist/features/store-extensions/schemas/shipping-config-form.d.ts +10 -10
- package/dist/features/support/schemas/index.d.ts +14 -14
- package/dist/features/tester/actions/checklist-item-actions.d.ts +4 -4
- package/dist/features/tester/schemas/checklist-item-form.d.ts +2 -2
- package/dist/features/tester/seed-data/_money-flows.js +145 -0
- package/dist/features/tester/seed-data/authored/admin__site-system.js +38 -0
- package/dist/features/tester/seed-data/authored/buying__buying-checkout.js +10 -10
- package/dist/features/tester/seed-data/authored/buying__offers.js +11 -10
- package/dist/features/tester/seed-data/authored/buying__user-dashboard-navigation.js +6 -5
- package/dist/features/tester/seed-data/authored/cta-layout__checkout-bottom-bar.js +1 -1
- package/dist/features/tester/seed-data/authored/design-ux__hand-mode-layout.js +3 -3
- package/dist/features/tester/seed-data/authored/selling__store-dashboard-navigation.js +6 -5
- package/dist/features/tester/seed-data/tester-checklist-seed-data.js +27 -15
- package/dist/features/wishlist/schemas/index.d.ts +2 -2
- package/dist/index.d.ts +6 -28
- package/dist/index.js +8 -51
- package/dist/jobs.d.ts +1 -1
- package/dist/jobs.js +1 -1
- package/dist/providers/payment-phonepe/index.d.ts +117 -0
- package/dist/providers/payment-phonepe/index.js +221 -0
- package/dist/providers.d.ts +3 -2
- package/dist/providers.js +3 -2
- package/dist/schemas/registry.d.ts +163 -2623
- package/dist/schemas/registry.js +1 -6
- package/dist/seed/faq-seed-data.js +5 -5
- package/dist/seed/payouts-seed-data.js +3 -3
- package/dist/seed/site-settings-seed-data.js +7 -4
- package/dist/server-entry.d.ts +1 -2
- package/dist/server-entry.js +1 -3
- package/dist/server.d.ts +3 -9
- package/dist/server.js +5 -23
- package/dist/validation/schemas.d.ts +2 -2
- package/package.json +5 -4
- package/dist/_internal/server/features/payments/actions.d.ts +0 -30
- package/dist/_internal/server/features/payments/actions.js +0 -45
- package/dist/_internal/server/features/payments/data.d.ts +0 -13
- package/dist/_internal/server/features/payments/data.js +0 -20
- package/dist/_internal/server/features/payments/index.d.ts +0 -3
- package/dist/_internal/server/features/payments/index.js +0 -3
- package/dist/_internal/server/jobs/core/payoutBatch.d.ts +0 -2
- package/dist/_internal/server/jobs/core/payoutBatch.js +0 -120
- package/dist/_internal/server/jobs/handlers/payoutBatch.d.ts +0 -2
- package/dist/_internal/server/jobs/handlers/payoutBatch.js +0 -2
- package/dist/_internal/shared/features/payments/config.d.ts +0 -3
- package/dist/_internal/shared/features/payments/config.js +0 -3
- package/dist/contracts/client-payment-gateway.d.ts +0 -64
- package/dist/contracts/client-payment-gateway.js +0 -25
- package/dist/features/checkout/hooks/useCheckout.d.ts +0 -9
- package/dist/features/checkout/hooks/useCheckout.js +0 -24
- package/dist/features/checkout/hooks/useCheckoutApi.d.ts +0 -72
- package/dist/features/checkout/hooks/useCheckoutApi.js +0 -47
- package/dist/features/checkout/hooks/usePaymentCheckout.d.ts +0 -77
- package/dist/features/checkout/hooks/usePaymentCheckout.js +0 -192
- package/dist/providers/payment-razorpay/index.d.ts +0 -115
- package/dist/providers/payment-razorpay/index.js +0 -208
- package/dist/schemas/webhooks/razorpay.d.ts +0 -2634
- package/dist/schemas/webhooks/razorpay.js +0 -104
|
@@ -56,7 +56,7 @@ export declare function validateCartItemStock(item: CartItemDocument, productByI
|
|
|
56
56
|
/**
|
|
57
57
|
* Result of bucketing a cart into stock-satisfiable vs. stock-short lines.
|
|
58
58
|
* Shared shape consumed by both checkout entry points (COD/UPI transaction
|
|
59
|
-
* path and
|
|
59
|
+
* path and PhonePe post-payment path) so "what happens when an item is
|
|
60
60
|
* unavailable" (skip it vs. cancel the whole checkout) is decided ONCE, by
|
|
61
61
|
* the caller, from the same bucketing logic.
|
|
62
62
|
*/
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { createCheckoutOrderAction, attachPaymentAction,
|
|
1
|
+
export { createCheckoutOrderAction, attachPaymentAction, verifyAndPlacePhonePeOrderAction, previewCheckoutPricing, resolveShippingCost, type CreateCheckoutOrderInput, type VerifyAndPlacePhonePeOrderInput, type CheckoutPricingPreviewInput, type CheckoutPricingPreview, } from "./actions";
|
|
2
2
|
export { formatShippingAddress, type CheckoutOrderResult, } from "./data";
|
|
3
3
|
export { CHECKOUT_DEFAULT_COMMISSIONS, CHECKOUT_PAYMENT_METHODS, type CheckoutPaymentMethod, } from "../../../shared/features/checkout/config";
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export { createCheckoutOrderAction, attachPaymentAction,
|
|
1
|
+
export { createCheckoutOrderAction, attachPaymentAction, verifyAndPlacePhonePeOrderAction, previewCheckoutPricing, resolveShippingCost, } from "./actions";
|
|
2
2
|
export { formatShippingAddress, } from "./data";
|
|
3
3
|
export { CHECKOUT_DEFAULT_COMMISSIONS, CHECKOUT_PAYMENT_METHODS, } from "../../../shared/features/checkout/config";
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* and a won bid had no link to the order it became.
|
|
9
9
|
* WHAT: `assertLockedLinesStillValid` (pre-order-creation guard) and
|
|
10
10
|
* `finalizeLockedLines` (post-order-creation close-out). Both are called
|
|
11
|
-
* from every order-creation path so the manual/COD and
|
|
11
|
+
* from every order-creation path so the manual/COD and PhonePe flows
|
|
12
12
|
* cannot diverge.
|
|
13
13
|
*
|
|
14
14
|
* EXPORTS:
|
|
@@ -6,11 +6,11 @@
|
|
|
6
6
|
* `orderType: "auction"`. Everything else was recoverable only by reading
|
|
7
7
|
* the auction or offer document, which is mutable and eventually archived.
|
|
8
8
|
* WHAT: `buildOrderSourceContext()` — the ONE builder for `OrderSourceContext`,
|
|
9
|
-
* called by both order-creation paths (manual/COD and
|
|
9
|
+
* called by both order-creation paths (manual/COD and PhonePe).
|
|
10
10
|
*
|
|
11
11
|
* ## Why one shared function and not two inline blocks
|
|
12
12
|
*
|
|
13
|
-
* `createOrderForGroup` and `
|
|
13
|
+
* `createOrderForGroup` and `createPhonePeGroupOrder` are near-identical
|
|
14
14
|
* ~200-line twins that already drifted once on add-on fees (Root Cause #65).
|
|
15
15
|
* Two hand-written copies of this would be the create-vs-create axis of Root
|
|
16
16
|
* Cause #39: one lane records provenance, the other silently doesn't, and the
|
|
@@ -152,7 +152,7 @@ export async function analyzeLogs(opts) {
|
|
|
152
152
|
recommendations.push(`VALIDATION_FAILED concentrated on ${validationFailures[0].route} — fix client request shape or extend the route's Zod schema.`);
|
|
153
153
|
}
|
|
154
154
|
if (topCodes.find((c) => c.code.startsWith("PAYMENT_ROLLBACK"))) {
|
|
155
|
-
recommendations.push("PAYMENT_ROLLBACK_* observed — verify
|
|
155
|
+
recommendations.push("PAYMENT_ROLLBACK_* observed — verify PhonePe webhook health and check the refund-rollback path.");
|
|
156
156
|
}
|
|
157
157
|
if (topRoutes.find((r) => r.route === CLIENT_ERROR_ENDPOINTS.REPORT &&
|
|
158
158
|
topCodes[0]?.code === "NETWORK_ERROR")) {
|
|
@@ -21,15 +21,15 @@ export type ProcessRefundInput = {
|
|
|
21
21
|
/** uid of the user processing the refund (admin / seller). */
|
|
22
22
|
refundedBy: string;
|
|
23
23
|
} & ({
|
|
24
|
-
method: "
|
|
25
|
-
/**
|
|
26
|
-
|
|
24
|
+
method: "phonepe";
|
|
25
|
+
/** The order's PhonePe merchantOrderId (order.paymentId) — PhonePe refunds are order-keyed, never payment-keyed. */
|
|
26
|
+
phonepeOrderId: string;
|
|
27
27
|
manualTransactionId?: never;
|
|
28
28
|
proofDocumentUrl?: never;
|
|
29
29
|
proofDocumentMimeType?: never;
|
|
30
30
|
} | {
|
|
31
31
|
method: "manual";
|
|
32
|
-
|
|
32
|
+
phonepeOrderId?: never;
|
|
33
33
|
manualTransactionId?: string;
|
|
34
34
|
proofDocumentUrl?: string;
|
|
35
35
|
proofDocumentMimeType?: string;
|
|
@@ -4,8 +4,9 @@ import { wrapAction } from "@mohasinac/appkit/server";
|
|
|
4
4
|
* processRefundAction — append a refund event to an order.
|
|
5
5
|
*
|
|
6
6
|
* Supports two paths:
|
|
7
|
-
* -
|
|
8
|
-
*
|
|
7
|
+
* - PhonePe: calls the payment provider's `refund()` method — order-keyed
|
|
8
|
+
* via `order.paymentId` (PhonePe's `merchantOrderId`), never a payment
|
|
9
|
+
* id — then records the phonepeRefundId on the event.
|
|
9
10
|
* - Manual: no payment-provider call; records manualTransactionId + optional
|
|
10
11
|
* proof document URL.
|
|
11
12
|
*
|
|
@@ -17,7 +18,7 @@ import { wrapAction } from "@mohasinac/appkit/server";
|
|
|
17
18
|
import { randomUUID } from "crypto";
|
|
18
19
|
import { getProviders } from "../../../../contracts/registry";
|
|
19
20
|
import { normalizeError } from "../../../../errors/normalize";
|
|
20
|
-
import { rupeesToPaise } from "../../../../
|
|
21
|
+
import { rupeesToPaise } from "../../../../core/money";
|
|
21
22
|
import { orderRepository } from "../../../..";
|
|
22
23
|
import { ORDER_FIELDS } from "../../../../constants/field-names";
|
|
23
24
|
import { NotFoundError, ValidationError } from "../../../../errors";
|
|
@@ -119,13 +120,13 @@ export async function processRefundAction(input) {
|
|
|
119
120
|
await assertDigitalCodesNotClaimed(input.orderId, digitalCodeItems);
|
|
120
121
|
const refundId = randomUUID();
|
|
121
122
|
const now = new Date();
|
|
122
|
-
let
|
|
123
|
-
if (input.method === "
|
|
123
|
+
let phonepeRefundId;
|
|
124
|
+
if (input.method === "phonepe") {
|
|
124
125
|
const payment = getProviders().payment;
|
|
125
126
|
if (!payment)
|
|
126
127
|
throw new ValidationError("Payment provider not configured");
|
|
127
|
-
const result = await payment.refund(input.
|
|
128
|
-
|
|
128
|
+
const result = await payment.refund(input.phonepeOrderId, rupeesToPaise(input.amount));
|
|
129
|
+
phonepeRefundId = result.id;
|
|
129
130
|
}
|
|
130
131
|
const isFull = input.amount >= order.totalPrice;
|
|
131
132
|
const event = {
|
|
@@ -143,7 +144,7 @@ export async function processRefundAction(input) {
|
|
|
143
144
|
: RETURN_REASON_LABEL[input.reasonCode],
|
|
144
145
|
refundedAt: now,
|
|
145
146
|
refundedBy: input.refundedBy,
|
|
146
|
-
...(
|
|
147
|
+
...(phonepeRefundId ? { phonepeRefundId } : {}),
|
|
147
148
|
...(input.method === "manual" && input.manualTransactionId
|
|
148
149
|
? { manualTransactionId: input.manualTransactionId }
|
|
149
150
|
: {}),
|
|
@@ -13,7 +13,6 @@ export declare const dailyStatusDigest: import("./types").ScheduledFunctionDefin
|
|
|
13
13
|
export declare const dailyDataCleanup: import("./types").ScheduledFunctionDefinition;
|
|
14
14
|
export declare const countersReconcile: import("./types").ScheduledFunctionDefinition;
|
|
15
15
|
export declare const positionsReconcile: import("./types").ScheduledFunctionDefinition;
|
|
16
|
-
export declare const payoutBatch: import("./types").ScheduledFunctionDefinition;
|
|
17
16
|
export declare const cartPrune: import("./types").ScheduledFunctionDefinition;
|
|
18
17
|
export declare const notificationPrune: import("./types").ScheduledFunctionDefinition;
|
|
19
18
|
export declare const weeklyPayoutEligibility: import("./types").ScheduledFunctionDefinition;
|
|
@@ -26,4 +25,4 @@ export declare const prizeDrawExpiryReveal: import("./types").ScheduledFunctionD
|
|
|
26
25
|
export declare const bundleStockSync: import("./types").ScheduledFunctionDefinition;
|
|
27
26
|
export declare const emiInstallmentReminder: import("./types").ScheduledFunctionDefinition;
|
|
28
27
|
export declare const catalogueImageStalenessReminder: import("./types").ScheduledFunctionDefinition;
|
|
29
|
-
export declare const SCHEDULED_FUNCTIONS: readonly [import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition
|
|
28
|
+
export declare const SCHEDULED_FUNCTIONS: readonly [import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition, import("./types").ScheduledFunctionDefinition];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Scheduled function definitions (Cloud Scheduler triggers).
|
|
2
2
|
// Cron syntax accepts both Firebase shorthand and standard cron expressions.
|
|
3
|
-
import { auctionSettlementHandler, autoPayoutEligibilityHandler, bundleStockSyncHandler, cartPruneHandler, cleanupRtdbEventsHandler, countersReconcileHandler, couponExpiryHandler, dailyDataCleanupHandler, draftPruneHandler, emiInstallmentReminderHandler, catalogueImageStalenessReminderHandler, mediaTmpCleanupHandler, notificationPruneHandler, offerExpiryHandler,
|
|
3
|
+
import { auctionSettlementHandler, autoPayoutEligibilityHandler, bundleStockSyncHandler, cartPruneHandler, cleanupRtdbEventsHandler, countersReconcileHandler, couponExpiryHandler, dailyDataCleanupHandler, draftPruneHandler, emiInstallmentReminderHandler, catalogueImageStalenessReminderHandler, mediaTmpCleanupHandler, notificationPruneHandler, offerExpiryHandler, paymentWindowTimeoutHandler, hardBanReinstatementHandler, paymentReviewAutoApproveHandler, pendingOrderTimeoutHandler, positionsReconcileHandler, prizeDrawExpiryRevealHandler, productStatsSyncHandler, revenueRollupHandler, pageViewRollupHandler, pageViewPruneHandler, dailyStatusDigestHandler, weeklyPayoutEligibilityHandler, testerSandboxCleanupHandler, } from "../jobs/handlers";
|
|
4
4
|
import { defineFunction } from "./define";
|
|
5
5
|
const REGION = "asia-south1";
|
|
6
6
|
const EVERY_5_MIN = "every 5 minutes";
|
|
@@ -119,13 +119,6 @@ export const positionsReconcile = defineFunction({
|
|
|
119
119
|
handler: positionsReconcileHandler,
|
|
120
120
|
options: { region: REGION, timeoutSeconds: 120, memory: "256MiB", maxInstances: 1 },
|
|
121
121
|
});
|
|
122
|
-
export const payoutBatch = defineFunction({
|
|
123
|
-
name: "payoutBatch",
|
|
124
|
-
description: "Dispatch the day's payout batch (daily 06:00 UTC).",
|
|
125
|
-
trigger: { kind: "schedule", cron: "0 6 * * *", timeZone: "UTC" },
|
|
126
|
-
handler: payoutBatchHandler,
|
|
127
|
-
options: { region: REGION, timeoutSeconds: 540, memory: "256MiB", maxInstances: 1 },
|
|
128
|
-
});
|
|
129
122
|
export const cartPrune = defineFunction({
|
|
130
123
|
name: "cartPrune",
|
|
131
124
|
description: "Prune abandoned carts (weekly Sunday 04:00 UTC).",
|
|
@@ -233,7 +226,6 @@ export const SCHEDULED_FUNCTIONS = [
|
|
|
233
226
|
dailyDataCleanup,
|
|
234
227
|
countersReconcile,
|
|
235
228
|
positionsReconcile,
|
|
236
|
-
payoutBatch,
|
|
237
229
|
cartPrune,
|
|
238
230
|
notificationPrune,
|
|
239
231
|
weeklyPayoutEligibility,
|
|
@@ -20,7 +20,6 @@ export { runMediaTmpCleanup } from "./mediaTmpCleanup";
|
|
|
20
20
|
export { runPendingOrderTimeout } from "./pendingOrderTimeout";
|
|
21
21
|
export { runCountersReconcile } from "./countersReconcile";
|
|
22
22
|
export { runBundleStockSync } from "./bundleStockSync";
|
|
23
|
-
export { runPayoutBatch } from "./payoutBatch";
|
|
24
23
|
export { runAutoPayoutEligibility } from "./autoPayoutEligibility";
|
|
25
24
|
export { runProductStatsSync } from "./productStatsSync";
|
|
26
25
|
export { runPositionsReconcile } from "./positionsReconcile";
|
|
@@ -21,7 +21,6 @@ export { runMediaTmpCleanup } from "./mediaTmpCleanup";
|
|
|
21
21
|
export { runPendingOrderTimeout } from "./pendingOrderTimeout";
|
|
22
22
|
export { runCountersReconcile } from "./countersReconcile";
|
|
23
23
|
export { runBundleStockSync } from "./bundleStockSync";
|
|
24
|
-
export { runPayoutBatch } from "./payoutBatch";
|
|
25
24
|
export { runAutoPayoutEligibility } from "./autoPayoutEligibility";
|
|
26
25
|
export { runProductStatsSync } from "./productStatsSync";
|
|
27
26
|
export { runPositionsReconcile } from "./positionsReconcile";
|
|
@@ -32,7 +32,6 @@ export { pageViewRollupHandler } from "./pageViewRollup";
|
|
|
32
32
|
export { pageViewPruneHandler } from "./pageViewPrune";
|
|
33
33
|
export { dailyStatusDigestHandler } from "./dailyStatusDigest";
|
|
34
34
|
export { positionsReconcileHandler } from "./positionsReconcile";
|
|
35
|
-
export { payoutBatchHandler } from "./payoutBatch";
|
|
36
35
|
export { weeklyPayoutEligibilityHandler } from "./weeklyPayoutEligibility";
|
|
37
36
|
export { onCategoryWriteHandler } from "./onCategoryWrite";
|
|
38
37
|
export { onProductWriteHandler } from "./onProductWrite";
|
|
@@ -32,7 +32,6 @@ export { pageViewRollupHandler } from "./pageViewRollup";
|
|
|
32
32
|
export { pageViewPruneHandler } from "./pageViewPrune";
|
|
33
33
|
export { dailyStatusDigestHandler } from "./dailyStatusDigest";
|
|
34
34
|
export { positionsReconcileHandler } from "./positionsReconcile";
|
|
35
|
-
export { payoutBatchHandler } from "./payoutBatch";
|
|
36
35
|
export { weeklyPayoutEligibilityHandler } from "./weeklyPayoutEligibility";
|
|
37
36
|
export { onCategoryWriteHandler } from "./onCategoryWrite";
|
|
38
37
|
export { onProductWriteHandler } from "./onProductWrite";
|
|
@@ -2558,8 +2558,8 @@ export const ACTIONS = {
|
|
|
2558
2558
|
"pay-online": {
|
|
2559
2559
|
iconKey: "cart",
|
|
2560
2560
|
id: "checkout.pay-online",
|
|
2561
|
-
label: "Pay Online (
|
|
2562
|
-
description: "Initiate an online payment via
|
|
2561
|
+
label: "Pay Online (PhonePe)",
|
|
2562
|
+
description: "Initiate an online payment via PhonePe UPI/Card/NetBanking.",
|
|
2563
2563
|
kind: "primary",
|
|
2564
2564
|
},
|
|
2565
2565
|
"pay-cod": {
|
|
@@ -56,7 +56,7 @@ export interface PricedCartLine {
|
|
|
56
56
|
* 🛑 Do not hand-roll this rule at a call site. It has been re-derived by hand
|
|
57
57
|
* six times, and the two copies that lived in the consumer repo
|
|
58
58
|
* (`src/app/api/payment/create-order/route.ts`) each reproduced the bundle
|
|
59
|
-
* branch while silently omitting case 1 — so
|
|
59
|
+
* branch while silently omitting case 1 — so the gateway captured the LIST price
|
|
60
60
|
* for an accepted offer while the cart displayed the negotiated one. Call
|
|
61
61
|
* `lineTotalFor` and let this function stay the only definition.
|
|
62
62
|
*/
|
|
@@ -28,7 +28,7 @@ import { calculateGst } from "../fees/calculator";
|
|
|
28
28
|
* 🛑 Do not hand-roll this rule at a call site. It has been re-derived by hand
|
|
29
29
|
* six times, and the two copies that lived in the consumer repo
|
|
30
30
|
* (`src/app/api/payment/create-order/route.ts`) each reproduced the bundle
|
|
31
|
-
* branch while silently omitting case 1 — so
|
|
31
|
+
* branch while silently omitting case 1 — so the gateway captured the LIST price
|
|
32
32
|
* for an accepted offer while the cart displayed the negotiated one. Call
|
|
33
33
|
* `lineTotalFor` and let this function stay the only definition.
|
|
34
34
|
*/
|
|
@@ -6,7 +6,7 @@ import { PRIZE_DRAW_MAX_REVEALS_PER_ORDER } from "./_limits";
|
|
|
6
6
|
* checkout — instant-mode winner assignment triggers on the order's payment
|
|
7
7
|
* actually being confirmed, which cod/cash/emi don't guarantee happens (or
|
|
8
8
|
* happens promptly). Only "upi_manual" (bank/UPI transfer, confirmed later by
|
|
9
|
-
* seller/admin) and "online" (
|
|
9
|
+
* seller/admin) and "online" (PhonePe, confirms near-instantly) are allowed;
|
|
10
10
|
* "admin_bypass" stays usable for QA regardless.
|
|
11
11
|
*/
|
|
12
12
|
const PRIZE_DRAW_BLOCKED_PAYMENT_METHODS = ["cod", "cash", "emi"];
|
|
@@ -47,7 +47,7 @@ export const prizeDrawRule = {
|
|
|
47
47
|
if (paymentMethod && PRIZE_DRAW_BLOCKED_PAYMENT_METHODS.includes(paymentMethod)) {
|
|
48
48
|
const hasPrizeDraw = pairs.some((p) => p.product.listingType === "prize-draw");
|
|
49
49
|
if (hasPrizeDraw) {
|
|
50
|
-
throw Object.assign(new ValidationError("Prize-draw entries can only be paid by manual bank/UPI transfer or
|
|
50
|
+
throw Object.assign(new ValidationError("Prize-draw entries can only be paid by manual bank/UPI transfer or PhonePe — cash on delivery and EMI are not available for this listing type."), { code: "PRIZE_DRAW_PAYMENT_METHOD_BLOCKED" });
|
|
51
51
|
}
|
|
52
52
|
}
|
|
53
53
|
for (const { item, product } of pairs) {
|
|
@@ -13,7 +13,7 @@ export declare const blogPostInputSchema: z.ZodObject<{
|
|
|
13
13
|
metaTitle: z.ZodOptional<z.ZodString>;
|
|
14
14
|
metaDescription: z.ZodOptional<z.ZodString>;
|
|
15
15
|
}, "strip", z.ZodTypeAny, {
|
|
16
|
-
status: "
|
|
16
|
+
status: "published" | "draft";
|
|
17
17
|
title: string;
|
|
18
18
|
content: string;
|
|
19
19
|
category: string;
|
|
@@ -30,7 +30,7 @@ export declare const blogPostInputSchema: z.ZodObject<{
|
|
|
30
30
|
content: string;
|
|
31
31
|
category: string;
|
|
32
32
|
slug: string;
|
|
33
|
-
status?: "
|
|
33
|
+
status?: "published" | "draft" | undefined;
|
|
34
34
|
youtubeId?: string | undefined;
|
|
35
35
|
tags?: string[] | undefined;
|
|
36
36
|
isFeatured?: boolean | undefined;
|
|
@@ -53,7 +53,7 @@ export declare const blogPostUpdateSchema: z.ZodObject<Omit<{
|
|
|
53
53
|
metaTitle: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
54
54
|
metaDescription: z.ZodOptional<z.ZodOptional<z.ZodString>>;
|
|
55
55
|
}, "slug">, "strip", z.ZodTypeAny, {
|
|
56
|
-
status?: "
|
|
56
|
+
status?: "published" | "draft" | undefined;
|
|
57
57
|
title?: string | undefined;
|
|
58
58
|
content?: string | undefined;
|
|
59
59
|
category?: string | undefined;
|
|
@@ -65,7 +65,7 @@ export declare const blogPostUpdateSchema: z.ZodObject<Omit<{
|
|
|
65
65
|
metaTitle?: string | undefined;
|
|
66
66
|
metaDescription?: string | undefined;
|
|
67
67
|
}, {
|
|
68
|
-
status?: "
|
|
68
|
+
status?: "published" | "draft" | undefined;
|
|
69
69
|
title?: string | undefined;
|
|
70
70
|
content?: string | undefined;
|
|
71
71
|
category?: string | undefined;
|
|
@@ -14,10 +14,10 @@ export declare const addToCartSchema: z.ZodObject<{
|
|
|
14
14
|
lockedPrice: z.ZodOptional<z.ZodNumber>;
|
|
15
15
|
}, "strip", z.ZodTypeAny, {
|
|
16
16
|
currency: string;
|
|
17
|
-
storeId: string;
|
|
18
17
|
price: number;
|
|
19
18
|
listingType: "art" | "stickers" | "classified" | "standard" | "auction" | "pre-order" | "prize-draw" | "digital-code" | "live";
|
|
20
19
|
storeName: string;
|
|
20
|
+
storeId: string;
|
|
21
21
|
quantity: number;
|
|
22
22
|
productId: string;
|
|
23
23
|
productTitle: string;
|
|
@@ -26,9 +26,9 @@ export declare const addToCartSchema: z.ZodObject<{
|
|
|
26
26
|
offerId?: string | undefined;
|
|
27
27
|
lockedPrice?: number | undefined;
|
|
28
28
|
}, {
|
|
29
|
-
storeId: string;
|
|
30
29
|
price: number;
|
|
31
30
|
listingType: "art" | "stickers" | "classified" | "standard" | "auction" | "pre-order" | "prize-draw" | "digital-code" | "live";
|
|
31
|
+
storeId: string;
|
|
32
32
|
productId: string;
|
|
33
33
|
productTitle: string;
|
|
34
34
|
currency?: string | undefined;
|
|
@@ -72,10 +72,10 @@ export declare const mergeGuestCartSchema: z.ZodObject<{
|
|
|
72
72
|
lockedPrice: z.ZodOptional<z.ZodNumber>;
|
|
73
73
|
}, "strip", z.ZodTypeAny, {
|
|
74
74
|
currency: string;
|
|
75
|
-
storeId: string;
|
|
76
75
|
price: number;
|
|
77
76
|
listingType: "art" | "stickers" | "classified" | "standard" | "auction" | "pre-order" | "prize-draw" | "digital-code" | "live";
|
|
78
77
|
storeName: string;
|
|
78
|
+
storeId: string;
|
|
79
79
|
quantity: number;
|
|
80
80
|
productId: string;
|
|
81
81
|
productTitle: string;
|
|
@@ -84,9 +84,9 @@ export declare const mergeGuestCartSchema: z.ZodObject<{
|
|
|
84
84
|
offerId?: string | undefined;
|
|
85
85
|
lockedPrice?: number | undefined;
|
|
86
86
|
}, {
|
|
87
|
-
storeId: string;
|
|
88
87
|
price: number;
|
|
89
88
|
listingType: "art" | "stickers" | "classified" | "standard" | "auction" | "pre-order" | "prize-draw" | "digital-code" | "live";
|
|
89
|
+
storeId: string;
|
|
90
90
|
productId: string;
|
|
91
91
|
productTitle: string;
|
|
92
92
|
currency?: string | undefined;
|
|
@@ -100,10 +100,10 @@ export declare const mergeGuestCartSchema: z.ZodObject<{
|
|
|
100
100
|
}, "strip", z.ZodTypeAny, {
|
|
101
101
|
guestItems: {
|
|
102
102
|
currency: string;
|
|
103
|
-
storeId: string;
|
|
104
103
|
price: number;
|
|
105
104
|
listingType: "art" | "stickers" | "classified" | "standard" | "auction" | "pre-order" | "prize-draw" | "digital-code" | "live";
|
|
106
105
|
storeName: string;
|
|
106
|
+
storeId: string;
|
|
107
107
|
quantity: number;
|
|
108
108
|
productId: string;
|
|
109
109
|
productTitle: string;
|
|
@@ -114,9 +114,9 @@ export declare const mergeGuestCartSchema: z.ZodObject<{
|
|
|
114
114
|
}[];
|
|
115
115
|
}, {
|
|
116
116
|
guestItems: {
|
|
117
|
-
storeId: string;
|
|
118
117
|
price: number;
|
|
119
118
|
listingType: "art" | "stickers" | "classified" | "standard" | "auction" | "pre-order" | "prize-draw" | "digital-code" | "live";
|
|
119
|
+
storeId: string;
|
|
120
120
|
productId: string;
|
|
121
121
|
productTitle: string;
|
|
122
122
|
currency?: string | undefined;
|
|
@@ -10,7 +10,7 @@ export declare const REFUND_COPY: {
|
|
|
10
10
|
readonly badgeFull: "Full refund";
|
|
11
11
|
readonly badgePartial: "Partial refund";
|
|
12
12
|
readonly labelTxn: "Txn:";
|
|
13
|
-
readonly
|
|
13
|
+
readonly labelPhonePe: "PhonePe:";
|
|
14
14
|
readonly nonContestableBanner: "Disputes, RMA requests, and \"Item Not Received\" claims are no longer available for this order.";
|
|
15
15
|
};
|
|
16
16
|
readonly request: {
|
|
@@ -10,7 +10,7 @@ export const REFUND_COPY = {
|
|
|
10
10
|
badgeFull: "Full refund",
|
|
11
11
|
badgePartial: "Partial refund",
|
|
12
12
|
labelTxn: "Txn:",
|
|
13
|
-
|
|
13
|
+
labelPhonePe: "PhonePe:",
|
|
14
14
|
nonContestableBanner: 'Disputes, RMA requests, and "Item Not Received" claims are no longer available for this order.',
|
|
15
15
|
},
|
|
16
16
|
request: {
|
|
@@ -59,10 +59,10 @@ export declare const createOrderSchema: z.ZodObject<{
|
|
|
59
59
|
country?: string | undefined;
|
|
60
60
|
addressLine2?: string | undefined;
|
|
61
61
|
}>;
|
|
62
|
-
paymentMethod: z.ZodEnum<["
|
|
62
|
+
paymentMethod: z.ZodEnum<["phonepe", "cod", "upi"]>;
|
|
63
63
|
couponCode: z.ZodOptional<z.ZodString>;
|
|
64
64
|
}, "strip", z.ZodTypeAny, {
|
|
65
|
-
paymentMethod: "
|
|
65
|
+
paymentMethod: "cod" | "phonepe" | "upi";
|
|
66
66
|
shippingAddress: {
|
|
67
67
|
country: string;
|
|
68
68
|
fullName: string;
|
|
@@ -80,7 +80,7 @@ export declare const createOrderSchema: z.ZodObject<{
|
|
|
80
80
|
}[];
|
|
81
81
|
couponCode?: string | undefined;
|
|
82
82
|
}, {
|
|
83
|
-
paymentMethod: "
|
|
83
|
+
paymentMethod: "cod" | "phonepe" | "upi";
|
|
84
84
|
shippingAddress: {
|
|
85
85
|
fullName: string;
|
|
86
86
|
phone: string;
|
|
@@ -105,13 +105,13 @@ export declare const updateOrderStatusSchema: z.ZodObject<{
|
|
|
105
105
|
carrier: z.ZodOptional<z.ZodString>;
|
|
106
106
|
note: z.ZodOptional<z.ZodString>;
|
|
107
107
|
}, "strip", z.ZodTypeAny, {
|
|
108
|
-
status: "
|
|
108
|
+
status: "delivered" | "shipped" | "processing" | "return_requested" | "cancelled" | "refunded";
|
|
109
109
|
orderId: string;
|
|
110
110
|
note?: string | undefined;
|
|
111
111
|
trackingNumber?: string | undefined;
|
|
112
112
|
carrier?: string | undefined;
|
|
113
113
|
}, {
|
|
114
|
-
status: "
|
|
114
|
+
status: "delivered" | "shipped" | "processing" | "return_requested" | "cancelled" | "refunded";
|
|
115
115
|
orderId: string;
|
|
116
116
|
note?: string | undefined;
|
|
117
117
|
trackingNumber?: string | undefined;
|
|
@@ -38,7 +38,7 @@ export const createOrderSchema = z.object({
|
|
|
38
38
|
price: z.number().min(0),
|
|
39
39
|
})).min(1, "Order must have at least one item"),
|
|
40
40
|
shippingAddress: addressSchema,
|
|
41
|
-
paymentMethod: z.enum(["
|
|
41
|
+
paymentMethod: z.enum(["phonepe", "cod", "upi"]),
|
|
42
42
|
couponCode: z.string().optional(),
|
|
43
43
|
});
|
|
44
44
|
export const updateOrderStatusSchema = z.object({
|
|
@@ -88,10 +88,10 @@ export declare const setStatusSchema: z.ZodObject<{
|
|
|
88
88
|
productId: z.ZodString;
|
|
89
89
|
status: z.ZodEnum<["draft", "published", "archived"]>;
|
|
90
90
|
}, "strip", z.ZodTypeAny, {
|
|
91
|
-
status: "
|
|
91
|
+
status: "published" | "draft" | "archived";
|
|
92
92
|
productId: string;
|
|
93
93
|
}, {
|
|
94
|
-
status: "
|
|
94
|
+
status: "published" | "draft" | "archived";
|
|
95
95
|
productId: string;
|
|
96
96
|
}>;
|
|
97
97
|
export type ProductInput = z.infer<typeof productInputSchema>;
|
|
@@ -75,7 +75,7 @@ export declare const createCouponSchema: z.ZodObject<{
|
|
|
75
75
|
}, "strip", z.ZodTypeAny, {
|
|
76
76
|
code: string;
|
|
77
77
|
type: "fixed" | "percentage" | "free_shipping" | "buy_x_get_y";
|
|
78
|
-
scope: "
|
|
78
|
+
scope: "admin" | "seller";
|
|
79
79
|
name: string;
|
|
80
80
|
discount: {
|
|
81
81
|
value: number;
|
|
@@ -99,7 +99,7 @@ export declare const createCouponSchema: z.ZodObject<{
|
|
|
99
99
|
}, {
|
|
100
100
|
code: string;
|
|
101
101
|
type: "fixed" | "percentage" | "free_shipping" | "buy_x_get_y";
|
|
102
|
-
scope: "
|
|
102
|
+
scope: "admin" | "seller";
|
|
103
103
|
name: string;
|
|
104
104
|
discount: {
|
|
105
105
|
value: number;
|
|
@@ -177,7 +177,7 @@ export declare const updateCouponSchema: z.ZodObject<Omit<{
|
|
|
177
177
|
}>>>;
|
|
178
178
|
}, "code">, "strip", z.ZodTypeAny, {
|
|
179
179
|
type?: "fixed" | "percentage" | "free_shipping" | "buy_x_get_y" | undefined;
|
|
180
|
-
scope?: "
|
|
180
|
+
scope?: "admin" | "seller" | undefined;
|
|
181
181
|
name?: string | undefined;
|
|
182
182
|
discount?: {
|
|
183
183
|
value: number;
|
|
@@ -200,7 +200,7 @@ export declare const updateCouponSchema: z.ZodObject<Omit<{
|
|
|
200
200
|
} | undefined;
|
|
201
201
|
}, {
|
|
202
202
|
type?: "fixed" | "percentage" | "free_shipping" | "buy_x_get_y" | undefined;
|
|
203
|
-
scope?: "
|
|
203
|
+
scope?: "admin" | "seller" | undefined;
|
|
204
204
|
name?: string | undefined;
|
|
205
205
|
discount?: {
|
|
206
206
|
value: number;
|
|
@@ -21,8 +21,8 @@ export declare const createReviewSchema: z.ZodObject<{
|
|
|
21
21
|
rating: number;
|
|
22
22
|
productId: string;
|
|
23
23
|
comment: string;
|
|
24
|
-
orderId?: string | undefined;
|
|
25
24
|
images?: string[] | undefined;
|
|
25
|
+
orderId?: string | undefined;
|
|
26
26
|
}>;
|
|
27
27
|
export declare const replyToReviewSchema: z.ZodObject<{
|
|
28
28
|
reviewId: z.ZodString;
|
package/dist/client.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ export type { HttpErrorCode, MappedError } from "./errors/error-mapping";
|
|
|
3
3
|
export { ERROR_DISPLAY_MAP, getErrorDisplay } from "./errors/error-display-map";
|
|
4
4
|
export { toUserMessage, GENERIC_USER_MESSAGE } from "./errors/error-display-map";
|
|
5
5
|
export type { ErrorDisplayEntry } from "./errors/error-display-map";
|
|
6
|
-
export {
|
|
6
|
+
export { PaymentProviderUnreachableError } from "./errors/payment-provider-unreachable";
|
|
7
7
|
export type { ActionResult } from "./utils/action-result";
|
|
8
8
|
export { isOk, unwrap } from "./utils/action-result";
|
|
9
9
|
export { ApiError, isApiError } from "./client/api/ApiError";
|
package/dist/client.js
CHANGED
|
@@ -7,7 +7,7 @@ export { ERROR_DISPLAY_MAP, getErrorDisplay } from "./errors/error-display-map";
|
|
|
7
7
|
// toUserMessage — the only sanctioned path from a failure to user-facing copy.
|
|
8
8
|
// It terminates in a constant, so a thrown value's own .message never surfaces.
|
|
9
9
|
export { toUserMessage, GENERIC_USER_MESSAGE } from "./errors/error-display-map";
|
|
10
|
-
export {
|
|
10
|
+
export { PaymentProviderUnreachableError } from "./errors/payment-provider-unreachable";
|
|
11
11
|
export { isOk, unwrap } from "./utils/action-result";
|
|
12
12
|
// [CLIENT-SAFE] Client error class + surface-error router + reporter primitives.
|
|
13
13
|
// Used by useApiMutation / useApiQuery and Button's async-onclick catch.
|
package/dist/configs/next.js
CHANGED
|
@@ -233,7 +233,7 @@ export function defineNextConfig(override = {}) {
|
|
|
233
233
|
// sideEffects:false should tree-shake unused server-only exports, but
|
|
234
234
|
// webpack must first PARSE the full module graph to enumerate all exports.
|
|
235
235
|
// That parse phase hits Node.js-only requires deep in firebase-admin,
|
|
236
|
-
// resend,
|
|
236
|
+
// resend, phonepe-pg-sdk-node, etc. and throws "Module not found" errors.
|
|
237
237
|
//
|
|
238
238
|
// Fix: alias every server-only package to `false` so webpack replaces them
|
|
239
239
|
// with empty stubs during the parse phase. Tree-shaking then eliminates the
|
|
@@ -250,7 +250,7 @@ export function defineNextConfig(override = {}) {
|
|
|
250
250
|
...FIREBASE_EXTERNAL_PACKAGES,
|
|
251
251
|
"resend",
|
|
252
252
|
"@react-email/render",
|
|
253
|
-
"
|
|
253
|
+
"phonepe-pg-sdk-node",
|
|
254
254
|
"firebase-functions",
|
|
255
255
|
];
|
|
256
256
|
const clientStubAliases = Object.fromEntries(CLIENT_STUB_PACKAGES.flatMap((pkg) => [
|
|
@@ -877,7 +877,7 @@ export declare const SITE_SETTINGS_FIELDS: {
|
|
|
877
877
|
};
|
|
878
878
|
readonly PAYMENT: "payment";
|
|
879
879
|
readonly PAYMENT_FIELDS: {
|
|
880
|
-
readonly
|
|
880
|
+
readonly PHONEPE_ENABLED: "payment.phonepeEnabled";
|
|
881
881
|
readonly UPI_MANUAL_ENABLED: "payment.upiManualEnabled";
|
|
882
882
|
readonly COD_ENABLED: "payment.codEnabled";
|
|
883
883
|
};
|
|
@@ -1017,7 +1017,7 @@ export const SITE_SETTINGS_FIELDS = {
|
|
|
1017
1017
|
},
|
|
1018
1018
|
PAYMENT: "payment",
|
|
1019
1019
|
PAYMENT_FIELDS: {
|
|
1020
|
-
|
|
1020
|
+
PHONEPE_ENABLED: "payment.phonepeEnabled",
|
|
1021
1021
|
UPI_MANUAL_ENABLED: "payment.upiManualEnabled",
|
|
1022
1022
|
COD_ENABLED: "payment.codEnabled",
|
|
1023
1023
|
},
|
|
@@ -31,5 +31,3 @@ export type { AdapterAuthUser, AuthUnsubscribe, IClientSessionAdapter, } from ".
|
|
|
31
31
|
export { registerClientSessionAdapter, getClientSessionAdapter, } from "./client-session";
|
|
32
32
|
export type { FilterOption, FilterType, FilterDefinition, SortDefinition, } from "./extend";
|
|
33
33
|
export { mergeFilterDefinitions, mergeSortDefinitions } from "./extend";
|
|
34
|
-
export type { GatewayPaymentResponse, OpenGatewayOptions, IClientPaymentGateway, } from "./client-payment-gateway";
|
|
35
|
-
export { registerClientPaymentGateway, getClientPaymentGateway, getRegisteredPaymentGateways, } from "./client-payment-gateway";
|
package/dist/contracts/index.js
CHANGED
|
@@ -18,4 +18,3 @@ export { registerClientRealtimeProvider, getClientRealtimeProvider, } from "./cl
|
|
|
18
18
|
export { registerClientAuthProvider, getClientAuthProvider, } from "./client-auth";
|
|
19
19
|
export { registerClientSessionAdapter, getClientSessionAdapter, } from "./client-session";
|
|
20
20
|
export { mergeFilterDefinitions, mergeSortDefinitions } from "./extend";
|
|
21
|
-
export { registerClientPaymentGateway, getClientPaymentGateway, getRegisteredPaymentGateways, } from "./client-payment-gateway";
|