@rovela-ai/sdk 0.1.2 → 0.1.4
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/admin/api/auth.d.ts +32 -0
- package/dist/admin/api/auth.d.ts.map +1 -0
- package/dist/admin/api/auth.js +43 -0
- package/dist/admin/api/auth.js.map +1 -0
- package/dist/admin/api/categories.d.ts +68 -0
- package/dist/admin/api/categories.d.ts.map +1 -0
- package/dist/admin/api/categories.js +247 -0
- package/dist/admin/api/categories.js.map +1 -0
- package/dist/admin/api/customers.d.ts +41 -0
- package/dist/admin/api/customers.d.ts.map +1 -0
- package/dist/admin/api/customers.js +113 -0
- package/dist/admin/api/customers.js.map +1 -0
- package/dist/admin/api/index.d.ts +56 -0
- package/dist/admin/api/index.d.ts.map +1 -0
- package/dist/admin/api/index.js +87 -0
- package/dist/admin/api/index.js.map +1 -0
- package/dist/admin/api/orders.d.ts +59 -0
- package/dist/admin/api/orders.d.ts.map +1 -0
- package/dist/admin/api/orders.js +209 -0
- package/dist/admin/api/orders.js.map +1 -0
- package/dist/admin/api/products.d.ts +103 -0
- package/dist/admin/api/products.d.ts.map +1 -0
- package/dist/admin/api/products.js +329 -0
- package/dist/admin/api/products.js.map +1 -0
- package/dist/admin/api/refund.d.ts +29 -0
- package/dist/admin/api/refund.d.ts.map +1 -0
- package/dist/admin/api/refund.js +136 -0
- package/dist/admin/api/refund.js.map +1 -0
- package/dist/admin/api/stats.d.ts +40 -0
- package/dist/admin/api/stats.d.ts.map +1 -0
- package/dist/admin/api/stats.js +74 -0
- package/dist/admin/api/stats.js.map +1 -0
- package/dist/admin/components/AdminGuard.d.ts +40 -0
- package/dist/admin/components/AdminGuard.d.ts.map +1 -0
- package/dist/admin/components/AdminGuard.js +97 -0
- package/dist/admin/components/AdminGuard.js.map +1 -0
- package/dist/admin/components/AdminHeader.d.ts +18 -0
- package/dist/admin/components/AdminHeader.d.ts.map +1 -0
- package/dist/admin/components/AdminHeader.js +33 -0
- package/dist/admin/components/AdminHeader.js.map +1 -0
- package/dist/admin/components/AdminLayout.d.ts +50 -0
- package/dist/admin/components/AdminLayout.d.ts.map +1 -0
- package/dist/admin/components/AdminLayout.js +46 -0
- package/dist/admin/components/AdminLayout.js.map +1 -0
- package/dist/admin/components/AdminLoginForm.d.ts +18 -0
- package/dist/admin/components/AdminLoginForm.d.ts.map +1 -0
- package/dist/admin/components/AdminLoginForm.js +58 -0
- package/dist/admin/components/AdminLoginForm.js.map +1 -0
- package/dist/admin/components/AdminNav.d.ts +34 -0
- package/dist/admin/components/AdminNav.d.ts.map +1 -0
- package/dist/admin/components/AdminNav.js +61 -0
- package/dist/admin/components/AdminNav.js.map +1 -0
- package/dist/admin/components/InventoryEditor.d.ts +15 -0
- package/dist/admin/components/InventoryEditor.d.ts.map +1 -0
- package/dist/admin/components/InventoryEditor.js +83 -0
- package/dist/admin/components/InventoryEditor.js.map +1 -0
- package/dist/admin/components/LowStockAlert.d.ts +11 -0
- package/dist/admin/components/LowStockAlert.d.ts.map +1 -0
- package/dist/admin/components/LowStockAlert.js +35 -0
- package/dist/admin/components/LowStockAlert.js.map +1 -0
- package/dist/admin/components/OrderDetails.d.ts +14 -0
- package/dist/admin/components/OrderDetails.d.ts.map +1 -0
- package/dist/admin/components/OrderDetails.js +94 -0
- package/dist/admin/components/OrderDetails.js.map +1 -0
- package/dist/admin/components/OrderTable.d.ts +13 -0
- package/dist/admin/components/OrderTable.d.ts.map +1 -0
- package/dist/admin/components/OrderTable.js +89 -0
- package/dist/admin/components/OrderTable.js.map +1 -0
- package/dist/admin/components/ProductForm.d.ts +18 -0
- package/dist/admin/components/ProductForm.d.ts.map +1 -0
- package/dist/admin/components/ProductForm.js +127 -0
- package/dist/admin/components/ProductForm.js.map +1 -0
- package/dist/admin/components/ProductTable.d.ts +13 -0
- package/dist/admin/components/ProductTable.d.ts.map +1 -0
- package/dist/admin/components/ProductTable.js +81 -0
- package/dist/admin/components/ProductTable.js.map +1 -0
- package/dist/admin/components/RecentOrders.d.ts +11 -0
- package/dist/admin/components/RecentOrders.d.ts.map +1 -0
- package/dist/admin/components/RecentOrders.js +58 -0
- package/dist/admin/components/RecentOrders.js.map +1 -0
- package/dist/admin/components/RefundDialog.d.ts +17 -0
- package/dist/admin/components/RefundDialog.d.ts.map +1 -0
- package/dist/admin/components/RefundDialog.js +86 -0
- package/dist/admin/components/RefundDialog.js.map +1 -0
- package/dist/admin/components/StatsCards.d.ts +23 -0
- package/dist/admin/components/StatsCards.d.ts.map +1 -0
- package/dist/admin/components/StatsCards.js +82 -0
- package/dist/admin/components/StatsCards.js.map +1 -0
- package/dist/admin/components/StoreSettings.d.ts +14 -0
- package/dist/admin/components/StoreSettings.d.ts.map +1 -0
- package/dist/admin/components/StoreSettings.js +88 -0
- package/dist/admin/components/StoreSettings.js.map +1 -0
- package/dist/admin/components/index.d.ts +21 -0
- package/dist/admin/components/index.d.ts.map +1 -0
- package/dist/admin/components/index.js +57 -0
- package/dist/admin/components/index.js.map +1 -0
- package/dist/admin/config.d.ts +74 -0
- package/dist/admin/config.d.ts.map +1 -0
- package/dist/admin/config.js +229 -0
- package/dist/admin/config.js.map +1 -0
- package/dist/admin/hooks/index.d.ts +10 -0
- package/dist/admin/hooks/index.d.ts.map +1 -0
- package/dist/admin/hooks/index.js +17 -0
- package/dist/admin/hooks/index.js.map +1 -0
- package/dist/admin/hooks/useAdminOrders.d.ts +41 -0
- package/dist/admin/hooks/useAdminOrders.d.ts.map +1 -0
- package/dist/admin/hooks/useAdminOrders.js +191 -0
- package/dist/admin/hooks/useAdminOrders.js.map +1 -0
- package/dist/admin/hooks/useAdminProducts.d.ts +39 -0
- package/dist/admin/hooks/useAdminProducts.d.ts.map +1 -0
- package/dist/admin/hooks/useAdminProducts.js +235 -0
- package/dist/admin/hooks/useAdminProducts.js.map +1 -0
- package/dist/admin/hooks/useAdminStats.d.ts +50 -0
- package/dist/admin/hooks/useAdminStats.d.ts.map +1 -0
- package/dist/admin/hooks/useAdminStats.js +111 -0
- package/dist/admin/hooks/useAdminStats.js.map +1 -0
- package/dist/admin/index.d.ts +63 -0
- package/dist/admin/index.d.ts.map +1 -0
- package/dist/admin/index.js +148 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/server/admin-service.d.ts +130 -0
- package/dist/admin/server/admin-service.d.ts.map +1 -0
- package/dist/admin/server/admin-service.js +298 -0
- package/dist/admin/server/admin-service.js.map +1 -0
- package/dist/admin/server/index.d.ts +8 -0
- package/dist/admin/server/index.d.ts.map +1 -0
- package/dist/admin/server/index.js +25 -0
- package/dist/admin/server/index.js.map +1 -0
- package/dist/admin/types.d.ts +549 -0
- package/dist/admin/types.d.ts.map +1 -0
- package/dist/admin/types.js +11 -0
- package/dist/admin/types.js.map +1 -0
- package/dist/auth/api/auth.d.ts +54 -0
- package/dist/auth/api/auth.d.ts.map +1 -0
- package/dist/auth/api/auth.js +67 -0
- package/dist/auth/api/auth.js.map +1 -0
- package/dist/auth/api/forgot-password.d.ts +41 -0
- package/dist/auth/api/forgot-password.d.ts.map +1 -0
- package/dist/auth/api/forgot-password.js +68 -0
- package/dist/auth/api/forgot-password.js.map +1 -0
- package/dist/auth/api/index.d.ts +34 -0
- package/dist/auth/api/index.d.ts.map +1 -0
- package/dist/auth/api/index.js +52 -0
- package/dist/auth/api/index.js.map +1 -0
- package/dist/auth/api/register.d.ts +41 -0
- package/dist/auth/api/register.d.ts.map +1 -0
- package/dist/auth/api/register.js +93 -0
- package/dist/auth/api/register.js.map +1 -0
- package/dist/auth/api/resend-verification.d.ts +41 -0
- package/dist/auth/api/resend-verification.d.ts.map +1 -0
- package/dist/auth/api/resend-verification.js +71 -0
- package/dist/auth/api/resend-verification.js.map +1 -0
- package/dist/auth/api/reset-password.d.ts +67 -0
- package/dist/auth/api/reset-password.d.ts.map +1 -0
- package/dist/auth/api/reset-password.js +110 -0
- package/dist/auth/api/reset-password.js.map +1 -0
- package/dist/auth/api/verify-email.d.ts +47 -0
- package/dist/auth/api/verify-email.d.ts.map +1 -0
- package/dist/auth/api/verify-email.js +94 -0
- package/dist/auth/api/verify-email.js.map +1 -0
- package/dist/auth/components/AuthGuard.d.ts +52 -0
- package/dist/auth/components/AuthGuard.d.ts.map +1 -0
- package/dist/auth/components/AuthGuard.js +113 -0
- package/dist/auth/components/AuthGuard.js.map +1 -0
- package/dist/auth/components/ForgotPasswordForm.d.ts +15 -0
- package/dist/auth/components/ForgotPasswordForm.d.ts.map +1 -0
- package/dist/auth/components/ForgotPasswordForm.js +44 -0
- package/dist/auth/components/ForgotPasswordForm.js.map +1 -0
- package/dist/auth/components/ResetPasswordForm.d.ts +18 -0
- package/dist/auth/components/ResetPasswordForm.d.ts.map +1 -0
- package/dist/auth/components/ResetPasswordForm.js +88 -0
- package/dist/auth/components/ResetPasswordForm.js.map +1 -0
- package/dist/auth/components/SignInForm.d.ts +21 -0
- package/dist/auth/components/SignInForm.d.ts.map +1 -0
- package/dist/auth/components/SignInForm.js +63 -0
- package/dist/auth/components/SignInForm.js.map +1 -0
- package/dist/auth/components/SignUpForm.d.ts +18 -0
- package/dist/auth/components/SignUpForm.d.ts.map +1 -0
- package/dist/auth/components/SignUpForm.js +79 -0
- package/dist/auth/components/SignUpForm.js.map +1 -0
- package/dist/auth/components/UserMenu.d.ts +18 -0
- package/dist/auth/components/UserMenu.d.ts.map +1 -0
- package/dist/auth/components/UserMenu.js +75 -0
- package/dist/auth/components/UserMenu.js.map +1 -0
- package/dist/auth/components/VerifyEmailNotice.d.ts +20 -0
- package/dist/auth/components/VerifyEmailNotice.d.ts.map +1 -0
- package/dist/auth/components/VerifyEmailNotice.js +59 -0
- package/dist/auth/components/VerifyEmailNotice.js.map +1 -0
- package/dist/auth/components/index.d.ts +13 -0
- package/dist/auth/components/index.d.ts.map +1 -0
- package/dist/auth/components/index.js +24 -0
- package/dist/auth/components/index.js.map +1 -0
- package/dist/auth/config.d.ts +42 -0
- package/dist/auth/config.d.ts.map +1 -0
- package/dist/auth/config.js +174 -0
- package/dist/auth/config.js.map +1 -0
- package/dist/auth/hooks/index.d.ts +7 -0
- package/dist/auth/hooks/index.d.ts.map +1 -0
- package/dist/auth/hooks/index.js +11 -0
- package/dist/auth/hooks/index.js.map +1 -0
- package/dist/auth/index.d.ts +54 -0
- package/dist/auth/index.d.ts.map +1 -0
- package/dist/auth/index.js +88 -0
- package/dist/auth/index.js.map +1 -0
- package/dist/auth/server/customer-service.d.ts +138 -0
- package/dist/auth/server/customer-service.d.ts.map +1 -0
- package/dist/auth/server/customer-service.js +309 -0
- package/dist/auth/server/customer-service.js.map +1 -0
- package/dist/auth/server/email-sender.d.ts +64 -0
- package/dist/auth/server/email-sender.d.ts.map +1 -0
- package/dist/auth/server/email-sender.js +112 -0
- package/dist/auth/server/email-sender.js.map +1 -0
- package/dist/auth/server/index.d.ts +13 -0
- package/dist/auth/server/index.d.ts.map +1 -0
- package/dist/auth/server/index.js +48 -0
- package/dist/auth/server/index.js.map +1 -0
- package/dist/auth/server/password-reset-service.d.ts +86 -0
- package/dist/auth/server/password-reset-service.d.ts.map +1 -0
- package/dist/auth/server/password-reset-service.js +236 -0
- package/dist/auth/server/password-reset-service.js.map +1 -0
- package/dist/auth/server/password.d.ts +58 -0
- package/dist/auth/server/password.d.ts.map +1 -0
- package/dist/auth/server/password.js +94 -0
- package/dist/auth/server/password.js.map +1 -0
- package/dist/auth/server/verification-service.d.ts +87 -0
- package/dist/auth/server/verification-service.d.ts.map +1 -0
- package/dist/auth/server/verification-service.js +268 -0
- package/dist/auth/server/verification-service.js.map +1 -0
- package/dist/auth/types.d.ts +305 -0
- package/dist/auth/types.d.ts.map +1 -0
- package/dist/auth/types.js +8 -0
- package/dist/auth/types.js.map +1 -0
- package/dist/cart/CartProvider.d.ts +65 -0
- package/dist/cart/CartProvider.d.ts.map +1 -0
- package/dist/cart/CartProvider.js +101 -0
- package/dist/cart/CartProvider.js.map +1 -0
- package/dist/cart/components/AddToCartButton.d.ts +77 -0
- package/dist/cart/components/AddToCartButton.d.ts.map +1 -0
- package/dist/cart/components/AddToCartButton.js +124 -0
- package/dist/cart/components/AddToCartButton.js.map +1 -0
- package/dist/cart/components/CartDrawer.d.ts +71 -0
- package/dist/cart/components/CartDrawer.d.ts.map +1 -0
- package/dist/cart/components/CartDrawer.js +108 -0
- package/dist/cart/components/CartDrawer.js.map +1 -0
- package/dist/cart/components/CartIcon.d.ts +36 -0
- package/dist/cart/components/CartIcon.d.ts.map +1 -0
- package/dist/cart/components/CartIcon.js +70 -0
- package/dist/cart/components/CartIcon.js.map +1 -0
- package/dist/cart/components/CartItem.d.ts +52 -0
- package/dist/cart/components/CartItem.d.ts.map +1 -0
- package/dist/cart/components/CartItem.js +55 -0
- package/dist/cart/components/CartItem.js.map +1 -0
- package/dist/cart/components/CartSummary.d.ts +43 -0
- package/dist/cart/components/CartSummary.d.ts.map +1 -0
- package/dist/cart/components/CartSummary.js +58 -0
- package/dist/cart/components/CartSummary.js.map +1 -0
- package/dist/cart/components/QuantitySelector.d.ts +39 -0
- package/dist/cart/components/QuantitySelector.d.ts.map +1 -0
- package/dist/cart/components/QuantitySelector.js +87 -0
- package/dist/cart/components/QuantitySelector.js.map +1 -0
- package/dist/cart/components/index.d.ts +18 -0
- package/dist/cart/components/index.d.ts.map +1 -0
- package/dist/cart/components/index.js +21 -0
- package/dist/cart/components/index.js.map +1 -0
- package/dist/cart/index.d.ts +109 -0
- package/dist/cart/index.d.ts.map +1 -0
- package/dist/cart/index.js +129 -0
- package/dist/cart/index.js.map +1 -0
- package/dist/cart/store.d.ts +101 -0
- package/dist/cart/store.d.ts.map +1 -0
- package/dist/cart/store.js +207 -0
- package/dist/cart/store.js.map +1 -0
- package/dist/checkout/api/checkout.d.ts +31 -0
- package/dist/checkout/api/checkout.d.ts.map +1 -0
- package/dist/checkout/api/checkout.js +103 -0
- package/dist/checkout/api/checkout.js.map +1 -0
- package/dist/checkout/api/index.d.ts +8 -0
- package/dist/checkout/api/index.d.ts.map +1 -0
- package/dist/checkout/api/index.js +13 -0
- package/dist/checkout/api/index.js.map +1 -0
- package/dist/checkout/api/webhook.d.ts +30 -0
- package/dist/checkout/api/webhook.d.ts.map +1 -0
- package/dist/checkout/api/webhook.js +58 -0
- package/dist/checkout/api/webhook.js.map +1 -0
- package/dist/checkout/components/CheckoutButton.d.ts +44 -0
- package/dist/checkout/components/CheckoutButton.d.ts.map +1 -0
- package/dist/checkout/components/CheckoutButton.js +97 -0
- package/dist/checkout/components/CheckoutButton.js.map +1 -0
- package/dist/checkout/components/CheckoutSuccess.d.ts +29 -0
- package/dist/checkout/components/CheckoutSuccess.d.ts.map +1 -0
- package/dist/checkout/components/CheckoutSuccess.js +60 -0
- package/dist/checkout/components/CheckoutSuccess.js.map +1 -0
- package/dist/checkout/components/OrderSummary.d.ts +37 -0
- package/dist/checkout/components/OrderSummary.d.ts.map +1 -0
- package/dist/checkout/components/OrderSummary.js +70 -0
- package/dist/checkout/components/OrderSummary.js.map +1 -0
- package/dist/checkout/components/ShippingForm.d.ts +30 -0
- package/dist/checkout/components/ShippingForm.d.ts.map +1 -0
- package/dist/checkout/components/ShippingForm.js +125 -0
- package/dist/checkout/components/ShippingForm.js.map +1 -0
- package/dist/checkout/components/index.d.ts +10 -0
- package/dist/checkout/components/index.d.ts.map +1 -0
- package/dist/checkout/components/index.js +17 -0
- package/dist/checkout/components/index.js.map +1 -0
- package/dist/checkout/hooks/index.d.ts +7 -0
- package/dist/checkout/hooks/index.d.ts.map +1 -0
- package/dist/checkout/hooks/index.js +12 -0
- package/dist/checkout/hooks/index.js.map +1 -0
- package/dist/checkout/hooks/useCheckout.d.ts +61 -0
- package/dist/checkout/hooks/useCheckout.d.ts.map +1 -0
- package/dist/checkout/hooks/useCheckout.js +174 -0
- package/dist/checkout/hooks/useCheckout.js.map +1 -0
- package/dist/checkout/index.d.ts +111 -0
- package/dist/checkout/index.d.ts.map +1 -0
- package/dist/checkout/index.js +148 -0
- package/dist/checkout/index.js.map +1 -0
- package/dist/checkout/server/create-checkout-session.d.ts +69 -0
- package/dist/checkout/server/create-checkout-session.d.ts.map +1 -0
- package/dist/checkout/server/create-checkout-session.js +190 -0
- package/dist/checkout/server/create-checkout-session.js.map +1 -0
- package/dist/checkout/server/handle-webhook.d.ts +35 -0
- package/dist/checkout/server/handle-webhook.d.ts.map +1 -0
- package/dist/checkout/server/handle-webhook.js +279 -0
- package/dist/checkout/server/handle-webhook.js.map +1 -0
- package/dist/checkout/server/index.d.ts +10 -0
- package/dist/checkout/server/index.d.ts.map +1 -0
- package/dist/checkout/server/index.js +19 -0
- package/dist/checkout/server/index.js.map +1 -0
- package/dist/checkout/server/order-service.d.ts +43 -0
- package/dist/checkout/server/order-service.d.ts.map +1 -0
- package/dist/checkout/server/order-service.js +196 -0
- package/dist/checkout/server/order-service.js.map +1 -0
- package/dist/checkout/stripe/client.d.ts +72 -0
- package/dist/checkout/stripe/client.d.ts.map +1 -0
- package/dist/checkout/stripe/client.js +189 -0
- package/dist/checkout/stripe/client.js.map +1 -0
- package/dist/checkout/stripe/index.d.ts +7 -0
- package/dist/checkout/stripe/index.d.ts.map +1 -0
- package/dist/checkout/stripe/index.js +21 -0
- package/dist/checkout/stripe/index.js.map +1 -0
- package/dist/checkout/types.d.ts +263 -0
- package/dist/checkout/types.d.ts.map +1 -0
- package/dist/checkout/types.js +9 -0
- package/dist/checkout/types.js.map +1 -0
- package/dist/core/config.d.ts +296 -0
- package/dist/core/config.d.ts.map +1 -0
- package/dist/core/config.js +162 -0
- package/dist/core/config.js.map +1 -0
- package/dist/core/db/client.d.ts +69 -0
- package/dist/core/db/client.d.ts.map +1 -0
- package/dist/core/db/client.js +202 -0
- package/dist/core/db/client.js.map +1 -0
- package/dist/core/db/index.d.ts +11 -0
- package/dist/core/db/index.d.ts.map +1 -0
- package/dist/core/db/index.js +109 -0
- package/dist/core/db/index.js.map +1 -0
- package/dist/core/db/queries.d.ts +627 -0
- package/dist/core/db/queries.d.ts.map +1 -0
- package/dist/core/db/queries.js +730 -0
- package/dist/core/db/queries.js.map +1 -0
- package/dist/core/db/schema.d.ts +1628 -0
- package/dist/core/db/schema.d.ts.map +1 -0
- package/dist/core/db/schema.js +262 -0
- package/dist/core/db/schema.js.map +1 -0
- package/dist/core/index.d.ts +20 -0
- package/dist/core/index.d.ts.map +1 -0
- package/dist/core/index.js +71 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/server/index.d.ts +17 -0
- package/dist/core/server/index.d.ts.map +1 -0
- package/dist/core/server/index.js +96 -0
- package/dist/core/server/index.js.map +1 -0
- package/dist/core/types.d.ts +230 -0
- package/dist/core/types.d.ts.map +1 -0
- package/dist/core/types.js +9 -0
- package/dist/core/types.js.map +1 -0
- package/dist/core/utils.d.ts +153 -0
- package/dist/core/utils.d.ts.map +1 -0
- package/dist/core/utils.js +356 -0
- package/dist/core/utils.js.map +1 -0
- package/dist/emails/config.d.ts +42 -0
- package/dist/emails/config.d.ts.map +1 -0
- package/dist/emails/config.js +89 -0
- package/dist/emails/config.js.map +1 -0
- package/dist/emails/index.d.ts +85 -0
- package/dist/emails/index.d.ts.map +1 -0
- package/dist/emails/index.js +170 -0
- package/dist/emails/index.js.map +1 -0
- package/dist/emails/send/auth.d.ts +91 -0
- package/dist/emails/send/auth.d.ts.map +1 -0
- package/dist/emails/send/auth.js +132 -0
- package/dist/emails/send/auth.js.map +1 -0
- package/dist/emails/send/index.d.ts +10 -0
- package/dist/emails/send/index.d.ts.map +1 -0
- package/dist/emails/send/index.js +33 -0
- package/dist/emails/send/index.js.map +1 -0
- package/dist/emails/send/orders.d.ts +180 -0
- package/dist/emails/send/orders.d.ts.map +1 -0
- package/dist/emails/send/orders.js +259 -0
- package/dist/emails/send/orders.js.map +1 -0
- package/dist/emails/sender.d.ts +72 -0
- package/dist/emails/sender.d.ts.map +1 -0
- package/dist/emails/sender.js +118 -0
- package/dist/emails/sender.js.map +1 -0
- package/dist/emails/templates/base.d.ts +105 -0
- package/dist/emails/templates/base.d.ts.map +1 -0
- package/dist/emails/templates/base.js +291 -0
- package/dist/emails/templates/base.js.map +1 -0
- package/dist/emails/templates/email-verification.d.ts +28 -0
- package/dist/emails/templates/email-verification.d.ts.map +1 -0
- package/dist/emails/templates/email-verification.js +56 -0
- package/dist/emails/templates/email-verification.js.map +1 -0
- package/dist/emails/templates/index.d.ts +15 -0
- package/dist/emails/templates/index.d.ts.map +1 -0
- package/dist/emails/templates/index.js +58 -0
- package/dist/emails/templates/index.js.map +1 -0
- package/dist/emails/templates/order-cancelled.d.ts +30 -0
- package/dist/emails/templates/order-cancelled.d.ts.map +1 -0
- package/dist/emails/templates/order-cancelled.js +87 -0
- package/dist/emails/templates/order-cancelled.js.map +1 -0
- package/dist/emails/templates/order-confirmation.d.ts +36 -0
- package/dist/emails/templates/order-confirmation.d.ts.map +1 -0
- package/dist/emails/templates/order-confirmation.js +161 -0
- package/dist/emails/templates/order-confirmation.js.map +1 -0
- package/dist/emails/templates/order-delivered.d.ts +31 -0
- package/dist/emails/templates/order-delivered.d.ts.map +1 -0
- package/dist/emails/templates/order-delivered.js +95 -0
- package/dist/emails/templates/order-delivered.js.map +1 -0
- package/dist/emails/templates/order-shipped.d.ts +32 -0
- package/dist/emails/templates/order-shipped.d.ts.map +1 -0
- package/dist/emails/templates/order-shipped.js +87 -0
- package/dist/emails/templates/order-shipped.js.map +1 -0
- package/dist/emails/templates/password-reset.d.ts +27 -0
- package/dist/emails/templates/password-reset.d.ts.map +1 -0
- package/dist/emails/templates/password-reset.js +55 -0
- package/dist/emails/templates/password-reset.js.map +1 -0
- package/dist/emails/templates/refund-processed.d.ts +32 -0
- package/dist/emails/templates/refund-processed.d.ts.map +1 -0
- package/dist/emails/templates/refund-processed.js +96 -0
- package/dist/emails/templates/refund-processed.js.map +1 -0
- package/dist/emails/templates/welcome.d.ts +27 -0
- package/dist/emails/templates/welcome.d.ts.map +1 -0
- package/dist/emails/templates/welcome.js +56 -0
- package/dist/emails/templates/welcome.js.map +1 -0
- package/dist/emails/types.d.ts +202 -0
- package/dist/emails/types.d.ts.map +1 -0
- package/dist/emails/types.js +8 -0
- package/dist/emails/types.js.map +1 -0
- package/dist/emails/utils.d.ts +94 -0
- package/dist/emails/utils.d.ts.map +1 -0
- package/dist/emails/utils.js +229 -0
- package/dist/emails/utils.js.map +1 -0
- package/dist/index.d.ts +40 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +225 -0
- package/dist/index.js.map +1 -0
- package/dist/products/api/categories.d.ts +29 -0
- package/dist/products/api/categories.d.ts.map +1 -0
- package/dist/products/api/categories.js +49 -0
- package/dist/products/api/categories.js.map +1 -0
- package/dist/products/api/index.d.ts +24 -0
- package/dist/products/api/index.d.ts.map +1 -0
- package/dist/products/api/index.js +30 -0
- package/dist/products/api/index.js.map +1 -0
- package/dist/products/api/product.d.ts +36 -0
- package/dist/products/api/product.d.ts.map +1 -0
- package/dist/products/api/product.js +70 -0
- package/dist/products/api/product.js.map +1 -0
- package/dist/products/api/products.d.ts +41 -0
- package/dist/products/api/products.d.ts.map +1 -0
- package/dist/products/api/products.js +102 -0
- package/dist/products/api/products.js.map +1 -0
- package/dist/products/components/CategoryNav.d.ts +51 -0
- package/dist/products/components/CategoryNav.d.ts.map +1 -0
- package/dist/products/components/CategoryNav.js +115 -0
- package/dist/products/components/CategoryNav.js.map +1 -0
- package/dist/products/components/ProductBreadcrumb.d.ts +52 -0
- package/dist/products/components/ProductBreadcrumb.d.ts.map +1 -0
- package/dist/products/components/ProductBreadcrumb.js +78 -0
- package/dist/products/components/ProductBreadcrumb.js.map +1 -0
- package/dist/products/components/ProductCard.d.ts +54 -0
- package/dist/products/components/ProductCard.d.ts.map +1 -0
- package/dist/products/components/ProductCard.js +65 -0
- package/dist/products/components/ProductCard.js.map +1 -0
- package/dist/products/components/ProductDetails.d.ts +63 -0
- package/dist/products/components/ProductDetails.d.ts.map +1 -0
- package/dist/products/components/ProductDetails.js +105 -0
- package/dist/products/components/ProductDetails.js.map +1 -0
- package/dist/products/components/ProductFilters.d.ts +70 -0
- package/dist/products/components/ProductFilters.d.ts.map +1 -0
- package/dist/products/components/ProductFilters.js +127 -0
- package/dist/products/components/ProductFilters.js.map +1 -0
- package/dist/products/components/ProductGallery.d.ts +37 -0
- package/dist/products/components/ProductGallery.d.ts.map +1 -0
- package/dist/products/components/ProductGallery.js +80 -0
- package/dist/products/components/ProductGallery.js.map +1 -0
- package/dist/products/components/ProductGrid.d.ts +50 -0
- package/dist/products/components/ProductGrid.d.ts.map +1 -0
- package/dist/products/components/ProductGrid.js +83 -0
- package/dist/products/components/ProductGrid.js.map +1 -0
- package/dist/products/components/ProductSearch.d.ts +43 -0
- package/dist/products/components/ProductSearch.d.ts.map +1 -0
- package/dist/products/components/ProductSearch.js +99 -0
- package/dist/products/components/ProductSearch.js.map +1 -0
- package/dist/products/components/ProductSort.d.ts +43 -0
- package/dist/products/components/ProductSort.d.ts.map +1 -0
- package/dist/products/components/ProductSort.js +61 -0
- package/dist/products/components/ProductSort.js.map +1 -0
- package/dist/products/components/VariantSelector.d.ts +43 -0
- package/dist/products/components/VariantSelector.d.ts.map +1 -0
- package/dist/products/components/VariantSelector.js +147 -0
- package/dist/products/components/VariantSelector.js.map +1 -0
- package/dist/products/components/index.d.ts +26 -0
- package/dist/products/components/index.d.ts.map +1 -0
- package/dist/products/components/index.js +32 -0
- package/dist/products/components/index.js.map +1 -0
- package/dist/products/hooks/index.d.ts +14 -0
- package/dist/products/hooks/index.d.ts.map +1 -0
- package/dist/products/hooks/index.js +17 -0
- package/dist/products/hooks/index.js.map +1 -0
- package/dist/products/hooks/useCategories.d.ts +56 -0
- package/dist/products/hooks/useCategories.d.ts.map +1 -0
- package/dist/products/hooks/useCategories.js +126 -0
- package/dist/products/hooks/useCategories.js.map +1 -0
- package/dist/products/hooks/useProduct.d.ts +44 -0
- package/dist/products/hooks/useProduct.d.ts.map +1 -0
- package/dist/products/hooks/useProduct.js +86 -0
- package/dist/products/hooks/useProduct.js.map +1 -0
- package/dist/products/hooks/useProductAttributes.d.ts +59 -0
- package/dist/products/hooks/useProductAttributes.d.ts.map +1 -0
- package/dist/products/hooks/useProductAttributes.js +148 -0
- package/dist/products/hooks/useProductAttributes.js.map +1 -0
- package/dist/products/hooks/useProducts.d.ts +67 -0
- package/dist/products/hooks/useProducts.d.ts.map +1 -0
- package/dist/products/hooks/useProducts.js +132 -0
- package/dist/products/hooks/useProducts.js.map +1 -0
- package/dist/products/index.d.ts +94 -0
- package/dist/products/index.d.ts.map +1 -0
- package/dist/products/index.js +123 -0
- package/dist/products/index.js.map +1 -0
- package/dist/theme/ThemeProvider.d.ts +70 -0
- package/dist/theme/ThemeProvider.d.ts.map +1 -0
- package/dist/theme/ThemeProvider.js +77 -0
- package/dist/theme/ThemeProvider.js.map +1 -0
- package/dist/theme/colors.d.ts +148 -0
- package/dist/theme/colors.d.ts.map +1 -0
- package/dist/theme/colors.js +219 -0
- package/dist/theme/colors.js.map +1 -0
- package/dist/theme/defaults.d.ts +212 -0
- package/dist/theme/defaults.d.ts.map +1 -0
- package/dist/theme/defaults.js +278 -0
- package/dist/theme/defaults.js.map +1 -0
- package/dist/theme/fonts.d.ts +59 -0
- package/dist/theme/fonts.d.ts.map +1 -0
- package/dist/theme/fonts.js +202 -0
- package/dist/theme/fonts.js.map +1 -0
- package/dist/theme/generator.d.ts +50 -0
- package/dist/theme/generator.d.ts.map +1 -0
- package/dist/theme/generator.js +322 -0
- package/dist/theme/generator.js.map +1 -0
- package/dist/theme/hooks.d.ts +110 -0
- package/dist/theme/hooks.d.ts.map +1 -0
- package/dist/theme/hooks.js +106 -0
- package/dist/theme/hooks.js.map +1 -0
- package/dist/theme/index.d.ts +37 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +85 -0
- package/dist/theme/index.js.map +1 -0
- package/package.json +7 -2
|
@@ -0,0 +1,268 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* @rovela/sdk/auth/server/verification-service
|
|
4
|
+
*
|
|
5
|
+
* Email verification token management.
|
|
6
|
+
* Handles creating, validating, and cleaning up verification tokens.
|
|
7
|
+
*/
|
|
8
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
9
|
+
if (k2 === undefined) k2 = k;
|
|
10
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
11
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
12
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
13
|
+
}
|
|
14
|
+
Object.defineProperty(o, k2, desc);
|
|
15
|
+
}) : (function(o, m, k, k2) {
|
|
16
|
+
if (k2 === undefined) k2 = k;
|
|
17
|
+
o[k2] = m[k];
|
|
18
|
+
}));
|
|
19
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
20
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
21
|
+
}) : function(o, v) {
|
|
22
|
+
o["default"] = v;
|
|
23
|
+
});
|
|
24
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
25
|
+
var ownKeys = function(o) {
|
|
26
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
27
|
+
var ar = [];
|
|
28
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
29
|
+
return ar;
|
|
30
|
+
};
|
|
31
|
+
return ownKeys(o);
|
|
32
|
+
};
|
|
33
|
+
return function (mod) {
|
|
34
|
+
if (mod && mod.__esModule) return mod;
|
|
35
|
+
var result = {};
|
|
36
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
37
|
+
__setModuleDefault(result, mod);
|
|
38
|
+
return result;
|
|
39
|
+
};
|
|
40
|
+
})();
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.createVerificationToken = createVerificationToken;
|
|
43
|
+
exports.verifyEmail = verifyEmail;
|
|
44
|
+
exports.deleteVerificationTokens = deleteVerificationTokens;
|
|
45
|
+
exports.resendVerificationEmail = resendVerificationEmail;
|
|
46
|
+
exports.isEmailVerified = isEmailVerified;
|
|
47
|
+
exports.cleanupExpiredTokens = cleanupExpiredTokens;
|
|
48
|
+
const drizzle_orm_1 = require("drizzle-orm");
|
|
49
|
+
const nanoid_1 = require("nanoid");
|
|
50
|
+
const client_1 = require("../../core/db/client");
|
|
51
|
+
const schema = __importStar(require("../../core/db/schema"));
|
|
52
|
+
const customer_service_1 = require("./customer-service");
|
|
53
|
+
const email_sender_1 = require("./email-sender");
|
|
54
|
+
// =============================================================================
|
|
55
|
+
// Constants
|
|
56
|
+
// =============================================================================
|
|
57
|
+
/**
|
|
58
|
+
* Verification token expiry time in milliseconds (24 hours).
|
|
59
|
+
*/
|
|
60
|
+
const TOKEN_EXPIRY_MS = 24 * 60 * 60 * 1000;
|
|
61
|
+
/**
|
|
62
|
+
* Token length (URL-safe).
|
|
63
|
+
*/
|
|
64
|
+
const TOKEN_LENGTH = 32;
|
|
65
|
+
// =============================================================================
|
|
66
|
+
// Token Management
|
|
67
|
+
// =============================================================================
|
|
68
|
+
/**
|
|
69
|
+
* Create a verification token for a customer.
|
|
70
|
+
* Deletes any existing tokens for the customer first.
|
|
71
|
+
*
|
|
72
|
+
* @param customerId - Customer UUID
|
|
73
|
+
* @returns The verification token
|
|
74
|
+
*
|
|
75
|
+
* @example
|
|
76
|
+
* ```typescript
|
|
77
|
+
* const token = await createVerificationToken(customerId)
|
|
78
|
+
* // Use token in verification email link
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
async function createVerificationToken(customerId) {
|
|
82
|
+
const db = (0, client_1.getDb)();
|
|
83
|
+
const tenantId = (0, client_1.getTenantId)();
|
|
84
|
+
// Delete any existing tokens for this customer
|
|
85
|
+
await deleteVerificationTokens(customerId);
|
|
86
|
+
// Generate new token
|
|
87
|
+
const token = (0, nanoid_1.nanoid)(TOKEN_LENGTH);
|
|
88
|
+
const expires = new Date(Date.now() + TOKEN_EXPIRY_MS);
|
|
89
|
+
await db.insert(schema.customerVerificationTokens).values({
|
|
90
|
+
tenantId,
|
|
91
|
+
customerId,
|
|
92
|
+
token,
|
|
93
|
+
expires,
|
|
94
|
+
});
|
|
95
|
+
return token;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Verify email using a token.
|
|
99
|
+
* Marks the customer's email as verified if token is valid.
|
|
100
|
+
*
|
|
101
|
+
* @param token - Verification token from email link
|
|
102
|
+
* @returns Verification result
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```typescript
|
|
106
|
+
* const result = await verifyEmail(token)
|
|
107
|
+
* if (result.success) {
|
|
108
|
+
* console.log('Email verified for customer:', result.customerId)
|
|
109
|
+
* } else {
|
|
110
|
+
* console.error('Verification failed:', result.error)
|
|
111
|
+
* }
|
|
112
|
+
* ```
|
|
113
|
+
*/
|
|
114
|
+
async function verifyEmail(token) {
|
|
115
|
+
const db = (0, client_1.getDb)();
|
|
116
|
+
// Find the token (not tenant-scoped since we only have the token)
|
|
117
|
+
const [tokenRecord] = await db
|
|
118
|
+
.select()
|
|
119
|
+
.from(schema.customerVerificationTokens)
|
|
120
|
+
.where((0, drizzle_orm_1.eq)(schema.customerVerificationTokens.token, token))
|
|
121
|
+
.limit(1);
|
|
122
|
+
if (!tokenRecord) {
|
|
123
|
+
return {
|
|
124
|
+
success: false,
|
|
125
|
+
error: 'Invalid verification link. Please request a new one.',
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
// Check if token has expired
|
|
129
|
+
if (new Date() > tokenRecord.expires) {
|
|
130
|
+
// Clean up expired token
|
|
131
|
+
await db
|
|
132
|
+
.delete(schema.customerVerificationTokens)
|
|
133
|
+
.where((0, drizzle_orm_1.eq)(schema.customerVerificationTokens.id, tokenRecord.id));
|
|
134
|
+
return {
|
|
135
|
+
success: false,
|
|
136
|
+
error: 'Verification link has expired. Please request a new one.',
|
|
137
|
+
};
|
|
138
|
+
}
|
|
139
|
+
// Mark customer email as verified
|
|
140
|
+
await (0, customer_service_1.markEmailVerified)(tokenRecord.customerId);
|
|
141
|
+
// Delete the used token and any other tokens for this customer
|
|
142
|
+
await db
|
|
143
|
+
.delete(schema.customerVerificationTokens)
|
|
144
|
+
.where((0, drizzle_orm_1.eq)(schema.customerVerificationTokens.customerId, tokenRecord.customerId));
|
|
145
|
+
// Send welcome email (non-blocking)
|
|
146
|
+
sendWelcomeEmailAsync(tokenRecord.customerId);
|
|
147
|
+
return {
|
|
148
|
+
success: true,
|
|
149
|
+
customerId: tokenRecord.customerId,
|
|
150
|
+
};
|
|
151
|
+
}
|
|
152
|
+
/**
|
|
153
|
+
* Delete all verification tokens for a customer.
|
|
154
|
+
*
|
|
155
|
+
* @param customerId - Customer UUID
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```typescript
|
|
159
|
+
* await deleteVerificationTokens(customerId)
|
|
160
|
+
* ```
|
|
161
|
+
*/
|
|
162
|
+
async function deleteVerificationTokens(customerId) {
|
|
163
|
+
const db = (0, client_1.getDb)();
|
|
164
|
+
const tenantId = (0, client_1.getTenantId)();
|
|
165
|
+
await db
|
|
166
|
+
.delete(schema.customerVerificationTokens)
|
|
167
|
+
.where((0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(schema.customerVerificationTokens.tenantId, tenantId), (0, drizzle_orm_1.eq)(schema.customerVerificationTokens.customerId, customerId)));
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Resend verification email to a customer.
|
|
171
|
+
* Creates a new token and sends the email.
|
|
172
|
+
*
|
|
173
|
+
* @param email - Customer email address
|
|
174
|
+
* @returns Result with success status
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* ```typescript
|
|
178
|
+
* const result = await resendVerificationEmail('customer@example.com')
|
|
179
|
+
* if (result.success) {
|
|
180
|
+
* console.log('Verification email sent')
|
|
181
|
+
* }
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
async function resendVerificationEmail(email) {
|
|
185
|
+
// Find customer by email
|
|
186
|
+
const customer = await (0, customer_service_1.findCustomerByEmail)(email);
|
|
187
|
+
if (!customer) {
|
|
188
|
+
// Don't reveal if email exists - return success anyway
|
|
189
|
+
return { success: true };
|
|
190
|
+
}
|
|
191
|
+
// Check if already verified
|
|
192
|
+
if (customer.emailVerified) {
|
|
193
|
+
return {
|
|
194
|
+
success: false,
|
|
195
|
+
error: 'Email is already verified',
|
|
196
|
+
};
|
|
197
|
+
}
|
|
198
|
+
// Create new verification token
|
|
199
|
+
const token = await createVerificationToken(customer.id);
|
|
200
|
+
// Send verification email
|
|
201
|
+
const storeName = (0, email_sender_1.getStoreName)();
|
|
202
|
+
try {
|
|
203
|
+
await (0, email_sender_1.sendVerificationEmail)(email, token, storeName);
|
|
204
|
+
return { success: true };
|
|
205
|
+
}
|
|
206
|
+
catch {
|
|
207
|
+
return {
|
|
208
|
+
success: false,
|
|
209
|
+
error: 'Failed to send verification email. Please try again.',
|
|
210
|
+
};
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
/**
|
|
214
|
+
* Check if a customer's email is verified.
|
|
215
|
+
*
|
|
216
|
+
* @param customerId - Customer UUID
|
|
217
|
+
* @returns True if email is verified
|
|
218
|
+
*/
|
|
219
|
+
async function isEmailVerified(customerId) {
|
|
220
|
+
const db = (0, client_1.getDb)();
|
|
221
|
+
const tenantId = (0, client_1.getTenantId)();
|
|
222
|
+
const [customer] = await db
|
|
223
|
+
.select({ emailVerified: schema.customers.emailVerified })
|
|
224
|
+
.from(schema.customers)
|
|
225
|
+
.where((0, drizzle_orm_1.and)((0, drizzle_orm_1.eq)(schema.customers.tenantId, tenantId), (0, drizzle_orm_1.eq)(schema.customers.id, customerId)))
|
|
226
|
+
.limit(1);
|
|
227
|
+
return !!customer?.emailVerified;
|
|
228
|
+
}
|
|
229
|
+
/**
|
|
230
|
+
* Clean up expired verification tokens.
|
|
231
|
+
* Should be called periodically (e.g., via cron job).
|
|
232
|
+
*
|
|
233
|
+
* @returns Number of tokens deleted
|
|
234
|
+
*/
|
|
235
|
+
async function cleanupExpiredTokens() {
|
|
236
|
+
const db = (0, client_1.getDb)();
|
|
237
|
+
const result = await db
|
|
238
|
+
.delete(schema.customerVerificationTokens)
|
|
239
|
+
.where((0, drizzle_orm_1.lt)(schema.customerVerificationTokens.expires, new Date()))
|
|
240
|
+
.returning({ id: schema.customerVerificationTokens.id });
|
|
241
|
+
return result.length;
|
|
242
|
+
}
|
|
243
|
+
// =============================================================================
|
|
244
|
+
// Internal Helpers
|
|
245
|
+
// =============================================================================
|
|
246
|
+
/**
|
|
247
|
+
* Send welcome email asynchronously (fire and forget).
|
|
248
|
+
* Used after successful email verification.
|
|
249
|
+
*/
|
|
250
|
+
async function sendWelcomeEmailAsync(customerId) {
|
|
251
|
+
try {
|
|
252
|
+
const db = (0, client_1.getDb)();
|
|
253
|
+
const [customer] = await db
|
|
254
|
+
.select({ email: schema.customers.email, name: schema.customers.name })
|
|
255
|
+
.from(schema.customers)
|
|
256
|
+
.where((0, drizzle_orm_1.eq)(schema.customers.id, customerId))
|
|
257
|
+
.limit(1);
|
|
258
|
+
if (customer) {
|
|
259
|
+
const storeName = (0, email_sender_1.getStoreName)();
|
|
260
|
+
await (0, email_sender_1.sendWelcomeEmail)(customer.email, customer.name, storeName);
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
catch (error) {
|
|
264
|
+
// Log but don't throw - welcome email is not critical
|
|
265
|
+
console.error('[Auth Verification] Failed to send welcome email:', error);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
//# sourceMappingURL=verification-service.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification-service.js","sourceRoot":"","sources":["../../../src/auth/server/verification-service.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,305 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @rovela/sdk/auth/types
|
|
3
|
+
*
|
|
4
|
+
* Type definitions for customer authentication.
|
|
5
|
+
*/
|
|
6
|
+
/**
|
|
7
|
+
* Customer session data stored in JWT token.
|
|
8
|
+
* This is what's available after authentication.
|
|
9
|
+
*/
|
|
10
|
+
export interface CustomerSession {
|
|
11
|
+
/** Customer UUID */
|
|
12
|
+
id: string;
|
|
13
|
+
/** Customer email */
|
|
14
|
+
email: string;
|
|
15
|
+
/** Customer name (optional) */
|
|
16
|
+
name?: string | null;
|
|
17
|
+
/** Whether email has been verified */
|
|
18
|
+
emailVerified: boolean;
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Extended session type for NextAuth.
|
|
22
|
+
*/
|
|
23
|
+
export interface AuthSession {
|
|
24
|
+
user: CustomerSession;
|
|
25
|
+
expires: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Authentication state returned by useAuth hook.
|
|
29
|
+
*/
|
|
30
|
+
export interface AuthState {
|
|
31
|
+
/** Current customer session (null if not authenticated) */
|
|
32
|
+
customer: CustomerSession | null;
|
|
33
|
+
/** Whether customer is authenticated */
|
|
34
|
+
isAuthenticated: boolean;
|
|
35
|
+
/** Whether auth state is loading */
|
|
36
|
+
isLoading: boolean;
|
|
37
|
+
/** Whether customer's email is verified */
|
|
38
|
+
isEmailVerified: boolean;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Options for signing in.
|
|
42
|
+
*/
|
|
43
|
+
export interface SignInOptions {
|
|
44
|
+
/** Customer email */
|
|
45
|
+
email: string;
|
|
46
|
+
/** Customer password */
|
|
47
|
+
password: string;
|
|
48
|
+
/** Whether to extend session duration (30 days vs 24 hours) */
|
|
49
|
+
rememberMe?: boolean;
|
|
50
|
+
/** URL to redirect to after successful sign in */
|
|
51
|
+
redirectTo?: string;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Result of sign in attempt.
|
|
55
|
+
*/
|
|
56
|
+
export interface SignInResult {
|
|
57
|
+
/** Whether sign in was successful */
|
|
58
|
+
success: boolean;
|
|
59
|
+
/** Error message if sign in failed */
|
|
60
|
+
error?: string;
|
|
61
|
+
/** Whether customer needs to verify email first */
|
|
62
|
+
requiresVerification?: boolean;
|
|
63
|
+
/** Customer email (for showing verification notice) */
|
|
64
|
+
email?: string;
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Data for signing up a new customer.
|
|
68
|
+
*/
|
|
69
|
+
export interface SignUpData {
|
|
70
|
+
/** Customer email */
|
|
71
|
+
email: string;
|
|
72
|
+
/** Customer password (minimum 8 characters) */
|
|
73
|
+
password: string;
|
|
74
|
+
/** Customer name (optional) */
|
|
75
|
+
name?: string;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Result of sign up attempt.
|
|
79
|
+
*/
|
|
80
|
+
export interface SignUpResult {
|
|
81
|
+
/** Whether sign up was successful */
|
|
82
|
+
success: boolean;
|
|
83
|
+
/** Error message if sign up failed */
|
|
84
|
+
error?: string;
|
|
85
|
+
/** Customer ID if sign up was successful */
|
|
86
|
+
customerId?: string;
|
|
87
|
+
/** Whether verification email was sent */
|
|
88
|
+
verificationEmailSent?: boolean;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* Result of password reset request.
|
|
92
|
+
*/
|
|
93
|
+
export interface PasswordResetRequestResult {
|
|
94
|
+
/** Always true for security (don't reveal if email exists) */
|
|
95
|
+
success: boolean;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Result of password reset execution.
|
|
99
|
+
*/
|
|
100
|
+
export interface PasswordResetResult {
|
|
101
|
+
/** Whether password was reset successfully */
|
|
102
|
+
success: boolean;
|
|
103
|
+
/** Error message if reset failed */
|
|
104
|
+
error?: string;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Result of token validation.
|
|
108
|
+
*/
|
|
109
|
+
export interface TokenValidationResult {
|
|
110
|
+
/** Whether token is valid */
|
|
111
|
+
valid: boolean;
|
|
112
|
+
/** Error message if token is invalid */
|
|
113
|
+
error?: string;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Result of email verification.
|
|
117
|
+
*/
|
|
118
|
+
export interface VerifyEmailResult {
|
|
119
|
+
/** Whether verification was successful */
|
|
120
|
+
success: boolean;
|
|
121
|
+
/** Error message if verification failed */
|
|
122
|
+
error?: string;
|
|
123
|
+
}
|
|
124
|
+
/**
|
|
125
|
+
* Result of resend verification request.
|
|
126
|
+
*/
|
|
127
|
+
export interface ResendVerificationResult {
|
|
128
|
+
/** Whether email was sent successfully */
|
|
129
|
+
success: boolean;
|
|
130
|
+
/** Error message if sending failed */
|
|
131
|
+
error?: string;
|
|
132
|
+
}
|
|
133
|
+
/**
|
|
134
|
+
* Props for SignInForm component.
|
|
135
|
+
*/
|
|
136
|
+
export interface SignInFormProps {
|
|
137
|
+
/** URL to redirect to after successful sign in */
|
|
138
|
+
redirectTo?: string;
|
|
139
|
+
/** Callback when sign in is successful */
|
|
140
|
+
onSuccess?: () => void;
|
|
141
|
+
/** Whether to show "Remember me" checkbox (default: true) */
|
|
142
|
+
showRememberMe?: boolean;
|
|
143
|
+
/** Link to sign up page (default: '/auth/signup') */
|
|
144
|
+
signUpHref?: string;
|
|
145
|
+
/** Link to forgot password page (default: '/auth/forgot-password') */
|
|
146
|
+
forgotPasswordHref?: string;
|
|
147
|
+
/** Custom class name */
|
|
148
|
+
className?: string;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Props for SignUpForm component.
|
|
152
|
+
*/
|
|
153
|
+
export interface SignUpFormProps {
|
|
154
|
+
/** URL to redirect to after successful sign up */
|
|
155
|
+
redirectTo?: string;
|
|
156
|
+
/** Callback when sign up is successful */
|
|
157
|
+
onSuccess?: () => void;
|
|
158
|
+
/** Link to sign in page (default: '/auth/signin') */
|
|
159
|
+
signInHref?: string;
|
|
160
|
+
/** Custom class name */
|
|
161
|
+
className?: string;
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Props for ForgotPasswordForm component.
|
|
165
|
+
*/
|
|
166
|
+
export interface ForgotPasswordFormProps {
|
|
167
|
+
/** Callback when request is sent successfully */
|
|
168
|
+
onSuccess?: () => void;
|
|
169
|
+
/** Link to sign in page (default: '/auth/signin') */
|
|
170
|
+
signInHref?: string;
|
|
171
|
+
/** Custom class name */
|
|
172
|
+
className?: string;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Props for ResetPasswordForm component.
|
|
176
|
+
*/
|
|
177
|
+
export interface ResetPasswordFormProps {
|
|
178
|
+
/** Reset token from URL */
|
|
179
|
+
token: string;
|
|
180
|
+
/** Callback when password is reset successfully */
|
|
181
|
+
onSuccess?: () => void;
|
|
182
|
+
/** Link to sign in page (default: '/auth/signin') */
|
|
183
|
+
signInHref?: string;
|
|
184
|
+
/** Custom class name */
|
|
185
|
+
className?: string;
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Props for VerifyEmailNotice component.
|
|
189
|
+
*/
|
|
190
|
+
export interface VerifyEmailNoticeProps {
|
|
191
|
+
/** Customer email to show in notice */
|
|
192
|
+
email: string;
|
|
193
|
+
/** Callback when resend is clicked */
|
|
194
|
+
onResend?: () => Promise<void>;
|
|
195
|
+
/** Custom class name */
|
|
196
|
+
className?: string;
|
|
197
|
+
}
|
|
198
|
+
/**
|
|
199
|
+
* Props for UserMenu component.
|
|
200
|
+
*/
|
|
201
|
+
export interface UserMenuProps {
|
|
202
|
+
/** Link to account page (default: '/account') */
|
|
203
|
+
accountHref?: string;
|
|
204
|
+
/** Link to orders page (default: '/account/orders') */
|
|
205
|
+
ordersHref?: string;
|
|
206
|
+
/** Link to settings page (default: '/account/settings') */
|
|
207
|
+
settingsHref?: string;
|
|
208
|
+
/** Custom class name */
|
|
209
|
+
className?: string;
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Props for AuthGuard component.
|
|
213
|
+
*/
|
|
214
|
+
export interface AuthGuardProps {
|
|
215
|
+
/** Child components to render when authenticated */
|
|
216
|
+
children: React.ReactNode;
|
|
217
|
+
/** Fallback component to render when not authenticated */
|
|
218
|
+
fallback?: React.ReactNode;
|
|
219
|
+
/** URL to redirect to when not authenticated (default: '/auth/signin') */
|
|
220
|
+
redirectTo?: string;
|
|
221
|
+
/** Whether to require verified email (default: true) */
|
|
222
|
+
requireVerified?: boolean;
|
|
223
|
+
/** Loading component to show while checking auth */
|
|
224
|
+
loadingComponent?: React.ReactNode;
|
|
225
|
+
}
|
|
226
|
+
/**
|
|
227
|
+
* API error response.
|
|
228
|
+
*/
|
|
229
|
+
export interface AuthApiError {
|
|
230
|
+
/** Error message */
|
|
231
|
+
error: string;
|
|
232
|
+
/** Error code for programmatic handling */
|
|
233
|
+
code?: 'INVALID_CREDENTIALS' | 'EMAIL_NOT_VERIFIED' | 'EMAIL_EXISTS' | 'INVALID_TOKEN' | 'TOKEN_EXPIRED' | 'VALIDATION_ERROR';
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Register API request body.
|
|
237
|
+
*/
|
|
238
|
+
export interface RegisterRequest {
|
|
239
|
+
email: string;
|
|
240
|
+
password: string;
|
|
241
|
+
name?: string;
|
|
242
|
+
}
|
|
243
|
+
/**
|
|
244
|
+
* Register API response.
|
|
245
|
+
*/
|
|
246
|
+
export interface RegisterResponse {
|
|
247
|
+
success: boolean;
|
|
248
|
+
customerId: string;
|
|
249
|
+
message: string;
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Verify email API response.
|
|
253
|
+
*/
|
|
254
|
+
export interface VerifyEmailResponse {
|
|
255
|
+
success: boolean;
|
|
256
|
+
message: string;
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* Forgot password API request body.
|
|
260
|
+
*/
|
|
261
|
+
export interface ForgotPasswordRequest {
|
|
262
|
+
email: string;
|
|
263
|
+
}
|
|
264
|
+
/**
|
|
265
|
+
* Reset password API request body.
|
|
266
|
+
*/
|
|
267
|
+
export interface ResetPasswordRequest {
|
|
268
|
+
token: string;
|
|
269
|
+
password: string;
|
|
270
|
+
}
|
|
271
|
+
/**
|
|
272
|
+
* Options for creating auth configuration.
|
|
273
|
+
*/
|
|
274
|
+
export interface AuthConfigOptions {
|
|
275
|
+
/** Default session duration in seconds (default: 24 hours) */
|
|
276
|
+
sessionMaxAge?: number;
|
|
277
|
+
/** Extended session duration for "remember me" in seconds (default: 30 days) */
|
|
278
|
+
rememberMeMaxAge?: number;
|
|
279
|
+
/** Require email verification before login (default: true) */
|
|
280
|
+
requireEmailVerification?: boolean;
|
|
281
|
+
/** Custom sign in page path (default: '/auth/signin') */
|
|
282
|
+
signInPage?: string;
|
|
283
|
+
/** Custom error page path (default: '/auth/signin') */
|
|
284
|
+
errorPage?: string;
|
|
285
|
+
}
|
|
286
|
+
/**
|
|
287
|
+
* Return type for useAuth hook.
|
|
288
|
+
*/
|
|
289
|
+
export interface UseAuthReturn extends AuthState {
|
|
290
|
+
/** Sign in with email and password */
|
|
291
|
+
signIn: (options: SignInOptions) => Promise<SignInResult>;
|
|
292
|
+
/** Sign up with email and password */
|
|
293
|
+
signUp: (data: SignUpData) => Promise<SignUpResult>;
|
|
294
|
+
/** Sign out */
|
|
295
|
+
signOut: () => Promise<void>;
|
|
296
|
+
/** Resend verification email */
|
|
297
|
+
resendVerification: (email: string) => Promise<ResendVerificationResult>;
|
|
298
|
+
/** Request password reset */
|
|
299
|
+
requestPasswordReset: (email: string) => Promise<PasswordResetRequestResult>;
|
|
300
|
+
/** Reset password with token */
|
|
301
|
+
resetPassword: (token: string, newPassword: string) => Promise<PasswordResetResult>;
|
|
302
|
+
/** Validate reset token */
|
|
303
|
+
validateResetToken: (token: string) => Promise<TokenValidationResult>;
|
|
304
|
+
}
|
|
305
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/auth/types.ts"],"names":[],"mappings":";AAAA;;;;GAIG"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @rovela/sdk/cart/CartProvider
|
|
3
|
+
*
|
|
4
|
+
* Optional provider for SSR-safe cart hydration.
|
|
5
|
+
* Ensures cart state is properly hydrated from localStorage after mount.
|
|
6
|
+
*/
|
|
7
|
+
import { type ReactNode } from 'react';
|
|
8
|
+
export interface CartProviderProps {
|
|
9
|
+
/**
|
|
10
|
+
* Child components that will have access to the cart.
|
|
11
|
+
*/
|
|
12
|
+
children: ReactNode;
|
|
13
|
+
/**
|
|
14
|
+
* Optional callback when hydration is complete.
|
|
15
|
+
*/
|
|
16
|
+
onHydrated?: () => void;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* CartProvider component for SSR-safe cart hydration.
|
|
20
|
+
*
|
|
21
|
+
* This provider is optional but recommended for Next.js apps.
|
|
22
|
+
* It ensures the cart is properly hydrated from localStorage
|
|
23
|
+
* after the component mounts, preventing hydration mismatches.
|
|
24
|
+
*
|
|
25
|
+
* @example
|
|
26
|
+
* ```tsx
|
|
27
|
+
* // In app/layout.tsx:
|
|
28
|
+
* import { CartProvider } from '@rovela/sdk/cart'
|
|
29
|
+
*
|
|
30
|
+
* export default function RootLayout({ children }) {
|
|
31
|
+
* return (
|
|
32
|
+
* <html>
|
|
33
|
+
* <body>
|
|
34
|
+
* <CartProvider>
|
|
35
|
+
* {children}
|
|
36
|
+
* </CartProvider>
|
|
37
|
+
* </body>
|
|
38
|
+
* </html>
|
|
39
|
+
* )
|
|
40
|
+
* }
|
|
41
|
+
* ```
|
|
42
|
+
*/
|
|
43
|
+
export declare function CartProvider({ children, onHydrated }: CartProviderProps): import("react/jsx-runtime").JSX.Element;
|
|
44
|
+
/**
|
|
45
|
+
* Hook to check if the cart has been hydrated.
|
|
46
|
+
* Useful for showing loading states or skeleton UI.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```tsx
|
|
50
|
+
* import { useCartHydrated } from '@rovela/sdk/cart'
|
|
51
|
+
*
|
|
52
|
+
* function CartIcon() {
|
|
53
|
+
* const hydrated = useCartHydrated()
|
|
54
|
+
* const { itemCount } = useCart()
|
|
55
|
+
*
|
|
56
|
+
* if (!hydrated) {
|
|
57
|
+
* return <span className="animate-pulse">...</span>
|
|
58
|
+
* }
|
|
59
|
+
*
|
|
60
|
+
* return <span>{itemCount}</span>
|
|
61
|
+
* }
|
|
62
|
+
* ```
|
|
63
|
+
*/
|
|
64
|
+
export declare function useCartHydrated(): boolean;
|
|
65
|
+
//# sourceMappingURL=CartProvider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CartProvider.d.ts","sourceRoot":"","sources":["../../src/cart/CartProvider.tsx"],"names":[],"mappings":"AAEA;;;;;GAKG;AAEH,OAAO,EAAuB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAO3D,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,QAAQ,EAAE,SAAS,CAAA;IACnB;;OAEG;IACH,UAAU,CAAC,EAAE,MAAM,IAAI,CAAA;CACxB;AAMD;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,iBAAiB,2CAoBvE;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,eAAe,IAAI,OAAO,CAqBzC"}
|