@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
package/dist/platform/index.js
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { PlatformConfigApi, platformConfigApi } from "./api/config.js";
|
|
2
|
+
import { BranchApi, branchApi } from "./api/branch.js";
|
|
3
|
+
import { UserApi, userApi } from "./api/user.js";
|
|
4
|
+
import { EvaluationApi, ProgramApi, VoucherApi, evaluationApi, programApi, voucherApi } from "./api/promo.js";
|
|
5
|
+
import { WebhookApi, webhookApi } from "./api/webhook.js";
|
|
6
|
+
import { FeaturesApi, featuresApi } from "./api/features.js";
|
|
7
|
+
import { isHeadOffice, isSubBranch } from "./types/branch.js";
|
|
8
|
+
import { PERMISSION_MATRIX_KEYS, PLATFORM_KEYS, useDeliveryZones, useMembershipConfig, usePaymentMethods, usePermissionMatrix, usePlatformConfig, useUpdatePlatformConfig } from "./hooks/config.js";
|
|
9
|
+
import { BRANCH_KEYS, branchHooks, useBranchActions, useBranchDetail, useBranchNavigation, useBranches } from "./hooks/branch.js";
|
|
10
|
+
import { USER_KEYS, useUserActions, useUserDetail, useUserNavigation, useUsers, userHooks } from "./hooks/user.js";
|
|
11
|
+
import { EVALUATION_KEYS, PROGRAM_KEYS, VOUCHER_KEYS, programHooks, useFullProgram, useProgramActions, useProgramDetail, useProgramNavigation, useProgramRewards, useProgramRules, useProgramTransition, usePrograms, usePromoCommit, usePromoEvaluate, usePromoPreview, usePromoRollback, useVoucherCancel, useVoucherGenerate, useVoucherGenerateSingle, useVoucherValidate } from "./hooks/promo.js";
|
|
12
|
+
import { FEATURE_KEYS, useFeatures } from "./hooks/features.js";
|
|
13
|
+
|
|
14
|
+
export { BRANCH_KEYS, BranchApi, EVALUATION_KEYS, EvaluationApi, FEATURE_KEYS, FeaturesApi, PERMISSION_MATRIX_KEYS, PLATFORM_KEYS, PROGRAM_KEYS, PlatformConfigApi, ProgramApi, USER_KEYS, UserApi, VOUCHER_KEYS, VoucherApi, WebhookApi, branchApi, branchHooks, evaluationApi, featuresApi, isHeadOffice, isSubBranch, platformConfigApi, programApi, programHooks, useBranchActions, useBranchDetail, useBranchNavigation, useBranches, useDeliveryZones, useFeatures, useFullProgram, useMembershipConfig, usePaymentMethods, usePermissionMatrix, usePlatformConfig, useProgramActions, useProgramDetail, useProgramNavigation, useProgramRewards, useProgramRules, useProgramTransition, usePrograms, usePromoCommit, usePromoEvaluate, usePromoPreview, usePromoRollback, useUpdatePlatformConfig, useUserActions, useUserDetail, useUserNavigation, useUsers, useVoucherCancel, useVoucherGenerate, useVoucherGenerateSingle, useVoucherValidate, userApi, userHooks, voucherApi, webhookApi };
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import * as _classytic_arc_next_prefetch0 from "@classytic/arc-next/prefetch";
|
|
2
|
+
|
|
3
|
+
//#region src/platform/prefetch.d.ts
|
|
4
|
+
/**
|
|
5
|
+
* Platform SSR Prefetchers
|
|
6
|
+
*/
|
|
7
|
+
declare const branchesPrefetcher: _classytic_arc_next_prefetch0.CrudPrefetcher;
|
|
8
|
+
//#endregion
|
|
9
|
+
export { branchesPrefetcher };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { branchApi } from "./api/branch.js";
|
|
2
|
+
import { createCrudPrefetcher } from "../core/prefetch.js";
|
|
3
|
+
|
|
4
|
+
//#region src/platform/prefetch.ts
|
|
5
|
+
/**
|
|
6
|
+
* Platform SSR Prefetchers
|
|
7
|
+
*/
|
|
8
|
+
const branchesPrefetcher = createCrudPrefetcher(branchApi, "branches");
|
|
9
|
+
|
|
10
|
+
//#endregion
|
|
11
|
+
export { branchesPrefetcher };
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
//#region src/platform/types/branch.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Branch Types
|
|
4
|
+
*
|
|
5
|
+
* Type definitions for store/warehouse locations.
|
|
6
|
+
* Separated from inventory types for better organization and single responsibility.
|
|
7
|
+
*/
|
|
8
|
+
type BranchType = 'store' | 'warehouse' | 'outlet' | 'franchise';
|
|
9
|
+
/**
|
|
10
|
+
* Branch Hierarchy Role
|
|
11
|
+
* Determines the branch's position in the inventory flow hierarchy.
|
|
12
|
+
*
|
|
13
|
+
* - head_office: Central warehouse/HQ that receives purchases and distributes to sub-branches
|
|
14
|
+
* - sub_branch: Store/outlet that receives stock from head office
|
|
15
|
+
*/
|
|
16
|
+
type BranchRole = 'head_office' | 'sub_branch';
|
|
17
|
+
interface BranchAddress {
|
|
18
|
+
line1?: string;
|
|
19
|
+
line2?: string;
|
|
20
|
+
city?: string;
|
|
21
|
+
state?: string;
|
|
22
|
+
postalCode?: string;
|
|
23
|
+
country?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Branch (Store/Warehouse Location)
|
|
27
|
+
*
|
|
28
|
+
* Represents a physical location for inventory tracking and POS operations.
|
|
29
|
+
* Every deployment must have at least one branch (default branch).
|
|
30
|
+
*
|
|
31
|
+
* Branch Hierarchy:
|
|
32
|
+
* - One branch must be designated as head_office (typically the default branch)
|
|
33
|
+
* - All other branches are sub_branch by default
|
|
34
|
+
* - Stock flows: Suppliers -> Head Office -> Sub-branches
|
|
35
|
+
*/
|
|
36
|
+
interface Branch {
|
|
37
|
+
_id: string;
|
|
38
|
+
/** URL-friendly slug (auto-generated from name) */
|
|
39
|
+
slug: string;
|
|
40
|
+
/** Unique branch code (e.g., "DHK-1", "CTG-MAIN") - uppercase, stable */
|
|
41
|
+
code: string;
|
|
42
|
+
/** Display name */
|
|
43
|
+
name: string;
|
|
44
|
+
/** Branch type (store, warehouse, outlet, franchise) */
|
|
45
|
+
type: BranchType;
|
|
46
|
+
/**
|
|
47
|
+
* Branch role in inventory hierarchy
|
|
48
|
+
* - head_office: Receives purchases, distributes to sub-branches
|
|
49
|
+
* - sub_branch: Receives stock from head office only
|
|
50
|
+
*/
|
|
51
|
+
role: BranchRole;
|
|
52
|
+
/** Physical address */
|
|
53
|
+
address?: BranchAddress;
|
|
54
|
+
/** Contact phone */
|
|
55
|
+
phone?: string;
|
|
56
|
+
/** Contact email */
|
|
57
|
+
email?: string;
|
|
58
|
+
/** Operating hours (simple format, e.g., "10:00 AM - 10:00 PM") */
|
|
59
|
+
operatingHours?: string;
|
|
60
|
+
/** Whether this is the default branch (only one can be default) */
|
|
61
|
+
isDefault: boolean;
|
|
62
|
+
/** Whether this branch is active */
|
|
63
|
+
isActive: boolean;
|
|
64
|
+
/** Admin notes (admin-only field) */
|
|
65
|
+
notes?: string;
|
|
66
|
+
createdAt: string;
|
|
67
|
+
updatedAt: string;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Create Branch Payload
|
|
71
|
+
*/
|
|
72
|
+
interface CreateBranchPayload {
|
|
73
|
+
code: string;
|
|
74
|
+
name: string;
|
|
75
|
+
type?: BranchType;
|
|
76
|
+
/** Branch hierarchy role (defaults to 'sub_branch') */
|
|
77
|
+
role?: BranchRole;
|
|
78
|
+
address?: BranchAddress;
|
|
79
|
+
phone?: string;
|
|
80
|
+
email?: string;
|
|
81
|
+
operatingHours?: string;
|
|
82
|
+
isDefault?: boolean;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Update Branch Payload
|
|
86
|
+
*/
|
|
87
|
+
interface UpdateBranchPayload extends Partial<CreateBranchPayload> {
|
|
88
|
+
isActive?: boolean;
|
|
89
|
+
notes?: string;
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Branch Summary (for dropdowns, lists)
|
|
93
|
+
*/
|
|
94
|
+
interface BranchSummary {
|
|
95
|
+
_id: string;
|
|
96
|
+
code: string;
|
|
97
|
+
name: string;
|
|
98
|
+
role: BranchRole;
|
|
99
|
+
isDefault: boolean;
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Check if branch is head office
|
|
103
|
+
*/
|
|
104
|
+
declare function isHeadOffice(branch: Branch | BranchSummary): boolean;
|
|
105
|
+
/**
|
|
106
|
+
* Check if branch is sub-branch
|
|
107
|
+
*/
|
|
108
|
+
declare function isSubBranch(branch: Branch | BranchSummary): boolean;
|
|
109
|
+
//#endregion
|
|
110
|
+
export { Branch, BranchAddress, BranchRole, BranchSummary, BranchType, CreateBranchPayload, UpdateBranchPayload, isHeadOffice, isSubBranch };
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
//#region src/platform/types/branch.ts
|
|
2
|
+
/**
|
|
3
|
+
* Check if branch is head office
|
|
4
|
+
*/
|
|
5
|
+
function isHeadOffice(branch) {
|
|
6
|
+
return branch.role === "head_office";
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Check if branch is sub-branch
|
|
10
|
+
*/
|
|
11
|
+
function isSubBranch(branch) {
|
|
12
|
+
return branch.role === "sub_branch";
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
//#endregion
|
|
16
|
+
export { isHeadOffice, isSubBranch };
|
|
@@ -0,0 +1,137 @@
|
|
|
1
|
+
//#region src/platform/types/config.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Platform Config Types
|
|
4
|
+
*
|
|
5
|
+
* Mirrors `modules/platform/platform.model.js` (PlatformConfig singleton).
|
|
6
|
+
* Includes payment methods, checkout, logistics, VAT, and policies.
|
|
7
|
+
*/
|
|
8
|
+
type PaymentMethodType = "cash" | "mfs" | "bank_transfer" | "card";
|
|
9
|
+
interface PaymentMethodConfig {
|
|
10
|
+
_id?: string;
|
|
11
|
+
type: PaymentMethodType;
|
|
12
|
+
name: string;
|
|
13
|
+
provider?: "bkash" | "nagad" | "rocket" | "upay";
|
|
14
|
+
walletNumber?: string;
|
|
15
|
+
walletName?: string;
|
|
16
|
+
bankName?: string;
|
|
17
|
+
accountNumber?: string;
|
|
18
|
+
accountName?: string;
|
|
19
|
+
branchName?: string;
|
|
20
|
+
routingNumber?: string;
|
|
21
|
+
cardTypes?: ("visa" | "mastercard" | "amex" | "unionpay" | "other")[];
|
|
22
|
+
note?: string;
|
|
23
|
+
isActive?: boolean;
|
|
24
|
+
}
|
|
25
|
+
interface PlatformVatCategoryRate {
|
|
26
|
+
category: string;
|
|
27
|
+
rate: number;
|
|
28
|
+
description?: string;
|
|
29
|
+
}
|
|
30
|
+
interface PlatformVatInvoiceConfig {
|
|
31
|
+
showVatBreakdown?: boolean;
|
|
32
|
+
prefix?: string;
|
|
33
|
+
startNumber?: number;
|
|
34
|
+
currentNumber?: number;
|
|
35
|
+
footerText?: string;
|
|
36
|
+
}
|
|
37
|
+
interface PlatformSupplementaryDutyConfig {
|
|
38
|
+
enabled?: boolean;
|
|
39
|
+
defaultRate?: number;
|
|
40
|
+
}
|
|
41
|
+
interface PlatformVatConfig {
|
|
42
|
+
isRegistered: boolean;
|
|
43
|
+
bin?: string;
|
|
44
|
+
registeredName?: string;
|
|
45
|
+
vatCircle?: string;
|
|
46
|
+
defaultRate: number;
|
|
47
|
+
pricesIncludeVat: boolean;
|
|
48
|
+
categoryRates?: PlatformVatCategoryRate[];
|
|
49
|
+
invoice?: PlatformVatInvoiceConfig;
|
|
50
|
+
supplementaryDuty?: PlatformSupplementaryDutyConfig;
|
|
51
|
+
}
|
|
52
|
+
interface DeliveryZone {
|
|
53
|
+
_id?: string;
|
|
54
|
+
name: string;
|
|
55
|
+
region: string;
|
|
56
|
+
price: number;
|
|
57
|
+
estimatedDays?: number;
|
|
58
|
+
isActive?: boolean;
|
|
59
|
+
}
|
|
60
|
+
interface CheckoutPickupBranch {
|
|
61
|
+
branchId?: string;
|
|
62
|
+
branchCode?: string;
|
|
63
|
+
branchName?: string;
|
|
64
|
+
}
|
|
65
|
+
type DeliveryFeeSource = "static" | "provider";
|
|
66
|
+
interface CheckoutSettings {
|
|
67
|
+
allowStorePickup: boolean;
|
|
68
|
+
pickupBranches: CheckoutPickupBranch[];
|
|
69
|
+
deliveryFeeSource: DeliveryFeeSource;
|
|
70
|
+
freeDeliveryThreshold: number;
|
|
71
|
+
deliveryZones: DeliveryZone[];
|
|
72
|
+
}
|
|
73
|
+
interface LogisticsSettings {
|
|
74
|
+
defaultPickupStoreId?: number;
|
|
75
|
+
defaultPickupStoreName?: string;
|
|
76
|
+
defaultPickupAreaId?: number;
|
|
77
|
+
defaultPickupAreaName?: string;
|
|
78
|
+
webhookSecret?: string;
|
|
79
|
+
autoCreateShipment: boolean;
|
|
80
|
+
autoCreateOnStatus: string;
|
|
81
|
+
}
|
|
82
|
+
interface PlatformPolicies {
|
|
83
|
+
termsAndConditions?: string;
|
|
84
|
+
privacyPolicy?: string;
|
|
85
|
+
refundPolicy?: string;
|
|
86
|
+
shippingPolicy?: string;
|
|
87
|
+
}
|
|
88
|
+
type MembershipRoundingMode = "floor" | "round" | "ceil";
|
|
89
|
+
interface MembershipTierConfig {
|
|
90
|
+
name: string;
|
|
91
|
+
minPoints: number;
|
|
92
|
+
pointsMultiplier: number;
|
|
93
|
+
discountPercent: number;
|
|
94
|
+
color?: string;
|
|
95
|
+
}
|
|
96
|
+
interface MembershipRedemptionConfig {
|
|
97
|
+
enabled: boolean;
|
|
98
|
+
minRedeemPoints: number;
|
|
99
|
+
minOrderAmount: number;
|
|
100
|
+
maxRedeemPercent: number;
|
|
101
|
+
pointsPerBdt: number;
|
|
102
|
+
}
|
|
103
|
+
interface MembershipConfig {
|
|
104
|
+
enabled: boolean;
|
|
105
|
+
pointsPerAmount: number;
|
|
106
|
+
amountPerPoint: number;
|
|
107
|
+
roundingMode: MembershipRoundingMode;
|
|
108
|
+
tiers: MembershipTierConfig[];
|
|
109
|
+
cardPrefix: string;
|
|
110
|
+
cardDigits: number;
|
|
111
|
+
redemption?: MembershipRedemptionConfig;
|
|
112
|
+
}
|
|
113
|
+
interface PlatformConfig {
|
|
114
|
+
_id: string;
|
|
115
|
+
platformName: string;
|
|
116
|
+
/** Flexible payment methods array */
|
|
117
|
+
paymentMethods: PaymentMethodConfig[];
|
|
118
|
+
checkout: CheckoutSettings;
|
|
119
|
+
logistics: LogisticsSettings;
|
|
120
|
+
vat: PlatformVatConfig;
|
|
121
|
+
membership?: MembershipConfig;
|
|
122
|
+
policies?: PlatformPolicies;
|
|
123
|
+
isSingleton: boolean;
|
|
124
|
+
createdAt: string;
|
|
125
|
+
updatedAt: string;
|
|
126
|
+
}
|
|
127
|
+
interface UpdatePlatformConfigPayload {
|
|
128
|
+
platformName?: string;
|
|
129
|
+
paymentMethods?: PaymentMethodConfig[];
|
|
130
|
+
checkout?: Partial<CheckoutSettings>;
|
|
131
|
+
logistics?: Partial<LogisticsSettings>;
|
|
132
|
+
vat?: Partial<PlatformVatConfig>;
|
|
133
|
+
membership?: Partial<MembershipConfig>;
|
|
134
|
+
policies?: Partial<PlatformPolicies>;
|
|
135
|
+
}
|
|
136
|
+
//#endregion
|
|
137
|
+
export { CheckoutPickupBranch, CheckoutSettings, DeliveryFeeSource, DeliveryZone, LogisticsSettings, MembershipConfig, MembershipRedemptionConfig, MembershipRoundingMode, MembershipTierConfig, PaymentMethodConfig, PlatformConfig, PlatformPolicies, PlatformSupplementaryDutyConfig, PlatformVatCategoryRate, PlatformVatConfig, PlatformVatInvoiceConfig, UpdatePlatformConfigPayload };
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
//#region src/platform/types/features.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Feature License Types
|
|
4
|
+
*
|
|
5
|
+
* Represents which modules + tiers are enabled for this deployment.
|
|
6
|
+
* Served by GET /api/v1/features (public, no auth).
|
|
7
|
+
*
|
|
8
|
+
* Designed so backend can evolve resolution logic (license key, SaaS billing, etc.)
|
|
9
|
+
* without breaking the SDK contract.
|
|
10
|
+
*/
|
|
11
|
+
type PlanStatus = "trial" | "pro" | "enterprise" | "expired";
|
|
12
|
+
interface PlanInfo {
|
|
13
|
+
/** Current plan level */
|
|
14
|
+
status: PlanStatus;
|
|
15
|
+
/** Human-readable plan name (e.g. "BigBoss Pro") */
|
|
16
|
+
name: string;
|
|
17
|
+
/** Trial/plan expiry date (ISO string). Null if no expiry. */
|
|
18
|
+
expiresAt: string | null;
|
|
19
|
+
/** Days remaining. -1 if no expiry. */
|
|
20
|
+
daysRemaining: number;
|
|
21
|
+
}
|
|
22
|
+
type FeatureTier = "basic" | "standard" | "enterprise";
|
|
23
|
+
/** Feature-level status (more granular than boolean enabled) */
|
|
24
|
+
type FeatureStatus = "active" | "trial" | "disabled" | "expired" | "upgrade_required";
|
|
25
|
+
interface ResolvedFeature {
|
|
26
|
+
/** Feature ID (e.g. "loyalty", "inventory", "warehouse") */
|
|
27
|
+
id: string;
|
|
28
|
+
/** Whether the feature is usable right now */
|
|
29
|
+
enabled: boolean;
|
|
30
|
+
/** Granular status for UI display */
|
|
31
|
+
status: FeatureStatus;
|
|
32
|
+
/** Current tier level */
|
|
33
|
+
tier: FeatureTier;
|
|
34
|
+
/** Tier-specific capabilities (e.g. ["earn_points", "tiers", "referrals"]) */
|
|
35
|
+
capabilities: string[];
|
|
36
|
+
}
|
|
37
|
+
interface FeatureManifest {
|
|
38
|
+
/** Deployment plan info */
|
|
39
|
+
plan: PlanInfo;
|
|
40
|
+
/** All features with resolved state */
|
|
41
|
+
features: ResolvedFeature[];
|
|
42
|
+
/** List of enabled feature IDs (convenience) */
|
|
43
|
+
enabled: string[];
|
|
44
|
+
}
|
|
45
|
+
//#endregion
|
|
46
|
+
export { FeatureManifest, FeatureStatus, FeatureTier, PlanInfo, ResolvedFeature };
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
//#region src/platform/types/promo.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* Promo Types
|
|
4
|
+
*
|
|
5
|
+
* Type definitions for the @classytic/promo engine.
|
|
6
|
+
* Covers programs, rules, rewards, vouchers, and cart evaluation.
|
|
7
|
+
*/
|
|
8
|
+
type ProgramType = 'promotion' | 'coupon' | 'discount_code' | 'buy_x_get_y' | 'gift_card';
|
|
9
|
+
type TriggerMode = 'auto' | 'code';
|
|
10
|
+
type ProgramStatus = 'draft' | 'active' | 'paused' | 'expired' | 'archived';
|
|
11
|
+
type StackingMode = 'exclusive' | 'stackable';
|
|
12
|
+
type RewardType = 'discount' | 'free_product';
|
|
13
|
+
type DiscountMode = 'percentage' | 'fixed';
|
|
14
|
+
type DiscountScope = 'order' | 'cheapest' | 'specific_products';
|
|
15
|
+
type VoucherStatus = 'active' | 'used' | 'expired' | 'cancelled';
|
|
16
|
+
/** Promotional program (promotion, coupon, discount code, buy-x-get-y, gift card) */
|
|
17
|
+
interface Program {
|
|
18
|
+
_id: string;
|
|
19
|
+
name: string;
|
|
20
|
+
description?: string;
|
|
21
|
+
programType: ProgramType;
|
|
22
|
+
triggerMode: TriggerMode;
|
|
23
|
+
status: ProgramStatus;
|
|
24
|
+
stackingMode: StackingMode;
|
|
25
|
+
priority: number;
|
|
26
|
+
startsAt?: string;
|
|
27
|
+
endsAt?: string;
|
|
28
|
+
maxUsageTotal?: number;
|
|
29
|
+
usedCount: number;
|
|
30
|
+
maxUsagePerCustomer?: number;
|
|
31
|
+
applicableCustomerIds: string[];
|
|
32
|
+
applicableCustomerTags: string[];
|
|
33
|
+
metadata?: Record<string, unknown>;
|
|
34
|
+
createdAt: string;
|
|
35
|
+
updatedAt: string;
|
|
36
|
+
}
|
|
37
|
+
/** Eligibility rule attached to a program */
|
|
38
|
+
interface Rule {
|
|
39
|
+
_id: string;
|
|
40
|
+
programId: string;
|
|
41
|
+
name?: string;
|
|
42
|
+
minimumAmount: number;
|
|
43
|
+
minimumQuantity: number;
|
|
44
|
+
applicableProductIds: string[];
|
|
45
|
+
applicableCategories: string[];
|
|
46
|
+
applicableSkus: string[];
|
|
47
|
+
buyQuantity?: number;
|
|
48
|
+
code?: string;
|
|
49
|
+
startsAt?: string;
|
|
50
|
+
endsAt?: string;
|
|
51
|
+
metadata?: Record<string, unknown>;
|
|
52
|
+
createdAt: string;
|
|
53
|
+
updatedAt: string;
|
|
54
|
+
}
|
|
55
|
+
/** Reward granted when a rule is satisfied */
|
|
56
|
+
interface Reward {
|
|
57
|
+
_id: string;
|
|
58
|
+
programId: string;
|
|
59
|
+
ruleId?: string;
|
|
60
|
+
rewardType: RewardType;
|
|
61
|
+
discountMode?: DiscountMode;
|
|
62
|
+
discountAmount?: number;
|
|
63
|
+
maxDiscountAmount?: number;
|
|
64
|
+
discountScope: DiscountScope;
|
|
65
|
+
applicableProductIds: string[];
|
|
66
|
+
freeProductId?: string;
|
|
67
|
+
freeProductSku?: string;
|
|
68
|
+
freeQuantity: number;
|
|
69
|
+
giftCardAmount?: number;
|
|
70
|
+
metadata?: Record<string, unknown>;
|
|
71
|
+
createdAt: string;
|
|
72
|
+
updatedAt: string;
|
|
73
|
+
}
|
|
74
|
+
/** Single voucher redemption record */
|
|
75
|
+
interface VoucherRedemption {
|
|
76
|
+
orderId: string;
|
|
77
|
+
customerId?: string;
|
|
78
|
+
discountAmount: number;
|
|
79
|
+
redeemedAt: string;
|
|
80
|
+
}
|
|
81
|
+
/** Voucher / code instance */
|
|
82
|
+
interface Voucher {
|
|
83
|
+
_id: string;
|
|
84
|
+
programId: string;
|
|
85
|
+
code: string;
|
|
86
|
+
status: VoucherStatus;
|
|
87
|
+
customerId?: string;
|
|
88
|
+
usageLimit: number;
|
|
89
|
+
usedCount: number;
|
|
90
|
+
initialBalance?: number;
|
|
91
|
+
currentBalance?: number;
|
|
92
|
+
expiresAt?: string;
|
|
93
|
+
redemptions: VoucherRedemption[];
|
|
94
|
+
metadata?: Record<string, unknown>;
|
|
95
|
+
createdAt: string;
|
|
96
|
+
updatedAt: string;
|
|
97
|
+
}
|
|
98
|
+
/** Program with its rules and rewards pre-loaded */
|
|
99
|
+
interface FullProgram extends Program {
|
|
100
|
+
rules: Rule[];
|
|
101
|
+
rewards: Reward[];
|
|
102
|
+
}
|
|
103
|
+
/** Single cart line item for evaluation */
|
|
104
|
+
interface CartItem {
|
|
105
|
+
productId: string;
|
|
106
|
+
sku?: string;
|
|
107
|
+
categoryId?: string;
|
|
108
|
+
quantity: number;
|
|
109
|
+
unitPrice: number;
|
|
110
|
+
lineTotal?: number;
|
|
111
|
+
}
|
|
112
|
+
/** Input payload for cart evaluation */
|
|
113
|
+
interface EvaluateInput {
|
|
114
|
+
items: CartItem[];
|
|
115
|
+
subtotal: number;
|
|
116
|
+
codes?: string[];
|
|
117
|
+
customerId?: string;
|
|
118
|
+
customerTags?: string[];
|
|
119
|
+
}
|
|
120
|
+
/** Applied discount line in evaluation result */
|
|
121
|
+
interface DiscountLine {
|
|
122
|
+
programId: string;
|
|
123
|
+
programName: string;
|
|
124
|
+
rewardId: string;
|
|
125
|
+
type: 'percentage' | 'fixed';
|
|
126
|
+
scope: string;
|
|
127
|
+
amount: number;
|
|
128
|
+
description: string;
|
|
129
|
+
voucherCode?: string;
|
|
130
|
+
}
|
|
131
|
+
/** Free product line in evaluation result */
|
|
132
|
+
interface FreeProductLine {
|
|
133
|
+
programId: string;
|
|
134
|
+
programName: string;
|
|
135
|
+
rewardId: string;
|
|
136
|
+
productId?: string;
|
|
137
|
+
productSku?: string;
|
|
138
|
+
quantity: number;
|
|
139
|
+
description: string;
|
|
140
|
+
}
|
|
141
|
+
/** Code that was submitted but not applied */
|
|
142
|
+
interface RejectedCode {
|
|
143
|
+
code: string;
|
|
144
|
+
reason: string;
|
|
145
|
+
}
|
|
146
|
+
/** Full evaluation result from the promo engine */
|
|
147
|
+
interface EvaluationResult {
|
|
148
|
+
evaluationId: string;
|
|
149
|
+
appliedDiscounts: DiscountLine[];
|
|
150
|
+
freeProducts: FreeProductLine[];
|
|
151
|
+
totalDiscount: number;
|
|
152
|
+
subtotalAfterDiscount: number;
|
|
153
|
+
appliedCodes: string[];
|
|
154
|
+
rejectedCodes: RejectedCode[];
|
|
155
|
+
warnings: string[];
|
|
156
|
+
isPreview: boolean;
|
|
157
|
+
programsApplied: string[];
|
|
158
|
+
}
|
|
159
|
+
/** Result of committing an evaluation to an order */
|
|
160
|
+
interface CommitResult {
|
|
161
|
+
evaluationId: string;
|
|
162
|
+
orderId: string;
|
|
163
|
+
totalDiscount: number;
|
|
164
|
+
programsCommitted: number;
|
|
165
|
+
vouchersUsed: number;
|
|
166
|
+
}
|
|
167
|
+
/** Voucher validation result */
|
|
168
|
+
interface VoucherValidation {
|
|
169
|
+
valid: boolean;
|
|
170
|
+
voucher?: {
|
|
171
|
+
code: string;
|
|
172
|
+
programId: string;
|
|
173
|
+
programType: string;
|
|
174
|
+
status: string;
|
|
175
|
+
remainingUses: number;
|
|
176
|
+
currentBalance?: number;
|
|
177
|
+
expiresAt?: string;
|
|
178
|
+
};
|
|
179
|
+
error?: string;
|
|
180
|
+
}
|
|
181
|
+
/** Gift card balance lookup result */
|
|
182
|
+
interface GiftCardBalance {
|
|
183
|
+
code: string;
|
|
184
|
+
initialBalance: number;
|
|
185
|
+
currentBalance: number;
|
|
186
|
+
spent: number;
|
|
187
|
+
voucherId: string;
|
|
188
|
+
}
|
|
189
|
+
/** Create a new program */
|
|
190
|
+
interface CreateProgramPayload {
|
|
191
|
+
name: string;
|
|
192
|
+
description?: string;
|
|
193
|
+
programType: ProgramType;
|
|
194
|
+
triggerMode: TriggerMode;
|
|
195
|
+
stackingMode?: StackingMode;
|
|
196
|
+
priority?: number;
|
|
197
|
+
startsAt?: string;
|
|
198
|
+
endsAt?: string;
|
|
199
|
+
maxUsageTotal?: number;
|
|
200
|
+
maxUsagePerCustomer?: number;
|
|
201
|
+
applicableCustomerIds?: string[];
|
|
202
|
+
applicableCustomerTags?: string[];
|
|
203
|
+
metadata?: Record<string, unknown>;
|
|
204
|
+
}
|
|
205
|
+
/** Update an existing program */
|
|
206
|
+
type UpdateProgramPayload = Partial<CreateProgramPayload>;
|
|
207
|
+
/** Create a rule on a program */
|
|
208
|
+
interface CreateRulePayload {
|
|
209
|
+
name?: string;
|
|
210
|
+
minimumAmount?: number;
|
|
211
|
+
minimumQuantity?: number;
|
|
212
|
+
applicableProductIds?: string[];
|
|
213
|
+
applicableCategories?: string[];
|
|
214
|
+
applicableSkus?: string[];
|
|
215
|
+
buyQuantity?: number;
|
|
216
|
+
code?: string;
|
|
217
|
+
startsAt?: string;
|
|
218
|
+
endsAt?: string;
|
|
219
|
+
metadata?: Record<string, unknown>;
|
|
220
|
+
}
|
|
221
|
+
/** Update a rule */
|
|
222
|
+
type UpdateRulePayload = Partial<CreateRulePayload>;
|
|
223
|
+
/** Create a reward on a program */
|
|
224
|
+
interface CreateRewardPayload {
|
|
225
|
+
ruleId?: string;
|
|
226
|
+
rewardType: RewardType;
|
|
227
|
+
discountMode?: DiscountMode;
|
|
228
|
+
discountAmount?: number;
|
|
229
|
+
maxDiscountAmount?: number;
|
|
230
|
+
discountScope?: DiscountScope;
|
|
231
|
+
applicableProductIds?: string[];
|
|
232
|
+
freeProductId?: string;
|
|
233
|
+
freeProductSku?: string;
|
|
234
|
+
freeQuantity?: number;
|
|
235
|
+
giftCardAmount?: number;
|
|
236
|
+
metadata?: Record<string, unknown>;
|
|
237
|
+
}
|
|
238
|
+
/** Update a reward */
|
|
239
|
+
type UpdateRewardPayload = Partial<CreateRewardPayload>;
|
|
240
|
+
/** Batch-generate voucher codes */
|
|
241
|
+
interface GenerateCodesPayload {
|
|
242
|
+
programId: string;
|
|
243
|
+
count: number;
|
|
244
|
+
customerId?: string;
|
|
245
|
+
expiresAt?: string;
|
|
246
|
+
metadata?: Record<string, unknown>;
|
|
247
|
+
}
|
|
248
|
+
/** Generate a single voucher code (optionally custom) */
|
|
249
|
+
interface GenerateSingleCodePayload {
|
|
250
|
+
programId: string;
|
|
251
|
+
code?: string;
|
|
252
|
+
customerId?: string;
|
|
253
|
+
expiresAt?: string;
|
|
254
|
+
initialBalance?: number;
|
|
255
|
+
metadata?: Record<string, unknown>;
|
|
256
|
+
}
|
|
257
|
+
/** Valid program state transition actions */
|
|
258
|
+
type ProgramTransitionAction = 'activate' | 'pause' | 'archive';
|
|
259
|
+
//#endregion
|
|
260
|
+
export { CartItem, CommitResult, CreateProgramPayload, CreateRewardPayload, CreateRulePayload, DiscountLine, DiscountMode, DiscountScope, EvaluateInput, EvaluationResult, FreeProductLine, FullProgram, GenerateCodesPayload, GenerateSingleCodePayload, GiftCardBalance, Program, ProgramStatus, ProgramTransitionAction, ProgramType, RejectedCode, Reward, RewardType, Rule, StackingMode, TriggerMode, UpdateProgramPayload, UpdateRewardPayload, UpdateRulePayload, Voucher, VoucherRedemption, VoucherStatus, VoucherValidation };
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
//#region src/platform/types/user.d.ts
|
|
2
|
+
/**
|
|
3
|
+
* User Types for Admin Management
|
|
4
|
+
*
|
|
5
|
+
* Simple types for CRUD operations on users.
|
|
6
|
+
* Frontend uses standard BaseApi methods with these types.
|
|
7
|
+
*/
|
|
8
|
+
/** System-level roles (global permissions) */
|
|
9
|
+
type UserRoleType = 'user' | 'admin' | 'superadmin' | 'finance-admin' | 'finance-manager' | 'store-manager' | 'store-staff' | 'warehouse-admin' | 'warehouse-staff';
|
|
10
|
+
/** Branch-specific roles */
|
|
11
|
+
type BranchRoleType = 'branch_manager' | 'inventory_staff' | 'cashier' | 'stock_receiver' | 'stock_requester' | 'viewer';
|
|
12
|
+
/** User's branch assignment */
|
|
13
|
+
interface UserBranchAssignment {
|
|
14
|
+
branchId: string;
|
|
15
|
+
branchCode?: string;
|
|
16
|
+
branchName?: string;
|
|
17
|
+
branchRole?: 'head_office' | 'sub_branch';
|
|
18
|
+
roles: BranchRoleType[];
|
|
19
|
+
isPrimary: boolean;
|
|
20
|
+
}
|
|
21
|
+
/** User document */
|
|
22
|
+
interface User {
|
|
23
|
+
_id: string;
|
|
24
|
+
name: string;
|
|
25
|
+
email: string;
|
|
26
|
+
roles: UserRoleType[];
|
|
27
|
+
branches: UserBranchAssignment[];
|
|
28
|
+
isActive: boolean;
|
|
29
|
+
lastLoginAt?: string;
|
|
30
|
+
createdAt: string;
|
|
31
|
+
updatedAt: string;
|
|
32
|
+
}
|
|
33
|
+
/** Create user payload */
|
|
34
|
+
interface CreateUserPayload {
|
|
35
|
+
name: string;
|
|
36
|
+
email: string;
|
|
37
|
+
password: string;
|
|
38
|
+
roles?: UserRoleType[];
|
|
39
|
+
branches?: Array<{
|
|
40
|
+
branchId: string;
|
|
41
|
+
roles?: BranchRoleType[];
|
|
42
|
+
isPrimary?: boolean;
|
|
43
|
+
}>;
|
|
44
|
+
}
|
|
45
|
+
/** Update user payload - just patch what you need */
|
|
46
|
+
interface UpdateUserPayload {
|
|
47
|
+
name?: string;
|
|
48
|
+
email?: string;
|
|
49
|
+
roles?: UserRoleType[];
|
|
50
|
+
branches?: Array<{
|
|
51
|
+
branchId: string;
|
|
52
|
+
roles?: BranchRoleType[];
|
|
53
|
+
isPrimary?: boolean;
|
|
54
|
+
}>;
|
|
55
|
+
isActive?: boolean;
|
|
56
|
+
}
|
|
57
|
+
/** Query params for listing users */
|
|
58
|
+
interface UserListParams {
|
|
59
|
+
page?: number;
|
|
60
|
+
limit?: number;
|
|
61
|
+
sort?: string;
|
|
62
|
+
name?: string;
|
|
63
|
+
'name[contains]'?: string;
|
|
64
|
+
email?: string;
|
|
65
|
+
roles?: UserRoleType;
|
|
66
|
+
'roles[in]'?: string;
|
|
67
|
+
'branches.branchId'?: string;
|
|
68
|
+
'branches.roles'?: BranchRoleType;
|
|
69
|
+
isActive?: boolean;
|
|
70
|
+
}
|
|
71
|
+
//#endregion
|
|
72
|
+
export { BranchRoleType, CreateUserPayload, UpdateUserPayload, User, UserBranchAssignment, UserListParams, UserRoleType };
|