@mohasinac/appkit 4.1.0 → 4.1.3
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/maintenance/index.d.ts +2 -0
- package/dist/_internal/client/features/maintenance/index.js +1 -0
- package/dist/_internal/client/features/maintenance/views/CloudLogsListView.d.ts +9 -0
- package/dist/_internal/client/features/maintenance/views/CloudLogsListView.js +55 -0
- package/dist/_internal/server/features/auctions/index.d.ts +1 -1
- package/dist/_internal/server/features/auctions/index.js +1 -1
- package/dist/_internal/server/features/auctions/service.js +2 -2
- package/dist/_internal/server/features/maintenance/cloud-logs-data.d.ts +50 -0
- package/dist/_internal/server/features/maintenance/cloud-logs-data.js +152 -0
- package/dist/_internal/server/jobs/core/onOrderCreate.d.ts +4 -12
- package/dist/_internal/server/jobs/core/onOrderCreate.js +3 -3
- package/dist/_internal/server/jobs/core/onProductWrite.js +14 -2
- package/dist/_internal/shared/features/auctions/config.d.ts +1 -1
- package/dist/_internal/shared/features/auctions/config.js +1 -1
- package/dist/_internal/shared/features/auctions/schema.js +1 -1
- package/dist/_internal/shared/features/cart/schema.js +2 -2
- package/dist/_internal/shared/features/events/schema.js +1 -1
- package/dist/_internal/shared/features/orders/schema.js +1 -1
- package/dist/_internal/shared/features/products/schema.js +3 -3
- package/dist/_internal/shared/features/promotions/schema.js +3 -3
- package/dist/_internal/shared/fees/calculator.d.ts +6 -7
- package/dist/client.d.ts +4 -4
- package/dist/client.js +4 -2
- package/dist/constants/api-endpoints.d.ts +9 -6
- package/dist/constants/api-endpoints.js +3 -2
- package/dist/contracts/client-payment-gateway.d.ts +1 -2
- package/dist/features/about/components/AboutView.d.ts +6 -16
- package/dist/features/about/components/AboutView.js +3 -3
- package/dist/features/about/index.d.ts +2 -1
- package/dist/features/about/schemas/firestore.d.ts +47 -0
- package/dist/features/about/schemas/firestore.js +6 -0
- package/dist/features/about/schemas/index.d.ts +210 -0
- package/dist/features/about/schemas/index.js +45 -0
- package/dist/features/account/hooks/useProfile.js +3 -0
- package/dist/features/admin/components/AdminCarouselGroupEditorView.d.ts +6 -0
- package/dist/features/admin/components/AdminCarouselGroupEditorView.js +50 -0
- package/dist/features/admin/components/AdminCartsView.js +16 -3
- package/dist/features/admin/components/AdminCouponEditorView.js +2 -2
- package/dist/features/admin/components/AdminCouponsView.js +14 -4
- package/dist/features/admin/components/AdminEmployeeEditorView.js +1 -42
- package/dist/features/admin/components/AdminMediaView.js +1 -1
- package/dist/features/admin/components/AdminNotificationsView.js +31 -19
- package/dist/features/admin/components/AdminOrdersView.js +7 -0
- package/dist/features/admin/components/AdminPayoutsView.js +18 -3
- package/dist/features/admin/components/AdminProductsView.js +17 -2
- package/dist/features/admin/components/AdminReviewsView.js +16 -2
- package/dist/features/admin/components/AdminScammersView.js +7 -0
- package/dist/features/admin/components/AdminSectionsView.js +4 -0
- package/dist/features/admin/components/AdminSiteConfigGuideView.js +1 -1
- package/dist/features/admin/components/AdminSiteSettingsView.js +44 -2
- package/dist/features/admin/components/AdminStoreEditorView.d.ts +2 -1
- package/dist/features/admin/components/AdminStoreEditorView.js +4 -4
- package/dist/features/admin/components/AdminStoresView.js +1 -1
- package/dist/features/admin/components/AdminSupportTicketDetailView.js +23 -5
- package/dist/features/admin/components/AdminSupportTicketsView.js +20 -2
- package/dist/features/admin/components/AdminTesterChecklistItemEditorView.js +4 -1
- package/dist/features/admin/components/AdminTesterChecklistView.js +8 -0
- package/dist/features/admin/components/index.d.ts +2 -0
- package/dist/features/admin/components/index.js +1 -0
- package/dist/features/admin/constants/filter-tabs.d.ts +55 -41
- package/dist/features/admin/constants/filter-tabs.js +55 -27
- package/dist/features/admin/schemas/firestore.d.ts +5 -0
- package/dist/features/auctions/actions/bid-actions.js +1 -1
- package/dist/features/auctions/components/AuctionDetailPageView.js +2 -2
- package/dist/features/auctions/components/AuctionsListView.js +8 -1
- package/dist/features/auth/components/LoginForm.js +2 -2
- package/dist/features/auth/components/RegisterForm.js +2 -2
- package/dist/features/auth/permissions/constants.d.ts +16 -0
- package/dist/features/auth/permissions/constants.js +53 -0
- package/dist/features/auth/schemas/firestore.js +1 -0
- package/dist/features/blog/components/BlogFilters.js +1 -1
- package/dist/features/cart/schemas/firestore.d.ts +1 -1
- package/dist/features/categories/schemas/firestore.d.ts +1 -1
- package/dist/features/consultation/components/ConsultationForm.js +1 -1
- package/dist/features/events/components/EventFilters.js +2 -0
- package/dist/features/homepage/components/WelcomeSection.js +2 -2
- package/dist/features/layout/TitleBarLayout.d.ts +2 -2
- package/dist/features/layout/TitleBarLayout.js +4 -4
- package/dist/features/media/AvatarUpload.js +7 -3
- package/dist/features/media/MediaVideo.js +1 -1
- package/dist/features/media/finalize.d.ts +9 -13
- package/dist/features/media/finalize.js +23 -74
- package/dist/features/media/server.d.ts +1 -1
- package/dist/features/media/server.js +1 -1
- package/dist/features/orders/hooks/useOrders.js +16 -4
- package/dist/features/orders/schemas/firestore.d.ts +5 -5
- package/dist/features/payments/schemas/firestore.d.ts +2 -2
- package/dist/features/pre-orders/components/PreOrdersListView.js +7 -0
- package/dist/features/products/components/ArtStickersListView.js +5 -0
- package/dist/features/products/components/ProductDetailPageView.d.ts +7 -1
- package/dist/features/products/components/ProductForm.js +14 -1
- package/dist/features/products/components/ProductsIndexPageView.js +7 -0
- package/dist/features/products/constants/action-defs.d.ts +1 -0
- package/dist/features/products/constants/action-defs.js +1 -0
- package/dist/features/products/schemas/firestore.d.ts +1 -1
- package/dist/features/products/schemas/product-templates.d.ts +1 -1
- package/dist/features/products/types/index.d.ts +4 -0
- package/dist/features/scams/schemas/index.js +2 -2
- package/dist/features/search/components/Search.js +3 -3
- package/dist/features/seller/components/SellerAuctionsView.js +27 -2
- package/dist/features/seller/components/SellerOrdersView.js +1 -1
- package/dist/features/seller/components/SellerPayoutsView.js +24 -10
- package/dist/features/seller/components/SellerPreOrdersView.js +12 -4
- package/dist/features/seller/components/SellerPrizeDrawsView.js +23 -5
- package/dist/features/seller/components/SellerProductShell.d.ts +2 -0
- package/dist/features/seller/components/SellerProductShell.js +1 -1
- package/dist/features/seller/components/SellerProductsView.js +8 -6
- package/dist/features/seller/components/SellerReviewsView.js +27 -6
- package/dist/features/seller/components/index.d.ts +0 -2
- package/dist/features/seller/components/index.js +0 -1
- package/dist/features/stores/components/StoreListingsGuideView.js +2 -1
- package/dist/features/stores/components/StoreProductsView.js +1 -1
- package/dist/features/stores/schemas/firestore.d.ts +11 -0
- package/dist/features/stores/schemas/firestore.js +5 -0
- package/dist/features/stores/schemas/index.d.ts +2 -2
- package/dist/features/tester/actions/checklist-item-actions.d.ts +6 -0
- package/dist/features/tester/actions/checklist-item-actions.js +2 -0
- package/dist/features/tester/components/AdminTesterFeedbackIssuesView.js +13 -2
- package/dist/features/tester/components/AdminTesterFeedbackListView.js +2 -1
- package/dist/features/tester/components/AdminTesterFeedbackReportView.js +9 -5
- package/dist/features/tester/components/TesterHubView.js +34 -21
- package/dist/features/tester/repository/tester-checklist-item.repository.js +1 -0
- package/dist/features/tester/repository/tester-checklist-response.repository.d.ts +18 -4
- package/dist/features/tester/repository/tester-checklist-response.repository.js +43 -8
- package/dist/features/tester/schemas/firestore.d.ts +8 -3
- package/dist/features/tester/schemas/firestore.js +6 -0
- package/dist/features/tester/seed-data/bids-tester-seed-data.d.ts +2 -0
- package/dist/features/tester/seed-data/bids-tester-seed-data.js +37 -0
- package/dist/features/tester/seed-data/coupons-tester-seed-data.d.ts +2 -0
- package/dist/features/tester/seed-data/coupons-tester-seed-data.js +76 -0
- package/dist/features/tester/seed-data/events-tester-seed-data.js +50 -2
- package/dist/features/tester/seed-data/index.d.ts +3 -0
- package/dist/features/tester/seed-data/index.js +3 -0
- package/dist/features/tester/seed-data/orders-tester-seed-data.d.ts +2 -0
- package/dist/features/tester/seed-data/orders-tester-seed-data.js +265 -0
- package/dist/features/tester/seed-data/products-tester-seed-data.js +213 -8
- package/dist/features/tester/seed-data/tester-checklist-seed-data.js +294 -12
- package/dist/features/tester/utils/phases.d.ts +31 -0
- package/dist/features/tester/utils/phases.js +46 -0
- package/dist/features/whatsapp-bot/components/SellerWhatsAppSettingsView.js +1 -1
- package/dist/features/whatsapp-bot/types/index.d.ts +1 -1
- package/dist/features/wishlist/types/index.d.ts +3 -0
- package/dist/index.d.ts +11 -4
- package/dist/index.js +15 -7
- package/dist/next/api/routeHandler.js +6 -10
- package/dist/next/components/NotFoundView.js +2 -1
- package/dist/next/routing/route-map.d.ts +4 -12
- package/dist/next/routing/route-map.js +2 -4
- package/dist/providers/db-firebase/admin.d.ts +1 -0
- package/dist/providers/db-firebase/admin.js +1 -1
- package/dist/schemas/registry.d.ts +2 -2
- package/dist/seed/addresses-seed-data.js +18 -18
- package/dist/seed/bids-seed-data.js +4 -4
- package/dist/seed/blog-posts-seed-data.js +82 -82
- package/dist/seed/carousel-slides-seed-data.js +14 -10
- package/dist/seed/carousels-seed-data.js +3 -3
- package/dist/seed/cart-seed-data.js +92 -92
- package/dist/seed/claimed-coupons-seed-data.js +10 -10
- package/dist/seed/conversations-seed-data.js +75 -75
- package/dist/seed/coupon-usage-seed-data.js +12 -12
- package/dist/seed/coupons-seed-data.js +41 -41
- package/dist/seed/events-seed-data.js +105 -105
- package/dist/seed/grouped-listings-seed-data.d.ts +2 -137
- package/dist/seed/grouped-listings-seed-data.js +79 -143
- package/dist/seed/history-seed-data.js +38 -38
- package/dist/seed/homepage-sections-seed-data.js +9 -9
- package/dist/seed/index.d.ts +1 -1
- package/dist/seed/index.js +1 -1
- package/dist/seed/manifest.js +4 -4
- package/dist/seed/notifications-seed-data.js +56 -56
- package/dist/seed/offers-seed-data.js +91 -91
- package/dist/seed/orders-seed-data.js +125 -106
- package/dist/seed/payouts-seed-data.js +42 -42
- package/dist/seed/products-auctions-seed-data.js +10 -2
- package/dist/seed/products-classifieds-seed-data.js +48 -5
- package/dist/seed/products-digital-codes-seed-data.js +48 -5
- package/dist/seed/products-live-items-seed-data.js +6 -1
- package/dist/seed/products-prize-draws-seed-data.js +58 -5
- package/dist/seed/products-standard-seed-data.js +40 -8
- package/dist/seed/reviews-seed-data.js +42 -23
- package/dist/seed/scammers-seed-data.js +22 -22
- package/dist/seed/sessions-seed-data.js +7 -7
- package/dist/seed/shipments-seed-data.js +10 -10
- package/dist/seed/site-settings-seed-data.js +82 -0
- package/dist/seed/store-addresses-seed-data.js +2 -2
- package/dist/seed/store-extensions-seed-data.js +93 -93
- package/dist/seed/stores-seed-data.js +2 -0
- package/dist/seed/support-tickets-seed-data.js +47 -47
- package/dist/seed/users-seed-data.js +55 -89
- package/dist/seed/wishlists-seed-data.js +22 -22
- package/dist/server.d.ts +2 -1
- package/dist/server.js +5 -5
- package/dist/styles.css +1 -1
- package/dist/tailwind-utilities.css +1 -1
- package/dist/ui/components/PageLoader.js +8 -3
- package/dist/ui/components/Select.d.ts +8 -1
- package/dist/ui/components/Select.js +2 -2
- package/dist/ui/components/SiteMark.d.ts +23 -0
- package/dist/ui/components/SiteMark.js +76 -0
- package/dist/ui/index.d.ts +2 -0
- package/dist/ui/index.js +1 -0
- package/dist/validation/schemas.d.ts +0 -2
- package/dist/validation/schemas.js +0 -2
- package/package.json +1 -1
- package/scripts/seed-cli.mjs +27 -19
package/dist/index.js
CHANGED
|
@@ -1790,10 +1790,10 @@ export { createRazorpayRefund } from "./providers/payment-razorpay/index";
|
|
|
1790
1790
|
// fetchRazorpayOrder - Shared export for fetch razorpay order.
|
|
1791
1791
|
export { fetchRazorpayOrder } from "./providers/payment-razorpay/index";
|
|
1792
1792
|
// [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
1793
|
-
// paiseToRupees - Shared export for paise to rupees.
|
|
1793
|
+
// paiseToRupees - Shared export for paise to rupees. // audit-money-units-ok: names the boundary conversion function itself
|
|
1794
1794
|
export { paiseToRupees } from "./providers/payment-razorpay/index";
|
|
1795
1795
|
// [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
1796
|
-
// rupeesToPaise - Shared export for rupees to paise.
|
|
1796
|
+
// rupeesToPaise - Shared export for rupees to paise. // audit-money-units-ok: names the boundary conversion function itself
|
|
1797
1797
|
export { rupeesToPaise } from "./providers/payment-razorpay/index";
|
|
1798
1798
|
// [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
1799
1799
|
// verifyPaymentSignature - Shared export for verify payment signature.
|
|
@@ -2219,6 +2219,10 @@ export { AdminCartsView } from "./features/admin/index";
|
|
|
2219
2219
|
export { AdminWishlistsView } from "./features/admin/index";
|
|
2220
2220
|
// AdminHistoryView - Admin read-only history insights listing (S44 follow-up).
|
|
2221
2221
|
export { AdminHistoryView } from "./features/admin/index";
|
|
2222
|
+
// AdminGroupedListingsView - Admin cross-store grouped-listings moderation view (W1-29).
|
|
2223
|
+
export { AdminGroupedListingsView } from "./features/admin/index";
|
|
2224
|
+
// AdminCarouselGroupEditorView - Create form for named carousel groups (EX2 nav-wiring fix).
|
|
2225
|
+
export { AdminCarouselGroupEditorView } from "./features/admin/index";
|
|
2222
2226
|
// AdminContactEditorView - Admin contact submission detail SideDrawer (B7/VA15).
|
|
2223
2227
|
export { AdminContactEditorView } from "./features/admin/index";
|
|
2224
2228
|
// AdminReturnRequestsView - Admin return requests queue filtered to RETURN_REQUESTED (LL16).
|
|
@@ -2279,6 +2283,14 @@ export { DashboardStatsGrid } from "./features/admin/index";
|
|
|
2279
2283
|
export { AdminTeamView } from "./features/admin/index";
|
|
2280
2284
|
// AdminEmployeeEditorView - Invite/edit employee permissions SideDrawer.
|
|
2281
2285
|
export { AdminEmployeeEditorView } from "./features/admin/index";
|
|
2286
|
+
// PERMISSION_GROUPS - Preset employee-group -> Permission[] bundles (S-ADMIN-7).
|
|
2287
|
+
export { PERMISSION_GROUPS } from "./features/auth/permissions/constants";
|
|
2288
|
+
// PERMISSION_DOMAINS - Domain label/prefix groupings for the permissions catalog page.
|
|
2289
|
+
export { PERMISSION_DOMAINS } from "./features/auth/permissions/constants";
|
|
2290
|
+
// getPermissionsForDomain - Every distinct permission across PERMISSION_GROUPS matching a domain prefix.
|
|
2291
|
+
export { getPermissionsForDomain } from "./features/auth/permissions/constants";
|
|
2292
|
+
// formatPermLabel - "admin:orders:read" -> "Read" display formatting.
|
|
2293
|
+
export { formatPermLabel } from "./features/auth/permissions/constants";
|
|
2282
2294
|
// AdminSupportTicketsView - Admin support ticket list view.
|
|
2283
2295
|
export { AdminSupportTicketsView } from "./features/admin/index";
|
|
2284
2296
|
// AdminSupportTicketDetailView - Admin support ticket detail/reply SideDrawer.
|
|
@@ -4066,9 +4078,6 @@ export { useMediaTrim } from "./features/media/index";
|
|
|
4066
4078
|
export { useMediaUpload } from "./features/media/index";
|
|
4067
4079
|
// ./features/media/server
|
|
4068
4080
|
// [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
4069
|
-
// extractStoragePathFromUrl - Shared export for extract storage path from url.
|
|
4070
|
-
export { extractStoragePathFromUrl } from "./features/media/server";
|
|
4071
|
-
// [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
4072
4081
|
// finalizeStagedMediaArray - Shared export for finalize staged media array.
|
|
4073
4082
|
export { finalizeStagedMediaArray } from "./features/media/server";
|
|
4074
4083
|
// [SERVER-ONLY]-Server-only â€" uses Node.js, Next.js server internals, or third-party server SDKs (auth, email, payment, shipping).
|
|
@@ -5517,7 +5526,7 @@ export { splitCartIntoOrderGroups } from "./features/orders/index";
|
|
|
5517
5526
|
export { groupOrderItemsByBundle, } from "./features/orders/index";
|
|
5518
5527
|
// -- Missing utils
|
|
5519
5528
|
export { buildSieveFilters } from "./utils/filter.helper";
|
|
5520
|
-
export { formatFileSize } from "./utils/number.formatter";
|
|
5529
|
+
export { formatCurrency, formatFileSize } from "./utils/number.formatter";
|
|
5521
5530
|
export { formatMonthYear } from "./utils/date.formatter";
|
|
5522
5531
|
export { generateMediaFilename } from "./utils/id-generators"; // generateProductImageFilename already exported from "./utils/id-generators";
|
|
5523
5532
|
export { deriveContextTypeFromFilename } from "./utils/id-generators";
|
|
@@ -5646,7 +5655,6 @@ export { getLiveItemForDetail } from "./_internal/server/features/live/data";
|
|
|
5646
5655
|
export { MarketplaceBundleCard } from "./features/products/index";
|
|
5647
5656
|
// ── Wave 4 Seller management views ───────────────────────────────────────────
|
|
5648
5657
|
export { SellerStoreCategoriesView } from "./features/seller/components/SellerStoreCategoriesView";
|
|
5649
|
-
export { SellerTemplatesView } from "./features/seller/components/SellerTemplatesView";
|
|
5650
5658
|
export { SellerPayoutMethodsView } from "./features/seller/components/SellerPayoutMethodsView";
|
|
5651
5659
|
export { SellerShippingConfigsView } from "./features/seller/components/SellerShippingConfigsView";
|
|
5652
5660
|
export { SellerGoogleReviewsView } from "./features/seller/components/SellerGoogleReviewsView";
|
|
@@ -188,17 +188,13 @@ export function createRouteHandler(options) {
|
|
|
188
188
|
: options.permission
|
|
189
189
|
? ["admin", "employee"]
|
|
190
190
|
: [];
|
|
191
|
-
if (effectiveRoles.length > 0) {
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
user.isTester = true;
|
|
196
|
-
user.canTestAdmin = true;
|
|
197
|
-
}
|
|
198
|
-
else {
|
|
199
|
-
return errorJson(403, HTTP_ERROR_CODES.FORBIDDEN, "Insufficient permissions", requestId);
|
|
200
|
-
}
|
|
191
|
+
if (effectiveRoles.length > 0 && (!user || !effectiveRoles.includes(user.role ?? ""))) {
|
|
192
|
+
const testerEligible = await isTesterEligibleForAdminRoute(user, effectiveRoles);
|
|
193
|
+
if (!testerEligible || !user) {
|
|
194
|
+
return errorJson(403, HTTP_ERROR_CODES.FORBIDDEN, "Insufficient permissions", requestId);
|
|
201
195
|
}
|
|
196
|
+
user.isTester = true;
|
|
197
|
+
user.canTestAdmin = true;
|
|
202
198
|
}
|
|
203
199
|
// -- Permission check (employee fine-grained) --------------------------
|
|
204
200
|
if (options.permission && user && !isEffectiveAdminUser(user)) {
|
|
@@ -18,8 +18,9 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
18
18
|
*/
|
|
19
19
|
import { Heading, Text } from "../../ui/components/Typography";
|
|
20
20
|
import { TextLink } from "../../ui/components/TextLink";
|
|
21
|
+
import { SiteMark } from "../../ui/components/SiteMark";
|
|
21
22
|
import { DEFAULT_ROUTE_MAP } from "../routing/route-map";
|
|
22
23
|
import { Stack } from "@mohasinac/appkit";
|
|
23
24
|
export function NotFoundView({ heading = "404 — Page not found", description = "The page you are looking for does not exist.", homeLabel = "Go home", homeHref = DEFAULT_ROUTE_MAP.HOME, }) {
|
|
24
|
-
return (_jsxs(Stack, { justify: "center", className: "min-h-[60vh] text-center", padding: "x-xl", align: "center", children: [_jsx(Heading, { level: 1, variant: "primary", size: "7xl", className: "mb-2", weight: "bold", children: "404" }), _jsx(Heading, { level: 2, className: "mb-3", children: heading }), _jsx(Text, { variant: "secondary", className: "mb-8", children: description }), _jsx(TextLink, { href: homeHref, children: homeLabel })] }));
|
|
25
|
+
return (_jsxs(Stack, { justify: "center", className: "min-h-[60vh] text-center", padding: "x-xl", align: "center", children: [_jsx(SiteMark, { size: "xl" }), _jsx(Heading, { level: 1, variant: "primary", size: "7xl", className: "mb-2", weight: "bold", children: "404" }), _jsx(Heading, { level: 2, className: "mb-3", children: heading }), _jsx(Text, { variant: "secondary", className: "mb-8", children: description }), _jsx(TextLink, { href: homeHref, children: homeLabel })] }));
|
|
25
26
|
}
|
|
@@ -116,6 +116,7 @@ export declare const DEFAULT_ROUTE_MAP: {
|
|
|
116
116
|
readonly CLOSE: "/auth/close";
|
|
117
117
|
};
|
|
118
118
|
readonly USER: {
|
|
119
|
+
readonly DASHBOARD: "/user";
|
|
119
120
|
readonly PROFILE: "/user/profile";
|
|
120
121
|
readonly SETTINGS: "/user/settings";
|
|
121
122
|
readonly ORDERS: "/user/orders";
|
|
@@ -170,9 +171,6 @@ export declare const DEFAULT_ROUTE_MAP: {
|
|
|
170
171
|
readonly COUPONS: "/store/coupons";
|
|
171
172
|
readonly COUPONS_NEW: "/store/coupons/new";
|
|
172
173
|
readonly COUPONS_EDIT: (id: string) => string;
|
|
173
|
-
readonly TEMPLATES: "/store/templates";
|
|
174
|
-
readonly TEMPLATES_NEW: "/store/templates/new";
|
|
175
|
-
readonly TEMPLATES_EDIT: (id: string) => string;
|
|
176
174
|
readonly ANALYTICS: "/store/analytics";
|
|
177
175
|
readonly PAYOUTS: "/store/payouts";
|
|
178
176
|
readonly STOREFRONT: "/store/storefront";
|
|
@@ -214,7 +212,6 @@ export declare const DEFAULT_ROUTE_MAP: {
|
|
|
214
212
|
readonly STICKERS_NEW: "/store/stickers/new";
|
|
215
213
|
readonly STICKERS_EDIT: (id: string) => string;
|
|
216
214
|
readonly PRINT_CENTER: "/store/print-center";
|
|
217
|
-
readonly INVENTORY_PRINT: "/store/inventory/print";
|
|
218
215
|
readonly FULFILLMENT: "/store/fulfillment";
|
|
219
216
|
readonly PAYOUT_METHODS: "/store/payout-methods";
|
|
220
217
|
readonly PAYOUT_METHODS_NEW: "/store/payout-methods/new";
|
|
@@ -338,6 +335,7 @@ export declare const DEFAULT_ROUTE_MAP: {
|
|
|
338
335
|
readonly SETTINGS_ACTIONS: "/admin/settings/actions";
|
|
339
336
|
readonly SETTINGS_NAVIGATION: "/admin/settings/navigation";
|
|
340
337
|
readonly PRINT_CENTER: "/admin/print-center";
|
|
338
|
+
readonly MAINTENANCE: "/admin/maintenance";
|
|
341
339
|
readonly FULFILLMENT: "/admin/fulfillment";
|
|
342
340
|
readonly MODERATION: "/admin/moderation";
|
|
343
341
|
readonly MODERATION_DETAIL: (id: string) => string;
|
|
@@ -477,6 +475,7 @@ export declare const ROUTES: {
|
|
|
477
475
|
readonly CLOSE: "/auth/close";
|
|
478
476
|
};
|
|
479
477
|
readonly USER: {
|
|
478
|
+
readonly DASHBOARD: "/user";
|
|
480
479
|
readonly PROFILE: "/user/profile";
|
|
481
480
|
readonly SETTINGS: "/user/settings";
|
|
482
481
|
readonly ORDERS: "/user/orders";
|
|
@@ -531,9 +530,6 @@ export declare const ROUTES: {
|
|
|
531
530
|
readonly COUPONS: "/store/coupons";
|
|
532
531
|
readonly COUPONS_NEW: "/store/coupons/new";
|
|
533
532
|
readonly COUPONS_EDIT: (id: string) => string;
|
|
534
|
-
readonly TEMPLATES: "/store/templates";
|
|
535
|
-
readonly TEMPLATES_NEW: "/store/templates/new";
|
|
536
|
-
readonly TEMPLATES_EDIT: (id: string) => string;
|
|
537
533
|
readonly ANALYTICS: "/store/analytics";
|
|
538
534
|
readonly PAYOUTS: "/store/payouts";
|
|
539
535
|
readonly STOREFRONT: "/store/storefront";
|
|
@@ -575,7 +571,6 @@ export declare const ROUTES: {
|
|
|
575
571
|
readonly STICKERS_NEW: "/store/stickers/new";
|
|
576
572
|
readonly STICKERS_EDIT: (id: string) => string;
|
|
577
573
|
readonly PRINT_CENTER: "/store/print-center";
|
|
578
|
-
readonly INVENTORY_PRINT: "/store/inventory/print";
|
|
579
574
|
readonly FULFILLMENT: "/store/fulfillment";
|
|
580
575
|
readonly PAYOUT_METHODS: "/store/payout-methods";
|
|
581
576
|
readonly PAYOUT_METHODS_NEW: "/store/payout-methods/new";
|
|
@@ -699,6 +694,7 @@ export declare const ROUTES: {
|
|
|
699
694
|
readonly SETTINGS_ACTIONS: "/admin/settings/actions";
|
|
700
695
|
readonly SETTINGS_NAVIGATION: "/admin/settings/navigation";
|
|
701
696
|
readonly PRINT_CENTER: "/admin/print-center";
|
|
697
|
+
readonly MAINTENANCE: "/admin/maintenance";
|
|
702
698
|
readonly FULFILLMENT: "/admin/fulfillment";
|
|
703
699
|
readonly MODERATION: "/admin/moderation";
|
|
704
700
|
readonly MODERATION_DETAIL: (id: string) => string;
|
|
@@ -749,9 +745,6 @@ export declare const SELLER_ROUTES: {
|
|
|
749
745
|
readonly COUPONS: "/store/coupons";
|
|
750
746
|
readonly COUPONS_NEW: "/store/coupons/new";
|
|
751
747
|
readonly COUPONS_EDIT: (id: string) => string;
|
|
752
|
-
readonly TEMPLATES: "/store/templates";
|
|
753
|
-
readonly TEMPLATES_NEW: "/store/templates/new";
|
|
754
|
-
readonly TEMPLATES_EDIT: (id: string) => string;
|
|
755
748
|
readonly ANALYTICS: "/store/analytics";
|
|
756
749
|
readonly PAYOUTS: "/store/payouts";
|
|
757
750
|
readonly STOREFRONT: "/store/storefront";
|
|
@@ -793,7 +786,6 @@ export declare const SELLER_ROUTES: {
|
|
|
793
786
|
readonly STICKERS_NEW: "/store/stickers/new";
|
|
794
787
|
readonly STICKERS_EDIT: (id: string) => string;
|
|
795
788
|
readonly PRINT_CENTER: "/store/print-center";
|
|
796
|
-
readonly INVENTORY_PRINT: "/store/inventory/print";
|
|
797
789
|
readonly FULFILLMENT: "/store/fulfillment";
|
|
798
790
|
readonly PAYOUT_METHODS: "/store/payout-methods";
|
|
799
791
|
readonly PAYOUT_METHODS_NEW: "/store/payout-methods/new";
|
|
@@ -110,6 +110,7 @@ export const DEFAULT_ROUTE_MAP = {
|
|
|
110
110
|
CLOSE: "/auth/close",
|
|
111
111
|
},
|
|
112
112
|
USER: {
|
|
113
|
+
DASHBOARD: "/user",
|
|
113
114
|
PROFILE: "/user/profile",
|
|
114
115
|
SETTINGS: "/user/settings",
|
|
115
116
|
ORDERS: "/user/orders",
|
|
@@ -164,9 +165,6 @@ export const DEFAULT_ROUTE_MAP = {
|
|
|
164
165
|
COUPONS: "/store/coupons",
|
|
165
166
|
COUPONS_NEW: "/store/coupons/new",
|
|
166
167
|
COUPONS_EDIT: (id) => `/store/coupons/${id}/edit`,
|
|
167
|
-
TEMPLATES: "/store/templates",
|
|
168
|
-
TEMPLATES_NEW: "/store/templates/new",
|
|
169
|
-
TEMPLATES_EDIT: (id) => `/store/templates/${id}/edit`,
|
|
170
168
|
ANALYTICS: "/store/analytics",
|
|
171
169
|
PAYOUTS: "/store/payouts",
|
|
172
170
|
STOREFRONT: "/store/storefront",
|
|
@@ -211,7 +209,6 @@ export const DEFAULT_ROUTE_MAP = {
|
|
|
211
209
|
STICKERS_NEW: "/store/stickers/new",
|
|
212
210
|
STICKERS_EDIT: (id) => `/store/stickers/${id}/edit`,
|
|
213
211
|
PRINT_CENTER: "/store/print-center",
|
|
214
|
-
INVENTORY_PRINT: "/store/inventory/print",
|
|
215
212
|
FULFILLMENT: "/store/fulfillment",
|
|
216
213
|
// S-STORE Tier — new extension routes
|
|
217
214
|
PAYOUT_METHODS: "/store/payout-methods",
|
|
@@ -340,6 +337,7 @@ export const DEFAULT_ROUTE_MAP = {
|
|
|
340
337
|
SETTINGS_ACTIONS: "/admin/settings/actions",
|
|
341
338
|
SETTINGS_NAVIGATION: "/admin/settings/navigation",
|
|
342
339
|
PRINT_CENTER: "/admin/print-center",
|
|
340
|
+
MAINTENANCE: "/admin/maintenance",
|
|
343
341
|
FULFILLMENT: "/admin/fulfillment",
|
|
344
342
|
// S-STORE Tier — admin moderation + reports + item requests
|
|
345
343
|
MODERATION: "/admin/moderation",
|
|
@@ -16,6 +16,7 @@ import type { Auth } from "firebase-admin/auth";
|
|
|
16
16
|
import type { Firestore } from "firebase-admin/firestore";
|
|
17
17
|
import type { Storage } from "firebase-admin/storage";
|
|
18
18
|
import type { Database } from "firebase-admin/database";
|
|
19
|
+
export declare function parsePrivateKey(raw: string): string;
|
|
19
20
|
declare global {
|
|
20
21
|
var __mohasinac_firebase_admin_app__: App | null | undefined;
|
|
21
22
|
var __mohasinac_firebase_admin_auth__: Auth | null | undefined;
|
|
@@ -35,7 +35,7 @@ function loadDatabase() {
|
|
|
35
35
|
// OpenSSL 3 (Node 18+) rejects malformed PEM — ensure the key is normalised
|
|
36
36
|
// before passing it to `cert()`.
|
|
37
37
|
//
|
|
38
|
-
function parsePrivateKey(raw) {
|
|
38
|
+
export function parsePrivateKey(raw) {
|
|
39
39
|
return raw
|
|
40
40
|
.replace(/^/, "") // strip UTF-8 BOM (PowerShell pipe artefact)
|
|
41
41
|
.replace(/^["']|["']$/g, "") // strip optional surrounding quotes
|
|
@@ -3947,10 +3947,10 @@ export declare const SCHEMAS: {
|
|
|
3947
3947
|
shippingPolicy?: string | undefined;
|
|
3948
3948
|
isVacationMode?: boolean | undefined;
|
|
3949
3949
|
vacationMessage?: string | undefined;
|
|
3950
|
+
capabilities?: string[] | undefined;
|
|
3950
3951
|
vacationReturnDate?: string | Date | import("zod").objectOutputType<{
|
|
3951
3952
|
toDate: import("zod").ZodFunction<import("zod").ZodTuple<[], import("zod").ZodUnknown>, import("zod").ZodDate>;
|
|
3952
3953
|
}, import("zod").ZodTypeAny, "passthrough"> | undefined;
|
|
3953
|
-
capabilities?: string[] | undefined;
|
|
3954
3954
|
customCommissionRate?: number | undefined;
|
|
3955
3955
|
googleReviews?: {
|
|
3956
3956
|
enabled: boolean;
|
|
@@ -4032,10 +4032,10 @@ export declare const SCHEMAS: {
|
|
|
4032
4032
|
shippingPolicy?: string | undefined;
|
|
4033
4033
|
isVacationMode?: boolean | undefined;
|
|
4034
4034
|
vacationMessage?: string | undefined;
|
|
4035
|
+
capabilities?: string[] | undefined;
|
|
4035
4036
|
vacationReturnDate?: string | Date | import("zod").objectInputType<{
|
|
4036
4037
|
toDate: import("zod").ZodFunction<import("zod").ZodTuple<[], import("zod").ZodUnknown>, import("zod").ZodDate>;
|
|
4037
4038
|
}, import("zod").ZodTypeAny, "passthrough"> | undefined;
|
|
4038
|
-
capabilities?: string[] | undefined;
|
|
4039
4039
|
customCommissionRate?: number | undefined;
|
|
4040
4040
|
googleReviews?: {
|
|
4041
4041
|
enabled: boolean;
|
|
@@ -20,38 +20,38 @@
|
|
|
20
20
|
const NOW = new Date();
|
|
21
21
|
const daysAgo = (n) => new Date(NOW.getTime() - n * 86400000);
|
|
22
22
|
const _rawAddressesSeedData = [
|
|
23
|
-
//
|
|
23
|
+
// Mock User 3 — Home
|
|
24
24
|
{
|
|
25
25
|
id: "addr-yugi-home",
|
|
26
26
|
ownerType: "user",
|
|
27
27
|
ownerId: "user-yugi-muto",
|
|
28
28
|
label: "Home",
|
|
29
|
-
fullName: "
|
|
29
|
+
fullName: "Mock User 3",
|
|
30
30
|
phone: "+91-99999-10001",
|
|
31
|
-
addressLine1: "123
|
|
32
|
-
addressLine2: "
|
|
33
|
-
city: "
|
|
34
|
-
state: "
|
|
35
|
-
postalCode: "
|
|
36
|
-
country: "
|
|
31
|
+
addressLine1: "123 Stadium Lane",
|
|
32
|
+
addressLine2: "Vijay Nagar",
|
|
33
|
+
city: "Indore",
|
|
34
|
+
state: "Madhya Pradesh",
|
|
35
|
+
postalCode: "452010",
|
|
36
|
+
country: "India",
|
|
37
37
|
isDefault: true,
|
|
38
38
|
createdAt: daysAgo(180),
|
|
39
39
|
updatedAt: daysAgo(1),
|
|
40
40
|
},
|
|
41
|
-
//
|
|
41
|
+
// Mock User 2 — Home
|
|
42
42
|
{
|
|
43
43
|
id: "addr-kaiba-mansion",
|
|
44
44
|
ownerType: "user",
|
|
45
45
|
ownerId: "user-seto-kaiba",
|
|
46
|
-
label: "
|
|
47
|
-
fullName: "
|
|
46
|
+
label: "Home",
|
|
47
|
+
fullName: "Mock User 2",
|
|
48
48
|
phone: "+91-99999-20001",
|
|
49
|
-
addressLine1: "1000
|
|
50
|
-
addressLine2: "
|
|
51
|
-
city: "
|
|
52
|
-
state: "
|
|
53
|
-
postalCode: "
|
|
54
|
-
country: "
|
|
49
|
+
addressLine1: "1000 Civil Lines Drive",
|
|
50
|
+
addressLine2: "Sitabuldi",
|
|
51
|
+
city: "Nagpur",
|
|
52
|
+
state: "Maharashtra",
|
|
53
|
+
postalCode: "440012",
|
|
54
|
+
country: "India",
|
|
55
55
|
isDefault: true,
|
|
56
56
|
createdAt: daysAgo(200),
|
|
57
57
|
updatedAt: daysAgo(10),
|
|
@@ -62,7 +62,7 @@ const _rawAddressesSeedData = [
|
|
|
62
62
|
ownerType: "user",
|
|
63
63
|
ownerId: "user-admin-letitrip",
|
|
64
64
|
label: "LetItRip HQ",
|
|
65
|
-
fullName: "
|
|
65
|
+
fullName: "Mock User 1",
|
|
66
66
|
phone: "+91-99999-30001",
|
|
67
67
|
addressLine1: "100 Collectibles Plaza",
|
|
68
68
|
addressLine2: "Mumbai Central",
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* auction-beyblade-metal-lightning-l-drago) — bid counts and final amounts match
|
|
6
6
|
* each auction's `bidCount`/`currentBid` fields exactly, so the product card's
|
|
7
7
|
* "N bids" summary and the detail page's bid-history list agree. Bidders: 3 buyer
|
|
8
|
-
* personas (
|
|
8
|
+
* personas (Mock User 11, Mock User 14, Mock User 9), never the store's own seller
|
|
9
9
|
* (user-tyson-blader owns store-beyblade-arena). Status: newest bid per auction is
|
|
10
10
|
* "active", the rest "outbid". Bid IDs: bid-{productSlug}-{userName}-{YYYYMMDD}-{rand6}.
|
|
11
11
|
*
|
|
@@ -28,9 +28,9 @@ const BIDDER_EMAILS = {
|
|
|
28
28
|
"user-ananya-collector": "ananya.patel@gmail.com",
|
|
29
29
|
};
|
|
30
30
|
const BIDDER_NAMES = {
|
|
31
|
-
"user-meera-bey": "
|
|
32
|
-
"user-rohit-collector": "
|
|
33
|
-
"user-ananya-collector": "
|
|
31
|
+
"user-meera-bey": "Mock User 11",
|
|
32
|
+
"user-rohit-collector": "Mock User 14",
|
|
33
|
+
"user-ananya-collector": "Mock User 9",
|
|
34
34
|
};
|
|
35
35
|
function withBidDefaults(b) {
|
|
36
36
|
return {
|