@classytic/commerce-sdk 0.1.2 → 0.2.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/README.md +277 -146
- package/dist/accounting/api/account.d.ts +49 -0
- package/dist/accounting/api/account.js +45 -0
- package/dist/accounting/api/budget.d.ts +76 -0
- package/dist/accounting/api/budget.js +82 -0
- package/dist/accounting/api/constants.d.ts +58 -0
- package/dist/accounting/api/constants.js +79 -0
- package/dist/accounting/api/fiscal-period.d.ts +31 -0
- package/dist/accounting/api/fiscal-period.js +30 -0
- package/dist/accounting/api/index.d.ts +7 -0
- package/dist/accounting/api/journal-entry.d.ts +66 -0
- package/dist/accounting/api/journal-entry.js +72 -0
- package/dist/accounting/api/posting.d.ts +55 -0
- package/dist/accounting/api/posting.js +70 -0
- package/dist/accounting/api/reports.d.ts +63 -0
- package/dist/accounting/api/reports.js +81 -0
- package/dist/accounting/hooks/account.d.ts +29 -0
- package/dist/accounting/hooks/account.js +102 -0
- package/dist/accounting/hooks/budget.d.ts +39 -0
- package/dist/accounting/hooks/budget.js +106 -0
- package/dist/accounting/hooks/fiscal-period.d.ts +22 -0
- package/dist/accounting/hooks/fiscal-period.js +52 -0
- package/dist/accounting/hooks/index.d.ts +6 -0
- package/dist/accounting/hooks/journal-entry.d.ts +37 -0
- package/dist/accounting/hooks/journal-entry.js +89 -0
- package/dist/accounting/hooks/posting.d.ts +128 -0
- package/dist/accounting/hooks/posting.js +119 -0
- package/dist/accounting/hooks/reports.d.ts +32 -0
- package/dist/accounting/hooks/reports.js +131 -0
- package/dist/accounting/index.d.ts +15 -0
- package/dist/accounting/index.js +15 -0
- package/dist/accounting/types/index.d.ts +375 -0
- package/dist/analytics/api/analytics.d.ts +16 -0
- package/dist/analytics/api/analytics.js +27 -0
- package/dist/analytics/api/index.d.ts +1 -0
- package/dist/analytics/hooks/analytics.d.ts +12 -0
- package/dist/analytics/hooks/analytics.js +33 -0
- package/dist/analytics/hooks/index.d.ts +1 -0
- package/dist/analytics/index.d.ts +4 -27
- package/dist/analytics/index.js +4 -6
- package/dist/analytics/types.d.ts +46 -0
- package/dist/audit/api/audit.d.ts +17 -0
- package/dist/audit/api/audit.js +21 -0
- package/dist/audit/hooks/audit.d.ts +17 -0
- package/dist/audit/hooks/audit.js +38 -0
- package/dist/audit/index.d.ts +4 -0
- package/dist/audit/index.js +4 -0
- package/dist/audit/types/index.d.ts +32 -0
- package/dist/auth/api/user-data.d.ts +30 -0
- package/dist/auth/api/user-data.js +70 -0
- package/dist/auth/hooks/user-search.d.ts +32 -0
- package/dist/auth/hooks/user-search.js +51 -0
- package/dist/auth/index.d.ts +4 -39
- package/dist/auth/index.js +5 -5
- package/dist/auth/types.d.ts +46 -0
- package/dist/auth/types.js +27 -0
- package/dist/catalog/api/category.d.ts +97 -0
- package/dist/catalog/api/category.js +109 -0
- package/dist/catalog/api/index.d.ts +4 -0
- package/dist/catalog/api/product.d.ts +136 -0
- package/dist/catalog/api/product.js +142 -0
- package/dist/catalog/api/review.d.ts +32 -0
- package/dist/catalog/api/review.js +41 -0
- package/dist/catalog/api/size-guide.d.ts +46 -0
- package/dist/catalog/api/size-guide.js +58 -0
- package/dist/catalog/hooks/category.d.ts +201 -0
- package/dist/catalog/hooks/category.js +295 -0
- package/dist/catalog/hooks/index.d.ts +4 -0
- package/dist/catalog/hooks/product.d.ts +165 -0
- package/dist/catalog/hooks/product.js +267 -0
- package/dist/catalog/hooks/review.d.ts +18 -0
- package/dist/catalog/hooks/review.js +38 -0
- package/dist/catalog/hooks/size-guide.d.ts +136 -0
- package/dist/catalog/hooks/size-guide.js +173 -0
- package/dist/catalog/index.d.ts +13 -571
- package/dist/catalog/index.js +10 -9
- package/dist/catalog/prefetch.d.ts +29 -0
- package/dist/catalog/prefetch.js +32 -0
- package/dist/catalog/types/category.d.ts +168 -0
- package/dist/catalog/types/index.d.ts +4 -0
- package/dist/catalog/types/product.d.ts +261 -0
- package/dist/catalog/types/review.d.ts +48 -0
- package/dist/catalog/types/size-guide.d.ts +118 -0
- package/dist/client.d.ts +138 -0
- package/dist/client.js +129 -0
- package/dist/content/api/cms.d.ts +27 -0
- package/dist/content/api/cms.js +43 -0
- package/dist/content/api/index.d.ts +2 -0
- package/dist/content/api/media.d.ts +74 -0
- package/dist/content/api/media.js +77 -0
- package/dist/content/hooks/cms.d.ts +31 -0
- package/dist/content/hooks/cms.js +62 -0
- package/dist/content/hooks/index.d.ts +2 -0
- package/dist/content/hooks/media.d.ts +74 -0
- package/dist/content/hooks/media.js +153 -0
- package/dist/content/index.d.ts +7 -309
- package/dist/content/index.js +6 -6
- package/dist/content/types/cms.d.ts +390 -0
- package/dist/content/types/media.d.ts +110 -0
- package/dist/core/api-factory.d.ts +17 -0
- package/dist/core/api-factory.js +39 -0
- package/dist/core/api-handler.d.ts +53 -0
- package/dist/core/api-handler.js +89 -0
- package/dist/core/index.d.ts +4 -166
- package/dist/core/index.js +4 -5
- package/dist/core/prefetch.d.ts +2 -0
- package/dist/core/prefetch.js +3 -0
- package/dist/core/react/crud.factory.d.ts +3 -0
- package/dist/core/react/crud.factory.js +5 -0
- package/dist/core/react/index.d.ts +4 -0
- package/dist/core/react/index.js +7 -0
- package/dist/core/react/mutation.factory.d.ts +9 -0
- package/dist/core/react/mutation.factory.js +21 -0
- package/dist/core/react/query.factory.d.ts +12 -0
- package/dist/core/react/query.factory.js +5 -0
- package/dist/core/server-context.d.ts +6 -0
- package/dist/core/server-context.js +12 -0
- package/dist/core/types/shared.d.ts +29 -0
- package/dist/finance/api/finance.d.ts +22 -0
- package/dist/finance/api/finance.js +29 -0
- package/dist/finance/api/index.d.ts +1 -0
- package/dist/finance/hooks/finance.d.ts +32 -0
- package/dist/finance/hooks/finance.js +66 -0
- package/dist/finance/hooks/index.d.ts +1 -0
- package/dist/finance/index.d.ts +4 -81
- package/dist/finance/index.js +4 -5
- package/dist/finance/types/finance.d.ts +82 -0
- package/dist/index.d.ts +139 -32
- package/dist/index.js +113 -29
- package/dist/inventory/api/adjustment.d.ts +123 -0
- package/dist/inventory/api/adjustment.js +120 -0
- package/dist/inventory/api/availability.d.ts +70 -0
- package/dist/inventory/api/availability.js +47 -0
- package/dist/inventory/api/cost.d.ts +58 -0
- package/dist/inventory/api/cost.js +34 -0
- package/dist/inventory/api/index.d.ts +18 -0
- package/dist/inventory/api/lot.d.ts +82 -0
- package/dist/inventory/api/lot.js +46 -0
- package/dist/inventory/api/movement.d.ts +71 -0
- package/dist/inventory/api/movement.js +75 -0
- package/dist/inventory/api/package.d.ts +97 -0
- package/dist/inventory/api/package.js +56 -0
- package/dist/inventory/api/procurement.d.ts +110 -0
- package/dist/inventory/api/procurement.js +59 -0
- package/dist/inventory/api/purchase.d.ts +106 -0
- package/dist/inventory/api/purchase.js +115 -0
- package/dist/inventory/api/replenishment.d.ts +145 -0
- package/dist/inventory/api/replenishment.js +63 -0
- package/dist/inventory/api/report.d.ts +102 -0
- package/dist/inventory/api/report.js +54 -0
- package/dist/inventory/api/request.d.ts +157 -0
- package/dist/inventory/api/request.js +140 -0
- package/dist/inventory/api/reservation.d.ts +77 -0
- package/dist/inventory/api/reservation.js +51 -0
- package/dist/inventory/api/scan.d.ts +29 -0
- package/dist/inventory/api/scan.js +30 -0
- package/dist/inventory/api/supplier.d.ts +9 -0
- package/dist/inventory/api/supplier.js +24 -0
- package/dist/inventory/api/trace.d.ts +71 -0
- package/dist/inventory/api/trace.js +39 -0
- package/dist/inventory/api/transfer.d.ts +162 -0
- package/dist/inventory/api/transfer.js +155 -0
- package/dist/inventory/api/warehouse.d.ts +199 -0
- package/dist/inventory/api/warehouse.js +155 -0
- package/dist/inventory/hooks/adjustment.d.ts +24 -0
- package/dist/inventory/hooks/adjustment.js +30 -0
- package/dist/inventory/hooks/availability.d.ts +16 -0
- package/dist/inventory/hooks/availability.js +35 -0
- package/dist/inventory/hooks/cost.d.ts +21 -0
- package/dist/inventory/hooks/cost.js +50 -0
- package/dist/inventory/hooks/index.d.ts +18 -0
- package/dist/inventory/hooks/inventory.d.ts +130 -0
- package/dist/inventory/hooks/inventory.js +267 -0
- package/dist/inventory/hooks/lot.d.ts +26 -0
- package/dist/inventory/hooks/lot.js +67 -0
- package/dist/inventory/hooks/movement.d.ts +68 -0
- package/dist/inventory/hooks/movement.js +106 -0
- package/dist/inventory/hooks/package.d.ts +32 -0
- package/dist/inventory/hooks/package.js +80 -0
- package/dist/inventory/hooks/procurement.d.ts +28 -0
- package/dist/inventory/hooks/procurement.js +87 -0
- package/dist/inventory/hooks/purchase.d.ts +63 -0
- package/dist/inventory/hooks/purchase.js +119 -0
- package/dist/inventory/hooks/replenishment.d.ts +34 -0
- package/dist/inventory/hooks/replenishment.js +87 -0
- package/dist/inventory/hooks/report.d.ts +37 -0
- package/dist/inventory/hooks/report.js +79 -0
- package/dist/inventory/hooks/request.d.ts +113 -0
- package/dist/inventory/hooks/request.js +218 -0
- package/dist/inventory/hooks/reservation.d.ts +25 -0
- package/dist/inventory/hooks/reservation.js +56 -0
- package/dist/inventory/hooks/scan.d.ts +14 -0
- package/dist/inventory/hooks/scan.js +22 -0
- package/dist/inventory/hooks/supplier.d.ts +24 -0
- package/dist/inventory/hooks/supplier.js +30 -0
- package/dist/inventory/hooks/trace.d.ts +19 -0
- package/dist/inventory/hooks/trace.js +55 -0
- package/dist/inventory/hooks/transfer.d.ts +90 -0
- package/dist/inventory/hooks/transfer.js +197 -0
- package/dist/inventory/hooks/warehouse.d.ts +87 -0
- package/dist/inventory/hooks/warehouse.js +240 -0
- package/dist/inventory/index.d.ts +39 -512
- package/dist/inventory/index.js +37 -16
- package/dist/inventory/types/index.d.ts +3 -0
- package/dist/inventory/types/inventory.d.ts +485 -0
- package/dist/inventory/types/supplier.d.ts +90 -0
- package/dist/inventory/types/warehouse.d.ts +182 -0
- package/dist/logistics/api/index.d.ts +1 -0
- package/dist/logistics/api/logistics.d.ts +260 -0
- package/dist/logistics/api/logistics.js +249 -0
- package/dist/logistics/hooks/index.d.ts +1 -0
- package/dist/logistics/hooks/logistics.d.ts +252 -0
- package/dist/logistics/hooks/logistics.js +370 -0
- package/dist/logistics/index.d.ts +4 -248
- package/dist/logistics/index.js +4 -7
- package/dist/logistics/types/logistics.d.ts +188 -0
- package/dist/node_modules/@tanstack/query-core/build/modern/hydration-C-jfQLut.d.ts +270 -0
- package/dist/notifications/api/notification.d.ts +15 -0
- package/dist/notifications/api/notification.js +43 -0
- package/dist/notifications/hooks/notification.d.ts +34 -0
- package/dist/notifications/hooks/notification.js +86 -0
- package/dist/notifications/hooks/stream.d.ts +22 -0
- package/dist/notifications/hooks/stream.js +80 -0
- package/dist/notifications/index.d.ts +5 -0
- package/dist/notifications/index.js +5 -0
- package/dist/notifications/types/index.d.ts +57 -0
- package/dist/payments/api/index.d.ts +1 -0
- package/dist/payments/api/payment.d.ts +89 -0
- package/dist/payments/api/payment.js +93 -0
- package/dist/payments/hooks/payment.d.ts +53 -0
- package/dist/payments/hooks/payment.js +93 -0
- package/dist/payments/index.d.ts +4 -55
- package/dist/payments/index.js +4 -6
- package/dist/payments/types/payment.d.ts +50 -0
- package/dist/permissions/checker.d.ts +125 -0
- package/dist/permissions/checker.js +150 -0
- package/dist/permissions/index.d.ts +3 -0
- package/dist/permissions/index.js +4 -0
- package/dist/permissions/roles.d.ts +39 -0
- package/dist/permissions/roles.js +66 -0
- package/dist/platform/api/branch.d.ts +57 -0
- package/dist/platform/api/branch.js +73 -0
- package/dist/platform/api/config.d.ts +67 -0
- package/dist/platform/api/config.js +83 -0
- package/dist/platform/api/features.d.ts +15 -0
- package/dist/platform/api/features.js +20 -0
- package/dist/platform/api/index.d.ts +6 -0
- package/dist/platform/api/promo.d.ts +286 -0
- package/dist/platform/api/promo.js +276 -0
- package/dist/platform/api/user.d.ts +10 -0
- package/dist/platform/api/user.js +29 -0
- package/dist/platform/api/webhook.d.ts +102 -0
- package/dist/platform/api/webhook.js +124 -0
- package/dist/platform/hooks/branch.d.ts +24 -0
- package/dist/platform/hooks/branch.js +31 -0
- package/dist/platform/hooks/config.d.ts +61 -0
- package/dist/platform/hooks/config.js +100 -0
- package/dist/platform/hooks/features.d.ts +22 -0
- package/dist/platform/hooks/features.js +75 -0
- package/dist/platform/hooks/index.d.ts +6 -0
- package/dist/platform/hooks/promo.d.ts +218 -0
- package/dist/platform/hooks/promo.js +451 -0
- package/dist/platform/hooks/user.d.ts +24 -0
- package/dist/platform/hooks/user.js +30 -0
- package/dist/platform/index.d.ts +18 -645
- package/dist/platform/index.js +14 -8
- package/dist/platform/prefetch.d.ts +9 -0
- package/dist/platform/prefetch.js +11 -0
- package/dist/platform/types/branch.d.ts +110 -0
- package/dist/platform/types/branch.js +16 -0
- package/dist/platform/types/config.d.ts +137 -0
- package/dist/platform/types/features.d.ts +46 -0
- package/dist/platform/types/promo.d.ts +260 -0
- package/dist/platform/types/user.d.ts +72 -0
- package/dist/platform/types/webhook.d.ts +165 -0
- package/dist/sales/api/cart.d.ts +34 -0
- package/dist/sales/api/cart.js +38 -0
- package/dist/sales/api/customer.d.ts +40 -0
- package/dist/sales/api/customer.js +52 -0
- package/dist/sales/api/earning-rules.d.ts +54 -0
- package/dist/sales/api/earning-rules.js +56 -0
- package/dist/sales/api/index.d.ts +9 -0
- package/dist/sales/api/loyalty.d.ts +54 -0
- package/dist/sales/api/loyalty.js +57 -0
- package/dist/sales/api/order.d.ts +147 -0
- package/dist/sales/api/order.js +69 -0
- package/dist/sales/api/pos.d.ts +81 -0
- package/dist/sales/api/pos.js +95 -0
- package/dist/sales/api/referrals.d.ts +63 -0
- package/dist/sales/api/referrals.js +62 -0
- package/dist/sales/api/tiers.d.ts +66 -0
- package/dist/sales/api/tiers.js +59 -0
- package/dist/sales/hooks/cart.d.ts +50 -0
- package/dist/sales/hooks/cart.js +161 -0
- package/dist/sales/hooks/customer.d.ts +100 -0
- package/dist/sales/hooks/customer.js +130 -0
- package/dist/sales/hooks/earning-rules.d.ts +31 -0
- package/dist/sales/hooks/earning-rules.js +112 -0
- package/dist/sales/hooks/index.d.ts +8 -0
- package/dist/sales/hooks/loyalty.d.ts +51 -0
- package/dist/sales/hooks/loyalty.js +122 -0
- package/dist/sales/hooks/order.d.ts +219 -0
- package/dist/sales/hooks/order.js +401 -0
- package/dist/sales/hooks/pos.d.ts +87 -0
- package/dist/sales/hooks/pos.js +222 -0
- package/dist/sales/hooks/referrals.d.ts +34 -0
- package/dist/sales/hooks/referrals.js +132 -0
- package/dist/sales/hooks/tiers.d.ts +32 -0
- package/dist/sales/hooks/tiers.js +144 -0
- package/dist/sales/index.d.ts +25 -620
- package/dist/sales/index.js +19 -9
- package/dist/sales/prefetch.d.ts +10 -0
- package/dist/sales/prefetch.js +13 -0
- package/dist/sales/types/cart.d.ts +123 -0
- package/dist/sales/types/customer.d.ts +119 -0
- package/dist/sales/types/earning-rules.d.ts +75 -0
- package/dist/sales/types/index.d.ts +8 -0
- package/dist/sales/types/loyalty.d.ts +120 -0
- package/dist/sales/types/order.d.ts +487 -0
- package/dist/sales/types/order.js +22 -0
- package/dist/sales/types/pos.d.ts +227 -0
- package/dist/sales/types/referrals.d.ts +51 -0
- package/dist/sales/types/tiers.d.ts +56 -0
- package/dist/server.d.ts +41 -23
- package/dist/server.js +41 -36
- package/dist/transaction/api/index.d.ts +1 -0
- package/dist/transaction/api/transaction.d.ts +63 -0
- package/dist/transaction/api/transaction.js +84 -0
- package/dist/transaction/hooks/index.d.ts +1 -0
- package/dist/transaction/hooks/transaction.d.ts +106 -0
- package/dist/transaction/hooks/transaction.js +156 -0
- package/dist/transaction/index.d.ts +4 -104
- package/dist/transaction/index.js +5 -8
- package/dist/transaction/types/transaction.d.ts +440 -0
- package/dist/transaction/types/transaction.js +86 -0
- package/package.json +36 -25
- package/dist/adjustment-MNH3AT6S.js +0 -5
- package/dist/adjustment-MNH3AT6S.js.map +0 -1
- package/dist/analytics/index.js.map +0 -1
- package/dist/analytics-DMcD-o8w.d.ts +0 -76
- package/dist/api-factory-B_h4RKBm.d.ts +0 -280
- package/dist/auth/index.js.map +0 -1
- package/dist/catalog/index.js.map +0 -1
- package/dist/chunk-24FDD6UR.js +0 -75
- package/dist/chunk-24FDD6UR.js.map +0 -1
- package/dist/chunk-2TF7QNYV.js +0 -159
- package/dist/chunk-2TF7QNYV.js.map +0 -1
- package/dist/chunk-2YAZ5WG6.js +0 -479
- package/dist/chunk-2YAZ5WG6.js.map +0 -1
- package/dist/chunk-36NLLAVH.js +0 -177
- package/dist/chunk-36NLLAVH.js.map +0 -1
- package/dist/chunk-3OYSJB3P.js +0 -126
- package/dist/chunk-3OYSJB3P.js.map +0 -1
- package/dist/chunk-4IYW6RF3.js +0 -862
- package/dist/chunk-4IYW6RF3.js.map +0 -1
- package/dist/chunk-5E57JODA.js +0 -135
- package/dist/chunk-5E57JODA.js.map +0 -1
- package/dist/chunk-7LZCW4VF.js +0 -13
- package/dist/chunk-7LZCW4VF.js.map +0 -1
- package/dist/chunk-AQAISI4F.js +0 -183
- package/dist/chunk-AQAISI4F.js.map +0 -1
- package/dist/chunk-B6MPVOV7.js +0 -328
- package/dist/chunk-B6MPVOV7.js.map +0 -1
- package/dist/chunk-CILP56G2.js +0 -94
- package/dist/chunk-CILP56G2.js.map +0 -1
- package/dist/chunk-ERQ52WHY.js +0 -534
- package/dist/chunk-ERQ52WHY.js.map +0 -1
- package/dist/chunk-FOTUJPM4.js +0 -640
- package/dist/chunk-FOTUJPM4.js.map +0 -1
- package/dist/chunk-IHCBBLLW.js +0 -198
- package/dist/chunk-IHCBBLLW.js.map +0 -1
- package/dist/chunk-L4OEI4VZ.js +0 -123
- package/dist/chunk-L4OEI4VZ.js.map +0 -1
- package/dist/chunk-LRV7MWWX.js +0 -616
- package/dist/chunk-LRV7MWWX.js.map +0 -1
- package/dist/chunk-M3B4DFTT.js +0 -76
- package/dist/chunk-M3B4DFTT.js.map +0 -1
- package/dist/chunk-N43VE355.js +0 -126
- package/dist/chunk-N43VE355.js.map +0 -1
- package/dist/chunk-PYYLHUV6.js +0 -3
- package/dist/chunk-PYYLHUV6.js.map +0 -1
- package/dist/chunk-QCTXAMLA.js +0 -261
- package/dist/chunk-QCTXAMLA.js.map +0 -1
- package/dist/chunk-RIKAPJNG.js +0 -40
- package/dist/chunk-RIKAPJNG.js.map +0 -1
- package/dist/chunk-U3XT35GZ.js +0 -202
- package/dist/chunk-U3XT35GZ.js.map +0 -1
- package/dist/chunk-W22WB3WZ.js +0 -148
- package/dist/chunk-W22WB3WZ.js.map +0 -1
- package/dist/chunk-WTIJMKML.js +0 -27
- package/dist/chunk-WTIJMKML.js.map +0 -1
- package/dist/chunk-X2CQFJPR.js +0 -75
- package/dist/chunk-X2CQFJPR.js.map +0 -1
- package/dist/chunk-YYFKLOKO.js +0 -769
- package/dist/chunk-YYFKLOKO.js.map +0 -1
- package/dist/client-BPG8fbae.d.ts +0 -113
- package/dist/content/index.js.map +0 -1
- package/dist/core/index.js.map +0 -1
- package/dist/core/react.d.ts +0 -107
- package/dist/core/react.js +0 -5
- package/dist/core/react.js.map +0 -1
- package/dist/coupon-BZSZ0y3n.d.ts +0 -129
- package/dist/coupon-CDzL4bJG.d.ts +0 -655
- package/dist/crud.factory-DyKaPHcU.d.ts +0 -181
- package/dist/finance/index.js.map +0 -1
- package/dist/finance-BJdfKRw0.d.ts +0 -135
- package/dist/index.js.map +0 -1
- package/dist/inventory/index.js.map +0 -1
- package/dist/inventory-B5pssqRx.d.ts +0 -748
- package/dist/logistics/index.js.map +0 -1
- package/dist/logistics-REVDorcc.d.ts +0 -410
- package/dist/media-CNLJK93J.d.ts +0 -721
- package/dist/movement-R3CERFAM.js +0 -5
- package/dist/movement-R3CERFAM.js.map +0 -1
- package/dist/order-BfdPxZiA.d.ts +0 -412
- package/dist/payment-BRboLqvU.d.ts +0 -127
- package/dist/payments/index.js.map +0 -1
- package/dist/platform/index.js.map +0 -1
- package/dist/pos-C-sBzevg.d.ts +0 -538
- package/dist/product-p09zXkXB.d.ts +0 -260
- package/dist/purchase-54PER2PY.js +0 -5
- package/dist/purchase-54PER2PY.js.map +0 -1
- package/dist/request-MP6NV5ZE.js +0 -5
- package/dist/request-MP6NV5ZE.js.map +0 -1
- package/dist/sales/index.js.map +0 -1
- package/dist/server.js.map +0 -1
- package/dist/size-guide-DgjzjM5P.d.ts +0 -554
- package/dist/stock-2LP4HJSB.js +0 -5
- package/dist/stock-2LP4HJSB.js.map +0 -1
- package/dist/stock-CfrU5_Wr.d.ts +0 -632
- package/dist/supplier-BWJTRZ5Z.js +0 -5
- package/dist/supplier-BWJTRZ5Z.js.map +0 -1
- package/dist/transaction/index.js.map +0 -1
- package/dist/transaction-Bf6WjYCh.d.ts +0 -84
- package/dist/transaction-dL3WW-er.d.ts +0 -442
- package/dist/transfer-4XSS6HWT.js +0 -5
- package/dist/transfer-4XSS6HWT.js.map +0 -1
- package/dist/user-data-DdLjAGwO.d.ts +0 -132
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ApiResponse, BaseApi } from "../../core/api-factory.js";
|
|
2
|
+
import { AnalyticsDashboard, AnalyticsDashboardParams } from "../types.js";
|
|
3
|
+
|
|
4
|
+
//#region src/analytics/api/analytics.d.ts
|
|
5
|
+
declare class AnalyticsApi extends BaseApi {
|
|
6
|
+
constructor();
|
|
7
|
+
/** GET /analytics/dashboard */
|
|
8
|
+
getDashboard({
|
|
9
|
+
params
|
|
10
|
+
}?: {
|
|
11
|
+
params?: AnalyticsDashboardParams;
|
|
12
|
+
}): Promise<ApiResponse<AnalyticsDashboard>>;
|
|
13
|
+
}
|
|
14
|
+
declare const analyticsApi: AnalyticsApi;
|
|
15
|
+
//#endregion
|
|
16
|
+
export { AnalyticsApi, analyticsApi };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { BaseApi } from "../../core/api-factory.js";
|
|
2
|
+
|
|
3
|
+
//#region src/analytics/api/analytics.ts
|
|
4
|
+
/**
|
|
5
|
+
* Analytics API — Dashboard and reporting
|
|
6
|
+
*
|
|
7
|
+
* Endpoints:
|
|
8
|
+
* - GET /analytics/dashboard — Dashboard analytics
|
|
9
|
+
*
|
|
10
|
+
* Roles: admin, superadmin, finance-admin, finance-manager
|
|
11
|
+
*/
|
|
12
|
+
var AnalyticsApi = class extends BaseApi {
|
|
13
|
+
constructor() {
|
|
14
|
+
super("analytics", { cache: "no-store" });
|
|
15
|
+
}
|
|
16
|
+
/** GET /analytics/dashboard */
|
|
17
|
+
async getDashboard({ params = {} } = {}) {
|
|
18
|
+
return this.request("GET", `${this.baseUrl}/dashboard`, {
|
|
19
|
+
params,
|
|
20
|
+
options: { cache: "no-store" }
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
};
|
|
24
|
+
const analyticsApi = new AnalyticsApi();
|
|
25
|
+
|
|
26
|
+
//#endregion
|
|
27
|
+
export { AnalyticsApi, analyticsApi };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import { AnalyticsApi, analyticsApi } from "./analytics.js";
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { AnalyticsDashboard, AnalyticsDashboardParams } from "../types.js";
|
|
2
|
+
import { QueryKeys } from "../../core/react/query.factory.js";
|
|
3
|
+
import * as _tanstack_react_query0 from "@tanstack/react-query";
|
|
4
|
+
|
|
5
|
+
//#region src/analytics/hooks/analytics.d.ts
|
|
6
|
+
declare const ANALYTICS_KEYS: QueryKeys;
|
|
7
|
+
/** Fetch dashboard analytics data */
|
|
8
|
+
declare function useAnalyticsDashboard(params?: AnalyticsDashboardParams, options?: {
|
|
9
|
+
enabled?: boolean;
|
|
10
|
+
}): _tanstack_react_query0.UseQueryResult<AnalyticsDashboard, Error>;
|
|
11
|
+
//#endregion
|
|
12
|
+
export { ANALYTICS_KEYS, useAnalyticsDashboard };
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { createQueryKeys } from "../../core/react/query.factory.js";
|
|
4
|
+
import { analyticsApi } from "../api/analytics.js";
|
|
5
|
+
import { useQuery } from "@tanstack/react-query";
|
|
6
|
+
|
|
7
|
+
//#region src/analytics/hooks/analytics.ts
|
|
8
|
+
/**
|
|
9
|
+
* Analytics Hooks — Dashboard and reporting
|
|
10
|
+
*/
|
|
11
|
+
const ANALYTICS_KEYS = createQueryKeys("analytics");
|
|
12
|
+
/** Fetch dashboard analytics data */
|
|
13
|
+
function useAnalyticsDashboard(params = {}, options = {}) {
|
|
14
|
+
const period = params.period || "30d";
|
|
15
|
+
return useQuery({
|
|
16
|
+
queryKey: [
|
|
17
|
+
...ANALYTICS_KEYS.all,
|
|
18
|
+
"dashboard",
|
|
19
|
+
period
|
|
20
|
+
],
|
|
21
|
+
queryFn: async () => {
|
|
22
|
+
return (await analyticsApi.getDashboard({ params })).data;
|
|
23
|
+
},
|
|
24
|
+
enabled: options.enabled !== false,
|
|
25
|
+
staleTime: 120 * 1e3,
|
|
26
|
+
gcTime: 600 * 1e3,
|
|
27
|
+
refetchOnWindowFocus: true,
|
|
28
|
+
retry: 1
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
//#endregion
|
|
33
|
+
export { ANALYTICS_KEYS, useAnalyticsDashboard };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import { ANALYTICS_KEYS, useAnalyticsDashboard } from "./analytics.js";
|
|
@@ -1,27 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
declare const ANALYTICS_KEYS: {
|
|
7
|
-
all: readonly ["analytics"];
|
|
8
|
-
dashboard: (period?: string) => readonly ["analytics", "dashboard", string | undefined];
|
|
9
|
-
};
|
|
10
|
-
/**
|
|
11
|
-
* Hook to fetch dashboard analytics data
|
|
12
|
-
*
|
|
13
|
-
* @param token - Auth token (required)
|
|
14
|
-
* @param params.period - Time period: '7d' | '30d' | '90d' | '1y' (default: '30d')
|
|
15
|
-
* @param params.branchId - Optional branch filter
|
|
16
|
-
* @param options.enabled - Enable/disable query (default: true)
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* ```tsx
|
|
20
|
-
* const { data, isLoading } = useAnalyticsDashboard(token, { period: '30d' });
|
|
21
|
-
* ```
|
|
22
|
-
*/
|
|
23
|
-
declare function useAnalyticsDashboard(token: string, params?: AnalyticsDashboardParams, options?: {
|
|
24
|
-
enabled?: boolean;
|
|
25
|
-
}): _tanstack_react_query.UseQueryResult<AnalyticsDashboard, Error>;
|
|
26
|
-
|
|
27
|
-
export { ANALYTICS_KEYS, AnalyticsDashboard, AnalyticsDashboardParams, useAnalyticsDashboard };
|
|
1
|
+
import { AnalyticsDashboard, AnalyticsDashboardParams, AnalyticsPeriod, AnalyticsSummary, AnalyticsTrend, TopCategory, TopProduct } from "./types.js";
|
|
2
|
+
import { AnalyticsApi, analyticsApi } from "./api/analytics.js";
|
|
3
|
+
import { ANALYTICS_KEYS, useAnalyticsDashboard } from "./hooks/analytics.js";
|
|
4
|
+
export { ANALYTICS_KEYS, AnalyticsApi, type AnalyticsDashboard, type AnalyticsDashboardParams, type AnalyticsPeriod, type AnalyticsSummary, type AnalyticsTrend, type TopCategory, type TopProduct, analyticsApi, useAnalyticsDashboard };
|
package/dist/analytics/index.js
CHANGED
|
@@ -1,6 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
//# sourceMappingURL=index.js.map
|
|
6
|
-
//# sourceMappingURL=index.js.map
|
|
1
|
+
import { AnalyticsApi, analyticsApi } from "./api/analytics.js";
|
|
2
|
+
import { ANALYTICS_KEYS, useAnalyticsDashboard } from "./hooks/analytics.js";
|
|
3
|
+
|
|
4
|
+
export { ANALYTICS_KEYS, AnalyticsApi, analyticsApi, useAnalyticsDashboard };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
//#region src/analytics/types.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Analytics Types
|
|
4
|
+
*/
|
|
5
|
+
interface AnalyticsPeriod {
|
|
6
|
+
period: "7d" | "30d" | "90d" | "1y";
|
|
7
|
+
}
|
|
8
|
+
interface AnalyticsSummary {
|
|
9
|
+
totalRevenue: number;
|
|
10
|
+
totalOrders: number;
|
|
11
|
+
averageOrderValue: number;
|
|
12
|
+
conversionRate?: number;
|
|
13
|
+
}
|
|
14
|
+
interface AnalyticsTrend {
|
|
15
|
+
date: string;
|
|
16
|
+
revenue: number;
|
|
17
|
+
orders: number;
|
|
18
|
+
}
|
|
19
|
+
interface TopProduct {
|
|
20
|
+
productId: string;
|
|
21
|
+
name: string;
|
|
22
|
+
quantity: number;
|
|
23
|
+
revenue: number;
|
|
24
|
+
}
|
|
25
|
+
interface TopCategory {
|
|
26
|
+
categoryId: string;
|
|
27
|
+
name: string;
|
|
28
|
+
quantity: number;
|
|
29
|
+
revenue: number;
|
|
30
|
+
}
|
|
31
|
+
interface AnalyticsDashboard {
|
|
32
|
+
summary: AnalyticsSummary;
|
|
33
|
+
trends?: AnalyticsTrend[];
|
|
34
|
+
topProducts?: TopProduct[];
|
|
35
|
+
topCategories?: TopCategory[];
|
|
36
|
+
period: string;
|
|
37
|
+
startDate: string;
|
|
38
|
+
endDate: string;
|
|
39
|
+
}
|
|
40
|
+
interface AnalyticsDashboardParams {
|
|
41
|
+
period?: "7d" | "30d" | "90d" | "1y";
|
|
42
|
+
branchId?: string;
|
|
43
|
+
[key: string]: unknown;
|
|
44
|
+
}
|
|
45
|
+
//#endregion
|
|
46
|
+
export { AnalyticsDashboard, AnalyticsDashboardParams, AnalyticsPeriod, AnalyticsSummary, AnalyticsTrend, TopCategory, TopProduct };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AuditEntry, AuditQueryParams } from "../types/index.js";
|
|
2
|
+
|
|
3
|
+
//#region src/audit/api/audit.d.ts
|
|
4
|
+
declare class AuditLogApi {
|
|
5
|
+
private endpoint;
|
|
6
|
+
list(params?: AuditQueryParams): Promise<{
|
|
7
|
+
success: boolean;
|
|
8
|
+
data: AuditEntry[];
|
|
9
|
+
}>;
|
|
10
|
+
getById(id: string): Promise<{
|
|
11
|
+
success: boolean;
|
|
12
|
+
data: AuditEntry;
|
|
13
|
+
}>;
|
|
14
|
+
}
|
|
15
|
+
declare const auditLogApi: AuditLogApi;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { AuditLogApi, auditLogApi };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { handleApiRequest } from "../../core/api-handler.js";
|
|
2
|
+
|
|
3
|
+
//#region src/audit/api/audit.ts
|
|
4
|
+
var AuditLogApi = class {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.endpoint = "/api/v1/audit-logs";
|
|
7
|
+
}
|
|
8
|
+
async list(params = {}) {
|
|
9
|
+
const query = new URLSearchParams();
|
|
10
|
+
for (const [key, value] of Object.entries(params)) if (value != null && value !== "") query.set(key, String(value));
|
|
11
|
+
const qs = query.toString();
|
|
12
|
+
return handleApiRequest("GET", `${this.endpoint}${qs ? `?${qs}` : ""}`);
|
|
13
|
+
}
|
|
14
|
+
async getById(id) {
|
|
15
|
+
return handleApiRequest("GET", `${this.endpoint}/${id}`);
|
|
16
|
+
}
|
|
17
|
+
};
|
|
18
|
+
const auditLogApi = new AuditLogApi();
|
|
19
|
+
|
|
20
|
+
//#endregion
|
|
21
|
+
export { AuditLogApi, auditLogApi };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AuditEntry, AuditQueryParams } from "../types/index.js";
|
|
2
|
+
import * as _tanstack_react_query0 from "@tanstack/react-query";
|
|
3
|
+
|
|
4
|
+
//#region src/audit/hooks/audit.d.ts
|
|
5
|
+
declare const AUDIT_LOG_KEYS: {
|
|
6
|
+
all: readonly ["audit-logs"];
|
|
7
|
+
list: (params?: AuditQueryParams) => readonly ["audit-logs", "list", AuditQueryParams | undefined];
|
|
8
|
+
detail: (id: string) => readonly ["audit-logs", "detail", string];
|
|
9
|
+
};
|
|
10
|
+
declare function useAuditLogs(params?: AuditQueryParams, options?: {
|
|
11
|
+
enabled?: boolean;
|
|
12
|
+
}): _tanstack_react_query0.UseQueryResult<AuditEntry[], Error>;
|
|
13
|
+
declare function useAuditLogDetail(id: string, options?: {
|
|
14
|
+
enabled?: boolean;
|
|
15
|
+
}): _tanstack_react_query0.UseQueryResult<AuditEntry, Error>;
|
|
16
|
+
//#endregion
|
|
17
|
+
export { AUDIT_LOG_KEYS, useAuditLogDetail, useAuditLogs };
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { auditLogApi } from "../api/audit.js";
|
|
4
|
+
import { useQuery } from "@tanstack/react-query";
|
|
5
|
+
|
|
6
|
+
//#region src/audit/hooks/audit.ts
|
|
7
|
+
const AUDIT_LOG_KEYS = {
|
|
8
|
+
all: ["audit-logs"],
|
|
9
|
+
list: (params) => [
|
|
10
|
+
...AUDIT_LOG_KEYS.all,
|
|
11
|
+
"list",
|
|
12
|
+
params
|
|
13
|
+
],
|
|
14
|
+
detail: (id) => [
|
|
15
|
+
...AUDIT_LOG_KEYS.all,
|
|
16
|
+
"detail",
|
|
17
|
+
id
|
|
18
|
+
]
|
|
19
|
+
};
|
|
20
|
+
function useAuditLogs(params = {}, options) {
|
|
21
|
+
return useQuery({
|
|
22
|
+
queryKey: AUDIT_LOG_KEYS.list(params),
|
|
23
|
+
queryFn: () => auditLogApi.list(params),
|
|
24
|
+
enabled: options?.enabled ?? true,
|
|
25
|
+
select: (res) => res.data
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
function useAuditLogDetail(id, options) {
|
|
29
|
+
return useQuery({
|
|
30
|
+
queryKey: AUDIT_LOG_KEYS.detail(id),
|
|
31
|
+
queryFn: () => auditLogApi.getById(id),
|
|
32
|
+
enabled: (options?.enabled ?? true) && !!id,
|
|
33
|
+
select: (res) => res.data
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
//#endregion
|
|
38
|
+
export { AUDIT_LOG_KEYS, useAuditLogDetail, useAuditLogs };
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { AuditAction, AuditEntry, AuditQueryParams } from "./types/index.js";
|
|
2
|
+
import { AuditLogApi, auditLogApi } from "./api/audit.js";
|
|
3
|
+
import { AUDIT_LOG_KEYS, useAuditLogDetail, useAuditLogs } from "./hooks/audit.js";
|
|
4
|
+
export { AUDIT_LOG_KEYS, type AuditAction, type AuditEntry, AuditLogApi, type AuditQueryParams, auditLogApi, useAuditLogDetail, useAuditLogs };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
//#region src/audit/types/index.d.ts
|
|
2
|
+
type AuditAction = 'create' | 'update' | 'delete' | 'restore' | 'custom';
|
|
3
|
+
interface AuditEntry {
|
|
4
|
+
id: string;
|
|
5
|
+
resource: string;
|
|
6
|
+
documentId: string;
|
|
7
|
+
action: AuditAction;
|
|
8
|
+
userId?: string;
|
|
9
|
+
organizationId?: string;
|
|
10
|
+
before?: Record<string, unknown>;
|
|
11
|
+
after?: Record<string, unknown>;
|
|
12
|
+
changes?: string[];
|
|
13
|
+
requestId?: string;
|
|
14
|
+
ipAddress?: string;
|
|
15
|
+
userAgent?: string;
|
|
16
|
+
metadata?: Record<string, unknown>;
|
|
17
|
+
timestamp: string;
|
|
18
|
+
}
|
|
19
|
+
interface AuditQueryParams {
|
|
20
|
+
resource?: string;
|
|
21
|
+
documentId?: string;
|
|
22
|
+
userId?: string;
|
|
23
|
+
organizationId?: string;
|
|
24
|
+
action?: string;
|
|
25
|
+
module?: string;
|
|
26
|
+
from?: string;
|
|
27
|
+
to?: string;
|
|
28
|
+
limit?: number;
|
|
29
|
+
offset?: number;
|
|
30
|
+
}
|
|
31
|
+
//#endregion
|
|
32
|
+
export { AuditAction, AuditEntry, AuditQueryParams };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { User, VerifyManagerData, VerifyManagerResponse } from "../types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/auth/api/user-data.d.ts
|
|
4
|
+
interface UserSearchResponse {
|
|
5
|
+
success: boolean;
|
|
6
|
+
docs?: User[];
|
|
7
|
+
message?: string;
|
|
8
|
+
}
|
|
9
|
+
/** Search user by email */
|
|
10
|
+
declare const getUser: (email: string, token?: string) => Promise<UserSearchResponse>;
|
|
11
|
+
/** Search customer by phone */
|
|
12
|
+
declare const getUserByPhone: (phone: string, token?: string) => Promise<UserSearchResponse>;
|
|
13
|
+
/** Get current user profile */
|
|
14
|
+
declare const getProfile: (token?: string) => Promise<unknown>;
|
|
15
|
+
/** Update current user profile */
|
|
16
|
+
declare const updateUser: (token: string, userId: string, data: Partial<User>) => Promise<unknown>;
|
|
17
|
+
/**
|
|
18
|
+
* Verify manager credentials for discount authorization.
|
|
19
|
+
* Authenticates via Better Auth's sign-in endpoint and checks roles.
|
|
20
|
+
*/
|
|
21
|
+
declare const verifyManagerAuth: (data: VerifyManagerData) => Promise<VerifyManagerResponse>;
|
|
22
|
+
declare const authApi: {
|
|
23
|
+
verifyManager: (data: VerifyManagerData) => Promise<VerifyManagerResponse>;
|
|
24
|
+
getUser: (email: string, token?: string) => Promise<UserSearchResponse>;
|
|
25
|
+
getUserByPhone: (phone: string, token?: string) => Promise<UserSearchResponse>;
|
|
26
|
+
getProfile: (token?: string) => Promise<unknown>;
|
|
27
|
+
updateUser: (token: string, userId: string, data: Partial<User>) => Promise<unknown>;
|
|
28
|
+
};
|
|
29
|
+
//#endregion
|
|
30
|
+
export { authApi, getProfile, getUser, getUserByPhone, updateUser, verifyManagerAuth };
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { handleApiRequest } from "../../core/api-handler.js";
|
|
2
|
+
import { DISCOUNT_ALLOWED_ROLES } from "../types.js";
|
|
3
|
+
|
|
4
|
+
//#region src/auth/api/user-data.ts
|
|
5
|
+
/**
|
|
6
|
+
* @classytic/commerce-sdk - User API
|
|
7
|
+
*
|
|
8
|
+
* User management and query APIs.
|
|
9
|
+
* Authentication (sign-in, sign-up, password reset, OAuth) is handled
|
|
10
|
+
* by Better Auth client directly — not through this SDK.
|
|
11
|
+
*/
|
|
12
|
+
/** Search user by email */
|
|
13
|
+
const getUser = async (email, token) => {
|
|
14
|
+
return handleApiRequest("GET", `/api/v1/users?email=${encodeURIComponent(email)}`, { token });
|
|
15
|
+
};
|
|
16
|
+
/** Search customer by phone */
|
|
17
|
+
const getUserByPhone = async (phone, token) => {
|
|
18
|
+
return handleApiRequest("GET", `/api/v1/customers?phone=${encodeURIComponent(phone)}`, { token });
|
|
19
|
+
};
|
|
20
|
+
/** Get current user profile */
|
|
21
|
+
const getProfile = async (token) => {
|
|
22
|
+
return handleApiRequest("GET", "/api/v1/users/me", { token });
|
|
23
|
+
};
|
|
24
|
+
/** Update current user profile */
|
|
25
|
+
const updateUser = async (token, userId, data) => {
|
|
26
|
+
return handleApiRequest("PATCH", "/api/v1/users/me", {
|
|
27
|
+
token,
|
|
28
|
+
body: data
|
|
29
|
+
});
|
|
30
|
+
};
|
|
31
|
+
/**
|
|
32
|
+
* Verify manager credentials for discount authorization.
|
|
33
|
+
* Authenticates via Better Auth's sign-in endpoint and checks roles.
|
|
34
|
+
*/
|
|
35
|
+
const verifyManagerAuth = async (data) => {
|
|
36
|
+
const { email, password, allowedRoles = DISCOUNT_ALLOWED_ROLES } = data;
|
|
37
|
+
try {
|
|
38
|
+
const user = (await handleApiRequest("POST", "/api/auth/sign-in/email", { body: {
|
|
39
|
+
email,
|
|
40
|
+
password
|
|
41
|
+
} }))?.user;
|
|
42
|
+
if (!user) return {
|
|
43
|
+
success: false,
|
|
44
|
+
message: "Invalid credentials"
|
|
45
|
+
};
|
|
46
|
+
if (!(user.role || []).some((role) => allowedRoles.includes(role))) return {
|
|
47
|
+
success: false,
|
|
48
|
+
message: "You don't have permission to authorize discounts"
|
|
49
|
+
};
|
|
50
|
+
return {
|
|
51
|
+
success: true,
|
|
52
|
+
user
|
|
53
|
+
};
|
|
54
|
+
} catch (error) {
|
|
55
|
+
return {
|
|
56
|
+
success: false,
|
|
57
|
+
message: error instanceof Error ? error.message : "Authentication failed"
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
const authApi = {
|
|
62
|
+
verifyManager: verifyManagerAuth,
|
|
63
|
+
getUser,
|
|
64
|
+
getUserByPhone,
|
|
65
|
+
getProfile,
|
|
66
|
+
updateUser
|
|
67
|
+
};
|
|
68
|
+
|
|
69
|
+
//#endregion
|
|
70
|
+
export { authApi as default, getProfile, getUser, getUserByPhone, updateUser, verifyManagerAuth };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { User } from "../types.js";
|
|
2
|
+
|
|
3
|
+
//#region src/auth/hooks/user-search.d.ts
|
|
4
|
+
interface UseUserSearchReturn {
|
|
5
|
+
/** Search for user by email or phone */
|
|
6
|
+
searchUser: (value: string, by?: "email" | "phone") => void;
|
|
7
|
+
/** Found user (first match) */
|
|
8
|
+
user: User | undefined;
|
|
9
|
+
/** No user found for the search */
|
|
10
|
+
notFound: boolean;
|
|
11
|
+
/** Search in progress */
|
|
12
|
+
isSearching: boolean;
|
|
13
|
+
/** Search error */
|
|
14
|
+
error: Error | null;
|
|
15
|
+
/** Reset search state */
|
|
16
|
+
reset: () => void;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Hook for searching users by email or phone number.
|
|
20
|
+
* Auth token is provided automatically via SDK configuration.
|
|
21
|
+
*
|
|
22
|
+
* @example
|
|
23
|
+
* ```tsx
|
|
24
|
+
* const { searchUser, user, isSearching, notFound } = useUserSearch();
|
|
25
|
+
*
|
|
26
|
+
* searchUser("user@example.com");
|
|
27
|
+
* searchUser("01712345678", "phone");
|
|
28
|
+
* ```
|
|
29
|
+
*/
|
|
30
|
+
declare function useUserSearch(): UseUserSearchReturn;
|
|
31
|
+
//#endregion
|
|
32
|
+
export { useUserSearch };
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { getUser, getUserByPhone } from "../api/user-data.js";
|
|
4
|
+
import { useMutation } from "@tanstack/react-query";
|
|
5
|
+
|
|
6
|
+
//#region src/auth/hooks/user-search.ts
|
|
7
|
+
/**
|
|
8
|
+
* User Search Hook
|
|
9
|
+
*
|
|
10
|
+
* React hook for searching users by email or phone number.
|
|
11
|
+
* Bearer token is sent automatically via SDK's configured auth.
|
|
12
|
+
*/
|
|
13
|
+
/**
|
|
14
|
+
* Hook for searching users by email or phone number.
|
|
15
|
+
* Auth token is provided automatically via SDK configuration.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```tsx
|
|
19
|
+
* const { searchUser, user, isSearching, notFound } = useUserSearch();
|
|
20
|
+
*
|
|
21
|
+
* searchUser("user@example.com");
|
|
22
|
+
* searchUser("01712345678", "phone");
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
function useUserSearch() {
|
|
26
|
+
const searchUserMutation = useMutation({
|
|
27
|
+
mutationFn: async ({ value, by = "email" }) => {
|
|
28
|
+
if (by === "phone") return getUserByPhone(value);
|
|
29
|
+
return getUser(value);
|
|
30
|
+
},
|
|
31
|
+
onError: (error) => {
|
|
32
|
+
console.error("User search error:", error);
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
return {
|
|
36
|
+
searchUser: (value, by = "email") => {
|
|
37
|
+
searchUserMutation.mutate({
|
|
38
|
+
value,
|
|
39
|
+
by
|
|
40
|
+
});
|
|
41
|
+
},
|
|
42
|
+
user: searchUserMutation.data?.docs?.[0],
|
|
43
|
+
notFound: Array.isArray(searchUserMutation.data?.docs) && searchUserMutation.data.docs.length === 0,
|
|
44
|
+
isSearching: searchUserMutation.isPending,
|
|
45
|
+
error: searchUserMutation.error,
|
|
46
|
+
reset: searchUserMutation.reset
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
//#endregion
|
|
51
|
+
export { useUserSearch };
|
package/dist/auth/index.d.ts
CHANGED
|
@@ -1,39 +1,4 @@
|
|
|
1
|
-
import {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
token: string;
|
|
6
|
-
}
|
|
7
|
-
interface UseUserSearchReturn {
|
|
8
|
-
/** Search for user by email or phone */
|
|
9
|
-
searchUser: (value: string, by?: "email" | "phone") => void;
|
|
10
|
-
/** Found user (first match) */
|
|
11
|
-
user: User | undefined;
|
|
12
|
-
/** No user found for the search */
|
|
13
|
-
notFound: boolean;
|
|
14
|
-
/** Search in progress */
|
|
15
|
-
isSearching: boolean;
|
|
16
|
-
/** Search error */
|
|
17
|
-
error: Error | null;
|
|
18
|
-
/** Reset search state */
|
|
19
|
-
reset: () => void;
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Hook for searching users by email or phone number
|
|
23
|
-
*
|
|
24
|
-
* @param options.token - Auth token (required)
|
|
25
|
-
*
|
|
26
|
-
* @example
|
|
27
|
-
* ```tsx
|
|
28
|
-
* const { searchUser, user, isSearching, notFound } = useUserSearch({ token });
|
|
29
|
-
*
|
|
30
|
-
* // Search by email
|
|
31
|
-
* searchUser("user@example.com");
|
|
32
|
-
*
|
|
33
|
-
* // Search by phone
|
|
34
|
-
* searchUser("01712345678", "phone");
|
|
35
|
-
* ```
|
|
36
|
-
*/
|
|
37
|
-
declare function useUserSearch({ token }: UseUserSearchOptions): UseUserSearchReturn;
|
|
38
|
-
|
|
39
|
-
export { User, useUserSearch };
|
|
1
|
+
import { DISCOUNT_ALLOWED_ROLES, User, UserRole, UserRoleType, VerifyManagerData, VerifyManagerResponse } from "./types.js";
|
|
2
|
+
import { authApi, getProfile, getUser, getUserByPhone, updateUser, verifyManagerAuth } from "./api/user-data.js";
|
|
3
|
+
import { useUserSearch } from "./hooks/user-search.js";
|
|
4
|
+
export { DISCOUNT_ALLOWED_ROLES, type User, UserRole, type UserRoleType, type VerifyManagerData, type VerifyManagerResponse, authApi, authApi as authApiDefault, getProfile, getUser, getUserByPhone, updateUser, useUserSearch, verifyManagerAuth };
|
package/dist/auth/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
import { DISCOUNT_ALLOWED_ROLES, UserRole } from "./types.js";
|
|
2
|
+
import authApi, { getProfile, getUser, getUserByPhone, updateUser, verifyManagerAuth } from "./api/user-data.js";
|
|
3
|
+
import { useUserSearch } from "./hooks/user-search.js";
|
|
4
|
+
|
|
5
|
+
export { DISCOUNT_ALLOWED_ROLES, UserRole, authApi, authApi as authApiDefault, getProfile, getUser, getUserByPhone, updateUser, useUserSearch, verifyManagerAuth };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
//#region src/auth/types.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* @classytic/commerce-sdk - Auth Types
|
|
4
|
+
*
|
|
5
|
+
* Type definitions for user management.
|
|
6
|
+
* Authentication (sign-in, sign-up, password reset) is handled by Better Auth client directly.
|
|
7
|
+
*/
|
|
8
|
+
declare const UserRole: {
|
|
9
|
+
readonly SUPER_ADMIN: "superadmin";
|
|
10
|
+
readonly ADMIN: "admin";
|
|
11
|
+
readonly CUSTOMER: "user";
|
|
12
|
+
readonly FINANCE_ADMIN: "finance-admin";
|
|
13
|
+
readonly FINANCE_MANAGER: "finance-manager";
|
|
14
|
+
readonly STORE_MANAGER: "store-manager";
|
|
15
|
+
readonly STORE_STAFF: "store-staff";
|
|
16
|
+
readonly WAREHOUSE_ADMIN: "warehouse-admin";
|
|
17
|
+
readonly WAREHOUSE_STAFF: "warehouse-staff";
|
|
18
|
+
};
|
|
19
|
+
type UserRoleType = (typeof UserRole)[keyof typeof UserRole];
|
|
20
|
+
interface User {
|
|
21
|
+
id: string;
|
|
22
|
+
_id?: string;
|
|
23
|
+
name: string;
|
|
24
|
+
email: string;
|
|
25
|
+
phone?: string;
|
|
26
|
+
role?: UserRoleType[];
|
|
27
|
+
image?: string;
|
|
28
|
+
isActive?: boolean;
|
|
29
|
+
emailVerified?: boolean;
|
|
30
|
+
createdAt?: string;
|
|
31
|
+
updatedAt?: string;
|
|
32
|
+
}
|
|
33
|
+
interface VerifyManagerData {
|
|
34
|
+
email: string;
|
|
35
|
+
password: string;
|
|
36
|
+
allowedRoles?: UserRoleType[];
|
|
37
|
+
}
|
|
38
|
+
interface VerifyManagerResponse {
|
|
39
|
+
success: boolean;
|
|
40
|
+
user?: User;
|
|
41
|
+
message?: string;
|
|
42
|
+
}
|
|
43
|
+
/** Allowed roles for discount authorization */
|
|
44
|
+
declare const DISCOUNT_ALLOWED_ROLES: UserRoleType[];
|
|
45
|
+
//#endregion
|
|
46
|
+
export { DISCOUNT_ALLOWED_ROLES, User, UserRole, UserRoleType, VerifyManagerData, VerifyManagerResponse };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
//#region src/auth/types.ts
|
|
2
|
+
/**
|
|
3
|
+
* @classytic/commerce-sdk - Auth Types
|
|
4
|
+
*
|
|
5
|
+
* Type definitions for user management.
|
|
6
|
+
* Authentication (sign-in, sign-up, password reset) is handled by Better Auth client directly.
|
|
7
|
+
*/
|
|
8
|
+
const UserRole = {
|
|
9
|
+
SUPER_ADMIN: "superadmin",
|
|
10
|
+
ADMIN: "admin",
|
|
11
|
+
CUSTOMER: "user",
|
|
12
|
+
FINANCE_ADMIN: "finance-admin",
|
|
13
|
+
FINANCE_MANAGER: "finance-manager",
|
|
14
|
+
STORE_MANAGER: "store-manager",
|
|
15
|
+
STORE_STAFF: "store-staff",
|
|
16
|
+
WAREHOUSE_ADMIN: "warehouse-admin",
|
|
17
|
+
WAREHOUSE_STAFF: "warehouse-staff"
|
|
18
|
+
};
|
|
19
|
+
/** Allowed roles for discount authorization */
|
|
20
|
+
const DISCOUNT_ALLOWED_ROLES = [
|
|
21
|
+
"superadmin",
|
|
22
|
+
"admin",
|
|
23
|
+
"store-manager"
|
|
24
|
+
];
|
|
25
|
+
|
|
26
|
+
//#endregion
|
|
27
|
+
export { DISCOUNT_ALLOWED_ROLES, UserRole };
|