@classytic/commerce-sdk 0.1.1 → 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 +187 -74
- 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 -587
- 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-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-ANYGZ6O5.js +0 -830
- package/dist/chunk-ANYGZ6O5.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-J4JBQET2.js +0 -76
- package/dist/chunk-J4JBQET2.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-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-Cs7E_usr.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-CrpKadKE.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-B3dCvHgK.d.ts +0 -360
- 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-BCqkx2-K.d.ts +0 -527
- 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,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 };
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { ApiResponse, BaseApi } from "../../core/api-factory.js";
|
|
2
|
+
import { Category, CategoryTreeResponse, CreateCategoryPayload, UpdateCategoryPayload } from "../types/category.js";
|
|
3
|
+
//#region src/catalog/api/category.d.ts
|
|
4
|
+
type FetchOptions = {
|
|
5
|
+
cache?: RequestCache;
|
|
6
|
+
revalidate?: number;
|
|
7
|
+
tags?: string[];
|
|
8
|
+
};
|
|
9
|
+
/**
|
|
10
|
+
* Category API Client
|
|
11
|
+
* Extends BaseApi with category-specific endpoints
|
|
12
|
+
*/
|
|
13
|
+
declare class CategoryApi extends BaseApi<Category, CreateCategoryPayload, UpdateCategoryPayload> {
|
|
14
|
+
constructor(config?: {});
|
|
15
|
+
/**
|
|
16
|
+
* Get category tree (nested structure)
|
|
17
|
+
* GET /categories/tree
|
|
18
|
+
*
|
|
19
|
+
* **This is the main endpoint - FE should cache this and derive everything else from it.**
|
|
20
|
+
*
|
|
21
|
+
* Returns nested tree structure with children. Use helper functions to flatten, search, or extract children.
|
|
22
|
+
*
|
|
23
|
+
* @param token - Auth token (optional, public endpoint)
|
|
24
|
+
* @param options - Additional fetch options
|
|
25
|
+
* @returns Nested category tree
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```typescript
|
|
29
|
+
* const { data } = await categoryApi.getTree({ token: null });
|
|
30
|
+
* // data = [{ slug: "clothing", name: "Clothing", children: [...] }]
|
|
31
|
+
* ```
|
|
32
|
+
*/
|
|
33
|
+
getTree({
|
|
34
|
+
token,
|
|
35
|
+
options
|
|
36
|
+
}?: {
|
|
37
|
+
token?: string | null;
|
|
38
|
+
options?: FetchOptions;
|
|
39
|
+
}): Promise<CategoryTreeResponse>;
|
|
40
|
+
/**
|
|
41
|
+
* Get category by slug
|
|
42
|
+
* GET /categories/slug/:slug
|
|
43
|
+
*
|
|
44
|
+
* For URL resolution when you need full category details.
|
|
45
|
+
*
|
|
46
|
+
* @param token - Auth token (optional, public endpoint)
|
|
47
|
+
* @param slug - Category slug (e.g., "electronics", "t-shirts")
|
|
48
|
+
* @param options - Additional fetch options
|
|
49
|
+
* @returns Category object
|
|
50
|
+
*
|
|
51
|
+
* @example
|
|
52
|
+
* ```typescript
|
|
53
|
+
* const { data } = await categoryApi.getBySlug({
|
|
54
|
+
* token: null,
|
|
55
|
+
* slug: 'electronics'
|
|
56
|
+
* });
|
|
57
|
+
* ```
|
|
58
|
+
*/
|
|
59
|
+
getBySlug({
|
|
60
|
+
token,
|
|
61
|
+
slug,
|
|
62
|
+
options
|
|
63
|
+
}: {
|
|
64
|
+
token?: string | null;
|
|
65
|
+
slug: string;
|
|
66
|
+
options?: FetchOptions;
|
|
67
|
+
}): Promise<ApiResponse<Category>>;
|
|
68
|
+
/**
|
|
69
|
+
* Sync product counts for all categories
|
|
70
|
+
* POST /categories/sync-product-count
|
|
71
|
+
*
|
|
72
|
+
* Recalculates `productCount` for all categories based on current products.
|
|
73
|
+
* Use when manual data fixes or migrations may have desynced counts.
|
|
74
|
+
*
|
|
75
|
+
* @param token - Auth token (admin or inventory staff required)
|
|
76
|
+
* @param options - Additional fetch options
|
|
77
|
+
* @returns Number of categories updated
|
|
78
|
+
*
|
|
79
|
+
* @example
|
|
80
|
+
* ```typescript
|
|
81
|
+
* const { data } = await categoryApi.syncProductCount({ token });
|
|
82
|
+
* // data = { updated: 42 }
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
syncProductCount({
|
|
86
|
+
token,
|
|
87
|
+
options
|
|
88
|
+
}: {
|
|
89
|
+
token: string;
|
|
90
|
+
options?: FetchOptions;
|
|
91
|
+
}): Promise<ApiResponse<{
|
|
92
|
+
updated: number;
|
|
93
|
+
}>>;
|
|
94
|
+
}
|
|
95
|
+
declare const categoryApi: CategoryApi;
|
|
96
|
+
//#endregion
|
|
97
|
+
export { CategoryApi, categoryApi };
|