@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,79 @@
|
|
|
1
|
+
import { BaseApi } from "../../core/api-factory.js";
|
|
2
|
+
|
|
3
|
+
//#region src/accounting/api/constants.ts
|
|
4
|
+
/**
|
|
5
|
+
* Accounting Constants APIs — Static lookups (no DB, read-only)
|
|
6
|
+
*
|
|
7
|
+
* Account Types (BFRS), Journal Types, Tax Codes (BD VAT/TDS/VDS).
|
|
8
|
+
*
|
|
9
|
+
* Each lookup uses a tiny `BaseApi`-derived class as a prefix carrier so the
|
|
10
|
+
* `/api/v1` versioning lives in arc-next's BaseApi (single source of truth)
|
|
11
|
+
* and we never hardcode it. The class doesn't enable CRUD — only the
|
|
12
|
+
* `this.request()` escape hatch on a custom sub-path.
|
|
13
|
+
*/
|
|
14
|
+
var AccountTypeApi = class extends BaseApi {
|
|
15
|
+
constructor() {
|
|
16
|
+
super("accounting/account-types");
|
|
17
|
+
}
|
|
18
|
+
list(params) {
|
|
19
|
+
return this.request("GET", this.baseUrl, { params });
|
|
20
|
+
}
|
|
21
|
+
byCode(code) {
|
|
22
|
+
return this.request("GET", `${this.baseUrl}/${code}`);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
var JournalTypeApi = class extends BaseApi {
|
|
26
|
+
constructor() {
|
|
27
|
+
super("accounting/journal-types");
|
|
28
|
+
}
|
|
29
|
+
list() {
|
|
30
|
+
return this.request("GET", this.baseUrl);
|
|
31
|
+
}
|
|
32
|
+
byCode(code) {
|
|
33
|
+
return this.request("GET", `${this.baseUrl}/${code}`);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
var TaxCodeApi = class extends BaseApi {
|
|
37
|
+
constructor() {
|
|
38
|
+
super("accounting/tax-codes");
|
|
39
|
+
}
|
|
40
|
+
list() {
|
|
41
|
+
return this.request("GET", this.baseUrl);
|
|
42
|
+
}
|
|
43
|
+
divisions() {
|
|
44
|
+
return this.request("GET", `${this.baseUrl}/divisions`);
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const accountTypeApi = new AccountTypeApi();
|
|
48
|
+
const journalTypeApi = new JournalTypeApi();
|
|
49
|
+
const taxCodeApi = new TaxCodeApi();
|
|
50
|
+
/** GET /accounting/account-types */
|
|
51
|
+
async function getAccountTypes(opts = {}) {
|
|
52
|
+
return accountTypeApi.list({
|
|
53
|
+
search: opts.search,
|
|
54
|
+
category: opts.category
|
|
55
|
+
});
|
|
56
|
+
}
|
|
57
|
+
/** GET /accounting/account-types/:code */
|
|
58
|
+
async function getAccountType({ code }) {
|
|
59
|
+
return accountTypeApi.byCode(code);
|
|
60
|
+
}
|
|
61
|
+
/** GET /accounting/journal-types */
|
|
62
|
+
async function getJournalTypes(_opts = {}) {
|
|
63
|
+
return journalTypeApi.list();
|
|
64
|
+
}
|
|
65
|
+
/** GET /accounting/journal-types/:code */
|
|
66
|
+
async function getJournalType({ code }) {
|
|
67
|
+
return journalTypeApi.byCode(code);
|
|
68
|
+
}
|
|
69
|
+
/** GET /accounting/tax-codes */
|
|
70
|
+
async function getTaxCodes(_opts = {}) {
|
|
71
|
+
return taxCodeApi.list();
|
|
72
|
+
}
|
|
73
|
+
/** GET /accounting/tax-codes/divisions */
|
|
74
|
+
async function getTaxDivisions(_opts = {}) {
|
|
75
|
+
return taxCodeApi.divisions();
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
//#endregion
|
|
79
|
+
export { getAccountType, getAccountTypes, getJournalType, getJournalTypes, getTaxCodes, getTaxDivisions };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { ApiResponse, BaseApi, RequestOptions } from "../../core/api-factory.js";
|
|
2
|
+
import { CreateFiscalPeriodPayload, FiscalPeriod, UpdateFiscalPeriodPayload } from "../types/index.js";
|
|
3
|
+
|
|
4
|
+
//#region src/accounting/api/fiscal-period.d.ts
|
|
5
|
+
type FetchOptions = Omit<RequestOptions, "token" | "organizationId">;
|
|
6
|
+
declare class FiscalPeriodApi extends BaseApi<FiscalPeriod, CreateFiscalPeriodPayload, UpdateFiscalPeriodPayload> {
|
|
7
|
+
constructor(config?: {});
|
|
8
|
+
/** Close a fiscal period (prevents posting). */
|
|
9
|
+
close({
|
|
10
|
+
token,
|
|
11
|
+
id,
|
|
12
|
+
options
|
|
13
|
+
}: {
|
|
14
|
+
token: string;
|
|
15
|
+
id: string;
|
|
16
|
+
options?: FetchOptions;
|
|
17
|
+
}): Promise<ApiResponse<FiscalPeriod>>;
|
|
18
|
+
/** Reopen a closed fiscal period. */
|
|
19
|
+
reopen({
|
|
20
|
+
token,
|
|
21
|
+
id,
|
|
22
|
+
options
|
|
23
|
+
}: {
|
|
24
|
+
token: string;
|
|
25
|
+
id: string;
|
|
26
|
+
options?: FetchOptions;
|
|
27
|
+
}): Promise<ApiResponse<FiscalPeriod>>;
|
|
28
|
+
}
|
|
29
|
+
declare const fiscalPeriodApi: FiscalPeriodApi;
|
|
30
|
+
//#endregion
|
|
31
|
+
export { FiscalPeriodApi, fiscalPeriodApi };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { handleApiRequest } from "../../core/api-handler.js";
|
|
2
|
+
import { BaseApi } from "../../core/api-factory.js";
|
|
3
|
+
|
|
4
|
+
//#region src/accounting/api/fiscal-period.ts
|
|
5
|
+
/**
|
|
6
|
+
* Fiscal Period API — CRUD + Close/Reopen
|
|
7
|
+
*/
|
|
8
|
+
var FiscalPeriodApi = class extends BaseApi {
|
|
9
|
+
constructor(config = {}) {
|
|
10
|
+
super("accounting/fiscal-periods", config);
|
|
11
|
+
}
|
|
12
|
+
/** Close a fiscal period (prevents posting). */
|
|
13
|
+
async close({ token, id, options = {} }) {
|
|
14
|
+
return handleApiRequest("PATCH", `${this.baseUrl}/${id}/close`, {
|
|
15
|
+
token,
|
|
16
|
+
...options
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
/** Reopen a closed fiscal period. */
|
|
20
|
+
async reopen({ token, id, options = {} }) {
|
|
21
|
+
return handleApiRequest("PATCH", `${this.baseUrl}/${id}/reopen`, {
|
|
22
|
+
token,
|
|
23
|
+
...options
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
const fiscalPeriodApi = new FiscalPeriodApi();
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
export { FiscalPeriodApi, fiscalPeriodApi };
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { AccountApi, accountApi } from "./account.js";
|
|
2
|
+
import { JournalEntryApi, journalEntryApi } from "./journal-entry.js";
|
|
3
|
+
import { FiscalPeriodApi, fiscalPeriodApi } from "./fiscal-period.js";
|
|
4
|
+
import { BudgetApi, budgetApi } from "./budget.js";
|
|
5
|
+
import { getAccountType, getAccountTypes, getJournalType, getJournalTypes, getTaxCodes, getTaxDivisions } from "./constants.js";
|
|
6
|
+
import { getBalanceSheet, getBudgetVsActual, getCashFlow, getGeneralLedger, getIncomeStatement, getTrialBalance } from "./reports.js";
|
|
7
|
+
import { backfillPostings, closeDay, getDayCloseOversight, getPostingStatus, reopenDay } from "./posting.js";
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { ApiResponse, BaseApi, RequestOptions } from "../../core/api-factory.js";
|
|
2
|
+
import { CreateJournalEntryPayload, JournalEntry, UpdateJournalEntryPayload } from "../types/index.js";
|
|
3
|
+
|
|
4
|
+
//#region src/accounting/api/journal-entry.d.ts
|
|
5
|
+
type FetchOptions = Omit<RequestOptions, "token" | "organizationId">;
|
|
6
|
+
type JournalEntryAction = "post" | "reverse" | "duplicate" | "archive";
|
|
7
|
+
interface JournalEntryActionPayload {
|
|
8
|
+
/** For action="reverse" — date for the counter-entry. Defaults to today. */
|
|
9
|
+
reversalDate?: string;
|
|
10
|
+
}
|
|
11
|
+
declare class JournalEntryApi extends BaseApi<JournalEntry, CreateJournalEntryPayload, UpdateJournalEntryPayload> {
|
|
12
|
+
constructor(config?: {});
|
|
13
|
+
/**
|
|
14
|
+
* Unified action endpoint — POST /journal-entries/:id/action
|
|
15
|
+
* body: { action, ...actionData }
|
|
16
|
+
*/
|
|
17
|
+
runAction({
|
|
18
|
+
token,
|
|
19
|
+
id,
|
|
20
|
+
action,
|
|
21
|
+
payload,
|
|
22
|
+
options
|
|
23
|
+
}: {
|
|
24
|
+
token: string;
|
|
25
|
+
id: string;
|
|
26
|
+
action: JournalEntryAction;
|
|
27
|
+
payload?: JournalEntryActionPayload;
|
|
28
|
+
options?: FetchOptions;
|
|
29
|
+
}): Promise<ApiResponse<JournalEntry>>;
|
|
30
|
+
/** draft → posted */
|
|
31
|
+
post(args: {
|
|
32
|
+
token: string;
|
|
33
|
+
id: string;
|
|
34
|
+
options?: FetchOptions;
|
|
35
|
+
}): Promise<ApiResponse<JournalEntry>>;
|
|
36
|
+
/**
|
|
37
|
+
* posted → posted (creates counter-entry on `reversalDate`).
|
|
38
|
+
* Forward correction: original stays posted with `reversed=true`.
|
|
39
|
+
*/
|
|
40
|
+
reverse({
|
|
41
|
+
token,
|
|
42
|
+
id,
|
|
43
|
+
reversalDate,
|
|
44
|
+
options
|
|
45
|
+
}: {
|
|
46
|
+
token: string;
|
|
47
|
+
id: string;
|
|
48
|
+
reversalDate?: string;
|
|
49
|
+
options?: FetchOptions;
|
|
50
|
+
}): Promise<ApiResponse<JournalEntry>>;
|
|
51
|
+
/** any → new draft (clones items, today's date, fresh state) */
|
|
52
|
+
duplicate(args: {
|
|
53
|
+
token: string;
|
|
54
|
+
id: string;
|
|
55
|
+
options?: FetchOptions;
|
|
56
|
+
}): Promise<ApiResponse<JournalEntry>>;
|
|
57
|
+
/** draft → archived. Posted entries cannot be archived — use reverse. */
|
|
58
|
+
archive(args: {
|
|
59
|
+
token: string;
|
|
60
|
+
id: string;
|
|
61
|
+
options?: FetchOptions;
|
|
62
|
+
}): Promise<ApiResponse<JournalEntry>>;
|
|
63
|
+
}
|
|
64
|
+
declare const journalEntryApi: JournalEntryApi;
|
|
65
|
+
//#endregion
|
|
66
|
+
export { JournalEntryApi, journalEntryApi };
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { handleApiRequest } from "../../core/api-handler.js";
|
|
2
|
+
import { BaseApi } from "../../core/api-factory.js";
|
|
3
|
+
|
|
4
|
+
//#region src/accounting/api/journal-entry.ts
|
|
5
|
+
/**
|
|
6
|
+
* Journal Entry API — CRUD + unified action endpoint
|
|
7
|
+
*
|
|
8
|
+
* State transitions go through POST /:id/action (createActionRouter).
|
|
9
|
+
* Legacy PATCH /:id/post, /:id/reverse, /:id/unpost, POST /:id/duplicate
|
|
10
|
+
* routes were removed in be-prod alongside the introduction of period-locks.
|
|
11
|
+
*
|
|
12
|
+
* `unpost` is intentionally gone — Odoo-correct: posted is final, use reverse
|
|
13
|
+
* (which creates a counter-entry on `reversalDate` and leaves the original
|
|
14
|
+
* posted-but-marked-`reversed`).
|
|
15
|
+
*/
|
|
16
|
+
var JournalEntryApi = class extends BaseApi {
|
|
17
|
+
constructor(config = {}) {
|
|
18
|
+
super("accounting/journal-entries", config);
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Unified action endpoint — POST /journal-entries/:id/action
|
|
22
|
+
* body: { action, ...actionData }
|
|
23
|
+
*/
|
|
24
|
+
async runAction({ token, id, action, payload, options = {} }) {
|
|
25
|
+
return handleApiRequest("POST", `${this.baseUrl}/${id}/action`, {
|
|
26
|
+
token,
|
|
27
|
+
body: {
|
|
28
|
+
action,
|
|
29
|
+
...payload ?? {}
|
|
30
|
+
},
|
|
31
|
+
...options
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
/** draft → posted */
|
|
35
|
+
post(args) {
|
|
36
|
+
return this.runAction({
|
|
37
|
+
...args,
|
|
38
|
+
action: "post"
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* posted → posted (creates counter-entry on `reversalDate`).
|
|
43
|
+
* Forward correction: original stays posted with `reversed=true`.
|
|
44
|
+
*/
|
|
45
|
+
reverse({ token, id, reversalDate, options = {} }) {
|
|
46
|
+
return this.runAction({
|
|
47
|
+
token,
|
|
48
|
+
id,
|
|
49
|
+
action: "reverse",
|
|
50
|
+
payload: reversalDate ? { reversalDate } : void 0,
|
|
51
|
+
options
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
/** any → new draft (clones items, today's date, fresh state) */
|
|
55
|
+
duplicate(args) {
|
|
56
|
+
return this.runAction({
|
|
57
|
+
...args,
|
|
58
|
+
action: "duplicate"
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
/** draft → archived. Posted entries cannot be archived — use reverse. */
|
|
62
|
+
archive(args) {
|
|
63
|
+
return this.runAction({
|
|
64
|
+
...args,
|
|
65
|
+
action: "archive"
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
const journalEntryApi = new JournalEntryApi();
|
|
70
|
+
|
|
71
|
+
//#endregion
|
|
72
|
+
export { JournalEntryApi, journalEntryApi };
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { BackfillResult, DayCloseOversight, DayCloseResult, PostingStatus } from "../types/index.js";
|
|
2
|
+
|
|
3
|
+
//#region src/accounting/api/posting.d.ts
|
|
4
|
+
declare function closeDay({
|
|
5
|
+
date
|
|
6
|
+
}: {
|
|
7
|
+
token?: string;
|
|
8
|
+
date?: string;
|
|
9
|
+
}): Promise<{
|
|
10
|
+
success: boolean;
|
|
11
|
+
data: DayCloseResult;
|
|
12
|
+
}>;
|
|
13
|
+
declare function reopenDay({
|
|
14
|
+
date,
|
|
15
|
+
reason
|
|
16
|
+
}: {
|
|
17
|
+
token?: string;
|
|
18
|
+
date: string;
|
|
19
|
+
reason: string;
|
|
20
|
+
}): Promise<{
|
|
21
|
+
success: boolean;
|
|
22
|
+
data: {
|
|
23
|
+
reopened: boolean;
|
|
24
|
+
date: string;
|
|
25
|
+
originalEntryId: string;
|
|
26
|
+
reversalEntryId: string | null;
|
|
27
|
+
reversalDate: string;
|
|
28
|
+
message: string;
|
|
29
|
+
};
|
|
30
|
+
}>;
|
|
31
|
+
declare function backfillPostings({
|
|
32
|
+
startDate,
|
|
33
|
+
endDate
|
|
34
|
+
}: {
|
|
35
|
+
token?: string;
|
|
36
|
+
startDate: string;
|
|
37
|
+
endDate: string;
|
|
38
|
+
}): Promise<{
|
|
39
|
+
success: boolean;
|
|
40
|
+
data: BackfillResult;
|
|
41
|
+
}>;
|
|
42
|
+
declare function getPostingStatus(_opts?: {
|
|
43
|
+
token?: string;
|
|
44
|
+
}): Promise<{
|
|
45
|
+
success: boolean;
|
|
46
|
+
data: PostingStatus;
|
|
47
|
+
}>;
|
|
48
|
+
declare function getDayCloseOversight(_opts?: {
|
|
49
|
+
token?: string;
|
|
50
|
+
}): Promise<{
|
|
51
|
+
success: boolean;
|
|
52
|
+
data: DayCloseOversight;
|
|
53
|
+
}>;
|
|
54
|
+
//#endregion
|
|
55
|
+
export { backfillPostings, closeDay, getDayCloseOversight, getPostingStatus, reopenDay };
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
import { BaseApi } from "../../core/api-factory.js";
|
|
2
|
+
|
|
3
|
+
//#region src/accounting/api/posting.ts
|
|
4
|
+
/**
|
|
5
|
+
* Posting API — Day Close, Reopen, Backfill, Status, Oversight
|
|
6
|
+
*
|
|
7
|
+
* Day-close lifecycle is a unified action endpoint:
|
|
8
|
+
* POST /accounting/posting/day/_/action body: { action, ... }
|
|
9
|
+
*
|
|
10
|
+
* Uses a `BaseApi`-derived `PostingApi` class as a prefix carrier so the
|
|
11
|
+
* `/api/v1` versioning lives in arc-next's BaseApi (single source of truth).
|
|
12
|
+
*/
|
|
13
|
+
var PostingApi = class extends BaseApi {
|
|
14
|
+
constructor() {
|
|
15
|
+
super("accounting/posting");
|
|
16
|
+
}
|
|
17
|
+
/** POST /accounting/posting/day/_/action — Stripe-style action endpoint */
|
|
18
|
+
dayAction(action, extra = {}) {
|
|
19
|
+
return this.request("POST", `${this.baseUrl}/day/_/action`, { data: {
|
|
20
|
+
action,
|
|
21
|
+
...extra
|
|
22
|
+
} });
|
|
23
|
+
}
|
|
24
|
+
closeDay(date) {
|
|
25
|
+
return this.dayAction("close", date ? { date } : {});
|
|
26
|
+
}
|
|
27
|
+
reopenDay(date, reason) {
|
|
28
|
+
return this.dayAction("reopen", {
|
|
29
|
+
date,
|
|
30
|
+
reason
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
backfill(startDate, endDate) {
|
|
34
|
+
return this.dayAction("backfill", {
|
|
35
|
+
startDate,
|
|
36
|
+
endDate
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
/** GET /accounting/posting/status — single-branch (current scope) */
|
|
40
|
+
status() {
|
|
41
|
+
return this.request("GET", `${this.baseUrl}/status`);
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* GET /accounting/posting/oversight — cross-branch days-behind summary.
|
|
45
|
+
* Not branch-scoped — returns every branch the caller can see.
|
|
46
|
+
* Permission: admin / finance_admin.
|
|
47
|
+
*/
|
|
48
|
+
oversight() {
|
|
49
|
+
return this.request("GET", `${this.baseUrl}/oversight`);
|
|
50
|
+
}
|
|
51
|
+
};
|
|
52
|
+
const postingApi = new PostingApi();
|
|
53
|
+
async function closeDay({ date }) {
|
|
54
|
+
return postingApi.closeDay(date);
|
|
55
|
+
}
|
|
56
|
+
async function reopenDay({ date, reason }) {
|
|
57
|
+
return postingApi.reopenDay(date, reason);
|
|
58
|
+
}
|
|
59
|
+
async function backfillPostings({ startDate, endDate }) {
|
|
60
|
+
return postingApi.backfill(startDate, endDate);
|
|
61
|
+
}
|
|
62
|
+
async function getPostingStatus(_opts = {}) {
|
|
63
|
+
return postingApi.status();
|
|
64
|
+
}
|
|
65
|
+
async function getDayCloseOversight(_opts = {}) {
|
|
66
|
+
return postingApi.oversight();
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
//#endregion
|
|
70
|
+
export { backfillPostings, closeDay, getDayCloseOversight, getPostingStatus, reopenDay };
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { BalanceSheetReport, BudgetVsActualReport, CashFlowReport, GeneralLedgerReport, IncomeStatementReport, ReportDateParams, TrialBalanceReport } from "../types/index.js";
|
|
2
|
+
|
|
3
|
+
//#region src/accounting/api/reports.d.ts
|
|
4
|
+
declare function getTrialBalance({
|
|
5
|
+
params,
|
|
6
|
+
accountId
|
|
7
|
+
}: {
|
|
8
|
+
token?: string;
|
|
9
|
+
params: ReportDateParams;
|
|
10
|
+
accountId?: string;
|
|
11
|
+
}): Promise<{
|
|
12
|
+
success: boolean;
|
|
13
|
+
data: TrialBalanceReport;
|
|
14
|
+
}>;
|
|
15
|
+
declare function getBalanceSheet({
|
|
16
|
+
params
|
|
17
|
+
}: {
|
|
18
|
+
token?: string;
|
|
19
|
+
params: ReportDateParams;
|
|
20
|
+
}): Promise<{
|
|
21
|
+
success: boolean;
|
|
22
|
+
data: BalanceSheetReport;
|
|
23
|
+
}>;
|
|
24
|
+
declare function getIncomeStatement({
|
|
25
|
+
params
|
|
26
|
+
}: {
|
|
27
|
+
token?: string;
|
|
28
|
+
params: ReportDateParams;
|
|
29
|
+
}): Promise<{
|
|
30
|
+
success: boolean;
|
|
31
|
+
data: IncomeStatementReport;
|
|
32
|
+
}>;
|
|
33
|
+
declare function getGeneralLedger({
|
|
34
|
+
params,
|
|
35
|
+
accountId
|
|
36
|
+
}: {
|
|
37
|
+
token?: string;
|
|
38
|
+
params: ReportDateParams;
|
|
39
|
+
accountId?: string;
|
|
40
|
+
}): Promise<{
|
|
41
|
+
success: boolean;
|
|
42
|
+
data: GeneralLedgerReport;
|
|
43
|
+
}>;
|
|
44
|
+
declare function getCashFlow({
|
|
45
|
+
params
|
|
46
|
+
}: {
|
|
47
|
+
token?: string;
|
|
48
|
+
params: ReportDateParams;
|
|
49
|
+
}): Promise<{
|
|
50
|
+
success: boolean;
|
|
51
|
+
data: CashFlowReport;
|
|
52
|
+
}>;
|
|
53
|
+
declare function getBudgetVsActual({
|
|
54
|
+
params
|
|
55
|
+
}: {
|
|
56
|
+
token?: string;
|
|
57
|
+
params: ReportDateParams;
|
|
58
|
+
}): Promise<{
|
|
59
|
+
success: boolean;
|
|
60
|
+
data: BudgetVsActualReport;
|
|
61
|
+
}>;
|
|
62
|
+
//#endregion
|
|
63
|
+
export { getBalanceSheet, getBudgetVsActual, getCashFlow, getGeneralLedger, getIncomeStatement, getTrialBalance };
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { BaseApi } from "../../core/api-factory.js";
|
|
2
|
+
|
|
3
|
+
//#region src/accounting/api/reports.ts
|
|
4
|
+
/**
|
|
5
|
+
* Accounting Reports API — Financial statements powered by @classytic/ledger
|
|
6
|
+
*
|
|
7
|
+
* Uses a `BaseApi`-derived `ReportsApi` class so the `/api/v1` prefix lives in
|
|
8
|
+
* arc-next's BaseApi (single source of truth) — no hardcoded prefix here.
|
|
9
|
+
*/
|
|
10
|
+
function buildReportParams(params) {
|
|
11
|
+
const out = { dateOption: params.dateOption };
|
|
12
|
+
switch (params.dateOption) {
|
|
13
|
+
case "month":
|
|
14
|
+
if (params.month) out.month = params.month;
|
|
15
|
+
if (params.year) out.year = params.year;
|
|
16
|
+
break;
|
|
17
|
+
case "quarter":
|
|
18
|
+
if (params.quarter) out.quarter = params.quarter;
|
|
19
|
+
if (params.year) out.year = params.year;
|
|
20
|
+
break;
|
|
21
|
+
case "year":
|
|
22
|
+
if (params.year) out.year = params.year;
|
|
23
|
+
break;
|
|
24
|
+
case "custom":
|
|
25
|
+
if (params.startDate) out.startDate = params.startDate;
|
|
26
|
+
if (params.endDate) out.endDate = params.endDate;
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
return out;
|
|
30
|
+
}
|
|
31
|
+
var ReportsApi = class extends BaseApi {
|
|
32
|
+
constructor() {
|
|
33
|
+
super("accounting/reports");
|
|
34
|
+
}
|
|
35
|
+
trialBalance(params, accountId) {
|
|
36
|
+
return this.request("GET", `${this.baseUrl}/trial-balance`, { params: {
|
|
37
|
+
...buildReportParams(params),
|
|
38
|
+
...accountId ? { accountId } : {}
|
|
39
|
+
} });
|
|
40
|
+
}
|
|
41
|
+
balanceSheet(params) {
|
|
42
|
+
return this.request("GET", `${this.baseUrl}/balance-sheet`, { params: buildReportParams(params) });
|
|
43
|
+
}
|
|
44
|
+
incomeStatement(params) {
|
|
45
|
+
return this.request("GET", `${this.baseUrl}/income-statement`, { params: buildReportParams(params) });
|
|
46
|
+
}
|
|
47
|
+
generalLedger(params, accountId) {
|
|
48
|
+
return this.request("GET", `${this.baseUrl}/general-ledger`, { params: {
|
|
49
|
+
...buildReportParams(params),
|
|
50
|
+
...accountId ? { accountId } : {}
|
|
51
|
+
} });
|
|
52
|
+
}
|
|
53
|
+
cashFlow(params) {
|
|
54
|
+
return this.request("GET", `${this.baseUrl}/cash-flow`, { params: buildReportParams(params) });
|
|
55
|
+
}
|
|
56
|
+
budgetVsActual(params) {
|
|
57
|
+
return this.request("GET", `${this.baseUrl}/budget-vs-actual`, { params: buildReportParams(params) });
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
const reportsApi = new ReportsApi();
|
|
61
|
+
async function getTrialBalance({ params, accountId }) {
|
|
62
|
+
return reportsApi.trialBalance(params, accountId);
|
|
63
|
+
}
|
|
64
|
+
async function getBalanceSheet({ params }) {
|
|
65
|
+
return reportsApi.balanceSheet(params);
|
|
66
|
+
}
|
|
67
|
+
async function getIncomeStatement({ params }) {
|
|
68
|
+
return reportsApi.incomeStatement(params);
|
|
69
|
+
}
|
|
70
|
+
async function getGeneralLedger({ params, accountId }) {
|
|
71
|
+
return reportsApi.generalLedger(params, accountId);
|
|
72
|
+
}
|
|
73
|
+
async function getCashFlow({ params }) {
|
|
74
|
+
return reportsApi.cashFlow(params);
|
|
75
|
+
}
|
|
76
|
+
async function getBudgetVsActual({ params }) {
|
|
77
|
+
return reportsApi.budgetVsActual(params);
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
//#endregion
|
|
81
|
+
export { getBalanceSheet, getBudgetVsActual, getCashFlow, getGeneralLedger, getIncomeStatement, getTrialBalance };
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Account, AccountType, BulkCreateResult, CreateAccountPayload, SeedAccountsResult, UpdateAccountPayload } from "../types/index.js";
|
|
2
|
+
import * as _tanstack_react_query0 from "@tanstack/react-query";
|
|
3
|
+
import * as _classytic_arc_next_api0 from "@classytic/arc-next/api";
|
|
4
|
+
import * as _classytic_arc_next_query0 from "@classytic/arc-next/query";
|
|
5
|
+
import * as _classytic_arc_next0 from "@classytic/arc-next";
|
|
6
|
+
|
|
7
|
+
//#region src/accounting/hooks/account.d.ts
|
|
8
|
+
declare const accountHooks: _classytic_arc_next0.CrudHooksReturn<Account, CreateAccountPayload, UpdateAccountPayload>;
|
|
9
|
+
declare const ACCOUNT_KEYS: _classytic_arc_next_query0.QueryKeys, useAccounts: {
|
|
10
|
+
(params?: Record<string, unknown>, options?: _classytic_arc_next_query0.ListQueryOptions<Account> | undefined): _classytic_arc_next_query0.ListQueryResult<Account>;
|
|
11
|
+
(token: string | null, params?: Record<string, unknown>, options?: _classytic_arc_next_query0.ListQueryOptions<Account> | undefined): _classytic_arc_next_query0.ListQueryResult<Account>;
|
|
12
|
+
}, useAccountDetail: {
|
|
13
|
+
(id: string | null, options?: _classytic_arc_next_query0.DetailQueryOptions<Account> | undefined): _classytic_arc_next_query0.DetailQueryResult<Account>;
|
|
14
|
+
(id: string | null, token: string | null, options?: _classytic_arc_next_query0.DetailQueryOptions<Account> | undefined): _classytic_arc_next_query0.DetailQueryResult<Account>;
|
|
15
|
+
}, useAccountActions: () => _classytic_arc_next0.CrudActions<Account, CreateAccountPayload, UpdateAccountPayload>;
|
|
16
|
+
declare const ACCOUNT_TYPE_KEYS: {
|
|
17
|
+
all: readonly ["account-types"];
|
|
18
|
+
};
|
|
19
|
+
declare function useAccountTypes(): {
|
|
20
|
+
accountTypes: AccountType[];
|
|
21
|
+
isLoading: boolean;
|
|
22
|
+
error: Error | null;
|
|
23
|
+
};
|
|
24
|
+
declare function useAccountSeed(): _tanstack_react_query0.UseMutationResult<_classytic_arc_next_api0.ApiResponse<SeedAccountsResult>, Error, void, unknown>;
|
|
25
|
+
declare function useAccountEnable(): _tanstack_react_query0.UseMutationResult<_classytic_arc_next_api0.ApiResponse<Account>, Error, string, unknown>;
|
|
26
|
+
declare function useAccountDisable(): _tanstack_react_query0.UseMutationResult<_classytic_arc_next_api0.ApiResponse<Account>, Error, string, unknown>;
|
|
27
|
+
declare function useAccountBulkCreate(): _tanstack_react_query0.UseMutationResult<_classytic_arc_next_api0.ApiResponse<BulkCreateResult>, Error, CreateAccountPayload[], unknown>;
|
|
28
|
+
//#endregion
|
|
29
|
+
export { ACCOUNT_KEYS, ACCOUNT_TYPE_KEYS, accountHooks, useAccountActions, useAccountBulkCreate, useAccountDetail, useAccountDisable, useAccountEnable, useAccountSeed, useAccountTypes, useAccounts };
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
|
|
3
|
+
import { getToastHandler } from "../../core/react/mutation.factory.js";
|
|
4
|
+
import { createCrudHooks } from "../../core/react/crud.factory.js";
|
|
5
|
+
import { accountApi } from "../api/account.js";
|
|
6
|
+
import { getAccountTypes } from "../api/constants.js";
|
|
7
|
+
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
|
8
|
+
|
|
9
|
+
//#region src/accounting/hooks/account.ts
|
|
10
|
+
/**
|
|
11
|
+
* Account Hooks — Chart of Accounts CRUD + custom mutations
|
|
12
|
+
*/
|
|
13
|
+
const accountHooks = createCrudHooks({
|
|
14
|
+
api: accountApi,
|
|
15
|
+
entityKey: "accounts",
|
|
16
|
+
singular: "Account",
|
|
17
|
+
plural: "Accounts",
|
|
18
|
+
defaults: {
|
|
19
|
+
staleTime: Infinity,
|
|
20
|
+
gcTime: 1440 * 60 * 1e3
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
const { KEYS: ACCOUNT_KEYS, useList: useAccounts, useDetail: useAccountDetail, useActions: useAccountActions } = accountHooks;
|
|
24
|
+
const ACCOUNT_TYPE_KEYS = { all: ["account-types"] };
|
|
25
|
+
function useAccountTypes() {
|
|
26
|
+
const { data, isLoading, error } = useQuery({
|
|
27
|
+
queryKey: ACCOUNT_TYPE_KEYS.all,
|
|
28
|
+
queryFn: () => getAccountTypes({ token: "" }),
|
|
29
|
+
select: (res) => res.data ?? [],
|
|
30
|
+
staleTime: Infinity,
|
|
31
|
+
gcTime: 1440 * 60 * 1e3
|
|
32
|
+
});
|
|
33
|
+
return {
|
|
34
|
+
accountTypes: data ?? [],
|
|
35
|
+
isLoading,
|
|
36
|
+
error
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
function useAccountSeed() {
|
|
40
|
+
const qc = useQueryClient();
|
|
41
|
+
return useMutation({
|
|
42
|
+
mutationFn: () => accountApi.seed({ token: "" }),
|
|
43
|
+
onSuccess: () => {
|
|
44
|
+
getToastHandler()?.success?.("Chart of accounts seeded");
|
|
45
|
+
qc.invalidateQueries({ queryKey: ACCOUNT_KEYS.all });
|
|
46
|
+
},
|
|
47
|
+
onError: (err) => {
|
|
48
|
+
getToastHandler()?.error?.(err.message || "Failed to seed accounts");
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
function useAccountEnable() {
|
|
53
|
+
const qc = useQueryClient();
|
|
54
|
+
return useMutation({
|
|
55
|
+
mutationFn: (id) => accountApi.enable({
|
|
56
|
+
token: "",
|
|
57
|
+
id
|
|
58
|
+
}),
|
|
59
|
+
onSuccess: () => {
|
|
60
|
+
getToastHandler()?.success?.("Account enabled");
|
|
61
|
+
qc.invalidateQueries({ queryKey: ACCOUNT_KEYS.all });
|
|
62
|
+
},
|
|
63
|
+
onError: (err) => {
|
|
64
|
+
getToastHandler()?.error?.(err.message || "Failed to enable account");
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
function useAccountDisable() {
|
|
69
|
+
const qc = useQueryClient();
|
|
70
|
+
return useMutation({
|
|
71
|
+
mutationFn: (id) => accountApi.disable({
|
|
72
|
+
token: "",
|
|
73
|
+
id
|
|
74
|
+
}),
|
|
75
|
+
onSuccess: () => {
|
|
76
|
+
getToastHandler()?.success?.("Account disabled");
|
|
77
|
+
qc.invalidateQueries({ queryKey: ACCOUNT_KEYS.all });
|
|
78
|
+
},
|
|
79
|
+
onError: (err) => {
|
|
80
|
+
getToastHandler()?.error?.(err.message || "Failed to disable account");
|
|
81
|
+
}
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
function useAccountBulkCreate() {
|
|
85
|
+
const qc = useQueryClient();
|
|
86
|
+
return useMutation({
|
|
87
|
+
mutationFn: (accounts) => accountApi.bulkCreate({
|
|
88
|
+
token: "",
|
|
89
|
+
accounts
|
|
90
|
+
}),
|
|
91
|
+
onSuccess: () => {
|
|
92
|
+
getToastHandler()?.success?.("Accounts created");
|
|
93
|
+
qc.invalidateQueries({ queryKey: ACCOUNT_KEYS.all });
|
|
94
|
+
},
|
|
95
|
+
onError: (err) => {
|
|
96
|
+
getToastHandler()?.error?.(err.message || "Failed to bulk create accounts");
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
//#endregion
|
|
102
|
+
export { ACCOUNT_KEYS, ACCOUNT_TYPE_KEYS, accountHooks, useAccountActions, useAccountBulkCreate, useAccountDetail, useAccountDisable, useAccountEnable, useAccountSeed, useAccountTypes, useAccounts };
|